46
Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo SCC-630 - Capítulo 4 Raciocínio Baseado em Regras João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2011 João Luís G. Rosa c 2011 - SCC-630: IV. Raciocínio Baseado em Regras 1/46

SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Embed Size (px)

Citation preview

Page 1: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

SCC-630 - Capítulo 4Raciocínio Baseado em Regras

João Luís Garcia Rosa1

1Departamento de Ciências de ComputaçãoInstituto de Ciências Matemáticas e de Computação

Universidade de São Paulo - São Carloshttp://www.icmc.usp.br/~joaoluis

2011

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 1/46

Page 2: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 2/46

Page 3: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Representação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 3/46

Page 4: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Representação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

Corpo de Conhecimento

A forma como um corpo de conhecimento sobre um certocampo é expresso por um especialista deste campo,freqüentemente contém informação importante sobrecomo esse conhecimento pode ser usado da melhorforma.Suponha, por exemplo, que um matemático diga:“Se X e Y são ambos maiores que zero, o produto de X e

Y também é maior que zero.”No cálculo de predicados esta sentença ficaria:

∀X∀Y ((m(X ,0) ∧m(Y ,0))→ m(vezes(X ,Y ),0)). (1)

Entretanto, pode-se usar a seguinte fórmula equivalente:

∀X∀Y ((m(X ,0) ∧ ¬m(vezes(X ,Y ),0))→ ¬m(Y ,0)). (2)

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 4/46

Page 5: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Representação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

Corpo de Conhecimento

O conteúdo lógico da sentença do matemático éindependente das muitas formas equivalentes do cálculode predicados que poderiam representá-la.Mas, na forma que as sentenças do Português sãoconstruídas, freqüentemente contêm informação decontrole extra-lógica ou heurística.No exemplo anterior, a sentença parece indicar que seestá habituado ao fato de que se X e Y sãoindividualmente maiores que zero, então é óbvio provarque X multiplicado por Y é maior que zero.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 5/46

Page 6: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Representação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 6/46

Page 7: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Representação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

Expressões implicacionais

Muito do conhecimento usado por sistemas de IA édiretamente representável por expressões gerais deimplicação. Veja as seguintes sentenças:

1 Todos os vertebrados são animais.

∀X (vertebrado(X )→ animal(X )) (3)

2 Todos do departamento de computação acima de 30 anossão casados.

∀X∀Y ((trab(dc,X )∧idade(X ,Y )∧ma(Y ,30))→ casado(X ))(4)

3 Existe um cubo acima de todo cilindro vermelho.

∀X ((cilindro(X )∧vermelho(X ))→ ∃Y (cubo(Y )∧acima(Y ,X )))(5)

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 7/46

Page 8: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Representação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

Fatos e regras

O sistema descrito aqui não converte fórmulas emcláusulas; eles as usam numa forma perto da sua formaoriginal dada.As fórmulas que representam conhecimento de asserçãosobre o problema são separadas em duas categorias:regras e fatos.

As regras consistem das asserções dadas na formaimplicacional. Tipicamente, expressam conhecimento geralsobre uma área particular e são usadas como regras deprodução.Os fatos são as asserções que não são expressas comoimplicações. Tipicamente, representam conhecimentoespecífico relevante a um caso particular.

A tarefa dos sistemas de produção é provar uma fórmulameta a partir destes fatos e regras.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 8/46

Page 9: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Representação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 9/46

Page 10: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Representação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

Encadeamentos lógicos

Em sistemas por encadeamento progressivo (forward ou“data-driven”), as implicações usadas como regras-Poperam numa base de dados global de fatos até que umacondição de terminação envolvendo a fórmula meta sejaalcançada.Em sistemas por encadeamento regressivo (backwardou “goal-driven”) as implicações usadas como regras-Roperam numa base de dados global de metas até que umacondição de terminação envolvendo os fatos sejaalcançada.Combinar operação progressiva e regressiva também épossível.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 10/46

Page 11: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

Representação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

Sistema de dedução baseado em regras

Este tipo de sistema de prova de teorema é um sistemadireto ao contrário do sistema de refutação.Um sistema direto não é necessariamente mais eficienteque um sistema de refutação, mas sua operação pareceser intuitivamente mais fácil para as pessoas entenderem.Sistemas deste tipo são freqüentemente chamados desistemas de dedução baseados em regras, para enfatizara importância de se usar regras para fazer deduções.A pesquisa em IA tem produzido muitas aplicações desistemas baseados em regras.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 11/46

Page 12: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 12/46

Page 13: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Forma E/OU

O sistema progressivo tem como sua base de dados globalinicial uma representação para o conjunto de fatos dado.Os fatos são representados como fórmulas do cálculo depredicados que foram transformadas em formas livres deimplicações chamadas formas E/OU.Para converter uma fórmula na forma E/OU, os símbolos“→” (se existirem) são eliminados, usando a equivalênciaW1→W2 ≡ ¬W1 ∨W2. (Tipicamente, existem poucossímbolos “→” entre os fatos porque as implicações sãopreferivelmente representadas como regras.)Depois, os símbolos de negação são movidos para dentro(usando as leis de De Morgan) até que seus escoposincluam, no máximo, um único predicado.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 13/46

Page 14: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Forma E/OU

A expressão resultante é então skolemizada e prenexada;as variáveis dentro dos escopos dos quantificadoresuniversais são padronizadas através da renomeação, asvariáveis quantificadas existencialmente são substituídaspor funções de Skolem, e os quantificadores universaissão eliminados.Qualquer variável restante é assumida ter quantificaçãouniversal.Ou seja, na verdade é aplicado o algoritmo darepresentação clausal até o passo imediatamente anteriora obtenção da forma normal conjuntiva (passo 8),complementando com a eliminação dos quantificadoresuniversais.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 14/46

Page 15: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Forma E/OU

Por exemplo, a expressão fato:

∃U∀V (q(V ,U) ∧ ¬((r(V ) ∨ p(V )) ∧ s(U,V ))) (6)

é convertida para

q(V ,a) ∧ ((¬r(V ) ∧ ¬p(V )) ∨ ¬s(a,V ))) (7)

As variáveis podem ser renomeadas de tal forma que amesma variável não ocorra em conjunções diferentes(principais) da expressão fato. A renomeação de variáveisneste exemplo leva à expressão:

q(W ,a) ∧ ((¬r(V ) ∧ ¬p(V )) ∨ ¬s(a,V )). (8)

Uma expressão na forma E/OU consiste de subexpressõesde literais conectados por símbolos “∧” e “∨”.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 15/46

Page 16: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 16/46

Page 17: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Grafos E/OU

Um grafo E/OU pode ser usado para representar umaexpressão fato na forma E/OU.Por exemplo, a árvore E/OU a seguir representa aexpressão fato posta na forma E/OU acima.Cada subexpressão da expressão fato é representada porum vértice no grafo.As subexpressões relacionadas disjuntivamente, E1, ...,Ek ,de um fato, (E1 ∨ ... ∨ Ek ), são representadas por vérticesdescendentes conectados a seus vértices pais por umconector-k (que contém um arco de ligação entre osdescendentes).Cada subexpressão conjuntiva, E1, ...,En, de umaexpressão, (E1 ∧ ... ∧ En), é representada por um únicovértice descendente conectado ao vértice pai por umconector-l .

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 17/46

Page 18: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Grafos E/OU

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 18/46

Page 19: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Grafos E/OU

Os vértices folhas da representação de grafo E/OU deuma expressão fato estão rotulados pelos literais queocorrem na expressão.O vértice raiz não tem nenhum ancestral no grafo.Uma propriedade interessante da representação de grafoE/OU de uma fórmula é que o conjunto de cláusulas noqual a fórmula pode ser convertido, pode ser visto como oconjunto de grafos solução (terminando em vérticesfolhas) do grafo E/OU.Então, as cláusulas que resultam da expressãoq(W ,a) ∧ ((¬r(V ) ∧ ¬p(V )) ∨ ¬s(a,V )) são:

q(W ,a)¬s(a,V )¬r(V )¬s(a,V )¬p(V )

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 19/46

Page 20: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 20/46

Page 21: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Regras e Grafos E/OU

As regras de produção usadas pelo sistema de produçãoprogressivo são aplicadas a estruturas de grafos E/OUpara produzir estruturas de grafos transformadas.Estas regras são baseadas em fórmulas implicacionaisque representam conhecimento assercional geral sobreum domínio de problema.Para simplificar, limitou-se os tipos de fórmulas permitidascomo regras àquelas da forma L→W , onde L é um literalúnico, W é uma fórmula arbitrária (assumida estar naforma E/OU), e quaisquer variáveis ocorrendo naimplicação são assumidas ter quantificação universalsobre a implicação inteira.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 21/46

Page 22: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Usando fórmula meta para terminação

O objetivo do sistema de produção progressivo é provaralguma fórmula meta a partir de uma fórmula fato e de umconjunto de regras.Este sistema progressivo é limitado em relação ao tipo deexpressões metas que ele pode provar; especificamente,ele pode provar apenas as fórmulas metas cuja forma sejauma disjunção de literais.Representa-se esta fórmula meta por um conjunto deliterais e assume-se que os membros deste conjunto estãorelacionados disjuntivamente.Os literais metas (assim como as regras) podem serusados para adicionar descendentes ao grafo E/OU.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 22/46

Page 23: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Usando fórmula meta para terminação

Quando um dos literais metas unifica com um literalrotulando um vértice literal, n, do grafo, adiciona-se umnovo descendente do vértice n, rotulado pelo literal metaunificado, ao grafo.Este descendente é chamado de vértice meta.Os vértices metas são conectados aos seus pais por arcosde matching.O sistema de produção termina de forma bem sucedidaquando produz um grafo E/OU contendo um grafo soluçãoque termina em vértices metas. (Na terminação, o sistemainferiu uma cláusula idêntica a alguma subparte dacláusula meta.)

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 23/46

Page 24: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

Passos do encadeamento progressivo

Para resolver um problema através do encadeamentoprogressivo, é necessária a execução de alguns passos:

1 Verificar se os elementos estão no formato adequado: ofato deve estar na forma E/OU; as regras devem ter apenasum literal como antecedente e a meta deve ser umadisjunção de literais. Se a meta não obedecer a estaexigência, não é possível resolver através doencadeamento progressivo;

2 Construir o grafo E/OU para a expressão fato;3 Construir o grafo do conhecimento para a expressão fato,

aplicando as regras no grafo E/OU;4 Obter as cláusulas-P a partir do grafo do conhecimento;5 Verificar se a meta foi alcançada a partir do conjunto de

cláusulas obtidas. Lembre-se de que este conjunto é umaconjunção de cláusulas-P, ou seja, uma conjunção dedisjunções.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 24/46

Page 25: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 25/46

Page 26: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Regressivo: dual ao progressivo

Uma propriedade importante da lógica é a dualidade entreasserções e metas em sistemas de prova de teoremas.Já foi vista uma instância deste princípio de dualidade nossistemas de refutação por resolução.Lá a fórmula meta era negada, convertida na forma decláusula, e adicionada às asserções em forma decláusulas também.A dualidade entre asserções e metas permite que a metanegada seja tratada como se fosse uma asserção.Os sistemas de refutação por resolução aplicam resoluçãoao conjunto de cláusulas combinadas até que a cláusulavazia (denotando F) seja produzida.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 26/46

Page 27: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Regressivo: dual ao progressivo

Pode-se também imaginar sistemas mistos nos quais trêsformas diferentes de resolução são usadas, a resoluçãoentre asserções, a resolução entre expressões metas e aresolução entre uma asserção e uma meta.O sistema progressivo descrito no último item deveria serapontado como um destes sistemas mistos porqueenvolve a unificação de um literal fato no grafo E/OU comum literal meta.O sistema de produção regressivo, descrito aqui, étambém um sistema misto que é, de alguma forma, dualao sistema progressivo.Sua operação envolve os mesmos tipos de representaçõese mecanismos que são usados no sistema progressivo.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 27/46

Page 28: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 28/46

Page 29: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Fórmula meta na forma E/OU

O sistema regressivo é capaz de tratar de expressõesmetas de forma arbitrária.Primeiro, converte-se a fórmula meta na forma E/OU pelomesmo tipo de processo usado para converter umaexpressão fato:

elimina-se os símbolos→,move-se os símbolos de negação para dentro,skolemiza-se as variáveis universais, e no finalelimina-se os quantificadores existenciais.

As variáveis restantes na forma E/OU de uma expressãometa têm assumida a quantificação existencial.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 29/46

Page 30: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Fórmula meta na forma E/OU

Por exemplo, a expressão meta:

∃Y∀X (p(X )→ (q(X ,Y ) ∧ ¬(r(X ) ∧ s(Y )))) (9)

é convertida para

¬p(f (Y )) ∨ (q(f (Y ),Y ) ∧ (¬r(f (Y )) ∨ ¬s(Y ))), (10)

onde f(Y) é uma função de Skolem. A padronização dasvariáveis nas disjunções (principais) da meta leva a:

¬p(f (Z )) ∨ (q(f (Y ),Y ) ∧ (¬r(f (Y )) ∨ ¬s(Y ))). (11)

(Note que a variável Y não pode ser renomeada dentro dasubexpressão disjuntiva.)

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 30/46

Page 31: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Fórmula meta como grafo E/OU

As fórmulas metas na forma E/OU podem serrepresentadas como grafos E/OU.Mas com expressões metas, os conectores-k nestesgrafos são usados para separar conjuntivamentesubexpressões relacionadas.A representação do grafo E/OU para a fórmula metaexemplo acima é mostrada na próxima figura.Os vértices folhas deste grafo são rotulados pelos literaisda expressão meta.Nos grafos metas E/OU, chama-se qualquer descendentedo vértice raiz de vértice submeta.As expressões que rotulam tais vértices descendentes sãochamadas de submetas.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 31/46

Page 32: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Expressão meta na forma E/OU

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 32/46

Page 33: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Cláusulas metas

O conjunto de cláusulas na representação de forma decláusula desta fórmula meta pode ser lida a partir doconjunto de grafos solução terminando em vértices folhas:

¬p(f (z))q(f (Y ),Y ) ∧ ¬r(f (Y ))q(f (Y ),Y ) ∧ ¬s(Y )

As cláusulas metas são conjunções de literais e adisjunção destas cláusulas é a forma de cláusula dafórmula meta.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 33/46

Page 34: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Aplicando regras no sentido regressivo

As regras-R para este sistema são baseadas emimplicações assercionais.Elas são asserções assim como são as regras-P nosistema progressivo.Agora, entretanto, vai-se restringir as regras-R aexpressões da forma W → L, onde W é qualquer fórmula(assumida estar na forma E/OU), L é um literal, e o escopoda quantificação de quaisquer variáveis na implicação é aimplicação inteira.Novamente, a restrição de regras-R a implicações destaforma simplifica a unificação e não causa dificuldadespráticas importantes.Também, uma implicação tal como W → (L1 ∧ L2) podeser convertida a duas regras W → L1 e W → L2.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 34/46

Page 35: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Aplicando regras no sentido regressivo

Tal regra-R é aplicável a um grafo E/OU representandouma fórmula meta se esse grafo contém um vértice literalrotulado por L’ que unifica com L.O resultado da aplicação da regra é adicionar um arco dematching a partir do vértice rotulado por L’ para um vérticedo novo descendente rotulado por L.Este novo vértice é o vértice raiz da representação dografo E/OU de Wu onde u é o u.m.g. de L e L’.Este u.m.g. rotula o arco de matching no grafotransformado.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 35/46

Page 36: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

A condição de terminação

As expressões fatos usadas pelo sistema regressivo sãolimitadas àquelas na forma de uma conjunção de literais.Tais expressões podem ser representadas como umconjunto de literais.Análogo ao sistema progressivo, quando um literal fatounifica com um literal rotulando um vértice literal do grafo,um descendente correspondente vértice fato pode seradicionado ao grafo.Este vértice fato é ligado ao vértice literal da submetaunificada por um arco de matching rotulado pelo u.m.g..

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 36/46

Page 37: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

A condição de terminação

O mesmo literal fato pode ser usado várias vezes (comvariáveis diferentes em cada uso) para criar vértices fatosmúltiplos.A condição para terminação bem sucedida para o sistemaregressivo é que o grafo E/OU contenha um grafo desolução consistente terminando em vértices fatos.Novamente, um grafo de solução consistente é aqueleonde as substituições do arco de matching têm umacomposição unificadora.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 37/46

Page 38: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Passos do encadeamento regressivo

Para resolver um problema através do encadeamentoregressivo, é necessária a execução de alguns passos:

1 Verificar se os elementos estão no formato adequado: ameta deve estar na forma E/OU; as regras devem terapenas um literal como conseqüente e o fato deve ser umaconjunção de literais. Se o fato não obedecer a estaexigência, não é possível resolver através doencadeamento regressivo;

2 Construir o grafo E/OU para a expressão meta;3 Construir o grafo do conhecimento para a expressão meta,

aplicando as regras no grafo E/OU;4 Obter as cláusulas-R a partir do grafo do conhecimento;5 Verificar se o fato pode ser verificado a partir do conjunto

de cláusulas obtidas. Lembre-se de que este conjunto éuma disjunção de cláusulas-R, ou seja, uma disjunção deconjunções.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 38/46

Page 39: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Sumário

1 Sistemas Baseados em ConhecimentoRepresentação do ConhecimentoImplicações da lógicaEncadeamentos lógicos

2 Encadeamento ProgressivoA forma E/OU para Expressões de FatosUsando Grafos E/OU para Representar FatosUsando Regras para Transformar Grafos E/OU

3 Encadeamento RegressivoA dualidade da lógicaExpressão metaResolvendo regressivamente

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 39/46

Page 40: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Resolvendo dentro do grafo E/OU

O sistema regressivo descrito não é capaz de provarexpressões de metas válidas ou tautológicas como(¬p ∨ p) a menos que ele possa provar ¬p ou pseparadamente.O sistema progressivo não pode reconhecer expressõesfatos contraditórias como (¬p ∧ p).Com a finalidade de superar estas deficiências, ossistemas devem ser capazes de realizar inferênciasintrameta ou intrafato.Vai-se descrever como certas inferências intrameta podemser realizadas.Considere, por exemplo, as seguintes expressões usadasnum sistema regressivo:

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 40/46

Page 41: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Resolvendo dentro do grafo E/OU

Meta: (p(X ,Y ) ∨ q(X ,Y )) ∧ v(X ,Y )

Regras:R1: (r(V ) ∧ s(U,b))→ p(U,V )R2: (¬s(a,S) ∧ w(R))→ q(R,S)

Fatos: r(b) ∧ w(b) ∧ v(a,b) ∧ v(b,b)

Depois de aplicar as regras R1 e R2, tem-se o grafo E/OUmostrado na próxima figura.Este grafo tem dois literais complementares cujospredicados unificam com u.m.g. {X/a,Y/b}.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 41/46

Page 42: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Expressão meta na forma E/OU

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 42/46

Page 43: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Resolvendo dentro do grafo E/OU

O procedimento Resolução de Meta Restrita (“RGR” -Restricted Goal Resolution) permite eliminar vértices folhacomplementares numa disjunção, para efeito desimplificação do grafo E/OU.Um outro procedimento possível, caso o grafo gerado nãoresolva o problema, é gerar um outro grafo, partindo daexpressão obtida através da aplicação da propriedadedistributiva.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 43/46

Page 44: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Uma Combinação de Progressivo e Regressivo

Ambos os sistemas de dedução baseados em regras,progressivo e regressivo, têm limitações.O sistema regressivo pode manipular expressões metasde forma arbitrária mas está restrito a expressões fatosconsistindo de conjunções de literais.O sistema progressivo pode manipular expressões fatosde forma arbitrária mas está restrito a expressões metasconsistindo de disjunções de literais.Pode-se combinar os dois sistemas e tirar vantagens decada um sem as limitações de ambos?

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 44/46

Page 45: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Sistemas Baseados em ConhecimentoEncadeamento ProgressivoEncadeamento Regressivo

A dualidade da lógicaExpressão metaResolvendo regressivamente

Uma Combinação de Progressivo e Regressivo

Quatro fatores influenciam a razão de se escolherraciocinar progressivamente ou regressivamente [3]:

1 Existem mais estados iniciais ou metas?É preferível mover de um conjunto de estados menor paraum maior (e portanto mais fácil de achar).

2 Em qual direção o fator de ramificação é maior?(fator de ramificação é o nro médio de vértices que podemser alcançados diretamente de um único vértice.) É melhormover na direção com o fator de ramificação menor.

3 O programa terá que justificar seu processo de raciocíniopara o usuário?

Se tiver, é importante mover na direção que corresponde àforma como o usuário está pensando.

4 Que tipo de evento irá iniciar um episódio de resolução deproblema?

Se for a chegada de um novo fato, o raciocínio progressivofaz sentido. Se for desejada a resposta de uma pergunta, oraciocínio regressivo é mais natural.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 45/46

Page 46: SCC-630 - Capítulo 4 Raciocínio Baseado em Regraswiki.icmc.usp.br/images/8/8b/IA4-2011.pdf · Sistemas Baseados em Conhecimento Encadeamento Progressivo Encadeamento Regressivo

Apêndice Bibliografia

Referências I

[1] Casanova, M. A., Giorno, F. A. C., Furtado, A. L.Programação em Lógica e a Linguagem Prolog.Ed. Edgard Blücher Ltda., 1987

[2] Nilsson, N. J.Principles of Artificial Intelligence.Springer-Verlag; 1982.

[3] Rich, E. and Knight, K.Artificial Intelligence - 2nd. Edition.McGraw-Hill, 1991

[4] Rosa, J. L. G.Fundamentos da Inteligência Artificial.Editora LTC. Rio de Janeiro, 2011. No prelo.

João Luís G. Rosa c© 2011 - SCC-630: IV. Raciocínio Baseado em Regras 46/46