Escolar Documentos
Profissional Documentos
Cultura Documentos
ApostilaIA PDF
ApostilaIA PDF
Apostila
lvaro Guarda
Ouro Preto - MG
Setembro de 2004
Sumrio
1. Introduo .....................................................................................................................................................................3
1.1. Objetivos do Curso .................................................................................................................................. 3
1.2. Evoluo da Inteligncia Artificial.......................................................................................................... 3
1.3. reas de Pesquisa da IA .......................................................................................................................... 3
1.4. Referncias .............................................................................................................................................. 4
2. Caracterizao...............................................................................................................................................................5
2.1. Discusso e Tentativa de Definio......................................................................................................... 5
2.2. Comparao entre IA e Computao Convencional................................................................................ 7
2.3. Automao de Atividades........................................................................................................................ 7
3. Resoluo de Problemas ...............................................................................................................................................8
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. Sistemas Baseados em Conhecimento .......................................................................................................................28
4.1. Propriedades de Sistemas de Representao do Conhecimento ............................................................ 28
4.2. Formas de Representao do Conhecimento......................................................................................... 28
4.3. Sistemas de Produo (SP) .................................................................................................................... 29
4.4. Sistemas Baseados em Regras ............................................................................................................... 31
5. Introduo aos Sistemas Especialistas ......................................................................................................................32
5.1. Componentes Bsicos de um SE ........................................................................................................... 32
5.2. Arquitetura do Motor de Inferncia....................................................................................................... 33
5.3. Alguns Exemplos de Sistemas Especialistas ......................................................................................... 37
5.4. Ferramentas de Desenvolvimento de Sistemas Especialistas................................................................ 38
5.5. Aquisio de Conhecimento .................................................................................................................. 39
5.6. Problemas .............................................................................................................................................. 39
5.7. Concluses............................................................................................................................................. 39
6. Engenharia de Conhecimento ....................................................................................................................................40
6.1. Metodologias de Desenvolvimento ....................................................................................................... 40
6.2. Atividades em um Sistema com IA ....................................................................................................... 40
6.3. Etapas na Construo de um pequeno SE.............................................................................................. 42
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.
. . . . - 1960 Pr-IA
Lisp
Sistemas de Produo (evoluo de sistemas genricos).
1960 - 1965 Perodo do entusiasmo
Macsyma, Dendral
1965 - 1970 Perodo das Trevas
Conscientizao das limitaes
1970 - 1975 Perodo da renascena
Hearsy,
Mycin (ajudava a diagnosticar doenas no sangue, tinha 450
regras e fazia anlise do sangue),
Prospector (fazia prospeco geolgica),
Prolog
1975 - 1980 Perodo da associao
reas de aplicao
1980 - . . . . Perodo do empreendimento
Popularizao de SE
Ferramentas e Ambientes
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
[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]
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]
IA Computao Convencional
No algortmico Algortmico
Processamento Simblico Processamento Numrico
No Determinista Determinista
Fcil Modificao Difcil Modificao
Estrutura Estrutura
Resultados Resultados
Trabalhos no Estruturados
Trabalhos Estruturados
COMPUTAO INTELIGENTE
COMPUTAO CONVENCIONAL
C A
A seqncia de B
B movimentos 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.
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
C B
A A
B C
A A
BC BC
C B C B
B AC ABC AB C
A A
B C
AC AB
A A
B C
C B
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.
A
B B
(2) Se estado atual AC ento o estado atual alterado para C
B B
(3) Se estado atual AC ento o estado atual alterado para AC
B
(4) Se estado atual AC ento o estado atual alterado para ABC
...
C
(30) Se estado atual A B C ento o estado atual alterado para A B
Figura 8 Conjunto de operaes onde as restries esto implicitamente representadas.
O(s) estado(s) sucessor(es) de um estado qualquer pode(m) ser definido(s) pela clusula sucessor(<estado atual>, <estado
sucessor>). Com esta sintaxe, o conjunto de operaes da Figura 8 pode ser implementado como apresentado na Figura 9.
Entretanto, esta implementao no muito adequada porque exige escrever todas as configuraes possveis de pilhas.
Uma implementao mais econmica apresentada abaixo:
sucessor(Estado, [Pilha1, [Topo1 | Pilha2] | OutrasPilhas]) :-
remove([Topo1 | Pilha1], Estado, EstadoAux),
remove(Pilha2, EstadoAux, OutrasPilhas).
C
A
B
(7)
A
BC
(3) (8)
(1)
C
A A
BC ABC
B
B
A A C C A A B B A
C ABC BC AB AB BC BC AC AC BC
A
B B
AC ABC C
Abaixo apresentada uma implementao em Prolog bastante simples e, portanto fcil de entender. A desvantagem desta
implementao que a mesma permite ciclos, o que pode conduzir a pesquisa a um ramo sem sadas.
pesquise(N, [N]) :- objetivo(N).
pesquise(N, [N | Caminho]):-
sucessor(N, Naux),
pesquise(Naux, Caminho).
profundidade(Caminho, N, Soluo) :-
sucessor(N, Naux),
not(member(Naux, Caminho)),
profundidade([N | Caminho, Naux, Soluo).
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) (3,1,1)
move(1,3) move(2,3) move(1,2) move(3,2)
2 8 3
1 6 4
7 5
(3) (4)
(1)
2 8 3 2 8 3 2 8 3
1 6 4 1 4 1 6 4
7 5 7 6 5 7 5
(1) (1) (4) (1)
(3)
2 8 3 2 3 2 8 3 2 8 3 2 8 3
6 4 1 8 4 1 4 1 4 1 6
1 7 5 7 6 5 7 6 5 7 6 5 7 5 4
Operao
Para diferentes pinos I, J e K, o problema de mover uma pilha de argolas de tamanho n>1 do pino I para o pino K pode ser
substitudo por 3 subproblemas:
Mover uma pilha de tamanho n-1 de I para J.
Mover uma pilha de tamanho 1 de I para K.
Mover uma pilha de tamanho n-1 de J para K.
Grafo E/OU
A Figura 15 apresenta o grafo E/OU que o espao de busca para problemas representados por Reduo de Problemas.
[3,1,3]
3 8 P1
T 5 P2 9 P3
T T P6
P4 P5
Figura 16 Exemplo de busca em profundidade em uma rvore E/OU. A soluo o conjunto de
problemas primitivos {P2, P5}.
2 3
4 5 P1 7
T 9 P2 11 12 P3
P6
P4 T T P5
Figura 17 Exemplo de busca em extenso em uma rvore E/OU. A soluo o conjunto de problemas
primitivos {P1, P3}.
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.
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).
Os operadores so:
(1) Pegue um bloco e coloque-o sobre a mesa
(2) Pegue um bloco e coloque-o sobre outro
A funo heurstica que ser utilizada faz o seguinte clculo: some um ponto para cada bloco em cima do bloco em que ele
deva esta e subtraia um ponto para cada bloco que estiver sobre o bloco errado.
Com esta heurstica os estados inicial e final recebem as notas: f(estado inicial) = 1 e f(estado meta) = 5. A rvore de busca
apresentada na Figura 19.
E
D
f(e) = Para a busca aqui
C
A B
(1) (2)
(2)
D D A
C f(e) = E C f(e) = E f(e) =
E A B A B D
C
B
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.
A
E
D f(e) = -15
C
B
(1)
E
D
f(e) = -9
C
A B
(1) (2)
(2)
D D A
C f(e) = -6 E C f(e) = -7 E f(e) = -15
E A B A B D
C
B
Figura 20 rvore de busca para o problema da Figura 18 utilizando o mtodo Subida da Encosta com
uma funo heurstica mais adequada.
Mapa: incio
1 a
6 b
3
5
4
1
e
3 c 4
d 2
2 k 5
2
z
fim
Representao do Estado: Nome da cidade
Representao do Espao de Estados: O prprio mapa ou um grafo
Estado Inicial: a
Estado Final: z
a
5 3
1
f=7 f=6
b c f=5 e
6 2 4
f=10
d z f=8 z f=16
f=10
z
Representao em Prolog
objetivo: goal(z).
Consulta e resultado:
?- bestfirst(a, Sol), showsol(Sol).
---a
---c
---d
---z
Sol = [z, d, c, a]
1 3 4 1 2 3
8 2 8 4
7 6 5 7 6 5
Representao em Prolog
Posies das peas: coordenadas cartesianas X/Y
Clusulas:
Caso 1: o nodo a ser expandido um nodo final
Conclui a busca
Representao da rvore
Nodos em Aberto (folhas):
l( <estado> , <f(<estado>)>/<g(<estado>) )
bestfirst(Start, Solution):-
expand([], l(Start, 0/0), 9999, _, yes, Solution). % Assume que 9999 maior que qualquer f-value
% 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 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 4: non-Leaf with empty subtrees - This is a dead end which will never be solved
expand( _, t(_, _, []), _, _, never, _):- !.
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).
% succlist(G0, [Nodel/Cost1, ...], [l(BestNode. BestF/G), ...]): make list of search leaves ordered by their f-values
succlist(_,[],[]).
min(X,Y,X):-
X =< Y,!.
min(X, Y, Y).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Procedimentos especficos para o jogo dos 8
dif(A,B,D):- % D is |A-B|
D is A-B, D >= 0,!
;
D is B-A.
% 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.
showsol([P | L]):-
showsol(L),
nl, write('---'),
showpos(P).
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.
REALIDADE
FATOS FATOS
Modelagem Soluo
Base
de Estratgia de Controle
Dados
Condio Ao
Condio Ao Regras de
Produo
Condio Ao
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;
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.
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.
Consulta Resposta
SE
engenheiro de
especialistas 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.
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?
Estratgia de Controle
composto por vrios elementos:
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.
o 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.
Se B e C ento A. Se B e C ento A.
Objetivo Se D ou E ento B. Se D ou E ento B.
Se F e D ento C. Se F e D ento C.
(problema inicial) D. D.
F. F.
A B. C.
... ...
Obs.: o usurio pode ser tratado como uma
extenso do Banco de Conhecimento.
Objetivo
(problema inicial) D E F G
A. ? ?
Forma de Inferncia
Fator de certeza (FC) da concluso de uma regra = (FC(conjunto de antecedentes) * FC(regra)) / 100
FC(conjunto de antecedentes) = min(FCs dos antecedentes) se antecedentes conjuntivos (unidos pelo E) ou
= max(FCs dos antecedentes) se antecedentes disjuntivos (unidos pelo OU)
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 (tcnicas probabilsticas)
Observao
Como pode ser observado, as diferentes Forma FC(B)
formas de tratar a situao apresentam uma a) Max 48
grande variao. b) Mdia 35
c) Probabilidade 74
MYCIN
O MYCIN foi um dos primeiros e mais conhecidos sistemas especialistas e considerado um marco na IA. Foi criado
inicialmente para diagnosticar e sugerir tratamento para doenas no sangue e desenvolvido na Universidade de Stanford, a
partir de 1972. A principio era essencialmente um projeto acadmico, mas influenciou enormemente a maioria dos sistemas
especialistas que estavam por vir.
O MYCIN usa o encadeamento para trs (backward) para descobrir que organismos estavam presentes no sangue; depois
ele usava o encadeamento para frente (forward) para raciocinar sobre o regime de tratamento.
O MYCIN tenta atingir seu projeto de recomendar uma terapia para um determinado paciente encontrando primeiro a causa
da doena do paciente. Para atingir objetivos de nvel mais alto do diagnstico, ele procura regras cujos lados direitos sugiram
doenas. Depois ele usa os lados esquerdos dessas regras (as precondies) para definir sub-objetivos cujos xitos permitiro
que as regras sejam invocadas. Esses sub-objetivos so novamente casados com as regras, e suas precondies so usadas para
estabelecer mais sub-objetivos.
PROSPECTOR
O PROSPECTOR um sistema especialista que d conselhos sobre a explorao de minerais. Foi criado no final da dcada
de 70 pela SRI International. um sistema digno de ser mencionado pelas seguintes razes: primeiro, ele se prope a resolver
problemas de extrema dificuldade, at mesmo os melhores especialistas disponveis (gelogos principalmente) no executam
essa tarefa com um alto grau de certeza; segundo, ele ilustra uma abordagem bastante diferente para sistemas especialistas
(manipulao de probabilidades).
As regras no PROSPECTOR so do tipo
Se: magnetita ou pinta em forma disseminada ou em veios est presente
Ento: (2,-4) h mineralizao e textura favorveis ao estgio propiltico.
No PROSPECTOR, cada regra contm duas estimativas de confiana. que variam de -5 a 5. A primeira indica at que ponto
a presena da evidncia descrita na condio da regra sugere a validade da concluso da regra. Na regra do PROSPECTOR
mencionada, o nmero 2 indica que a presena da evidncia suavemente encorajadora. A segunda estimativa de confiana
mede at que ponto a evidncia necessria para a validade da concluso, ou em outras palavras, at que ponto a falta da
evidncia indica que a concluso no vlida. No exemplo anterior, o nmero -4 indica que a ausncia de evidncia
fortemente desencorajadora para a concluso.
XCON ou R1
Enquanto o MYCIN influenciava bastante o desenvolvimento de sistemas especialistas na rea acadmica, um outro sistema
clssico, o Ri, depois chamado XCON, despertou mais o interesse no mundo comercial. Trata-se de um sistema que configura
os sistemas DEC VAX. Suas regras so do tipo:
Se: o contexto mais atual a distribuio de dispositivos barramento massbus, E
h um drive de disco de porta nica que ainda no foi atribudo a um barramento massbus, E
no h nenhum drive de disco de porta nica sem designao, E
o nmero de dispositivos que cada barramento massbus deve suportar conhecido, E
h um barramento massbus ao qual foi atribudo pelo menos um drive de disco e que deve suportar drives adicionais,
E
o tipo de cabo necessrio para conectar o drive de disco ao dispositivo anteriormente no barramento massbus
conhecido
Ento: atribua o drive ao barramento massbus
DENDRAL
O META-DENDRAL, criado em 1978, foi o primeiro programa a usar tcnicas de aprendizagem para construir
automaticamente regras para um sistema especialista. Ele criava regras para serem usadas pelo DENDRAL, cuja tarefa era
determinar a estrutura de compostos qumicos complexos. O META-DENDRAL era capaz de induzir suas regras com base em
um conjunto de dados sobre espectrometria de massa: desse modo, ele conseguia identificar as estruturas moleculares com
preciso bastante alta.
FLEXIBILIDADE
AJUSTE
LINGUAGENS DE Pascal
ALTO NVEL
Lisp
Prolog
Interlisp
AMBIENTES OPS5
FACILIDADE
VELOCIDADE DE DESENVOLVIMENTO
5.6. 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.
6. Engenharia de Conhecimento
O objetivo da Engenharia de Conhecimento desenvolver sistemas de IA baseados em conhecimento atravs da
modelagem dos processos cognitivos para resoluo de problemas utilizados pelos especialistas em algum domnio.
A Engenharia de Conhecimento uma tarefa artesanal, pois os mtodos utilizados pelos especialistas so particulares e, as
atividades dependem do tipo e do domnio do problema.
Os profissionais envolvidos so
Especialista;
Engenheiro de Conhecimento;
Programador.
5
Plano de Treinamento e Reorganizao
Integrao
de Sistemas
Pedido ao Fabricante
8
Anlise do
Hardware
6
Interface Necessidades
com de Hardware
Configurao Implementao
Usurio
Entrada do
Usurio
Projeto de
1 2 4 Consolidao
Usurio Integrao Anlise Projeto
de Sistemas Estruturada Especificao Estruturado Mdulos
Estudo /
Estruturados
Viabilidade Estruturada
Plano de
Testes
BD Lgico
BD Fsico 7
Teste de
Aceitao
3
Projeto da
Base Dados Sistema de
Produo
5
Plano de Treinamento e Reorganizao
Integrao
de Sistemas
Pedido ao Fabricante
8
Anlise do
Hardware
6
Interface Necessidades
com de Hardware
Configurao Implementao
Usurio
Entrada do
Usurio
Projeto de
1 2 Especificao 4 Consolidao
Usurio Integrao Anlise Estruturada Projeto
de Sistemas Estruturada Estruturado Mdulos
Estudo de Estruturados
Viabilidade
Especificao
IA Plano de
BD Testes
Fsico
7
Teste de
Especificao Aceitao
BC lgica
BD Lgico
Mdulo IA Sistema de
3 11 Produo
Projeto da Projeto IA
Base Dados
12
Implement.
Projeto IA IA
Especificao
10 BC fsica
Projeto da Base de
BC Conheciment
9
Aquisio do
Conhecim.
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.
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
Tarefa
Como simular a
tarefa
Consideraes
instrucionais
Restries
oramentrias
1 a 3 meios
eficazes
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
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