En intelligence artificielle, le chaînage avant et arrière est l’un des sujets importants, mais avant de comprendre le chaînage avant et arrière, comprenons d’abord d’où viennent ces deux termes.
déclaration de cas Verilog
Moteur d'inférence :
Le moteur d'inférence est le composant du système intelligent de l'intelligence artificielle, qui applique des règles logiques à la base de connaissances pour déduire de nouvelles informations à partir de faits connus. Le premier moteur d'inférence faisait partie du système expert. Le moteur d'inférence procède généralement selon deux modes, à savoir :
Clause de corne et clause définie :
La clause Horn et la clause définie sont des formes de phrases qui permettent à la base de connaissances d'utiliser un algorithme d'inférence plus restreint et plus efficace. Les algorithmes d'inférence logique utilisent des approches de chaînage avant et arrière, qui nécessitent des Ko sous la forme de clause définie du premier ordre .
Clause définie : Une clause qui est une disjonction de littéraux avec exactement un littéral positif est connue sous le nom de clause définie ou de clause de corne stricte.
Clause de corne : Une clause qui est une disjonction de littéraux avec au plus un littéral positif est connue sous le nom de clause de corne. Par conséquent, toutes les clauses définies sont des clauses cornes.
Exemple : (¬ p V ¬ q V k) . Il n’a qu’un seul littéral positif k.
C'est équivalent à p ∧ q → k.A. Chaînage avant
Le chaînage direct est également connu sous le nom de méthode de déduction directe ou de raisonnement direct lors de l'utilisation d'un moteur d'inférence. Le chaînage avant est une forme de raisonnement qui commence par des phrases atomiques dans la base de connaissances et applique des règles d'inférence (Modus Ponens) dans le sens direct pour extraire plus de données jusqu'à ce qu'un objectif soit atteint.
L'algorithme Forward-chaining part de faits connus, déclenche toutes les règles dont les prémisses sont satisfaites et ajoute leur conclusion aux faits connus. Ce processus se répète jusqu'à ce que le problème soit résolu.
Propriétés du Forward-Chaining :
- Il s’agit d’une approche descendante, car elle va de bas en haut.
- Il s'agit d'un processus consistant à tirer une conclusion basée sur des faits ou des données connus, en partant de l'état initial et en atteignant l'état objectif.
- L'approche de chaîne avant est également appelée « basée sur les données » lorsque nous atteignons l'objectif en utilisant les données disponibles.
- L'approche de chaîne avant est couramment utilisée dans les systèmes experts, tels que CLIPS, les systèmes de règles métier et de production.
Considérons l'exemple célèbre suivant que nous utiliserons dans les deux approches :
Exemple:
« Conformément à la loi, c'est un crime pour un Américain de vendre des armes à des nations hostiles. Le pays A, ennemi de l'Amérique, possède des missiles, et tous les missiles lui ont été vendus par Robert, qui est un citoyen américain.
Prouve-le « Robert est un criminel. »
Pour résoudre le problème ci-dessus, nous allons d’abord convertir tous les faits ci-dessus en clauses définies de premier ordre, puis nous utiliserons un algorithme de chaînage avant pour atteindre l’objectif.
Conversion des faits en FOL :
- C'est un crime pour un Américain de vendre des armes à des nations hostiles. (Disons que p, q et r sont des variables)
Américain (p) ∧ arme(q) ∧ vend (p, q, r) ∧ hostile(r) → Criminel(p) ...(1) - Le pays A possède des missiles. ?p Possède(A, p) ∧ Missile(p) . Il peut être écrit en deux clauses définies en utilisant l'instanciation existentielle, en introduisant la nouvelle constante T1.
Possède(A, T1) ......(2)
Missile(T1) .......(3) - Tous les missiles ont été vendus au pays A par Robert.
?p Missiles(p) ∧ Possède (A, p) → Vend (Robert, p, A) ......(4) - Les missiles sont des armes.
Missile(p) → Armes (p) .......(5) - L’ennemi de l’Amérique est connu comme hostile.
Ennemi (p, Amérique) → Hostile (p) ........ (6) - Le pays A est un ennemi de l’Amérique.
Ennemi (A, Amérique) .........(7) - Robert est américain
Américain(Robert). ..........(8)
Preuve de chaînage avant :
Étape 1:
Dans un premier temps, nous partirons des faits connus et choisirons les phrases qui n'ont pas d'implications, telles que : Américain (Robert), Ennemi (A, Amérique), Possède (A, T1) et Missile (T1) . Tous ces faits seront représentés comme ci-dessous.
Étape 2:
Dans un deuxième temps, nous verrons les faits qui se déduisent des faits disponibles et avec des prémisses satisfaites.
La règle (1) ne satisfait pas aux prémisses, elle ne sera donc pas ajoutée lors de la première itération.
Les règles (2) et (3) sont déjà ajoutées.
Règle-(4) satisfaite avec la substitution {p/T1}, donc vend (Robert, T1, A) est ajouté, ce qui déduit de la conjonction des règles (2) et (3).
La règle-(6) se satisfait de la substitution (p/A), donc Hostile(A) est ajouté et qui déduit de la règle-(7).
Étape 3:
A l'étape 3, comme nous pouvons le vérifier, la règle-(1) est satisfaite de la substitution {p/Robert, q/T1, r/A}, pour que nous puissions ajouter Criminal(Robert) qui déduit tous les faits disponibles. Et c’est ainsi que nous avons atteint notre objectif.
Il est donc prouvé que Robert est criminel en utilisant une approche de chaînage avant.
B. Chaînage arrière :
Le chaînage en arrière est également connu sous le nom de méthode de déduction en arrière ou de raisonnement en arrière lors de l'utilisation d'un moteur d'inférence. Un algorithme de chaînage arrière est une forme de raisonnement qui commence par l'objectif et travaille à rebours, enchaînant les règles pour trouver des faits connus qui soutiennent l'objectif.
Propriétés du chaînage arrière :
- C’est ce qu’on appelle une approche descendante.
- Le chaînage en amont est basé sur la règle d'inférence du modus ponens.
- Dans le chaînage arrière, l'objectif est divisé en sous-objectifs ou sous-objectifs pour prouver la véracité des faits.
- C'est ce qu'on appelle une approche axée sur les objectifs, car une liste d'objectifs décide quelles règles sont sélectionnées et utilisées.
- L'algorithme de chaînage arrière est utilisé dans la théorie des jeux, les outils de preuve automatisés de théorèmes, les moteurs d'inférence, les assistants de preuve et diverses applications d'IA.
- La méthode de chaînage en arrière utilisait principalement un recherche en profondeur stratégie de preuve.
Exemple:
Dans le chaînage arrière, nous utiliserons le même exemple ci-dessus et réécrirons toutes les règles.
Possède(A, T1) ........(2)
Preuve de chaînage arrière :
Dans le chaînage arrière, nous commencerons par notre prédicat d'objectif, qui est Criminel (Robert) , puis en déduire d'autres règles.
Étape 1:
Dans un premier temps, nous prendrons le fait objectif. Et à partir du fait objectif, nous déduireons d’autres faits, et enfin, nous prouverons que ces faits sont vrais. Notre objectif est donc « Robert est un criminel », ce qui suit en est le prédicat.
Étape 2:
Dans un deuxième temps, nous déduireons d’autres faits à partir du fait objectif qui satisfait aux règles. Ainsi, comme nous pouvons le voir dans la règle 1, le prédicat de but Criminel (Robert) est présent avec la substitution {Robert/P}. Nous ajouterons donc tous les faits conjonctifs en dessous du premier niveau et remplacerons p par Robert.
Ici, nous pouvons voir que l'Américain (Robert) est un fait, donc c'est prouvé ici.
Étape 3: t À l'étape 3, nous extrairons d'autres faits Missile(q) qui déduisent de Weapon(q), car il satisfait à la règle (5). L'arme (q) est également vraie avec la substitution d'une constante T1 en q.
Étape 4:
À l'étape 4, nous pouvons déduire les faits Missile(T1) et Owns(A, T1) de la forme Sells(Robert, T1, r) qui satisfont à la Règle-4 , avec la substitution de A à la place de r. Ces deux affirmations sont donc prouvées ici.
Étape 5 :
A l'étape 5, nous pouvons déduire le fait Ennemi (A, Amérique) depuis Hostile (A) ce qui satisfait à la règle 6. Et par conséquent, toutes les déclarations sont prouvées vraies en utilisant le chaînage vers l'arrière.