Na inteligência artificial, o encadeamento para frente e para trás é um dos tópicos importantes, mas antes de entender o encadeamento para frente e para trás, vamos primeiro entender de onde vieram esses dois termos.
execlp
Motor de inferência:
O motor de inferência é o componente do sistema inteligente de inteligência artificial, que aplica regras lógicas à base de conhecimento para inferir novas informações a partir de fatos conhecidos. O primeiro mecanismo de inferência fazia parte do sistema especialista. O mecanismo de inferência geralmente funciona em dois modos, que são:
Cláusula Horn e Cláusula Definida:
Cláusula de Horn e cláusula definida são as formas das sentenças, o que permite que a base de conhecimento use um algoritmo de inferência mais restrito e eficiente. Algoritmos de inferência lógica usam abordagens de encadeamento direto e reverso, que requerem KB na forma de cláusula definida de primeira ordem .
Cláusula definitiva: Uma cláusula que é uma disjunção de literais com exatamente um literal positivo é conhecida como cláusula definida ou cláusula de chifre estrita.
Cláusula de chifre: Uma cláusula que é uma disjunção de literais com no máximo um literal positivo é conhecida como cláusula de chifre. Conseqüentemente, todas as cláusulas definidas são cláusulas chifre.
Exemplo: (¬ p V ¬ q V k) . Possui apenas um literal positivo k.
É equivalente a p ∧ q → k.A. Encadeamento direto
O encadeamento direto também é conhecido como dedução direta ou método de raciocínio direto ao usar um mecanismo de inferência. O encadeamento direto é uma forma de raciocínio que começa com sentenças atômicas na base de conhecimento e aplica regras de inferência (Modus Ponens) na direção direta para extrair mais dados até que um objetivo seja alcançado.
O algoritmo Forward-chaining parte de fatos conhecidos, aciona todas as regras cujas premissas são satisfeitas e adiciona suas conclusões aos fatos conhecidos. Este processo se repete até que o problema seja resolvido.
Propriedades do encadeamento direto:
- É uma abordagem descendente, pois se move de baixo para cima.
- É um processo de tirar uma conclusão com base em fatos ou dados conhecidos, partindo do estado inicial e atingindo o estado objetivo.
- A abordagem de encadeamento direto também é chamada de orientada por dados, à medida que alcançamos a meta usando os dados disponíveis.
- A abordagem de encadeamento direto é comumente usada em sistemas especialistas, como CLIPS, sistemas de regras de negócios e de produção.
Considere o seguinte exemplo famoso que usaremos em ambas as abordagens:
Exemplo:
“De acordo com a lei, é crime um americano vender armas a nações hostis. O país A, um inimigo da América, tem alguns mísseis, e todos os mísseis foram vendidos a ele por Robert, que é um cidadão americano.'
Prove isso 'Robert é um criminoso.'
Para resolver o problema acima, primeiro converteremos todos os fatos acima em cláusulas definidas de primeira ordem e, em seguida, usaremos um algoritmo de encadeamento direto para atingir o objetivo.
Conversão de fatos em FOL:
- É um crime um americano vender armas a nações hostis. (Digamos que p, q e r são variáveis)
Americano (p) ∧ arma(q) ∧ vende (p, q, r) ∧ hostil(r) → Criminoso(p) ...(1) - O país A tem alguns mísseis. ?p Possui (A, p) ∧ Míssil (p) . Pode ser escrito em duas cláusulas definidas usando Instanciação Existencial, introduzindo a nova Constante T1.
Possui(A, T1) ......(2)
Míssil(T1) .......(3) - Todos os mísseis foram vendidos ao país A por Robert.
?p Mísseis (p) ∧ Possui (A, p) → Vende (Robert, p, A) ......(4) - Mísseis são armas.
Míssil(p) → Armas (p) .......(5) - O inimigo da América é conhecido como hostil.
Inimigo(p, América) →Hostil(p) ........(6) - O país A é um inimigo da América.
Inimigo (A, América) .........(7) - Robert é americano
americano(Roberto). ..........(8)
Prova de encadeamento direto:
Passo 1:
Na primeira etapa começaremos com os fatos conhecidos e escolheremos as frases que não têm implicações, tais como: Americano(Robert), Inimigo(A, América), Possuidor(A, T1) e Míssil(T1) . Todos esses fatos serão representados a seguir.
Passo 2:
Na segunda etapa, veremos os fatos que inferem a partir de fatos disponíveis e com premissas satisfeitas.
A regra-(1) não satisfaz as premissas, portanto não será adicionada na primeira iteração.
As regras (2) e (3) já foram adicionadas.
Regra-(4) satisfaz com a substituição {p/T1}, então Vende (Robert, T1, A) é adicionado, o que infere da conjunção das Regra (2) e (3).
A Regra-(6) é satisfeita com a substituição(p/A), então Hostil(A) é adicionado e infere da Regra-(7).
Etapa 3:
Na etapa 3, como podemos verificar a Regra-(1) está satisfeita com a substituição {p/Robert, q/T1, r/A}, então podemos adicionar Criminal(Robert) que infere todos os fatos disponíveis. E, portanto, alcançamos nossa declaração de meta.
Portanto, está provado que Robert é um criminoso usando a abordagem de encadeamento direto.
B. Encadeamento reverso:
O encadeamento reverso também é conhecido como dedução retroativa ou método de raciocínio reverso ao usar um mecanismo de inferência. Um algoritmo de encadeamento reverso é uma forma de raciocínio que começa com o objetivo e funciona de trás para frente, encadeando regras para encontrar fatos conhecidos que apoiem o objetivo.
Propriedades do encadeamento reverso:
- É conhecida como abordagem de cima para baixo.
- O encadeamento regressivo é baseado na regra de inferência do modus ponens.
- No encadeamento regressivo, o objetivo é dividido em subobjetivos ou subobjetivos para provar a veracidade dos fatos.
- É chamada de abordagem orientada por objetivos, pois uma lista de objetivos decide quais regras são selecionadas e usadas.
- O algoritmo de encadeamento reverso é usado na teoria dos jogos, ferramentas automatizadas de prova de teoremas, mecanismos de inferência, assistentes de prova e vários aplicativos de IA.
- O método de encadeamento regressivo usou principalmente um pesquisa em profundidade estratégia para prova.
Exemplo:
No encadeamento regressivo, usaremos o mesmo exemplo acima e reescreveremos todas as regras.
Possui(A, T1) ........(2)
Prova de encadeamento reverso:
No encadeamento reverso, começaremos com nosso predicado de meta, que é Criminoso (Roberto) e, em seguida, inferir regras adicionais.
Passo 1:
Na primeira etapa, consideraremos o fato objetivo. E a partir do fato objetivo, inferiremos outros fatos e, por fim, provaremos que esses fatos são verdadeiros. Portanto, nosso fato objetivo é 'Robert é um criminoso', então o seguinte é o predicado disso.
Passo 2:
Na segunda etapa, inferiremos outros fatos do fato objetivo que satisfazem as regras. Assim, como podemos ver na Regra 1, o predicado objetivo Criminoso (Robert) está presente com a substituição {Robert/P}. Portanto, adicionaremos todos os fatos conjuntivos abaixo do primeiro nível e substituiremos p por Robert.
Aqui podemos ver que Americano (Robert) é um fato, então está provado aqui.
Etapa 3: t Na etapa 3, extrairemos mais Míssil de fato(q) que infere da Arma(q), visto que satisfaz a Regra-(5). A arma (q) também é verdadeira com a substituição de uma constante T1 em q.
Passo 4:
Na etapa 4, podemos inferir os fatos Míssil (T1) e Possui (A, T1) de Vendas (Robert, T1, r) que satisfazem o Regra- 4 , com a substituição de A no lugar de r. Portanto, essas duas afirmações são provadas aqui.
Etapa 5:
Na etapa 5, podemos inferir o fato Inimigo (A, América) de Hostil (A) o que satisfaz a Regra 6. E, portanto, todas as afirmações são provadas verdadeiras usando encadeamento regressivo.