Documente Academic
Documente Profesional
Documente Cultură
1 Introduo
2.1
Sistemas de Produes . . . . . . . . . . . . . . . . . . . . . . . .
2.2
rvores ou Grafos
2.3
Mtodos Fracos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1
Pesquisa em Profundidade . . . . . . . . . . . . . . . . . .
2.3.2
Pesquisa em Largura . . . . . . . . . . . . . . . . . . . . .
2.3.3
Custo Uniforme . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4
Aprofundamento Progressivo
2.4
Mtodos Informados
11
. . . . . . . . . . . . . . . . . . . . . . . . .
12
Hill Climbing . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.4.2
Simulated Annealing . . . . . . . . . . . . . . . . . . . . .
14
2.4.3
Algoritmos Evolutivos . . . . . . . . . . . . . . . . . . . .
16
2.4.3.1
17
2.4.3.2
Funo de adaptao
. . . . . . . . . . . . . . .
17
2.4.3.3
Seleco . . . . . . . . . . . . . . . . . . . . . . .
17
2.4.3.4
Emparelhamento . . . . . . . . . . . . . . . . . .
17
2.4.3.5
Crossing-Over
18
2.4.3.6
Mutao
2.4.3.7
Recursividade
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
A* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
20
2.5.1
Minimax . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
2.5.2
21
2.5.3
Negamax
. . . . . . . . . . . . . . . . . . . . . . . . . . .
Mtodo da Decomposio
2.7
Satisfao de Restries
23
. . . . . . . . . . . . . . . . . . . . . .
23
. . . . . . . . . . . . . . . . . . . . . . .
25
3 Representao do Conhecimento
3.2
18
18
Pesquisa Adversarial . . . . . . . . . . . . . . . . . . . . . . . . .
2.6
3.1
. . . . . . . . . . . . . . . .
2.4.1
2.4.4
2.5
. . . . . . . . . . . . . . . . . . . . . . . . . .
28
Lgica Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
3.1.1
Lgica Proposicional . . . . . . . . . . . . . . . . . . . . .
29
3.1.2
30
Redes Associativas/Semnticas
. . . . . . . . . . . . . . . . . . .
30
CONTEDO
3.3
Produes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4
Frames (Enquadramento)
3.5
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
31
31
32
33
3.5.1.1
33
Desfusicao
. . . . . . . . . . . . . . . . . . .
3.5.2
35
3.5.3
Factores de Certeza
36
. . . . . . .
37
3.5.4
40
3.5.5
Teoria de Dempster-Shaer
40
3.5.3.1
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
4 Sistemas Periciais
46
4.1
Motor de Inferncia . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2
Explicabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.3
Aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
4.4
Meta-Conhecimento
. . . . . . . . . . . . . . . . . . . . . . . . .
48
4.5
Shells
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
5 Linguagem Natural
47
50
5.1
Representao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
5.2
53
. . . . . . . . . . . . . . .
5.2.1
Anlise Lexical . . . . . . . . . . . . . . . . . . . . . . . .
53
5.2.2
Anlise Sintctica
. . . . . . . . . . . . . . . . . . . . . .
53
5.2.3
Anlise Semntica
. . . . . . . . . . . . . . . . . . . . . .
55
5.2.4
Gramticas de Caso
. . . . . . . . . . . . . . . . . . . . .
55
5.2.5
Gramticas Lgicas
. . . . . . . . . . . . . . . . . . . . .
56
5.2.6
Quanticao . . . . . . . . . . . . . . . . . . . . . . . . .
57
5.2.7
Transformaes Semnticas
. . . . . . . . . . . . . . . . .
58
5.2.7.1
58
5.2.7.2
58
. . . . . . . . . .
60
60
6.1.1
60
6.1.2
6.2
6.3
61
62
6.2.1
62
6.2.2
. . . . . . . . . .
66
6.2.3
66
Aprendizagem Indutiva
. . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
67
6.3.1
67
6.3.2
C4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
6.3.2.1
71
. . . . . . . .
CONTEDO
7 Redes Neuronais
72
7.1
Elemento de Processamento . . . . . . . . . . . . . . . . . . . . .
73
7.2
73
7.3
Lei de Aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . .
74
7.3.1
74
7.3.2
. . . . . . . . . . . . . . . . .
7.3.1.1
Aprendizagem de Hebb
7.3.1.2
Aprendizagem de Hopeld
. . . . . . . . . . . . . .
75
Aprendizagem Supervisionada . . . . . . . . . . . . . . . .
75
7.3.2.1
Perceptron
75
7.3.2.2
. . . . . . . . . . . . . . . . . . . . .
tion) . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.3
75
. . . . . . . . . . . .
Aprendizagem no Supervisionada
. . . . . . . . . . . . .
75
77
7.3.3.1
Aprendizagem Competitiva . . . . . . . . . . . .
77
7.3.3.2
Mtodo de Kohonen . . . . . . . . . . . . . . . .
77
Captulo 1
Introduo
A Inteligncia Articial um campo de estudo que alia a Cincia da Computao, a Engenharia e a Psicologia Cognitiva, de forma a tentar criar agentes
capazes de ter comportamentos semelhantes a humanos em determinadas situaes.
A Inteligncia Articial o estudo de ideias que, implementadas
no computador, lhes permitem realizar os mesmos objectivos que
fazem as pessoas parecer inteligentes - Patrick Winston, ex-director
do laboratrio de IA do MIT.
A Inteligncia Articial organiza-se em 4 categorias, dependendo dos objectivos
do agente:
Pensar Humanamente;
Agir Humanamente;
Pensar Racionalmente;
Agir Racionalmente;
Captulo 2
Mtodos de Resoluo de
Problemas
Existem 3 tipos de mtodos de resoluo de problemas:
1. Mtodos Fracos (Pesquisa em profundidade, Pesquisa em Largura, Custo
Uniforme...)
2. Mtodos Informados (Hill Climbing, Simmulated Anealling, Algoritmos
Genticos/Evolutivos, A*...)
3. Pesquisa Adversarial (Minimax e suas variantes)
De notar que alguns algoritmos se encaixam em mais de um destes mtodos,
visto que o mtodo em si depende da forma como o algoritmo usado.
2.1
Sistemas de Produes
CAPTULO 2.
Exemplo
Consideremos o clssico problema dos missionrios e canibais:
Numa margem direita de um rio encontram-se 3 missionrios, 3 canibais e um
barco. Tanto os missionrios e os canibais desejam atravessar para a margem
esquerda, no entanto, o barco apenas consegue carregar 2 pessoas de cada vez, e
se numa margem estiverem mais canibais que missionrios, os canibais comem os
missionrios dessa margem. De notar que para o barco atravessar o rio precisa
de levar, pelo menos, uma pessoa
Transies:
Motor de Inferncia;
Acessibilidade Total;
Independncia Total;
Sistemtica ou Heurstica;
A existncia de uma sistemtica ou de uma heurstica permite que alguns problemas de complexidade exponencial possam ser simplicados em problemas de
complexidade polinomial.
2.2
rvores ou Grafos
CAPTULO 2.
2.3
Mtodos Fracos
nmero de estados a pesquisar, sendo assim necessrio ter muito cuidado com
estes.
A pesquisa pode ser feita em ambas as direces, ou seja:
A direco escolhida deve ter em conta vrios factores, como o factor de ramicao da rvore de pesquisa e a quantidade de estados nais. Para ter uma
ideia de qual o melhor processo pode ajudar pensar em semelhanas entre este
e o processo de raciocnio real.
CAPTULO 2.
1
2
3
5
4
Anlise do Algoritmo
Sendo:
p - profundidade mxima;
O algoritmo, para cada ramo, ter de o percorrer at sua profundidade mxima, logo, ter complexidade temporal
O(rp ).
Por outro lado, o algoritmo apenas precisa de armazenar o estado dos lhos
(visitado ou no visitado, de forma a poder evitar a visita a estados repetidos)
dos ns que fazem parte da soluo actual (caminho da raiz at ao n actual), ou
seja, a complexidade espacial ser apenas
O(r p)
O(p),
Este algoritmo no considerado completo, pois caso um caminho seja innitamente grande, este nunca encontra a soluo.
Tambm no ptimo, pois a primeira soluo que encontra pode no ser a
que necessite de menos passos.
CAPTULO 2.
1
2
5
Figura 2.2: Exemplo da Pesquisa em Largura
Anlise do Algoritmo
Sendo:
p - profundidade da soluo;
O(rp )
ou
O(rp+1 ),
dependendo do momento em
Pp
i=0
apenas se considera o termo mais signicativo nas anlises de complexidade.
ri ,
O(rp )
ou
O(rp+1 ),
os ns do nvel da soluo.
Este algoritmo ptimo (caso todas as arestas possuam o mesmo custo/valor),
no sentido que a primeira soluo encontrada necessariamente a melhor e, se
r for nito, tambm um algoritmo completo.
s vezes
pode ser prefervel avanar 2 estados em vez de apenas 1, pois cada transio
pode possuir um peso ou um valor. Um exemplo comum o clculo do caminho
mais curto entre duas cidades (sendo cada cidade um estado e as estradas as
transies).
Para resolver estes problemas podemos usar o algoritmo de custo uniforme.
Este algoritmo , de certa forma, anlogo a uma pesquisa em largura, no entanto,
a la passa a ser uma la de prioridades em que a prioridade corresponde ao
CAPTULO 2.
10
1
1
2
1
4
Figura 2.3: Exemplo do Custo Uniforme
custo de efectuar essa aco. Caso todos os custos sejam iguais, este mtodo
igual a uma pesquisa em largura.
O algoritmo funciona da seguinte forma (considerando que comeamos na
raiz, com uma la de prioridades vazia e assumindo um problema em que o
objectivo ter o menor custo possvel):
1. Se o n for soluo, termina o algoritmo (soluo garantidamente ptima).
2. Se o n tiver sucessores, estes (apenas os no visitados, caso seja um grafo)
so adicionados la de prioridades com custo=custo actual+custo da
transio;
(a) Caso o n j se encontre na la, se o novo custo for menor, actualizase o seu valor, se no, no se faz nada.
3. Retira-se o n que estiver no topo da la e repete-se o algoritmo para esse
n.
Neste caso, a la de prioridade ter no topo o n com menor custo.
Caso a
inteno seja obter a soluo com o maior valor (e no com o menor custo), o
algoritmo semelhante, mas a la de prioridade ordenada ao contrrio.
Pode-se ver um exemplo da ordem de pesquisa deste algoritmo na gura 2.3.
Anlise do Algoritmo
Sendo
De uma forma muito simples, este algoritmo funciona como uma pesquisa em
largura, s que em vez de a pesquisa ser efectuada at profundidade desejada,
CAPTULO 2.
11
efectuada at ao custo desejado, ou seja, com esta analogia, poderamos considerar a complexidade temporal deste algoritmo como
espacial como
O(r
c+1
O(rc+1 )
e a complexidade
O(r l +1 )
O(r l +1 )
Anlise do Algoritmo
Sendo:
p - profundidade da soluo;
Este algoritmo tem um comportamento semelhante a vrias pesquisas em profundidade com profundidade mxima limitada (at essa profundidade ser igual
profundidade da soluo), logo as iteraes necessrias sero
1,
Pp
i=1
ri =
(r p+1 1)
r1
Pp
i2 +i
i=1 r i = r
i=1 i = r 2 .
No entanto, tendo em conta que os valores menos signicativos desaparecem
Pp
O(rp )
e a complexidade espacial
O(r p).
CAPTULO 2.
12
2.4
Mtodos Informados
Ao contrrio dos mtodos fracos, os mtodos informados possuem alguma informao do problema, nomeadamente algum tipo de funo heurstica que permita dar um valor a um determinado estado. Com este valor, possvel escolher
aquela que se acredita ser a melhor opo, ignorando as outras.
de notar, no entanto, que a funo heurstica no deve ser uma funo
qualquer. Uma boa heurstica tem as seguintes propriedades:
1. A heurstica deve tentar ser mais simples que o clculo do valor real do
estado (que, por vezes, pode corresponder soluo do problema) sendo,
no entanto, o mais prxma do valor real possvel (quanto mais prxima
do valor real for a heurstica, mais depressa o mtodo converge para a
soluo).
2. A heurstica deve ser admissivel (optimista), ou seja:
(a) Caso se pretenda minimizar o custo, a funo heurstica sempre
menor ou igual ao custo real;
(b) Caso se pretenda maximizar o valor, a funo heurstica sempre
maior ou igual ao valor real;
3. No caso de pesquisa em grafos, a heurstica deve ser consistente (montona), ou seja:
(a) Para todos os sucessores N de um estado E, o custo estimado de
chegar de E ao objectivo nunca maior que a soma do custo de ir de
E at N e o custo estimado de ir de N at ao destino.
(b) Para todos os sucessores N de um estado E, o valor estimado de
chegar de E ao objectivo nunca menor que a soma do valor de ir de
E at N e o valor estimado de ir de N at ao destino.
Se uma heurstica for consistente, imediatamente admissivel.
Uma forma melhor de entender a consistncia pensar em distncias fsicas
entre dois pontos. Consideremos a nossa funo heurstica a distncia em linha
recta entre os 2 pontos (claramente, esta heurstica optimisita, pois a distncia
real no pode ser menor que a nossa funo).
Tendo em conta o exemplo da gura 2.4, a nossa heurstica completa se
CAPTULO 2.
13
1
2
h(1,F)
h(2,F)
h(3,F)
Isto
quer dizer que so algoritmos genricos que, tendo em conta uma heuristica,
vo tentando melhorando iterativamente uma soluo candidata.
CAPTULO 2.
14
1
2
X
2
Soluo
ptima
Soluo
Escolhida
X
Figura 2.5: Exemplo de Hill Climbing
Anlise do Algoritmo
Sendo:
Tendo em conta que este algoritmo apenas tem de seguir o melhor caminho (ou
seja, fazer uma comparao com todos os sucessores dos ns de cada estado
do percurso), a sua complexidade temporal
O(r p).
J espacialmente, ape-
O(r).
Isto muito bom, pois todos os mtodos de pesquisa apresentados anteriormente possuiam uma complexidade temporal de crescimento exponncial, sendo
que agora possumos um algoritmo com complexidade polinomial.
No entanto, como j foi dito antes, este algoritmo no ptimo, podendo
mesmo no chegar a encontrar a soluo ideal, visto tratar-se de um algoritmo
ganancioso. Pode, no entanto, tambm no ser completo, se considerarmos um
caso em que haja um caminho innito sempre com lhos de tamanho positivo.
Na gura 2.6 possvel ver um exemplo em que este algoritmo no nem ptimo
nem completo.
faz com que a temperatura aumente, fazendo com que os tomos se movam
CAPTULO 2.
15
1
2
Soluo
ptima
1/2
1/4
e |
E
T
|,
estado.
3. Actualiza-se o valor da temperatura (diminui-se a temperatura por um
determinado factor dependendo da implementao).
4. Repete-se o algoritmo para o prximo estado.
CAPTULO 2.
16
Anlise de complexidade
Sendo este um algoritmo probabilistico, no ser aqui apresentada a sua complexidade.
de notar no entanto que, mesmo sendo este algoritmo melhor que o Hill
Climbing, a sua natureza probabilstica faz com que tambm s seja ptimo e
completo em funes bem comportadas.
Temos capacidade computacional para implementar o algoritmo paralelamente (algoritmos genricos so fcilmente implementados de forma concorrente, s dividir os nossos indivduos por vrias mquinas/processadores).
Os algoritmos evolutivos podem ser, muito por alto, descritos da seguinte forma:
1. Populao Inicial;
2. Seleco;
3. Emparelhamento;
4. Crossing-Over;
5. Mutao;
6. A soluo sucientemente boa?
(a) Se sim, termina.
(b) Se no, volta a 2.
Em seguida, estas fases sero explicadas em detalhe, sendo que a gura 2.7pode
ajudar a uma melhor compreenso destas.
CAPTULO 2.
17
2.4.3.3 Seleco
Esta a primeira fase do algoritmo, onde se escolhem quais os indivduos que
so mais aptos e vo fazer parte da prxima gerao (ou reproduzir-se, como
se ver no passo seguinte).
Existem vrias formas de seleco:
Seleco elitista:
vezes necessrias;
f (IX )
(N - nmero de indivduos)
f (Ii )
i=0
2.4.3.4 Emparelhamento
A seguir seleco necessrio denir que indivduos se emparelham e com
quem se emparelham.
CAPTULO 2.
18
Funo de Adaptao: N de 1s
Pc = 0.50
Pm = 0.1
15,4%
30,8%
23%
30,8%
10001000
10011010
01101000
10101010
10011010
10011010
01101000
10101010
01101010
11101000
10011010
10011010
01101010
11101000
podero reproduzir.
Desses indivduos, necessrio escolher quem se emparelha com quem. Esta
escolha pode ser tanto aleatria como ordenada.
De notar que, por vezes, o nmero de indivduos pode ser impar, cando um
indivduo por emparelhar.
2.4.3.5 Crossing-Over
Estando o emparelhamento feito, para cada par, temos de efectuar o crossingover (cruzamento de genes ou alelos) de forma a fazer um novo individuo.
Para isso, precisamos de uma estratgia para denir o ponto de crossing-over
e, dependendo desta, de uma probabilidade de crossing-over Px.
Estratgia UX (uniform crossover): havendo N genes num individuo, gerase um nmero aleatrio X (de distribuio uniforme) entre 0 e N-1.
2.4.3.6 Mutao
Para alm do crossing-over, alguns indivduos podero sofrer mutaes. Como
tal, para cada gene de um individuo, este pode ser aleatoriamente alterado com
probabilidade Pm (normalmente reduzida).
2.4.3.7 Recursividade
Por m, na populao seleccionada, os lhos substituem os pais, obtendo-se
uma nova populao.
O algoritmo depois repetido at ser obtida uma soluo desejvel.
CAPTULO 2.
19
2.4.4 A*
O algoritmo A* uma mistura do Custo Uniforme com mtodos gananciosos,
no sentido em que:
C(S, S 0 ) =
c(S) + c(S ).
Mtodos gananciosos:
H(S, S 0 ) = h(S 0 ).
f (S, S 0 ) = C(S, S 0 ) + H(S, S 0 ).
O algoritmo funciona da seguinte forma (tendo uma lista aberta apenas com o
estado inicial e uma lista fechada vazia):
1. Se a lista aberta estiver vazia, o algoritmo termina;
2. Retira-se o primeiro estado da lista aberta e adiciona-se-o lista fechada
(ou marca-se como expandido);
3. Se o estado for o estado nal, o algoritmo retorna;
4. Caso contrrio, para cada sucessor que no esteja na lista fechada:
(S 0 ) = f (S, S 0 )
f 0 (S 0 ) (novo valor esti-
Anlise do Algoritmo
A complexidade do algoritmo A* depende muito da heurstica, no entanto, para
todos os casos, este algoritmo bastante dispendioso na memria, visto que tem
de armazenar informao de todos os estados at chegar ao estado nal. Como
tal, em problemas de larga escala so usadas outras variantes deste algoritmo
como o IDA* (Baseado no Aprofundamento Progressivo, mas com custo mximo
em vez de profundidade limite).
CAPTULO 2.
2.5
20
Pesquisa Adversarial
Nos casos apresentados anteriormente, o nosso objectivo era apenas ter o melhor
valor possvel, sem qualquer entrave, no entanto, isso nem sempre se aplica
realidade.
Em casos de competio poderemos ter um adversrio que nos quer dicultar
a vida (ou, pelo menos, conseguir o melhor valor possvel para ele).
Nestes
2.5.1 Minimax
O algoritmo utilizado para resolver este problema o minimax (ou uma das
variantes deste).
Em teoria, este algoritmo funciona da seguinte forma: A cada um dos estados
nais associa-se um valor (por exemplo, 1=Vitria, 0=Empate, -1=Derrota),
que depois propagado para os estados predecessores tendo em conta as possveis jogadas do adversrio de forma a saber a que valor um estado nos pode
levar. Isto funciona muito bem para jogos curtos, como o jogo do galo.
No entanto, para jogos com um espao de estados muito maior (que o
caso mais comum), isto torna-se impossvel, sendo que necessria uma funo
heurstica para associar valores a estados intermdios, havendo assim uma profundidade limite.
Para simular o nosso comportamento e o do adversrio, este algoritmo associa um tipo cada nvel da rvore de pesquisa (que representa o turno de um
jogador):
escolhido tendo em conta esta funo, como pode ser visto na gura 2.8.
O funcionamento do algoritmo o seguinte (iniciando na raiz do n):
1. Se a profundidade limite tiver sido atingida (ou for um estado nal), o
valor do n calculado atravs da heurstica;
2. Se o nvel for maximizador, aplica-se o minimax a cada um dos seus sucessores e o valor do n passa a ser o maior valor dos sucessores;
3. Se o nvel for minimizador, aplica-se o minimax a cada um dos seus sucessores e o valor do n passa a ser o menor valor dos sucessores;
Anlise do Algoritmo
Sendo:
CAPTULO 2.
21
Jogador (Max):
MAX
Adversrio (Min):
-1
MIN
-1
Neste exemplo, o jogador apenas pode empatar, sendo que o jogo decorrer da
seguinte maneira:
Se o adversrio jogar para a esquerda perde (1), logo joga para a direita,
para garantir o empate.
l - profundidade limite
O(rl )
e complexidade espacial
O(r l).
356 = 1.838.265.625
iteraes.
optimizado.
respectivamente):
CAPTULO 2.
22
Jogador (Max):
MAX
Adversrio (Min):
-1
MIN
-1
Neste caso, o jogador v o que acontece se jogar para a esquerda, e conclui que
dessa jogada consegue tirar um empate.
Depois o jogador v o que acontece se jogar para a direita e, logo no primeiro
teste, conclui que esta jogada s pode levar a uma derrota (visto que, se o
adversrio consegue vencer, vai ignorar outras jogadas que sejam piores para
ele). Sendo assim como o jogador j sabe que consegue um empate, no precisa
de testar mais jogadas.
Figura 2.9: Exemplo do Algoritmo Minimax com cortes Alpha-Beta
Anlise do Algoritmo
Sendo:
CAPTULO 2.
23
l - profundidade limite
Esta optimizao faz com que, em teoria, a complexidade temporal passe para
l
O(r 2 )
O( rl
2 ).
No entanto, h que ter em conta que isto depende muito da ordem com que
os estados forem pesquisados, sendo que, na realidade, a complexidade pode ser
muito maior ou muito menor que a prevista teoricamente.
Uma das optimizao que pode ser feita a este mtodo a chamada killer
heuristic, que consiste em ordenar (ou, pelo menos, tentar ordenar) os ns
da rvore de pesquisa por ordem crescente nos nveis maximizantes e ordem
decrescente nos nveis maximizantes.
2.5.3 Negamax
O algoritmo negamax muito semelhante ao minimax, tendo apenas a diferena
que, em vez de separar cada nvel entre maximizante e minimizante, trata todos
os nveis como maximizantes. No entanto, entre cada nvel, inverte o sinal dos
valores.
Isto s uma questo de implementao, para permitir que o algoritmo
funcione sem ter de saber em que nvel est, no tendo praticamente nenhuma
inuncia no desempenho.
2.6
Mtodo da Decomposio
CAPTULO 2.
A
B
C
X
X
Estados da Base de Dados:
ABC
BCBX
BXB
BB
Figura 2.10: Exemplo do Mtodo da Decomposio
24
CAPTULO 2.
25
deste que permita passar novos valores de f para outros processos e revisitar
ns.
2.7
Satisfao de Restries
Alguns problemas so baseados num conjunto de restries, pelo que deixa de ser
suciente ver os estados como uma caixa negra, da qual apenas era associado
um valor graas a uma funo heurstica, passando agora a ser necessrio que
o nosso algoritmo de pesquisa consiga saber realmente o que representa cada
estado e os seus valores internos.
Um conjunto de variveis V;
CAPTULO 2.
26
Exemplo
Problema da Cor dos Pases:
Temos 6 pases: Portugal (POR), Espanha (ESP), Frana (FRA), Alemanha
(DEU), Suia(CHE) e Itlia (ITA). Todos os pases precisam de ser coloridos
num mapa, sendo que cada pas tem de ser colorido de uma cor diferente dos
seus vizinhos. Para alm disso, cada pas s pode ser colorido com as cores da
sua bandeira.
As fronteiras so as seguintes:
P OR 6= ESP
P OR 6= ESP
seria
Restries unrias:
Restries binrias: Estas restries relacionam duas variveis (por exemplo, Portugal quer a mesma cor que a Frana);
Restrio global:
CAPTULO 2.
linha so diferentes).
27
Captulo 3
Representao do
Conhecimento
A Inteligncia Articial encontra-se directamente relacionada tanto com a Engenharia do Conhecimento como com as Cincias da Cognio. Para obtermos
agentes inteligentes necessrio compreendermos o que o conhecimento, como
o podemos representar e como possvel manipula-lo.
O deso, neste caso, encontra-se em arranjar uma representao simblica
para os conhecimentos do mundo real. Existem vrios tipos de representao
possveis:
Incerta (Denida de forma probabilstica. Permite denir conceitos difusos, como frio ou tarde);
Tendo em conta estas representaes possveis, o conhecimento pode ser representado de duas formas:
Procedimental:
cional;
Tendo o conhecimento bem representado, nos possvel criar agentes baseados
em conhecimento, que possuem uma base de conhecimentos (Knowledge Base)
e agem conforme os dados que faam parte dela.
28
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
29
Assim sendo, um sistema de conhecimento pode ser descrito como uma associao entre Objectos, Atributos e Valores. importante ter em conta que,
dependendo do nosso sistema, alguns atributos de um objecto podem possuir
vrios valores.
3.1
Lgica Formal
Uma ou mais proposies podem criar uma nova proposio (frase complexa) atravs de operadores lgicos;
- Negao de a
ab
ab
a;
a+b
ab
ou
- ou a ou b (ou exclusivo)
ab
a 6= b;
- a e b
por vezes representado como
ab
ou
- a ou b (ou inclusivo)
por vezes representado como
a b, a b
- a implica b;
a b;
ou
a&b;
CAPTULO 3.
ab
REPRESENTAO DO CONHECIMENTO
30
- a igual a b;
a b, a = b
ou
a b;
Com estes operadores possvel inferir novos factos a partir da base de conhecimentos.
A lgica de
primeira ordem permite a existncia de relaes, que por sua vez levam existncia de funes e objectos.
relaca
o(predicado1, predicado2...).
novos operadores:
x R(x)
x R(x)
x R(x) S(x),
3.2
Redes Associativas/Semnticas
Por vezes o nosso problema pode ter diversos termos que esto associados entre si por diferentes tipos de relaes.
associativas.
Estas redes no so mais que um grafo dirigido em que cada n representa
um termo ou objecto e cada aresta (devidamente etiquetada) representa a relao entre eles. No entanto, mesmo sendo um modelo to simples, estas redes
permitem representar modelos bastante complexos, representando categorias e
objectos de uma forma muito prxima do conhecimento natural, como pode ser
visto na gura 3.1.
Para alm de ser uma representao poderosa, tambm mais perceptvel
que a lgica de primeira ordem.
Por m, tambm uma representao bastante semelhante ao paradigma
de programao orientada a objectos, o que pode facilitar a sua implementao
nalguns casos.
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
31
Avio
um
Boeing 777
Produtor
Modelo
Boeing
Concorre com
um
Embraer
um
Produtor
de Avies
Concorre com
777
Concorre com
um
Airbus
3.3
Produes
3.4
Frames (Enquadramento)
CAPTULO 3.
32
REPRESENTAO DO CONHECIMENTO
Para alm
disso, embora de uma forma talvez no to intuitiva como nas redes associativas,
este mtodo tambm possui herana (por exemplo, um frame pode possuir um
atributo pai, cujo valor seja um objecto do qual so herdadas propriedades).
Exemplo
Supondo o seguinte frame para representar um animal:
Animal:
Boxer = {Raa,Co,Boxer,NULL}
3.5
Como
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
33
alto(P essoa) =
altura(P essoa)1.65m
1.85m1.65m
Ou seja, temos aqui uma funo muito simples para denir se uma pessoa
ou no alta (poderamos ter, no entanto, uma funo com um crescimento
muito mais suave ou que dependesse de outros aspectos, como a idade).
H que ter ateno que os operadores usados na lgica proposicional necessitam de ser adaptados para a lgica difusa:
a=1a
a b = min(a, b)
a b = max(a, b)
De notar que estes operadores continuam a funcionar com valores binrios, tornando a lgica difusa numa generalizao da lgica proposicional.
3.5.1.1 Desfusicao
Tendo a nossa informao devidamente agrupada em conjuntos difusos, necessrio
desfusic-la para no perdermos informao.
Supondo que temos um visor (a 1.70m do cho) que se deve ajustar altura
de um utilizador, com os seguintes conjuntos de pertena:
alto(P essoa) =
altura(P essoa)1.65m
1.85m1.65m
CAPTULO 3.
34
REPRESENTAO DO CONHECIMENTO
m
edio(P essoa) =
1.80altura(P essoa)
1.80m1.70m
altura(P essoa)1.60m
1.70m1.60m
1
altura(P essoa) < 1.55m
E as seguintes regras:
Se alto
Se mdio
Se baixo
mantm visor;
desce o visor 15cm;
Para cada uma destas reas i, calcular a sua rea (Ai) e o seu centro
({Xi,Yi});
P
At = i Ai
n
P
XiAi
Xc = i At
,Y c =
Y iAi
At
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
35
0
1m
2.5m
Figura 3.2: Exemplo de reas de pertena de conjuntos difusos
Infelizmente, muitas vezes as funes no so to simples como as aqui apresentadas (por exemplo, o grau de pertena a um conjunto pode seguir uma
distribuio normal), sendo que passa a ser necessrio, para esses conjuntos,
calcular o centroide atravs de integrao.
n
C = Xc =
1
A
x1
x0
x f (x) dx, Y c =
1
A
x1
x0
f (x)2
2
o
x
dx com A = x01 f (x) dx.
P (XY )
P (Y )
A partir deste teorema, possvel fazer algo muito til: Sabendo a proba-
P (X|Y ) =
P (C E) = P (C|E) P (E)
P (E C) = P (E|C) P (C)
P (C E) = P (E C)
P (E|C)P (C)
P (C|E)P (E)
e P (E|C) =
(caso haja mais evidenP (E)
P (C)
P (Y |X,e)P (X|e)
cias, torna-se P (X|Y, e) =
)
P (Y |e)
Sendo assim, basta-nos ter uma probabilidade condicional e duas probabili-
logo
P (C|E) =
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
36
P (Cavidade|Dor de dentes) =
dentes, tendo em conta a frequncia com que esse problema ocorre, mas e a
probabilidade de ter dor de dentes?
Outra forma de realizar este calculo a seguinte, tendo em conta que a soma
de uma probabilidade com o seu inverso sempre 1, podemos usar um factor
de normalizao:
1
P (Dor de dentes|Cavidade)P (Cavidade)+P (Dor de dentes|Cavidade)P (Cavidade)
Embora isto possa funcionar bem para casos pequenos como estes, este
mtodo no escala, sendo que, para problemas com vrios factos, necessrio
ter em conta a independncia destes.
Na teoria de probabilidades, A independente de B se e s se
P (A) = P (A|B)
P (B) = P (B|A).
Tendo isto em conta, somos agora capazes de compreender os principais
mtodos de lgica difusa.
1 F C(A, E) 1,
0 M B(A, E) 1 e 0 M D(A, E) 1, no
M B(A, E) > 0 M D(A, E) = 0 e M D(A, E) > 0 M B(A, E) = 0,
F C(A, E) =
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
37
C, B C ):
M B(A B, C) =
M D(A B, C) =
o factor de crena
H um encadeamento de regras (A
B C ):
M B 0 (A, B) M B(B),
a B
Exemplicando, se nos for dito que Se amanh chover, o cho vai
estar molhado com FC=0.9 e sabe-se que amanh vai chover com
FC=0.3, ento:
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
38
Exemplo
Um fabricante de automveis deseja criar um sistema de diagnstico automtico,
sendo que, recebendo um input de um utilizador (com um determinado factor
de certeza associado), retorna qual o problema mais provvel.
As regras so as seguintes:
Motor Funciona
Luzes Fracas
Motor Funciona
Bateria Fraca
Bateria Fraca
Bateria
Bateria
Cheiro a Gasolina
M (FC=1.0)
M (FC=0.8)
Motor
Encharcado (FC=0.8)
(Obviamente que um sistema real seria muito mais complexo, no entanto, precisamos de um caso que possa ser rapidamente analisado)
O utilizador sabe que o motor funciona (FC=0.9), no sabe bem o estado da
bateria, mas presume que pode estar fraca (FC=0.2), as luzes parecem estar mais
fracas que o normal (FC=0.5) e h um leve cheiro a gasolina no ar (FC=0.6),
com que certeza o problema a bateria estar m e o motor estar encharcado?
Para simplicao, vamos considerar as variveis:
MF - Motor Funciona
BF - Bateria Fraca
BM - Bateria M
LF - Luzes Fracas
CG - Cheiro a Gasolina
ME - Motor Encharcado
M B(M F ) = 0.9
2.
M B(BF ) = 0.2
3.
M B(LF ) = 0.5
4.
M B(CG) = 0.6
5.
M B 0 (BM, M F BF ) = 1.0
6.
M B 0 (BM, LF BF ) = 0.8
7.
M B 0 (M E, M F CG) = 0.8
CAPTULO 3.
39
REPRESENTAO DO CONHECIMENTO
Continuao do Exemplo
Tentando ento resolver o problema com as regras indicadas acima:
1.
2.
3.
4.
5.
6.
passo
4)
BM2,
(dado
pelo
passo
5),
podi-
M B(BM, BM 1 BM 2) =
max(M B(BM, BM 1), M B(BM, BM 2)) = 0.2.
amos
considerar
este
passo
como
7.
8.
9.
10.
11.
H sobreposio de condies:
*
*
*
CAPTULO 3.
40
REPRESENTAO DO CONHECIMENTO
*
*
Mais uma vez, isto no faz muito sentido, pois a chuva no inuencia
o sistema de rega
P (CJ|P E I)),
I|C)
0 Crenca(S) 1
P lausibilidade(S) = 1 Crenca(S)
Onde a Crena(S) representa a nossa crena numa proposio S e Plausibilidade(S) representa o valor mximo a que essa conana pode chegar adicionando
mais evidncias.
primeira vista, estas formulas no fazem grande sentido, pois a nossa
intuio pode-nos levar a pensar que
Crenca(S) + Crenca(S) = 1,
no entanto,
isso no verdade neste modelo, como pode ser visto mais frente.
Assim, ao contrrio dos outros modelos, esta teoria permite-nos distinguir
entre incerteza e ignorncia. O que estamos a calcular deixa de ser apenas a
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
41
Cu Nublado
P(C|CN)=0.7
Chuva
P(PE|C)=0.6
Piso Escorregadio
P(I|C)=0.1
Inundao
P(CJ|PE)=0.3
P(CJ|I)=1.0
Cancelar Jogo
Considere-se um grupo de amigos que quer reservar um pavilho para jogar
futsal.
O pavilho um bocado antigo, por isso nos dias de chuva o piso costuma car
escorregadio, e s vezes ocorrem mesmo inundaes.
Caso haja uma inundao, so obrigados a cancelar o jogo, caso o piso s esteja
escorregadio, o mais certo jogarem, embora tambm o possam decidir cancelar.
Com esta rede, sabendo a probabilidade de o cu estar nublado num determinado
dia, possvel calcular a possibilidade de o jogo ser ou no cancelado.
Figura 3.3: Exemplo de uma rede de Bayes
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
42
Exemplo
Pessoa
N de Carros
Entre 3 e 5 carros?
1 ou 2
No
No
Sim
4 ou 5
5 ou 6
No
Crenca(S) = 15
Crenca(S) = 35
P lausibilidade(S) = 1
3
2
5 = 5
Ou seja, por mais evidncias que usemos, a nossa crena nunca ser superior a
2/5.
A teoria de Dempster-Shaer , normalmente, implementada da seguinte
maneira:
possveis (sendo estas mutuamente exclusivas). Este conjunto vai representar o desconhecido at ao momento;
Por exemplo,
Sendo
assim, a plausibilidade pode ser calculada atravs de P lausibilidade(X) =
P
/ m(Y ), ou seja, a crena em todos os conjuntos (incluindo o
Y |Y X6=O
desconhecido) que no anulem X.
Por exemplo,
Inicialmente,
m() = 1,
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
XY =Z
m1(X)m2(Y ):
43
m1(X)m2(Y )
1K
XY =Z
* K=
/
XY =O
m1(X)m2(Y ):
vazias dos conjuntos X e Y, o valor das suas multiplicao (utilizado para normalizar os valores);
ou seja, obtem-se
m1, 2(Z)
m1(X)m2(Y )
seces vazias.
De notar que, quando no h interseces vazias (ou seja, no h ignorncia), a
teoria de Dempster-Shaer equivalente ao modelo dos factores de certeza.
Posto desta maneira, a teoria pode parecer bastante confusa, por isso vamos
a mais um exemplo prtico:
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
44
Exemplo
Considerando o conjunto
Febre (m1)
m1({G, C, P }) = 0.6
m1() = 0.4
m1({G, C, P })
m1()
m2({A, G, C})
{G, C, P } {A, G, C}
{A, G, C}
m2()
{G, C, P }
Fazendo as contas:
m1({G, C, P }) = 0.6
m1() = 0.4
m2() = 0.2
{G, C, P } = 0.12
= 0.08
CAPTULO 3.
REPRESENTAO DO CONHECIMENTO
45
Continuao do Exemplo
Suponha-se agora que os sintomas desapareceram depois de o paciente viajar, o
que leva a uma nova evidncia:
Viajar (m4)
m4({A}) = 0.9
m4() = 0.1
Aplicando este novo conhecimento a m3, resulta (esta tabela apresentar directamente os resultados para poupar espao):
{G, C}
{G, C, P }
{A, G, C}
{A}
/ = 0.432
O
/ = 0.108
O
{A} = 0.288
{A} = 0.072
{G, C} = 0.048
{G, C, P } = 0.012
{A, G, C} = 0.032
= 0.008
m5({A}) =
0.288+0.072
0.46
m5({G, C}) =
0.048
0.46
= 0.78
= 0.10
m5({G, C, P }) =
0.012
0.46
= 0.03
m5({A, G, C}) =
0.032
0.46
= 0.07
m5() =
0.008
0.46
= 0.02
Crenca({A}) = 0.78
Crenca({A}) = 0.1 + 0.03 = 0.13
P lausibilidade({A}) = 1 0.13 = 0.87
Captulo 4
Sistemas Periciais
Agora que j temos a capacidade de representar o conhecimento, importante
saber como us-lo. Os sistemas periciais so os sistemas baseados em conhecimento mais tpicos, constituindo algumas das aplicaes mais conhecidas e mais
prticas da inteligncia articial.
Mas antes de mais, o que um sistema pericial? Um sistema pericial um
sistema computacional que incorpora o conhecimento simblico de um ou mais
especialistas em um ou mais domnios, podendo depois emular (ou assistir) os
especialistas. Estes sistemas normalmente possuem os seguintes mdulos:
Heursticas;
No entanto, h que ter ateno para no confundir sistemas periciais com aplicaes que apenas efectuam clculo numrico ou programas que apenas tratam
grandes quantidades de dados. Essas aplicaes no possuem muitos dos mdulos referidos em cima, como a capacidade de evoluo. importante saber
quando utilizar um tipo de sistema ou outro:
Se a complexidade do tratamento de informao for maior que a quantidade de dados, utilizar sistemas periciais;
CAPTULO 4.
SISTEMAS PERICIAIS
47
4.1
Motor de Inferncia
O motor de inferncia de um sistema pericial tem de ser capaz de, tendo uma
base de conhecimentos com conjunto de regras (com premissas e concluses que
se podem retirar) e factos (que podem ter uma incerteza associada), inferir novos
factos (eventualmente com uma nova incerteza associada). Para alm dos factos
da base de conhecimentos e os factos induzidos, o motor de inferncia pode, se
achar necessrio, perguntar novos factos ao utilizador.
A inferncia pode ser feita de duas maneiras:
4.2
Explicabilidade
Isto
muito importante, pois um especialista que esteja a ser auxiliado por um destes
sistemas pode duvidar da origem de um resultado, podendo pretender analisar
o raciocnio do sistema para saber se algo est errado ou no.
Existem 2 tipos de explicaes:
Porqu?
Como?
CAPTULO 4.
4.3
SISTEMAS PERICIAIS
48
Aprendizagem
4.4
Meta-Conhecimento
Quais so os conceitos?
Quais so as regras?
CAPTULO 4.
4.5
SISTEMAS PERICIAIS
49
Shells
Motor de Inferncia;
Tratamento de regras;
tipo Como?);
Captulo 5
Linguagem Natural
Como foi falado anteriormente, num sistema pericial importante haver alguma
forma de um especialista comunicar com a mquina, sendo que quanto mais
natural for esta comunicao, mais facilidade o especialista tem em exprimir-se,
havendo menor perda de informao.
No s nos sistemas periciais, como tambm noutros campos da inteligncia articial, importante haver um sistema que seja capaz de compreender a linguagem natural humana, permitindo-nos assim transmitir informao
Humano M a
quina e/ou M a
quina Humano, sendo capaz de compreender
frases e textos.
As aplicaes do processamento da linguagem natural so as mais variadas,
por exemplo:
Sistemas periciais;
Aproximao estatstica:
Exemplo 1: Analisar todos os textos de Shakespeare e anotar a probabilidade de depois da palavra A aparecer a palavra X ou mesmo de
depois de aparecer a sequncia A, B e C aparecer a palavra Y. Com
isto possvel classicar um texto como sendo ou no de Shakespeare
com um determinado factor de certeza.
50
CAPTULO 5.
LINGUAGEM NATURAL
51
O exemplo 1 no tem grande interesse prtico (at porque no capaz de analisar o contexto dos textos, podendo assumir muitas coisas
erradamente), embora possa vir a ter as suas utilidades, nomeadamente, sabendo quais as palavras mais provveis de se seguir a outras em determinada linguagem, possvel decifrar palavras-chave
baseadas em frases (normalmente longas, sendo o brute-force normal impraticvel), passando-se a fazer um brute-force por palavra e
no por letra.
Aproximao lingustica:
5.1
Representao
Compreenso profunda (analisa tanto a frase como o seu contexto, suportando frases ambguas);
No nal, cada pessoa deve dizer se acha que estava a falar com uma
mquina ou com outra pessoa;
CAPTULO 5.
LINGUAGEM NATURAL
52
Anlise Supercial:
Semntica Restrita:
Compreenso Profunda:
Como se pode ver pelo exemplo, a anlise supercial apenas tem a informao
que vem da frase anterior, tentando fazer de conta que possui conhecimento.
Pode conseguir essa iluso ao fazer perguntas, mas perde-se completamente
quando tem de responder a algo.
No exemplo da semntica restrita, o nosso sistema j possui algum conhecimento, mas tem problemas com ambiguidades. J um modelo mais realista,
mas continua a ser fcil de detectar que uma mquina. de notar, no entanto,
que dependendo da implementao deste comportamento, ele tambm poderia
responder correctamente pergunta (visto que possui um estado interno) ou
simplesmente responder No sei a quem se refere com 'dele'., obrigando o
humano a reformular a pergunta.
Com a compreenso profunda a conversa j se torna muito mais prxima de
uma conversa natural.
CAPTULO 5.
5.2
LINGUAGEM NATURAL
53
Usando a aproximao lingustica para o processamento de linguagem natural, esta encontra-se dividida em 3 fases: Anlise Lexical, Anlise Sintctica e
Anlise Semntica. Para quem j tiver tido aulas de Compiladores ou semelhantes, j devem ter alguma ideia de como que isto vai funcionar.
Nomes;
Pronomes;
Adjectivos;
Artigos;
Proposies;
Conjunes;
CAPTULO 5.
54
LINGUAGEM NATURAL
ConjuntoAdjectivos Adjectivo|Adv
erbio Adjectivo
SintagmaV erbal V erbo|V erbo SintagmaN ominal
Artigo a|o
N ome joao|pedro|maria|bola
Adv
erbio muito
Adjectivo grande|pequena
V erbo corre|chuta
(Antes de mais, como pode ser visto, na representao BNF, uma regras
com vrias produes possveis pode ser representada de duas formas: ou atravs
de vrias regras com o mesmo nome, ou atravs do operador |)
Com esta gramtica, j conseguimos validar frases como:o grande pedro
chuta a muito pequena bola ou a maria corre, como pode ser visto na gura
5.1.
No entanto este tipo de gramticas possuem alguns problemas:
o que
bastante simples.
A soluo
para isto seria no considerar as cores nem um nome nem um adjectivo, mas um grupo parte, alterando radicalmente a gramtica e
aumentando em muito a sua complexidade.
Aceita frases como os maria corre o bola, que no fazem sentido pois no
h concordncia de gnero/nmero:
CAPTULO 5.
LINGUAGEM NATURAL
55
Frase
SintagmaNominal
SintagmaVerbal
Artigo SintagmaNominal1
Nome
Verbo
corre
maria
Figura 5.1: Exemplo da decomposio da frase a maria corre
Quest
ao Quest
aoP ropriedade|Quest
aoM embroT ripulaca
o
Quest
aoP ropriadade qual e P ropriedade do N avio ?
Quest
aoM embroT ripulaca
o quem e M embro do N avio ?
P ropriedade o tamanho|a tonelagem|a idade...
M embro o capit
ao|a capti
a|o dono...
N avio gil eanes...
Estes modelos so bons por duas razes:
CAPTULO 5.
LINGUAGEM NATURAL
56
chutar(Agente(pedro), Objecto(bola))
Sendo assim, a representao de ambas as rvores torna-se idntica, o que
muito mais agradvel de processar.
Num exemplo mais complexo, como A Liliana cozinhou a galinha durante
30 minutos o resultado deveria ser algo do gnero:
Cada funo receba argumentos extra (como gnero e nmero) deve tambm retornar esses argumentos;
Um exemplo em pseudo-cdigo:
CAPTULO 5.
LINGUAGEM NATURAL
57
Exemplo
Nota: Considera-se que a lista de tokens global.
sintagma_nominal() {
Token t=TokenList.nextToken();
Genero g=NULL;Numero n=NULL;
if (t.type==ARTIGO) {
g=t.genero;n=t.numero;
t=TokenList.nextToken();
if (t.type==NOME && t.genero==g && t.numero==n) {
// Retorna verdadeiro
}
else {
// Retorna falso ou lana uma excepo
}
}
// Retorna falso ou lana uma excepo
}
Esta implementao pode ser um bocado estranha, sendo que pode ajudar
a ver uma implementao em Prolog, onde se evita o problema de ter de argumentos desconhecidos devido natureza da linguagem:
Exemplo
Nota:
>
Exemplo
5.2.6 Quanticao
No entanto, estas gramticas continuam sem resolver todos os problemas, nomeadamente os problemas de quanticao. Suponha-se a seguinte frase: Todas as
CAPTULO 5.
58
LINGUAGEM NATURAL
P essoas b
Barcos V e(p, b)
Barcos : p
P essoas V e(p, b)
A soluo para este problema passa normalmente por criar representaes intermdias quase lgicas entre a anlise sintctica e a anlise semntica, usando
regras de preferncia sobre os quanticadores.
por exemplo a pergunta Quais os oceanos que banham pelo menos 3 pases eu-
ropeus? torna-se em
Operadores lgicos;
Operadores de comparao;
Operadores matemticos;
etc.
existe(X, D A)
CAPTULO 5.
59
LINGUAGEM NATURAL
qualquer = not(existe(X, D
not(A)))
Por exemplo, na frase Algum professor portugus:
D=professor(X)
A=portugus(X)
Resultado:
Captulo 6
Aprendizagem Simblica
Automtica
A aprendizagem humana algo muito complexo, sendo que no se trata de um
processo de aprendizagem s, divide-se em vrios tipos de aprendizagem, sendo
normalmente dividida em dois tipos:
6.1
Rote Learning:
60
CAPTULO 6.
61
Um agente exterior, de alguma forma (directamente ou indirectamente utilizvel pelo sistema), fornece um conselho.
O sistema
rvores de Deciso;
Gramticas Formais;
Regras de Produo;
Grafos e Redes;
CAPTULO 6.
6.2
62
Para implementar a nossa aprendizagem dedutiva/indutiva por mtodos baseados em explicaes, vamos utilizar uma estratgia de aprendizagem por exemplos, ou seja, dando um conjunto de exemplos positivos ao nosso sistema de
um determinado conceito, este deve ser capaz de deduzir/induzir um conceito
genrico denido pela Teoria do Domnio que englobe os exemplos.
Existem 3 mtodos para isto:
CAPTULO 6.
63
W P (E) = C(E).
CAPTULO 6.
64
Exemplo
Comeando com a nossa teoria de domnio inicial sobre o conceito Chvena:
Regra Chvena
superfcie
n
ao porosa(Obj)
superfcie(Obj, Sup)
f eito de(Sup, M aterial) n
ao poroso(M aterial)
f undo
n
ao
poroso(Obj)
f undo(Obj, F undo)
f eito de(F undo, M aterial) n
ao poroso(M aterial)
Regra Estvel
Regra Elevavel
Regra Acessvel
acessvel(Obj)
Regra Leve
superfcie(Obj, Sup)
f eito de(Sup, M aterial) material leve(M aterial)
f undo
leve(Obj)
f undo(Obj, F undo)
f eito de(F undo, M aterial) material leve(M aterial)
apanhavel(Obj)
f eito
de(Sup, M aterial)
isolante t
ermico(M aterial)
Sendo:
nao
poroso(pl
astico)
n
ao
poroso(aluminio)
n
ao
poroso(porcelana) material
leve(plastico)
material
leve(porcelana) material
leve(aluminio)
isolante t
ermico(plastico) isolante t
ermico(porcelana)
CAPTULO 6.
65
Continuao do Exemplo
O nosso conceito genrico , ento, o seguinte:
Chvena
Capaz de
conter lquido
Estvel
Elevavel
Apanhvel
Cilindrico
Acessvel
Leve
Asa
Chvena
Capaz de
conter lquido
Estvel
Elevavel
Apanhvel
Acessvel
Leve
Cilindrico
Sendo as pr-condies mais fracas de c1 obtidos pela conjuno dos literais das
folhas:
Regra Elevvel:pequeno(Obj)material
f eito de(S, M s)
n
ao poroso(M s) f undo(Obj, F ) f eito de(F, M f ) n
ao poroso(M f )
plano(F )
leve(M s)materia leve(M f )
cilindrico(S) isolante t
ermico(M s)
Regra Acessvel:tem(O, P 1)
CAPTULO 6.
66
Como pode ser visto pelo exemplo, esta implementao tem bastantes problemas, visto que s tem em conta um exemplo, o que nos leva ao prximo
mtodo:
vi
ci
Uma substituio
encontra-se vazio:
cj
cj passa
cvei
vi
em cada
(sendo e o exemplo);
cvei
cvei
igual, a generalizao
CAPTULO 6.
67
Exemplo
Atributo
Resultado
Forma
esfrica
esfrica
esfrica
Material
couro
madeira
Mat
Tamanho
mdio
pequeno
Tam
Exterior
leve
pesado
Peso
Interior
leve
pesado
Peso
Assim, o nosso novo conceito Bola esfrica com um exterior igual ao interior.
6.3
Aprendizagem Indutiva
E(C|A) =
h P
i
N
p(a
)
p(c
|a
)
log
(p(c
|a
))
j
i
j
2
i
j
j=1
i=1
PM
Sendo:
aj
ci
CAPTULO 6.
68
(a) Se s for possvel chegar a uma concluso, essa concluso uma folha
da rvore.
(b) Se for possvel chegar a vrias concluses, repete-se o algoritmo com
o sub-conjunto de dados referente a esse valor e unem-se as duas
rvores.
Apresentando um exemplo:
Exemplo
Taxa Juro
Disp. Monet.
Tenso
Valor
Circ. Interno
Alta
Alta
Mdia
Mdio
Circ. Interno
Baixa
Alta
Mdia
Alto
Circ. Interno
Mdia
Baixa
Alta
Baixo
Mina
Alta
Alta
Mdia
Alto
Mina
Baixa
Alta
Mdia
Mdio
Mina
Mdia
Baixa
Alta
Mdio
Construo
Alta
Alta
Mdia
Baixo
Construo
Baixa
Alta
Mdia
Alto
Construo
Mdia
Baixa
Alta
Baixo
CAPTULO 6.
69
Continuao do Exemplo
Considerando que efectuamos a diviso na taxa de juro.
Se a taxa de juro for alta, os valores possveis para o valor do fundo so:
{Alto,Mdio,Baixo}
Se a taxa de juro for mdia, os valores possveis para o valor do fundo so:
{Mdio,Baixo}
Se a taxa de juro for baixa, os valores possveis para o valor do fundo so:
{Alto,Mdio}
Como tal, nenhum dos casos se torna numa folha da nossa rvore, sendo que
temos de repetir o algoritmo para as seguintes tabelas:
Disp. Monet.
Tenso
Valor
Circ. Interno
Alta
Mdia
Mdio
Mina
Alta
Mdia
Alto
Construo
Alta
Mdia
Baixo
Tipo de Fundo
Disp. Monet.
Tenso
Valor
Circ. Interno
Baixa
Alta
Baixo
Mina
Baixa
Alta
Mdio
Construo
Baixa
Alta
Baixo
Tipo de Fundo
Tipo de Fundo
Taxa Juro
Disp. Monet.
Tenso
Valor
Circ. Interno
Baixa
Alta
Mdia
Alto
Mina
Baixa
Alta
Mdia
Mdio
Construo
Baixa
Alta
Mdia
Alto
Em todos os casos, o valor da entropia do tipo de fundo vai ser 0 (os clculos
foram omitidos por simplicao, mas isto poderia ser visto a olho pelo facto
de, em cada tabela, sabendo o tipo de fundo possvel saber o valor).
Assim sendo, a nossa rvore de deciso seria a seguinte:
V alor = M edio
C.I.
Alta
T
ipo
de
F
undo
M
ina
V
alor = Alto
V alor = Baixo
C.I.
T axa de Juro M edia T ipo de F undo M ina V alor = M edio
V alor = Alto
C.I
Construca
o V alor = Baixo
CAPTULO 6.
70
6.3.2 C4.5
O algoritmo C4.5 uma evoluo do ID3, que, para alm das funcionalidades
do ID3, tambm nos permite trabalhar com valores contnuos e desconhecidos,
assim como permite podar as rvores de deciso, visto que o ID3 por vezes pode
retornar rvores enormes. Para alm disso, o ID3 apenas nos permite chegar
a uma concluso nal, quando por vezes pode ser desejado retirar concluses
intermdias.
Para j, vamos considerar que j temos um algoritmo que nos permite pegar
num conjunto de valores contnuos e, tendo em conta o seu domnio e frequncia,
classic-los de forma discreta (pouco, mdio, muito...).
SC C .
Para alm disso, em vez de ser usada a entropia, usada a razo de ganho
de informao de um atributo A, sendo que precisamos das seguintes frmulas:
RG(C|A) =
G(C|A)
Inf oSeparaca
o(A)
G(C|A) = f c(A)
Informao:inf o(C)
PM
j=1
h P
i
N
p(aj ) i=1 p(ci |aj ) log2 (p(ci |aj )) (semelhante
entropia)
PN
conhecidos(A)
conhecidos(A)+desconhecidos(A)
i=0
CAPTULO 6.
71
Poda pessimista:
E+1
N +2 .
Assim, podam-se todas as sub-rvores cuja poda no aumente signicativamente o erro previsvel da rvore.
{v1 , v2 , ..., vm },
mas possveis de dividir estes valores em dois grupos, divididos nos pontos m-
vi +v(i+1)
, se os valores estiverem ordenados).
2
Sendo assim, a diviso feita da seguinte forma:
dios (
Captulo 7
Redes Neuronais
Redes Neuronais so redes massivamente paralelas, constitudas
por elementos simples interligados (usualmente adaptativos), interagindo com o mundo real, tentando simular o que o sistema nervoso
biolgico faz. - Kohonen, 1987
No conexionismo (onde se encaixam as redes neuronais) ao contrrio de na
Inteligncia Articial clssica, o conhecimento deixa de ser representado sob
a forma de expresses declarativas, sendo estas substituidas pela estrutura e
activaes de estados numa rede. Passamos agora a ter uma enorme capacidade
de paralelismo e processamento distribuido, com a capacidade de transformar
um processador num conjunto (ou at, em apenas um) de neurnios e interligar
vrios processadores entre si.
As redes neuronais computacionais so uma forma de caracterizar o conexionismo, que implicam:
72
CAPTULO 7.
7.1
73
REDES NEURONAIS
Elemento de Processamento
ei =
PN
j=1
wji sj ,
sendo:
ei - entrada do neurnio i;
N - nmero de neurnios que se ligam a i;
wji - peso da ligao que sai do neurnio j
e se liga ao neurnio
i;
iv.
sj
- sada do neurnio j;
si =
1
(ver gura 7.1).
1+ecei
c ,
a funo con-
1
.
1+eei
ii. Esta uma funo agradvel exactamente por se comportar como
convenincia, vamos usar c=1, tornando apenas
si =
si (1 si )
d
dei si
7.2
CAPTULO 7.
74
REDES NEURONAIS
0.5
0
6
7.3
Lei de Aprendizagem
Sendo as redes neuronais computacionais inspiradas nos trabalhos de neurosiologia, a aprendizagem feita de maneira anloga aprendizagem humana,
ou seja, por alterao dos contactos sinpticos (no nosso caso, alterao do peso
das ligaes entre neurnios).
Esta aprendizagem pode ser tanto por reforo, supervisionada ou no supervisionada.
CAPTULO 7.
75
REDES NEURONAIS
Wij = si sj
O que faz com que o peso entre dois neurnios s aumente se eles estiverem
activos ao mesmo tempo (caso contrrio, o peso mantm-se).
Wij = (2 si 1) (2 sj 1)
Ou seja, isto faz com que, caso as saidas sejam iguais, o peso aumenta, caso
sejam diferentes, o peso diminui (de notar que agora o peso j no se mantm).
Uma propriedade das redes de Hopeld que todas as ligaes so bidireccionais, o que faz com que no sejam redes feedforward.
7.3.2.1 Perceptron
Este um mtodo apenas usado em redes neuronais de camada nica.
Os pesos passam a ser actualizados seguindo:
Wij = K (sj dj ) si
Onde K uma constante e
dj
1
2M
PM PN
k=1
i=1 (ski
dki )2 ,
onde:
CAPTULO 7.
Classe
AND
Classe
OR
Classe
XOR
76
REDES NEURONAIS
Vejamos agora a implementao deste algoritmo (Supondo uma rede com uma
camada de entrada com A nidades, uma camada intermdia com B unidades,
e uma camada de sada com C unidades):
1. Apresenta-se um exemplo E, constituido por valores
ei
P1
(sendo mj as sada do n j da camada de entrada,
1+e i Wij ei
ou seja, as entradas da camada intermdia)
mj =
sk =
1
1+e
j Wjk mj
4. Por m, calcula-se o erro nas unidades de sada, tendo em conta a reposta
certa:
(a) Sendo a derivada parcial da nossa funo de transferncia (sigmoide)
em funo de uma entrada dada por
sk (1 sk ).
(b) Usando a derivada como um peso para ponderar o erro (de forma a
sk se aprxima de 1 ou 0),
sk = sk (1 sk )(dk sk ).
mj = mj (1 mj )
Wjk sk
(b)
Wjk (t) = sk mj
CAPTULO 7.
(c)
77
REDES NEURONAIS
(t) = K (t 1)
i. Sendo K<1 (por exemplo, 0.7) se
sinais oposotos;
ii. Sendo K>1 (por exemplo, 1.2) se
o mesmo sinal;
iii. Quanto mais afastado de 1 for K, mais rpida a aprendizagem,
quanto mais prximo de 1, mais precisa e menos predisposta a
oscilaes a aprendizagem;
A. Uma soluo usar
sendo
0 < < 1.
(b)
Wij (t) = mj ei
(c)
(t) = K (t 1)
8. O algoritmo retorna 1 caso sejam necessrios mais exemplos ou se se pretender diminuir o erro.
Este algoritmo j capaz de tratar exemplos que no so linearmente separveis.
Sendo apresen-
tado um exemplo a uma rede, todas as unidades devem concorrer pelo direito
resposta.
CAPTULO 7.
78
REDES NEURONAIS
cj =
Pn
i=0 (si
mais activa ser aquela que possuir o menor valor de cj .
Calculando para cada unidade de sada:
Wij )2 ,
a unidade