Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENG. DE COMPUTAO E
AUTOMAO
CONTROLE INTELIGENTE
NDICE
1
INTRODUO .................................................................................................................................. 4
1.1
CONCEITUAO DE INTELIGNCIA ARTIFICIAL............................................................................ 4
1.2
APRENDIZADO ............................................................................................................................. 5
1.3
FERRAMENTAS UTILIZADAS EM IA. ............................................................................................. 5
1.3.1
Sistemas de Produo ....................................................................................................... 5
1.3.2
Lgica Nebulosa................................................................................................................ 6
1.3.3
Redes Neurais.................................................................................................................... 6
1.4
ALGUMAS APLICAES TPICAS DE IA......................................................................................... 6
LGICA E DEDUO..................................................................................................................... 7
2.1
CLCULO SENTENCIAL ................................................................................................................ 7
2.1.1
Deduo ............................................................................................................................ 8
2.2
CLCULO DE PREDICADOS........................................................................................................... 9
2.2.1
Resoluo ........................................................................................................................ 10
1 INTRODUO
A Inteligncia Artificial (IA) busca prover mquinas com a capacidade de realizar
algumas atividades mentais do ser humano. Em geral so mquinas com algum recurso
computacional, de variadas arquiteturas, que permitem a implementao de rotinas no
necessariamente algortmicas. As atividades realizadas por estas mquinas podem envolver a
senso-percepo (tato, audio e viso), as capacidades intelectuais (aprendizado de conceitos
e de juzos, racioccio dedutivo e memria), a linguagem (verbais e grficas) e ateno
(deciso no sentido de concentrar as atividades sobre um determinado estmulo).
Em termos de tecnologia, IA permite que mquinas possam realizar tarefas complexas
no lugar do operador humano, liberando-o de atividades enfadonhas, insalubres ou inseguras.
Tambm pode aumentar a eficincia do humano na sua interao com equipamentos
sofisticados. Permite, ainda, que conhecimentos possam ser compartilhados por muitas
pessoas, sem que haja necessidade de consultas a especialistas.
Esta apostila baseia-se na obra de Nascimento Jr. e Yoneyama (2002) e no substitui
em nenhum sentido tal livro, visando to somente propiciar aos alunos um material de estudo
resumido que apresente os principais conceitos explorados na supracitada obra.
de
de
de
de
1.2 Aprendizado
Uma rea fundamental em IA o estudo do aprendizado. Para Kodratoff, 1986,
aprendizado a aquisio de conceitos e de conhecimentos estruturados. Esta aquisio
certamente envolve o juzo, o raciocnio e a memria. Na prtica, para que a aquisio de
conhecimentos ocorra, h ainda a necessidade de sensao, percepo, representao,
linguagem e, possvelmente, ateno. Portanto, aprendizado um processo complexo e
integrado que envolve mltiplas funes psquicas no ser humano. Em consequncia, o estudo
do aprendizado pela mquina no pode prescindir da conceituao adequada destas funes
psquicas.
O aprendizado pode ocorrer com ou sem a presena de um tutor (professor). Quando o
tutor orienta a aquisio dos conceitos e de conhecimentos estruturados tem-se o aprendizado
supervisionado. Quando o aprendizado ocorre em funo apenas dos estmulos primitivos
tem-se o aprendizado no-supervisionado. Dependendo da intensidade de envolvimento do
tutor, o aprendizado pode ser por descoberta, por exemplos ou por programao. Os
mecanismos empregados no processo de aprendizado podem ser:
a) Numrico ou conceptual: O aprendizado numrico aquele onde valores de certos
parmetros so ajustados no processo de armazenamento das informaes. o caso de redes
neurais, onde os valores dos ganhos das sinapses alteram o conhecimento representado pela
rede. O aprendizado conceptual se as relaes entre as diversas entidades so apreendidos
pelo sistema, usualmente na forma simblica.
b) Punio e Recompensa: um mecanismo de aprendizado onde as tentativas e erros
so disciplinadas por um supervisor que fornece ao aprendiz um sinal de realimentao na
forma de punio ou recompensa para aes favorveis ou desfavorveis.
c) Emprico ou Racional: O aprendizado emprico se ocorre com base em
experimentao ou amostragem do mundo real. O aprendizado racional se direcionado por
um mecanismo de inferncia solidamente fundamentado.
d) Dedutivo/Indutivo/Inventivo: O aprendizado dedutivo se o objetivo pode ser
alcanado a partir de mecanismos de inferncia sobre o conjunto de premissas fornecidas a
priori. O aprendizado indutivo se h necessidade de generalizaes dos conceitos
apreendidos a partir de exemplos e do conjunto de premissas fornecidas a priori, para se
alcanar o objetivo. O aprendizado inventivo se h necessidade de aquisicionar novas
premissas, no obtenveis atravs de generalizaes das j disponveis.
Jogos;
Prova Automtica de Teoremas;
Sistemas Especialistas;
Compreenso de Linguagem Natural;
Percepo;
Robtica.
2 LGICA E DEDUO
2.1 Clculo Sentencial
O objetivo bsico do Clculo Sentencial a verificao da veracidade de sentenas a partir da
veracidade ou falsidade dos tomos. As sentenas mais complexas so formadas a partir da
combinao de sentenas mais simples atravs do uso de conectivos sentenciais. As sentenas
elementares so chamados de tomos.
No Clculo Sentencial, a veracidade que se deseja estabelecer quanto a legitimidade dos
argumentos e no dos tomos em si.
importante observar que o uso de smbolos iguais para objetos diferentes pode resultar em
concluses surpreendentes. Assim, usando-se o smbolo guia para designar um s da aviao, como
o famoso piloto de avies de caa, Manfred Von Richtoffen, ter se ia
(guia ave)
(Manfred_Von_Richtoffen guia)
(Manfred_Von _Richtoffen ave)
Os conectivos sentenciais usualmente empregados so , , , , correspondentes a "e",
"ou", "implica", "equivale" e "no". Porm, pode-se demonstrar que todas as sentenas podem ser
reescritas apenas com o uso de 2 conectivos: { , } ou { , } ou { , }.
Um exemplo de sentena : "Se (a funo f(.) diferencivel) Ento (a funo f(.) ontnua)",
ou simbolicamente, a b, onde a = (a funo f(.) diferencivel) e b = (a funo f(.) contnua).
Em princpio, a veracidade ou no de uma sentena pode ser aferida com o uso de Tabelas
Verdade, onde so apresentados os valores da expresso, na forma V = Verdade e F = Falso, para
cada combinao de valores para os tomos. Para o caso dos conectivos principais:
a
ab
ab
ab
ab
Para a verificao da veracidade de a (b c) em funo de valores dos tomos a, b e c, podese construir a seguinte Tabela de Verdade:
a
bc
a (b c)
1. a a
2. a a
3. (a a) a
4. (a a) a
5. (a) a
6. (a (a))
7. (a (a))
8. a (a b)
9. (a b) (b a)
10. (a b) ((a) (b))
11. (a b) ((a) (b))
12. (a b) ((a) (b))
13. (a b) ((a) (b))
14. (a b) (a (b))
15. (a b) ((a) b)
Identidade
Equivalncia
Idempotncia
Idempotncia
Dupla Negao
Terceiro Excludo
No Contradio
Negao do Antecedente
Contraposio
De Morgan
De Morgan
( 2.1)
( 2.2)
( 2.3)
( 2.4)
( 2.5)
( 2.6)
( 2.7)
( 2.8)
( 2.9)
( 2.10)
( 2.11)
( 2.12)
( 2.13)
( 2.14)
( 2.15)
2.1.1 Deduo
Um tpico importante dentro do Clculo Sentencial o da Deduo.
Deduo a obteno de uma concluso verdadeira, a partir de premissas consideradas
verdadeiras e de axiomas vlidos. Em princpio pode tambm ser verificada atravs do uso de tabelas
de verdade.
Para denotar que Os axiomas a1 am permitem deduzir b, a partir das premissas p1 pn
usada a grafia:
p1,...,pn,a1,...,am b
( 2.16)
( 2.17)
a
ab
Observa-se nesta tabela de verdade que, quando a b, b so, simultaneamente, V tem-se que
o valor de a V.
Uma forma de reduzir o emprego de tabelas de verdade de grandes dimenses utilizar algumas
formas j conhecidas de deduo:
1. a, a b b
2. a b, b a
3. a b, b c a c
4. a, a b b
5. a c, ( a b ) ( c d ) b d
6. ((b) (d)), ( a b ) ( c d ) (a) (c)
7. a b a
8. a, b a b
9. a a b
10. a, a b
Modus Ponens
Modus Tollens
Silogismo Hipottico
Silogismo Disjuntivo
Dilema Construtivo
Dilema Dedutivo
Simplificao
Conjuno
Adio
Deduo por Absurdo
( 2.18)
( 2.19)
( 2.20)
( 2.21)
( 2.22)
( 2.23)
( 2.24)
( 2.25)
( 2.26)
( 2.27)
( 2.28)
( 2.29)
):
1. x A(x) x A(x)
2. x A(x) (x (A(x)))
3. (x A(x)) x (A(x))
4. x A(x) (x (A(x)))
5. (x A(x)) x (A(x))
6. x (A(x) B(x)) (x A(x) x B(x))
7. x (A(x) B(x)) (x A(x) x B(x))
8. ((x A(x)) (x B(x))) x (A(x) B(x))
9. ((x A(x)) (x B(x))) x (A(x) B(x))
10. x (A(x) B(x)) (x A(x) x B(x))
( 2.30)
( 2.31)
( 2.32)
( 2.33)
( 2.34)
( 2.35)
( 2.36)
( 2.37)
( 2.38)
( 2.39)
; premissa.
; IU em i.
; IE em ii.
; GU incorreto em iii, pois anteriormente, em iii, ligou-se a
varivel z' a x', afirmando no caso, que x' filho de z'.
; GE em iv.
( 2.40)
( 2.41)
( 2.42)
( 2.43)
( 2.44)
Enquanto a interpretao de (i) "todos tem uma me", a de (v) "existe uma me de todos".
2.2.1 Resoluo
Uma forma de verificar a legitimidade ou no de uma sentena a utilizar o processo de
resoluo. Para ilustrar o conceito fundamental envolvido na resoluo, sejam as premissas:
(Musculoso(x)) Forte(x)
Musculoso(Tyson)
das quais pode-se concluir que Forte(Tyson), pois no admissvel ter Musculoso(Tyson) e
Musculoso(Tyson). A resoluo envolve, portanto, a utilizao de premissas envolvendo conectivos
e critrios do tipo A e A.
As sentenas constitudas de disjunes so ditas estarem na forma de clusulas. As sentenas
bem formadas podem sempre ser colocadas na forma de clusula (as sentenas malformadas
usualmente no fazem sentido, como x[A(x) x]).
O processo de reduo de uma sentena forma de clusula pode ser ilustrada com o exemplo:
x[A(x) ((y A(y)) (y (B(x,y))))]
( 2.45)
( 2.46)
( 2.47)
( 2.48)
( 2.49)
Passo 5: Converter forma prenex. A forma prenex aquela em que os quantificadores esto
no incio da expresso. J que cada quantificador universal possui a sua prpria dummy variable, no
h possibilidade de embaralhamento das variveis ao se mover o smbolo para o incio da sentena.
A expresso entre os colchetes, recebe o nome de matriz
xy [A(x) (A(y) B(x,h(x)))]
( 2.50)
( 2.51)
( 2.52)
1:
( 2.53)
x[Alto(x) (Musculoso(x))]
A avaliao da legitimidade pode ser feita por refutao, negando-se a tese e verificando que
isso leva a contradio. Este mtodo (prova por absurdo) muito usado em cursos de matemtica.
i. x[Musculoso(x) Forte(x)]
ii. y[Jquei(y) (Forte(y))]
iii. z[Jquei(z) Alto(z)]
iv. w[Alto(w) Musculoso(w)]
v. (Musculoso(x)) Forte(x)
vi. (Jquei(y)) (Forte(y))
vii. Jquei(z) Alto(z)
viii. Jquei(z)
ix. Alto(z)
x. Alto(w) Musculoso(w)
xi. Musculoso(z)
xii. Forte(z)
xiii. Jquei(z')
xiv. x[Alto(x) (Musculoso(x))]
; premissa.
; premissa.
; premissa.
; premissa obtida por negao da tese.
; clusula derivada de i .
; clusula derivada de ii.
; clusula derivada de iii.
; simplificao de vii.
; simplificao de vii.
; clusula derivada de iv.
; resoluo ix, x.
; resoluo v,xi.
; resoluo vi, xii.
; por absurdo, viii, xiii
11
( 2.54)
( 2.55)
( 2.56)
( 2.57)
( 2.58)
( 2.59)
( 2.60)
( 2.61)
( 2.62)
( 2.63)
( 2.64)
( 2.65)
( 2.66)
( 2.67)
3 REPRESENTAO DE CONHECIMENTOS
Conhecimento pode ser definido como sendo um conjunto de informaes que permitem
articular os conceitos, os juzos e o raciocnio, usualmente disponveis em um domnio particular de
atuao. Empregando-se um sistema de smbolos, este conhecimento pode ser representado de modo a
permitir atividades como inferncia ou memorizao.
Se (produz_leite tem_pelos)
Se (mamfero come_carne)
Se (mamfero possui_presas possui_garras)
Se (mamfero possui_casco)
Se (carnvoro pardo pintado)
Se (carnvoro pardo listrado)
Se (ungulado pardo pintado)
Se (ungulado branco listrado)
Ento (mamfero)
Ento (carnvoro)
Ento (carnvoro)
Ento (ungulado)
Ento (ona)
Ento (tigre)
Ento (girafa)
Ento (zebra)
onde, a regra Se (produz_leite tem_pelos) Ento (mamfero) pode ser entendida como uma
instanciao de x [(produz_leite(x) tem_pelos(x)) mamfero(x)], como visto no captulo 2.
A partir de fatos conhecidos sobre um dado animal A, do tipo {tem_pelos(A), produz_leite(A),
come_carne(A), pardo(A), pintado(A)}, pode-se concluir que A uma (ona). Quando se busca, a
partir dos dados, verificar qual a concluso a ser obtida, diz-se que o encadeamento progressivo
(acompanha a direo apontada pela ).
Uma outra forma de usar os conhecimentos na forma de regras de produo partir das
concluses que podero ser provadas ou no. Conjecturando que A (girafa), verifica-se, a partir de
vii, que se necessitam das condies {ungulado, pardo, pintado}. As condies {pardo, pintado} j
esto fornecidas. Entretanto, h necessidade de verificar se a condio {ungulado} satisfeita. Para
tal, deve-se examinar a regra iv que agora requer as condies {mamfero, possui_casco}. Como no
h nenhuma regra que permita verificar se {possui_casco) verdadeira e como esse fato tambm no
fornecido como dado, a tentativa de provar que A (girafa) resulta em falha. Por outro lado, o mesmo
procedimento aplicado a (ona) fornece condies que podem ser deduzidas dos dados fornecidos.
Quando se busca, a partir dos objetivos (goals), as condies necessrias para a sua deduo, at que
se casem com os dados fornecidos, diz-se que o encadeamento retroativo (a busca ocorre no sentido
oposto ao indicado pela ).
12
produz
usa
Antena
_um
Relgio Digital
Equipamento_Eletrnico
Computador
_um
mostra
Horas
_um
_um
Micro
Chips
usa
usa
CPU
usa
_uma
RAM
Memria
usa
_uma
Cdigo_Binrio
PROM
Figura 3-1. Uma rede semntica representando conhecimentos sobre equipamentos eletrnicos.
Uma forma de organizar redes semnticas simples utilizando triplas (atributo, objeto, valor):
Se
Ento
Atributo
Corrente
Luminosidade
Resposta
Carga
objeto
cabo_29
lmpada_piloto
tecla_TESTE
bateria
valor
<10mA
baixa
negativa
esgotada
(0,0)
(0,2)
(0,0)
(3,2)
(3,0)
(5,0)
(2,0)
(1,2)
(0,0)
OBJETIVO
Figura 3-4. A primeira linha apresenta os alinhamentos possveis (4) para o jogador (O) e a segunda
os possveis (6) para o jogador (). A diferena -4+6=+2 o ndice para a configurao no canto
superior esquerdo.
A rvore mostrada na Figura 3-5 ilustra o mecanismo que o jogador () utiliza para posicionar a
sua ficha. Caso o jogador () posicione a ficha na posio (1,1), o jogador (O) poder obter valor -1
14
atravs da ocupao de (2,2), que a situao mais favorvel para (O), dada a jogada do (). Se o
jogador (O) ocupar a posio (2,1), por exemplo, obtm apenas valor +1, ou seja pior para (O). Notese que o melhor caso para (O) ser tambm o pior caso para (). Assim, considerando-se as
possibilidades para a primeira jogada de (), os valores associados so:
() em (1,1) -> valor -1,
() em (2,2) -> valor +1,
() em (2,1) -> valor -2.
Portanto, considerando o melhor dos piores casos, o jogador () deve optar por colocar a sua
ficha em (2,2), que corresponde ao mximo entre -1, +1 e -2. Por outro lado, o valor -1 corresponde
ao mnimo entre 1, 0, 1, 0 e -1 da sub-rvore esquerda da Figura 3-5. Analogamente, o valor -2
corresponde ao mnimo entre -1, -2, 0, 0, e -1, da sub-rvore direita da Figura 3-5. Esta estratgia de
deciso chamada de max-min, ou seja, maximizar o ganho considerando os piores casos.
Situao Inicial
1
1
0
1
2
Encadeamento Progressivo
Profundidade Primeiro
Incio
Incio
Goals
Premissas
Premissas
Goals
Figura 3-6. Ilustrao das formas de encadeamento retroativo e progressivo para o caso de busca em
profundidade.
15
Encadeamento Progressivo
Largura Primeiro
Encadeamento Retroativo
Largura Primeiro
Incio
Incio
Goals
Premissas
Goals
Premissas
Figura 3-7. Ilustrao das formas de encadeamento retroativo e progressivo / busca em largura.
3.2.1 Algoritmo A*
Um exemplo de mtodo de busca muito usado o algoritmo A*. Este algoritmo aplicvel
quando se dispe de uma funo de avaliao heurstica do custo, denotada f(). Em muitas
aplicaes, o custo incorrido ao percorrer, a partir de S, um certo caminho at o n N, pode ser
calculado atravs de uma funo g(). Se for disponvel uma funo heurstica h() que permite
estimar o custo para percorrer a rvore de N at o n objetivo G (goal), ento, f(N) = g(N) + h(N).
No caso de navegao de um rob mvel, a distncia direta (sem considerar obstculos como morros e
lagos) poderia ser considerada uma funo heurstica para avaliar a convenincia ou no de se tomar
uma deciso sobre a direo a ser seguida.
Passo 0. Criar um grafo de busca G, inicialmente contendo somente o n de partida S.
Passo 1. Inicializar uma lista chamada OPEN com o n de partida S e uma lista chamada
CLOSED com . (OPEN a lista dos ns ainda no selecionados para expanso, enquanto CLOSED
a lista dos ns j expandidos)
Passo 2. LOOP: Se OPEN =
Ento FIM e reportar Falha.
Passo 3. Tomar um n de OPEN com o menor f'.
Chamar este n de N.
Retir-lo de OPEN e coloc-lo em CLOSED.
Passo 4. Se N o n buscado (goal)
Ento FIM e fornecer a soluo percorrendo os ponteiros de N a S.
Passo 5. Expandir N, gerando o conjunto de ns SUCESSORES e ento adicion-los no grafo.
Passo 6. Para cada membro M de SUCESSORES:
Se M {OPEN, CLOSED}
Ento adicionar M em OPEN;
Se M OPEN
Ento chamar a cpia de M em OPEN de Mold; verificar se g(M) < g(Mold):
em caso afirmativo, tem-se que melhor chegar a M atravs do caminho atual
do que a indicada pelo ponteiro de Mold. Portanto, descarta-se Mold e faz-se o M apontar para N.
em caso negativo, basta que se remova M.
Se M CLOSED
Ento chamar a cpia de M em CLOSED de Mold; de modo similar ao caso (M
OPEN), verificar qual o melhor caminho para M e atualizar os valores de g e f.
Passo 7. Reordenar OPEN com base no f.
Passo 8. Return LOOP;
16
Passo 1: Busca de regras no banco de conhecimentos que tenham as condies satisfeitas, em termos
do contedo do banco de dados (casamento do antecedente).
Consulta
off-line
Assistente
usando
Regras de Produo
off-line
Registro de Dados
Correo
Operador
Monitorao
Data Logging
Supervisor
usando
Regras de Produo
SP
Controlador
usando
Regras de Produo
Alarmes
on-line
PV MV
Planta
DDC
17
dx1 (t )
= x2 (t )
dt
( 4.1)
dx2 (t )
3
= [ x2 (t )] + u (t )
dt
onde, = 1 uma constante e, no instante inicial t=0, o sistema est em repouso (x1(t) = 0 e x2(t) = 0).
Um controlador que pode ser utilizado para esta planta da forma:
u (t ) = k sat[ K , ( y (t ) y r (t )]
( 4.2)
z,
se z M
sat[ M , z ] =
Msign( z ), se z > M
( 4.3)
De modo heurstico, foram propostas as seguintes regras para ajuste on-line de k e K, admitindo
que o nvel de saturao do controle K = 5.0 e velocidades adequadas esto na faixa de V = 0.18:
REGRA 1:
Se
(x2(t) V) (|y(t) - yr (t)| < 0.2) (x1(t) < 1.0)
Ento (k -50.0)
REGRA 2:
Se
(x2(t) > V) (|y(t) - yr (t)| < 0.2) (x1(t) > 1.0)
Ento (k 50.0)
REGRA 3:
Se
(x2(t) -V) (|y(t) - yr (t)| < 0.2) (x1(t) > 1.0)
Ento (k -50.0)
REGRA 4:
Se
(|x2(t)| -V) (|y(t) - yr (t)| < 0.2)
Ento (k 1.0)
REGRA 5:
Se
(|x2(t)| -V) (x1(t) < 1.0)
Ento (k 1.0)
Uma vez que as regras 1 a 5 promovem um controle com sada levemente oscilatria, foi
introduzida uma regra adicional:
REGRA 6:
Se
(t > 2.0)
Ento (tc tc + 0.05) (V V/tc)
18
Figura 4-3. Sintonizao fina automtica de Controladores PID usando base de conhecimentos.
Considera-se aqui que o controlador j foi sintonizado inicialmente utilizando mtodos como os
de Ziegler-Nichols. Nestas condies, pretende-se, obter uma sintonizao fina atravs do emprego de
regras heursticas:
i) Aplica-se um sinal v(t) = degrau e a partir de e(t), calcula-se y(t)
Resposta de Segundo Grau
1.8
1.6
1.4
Sobrepasso: pico1
1.2
pico3
1
0.8
Subpasso: pico2
0.6
0.4
0.2
0
tpico1
tpico2
10
15
Tempo (s)
20
25
30
pico2
pico1
19
pico2 + pico3
pico1 + pico2
iii) Verifica-se a adequao da atual resposta do sistema. Em caso afirmativo, o supervisor entra
em modo de espera. Seno, calcula-se a contribuio de fase, na frequncia 2/T0
2K D T0 K I
T0 K P 2K I
PID = tan 1
( 4.4)
G ( s) =
10 exp(0.5s )
s+3
( 4.5)
KP
0.268
0.268
0.147
KI
0.417
0.625
0.342
KD
0.051
0.052
0.029
Sobrepasso
23.5%
55.3
6.25
Subpasso
17.6%
30.7
0.84
Uma dificuldade com este tipo de enfoque a necessidade de regras heursticas de qualidade
para que a planta seja operada com segurana, o que no sempre disponvel. Ainda, importante
observar que regras podem ser omissas na ocorrncia de imprevistos ou pode at mesmo existir regras
conflitantes, uma vez que a base de dados pode, eventualmente crescer de forma significativa.
4.3
Banco de Dados
sobre a Planta
Quadro Negro
Interface para
o Usurio
Simulador
de Eventos
20
decorrentes de uma dada falha tomada como hiptese diagnstica. escrito em OPS 5 e LISP, com
cerca de 150 regras e 25 funes LISP. A Interface com o usurio, tambm inteligente, proporciona
ao usurio ou trainee, facilidades de interao com a mquina. Escrito em OPS 5, possui
aproximadamente 175 regras.
21
Figura 5-2. Representao de condies afebril e estatura alta utilizando graus de pertinncia.
A formalizao do conceito de conjuntos nebulosos pode ser obtida estendendo-se a teoria
clssica de conjuntos. Assim, na teoria clssica, um conjunto pode ser caracterizado pela sua funo
indicadora, ou seja, dado um conjunto A no universo X, define-se IA(x): X [0,1] por:
22
1 se x A
I A ( x) =
0 se x A
( 5.1)
( 5.2)
23
( 5.3)
( 5.4)
24
( 5.5)
; Involuo
; De Morgan
; De Morgan
; Distributividade da
; Distributividade da
; Absoro
; Absoro
; Idempotncia
; Idempotncia
( 5.6)
( 5.7)
( 5.8)
( 5.9)
( 5.10)
( 5.11)
( 5.12)
( 5.13)
( 5.14)
( 5.15)
( 5.16)
( 5.17)
( 5.18)
Atentar, porm, que para conjuntos nebulosos algumas operaes legtimas com conjuntos
clssicos no so necessariamente vlidas:
n) A Ac X
o) A Ac
( 5.19)
( 5.20)
25
a) t(0,0) = 0
b) t(a,b) = t(b,a)
c) t(a,t(b,c)) = t(t(a,b),c)
d) (a c) (b d) t(a,b) t(c,d)
e) t(a,1) = a
; comutatividade
; associatividade
; monotonicidade
( 5.21)
( 5.22)
( 5.23)
( 5.24)
( 5.25)
Tabela 5-1
Nome
Zadeh
Probabilstico
Lukasiewicz
Yager
t-norma
t-conorma
min(a,b)
a.b
max(a+b-1,0)
1-min(1,(1,((1-a)w + (1-b)w)1/w)
max(a,b)
a+b-ab
min(a+b,1)
min(1,(aw + bw)1/w
Dubois e Prade
ab
max(a, b, )
a + b ab min(a, b,1 )
max(1 a,1 b, )
( 5.28)
( 5.29)
( 5.30)
( 5.31)
a) n(0) = 1
b) n(1) = 0
c) a > b n(a) n(b)
d) n(n(a)) = a, a [0,1]
So exemplos de negaes:
a) n(a) = 1 - a
1 a
b) n(a ) =
, ( 1, )
1 + a
1
c) n(a ) = (1 a w ) w , w (0, )
( 5.32)
; negao de Sugeno
( 5.33)
; negao de Yager
( 5.34)
A c ( x) = n( A ( x)) = 1 A ( x)
( 5.35)
( 5.36)
26
Quando se tem duas relaes que devem ser encadeadas, por exemplo A B e B C, seria
interessante que fosse disponvel um mecanismo de composio. Suponha que X, Y e Z so trs
universos de discurso distintos, R1 uma relao sobre X Y e R2 uma outra relao sobre Y Z. Para
se obter a composio R1 R2 que relaciona X e Z, estende-se, inicialmente, R1 e R2 para X Y Z.
Agora, uma vez que R1 e R2 passaram a ter o mesmo domnio, a relao entre X e Z obtida
mediante restrio,
[ {
}]
ext
R1 oR 2 (x, z) = sup min ext
R1 (x, y, z), R 2 (x, y, z)
y Y
( 5.37)
onde
ext
R1 (x, y, z) = R1 (x, y)z Z
( 5.38)
ext
R 2 (x, y, z) = R 2 (y, z)x X
( 5.40)
R(w,y) = min{ A(w) , B(y) }
que conhecido como a regra de Mamdani.
Uma vez que a relao R: A B esteja caracterizada, a inferncia nebulosa (ou modus ponens
generalizado):
Se (a A) Ento (b B)
Tem-se A
Portanto, B
pode ser obtida fazendo-se a composio de R com A, usando, por exemplo, sup-min.
Quando se dispe de vrias regras envolvendo a mesma varivel, por exemplo denotada a,
necessita-se de uma forma de amalgamar as concluses implicadas por cada regra:
R1: Se (a A1) Ento (b B1)
.
.
.
R2: Se (a Am) Ento (b Bm)
Uma heurstica para combinar as regras seria tomar como concluso B = B1 ... Bm.
27
Figura 6-1. Esquema clssico onde o controlador calcula o valor da varivel manipulada (MV) a partir
do sinal de erro e = SP - PV, onde SP o set-point e PV o process variable.
Para efeito de comparao, sejam trs tipos possveis de controladores que poderiam ser
empregados como ilustrado na figura 8.1:
a) Controlador baseado em equao:
u(t) =
e(t)
( 6.1)
Ento ( u(t) = 0 )
Ento (u(t) =
k1 )
Ento (u(t) =
k2 )
Se ( |e(t)| > k3 )
Ento (u(t) =
k3 )
Figura 6-3. Caracterstica I/O de um controlador baseado em regras de produo e sem incertezas.
28
29
Figura 6-6. Valores da funo de pertinncia parao sinal de erro em diferentes instantes de tempo.
Para e(t1), tem-se, no caso, a partir da Figura 6-6:
EP com EP = 0.24
e( t 1 )
EM com EM = 0.72
( 6.2)
Se {
e( t kt ) exp( kT)
k =0
significando que se a soma dos mdulos do erro, com esquecimento exponencial, numa janela de
comprimento p+1, for grande (SG = Somatria Grande), ento o controle deve ser diminudo (Delta u
Negativo).
Uma forma de se representar o conjunto de regras envolvendo apenas uma varivel, por
exemplo o erro e(t), atravs de tabela do tipo:
30
NG
NM
PM
PG
PG
PM
NM
NG
No caso de se ter 2 variveis, por exemplo e(t) e e(t), pode-se expressar as regras na forma da
tabela:
Tabela 6-2. Apresentao da base de regras para 2 entradas (e, e) e uma sada (u).
e
NG
NM
PM
PG
PG
PM
NM
NG
PM
PM
NM
NM
NM
NG
31
Figura 6-9. Converso para varivel numrica empregando mdia dos mximos.
32
onde:
EP significa Erro_Pequeno, caracterizado pela matriz [EP] = [ 0.5 1 1 0 0 ]
EG Erro_Grande, [EG] = [ 0 0 0.5 1 0.5 ]
UG Controle_Grande, [UG] = [ 0 0 0.5 1 1 ]
UP Controle_Pequeno, [UP] = [ 1 1 1 0.5 0 ]
A regra R1, usando min de Mamdani, dada por
R1
u1
u2
u3
u4
u5
e1
0.5
0.5
0.5
e2
0.5
e3
0.5
e4
e5
u1
u2
u3
u4
u5
e1
e2
e3
0.5
0.5
0.5
0.5
e4
0.5
e5
0.5
0.5
0.5
0.5
u1
u2
u3
u4
u5
e1
0.5
0.5
0.5
e2
0.5
e3
0.5
0.5
0.5
e4
0.5
e5
0.5
0.5
0.5
0.5
Supondo que, em um dado instante obteve-se a informao de que o sinal de erro descrito por:
[E] = [ 0.2 0.7 0.2 0.1 0 ]
Neste caso, as regras indicam que deve ser gerado um sinal de controle dado por:
[U] = [ 0.2 0.7 0.2 0.1 0 ] [R] = [ 0.2 0.2 0.7 0.7 0.7 ]
ou seja, o sinal de controle a ser aplicado deve ser algo grande.
Na prtica, o valor do sinal de rro calculado a partir de sadas de sensores, assumindo a forma
[E] = [ 0 0 0 1 0 ]
que do tipo no nebuloso, no sentido que e(t) = 4 (valor normalizado). Neste caso, a operao [U] =
[E] [R] resulta, simplesmente, na 4a linha de [R].
33
u(t)
NG
NM
PM
PG
NG
NM
PM
PG
As funes de pertinncia empregadas nas regras apresentadas na Tabela 6-3 esto ilustradas na
Figura 6-10:
Figura 6-10. Funes de pertinncia do exemplo de estudo de estailidade, onde N significa negativo, P
positivo, M moderado, G grande e Z quase zero.
A partir das regras apresentadas na Tabela 6-3 possvel calcular a sada u a partir de uma dada
entrada e. O grfico da relao u=(e) apresentado na Figura 6-11.
1.5
1
0.5
u
0
-0.5
-1
-1.5
-2
-1
0
e
34
Uma vez que a caracterstica entrada-sada do controlador nebuloso conhecida, pode-se buscar
uma metodologia de anlise de estabilidade de sistemas no-lineares que seja aplicvel para o caso em
questo.
Para o exemplo considerado, aplicvel a teoria de estabilidade absoluta de Lure.
Considerando r(.) 0, o diagrama de blocos da Figura 6-1 assume a forma ilustrada na Figura
6-12.
Caso o grfico de (.) esteja contido em um setor limitado por retas de inclinaes a e b,
conforme ilustrado na Figura 6-13, existem condies que garantem a estabilidade de sistemas como o
da Figura 6-12. Um setor limitado por retas de inclinaes a e b denotado setor(a,b).
Figura 6-12. Diagrama de blocos de um sistema para o qual podem ser estabelecidas condies de
estabilidade.
Figura 6-13. No linearidade do tipo setor, onde o grfico de (.) est contido na regio limitada por
retas de inclinaes a e b.
Teorema 6.1: Se G(s) estvel (ou seja, no possui plos no semi-plano direito), G(s)
estritamente prprio (ou seja, o grau do denominador estritamente maior que o do numerador), (.)
est contido no setor (0,k) com k > 0, ento o sistema em malha fechada (Figura 6-12) estvel se
( 6.3)
( 6.4)
35
b) Aspectos Desfavorveis:
Um controlador nebuloso pode assumir a forma de um sistema aditivo nebuloso como ilustrado
na figura 8.14:
B1
B2
y=F(x)
Desnebulizao
Bm
Se (x1 Am1)...(xn Amn) Ento Bm
min
{ A
j
}
min{ ( x )}a
F(x) =
i =1
m
i =1
ij
(x j ) a i c i
A ij
onde ai a rea de Bi e ci a abcissa do centro de massa de Bi. Portanto, uma vez que os conjuntos Aij
e Bi so conhecidos, a sada y pode ser calculada para cada x atravs de y = F(x).
Uma questo interessante sobre a existncia de soluo para o problema inverso: Dada uma
funo F(.), seria possvel construir um controlador lgico nebuloso, de modo que y = F(x)?.
Em vista dos resultados de Wang e Mendel (1992), possvel construir um controlador lgico
nebulosos tal que y = Fa(x), de modo que Fa(.) aproxima F(.) em termos de norma . , no espao de
funes contnuas, desde que o universo de discurso X seja compacto.
Portanto, controladores lgicos nebulosos so aproximadores universais para uma certa classe
de funes, mas persiste a dificuldade em se caracterizar os conjuntos Aij e Bi, bem como o nmero de
regras necessrias. Uma forma de tentar determinar estas caractersticas de forma numrica atravs
do emprego de mtodos de otimizao como o de Poliedros Flexveis e Algoritmos Genticos.
36
minn J ( w)
wR
sujeito a
g i ( w) 0
i = 1,2,..., n g
h j ( w) = 0
j = 1,2,..., n h
( 7.1)
J ( w) = 3w1 + 2w2
g ( w) = w12 + w22 4
( 7.2)
h( w) = w1 1
O problema pode ser escrito, assumindo como objetivo a minimizao de J(.), como sendo:
s.a.
( 7.3)
w12 + w22 4 0
w1 + 1 = 0
cuja soluo pode ser obtida grfica ou analiticamente, fornecendo o ponto de timo w* = (1, -
3 ).
Quando as funes J(.), g(.) e h(.) so no lineares e n um nmero grande, pode ser
impraticvel a obteno de solues por mtodos grficos ou analticos. Nesses casos, interessante
que se disponha de mtodos numricos que possam ser codificados para utilizao em computador
digital.
37
J ( w) = w 2 2w + 2
dJ
=0
dw w=w*
J ( w) = w 2 2 w + 2
g1 ( w) = w 0.5
g 2 ( w) = w
dJ
0
dw w=w*
c) Caso no diferencivel: Um caso de minimizao onde existe o ponto de mnimo, mas este
no caracterizado por dJ(w)/dw = 0.
J ( w) =| w 1 | +1
38
= wk+1 e fim).
Se (ABS(delta) < tol) Ento ( waprox
Passo 4: Critrio para Reduo do Passo e Mudana de Sentido:
Se (delta < 0) Ento (hk+1 = -hk/2)
Passo 5: Retorna para nova iterao:
Fazer wk+1 = wk e k = k+1
Retornar ao Passo 1.
39
L
e fim)
2
Passo 3 Calcular:
3 5
L
2
5 1
M=
L
2
m=
( 7.4)
min
max
Se (Jm > JM) Ento ( wkmin
)
+ m ewkmax
+1 = wk
+1 = wk
; onde:
J m = J ( wkmin + m)
J M = J ( wkmin + M )
40
J
J ( w) =
( w) L
( w)
wn
w1
( 7.5)
De fato, utilizando-se a frmula para expanso em srie de Taylor, verifica-se que quando se
realiza um deslocamento de h a partir de um certo ponto w, a funo J(.) varia segundo a expresso:
2
J ( w + h) = J ( w) + T J ( w)h + o( h )
( 7.6)
ou seja,
J(w+h) - J(w) J ( w) h
( 7.7)
x y = x . y cos( )
( 7.8)
se h J (w)
( 7.9)
J(w+h) - J(w) mx
se h // J (w)
( 7.10)
41
min J ( wk + hk )
R
42
1 T
h Hh + b T h + c
2
( 7.11)
Assumindo que H seja positivo definida, o ponto de mnimo de Q(.) dado pela soluo de
Hh + b = 0 h = -H-1b
( 7.12)
J ( w + h) = J ( w) + T J ( w)h +
1 T
3
h H ( w)h + o( h )
2
( 7.13)
2J
2J
L
w
(
)
( w)
wn w1
w1w1
M
O
M
H ( w) =
2
2J
J
w w ( w) L w w ( w)
n
n
1 n
( 7.14)
( 7.15)
min J ( wk + H k hk )
R
43
w1k
w1k
i
i
Se J wk + x k J wki Ento ( hki = xki )
M
M
n
n
wk
wk
i
i
Seno ( x k = x k ).
Passo 3: Caso tenha sido mudado o sinal de xki , verificar se o seu valor adequado:
w1k
w1k
i
i
Se J wk + x k J wki Ento ( hki = xki )
M
M
n
n
wk
wk
i x ki
.
Seno x k =
Passo 4: Se x ki tol
*
Se hk tol Ento ( waprox
= wk e fim)
min J ( wk + hk )
R
44
L
k
i =1,..., n +1
Calcular P =
w
i =1
i
k
wkL .
*
=
Se ( P < tol ) Ento waprox
1 n+1 i
wk e fim
n + 1 i =1
c=
1 n +1 i
wk wkH
n i =1
( 7.16)
Passo 5. Reflexo:
wkR = c + (c wkH )
Passo 6: Expanso, se for o caso:
Fazer wki +1 =
i
wk para os demais vertices
Ento
Fazer wki +1 =
i
wk para os demais vertices
45
46
47
frag 1m e frag m2 .
Montar cromod1 = frag 1f e frag m2 e cromod2 = frag 1m e frag 2f
Passo 6: Fazer k = k + 2 e inserir cromod1 e cromod2 na lista P, na posio correta da ordenao.
Passo 7: Seleo Natural - eliminao dos cromossomos de pior desempenho em termos de J(.)
Se (k M)
Ento (P = P - {(cromoN+1,J(wN+1),...,(cromok,J(wk))} e k = M)
Passo 8: Critrio de Parada:
*
= w1
Se (J(wt) - J(w1) < tol) Ento waprox
48
49
*
= wk e fim)
Se hk tol Ento ( waprox
= J ( wk + h A ) J ( wk + hk )
Calcular a probabilidade de aceitao pa pela frmula:
1 se < 0
pa =
e T se > 0
Passo 5: Escolha da direo de busca:
Gerar um nmero aleatrio uniformemente distribudo entre [0,1]
Se ( pa) Ento (hk = hA)
Passo 6: Obter *k , a soluo do problema auxiliar de otimizao unidimensional na varivel
min J ( wk + hk )
R
50
51
Em geral, pode se dizer que os computadores digitais atuais podem resolver problemas que so
rduos para humanos, mas freqentemente so muito difceis de serem usados para automatizar tarefas
que humanos podem realizar com pouco esforo, tal como dirigir um carro ou reconhecer faces e sons
nas situaes encontradas no mundo real.
O estudo de Redes Neurais Artificiais (RNA, computao neural, conexionismo ou
processamento paralelo distribudo) fornece um enfoque alternativo a ser aplicado em problemas onde
os enfoques algortmico e simblico no so julgados muito adequados.
As RNAs, diferentemente de computadores digitais convencionais, executam sua tarefa usando
um grande nmero de processadores, cada um desses muito simples, mas com uma elevado grau de
interconexo entre eles. Ou seja, esses processadores operam em paralelo. A representao do
conhecimento distribuda pelas conexes (sinapses) e o aprendizado feito alterando-se os valores
associados a estas conexes. Todavia, os mtodos de aprendizado ainda precisam ser programados e
para cada problema especfico, um mtodo de aprendizado apropriado deve ser escolhido.
As redes neurais artificiais so, s vezes, modelos to grosseiros de sistemas nervosos
biolgicos que seria difcil justificar a palavra neural. A palavra neural usada hoje mais por razes
histricas, dado que os primeiros pesquisadores do assunto vieram das reas de Biologia ou
Psicologia, no das reas de Engenharia ou Computao.
52
8.1.1
Axnios
de
outros
neurnios
Ncleo
Sinapse
53
( )
Um ambiente externo que fornece informao para a rede e/ou interage com ela,
Uma regra de aprendizado, usada para modificar o padro de conectividade da rede, usando
informao fornecida pelo ambiente externo, ou seja, para modificar a matriz de pesos W.
54
w ij x j + bias i
( 8.1)
O valor do limiar (bias) pode simplesmente ser interpretado como sendo um outro peso vindo
de uma unidade cuja sada sempre 1.
b) Unidade Tipo TLU:
Em 1943 W. McCulloch e W. Pitts propuseram modelar o neurnio biolgico como uma
"unidade lgica tipo limiar" (Threshold Logic Unit, TLU) com L entradas binrias (0 ou 1) e uma
sada binria. Os pesos associados com cada entrada so 1. A sada de tal unidade alta (1) apenas
quando a combinao linear de todas as entradas maior ou igual a um certo limiar, e baixa (0) no
caso contrrio.
( 8.2)
onde Fi(z) = 1 se z 0 e Fi(z) = 0 se z < 0, wij o peso vindo da unidade j para a unidade i (i j).
c) Unidade Tipo Sigmide ou Tangente Hiperblica:
Este o tipo de unidade mais comumente usado em aplicaes de redes neurais. Neste caso temse que:
net i =
w ij x j + bias i
( 8.3)
1
1 + exp( net i )
( 8.4)
( 8.5)
A sada da unidade tipo sigmide varia entre 0 e 1, enquanto que a sada da unidade tipo
tangente hiperblica varia entre -1 e 1.
Note que para este tipo de unidade: a) a curva de sada apresenta uma forma de S, b) que tal
curva pode ser vista como uma verso suave (isto , com derivada limitada) da curva de sada da
unidade tipo TLU.
d) Unidade tipo Funo de Base Radial:
Neste caso tem-se:
net i = x C i
( 8.6)
( 8.7)
Desta maneira, a sada da unidade mxima quando x = Ci e decai suavemente medida que x
se afasta do centro Ci.
55
Figura 8-3. Algumas topologias para rede neural artificial: (a) sem realimentao e camadas isoladas,
(b) sem realimentao e conexes entre camadas de entrada e sada, (c) com realimentao.
Em redes neurais artificiais tipo feedforward as unidades podem ser enumeradas de forma tal
que a matriz de pesos W triangular inferior com diagonal nula (enumere as unidades da entrada para
a sada e denote por Wij o peso recebido pela unidade i vindo da unidade j).
Uma rede neural artificial separada em camadas, onde todas as unidades enviam suas sadas
apenas para as unidades situadas na prxima camada, dita ser estritamente feedforward (vide Figura
8-3 a).
Uma rede neural artificial tipo feedforward implementa um mapeamento esttico do seu
espao de entrada para o seu espao de sada. Em certos casos necessita-se de camadas escondidas (ou
camadas internas) para que a rede possa implementar o mapeamento entrada-sada desejado.
Uma rede tipo feedback , em geral, um sistema dinmico no linear. Neste ltimo caso, a
estabilidade da rede torna-se um tpico de grande importncia.
Uma aplicao tipca de uma rede neural artificial tipo feedforward o desenvolvimento de
modelos no lineares usados em reconhecimento de padres/classificao. Uma aplicao tipca de
redes neurais artificiais tipo feedback como uma memria endereada por contedo onde a
informao que deve ser gravada corresponde a pontos de equilbrio estvel da rede.
56
pesos de forma a produzir, para cada entrada do conjunto de treinamento a sada desejada fornecida
pelo supervisor. Este o caso de redes tipo feedforward treinadas com algoritmos de correo de erro,
como o algoritmo Back-Propagation. Nestes algoritmos, para cada entrada do conjunto de treinamento
a sada produzida pela rede neural comparada com a sada desejada fornecida pelo supervisor e os
pesos so alterados de forma a diminuir esta diferena. Frequentemente, este tipo de aprendizado
denominado na literatura de aprendizado supervisionado.
Na reduo seguinte do nvel de superviso, denominada de Superviso Fraca, o supervisor faz
apenas o papel de um crtico fornecendo uma avaliao grosseira da sada da rede neural (por
exemplo, certo ou errado, erro grande ou erro pequeno, sucesso ou fracasso) ao invs de fornecer a
sada desejada. Nesta categoria esto os algoritmos de aprendizado por reforo (reinforcement
learning) ou de punio/recompensa (reward/punishment).
No menor grau de superviso, que denominamos de Superviso Muito Fraca, o algoritmo de
treinamento da rede neural tenta descobrir categorias dos dados de entrada e o supervisor participa
apenas fornecendo os rtulos para estes agrupamentos. Um exemplo deste tipo de aprendizado est
presente nas Redes de Kohonen. Na literatura este tipo de aprendizado denominado aprendizado no
supervisionado, um nome que, estritamente falando, no estaria totalmente apropriado, pois ainda
ocorre uma pequena (mas efetiva) participao do supervisor no processo de aprendizagem.
Figura 8-4. Graus de envolvimento do supervisor nas diferentes formas de treinamento de redes
neurais.
2 n +1
j=1
i =1
h j ( g ij ( x i ))
( 8.8)
onde hj e gij so funes contnuas de 1 varivel e gij so funes monotnicas crescentes, fixas e
independentes da especificao de f. (Prova: Kolmogorov, 1957)
57
( 8.9)
f RN ( x ) = v j ( wTj x + b)
( 8.10)
j =1
n
f RN ( x ) f ( x ) < x [0,1]
( 8.11)
58
( 8.12)
( 8.13)
j=1
onde, N o nmero de unidades na rede, biasi e exti so variveis constantes internas e externas,
respectivamente.
Um padro Y = (y1, ... , yN) dito corresponder a um ponto de equilbrio estvel da rede, se:
sign w ij y j = y i
j=1
i = 1,..., N
( 8.14)
pois, neste caso, a sada no se alteraria na atualizao, caso se apresentasse Y como entrada.
Se o padro que se deseja armazenar S = (s1,...,sN), tem-se que os pesos wij da rede devem ser
wij = ksisj
( 8.15)
com k > 0, pois, neste caso:
j=1
= sign (kNsi )
( 8.16)
= s i i = 1,..., N
59
desde que sjsj = 1, significando que S um ponto de equilbrio da rede. Por convenincia, se k = N-1,
1
W = SST
( 8.17)
N
onde W a matriz de pesos com elementos wij.
No caso de se ter M padres, uma proposta simples para a determinao da matriz de pesos W,
pode ser obtida por superposio, ou seja:
T
1 M pat pat
W=
( 8.18)
S S
N pat =1
( )
sign s pat
s pat
j s j = s i i = 1,..., N
i
N j=1 pat =1
( 8.19)
( 8.20)
Denotando por SP um padro particular que se deseja memorizar na rede, o argumento de sign(.)
na equao ( 8.20) :
1 N M pat pat P 1 N pat pat P 1 N M pat pat P
s sj s j = N s i sj s j + N s i sj s j
N j=1 pat =1 i
j=1
j=1 pat = 2
( 8.21)
= s Pi + (IC)i = 1,..., N
onde (IC) representa a interferncia cruzada entre SP e outros padres. Portanto, se a magnitude de
(IC) for inferior a 1, no haver mudana de sinal de siP e a condio de estabilidade do padro SP
estar satisfeita.
A equao ( 8.18) expressa uma regra conhecida como a de Hebb. Uma rede neural com
realimentao utilizando a regra de Hebb, e com atualizao da sada realizada assncronamente,
chamada de rede de Hopfield de tempo discreto (Hopfield, 1982).
Uma questo importante obter uma estimativa para o nmero M de padres diferentes que
pode ser armazenado em uma rede como o da Figura 8-5, com N neurnios. Esta estimativa depende,
entre outros fatores, da taxa de erros que se admitiria na recuperao da informao armazenada. Caso
no se admitam erros (perfect recall), McEliece et al, 1987, mostram que:
N
M
( 8.22)
4 ln N
o que resultaria, para N = 256, apenas M 11.
Note-se que, caso os padres a serem armazenados sejam ortogonais entre si, ou seja:
T
0 se pat i pat k
Spat i Spat k =
N se pat i = pat k
( )
( 8.23)
a capacidade de memria seria M = N. Entretanto, com a regra de Hebb, W seria a matriz identidade, o
que, do ponto de vista prtico, seria desinteressante.
Um conceito interessante utilizado por Hopfield, 1982, a de funo energia em um dado
instante kT:
1
H(k ) = Y T ( k ) WY(k )
( 8.24)
2
Pode-se verificar que H(k+1) H(k), sendo que a igualdade ocorre quando yi no varia na
atualizao. Portanto, a tendncia da rede neural quando recebe uma entrada S evoluir
dinamicamente, na direo em que h decrscimo da funo energia, at que a sada se estabilize em
um dado ponto YS. Caso a rede esteja treinada, YS corresponde verso recuperada de S, ou seja, um
padro completo e no ruidoso que havia sido armazenado a priori e que melhor se aproxima do S
apresentado.
60
Figura 8-6. Circuito eltrico implementando um neurnio para utilizao em redes de Hopfield.
As variveis neti e yj so tenses, biasi uma corrente, wij e gi so condutncias, Ci uma
capacitncia e fi um amplificador de tenso tal que Vout = f(Vin), ou seja, yi = fi(neti), com impedncia
de entrada com valor muito elevado que pode ser considerado infinito para efeitos prticos.
A dinmica deste circuito, assumido ser a i-sima unidade da rede, descrita pela equao
diferencial ordinria:
N
dnet i
iC
=
C
=
bias
+
( 8.25)
i
i
i w ij ( y j net i ) g i net i
dt
j=1
Definindo-se C = [C1, ... , CN] e G = diag[G1, ... , GN], onde
N
G i = g i + w ij
( 8.26)
j=1
( 8.27)
Figura 8-7. Rede de Hopfield com atualizao contnua, implementado na forma de circuito eltrico.
61
A Figura 8-7 ilustra um circuito eltrico anlogo para uma rede de Hopfield com 4 unidades e
atualizao contnua. Assumindo que a matriz de pesos W simtrico e que as funces de ativao fi(.)
so inferior e superiormente limitadas e monotonicamente crescentes, a funo energia que pode ser
proposta :
N
yi
1
H( t ) = Y T WY bias T Y + G i 0 f i1 ()d
( 8.28)
2
i =1
Aplicando-se a regra da cadeia e utilizando a simetria da matriz W, verifica-se que:
N
dH
df 1 ( yi ) dyi 2
= Ci i
(
)
dt
dyi
dt
i =1
( 8.29)
( 8.33)
Converso anlogo-digital;
Decomposio de sinais;
Programao linear;
62
y
unidade
linear
W11
camada
de sada
Wqp
L
x1
camada
de entrada
x2
xp
[ ],
W( k ) = W( k ) W( k 1) = D k X k
1 k M
( 8.35)
[ ]
W( M ) = D1 X1
[ ] +...+ D [X ]
+ D2 X2
M T
63
( 8.36)
T.L.U.
yq
bias 1
+1
camada
de sada
Wqp
L
x1
camada
de entrada
L
x2
xp
( 8.37)
WijX j + biasi = 0
( 8.38)
j=1
64
X2
X2 AND
S.D.1
S.D.
S.D.
0
XOR
X
1
0
0
= 0 or -1
X
1
=1
0
0
1
S.D.2
X
1
Figura 8-10. Superfcies de Deciso (DS) para os casos OR, AND e XOR.
Outra maneira de ilustrar que o Perceptron de 1 camada no pode resolver o problema do XOR
escrever as 4 inequaes que devem ser satisfeitas pelos pesos e bias. Estas inequaes so:
1) 0 W1 + 0 W2 < bias bias > 0
2) 1 W1 + 0 W2 > bias W1 > bias
3) 0 W1 + 1 W2 > bias W2 > bias
4) 1 W1 + 1 W2 < bias W1 + W2 < bias
Estas inequaes no podem ser satisfeitas simultaneamente, pois os pesos W1 e W2 no podem
ser positivos e maiores que o bias, ao mesmo tempo em que sua soma seja menor que o bias.
importante notar que neste caso do Perceptron de 1 camada, no existe uma soluo para ser
encontrada, isto , trata-se de uma limitao devido ao problema de representao (onde estamos
interessados em saber se existe pelo menos 1 soluo) e no um problema de aprendizado (onde j
sabemos que existe pelo menos 1 soluo e se deseja encontrar 1 das solues).
Uma maneira de superar a limitao da separao linear usar RNAs com mais de 1 camada,
tais como o Perceptron de Mltiplas Camadas (Multi-Layer Perceptron - MLP), que introduz camadas
extras de unidades (as chamadas camadas escondidas) entre as camadas de unidades de entrada e
sada. possvel mostrar que isto equivalente a definir novas formas para as superfcies de deciso,
uma consequncia da combinao seqencial de vrios hiperplanos. O problema passa a ser ento
como determinar os pesos, ou seja, como treinar tal rede com vrias camadas.
Comparando a regra do Perceptron e a regra Delta, pode-se perceber que essas duas regras so
praticamente idnticas, com a nica diferena significativa sendo a omisso da funo de limiar
(threshold function) durante o treinamento no caso da regra Delta. Entretanto elas so baseadas em
princpios diferentes: a regra do Perceptron baseada no princpio de posicionar um hiperplano e a
regra Delta baseada no princpio de minimizar o erro quadrado mdio do erro de sada.
Outro ponto interessante que se a matriz linear associativa for treinada usando a regra Delta ao
invs da regra de Hebb, os vetores de entrada no precisam ser mais ortogonais entre si. Basta apenas
que sejam linearmente independentes. Entretanto, para p unidades de entrada a rede ainda poder
armazenar apenas at p associaes lineares, dado que no possvel ter mais que p vetores
linearmente independentes em um espao com dimenso p.
65
W* = D1 D2 ... D p
] [X X
1
... X p
( 8.39)
1
[Di Yi ]2
2
i =1
E pat = E ipat =
i =1
( 8.40)
Wij =
=
( 8.41)
E pat
Wij
E pat Yi
Yi Wij
= [Di Yi ]
( 8.42)
Yi
Wij
66
O procedimento para treinamento do perceptron de 1 camada usando a regra Delta pode ser
esquematizado da seguinte maneira:
Passo 1: Inicialize a matriz de pesos W e o vetor bias como pequenos nmeros aleatrios;
Passo 2: Selecione do conjunto de treinamento um par de vetores entrada-sada desejada;
Passo 3: Calcule a sada da rede como: Y = W X + bias
Passo 4: Altera a matriz de pesos W e o vetor bias usando:
Wij = [ Di Yi ]X j
( 8.43)
biasi = [ Di Yi ]
( 8.44)
Passo 5) Se o vetor do erro de sada D-Y no for suficientemente pequeno para todos os vetores
de entrada do conjunto de treinamento, retornar ao Passo 2.
Depois do treinamento, a sada da rede Y calculada para um vetor de entrada X qualquer, em
dois passos:
Passo 1) Calcule o vetor net (de net input) como:
net = W X + bias
( 8.45)
+1 se net i 0
Yi =
-1 se net i < 0
( 8.46)
Esta fase conhecida como a fase de evocao (recall phase). O procedimento acima minimiza
a mdia da diferena entre a sada desejada e a net input de cada unidade de sada (o que Widrow e
Hoff chamam de erro medido). possvel mostrar que, indiretamente, tambm se est minimizando a
mdia do erro de sada (o que Widrow e Hoff chamam de erro do neurnio).
Em relao capacidade da rede, Widrow e Lehr, 1990 mostram que, em mdia, um ADALINE
com p entradas pode armazenar at 2p padres de entrada aleatrios com suas sadas desejadas
binrias tambm aleatrias. O valor 2p o limite superior alcanado apenas quando p.
NL
Unidade
= Linear
Unidade
= No Linear
NL
NL
NL
NL
camada
escondida
camada
de entrada
+1
+1
x
x2
1
3
Figura 8-11. Perceptron de Mltiplas Camadas.
x
67
xp
O uso de unidades escondidas torna possvel a recodificao dos padres de entrada, criando
uma representao diferente. Cada camada escondida executa a recodificao do seu sinal de entrada.
Alguns autores referem se a isto como as unidades escondidas criando representaes internas ou
extraindo os atributos escondidas dos dados fornecidos.
Dependendo do nmero de unidades escondidas, possvel encontrar uma nova representao
onde os vetores de sada da camada escondida so linearmente separveis apesar dos vetores de
entrada no serem.
Quando se tem apenas 1 camada escondida com um nmero pequeno de unidades, no
suficiente para que seja possvel esta recodificao dos vetores de entrada, uma possvel soluo
adicionar uma segunda camada de unidades escondidas. Assim, entre outras coisas, o projetista da rede
tem que decidir entre: 1) usar apenas 1 camada escondida com muitas unidades; ou 2) usar 2 ou mais
camadas escondidas com poucas unidades em cada camada. Normalmente no mais de 2 camadas
escondidas so usadas por 2 razes: 1) provavelmente o poder de representao de uma rede com at 2
camadas escondidas ser suficiente para resolver o problema; 2) as simulaes tem mostrado que para
a maioria dos algoritmos usados para treinamento de RNA disponveis atualmente, o tempo de
treinamento da rede aumenta rapidamente com o nmero de camadas escondidas.
O poder de um algoritmo que consegue adaptar os pesos de um Perceptron de mltiplas
camadas vem do fato que tal algoritmo poder encontrar automaticamente a recodificao interna
necessria para resolver o problema usando os exemplos do mapeamento entrada-sada desejado.
possvel interpretar tal recodificao interna, ou representao interna, como um conjunto de regras
(ou micro-regras como alguns autores preferem). Assim, usando-se uma analogia com expert systems,
tal algoritmo "extrai" as regras ou atributos de um conjunto de exemplos. Alguns autores referem-se a
isto como a propriedade de executar a extrao dos atributos do conjunto de dados.
As Figuras 8.12, 8.13 e 8.14 ilustram 3 diferentes solues para o problema do XOR usando
unidades tipo TLU nas camadas escondida e de sada. Observe que nestas solues a unidade de sada
pode tambm ser linear sem bias, isto , respectivamente y = x3+x4, y=x4-x3, e y = x1+x2-2x3. Nas
figuras 8.12 e 8.13 as duas unidades escondidas recodificam as variveis de entrada x1 e x2 como as
variveis x3 e x4. Os 4 pontos de entrada so mapeados para 3 pontos no espao [x3, x4]. Estes 3
pontos so linearmente separveis como as figuras ilustram. Observe que a soluo ilustrada na Figura
8-12 uma combinao das funes AND e OR.
y
1
-0.5
+1
-0.5
+1
x3
x1 x 2 x3 x4 y
0 0 0 0 0
x4
-0.5
1 -1 -1 1
L
L
x1
x2
x4
x 3+ x 4
S.D.
=0
=1
(x1,x 2)=(0,1)
0
0
(0,0) 0
ou (1,1)
68
(1,0)
x
y
-0.5
-1
x3
x1 x2 x3 x4 y
x4
-0.5
+1
-1.5
1 1
L
+1
x1
1
L
0 0
1
0
0 1
0 1
1 1
x2
x
x -x
4 3
(x1,x 2)=(0,1)
ou (1,0)
(1,1)
=0
=1
S.D.
(0,0)
x3
x3
-0.5
-1.5
=0
-2
1
1
+1
x1
x1 x 2 x 3
1
1
0
0
0
x2
=1
x3
(1,1,1)
(0,1,0)
x2
(0,0,0)
(1,0,0)
x1
( 8.47)
( 3)
+ w ijkl
x j x k x l + ...
j
Da definio acima o Perceptron uma RNA de primeira ordem pois utiliza apenas o primeiro
termo da equao acima. Widrow chama tais unidades como unidades que possuem Polynomial
Discriminant Functions. O problema com higher-order ANN a exploso do nmero de pesos
medida que o nmero de entradas aumenta. Entretanto recentemente tais redes tem sido utilizadas com
sucesso para a classificao de imagens, independentemente da posio, rotao ou tamanho das
imagens.
69
( 8.48)
tanh(x)=2*sig(x)-1
( 8.49)
Algumas vezes a classe geral de funes tipo squashing denominada de funes sigmoidais. A
funo sigmide cresce monotonicamente de 0 at 1, enquanto que a funo tangente hiperblica
cresce de -1 at 1. Observe que a funo sigmide pode ser visto como uma aproximao suave da
funo bipolar {0,1}, enquanto que a funo tangente hiperblica pode ser vista como uma
aproximao de uma funo bipolar {-1,1}, como no ADALINE de Widrow.
A dificuldade em treinar um Perceptron de mltiplas camadas que no existe um erro prdefinido para as unidades escondidas. Como o algoritmo BP uma regra de aprendizado
supervisionado, ns temos o valor que as unidades de sada devem seguir, mas no para as unidades
escondidas.
Seja uma RNA tipo feedforward com Ninp unidades de entrada e Nout unidades de sada.
Assumindo, apenas por uma questo de simplicidade na notao, uma RNA com apenas uma camada
escondida com Nhid unidades conforme ilustrado na Figura 8-11, tem-se:
Ninp +1
net H
k ( j) =
l =1
wH
k ( j, l) u k ( l)
H
yH
net H
k ( j) = f
k ( j)
( 8.50)
( 8.51)
onde 1 j Nhid,
net Sk (i) =
Nhid +1
j=1
w Sk (i, j) y H
k ( j)
( 8.52)
( 8.53)
onde 1 i Nout, e:
uk = vetor de entradas da RNA com dimenso (Ninp +1) x 1, sendo que se assume uk(Ninp + 1) = 1,
wH
k ( j, l) = peso entre a unidade escondida j e a unidade de entrada l,
net H
k ( j) = entrada total para a unidade escondida j,
yH
k ( j) = sada da unidade escondida j, sendo assumido:
yH
k ( Nhid + 1) = 1
fH (.) = funo de ativao usada nas unidades escondidas,
70
1 Nout
E k = d Sk (i) ySk (i)
2 l =1
1 Nout
= eSk (i)
2 l =1
( 8.55)
onde o erro eSk para a unidade de sada i ( eSk (i) ) simplesmente definido como o escalar:
eSk (i) d Sk (i) ySk (i)
( 8.56)
onde, d Sk ( i) e ySk ( i) denotam respectivamente a sada desejada e a sada calculada para a unidade de
sada i, quando o padro uk aplicado na entrada da RNA.
H
O "pseudo-erro" e H
k para a unidade escondida j, denotado ( e k ( j) ) definido como o escalar:
H
k
(j)
e Sk (i)
e (i) H ,
y k (j)
i =1
Nout
S
k
1 j Nhid
( 8.57)
isto , o pseudo-erro de uma dada unidade escondida calculado como a soma dos erros de cada
unidade de sada multiplicado pela influncia da unidade escondida no erro desta unidade de sada.
Donde, pode-se escrever:
eSk (i)
yH
k ( j)
( 8.58)
= fkS (i) w H
k (i, j)
onde, fkS (i) denota a derivada da funo f S ( z) em relao z calculada no ponto z = net Sk ( i) .
E assim tem-se que:
Nout
( 8.59)
1 j Nhid
i =1
( 8.61)
Ek
yH
k (i)
Nout
S
H
d
(
)
(
)
(
)
y
l
net
l
y
i
l =1
k
k
k
( 8.62)
71
Ek
yH
k (i)
Nout
l =1
( 8.63)
onde, f S (z) denota a derivada de f S (z) , em relao varivel z, no ponto z = net Sk (i) .
Assim, para a unidade i da camada de sada:
( 8.64)
onde, 1 i Nhid, 1 j Ninp+1. Utilizando a eq. ( 8.33) pode-se escrever ento que para as
unidades escondidas:
H
H
wH
k (i, j) = ek (i) fk (i) uk ( j)
onde,
eH
k
e f
( 8.66)
eSk
f kS ,
respectivamente.
Observe que na derivao do algoritmo BP, apenas as seguintes restries foram usadas:
1) A rede do tipo feedforward;
2) Todas as unidades possuem funes de ativao diferenciveis; e
3) A funo combinao (usada para calcular o valor da net input) foi definida como (em
notao vetorial): net=W out+ bias.
Os passos do algoritmo BP so:
Passo 1: Gerao do conjunto inicial de pesos sinpticos para todas as unidades da RNA;
Passo 2: Inicializao das matrizes de covarincia P e escalares r para cada unidade da RNA;
Passo 3: Escolha do vetor de entrada a ser treinado uk e da sada desejada dk associada a esta
entrada;
Passo 4: Clculo das sadas de todas as unidades da RNA, ou seja, do vetor:
[y
H
H
S
S
k (1) K y k ( Nhid ) y k (1) K y k ( Nout )
];
72
dsig( x)
= sig( x)[1 sig( x)]
dx
( 8.67)
d tanh( x )
= [1 + tanh( x )][1 tanh( x )]
dx
( 8.68)
e:
Tais propriedades so muito teis, pois reduzem o nmero total de clculos necessrios para
treinar a rede.
Em relao inicializao dos pesos, Rumelhart e McClelland, 1988, sugerem usar pequenos
nmeros aleatrios. Em relao taxa de aprendizado (), ressalta-se que, embora um valor grande
possa resultar em um aprendizado mais rpido, podero tambm ocorrer oscilaes. Uma maneira de
reduzir o risco de provocar oscilaes incluir um termo de momento, modificando a equao de
atualizao dos pesos para:
w ij (k + 1) = i out j + w ij (k )
( 8.69)
onde, o ndice k indica o nmero da apresentao e uma constante positiva com valor pequeno
selecionado pelo usurio. Tal modificao filtra as oscilaes de alta frequncia nas mudanas dos
pesos, pois tende a cancelar as mudanas que tem direes opostas e refora a direo predominante.
No caso da regra Delta, quando aplicada para treinar redes sem camadas escondidas e com
unidades de sada lineares, a superfcie de erro tem sempre a forma de uma taa, isto , uma superfcie
convexa e consequentemente os pontos de mnimo locais so tambm pontos de mnimo globais. Se a
taxa de aprendizado for suficientemente pequena, a regra Delta ir convergir para um destes pontos
de mnimo. No caso do Perceptron de mltiplas camadas a superfcie de erro pode ser muito mais
complexa com muitos pontos de mnimo locais. Como o algoritmo BP um procedimento tipo
gradient-descent, existe a possibilidade que o algoritmo fique preso em um destes pontos de mnimo
locais e, portanto, no convirja para a melhor soluo, o ponto de mnimo global.
73
Uma alternativa para gerar ut(.) utilizar um controlador convencional de forma que a rede
neural possa copiar as suas caractersticas. A Figura 8-16 ilustra uma forma de obter os pares
entrada-sada do controlador que so utilizados no treinamento da rede neural. Este controlador pode
ser, por exemplo, um operador humano.
Figura 8-16. A rede neural pode ser utilizada para adquirir as caractersticas de um controlador
convencional.
Outra alternativa, seria realizar uma identificao da planta a ser controlada. A identificao
poderia conduzir a modelos diretos como o obtida por um esquema do tipo Figura 8-17 ou inverso
como as provenientes de arranjos como o da Figura 8-18.
74
Uma outra possibilidade, utilizar o conceito de aprendizado por reforo, onde a rede gera
aes u(.) aleatrias e o resultado, avaliado por um crtico, realimentado para ajuste dos pesos da
rede, em um mecanismo de punio ou recompensa (figura 13.5)
Figura 8-19. Esquema para utilizao de rede neural como controlador treinado por mecanismo de
punio ou recompensa.
Estas so as principais arquiteturas de redes neurais em aplicaes de controle de sistemas
dinmicos em malha fechada, porm possvel encontrar outras variantes.
75