Você está na página 1de 51

UNIVERSIDADE FEDERAL DE OURO PRETO INSTITUTO DE CINCIAS EXATAS E BIOLGICAS DEPARTAMENTO DE COMPUTAO

Apostila

CIC250 - Inteligncia Artificial


lvaro Guarda

Ouro Preto - MG Janeiro de 2006

Sumrio
1. Introduo......................................................................................................................................................................3

1.1. 1.2. 1.3. 1.4.


2.

Objetivos do Curso................................................................................................................................. 3 Evoluo da Inteligncia Artificial ........................................................................................................ 3 reas de Pesquisa da IA......................................................................................................................... 3 Referncias............................................................................................................................................. 4 Discusso e Tentativa de Definio ....................................................................................................... 5 Comparao entre IA e Computao Convencional .............................................................................. 7 Automao de Atividades ...................................................................................................................... 7

Caracterizao ...............................................................................................................................................................5

2.1. 2.2. 2.3.


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. 4.2. 4.3. 4.4.


5.

Propriedades de Sistemas de Representao do Conhecimento .......................................................... 28 Formas de Representao do Conhecimento ....................................................................................... 28 Sistemas de Produo (SP) .................................................................................................................. 29 Sistemas Baseados em Regras ............................................................................................................. 31 Componentes Bsicos de um SE.......................................................................................................... 32 Arquitetura do Motor de Inferncia ..................................................................................................... 33 Alguns Exemplos de Sistemas Especialistas ....................................................................................... 36 Ferramentas de Desenvolvimento de Sistemas Especialistas .............................................................. 38 Aquisio de Conhecimento ................................................................................................................ 38 Problemas............................................................................................................................................. 39 Concluses ........................................................................................................................................... 39 Metodologias de Desenvolvimento...................................................................................................... 40 Atividades em um Sistema com IA...................................................................................................... 40 Etapas na Construo de um pequeno SE ............................................................................................ 42

Introduo aos Sistemas Especialistas .......................................................................................................................32

5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7.


6.

Engenharia de Conhecimento ....................................................................................................................................40

6.1. 6.2. 6.3.

Inteligncia Artificial

lvaro Guarda

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:

Y "O homem vai tentar reproduzir o computador sua imagem". Artigo "A revoluo da IA" (Estado de Minas,
18/11/96).

Y "O objetivo principal da IA construir uma pessoa, ou mais humildemente, um animal", Charmiak e McDermott. Y "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. Evoluo da Inteligncia Artificial . . . . - 1960 1960 - 1965 1965 - 1970 1970 - 1975 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

1975 - 1980 1980 - . . . .

1.3.

reas de Pesquisa da IA

Y Processamento do Conhecimento (simblico)


o o o
Inteligncia Artificial

Modelagem e Representao Mtodos de Inferncia Sistemas Baseados em Conhecimento


lvaro Guarda

o Aquisio de Conhecimento o Aprendizado Computacional Y Redes Neuronais Y Sistemas e Linguagens para IA Y Arquiteturas Especficas para IA Y Processamento de Linguagem Natural Y 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.

Inteligncia Artificial

lvaro Guarda

2.

Caracterizao

2.1. Discusso e Tentativa de Definio O termo Inteligncia Artificial no de fcil definio e h controvrsias entre vrios pesquisadores. Abaixo so apresentadas algumas definies para as palavras que compem o termo retirado do Dicionrio Michaelis e outros. Artificial Produzido por arte ou indstria do homem e no por causas naturais. Que envolve artifcio. Contrafeito, fingido, postio. Feito pelo homem. Imitao. Oposto de natural. Tenta imitar o comportamento humano. Inteligncia Faculdade de entender, pensar, raciocinar e interpretar; entendimento, intelecto. Compreenso, conhecimento profundo. Pessoa de grande esfera intelectual. Habilidade em fazer determinada coisa. Faculdade ou capacidade de aprender, compreender. Facilidade de adaptao. Intelectualidade. Destreza mental, perspiccia. Habilidade mental medida pelo QI (capacidade de manipulao simblica). A inteligncia deve ser compreendida no apenas como aptido para o manejo de smbolos e nmeros, mas sobretudo como habilidade para interagir com o meio ambiente, lidar com situaes inesperadas, fazer uso de analogias, metforas e abstraes. Os grandes gnios da humanidade ajudaram a fixar na cultura ocidental um padro de "homem inteligente". Entretanto, este padro apresenta alguns problemas: Albert Einstein : Maltratava a mulher como uma escrava particular, era excessivamente rabugento. Sigmund Freud : Sofria do complexo de dipo, era obcecado pela me. Karl Max : Queria demolir o capitalismo, mas era um gastador inveterado, no sabia administrar as suas finanas e vivia pedindo dinheiro aos amigos. Charles Darwin : Pesquisador compulsivo, tinha sndrome de pnico. Tinha crises de vmito com medo da Teoria da Evoluo. Assim, a inteligncia passou a ser vista e discutida sob vrios aspectos: Inteligncia racional (acadmica): geralmente associada a aptides lingsticas e numricas. Inteligncia intra-pessoal : conhecer-se a si mesmo. Inteligncia social : relaes humanas, entender os outros. Inteligncia corporal : relacionamento com o espao (ex.: Garrincha, Pel, Barishnikov). Inteligncia emocional : autocontrole, zelo, persistncia, capacidade de se motivar, etc. Atualmente h um consenso de que um alto QI no garantia de sucesso e passou-se a adotar o que chamamos de Inteligncia Emocional (IE) juntamente com o QI. A habilidade de lidar com caractersticas avaliadas pela IE pode dar a verdadeira medida da inteligncia humana: autocontrole, zelo, persistncia, capacidade de se motivar, etc. Hoje em dia as empresas esto valorizando muito essas capacidades em seus futuros empregados. Neste contexto surge a questo da necessidade e da possibilidade de se prover capacidades emocionais em mquinas. Desconsiderando esta questo, apesar de parecer que as definies apresentadas so suficientes, a definio de inteligncia superficial, descrevendo apenas qualidades ou apresentando sinnimos. Nem mesmo os pesquisadores em Psicologia Cognitiva sabem como a inteligncia funciona, como formada e o que necessrio para que ela se manifeste.
Inteligncia Artificial lvaro Guarda

Existem muitas discusses filosficas sobre o assunto. Para muitos cientistas, a inteligncia est relacionada com vontade prpria, intencionalidade, e existem outras esferas de discusso: 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 Sistemas que pensam racionalmente

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 sense computational models [Charniak85] [Haugeland75] [The automation of] activities that we associate The study of the computations that make it possible with human thinking, activities such as decision- to perceive, reason, and act [Winston92] making, problem solving, learning, [Bellman78]

Sistemas que agem como humanos

Sistemas que agem racionalmente

The art of creating machines that perform functions A field of study that seeks to explain and emulate that require intelligence when performed by people intelligent behavior in terms of computational [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 - Classificao de algumas definies de IA

Inteligncia Artificial

lvaro Guarda

2.2. Comparao entre IA e Computao Convencional A Figura 2 apresenta as principais caractersticas que diferenciam um sistema de IA e um sistema construdo de forma

convencional.
IA No algortmico Processamento Simblico No Determinista Fcil Modificao Estrutura Computao Convencional Algortmico Processamento Numrico Determinista Difcil Modificao Estrutura

Dados + Programas Estrutura de Controle Resultados


Figura 2

Dados Programas Resultados

- IA x Computao Convencional

2.3. Automao de Atividades A Figura 3 mostra uma classificao das atividades que so executadas nas empresas e o tipo de automao que utilizado em cada caso.

Trabalhos no Estruturados

Trabalhos pouco Estruturados Trabalhos Estruturados

COMPUTAO INTELIGENTE

COMPUTAO CONVENCIONAL
Figura 3 - Perfil das atividades em relao mo-de-obra

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.

3.1. Espao de Estados Nesta abordagem a modelagem do problema elaborada conforme a Figura 4. Partindo-se de um estado inicial deseja-se chegar a um estado final utilizando-se um conjunto de operaes de transformao de estados. Estado Inicial Figura 4 Operaes Estado Final

Representao do problema.

3.1.1. Representao do Problema em Espao de Estados Para facilitar a assimilao dos conceitos, a introduo ao assunto ser feita atravs do mundo dos blocos. O mundo dos blocos proposto para estudo possui apenas trs blocos (A, B e C) e uma mesa. Os blocos podem estar sobre a mesa ou empilhados. O problema elaborar um plano para re-arranjar a disposio dos blocos de acordo com o desejado. Assim, um plano uma seqncia de movimentos de blocos que, partindo de uma situao inicial, leva a uma situao desejada. A Figura 5 apresenta um problema especfico, onde esto definidas a situao inicial e a situao desejada. A definio do mundo estabelece uma classe de problema, pois possvel definir para o mesmo mundo novos problemas atravs da escolha de outras situaes inicial e desejada.
situao inicial situao desejada

C A B
Figura 5

seqncia de movimentos

A B C

Um problema de re-arranjo de blocos (baseado em [Bratko2001]).

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 coloque o bloco A sobre a mesa; coloque o bloco A sobre o bloco B; coloque o bloco A sobre o bloco C; coloque o bloco B sobre a mesa; coloque o bloco B sobre o bloco A; coloque o bloco B sobre o bloco C; coloque o bloco C sobre a mesa; coloque o bloco C sobre o bloco A; coloque o bloco C sobre o bloco B.

Um possvel conjunto de operaes para o problema da Figura 5.

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 o

Inteligncia Artificial

lvaro Guarda

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.
  
  

     


  

  

  

  

  

 

  

  

  

  

  

  

  

  

  

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;
Inteligncia Artificial lvaro Guarda

(2) se X e Y esto no topo de pilhas coloque o bloco X sobre o bloco Y. Em um outro exemplo, as restries so implicitamente representadas nas operaes, conforme a Figura 8.
  (1) Se estado atual  ento o estado atual alterado para
   

 

(2) Se estado atual (3) Se estado atual

 

  ento o estado atual alterado para   ento o estado atual alterado para 

  


  

  

  

  

(4) Se estado atual  ento o estado atual alterado para

 

...
 (30) Se estado atual 
  

Figura 8

ento o estado atual alterado para  Conjunto de operaes onde as restries esto implicitamente representadas.



3.1.2. Implementao da Representao do Problema em Espao de Estados A implementao da representao depende da linguagem. Em Prolog, no caso do problema da Figura 5, os estado podem ser representados como uma lista de pilhas. Se houver no mximo trs pilhas e uma pilha for representada tambm como uma lista, sendo que o topo primeiro elemento da lista, ento a representao final dos estados [[<bloco no topo>, <bloco abaixo do topo>, ... , <bloco na base>], [<bloco no topo>, <bloco abaixo do topo>, ... , <bloco na base>], [<bloco no topo>, <bloco abaixo do topo>, ... , <bloco na base>]]. Desta forma, o estado inicial do problema representado como a lista [[c, a, b], [], []] e o estado final pode ser representado como a lista [[a, b, c], [], []] ou [[], [a, b, c], []] ou [[], [], [a, b, c]]. A clusula abaixo uma implementao para se identificar quando se atinge o objetivo. objetivo(Estado) :- member([a, b, c], Estado). 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. sucessor([[a, b, c], [], []], [[b, c], [a], []]). sucessor([[a, b, c], [], []], [[b, c], [], [a]]). sucessor([[],[a, b, c], []], [[a], [b, c], []]). sucessor([[],[a, b, c], []], [[], [b, c], [a]]). ... Uma implementao do conjunto de operaes Figura 8.

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). remove(Pilha, [Pilha | RestoEstado], RestoEstado). remove(Pilha, [Paux | RestoEstado], [Paux | Resto]) :remove(Pilha, RestoEstado, Resto). 3.1.3. Mtodos de Busca Cegos em Espao de Estados A busca de uma soluo feita atravs da procura de um caminho no espao de estados que leva do estado inicial para o estado final. Os mtodos cegos fazem uma pesquisa sistemtica do espao de estados, porm no utilizam nenhum conhecimento para guiar a busca. Os dois principais mtodos cegos so a busca em profundidade e a busca em extenso.
Inteligncia Artificial lvaro Guarda

10

A ao de percorrer o espao de estados feita de acordo com uma estratgia de controle que seleciona um estado e um operador que ser aplicado ao estado para gerar os estados subseqentes. A aplicao dos operadores nos estados iniciais e 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.
  
(7)
  

  
(8)

(3)
  

(1)

  

 

  

  

 

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

 

  

Figura 10 rvore de pesquisa para o problema da Figura 5, utilizando o conj. de operaes da Figura 6. 3.1.3.1. Busca em Profundidade A busca em profundidade explora um ramo da rvore de cada vez, ou seja, todos os nodos de um caminho da rvore so examinados antes dos nodos dos outros caminhos. A estrutura de dados associada uma pilha, pois deve visitar primeiro os nodos mais recentes, aqueles que esto mais distantes da raiz. necessrio armazenar apenas o caminho que est sendo explorado e os caminhos j explorados podem ser descartados. A explorao dos caminhos alternativos pode ser feita atravs do retrocesso. No algoritmo abaixo no est previsto nenhum mecanismo de retrocesso. Algoritmo: 1. Se o estado inicial um estado objetivo, pare e retorne sucesso. 2. Seno, faa o seguinte at o sucesso (ou insucesso): a) Gere um sucessor "E" do estado inicial. Se no h mais sucessores, assinale insucesso. b) Seno, chame BUSCA EM PROFUNDIDADE com E como estado inicial. c) Se sucesso ento retornado sucesso Seno, continue o passo 2. 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).
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

% Nodo no tem sucessores (bagof falhou!)


lvaro Guarda

12

3.1.3.4. Comparao: Busca em Profundidade x Busca em Extenso Busca em profundidade: Mesmo que haja uma soluo, no h garantias de encontra-la, pois pode explorar um caminho infinito que no contm a soluo. Por sorte, pode achar uma soluo sem examinar muito o espao de estado. adequada quando existe soluo na maioria dos ramos. Requer menos memria. Busca em Extenso: Se houver soluo, garante a obteno da soluo de menor caminho. No corre o risco de examinar por longo tempo becos sem sada. No muito adequada quando o fator de ramificao muito alto, pois exige armazenar muitos caminhos alternativos. Consome muita memria. 3.1.3.5. Outros Exemplos de Problemas e de Modelagem utilizando Espao de Estados Exemplo 1: Torre de Hani A representao grfica do problema da Torre de Hani apresentada na Figura 11. 1 2 3 1 2 3

Estado Inicial Figura 11 Torre de Hani.

Estado Final

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) move(1,2)

(3,1,1)

move(3,2)

(2,3,1)

(3,1,1)

(3,2,1)

(2,1,1)

Figura 12 rvore de pesquisa para o problema da Torre de Hani.


Inteligncia Artificial lvaro Guarda

13

Exemplo 2: Jogo dos 8 A Figura 13 mostra a representao grfica para o problema do jogo dos 8. Estado Inicial Estado Objetivo Operaes

2 1 7

8 6

3 4 5

1 8 7

2 6

3 4 5

Figura 13 Representao do problema para o jogo dos 8. possvel modelar as operaes de diversas maneiras, mas a forma mais eficiente consiste em aplicar operaes na casa vazia, o que possibilita que sejam necessrias apenas quatro operaes: (1) Mover a casa vazia para cima. (2) Mover a casa vazia para baixo. (3) Mover a casa vazia para esquerda. (4) Mover a casa vazia para direita.

2 8 3 1 6 4 7 5
(3) (1) (4)

2 8 3 1 6 4 7 5
(1) (1)

2 8 3 1 4 7 6 5
(3) (4)

2 8 3 1 6 4 7 5
(1)

2 8 3 6 4 1 7 5

2 3 1 8 4 7 6 5

2 8 3 1 4 7 6 5

2 8 3 1 4 7 6 5

2 8 3 1 6 7 5 4

Figura 14

rvore de pesquisa para o jogo dos 8.

Exemplo 3: Jogar Xadrez 1. Especificar a posio inicial do tabuleiro Matriz 8x8, onde cada posio contendo um smbolo que representa a pea apropriada (ou indicao de casa vazia) na posio oficial de abertura do jogo. 2. Definir as operaes que representam movimentos legais As operaes tambm podem ser definidas como um conjunto de regras de produo da forma : LADO.ESQ LADO.DIR onde LADO.ESQ : Padro a ser comparado antes de uma jogada. LADO.DIR : Descreve a mudana a ser feita. Exemplo: Regra "move peo branco" peobranco em posio (j, i) posio (j, i+1) est vazia posio (j, i+2) est vazia move peobranco de posio (j, i) para posio (j, i+2). 3. Definir posies que representam vitria Qualquer posio do tabuleiro na qual o oponente no tenha um movimento legal, e seu rei esteja sendo atacado.
Inteligncia Artificial lvaro Guarda

14

3.2. Resoluo de Problemas como Busca por Reduo de Problemas Na resoluo de problemas utilizando como enfoque a busca por reduo de problemas, a idia utilizada a da decomposio de problemas em subproblemas com complexidade menor que a do problema original. A modelagem do problema feita atravs da definio dos seguintes elementos: Descrio do problema inicial. Conjunto de operaes de transformao de problemas. Conjunto de problemas primitivos (problemas que tm soluo imediata, conhecida). A soluo um conjunto de Problemas Primitivos encontrados a partir da aplicao das operaes no problema inicial e nos subproblemas j gerados. O espao de busca representado graficamente por um grafo E/OU. Neste grafo, os nodos contm a descrio dos problemas (subproblemas) e os arcos indicam relaes entre os problemas, isto , como os problemas so decompostos. As folhas da rvore podem ser problemas primitivos ou nodos terminais (problemas insolveis). Os nodos intermedirios, sucessores de um determinado nodo, so do tipo OU, indicando que os nodos sucessores so problemas alternativos, ou do tipo E, indicando que os nodos sucessores so problemas conjuntivos. A busca a construo sistemtica do grafo E/OU atravs da aplicao das operaes que vo decompondo os problemas. Exemplo 1: Torre de Hani A representao grfica do problema da Torre de Hani apresentada na Figura 11. Representao do problema [<TAM. PILHA>,<PINO DE SADA>,<PINO DE CHEGADA>] Problema inicial : [3,1,3] Problema primitivo : mover uma pilha de tamanho 1. 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] [2,1,2] [1,1,3] [1,1,2] [1,3,2] [1,1,3] [1,2,1] [2,2,3] [1,2,3] [1,1,3]

Figura 15 - Grafo E/OU para o problema da Torre de Hani. Solubilidade dos nodos Um nodo solvel se: um problema primitivo. um nodo "E" cujos sucessores so todos solveis. um nodo "OU" onde pelo menos um dos sucessores solvel Um nodo insolvel se: um nodo terminal. um nodo "E" onde pelo menos um dos sucessores insolvel. um nodo "OU" cujos sucessores so todos insolveis.
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

P3

P4

P5

P6

Figura 16 Exemplo de busca em profundidade em uma rvore E/OU. A soluo o conjunto de problemas primitivos {P2, P5}.

1 2 3

P1

P2

11

12

P3

P4

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.

Tipos de heurstica no processo de busca a) Heurstica genrica:


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

Figura 18 Representao grfica de um problema do Mundo dos Blocos 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.

Inteligncia Artificial

lvaro Guarda

17

A E D f(e) = 1 C B
(1)

(1)

E D f(e) = 3 C A B
(2)

Para a busca aqui (2)

D C f(e) = 1 E A B

D E C f(e) = 1 A B

A E f(e) = 1 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. 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:
Inteligncia Artificial lvaro Guarda

18

Seleciona o melhor vizinho, desde que seja melhor que o estado corrente. 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
(1)

f(e) = -15

(1)

E D C A B
(2)

f(e) = -9
(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:
6 1

a
3

incio

b
4 3 2
5

e c
2 2

1 4

d z

fim Representao do Estado: Nome da cidade Representao do Espao de Estados: O prprio mapa ou um grafo Estado Inicial: a
Inteligncia Artificial lvaro Guarda

19

Estado Final: Operaes:

z percorrer uma estrada at uma cidade vizinha

Funo Heurstica (faz parte da modelagem do problema) f(x) = g(x) + h(x) onde g(x) = distncia percorrida da cidade a at a cidade x (nmeros em negrito, prximo s cidades) h(x) = distncia em linha reta da cidade x at a cidade z (nmeros em negrito, prximo s cidades) Problema: Achar o Menor Trajeto Exemplos de Aplicao da Funo Heurstica f(b) = g(b) + h(b) = 1 + 6 = 7 f(c) = g(c) + h(c) = 3 + 2 = 5 f(e) = g(e) + h(e) = 5 + 1 = 6 f(k) = g(k) + h(k) = (5+4) + 5 = 14 ... rvore de Busca: os nmeros em negrito prximos aos nodos indicam a ordem de expanso
1

a c
f=5 f=6

f=7

f=7

f=8

f=14

f=10

f=8

f=16

f=10

A soluo encontrada pode eventualmente no ser o menor trajeto, dependendo do problema, mas pode ser uma soluo bastante aceitvel. Exemplo: Achar o Menor Trajeto Representao em Prolog objetivo: goal(z). sintaxe das operaes: s( <nodo>, <nodo sucessor>, <custo>) onde <custo> a distncia entre as cidades s(a,b,1). s(a,c,3). s(a,e,5). s(b,c,4).
Inteligncia Artificial lvaro Guarda

20

s(c,d,3). s(d,z,2). s(e,k,4). s(k,z,7). 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 8 7 6 4 2 5 1 2 8 7 6 3 4 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

posio da casa vazia posio da pea 1 posio da pea 2 posio da 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 8 4 7 6 5
1 2 3

3 2 1

1 2 3 8 4 7 6 5
1 2 3

O estado final representado como: [2/2, 1/3, 2/3, 3/3, 3/2, 3/1, 2/1, 1/1, 1/2]

A clusula showsol apresenta a soluo como uma seqncia de posies do tabuleiro.


Inteligncia Artificial lvaro Guarda

21

?- bestfirst([2/2,1/3,3/2,2/3,3/3,3/1,2/1,1/1,1/2], Soluo), showsol(Soluo). 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 (f-value da prxima melhor alternativa)

Tree1: rvore expandida dentro do limite (bound) Solved: yes - Solution instanciado no - Tree1 = Tree expandida, mas f-value > limite never - indica que Tree ramo sem sada

Solution: caminho entre o nodo inicial e o estado final Clusulas: Caso 1: o nodo a ser expandido um nodo final Conclui a busca

Caso 2: o nodo folha e f-value < limite (bound) Gera sucessores e os expande enquanto no atinge o limite

Caso 3: o nodo no folha e f-value < limite Percorre a rvore at chegar ao nodo folha c/ f-value < limite

Caso 4: o nodo no folha e no possui sub-rvores No deve ser expandido, pois um ramo sem sada

Caso 5: o nodo com f-value > limite No deve ser expandido, pois h opes mais interessantes

Representao da rvore Nodos em Aberto (folhas): l( <estado> , <f(<estado>)>/<g(<estado>) ) Nodos Internos ((sub-)rvores) t( <estado> , <f(<estado>)>/<g(<estado>), <lista de sub-rvores> ) 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 1: goal leaf-node, construct a solution path expand(P, l(N, _), _, _, yes, [N | P]):Inteligncia Artificial lvaro Guarda

22

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) :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). make list of search leaves ordered by their f-values

% Heuristic term h(N)

% Insert T into list of trees Ts preserving order with respect to f-values insert(T,Ts,[T|Ts]):f(T, F), bestf(Ts, F1),
Inteligncia Artificial lvaro Guarda

23

F =< F1,!. insert(T, [T1 | Ts], [T1 | Ts1]):insert(T, Ts, Ts1). % Extract f-value f(l(_,F/_), F). f(t(_,F/_,_), F). bestf([T|_],F):f(T, F). bestf([], 9999). min(X,Y,X):X =< Y,!. min(X, Y, Y). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Procedimentos especficos para o jogo dos 8 % s( Node, SuccessorNode, Cost) s([Empty | Tiles], [Tile | Tiles1], 1):swap(Empty, Tile, Tiles, Tiles1). % All arc costs are 1 % Swap Empty and Tile in Tiles % f-value of a leaf % f-value of a tree % Best f-value of a list of trees % No trees: bad f-value

swap(Empty, Tile, [Tile | Ts], [Empty | Ts]):mandist(Empty, Tile, 1). % Manhattan distance = 1 swap(Empty, Tile, [T1 | Ts], [T1 | Ts1]):swap(Empty, Tile, Ts, Ts1). mandist(X/Y, X1/Y1, D):dif(X, X1, Dx), dif(Y, Y1, Dy), D is Dx + Dy. dif(A,B,D):D is A-B, D >= 0,! ; D is B-A. % D is Manh. dist. between two squares

% 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),
Inteligncia Artificial lvaro Guarda

24

D is D1 + D2. % seq(TilePositions, Score): sequence score seq([First | OtherTiles], S):seq([First | OtherTiles], First, S). seq([Tilel, Tile2 | Tiles], First, S):score(Tilel, Tile2, S1), seq( [Tile2 | Tiles], First, S2), S is S1 + S2. seq([Last], First, S):score(Last, First, S). score(2/2, _, 1). score(1/3, 2/3, 0):- !. score(2/3, 3/3, 0):- !. score(3/3, 3/2, 0):- !. score(3/2, 3/1, 0):- !. score(3/1, 2/1, 0):- !. score(2/1, 1/1, 0):- !. score(1/1, 1/2, 0):- !. score(1/2, 1/3, 0):- !. score(_, _, 2). goal([2/2,1/3,2/3,3/3,3/2,3/1,2/1,1/1,1/2]). % Display a solution path as a list of board positions showsol([]). showsol([P | L]):showsol(L), nl, write('---'), showpos(P). % Display a board position showpos([S0,S1,S2,S3,S4,S5,S6,S7,S8]):member(Y, [3,2,1]), % Order of Y-coordinates nl, member(X, [1,2,3]), % Order of X-coordinates member(Tile-X/Y, % Tile on square X/Y [0-S0,1-S1,2-S2,3-S3,4-S4,5-S5,6-S6,7-S7,8-S8]), write(Tile), fail % Backtrack to next square ; true. % All squares done 3.3.4. Tmpera Simulada ("Simulated Annealing") Mtodo de busca inspirado no processo de temperar metais: inicia com uma temperatura elevada, permitindo transies de alto nvel de energia, depois, gradualmente, a temperatura resfriada at alcanar um estado slido, onde apenas transies de baixo nvel de energia so permitidas. O objetivo alcanar uma estrutura molecular com um mnimo de energia. Neste processo, as substncias fsicas tendem a acomodar-se em configuraes de baixa energia, mas sempre existe uma certa probabilidade de ocorrer uma transio para um estado de maior energia, calculada pela frmula: p = e(-E/kT) onde,
Inteligncia Artificial lvaro Guarda

% Tile in centre scores 1 % Proper successor scores 0

% Tiles out of sequence score 2 % Goal squares for tiles

25

E = |E' - E2| = mudana positiva de energia; k = constante de Boltzmann, escreve a relao entre as unidades de energia e temperatura; T = temperatura. No processo de resoluo de problemas, os valores energia e temperatura no tm o mesmo sentido que na fsica, assim k deixa de ser necessrio e o clculo da probabilidade fica: p = e(-E/T). A diferena de energia medida pela diferena da aplicao da funo-objetivo (funo heurstica) no estado corrente e no novo estado. 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
Inteligncia Artificial lvaro Guarda

26

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 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.

Sistemas Baseados em Conhecimento

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 passou-se 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

Modelagem

Soluo

Representao do Conhecimento

Inferncia

Fatos

Figura 22 - Modelagem da realidade Conforme est esquematizado na Figura 22, uma parte da realidade, correspondendo a um problema, pode ser modelada utilizando-se uma forma (linguagem) de representao do conhecimento e a seguir pode-se inferir novos fatos que podem conter a soluo para o problema modelado. Os possveis tipos de inferncia que podem ser efetuados dependem da forma de representao do conhecimento. 4.1. Propriedades de Sistemas de Representao do Conhecimento

Y Adequao Representacional Y Adequao Inferencial

- Permite representar todos os tipos de conhecimento necessrios ao domnio do problema que se quer solucionar. - Permite manipular estruturas representacionais gerando novos conhecimentos, dentre os quais, possveis solues.

Y Eficcia Inferencial - Permite representar meta-conhecimento visando melhorar os mecanismos de inferncia. Y Eficcia de Comunicao - Permite facilmente entender o conhecimento armazenado, adquirir novos conhecimentos e
fornecer explicaes. 4.2.

Y Sistemas de Produo Y Sistemas Baseados em Regras

Formas de Representao do Conhecimento

Inteligncia Artificial

lvaro Guarda

28

Convencional No-monotnica Difusa ou nebulosa (fuzzy) Temporal Senso-comum ... Y Raciocnio Probabilstico Y rvores de Deciso Y Redes Semnticas Y Quadros (frames) Y Roteiros (scripts) Sistemas de Produo (SP) SP foram inicialmente propostos por Post em 1943 para modelar o processamento da informao a partir da noo estmulo/resposta, simulando os processos mentais de raciocnio e utilizao do conhecimento. Desde ento SP tiveram um grande desenvolvimento e atualmente um formalismo que descreve um grupo de sistemas baseados em pares condio-ao denominados regras de produo. 4.3.

Y Lgica
-

Base de Dados

Estratgia de Controle

Condio Condio

Ao Ao

Regras de Produo

Condio
Figura 23 - Arquitetura bsica de um SP

Ao

A Figura 23 apresenta a arquitetura de um SP com os seus principais componentes:

Y 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).

Y Regras de Produo: conjunto de regras que operam sobre a base de dados, modificando-a. Y 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

Y 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;
lvaro Guarda Inteligncia Artificial

29

Y 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; um sistema que monotnico e parcialmente comutativo.

Y Comutativo -

Exemplo 1: SP para representar um numero inteiro (x  HPQ~PHURURPDQR Base de Dados: varivel x armazenando inicialmente o valor a ser convertido; o resultado ser impresso. Estratgia de Controle: Y testar as condies das regras em ordem arbitrria at que uma seja satisfeita; Y executar a ao correspondente; Y repetir indefinidamente. Regras de Produo: 1) (x = 0)  DYLVHRXVXiULR H OHLD [ 2) (x > 39)  DYLVHTXH[pPXLWRJUDQGH 3) (10 x 39)  LPSULPD; H [ [ 10) 4) (x = 9)  LPSULPD,; 5) (5 x 8)  LPSULPD9 H [ [ 5) 6) (x = 4)  LPSULPD,9 7) (1 x 3)  LPSULPD, H [ := x 1)

: : : : : : :

Exemplo 2: SP para solucionar o problema das jarras. O objetivo deste problema , tendo-se duas jarras, uma com capacidade de 3 litros e a outra de 4 litros, chegar-se a um volume de dois litros na jarra de 3 litros. Pode-se colocar ou retirar gua das jarras, porm os nicos volumes conhecidos so os das capacidades das jarras. Base de Dados: Par de valores (x, y), onde o primeiro elemento representa o volume de gua contido na jarra de 4 litros e o segundo elemento representa o volume de gua contido na jarra de 3 litros. Assim, o estado inicial (as duas jarras vazias) representado como (0, 0) e o estado final como (x, 2). Regras de Produo: 1) (x, y) | x < 4  \ 2) (x, y) | y < 3  [ 3) (x, y) | x > 0  [-d, y) 4) (x, y) | y > 0  [\-d) 5) (x, y) | x > 0  \ 6) (x, y) | y > 0  [ 7) (x, y) | x+y >= 4 e y > 0  \-(4-x)) 8) (x, y) | x+y >= 3 e x > 0  [-(3-y), 3) 9) (x, y) | x+y <= 4 e y > 0  [\ 10) (x, y) | x+y <= 3 e x > 0   x+y) 11) (0, 2)   12) (2, 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

4.4. Sistemas Baseados em Regras Os sistemas baseados em regras surgiram a partir dos Sistemas de Produo e evoluram utilizando resultados das pesquisas em lgica. As regras tm a forma geral se <condies> ento <concluses> e os mecanismos de inferncia utilizados para gerarem novos fatos so baseados na lgica. A maior aplicao dos sistemas baseados em regras so os Sistemas Especialistas (SE). Evidentemente os SE podem utilizar qualquer uma das formas de representao do conhecimento citadas anteriormente, porm a grande maioria deles utiliza regras. Isto acontece porque a maioria do conhecimento utilizado em problemas de IA diretamente representvel em expresses gerais de implicao, alm de serem facilmente compreensveis pelos usurios. No restante do captulo os sistemas baseados em regras so aprofundados atravs do estudo dos SE, pois estes ltimos representam um dos maiores marcos comercias na explorao da Inteligncia Artificial.

Inteligncia Artificial

lvaro Guarda

31

5.

Introduo aos Sistemas Especialistas

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 Y Possuem conhecimento especializado em alta qualidade e quantidade; Y O conhecimento pode ser incompleto, subjetivo e inexato; Y O Banco de Conhecimento independente da Estrutura de Controle; Y Explicam o raciocnio utilizado na resoluo do problema; Y Incluem tratamento de incerteza; Y Podem adquirir novos conhecimentos. Tipos de SE Y Classificao Y Diagnose - infere mal-funes. Y Interpretao - compreende situaes. Y Predio - infere conseqncias de situaes. Y Projeto - configura objetos sob restries. Y Planejamento - projeta seqncia de aes. Y Depurao - prescreve remdios para mal-funes. Y Reparo - executa um plano para administrar um remdio prescrito. Y Instruo - diagnose, depurao e reparo para deficincias de estudantes. Y 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 SE Resposta

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. ...

Modus Ponens

A. A B. B.

Figura 25 - Exemplo de aplicao do modus ponens Em formalismos de representao do conhecimento orientados a objetos um dos mecanismos de inferncia utilizados a herana. No captulo sobre formas de representao conhecimento so estudadas outros mecanismos de inferncia. Estratgia de Controle composto por vrios elementos:

Y Modo de seleo de peas de conhecimento (regras, quadros, roteiros, nodos, ...) - feito atravs de casamento de
padres.

Y 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.

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.
2)

rvore de Pesquisa
Se B e C ento A. Se D ou E ento B. Se F e D ento C. D. F.

3)
Se B e C ento A. Se D ou E ento B. Se F e D ento C. D. F. C.

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.

...

...

Obs.: o usurio pode ser tratado como uma extenso do Banco de Conhecimento. Figura 26 - Exemplo de encadeamento progressivo.
Inteligncia Artificial lvaro Guarda

34

Banco de Conhecimento Se B e C ento A. Se D ou E ento B. Se F e G ento C. D. F. Objetivo (problema inicial) A.

rvore de Pesquisa

A B C

E ?

G ?

Obs.: o usurio pode ser tratado como uma extenso do Banco de Conhecimento.
Figura 27 - Exemplo de encadeamento regressivo. A escolha da direo do raciocnio depende de vrios aspectos: o quantidade de fatos iniciais x quantidade de concluses alternativas o quantidade mdia de regras elegveis a cada ciclo o necessidade de processamento interativo o necessidade de justificar o resultado o natureza do problema: deduzir conseqncias a partir de fatos; comprovar hipteses buscando indcios.

Y Estratgia de Pesquisa o o o

pode ser:

em profundidade; em extenso; heurstica.

Y Utilizao de Meta-conhecimento Y Anlise de diferena

- o conhecimento do especialista de como deve ser utilizado o conhecimento, influindo no modo como o conhecimento deve ser tratado em alguma parte do raciocnio. Exemplo: ativao de um conjunto de regras e fatos especficos sob uma certa condio. - identifica regras que diminuem a diferena entre o conhecimento atual e o objetivo.

Mtodos de tratamento de Conhecimento Incompleto O tratamento de conhecimento incompleto pode ser feito com a introduo da noo de valores default e com operaes lgicas com o desconhecido, conforme a tabela verdade abaixo. A B AeB A ou B A F F V F F F V V F V F D V F D V F F F V V V F V V V D F D V D F D F D D V D D V D D D D D Figura 28 - Tabela verdade incluindo o valor desconhecido (D).
Inteligncia Artificial lvaro Guarda

35

Mtodos de tratamento da Incerteza O tratamento da incerteza lida com o raciocnio inexato e pode ser feito atravs da utilizao de valores intermedirios entre os valores verdadeiro e falso. A forma clssica de implementao feita pela quantificao do grau de certeza do conhecimento, conforme o exemplo apresentado na Figura 29. Fator de Certeza 100 80 60 30 20 0 -20 -40 -60 -80 -100 Significado Definitivamente certo Quase Certo Provvel H evidncias Ignorado H evidncias contra Provavelmente no Quase certo que no Definitivamente no

Figura 29 - Escala do grau de certeza do conhecimento no MYCYN Forma de Inferncia

Y Fator de certeza (FC) da concluso de uma regra = (FC(conjunto de antecedentes) * FC(regra)) / 100 Y FC(conjunto de antecedentes) = min(FCs dos antecedentes) se antecedentes conjuntivos (unidos pelo E) Y Vrias regras inferem a mesma concluso
figura Figura 30.

ou

= max(FCs dos antecedentes) se antecedentes disjuntivos (unidos pelo OU) - abaixo so apresentadas trs formas de clculo com um exemplo na

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)

Banco de Conhecimento 1. 2. 3. 4. 5. 6. Se Se Se B B B 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).

Resultado do clculo do FC das Concluses Regra 1. 2. 3. FC(B) 48 21 36

Formas de tratar a situao Forma a) Max b) Mdia c) Probabilidade FC(B) 48 35 74

Observao Como pode ser observado, as diferentes formas de tratar a situao apresentam uma grande variao.

Figura 30 - Exemplo de clculo quando vrias regras inferem a mesma concluso. 5.3. Alguns Exemplos de Sistemas Especialistas
lvaro Guarda

Inteligncia Artificial

36

Os sistemas especialistas representam uma rea onde a IA conseguiu bons resultados. Alguns sistemas fizeram, e continuam fazendo, muito sucesso comercialmente, resolvendo de maneira bastante satisfatria os problemas para os quais eles foram criados. 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.
Inteligncia Artificial lvaro Guarda

37

Ferramentas de Desenvolvimento de Sistemas Especialistas Inicialmente, cada sistema especialista era criado a partir do nada, em geral em E/SE. Mas, depois de vrios sistemas terem sido desenvolvidos, ficou claro que esses sistemas tinham muito em comum. Em particular. devido ao fato de os sistemas serem construdos como um conjunto de representaes declarativas (em sua maioria, regras) combinadas com um interpretador dessas representaes, era possvel separar o interpretador do conhecimento especfico do domnio da aplicao e assim criar uni sistema que podia ser usado para elaborar novos sistemas especialistas atravs da adio de novos conhecimentos, correspondentes ao novo domnio do problema. Os interpretadores resultantes so chamados de shell (ferramenta). No incio, um exemplo de ferramenta que teve grande influncia o EMYCIN (Empty MYCIN), derivado do MYCIN. Existem atualmente vrios novas ferramentas comercialmente disponveis, que servem de base para muitos dos sistemas especialistas que esto sendo desenvolvidos correntemente. Com essas ferramentas, a representao do conhecimento e o raciocnio so muito mais flexveis do que nos primeiros sistemas especialistas criados. Elas tipicamente suportam regras, quadros, sistemas de manuteno da verdade e uma srie de outros mecanismos de raciocnio. As primeiras ferramentas de sistemas especialistas ofereciam mecanismos para a representao do conhecimento, raciocnio e explicaes. Mais tarde, foram acrescentadas ferramentas para a aquisio de conhecimento. Mas, com o aumento das experincias com esses sistemas para solucionar problemas do mundo real, ficou claro que as ferramentas dos sistemas especialistas precisavam fazer alguma coisa a mais. Eles precisavam, por exemplo, facilitar a integrao dos sistemas especialistas com outros tipos de programas. acessar bancos de dados de corporaes; e esse acesso precisa ser controlado como em outros sistemas. Eles em geral esto embutidos em programas aplicativos maiores, que usam praticamente tcnicas de programao convencional. Ento, uma das caractersticas importantes que uma ferramenta precisa ter uma interface entre o sistema especialista, escrita com a ferramenta e que seja fcil de usar, e um ambiente de programao maior e provavelmente mais convencional. A Figura 31 classifica os diferentes software que podem ser utilizados no desenvolvimento de SE. As linguagens de alto nvel so orientadas para a manipulao simblica, dando flexibilidade e permitindo ajustar o SE s particularidades de cada domnio de problemas, entretanto exige grande experincia em computao. Os ambientes so um meio termo entre as linguagens de alto nvel e as ferramentas, e oferecem cdigo testado e depurado para implementar coisas teis na construo de SE. As ferramentas j possuem uma forma de representao de conhecimento e uma mquina de inferncia bem definidos, assim so fceis de utilizar e permitem uma grande velocidade de desenvolvimento, permitindo que o pessoal envolvido se concentre na montagem da base de conhecimento. FLEXIBILIDADE AJUSTE LINGUAGENS DE ALTO NVEL Pascal Lisp Prolog Interlisp AMBIENTES OPS5 Kee, Lops, Art FERRAMENTAS Emycin, S1, M1

5.4.

FACILIDADE VELOCIDADE DE DESENVOLVIMENTO Figura 31 - Software para o desenvolvimento de SE Aquisio de Conhecimento


lvaro Guarda

5.5.

Inteligncia Artificial

38

Como so construdos os sistemas especialistas? Tipicamente, um engenheiro do conhecimento entrevista um especialista no domnio da aplicao para tentar extrair o conhecimento especialista, que ento traduzido em regras. Depois que o sistema inicial estiver pronto. ele precisa ser iterativamente refinado at aproximar-se do nvel de desempenho de um especialista. Este processo caro e lento, portanto vale a pena procurar maneiras mais automatizadas de construir bases de conhecimento especialistas. Embora ainda no exista nenhum sistema de aquisio de conhecimento totalmente automatizado, h muitos programas que interagem com os especialistas dos domnios para extrair conhecimento especializado com eficincia. Estes programas oferecem suporte s seguintes atividades:

Y Insero de conhecimento; Y Manuteno da consistncia da base de conhecimento; Y Garantia de completeza da base de conhecimento.
5.6. Problemas Alguns dos principais problemas enfrentados pelos sistemas especialistas atuais so:

Y 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.

Y Falta de Meta-conhecimento Os sistemas especialistas no tm conhecimentos muito sofisticados sobre sua prpria Y 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.

operao. Eles normalmente no conseguem raciocinar sobre seu prprio escopo e restries, dificultando ainda mais a tarefa de lidar com a sua fragilidade.

Y 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.

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.

5.7.

Y Esses sistemas derivam sua potencialidade de uma grande quantidade de conhecimento especifico do domnio, e no de
uma nica tcnica poderosa.

Y 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. transferirem o seu conhecimento para o sistema.

Y Um sistema especialista em geral construdo com a ajuda de um ou mais especialistas, que precisam estar dispostos a Y 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.

Y A quantidade de conhecimento exigida depende da tarefa. Ela pode variar de 40 regras a milhares delas. Y A escolha da estrutura de controle para um determinado sistema depende das caractersticas especificas do sistema. Y 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.

Inteligncia Artificial

lvaro Guarda

39

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 Y Especialista; Y Engenheiro de Conhecimento; Y Programador. 6.1. Metodologias de Desenvolvimento

Y Prototipao Y Estruturado Y Misto


6.2.

Construo incremental de prottipos do sistema, at que se torne funcional.

Projeto planejado e realizado em etapas que partindo das especificaes chega diretamente verso operacional do sistema.

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 Plano de Treinamento e Reorganizao Pedido ao Fabricante

8 Anlise do Hardware Interface com Usurio Entrada do Usurio 1 Integrao de Sistemas Estudo / Viabilidade Necessidades de Hardware

6 Configurao Implementao

Usurio

Projeto de Consolidao 2 4 Anlise Projeto Estruturada Especificao Estruturado Estruturada Plano de Testes

Mdulos Estruturados

BD Lgico

BD Fsico

7 Teste de Aceitao

3 Projeto da Base Dados

Sistema de Produo

Figura 32 - DFD nvel o do ciclo de vida de um projeto estruturado

Inteligncia Artificial

lvaro Guarda

40

5 Integrao de Sistemas

Plano de Treinamento e Reorganizao Pedido ao Fabricante

8 Anlise do Hardware Interface com Usurio Entrada do Usurio 1 Integrao de Sistemas Estudo de Viabilidade Especificao IA Necessidades de Hardware

6 Configurao Implementao

Usurio

Projeto de Consolidao Especificao 2 4 Estruturada Anlise Projeto Estruturada Estruturado

Mdulos Estruturados

BD Fsico

Plano de Testes

Especificao BC lgica

7 Teste de Aceitao BD Lgico Mdulo IA 3 Projeto da Base Dados 11 Projeto IA 12 Implement. IA Sistema de Produo

Projeto IA Especificao BC fsica

10 Projeto da BC

Base de Conheciment o

9 Aquisio do

Figura 33 - DFD nvel o do ciclo de vida de um projeto com IA Objetivos adicionais por fase 1. Levantamento Y Selecionar domnios apropriados para aplicaes da IA. Y Propor estratgias de curto e longo prazo para a integrao da tecnologia de IA. Y Analisar a relao custo / benefcio da aplicao ao domnio. Y Definir a abrangncia e resultados. Y Iniciar a definio da Base de Conhecimento (viabilidade).
Inteligncia Artificial lvaro Guarda

41

2. Anlise Estruturada Y Elaborar um conjunto de DFDs com descries narrativas dos processos (tarefas do especialista) e um dicionrio de dados. Y Especificar os requerimentos de interface com o usurio. Y Especificar os requerimentos de desempenho. 3. Projeto do Banco de Conhecimento Y Definir a forma de representar o conhecimento. 4. Projeto Estruturado Y Definir a forma de raciocnio. Y Definir a interface com o usurio. Y Escolher o instrumento (linguagem, ambiente ou ferramenta). 5. Integrao de Sistemas 6. Implementao Y 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. Diagramas de fluxo de consulta. Tabelas.
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 considerados os aspectos instrucionais e as restries oramentrias. Ao final so recomendados de um a trs meios eficazes respeitando o custo.
Inteligncia Artificial lvaro Guarda

43

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

Y Situao do Estmulo
o o o o Ambiental Pictria Simblica Verbal

Y Realimentao Instrucional
o o Sim No

Y Durao do Estimulo
o o Breve Persistente

Y Modificao da Apresentao
o o o o por Resposta por Mdulo por Curso Nenhuma

Y Resposta Apropriada
o o o o o o Oculta Seletiva Construda Oral Motora Afetiva

Y Oramento de Treinamento
o o o

Pequeno (at R$ 10.000,00) Mdio (at R$ 50.000,00) Grande (mais de R$ 10.000,00)

Figura 35 - Ponderaes do modelo Tosti-Ball (simplificado)

Situao do Durao do Resposta Realimentao Estmulo Estmulo Apropriada Instrucional 1 verbal 2 verbal 3 verbal 4 verbal simblica pictria 5 verbal breve persistente breve breve breve breve breve persistente breve breve oculta seletiva construda oculta oculta oculta oral afetiva oral afetiva motora oculta todas no sim no no no sim sim no no sim

Modificao da Apresentao nenhuma resposta mdulo curso curso mdulo mdulo mdulo mdulo curso nenhuma resposta

Oramento de Treinamento pequeno pequeno mdio mdio mdio pequeno mdio mdio grande grande pequeno mdio grande

Recomendaes livro estudo pessoal aula aula com dispositivos videocassete prtica com realimentao verbal prtica com realimentao por vdeo Laboratrio com experincias udio cassete tutor humano

pictria
6 verbal 7 verbal 8 ambiental 9 verbal 10 simblica verbal

Figura 36 - Anlise matricial de escolha do meio instrucional

Inteligncia Artificial

lvaro Guarda

45

quando envolve ... modelo fsico estrutura objeto mquina instrumento pictria figura fotografia diagrama ilustrao vista simblica grfico esquema nmeros frmulas verbal ouvir conversa dilogo leitura texto Figura 37 - Tabela de detalhamento da situao do estmulo. A resposta apropriada ... oculta quando envolve ... ouvir ler observar meditar imaginar pensar mltipla escolha associao escrever desenhar datilografar dizer algo conversar falar cantar edificar montar mover construir organizar danar emocionar-se simpatizar sentir mostrar afeio compreensivo manter a calma

A situao de estmulo ... ambiental

seletiva construda verbal

atividade motora

afetiva

Figura 38 - Tabela de detalhamento da resposta apropriada.


Inteligncia Artificial 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

E oramento de treinamento = mdio ENTO recomendao = aula com dispositivos Regra 5 - Recomendao videocassete SE situao do estmulo = verbal OU situao do estmulo = pictria E durao do estmulo = breve E resposta apropriada = oculta E realimentao instrucional = no E modificao da apresentao = por mdulo E oramento de treinamento = mdio ENTO recomendao = videocassete Regra 6 - Recomendao prtica com realimentao verbal SE situao do estmulo = verbal E durao do estmulo = breve E resposta apropriada = verbal OU resposta apropriada = afetiva E realimentao instrucional = sim E modificao da apresentao = por mdulo E oramento de treinamento = pequeno OU oramento de treinamento = mdio ENTO recomendao = prtica com realimentao verbal Regra 7 - Recomendao prtica com realimentao por vdeo SE situao do estmulo = verbal E durao do estmulo = breve E resposta apropriada = verbal OU resposta apropriada = afetiva E realimentao instrucional = sim E modificao da apresentao = por mdulo E oramento de treinamento = mdio OU oramento de treinamento = grande ENTO recomendao = prtica com realimentao por vdeo Regra 8 - Recomendao laboratrio com experincias SE situao do estmulo = ambiental E durao do estmulo = persistente E resposta apropriada = motora E realimentao instrucional = no E modificao da apresentao = por mdulo OU modificao da apresentao = por curso E oramento de treinamento = grande ENTO recomendao = laboratrio com experincias Regra 9 - Recomendao udio cassete SE situao do estmulo = verbal E durao do estmulo = breve E resposta apropriada = oculta E realimentao instrucional = no E modificao da apresentao = nenhuma E oramento de treinamento = pequeno ENTO recomendao = audio cassete Regra 10 - Recomendao tutor humano
Inteligncia Artificial lvaro Guarda

48

SE situao do estmulo = simblica OU situao do estmulo = verbal E durao do estmulo = breve E resposta apropriada = afetiva OU resposta apropriada = construda OU resposta apropriada = motora OU resposta apropriada = oculta OU resposta apropriada = seletiva OU resposta apropriada = verbal E realimentao instrucional = sim OU modificao da apresentao = por resposta E oramento de treinamento = mdio OU oramento de treinamento = grande ENTO recomendao = tutor humano Regra 11 - Situao de estmulo ambiental SE estmulo = modelo fsico OU estmulo = estrutura OU estmulo = objeto OU estmulo = mquina OU estmulo = instrumento OU estmulo = ambiental ENTO situao do estmulo = ambiental Regra 12 - Situao de estmulo pictria SE estmulo = figura OU estmulo = fotografia OU estmulo = diagrama OU estmulo = ilustrao OU estmulo = vista OU estmulo = pictria ENTO situao do estmulo = pictria Regra 13 - Situao de estmulo simblica SE estmulo = grfico OU estmulo = esquema OU estmulo = nmeros OU estmulo = frmulas OU estmulo = simblica ENTO situao do estmulo = simblica Regra 14 - Situao de estmulo verbal SE estmulo = ouvir OU estmulo = conversa OU estmulo = dilogo OU estmulo = leitura OU estmulo = texto OU estmulo = verbal ENTO situao do estmulo = verbal Regra 15 - Resposta apropriada oculta SE resposta = ouvir OU resposta = ler OU resposta = observar OU resposta = meditar
Inteligncia Artificial 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

"alterada conforme a resposta do aluno, ento escolha "a opo "por resposta". Varivel:oramento de treinamento Pergunta:"Qual o oramento do treinamento?" Motivo:"Informe " ""pequeno" se ser gasto menos de R$ 100,00 ""mdio" se ser gasto menos de R$ 1.000,00 ""grande" se ser gasto mais de R$ 1.000,00 Varivel:realimentao instrucional Pergunta:"Existe realimentao instrucional?" Varivel:resposta Pergunta:"Qual o tipo de resposta que a pessoa deve fornecer?"

Inteligncia Artificial

lvaro Guarda

51