Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAna Luísa Cesário da Mota Alterado mais de 7 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.