Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila IA
Apostila IA
Apostila
Ouro Preto - MG
Setembro de 2004
Sumrio
1.
Introduo .....................................................................................................................................................................3
1.1.
1.2.
1.3.
1.4.
2.
Caracterizao...............................................................................................................................................................5
2.1.
2.2.
2.3.
3.
3.1.
Espao de Estados.................................................................................................................................... 8
3.1.1.
Representao do Problema em Espao de Estados ............................................................................ 8
3.1.2.
Implementao da Representao do Problema em Espao de Estados............................................ 10
3.1.3.
Mtodos de Busca Cegos em Espao de Estados .............................................................................. 10
3.1.3.1.
Busca em Profundidade ................................................................................................................. 11
3.1.3.2.
Busca em Profundidade Acclica................................................................................................... 12
3.1.3.3.
Busca em Extenso (Largura)........................................................................................................ 12
3.2.
Resoluo de Problemas como Busca por Reduo de Problemas ....................................................... 15
3.3.
Mtodos de Busca Heurstica ................................................................................................................ 16
3.3.1.
Subida da encosta ("Hill-Climbing")............................................................................................. 17
3.3.2.
Subida da encosta para a trilha mais ngreme ("Stepest-Hill-Climbing") ..................................... 18
3.3.3.
Busca pela melhor escolha ("Best-First")...................................................................................... 19
3.3.4.
Tmpera Simulada ("Simulated Annealing") ................................................................................ 25
3.3.5.
Tcnicas Evolutivas ....................................................................................................................... 26
4.
4.1.
4.2.
4.3.
4.4.
5.
5.1.
5.2.
5.3.
5.4.
5.5.
5.6.
5.7.
6.
6.1.
6.2.
6.3.
Ponderaes..........................................................................................................................................................................45
1.
Introduo
O termo Inteligncia Artificial (IA) desperta interesse e muitas expectativas, freqentemente equivocadas. Alm do
termo que um tanto ambicioso, existe muito sensacionalismo sobre IA em revistas, jornais e inclusive em livros. Alguns
exemplos de afirmaes exageradas so:
"O homem vai tentar reproduzir o computador sua imagem". Artigo "A revoluo da IA" (Estado de Minas,
18/11/96).
"O objetivo principal da IA construir uma pessoa, ou mais humildemente, um animal", Charmiak e McDermott.
"Um computador inteligente se possui qualquer uma das habilidades mentais que fazem uma pessoa ser
considerada inteligente" [Araribia88].
Assim, como as expectativas no so realistas, os resultados que so obtidos na rea freqentemente so muito mais
tmidos do que se esperava. Isto gera uma certa de desconfiana por parte de pesquisadores de outras reas e acaba at
prejudicando o desenvolvimento da IA. Entretanto, a IA j desenvolveu muitas tcnicas que so teis nas mais diversas reas:
otimizao, datamining, jogos, traduo automtica, processamento de imagens, interface homem-mquina, etc.
1.1. Objetivos do Curso
No curso alguns tpicos so estudados procurando aprofundar os aspectos importantes, permitindo que o aluno possa dar
continuidade ao estudo da rea e aplicar os conhecimentos adquiridos de forma autnoma. Outros pontos so apresentados sem
carter formativo, mas procurando dar uma viso abrangente da rea e de suas aplicaes.
Ao final do curso o aluno dever dominar diversos pontos da IA clssica e conhecer alguns tpicos avanados em IA. Em
algumas partes do curso, alm do conhecimento terico, so abordados aspectos prticos, fazendo experimentaes e
implementando diversas tcnicas.
1.2.
1975 - 1980
1980 - . . . .
1.3.
Pr-IA
Lisp
Sistemas de Produo (evoluo de sistemas genricos).
Perodo do entusiasmo
Macsyma, Dendral
Perodo das Trevas
Conscientizao das limitaes
Perodo da renascena
Hearsy,
Mycin (ajudava a diagnosticar doenas no sangue, tinha 450
regras e fazia anlise do sangue),
Prospector (fazia prospeco geolgica),
Prolog
Perodo da associao
reas de aplicao
Perodo do empreendimento
Popularizao de SE
Ferramentas e Ambientes
reas de Pesquisa da IA
Redes Neuronais
Sistemas e Linguagens para IA
Arquiteturas Especficas para IA
Processamento de Linguagem Natural
Robtica Inteligente
o Sntese de Voz
o Percepo
o Manipulao
o Planejamento
1.4. Referncias
O contedo desta apostila fortemente baseado na bibliografia bsica do programa da disciplina, CIC250
Inteligncia Artificial, [Rich93] e [Bratko90]. Diversas partes do texto tambm foram baseadas no material de aula do
Prof. Elton Silva.
2.
Caracterizao
Criacionista :
ser inteligente transcende a criao.
Inteligncia ligada ao conceito de alma, esprito.
Capacidade de auto-avaliao, no agir s por instinto.
Evolucionista :
Alma = crebro
A mente seria um efeito complexo das leis que governam as partculas fsicas que compe o crebro.
homem seria apenas um rob biolgico.
Alguns cientistas da computao enfatizam que os computadores so "idiotas" com capacidade de processar informao em
altssima velocidade, seguindo exatamente as "ordens" dos seus programadores.
Russel e Norvig [Russel95] propem uma organizao de diferentes definies de IA variando em duas dimenses
principais e formando quatro categorias como apresentado na Figura 1. A dimenso ocupando o eixo horizontal trata da forma
de funcionamento: humano x mquina (racionalmente). A dimenso no eixo vertical trata da ao: pensar x agir.
Sistemas que pensam como humanos
The exciting new effort to make computers think The study of mental faculties through the use of
... machines with minds, in the full and literal computational models [Charniak85]
sense [Haugeland75]
[The automation of] activities that we associate The study of the computations that make it
with human thinking, activities such as decision- possible to perceive, reason, and act [Winston92]
making, problem solving, learning,
[Bellman78]
Sistemas que agem como humanos
The art of creating machines that perform A field of study that seeks to explain and emulate
functions that require intelligence when performed intelligent behavior in terms of computational
by people [Kurzweil90]
processes [Schalkoff90]
The study of how to make computers do things at The branch of computer science that is concerned
which, at the moment, people are better [Rich91] with the automation of intelligent behavior
[Luger93]
Figura 1
Inteligncia Artificial
lvaro Guarda
forma convencional.
IA
No algortmico
Processamento Simblico
No Determinista
Fcil Modificao
Estrutura
Computao Convencional
Algortmico
Processamento Numrico
Determinista
Difcil Modificao
Estrutura
Dados + Programas
Dados
Estrutura de Controle
Programas
Resultados
Figura 2
Resultados
- IA x Computao Convencional
Trabalhos no Estruturados
COMPUTAO INTELIGENTE
COMPUTAO CONVENCIONAL
Figura 3
Inteligncia Artificial
lvaro Guarda
3.
Resoluo de Problemas
Neste captulo sero estudadas duas abordagens que permitem resolver a maior parte dos problemas:
resoluo utilizando Espao de Estados;
resoluo por Decomposio de Problemas.
A escolha da abordagem depende do problema, como ser visto mais adiante.
Estado
Inicial
Figura 4
Estado
Final
Representao do problema.
C
A
B
Figura 5
situao desejada
seqncia de
movimentos
A
B
C
Neste problema, a modelagem utilizando a abordagem Espao de Estados natural: a situao inicial dos blocos o estado
inicial, a situao desejada o estado final e a seqncia de movimentos uma seqncia de operaes vlidas do conjunto de
operaes de transformao de estados. O conjunto de operaes pode ser formado pelas operaes apresentadas na Figura 6.
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
Figura 6
Uma operao vlida quando ela respeita as restries impostas na definio do problema. As restries de movimentos
no problema proposto so bastante simples: permitido mover apenas um bloco de cada vez, no pode haver outros blocos em
cima do bloco a ser movimentado nem do bloco sobre o qual se quer colocar um bloco em cima. Por exemplo, para aplicar a
operao (2) no poder haver blocos em cima do bloco A nem do bloco B. Desta forma, partindo da situao inicial do
problema apresentado na Figura 5, existe apenas um movimento legal: coloque o bloco C sobre a mesa. Na nova situao, aps
Inteligncia Artificial
lvaro Guarda
o movimento, existem trs movimentos legais possveis: coloque o bloco A sobre a mesa, coloque o bloco A sobre o bloco C
ou coloque o bloco C sobre o bloco A.
Os estados do problema e as operaes de transformao de estados formam um grafo dirigido chamado espao de estados,
onde os nodos so os estados e os arcos so as operaes. Como o mundo dos blocos sobre o qual se est estudando possui um
nmero limitado de elementos, ento a classe de problemas e o espao de estados so finitos, conforme a Figura 7.
C
A
B
B
A
C
A
BC
C
B
A
B
AC
A
BC
C
AB
ABC
B
AC
B
C
A
C
AB
A
C
B
A
B
C
Figura 7 Representao grfica do espao de estados para a classe de problemas em estudo (baseado em
[Bratko2001]). O problema apresentado na Figura 5 est em evidncia: o estado inicial est com linha mais
grossa, o estado final est com linha dupla concntrica e uma soluo possvel o caminho com setas
maiores.
Encontrar uma soluo equivale a achar um caminho no espao de estados que, partindo do estado inicial, chega ao estado
final. A interpretao da soluo no problema do mundo dos blocos uma seqncia de movimentos de blocos, ou seja, um
plano para re-arranjar a pilha de blocos de acordo com a definio do problema.
Resumindo, um problema pode ser descrito formalmente utilizando a abordagem Espao de Estados pelos seguintes
elementos:
1. especificao do espao de estados;
2. definio de um ou mais estados neste espao de estados que descreva situaes de partida do processo de soluo do
problema, so os estados iniciais de uma problema;
3. definio de um ou mais estados que poderiam ser aceitos como soluo do problema, so os estados finais, metas ou
objetivos de um problema e servem para determinar quando se chegou a uma soluo. Isto pode ser feito atravs de
uma condio.
No item (1), o espao de estados pode ser especificado de forma extensiva, contendo todas as possveis configuraes dos
objetos relevantes, conforme a Figura 7, entretanto, normalmente, isto invivel. Assim, a forma usual feita apenas atravs
da definio do conjunto de operaes de transformao de estados (regras do jogo) e o espao de estados fica implcito.
Alguns pontos a serem considerados nesta atividade so:
Que hipteses no declaradas explicitamente esto presentes na descrio no-formal do problema?
Quo geral devem ser as operaes?
Por exemplo, no lugar das nove operaes definidas para o problema da Figura 5 poderia-se definir apenas
duas operaes:
(1) coloque o bloco X sobre a mesa;
(2) coloque o bloco X sobre o bloco Y.
Quanto do trabalho necessrio para resolver o problema deve ser pr-computado e representado nas operaes?
Por exemplo, as restries podem estar representadas explicitamente nas operaes:
(1) se X est no topo de uma pilha ento coloque o bloco X sobre a mesa;
(2) se X e Y esto no topo de pilhas coloque o bloco X sobre o bloco Y.
Inteligncia Artificial
lvaro Guarda
A
B
C
B
AC
B
AC
A
B
C
B
AC
B
AC
B
AC
ABC
...
C
lvaro Guarda
10
intermedirios feita at que se chegue a um estado objetivo. Este processo, medida que vai sendo executado, vai gerando a
rvore de busca. Quando se encontra o estado final o processo interrompido com sucesso. Dependendo do problema, a
soluo pode ser o prprio estado final ou o caminho entre o estado inicial e o estado final. A Figura 10 apresenta uma parte da
rvore de busca para o problema da Figura 5.
C
A
B
(7)
A
BC
(3)
A
BC
B
A
C
ABC
(8)
(1)
C
A
B
ABC
A
BC
C
AB
C
AB
A
BC
A
BC
B
AC
B
AC
B
AC
ABC
A
BC
A
B
C
Inteligncia Artificial
lvaro Guarda
11
A consulta em Prolog tem a sintaxe pesquise(<incio>, <soluo>). A soluo <soluo> uma lista de estados, partindo
do estado <incio> at um dos estados objetivos. Para o problema da Figura 5 a consulta expressa como a seguir:
-? pesquise([c, a, b], [], []], Soluo).
3.1.3.2. Busca em Profundidade Acclica
A implementao abaixo evita ciclos. Entretanto ainda podem existir na rvore de pesquisa ramos infinitos que no
contenham a soluo. Esta situao plausvel em problemas cujo espao de estados infinito.
pesquise(N, Soluo) :- profundidade([], N, Soluo).
profundidade(Caminho, N, [N | Caminho]) :- objetivo(N).
profundidade(Caminho, N, Soluo) :sucessor(N, Naux),
not(member(Naux, Caminho)),
profundidade([N | Caminho, Naux, Soluo).
3.1.3.3. Busca em Extenso (Largura)
Todos os nodos de um nvel da rvore so examinados antes dos nodos do nvel seguinte. A estrutura de dados associada
uma fila, pois deve visitar primeiro os nodos mais antigos, ou seja, aqueles mais prximos da raiz.
Algoritmo:
1. Crie uma varivel chamada "LISTA_DE_NODOS" e faa-a igual ao estado inicial.
2. At que (um estado objetivo seja encontrado) ou (LISTA_DE_NODOS seja vazia) faa:
a) Remova o primeiro elemento de LISTA_DE_NODOS e o chame "E".
Se LISTA_DE_NODOS estava vazia, fim.
b) Para cada maneira que cada regra combina com o estado descrito em E faa:
i)
Aplique a regra para gerar um novo estado.
ii)
Se o novo estado um estado objetivo, pare e retorne este estado
iii)
Seno, adicione o novo estado ao final de LISTA_DE_NODOS.
Abaixo apresentada uma implementao em Prolog.
% solve( Start, Solution):
% Solution is a path (in reverse order) from Start to a goal
solve( Start, Solution) :breadthfirst( [ [Start] ], Solution).
% breadthfirst( [ Path1, Path2, ...], Solution):
% Solution is an extension to a goal of one of paths
breadthfirst( [ [Node | Path] | _], [Node | Path]) :goal( Node).
breadthfirst( [Path | Paths], Solution) :extend( Path, NewPaths),
append( Paths, NewPaths, Paths1),
breadthfirst( Paths1, Solution).
extend( [Node | Path], NewPaths) :bagof( [NewNode, Node | Path],
( sucessor( Node, NewNode), not(member( NewNode, [Node | Path] )) ),
NewPaths),
!.
extend( _, [] ).
Inteligncia Artificial
lvaro Guarda
12
Estado Inicial
Figura 11
Estado Final
Torre de Hani.
a) Estados
Sintaxe: (Menor, Mdia, Maior)
Menor = Nmero do poste onde est a argola menor.
Mdia = Nmero do poste onde est a argola mdia.
Maior = Nmero do poste onde est a argola maior.
Assim os estado inicial e final podem ser representados como:
Estado inicial : (1,1,1).
Estado final : (3,3,3).
b) Operaes
Sintaxe: move (poste de origem, poste de destino)
move (1,2)
move (1,3)
move (2,1)
move (2,3)
move (3,1)
move (3,2)
Nesse caso devemos sempre observar as restries do problema e a validade das operaes. A Figura 12 apresenta a rvore
de pesquisa deste problema.
(1,1,1)
move(1,2)
move(1,3)
(2,1,1)
move(1,3)
move(2,3)
(2,3,1)
(3,1,1)
move(1,2)
(3,2,1)
(3,1,1)
move(3,2)
(2,1,1)
lvaro Guarda
13
Estado Objetivo
Operaes
3
4
2 8 3
1 6 4
7
5
(3)
2 8 3
1 6 4
7 5
(1)
2 8 3
6 4
1 7 5
Figura 14
(4)
2 8 3
1
4
7 6 5
(1)
2
3
1 8 4
7 6 5
(1)
(3)
2 8 3
1 4
7 6 5
2 8 3
1 6 4
7 5
(4)
(1)
2 8 3
1 4
7 6 5
2 8 3
1 6
7 5 4
Inteligncia Artificial
lvaro Guarda
14
[3,1,3]
[2,1,2]
[1,1,3]
[1,1,2]
[1,1,3]
[1,3,2]
[1,2,1]
[2,2,3]
[1,2,3]
[1,1,3]
Inteligncia Artificial
lvaro Guarda
15
A Figura 16 apresenta uma rvore E/OU e como a feita a busca em profundidade de uma soluo. Os nodos so numerados
por ordem de visita, sendo que os nodos marcados com T so problemas terminais e os nodos marcados com P so problemas
primitivos. A Figura 17 apresenta como feita a busca em extenso.
1
2
P1
P2
P4
P3
P6
P5
1
2
P4
11
P2
P1
P3
12
P5
P6
Figura 17 Exemplo de busca em extenso em uma rvore E/OU. A soluo o conjunto de problemas
primitivos {P1, P3}.
3.3. Mtodos de Busca Heurstica
Os mtodos de busca vistos anteriormente fazem uma pesquisa sistemtica do espao de estados ou do espao de problemas,
porm no so adequados para muitos problemas reais devido exploso combinatria.
Os mtodos heursticos(1) utilizam alguma forma de conhecimento para orientar a busca e evitar a exploso combinatria.
Entretanto, a eficincia depende fortemente em como o conhecimento explorado.
O conhecimento a ser utilizado pode ser inserido manualmente, ou atravs de aprendizado automtico.
(1) Heurstica vem da palavra grega heuriskein que significa descobir.
Inteligncia Artificial
lvaro Guarda
16
Diferentes aspectos gerais do problema so considerados e avaliados de modo que o valor resultante da funo heurstica
seja uma boa estimativa de quo efetivo pode ser o estado para alcanar a soluo. Os mtodos que utilizam apenas heursticas
genricas, teis a muitos tipos de problemas, so denominados mtodos fracos e no so capazes de evitar a exploso
combinatria.
Freqentemente, esta medida consiste em uma estimativa da distncia da soluo. Por exemplo, no Jogo dos 8 a heurstica
pode ser o nmero de peas que esto fora do lugar.
b) Heurstica especfica:
Apresenta as convices dos especialistas em uma determinada rea. A maioria das regras dos Sistemas Especialistas
pertence a essa classe. extremamente eficiente se bem utilizada.
Funo Heurstica
Nos mtodos de busca, o conhecimento sobre o problema utilizado para compor uma funo heurstica. Esta funo
heurstica tem a forma f(Estado) e aplicada aos estados para atribuir notas indicando a proximidade do estado em relao
soluo.
3.3.1. Subida da encosta ("Hill-Climbing")
A idia deste mtodo maximizar a nota fornecida pela funo heurstica. A busca feita com a gerao de um estado
sucessor do estado corrente. Se o estado sucessor tiver uma nota melhor, ento ele passa a ser o estado corrente.
Algoritmo:
1. Estado corrente estado inicial
2. Repita at que o estado corrente seja a soluo ou no existam operadores a serem aplicados ao estado corrente
a) Escolha um operador que ainda no tenha sido aplicado ao estado corrente e aplique-o para produzir um novo estado.
b) Avalie o novo estado.
i) Se for a soluo (um estado meta) retorne-o e encerre.
ii) Se for melhor que o estado corrente ento Estado corrente novo estado.
Caractersticas:
Seleciona o primeiro vizinho que seja melhor.
Problema: tende a convergir para uma soluo que um mximo local e no para o mximo global.
irrevogvel (sem retrocesso).
Exemplo: Mundo dos Blocos
A Figura 18 apresenta o problema no qual ser aplicado o mtodo da subida da encosta.
Estado Inicial
A
E
D
C
B
Estado Meta
E
D
C
B
A
Inteligncia Artificial
lvaro Guarda
17
A
E
D
C
B
f(e) =
(1)
(1)
E
D
C
A B
f(e) =
(2)
D
C
E A B
f(e) =
D
E C
A B
f(e) =
A
E
D
C
B
f(e) =
Figura 19 rvore de busca para o problema da Figura 18 utilizando o mtodo Subida da Encosta.
A utilizao desta funo heurstica, neste problema em particular, conduz a busca a um mximo local. Isto corresponde
situao onde a vizinhana (sucessores) possui nota menor que o estado e no consegue encontrar uma soluo. O motivo
para este problema que a heurstica local, no observando o contexto.
Uma funo heurstica melhor, que leve em conta o contexto global, pode ser implementada da seguinte forma: quando o
bloco tem a estrutura de apoio correta, some um ponto para cada bloco da estrutura de apoio; para cada bloco com estrutura de
apoio incorreta subtraia um ponto.
Esta nova funo heurstica permite que o processo de busca chegue a uma soluo, como sugere a Figura 20.
3.3.2. Subida da encosta para a trilha mais ngreme ("Stepest-Hill-Climbing")
A idia a mesma do mtodo anterior, porm examina toda a vizinhana e seleciona o melhor. Este mtodo tambm
denominado busca do gradiente.
A heurstica aplicada localmente, ou seja, o caminho a ser seguido selecionado apenas entre os nodos recm gerados,
sendo a escolha baseada no resultado da aplicao da funo heurstica. A implementao pode ser feita ordenando-se o
conjunto de nodos sucessores recm avaliados antes de inclu-los na pilha de nodos abertos. O campo de ordenao a nota
resultante da avaliao da funo heurstica, sendo que deve ficar no topo da pilha o nodo com a melhor nota, daqueles recm
gerados.
Algoritmo:
1. Estado corrente Estado inicial.
2. Repita at que estado corrente seja a soluo ou no haja mudana no estado corrente.
a) Sucessor pior absoluto
b) Para cada operador aplicvel ao estado corrente.
i) aplique o operador e gere um novo estado.
ii) Avalie o novo estado.
Se for a soluo retorne-o e encerre
Se for melhor ento sucessor novo estado
c) Se sucessor for melhor que estado corrente
Ento Estado corrente sucessor
Caractersticas:
Seleciona o melhor vizinho, desde que seja melhor que o estado corrente.
Inteligncia Artificial
lvaro Guarda
18
Problema: tende a convergir para uma soluo que um mximo local e no para o mximo global.
irrevogvel (sem retrocesso).
A
E
D
C
B
f(e) = -15
(1)
E
D
C
A B
(1)
f(e) = -9
(2)
(2)
D
C f(e) = -6
E A B
D
E C
A B
f(e) = -7
A
E
D
C
B
f(e) = -15
Figura 20 rvore de busca para o problema da Figura 18 utilizando o mtodo Subida da Encosta com
uma funo heurstica mais adequada.
3.3.3. Busca pela melhor escolha ("Best-First")
A heurstica aplicada globalmente, isto , o caminho a ser seguido selecionado entre todos os nodos abertos at o
momento. O nodo aberto com a melhor nota escolhido para a expanso.
Exemplo: Achar o Menor Trajeto
Definio do Problema: Procurar o menor trajeto, ou uma alternativa aceitvel, entre a cidade a e a cidade z.
Mapa:
1
6
incio
4
3
2
1
4
2
2
z
fim
Inteligncia Artificial
lvaro Guarda
19
5
f=7
a
c
b
6
f=7
f=10
f=10
1
f=5
f=6
f=8
f=14
f=8
f=16
lvaro Guarda
20
Funes heursticas:
g(x) calculado a partir de <custo>
h(x) definido como abaixo
h(b,6).
h(c,2).
h(d,2).
h(e,1).
h(k,5).
h(z,0).
Consulta e resultado:
?- bestfirst(a, Sol), showsol(Sol).
---a
---c
---d
---z
Sol = [z, d, c, a]
Representao do Jogo dos 8
Definio do Problema
1 3 4
1 2 3
7 6 5
7 6 5
Representao em Prolog
Posies das peas: coordenadas cartesianas X/Y
Tabuleiro: Lista onde 1 elemento:
2 elemento:
3 elemento:
...
9 elemento:
3
2
1
1 2 3
8
4
7 6 5
casa vazia
pea 1
pea 2
pea 8
O estado inicial representado como:
[2/2, 1/3, 3/2, 2/3, 3/3, 3/1, 2/1, 1/1, 1/2]
1 2 3
3
2
1
1 2 3
8
4
7 6 5
1 2 3
Inteligncia Artificial
lvaro Guarda
21
Implementao:
A implementao em Prolog apresentada abaixo e baseada no algoritmo A*.
Principal Predicado: expand( Path, Tree, Bound, Tree1, Solved, Solution)
Parmetros:
Path: caminho entre o nodo inicial e a sub-rvore Tree
Tree: sub-rvore corrente, que est sendo vizitada
Bound: limite para a expanso de Tree
% expand( Path, Tree, Bound, Treel, Solved, Solution): Path is path between start node of search and subtree Tree,
% Treel is Tree expanded within Bound, if goal found then Solution is solution path and Solved = yes
% Case 1: goal leaf-node, construct a solution path
expand(P, l(N, _), _, _, yes, [N | P]):goal(N).
% Case 2: leaf-node, f-value less than Bound - Generate successors and expand them within Bound
expand(P, l(N, F/G), Bound, Tree1, Solved, Sol) :Inteligncia Artificial
lvaro Guarda
22
F =< Bound,
(bagof(M/C, (s(N, M, C), not(member(M, P))), Succ),
!,
% Node N has successors
succlist(G, Succ, Ts),
% Make subtrees Ts
bestf(Ts, F1),
% f-value of best successor
expand(P, t(N, F1/G, Ts), Bound, Tree1, Solved, Sol)
;
Solved = never
% N has no successors - dead end
).
% Case 3: non-leaf, f-value less than Bound
% Expand the most promising subtree; depending on results, procedure continue will decide how to proceed
expand(P, t(N, F/G, [T | Ts]), Bound, Tree1, Solved, Sol):F =< Bound,
bestf(Ts, BF), min(Bound, BF, Bound1),
expand([N | P], T, Bound1, T1, Solved1, Sol),
continue(P, t(N, F/G, [T1 | Ts]), Bound, Tree1, Solved1, Solved, Sol).
% Case 4: non-Leaf with empty subtrees - This is a dead end which will never be solved
expand( _, t(_, _, []), _, _, never, _):- !.
% Case 5: value greater than Bound - Tree may not grow
expand( _, Tree, Bound, Tree, no, _):f(Tree, F), F> Bound.
% continue(Path, Tree, Bound, NewTree, SubtreeSolved, TreeSolved, Solution)
continue( _, _, _, _, yes, yes, Sol).
continue(P, t(N, F/G, [T1 | Ts]), Bound, Tree1, no, Solved, Sol):insert(T1, Ts, NTs),
bestf(NTs, F1),
expand(P, t(N, F1/G, NTs), Bound, Tree1, Solved, Sol).
continue(P, t(N, F/G, [_ | Ts]), Bound, Tree1, never, Solved, Sol):bestf(Ts, F1),
expand(P, t(N, F1/G, Ts), Bound, Tree1, Solved, Sol).
% succlist(G0, [Nodel/Cost1, ...], [l(BestNode. BestF/G), ...]):
succlist(_,[],[]).
succlist(G0, [N/C | NCs], Ts):G is G0 + C,
h(N, H),
F is G + H,
succlist(G0, NCs, Ts1),
insert(l(N, F/G), Ts1, Ts).
Inteligncia Artificial
lvaro Guarda
23
% Extract f-value
f(l(_,F/_), F).
f(t(_,F/_,_), F).
% f-value of a leaf
% f-value of a tree
bestf([T|_],F):f(T, F).
bestf([], 9999).
% D is |A-B|
% Heuristic estimate h is the sum of distances of each tile from its 'home' square plus 3 times 'sequence' score
h([Empty | Tiles], H):goal([Empty1 | GoalSquares]),
totdist( Tiles, GoalSquares, D),
% Total distance from home squares
seq(Tiles, S),
% Sequence score
H is D + 3*S.
totdist([], [], 0).
totdist([Tile | Tiles], [Square | Squares], D):mandist(Tile, Square, D1),
totdist(Tiles, Squares, D2),
D is D1 + D2.
% seq(TilePositions, Score): sequence score
seq([First | OtherTiles], S):seq([First | OtherTiles], First, S).
Inteligncia Artificial
lvaro Guarda
24
score(_, _, 2).
goal([2/2,1/3,2/3,3/3,3/2,3/1,2/1,1/1,1/2]).
lvaro Guarda
25
A mudana de temperatura no decorrer do processo chama-se "cronograma de tmpera" e tem trs componentes:
1. Valor inicial
2. Critrio(s) para decidir quando a temperatura deve ser reduzida.
3. Valor da reduo (quanto)
A maneira como a temperatura diminui influencia no resultado do processo, se T esfriar muito rpido, provavelmente ser
encontrado um mnimo local e no global, se T esfriar muito lentamente haver muita perda de tempo.
Figura 21 Analogia: dispositivo onde uma esfera fica encerrada em uma caixa com vidro na face da
frente e na face de trs e um elemento slido formando uma curva. Quando o dispositivo fica na vertical
a esfera tende a acomodar-se ao fundo de um vale. Uma temperatura alta equivale a agitar o dispositivo,
permitindo que a esfera suba colinas.
Algoritmo:
1. Estado Corrente Estado Inicial.
2. Melhor Estado Corrente
3. T cronograma (inicio)
4. Repita at que Estado Corrente seja a soluo ou no haja mudana no Estado Corrente.
a) Escolha um operador que ainda no tenha sido aplicado ao Estado Corrente e aplique-o para produzir um Novo
Estado
b) Analise o Novo Estado
i) Se for a soluo (um estado meta) retorne-o e encerre.
ii) Se for melhor que Estado Corrente
ento faa
Estado Corrente Novo Estado
Se Novo Estado for melhor que Melhor
ento Melhor Novo Estado
seno faa
E f(Estado Corrente) f(Novo Estado)
p e(-E/T)
Se p maior que nmero aleatrio no intervalo [0; 1]
ento Estado Corrente Novo Estado
c) T cronograma
5. Retorne Melhor como resposta do problema.
3.3.5. Tcnicas Evolutivas
um conjunto de tcnicas de otimizao inspiradas na teoria da evoluo. A principal idia da teoria da evoluo a seleo
natural, onde uma populao de indivduos evolui durante geraes devido maior probabilidade daqueles mais aptos de terem
uma prole mais numerosa, resultando em indivduos cada vez melhores. As tcnicas estabelecem uma analogia onde um
indivduo visto como sendo uma soluo e esta soluo melhorada at chegar a uma soluo tima ou um outro critrio de
parada seja satisfeito.
Esta abordagem remonta o incio da computao (1960), mas o interesse na sua utilizao cresceu muito nos meados da
dcada de 80. As principais tcnicas que foram desenvolvidas so: programao evolucionista, estratgia evolucionista,
sistemas classificadores, algoritmos genticos e programao gentica.
A tcnica mais conhecida so os algoritmos genticos, onde a analogia com os sistemas biolgicos mais forte. Cada
Inteligncia Artificial
lvaro Guarda
26
hiptese de soluo (indivduo) representada por uma cadeia binria de tamanho fixo, como se fosse a cadeia gentica do
indivduo.
A avaliao de um indivduo feita com base na aptido do seu fentipo.
*** Ver anotaes de aula
Inteligncia Artificial
lvaro Guarda
27
4.
A evoluo da pesquisa em resoluo de problemas pode ser dividida em trs fases distintas. Durante a primeira fase
procurava-se imitar a capacidade do homem de resolver problemas, ou seja, buscava-se compreender e reproduzir a capacidade
de raciocnio e de representao de problemas do homem. Um exemplo de sistema que foi desenvolvido nesta fase o GPS
(General Problem Solver). O grande problema desta abordagem a exploso combinatria quando se tenta resolver problemas
mais complexos.
A segunda fase surgiu a partir do reconhecimento de que a habilidade dedutiva do homem resulta menos de sua capacidade
de raciocnio do que de sua habilidade de armazenar experincias anteriores e adapt-las a novas situaes. Nesta fase passouse a utilizar os sistemas de produo e surgiram os sistemas baseados em conhecimento (cognitivos). Nos sistemas baseados em
conhecimento a nfase deixa de ser o mtodo de busca e a forma de representar o conhecimento passa a ter um papel
fundamental.
A terceira fase iniciou-se a partir da percepo de que o conhecimento geral muito extenso e pouco til para problemas
especficos. Para permitir que os problemas sejam tratveis em tempo hbil surgem os sistemas especialistas. Quanto maior a
quantidade e a qualidade de conhecimento especfico (relativo ao problema) embutido nestes sistemas, melhor a performance
do sistema.
REALIDADE
FATOS
FATOS
Soluo
Modelagem
Representao do
Conhecimento
Inferncia
Fatos
Adequao Inferencial - Permite manipular estruturas representacionais gerando novos conhecimentos, dentre os
quais, possveis solues.
Eficcia de Comunicao - Permite facilmente entender o conhecimento armazenado, adquirir novos conhecimentos e
fornecer explicaes.
4.2.
Inteligncia Artificial
lvaro Guarda
28
Lgica
-
Convencional
No-monotnica
Difusa ou nebulosa (fuzzy)
Temporal
Senso-comum
...
Raciocnio Probabilstico
rvores de Deciso
Redes Semnticas
Quadros (frames)
Roteiros (scripts)
4.3.
Base
de
Dados
Estratgia de Controle
Condio
Condio
Condio
Ao
Ao
Regras de
Produo
Ao
Base de Dados: tambm chamado, memria de trabalho ou contexto, contm dados informados pelo usurio sobre o
problema ou gerados pelas prprias regras durante a execuo (estado).
Regras de Produo: conjunto de regras que operam sobre a base de dados, modificando-a.
Estratgia de Controle: tambm denominado, interpretador de regras, o mdulo responsvel pela execuo do
sistema e pela identificao da soluo sinalizando quando o sistema deve parar. Este processo possui 3 fases:
1) casamento (matching) seleciona as regras aplicveis comparando as condies (lado esquerdo) das
regras com o estado da Base de Dados, as regras que casarem so selecionadas;
2) resoluo de conflitos apenas uma regra de cada vez pode ser ativada e quando mais de uma regra
aplicvel, ocorre um conflito, sendo que a forma mais bvia de se resolver um conflito ativar a primeira
regra que foi satisfeita;
3) ao ativa as regras executando as aes (lado direito) das mesmas, o que normalmente altera o Banco
de Dados.
Caractersticas de SP
Monotnico a aplicao de uma determinada regra nunca impede a posterior aplicao de outra regra que tambm
poderia ter sido aplicada quando a primeira regra foi selecionada;
Inteligncia Artificial
lvaro Guarda
29
Parcialmente Comutativo se a aplicao de uma seqncia particular de regras transforma o estado x no estado y,
ento qualquer permutao dessas regras que seja vivel tambm transforma o estado x no estado y;
Deve ser definido um nmero mnimo de regras que modele adequadamente o problema, permitindo que se chegue
soluo. Alm disso, desejvel inserir regras adicionais, mais especializadas, que representem atalhos na procura da
soluo.
Inteligncia Artificial
lvaro Guarda
30
Inteligncia Artificial
lvaro Guarda
31
5.
Sistemas Especialistas (SE) so sistemas de Inteligncia Artificial, baseados em conhecimento, que emulam um especialista
humano na resoluo de um problema significativo em um domnio especfico.
Assim, os SE solucionam problemas que normalmente so solucionados por especialistas humanos. Para solucionar tais
problemas, os sistemas especialistas precisam acessar uma substancial base de conhecimento do domnio da aplicao, que
precisa ser criada de modo mais eficiente possvel. Eles tambm precisam explorar um ou mais mecanismos de raciocnio, para
aplicar aos problemas que tm diante de si. Depois eles precisam de um mecanismo para explicar o que fizeram aos usurios
que dele dependem.
O termo especialista freqentemente leva as pessoas a terem expectativas irrealistas do desempenho de um SE.
importante lembrar que o termo especialista originalmente representa uma limitao na capacidade de representao e
armazenamento de conhecimento do sistema. Na verdade, um SE trata de um determinado conhecimento especfico sobre um
domnio de problema, ao contrrio de um solucionador geral de problemas. Quanto mais geral a classe de problemas que
podem ser resolvidos por um sistema, mais insatisfatria ser a soluo produzida.
Os problemas com os quais lidam os sistemas especialistas so altamente diversificados. H questes gerais que surgem em
vrios domnios. Os sistemas especialistas que fizeram mais sucesso comercialmente esto na classe de problemas em que dado
um conjunto de fatos observados, o sistema infere possveis problemas, detecta resultados relevantes, apresenta alternativas de
projeto, etc.
Caractersticas de SE
Possuem conhecimento especializado em alta qualidade e quantidade;
O conhecimento pode ser incompleto, subjetivo e inexato;
O Banco de Conhecimento independente da Estrutura de Controle;
Explicam o raciocnio utilizado na resoluo do problema;
Incluem tratamento de incerteza;
Podem adquirir novos conhecimentos.
Tipos de SE
Classificao
Diagnose - infere mal-funes.
Interpretao - compreende situaes.
Predio - infere conseqncias de situaes.
Projeto - configura objetos sob restries.
Planejamento - projeta seqncia de aes.
Depurao - prescreve remdios para mal-funes.
Reparo - executa um plano para administrar um remdio prescrito.
Instruo - diagnose, depurao e reparo para deficincias de estudantes.
Controle - interpretao, predio, reparo, e monitoramento de comportamento de sistemas.
O SE e seu Ambiente
A Figura 24 mostra o ambiente de um SE, onde h dois momentos distintos: a construo e a utilizao. O profissional
encarregado de construir um SE o engenheiro de conhecimento, o qual deve dominar as ferramentas de desenvolvimento e as
linguagens de representao de conhecimento. O conhecimento pode ser privado, obtido atravs de entrevistas com
especialistas no assunto relativo ao problema, ou pblico, obtido pela consulta em livros e revistas especializadas.
Quando o SE estiver em produo, ele pode ser utilizado para resolver problemas de usurios no especialistas no assunto.
5.1. Componentes Bsicos de um SE
Existe um consenso sobre a arquitetura geral de um sistema especialista. Quase todos eles podem ser separados em trs
componentes distintos: a Base de Conhecimento, o Motor de Inferncia (Inference Engine) e a Interface com o Usurio.
Base de Conhecimento
Consiste na parte central de um SE. a representao do conhecimento no domnio no problema em questo, geralmente
extrada de um ou vrios especialistas, de forma declarativa, e livre de detalhes de controle e implementao. Idealmente ela
composta de declaraes, em algum formalismo de representao de conhecimento disponvel, descrevendo o domnio da
aplicao.
Memria de Trabalho
Armazena as informaes fornecidas pelo usurio e todo o conhecimento inferido pelo sistema durante uma consulta. Ao
final da consulta esta informaes so apagadas.
Inteligncia Artificial
lvaro Guarda
32
usurio
?
Consulta
Resposta
SE
especialistas
engenheiro de
conhecimento
Figura 24 - Ambiente de um SE
Motor de Inferncia
O motor de inferncia, tambm chamado mquina de inferncia, responsvel pela manipulao da base de conhecimento
durante a resoluo de problemas. chamado de motor de inferncia porque ele usa o conhecimento da base e os fatos
relativos a uma determinada consulta para obter concluses. A natureza do motor de inferncia ir depender do formalismo
utilizado para representar a base de conhecimento e da estratgia de soluo de problemas considerada apropriada pelo
projetista do sistema. Por exemplo, se o formalismo de representao escolhido for regras de produo, o motor de inferncia
ir necessariamente tomar a forma de um interpretador de regras.
A arquitetura do motor de inferncia est intimamente relacionada com a linguagem de representao do conhecimento e
inclui os elementos: Mecanismo de Inferncia, Estratgia de Controle, Mtodos de tratamento da Incerteza e Mtodos de
tratamento de Conhecimento Incompleto, os quais sero detalhados mais adiante.
Interface com o Usurio
Todo sistema especialista interativo. e precisa de um componente para gerenciar a interao entre o usurio e o sistema A
interao bsica numa sesso de uso de um SE consiste no sistema perguntar questes relevantes. apresentar conselhos,
respostas e prover explicaes requeridas pelo usurio
Dois tipos de explicao que so freqentemente fornecidas pelo SE so aquelas a perguntas do tipo Por que?, e
explicaes de como o sistema chegou a determinada concluso, ou seja Como?
5.2. Arquitetura do Motor de Inferncia
Mecanismo de Inferncia
O mecanismo de inferncia gera novas concluses a partir da manipulao do conhecimento existente na base de
conhecimento e na memria de trabalho. O mecanismo depende da forma de representao de conhecimento. Em sistemas
baseados em regras o mecanismo encontrado com mais freqncia o modus ponens: se as premissas de uma regra so
verdadeiras, ento pode-se acreditar que as suas concluses tambm o so, assim as concluses podem ser acrescentadas no
conhecimento existente. Conforme o exemplo mostrado na Figura 25, o fato B derivado a partir do fato A e da Regra A
B. Uma das vantagens do modus ponens a sua simplicidade, entretanto importante ressaltar que ele no conclui todas as
inferncias vlidas.
Inteligncia Artificial
lvaro Guarda
33
A.
A B.
...
A.
A B.
B.
Modus
Ponens
Modo de seleo de peas de conhecimento (regras, quadros, roteiros, nodos, ...) - feito atravs de casamento
de padres.
Direo do raciocnio - a direo em que feita a busca em um espao de solues. No caso de regras a direo
como feito o encadeamento das regras:
o Encadeamento progressivo (encadeamento para frente, forward, data-driven, bottom-up)
As regras da base de conhecimento so selecionadas com base no conhecimento existente (fatos da base de
conhecimento, informaes do usurio e conhecimento j inferido), comparando-se o lado esquerdo das regras
(condies), e ativadas para gerar novos fatos at encontrar a soluo. Equivale busca em espao de estados,
onde o estado o banco de conhecimento. A Figura 26 mostra um exemplo de encadeamento progressivo. Os
nmeros associados aos arcos da rvore de pesquisa correspondem aplicao das regras da base de
conhecimento. No incio a regra 1 no aplicvel, talvez ser no decorrer da pesquisa.
Encadeamento regressivo (encadeamento para trs, backward, goal-directed, top-down)
As regras da base de conhecimento so selecionadas a partir dos objetivos, comparando-se o lado direito das
regras (concluses), e ativadas para gerar novos objetivos at encontrar a soluo. Equivale busca por
reduo de problemas, onde os problemas (objetivos) so quebrados em subproblemas (novos objetivos). A
Figura 27 apresenta um exemplo de encadeamento regressivo, onde os nodos da rvore de pesquisa em cinza
so os problemas primitivos, j resolvidos, e os nodos em branco so problemas em aberto, ainda no
resolvidos.
rvore de Pesquisa
Banco de Conhecimento
1) Se B e C ento A.
2) Se D ou E ento B.
3) Se F e D ento C.
4) D.
5) F.
Se B e C ento A.
Se D ou E ento B.
Se F e D ento C.
D.
F.
2)
Objetivo
(problema inicial)
A
Se B e C ento A.
Se D ou E ento B.
Se F e D ento C.
D.
F.
B.
...
3)
Se B e C ento A.
Se D ou E ento B.
Se F e D ento C.
D.
F.
C.
...
lvaro Guarda
34
rvore de Pesquisa
Banco de Conhecimento
Se B e C ento A.
Se D ou E ento B.
Se F e G ento C.
D.
F.
A
B
Objetivo
(problema inicial)
A.
E
?
G
?
Anlise de diferena - identifica regras que diminuem a diferena entre o conhecimento atual e o objetivo.
lvaro Guarda
35
Significado
Definitivamente certo
Quase Certo
Provvel
H evidncias
Ignorado
H evidncias contra
Provavelmente no
Quase certo que no
Definitivamente no
Fator de certeza (FC) da concluso de uma regra = (FC(conjunto de antecedentes) * FC(regra)) / 100
Vrias regras inferem a mesma concluso - abaixo so apresentadas trs formas de clculo com um exemplo na
figura Figura 30.
a) FC(concluso) = max(FCs das concluses das regras)
b) FC(concluso) = mdia(FCs das concluses das regras)
c) FC(concluso) = x + ((100 x) * y / 100) se ambos (x e y) so positivos
Banco de Conhecimento
1.
2.
3.
4.
5.
6.
Se
Se
Se
B
B
B
(tcnicas probabilsticas)
A ento B FC(80).
A e C ento B FC(70).
A ou D ento B FC(60).
FC(60).
FC(30).
FC(40).
Observao
Como pode ser observado, as diferentes
formas de tratar a situao apresentam uma
grande variao.
Regra
1.
2.
3.
FC(B)
48
21
36
FC(B)
48
35
74
Inteligncia Artificial
lvaro Guarda
36
lvaro Guarda
37
5.4.
Pascal
Lisp
Prolog
Interlisp
AMBIENTES
OPS5
Kee, Lops, Art
FERRAMENTAS
Emycin, S1, M1
FACILIDADE
VELOCIDADE DE DESENVOLVIMENTO
Inteligncia Artificial
lvaro Guarda
38
5.5.
5.6.
Insero de conhecimento;
Problemas
Alguns dos principais problemas enfrentados pelos sistemas especialistas atuais so:
Fragilidade: Como os sistemas especialistas s tm acesso a conhecimentos altamente especficos do domnio, eles
no podem contar com conhecimentos mais genricos quando a necessidade surge. Por exemplo, suponha que
cometamos um erro na entrada de dados para um sistema especialista mdico e que descrevamos um paciente com 130
anos e 20 quilos. A maioria dos sistemas no seria capaz de adivinhar que podemos ter invertido os dois campos. j
que os valores no so muito plausveis. Alguns sistemas representam uma tentativa de remediar esse problema
fornecendo um substrato de conhecimentos de senso comum, sobre o qual sistemas especialistas especficos podem ser
criados.
Falta de Meta-conhecimento Os sistemas especialistas no tm conhecimentos muito sofisticados sobre sua prpria
operao. Eles normalmente no conseguem raciocinar sobre seu prprio escopo e restries, dificultando ainda mais a
tarefa de lidar com a sua fragilidade.
Aquisio de Conhecimento Apesar do desenvolvimento de ferramentas, a aquisio ainda continua sendo um dos
maiores obstculos aplicao da tecnologia dos sistemas especialistas a novos domnios.
Validao: Medir o desempenho de um sistema especialista difcil, porque no sabemos como quantificar o uso do
conhecimento. Certamente impossvel apresentar provas formais de correo para sistemas especialistas. Uma coisa
que podemos fazer comparar esses sistemas com especialistas humanos em problemas do mundo real Por exemplo. o
MYCIN participou de um painel de especialistas para avaliar dez casos selecionados de meningite, obtendo resultados
melhores do que qualquer um de seus concorrentes humanos.
5.7.
Concluses
Desde a metade da dcada de 60, quando comearam os trabalhos sobre os sistemas que hoje conhecemos como
especialistas, muito progresso foi feito na construo de tais programas. As experincias obtidas com esses esforos sugerem as
seguintes concluses.
Esses sistemas derivam sua potencialidade de uma grande quantidade de conhecimento especifico do domnio, e no
de uma nica tcnica poderosa.
Os sistemas bem-sucedidos tm muito conhecimento bem-definido sobre uma determinada rea. Isto contrasta com o
conhecimento amplo e de difcil definio que chamamos de senso comum. E mais fcil criar sistemas especialistas do
que sistemas com senso comum.
Um sistema especialista em geral construdo com a ajuda de um ou mais especialistas, que precisam estar dispostos a
transferirem o seu conhecimento para o sistema.
A transferncia de conhecimento ocorre gradualmente, atravs de muitas interaes entre o especialista e o sistema. O
especialista nunca fornece de pronto o conhecimento correto ou completo.
A quantidade de conhecimento exigida depende da tarefa. Ela pode variar de 40 regras a milhares delas.
A escolha da estrutura de controle para um determinado sistema depende das caractersticas especificas do sistema.
Inteligncia Artificial
lvaro Guarda
39
possvel extrair partes no-especificas do domnio, de sistemas especialistas existentes, e us-las como ferramentas
para a criao de novos sistemas e novos domnios.
6.
Engenharia de Conhecimento
6.2.
Metodologias de Desenvolvimento
Prototipao
Construo incremental de prottipos do sistema, at que se torne funcional.
Estruturado
Projeto planejado e realizado em etapas que partindo das especificaes chega diretamente verso operacional do
sistema.
Misto
O sistema desenvolvido de forma estruturada, porm alguns mdulos ou funes so construdos utilizando
prototipao.
Atividades em um Sistema com IA
5
Integrao
de Sistemas
8
Anlise do
Hardware
Interface
com
Usurio
Necessidades
de Hardware
Pedido ao Fabricante
Configurao
Implementao
Entrada do
Usurio
Usurio
1
Integrao
de Sistemas
Estudo /
Viabilidade
Projeto de
Consolidao
2
4
Anlise
Projeto
Estruturada Especificao Estruturado
Estruturada
Mdulos
Estruturados
Plano de
Testes
BD Lgico
BD Fsico
3
Projeto da
Base Dados
Inteligncia Artificial
lvaro Guarda
7
Teste de
Aceitao
Sistema de
Produo
40
5
Integrao
de Sistemas
Pedido ao Fabricante
8
Anlise do
Hardware
Interface
com
Usurio
Necessidades
de Hardware
Configurao
Implementao
Entrada do
Usurio
Usurio
1
Integrao
de Sistemas
Estudo de
Viabilidade
Projeto de
Consolidao
2
4
Especificao
Anlise
Projeto
Estruturada
Estruturada
Estruturado
Especificao
IA
Especificao
BC lgica
Mdulos
Estruturados
Plano de
Testes
BD
Fsico
7
Teste de
Aceitao
BD Lgico
Mdulo IA
3
Projeto da
Base Dados
11
Projeto IA
Projeto IA
10
Projeto da
BC
Especificao
BC fsica
Sistema de
Produo
12
Implement.
IA
Base de
Conheciment
9
Aquisio do
Conhecim.
lvaro Guarda
41
2. Anlise Estruturada
Elaborar um conjunto de DFDs com descries narrativas dos processos (tarefas do especialista) e um dicionrio de
dados.
Especificar os requerimentos de interface com o usurio.
Especificar os requerimentos de desempenho.
3. Projeto do Banco de Conhecimento
Definir a forma de representar o conhecimento.
4. Projeto Estruturado
Definir a forma de raciocnio.
Definir a interface com o usurio.
Escolher o instrumento (linguagem, ambiente ou ferramenta).
5. Integrao de Sistemas
6. Implementao
Codificao do conhecimento de acordo com o mtodo da ferramenta.
7. Teste de Aceitao
8. Anlise do Hardware
9. Aquisio do Conhecimento
6.3. Etapas na Construo de um pequeno SE
Ainda no existe uma metodologia consolidada para a construo de SE, entretanto abaixo so enumerados as etapas com
alguns detalhes do processo de construo de um SE pequeno. importante observar que na construo de um SE pequeno
freqentemente os passos 1 e 2 so invertidos, pois mais fcil identificar um problema que seja adequado a uma ferramenta
previamente selecionada do que o contrrio.
1. Selecionar um instrumento.
Implica em comprometer-se implicitamente com vrios aspectos relacionados ao desenvolvimento de um SE. No
caso de uma ferramenta, os aspectos so:
Paradigma de consulta - corresponde ao tipo de problema que ser solucionado, sendo os principais:
diagnstico / prescrio, planejamento e projeto.
Forma de Representao do Conhecimento: regras, objetos, etc.
Formas de Inferncia.
Interface com o usurio: tipo, qualidade, tratamento de dvidas, etc.
2. Identificar um problema e analisar as suas caractersticas.
As principais caractersticas a serem avaliadas so:
Tempo de soluo.
Tipo de comunicao.
Tipo de conhecimento que o sistema dever incluir.
Volume de alternativas de soluo.
3. Projetar o sistema.
Esta etapa a mais trabalhosa e demorada. Exige estudar e levantar o conhecimento que ser utilizado pelo SE, o que
implica fazer diversas entrevistas com os especialistas para identificar como eles trabalham ou raciocinam para
resolver os problemas.
Descrio do sistema.
Inteligncia Artificial
lvaro Guarda
42
4. Desenvolver um prottipo.
Criar o banco de conhecimento, o que exige conhecimento da sintaxe da linguagem de representao de
conhecimento.
Verificar fazendo algumas consultas. Esta atividade importante porque serve para validar empiricamente o SE.
Alm de entrar com situaes reais para verificar se as solues apresentadas pelo sistema so vlidas,
necessrio entrar com valores invlidos e utilizar vrias alternativas de resposta, como Por que? ou indicar
dvida (incerteza).
5. Expandir, verificar e revisar o sistema at cumprir o seu papel.
Incluir novas peas de conhecimento (regras, ...).
Incluir o tratamento de conhecimento incompleto.
Incluir ou alterar o tratamento de incerteza.
Incluir ou refinar os mecanismos de ajuda ou explicao.
6. Manter e atualizar o sistema.
Exemplo de desenvolvimento de um prottipo de SE:
Este exemplo foi desenvolvido at a quanta etapa, portanto o prottipo apresenta vrias deficincias que seriam corrigidas
no decorrer da quinta etapa.
1. Selecionar um instrumento.
O instrumento selecionado o SINTA, uma ferramenta de desenvolvimento de SE bastante fcil de ser utilizada, permitindo
que o engenheiro de conhecimento se concentre na aplicao.
O paradigma de consulta do Sinta diagnstico / prescrio, sendo que este paradigma pode ser utilizado na soluo de
uma gama bastante grande de problemas.
A forma de representao do conhecimento baseada em regras, permitindo a definio de fatores de certeza. A inferncia
feita atravs de encadeamento regressivo das regras.
A interface com o usurio tem uma forma padro de pergunta, quando necessrio consultar o usurio sobre o valor de uma
varivel, entretanto permite que cada pergunta seja alterada. A interface possui tambm tratamento de dvidas atravs de um
mecanismo de explicao. A explicao padro a apresentao da linha de raciocnio utilizada que exigiu a consulta ao
usurio. Entretanto, o engenheiro de conhecimento pode incluir uma explicao no padro.
2. Identificar um problema e analisar as suas caractersticas.
O problema que ser utilizado no exemplo a seleo de meios instrucionais adequados para diferentes tipos de
treinamento. As caractersticas deste problema so:
Tempo de soluo: at 30 minutos;
Tipo de comunicao: o especialista apresenta uma proposta verbalmente ou por escrito;
Tipo de conhecimento: o especialista utiliza regras e clculos simples;
Volume de alternativas de soluo: poucas alternativas, da ordem de dezenas de possibilidades.
O problema adequado ferramenta que foi selecionada. Para problemas com um grau de complexidade grande, o Sinta
no poderia ser utilizado.
3. Projetar o sistema.
O SE ter como objetivo aconselhar um cliente a respeito da seleo de meios instrucionais para um determinado
treinamento. Assim, necessrio estudar o assunto atravs de livros especializados e reunir-se com especialistas na rea de
treinamento para determinar os principais atributos da seleo de meios instrucionais. Segundo Tosti e Ball (em A behavioral
approach to instructional design and media selection), necessrio discutir os aspectos do problema de treinamento,
considerar como estes aspectos se relacionam com as caractersticas dos meios e indicar um ou mais meios instrucionais que
resolvam o problema.
A 0 apresenta um diagrama do fluxo de consulta sobre meios instrucionais. Para elaborar este diagrama necessrio
entender como o especialista trabalha e identificar quais so e a ordem das perguntas que ele faz ao cliente para resolver o
problema. O diagrama facilita a elaborao das tabelas e a construo da base de conhecimento. No nosso caso, o especialista
comea perguntando sobre a tarefa que os treinandos cumpriro aps o treinamento. Depois, sobre como simular a execuo da
tarefa, pois um programa de treinamento ideal procura fazer com que se pratique as atividades previstas na tarefa. A seguir so
Inteligncia Artificial
lvaro Guarda
43
considerados os aspectos instrucionais e as restries oramentrias. Ao final so recomendados de um a trs meios eficazes
respeitando o custo.
As tabelas servem para organizar o conhecimento que vai sendo levantado junto s fontes utilizadas. A tabela da Figura 35
apresenta os principais fatores que o especialista leva em conta para decidir quais meios so recomendados.
A Figura 36 faz uma anlise levantando algumas das possveis relaes entre as ponderaes apresentadas na Figura 35 e as
recomendaes que o especialista faria.
Se o especialista utilizar apenas estes fatores, possvel identificar quantas situaes diferentes existem, atravs da
multiplicao dos nmeros de alternativas (respostas) de cada fator: 4 x 2 x 6 x 2 x 4 x 3 = 1152.
Tarefa
Como simular a
tarefa
Consideraes
instrucionais
Restries
oramentrias
1 a 3 meios
eficazes
Figura 34 Fluxo de Consulta sobre meios instrucionais
Inteligncia Artificial
lvaro Guarda
44
Ponderaes
de trabalho ou tarefa
de ensino
Situao do Estmulo
o Ambiental
o Pictria
o Simblica
o Verbal
Realimentao Instrucional
o Sim
o No
Durao do Estimulo
o Breve
o Persistente
Modificao da Apresentao
o por Resposta
o por Mdulo
o por Curso
o Nenhuma
Resposta Apropriada
o Oculta
o Seletiva
o Construda
o Oral
o Motora
o Afetiva
Oramento de Treinamento
o Pequeno (at R$ 10.000,00)
o Mdio
(at R$ 50.000,00)
o Grande (mais de R$ 10.000,00)
Situao do Durao do
Resposta Realimentao
Estmulo
Estmulo Apropriada Instrucional
no
sim
breve
breve
oculta
seletiva
construda
oculta
oculta
no
no
Modificao
da
Apresentao
nenhuma
resposta
mdulo
curso
curso
breve
oculta
no
mdulo
mdio
videocassete
6 verbal
breve
sim
mdulo
7 verbal
breve
sim
mdulo
8 ambiental
persistente
oral
afetiva
oral
afetiva
motora
no
breve
breve
oculta
todas
no
sim
mdulo
curso
nenhuma
resposta
pequeno
mdio
mdio
grande
grande
prtica com
realimentao verbal
prtica com realimentao por vdeo
Laboratrio com
experincias
udio cassete
tutor humano
1 verbal
2 verbal
breve
persistente
3 verbal
4 verbal
simblica
pictria
5 verbal
Oramento de
Treinamento
Recomendaes
pequeno
pequeno
livro
estudo pessoal
mdio
mdio
aula
aula com dispositivos
pictria
9 verbal
10 simblica
verbal
pequeno
mdio
grande
Inteligncia Artificial
lvaro Guarda
45
lvaro Guarda
46
4. Desenvolver um prottipo.
Esta etapa envolve criar o banco de conhecimento e verificar fazendo algumas consultas.
O Sinta exige que se defina as variveis e os respectivos domnios antes de entrar com as regras.
O objetivo do SE estabelecer uma ou mais recomendaes, ento criou-se uma varivel chamada Recomendao cujo
domnio so as possveis recomendaes dos especialistas, conforme a tabela da Figura 36.
Para se criar as regras, inicialmente foi utiliza a tabela da Figura 36, resultando nas regras de 1 a 10, como listado abaixo.
Na lgica o operador de conjuno (E) possui maior precedncia que o operador de disjuno (OU), entretanto, para
facilitar a formao das regras, o Sinta utiliza como padro o inverso: o operador de disjuno possui maior precedncia que o
operador de conjuno.
As tabelas da Figura 37 e da Figura 38 foram utilizadas para criar as demais regras: de 11 a 20.
REGRAS
Regra 1 - Recomendao livro
SE situao do estmulo = verbal
E durao do estmulo = persistente
E resposta apropriada = oculta
E realimentao instrucional = no
E modificao da apresentao = nenhuma
E oramento de treinamento = pequeno
OU oramento de treinamento = mdio
ENTO recomendao = livro
Regra 2 - Recomendao estudo pessoal
SE situao do estmulo = verbal
E durao do estmulo = persistente
E resposta apropriada = seletiva
E resposta apropriada = construda
E realimentao instrucional = sim
E modificao da apresentao = por resposta
OU modificao da apresentao = por mdulo
E oramento de treinamento = pequeno
ENTO recomendao = estudo pessoal
Regra 3 - Recomendao aula
SE situao do estmulo = verbal
E durao do estmulo = breve
E resposta apropriada = oculta
E realimentao instrucional = no
E modificao da apresentao = por curso
E oramento de treinamento = pequeno
OU oramento de treinamento = mdio
ENTO recomendao = aula
Regra 4 - Recomendao aula com dispositivos
SE situao do estmulo = verbal
OU situao do estmulo = simblica
OU situao do estmulo = pictria
E durao do estmulo = breve
E resposta apropriada = oculta
E realimentao instrucional = no
E modificao da apresentao = por curso
Inteligncia Artificial
lvaro Guarda
47
lvaro Guarda
48
lvaro Guarda
49
OU resposta = imaginar
OU resposta = pensar
OU resposta = oculta
ENTO resposta apropriada = oculta
Regra 16 - Resposta apropriada seletiva
SE resposta = mltipla escolha
OU resposta = associao
OU resposta = seletiva
ENTO resposta apropriada = seletiva
Regra 17 - Resposta apropriada construda
SE resposta = escrever
OU resposta = desenhar
OU resposta = datilografar
ENTO resposta apropriada = construda
Regra 18 - Resposta apropriada verbal
SE resposta = dizer algo
OU resposta = conversar
OU resposta = falar
OU resposta = cantar
OU resposta = verbal
ENTO resposta apropriada = verbal
Regra 19 - Resposta apropriada motora
SE resposta = edificar
OU resposta = montar
OU resposta = mover
OU resposta = construir
OU resposta = organizar
OU resposta = danar
OU resposta = atividade motora
ENTO resposta apropriada = motora
Regra 20 - Resposta apropriada afetiva
SE resposta = emocionar-se
OU resposta = simpatizar
OU resposta = sentir
OU resposta = mostrar aveio
OU resposta = comprensivo
OU resposta = calma
ENTO resposta apropriada = afetiva
PERGUNTAS
Varivel:durao do estmulo
Pergunta:"Qual a durao do estmulo?"
Varivel:estmulo
Pergunta:"Qual a situao do estmulo que a pessoa receber?"
Varivel:modificao da apresentao
Pergunta:"Quando feita a modificao da apresentao (se houver) ?"
Motivo:"Informar se o modo de apresentao do contedo do
"curso alterado e em que momento isto feito.
"
"Exemplo: se a apresentao do contedo deve ser
Inteligncia Artificial
lvaro Guarda
50
Inteligncia Artificial
lvaro Guarda
51