Curso Inteligência Artificial - Parte 2 -

Download Curso Inteligência Artificial - Parte 2 -

Post on 11-Jul-2015

600 views

Category:

Education

0 download

Embed Size (px)

TRANSCRIPT

  • 1

    Inteligncia Artificial (parte II) Ronaldo F. Ramos, Dr ronaldo@cefet-ce.br

    Adaptado de : aima.cs.berkeley.edu

  • Agentes Lgicos

  • 3

    Roteiro

    ! Agentes Baseados em Conhecimento ! O mundo de Wumpus ! Lgica em Geral Modelos e implicaes ! Lgica proposicional (booleana). ! Equivalncia, validade e satisfatibilidade ! Regras de Inferncia e prova de teoremas

    ! Encadeamento para frente ! Encadeamento para trs ! Resoluo

  • 4

    Bases de conhecimento.

    ! Base de conhecimento = conjunto de sentenas em uma linguagem formal.

    ! Abordagem declarativa para construo de agentes (ou outra coisa) ! Informar ao mesmo apenas o que ele precisa saber

    ! Ento ele pode perguntar sozinho o que ele fazer. As respostas viro da base de conhecimento

    ! Agentes podem ser visualizados ao nvel do conhecimento i. e., o que eles sabem no importando como foram implementados, ou ao nivel de implementao, i. e., estruturas de dados na KB e os algoritmos que os manipulam.

    Mquina de Inferncia

    Base de conhecimento (KB)

    Algoritmo independente de domnio Contedo dependente do domnio

  • 5

    Um agente baseado em conhecimento

    ! O agente deve ser capaz de: ! Representar estados, aes, etc ! Incorporar novas percepes ! Atualizar a representao interna do mundo ! Deduzir propriedades ocultas do mundo ! Deduzir aes apropriadas.

    funo KB-AGENT (percepo) retorna uma ao variveis estticas: KB, a base de conhecimento t, um contador inicialmente 0 indicando tempo TELL(KB,CRIAR-SENTENA-DE-PERCEPO(percepo,t)) ao

  • 6

    Mundo de Wumpus - Descrio PEAS ! Medida de desempenho

    ! +1000 se pegar ouro, -1000 se cair no poo ou for devorado pelo wumpus

    ! -1 ao executada, -10 uso da flecha ! Ambiente

    ! Malha de 4 x 4 o comea em 1,1 ! Quadrados adjacentes ao wumpus fedem ! Quadrados adjacentes a um poo tm brisa ! Brilho sse tem o ouro ! Um tiro pode matar o wumpus se vc est lutando com ele. ! O agente s possui uma flecha ! Agente pode AGARRAR o ouro se estiver no mesmo quadrado ! Agente pode SOLTAR o ouro no quadrado atual

    ! Sensores: Fedor, Brisa, Brilho, Impacto, Grito de Morte ! Efetuadores: Esquerda, Direita, Em frente, Baixo, Agarra,

    Solta, Atira

  • 7

    Caracterizao do mundo ! Completamente observvel: No somente

    percepo local. ! Determinstico: Sim As conseqncias so

    perfeitamente especificadas. ! Episdico: No Seqencial ao nvel das

    aes. ! Esttico: Sim Wumpus e os poos no

    movem. ! Discreto: Sim ! nico Agente: Sim Wumpus

    essencialmente uma criatura natural

  • 8

    Explorando o mundo de Wumpus

  • 9

    Explorando o mundo de Wumpus

  • 10

    Explorando o mundo de Wumpus

  • 11

    Explorando o mundo de Wumpus

  • 12

    Explorando o mundo de Wumpus

  • 13

    Explorando o mundo de Wumpus

  • 14

    Explorando o mundo de Wumpus

  • 15

    Explorando o mundo de Wumpus

  • 16

    Lgica em geral ! Lgica uma linguagem formal para representar informaes a

    partir das quais podem ser retiradas concluses. ! Regras de sintaxe definem as sentenas na linguagem ! A Semntica define o significado das sentenas

    ! i. e., define a verdade de uma sentena em um mundo.

    ! E.g., a linguagem da aritmtica

    ! x+2 y uma sentena; x2+y > {} no uma sentena ! x+2 y verdade sse o nmero x+2 no menor que o nmero y ! x+2 y verdade em um mundo onde x = 7, y = 1 ! x+2 y falso em um mundo onde x = 0, y = 6

  • 17

    Consequncia Lgica ! Consequncia lgica significa que uma coisa segue,

    decorre logicamente de outra. KB

    ! Uma base de conhecimento KB tem como consequncia lgica uma sentena sse verdade em todos os mundos onde KB verdade

    ! E.g., A base de conhecimento KB contendo Os gigantes

    ganharam e Os Vermelhos Ganharam tem como conseqncia lgica Ou os gigantes ganharam ou os Vermelhos Ganharam

    ! E.g., x+y = 4 tem como conseqncia 4 = x+y ! Conseqncia lgica um relacionamento entre sentenas

    (sintaxe) baseada na semntica.

  • 18

    Modelos ! Lgicos normalmente raciocinam em termos de modelos, os

    quais so mundos formalmente estruturados com relao a qual verdade pode ser avaliada.

    ! Dizemos que m um modelo de se verdade em m ! M() o conjunto de todos os modelos de ! Consequentemente KB sse M(KB) M()

    ! E.g. KB = Gigantes ganharam e Vermelhos ganharam

    = Gigantes ganharam

  • 19

    Conseqncia lgica no mundo de wumpus

    Situao depois de detectar nada em [1,1], mover para direita, brisa em [2,1]

    Considerar possveis modelos

    para a KB assumindo somente a existncia de poos.

    3 escolhas booleanas 8

    modelos possveis

  • 20

    Modelos Wumpus

  • 21

    Modelos Wumpus

    !KB = Regras do mundo wumpus + observaes

  • 22

    Modelos Wumpus

    ! KB = Regras do Mundo Wumpus + observaes ! 1 = "[1,2] seguro", KB 1, provado por checagem do

    modelo

  • 23

    Modelos Wumpus

    !KB = Regras do Mundo Wumpus + observaes

  • 24

    Modelos Wumpus

    ! KB = Regras do Mundo Wumpus + observaes

    !2 = "[2,2] seguro", KB 2

  • 25

    Inferncia ! KB i = Sentena pode ser derivada de KB pelo

    procedimento i ! Consistncia: i consistente se sempre que KB i ,

    tambm verdade que KB ! Completeza: i completo se sempre que KB ,

    tambm verdade que KB i

    ! A Lgica de Primeira Ordem expressiva o suficiente para expressar o que for de interesse e para isto sempre existe um procedimento consistente e completo.

    ! Ou seja, o procedimento reponder qualquer questo cuja resposta decorre do que conhecido pela KB.

  • 26

    Lgica proposicional : Sintaxe

    ! A lgica proposicional a lgica mais simples Ilustra idias bsicas

    ! Smbolos proposicionais P1, P2 etc so sentenas

    ! Se S uma setena , S uma sentena (negao) ! Se S1 e S2 so sentenas, S1 S2 uma sentena(conjuno) ! Se S1 e S2 so sentenas, S1 S2 uma sentena(disjuno) ! Se S1 e S2 so sentenas, S1 S2 uma sentena(implicao) ! Se S1 e S2 so sentenas, S1 S2 uma sentena(bicondicional)

  • 27

    Lgica Proposicional: Semntica Cada modelo especifica a verdade ou falsidade para cada proposio.

    Ex. P1,2 P2,2 P3,1 falso verdade falso

    Com estes smbolos podem ser enumerados automaticamente 8 modelos possveis.

    Regras para a avaliao de verdade com relao a um modelo m:

    S verdade sse S is falso S1 S2 verdade sse S1 verdade e S2 verdade S1 S2 verdade sse S1 verdade ou S2 verdade S1 S2 verdade sse S1 falso ou S2 verdade i.e., falso sse S1 is verdade e S2 is falso S1 S2 verdade sse S1S2 verdade e S2S1 verdade

    Um processo recursivo simples avalia uma sentena:

    P1,2 (P2,2 P3,1) = verdade (verdade falso) = verdade verdade = verdade

  • 28

    Tabela de Verdade para Conectivos

    P Q ~P P ^ Q P v Q P" Q P#Q

    Falso Falso Verdade Falso Falso Verdade Verdade

    Falso Verdade Verdade Falso Verdade Verdade Falso

    Verdade Falso Falso Falso Verdade Falso Falso

    Verdade Verdade Falso Verdade Verdade Verdade Verdade

  • 29

    Sentenas no mundo Wumpus Seja Pi,j verdade se existir um poo em [i, j]. Seja Bi,j verdade se existir uma brisa em [i, j]. - No existe poo em [1,1]

    R1: P1,1

    - Poos ocasionam brisa em quadros adjacentes R2: B1,1 (P1,2 P2,1)

    R3: B2,1 (P1,1 P2,2 P3,1)

    - No existe brisa em [1,1] porm existe em [2,1]

    R4: B1,1

    R5: B2,1

  • 30

    Tabela de Verdade p/ Inferncia

    B1,1 B2,1 P1,1 P1,2 P2,1 P2,2 P3,1 KB 1 F F F F F F F F V F F F F F F V F V ... ... ... ... ... ... ... ... ... F V F F F F F F V F V F F F F V V V F V F F F V F V V F V F F F V V V V F V F F V F F F V ... ... ... ... ... ... ... ... ... V V V V F V V F F

    Lembrete: KB = R1 ^ R2 ^ R3 ^ R4 ^ R5

  • 31

    Inferncia por enumerao ! Enumerao em profundidade preserva verdade e completa ! Para n smbolos, complexidade de tempo O(2n),

    complexidade de espao O(n)

    Funo CONSEQUENCIA-LOGICA-TV?(KB,A) retorna V ou F entradas : KB, a base de conhecimento, sentena em lgica proposicional , a consulta, uma sentena em lgica proposicional simbolos

  • 32

    Equivalncia Lgica Duas sentenas so logicamente equivalentes sse elas so

    verdade nos mesmos modelos sse e

  • 33

    Validade e satisfatibilidade Uma sentea vlida se ela verdade em todos os modelos,

    ex., Verdade, A A, A A, (A (A B)) B

    Validade ligada a inferncia via Teorema da deduo:

    KB sse (KB ) vlida Uma sentena satisfatvel se ela verdade em algum modelo

    ex, A B, C

    Uma sentena no satisfatvel se ela no verdade em nenhum modelo e.g., AA

    Satisfatibilidade conectada a inferncia pelo seguinte:

    KB sse (KB ) no satisfatvel

  • 34

    Mtodos de prova ! Grosso modo, mtodos de prova so divididos em

    dois tipos:

    ! Aplicao de regras de inferncia ! Legitimar a gerao de novas sentenas a partir das velhas ! Prova = uma sequncia de aplicaes de regras de inferncia.

    Pode usar regras de inferncia como operadores em um algoritmo padro de busca

    ! Normalmente requer a transformao de sentenas em uma forma normal

    ! Checagem de modelo

    ! Enumerao de tabelas de Verdade (exponencial em n) ! Backtraking aperfeioado ! Busca heurstica no espao de modelos (Preserva a verdade

    porm incompleto)

  • 35

    Resoluo Forma Normal Conjuntiva (FNC) Conjuno de Disjunes de clusulas literais

    Ex (A B) (B C D)

    ! Regra de Inferncia da Resoluo(para FNC):

    li lk, m1 mn

    li li-1 li+1 lk m1 mj-1 mj+1 ... mn

    onde li e mj so literais complementares.

    Ex., P1,1 P3,1, P1,1 P2,2

    P3,1 P2,2

    ! A resoluo preserva a verdade (consistente) e completa para lgica proposicional

  • 36

    Converso para FNC (Forma normal conjuntiva)

    B1,1 (P1,2 P2,1) 1.Eliminar , substituindo por ( )( ).

    (B1,1 (P1,2 P2,1)) ((P1,2 P2,1) B1,1)

    2. Eliminar , Substituindo por .

    (B1,1 P1,2 P2,1) ((P1,2 P2,1) B1,1)

    3. Mover para dentro usando a lei De Morgan:

    (B1,1 P1,2 P2,1) ((P1,2 P2,1) B1,1)

    4. Aplicando a regra da distributividade de sobre :

    (B1,1 P1,2 P2,1) (P1,2 B1,1) (P2,1 B1,1)

  • 37

    Algoritmo de Resoluo ! Prova por contradio, i.e., mostra-se que KB no-

    satisfatvel

    Funo Resoluo-LP(KB,) retorna V ou F entradas: KB, a base de conhecimento (setena LP)

    , a consulta, uma consulta em LP clusulas

  • 38

    Exemplo

    KB = (B1,1 (P1,2 P2,1)) B1,1 = P1,2

  • 39

    Encadeamento pra frente e pra trs (Forward and backward chaining)

    ! Forma de Horn (restrita) KB = conjuno de clusulas de Horn

    ! Clusula de Horn = ! Smbolo de proposio; ou ! (conjuno de simbolos simbolo) ! De outra forma seria uma disjuno onde um dos disjuntos

    positivo(cabea) ! Ex., C (B A) (C D B)

    ! Modus Ponens (para Forma de Horn): completo para Horn KBs 1, ,n, 1 n

    ! Pode ser utilizada com encadeamento pra frente ou pr trs. ! Algoritmos naturais e rodam em tempo linear

  • 40

    Encadeamento pra frente

    ! Idia bsica: executar todas as regras cujas premissas so satisfeitas pela KB,

    ! Adicionar as concluses KB, at que a questo seja encontrada

  • 41

    Algoritmo de encadeamento pra frente

    ! Encadeamento pra frente consistente e completo para bases de conhecimento de Horn

    funo PL-FC-CONSEQUENCIA-LOG(KB,q) retornar V ou F variveis locais: cont, tabela, indexada por clusula, inicialmente o nmero de premissas

    inferido, tabela, indexada por simbolo, todos inicialmente falsos agenda, lista de simbolos, inicialmente todos verdade

    Enquanto agenda no vazia faa p $ POP(agenda) a menos que inferido[p] faa inferido[p] $ V

    para cada clusula c em cuja premisa p aparece faa decremente cont[c] se cont[c] == 0 ento faa se cabea[c] == q ento retornar V push(cabea[c],agenda)

    retornar F

  • 42

    Exemplo

  • 43

    Exemplo

  • 44

    Exemplo

  • 45

    Exemplo

  • 46

    Exemplo

  • 47

    Exemplo

  • 48

    Exemplo

  • 49

    Exemplo

  • 50

    Encadeamento pra frente

    Completo e consistente

  • 51

    Encadeamento pra Trs(ET) (Backward chaining)

    Idia: como a anlise a partir de uma questo (q) colocada sobre a KB a fim de prov-la.

    ! Checa se q ja conhecida, ou ! Prova por ET todas as premissas de qualquer regra

    concluindo q

    Para Evitar Loops: Checar se a nova sub-meta j se encontra na pilha de metas

    Evitar Trabalho Repetido: checa se cada nova sub-

    meta 1. J foi provada verdadeira, ou 2. J foi provada falsa (sem sucesso)

  • 52

    Exemplo

  • 53

    Exemplo

  • 54

    Exemplo

  • 55

    Exemplo

  • 56

    Exemplo

  • 57

    Exemplo

  • 58

    Exemplo

  • 59

    Exemplo

  • 60

    Exemplo

  • 61

    Exemplo

  • 62

    Comparao Inicial ! EF orientado a dados, automtico e cego.

    ! e.g., reconhecimento de objetos, decises de rotina

    ! Pode acabar fazendo muito processamento irrelevante para os objetivos.

    ! ET orientado a meta, mais apropriado para soluo de problemas.

    ! e.g., Onde esto as chaves? Como se tornar um PhD?

    ! Complexidade da ET pode ser bem menor que linear em relao ao tamanho da base de conhecimento

  • 63

    Inferncia proposicional efetiva

    - Duas famlias de algoritmos para inferncia proposicional

    ! Algoritmos completo com retrocesso

    ! Algoritmo DPLL (Davis, Putnam, Logemann, Loveland)

    ! Algoritmo de busca local incompleta ! WalkSAT algorithm

    OBS: Usam checagem de modelo

  • 64

    O algoritmo DPLL Determina se uma sentena em lgica proposicional (FNC) satisfatvel.

    Melhorias em relao enumerao de tabelas de verdade.

    1. Termino Prematuro Uma clusula V se algum literal V. Uma sentea F se alguma clusula F.

    2. Heurstica do Smbolo Puro

    Smbolo Puro: Aparece sempre com o mesmo sinal em todas as clusulas. ex. Nas seguintes clusulas (A B), (B C), (C A), A e B so puros, C

    impuro. Fazer um smbolo literal puro V.

    3. Clusula Heurstica Unitria

    1. Apenas um literal na clusula 2. Este literal deve ser verdadeiro

  • 65

    O Algoritmo DPLL funo DPLL-Satisfatvel?(s) retorna V ou F

    entrada: s, uma sentena em LP clausulas $ o conjunto de clusulas na FNC de s smbolos $ lista dos smbolos proposicionais em s retornar DPLL(clausulas,smbolos,[])

    ------------------------------------------------------------------------ funo DPLL(clausulas, simbolos, modelo) retorna V ou F se toda clusula em clusulas V no modelo ento retornar V se alguma clusula em clusulas F no modelo ento retornar F P,valor $SIMBOLO-PURO(smbolos,clusulas,modelo) se P no nulo ento retorne DPLL(clusulas,simbolos-P,[P=valor|modelo]) P,valor $ CLUSULA-UNITRIA(clusula,modelo) se P no nulo ento retorne DPLL(clusulas, smbolos-P,[P=valor|modelo]) P $ PRIMEIRO(smbolos); resto $ RESTO(smbolos) retornar DPLL(clsulas, resto, [P= V|modelo] ou DPLL(clusulas, resto, [P= falso|modelo]

  • 66

    O Algoritmo WalkSAT ! Algoritmo de busca local incompleto. Subida da

    encosta no espao de atribuies completas ! Em cada iterao o o algoritmo escolhe uma clusula

    no satisfeita e um smbolo dessa clusula para trocar. A forma de escolha do smbolo a trocar de valor ela prpria aleatria, podendo ser:

    ! Utilizando a heurstica min-conflitos minimizando o nmero de clusulas insatisfeitas no passo seguinte

    ! Escolha aleatria do smbolo a trocar na clusula

  • 67

    O algortimo WalkSAT funo WALKSAT( clusulas,p,inversoes_max) retorna modelo ou falha .... entradas: clusulas, um conjunto de clusulas

    p, probabilidade de optar por realizar um movimento aleatrio inversoes_max, nmero mximo de inverses permitidos antes de...

Recommended

View more >