Académique Documents
Professionnel Documents
Culture Documents
Analyses
Algorithmes d’inférences
Apport de l’IA
03 mars 2020
1/86
Plan du Chapitre
1 Introduction
2 Analyses
3 Algorithmes d’inférences
4 Apport de l’IA
2/86
Intelligence humaine
3/86
KB-Agent
4/86
Base de Connaissances
5/86
fonction KB_AGENT()
Variable Globales :
KB : une base de connaissance
t : un compteur qui indique le nombre de fois que la fonction
est exécutée, initialement t = 0
⇒ Programmation déclarative.
6/86
Analyse de l’énoncé
7/86
Inférence logique
8/86
9/86
Où @ ∈ {∧, ∨, ⇒, ⇔}
En l’absence des parenthèses :
l’ordre de priorité est le suivant : {¬, ∧, ∨ ⇒, ⇔}
avec le même opérateur, l’ordre de priorité est de gauche à
droite.
10/86
Formulation 1/4
11/86
Formulation 2/4
Conjonction : α ∧ β
α et β
β et α
à la fois α et β
α bien que β
α quoique β
α mais aussi β
Non seulement α mais β
α et pourtant β
α tandis que β
12/86
Formulation 3/4
Disjonction : α ∨ β
α ou β
Ou α ou β
Ou bien α ou bien β
Soit α soit β
α sauf si β
α ou β ou le deux
⇒ Il arrivera les situations ou il faudra distinguer le "ou exclusif" du
"ou inclusif".
Exemple :
la porte est ouverte ou la porte est fermée.
13/86
Formulation 4/4
Implication : α ⇒ β
Si α alors β
α condition suffisante de β
β condition nécessaire de α
α alors β
β si α
β lorsque α
α seulement si β
β pourvu que α
Seul β est α
14/86
Valeur de vérité
15/86
Table de vérité
∨ est un ou inclusif
P⇒Q n’a de sens que si P est Vrai
16/86
18/86
Validité : un énoncé est valide (ou est une tautologie) s’il est Vrai
dans toutes les interprétations ;
⇒ Tout énoncé valide est logiquement équivalent à Vrai.
⇒ Si un énoncé est Faux dans au moins une interprétation, il est
invalide.
Satisfiabilité : un énoncé est insatisfiable (ou inconsistant ou
est une contradiction) s’il est Faux dans toutes les
interprétations ;
⇒ Tout énoncé insatisfiable est logiquement équivalent à Faux ;
⇒ Si l’énoncé est Vrai dans (satisfait par) au moins une interprétation,
il est satisfiable (consistant).
⇒ Le problème SAT : problème de détermination de la
satisfiabilité des énoncés en logique propositionnelle.
Contingence : un énoncé est contingent s’il est Vrai dans
certaines interprétations et Faux dans d’autres.
19/86
20/86
Théorème de la déduction
Soient α et β, 2 énoncés ; on a α |= β si et seulement si l’énoncé (α ⇒ β) est valide.
21/86
Règle d’inférence
22/86
23/86
Théorème de la CNF
Tout énoncé est logiquement équivalente à une forme normale
conjonctive.
25/86
Principe de résolution
26/86
27/86
Le monde de wumpus
28/86
29/86
30/86
Algorithmes d’inférence
31/86
Debut
symboles ← une liste de propositions dans KB et α
retourner EST_TV_VÉRIFIÉ (KB, α, symboles, {})
Fin
32/86
VIDE(symboles)= VRAI
EST_VRAI(KB, assignation) = FAUX car R1 = FAUX ;
⇒ retourner Vrai
P = P3,1
reste = [] = symboles
assignation = {B1,1 = Vrai, B2,1 = Vrai, ...,P2,2 =Vrai,P3,1 = Faux}
EST_TV_VÉRIFIÉ(KB, α, symboles,assignation)
VIDE(symboles)= VRAI
EST_VRAI(KB, assignation) = FAUX car R1 = FAUX ;
⇒ retourner Vrai
35/86
36/86
37/86
38/86
Debut
flag ← Faux
Faire
Si (α est dans KB) Alors
flag ← Vrai
Sinon
Si (il existe une règle d’inférence dans ACTION(KB) telle que sa
conclusion ne soit pas dans KB) Alors
conclusion ← RESULTAT(KB, règle)
Ajouter nouvelle conclusion dans KB
FinSi
FinSi
Tant que ((NON(flag)) ET (la conclusion est nouvelle dans KB))
retourner flag
Fin
39/86
40/86
41/86
43/86
44/86
45/86
C3 : ¬P1,2 ∨ B1,1
B1,1 : C12
C11 : P1,2
C12 : B1,1
∅
C9 : ¬B1,1
46/86
47/86
48/86
49/86
50/86
51/86
52/86
Problèmes NP-complets
Un problème de satisfiabilité (problème SAT) est un problème qui
consiste à déterminer si une formule propositionnelle en CNF
admet ou non un modèle.
Le problème SAT est un problème NP-Complet
⇒ A plus de 2 littéraux par clause, il n’existe pas encore un
algorithme déterministe qui résout tous les problèmes de
satisfiabilité en un temps polynomial.
Le problème SAT est le prototype des problèmes NP
⇒ il a été prouvé que tout problème NP pouvait se ramener à
SAT en temps polynomial.
⇒ On a P ⊆ NP. Cependant il a été montré que :
P = NP ⇔ SAT ∈ P.(Cook, 1971).
Tous les algorithmes d’inférence vus ont dans le pire des cas
une complexité exponentielle qui est fonction du nombre de
variables (taille en entrée)
53/86
Illustration
54/86
L’apport de l’IA
55/86
Clauses de Horn
Clauses de Horn
57/86
Fonction EST_HORN_RÉSOLUTION()2/3
59/86
Fonction EST_HORN_RÉSOLUTION()3/3
60/86
61/86
63/86
67/86
68/86
69/86
70/86
Élagage
71/86
72/86
74/86
fonction EST_DPLL_SATISFIABLE()2/2
75/86
Exemple1
76/86
Exemple1
77/86
Exemple1
Illustrons l’algorithme DPLL en opérant les choix guidés par l’ordre
alphabétique des variables. On a les 3 appels de DPLL suivants :
1 On affecte la valeur Faux à B1,1 après le premier appel de la
fonction TROUVER-CLAUSE-UNITAIRE(). Ceci a les
conséquences suivantes :
les clauses C2 et C9 deviennent Vrai
les clauses C3 et C4 sont respectivement équivalentes à ¬P1,2 et
¬P2,1 , qui deviennent ainsi les clauses unitaires.
2 P2,1 est un symbole pur ; la clause C4 devient Vrai.
3 On affecte la valeur Faux à ¬P1,2 après le second appel de la
fonction TROUVER-CLAUSE-UNITAIRE(). Ceci a les
conséquences suivantes :
la clause C3 devient Vrai
la clause C12 devient Faux. ⇒ On sort donc de la fonction DPLL en
renvoyant Faux.
⇒ L’ensemble de clause est donc insatisfiable.
78/86
Exemple2
79/86
Exemple2
80/86
Exemple2
81/86
Exemple2
Appels 0 1 2 et 3 4
C1 : ¬P1,1
C2 : ¬B1,1 ∨ P1,2 ∨ P2,1 Vrai
C3 : ¬P1,2 ∨ B1,1 ¬P1,2 Vrai
C4 : ¬P2,1 ∨ B1,1 ¬P2,1 Vrai
C5 : ¬B2,1 ∨ P1,1 ∨ P2,2 ∨ P3,1 P1,1 ∨ P2,2 ∨ P3,1
C6 : ¬P1,1 ∨ B2,1 Vrai
C7 : ¬P2,2 ∨ B2,1 Vrai
C8 : ¬P3,1 ∨ B2,1 Vrai
C9 : ¬B1,1 Vrai
C10 : B2,1 Vrai
C11 : P2,2
82/86
Exemple2
83/86
L’algorithme WALKSAT
modèle ou echec FONCTION WALKSAT (s, p, max_flips)
Objectif : Dire par WALKSAT si un ensemble de clauses s est satisfiable
entrée
s : un ensemble des clauses ;
p : la probabilité de choisir un parcours aléatoire, généralement autour de 0,5 ;
max_flips : nombre de bascules autorisées avant de renoncer.
Debut
modèle ← une assignation aléatoire des propositions
Pour i←1 (+1) max_flips faire
Si modèle satisfait s alors retourner modèle
clause ← RAMDOM-CLAUSE-NON-SATISFAITE(modèle)
proposition ← CHOIX-SYMBOLE(clause, p)
modèle ← UPDATE-MODELE-BASCULER (proposition)
FinPour
retourner échec
Fin
85/86
L’algorithme WALKSAT
86/86