Você está na página 1de 67

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

Apostila

CIC284 - Inteligncia Artificial em Controle e Automao


lvaro Guarda

Ouro Preto - MG Maro de 2005

Sumrio

Inteligncia Artificial em Controle e Automao

lvaro Guarda

Inteligncia Artificial em Controle e Automao

lvaro Guarda

1.

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:

Introduo

"O homem vai tentar reproduzir o computador sua imagem". Artigo "A revoluo da IA" (Estado de Minas, 18/11/96). "O objetivo principal da IA construir uma pessoa, ou mais humildemente, um animal", Charmiak e McDermott. "Um computador inteligente se possui qualquer uma das habilidades mentais que fazem uma pessoa ser considerada inteligente" [Araribia88].

Assim, como as expectativas no so realistas, os resultados que so obtidos na rea freqentemente so muito mais tmidos do que se esperava. Isto gera uma certa de desconfiana por parte de pesquisadores de outras reas e acaba at prejudicando o desenvolvimento da IA. Entretanto, a IA j desenvolveu muitas tcnicas que so teis nas mais diversas reas: otimizao, datamining, jogos, traduo automtica, processamento de imagens, interface homem-mquina, etc. 1.1. Objetivos do Curso No curso alguns tpicos so estudados procurando aprofundar os aspectos importantes, permitindo que o aluno possa dar continuidade ao estudo da rea e aplicar os conhecimentos adquiridos de forma autnoma. Outros pontos so apresentados sem carter formativo, mas procurando dar uma viso abrangente da rea e de suas aplicaes. Ao final do curso o aluno dever dominar diversos pontos da IA clssica e conhecer razoavelmente bem alguns tpicos avanados em IA, interessantes para a rea de automao e controle. Em algumas partes do curso, alm do conhecimento terico, so abordados aspectos prticos, fazendo experimentaes e/ou 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

Processamento do Conhecimento (simblico) o Modelagem e Representao o Mtodos de Inferncia o Sistemas Baseados em Conhecimento o Aquisio de Conhecimento
lvaro Guarda

Inteligncia Artificial em Controle e Automao

o Aprendizado Computacional Redes Neuronais Sistemas e Linguagens para IA Arquiteturas Especficas para IA Processamento de Linguagem Natural Robtica Inteligente o Sntese de Voz o Percepo o Manipulao o Planejamento

1.4. Referncias O contedo desta apostila fortemente baseado na bibliografia bsica do programa da disciplina, CIC284 Inteligncia Artificial em Controle e Automao, [Nascimento00], [Rich93] e [Mitchell97] e em alguns livros da bibliografia complementar como [Bratko90]. Diversas partes do texto tambm foram baseadas no material de aula do Prof. Elton Silva.

Inteligncia Artificial em Controle e Automao

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. Existem muitas discusses filosficas sobre o assunto. Para muitos cientistas, a inteligncia est relacionada com vontade prpria, intencionalidade, e existem outras esferas de discusso:
Inteligncia Artificial em Controle e Automao lvaro Guarda

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 em Controle e Automao

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 - IA x Computao Convencional

Dados Programas Resultados

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 em Controle e Automao

lvaro Guarda

3.

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.

Resoluo de Problemas

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 em Controle e Automao

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; (2) se X e Y esto no topo de pilhas coloque o bloco X sobre o bloco Y.
Inteligncia Artificial em Controle e Automao lvaro Guarda

10

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 ento o estado atual alterado para  ento o estado atual alterado para (3) Se estado atual  (4) Se estado atual ento o estado atual alterado para

  

 

...

Figura 8

(30) Se estado atual 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. 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
Inteligncia Artificial em Controle e Automao lvaro Guarda

11

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.

  
(8)

(7)


(3) (1)

  

  

 

 

  

 

  

   

 

  

  

 

 

  

  

 

Figura 10 rvore de pesquisa para o problema da Figura 5, utilizando o conjunto 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). 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:
Inteligncia Artificial em Controle e Automao lvaro Guarda

12

-? 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( _, [] ). % Nodo no tem sucessores (bagof falhou!)

3.1.3.4. Comparao: Busca em Profundidade x Busca em Extenso Busca em profundidade:


Inteligncia Artificial em Controle e Automao lvaro Guarda

13

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

(1,1,1)

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. Exemplo 2: Jogo dos 8 A Figura 13 mostra a representao grfica para o problema do jogo dos 8.
Inteligncia Artificial em Controle e Automao lvaro Guarda

14

Estado Inicial

Estado Objetivo Operaes

2 1 7

8 6

3 4 5

1 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 peo branco 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 em Controle e Automao

lvaro Guarda

15

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 Sintaxe: [<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 em Controle e Automao lvaro Guarda

16

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 P1 3

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 signific a descobir.

Inteligncia Artificial em Controle e Automao

lvaro Guarda

17

Tipos de heurstica no processo de busca a) Heurstica genrica: 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 em Controle e Automao

lvaro Guarda

18

A E D C B
(1)

f(e) = 1

(1)

E D C A B
(2)

f(e) = 3
(2)

Para a busca aqui

D C E A B

f(e) = 1

D E C A B

f(e) = 1

A E D C B

f(e) = 1

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 em Controle e Automao lvaro Guarda

19

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

b
4 3 2

a
3

incio

d
2

c
2

1 4

z
fim

Representao do Estado: Nome da cidade Representao do Espao de Estados: O prprio mapa ou um grafo Estado Inicial: a Estado Final: z
Inteligncia Artificial em Controle e Automao lvaro Guarda

20

Operaes:

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 (somatrio dos nmeros prximos s estradas) h(x) = distncia em linha reta da cidade x at a cidade z (nmeros em negrito, prximos 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 rvore de Busca: os nmeros prximos aos nodos indicam a ordem de expanso dos mesmos.
1

a c
f=5

f=7

e k

f=6

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). s(c,d,3). s(d,z,2). s(e,k,4).
Inteligncia Artificial em Controle e Automao lvaro Guarda

21

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

casa vazia pea 1 pea 2 pea 8 O estado inicial representado como: [2/2, 1/3, 3/2, 2/3, 3/3, 3/1, 2/1, 1/1, 1/2]

1 2 3 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. ?- bestfirst([2/2,1/3,3/2,2/3,3/3,3/1,2/1,1/1,1/2], Soluo), showsol(Soluo).
22

Inteligncia Artificial em Controle e Automao

lvaro Guarda

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]):goal(N). % Case 2: leaf-node, f-value less than Bound - Generate successors and expand them within Bound
Inteligncia Artificial em Controle e Automao lvaro Guarda

23

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), F =< F1,!. insert(T, [T1 | Ts], [T1 | Ts1]):insert(T, Ts, Ts1).
Inteligncia Artificial em Controle e Automao lvaro Guarda

24

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

% f-value of a leaf % f-value of a tree % Best f-value of a list of trees % No trees: bad f-value

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

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), D is D1 + D2. % seq(TilePositions, Score): sequence score seq([First | OtherTiles], S):seq([First | OtherTiles], First, S).
Inteligncia Artificial em Controle e Automao lvaro Guarda

25

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, E = |E' - E2| = mudana positiva de energia; k = constante de Boltzmann, escreve a relao entre as unidades de energia e temperatura; T = temperatura. % Tile in centre scores 1 % Proper successor scores 0

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

Inteligncia Artificial em Controle e Automao

lvaro Guarda

26

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. Computao Evolucionista 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 terem uma prole mais numerosa, resultando em indivduos cada vez melhores. As tcnicas estabelecem uma analogia onde um indivduo visto como sendo um candidato soluo de um problema, assim uma populao de solues melhorada durante um certo nmero de geraes at chegar a uma soluo tima ou que um outro critrio de parada seja satisfeito. A populao evolui porque as melhores solues (indivduos mais aptos) de uma gerao tm uma chance maior de serem selecionados para
Inteligncia Artificial em Controle e Automao lvaro Guarda

27

contribuir para a prxima gerao. A forma mais utilizada para a seleo dos indivduos baseada na probabilidade: a chance de um indivduo ser selecionado proporcional sua aptido. Esta abordagem remonta o incio da computao, entre os anos 50 e 60, quando vrios cientistas da computao estudaram sistemas evolucionrios com a idia de que a evoluo poderia ser usada como um ferramenta de otimizao para problemas na engenharia, entretanto 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, inventados por John Holland nos anos 60 e desenvolvidos por ele e seus alunos na Universidade de Michigan em meados de 1970. A seguir est tcnica vista com mais detalhes. Algoritmos Genticos (AGs) Nesta tcnica a analogia com os sistemas biolgicos mais forte, pois, alm de ser baseado nos mecanismos de seleo natural, tambm se baseia na gentica. Cada hiptese de soluo (indivduo) representada por uma cadeia binria de tamanho fixo, como se fosse a cadeia gentica do indivduo. A criao dos indivduos para a prxima gerao feita atravs de operaes como cruzamento entre indivduos, mutao e clonagem (ver anotaes de aula). Algoritmo algoritmo_genetico( TamPop) 1. Pop 

!#"%$'&)(102&436587@9A7@9CBD7!EFHGI@9P@QR7HS58$'ET0R!U7!VD587

2. Avalie Pop (populao inicial): para cada hiptese H pertencente a Pop, calcule a sua aptido f(H) 3. Evolua a populao Pop uma gerao (faa at que satisfaa alguma condio de trmino) 3.1. Crie a nova populao NovaPop (faa at gerar completamente a nova populao) 3.1.1. Escolha um operador gentico 3.1.2. Selecione hipteses (a quantidade depende do operador a ser aplicado) probabilidade de que uma hiptese H seja selecionada:

p(H i ) =

H Pop

f (H i ) f (H )

3.1.3. Aplique o operador gentico sobre a(s) hiptese(s) selecionada(s) gerando nova(s) hiptese(s): Hnova W X'Y4`!aFbHcIX'aFdfehg 3.1.4. Adicione a(s) hiptese(s) resultante(s) na nova populao: NovaPop i prqts4u!v%q'wyx nova 3.2. Atualize a populao: Pop prqts4u!v%q'w 3.3. Avalie Pop: para cada hiptese H pertencente a Pop, calcule a sua aptido f(H) 4. Retorne como resultado a hiptese com a maior aptido de todas as geraes.

Inteligncia Artificial em Controle e Automao

lvaro Guarda

28

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
Figura 22 - Modelagem da realidade

Inferncia

Fatos

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 Adequao Representacional - Permite representar todos os tipos de conhecimento necessrios ao domnio do problema que se quer solucionar. Adequao Inferencial - Permite manipular estruturas representacionais gerando novos conhecimentos, dentre os quais, possveis solues. Eficcia Inferencial - Permite representar meta-conhecimento visando melhorar os mecanismos de inferncia. Eficcia de Comunicao - Permite facilmente entender o conhecimento armazenado, adquirir novos conhecimentos e fornecer explicaes.

4.2.

Formas de Representao do Conhecimento Sistemas de Produo Sistemas Baseados em Regras


lvaro Guarda

Inteligncia Artificial em Controle e Automao

29

Lgica -


4.3.

Convencional No-monotnica Difusa ou nebulosa (fuzzy) Temporal Senso-comum ... Raciocnio Probabilstico rvores de Deciso Redes Semnticas Quadros (frames) 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.

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:

Base de Dados: tambm chamado, memria de trabalho ou contexto, contm dados informados pelo usurio sobre o problema ou gerados pelas prprias regras durante a execuo (estado). Regras de Produo: conjunto de regras que operam sobre a base de dados, modificando-a. Estratgia de Controle: tambm denominado, interpretador de regras, o mdulo responsvel pela execuo do sistema e pela identificao da soluo sinalizando quando o sistema deve parar. Este processo possui 3 fases: 1) casamento (matching) seleciona as regras aplicveis comparando as condies (lado esquerdo) das regras com o estado da Base de Dados, as regras que casarem so selecionadas; 2) resoluo de conflitos apenas uma regra de cada vez pode ser ativada e quando mais de uma regra aplicvel, ocorre um conflito, sendo que a forma mais bvia de se resolver um conflito ativar a primeira regra que foi satisfeita; 3) ao ativa as regras executando as aes (lado direito) das mesmas, o que normalmente altera o Banco de Dados.

Caractersticas de SP

Monotnico a aplicao de uma determinada regra nunca impede a posterior aplicao de outra regra que tambm poderia ter sido aplicada quando a primeira regra foi selecionada;
lvaro Guarda

Inteligncia Artificial em Controle e Automao

30

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

Exemplo 1: SP para representar um numero inteiro (x 4D!IIU!FF'Ud!41e Base de Dados: varivel x armazenando inicialmente o valor a ser convertido; o resultado ser impresso. Estratgia de Controle: f testar as condies das regras em ordem arbitrria at que uma seja satisfeita; f executar a ao correspondente; f repetir indefinidamente. Regras de Produo: 1) (x = 0) g hji@kSl1monApHqsrt1nTt4u!vTmRr6wxpyh{zRp@mRkHhf|}wjw 2) (x > 39) ~ j@S1oAHs64##18'F!4I 3) (10 x 39) {2#IT2Us!xsf 10) 4) (x = 9) {2#IT2UyH8) 5) (5 x 8) {2#IT2Us!xyf 5) 6) (x = 4) {2#IT2UyH8) 7) (1 x 3) {2#IT2Us{sf 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: 4tD 1) (x, y) | x < 4 2) (x, y) | y < 3 fDD f -d, y) 3) (x, y) | x > 0 ft -d) 4) (x, y) | y > 0 5) (x, y) | x > 0 {ItD fI6 6) (x, y) | y > 0 7) (x, y) | x+y >= 4 e y > 0 4t -(4-x)) f -(3-y), 3) 8) (x, y) | x+y >= 3 e x > 0 f}}I6 9) (x, y) | x+y <= 4 e y > 0 10) (x, y) | x+y <= 3 e x > 0 {I6}D 1I6 11) (0, 2) 12) (2, y) {I'6 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 em Controle e Automao

lvaro Guarda

31

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 captulo 6 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 em Controle e Automao

lvaro Guarda

32

5.

Lgica
Procura modelar formalmente o raciocnio humano. Possui sintaxe e semntica bem definidas. Esquema geral de funcionamento: estabelecida uma teoria (conjunto de axiomas) e procura-se provar se um determinado teorema consistente com a teoria. A teoria pode ser vista como um conjunto de declaraes que modela um problema e o teorema como uma afirmao que deve ser provada em relao teoria. Do ponto de vista de um sistema baseado em conhecimento, a teoria uma base de conhecimento e o teorema uma consulta.

Existem vrios mtodos para se provar um teorema, porm em um sistema computacional a maneira clssica feita por refutao: Nega-se o teorema; Acrescenta-se teoria; Procura-se uma contradio.

Uma contradio, conforme mostra a Figura 24, a afirmao e a negao do mesmo fato. Teoria + Teorema Contm ou Pode gerar Fato. Fato.

Figura 24 - Esquema de prova por refutao, gerando uma contradio. 5.1. Breve Histrico A lgica foi intoduzida no sculo III AC por Aristteles para representar os processos do raciocnio, com enfoque em filosofia. No sculo XIX houve importantes avanos com o desenvolvimento da lgebra booleana (Boole, De Morgan e outros), associando a lgica matemtica. A programao em lgica surgiu no incio da dcada de 70 como resultado direto de pesquisas nas reas de prova automtica de teoremas e de inteligncia artificial. Aps os trabalhos de Herbrand em 1930, houve muitas pesquisas em prova de teoremas no incio da dcada de 60 com os trabalhos de Prawitz, Gilmore, Davis, Putnam e outros. Este esforo culminou, em 1965, no trabalho de Robson, introduzindo a regra de resoluo, uma regra de inferncia particularmente adequada para a automao em computadores. Pelo lado da inteligncia artificial, a linguagem PLANNER, desenvolvida por Hewitt em 1972, para fazer planejamento em robtica, pode ser considerada a linguagem precursora da programao em lgica. Os pesquisadores que desenvolveram no incio da dcada de 70 a idia de utilizar a lgica como linguagem de programao foram Kowalski na Universidade de Edinburgo (lado terico), van Emden em Edinburgo (demonstrao experimental), Roussel e Colmerauer em Marselha (implementao). Pesquisas recentes envolvem a implementao de const raint logic programming (CLP), programao em lgica com facilidades para processamento de restries. 5.2. Lgica Proposicional A lgica proposicional baseada em proposies, ou seja, declaraes que podem ser verdadeiras ou falsas. Sintaxe a) Proposio simples (tomo) i) Constantes : Est chovendo. Joo homem. Joo filho de Maria. chove. joo_homem. joo_filho_maria.

ii) Variveis : P, Q, R, ... (maisculas)


Inteligncia Artificial em Controle e Automao lvaro Guarda

33

b) Proposio composta (frmula bem formada, expresso) i) Elementos : Conectivos (em ordem de prioridade): Parnteses.

ii) Frmula bem formada (FBF) : (1) Um tomo uma FBF. (2) Se P uma FBF, ento P uma FBF. (3) Se P e Q so FBF, ento P Q, P Q, P Q, P Q so FBF.

Semntica A semntica de uma FBF estabelecida atravs da definio da funo : proposio {v, f}, como segue : (1) (P) = v se (P) = f; (P) = f se (P) = v. (2) (PQ) = v se (P) = v e (Q) = v; caso contrrio (PQ) = f. (3) (PQ) = f se (P) = f e (Q) = f; caso contrrio (PQ) = v. (4) (PQ) = f se (P) = v e (Q) = f; caso contrrio (PQ) = v. (5) (PQ) = v se (P) = (Q); caso contrrio (PQ) = f. Em uma FBF contendo n tomos diferentes, existem 2n interpretaes, isto , maneiras possveis de associar valores verdade aos tomos na frmula. Definies Tabela Verdade: enumerao de todas as interpretaes e correspondentes avaliaes para uma FBF. Frmula Vlida ou Tautologia: frmula verdadeira para todas as interpretaes possveis. Frmula Inconsistente (insatisfatvel): frmula falsa para todas as interpretaes possveis; tambm chamada contradio. Frmula Consistente (satisfatvel): aquela que no inconsistente. Modelo: uma interpretao em que (frmula) = v. Contra-exemplo: uma interpretao em que (frmula) = f. Equivalncia: duas frmulas F e G so chamadas equivalentes, FG, se (F) = (G) para todas as interpretaes. Leis de Equivalncia Negao Dupla: Comutativas: Associativas: Distributivas: (F) F F G G F F G G F (FG)H F(GH) (FG)H F(GH) F(GH) (FG)(FH) F(GH) (FG)(FH)

Inteligncia Artificial em Controle e Automao

lvaro Guarda

34

Morgan: Outras:

(FG) F G (FG) F G F G F G FG (FG) (GF)

Conseqncia Lgica Uma formula G uma conseqncia lgica de um conjunto de frmulas F = {F1, F2,..., Fn}, n 1, denotada por F G, se para cada interpretao , para o qual (F1F2 ... Fn) = v, temos (G) = v. F G equivale a F Exemplo

G e G F.

Teoria (conjunto de axiomas ou Base de Conhecimento): (1) garganta_inflamada. (2) garganta_inflamada resfriado gripe. (3) doi_corpo resfriado. (4) coriza resfriado. (5) coriza. Teorema (consulta): gripe. Prova por refutao:

Teoria + negao do teorema:


(1) (2) (3) (4) (5) (6) garganta_inflamada. garganta_inflamada resfriado gripe. doi_corpo resfriado. coriza resfriado. coriza. gripe. (6) gripe

Tentativa de encontrar uma contradio: (2) garganta_inflamada resfriado gripe

garganta_inflamada resfriado

(1) garganta_inflamada

(4) coriza resfriado

resfriado

coriza

(5) coriza

[
Observaes:

(clusula vazia: contradio)

Explicao do primeiro passo da procura por uma contradio: a proposio (2) precisa ser verdadeira, como os seus elementos esto unidos por , ento basta que apenas um deles seja verdadeiro: garganta_inflamada, resfriado
lvaro Guarda

Inteligncia Artificial em Controle e Automao

35

ou gripe. Conforme a proposio (6), gripe est valendo, assim garganta_inflamada ou resfriado deve ser verdadeiro. A teoria original : (1) garganta_inflamada. (2) (garganta_inflamada resfriado) gripe. (3) (doi_corpo coriza) resfriado. (4) coriza. entretanto, a manipulao para procurar uma contradio fica mais fcil se todas as proposies tiverem apenas os conectores e . Assim, a base de conhecimento foi alterada utilizando-se as leis de equivalncia.

Resoluo (simplificada para a lgica proposicional) A resoluo uma regra de inferncia que prova se uma proposio P (teorema) verdadeira em relao a um conjunto de axiomas T (teoria). Abaixo so apresentadas algumas definies preliminares e o algoritmo da resoluo. Literal: um tomo ou a negao de um tomo. Clusula: uma FBF na forma L1 L2 ... Ln. Clusula vazia: representada pelo smbolo [, a indica a presena de uma contradio. Algoritmo da Resoluo: 1. Converta todas as proposies de T para a forma clausal. 2. Negue P e converta o resultado para a forma clausal. Acrescente-o ao conjunto de clusulas obtido na etapa 1. 3. Repita os passos abaixo at que uma contradio (clusula vazia) seja encontrada ou at que nenhum progresso a mais possa ser feito. a. Selecione duas clusulas. Chame-as de clusulas-pai. b. Resolva as duas juntas: a clusula resultante, chamada resolvente, ser a disjuno de todos os literais de ambas clusulas-pai com exceo dos literais redundantes e dos literais complementares (L e L). c. Se o resolvente for a clusula vazia, ento foi encontrada uma contradio. Caso contrrio, acrescente-o ao conjunto de clusulas disponveis. Algoritmo de transformao de uma FBF para a forma clausal: 1. Elimine as implicaes. Para isto utilize as leis de equivalncia: FG (FG) (GF) e F G F G

2. Reduza o escopo dos operadores de negao, de modo que cada esteja restrito a um nico tomo. Leis de equivalncia: negao dupla e Morgan. 3. Transforme-a para a forma normal conjuntiva: F1 F2 ... Fn, onde cada Fi est na forma L1 L2 ... Lm e cada Lj um literal. Leis de equivalncia: distributivas e associativas. 4. Transforme-a em um conjunto de clusulas substituindo frmulas na forma F1 F2 ... Fn em {F1, F2,..., Fn}, onde as frmulas Fi esto na forma disjuntiva. Exerccio: Transforme para a forma clausal a frmula P (Q R) (S P). Teorema 1 (soundness da resoluo) Uma coleo de regras de inferncia saudvel se ele preserva os valores verdade sob as operaes de derivao (|-). Considere duas clusulas C1 e C2 contendo literais complementares. Qualquer resolvente C de C1 e C2 uma conseqncia lgica de {C1, C2}. Isto , se {C1, C2}

C ento {C1, C2} C.


lvaro Guarda

Inteligncia Artificial em Controle e Automao

36

Obs.:

deriva (deduz) pela aplicao de uma regra de inferncia.

Teorema 2 A resoluo completa, isto , todas as conseqncias lgicas de um dado conjunto de frmulas podem ser derivadas. Se S F ento S F. 5.3. Lgica de Predicados mais expressiva que a lgica proposicional: permite descrever propriedades e relaes de / entre objetos; permite expressar declaraes mais gerais. Sintaxe a) Smbolos da linguagem i) Objetos : so os elementos do universo do discurso (inicia com maiscula). ii) Predicados : so relaes entre os objetos do universo (inicia com maiscula). Ex. : Homem(Jos). Pai(Jos, Maria). Sobre(BlocoA, BlocoB). Obs. : Aridade o nmero de elementos (argumentos) de um predicado. Proposio possui aridade 0. iii) Variveis : expressam genericamente elementos do universo (minsculas). iv) Funes : so mapeamentos de elementos do universo (minsculas). v) Conectivos lgicos : os mesmos da lgica proposicional : vi) Quantificadores : universal e existencial. vii) Smbolos auxiliares : parnteses, vrgula, ... . b) Definies i) Termo : definido como : (1) uma constante ; (2) uma varivel ; (3) se f uma funo de aridade n e t1, t2, ..., tn so termos, ento f(t1, t2, ..., tn) um termo.

ii) Frmula atmica, ou simplesmente tomo, uma expresso da forma P(t1, t2, ..., tn) onde P um predicado n-rio, nID 1, t2, ..., tn so termos. Exemplos : P(x), Q(f(y), C, g(f(x), z)) iii) Frmula composta, formada com tomos ligados por conectivos lgicos e junto com quantificadores. iv) Frmula bem formada (FBF) : (1) um tomo uma FBF ; (2) se P uma FBF ento P uma FBF ; (3) se P e Q so FBF, ento P Q, P Q, P Q, (4) se P uma FBF ento x P e x P so FBF.

P Q so FBF ;

v) Escopo de quantificador : a rea de influncia do quantificador. vi) Varivel livre : varivel que ocorre em uma FBF e no quantificada. vii) Frmula fechada (sentena): no possui variveis livres. viii)Frmula livre : possui variveis livres. Ex. : x (P(x,y) y (R(x, y))) o y em negrito no quantificado. Semntica Na lgica de predicados a semntica dada em cinco etapas :
Inteligncia Artificial em Controle e Automao lvaro Guarda

37

1) 2) 3) 4) 5)

Definir um domnio de aplicao D, denominado universo do discurso. Atribuir a cada varivel livre um elemento do domnio D. Atribuir a cada funo uma aplicao de Dn em D. Atribuir a cada proposio o valor v ou f. Atribuir a cada predicado uma aplicao de Dm em {v, f}.

Leis de Equivalncia para Quantificadores x P(x) x P(x) x P(x) x P(x) x (P(x) Q(x)) x P(x) x Q(x) x (P(x) Q(x)) x P(x) x Q(x) x P(x) y P(y) x P(x) y P(y) Cuidado : x (P(x) Q(x)) x P(x) x Q(x) x (P(x) Q(x)) x P(x) x Q(x) Forma Clausal da Lgica de Predicados a) Clusula uma frmula fechada disjuntiva x1, x2, ..., xs (L1 L2... Lm) onde cada Li (i =1..m; m0) um literal em que Li Lj (i j) e x1, ..., xs (s0) so variveis ocorrendo em (L1... Lm). b) Forma Normal PRENEX quando uma FBF tem o seguinte formato : Q1 x1 ... Qn xn M onde Qi (i =1..n; n0) um dos quantificadores ou , e M a frmula onde os quantificadores ocorrem. c) Uma frmula F na forma normal PRENEX est na Forma Normal Conjuntiva se a matriz M de F for da forma F1 F2 ... Fn, onde cada Fi (i =1..n; n1) for uma disjuno de literais L1 L2 ... Lm. Exemplos : x (P(x) y Q(x,y)) No est na forma normal PRENEX devido presena do quantificador existencial x y z ((P(x) Q(x,y)) R(x)) PRENEX x y ((P(x) Q(x,y)) (P(x) R(x))) Forma normal conjuntiva Algoritmo de transformao de uma FBF para a forma clausal: 1. Elimine as implicaes. Para isto utilize as leis de equivalncia: FG (FG) (GF) e FG F G. 2. Reduza o escopo dos operadores de negao, de modo que cada esteja restrito a um nico tomo. Leis de equivalncia: negao dupla, Morgan e dos quantificadores. 3. Individualize as variveis para que cada quantificador fique vinculado a uma varivel nica. x P(x) y P(y) e x P(x) y P(y) Leis de equivalncia: Exemplo: x F(x) x G(x) fica x F(x) y G(y) 4. Elimine os quantificadores existenciais atravs das funes de Skolen (skolenizao). x P(x) fica P(C) onde C uma constante no utilizada antes. x (y P(x, y)) fica x P(x, g(x)) onde g uma funo no utilizada antes. Obs. : - utilizado x como argumento da funo porque o escopo de x maior, ento y pode ser funcionalmente dependente de x. - As frmulas no so equivalentes lgico, porm F SAT sse Fs SAT. 5. Transforme a frmula em forma normal PRENEX, movendo os quantificadores para a esquerda da frmula, sem alterar a sua ordem relativa. 6. Transforme-a para a forma normal conjuntiva: F1 F2 ... Fn, onde cada Fi est na forma L1 L2... Lm e cada Lj um literal. Leis de equivalncia: distributivas e associativas. 7. Desconsidere o prefixo e transforme a matriz em um conjunto de clusulas substituindo frmulas na forma F1 F2 ... Fn em {F1, F2,..., Fn}, onde as frmulas Fi esto na forma disjuntiva.
Inteligncia Artificial em Controle e Automao lvaro Guarda

38

Exerccio: Transforme a FBF abaixo na forma clausal. x(yP(x,y)y(Q(x,y)R(f(x,y)))) 1. 2. 3. 4. 5. 6. 7. x(yP(x,y)y(Q(x,y)R(f(x,y)))) eliminao de implicaes x(yP(x,y)y(Q(x,y)R(f(x,y)))) reduo do escopo das negaes x(yP(x,y)z(Q(x,z)R(f(x,z)))) individualizao das variveis x(P(x,g(x))z(Q(x,z)R(f(x,z)))) eliminao dos quantificadores existenciais xz (P(x,g(x)) (Q(x,z)R(f(x,z)))) transformao na forma normal PRENEX xz ((P(x,g(x)) Q(x,z))(P(x,g(x))R(f(x,z)))) transformao na forma normal conjuntiva {P(x,g(x)) Q(x,z), P(x,g(x))R(f(x,z))} forma clausal

Resoluo na Lgica de Predicados Unificao um procedimento que procura tornar 2 expresses iguais atravs da substituio de variveis. Definies Substituio simples a expresso x/t onde se l x substitudo por t, x uma varivel e t um termo. Substituio um conjunto finito de substituies simples, onde nenhum dos primeiros elementos das substituies simples coincidem. Instncia Sejam E uma expresso e ={x1/t1, , xn/tn} uma substituio. E uma instncia de E, obtida substituindo-se em E cada ocorrncia de xi por ti, i. Se E for um conjunto de expresses, ento E uma instanciao de todas as expresses de E por . A instanciao da clusula C por substituio obtida fazendo C e eliminando-se as ocorrncias repetidas do mesmo literal. Composio de substituies A composio da substituio ={x1/t1, , xm/tm} com a substituio ={y1/s1, , yn/sn} ={ x1/t1, , xm/tm, y1/s1, , yn/sn} {xi/ti | xi=ti} {yj/sj | yj {x1, , xm}} Seja , e substituies, ento E() = E E() = E() associativa E E no comutativa Exemplo E = Q(x, f(y), g(z, x)) = {x/f(y), y/z} = {x/A, y/B, z/y} = {x/f(B), z/y} { x/f(y), y/z, x/A, y/B, z/y} {x/f(B), y/y, x/A, y/B, z/y} {x/f(B), z/y} E = Q{f(B), f(y), g(y, f(B))) Unificador uma substituio onde, dado um conjunto de expresses {E1, , Em}, E1= = Em. Unificador Mais Geral (UMG) um unificador de um conjunto de expresses E={E1, , Em}, onde para todo unificador de E existe uma substituio tal que =. Exemplo: E={R(x, f(A, g(y))), R(B, f(z, w))} 1={x/B, z/A, w/g(C), y/C} R(B, f(A, g(C)))
Inteligncia Artificial em Controle e Automao lvaro Guarda

39

2={x/B, z/A, y/f(A), w/g(f(A))} R(B, f(A, g(f(A)))) 3={x/B, z/A, w/g(y)} R(B, f(A, g(y))) 3 um UMG: Exerccio: 3{y/C}=1 Obs.: ={y/C} 3{y/f(A)}=2

Encontre o unificador mais geral para E={x, f(x)}.

Algoritmo de Unificao retorna o UMG como resultado ou fracasso Unifica(L1, L2):conjunto 1. Se L1 e L2 forem ambos constantes e/ou variveis, ento a) Se L1 e L2 forem idnticos, ento retorne {}. vazio b) Se L1 for uma varivel ento Se L1 ocorrer em L2 ento retorne fracasso seno retorne {L1/L2}. c) Se L2 for uma varivel ento Se L2 ocorrer em L1 ento retorne fracasso seno retorne {L2/L1}. d) Se L1 e L2 forem constantes ento retorne fracasso. Se os smbolos de predicado de L1 e L2 no forem idnticos ento retorne fracasso. Se as aridades de L1 e L2 forem diferentes ento retorne fracasso. UMG nulo Para n 1 at aridade de L1 a) S Unifica(n-simo argumento de L1, n-simo argumento de L2). b) Se S = fracasso ento retorne fracasso. c) Se S {} ento i) aplique S ao que resta em L1 e L2. ii) UMG UMG + S. Retorne UMG.

2. 3. 4. 5.

6.

Algoritmo de Resoluo Prova P com respeito a um conjunto de axiomas T Prova(P, T) 1. Clusulas Converte(T). 2. Clusulas Clusulas + Converte(P). 3. Faa at Clusulas ou nenhum progresso for feito a) Selecione 2 clusulas Ci e Cj Clusulas. b) Resolvente Resolve(Ci, Cj). c) Clusulas Clusulas + Resolvente.

Depende de uma estratgia.

Obs.: Se parou porque encontrou ento existe uma contradio. Assim, P verdadeiro em relao a T com as substituies que foram efetuadas para derivar . Resolve(Ci, Cj): clusula 1. Selecione L1 Ci, L2 Cj, onde L1 ou L2 negado nas clusulas e L1 e L2 so unificveis. 2. UMG Unifica(L1, L2). 3. Retorne o resolvente: disjuno de todos os literais de Ci e Cj, aps a aplicao do UMG, com exceo dos literais redundantes e dos literais complementares L1 e L2 (ou L1 e L2). Exerccio: Dado os axiomas abaixo, j na forma clausal, prove que Marcos odeia algum. Isto , odeia(marcos, x).
Inteligncia Artificial em Controle e Automao lvaro Guarda

40

1. Homem(Marcos) 2. Pompeano(Marcos) 3. Pompeano(x1) Romano(x1) 4. Soberano(Csar) 5. Romano(x2) Leal_a(x2, Csar) Odeia(x2, Csar) 6. Leal_a(x3, f1(x3)) 7. Homem(x4) Soberano(y1) Tenta_assassinar(x4, y1) Leal_a(x4, y1) 8. Tenta_assassinar(Marcos, Csar) Resposta: 9. Odeia(Marcos,x) 10. Romano(Marcos) Leal_a(Marcos, Csar) 9 e 5 {x2/Marcos, x/Csar} 11. Pompeano(Marcos) Leal_a(Marcos, Csar) 3 e 10 {x1/Marcos} 12. Leal_a(Marcos, Csar) 2 e 11 {} 13. Homem(Marcos) Soberano(Csar) Tenta_assassinar(Marcos, Csar) 7 e 12 {x4/Marcos, y1/Csar} 14. Soberano(Csar) Tenta_assassinar(Marcos, Csar) 1 e 13 {} 15. Tenta_assassinar(Marcos, Csar) 4 e 14 {} 16. 8 e 15 {} A clusula vazia foi derivada, ento est provado que Marcos odeia algum. Como a varivel do teorema est instanciada com Csar, ento Marcos odeia Csar. 5.4. Estratgia de Resoluo a forma de escolha das clusulas que sero resolvidas. As estratgi as sero apresentadas com exemplos da lgica proposicional, porm os conceitos so os mesmos para a lgica de predicados. A forma mais rpida usando a nossa inteligncia, selecionando as clusulas que geram a clusula vazia com o menor esforo. Veja o exemplo abaixo. Sejam a teoria {P, PQ, PQR} e o teorema R a ser provado, aplicando o algoritmo de resoluo a clusula vazia derivada e fica provado R. Clusulas: 1. P 5. PR 2 e 3 2. PQ 6. R 1e5 3. PQR 7. 4e6 4. R 1) Resoluo por Saturao (explorao em extenso) Faz a seleo das clusulas de maneira sistemtica, na ordem em que as mesmas aparecem, sendo que as clusulas selecionadas devem ter literais complementares. Para evitar trabalho desnecessrio, os resolventes que j esto presentes no conjunto de clusulas no so acrescentados novamente. Esta estratgia de seleo completa, mas ineficiente. Abaixo apresentada a seqncia de clusulas geradas com esta estratgia para o problema anterior: 5. Q 1e2 10. P 4e7 6. QR 1 e 3 11. R 5e6 7. PR 2e3 12. P 5e8 8. PQ 3 e 4 13. 5e9 9. Q 4e6 2) Resoluo com o Conjunto de Suporte Esta estratgia utiliza o conhecimento de que o conjunto de clusulas original (teoria ou axiomas) sempre consistente. Assim, somente possvel derivar a clusula vazia, provando a inconsistncia, utilizando-se pelo menos uma clusula que no pertena ao conjunto de clusulas original. Definio: Um subconjunto T de um conjunto de clusulas S um conjunto de suporte de S se e somente se S - T consistente. T contm inicialmente a clusula a ser provada e a cada passo o resolvente acrescentado a T.
Inteligncia Artificial em Controle e Automao lvaro Guarda

41

Na aplicao desta estratgia, pelo menos um dos pais faz parte do conjunto de suporte T. Esta estratgia eficiente porque previne a gerao de resolventes que no contribuem para a prova, diminuindo a exploso combinatorial. Veja abaixo a seqncia de clusulas geradas com esta estratgia para o problema anterior: 5. PQ 4 e 3 T={4} 6. Q 5e1 T={4, 5} 7. P 5e2 T={4, 5, 6} 8. 7e1 T={4, 5, 6, 7} 3) Resoluo Linear A clusula pai inicialmente a negao da clusula a ser provada e nos demais passos o ltimo resolvente. A outra clusula a clusula auxiliar (outra clusula qualquer). A seqncia de clusulas geradas com esta estratgia para o problema anterior : 5. PQ 4 e 3 6. Q 5e1 7. P 6e2 8. 7e1 Exerccio: 1) Prove P(h(x), x, h(S)) com relao ao conjunto de clusulas { P(f(x,y), x, y), P(x, g(x, y), y), P(x, y, u) P(y, z, v) P(x, v, w) P(u, z, w) }, utilizando as estratgias: (a) resoluo por saturao; (b) resoluo com conjunto de suporte; (c) resoluo linear. 4) Estratgia Linear de Entrada A clusula pai inicialmente a negao da clusula a ser provada e nos demais passos o ltimo resolvente. A clusula auxiliar (outra clusula) uma das clusulas do conjunto de entrada (clusulas originais + a negao do teorema a ser provado). Veja abaixo a seqncia de clusulas geradas com esta estratgia para o problema anterior: 5. PQ 4 e 3 6. Q 5e1 7. P 6e2 8. 7e1 5) Resoluo LSD (Linear com funo de Seleo para clusulas Definidas) Esta estratgia trabalha com um conjunto de clusulas consistindo de uma ou mais clusulas definidas e de uma clusula objetivo. Definies: (a) clusula definida aquela contendo exatamente um literal positivo, isto , uma expresso da forma: L M1 M2 . . . Mn ou L , onde L, M1, M2, . . ., Mn so tomos. (b) clusula objetivo a clusula vazia ou uma clusula com todos os literais negativos, isto , uma expresso M1 M2 . . . Mn da forma: (c) f uma funo de seleo sse f mapeia cada clusula objetivo em um literal da clusula. A aplicao desta estratgia funciona da seguinte forma: Sejam A uma clusula objetivo, da forma N1 N2 . . . Nm; A uma clusula definida, da forma L M1 M2 . . . Mk; uma re-nomeao de A em presena de A; f uma funo de seleo, padro, tal que f(N1 N2 . . . Nm) = N1; o resolvente uma clusula objetivo A sse existe um UMG do conjunto de literais {L, N1} tal que A da forma (M1 M2 . . . Mk N2 . . . Nm ) Note que: a clusula A denominada clusula -pai e sempre o ltimo resolvente ou, na primeira vez, o teorema negado;

a clusula A denominada clusula auxiliar e pertence ao conjunto de cl usulas de entrada;


lvaro Guarda

Inteligncia Artificial em Controle e Automao

42

no h liberdade de escolha dos literais; o resolvente sempre uma clusula objetivo; esta estratgia utiliza um subconjunto da lgica de predicados, chamado clusulas de Horn, permitindo apenas clusulas do tipo: L (a) L. L M1 M2 . . . Mn (b) L M1 M2 . . . Mn M1 M2 . . . Mn (M1 M2 . . . Mn) (c) M1 M2 . . . Mn

A seqncia de clusulas geradas com esta estratgia para o problema anterior : 5. PQ 4 e 3 6. Q 5e1 7. P 6e2 8. 7e1 Exerccios: 1) Prove P(B) com relao ao conjunto de clusulas { P(x) R(x) P(B), P(A) R(B), P(A), R(A)}, utilizando as estratgias: (a) resoluo por saturao; (b) resoluo com conjunto de suporte; (c) resoluo linear. 2) Prove o Depende(A,E) com relao ao conjunto de clusulas { Chama(A,B), Usa(B,E), Depende(x,y) Chama(x,y), Depende(x,y) Usa(x,y), Depende(x,y) Chama(x,z) Depende(z,y) }, utilizando as estratgias: (a) resoluo por saturao; (b) resoluo com conjunto de suporte; (c) resoluo linear; (d) resoluo linear de entrada; (e) resoluo LSD. Soluo do exerccio 1): (a) resoluo por saturao: 1. P(x) R(x) P(B) 2. P(A) R(B) 3. P(A) 4. R(A) 5. P(B) 6. R(A) P(B) 7. P(A) P(B) 8. R(B) 9. P(B) 10. R(A) 11. P(A) 12. 1e3 1e4 1e5 3e7 5e6 5e7 5e9 {x/A} {x/A} {x/B} {} {} {} {}

(b) resoluo com conjunto de suporte: 1. P(x) R(x) P(B) 2. P(A) R(B) 3. P(A) 4. R(A) 5. P(B) 6. R(B) 5 e 1 {x/B} No mais possvel avanar, ento tenta outra alternativa pegando o literal P(B) da clusula 1. 6. P(x) R(x) 5 e 1 {} 7. R(A) 6 e 3 {x/A} 8. P(A) 6 e 4 {x/A}

Inteligncia Artificial em Controle e Automao

lvaro Guarda

43

9. R(B) 10. (c) resoluo linear: 1. P(x) R(x) P(B) 2. P(A) R(B) 3. P(A) 4. R(A) 5. P(B)

6 e 5 {x/B} 7e4 {}

6. R(B) 5 e 1 {x/B} No mais possvel avanar, ento tenta outra alternativa pegando o literal P(B) da clusula 1. 6. P(x) R(x) 5 e 1 {} 7. R(A) 6 e 3 {x/A} 8. 7e4 {} Soluo do exerccio 2): (a) resoluo por saturao: 1. Chama(A,B) 2. Usa(B,E) 3. Depende(x,y) Chama(x,y) 4. Depende(x,y) Usa(x,y) 5. Depende(x,y) Chama(x,z) Depende(z,y) 6. Depende(A,E) 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... (b) resoluo com conjunto de suporte: 1. Chama(A,B) 2. Usa(B,E) 3. Depende(x,y) Chama(x,y) 4. Depende(x,y) Usa(x,y) 5. Depende(x,y) Chama(x,z) Depende(z,y) 6. Depende(A,E)
Inteligncia Artificial em Controle e Automao lvaro Guarda

Depende(A,B) Depende(A,y) Depende(B,y) Depende(B,E) Chama(z,y) Chama(z,z) Chama(A,E) Chama(B,y) Depende(A,y) Usa(z,y) Chama(z,z) Usa(A,E) Usa(B,y) Depende(A,y) Chama(A,z) Depende(z,E) Depende(x,B) Chama(x,A) Chama(B,z) Depende(z,y) Depende(A,y) Depende(x,y) Chama(x,A) Depende(B,y) Depende(x,E) Chama(x,B) Depende(x,y) Chama(x,A) Chama(B,y) Depende(x,y) Chama(x,A) Usa(B,y) Chama(x1,z) Depende(z,E) Chama(A,x1) Depende(x,B) Chama(x,z) Chama(z,A)

1 e 3 {x/A, y/B} 1 e 5 {x/A, z/B} 2 e 4 {x/B, y/E} 3 e 5 {x/z} 3 e 6 {x/A, y/E} 3 e 8 {x/B} 4 e 5 {x/z} 4 e 6 {x/A, y/E} 4 e 8 {x/B} 5 e 6 {x/A, y/E} 5 e 7 {z/A, y/B} 5 e 8 {x/B} 5 e 8 {z/A} 5 e 9 {z/B, y/E} 5 e 12 {z/A} 5 e 15 {z/A} 5 e 16 {z/x1, x/x1,y/E} 5 e 17 {x1/z, y/B} antes, a varivel x da 17 foi renomeada para x1

44

7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.

Chama(A,E) Usa(A,E) Chama(A,z) Depende(z,E) Depende(B,E) Chama(A,x) Chama(x,E) Chama(A,x) Usa(x,E) Chama(x,z) Depende(z,E) Chama(A,x) Chama(B,E) Usa(B,E) Chama(B,z) Depende(z,E) Chama(A,B) Depende(B,E) Chama(A,A) Chama(z,z) Chama(A,z) Chama(z,E) Chama(x,z) Chama(A,x) Usa(z,E)

6e3 6e4 6e5 9e1 9e3 9e4 9e5 10 e 3 10 e 4 10 e 5 12 e 2 13 e 1 13 e 3 13 e 4 13 e 5 15 e 2

21. Chama(x,x1) Chama(A,x) Chama(x1,z1) Depende(z1,E) 22.

{x/A, y/E} {x/A, y/E} {x/A, y/E} {z/B} {z/x, y/E} {z/x, y/E} {z1/x, y/E} antes, a varivel z da 9 foi renomeada para z1 {x/B, y/E} {x/B, y/E} {x/B, y/E} {x/B} {x/A, z/B} {x/z, y/E} {x1/z, y/E} antes, a varivel x da 4 foi renomeada para x1 {z/x1, y/E} antes, a varivel z da 5 foi renomeada para z1; e a x da 5 para x1 {}

(c) resoluo linear, resoluo linear de entrada e resoluo LSD, para este problema, tm a mesma soluo: 1. Chama(A,B) 2. Usa(B,E) 3. Depende(x,y) Chama(x,y) 4. Depende(x,y) Usa(x,y) 5. Depende(x,y) Chama(x,z) Depende(z,y) 6. Depende(A,E) 7. 7. 7. 8. 9. 9. 10. Chama(A,E) Usa(A,E) Chama(A,z) Depende(z,E) Depende(B,E) Chama(B,E) Usa(B,E) 6e3 6e4 6e5 7e1 8e3 8e4 9e2 {x/A, y/E} {x/A, y/E} {x/A, y/E} {z/B} {x/B, y/E} {x/B, y/E} {x/B} No mais possvel avanar No mais possvel avanar

No mais possvel avanar

rvore de Busca A escolha da estratgia de resoluo define como explorada a rvore de busca para encontrar a clusula vazia. A Figura 25 apresenta a rvore de busca para o problema do exerccio 1. Os nodos da rvore de busca contm o conjunto de clusulas corrente, sendo que a raiz contm o conjunto de clusulas de entrada.

Inteligncia Artificial em Controle e Automao

lvaro Guarda

45

1. P(x) R(x) P(B) 2. P(A) R(B) 3. P(A) 4. R(A)

1 e 3 {x/A}

1 e 4 {x/A}

1 e 5 {}

2 e 3 {}

1. P(x) R(x) P(B) 2. P(A) R(B) 3. P(A) 4. R(A) 5. P(B) 6. R(A) P(B) 1 e 4 {x/A} 1. 2. 3. 4. 5. 6. 7. P(x) R(x) P(B) P(A) R(B) P(A) R(A) P(B) R(A) P(B) P(x) P(B)

1. P(x) R(x) P(B) 2. P(A) R(B) 3. P(A) 4. R(A) 5. P(B) 6. P(x) P(B)

1. P(x) R(x) P(B) 2. P(A) R(B) 3. P(A) 4. R(A) 5. P(B)

...

6. P(x) R(x)
2 e 3 {} 1. 2. 3. 4. 5. 6. 7.

1. P(x) R(x) P(B) 2. P(A) R(B) 3. P(A) 4. R(A) 5. P(B)

6. R(B)

1 e 5 {} 1. 2. 3. 4. 5. 6. 7. P(x) R(x) P(B) P(A) R(B) P(A) R(A) P(B) R(A) P(B) P(x) R(x)

...

...

P(x) R(x) P(B) P(A) R(B) P(A) R(A) P(B) R(A) P(B) R(B)

...

Figura 25 - rvore de busca.

...

...

rvore de Refutao A escolha da estratgia de resoluo define como explorada a rvore de busca para encontrar a clusula vazia. A rvore contendo apenas os nodos visitados durante o processo de busca da clusula vazia denominada rvore de refutao. A Figura 26 apresenta a rvore de refutao para o problema do exerccio 2 utilizando a estratgia de resoluo LSD. Para as estratgias Linear, Linear de Entrada e LSD a rvore pode ser simplificada colocando-se nos nodos apenas a clusula objetivo corrente (clusula pai). A raiz normalmente contm apenas a clusula objetivo (teorema negado), mas pode conter o conjunto de clusulas de entrada por questes de clareza. Como a clusula objetivo sempre participa na resoluo das clusulas, o seu nmero pode ser omitido nos arcos.

Inteligncia Artificial em Controle e Automao

lvaro Guarda

46

6. Depende(A,E)

3 {x/A, y/E} 7. Chama(A,E)

4 {x/A, y/E}

5 {x/A, y/E}

7. Usa(A,E)

7. Chama(A,z) Depende(z,E)

1 {z/b}

8. Depende(B,E) 3 {x/B, y/E} 4 {x/B, y/E}

9. Chama(B,E)

9. Usa(B,E)

2 {x/B}

10. Figura 26 - rvore de Refutao.

Inteligncia Artificial em Controle e Automao

lvaro Guarda

47

6.

Sistemas Especialistas (SE) so sistemas de Inteligncia Artificial, baseados em conhecimento, que emulam um especialista humano na resoluo de um problema significativo em um domnio especfico. Assim, os SE solucionam problemas que normalmente so solucionados por especialistas humanos. Para solucionar tais problemas, os sistemas especialistas precisam acessar uma substancial base de conhecimento do domnio da aplicao, que precisa ser criada de modo mais eficiente possvel. Eles tambm precisam explorar um ou mais mecanismos de raciocnio, para aplicar aos problemas que tm diante de si. Depois eles precisam de um mecanismo para explicar o que fizeram aos usurios que dele dependem. O termo especialista freqentemente leva as pessoas a terem expectativas irrealistas do desempenho de um SE. importante lembrar que o termo especialista originalmente representa uma limitao na capacidade de representao e armazenamento de conhecimento do sistema. Na verdade, um SE trata de um determinado conhecimento especfico sobre um domnio de problema, ao contrrio de um solucionador geral de problemas. Quanto mais geral a classe de problemas que podem ser resolvidos por um sistema, mais insatisfatria ser a soluo produzida. Os problemas com os quais lidam os sistemas especialistas so altamente diversificados. H questes gerais que surgem em vrios domnios. Os sistemas especialistas que fizeram mais sucesso comercialmente esto na classe de problemas em que dado um conjunto de fatos observados, o sistema infere possveis problemas, detecta resultados relevantes, apresenta alternativas de projeto, etc. Caractersticas de SE Possuem conhecimento especializado em alta qualidade e quantidade; O conhecimento pode ser incompleto, subjetivo e inexato; O Banco de Conhecimento independente da Estrutura de Controle; Explicam o raciocnio utilizado na resoluo do problema; Incluem tratamento de incerteza; Podem adquirir novos conhecimentos. Tipos de SE Classificao Diagnose - infere mal-funes. Interpretao - compreende situaes. Predio - infere conseqncias de situaes. Projeto - configura objetos sob restries. Planejamento - projeta seqncia de aes. Depurao - prescreve remdios para mal -funes. Reparo - executa um plano para administrar um remdio prescrito. Instruo - diagnose, depurao e reparo para deficincias de estudantes. Controle - interpretao, predio, reparo, e monitoramento de comportamento de sistemas. O SE e seu Ambiente A Figura 27 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. 6.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 em Controle e Automao lvaro Guarda

Introduo aos Sistemas Especialistas

48

usurio

?
Consulta SE Resposta

especialistas

engenheiro de conhecimento

Figura 27 - 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? 6.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 28, 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 em Controle e Automao

lvaro Guarda

49

A. A B. ...

Modus Ponens

A. A B. B. ...

Figura 28 - 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:

Modo de seleo de peas de conhecimento (regras, quadros, roteiros, nodos, ...) - feito atravs de casamento de padres. Direo do raciocnio - a direo em que feita a busca em um espao de solues. No caso de regras a direo como feito o encadeamento das regras: o Encadeamento progressivo (encadeamento para frente, forward, data -driven, bottom -up) As regras da base de conhecimento so selecionadas com base no conhecimento existente (fatos da base de conhecimento, informaes do usurio e conhecimento j inferido), comparando-se o lado esquerdo das regras (condies), e ativadas para gerar novos fatos at encontrar a soluo. Equivale busca em espao de estados, onde o estado o banco de conhecimento. A Figura 29 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 30 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.

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

2)

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 29 - Exemplo de encadeamento progressivo.
Inteligncia Artificial em Controle e Automao lvaro Guarda

50

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

Estratgia de Pesquisa - pode ser: o em profundidade; o em extenso; o heurstica. Utilizao de Meta-conhecimento - 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. Anlise de diferena - 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 31 - Tabela verdade incluindo o valor desconhecido (D).
Inteligncia Artificial em Controle e Automao lvaro Guarda

51

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 32. 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 32 - Escala do grau de certeza do conhecimento no MYCYN Forma de Inferncia

Fator de certeza (FC) da concluso de uma regra = (FC(conjunto de antecedentes) * FC(regra)) / 100

FC(conjunto de antecedentes) = min(FCs dos antecedentes) se antecedentes conjuntivos (unidos pelo E) ou = max(FCs dos antecedentes) se antecedentes disjuntivos (unidos pelo OU)

Vrias regras inferem a mesma concluso - abaixo so apresentadas trs formas de clculo com um exemplo na figura Figura 33. 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 33 - Exemplo de clculo quando vrias regras inferem a mesma concluso. 6.3. Alguns Exemplos de Sistemas Especialistas
lvaro Guarda

Inteligncia Artificial em Controle e Automao

52

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. 6.4. Ferramentas de Desenvolvimento de Sistemas Especialistas
Inteligncia Artificial em Controle e Automao lvaro Guarda

53

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

FACILIDADE VELOCIDADE DE DESENVOLVIMENTO Figura 34 - Software para o desenvolvimento de SE

Inteligncia Artificial em Controle e Automao

lvaro Guarda

54

6.5.

Aquisio de Conhecimento 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:

Insero de conhecimento;

Manuteno da consistncia da base de conhecimento;

Garantia de completeza da base de conhecimento.

6.6.

Problemas Alguns dos principais problemas enfrentados pelos sistemas especialistas atuais so:

Fragilidade: Como os sistemas especialistas s tm acesso a conhecimentos altamente especficos do domnio, eles no podem contar com conhecimentos mais genricos quando a necessidade surge. Por exemplo, suponha que cometamos um erro na entrada de dados para um sistema especialista mdico e que descrevamos um paciente com 130 anos e 20 quilos. A maioria dos sistemas no seria capaz de adivinhar que podemos ter invertido os dois campos. j que os valores no so muito plausveis. Alguns sistemas representam uma tentativa de remediar esse problema fornecendo um substrato de conhecimentos de senso comum, sobre o qual sistemas especialistas especficos podem ser criados.

Falta de Meta-conhecimento Os sistemas especialistas no tm conhecimentos muito sofisticados sobre sua prpria operao. Eles normalmente no conseguem raciocinar sobre seu prprio escopo e restries, dificultando ainda mais a tarefa de lidar com a sua fragilidade.

Aquisio de Conhecimento Apesar do desenvolvimento de ferramentas, a aquisio ainda continua sendo um dos maiores obstculos aplicao da tecnologia dos sistemas especialistas a novos domnios.

Validao: Medir o desempenho de um sistema especialista difcil, porque no sabemos como quantificar o uso do conhecimento. Certamente impossvel apresentar provas formais de correo para sistemas especialistas. Uma coisa que podemos fazer comparar esses sistemas com especialistas humanos em problemas do mundo real Por exemplo. o MYCIN participou de um painel de especialistas para avaliar dez casos selecionados de meningite, obtendo resultados melhores do que qualquer um de seus concorrentes humanos.

6.7.

Concluses Desde a metade da dcada de 60, quando comearam os trabalhos sobre os sistemas que hoje conhecemos como especialistas, muito progresso foi feito na construo de tais programas. As experincias obtidas com esses esforos sugerem as seguintes concluses.

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

Os sistemas bem-sucedidos tm muito conhecimento bem-definido sobre uma determinada rea. Isto contrasta com o conhecimento amplo e de difcil definio que chamamos de senso comum. E mais fcil criar sistemas especialistas do que sistemas com senso comum.

Um sistema especialista em geral construdo com a ajuda de um ou mais especialistas, que precisam estar dispostos a transferirem o seu conhecimento para o sistema.

A transferncia de conhecimento ocorre gradualmente, atravs de muitas interaes entre o especialista e o sistema. O especialista nunca fornece de pronto o conhecimento correto ou completo.

A quantidade de conhecimento exigida depende da tarefa. Ela pode variar de 40 regras a milhares delas.

A escolha da estrutura de controle para um determinado sistema depende das caractersticas especificas do sistema.

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

Inteligncia Artificial em Controle e Automao

55

7.

O objetivo da Engenharia de Conhecimento desenvolver sistemas de IA baseados em conhecimento atravs da modelagem dos processos cognitivos para resoluo de problemas utilizados pelos especialistas em algum domnio. A Engenharia de Conhecimento uma tarefa artesanal, pois os mtodos utilizados pelos especialistas so particulares e, as atividades dependem do tipo e do domnio do problema. Os profissionais envolvidos so Especialista; Engenheiro de Conhecimento; Programador.

Engenharia de Conhecimento

7.1.

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

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

Misto O sistema desenvolvido de forma estruturada, porm alguns mdulos ou funes so construdos utilizando prototipao. Atividades em um Sistema com IA
5 Integrao de Sistemas Plano de Treinamento e Reorganizao 8 Anlise do Hardware Interface com Usurio Entrada do Usurio 1 Integrao de Sistemas Necessidades de Hardware Pedido ao Fabricante

7.2.

6 Implementao Estruturada

Configurao

Usurio

Estudo / Viabilidade

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

Mdulos Estruturados

BD Fsico

7 Teste de Aceitao

3 Projeto da Base Dados

Sistema de Produo

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

5 Integrao de Sistemas

Plano de Treinamento e Reorganizao 8 Anlise do Hardware Pedido ao Fabricante

Interface com Usurio Entrada do Usurio 1 Integrao de Sistemas

Necessidades de Hardware

6 Implementao Estruturada

Configurao

Usurio

Estudo de Viabilidade

Projeto de Consolidao Especificao 2 4 Estruturada Anlise Projeto Estruturada Estruturado Especificao IA

Mdulos Estruturados

BD Fsico

Plano de Testes 7 Teste de Aceitao

Especificao BC lgica

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

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

Inteligncia Artificial em Controle e Automao

lvaro Guarda

57

2. Anlise Estruturada Elaborar um conjunto de DFDs com descries narrativas dos processos (tarefas do especialista) e um dicionrio de dados. Especificar os requerimentos de interface com o usurio. Especificar os requerimentos de desempenho.

3. Projeto do Banco de Conhecimento Definir a forma de representar o conhecimento.

4. Projeto Estruturado Definir a forma de raciocnio. Definir a interface com o usurio. Escolher o instrumento (linguagem, ambiente ou ferramenta).

5. Integrao de Sistemas 6. Implementao Codificao do conhecimento de acordo com o mtodo da ferramenta.

7. Teste de Aceitao 8. Anlise do Hardware 9. Aquisio do Conhecimento 7.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 em Controle e Automao lvaro Guarda

58

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 em Controle e Automao lvaro Guarda

59

As tabelas servem para organizar o conhecimento que vai sendo levantado junto s fontes utilizadas. A tabela da Figura 38 apresenta os principais fatores que o especialista leva em conta para decidir quais meios so recomendados. A Figura 39 faz uma anlise levantando algumas das possveis relaes entre as ponderaes apresentadas na Figura 38 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 37 Fluxo de Consulta sobre meios instrucionais

Inteligncia Artificial em Controle e Automao

lvaro Guarda

60

de trabalho ou tarefa

Ponderaes

de ensino
Realimentao Instrucional o Sim o No

Situao do Estmulo o Ambiental o Pictria o Simblica o Verbal


Durao do Estimulo o Breve o Persistente

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

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

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

Figura 38 - 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 39 - Anlise matricial de escolha do meio instrucional

Inteligncia Artificial em Controle e Automao

lvaro Guarda

61

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 40 - 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 41 - Tabela de detalhamento da resposta apropriada.


Inteligncia Artificial em Controle e Automao lvaro Guarda

62

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 39. Para se criar as regras, inicialmente foi utiliza a tabela da Figura 39, 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 40 e da Figura 41 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 em Controle e Automao lvaro Guarda

63

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 em Controle e Automao lvaro Guarda

64

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 em Controle e Automao lvaro Guarda

65

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 em Controle e Automao lvaro Guarda

66

"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 em Controle e Automao

lvaro Guarda

67

Você também pode gostar