P. 1
01-Apostila - Inteligência Artificial em Controle e Automação

01-Apostila - Inteligência Artificial em Controle e Automação

|Views: 10|Likes:
Publicado porDavid Chagas

More info:

Published by: David Chagas on Jul 16, 2013
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/11/2015

pdf

text

original

UNIVERSIDADE FEDERAL DE OURO PRETO INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS DEPARTAMENTO DE COMPUTAÇÃO

Apostila

CIC284 - Inteligência Artificial em Controle e Automação
Álvaro Guarda

Ouro Preto - MG Março de 2005

Sumário

Inteligência Artificial em Controle e Automação

Álvaro Guarda

2

Inteligência Artificial em Controle e Automação

Álvaro Guarda

3

1.3. Assim. tinha 450 regras e fazia análise do sangue). permitindo que o aluno possa dar continuidade ao estudo da área e aplicar os conhecimentos adquiridos de forma autônoma. interessantes para a área de automação e controle. . a IA já desenvolveu muitas técnicas que são úteis nas mais diversas áreas: otimização.1980 1980 . . como as expectativas não são realistas. os resultados que são obtidos na área freqüentemente são muito mais tímidos do que se esperava.1975 Pré-IA Lisp Sistemas de Produção (evolução de sistemas genéricos). ou mais humildemente. . Prospector (fazia prospecção geológica).1. são abordados aspectos práticos. Isto gera uma certa de desconfiança por parte de pesquisadores de outras áreas e acaba até prejudicando o desenvolvimento da IA.1960 1960 . Entretanto. . fazendo experimentações e/ou implementando diversas técnicas.2. existe muito sensacionalismo sobre IA em revistas. Dendral Período das Trevas Conscientização das limitações Período da renascença Hearsy. Artigo "A revolução da IA" (Estado de Minas. etc. Mycin (ajudava a diagnosticar doenças no sangue.1970 1970 . além do conhecimento teórico. Outros pontos são apresentados sem caráter formativo. . 18/11/96). um animal". Ao final do curso o aluno deverá dominar diversos pontos da IA clássica e conhecer razoavelmente bem alguns tópicos avançados em IA. processamento de imagens. tradução automática. Prolog Período da associação Áreas de aplicação Período do empreendimento Popularização de SE Ferramentas e Ambientes 1975 . Período do entusiasmo Macsyma. .. interface homem-máquina. .1965 1965 . jornais e inclusive em livros. Objetivos do Curso No curso alguns tópicos são estudados procurando aprofundar os aspectos importantes. freqüentemente equivocadas. Além do termo que é um tanto ambicioso. jogos. Áreas de Pesquisa da IA ¡ Processamento do Conhecimento (simbólico) o Modelagem e Representação o Métodos de Inferência o Sistemas Baseados em Conhecimento o Aquisição de Conhecimento Álvaro Guarda Inteligência Artificial em Controle e Automação 4 . 1. Alguns exemplos de afirmações exageradas são: Introdução   ¡ ¡ "O homem vai tentar reproduzir o computador à sua imagem". 1. "O objetivo principal da IA é construir uma pessoa. Em algumas partes do curso. O termo “Inteligência Artificial” (IA) desperta interesse e muitas expectativas. Charmiak e McDermott. Evolução da Inteligência Artificial . mas procurando dar uma visão abrangente da área e de suas aplicações.1. "Um computador é inteligente se possui qualquer uma das habilidades mentais que fazem uma pessoa ser considerada inteligente" [Araribóia88]. datamining.

[Nascimento00]. Inteligência Artificial em Controle e Automação Álvaro Guarda 5 . [Rich93] e [Mitchell97] e em alguns livros da bibliografia complementar como [Bratko90]. Diversas partes do texto também foram baseadas no material de aula do Prof. Referências O conteúdo desta apostila é fortemente baseado na bibliografia básica do programa da disciplina. CIC284 – Inteligência Artificial em Controle e Automação. Elton Silva.¢ ¢ ¢ ¢ ¢ o Aprendizado Computacional Redes Neuronais Sistemas e Linguagens para IA Arquiteturas Específicas para IA Processamento de Linguagem Natural Robótica Inteligente o Síntese de Voz o Percepção o Manipulação o Planejamento 1.4.

Tinha crises de vômito com medo da Teoria da Evolução. capacidade de se motivar. Abaixo são apresentadas algumas definições para as palavras que compõem o termo retirado do Dicionário Michaelis e outros.: Garrincha. etc. • Facilidade de adaptação. Para muitos cientistas. etc. Atualmente há um consenso de que um alto QI não é garantia de sucesso e passou-se a adotar o que chamamos de Inteligência Emocional (IE) juntamente com o QI. • Pessoa de grande esfera intelectual. • Destreza mental. A inteligência deve ser compreendida não apenas como aptidão para o manejo de símbolos e números. tinha síndrome de pânico. entendimento. era excessivamente rabugento. Discussão e Tentativa de Definição O termo “Inteligência Artificial” não é de fácil definição e há controvérsias entre vários pesquisadores. • Habilidade em fazer determinada coisa. descrevendo apenas qualidades ou apresentando sinônimos.1. compreender. intelecto. • Compreensão. conhecimento profundo. entender os outros. este padrão apresenta alguns problemas: • Albert Einstein : Maltratava a mulher como uma escrava particular.2. Existem muitas discussões filosóficas sobre o assunto. intencionalidade. • Charles Darwin : Pesquisador compulsivo. pensar. persistência. capacidade de se motivar. • Que envolve artifício. fingido. Hoje em dia as empresas estão valorizando muito essas capacidades em seus futuros empregados. • Faculdade ou capacidade de aprender. Assim. persistência. Entretanto. • Intelectualidade. Desconsiderando esta questão. Pelé. • Oposto de natural. • Karl Max : Queria demolir o capitalismo. • Inteligência corporal : relacionamento com o espaço (ex. • Imitação. postiço. mas era um gastador inveterado. Neste contexto surge a questão da necessidade e da possibilidade de se prover capacidades emocionais em máquinas. Nem mesmo os pesquisadores em Psicologia Cognitiva sabem como a inteligência funciona. • Habilidade mental medida pelo QI (capacidade de manipulação simbólica). apesar de parecer que as definições apresentadas são suficientes. a inteligência passou a ser vista e discutida sob vários aspectos: • Inteligência racional (acadêmica): geralmente associada a aptidões lingüísticas e numéricas. • Inteligência intra-pessoal : conhecer-se a si mesmo. como é formada e o que é necessário para que ela se manifeste. perspicácia. • Inteligência social : relações humanas. e existem outras esferas de discussão: Inteligência Artificial em Controle e Automação Álvaro Guarda 6 . fazer uso de analogias. Inteligência • Faculdade de entender. zelo. A habilidade de lidar com características avaliadas pela IE pode dar a verdadeira medida da inteligência humana: autocontrole. Barishnikov). • Contrafeito. Artificial • Produzido por arte ou indústria do homem e não por causas naturais. a definição de inteligência é superficial. raciocinar e interpretar. Caracterização 2. metáforas e abstrações. zelo. não sabia administrar as suas finanças e vivia pedindo dinheiro aos amigos. • Feito pelo homem. • Tenta imitar o comportamento humano. • Sigmund Freud : Sofria do complexo de Édipo. Os grandes gênios da humanidade ajudaram a fixar na cultura ocidental um padrão de "homem inteligente". era obcecado pela mãe. mas sobretudo como habilidade para interagir com o meio ambiente. a inteligência está relacionada com vontade própria. lidar com situações inesperadas. • Inteligência emocional : autocontrole.

Criacionista : • ser inteligente transcende a criação. • Inteligência ligada ao conceito de alma, espírito. • Capacidade de auto-avaliação, não agir só por instinto. Evolucionista : • Alma = cérebro • A mente seria um efeito complexo das leis que governam as partículas físicas que compõe o cérebro. • homem seria apenas um robô biológico. Alguns cientistas da computação enfatizam que os computadores são "idiotas" com capacidade de processar informação em altíssima velocidade, seguindo exatamente as "ordens" dos seus programadores. Russel e Norvig [Russel95] propõem uma organização de diferentes definições de IA variando em duas dimensões principais e formando quatro categorias como apresentado na Figura 1. A dimensão ocupando o eixo horizontal trata da forma de funcionamento: humano x máquina (racionalmente). A dimensão no eixo vertical trata da ação: 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 - Classificação de algumas definições de IA

Inteligência Artificial em Controle e Automação

Álvaro Guarda

7

2.2. Comparação entre IA e Computação Convencional A Figura 2 apresenta as principais características que diferenciam um sistema de IA e um sistema construído de forma

convencional.

IA Não algorítmico Processamento Simbólico Não Determinista Fácil Modificação Estrutura

Computação Convencional Algorítmico Processamento Numérico Determinista Difícil Modificação Estrutura

Dados + Programas Estrutura de Controle Resultados
Figura 2 - IA x Computação Convencional

Dados Programas Resultados

2.3. Automação de Atividades A Figura 3 mostra uma classificação das atividades que são executadas nas empresas e o tipo de automação que é utilizado em cada caso.

Trabalhos não Estruturados

Trabalhos pouco Estruturados Trabalhos Estruturados

COMPUTAÇÃO INTELIGENTE

COMPUTAÇÃO CONVENCIONAL
Figura 3 - Perfil das atividades em relação à mão-de-obra

Inteligência Artificial em Controle e Automação

Álvaro Guarda

8

3.

Neste capítulo serão estudadas duas abordagens que permitem resolver a maior parte dos problemas: • resolução utilizando Espaço de Estados; • resolução por Decomposição de Problemas. A escolha da abordagem depende do problema, como será visto mais adiante.

Resolução de Problemas

3.1. Espaço 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 operações de transformação de estados. Estado Inicial Figura 4 Operações Estado Final

Representação do problema.

3.1.1. Representação do Problema em Espaço de Estados Para facilitar a assimilação dos conceitos, a introdução ao assunto será feita através do mundo dos blocos. O mundo dos blocos proposto para estudo possui apenas três 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 disposição dos blocos de acordo com o desejado. Assim, um plano é uma seqüência de movimentos de blocos que, partindo de uma situação inicial, leva a uma situação desejada. A Figura 5 apresenta um problema específico, onde estão definidas a situação inicial e a situação desejada. A definição do mundo estabelece uma classe de problema, pois é possível definir para o mesmo mundo novos problemas através da escolha de outras situações inicial e desejada.
situação inicial situação desejada

C A B
Figura 5

seqüência de movimentos

A B C

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

Neste problema, a modelagem utilizando a abordagem Espaço de Estados é natural: a situação inicial dos blocos é o estado inicial, a situação desejada é o estado final e a seqüência de movimentos é uma seqüência de operações válidas do conjunto de operações de transformação de estados. O conjunto de operações pode ser formado pelas operações 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 possível conjunto de operações para o problema da Figura 5.

Uma operação é válida quando ela respeita as restrições impostas na definição do problema. As restrições de movimentos no problema proposto são bastante simples: é permitido mover apenas um bloco de cada vez, não 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 operação (2) não poder haver blocos em cima do bloco A nem do bloco B. Desta forma, partindo da situação inicial do problema apresentado na Figura 5, existe apenas um movimento legal: coloque o bloco C sobre a mesa. Na nova situação, após o

Inteligência Artificial em Controle e Automação

Álvaro Guarda

9

o estado final está com linha dupla concêntrica e uma solução possível é o caminho com setas maiores. são os estados iniciais de uma problema. metas ou objetivos de um problema e servem para determinar quando se chegou a uma solução. Resumindo. definição de um ou mais estados neste espaço de estados que descreva situações de partida do processo de solução do problema. 3. a forma usual é feita apenas através da definição do conjunto de operações de transformação de estados (regras do jogo) e o espaço de estados fica implícito. então a classe de problemas e o espaço de estados são finitos. entretanto. conforme a Figura 7. (2) se X e Y estão no topo de pilhas coloque o bloco X sobre o bloco Y. um problema pode ser descrito formalmente utilizando a abordagem Espaço de Estados pelos seguintes elementos: 1. • Quanto do trabalho necessário para resolver o problema deve ser pré-computado e representado nas operações? Por exemplo. A interpretação da solução no problema do mundo dos blocos é uma seqüência de movimentos de blocos. especificação do espaço de estados. o espaço de estados pode ser especificado de forma extensiva. ou seja. partindo do estado inicial. Alguns pontos a serem considerados nesta atividade são: • Que hipóteses não declaradas explicitamente estão presentes na descrição não-formal do problema? • Quão geral devem ser as operações? Por exemplo. existem três movimentos legais possíveis: coloque o bloco A sobre a mesa. conforme a Figura 7. Assim. um plano para re-arranjar a pilha de blocos de acordo com a definição do problema. são os estados finais. Como o mundo dos blocos sobre o qual se está estudando possui um número limitado de elementos. (2) coloque o bloco X sobre o bloco Y. chega ao estado final. ¦ § ¥ ¦ § ¦ ¥ § ¦ ¥ § ¥ £ ¤ ¥ ¦ § ¥ ¦ ¥ § § ¦ ¥ ¥ ¦ § ¥ ¥ ¦ § ¦ § ¦ § ¥ ¦ § ¥ Figura 7 Representação gráfica do espaço de estados para a classe de problemas em estudo (baseado em [Bratko2001]). contendo todas as possíveis configurações dos objetos relevantes. no lugar das nove operações definidas para o problema da Figura 5 poderia-se definir apenas duas operações: (1) coloque o bloco X sobre a mesa. as restrições podem estar representadas explicitamente nas operações: (1) se X está no topo de uma pilha então coloque o bloco X sobre a mesa. normalmente.movimento. Os estados do problema e as operações de transformação de estados formam um grafo dirigido chamado espaço de estados. coloque o bloco A sobre o bloco C ou coloque o bloco C sobre o bloco A. Inteligência Artificial em Controle e Automação Álvaro Guarda 10 . No item (1). isto é inviável. O problema apresentado na Figura 5 está em evidência: o estado inicial está com linha mais grossa. Isto pode ser feito através de uma condição. 2. Encontrar uma solução equivale a achar um caminho no espaço de estados que. definição de um ou mais estados que poderiam ser aceitos como solução do problema. onde os nodos são os estados e os arcos são as operações.

.[a. b. Uma implementação mais econômica é apresentada abaixo: sucessor(Estado. [b. sucessor([[]. Resto). c]. objetivo(Estado) :. []]). Desta forma. Estado. []]. <bloco na base>]]. . . [<bloco no topo>. sucessor([[a. b]. [a. o estado inicial do problema é representado como a lista [[c. OutrasPilhas). as restrições são implicitamente representadas nas operações. []. EstadoAux). © (1) Se estado atual é  ¨ então o estado atual é alterado para ¨ ©  (2) Se estado atual é então o estado atual é alterado para ¨ ©  então o estado atual é alterado para (3) Se estado atual é ¨ ©  (4) Se estado atual é então o estado atual é alterado para ©  © ¨  ¨ ©  ¨ © ¨   © ¨ . esta implementação não é muito adequada porque exige escrever todas as configurações possíveis de pilhas. []. Figura 9 Entretanto.Em um outro exemplo. Uma implementação do conjunto de operações Figura 8. [Pilha1. b. [<bloco no topo>. [[b. .[a. <bloco abaixo do topo>. c]. 3. <estado sucessor>).. [Pilha | RestoEstado]. c].1. a. remove(Pilha2. []] e o estado final pode ser representado como a lista [[a. RestoEstado. [a]. [[b. c]. [a. conforme a Figura 8.2.. remove(Pilha.. © ¨  Figura 8 (30) Se estado atual é então o estado atual é alterado para Conjunto de operações onde as restrições estão implicitamente representadas. A ação de percorrer o espaço de estados é feita de acordo com uma estratégia de controle que seleciona um estado e um operador que será aplicado ao estado para gerar os estados subseqüentes. []. c]. 3. Métodos de Busca Cegos em Espaço de Estados A busca de uma solução é feita através da procura de um caminho no espaço de estados que leva do estado inicial para o estado final. b. [b. Em Prolog. Os dois principais métodos cegos são a “busca em profundidade” e a “busca em extensão”. []]. []]. Se houver no máximo três pilhas e uma pilha for representada também como uma lista. c]. [Paux | Resto]) :remove(Pilha. c]. [Topo1 | Pilha2] | OutrasPilhas]) :remove([Topo1 | Pilha1]. porém não utilizam nenhum conhecimento para guiar a busca. sucessor([[]. b. EstadoAux.3. [[]. []. Implementação da Representação do Problema em Espaço de Estados A implementação da representação depende da linguagem. sendo que o topo é primeiro elemento da lista... Os métodos cegos fazem uma pesquisa sistemática do espaço de estados. []] ou [[]. <bloco na base>]. []]). [a]]).. b.. então a representação final dos estados é [[<bloco no topo>.member([a. c].1. c]. b. []. remove(Pilha.. Com esta sintaxe. A aplicação dos operadores nos estados iniciais e Inteligência Artificial em Controle e Automação Álvaro Guarda 11 . os estado podem ser representados como uma lista de pilhas. b. <bloco abaixo do topo>. c]. Estado). c]. [a]]). . <bloco na base>]. b. sucessor([[a. []]. [[a].. [Paux | RestoEstado]. []. . []] ou [[]. . no caso do problema da Figura 5. c]]. A cláusula abaixo é uma implementação para se identificar quando se atinge o objetivo. RestoEstado). <bloco abaixo do topo>.. O(s) estado(s) sucessor(es) de um estado qualquer pode(m) ser definido(s) pela cláusula sucessor(<estado atual>. o conjunto de operações da Figura 8 pode ser implementado como apresentado na Figura 9.

intermediários é feita até que se chegue a um estado objetivo. Algoritmo: 1. pesquise(N. 3. Dependendo do problema. Caminho). à medida que vai sendo executado. assinale insucesso. b) Senão. Naux). todos os nodos de um caminho da árvore são examinados antes dos nodos dos outros caminhos. a solução pode ser o próprio estado final ou o caminho entre o estado inicial e o estado final. vai gerando a árvore de busca. Se não há mais sucessores. No algoritmo abaixo não está previsto nenhum mecanismo de retrocesso. A exploração dos caminhos alternativos pode ser feita através do retrocesso. pare e retorne sucesso. o que pode conduzir a pesquisa a um ramo sem saídas. A desvantagem desta implementação é que a mesma permite ciclos.objetivo(N). pois deve visitar primeiro os nodos mais recentes. [N]) :.3. Para o problema da Figura 5 a consulta é expressa como a seguir: Inteligência Artificial em Controle e Automação Álvaro Guarda 12 . A estrutura de dados associada é uma pilha.1. utilizando o conjunto de operações da Figura 6. pesquise(Naux. Quando se encontra o estado final o processo é interrompido com sucesso. continue o passo 2. <solução>). Este processo. A consulta em Prolog tem a sintaxe pesquise(<início>. É necessário armazenar apenas o caminho que está sendo explorado e os caminhos já explorados podem ser descartados. Senão.1. Abaixo é apresentada uma implementação em Prolog bastante simples e. ou seja. [N | Caminho]):sucessor(N. pesquise(N.      (8) (7)  (3) (1)                                                 Figura 10 Árvore de pesquisa para o problema da Figura 5. chame BUSCA EM PROFUNDIDADE com E como estado inicial. aqueles que estão mais distantes da raiz. 2. A Figura 10 apresenta uma parte da árvore de busca para o problema da Figura 5. Busca em Profundidade A busca em profundidade explora um ramo da árvore de cada vez. Se o estado inicial é um estado objetivo. portanto fácil de entender. faça o seguinte até o sucesso (ou insucesso): a) Gere um sucessor "E" do estado inicial. partindo do estado <início> até um dos estados objetivos. A solução <solução> é uma lista de estados. c) Se sucesso então é retornado sucesso Senão.

( sucessor( Node.-? pesquise([c..3. pois deve visitar primeiro os nodos mais antigos. NewPaths) :bagof( [NewNode. Abaixo é apresentada uma implementação em Prolog. N. Solução). Solution): % Solution is a path (in reverse order) from Start to a goal solve( Start.3. pesquise(N. profundidade([N | Caminho.]. 3. breadthfirst( Paths1. Path2.3. Esta situação é plausível em problemas cujo espaço de estados é infinito. extend( _. N. profundidade(Caminho. Naux). % solve( Start. Busca em Profundidade Acíclica A implementação abaixo evita ciclos. ou seja. ii) Se o novo estado é um estado objetivo. Solution). not(member(Naux. % breadthfirst( [ Path1. A estrutura de dados associada é uma fila. Naux. NewNode). Solução) :. fim. Busca em Extensão (Largura) Todos os nodos de um nível da árvore são examinados antes dos nodos do nível seguinte. Caminho)). !. N. Solution): % Solution is an extension to a goal of one of paths breadthfirst( [ [Node | Path] | _]. Solução). [] ).1. breadthfirst( [Path | Paths]. Comparação: Busca em Profundidade x Busca em Extensão Busca em profundidade: Inteligência Artificial em Controle e Automação Álvaro Guarda 13 . pare e retorne este estado iii) Senão. a. 3. 2. b) Para cada maneira que cada regra combina com o estado descrito em E faça: i) Aplique a regra para gerar um novo estado. [Node | Path] )) ).3. adicione o novo estado ao final de LISTA_DE_NODOS. not(member( NewNode. Solução) :sucessor(N. NewPaths.1. Entretanto ainda podem existir na árvore de pesquisa ramos infinitos que não contenham a solução.2. append( Paths. [].4. Solution) :extend( Path. Até que (um estado objetivo seja encontrado) ou (LISTA_DE_NODOS seja vazia) faça: a) Remova o primeiro elemento de LISTA_DE_NODOS e o chame "E".profundidade([]. Node | Path]. . [N | Caminho]) :. profundidade(Caminho. Crie uma variável chamada "LISTA_DE_NODOS" e faça-a igual ao estado inicial.1. Solution) :breadthfirst( [ [Start] ]. b]. Se LISTA_DE_NODOS estava vazia.objetivo(N). aqueles mais próximos da raiz.. extend( [Node | Path]. NewPaths). % Nodo não tem sucessores (bagof falhou!) 3. []]. Algoritmo: 1. Paths1). Solution). Solução). [Node | Path]) :goal( Node). NewPaths).

1 2 3 1 2 3 Estado Inicial Figura 11 Torre de Hanói.2) Nesse caso devemos sempre observar as restrições do problema e a validade das operações. Estado final : (3. • Não corre o risco de examinar por longo tempo becos sem saída. Inteligência Artificial em Controle e Automação Álvaro Guarda 14 .5. b) Operações Sintaxe: move (poste de origem. Média = Número do poste onde está a argola média. Média.1.3. não há garantias de encontra-la. • Requer menos memória.1. Estado Final a) Estados Sintaxe: (Menor. pode achar uma solução sem examinar muito o espaço de estado. Assim os estado inicial e final podem ser representados como: Estado inicial : (1.3) move (3. poste de destino) move (1. Outros Exemplos de Problemas e de Modelagem utilizando Espaço de Estados Exemplo 1: Torre de Hanói A representação gráfica do problema da Torre de Hanói é apresentada na Figura 11.1.1.3).1. pois exige armazenar muitos caminhos alternativos.1) move (3.1) move (2.3) (2.1). Busca em Extensão: • Se houver solução.2) (3. Maior) Menor = Número do poste onde está a argola menor.1) move(3.• Mesmo que haja uma solução. Exemplo 2: Jogo dos 8 A Figura 13 mostra a representação gráfica para o problema do jogo dos 8.3) move(2.2) (2.3. • Não é muito adequada quando o fator de ramificação é muito alto. • Por sorte.2.2) move (1.3) move(1.1) move(1.1. garante a obtenção da solução de menor caminho. pois pode explorar um caminho infinito que não contém a solução.1) (3.1.3) move (2. move(1.1) (3. • Consome muita memória.1) Figura 12 Árvore de pesquisa para o problema da Torre de Hanói. • É adequada quando existe solução na maioria dos ramos. 3.1) (2.3. Maior = Número do poste onde está a argola maior. A Figura 12 apresenta a árvore de pesquisa deste problema.1) move(1.2) (1.

onde cada posição contendo um símbolo que representa a peça apropriada (ou indicação de casa vazia) na posição oficial de abertura do jogo. 2. i+2) está vazia move peão branco de posição (j. i+1) está vazia → posição (j. 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. e seu rei esteja sendo atacado. Inteligência Artificial em Controle e Automação Álvaro Guarda 15 .ESQ : Padrão a ser comparado antes de uma jogada. i) ∧ ∧ posição (j. i) para posição (j. Definir as operações que representam movimentos legais As operações também podem ser definidas como um conjunto de regras de produção da forma : LADO.ESQ → LADO. Definir posições que representam vitória Qualquer posição do tabuleiro na qual o oponente não tenha um movimento legal.DIR : Descreve a mudança a ser feita. (3) Mover a casa vazia para esquerda. mas a forma mais eficiente consiste em aplicar operações na casa vazia.Estado Inicial Estado Objetivo Operações 2 1 7 8 6 3 4 5 1 1 8 7 2 6 3 4 5 Figura 13 Representação do problema para o jogo dos 8.DIR onde LADO. Especificar a posição inicial do tabuleiro Matriz 8x8. 3. É possível modelar as operações de diversas maneiras. Exemplo 3: Jogar Xadrez 1. o que possibilita que sejam necessárias apenas quatro operações: (1) Mover a casa vazia para cima. Exemplo: Regra "move peão branco" peãobranco em posição (j. (2) Mover a casa vazia para baixo. LADO. i+2). (4) Mover a casa vazia para direita.

sucessores de um determinado nodo. • É um nodo "OU" onde pelo menos um dos sucessores é solúvel Um nodo é insolúvel se: • É um nodo terminal. Operação Para diferentes pinos I.1.2] [1. [3. As folhas da árvore podem ser problemas primitivos ou nodos terminais (problemas insolúveis).1. a idéia utilizada é a da decomposição de problemas em subproblemas com complexidade menor que a do problema original. • Mover uma pilha de tamanho n-1 de J para K. Exemplo 1: Torre de Hanói A representação gráfica do problema da Torre de Hanói é apresentada na Figura 11.3] Problema primitivo : mover uma pilha de tamanho 1.<PINO DE CHEGADA>] Problema inicial : [3. os nodos contêm a descrição dos problemas (subproblemas) e os arcos indicam relações entre os problemas.1.1] [2. PILHA>.2.2. • Conjunto de operações de transformação de problemas.3. como os problemas são decompostos.2] [1. Resolução de Problemas como Busca por Redução de Problemas Na resolução de problemas utilizando como enfoque a busca por redução de problemas.3] Figura 15 . A modelagem do problema é feita através da definição dos seguintes elementos: • Descrição do problema inicial.2. o problema de mover uma pilha de argolas de tamanho n>1 do pino I para o pino K pode ser substituído por 3 subproblemas: • Mover uma pilha de tamanho n-1 de I para J.1.1.2. • Conjunto de problemas primitivos (problemas que têm solução imediata. Inteligência Artificial em Controle e Automação Álvaro Guarda 16 . Representação do problema Sintaxe: [<TAM.3] [2. A busca é a construção sistemática do grafo E/OU através da aplicação das operações que vão decompondo os problemas. isto é. são do tipo OU. • É um nodo "E" cujos sucessores são todos solúveis.1. ou do tipo E. Neste grafo.2] [1. conhecida).Grafo E/OU para o problema da Torre de Hanói.<PINO DE SAÍDA>.3] [1. • É um nodo "OU" cujos sucessores são todos insolúveis. indicando que os nodos sucessores são problemas conjuntivos.3] [1. O espaço de busca é representado graficamente por um grafo E/OU. • Mover uma pilha de tamanho 1 de I para K. Os nodos intermediários. A solução é um conjunto de Problemas Primitivos encontrados a partir da aplicação das operações no problema inicial e nos subproblemas já gerados. Solubilidade dos nodos Um nodo é solúvel se: • É um problema primitivo. J e K.3] [1. • É um nodo "E" onde pelo menos um dos sucessores é insolúvel.1. Grafo E/OU A Figura 15 apresenta o grafo E/OU que é o espaço de busca para problemas representados por Redução de Problemas.3] [1.3. indicando que os nodos sucessores são problemas alternativos.

Métodos de Busca Heurística Os métodos de busca vistos anteriormente fazem uma pesquisa sistemática do espaço de estados ou do espaço de problemas. A Figura 17 apresenta como é feita a busca em extensão. Inteligência Artificial em Controle e Automação Álvaro Guarda 17 . Os nodos são numerados por ordem de visita. O conhecimento a ser utilizado pode ser inserido manualmente. Entretanto. 1 2 3 8 P1 T 5 P2 9 P3 P4 T T P5 P6 Figura 16 Exemplo de busca em profundidade em uma árvore E/OU. A solução é o conjunto de problemas primitivos {P2. P3}. P5}. 1 2 P1 3 4 5 7 T 9 P2 11 12 P3 P4 T T P5 P6 Figura 17 Exemplo de busca em extensão em uma árvore E/OU. (1) Heurística vem da palavra grega “heuriskein” que signific a descobir.A Figura 16 apresenta uma árvore E/OU e como é a feita a busca em profundidade de uma solução. porém não são adequados para muitos problemas reais devido à explosão combinatória. Os métodos heurísticos(1) utilizam alguma forma de conhecimento para orientar a busca e evitar a explosão combinatória.3. a eficiência depende fortemente em como o conhecimento é explorado. ou através de aprendizado automático. 3. A solução é o conjunto de problemas primitivos {P1. sendo que os nodos marcados com T são problemas terminais e os nodos marcados com P são problemas primitivos.

esta medida consiste em uma estimativa da distância da solução. Estado Inicial A E D C B Estado Meta E D C B A Figura 18 Representação gráfica de um problema do Mundo dos Blocos Os operadores são: (1) Pegue um bloco e coloque-o sobre a mesa (2) Pegue um bloco e coloque-o sobre outro A função heurística que será utilizada faz o seguinte cálculo: 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. Os métodos que utilizam apenas heurísticas genéricas. no Jogo dos 8 a heurística pode ser o número de peças que estão fora do lugar. • É irrevogável (sem retrocesso). b) Avalie o novo estado.Tipos de heurística no processo de busca a) Heurística genérica: Diferentes aspectos gerais do problema são considerados e avaliados de modo que o valor resultante da função heurística seja uma boa estimativa de quão efetivo pode ser o estado para alcançar a solução. Estado corrente ← estado inicial 2. Com esta heurística os estados inicial e final recebem as notas: f(estado inicial) = 1 e f(estado meta) = 5. 3. Inteligência Artificial em Controle e Automação Álvaro Guarda 18 . A busca é feita com a geração de um estado sucessor do estado corrente. ii) Se for melhor que o estado corrente então Estado corrente ← novo estado. Função Heurística Nos métodos de busca. úteis a muitos tipos de problemas. A maioria das regras dos Sistemas Especialistas pertence a essa classe. o conhecimento sobre o problema é utilizado para compor uma função heurística.1. Características: • Seleciona o primeiro vizinho que seja melhor. então ele passa a ser o estado corrente. i) Se for a solução (um estado meta) retorne-o e encerre. Algoritmo: 1. A árvore de busca é apresentada na Figura 19. Se o estado sucessor tiver uma nota melhor. • Problema: tende a convergir para uma solução que é um máximo local e não para o máximo global. Esta função heurística tem a forma f(Estado) e é aplicada aos estados para atribuir notas indicando a proximidade do estado em relação à solução. Por exemplo. Freqüentemente. Subida da encosta ("Hill-Climbing") A idéia deste método é maximizar a nota fornecida pela função heurística. Exemplo: Mundo dos Blocos A Figura 18 apresenta o problema no qual será aplicado o método da subida da encosta. É extremamente eficiente se bem utilizada. são denominados métodos fracos e não são capazes de evitar a explosão combinatória.3. b) Heurística específica: Apresenta as convicções dos especialistas em uma determinada área. Repita até que o estado corrente seja a solução ou não existam operadores a serem aplicados ao estado corrente a) Escolha um operador que ainda não tenha sido aplicado ao estado corrente e aplique-o para produzir um novo estado.

porém examina toda a vizinhança e seleciona o melhor. que leve em conta o contexto global. Este método também é denominado busca do gradiente. i) aplique o operador e gere um novo estado. como sugere a Figura 20. Algoritmo: 1. sendo que deve ficar no topo da pilha o nodo com a melhor nota. Estado corrente ← Estado inicial. Subida da encosta para a trilha mais íngreme ("Stepest-Hill-Climbing") A idéia é a mesma do método anterior. neste problema em particular. A heurística é aplicada localmente. Se for a solução retorne-o e encerre Se for melhor então sucessor ← novo estado c) Se sucessor for melhor que estado corrente Então Estado corrente ← sucessor Características: Inteligência Artificial em Controle e Automação Álvaro Guarda 19 . a) Sucessor ← pior absoluto b) Para cada operador aplicável ao estado corrente. 3. A implementação pode ser feita ordenando-se o conjunto de nodos sucessores recém avaliados antes de incluí-los na pilha de nodos abertos.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 método Subida da Encosta. ou seja. some um ponto para cada bloco da estrutura de apoio. daqueles recém gerados. pode ser implementada da seguinte forma: quando o bloco tem a estrutura de apoio correta. o caminho a ser seguido é selecionado apenas entre os nodos recém gerados. A utilização desta função heurística. Isto corresponde à situação onde a vizinhança (sucessores) possui nota menor que o estado e não consegue encontrar uma solução.3. O motivo para este problema é que a heurística é local. ii) Avalie o novo estado. 2. O campo de ordenação é a nota resultante da avaliação da função heurística. sendo a escolha baseada no resultado da aplicação da função heurística. conduz a busca a um máximo local. Repita até que estado corrente seja a solução ou não haja mudança no estado corrente. não observando o contexto. Esta nova função heurística permite que o processo de busca chegue a uma solução. Uma função heurística melhor.2. para cada bloco com estrutura de apoio incorreta subtraia um ponto.

• Seleciona o melhor vizinho. ou uma alternativa aceitável.3. • Problema: tende a convergir para uma solução que é um máximo local e não para o máximo global. 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 método Subida da Encosta com uma função heurística mais adequada. Mapa: 6 1 b 4 3 2 a 3 início 5 d 2 c 2 e 1 4 k 5 z fim Representação do Estado: Nome da cidade Representação do Espaço de Estados: O próprio mapa ou um grafo Estado Inicial: a Estado Final: z Inteligência Artificial em Controle e Automação Álvaro Guarda 20 . isto é. entre a cidade a e a cidade z.3. O nodo aberto com a melhor nota é escolhido para a expansão. • É irrevogável (sem retrocesso). Exemplo: Achar o Menor Trajeto Definição do Problema: Procurar o menor trajeto. Busca pela melhor escolha ("Best-First") A heurística é aplicada globalmente. desde que seja melhor que o estado corrente. o caminho a ser seguido é selecionado entre todos os nodos abertos até o momento. 3.

3). s(b. mas pode ser uma solução bastante aceitável.5).c. sintaxe das operações: s( <nodo>.e.4). Inteligência Artificial em Controle e Automação Álvaro Guarda 21 . Exemplo: Achar o Menor Trajeto Representação em Prolog objetivo: goal(z).1).z. próximos às cidades) Problema: Achar o Menor Trajeto Exemplos de Aplicação da Função Heurística 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 números próximos aos nodos indicam a ordem de expansão dos mesmos.k. s(c. <nodo sucessor>. dependendo do problema. 1 a c f=5 f=7 b 4 2 3 e k f=6 f=7 c 5 6 d f=8 f=14 f=10 d z f=8 z f=16 f=10 z A solução encontrada pode eventualmente não ser o menor trajeto.3).c.4).Operações: percorrer uma estrada até uma cidade vizinha Função Heurística (faz parte da modelagem do problema) f(x) = g(x) + h(x) onde g(x) = distância percorrida da cidade a até a cidade x (somatório dos números próximos às estradas) h(x) = distância em linha reta da cidade x até a cidade z (números em negrito.d.b.2). s(e. s(d. s(a. s(a. <custo>) onde <custo> é a distância entre as cidades s(a.

.2). Sol).2). 3/3.0).bestfirst([2/2. h(e. 2/3. Solução). 1/1. 3/2. 2/1. showsol(Sol).z. h(d. showsol(Solução).1/3. Funções heurísticas: g(x) é calculado a partir de <custo> h(x) é definido como abaixo h(b. Consulta e resultado: ?. 9° elemento: 3 2 1 casa vazia peça 1 peça 2 peça 8 O estado inicial é representado como: [2/2.3/1. ?. 1/1. 3/3.3/2. c. d.1).2/3. h(k.bestfirst(a. a] Representação do Jogo dos 8 Definição do Problema 1 3 8 7 6 4 2 5 1 2 8 7 6 3 4 5 Representação em Prolog Posições das peças: coordenadas cartesianas X/Y Tabuleiro: Lista onde 1° elemento: 2° elemento: 3° elemento: .1/2].5). ---a ---c ---d ---z Sol = [z. 2/3. 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/1. h(c.. h(z. 3/1.s(k.6). 3/1. 2/1.7).3/3. 1/2] A cláusula showsol apresenta a solução como uma seqüência de posições do tabuleiro. 22 Inteligência Artificial em Controle e Automação Álvaro Guarda . 1/3. 1/3. 3/2.2/1.

yes. % Case 2: leaf-node. Principal Predicado: expand( Path. <f(<estado>)>/<g(<estado>). l(N. if goal found then Solution is solution path and Solved = yes % Case 1: goal leaf-node. <lista de sub-árvores> ) bestfirst(Start. 9999. Solution). l(Start. <f(<estado>)>/<g(<estado>) ) Nodos Internos ((sub-)árvores) t( <estado> . construct a solution path expand(P. pois é um ramo sem saída Caso 5: o  nodo com f-value > limite Não deve ser expandido. Treel. f-value less than Bound . Solved. Solution):expand([]. Solution) Parâmetros: Path: caminho entre o nodo inicial e a sub-árvore Tree Tree: sub-árvore corrente.Solution é instanciado no . pois há opções mais interessantes Representação da Árvore Nodos em Aberto (folhas): l( <estado> .Tree1 = Tree expandida. _. que está sendo vizitada Bound: limite para a expansão de Tree (f-value da próxima melhor alternativa) Tree1: árvore expandida dentro do limite (bound) Solved: yes . 0/0). [N | P]):goal(N). _). Bound. Tree. Bound.Implementação: A implementação em Prolog é apresentada abaixo e é baseada no algoritmo A*. Solution): Path is path between start node of search and subtree Tree. % Assume que 9999 é maior que qualquer f-value % expand( Path. Tree1.Generate successors and expand them within Bound Inteligência Artificial em Controle e Automação Álvaro Guarda 23 . Solved. mas f-value > limite never . _. % Treel is Tree expanded within Bound. _.indica que Tree é ramo sem saída Solution: caminho entre o nodo inicial e o estado final Cláusulas: 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 não atinge o limite Caso 3: o  nodo não é folha e f-value < limite Percorre a árvore até chegar ao nodo folha c/ f-value < limite Caso 4: o  nodo não é folha e não possui sub-árvores Não deve ser expandido. Tree. yes.

procedure continue will decide how to proceed expand(P. continue(P. !. BestF/G). expand(P. never. . depending on results. % Case 4: non-Leaf with empty subtrees . % Make subtrees Ts bestf(Ts. Ts1. t(N.[]. t(N. _):. h(N. F1). _.]. % Case 5: value greater than Bound . never. H). expand([N | P].dead end ).Tree may not grow expand( _. F> Bound. Sol):bestf(Ts.Ts. Bound. Solved1. % Node N has successors succlist(G. [l(BestNode. Solution) continue( _. Solved = never % N has no successors . % f-value of best successor expand(P. NewTree. Tree1.This is a dead end which will never be solved expand( _. Succ. Solved. Solved1. _. []). Solved. SubtreeSolved. _):f(Tree.. [T1 | Ts]). C). Solved.]): succlist(_. no. Tree. NTs). Bound1. t(N. Bound. F1). f-value less than Bound % Expand the most promising subtree. Solved. Tree1. Bound. Ts). yes. no. [T1 | Ts]. l(N. F1/G. succlist(G0. Bound. F/G). F1). insert(l(N. Bound.expand(P. BF. [N/C | NCs]. [T1 | Ts]). Tree. Ts). F). F1/G. . Sol).. Succ). Ts). Tree. Ts. T1. Tree1. Tree1. Ts. P))). Bound1). Sol). TreeSolved. _. F/G. NCs. Tree1. F =< F1. succlist(G0. Bound. % continue(Path. _. NTs).!. t(_. F/G. [T | Ts]). continue(P. BF). 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). Ts1). expand(P. Tree1. Sol). Tree1. % Case 3: non-leaf. Inteligência Artificial em Controle e Automação Álvaro Guarda 24 . Sol). T. continue(P. M. F/G. _. % succlist(G0. Solved. F1). t(N. F). t(N.[T|Ts]):f(T. Solved. not(member(M. Solved. min(Bound. Sol) .!. yes. _. bestf(Ts. Solved.[]). Ts1). [T1 | Ts1]):insert(T. (bagof(M/C. Tree1. Bound. Bound. Sol):F =< Bound. F/G). [Nodel/Cost1. F is G + H. Sol) :F =< Bound. bestf(NTs. Bound. t(N. [_ | Ts]). Sol).. (s(N. insert(T. Bound.. bestf(Ts. Sol):insert(T1. F/G. F1/G. t(N. Ts):G is G0 + C.

bestf([T|_]. [T1 | Ts]. 1). Tile. D):dif(X. 1):swap(Empty.! . min(X.F/_). H):goal([Empty1 | GoalSquares]). X1/Y1. % D is Manh._). dif(A. D):mandist(Tile. [Empty | Ts]):mandist(Empty. % seq(TilePositions. Tile. S):seq([First | OtherTiles]. D is Dx + Dy. [Square | Squares]. mandist(X/Y.F/_. % Manhattan distance = 1 swap(Empty. D is D1 + D2. 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]. [T1 | Ts1]):swap(Empty. Square. % Total distance from home squares seq(Tiles. 0). D is B-A. Dy). Tile.B. []. Squares. D >= 0. [Tile | Ts]. % All arc costs are 1 % Swap Empty and Tile in Tiles swap(Empty.D):D is A-B. Ts. % Sequence score H is D + 3*S. totdist([]. F).!. F). f(t(_. X1. totdist( Tiles. totdist([Tile | Tiles]. Tile. S). Inteligência Artificial em Controle e Automação Álvaro Guarda 25 . Tiles. D2). F). Y). bestf([]. D1). Tiles1). S). [Tile | Tiles1].F):f(T. SuccessorNode. % f-value of a leaf % f-value of a tree % Best f-value of a list of trees % No trees: bad f-value %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Procedimentos específicos para o jogo dos 8 % s( Node. First. Y. min(X. D).X):X =< Y. dist. totdist(Tiles. dif(Y. Score): sequence score seq([First | OtherTiles]. Ts1).% Extract f-value f(l(_. 9999). Tile. Y1. Cost) s([Empty | Tiles]. GoalSquares.Y. Dx).

0):. score(2/3. as substâncias físicas tendem a acomodar-se em configurações de baixa energia.7-S7.S8]):member(Y. 0):. 3/3. seq([Last]. 1). seq( [Tile2 | Tiles]. 1/3. nl. 3/2.2. 0):.1/3.!. ∆E = |E' . score(2/2.!. a temperatura é resfriada até alcançar um estado sólido. % Order of Y-coordinates nl. O objetivo é alcançar uma estrutura molecular com um mínimo de energia.5-S5. S1). % Display a board position showpos([S0. write(' ---'). S):score(Tilel.3-S3. _.!.E2| = mudança positiva de energia.1]). 0):. depois.4-S4. member(X.2. % Display a solution path as a list of board positions showsol([]). Tile2.S4. score(3/1.!.S6. score(1/2. score(3/3. First.3/1.!.3/3. score(3/2. mas sempre existe uma certa probabilidade de ocorrer uma transição para um estado de maior energia.seq([Tilel.S1. Neste processo. % All squares done 3.!. 2/1. showpos(P).S2. % Tile in centre scores 1 % Proper successor scores 0 % Tiles out of sequence score 2 % Goal squares for tiles Inteligência Artificial em Controle e Automação Álvaro Guarda 26 . % Order of X-coordinates member(Tile-X/Y. 0):. escreve a relação entre as unidades de energia e temperatura.2/3.3]). score(1/3. gradualmente. S):score(Last. _. First. S2). 2).6-S6. [3. Têmpera Simulada ("Simulated Annealing") Método de busca inspirado no processo de temperar metais: inicia com uma temperatura elevada. goal([2/2.1/1.!. score(2/1. 0):. true.S3. showsol([P | L]):showsol(L). 1/2.4.2/1. fail % Backtrack to next square . First. First. 0):. Tile2 | Tiles].S5. calculada pela fórmula: p = e(-∆E/kT) onde. score(1/1. % Tile on square X/Y [0-S0. S is S1 + S2.3/2. T = temperatura. 1/1.1/2]). onde apenas transições de baixo nível de energia são permitidas.2-S2. 0):. score(_. k = constante de Boltzmann. [1. 2/3.8-S8]).!. S). permitindo transições de alto nível de energia.1-S1. write(Tile).3.S7. 3/1.

assim k deixa de ser necessário e o cálculo da probabilidade fica: p = e(-∆E/T).3. os valores energia e temperatura não têm o mesmo sentido que na física. resultando em indivíduos cada vez melhores. onde uma população de indivíduos evolui durante gerações devido à maior probabilidade daqueles mais aptos terem uma prole mais numerosa. a) Escolha um operador que ainda não tenha sido aplicado ao Estado Corrente e aplique-o para produzir um Novo Estado b) Analise o Novo Estado i) Se for a solução (um estado meta) retorne-o e encerre. As técnicas estabelecem uma analogia onde um indivíduo é visto como sendo um candidato à solução de um problema. Valor da redução (quanto) A maneira como a temperatura diminui influencia no resultado do processo. Uma temperatura alta equivale a agitar o dispositivo. ii) Se for melhor que Estado Corrente então faça Estado Corrente ← Novo Estado Se Novo Estado for melhor que Melhor então Melhor ← Novo Estado senão faça ∆E ← f(Estado Corrente) – f(Novo Estado) p ← e(-∆E/T) Se p é maior que número aleatório no intervalo [0. Valor inicial 2. se T esfriar muito lentamente haverá muita perda de tempo. A principal idéia da teoria da evolução é a seleção natural. Computação Evolucionista É um conjunto de técnicas de otimização inspiradas na teoria da evolução. provavelmente será encontrado um mínimo local e não global. A diferença de energia é medida pela diferença da aplicação da função-objetivo (função heurística) no estado corrente e no novo estado. Quando o dispositivo fica na vertical a esfera tende a acomodar-se ao fundo de um vale. Estado Corrente ← Estado Inicial. A mudança de temperatura no decorrer do processo chama-se "cronograma de têmpera" e tem três componentes: 1. Algoritmo: 1. Figura 21 Analogia: dispositivo onde uma esfera fica encerrada em uma caixa com vidro na face da frente e na face de trás e um elemento sólido formando uma curva.5. Retorne Melhor como resposta do problema. A população evolui porque as melhores soluções (indivíduos mais aptos) de uma geração têm uma chance maior de serem selecionados para Inteligência Artificial em Controle e Automação Álvaro Guarda 27 . 3. Melhor ← Estado Corrente 3. permitindo que a esfera suba colinas. assim uma população de soluções é melhorada durante um certo número de gerações até chegar a uma solução ótima ou que um outro critério de parada seja satisfeito.No processo de resolução de problemas. 2. 3. Repita até que Estado Corrente seja a solução ou não haja mudança no Estado Corrente. 1] então Estado Corrente ← Novo Estado c) T ← cronograma 5. Critério(s) para decidir quando a temperatura deve ser reduzida. se T esfriar muito rápido. T ← cronograma (inicio) 4.

entretanto o interesse na sua utilização cresceu muito nos meados da década de 80.3.2. Retorne como resultado a hipótese com a maior aptidão de todas as gerações.1. Avalie Pop (população inicial): para cada hipótese H pertencente a Pop. Aplique o operador genético sobre a(s) hipótese(s) selecionada(s) gerando nova(s) hipótese(s): Hnova W X'Y4`!aFbHcIX'aFdfehg 3. A técnica mais conhecida são os algoritmos genéticos. estratégia evolucionista. Avalie Pop: para cada hipótese H pertencente a Pop.3. inventados por John Holland nos anos 60 e desenvolvidos por ele e seus alunos na Universidade de Michigan em meados de 1970. Cada hipótese de solução (indivíduo) é representada por uma cadeia binária de tamanho fixo.1. também se baseia na genética. As principais técnicas que foram desenvolvidas são: programação evolucionista. sistemas classificadores. algoritmos genéticos e programação genética. Crie a nova população NovaPop (faça até gerar completamente a nova população) 3. Evolua a população Pop uma geração (faça até que satisfaça alguma condição de término) 3. calcule a sua aptidão f(H) 3. entre os anos 50 e 60. como se fosse a cadeia genética do indivíduo. quando vários cientistas da computação estudaram sistemas evolucionários com a idéia de que a evolução poderia ser usada como um ferramenta de otimização para problemas na engenharia. A criação dos indivíduos para a próxima geração é feita através de operações como cruzamento entre indivíduos.1. A forma mais utilizada para a seleção dos indivíduos é baseada na probabilidade: a chance de um indivíduo ser selecionado é proporcional à sua aptidão.1. Escolha um operador genético 3. Inteligência Artificial em Controle e Automação Álvaro Guarda 28 .1.2. Pop  !#"%$'&)(102&436587@9A7@9CBD7!EFHGI@9P@QR7HS58$'ET0R!U7!VD587 2. Algoritmos Genéticos (AGs) Nesta técnica a analogia com os sistemas biológicos é mais forte.1. Atualize a população: Pop ‚ prqts4u!v%q'w 3. Esta abordagem remonta o início da computação.4. calcule a sua aptidão f(H) 4. além de ser baseado nos mecanismos de seleção natural. Selecione hipóteses (a quantidade depende do operador a ser aplicado) probabilidade de que uma hipótese H seja selecionada: p(H i ) = H ∈Pop f (H i ) ∑ f (H ) 3. A seguir está técnica é vista com mais detalhes. Adicione a(s) hipótese(s) resultante(s) na nova população: NovaPop i prqts4u!v%q'wyx€ nova 3. mutação e clonagem (ver anotações de aula). pois.contribuir para a próxima geração. Algoritmo algoritmo_genetico( TamPop) 1.

correspondendo a um problema. pode ser modelada utilizando-se uma forma (linguagem) de representação do conhecimento e a seguir pode-se inferir “novos” fatos que podem conter a solução para o problema modelado. melhor a performance do sistema. ou seja. Nos sistemas baseados em conhecimento a ênfase deixa de ser o método de busca e a forma de representar o conhecimento passa a ter um papel fundamental. uma parte da realidade. Os possíveis tipos de inferência que podem ser efetuados dependem da forma de representação do conhecimento. A segunda fase surgiu a partir do reconhecimento de que a habilidade dedutiva do homem resulta menos de sua capacidade de raciocínio do que de sua habilidade de armazenar experiências anteriores e adaptá-las a novas situações. REALIDADE FATOS’ FATOS’’ Modelagem Solução Representação do Conhecimento Figura 22 . possíveis soluções.2. Adequação Inferencial . Eficácia de Comunicação . 4.Permite representar todos os tipos de conhecimento necessários ao domínio do problema que se quer solucionar.Modelagem da realidade Inferência Fatos Conforme está esquematizado na Figura 22.Permite facilmente entender o conhecimento armazenado. O grande problema desta abordagem é a explosão combinatória quando se tenta resolver problemas mais complexos.Permite manipular estruturas representacionais gerando “novos” conhecimentos.Permite representar meta-conhecimento visando melhorar os mecanismos de inferência. Nesta fase passou-se a utilizar os sistemas de produção e surgiram os sistemas baseados em conhecimento (cognitivos). Um exemplo de sistema que foi desenvolvido nesta fase é o GPS (General Problem Solver). adquirir novos conhecimentos e fornecer “explicações”. Eficácia Inferencial . A terceira fase iniciou-se a partir da percepção de que o conhecimento geral é muito extenso e pouco útil para problemas específicos. 4. Quanto maior a quantidade e a qualidade de conhecimento específico (relativo ao problema) embutido nestes sistemas. dentre os quais. Para permitir que os problemas sejam tratáveis em tempo hábil surgem os sistemas especialistas. ƒ ƒ Formas de Representação do Conhecimento Sistemas de Produção Sistemas Baseados em Regras Álvaro Guarda Inteligência Artificial em Controle e Automação 29 .1. Sistemas Baseados em Conhecimento A evolução da pesquisa em resolução de problemas pode ser dividida em três fases distintas. buscava-se compreender e reproduzir a capacidade de raciocínio e de representação de problemas do homem. Durante a primeira fase procurava-se imitar a capacidade do homem de resolver problemas. ƒ ƒ ƒ ƒ Propriedades de Sistemas de Representação do Conhecimento Adequação Representacional .4.

„ Lógica - „ „ „ „ „ 4. contém dados informados pelo usuário sobre o problema ou gerados pelas próprias regras durante a execução (estado). Este processo possui 3 fases: 1) casamento (“matching”) – seleciona as regras aplicáveis comparando as condições (lado esquerdo) das regras com o estado da Base de Dados.3. Regras de Produção: conjunto de regras que operam sobre a base de dados. modificando-a. sendo que a forma mais óbvia de se resolver um conflito é ativar a primeira regra que foi satisfeita. interpretador de regras. Raciocínio Probabilístico Árvores de Decisão Redes Semânticas Quadros (“frames”) Roteiros (“scripts”) Sistemas de Produção (SP) SP foram inicialmente propostos por Post em 1943 para modelar o processamento da informação a partir da noção estímulo/resposta. Álvaro Guarda Inteligência Artificial em Controle e Automação 30 .. Características de SP „ Monotônico – a aplicação de uma determinada regra nunca impede a posterior aplicação de outra regra que também poderia ter sido aplicada quando a primeira regra foi selecionada. 2) resolução de conflitos – apenas uma regra de cada vez pode ser ativada e quando mais de uma regra é aplicável. Base de Dados Estratégia de Controle Condição Condição º º º Ação Ação º º º Regras de Produção Condição Figura 23 .Arquitetura básica de um SP Ação A Figura 23 apresenta a arquitetura de um SP com os seus principais componentes: „ „ „ Base de Dados: também chamado. Convencional Não-monotônica Difusa ou nebulosa (“fuzzy”) Temporal Senso-comum . as regras que casarem são selecionadas. simulando os processos mentais de raciocínio e utilização do conhecimento. é o módulo responsável pela execução do sistema e pela identificação da solução sinalizando quando o sistema deve parar. Estratégia de Controle: também denominado. Desde então SP tiveram um grande desenvolvimento e atualmente é um formalismo que descreve um grupo de sistemas baseados em pares condição-ação denominados regras de produção. memória de trabalho ou contexto. 3) ação – ativa as regras executando as ações (lado direito) das mesmas.. o que normalmente altera o Banco de Dados. ocorre um conflito.

permitindo que se chegue à solução. y) | x+y >= 4 e y > 0 Ô ÎÉ×4ÐtÕ -(4-x)) ÎfÏ -(3-y). y) 3) (x. o resultado será impresso. Regras de Produção: ÇÉÈ4ÊtËDÌ 1) (x. Comutativo .é um sistema que é monotônico e parcialmente comutativo. y) | y > 0 Ô 5) (x. Base de Dados: Par de valores (x. que representem “atalhos” na procura da solução.… … Parcialmente Comutativo – se a aplicação de uma seqüência particular de regras transforma o estado x no estado y. o estado inicial (as duas jarras vazias) é representado como (0. 0) e o estado final como (x. y) | y < 3 Í ÎfÏÑÐDÒDÓ ÎfÏ -d. y) | x > 0 Ô ÎfÏÑÐtÕ -d) 4) (x. Estratégia de Controle: f testar as condições das regras em ordem arbitrária até que uma seja satisfeita. chegar-se a um volume de dois litros na jarra de 3 litros. y) | x+y >= 3 e x > 0 Ô ÎfÏ}ØÑÕ}ÐIÖ6Ó 9) (x. mais especializadas. º º º Inteligência Artificial em Controle e Automação Álvaro Guarda 31 . Assim. f repetir indefinidamente. 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. 3) 8) (x. y) | x+y <= 3 e x > 0 Ô Î{ÖIÐ6Ï}ØÑÕDÓ ÙÉÚ1ÛIÜ6Ý 11) (0. y) | x < 4 Ä 2) (x. y) | x+y <= 4 e y > 0 Ô 10) (x. tendo-se duas jarras. 2). porém os únicos volumes conhecidos são os das capacidades das jarras. Exemplo 1: SP para representar um numero inteiro (x †ˆ‡4‰D’‘!“•”I–I“U‘!—F˜™—F˜'“Ud!”4˜1e Base de Dados: variável x armazenando inicialmente o valor a ser convertido. f executar a ação correspondente. O objetivo deste problema é. Regras de Produção: 1) (x = 0) g hji@kSl1monApHqsr™t1nTt4u!vTmRr6wxpyh{zRp@mRkHhf|}wjw 2) (x > 39) ~ j€@S‚1ƒo„A…H†s‡6ˆ4…Š‰#‹ŠŒ#ˆ1ƒŽ8‘'’F!“4”I…–• 3) (10 ≤ x ≤ 39) — ˜{™2š#›IœT™2šUsž!Ÿ‘ –¡x¢s˜f£¥¤ ¦§£ – 10) 4) (x = 9) ¨ ©{ª2«#¬I­Tª2«U®y¯H°8±)²–³ 5) (5 ≤ x ≤ 8) ´ µ{¶2·#¸I¹T¶2·Uºs»!¼‘½–¾x¿yµfÀÂÁ çÀ – 5) 6) (x = 4) Äŵ{¶2·#¸I¹T¶2·Uºy»HÆ8¼)½–¾ 7) (1 ≤ x ≤ 3) Äŵ{¶2·#¸I¹T¶2·Uºs»–Æ{½–¾’¿sµfÀÂÁ ÈÀ – 1) Exemplo 2: SP para solucionar o problema das jarras. y) | x > 0 Ô Î{ÖIÐtÕDÓ ÎfÏÑÐIÖ6Ó 6) (x. Pode-se colocar ou retirar água das jarras. y). y) | y > 0 Ô 7) (x. Além disso. 2) Ô 12) (2. é desejável inserir regras adicionais. uma com capacidade de 3 litros e a outra de 4 litros. então qualquer permutação dessas regras que seja viável também transforma o estado x no estado y. y) Þ Ù{ÜIÛ'ß6Ý Deve ser definido um número mínimo de regras que modele adequadamente o problema.

Inteligência Artificial em Controle e Automação Álvaro Guarda 32 . As regras têm a forma geral se <condições> então <conclusões> e os mecanismos de inferência utilizados para gerarem novos fatos são baseados na lógica. A maior aplicação dos sistemas baseados em regras são os Sistemas Especialistas (SE). Sistemas Baseados em Regras Os sistemas baseados em regras surgiram a partir dos Sistemas de Produção e evoluíram utilizando resultados das pesquisas em lógica. Evidentemente os SE podem utilizar qualquer uma das formas de representação do conhecimento citadas anteriormente.4. porém a grande maioria deles utiliza regras. pois estes últimos representam um dos maiores marcos comercias na exploração da Inteligência Artificial. Isto acontece porque a maioria do conhecimento utilizado em problemas de IA é diretamente representável em expressões gerais de implicação.4. além de serem facilmente compreensíveis pelos usuários. No capítulo 6 os sistemas baseados em regras são aprofundados através do estudo dos SE.

Roussel e Colmerauer em Marselha (implementação). Este esforço culminou.” “João é homem. van Emden em Edinburgo (demonstração experimental). ou seja. porém em um sistema computacional a maneira clássica é feita por refutação: − Nega-se o teorema. houve muitas pesquisas em prova de teoremas no início da década de 60 com os trabalhos de Prawitz. − Acrescenta-se à teoria.. Figura 24 . a linguagem PLANNER. associando a lógica à matemática. programação em lógica com facilidades para processamento de restrições. ¬ Fato. Possui sintaxe e semântica bem definidas. pode ser considerada a linguagem precursora da programação em lógica.” → → → chove. Gilmore. no trabalho de Robson. Sintaxe a) Proposição simples (átomo) i) Constantes : “Está chovendo. Pesquisas recentes envolvem a implementação de “const raint logic programming” (CLP). à à à Lógica Procura modelar formalmente o raciocínio humano.” “João é filho de Maria.. Lógica Proposicional A lógica proposicional é baseada em proposições. à Existem vários métodos para se provar um teorema.2. Pelo lado da inteligência artificial. joão_homem. R. Do ponto de vista de um sistema baseado em conhecimento. Teoria + ¬ Teorema Contém ou Pode gerar Fato. conforme mostra a Figura 24. .5. ii) Variáveis : P. De Morgan e outros). Esquema geral de funcionamento: É estabelecida uma teoria (conjunto de axiomas) e procura-se provar se um determinado teorema é consistente com a teoria. 5. − Procura-se uma contradição.1. joão_filho_maria. 5. para fazer planejamento em robótica. uma regra de inferência particularmente adequada para a automação em computadores. Q. é a afirmação e a negação do mesmo fato.Esquema de prova por refutação. gerando uma contradição. declarações que podem ser verdadeiras ou falsas. (maiúsculas) Inteligência Artificial em Controle e Automação Álvaro Guarda 33 . Os pesquisadores que desenvolveram no início da década de 70 a idéia de utilizar a lógica como linguagem de programação foram Kowalski na Universidade de Edinburgo (lado teórico). com enfoque em filosofia. Putnam e outros. Após os trabalhos de Herbrand em 1930. desenvolvida por Hewitt em 1972. Uma contradição. Breve Histórico A lógica foi intoduzida no século III AC por Aristóteles para representar os processos do raciocínio. A teoria pode ser vista como um conjunto de declarações que modela um problema e o teorema como uma afirmação que deve ser provada em relação à teoria. Davis. a teoria é uma base de conhecimento e o teorema uma consulta. A programação em lógica surgiu no início da década de 70 como resultado direto de pesquisas nas áreas de prova automática de teoremas e de inteligência artificial. No século XIX houve importantes avanços com o desenvolvimento da álgebra booleana (Boole. introduzindo a regra de resolução. em 1965.

P ↔ Q são FBF. (4) ω(P→Q) = f se ω(P) = v e ω(Q) = f. então P ∧ Q. Definições Tabela Verdade: enumeração de todas as interpretações e correspondentes avaliações para uma FBF. Semântica A semântica de uma FBF é estabelecida através da definição da função ω : proposição → {v. existem 2n interpretações. maneiras possíveis de associar valores verdade aos átomos na fórmula. Fórmula Válida ou Tautologia: fórmula verdadeira para todas as interpretações possíveis. Em uma FBF contendo n átomos diferentes. (3) Se P e Q são FBF. Contra-exemplo: uma interpretação em que ω(fórmula) = f. também chamada contradição. Equivalência: duas fórmulas F e G são chamadas equivalentes. f}. caso contrário ω(P∧Q) = f. se ω(F) = ω(G) para todas as interpretações. caso contrário ω(P↔Q) = f. ii) Fórmula bem formada (FBF) : (1) Um átomo é uma FBF. (5) ω(P↔Q) = v se ω(P) = ω(Q). isto é. (3) ω(P∨Q) = f se ω(P) = f e ω(Q) = f. F≡G. caso contrário ω(P∨Q) = v. Fórmula Consistente (satisfatível): aquela que não é inconsistente. ω(¬P) = f se ω(P) = v. P ∨ Q. Leis de Equivalência Negação Dupla: Comutativas: Associativas: Distributivas: ¬(¬F) ≡ F F ∨ G ≡ G∨ F F ∧ G ≡ G∧ F (F∧G)∧H ≡ F∧(G∧H) (F∨G)∨H ≡ F∨(G∨H) F∨(G∧H) ≡ (F∨G)∧(F∨H) F∧(G∨H) ≡ (F∧G)∨(F∧H) Inteligência Artificial em Controle e Automação Álvaro Guarda 34 . expressão) i) Elementos : − − Conectivos (em ordem de prioridade): ¬ ∧ ∨ → ↔ Parênteses. então ¬P é uma FBF. Fórmula Inconsistente (insatisfatível): fórmula falsa para todas as interpretações possíveis. P → Q. caso contrário ω(P→Q) = v. Modelo: uma interpretação em que ω(fórmula) = v. como segue : (1) ω(¬P) = v se ω(P) = f. (2) ω(P∧Q) = v se ω(P) = v e ω(Q) = v.b) Proposição composta (fórmula bem formada. (2) Se P é uma FBF.

se para cada interpretação ω. (6) ¬gripe ë1ì Tentativa de encontrar uma contradição: (2) ¬ garganta_inflamada ∨ ¬resfriado ∨ gripe ¬ garganta_inflamada ∨ ¬resfriado (1) garganta_inflamada (4) ¬coriza ∨ resfriado ¬resfriado ¬coriza (5) coriza [ Observações: − (cláusula vazia: contradição) Explicação do primeiro passo da procura por uma contradição: a proposição (2) precisa ser verdadeira. ¬gripe. temos ω(G) = v. (2) ¬ garganta_inflamada ∨ ¬resfriado ∨ gripe. para o qual ω(F1∧F2∧ ... coriza. denotada por F áãâ G. ¬ garganta_inflamada ∨ ¬resfriado ∨ gripe. n ≥1. F2... ¬resfriado Álvaro Guarda Inteligência Artificial em Controle e Automação 35 . F ≡ G equivale a F Exemplo äæå G e G äæå F. Fn}. então basta que apenas um deles seja verdadeiro: ¬garganta_inflamada. Teorema (consulta): gripe.. (3) ¬doi_corpo ∨ resfriado. ∧ Fn) = v. ¬coriza ∨ resfriado. ¬doi_corpo ∨ resfriado. (4) ¬coriza ∨ resfriado.. Prova por refutação: èêé Teoria + negação do teorema: (1) (2) (3) (4) (5) (6) garganta_inflamada.Morgan: Outras: ¬(F∧G) ≡ ¬F ∨ ¬G ¬(F∨G) ≡ ¬F ∧ ¬G F → G ≡ ¬F ∨ G F↔G ≡ (F→G) ∧ (G→F) Conseqüência Lógica Uma formula G é uma conseqüência lógica de um conjunto de fórmulas F = {F1. ç ç ç Teoria (conjunto de axiomas ou Base de Conhecimento): (1) garganta_inflamada. como os seus elementos estão unidos por “ ∨”. (5) coriza.

Literal: é um átomo ou a negação de um átomo. Chame-as de cláusulas-pai. Selecione duas cláusulas. assim ¬garganta_inflamada ou ¬resfriado deve ser verdadeiro. Algoritmo da Resolução: 1. Elimine as implicações.ou gripe. − A teoria original é: (1) garganta_inflamada. a base de conhecimento foi alterada utilizando-se as leis de equivalência. Cláusula vazia: representada pelo símbolo [. 3. de modo que cada ¬ esteja restrito a um único átomo. Reduza o escopo dos operadores de negação..... Teorema 1 (“soundness” da resolução) Uma coleção de regras de inferência é saudável se ele preserva os valores verdade sob as operações de derivação (|-). C2} í î C então {C1. Considere duas cláusulas C1 e C2 contendo literais complementares. Leis de equivalência: distributivas e associativas. a indica a presença de uma contradição. a. Cláusula: é uma FBF na forma L1 ∨ L2 ∨.. Fn}. Qualquer resolvente C de C1 e C2 é uma conseqüência lógica de {C1. 3. onde as fórmulas Fi estão na forma disjuntiva. 2. então foi encontrada uma contradição. C2} ïæð C. Converta todas as proposições de T para a forma clausal. Para isto utilize as leis de equivalência: F↔G ≡ (F→G) ∧ (G→F) e F → G ≡ ¬F ∨ G 2. ∧ Fn. Transforme-a em um conjunto de cláusulas substituindo fórmulas na forma F1 ∧ F2 ∧ . Repita os passos abaixo até que uma contradição (cláusula vazia) seja encontrada ou até que nenhum progresso a mais possa ser feito. Algoritmo de transformação de uma FBF para a forma clausal: 1. Assim. ∨ Ln.. ¬gripe está valendo. (4) coriza.. b. 4. Abaixo são apresentadas algumas definições preliminares e o algoritmo da resolução. Acrescente-o ao conjunto de cláusulas obtido na etapa 1. Resolução (simplificada para a lógica proposicional) A resolução é uma regra de inferência que prova se uma proposição P (teorema) é verdadeira em relação a um conjunto de axiomas T (teoria). Se o resolvente for a cláusula vazia. ∧ Fn em {F1. acrescente-o ao conjunto de cláusulas disponíveis. Conforme a proposição (6).. c.. a manipulação para procurar uma contradição fica mais fácil se todas as proposições tiverem apenas os conectores ¬ e ∨. Álvaro Guarda Inteligência Artificial em Controle e Automação 36 . chamada resolvente. Isto é. ∨ Lm e cada Lj é um literal. C2}. entretanto. Transforme-a para a forma normal conjuntiva: F1 ∧ F2 ∧ . F2. Exercício: Transforme para a forma clausal a fórmula P ∨ ¬(¬Q → R) ∧ (S →P). Negue P e converta o resultado para a forma clausal. será a disjunção de todos os literais de ambas cláusulas-pai com exceção dos literais redundantes e dos literais complementares (L e ¬L). onde cada Fi está na forma L1 ∨ L2 ∨ . Leis de equivalência: negação dupla e Morgan. Caso contrário. Resolva as duas juntas: a cláusula resultante... (2) (garganta_inflamada ∧ resfriado) → gripe. (3) (doi_corpo ∨ coriza) → resfriado. se {C1..

tn são termos.. é uma expressão da forma P(t1. t2. Maria). iv) Funções : são mapeamentos de elementos do universo (minúsculas). 5. então f(t1. ou simplesmente átomo... Teorema 2 A resolução é completa. t2.3. − permite expressar declarações mais gerais. b) Definições i) Termo : é definido como : (1) uma constante . g(f(x)... Sintaxe a) Símbolos da linguagem i) Objetos : são os elementos do universo do discurso (inicia com maiúscula). . nõ’öI÷Døúù 1. (2) uma variável . P ↔ Q são FBF . P ∨ Q. v) Conectivos lógicos : os mesmos da lógica proposicional : ¬ ∧ ∨ → vi) Quantificadores : ∀ universal e ∃ existencial. z)) iii) Fórmula composta. iv) Fórmula bem formada (FBF) : (1) um átomo é uma FBF . . P → Q. . BlocoB).Obs.: ñ ò deriva (deduz) pela aplicação de uma regra de inferência. vírgula. ô ii) Fórmula atômica.. Se S ñæó F então S ñ ò F. Obs. Ex. todas as conseqüências lógicas de um dado conjunto de fórmulas podem ser derivadas. Proposição possui aridade 0. Lógica de Predicados É mais expressiva que a lógica proposicional: − permite descrever propriedades e relações de / entre objetos.. (3) se P e Q são FBF. (3) se f é uma função de aridade n e t1. iii) Variáveis : expressam genericamente elementos do universo (minúsculas). viii)Fórmula livre : possui variáveis livres. Sobre(BlocoA. . C. Q(f(y)... tn) é um termo.. : ∀x (P(x.y) → ∃y (R(x. vii) Fórmula fechada (sentença): não possui variáveis livres. . : Homem(José). vi) Variável livre : variável que ocorre em uma FBF e não é quantificada. y))) o y em negrito não é quantificado. Pai(José.. é formada com átomos ligados por conectivos lógicos e junto com quantificadores. Semântica Na lógica de predicados a semântica é dada em cinco etapas : Inteligência Artificial em Controle e Automação Álvaro Guarda 37 . ii) Predicados : são relações entre os objetos do universo (inicia com maiúscula). : Aridade é o número de elementos (argumentos) de um predicado. ... Ex. isto é. tn) onde P é um predicado n-ário. t2. então P ∧ Q. vii) Símbolos auxiliares : parênteses. (4) se P é uma FBF então ∀x P e ∃x P são FBF. t2. tn são termos.. (2) se P é uma FBF então ¬P é uma FBF . Exemplos : P(x). v) Escopo de quantificador : é a área de influência do quantificador.

Qn xn M onde Qi (i =1. F2..m... y)) fica ∀x P(x. Leis de equivalência: negação dupla.. Obs. Exemplos : ∀x (P(x) ∨ ∃y Q(x. ∃x P(x) fica P(C) onde C é uma constante não utilizada antes...∨ Lm e cada Lj é um literal. Para isto utilize as leis de equivalência: F↔G ≡ (F→G) ∧ (G→F) e F→G ≡ ¬F ∨ G. então y pode ser funcionalmente dependente de x.. n≥1) for uma disjunção de literais L1 ∨ L2 ∨ . ∧ Fn. g(x)) onde g é uma função não utilizada antes. Individualize as variáveis para que cada quantificador fique vinculado a uma variável única. ∀xs (L1∨ L2∨. Leis de Equivalência 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 Lógica de Predicados a) Cláusula é uma fórmula fechada disjuntiva ∀x1. m≥0) é um literal em que Li ≠ Lj (i ≠ j) e x1.y)) ∧ (P(x) ∨ R(x))) Forma normal conjuntiva Algoritmo de transformação de uma FBF para a forma clausal: 1.. Transforme-a para a forma normal conjuntiva: F1 ∧ F2 ∧ . Atribuir a cada função uma aplicação de Dn em D..∨ Lm). Transforme a fórmula em forma normal PRENEX. 3. 6.y)) Não está na forma normal PRENEX devido à presença do quantificador existencial ∀x ∃y ∀z ((P(x) ∧ Q(x. .. Leis de equivalência: distributivas e associativas.. onde cada Fi (i =1. sem alterar a sua ordem relativa. e M é a fórmula onde os quantificadores ocorrem. 7.. b) Forma Normal PRENEX é quando uma FBF tem o seguinte formato : Q1 x1 . 5. Fn}.. Inteligência Artificial em Controle e Automação Álvaro Guarda 38 . onde cada Fi está na forma L1∨ L2∨... ∀x P(x) ≡ ∀y P(y) e ∃x P(x) ≡ ∃y P(y) Leis de equivalência: Exemplo: ∀x F(x) ∧ ∀x G(x) fica ∀x F(x) ∧ ∀y G(y) 4. ∧ Fn em {F1.É utilizado x como argumento da função porque o escopo de x é maior.n.. .. Morgan e dos quantificadores.. xs (s≥0) são variáveis ocorrendo em (L1∨. Elimine os quantificadores existenciais através das funções de Skolen (skolenização). f}. ∨ Lm. de modo que cada ¬ esteja restrito a um único átomo.. : . ∧ Fn. Desconsidere o prefixo e transforme a matriz em um conjunto de cláusulas substituindo fórmulas na forma F1 ∧ F2 ∧ . denominado universo do discurso. Atribuir a cada predicado uma aplicação de Dm em {v...y)) ∨ ¬R(x)) PRENEX ∀x ∃y ((¬P(x) ∨ Q(x. . Atribuir a cada proposição o valor v ou f.. c) Uma fórmula F na forma normal PRENEX está na Forma Normal Conjuntiva se a matriz M de F for da forma F1 ∧ F2 ∧ .n. movendo os quantificadores ∀ para a esquerda da fórmula. ∨ Lm) onde cada Li (i =1. ∀x (∃y P(x.... Elimine as implicações...As fórmulas não são equivalentes lógico.. Reduza o escopo dos operadores de negação. n≥0) é um dos quantificadores ∀ ou ∃. onde as fórmulas Fi estão na forma disjuntiva..1) 2) 3) 4) 5) Definir um domínio de aplicação D. Atribuir a cada variável livre um elemento do domínio D. ∀x2. 2. porém F é SAT sse Fs é SAT.

y/zβ. então Eβ é uma instanciação de todas as expressões de E por β. obtida substituindo-se em E cada ocorrência de xi por ti. onde nenhum dos primeiros elementos das substituições simples coincidem. w/g(C).g(x))∨ ¬Q(x. y/C} R(B. dado um conjunto de expressões {E1.z)∧¬R(f(x.z)))) transformação na forma normal conjuntiva {P(x.z))∧(P(x. Composição de substituições A composição da substituição θ={x1/t1. Instância Sejam E uma expressão e β={x1/t1. 6. Se E for um conjunto de expressões.g(x))∨ ¬Q(x. y1/s1. Substituição é um conjunto finito β de substituições simples. yn/sn} é θβ={ x1/t1β. Eβ é uma instância de E. então E(ββ) = Eβ E(ϕβ)θ = Eϕ(βθ) associativa Eβθ ≠ Eθβ não é comutativa Exemplo E = Q(x. y/B. Em}. z/y} → {x/f(B). g(C))) Inteligência Artificial em Controle e Automação Álvaro Guarda 39 . …. P(x.y)∧¬R(f(x. xm/tm} com a substituição β={y1/s1. ….y)→R(f(x. R(B. Definições Substituição simples é a expressão x/t onde se lê “ x substituído por t”.g(x))∨∀z(¬Q(x. …. Unificador Mais Geral (UMG) é um unificador θ de um conjunto de expressões E={E1. A instanciação da cláusula C por substituição β é obtida fazendo Cβ e eliminando-se as ocorrências repetidas do mesmo literal. y/y. x)) θ = {x/f(y). xn/tn} uma substituição. …. xm}} Seja β. ∀x(∃yP(x.z)∧¬R(f(x.z)))) individualização das variáveis ∀x(P(x.z)))) eliminação dos quantificadores existenciais ∀x∀z (P(x.z))} forma clausal Resolução na Lógica de Predicados Unificação É um procedimento que procura tornar 2 expressões iguais através da substituição de variáveis. onde para todo unificador β de E existe uma substituição λ tal que β=θλ. f(y). f(y). f(A. 2.z).y)∨¬∃y(¬Q(x. Em}. f(z.y)∨∀y(¬Q(x.y)∨R(f(x. y/z} β = {x/A.y)))) 1. x é uma variável e t um termo. z/y} Eθβ = Q{f(B). 7. …. y/B.Exercício: Transforme a FBF abaixo na forma clausal.y)∨∀z(¬Q(x. ∀x(∃yP(x. g(z. 4. yn/sn} – {xi/tiβ | xi=tiβ} – {yj/sj | yj ∈{x1. xm/tmβ.g(x))∨¬R(f(x.y)))) redução do escopo das negações ∀x(∃yP(x.z)))) transformação na forma normal PRENEX ∀x∀z ((P(x.z)∧¬R(f(x. x/A. θ e ϕ substituições. g(y. 5. g(y))). …. f(A. z/A.y)∨¬∃y(Q(x. x/A. w))} β1={x/B. y/B. ….g(x))∨¬R(f(x. Exemplo: E={R(x. z/y} → {x/f(B). E1β= … = Emβ. …. 3.y)))) eliminação de implicações ∀x(∃yP(x. z/y} θβ = {x/f(B).g(x))∨ (¬Q(x. ∀i. f(B))) Unificador é uma substituição β onde. z/y} { x/f(y)β.

Cj). y/f(A). 3. Resolve(Ci. Inteligência Artificial em Controle e Automação Álvaro Guarda 40 . Isto é. w/g(f(A))} R(B. Se as aridades de L1 e L2 forem diferentes então retorne fracasso. L2 ∈ Cj. c) Se S ≠ {} então i) aplique S ao que resta em L1 e L2. Cláusulas ← Cláusulas + Converte(¬P). d) Se L1 e L2 forem constantes então retorne fracasso. b) Resolvente ← Resolve(Ci. já na forma clausal. vazio b) Se L1 for uma variável então Se L1 ocorrer em L2 então retorne fracasso senão retorne {L1/L2}. Cláusulas ← Converte(T). ii) UMG ← UMG + S. L2):conjunto 1. então retorne {}. 6. com exceção dos literais redundantes e dos literais complementares L1 e ¬L2 (ou ¬L1 e L2). f(A. então a) Se L1 e L2 forem idênticos.β2={x/B. c) Se L2 for uma variável então Se L2 ocorrer em L1 então retorne fracasso senão retorne {L2/L1}. 2. z/A. f(A. Selecione L1 ∈ Ci. n-ésimo argumento de L2). g(f(A)))) β3={x/B. w/g(y)} R(B. Obs. UMG ← Unifica(L1. g(y))) β3 é um UMG: Exercício: β3{y/C}=β1 Obs.: λ={y/C} β3{y/f(A)}=β2 Encontre o unificador mais geral para E={x. Retorne UMG. Cj): cláusula 1. T) 1. odeia(marcos. Se L1 e L2 forem ambos constantes e/ou variáveis. 3. c) Cláusulas ← Cláusulas + Resolvente. onde L1 ou L2 é negado nas cláusulas e L1 e L2 são unificáveis. Algoritmo de Unificação retorna o UMG como resultado ou fracasso Unifica(L1.: Se parou porque encontrou então existe uma contradição. 5. Exercício: Dado os axiomas abaixo. UMG ← nulo Para n ← 1 até aridade de L1 a) S ← Unifica(n-ésimo argumento de L1. P é verdadeiro em relação a T com as substituições que foram efetuadas para derivar . 2. 2. Faça até ∈ Cláusulas ou nenhum progresso for feito a) Selecione 2 cláusulas Ci e Cj ∈ Cláusulas. 4. prove que Marcos odeia alguém. Assim. x). 3. L2). f(x)}. b) Se S = fracasso então retorne fracasso. z/A. Depende de uma estratégia. Retorne o resolvente: disjunção de todos os literais de Ci e Cj. Algoritmo de Resolução Prova P com respeito a um conjunto de axiomas T Prova(P. Se os símbolos de predicado de L1 e L2 não forem idênticos então retorne fracasso. após a aplicação do UMG.

P 5. Esta estratégia de seleção é completa. 5. então está provado que Marcos odeia alguém. Homem(Marcos) 2. César) 2 e 11 {} 13. Sejam a teoria {P. R 5e6 7. ¬P∨R 2e3 12.x) 10. f1(x3)) 7. Soberano(César) 5. ¬P∨R 2 e 3 2. então Marcos odeia César. ¬Q∨R 1 e 3 11. ¬P 4e7 6. ¬Odeia(Marcos. César) ∨ Odeia(x2. Estratégia de Resolução É a forma de escolha das cláusulas que serão “resolvidas”.1. ¬P∨¬Q 3 e 4 13.4. na ordem em que as mesmas aparecem. César) 7 e 12 {x4/Marcos. César) Resposta: 9. Assim. Leal_a(x3. ¬Romano(Marcos) ∨ Leal_a(Marcos. y1) ∨ ¬Leal_a(x4. César) 6. ¬P∨¬Q∨R 7. Inteligência Artificial em Controle e Automação Álvaro Guarda 41 . César) 9 e 5 {x2/Marcos. ¬P∨Q 6. Abaixo é apresentada a seqüência de cláusulas geradas com esta estratégia para o problema anterior: 5. Cláusulas: 1. ¬R 1) Resolução por Saturação (exploração em extensão) Faz a seleção das cláusulas de maneira sistemática. ¬Homem(Marcos) ∨ ¬Soberano(César) ∨ ¬Tenta_assassinar(Marcos. Pompeano(Marcos) 3. ¬Tenta_assassinar(Marcos. os resolventes que já estão presentes no conjunto de cláusulas não são acrescentados novamente. ¬Romano(x2) ∨ Leal_a(x2. ¬Homem(x4) ∨ ¬Soberano(y1) ∨ ¬Tenta_assassinar(x4. 8 e 15 {} A cláusula vazia foi derivada. ¬Pompeano(Marcos) ∨ Leal_a(Marcos. y1/César} 14. Veja o exemplo abaixo. ¬Soberano(César) ∨ ¬Tenta_assassinar(Marcos. ¬Pompeano(x1) ∨ Romano(x1) 4. mas ineficiente. Como a variável do teorema está instanciada com César. T contém inicialmente a cláusula a ser provada e a cada passo o resolvente é acrescentado a T. 4e6 4. ¬P∨Q. César) 3 e 10 {x1/Marcos} 12. somente é possível derivar a cláusula vazia.T é consistente. Q 1e2 10. ¬P∨¬Q∨R} e o teorema R a ser provado. A forma mais rápida é usando a nossa inteligência. As estratégi as serão apresentadas com exemplos da lógica proposicional. R 1e5 3. ¬Q 4e6 2) Resolução com o Conjunto de Suporte Esta estratégia utiliza o conhecimento de que o conjunto de cláusulas original (teoria ou axiomas) é sempre consistente. porém os conceitos são os mesmos para a lógica de predicados. Leal_a(Marcos. Para evitar trabalho desnecessário. selecionando as cláusulas que geram a cláusula vazia com o menor esforço. César) 1 e 13 {} 15. x/César} 11. y1) 8. aplicando o algoritmo de resolução a cláusula vazia é derivada e fica provado R. César) 4 e 14 {} 16. Definição: Um subconjunto T de um conjunto de cláusulas S é um conjunto de suporte de S se e somente se S . provando a inconsistência. utilizando-se pelo menos uma cláusula que não pertença ao conjunto de cláusulas original. 5e9 9. Tenta_assassinar(Marcos. sendo que as cláusulas selecionadas devem ter literais complementares. ¬P 5e8 8.

x. utilizando as estratégias: (a) resolução por saturação. A cláusula auxiliar (outra cláusula) é uma das cláusulas do conjunto de entrada (cláusulas originais + a negação do teorema a ser provado). y. Veja abaixo a seqüência de cláusulas geradas com esta estratégia para o problema anterior: 5. w) ∨ P(u. ¬P∨¬Q 4 e 3 6. 7} 3) Resolução Linear A cláusula pai é inicialmente a negação da cláusula a ser provada e nos demais passos é o último resolvente. 7e1 Exercício: 1) Prove P(h(x). z. pelo menos um dos pais faz parte do conjunto de suporte T. g(x. h(S)) com relação ao conjunto de cláusulas { P(f(x. o teorema negado. u) ∨ P(y. uma expressão da forma: L ∨ ¬M1 ∨ ¬M2 ∨ . ∨ ¬Nm) = N1. y). isto é. na primeira vez. ∨ ¬Mk”. Definições: (a) cláusula definida é aquela contendo exatamente um literal positivo. A’’ uma cláusula definida. ¬P(x. A outra cláusula é a cláusula auxiliar (outra cláusula qualquer). ∨ ¬Nm”. w) }. . y). N1} tal que A é da forma (¬M1 ∨ ¬M2 ∨ . ∨ ¬Mk ∨ ¬N2 ∨ . isto é. .Na aplicação desta estratégia. . Esta estratégia é eficiente porque previne a geração de resolventes que não contribuem para a prova. y). . A seqüência de cláusulas geradas com esta estratégia para o problema anterior é: 5. (c) resolução linear. ∨ ¬Mn da forma: (c) f é uma função de seleção sse f mapeia cada cláusula objetivo em um literal da cláusula. ∨ ¬Nm )θ Note que: û a cláusula A’ é denominada cláusula -pai e é sempre o último resolvente ou. . da forma “ ¬N1 ∨ ¬N2 ∨ . ∨ ¬Mn ou L . M2. 5. . 6} 8. M1. da forma “L ∨ ¬M1 ∨ ¬M2 ∨ . ¬Q 5e1 T={4. A aplicação desta estratégia funciona da seguinte forma: Sejam A’ uma cláusula objetivo. 5} 7. . tal que f(¬N1 ∨ ¬N2 ∨ . v. f uma função de seleção. ¬P∨¬Q 4 e 3 T={4} 6. diminuindo a explosão combinatorial. . v) ∨ ¬P(x. onde L.y). padrão. . . . . ¬P 6e2 8. 4) Estratégia Linear de Entrada A cláusula pai é inicialmente a negação da cláusula a ser provada e nos demais passos é o último resolvente. z. . 5. (b) cláusula objetivo é a cláusula vazia ou uma cláusula com todos os literais negativos. (b) resolução com conjunto de suporte. ¬Q 5e1 7. . uma expressão ¬M1 ∨ ¬M2 ∨ . ¬Q 5e1 7. . ¬P 6e2 8. x. Veja abaixo a seqüência de cláusulas geradas com esta estratégia para o problema anterior: 5. 7e1 T={4. β uma re-nomeação de A’’ em presença de A’.. . ¬P 5e2 T={4. 6. Álvaro Guarda Inteligência Artificial em Controle e Automação 42 . o resolvente é uma cláusula objetivo A sse existe um UMG θ do conjunto de literais {L. ¬P∨¬Q 4 e 3 6. Mn são átomos. . 7e1 5) Resolução LSD (Linear com função de Seleção para cláusulas Definidas) Esta estratégia trabalha com um conjunto de cláusulas consistindo de uma ou mais cláusulas definidas e de uma cláusula objetivo. ¬P(x. û a cláusula A’’ é denominada cláusula auxiliar e pertence ao conjunto de cl áusulas de entrada.

. o resolvente sempre é uma cláusula objetivo. (c) resolução linear. chamado “cláusulas de Horn”. ∧ Mn ≡ ¬∃ (M1 ∧ M2 ∧ .E) com relação ao conjunto de cláusulas { Chama(A. R(A) 11.E). permitindo apenas cláusulas do tipo: ≡ L ← (a) L. P(x) ∨ R(x) 5 e 1 {} 7. ¬P(A). P(A) ∨ P(B) 8. . P(A) 6 e 4 {x/A} Inteligência Artificial em Controle e Automação Álvaro Guarda 43 . ∧ Mn (b) L ∨ ¬M1 ∨ ¬M2 ∨ .z) ∨ ¬Depende(z. P(A) ∨ R(B). ≡ L ← M1 ∧ M2 ∧ .y). . P(B) 10. P(A) 12.y) ∨ ¬Chama(x. ¬P(B) 6. ∨ ¬Mn A seqüência de cláusulas geradas com esta estratégia para o problema anterior é: 5. ¬R(A) 5. . Usa(B. 1e3 1e4 1e5 3e7 5e6 5e7 5e9 {x/A} {x/A} {x/B} {} {} {} {} (b) resolução com conjunto de suporte: 1. . . P(A) ∨ R(B) 3. Depende(x. ∧ Mn) (c) ¬M1 ∨ ¬M2 ∨ . 6. Depende(x. ¬P(A) 4. . P(x) ∨ R(x) ∨ P(B) 2.y) }. ¬R(A) 5. R(B) 9.ü ü ü não há liberdade de escolha dos literais.y) ∨ ¬Usa(x. (d) resolução linear de entrada.B). P(x) ∨ R(x) ∨ P(B) 2. ¬R(A)}. ¬P(A) 4.y).y) ∨ ¬Chama(x. utilizando as estratégias: (a) resolução por saturação. 2) Prove o Depende(A. ∨ ¬Mn ≡ ← M1 ∧ M2 ∧ . . . Depende(x. . (b) resolução com conjunto de suporte. esta estratégia utiliza um subconjunto da lógica de predicados. Solução do exercício 1): (a) resolução por saturação: 1. ¬P 6e2 8. R(A) 6 e 3 {x/A} 8. P(A) ∨ R(B) 3. (e) resolução LSD. (b) resolução com conjunto de suporte. ¬P(B) 6. R(B) 5 e 1 {x/B} Não é mais possível avançar. ¬P∨¬Q 4 e 3 6. (c) resolução linear. R(A) ∨ P(B) 7. ¬Q 5e1 7. 7e1 Exercícios: 1) Prove P(B) com relação ao conjunto de cláusulas { P(x) ∨ R(x) ∨ P(B). utilizando as estratégias: (a) resolução por saturação. então tenta outra alternativa pegando o literal P(B) da cláusula 1.

B) ∨ ¬Chama(x. 17. y/B} antes.E) 7. y/E} 5 e 12 {z/A} 5 e 15 {z/A} 5 e 16 {z/x1. y/B} 1 e 5 {x/A.E) 3.y) Depende(x. Usa(B.y) ∨ ¬Usa(x. 22.y) ∨ ¬Chama(x. Chama(A.B) ∨ ¬Chama(x.x1) Depende(x.y) 6.9. y/E} 5 e 7 {z/A. Usa(B.E) 3.y) 5.E) ¬Chama(B.z) ∨ ¬Depende(z.E) Inteligência Artificial em Controle e Automação Álvaro Guarda Depende(A.E) ∨ ¬Chama(A. então tenta outra alternativa pegando o literal P(B) da cláusula 1.A) ¬Chama(B.y) 4.y) ∨ ¬Chama(x. Depende(x. Chama(A.y/E} 5 e 17 {x1/z.z) ∨ ¬Chama(z.y) ¬Chama(A. y/E} 4 e 8 {x/B} 5 e 6 {x/A. R(A) 6 e 3 {x/A} 8.y) ∨ Depende(A.E) ¬Chama(z.A) ∨ ¬Depende(B. ¬Depende(A.y) ∨ ¬Chama(z. a variável x da 17 foi renomeada para x1 44 .y) Depende(B. 11.y) ∨ ¬Chama(x.E) ¬Usa(B. 13. ¬R(A) 5. 14.y) ∨ ¬Chama(z.z) ∨ ¬Depende(z. Depende(x. z/B} 2 e 4 {x/B.A) 1 e 3 {x/A. 12. Depende(x. 24. 18. P(x) ∨ R(x) 5 e 1 {} 7.y) ¬Chama(x1.y) ∨ ¬Chama(x.z) ∨ ¬Depende(z. Depende(x. (b) resolução com conjunto de suporte: 1.y) ¬Usa(z.B) 2.B) Depende(A. . y/E} 3 e 5 {x/z} 3 e 6 {x/A. 10. P(A) ∨ R(B) 3.z) ¬Chama(A.E) Depende(x. ¬Depende(A.y) 6. Depende(x.y) ∨ ¬Chama(x. 15.A) ∨ ¬Usa(B. x/x1.y) ∨ Depende(A.y) Depende(x. 21. 19. R(B) 5 e 1 {x/B} Não é mais possível avançar.y) ∨ ¬Usa(x.y) 5.y) ∨ ¬Chama(x.z) ∨ ¬Depende(z. 9.B) 2.y) ∨ ¬Depende(B.y) 4... 6.z) ¬Usa(A. y/B} 5 e 8 {x/B} 5 e 8 {z/A} 5 e 9 {z/B. ¬P(A) 4. R(B) 10. 8. (c) resolução linear: 1. 23.y) ∨ Depende(A.z) ∨ ¬Depende(z.y) Depende(x. y/E} 3 e 8 {x/B} 4 e 5 {x/z} 4 e 6 {x/A. 16.E) ∨ ¬Chama(x. P(x) ∨ R(x) ∨ P(B) 2.B) Depende(x. ¬P(B) 6 e 5 {x/B} 7e4 {} 6. 20.A) ∨ ¬Chama(B. 7e4 {} Solução do exercício 2): (a) resolução por saturação: 1. Depende(x.y) ∨ ¬Chama(x.

17.x) ∨ ¬Chama(x1.y) ∨ ¬Chama(x.x) ∨ ¬Usa(z. y/E} {x/B. Depende(x.E) ¬Usa(A. 9.y) 5.y) 4. y/E} antes.z) ∨ ¬Chama(z. Inteligência Artificial em Controle e Automação Álvaro Guarda 45 .E) ¬Usa(B. 20.E) ¬Usa(A. y/E} {x/B. 19. Os nodos da árvore de busca contêm o conjunto de cláusulas corrente.E) ¬Chama(B.E) ¬Chama(A.E) 6e3 6e4 6e5 7e1 8e3 8e4 9e2 {x/A. 8.x) ∨ ¬Usa(x.E) ∨ ¬Chama(A. ¬Depende(A.z) ∨ ¬Depende(z.z) ∨ ¬Chama(A. Usa(B.E) ¬Chama(B.B) 2.E) 3. 8. y/E} antes. 13.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.y) ∨ ¬Chama(x. y/E} antes. ¬Chama(A.y) 6. {x/A.z) ∨ ¬Depende(z. para este problema.x) ∨ ¬Chama(x.z) ∨ ¬Depende(z.E) ¬Depende(B.z1) ∨ ¬Depende(z1.E) ¬Chama(x.E) ¬Chama(A.E) ¬Chama(x. sendo que a raiz contém o conjunto de cláusulas de entrada. ¬Chama(A. 9.E) ¬Chama(A. y/E} {z1/x.E) ¬Depende(B.x1) ∨ ¬Chama(A.y) ∨ ¬Usa(x.E) ¬Usa(B.z) ∨ ¬Depende(z. Chama(A. 18. y/E} {z/B} {z/x.E) 22. têm a mesma solução: 1. z/B} {x/z. y/E} {x/B} Não é mais possível avançar Não é mais possível avançar Não é mais possível avançar Árvore de Busca A escolha da estratégia de resolução define como é explorada a árvore de busca para encontrar a cláusula vazia. A Figura 25 apresenta a árvore de busca para o problema do exercício 1.E) ∨ ¬Chama(A. y/E} {z/x.z) ∨ ¬Chama(A. y/E} {x/B. y/E} {x/A. y/E} {x/A. 11.B) ¬Depende(B. y/E} {x1/z.E) ¬Chama(A. Depende(x. y/E} {x/A.E) 7.x) ¬Chama(B. 9. a variável z da 9 foi renomeada para z1 {x/B. 16. a variável z da 5 foi renomeada para z1. 7.E) ¬Chama(A.z) ∨ ¬Depende(z. 10. e a x da 5 para x1 {} (c) resolução linear. y/E} {z/B} {x/B. y/E} {x/B} {x/A. 10. 7. a variável x da 4 foi renomeada para x1 {z/x1.7. 15.A) ¬Chama(z. ¬Chama(x. resolução linear de entrada e resolução LSD. y/E} {x/A. 12. 14. Depende(x.

6. 6. A Figura 26 apresenta a árvore de refutação para o problema do exercício 2 utilizando a estratégia de resolução LSD.. R(A) ∨ P(B) 1 e 4 {x/A} 1. P(A) ∨ R(B) 3. ¬P(A) 4. 6. P(x) ∨ R(x) ∨ P(B) P(A) ∨ R(B) ¬P(A) ¬R(A) ¬P(B) R(A) ∨ P(B) R(B) . ¬P(A) 4. P(x) ∨ R(x) ∨ P(B) P(A) ∨ R(B) ¬P(A) ¬R(A) ¬P(B) R(A) ∨ P(B) P(x) ∨ R(x) . 3. A raiz normalmente contém apenas a cláusula objetivo (teorema negado). ¬P(B) 6. 6.. .. P(A) ∨ R(B) 3.Árvore de busca. P(x) ∨ R(x) ∨ P(B) 2. Árvore de Refutação A escolha da estratégia de resolução define como é explorada a árvore de busca para encontrar a cláusula vazia. 4. P(A) ∨ R(B) 3. P(x) ∨ R(x) 2 e 3 {} 1. 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. o seu número pode ser omitido nos arcos. ¬R(A) 5. . ¬R(A) 1 e 3 {x/A} 1 e 4 {x/A} 1 e 5 {} 2 e 3 {} 1. 5. A árvore contendo apenas os nodos visitados durante o processo de busca da cláusula vazia é denominada árvore de refutação. 3. mas pode conter o conjunto de cláusulas de entrada por questões de clareza. 7. P(x) ∨ R(x) ∨ P(B) 2. ¬P(A) 4. P(x) ∨ P(B) 1... ¬P(A) 4. ¬P(B) 6.. 2. R(B) 1 e 5 {} 1. P(A) ∨ R(B) 3. Como a cláusula objetivo sempre participa na resolução das cláusulas.1. ¬P(B) 6.. 4. ¬R(A) 5. 4. ¬R(A) 5. 5. 5.. . ¬P(A) 4. Figura 25 . 2.. 3. ¬P(B) . ¬R(A) 5. Linear de Entrada e LSD a árvore pode ser simplificada colocando-se nos nodos apenas a cláusula objetivo corrente (cláusula pai). P(x) ∨ R(x) ∨ P(B) 2.. 2. P(x) ∨ R(x) ∨ P(B) 2. Inteligência Artificial em Controle e Automação Álvaro Guarda 46 . P(x) ∨ R(x) ∨ P(B) 2. 7.. 1. P(A) ∨ R(B) 3. Para as estratégias Linear..

y/E} 7. ¬Chama(B. Figura 26 . ¬Usa(A. y/E} 7. Inteligência Artificial em Controle e Automação Álvaro Guarda 47 . y/E} 4 {x/B.E) 9.E) 7.6. ¬Depende(B.E) 3 {x/A. ¬Chama(A. ¬Depende(A. ¬Chama(A.Árvore de Refutação.E) 1 {z/b} 8. y/E} 9.z) ∨ ¬Depende(z.E) 4 {x/A. y/E} 5 {x/A.E) 3 {x/B. ¬Usa(B.E) 2 {x/B} 10.

compreende situações. Quando o SE estiver em produção. Os sistemas especialistas que fizeram mais sucesso comercialmente estão na classe de problemas em que dado um conjunto de fatos observados. que precisa ser criada de modo mais eficiente possível. Eles também precisam explorar um ou mais mecanismos de raciocínio. Base de Conhecimento Consiste na parte central de um SE. É a representação do conhecimento no domínio no problema em questão. ý O Banco de Conhecimento é independente da Estrutura de Controle. descrevendo o domínio da aplicação. Ao final da consulta esta informações são apagadas. o sistema infere possíveis problemas.interpretação. Quanto mais geral a classe de problemas que podem ser resolvidos por um sistema. obtido pela consulta em livros e revistas especializadas. ý Interpretação . etc. O SE e seu Ambiente A Figura 27 mostra o ambiente de um SE. mais insatisfatória será a solução produzida. os SE solucionam problemas que normalmente são solucionados por especialistas humanos. ý Planejamento . Características de SE ý Possuem conhecimento especializado em alta qualidade e quantidade. ý Podem adquirir novos conhecimentos. Sistemas Especialistas (SE) são sistemas de Inteligência Artificial. ý Depuração . o qual deve dominar as ferramentas de desenvolvimento e as linguagens de representação de conhecimento.projeta seqüência de ações. ý Reparo . detecta resultados relevantes. ý Incluem tratamento de incerteza. Assim. ao contrário de um solucionador geral de problemas.configura objetos sob restrições. O conhecimento pode ser privado. ý Predição . obtido através de entrevistas com especialistas no assunto relativo ao problema. É importante lembrar que o termo especialista originalmente representa uma limitação na capacidade de representação e armazenamento de conhecimento do sistema.prescreve “remédios” para mal -funções. e monitoramento de comportamento de sistemas. O profissional encarregado de construir um SE é o engenheiro de conhecimento. ý Explicam o raciocínio utilizado na resolução do problema.6. baseados em conhecimento. ý Instrução . o Motor de Inferência (Inference Engine) e a Interface com o Usuário. ý O conhecimento pode ser incompleto. ý Controle . reparo. um SE trata de um determinado conhecimento específico sobre um domínio de problema. 6. Na verdade. Componentes Básicos de um SE Existe um consenso sobre a arquitetura geral de um sistema especialista. onde há dois momentos distintos: a construção e a utilização. Tipos de SE ý Classificação ý Diagnose . e livre de detalhes de controle e implementação. apresenta alternativas de projeto. ou público. ý Projeto . para aplicar aos problemas que têm diante de si. ele pode ser utilizado para resolver problemas de usuários não especialistas no assunto. em algum formalismo de representação de conhecimento disponível. Memória de Trabalho Armazena as informações fornecidas pelo usuário e todo o conhecimento inferido pelo sistema durante uma consulta. geralmente extraída de um ou vários especialistas. que emulam um especialista humano na resolução de um problema significativo em um domínio específico. Idealmente ela é composta de declarações. Inteligência Artificial em Controle e Automação Álvaro Guarda Introdução aos Sistemas Especialistas 48 . O termo especialista freqüentemente leva as pessoas a terem expectativas irrealistas do desempenho de um SE. depuração e reparo para deficiências de estudantes. de forma declarativa.infere mal-funções.diagnose. subjetivo e inexato.1. Quase todos eles podem ser separados em três componentes distintos: a Base de Conhecimento.executa um plano para administrar um “remédio” prescrito.infere conseqüências de situações. os sistemas especialistas precisam acessar uma substancial base de conhecimento do domínio da aplicação. Para solucionar tais problemas. Os problemas com os quais lidam os sistemas especialistas são altamente diversificados. Há questões gerais que surgem em vários domínios. predição. Depois eles precisam de um mecanismo para explicar o que fizeram aos usuários que dele dependem.

É chamado de motor de inferência porque ele usa o conhecimento da base e os fatos relativos a uma determinada consulta para obter conclusões. e precisa de um componente para gerenciar a interação entre o usuário e o sistema A interação básica numa sessão de uso de um SE consiste no sistema perguntar questões relevantes. entretanto é importante ressaltar que ele não conclui todas as inferências válidas. Conforme o exemplo mostrado na Figura 28.2. Por exemplo. se o formalismo de representação escolhido for regras de produção. Uma das vantagens do “modus ponens” é a sua simplicidade. O mecanismo depende da forma de representação de conhecimento. também chamado máquina de inferência. ou seja Como? 6. apresentar conselhos. assim as conclusões podem ser acrescentadas no conhecimento existente. A arquitetura do motor de inferência está intimamente relacionada com a linguagem de representação do conhecimento e inclui os elementos: Mecanismo de Inferência. o fato B é derivado a partir do fato A e da Regra A → B. então é pode-se acreditar que as suas conclusões também o são. Estratégia de Controle. o motor de inferência irá necessariamente tomar a forma de um interpretador de regras. respostas e prover explicações requeridas pelo usuário Dois tipos de explicação que são freqüentemente fornecidas pelo SE são aquelas a perguntas do tipo Por que?. Interface com o Usuário Todo sistema especialista é interativo. Métodos de tratamento da Incerteza e Métodos de tratamento de Conhecimento Incompleto. A natureza do motor de inferência irá depender do formalismo utilizado para representar a base de conhecimento e da estratégia de solução de problemas considerada apropriada pelo projetista do sistema. é responsável pela manipulação da base de conhecimento durante a resolução de problemas.Ambiente de um SE Motor de Inferência O motor de inferência.usuário ? Consulta SE Resposta especialistas engenheiro de conhecimento Figura 27 . os quais serão detalhados mais adiante. e explicações de como o sistema chegou a determinada conclusão. Arquitetura do Motor de Inferência Mecanismo de Inferência O mecanismo de inferência gera novas conclusões a partir da manipulação do conhecimento existente na base de conhecimento e na memória de trabalho. Inteligência Artificial em Controle e Automação Álvaro Guarda 49 . Em sistemas baseados em regras o mecanismo encontrado com mais freqüência é o “modus ponens”: se as premissas de uma regra são verdadeiras.

: o usuário pode ser tratado como uma extensão do Banco de Conhecimento. A Figura 30 apresenta um exemplo de encadeamento regressivo. B.. Equivale à busca em espaço de estados.Exemplo de encadeamento progressivo. “backward”. . Objetivo (problema inicial) A Se B e C então A. Banco de Conhecimento 1) Se B e C então A. quadros.. 3) Se F e D então C. onde o estado é o banco de conhecimento. F. Inteligência Artificial em Controle e Automação Álvaro Guarda 50 . 2) Se D ou E então B.é a direção em que é feita a busca em um espaço de soluções. Se F e D então C. No capítulo sobre formas de representação conhecimento são estudadas outros mecanismos de inferência.. informações do usuário e conhecimento já inferido). B. já resolvidos. ”top -down”) As regras da base de conhecimento são selecionadas a partir dos objetivos. ainda não resolvidos. . e ativadas para gerar novos fatos até encontrar a solução. C. Direção do raciocínio . e os nodos em branco são problemas em aberto. D. roteiros.) . ”goal -directed”... 5) F.Exemplo de aplicação do “modus ponens” Em formalismos de representação do conhecimento orientados a objetos um dos mecanismos de inferência utilizados é a herança. D. Se F e D então C. comparando-se o lado direito das regras (conclusões). 2) 3) Se B e C então A. D. onde os problemas (objetivos) são “quebrados” em subproblemas (novos objetivos). Figura 28 . A → B. Se F e D então C. Equivale à busca por redução de problemas. Se D ou E então B.. onde os nodos da árvore de pesquisa em cinza são os problemas primitivos. No caso de regras é a direção como é feito o encadeamento das regras: o Encadeamento progressivo (encadeamento para frente. Figura 29 .A. Estratégia de Controle É composto por vários elementos: þ þ Modo de seleção de “peças” de conhecimento (regras. “forward”. Os números associados aos arcos da árvore de pesquisa correspondem à aplicação das regras da base de conhecimento. ”data -driven”.. 4) D. Se D ou E então B. F. Modus Ponens A. Se D ou E então B.. o Encadeamento regressivo (encadeamento para trás. nodos. F. comparando-se o lado esquerdo das regras (condições). A Figura 29 mostra um exemplo de encadeamento progressivo. A → B. talvez será no decorrer da pesquisa. .. Árvore de Pesquisa Se B e C então A.é feito através de casamento de padrões. . Obs. ”bottom -up”) As regras da base de conhecimento são selecionadas com base no conhecimento existente (fatos da base de conhecimento. .. e ativadas para gerar novos objetivos até encontrar a solução. No início a regra 1 não é aplicável.

ÿ ÿ ÿ Estratégia de Pesquisa .Exemplo de encadeamento regressivo. − comprovar hipóteses buscando indícios. Árvore de Pesquisa A B C D E ? F G ? Obs. A escolha da direção do raciocínio depende de vários aspectos: o quantidade de fatos iniciais x quantidade de conclusões alternativas o quantidade média de regras elegíveis a cada ciclo o necessidade de processamento interativo o necessidade de justificar o resultado o natureza do problema: − deduzir conseqüências a partir de fatos. Se D ou E então B. F. D.é o conhecimento do especialista de como deve ser utilizado o conhecimento. 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 .: o usuário pode ser tratado como uma extensão do Banco de Conhecimento. Figura 30 . o heurística. conforme a tabela verdade abaixo.identifica regras que diminuem a diferença entre o conhecimento atual e o objetivo. o em extensão. Utilização de Meta-conhecimento . Métodos de tratamento de Conhecimento Incompleto O tratamento de conhecimento incompleto pode ser feito com a introdução da noção de valores “default” e com operações lógicas com o desconhecido. influindo no modo como o conhecimento deve ser tratado em alguma parte do raciocínio. Objetivo (problema inicial) A. Exemplo: ativação de um conjunto de regras e fatos específicos sob uma certa condição.pode ser: o em profundidade. Análise de diferença . Inteligência Artificial em Controle e Automação Álvaro Guarda 51 . Se F e G então C.Tabela verdade incluindo o valor desconhecido (D).Banco de Conhecimento Se B e C então A.

5. FC(40). Fator de Certeza 100 80 60 30 20 0 -20 -40 -60 -80 -100 Significado Definitivamente certo Quase Certo Provável Há evidências Ignorado Há evidências contra Provavelmente não Quase certo que não Definitivamente não Figura 32 . Alguns Exemplos de Sistemas Especialistas Álvaro Guarda Inteligência Artificial em Controle e Automação 52 .abaixo são apresentadas três formas de cálculo com um exemplo na figura Figura 33. 3. A ou D então B FC(60).3. A forma clássica de implementação é feita pela quantificação do grau de certeza do conhecimento. as diferentes formas de tratar a situação apresentam uma grande variação. 3. FC(60). Se Se Se B B B A então B FC(80). 6. a) FC(conclusão) = max(FCs das conclusões das regras) b) FC(conclusão) = média(FCs das conclusões das regras) c) FC(conclusão) = x + ((100 – x) * y / 100) se ambos (x e y) são positivos (técnicas probabilísticas) Banco de Conhecimento 1.Métodos de tratamento da Incerteza O tratamento da incerteza lida com o raciocínio inexato e pode ser feito através da utilização de valores intermediários entre os valores verdadeiro e falso.Escala do grau de certeza do conhecimento no MYCYN Forma de Inferência   Fator de certeza (FC) da conclusão 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”)   Várias regras inferem a mesma conclusão . 6. conforme o exemplo apresentado na Figura 32. 4. FC(30). Resultado do cálculo do FC das Conclusões Regra 1. 2. Figura 33 . A e C então B FC(70).Exemplo de cálculo quando várias regras inferem a mesma conclusão. 2. FC(B) 48 21 36 Formas de tratar a situação Forma a) Max b) Média c) Probabilidade FC(B) 48 35 74 Observação Como pode ser observado.

o número -4 indica que a ausência de evidência é fortemente desencorajadora para a conclusão. e continuam fazendo. A principio era essencialmente um projeto acadêmico. criado em 1978. depois chamado XCON. No PROSPECTOR. Ele criava regras para serem usadas pelo DENDRAL. A primeira indica até que ponto a presença da evidência descrita na condição da regra sugere a validade da conclusão da regra.Os sistemas especialistas representam uma área onde a IA conseguiu bons resultados. No exemplo anterior. XCON ou R1 Enquanto o MYCIN influenciava bastante o desenvolvimento de sistemas especialistas na área acadêmica. despertou mais o interesse no mundo comercial. ele ilustra uma abordagem bastante diferente para sistemas especialistas (manipulação de probabilidades).-4) há mineralização e textura favoráveis ao estágio propilítico. O META-DENDRAL era capaz de induzir suas regras com base em um conjunto de dados sobre espectrometria de massa: desse modo. o número 2 indica que a presença da evidência é suavemente encorajadora. Ferramentas de Desenvolvimento de Sistemas Especialistas Inteligência Artificial em Controle e Automação Álvaro Guarda 53 . E o número de dispositivos que cada barramento massbus deve suportar é conhecido. 6. ele conseguia identificar as estruturas moleculares com precisão bastante alta. cada regra contém duas estimativas de confiança. a partir de 1972. E o tipo de cabo necessário para conectar o drive de disco ao dispositivo anteriormente no barramento massbus é conhecido Então: atribua o drive ao barramento massbus DENDRAL O META-DENDRAL. E há um drive de disco de porta única que ainda não foi atribuído a um barramento massbus. Na regra do PROSPECTOR mencionada. depois ele usava o encadeamento para frente (forward) para raciocinar sobre o regime de tratamento. Alguns sistemas fizeram. que variam de -5 a 5. até que ponto a falta da evidência indica que a conclusão não é válida. muito sucesso comercialmente. e suas precondições são usadas para estabelecer mais sub-objetivos. Suas regras são do tipo: Se: o contexto mais atual é a distribuição de dispositivos barramento massbus. E não há nenhum drive de disco de porta única sem designação. até mesmo os melhores especialistas disponíveis (geólogos principalmente) não executam essa tarefa com um alto grau de certeza. O MYCIN tenta atingir seu projeto de recomendar uma terapia para um determinado paciente encontrando primeiro a causa da doença do paciente. ou em outras palavras. ele procura regras cujos lados direitos sugiram doenças. As regras no PROSPECTOR são do tipo Se: magnetita ou pinta em forma disseminada ou em veios está presente Então: (2. A segunda estimativa de confiança mede até que ponto a evidência é necessária para a validade da conclusão. cuja tarefa era determinar a estrutura de compostos químicos complexos. um outro sistema clássico. É um sistema digno de ser mencionado pelas seguintes razões: primeiro. o Ri. Trata-se de um sistema que configura os sistemas DEC VAX. foi o primeiro programa a usar técnicas de aprendizagem para construir automaticamente regras para um sistema especialista. O MYCIN usa o encadeamento para trás (backward) para descobrir que organismos estavam presentes no sangue. mas influenciou enormemente a maioria dos sistemas especialistas que estavam por vir. Foi criado inicialmente para diagnosticar e sugerir tratamento para doenças no sangue e desenvolvido na Universidade de Stanford. E há um barramento massbus ao qual foi atribuído pelo menos um drive de disco e que deve suportar drives adicionais. ele se propõe a resolver problemas de extrema dificuldade. resolvendo de maneira bastante satisfatória 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. Para atingir objetivos de nível mais alto do diagnóstico.4. PROSPECTOR O PROSPECTOR é um sistema especialista que dá conselhos sobre a exploração de minerais. Depois ele usa os lados esquerdos dessas regras (as precondições) para definir sub-objetivos cujos êxitos permitirão que as regras sejam invocadas. Foi criado no final da década de 70 pela SRI International. Esses sub-objetivos são novamente casados com as regras. segundo.

em geral em E/SE. Mas. e esse acesso precisa ser controlado como em outros sistemas. Em particular. sistemas de manutenção da verdade e uma série de outros mecanismos de raciocínio. Então. cada sistema especialista era criado a partir do nada.Inicialmente. Art FERRAMENTAS Emycin. foram acrescentadas ferramentas para a aquisição de conhecimento. assim são fáceis de utilizar e permitem uma grande velocidade de desenvolvimento. Eles em geral estão embutidos em programas aplicativos maiores. que servem de base para muitos dos sistemas especialistas que estão sendo desenvolvidos correntemente. FLEXIBILIDADE AJUSTE LINGUAGENS DE ALTO NÍVEL Pascal Lisp Prolog Interlisp AMBIENTES OPS5 Kee. derivado do MYCIN. As linguagens de alto nível são orientadas para a manipulação simbólica. facilitar a integração dos sistemas especialistas com outros tipos de programas. uma das características importantes que uma ferramenta precisa ter é uma interface entre o sistema especialista. entretanto exige grande experiência em computação.Software para o desenvolvimento de SE Inteligência Artificial em Controle e Automação Álvaro Guarda 54 . era possível separar o interpretador do conhecimento específico do domínio da aplicação e assim criar uni sistema que podia ser usado para elaborar novos sistemas especialistas através da adição de novos conhecimentos. S1. Mas. raciocínio e explicações. regras) combinadas com um interpretador dessas representações. No início. escrita com a ferramenta e que seja fácil de usar. que usam praticamente técnicas de programação convencional. correspondentes ao novo domínio do problema. Os ambientes são um meio termo entre as linguagens de alto nível e as ferramentas. Elas tipicamente suportam regras. Eles precisavam. A Figura 34 classifica os diferentes software que podem ser utilizados no desenvolvimento de SE. permitindo que o pessoal envolvido se concentre na montagem da base de conhecimento. quadros. e oferecem código testado e depurado para implementar coisas úteis na construção de SE. As primeiras ferramentas de sistemas especialistas ofereciam mecanismos para a representação do conhecimento. a representação do conhecimento e o raciocínio são muito mais flexíveis do que nos primeiros sistemas especialistas criados. Lops. um exemplo de ferramenta que teve grande influência é o EMYCIN (Empty MYCIN). depois de vários sistemas terem sido desenvolvidos. devido ao fato de os sistemas serem construídos como um conjunto de representações declarativas (em sua maioria. Os interpretadores resultantes são chamados de shell (ferramenta). acessar bancos de dados de corporações. e um ambiente de programação maior e provavelmente mais convencional. dando flexibilidade e permitindo ajustar o SE às particularidades de cada domínio de problemas. por exemplo. As ferramentas já possuem uma forma de representação de conhecimento e uma máquina de inferência bem definidos. Com essas ferramentas. Mais tarde. com o aumento das experiências com esses sistemas para solucionar problemas do mundo real. M1 FACILIDADE VELOCIDADE DE DESENVOLVIMENTO Figura 34 . ficou claro que as ferramentas dos sistemas especialistas precisavam fazer alguma coisa a mais. ficou claro que esses sistemas tinham muito em comum. Existem atualmente vários novas ferramentas comercialmente disponíveis.

Aquisição de Conhecimento Como são construídos os sistemas especialistas? Tipicamente. Certamente é impossível apresentar provas formais de correção para sistemas especialistas. porque não sabemos como quantificar o uso do conhecimento. ele precisa ser iterativamente refinado até aproximar-se do nível de desempenho de um especialista. Álvaro Guarda Inteligência Artificial em Controle e Automação 55 . ¡ Esses sistemas derivam sua potencialidade de uma grande quantidade de conhecimento especifico do domínio. suponha que cometamos um erro na entrada de dados para um sistema especialista médico e que descrevamos um paciente com 130 anos e 20 quilos. sobre o qual sistemas especialistas específicos podem ser criados. ¡ Manutenção da consistência da base de conhecimento. a aquisição ainda continua sendo um dos maiores obstáculos à aplicação da tecnologia dos sistemas especialistas a novos domínios. Por exemplo. A maioria dos sistemas não seria capaz de adivinhar que podemos ter invertido os dois campos. e não de uma única técnica poderosa. Isto contrasta com o conhecimento amplo e de difícil definição que chamamos de senso comum. portanto vale a pena procurar maneiras mais automatizadas de construir bases de conhecimento especialistas. Este processo é caro e lento.5. Alguns sistemas representam uma tentativa de remediar esse problema fornecendo um substrato de conhecimentos de senso comum. ¡ A escolha da estrutura de controle para um determinado sistema depende das características especificas do sistema. ¡ Garantia de completeza da base de conhecimento. ¡ É possível extrair partes não-especificas do domínio. eles não podem contar com conhecimentos mais genéricos quando a necessidade surge. muito progresso foi feito na construção de tais programas. através de muitas interações entre o especialista e o sistema. ¡ Validação: Medir o desempenho de um sistema especialista é difícil. um engenheiro do conhecimento entrevista um especialista no domínio da aplicação para tentar extrair o conhecimento especialista. E mais fácil criar sistemas especialistas do que sistemas com senso comum. ¡ Os sistemas bem-sucedidos têm muito conhecimento bem-definido sobre uma determinada área. 6. ¡ A transferência de conhecimento ocorre gradualmente. Problemas Alguns dos principais problemas enfrentados pelos sistemas especialistas atuais são: ¡ Fragilidade: Como os sistemas especialistas só têm acesso a conhecimentos altamente específicos do domínio. ¡ Aquisição de Conhecimento Apesar do desenvolvimento de ferramentas. o MYCIN participou de um painel de especialistas para avaliar dez casos selecionados de meningite. dificultando ainda mais a tarefa de lidar com a sua fragilidade. já que os valores não são muito plausíveis. quando começaram os trabalhos sobre os sistemas que hoje conhecemos como especialistas. e usá-las como ferramentas para a criação de novos sistemas e novos domínios. de sistemas especialistas existentes. ¡ A quantidade de conhecimento exigida depende da tarefa. Depois que o sistema inicial estiver pronto.6. Ela pode variar de 40 regras a milhares delas. ¡ Um sistema especialista em geral é construído com a ajuda de um ou mais especialistas. há muitos programas que interagem com os especialistas dos domínios para extrair conhecimento especializado com eficiência. As experiências obtidas com esses esforços sugerem as seguintes conclusões.6. Estes programas oferecem suporte às seguintes atividades: ¡ Inserção de conhecimento. O especialista nunca fornece de pronto o conhecimento correto ou completo. obtendo resultados melhores do que qualquer um de seus concorrentes humanos. 6. Embora ainda não exista nenhum sistema de aquisição de conhecimento totalmente automatizado. Uma coisa que podemos fazer é comparar esses sistemas com especialistas humanos em problemas do mundo real Por exemplo. que é então traduzido em regras. Eles normalmente não conseguem raciocinar sobre seu próprio escopo e restrições.7. que precisam estar dispostos a transferirem o seu conhecimento para o sistema. Conclusões Desde a metade da década de 60. ¡ Falta de Meta-conhecimento Os sistemas especialistas não têm conhecimentos muito sofisticados sobre sua própria operação.

¢ Misto O sistema é desenvolvido de forma estruturada. Engenheiro de Conhecimento.2. A Engenharia de Conhecimento é uma tarefa artesanal. ¢ Estruturado Projeto planejado e realizado em etapas que partindo das especificações chega diretamente à versão operacional do sistema. Atividades em um Sistema com IA 5 Integração de Sistemas Plano de Treinamento e Reorganização 8 Análise do Hardware Interface com Usuário Entrada do Usuário 1 Integração de Sistemas Necessidades de Hardware Pedido ao Fabricante 7.7. ¢ Metodologias de Desenvolvimento Prototipação Construção incremental de protótipos do sistema.DFD nível o do ciclo de vida de um projeto estruturado . pois os métodos utilizados pelos especialistas são particulares e. O objetivo da Engenharia de Conhecimento é desenvolver sistemas de IA baseados em conhecimento através da modelagem dos processos cognitivos para resolução de problemas utilizados pelos especialistas em algum domínio. até que se torne funcional. porém alguns módulos ou funções são construídos utilizando prototipação. Os profissionais envolvidos são Especialista. ¢ ¢ ¢ Engenharia de Conhecimento 7. as atividades dependem do tipo e do domínio do problema.1. Programador. 6 Implementação Estruturada Configuração Usuário Estudo / Viabilidade Projeto de Consolidação 2 4 Análise Projeto Estruturada Especificação Estruturado Estruturada Plano de Testes BD Lógico Módulos Estruturados BD Físico 7 Teste de Aceitação 3 Projeto da Base Dados Sistema de Produção Figura 35 .

DFD nível o do ciclo de vida de um projeto com IA Objetivos adicionais por fase 1.5 Integração de Sistemas Plano de Treinamento e Reorganização 8 Análise do Hardware Pedido ao Fabricante Interface com Usuário Entrada do Usuário 1 Integração de Sistemas Necessidades de Hardware 6 Implementação Estruturada Configuração Usuário Estudo de Viabilidade Projeto de Consolidação Especificação 2 4 Estruturada Análise Projeto Estruturada Estruturado Especificação IA Módulos Estruturados BD Físico Plano de Testes 7 Teste de Aceitação Especificação BC lógica BD Lógico Módulo IA 3 Projeto da Base Dados 11 Projeto IA 12 Implement. Iniciar a definição da Base de Conhecimento (viabilidade). Figura 36 . £ £ £ £ £ Inteligência Artificial em Controle e Automação Álvaro Guarda 57 . Definir a abrangência e resultados. Propor estratégias de curto e longo prazo para a integração da tecnologia de IA. IA Sistema de Produção Projeto IA Especificação BC física 10 Projeto da BC Base de Conheciment o 9 Aquisição do Conhecim. Levantamento Selecionar domínios apropriados para aplicações da IA. Analisar a relação custo / benefício da aplicação ao domínio.

− Formas de Inferência. ¤ 7. o que implica fazer diversas entrevistas com os especialistas para identificar como eles trabalham ou raciocinam para resolver os problemas. ¤ ¤ ¤ 5. ambiente ou ferramenta). Identificar um problema e analisar as suas características. 2.2. Esta etapa é a mais trabalhosa e demorada. Implementação Codificação do conhecimento de acordo com o método da ferramenta. Análise Estruturada Elaborar um conjunto de DFDs com descrições narrativas dos processos (tarefas do especialista) e um dicionário de dados.3. pois é mais fácil identificar um problema que seja adequado a uma ferramenta previamente selecionada do que o contrário. − Volume de alternativas de solução. etc. Exige estudar e levantar o conhecimento que será utilizado pelo SE. − Forma de Representação do Conhecimento: regras. tratamento de dúvidas. Especificar os requerimentos de desempenho. Aquisição do Conhecimento 7. − Descrição do sistema. objetos. Selecionar um instrumento. Teste de Aceitação 8. Projetar o sistema. 3. As principais características a serem avaliadas são: − Tempo de solução. Especificar os requerimentos de interface com o usuário. os aspectos são: − Paradigma de consulta . No caso de uma ferramenta. Inteligência Artificial em Controle e Automação Álvaro Guarda 58 . 1. qualidade. Definir a interface com o usuário. É importante observar que na construção de um SE pequeno freqüentemente os passos 1 e 2 são invertidos. Projeto do Banco de Conhecimento Definir a forma de representar o conhecimento. ¤ 4. Implica em comprometer-se implicitamente com vários aspectos relacionados ao desenvolvimento de um SE. etc. Integração de Sistemas 6. − Tabelas. entretanto abaixo são enumerados as etapas com alguns detalhes do processo de construção de um SE pequeno. Etapas na Construção de um pequeno SE Ainda não existe uma metodologia consolidada para a construção de SE.corresponde ao tipo de problema que será solucionado. − Interface com o usuário: tipo. − Tipo de comunicação. − Tipo de conhecimento que o sistema deverá incluir. sendo os principais: diagnóstico / prescrição. − Diagramas de fluxo de consulta. Análise do Hardware 9. Escolher o instrumento (linguagem. ¤ ¤ ¤ 3. planejamento e projeto. Projeto Estruturado Definir a forma de raciocínio.

verificar e revisar o sistema até cumprir o seu papel. Segundo Tosti e Ball (em “A behavioral approach to instructional design and media selection”). O problema que será utilizado no exemplo é a seleção de meios instrucionais adequados para diferentes tipos de treinamento. Assim. 6. − Incluir ou alterar o tratamento de incerteza. considerar como estes aspectos se relacionam com as características dos meios e indicar um ou mais meios instrucionais que resolvam o problema. O diagrama facilita a elaboração das tabelas e a construção da base de conhecimento. 1. Selecionar um instrumento. como “Por que?” ou indicar dúvida (incerteza). . Desenvolver um protótipo. permitindo a definição de fatores de certeza. Exemplo de desenvolvimento de um protótipo de SE: Este exemplo foi desenvolvido até a quanta etapa. − Verificar fazendo algumas consultas. Além de entrar com situações reais para verificar se as soluções apresentadas pelo sistema são válidas. permitindo que o engenheiro de conhecimento se concentre na aplicação. A forma de representação do conhecimento é baseada em regras.). Para problemas com um grau de complexidade grande. As características deste problema são: − Tempo de solução: até 30 minutos. O instrumento selecionado é o SINTA. O problema é adequado à ferramenta que foi selecionada. Expandir. entretanto permite que cada pergunta seja alterada. . portanto o protótipo apresenta várias deficiências que seriam corrigidas no decorrer da quinta etapa. Ao final são recomendados de um a três meios eficazes respeitando o custo. o que exige conhecimento da sintaxe da linguagem de representação de conhecimento. Manter e atualizar o sistema. O paradigma de consulta do Sinta é diagnóstico / prescrição. Depois. é necessário entrar com valores inválidos e utilizar várias alternativas de resposta. − Incluir ou refinar os mecanismos de ajuda ou explicação. pois um programa de treinamento ideal procura fazer com que se pratique as atividades previstas na tarefa. o Sinta não poderia ser utilizado. o especialista começa perguntando sobre a tarefa que os treinandos cumprirão após o treinamento. 5. Esta atividade é importante porque serve para validar empiricamente o SE. − Incluir novas “peças” de conhecimento (regras. sobre como simular a execução da tarefa. − Incluir o tratamento de conhecimento incompleto. O SE terá como objetivo aconselhar um cliente a respeito da seleção de meios instrucionais para um determinado treinamento. é necessário discutir os aspectos do problema de treinamento.. quando é necessário consultar o usuário sobre o valor de uma variável. − Volume de alternativas de solução: poucas alternativas. sendo que este paradigma pode ser utilizado na solução de uma gama bastante grande de problemas. Projetar o sistema. é necessário estudar o assunto através de livros especializados e reunir-se com especialistas na área de treinamento para determinar os principais atributos da seleção de meios instrucionais. − Tipo de conhecimento: o especialista utiliza regras e cálculos simples.4. A inferência é feita através de encadeamento regressivo das regras. 2. − Tipo de comunicação: o especialista apresenta uma proposta verbalmente ou por escrito. Para elaborar este diagrama é necessário entender como o especialista trabalha e identificar quais são e a ordem das perguntas que ele faz ao cliente para resolver o problema. 3. o engenheiro de conhecimento pode incluir uma explicação não padrão. uma ferramenta de desenvolvimento de SE bastante fácil de ser utilizada. A 0 apresenta um diagrama do fluxo de consulta sobre meios instrucionais. No nosso caso. − Criar o banco de conhecimento. A interface possui também tratamento de dúvidas através de um mecanismo de explicação. Inteligência Artificial em Controle e Automação Álvaro Guarda 59 . da ordem de dezenas de possibilidades. Entretanto. Identificar um problema e analisar as suas características. A interface com o usuário tem uma forma padrão de pergunta. A explicação padrão é a apresentação da linha de raciocínio utilizada que exigiu a consulta ao usuário. A seguir são considerados os aspectos instrucionais e as restrições orçamentárias.

Tarefa Como simular a tarefa Considerações instrucionais Restrições orçamentárias 1 a 3 meios eficazes Figura 37 Fluxo de Consulta sobre meios instrucionais Inteligência Artificial em Controle e Automação Álvaro Guarda 60 . através da multiplicação dos números de alternativas (respostas) de cada fator: 4 x 2 x 6 x 2 x 4 x 3 = 1152. Se o especialista utilizar apenas estes fatores. A tabela da Figura 38 apresenta os principais fatores que o especialista leva em conta para decidir quais meios são recomendados.As tabelas servem para organizar o conhecimento que vai sendo levantado junto às fontes utilizadas. A Figura 39 faz uma análise levantando algumas das possíveis relações entre as ponderações apresentadas na Figura 38 e as recomendações que o especialista faria. é possível identificar quantas situações diferentes existem.

00) o Médio (até R$ 50.Análise matricial de escolha do meio instrucional Inteligência Artificial em Controle e Automação Álvaro Guarda 61 .000.Ponderações do modelo Tosti-Ball (simplificado) N° Situação do Duração do Resposta Realimentação Estímulo Estímulo Apropriada Instrucional 1 verbal 2 verbal 3 verbal 4 verbal simbólica pictória 5 verbal breve persistente breve breve breve breve breve persistente breve breve oculta seletiva construída oculta oculta oculta oral afetiva oral afetiva motora oculta todas não sim não não não sim sim não não sim Modificação da Apresentação nenhuma resposta módulo curso curso módulo módulo módulo módulo curso nenhuma resposta Orçamento de Treinamento pequeno pequeno médio médio médio pequeno médio médio grande grande pequeno médio grande Recomendações livro estudo pessoal aula aula com dispositivos videocassete prática com realimentação verbal prática com realimentação por vídeo Laboratório com experiências áudio cassete tutor humano pictória 6 verbal 7 verbal 8 ambiental 9 verbal 10 simbólica verbal Figura 39 .00) o Grande (mais de R$ 10.00) Figura 38 .000.de trabalho ou tarefa ¥ Ponderações ¥ de ensino Realimentação Instrucional o Sim o Não Situação do Estímulo o Ambiental o Pictória o Simbólica o Verbal ¥ ¥ Duração do Estimulo o Breve o Persistente Modificação da Apresentação o por Resposta o por Módulo o por Curso o Nenhuma ¥ ¥ Resposta Apropriada o Oculta o Seletiva o Construída o Oral o Motora o Afetiva Orçamento de Treinamento o Pequeno (até R$ 10.000.

. ambiental seletiva construída verbal atividade motora afetiva Figura 41 . Inteligência Artificial em Controle e Automação Álvaro Guarda 62 ....Tabela de detalhamento da resposta apropriada. ouvir ler observar meditar imaginar pensar múltipla escolha associação escrever desenhar datilografar dizer algo conversar falar cantar edificar montar mover construir organizar dançar emocionar-se simpatizar sentir mostrar afeição compreensivo manter a calma A situação de estímulo é .quando envolve . oculta quando envolve ..Tabela de detalhamento da situação do estímulo... A resposta apropriada é .. modelo físico estrutura objeto máquina instrumento pictória figura fotografia diagrama ilustração vista simbólica gráfico esquema números fórmulas verbal ouvir conversa diálogo leitura texto Figura 40 .

Recomendação é aula SE situação do estímulo = verbal E duração do estímulo = breve E resposta apropriada = oculta E realimentação instrucional = não E modificação da apresentação = por curso E orçamento de treinamento = pequeno OU orçamento de treinamento = médio ENTÃO recomendação = aula Regra 4 . O Sinta exige que se defina as variáveis e os respectivos domínios antes de entrar com as regras. O objetivo do SE é estabelecer uma ou mais recomendações. entretanto.Recomendação é aula com dispositivos SE situação do estímulo = verbal OU situação do estímulo = simbólica OU situação do estímulo = pictória E duração do estímulo = breve E resposta apropriada = oculta E realimentação instrucional = não E modificação da apresentação = por curso Inteligência Artificial em Controle e Automação Álvaro Guarda 63 . o Sinta utiliza como padrão o inverso: o operador de disjunção possui maior precedência que o operador de conjunção.Recomendação é livro SE situação do estímulo = verbal E duração do estímulo = persistente E resposta apropriada = oculta E realimentação instrucional = não E modificação da apresentação = nenhuma E orçamento de treinamento = pequeno OU orçamento de treinamento = médio ENTÃO recomendação = livro Regra 2 . como listado abaixo. Na lógica o operador de conjunção (“E”) possui maior precedência que o operador de disjunção (“OU”). então criou-se uma variável chamada “Recomendação” cujo domínio são as possíveis recomendações dos especialistas. Esta etapa envolve criar o banco de conhecimento e verificar fazendo algumas consultas. inicialmente foi utiliza a tabela da Figura 39. REGRAS Regra 1 . resultando nas regras de 1 a 10. Desenvolver um protótipo.4.Recomendação é estudo pessoal SE situação do estímulo = verbal E duração do estímulo = persistente E resposta apropriada = seletiva E resposta apropriada = construída E realimentação instrucional = sim E modificação da apresentação = por resposta OU modificação da apresentação = por módulo E orçamento de treinamento = pequeno ENTÃO recomendação = estudo pessoal Regra 3 . conforme a tabela da Figura 39. para facilitar a formação das regras. As tabelas da Figura 40 e da Figura 41 foram utilizadas para criar as demais regras: de 11 a 20. Para se criar as regras.

E orçamento de treinamento = médio ENTÃO recomendação = aula com dispositivos Regra 5 .Recomendação é prática com realimentação por vídeo SE situação do estímulo = verbal E duração do estímulo = breve E resposta apropriada = verbal OU resposta apropriada = afetiva E realimentação instrucional = sim E modificação da apresentação = por módulo E orçamento de treinamento = médio OU orçamento de treinamento = grande ENTÃO recomendação = prática com realimentação por vídeo Regra 8 .Recomendação é tutor humano Inteligência Artificial em Controle e Automação Álvaro Guarda 64 .Recomendação é laboratório com experiências SE situação do estímulo = ambiental E duração do estímulo = persistente E resposta apropriada = motora E realimentação instrucional = não E modificação da apresentação = por módulo OU modificação da apresentação = por curso E orçamento de treinamento = grande ENTÃO recomendação = laboratório com experiências Regra 9 .Recomendação é áudio cassete SE situação do estímulo = verbal E duração do estímulo = breve E resposta apropriada = oculta E realimentação instrucional = não E modificação da apresentação = nenhuma E orçamento de treinamento = pequeno ENTÃO recomendação = audio cassete Regra 10 .Recomendação é prática com realimentação verbal SE situação do estímulo = verbal E duração do estímulo = breve E resposta apropriada = verbal OU resposta apropriada = afetiva E realimentação instrucional = sim E modificação da apresentação = por módulo E orçamento de treinamento = pequeno OU orçamento de treinamento = médio ENTÃO recomendação = prática com realimentação verbal Regra 7 .Recomendação é videocassete SE situação do estímulo = verbal OU situação do estímulo = pictória E duração do estímulo = breve E resposta apropriada = oculta E realimentação instrucional = não E modificação da apresentação = por módulo E orçamento de treinamento = médio ENTÃO recomendação = videocassete Regra 6 .

Situação de estímulo é simbólica SE estímulo = gráfico OU estímulo = esquema OU estímulo = números OU estímulo = fórmulas OU estímulo = simbólica ENTÃO situação do estímulo = simbólica Regra 14 .Situação de estímulo é ambiental SE estímulo = modelo físico OU estímulo = estrutura OU estímulo = objeto OU estímulo = máquina OU estímulo = instrumento OU estímulo = ambiental ENTÃO situação do estímulo = ambiental Regra 12 .Resposta apropriada é oculta SE resposta = ouvir OU resposta = ler OU resposta = observar OU resposta = meditar Inteligência Artificial em Controle e Automação Álvaro Guarda 65 .SE situação do estímulo = simbólica OU situação do estímulo = verbal E duração do estímulo = breve E resposta apropriada = afetiva OU resposta apropriada = construída OU resposta apropriada = motora OU resposta apropriada = oculta OU resposta apropriada = seletiva OU resposta apropriada = verbal E realimentação instrucional = sim OU modificação da apresentação = por resposta E orçamento de treinamento = médio OU orçamento de treinamento = grande ENTÃO recomendação = tutor humano Regra 11 .Situação de estímulo é pictória SE estímulo = figura OU estímulo = fotografia OU estímulo = diagrama OU estímulo = ilustração OU estímulo = vista OU estímulo = pictória ENTÃO situação do estímulo = pictória Regra 13 .Situação de estímulo é verbal SE estímulo = ouvir OU estímulo = conversa OU estímulo = diálogo OU estímulo = leitura OU estímulo = texto OU estímulo = verbal ENTÃO situação do estímulo = verbal Regra 15 .

OU resposta = imaginar OU resposta = pensar OU resposta = oculta ENTÃO resposta apropriada = oculta Regra 16 .Resposta apropriada é construída SE resposta = escrever OU resposta = desenhar OU resposta = datilografar ENTÃO resposta apropriada = construída Regra 18 .Resposta apropriada é verbal SE resposta = dizer algo OU resposta = conversar OU resposta = falar OU resposta = cantar OU resposta = verbal ENTÃO 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 = dançar OU resposta = atividade motora ENTÃO resposta apropriada = motora Regra 20 .Resposta apropriada é afetiva SE resposta = emocionar-se OU resposta = simpatizar OU resposta = sentir OU resposta = mostrar aveição OU resposta = comprensivo OU resposta = calma ENTÃO resposta apropriada = afetiva PERGUNTAS Variável:duração do estímulo Pergunta:"Qual é a duração do estímulo?" Variável:estímulo Pergunta:"Qual é a situação do estímulo que a pessoa receberá?" Variável:modificação da apresentação Pergunta:"Quando é feita a modificação da apresentação (se houver) ?" Motivo:"Informar se o modo de apresentação do conteúdo do "curso é alterado e em que momento isto é feito.Resposta apropriada é seletiva SE resposta = múltipla escolha OU resposta = associação OU resposta = seletiva ENTÃO resposta apropriada = seletiva Regra 17 . " "Exemplo: se a apresentação do conteúdo deve ser Inteligência Artificial em Controle e Automação Álvaro Guarda 66 .

00 ""médio" se será gasto menos de R$ 1. Variável:orçamento de treinamento Pergunta:"Qual é o orçamento do treinamento?" Motivo:"Informe " ""pequeno" se será gasto menos de R$ 100. então escolha "a opção "por resposta".00 ""grande" se será gasto mais de R$ 1.000.00 Variável:realimentação instrucional Pergunta:"Existe realimentação instrucional?" Variável:resposta Pergunta:"Qual é o tipo de resposta que a pessoa deve fornecer?" Inteligência Artificial em Controle e Automação Álvaro Guarda 67 ."alterada conforme a resposta do aluno.000.

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->