Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE.

Slides:



Advertisements
Apresentações semelhantes
O Modelo de Gestão e o Processo de Gestão
Advertisements

Inteligência Artificial
Inteligência Artificial
Representação de Conhecimento na Máquina
Técnicas de Representação de Conhecimento
Professor Marcelo Rocha Contin
Sistemas Baseados em Agentes
Agentes Baseados em Regras de Produção
Agentes Baseados em Conhecimento
Agentes que raciocinam com base na lógica de primeira ordem (LPO)
Agentes Baseados em Conhecimento
Bem-vindos ao “Mundo do Wumpus”
Agentes Baseados em Lógica
Programação em lógica e lógica
A Assombrosa Caverna do Wumpus Versão Life Ioram Sette.
Agentes Cognitivos Adaptativos
Tipos de Regras Discussão geral
Sistemas Baseados em Regras de Produção
A maioria dos fenômenos psicológicos – como o pensamento, a motivação, as emoções, a aprendizagem, a memória, o conhecimento, o raciocínio, a percepção,
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Lógica de Programação.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Inteligência Artificial
Sistemas Inteligentes
MÓDULO 10 Planeamento Anual e Estratégico
INF 1771 – Inteligência Artificial
Agentes Baseados na Lógica Proposicional
Lógicas e Inferência para IA
Plano de Aula Arquiteturas de Agentes Baseados Em Lógica Reativas BDI
Agentes Baseados em Conhecimento
Agentes Cognitivos Adaptativos Aula: Sistemas Baseados em Regras de Produção Flávia Barros 1.
Agentes Cognitivos Autônomos
Sistemas Especialistas
Sistemas Inteligentes
Sistemas Inteligentes Sistemas Baseados em Regras de Produção
Agentes Cognitivos Autônomos
Sistemas Baseados em Conhecimento
André Luiz da Costa Carvalho
Planejamento de estratégias:
1 Sistemas Inteligentes Sistemas baseados em LPO Extrato de Aula resumida... Flávia Barros.
Experimento... Wumpus Ambientes Arquiteturas
Fábio de Oliveira Borges
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
PUCC 1 Tópicos em Sistemas Inteligentes. PUCC 2 Agenda - Aula 03 Buscas Agentes que Planejam.
Introdução a Programação em Lógica e Prolog Jacques Robin CIn-UFPE Aula I/II.
Inteligência Artificial I
Decidibilidade, Corretude, Completude, Consistência
Sistemas Inteligentes Aula: Agentes Baseados em Conhecimento Obs.: esta aula não foi totalmente baseada no livro- texto AIMA... Flávia Barros 1.
REVISÃO Prof. Mário Dantas
Inteligência Artificial: A Linguagem Prolog (Parte 1)
Page1 DAS-5341: Representação do Conhecimento e Raciocínio Prof. Eduardo Camponogara.
DIMAp/UFRN Modelos Baseados em Agentes Prof. André Campos Aula #6 AgentesHíbridos.
1 Agentes que raciocinam com base na lógica de primeira ordem Engajamentos, sintaxe e semântica da LPO Uso da LPO em agentes baseados em conhecimento Aplicação.
Sistemas Especialistas.
Célia Cruz | Renata Brunetti
O Modelo GOMS Fornece um modelo de Engenharia para a performance humana, capaz de produzir predições a priori ou em um estágio anterior ao desenvolvimento.
Agentes Baseados em Lógica
Sistemas de Aprendizagem
Sistemas Inteligentes Aula: Agentes Baseados em Lógica Flávia Barros Patrícia Tedesco 1.
Disciplina: Lógica de Programação
Tipos de Regras Definições Gerais Como representar vários tipos de conhecimento utilizando Regras de Produção? 1.
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
David Hume (1711–1776).
Gestão da Informação e do Conhecimento Aula 08 A administração da incerteza: as organizações como sistemas de tomadas de decisão Prof. Dalton Martins
O que é PROJETO EXECUTIVO
Sistemas de Produção Jacques Robin CIn-UFPE. Roteiro  Definição de um sistemas de produção  Regras de produção  Inferência com regras de produção 
Transcrição da apresentação:

Representação do Conhecimento em Lógica Clássica Jacques Robin CIn-UFPE

Roteiro  Revisão de Lógica proposicional e de 1a Ordem  Já vimos na aula de Prolog!  Tipologia dos conhecimentos  Representação das mudanças do ambiente  Dedução das localização  Conhecimento estratégico: objetivos e preferências

Qual tipo de conhecimento para qual tipo de agente?  Agente reativo puro:  Regras associando diretamente percepção com ação  see(glitter)  pick.  Agente reativo com estado interno  Regras associando indiretamente percepção com ação via construção e manutenção de um modelo do ambiente  Regras percepção  modelo  modelo  ex,  X,Y,T see(glitter,T)  loc(agent,X,Y,T)  loc(gold,X,Y,T).  Regras modelo  ação   X,Y,T loc(agent,X,Y,T)  loc(gold,X,Y,T)  pick(T).  Regras ação  modelo  modelo  ex,  T pick(T)  withGold(T+1).  Regras modelo  modelo   X,Y,T withGold(T)  loc(agent,X,Y,T)  loc(gold,X,Y,T).

Limitações do agente reativo  um agente ótimo deveria:  recuperar o ouro ou  determinar que é muito perigoso pegar o ouro e  em qualquer dos casos acima, voltar para (1,1) e sair da caverna.  Um agente reativo nunca sabe quando sair,  estar com o ouro e estar na caverna (1,1) não fazem parte da sua percepção (se pegou, esqueceu).  esses agentes podem entrar em laços infinitos.  Para ter essas informações, o agente precisa guardar uma representação do mundo.

Qual tipo de conhecimento para qual tipo de agente?  Agente deliberativo  Associação percepção-ação:  Mediada por modelo do ambiente e objetivo do agente  Pode envolver encadear regras para construir plano multi-passo necessário para atingir objetivo a partir de modelo  Novo tipos de regras:  Regras objetivo  modelo  ação  ex,  X,Y,T,N goal(loc(agent,X,Y,T+N),T)  N  5  loc(wumpus,X,Y-1,T)   safe(X-1,Y-1,T)   safe(X+1,Y-1,T)  hasArrows(T)  shoot(T).  Regras objetivo  modelo  objetivo  ex,  T,N,M goal(withGold(T+N),T)  withGold(T+1)  goal(loc(agent(1,1,T+M),T+1).

Tipos de conhecimento  Estático x Dinâmico  Do problema x Meta-conhecimento (controle, explicação, reuso)  Diagnóstico x Causal  Dedutivo x Terminológico  Intencional x Extensional  Síncrono x Diácrono  Certo x Incerto  Preciso x Vago  Declarativo x Procedimental  De senso comum x Especialista  Explicito x Implícito

Conhecimento estático x dinâmico  Conhecimento estático:  Hierarquia de conceitos (classes de fatos)  ex,  X, wumpus(X)  monstro(X).  Restrições de integridades  ex,  X,Y wumpus(X)  wumpus(Y)  X = Y.  Regras de dedução sobre o domínio  ex,  X,Y smelly(X,Y)  (loc(wumpus,X+1,Y)  loc(wumpus,X-1,Y)  loc(wumpus,X,Y+1)  loc(wumpus,X,Y-1).  Meta-regras para controle e explicação do raciocínio  Conhecimento dinâmico:  Fatos, i.e., proposições sobre instâncias de conceitos  ex, loc(wumpus,2,1)  loc(wumpus,1,2)  loc(wumpus,2,3) loc(wumpus,2,3). alive(wumpus,4).  alive(wumpus,7).

Conhecimento causal x diagnóstico  Conhecimento causal:  prevê resultados de ações e eventos  ex,  X,Y,T loc(agent,X,Y,T)  orientation(0,T)  forward(T)   loc(wall,X,Y+1)  loc(agent,X,Y+1,T+1).  Conhecimento diagnóstico:  forma hipóteses sobre causas de efeitos observados  ex,  X,Y,T smell(stench,X,Y,T)  smelly(X,Y).  X,Y smelly(X,Y)  (loc(wumpus,X+1,Y)  loc(wumpus,X-1,Y)  loc(wumpus,X,Y+1)  loc(wumpus,X,Y-1)).

Conhecimento terminológico x dedutivo  Conhecimento terminológico:  ex,  M, wumpus(M)  monster(M).  M,T monster(M)  alive(M,T)  dangerous(M,T).  Conhecimento dedutivo:  ex,  M,X,Y,T dangerous(M,T)  loc(M,X,Y,T)   safe(X,Y,T).  X,Y,T loc(agent,X,Y,T)  orientation(0,T)  forward(T)   loc(wall,X,Y+1)  loc(agent,X,Y+1,T+1).

Conhecimento intencional x extensional  Conhecimento intensional:  Fatos ou regras universalmente quantificados  ex,  X,Y X = 0  X = 5  Y = 0  Y = 5  loc(wall,X,Y).  Conhecimento extensional:  Instâncias de conceitos  ex, loc(wall,0,1). loc(wall,0,2). loc(wall,0,3). loc(wall,0,4). loc(wall,5,1). loc(wall,5,2). loc(wall,5,3). loc(wall,5,4). loc(wall,1,0). loc(wall,2,0). loc(wall,3,0). loc(wall,4,0). loc(wall,1,5). loc(wall,2,5). loc(wall,3,5). loc(wall,4,5).

Conhecimento síncrono x diácrono  Conhecimento diacrono:  Regras de previsão das propriedades do ambiente entre dois instantes T e T+1 devidas a ações ou eventos  ex,  X,Y,T loc(agent,X,Y,T)  orientation(0,T)  forward(T)   loc(wall,X,Y+1)  loc(agent,X,Y+1,T+1).  Conhecimento síncrono:  Regras de propagação das conseqüências não observáveis do ambiente a partir das observadas no mesmo instante T  ex,  M,X,Y,T dangerous(M,T)  loc(M,X,Y,T)   safe(X,Y,T).

Conhecimento certo x incerto  Conhecimento certo:  Epistemologicamente booleano  ex,  X,Y smelly(X,Y)   smelly(X+1,Y-1)   smelly(X-1,Y-1)  loc(wumpus,X,Y+1).  Conhecimento incerto:  Epistemologicamente probabilista:  ex,  X,Y smelly(X,Y,1)  (loc(wumpus,X+1,Y,0.25)  loc(wumpus,X-1,Y,0.25)  loc(wumpus,X,Y+1,0.25)  loc(wumpus,X,Y-1,0.25)).

Conhecimento explícito x implícito  Conhecimento explícito:  Sentenças simbólicas explicitamente armazenadas na base de conhecimento  Conhecimento implícito:  Axiomas que devem ser verificados para que a base de conhecimento reflete o ambiente modelado  Idealmente documentadas, no entanto muitas vezes presentes apenas na cabeça do engenheiro do conhecimento  Suposições permitindo codificação mais simples e concisa da base de conhecimento  Explicitar conhecimento implícito necessário para tornar BC facilmente extensível

Conhecimento explícito x implícito: exemplo de explicitação de conhecimento  A codificação see(glitter)  pick.  Deixa implícito que:  Existe um único agente no ambiente  See é uma percepção  Pick é uma ação  A visão do agente é limitada a caverna no qual se encontra  O ouro é o único objeto a brilhar e o único objeto que o agente pode pegar

Conhecimento explícito x implícito: exemplo de explicitação de conhecimento  Quando essas suposições não são mais verificadas, a codificação tem que tornar-se mais explícita, ex:   A,C,T,X,Y agent(A)  loc(C,[(X,Y)])  time(T)  in(A,C,T)  horizCoord(X)  verticCoord(Y)  percept(A,C,T,vision,glitter)   O physObj(O)  emit(O,glitter)  in(O,C,T).   O physObj(O)  emit(O,glitter)  ouro(O).   O ouro(O)  treasure(O).   A,C,T,X,Y,O agent(A)  loc(C,[(X,Y)])  time(T)  in(A,C,T)  horizCoord(X)  verticCoord(Y)  in(O,C,T)  treasure(O)  chooseAction(A,T+1,pick(O)).

Representando Mudanças no Mundo: abordagens  “Como representar as mudanças realmente?  O agente foi de (1,1) para (1,2)  “Apagar” da BC sentenças que já não são verdade  ruim: perdemos o conhecimento sobre o passado, o que impossibilita previsões de diferentes futuros.  Cada estado é representado por uma BC diferente:  ruim: pode explorar situações hipotéticas, porém não pode raciocinar sobre mais de uma situação ao mesmo tempo.  ex. “existiam buracos em (1,2) e (3,2)?”  Solução: Cálculo situacional  uma maneira de escrever mudanças no tempo em LPO.  representação de diferentes situações na mesma BC

Cálculo Situacional  O mundo consiste em uma seqüência de situações  situação N ===ação===> situação N+1  Predicados que mudam com o tempo têm um argumento de situação adicional  Ao invés de Em(Agente,local) teremos (Em(Agente,[1,1],S0)  Em(Agente,[1,2],S1))  Predicados que denotam propriedades que não mudam com o tempo  não necessitam de argumentos de situação  ex. no mundo do Wumpus:Parede(0,1) e Parede(1,0)  Para representar as mudanças no mundo: função Resultado  Resultado (ação,situação N) = situação N+1

Exemplo de cálculo situacional Result(Forward,S 0 ) = S 1 Result(Turn(Right),S 1 ) = S 2 Result(Forward,S 2 ) = S 3

 Descrição completa de como o mundo evolui uma coisa é verdade depois  [uma ação acabou de torná-la verdade  ela já era verdade e nenhuma ação a tornou falsa ]  Ex.  a,x,s  Segurando(x, Resultado(a,s))   (a = Pegar  Presente (x, s)  Portável(x))  (Segurando (x,s)  (a  Soltar)]  É necessário escrever uma axioma estado-sucessor para cada predicado que pode mudar seu valor no tempo. Axiomas estado-sucessor

 O agente precisa lembrar por onde andou e o que viu  para poder deduzir onde estão os buracos e o Wumpus,  para garantir uma exploração completa das cavernas  O agente precisa saber:  localização inicial = onde o agente está Em (Agente,[1,1],S0 )  orientação: a direção do agente (em graus) Orientação (Agente,S0 ) = 0  localização um passo à frente: função de locais e orientações  x,y PróximaLocalização ([x,y ],0) = [x+1,y ]  x,y PróximaLocalização ([x,y ],90) = [x,y+1 ]  x,y PróximaLocalização ([x,y ],180) = [x-1,y ]  x,y PróximaLocalização ([x,y ],270) = [x,y-1 ] Guardando localizações

 A partir desses axiomas, pode-se deduzir que quadrado está em frente ao agente “ag” que está na localização “l”:  ag,l,s Em (ag,l,s )  localizaçãoEmFrente (ag,s) = PróximaLocalização (l,Orientação (ag,s))  Podemos também definir adjacência:  l1,l2 Adjacente (l1,l2 )  d l1 = PróximaLocalização (l2,d )  E detalhes geográficos do mapa:  x,y Parede([x,y])  (x =0  x =5  y =0  y =5) Guardando localizações

 Resultado das ações sobre a localização do agente:  Axioma Estado-Sucessor: avançar é a única ação que muda a localização do agente (a menos que haja uma parede)  a,l,ag,s Em(ag,l,Resultado(a,s))  [(a = Avançar  l = localizaçãoEmFrente(ag,s)   Parede(l))  (Em(ag,l,s)  a  Avançar)]  Efeito das ações sobre a orientação do agente:  Axioma ES: girar é a única ação que muda a direção do agente  a,d,ag,s Orientação(ag,Resultado(a,s)) = d  [(a = Girar(Direita)  d = Mod(Orientação(ag,s) - 90, 360)  (a = Girar(Esquerda)  d = Mod(Orientação(ag,s) + 90, 360)  (Orientação(ag,s) = d   (a = Girar(Direita)  a = Girar(Esquerda))] Guardando localizações

 Agora que o agente sabe onde está, ele pode associar propriedades aos locais:  l,s Em (Agente,l,s)  Brisa(s)  Ventilado(l)  l,s Em (Agente,l,s)  Fedor(s)  Fedorento(l)  Sabendo isto o agente pode deduzir:  onde estão os buracos e o Wumpus, e  quais são as cavernas seguras (predicado OK).  Os predicados Ventilado e Fedorento não necessitam do argumento de situação Deduzindo Propriedades do Mundo

 As regras que definimos até agora não são modulares:  mudanças nas crenças do agente sobre algum aspecto do mundo requerem mudanças nas regras que lidam com outros aspectos que não mudaram.  Para tornar essas regras mais modulares, separamos fatos sobre ações de fatos sobre objetivos:  assim, o agente pode ser “reprogramado” mudando-se o seu objetivo.  Ações descrevem como alcançar resultados.  Objetivos descrevem a adequação (desirability) de estados resultado, não importando como foram alcançados.  Descrevemos a adequação das regras e deixamos que a máquina de inferência escolha a ação mais adequada. Modularidade das Regras

 Escala, em ordem decrescente de adequação:  ações podem ser: ótimas, boas, médias, arriscadas e mortais.  O agente escolhe a mais adequada  a,s Ótima(a,s)  Ação(a,s)  a,s Boa(a,s)  (  b Ótima(b,s))  Ação(a,s)  a,s Média(a,s)  (  b (Ótima(b,s)  Boa(b,s) ))  Ação(a,s)  a,s Arriscada(a,s)  (  b (Ótima(b,s)  Boa(b,s)  Média(a,s) ))  Ação(a,s)  Essas regras são gerais, podem ser usadas em situações diferentes:  uma ação arriscada na situação S0 (onde o Wumpus está vivo) pode ser ótima na situação S2, quando o Wumpus já está morto. Modularidade: Adequação das Regras

 sistema de ação-valor: Um sistema baseados em regras de adequação  Não se refere ao que a ação faz, mas a quão desejável ela é.  Prioridades do agente até encontrar o ouro:  ações ótimas: pegar o ouro quando ele é encontrado, e sair das cavernas.  ações boas: mover-se para uma caverna que está OK e ainda não foi visitada.  ações médias: mover-se para uma caverna que está OK e já foi visitada.  ações arriscadas:mover-se para uma caverna que não se sabe com certeza que não é mortal, mas também não é OK  ações mortais: mover-se para cavernas que sabidamente contêm buracos ou o Wumpus vivo. Sistema de Ação-Valor

 O conjunto de ações-valores é suficiente para prescrever uma boa estratégia de exploração inteligente das cavernas.  quando houver uma seqüência segura de ações, ele acha o ouro  Porém... isso é tudo o que um agente baseado em LPO pode fazer.  Depois de encontrar o ouro, a estratégia deve mudar...  novo objetivo: estar na caverna (1,1) e sair.  s Segurando(Ouro,s)  LocalObjetivo ([1,1],s)  A presença de um objetivo explícito permite que o agente encontre uma seqüência de ações que alcançam esse objetivo. Agentes Baseados em Objetivos

(1) Busca:  Usar Busca pela Melhor Escolha para encontrar um caminho até o objetivo.  Nem sempre é fácil traduzir conhecimento em um conjunto de operadores, e representar o problema (ambiente) em estados para poder aplicar o algoritmo. (2) Inferência:  idéia: escrever axiomas que perguntam à BC uma seqüência de ações que com certeza alcança o objetivo.  Porém: para um mundo mais complexo isto se torna muito caro.  como distinguir entre boas soluções e soluções mais dispendiosas (onde o agente anda “à toa” pelas cavernas)? Como encontrar seqüências de ações

(3) Planejamento:  envolve o uso de um sistema de raciocínio dedicado, projetado para raciocinar sobre ações e conseqüências para objetivos diferentes. ficar rico e feliz pegar o ouro ações e conseqüências sair das cavernas Agentes Baseados em Objetivos