A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Page1 DAS-5341: Representação do Conhecimento e Raciocínio Prof. Eduardo Camponogara.

Apresentações semelhantes


Apresentação em tema: "Page1 DAS-5341: Representação do Conhecimento e Raciocínio Prof. Eduardo Camponogara."— Transcrição da apresentação:

1 Page1 DAS-5341: Representação do Conhecimento e Raciocínio Prof. Eduardo Camponogara

2 Page2 Agenda Aqui estamos interessados em habilidades de raciocínio lógico em agentes –Um agente baseado em uma base de conhecimento e lógica começa com algum conhecimento do mundo e de suas próprias ações –O agente faz uso de dedução lógica para atualizar a descrição do mundo à medida que novas medições de sensores são recebidas, e para deduzir um curso de ação que atingirá o seu objetivo

3 Page3 Agentes com dedução lógica Nas próximas transparências, desenvolvemos o projeto básico de um agente baseado em conhecimento A abordagem base-de-conhecimento é uma forma poderosa de se construir o programa do agente –Agentes baseados em conhecimento são capazes de aceitar novas tarefas na forma de tarefas explícitas

4 Page4 Agente Ambiente Agente percepção ações ? Sensores Atuadores Como projetar isto?

5 Page5 Representação Interna: agente com metas Estado Ambiente Agente Sensores Qual é o estado do mundo Que ação devo tomar neste agora Atuadores Metas Como que o mundo evolui Quais são minhas ações Qual será o estado se eu tomar a ação A

6 Page6 Agente basedo em conhecimento O elemento central de um agente baseado em conhecimento é sua base de conhecimento (knowledge base, KB) ‏ –Informalmente, a base de conhecimento é um conjunto de representações de fatos sobre o mundo

7 Page7 Base de conhecimento Descrição do mundo Conhecimento sobre o estado do mundo Especificação explícitia do que o agente conhece

8 Page8 Base de conhecimento Informalmente, uma base de conhecimento é um conjunto de representações de fatos sobre o mundo –Cada representação individual é uma sentença –As sentenças são representadas em uma linguagem dita linguagem de representação do conhecimento Deve existir uma forma de adicionar novas sentenças à base, bem como executar buscas –TELL –ASK

9 Page9 Esqueleto de um agente baseado em conhecimento função KB-Agente(percepção) retorna ação estático: KB, uma base de conhecimento t, um contador que indica o tempo Tell(KB,constrói-sentença-percepção(percepção))‏ ação <- ASK(KB,constrói-pergunta-ação(t))‏ Tell(KB,constrói-sentença-ação(ação,t))‏ t <- t + 1 retorna ação

10 Page10 Esqueleto de um agente baseado em conhecimento constrói-sentença-percepção toma como entrada dados dos sensores e retorna uma sentença representando o “fato” que o agente pecebeu constrói-sentença-ação retorna uma sentença que pergunta qual ação será executada

11 Page11 Três níveis de descrição A base de conhecimento pode ser descrita em três níveis –Nível de conhecimento Mais abstrata Descreve um agente em termos do que ele sabe –Nível lógico Nível no qual o conhecimento é codificado em sentenças Exemplo: links(HercílioLuz,Florianópolis,SãoJosé) ‏

12 Page12 Três níveis de descrição A base de conhecimento pode ser descrita em três níveis –Nível de implementação O nível que executa na arquitetura do agente Sentenças tais como Links podem ser representadas na KB como listas de caracteres “links(HercílioLuz,Florianópolis,SãoJosé)”

13 Page13 Construindo agentes Abordagem declarativa –É possível construir um agente baseado em conhecimento dizendo o que ele precisa saber –O projetista adiciona sentenças que representam seu conhecimento sobre o ambiente Abordagem por aprendizado

14 Page14 O mundo de Wumpus Um ambiente simples que oferece desafios suficientes para ilustrar dedução lógica

15 Page15 O mundo de Wumpus Wumpus Agente Mau cheiro Vento Buraco Prêmio

16 Page16 O mundo de Wumpus Para especificar a tarefa de um agente, devemos definir a percepção, as ações, e os objetivos –Nos quadrados contendo o Wumpus e nos quadrados diretamente adjacentes, o agente percebe mau cheiro –No quadrado que contém ouro, o agente percebe brilho –Quando o agente se move em direção a uma parede, ele sente uma batida –Quando o Wumpus é morto, ele grita –No quadrado diretamente adjacente a um buraco o agente percebe vento

17 Page17 O mundo de Wumpus A percepção será recebida na forma de uma lista de símbolos –Exemplo: [mau cheiro, vento, brilho, batida, grito] –O agente não percebe sua própria localização Há ações para se mover para frente, girar 90 o à direita, girar 90 o à esquerda Disparar um dardo em linha reta O objetivo do agente é encontrar o ouro e trazê-lo à posição de início o mais rápido possível

18 Page18 Ambientes gerados aleatoriamente Na maioria dos ambientes, existe uma maneira do agente atingir seu objetivo Em alguns ambientes, o agente deve decidir entre retornar de mãos vazias ou arriscar a morte pelo Wumpus Em 21% dos ambientes o ouro está em um buraco ou cercado por buracos, não havendo portanto maneira de recuperar o ouro

19 Page19 Agindo e raciocinando no mundo de Wumpus Um exemplo mostrará porque um agente eficaz deverá ser dotado de alguma habilidade de dedução lógica

20 Page20 Mundo de Wumpus A 4,4 4,3 4,2 4,1 3,4 3,3 3,2 3,1 2,4 2,3 2,2 2,1 1,4 1,3 1,2 1,1 A: Agente A partir de que não há mau cheiro nem vento, o agente infere que as células (1,2), (1,1) e (2,1) são seguras

21 Page21 Mundo de Wumpus Ok 4,4 4,3 4,2 4,1 3,4 3,3 3,2 3,1 2,4 2,3 2,2 2,1 1,4 1,3 1,2 1,1 OK: célula ok V: vento P: buraco Vi: visitada Na célula (2,1) o agente detecta vento, permitindo que ele deduza que há um buraco em (2,2) e/ou (3,1) ‏ Há apenas uma célula Ok que não foi visitada Ok A V Vi

22 Page22 Mundo de Wumpus Ok 4,4 4,3 4,2 4,1 3,4 3,3 3,2 3,1 2,4 2,3 2,2 2,1 1,4 1,3 1,2 1,1 OK: célula ok V: vento P: buraco Vi: visitada M: mau cheiro W: Wumpus Na célula (1,2) o agente detecta mau cheiro; uma vez que o Wumpus não pode estar nas células (2,2) e nem em (1,1), o agente conclui que ele está em (1,3) ‏ Ok A V P? M Vi W!

23 Page23 Mundo de Wumpus Ok 4,4 4,3 4,2 4,1 3,4 3,3 3,2 3,1 2,4 2,3 2,2 2,1 1,4 1,3 1,2 1,1 A: agente OK: célula ok V: vento P: buraco Vi: visitada M: mau cheiro W: Wumpus A falta de vento na céclula (1,2) indica que não há buraco na célula (2,2), mas apenas na célula (3,1) ‏ Ok A V OK P! M Vi W!

24 Page24 Mundo de Wumpus Ok 4,4 4,3 4,2 4,1 3,4 3,3 3,2 3,1 2,4 2,3 2,2 2,1 1,4 1,3 1,2 1,1 A: agente OK: célula ok V: vento P: buraco Vi: visitada M: mau cheiro W: Wumpus Só há uma célula não visitada que seja segura, (2,2), nesta posição o agente detecta o ouro Ok A V OK P! M Vi W! Vi

25 Page25 Representação, Dedução e Lógica O objetivo da representação do conhecimento é expressar o conhecimento em computador, de uma forma tratável, de forma que este possa ter bom desempenho Uma linguagem de representação é definida por dois elementos: –Sintaxe: descreve as possíveis configurações que constituem sentenças –Semântica: determina os fatos do “mundo” referenciados pelas sentenças

26 Page26 Sintaxe e Semântica Se a sintaxe e a semântica são definidas precisamente, então dizemos que a linguagem é uma lógica Lógica = Sintaxe + Semântica A partir da sintaxe e da semântica, podemos produzir um mecanismo de inferência para um agente que usa esta linguagem

27 Page27 Dedução Exemplo: –A sintaxe da linguagem de expressões aritméticas diz que, se x e y são expressões denotando números, então x  y é uma sentença sobre números –A semântica da linguagem diz que se x  y é falso quando y é um número maior do que x, e verdadeiro caso contrário

28 Page28 Sintaxe e Semântica SentençasConclusões (base de conhecimento)Fatos Inferência Implica Computador Mundo real Semântica Dedução: no nível sintático Exemplo:

29 Page29 Derivação Deseja-se gerar sentenças que são necessariamente verdadeiras, dados que as sentenças da KB são verdadeiras –Esta relação entre sentenças será dita derivação KB |-  A chave para inferência é garantir que os passos respeitem a semântica das sentenças. –Ou seja, dada uma KB, os passos de inferência devem derivar novas sentenças que representem fatos que seguem dos fatos da KB

30 Page30 Derivação Exemplo: KB: E = mc 2 |- ET = mc 2 T Linguagens lógicas são da mesma natureza que a linguagem da equação acima

31 Page31 Representação Duas linguagem familiares para representação –Linguagens de programação –Linguagem natural

32 Page32 Linguagens de programação Adequadas para descrever algoritmos e estruturas de dados concretas Poderíamos utilizar uma grade de 4x4 para representar o mundo de Wumpus World[2,2] <- buraco –A sentença acima seria natural nesta linguagem Entretanto, as linguagens de programação tipicamente não oferecem uma forma simples de dizer “tem um buraco em [2,2] ou [3,1]”

33 Page33 Linguagem natural Linguagem natural é certamente expressiva Todavia, linguagens evoluíram de maneira a atender a necessidade de comunicação, não de representação do conhecimento Dependência do contexto

34 Page34 Propriedades de uma linguagem Uma boa linguagem de representação deve combinar as vantagens das linguagens naturais e formais –Deve ser expressiva e concisa de forma que se possa expressar tudo de uma forma sucinta –Deve ser não-ambígua e independente do contexto –Deve ser eficaz, no sentido que um procedimento de inferência possa gerar novas sentenças Várias linguagens foram desenvolvidas com o propósito de satisfazer este critérios –Lógica de primeira ordem (first-order logic) ‏

35 Page35 Semântica Em lógica, o significado de uma sentença consiste no que é dito sobre o mundo, que o mundo é deste jeito e não daquele As linguagens com as quais vamos trabalhar são composicionais –O significado de uma sentença é função do significado das partes –Da mesma forma que x 2 + y 2 está relacionado ao significado de x 2 e y 2

36 Page36 Inferência Os termos “raciocínio” e “inferência” geralmente se referem a processos através dos quais conclusões são obtidas –Estamos interessados em raciocínio plausível, o qual chamamos de inferência lógica ou dedução

37 Page37 Validação e Satisfação Uma sentença é válida ou necessariamente verdadeira se, e somente se, ela é verdadeira qualquer que seja a interpretação Exemplo: –“Há mau cheiro na célula [1,1] ou não há mau cheiro na célula [1,1]”

38 Page38 Observações Inferência lógica pode ser usada para derivar conclusões válidas mesmo quando o computador não conhece a interpretação O computador retorna apenas conclusões válidas, que devem ser verdadeiras qualquer que seja a interpretação Uma vez que você conhece a interpretação, a conclusão terá sentido

39 Page39 Lógicas Uma lógica consiste do seguinte Um sistema formal que descreve o estado, consistindo em: –a sintaxe da linguagem, que descreve como sentenças são construídas –a semântica da linguagem, que descreve como as sentenças se relacionam aos fatos  Uma teoria de prova Um conjunto de regras para dedução das derivações de um conjunto de sentenças

40 Page40 Lógica Proposicional Símbolos representam sentenças completas (fatos) ‏ –Ex: D pode ter a interpretação “O Wumpus está morto” Símbolos proposicionais podem ser combinados usando conetivos Booleanos para gerar sentenças com significado mais complexo

41 Page41 Lógica de Primeira Ordem Representa o mundo em termos de objetos e predicados sobre os objetos, fazendo uso de conetivos e quantificadores, o que nos permite escrever sentenças sobre qualquer coisa Lógica de primeira ordem captura grande parte do conhecimento que temos sobre o mundo, e tem sido estudada por mais de 100 anos

42 Page42 Observações Lógica proposicional –Assume que fatos são verdadeiros ou falsos Lógica de primeira ordem –Assume que o mundo consiste de objetos com certas relações entre eles, que podem ser verdadeiras ou não Lógica temporal –Assume que o mundo é ordenado através de um conjunto de pontos no tempo

43 Page43 Observações Grau de certezaGrau de veracidadeTeoria Fuzzy Grau de certezaFatosTeoria das probabilidades Verdadeiro/falso/ desconhecido Fatos, objetos, relações, tempo Lógica temporal Verdadeiro/falso/ desconhecido Fatos, objetos, relações Lógica de primeira ordem Verdadeiro/falso/ desconhecido FatosLógica proposicional Crença de um agente sobre fatos O que existe no mundo Linguagem

44 Page44 Lógica proposicional A despeito de sua limitada capacidade de expressão, a lógica proposicional pode ser utilizada para ilustrar muitos conceitos de lógica

45 Page45 Lógica Proposicional: Sintaxe Sentença -> Sentença_Atômica | Sentença_Complexa Sentença_Atômica -> True | False | P | Q | R... Sentença_Complexa -> ( Sentença ) ‏ | Sentença Conetivo Sentença |  Sentença Conetivo ->  |  |  | 

46 Page46 Lógica Proposicional: Semântica A semântica da lógica proposicional também é simples –A semântica é definida através da especificação da interpretação dos símbolos proposicionais e constantes –E da interpretação dos conetivos

47 Page47 Lógica Proposicional: Semântica A interpretação de P pode ser o fato de que – “Paris é a capital da França” ou – “Wumpus está morto” Cada conetivo pode ser pensado como uma função –Da mesma forma que o operador “+” toma duas entradas e retorna um número, o operador “and” toma dois símbolos proposicionais e retorna verdadeiro ou falso

48 Page48 Validade e Inferência Tabelas verdade podem ser utilizadas para testar a validade de sentenças Exemplo: ((P  H)  H)  P TFTTT TTTFT TFTTF TFFFF ((P  H)  H) ‏ P  HHP

49 Page49 Tabela Verdade Para cada linha, calcula-se o valor verdade da sentença completa –Se a sentença é verdadeira em cada linha, então a sentença é válida Se uma máquina tem algumas premissas e uma possível conclusão, então ela pode determinar se a conclusão é válida –Basta construir uma tabela verdade para a sentença Premissas Conclusões

50 Page50 Complexidade da Lógica Proposicional O método de inferência baseado na tabela verdade é completo –É possível enumerar todas as 2 n linhas de uma proposição envolvendo n variáveis Cook (1971) desenvolveu a teoria da completude, onde mostra que o problema de satisfazer um conjunto de sentenças é NP-Completo e, portanto, improvável de se obter um algoritmo de tempo polinomial

51 Page51 Complexidade da Lógica Proposicional Há uma classe de sentenças para as quais se conhece um algoritmo de tempo polinomial. –Essa classe é dita classe de Horn Uma sentença tipo Horn tem a forma P 1  P 2 ...  P n  Q

52 Page52 O Mundo de Wumpus Wumpus Agente Mau cheiro Vento Buraco Prêmio

53 Page53 Um agente para o mundo de Wumpus A cada passo, os valores dos sensores são convertidos em sentenças e adicionados à base de dados, juntamente com sentenças derivadas –V: vento –M: mau cheiro –W: Wumpus

54 Page54 Configuração Inicial Ok 4,4 4,3 4,2 4,1 3,4 3,3 3,2 3,1 2,4 2,3 2,2 2,1 1,4 1,3 1,2 1,1 A: agente OK: célula ok V: vento P: buraco Vi: visitada M: mau cheiro W: Wumpus Ok A V OK P! M Vi

55 Page55 Base de Conhecimento Base de conhecimento inicial  M 1,1  V 1,1  M 2,1 V 2,1 M 1,2  V 1,2

56 Page56 Base de Conhecimento O agente também precisa de conhecimento sobre o ambiente. O agente sabe que se uma célula não tem cheiro ruim, então o Wumpus não está na vizinhança R 1 :  M 1,1   W 1,1   W 1,2   W 2,1 R 2 :  M 2,1   W 1,1   W 2,1   W 2,2   W 3,1 R 3 :  M 1,2   W 1,1   W 1,2   W 2,2   W 1,3

57 Page57 Outros fatos Se há mau cheiro em [1,2], então o Wumpus deve estar em [1,2] ou em uma célula adjacente R 4 : M 1,2  W 1,3  W 1,2  W 2,2  W 1,1 O objetivo do agente é encontrar o Wumpus

58 Page58 Encontrando o Wumpus Dadas as sentenças acima, o agente pode concluir W 1,3 (Wumpus está na célula [1,3]) ‏ Basta o agente construir a tabela verdade para a sentença KB |= W 1,3 Qual seria a dificuldade?

59 Page59 Encontrando o Wumpus Existem doze símbolos proposicionais, portanto a tabela verdade teria 2 12 = 4096 linhas –Teríamos de verificar se em cada linha em que KB é verdadeira se W 1,3 também é verdadeiro

60 Page60 Inferência através das regras Em vez de utilizar a tabela verdade, vamos utilizar regras de inferência para se concluir W 1,3 A partir de  M 1,1 e R 1, R 1 :  M 1,1   W 1,1   W 1,2   W 2,1, obtemos:  W 1,1   W 1,2   W 2,1 1.Assim obtemos  W 1,1  W 1,2  W 2,1

61 Page61 Inferência através das regras A partir de  M 2,1 e R 2, R 2 :  M 2,1   W 1,1   W 2,1   W 2,2   W 3,1, obtemos:   W 2,1   W 2,2   W 3,1 A partir de M 1,2 e R 4, R 4 : M 1,2  W 1,3  W 1,2  W 2,2  W 1,1, obtemos: W 1,3  W 1,2  W 2,2  W 1,1

62 Page62 Inferência através das regras 1.Aplicando resolução nas proposições abaixo W 1,3  W 1,2  W 2,2  W 1,1  W 1,1 obtemos: W 1,3  W 1,2  W 2,2 2.Aplicando resolução nas proposições abaixo W 1,3  W 1,2  W 2,2  W 2,2 obtemos: W 1,3  W 1,2

63 Page63 Inferência através das regras 1.Finalmente, aplicando resolução em W 1,3  W 1,2  W 1,2 obtemos: W 1,3

64 Page64 Transformando conhecimento em ação Conhecimento é útil apenas se ele ajuda o agente a tomar ações. –Para que isto seja feito, vamos necessitar de regras adicionais que relacionam o estado corrente do mundo para ações a serem tomadas Exemplo: –Se o Wumpus está na célula à frente, então é uma má idéia avançar nesta direção –Podemos expressar isto com uma série de regras, uma para cada localização e orientação A 1,1  East A  W 2,1   Forward

65 Page65 Transformando conhecimento em ação Uma vez que tenhamos regras, tais como a regra acima, precisamos perguntar à base de dados que ação deve ser tomada. –A Lógica Proposicional não é poderosa o suficiente para expressar a questão: “Que ação devo tomar?”

66 Page66 Transformando conhecimento em ação Todavia, Lógica Proposicional pode responder questões como: –“Devo avançar?” –“Devo girar para à direita?”

67 Page67 Problemas com o agente proposicional Lógica proposicional é tão fraca que ela não consegue tratar um domínio tão simples, quanto o mundo de Wumpus –O problema é que existe um número excessivo de proposições –A regra simples “não vá para frente se o Wumpus está na sua frente” é expressa em lógica proposicional por meio de 64 sentenças (16 células x 4 orientações) ‏

68 Page68 Problemas com o agente proposicional Outro problema é lidar com a dinâmica –Quando um agente faz o primeiro movimento, a proposição A 1,1 se torna falsa e A 2,1 se torna verdadeira –Pode ser útil para o agente se lembrar que ele já esteve na célula [1,1]

69 Page69 Problemas com o agente proposicional Para evitar confusão, vamos necessitar de diferentes símbolos proposicionais para a localização do agente a cada passo Dificuldades: –Precisamos saber o número de passos do jogo –Precisamos escrever versões de regras dependentes do tempo A 1,1 t  East t  W 2,1 t  Forward t Em lógica de primeira ordem, as 6400 regras são reduzidas a uma única regra

70 Page70 Referências Stuart Russel and Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 1995.

71 Page71 Fim Obrigado pela presença!


Carregar ppt "Page1 DAS-5341: Representação do Conhecimento e Raciocínio Prof. Eduardo Camponogara."

Apresentações semelhantes


Anúncios Google