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

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

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 

Apresentações semelhantes


Apresentação em tema: "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:

1 Sistemas de Produção Jacques Robin CIn-UFPE

2 Roteiro  Definição de um sistemas de produção  Regras de produção  Inferência com regras de produção  Sistemas de produção x Programação em lógica  Implementação eficiente de sistemas de produção  Sistemas de produção orientado a objetos

3 Arquitetura de ABC Ambiente Máquina de Inferência Base de conhecimento estático genérico sobre classe do ambiente: Hierarquia de conceitos Regras de inferência Restrições de integridade Base de conhecimento dinâmico particular sobre instância do ambiente: Instâncias de entidades Instâncias de relações Percepções Ações Sensores Efeituadores Tell Ask Retract Ask Base de meta-conhecimento: Controle de raciocínio Explicação do raciocínio Ask

4 Sistema de produção  Sistema baseado em conhecimento no qual:  a base de conhecimento dinâmica (BCD) chamada de memória de trabalho, é constituída por fatos que são:  termos lógicos instanciados (ground na terminologia da programação em lógica), ou seja expressões da forma p(A1,...,Aq) onde:  p é uma constante simbólica predicativa  cada Ak é uma constante simbólica atômica  ex, pai(joão,pedro)  a base de conhecimento estática (BCE) consiste em uma base de regras de produção da forma P1 ...  Pn  A1 ...  Am onde:  cada Pi é um literal a ser casado com a BCD  cada Aj é uma ação a executar quando todos os literais Pi são verificados

5 Regras de produção: premissas  Cada premissa de uma regra de produção pode ser:  um padrão de fato da forma p(A1,..., Ar) onde:  p é uma constante simbólica predicativa  cada Ak pode ser ou uma variável lógica ou uma constante simbólica atômica  a negação de um padrão de fato da forma NOT p(A1,..., Ar) onde p(A1,..., Ar) é um padrão positivo  Uma premissa positiva teste a presença na BCD de um fato que se casa com o padrão da premissa via substituição de variável com constante  Uma premissa negativa teste a ausência na BCD de um fato que se casa com o padrão da premissa via substituição de variável com constante

6 Regras de produção: ações  Cada ação de uma conclusão de regra de produção pode ser:  a inserção de uma fato da BCD insert(p(A1,..., Ak))  a retirada de uma fato da BCD retract(p(A1,..., Ak))  a chamada de um procedimento, função, ou método arbitrário na linguagem de programação hospede do sistema de produção  Quando uma regra de produção é disparada, todas as ações da sua conclusão são executadas na ordem  Uma condição necessária, mas não suficiente, para o disparo de um regra é que todas suas premissas estejam simultaneamente verdadeira  Quando várias regras verificam essa condição, apenas uma é escolhida, por alguma heurística chamada de resolução de conflitos

7 Exemplo de base de regras de produção: West é criminoso? Memória de trabalho inicial: owns(nono,m1) missile(m1) american(west) nation(nono) enemy(nono,america) nation(america) Base de regra de produção: american(P)  weapon(W)  nation(N)  hostile(N)  sells(P,N,W)  insert(criminal(P)). owns(nono,W)  missile(W)  insert(sells(west,nono,W)). missile(W)  insert(weapon(W)). enemy(N,america)  insert(hostile(N)).

8 Inferência em sistema de produção  Laço com 3 passos: 1. Casamento de padrão:  Casar os fatos da memória de trabalho com as premissas da base de regra de produção 2. Resolução de conflitos:  Selecionar para disparo uma das regras cujas premissas se casam com alguns fatos da memória de trabalho  Se nenhum casar, terminar o laço 3. Execução das ações:  Executar na ordem as ações da conclusão da regras escolhida  Voltar para o passo 1  Implementa raciocínio dedutivo progressivo, dirigido pelos dados e encadeando as regras para frente

9 Responder a consultas em sistema de produção Para responder a uma consulta Ask(f) onde f é um termo lógico (instanciado ou com variáveis livres): 1. Casar f com os fatos da memória de trabalho 2. Se casar, devolver instanciação de variáveis que viabilizou casamento 3. Se não casar, disparar mecanismo de inferência, e, a cada iteração voltar para passo 1 4. Parar quando:  houver casamento de f com algum fato da memória de trabalho  não houver mais casamento de nenhum fato novo da memória de trabalho com nenhuma regra de produção

10 Exemplo de raciocínio com regras de produção: West é criminoso? Memória de trabalho owns(nono,m1). missile(m1). american(west). nation(nono). enemy(nono,america). nation(america). Base de regra de produção: R1: american(P)  weapon(W)  nation(N)  hostile(N)  sells(P,N,W)  insert(criminal(P)). R2: owns(nono,W)  missile(W)  insert(sells(west,nono,W)). R3: missile(W)  insert(weapon(W)). R4: enemy(N,america)  insert(hostile(N)).

11 Exemplo de raciocínio com regras de produção: West é criminoso? Memória de trabalho owns(nono,m1). missile(m1). american(west). nation(nono). enemy(nono,america). nation(america). sells(west,nono,m1). Base de regra de produção: R1: american(P)  weapon(W)  nation(N)  hostile(N)  sells(P,N,W)  insert(criminal(P)). R2: owns(nono,m1)  missile(m1)  insert(sells(west,nono,m1)). R3: missile(W)  insert(weapon(W)). R4: enemy(N,america)  insert(hostile(N)).

12 Exemplo de raciocínio com regras de produção: West é criminoso? Memória de trabalho owns(nono,m1). missile(m1). american(west). nation(nono). enemy(nono,america). nation(america). sells(west,nono,m1). Base de regra de produção: R1: american(P)  weapon(W)  nation(N)  hostile(N)  sells(P,N,W)  insert(criminal(P)). R2: owns(nono,W)  missile(W)  insert(sells(west,nono,W)). R3: missile(W)  insert(weapon(W)). R4: enemy(N,america)  insert(hostile(N)).

13 Exemplo de raciocínio com regras de produção: West é criminoso? Memória de trabalho owns(nono,m1). missile(m1). american(west). nation(nono). enemy(nono,america). nation(america). sells(west,nono,m1). weapon(w1). Base de regra de produção: R1: american(P)  weapon(W)  nation(N)  hostile(N)  sells(P,N,W)  insert(criminal(P)). R2: owns(nono,W)  missile(W)  insert(sells(west,nono,W)). R3: missile(m1)  insert(weapon(m1)). R4: enemy(N,america)  insert(hostile(N)).

14 Exemplo de raciocínio com regras de produção: West é criminoso? Memória de trabalho owns(nono,m1) missile(m1) american(west) nation(nono) enemy(nono,america) nation(america) sells(west,nono,m1). weapon(w1). Base de regra de produção: R1: american(P)  weapon(W)  nation(N)  hostile(N)  sells(P,N,W)  insert(criminal(P)). R2: owns(nono,W)  missile(W)  insert(sells(west,nono,W)). R3: missile(W)  insert(weapon(W)). R4: enemy(N,america)  insert(hostile(N)).

15 Exemplo de raciocínio com regras de produção: West é criminoso? Memória de trabalho owns(nono,m1) missile(m1) american(west) nation(nono) enemy(nono,america) nation(america) sells(west,nono,m1). weapon(w1). hostile(nono). Base de regra de produção: R1: american(P)  weapon(W)  nation(N)  hostile(N)  sells(P,N,W)  insert(criminal(P)). R2: owns(nono,W)  missile(W)  insert(sells(west,nono,W)). R3: missile(W)  insert(weapon(W)). R4: enemy(nono,america)  insert(hostile(nono)).

16 Exemplo de raciocínio com regras de produção: West é criminoso? Memória de trabalho owns(nono,m1) missile(m1) american(west) nation(nono) enemy(nono,america) nation(america) sells(west,nono,m1). weapon(w1). hostile(nono). Base de regra de produção: R1: american(P)  weapon(W)  nation(N)  hostile(N)  sells(P,N,W)  insert(criminal(P)). R2: owns(nono,W)  missile(W)  insert(sells(west,nono,W)). R3: missile(W)  insert(weapon(W)). R4: enemy(N,america)  insert(hostile(N)).

17 Exemplo de raciocínio com regras de produção: West é criminoso? Memória de trabalho owns(nono,m1). missile(m1). american(west). nation(nono). enemy(nono,america). nation(america). sells(west,nono,m1). weapon(w1). hostile(nono). criminal(west). Base de regra de produção: R1: american(west)  weapon(m1)  nation(nono)  hostile(nono)  sells(west,nono,m1)  insert(criminal(west)). R2: owns(nono,W)  missile(W)  insert(sells(west,nono,W)). R3: missile(W)  insert(weapon(W)). R4: enemy(N,america)  insert(hostile(N)).

18 Heurísticas de resolução de conflitos 3 Não Duplicação: não executar a mesma regra nos mesmos argumentos duas vezes. 3 Recency: preferir regras que se referem a elementos da Memória de Trabalho criados recentemente. 3 Especificidade: preferir regras que são mais específicas. 3 Prioridade de operação: preferir ações com prioridade maior, especificada por alguma categoria. 3 Meta-regras 3 Existem heurísticas de ordenamento da execução das ações de uma mesma regras

19 A BA=B D C E add E add D delete A A(1), A(2)B(2), B(3), B(4) A(2) B(2) C(5) A=D Implementação eficiente do casamento de padrão  Idéia: elimina duplicações de casamento entre regras e ao longo do tempo.  Exemplo: Base de Regras:Memória de Trabalho: A(x) ^ B(x) ^ C(y) => add D(x){A(1),A(2),B(2),B(3),B(4),C(5)} A(x) ^ B(y) ^ D(x) => add E(x) A(x) ^ B(x) ^ E(x) => delete A(x)

20 Sistemas de produção x Prolog: controle Sistemas de produção:  Raciocino dirigido pelo dados  Regras encadeada para frente  Busca em de baixo para cima e em largura na árvore de prova  Sofisticadas heurísticas de resolução de conflito para escolher regras a disparar 1 a dentro da aplicáveis  Sem backtracking Prolog:  Raciocino dirigido pelos objetivos  Regras encadeada para trás  Busca em de cima para baixo e em profundidade na árvore de prova  Sempre dispara 1 a regra aplicável encontrada  Backtracking quando 1 a regra leva a uma falha

21 Árvore de prova de West é Criminoso?

22 Sistemas de produção x Prolog: poder expressivo Sistemas de produção:  Apenas fatos instanciados na BCD  Sem termos funcionais nem na BCD, nem nas regras  Casamento de padrão instancia variáveis:  de maneira unidirecional  apenas com símbolos atômicos variáveis lógicas podem ser Prolog:  Autoriza fatos universalmente quantificados com símbolos de função na BCD e nas regras  ex: ancestral(X,adão). ex: pessoa(nome(joão),idade(34))).  Unificação instância variáveis:  de maneira bidirecional  possivelmente com termos compostos ex: ?- prof(X,disc(ia,dept(di,ufpe))) = prof(pessoa(geber,Y),disc(ia,Z)) X = pessoa(geber,Y), Z = dept(di,ufpe). ?

23 Sistemas de produção x Prolog: outras diferenças  Regras sem semântica formal definida em lógica clássica por conta da natureza procedimental das conclusões dar regras  Formalismo híbrido parcialmente declarativo e lógico e parcialmente procedimental e imperativo (ou funcional)  Permite expressão declarativa personalizada de estratégia de controle do raciocino  Não fornece mecanismo built- in para processamento de linguagem natural e compilação  Subconjunto de Prolog puro:  com semântica formal sendo a lógica de Horn da 1 a ordem  puramente declarativo e lógico  Não permite expressão delarativa personalizada de estratégia de controle do raciocino  Fornece mecanismo built-in para processamento de linguagem natural, compilação e meta-programação

24 Sistemas de produção x Prolog: pontos em comuns  Premissas com variáveis universalmente quantificadas  Regras restrita a forma implicativa com premissa restrita a uma conjunção de termos lógicos  Hipótese do mundo fechado com negação por falha


Carregar ppt "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 "

Apresentações semelhantes


Anúncios Google