Chapitre 2
Chapitre 2
Chapitre 2
⚫ IA Symbolique
► Introduction
► Logique des propositions
► Logique des prédicats
► Prolog
► IA Connexionniste
► Introduction à l'IA connexionniste
► Le perceptron : concept et fonctionnement
► Applications du perceptron (2TD, 2TP)
Sommaire
► Introduction
► Logique des propositions
► Logique des prédicats
► Prolog
Sommaire
► Introduction
► Logique des propositions
► Logique des prédicats
► Prolog
Classes de langage
• Langages impératifs :
Les langages impératifs comme C, Pascal et Java
sont largement utilisés dans le développement de
systèmes d'exploitation, de logiciels embarqués et
d'applications d'entreprise en raison de leur efficacité
et de leur contrôle direct sur le matériel.
• Langages orientés objet :
Les langages orientés objet comme Java, Python et
C++ sont populaires pour leur capacité à modéliser
des concepts du monde réel de manière efficace,
facilitant ainsi la réutilisation du code, la gestion de la
complexité et la collaboration au sein des équipes de
développement.
Classes de langage
• Langages fonctionnels :
Les langages fonctionnels comme Haskell, Lisp et
Scala gagnent en popularité en raison de leur
capacité à traiter les problèmes de manière
déclarative, à encourager l'immutabilité des données
et à tirer parti de la programmation parallèle et
distribuée.
• Langages déclaratifs :
Les langages déclaratifs tels que SQL et Prolog sont
largement utilisés respectivement pour la
manipulation de bases de données et la
programmation logique en raison de leur capacité à
spécifier le résultat souhaité plutôt que la manière de
l'obtenir.
Sommaire
► Introduction
► Logique des propositions
► Logique des prédicats
► Prolog
Trois aspects
► Logique booleen
► faux (0)
► vrai (1)
► Notion d’interprétation
► Donner une valeur de vérité à une variable
Tables de vérité : opérateurs
p ¬p ∧ 0 ∨ 0
0 1 1 0 0 1 0 1
1 0 0 0 1 0 1 1
1 1
→ 0 1 ↔ 0 1
0 1 1 0 1 0
1 0 1 1 0 1
∨ 0
¬p 1 1 1
1 0 1
Formules particulières(1)
p (¬ p) (p ∨ ¬
p) 1 1
0 0 1
1
∨ 0
1 0 1
0 1 1
1
Formules particulières(2)
?
p q ¬p ¬q p∧q ¬(p∧q) (¬ p ∨ ¬ q)
F
1 1 0 1 1 1
0 0 1 0 0 1 1 1
0 1 0 1 0 1 1 1
1 0 0 0 1 0 0 1
1 1
∧ 0 ∨ 0 ↔ 0 1
1 0 0 1 0 1 0 1 0
0 0 1 0 1 1 1 0 1
1 1
Formules particulières(3)
► Propriétés de ∨ et ∧
► associativité lois de De Morgan
► distributivité (dans les 2 sens)
► éléments neutres (0 pour ∨ et 1 pour ∧)
► éléments absorbants (1 pour ∨ et 0 pour ∧)
Formules particulières(3)
(p ∧ q) v (r ∧
Toute formule dus)
calcul propositionnel est tautologiquement
équivalente à une formule sous forme normale disjonctive
(p v q) ∧ (r v
s)
Toute formule du calcul propositionnel est tautologiquement
équivalente à une formule sous forme normale conjonctive
Exemples
Exemples de mise en forme normale conjonctive
1.((p ∧ q) v r) ∧ ((p ∧ q) v s)
2.( p v r) ∧ ( q v r) ∧ ((p ∧ q) v s)
3.( p v r) ∧ ( q v r) ∧ ( p v s) ∧ ( q v s)
(p -> q) -> p :
1.(¬p v q) -> p
2. ¬(¬ p v q) v p
3.(¬ ¬ p ∧ ¬ q) v p
4.( p ∧ ¬ q) v p
5.(p v p) ∧ (¬ q v p)
Troisième aspect
Conséquence logique
o Notion de réfutation
❖ démonstration par l’absurde
A G ssi F1 ∧ … ∧ Fn ∧ ¬ G est
inconsistante
Système formel
► Alphabet : L'ensemble des symboles de base utilisés dans le
système. Cela peut inclure des variables, des opérateurs, des
constantes, etc.
► Langage : L'ensemble des expressions ou des phrases bien formées
construites à partir de l'alphabet selon des règles syntaxiques
spécifiques.
► Axiomes : Des énoncés de base qui sont considérés comme vrais et
qui servent de points de départ pour dériver d'autres énoncés.
► Règles d'inférence : Des règles qui spécifient comment de
nouvelles propositions peuvent être dérivées des axiomes et des
propositions déjà établies dans le système.
► Démonstration : Une séquence d'étapes logiques utilisant les
axiomes et les règles d'inférence pour dériver une proposition
particulière.
► Théorèmes : Des énoncés qui sont prouvés à partir des axiomes et
des règles d'inférence.
Exemple1
- alphabet : { x, y, * }
- mots : S1 * S2 où S1 et S2 sont des suites quelconques de symboles x ouy
-alphabet : { M, I, U }
-axiome : M I
- règles de déduction :
MI (axiome), MII (par R2), MIIU (par R1), MIIUIIU (par R2).
Énoncé déductible
► modus tollens
► p→ q, ¬ q ¬p
► syllogisme
► p→ q, q→ r p→ r
Propriétés d’un système formel
si A alors A
si A alors A
C’1 ∨ C’2
❑ Principe de résolution
► ¬ l est vrai 1 1
► nécessairement C’1 vrai et donc (C’1 ∨ C’2 ) aussi
Propriétés du calcul propositionnel
¬ F= ¬(P ∧ Q ∧ ¬ R) ∧ ¬ R ∧ P ∧ ¬(T ∧ ¬ Q) ∧ T
¬ F= (¬ P ∨ ¬ Q ∨ R) ∧ ¬ R ∧ P ∧(¬ T ∨ Q) ∧ T
C1=¬P ∨ ¬Q ∨ R
C2= ¬R,
Soit S¬F ={¬P ∨ ¬Q ∨ R, ¬R, P, ¬T ∨ Q, T}
C1 C2 C3 C4 C5 C3=P
S¬F est l'ensemble des clauses d'une fbf ¬F.
C4=¬T ∨ Q
C5=T
Montrons que cet ensemble est insatisfiable
C6 = ¬P ∨ ¬Q donc C7 = ¬Q
C3 = P
C7 = ¬Q donc C8 = ¬T
C4 = ¬T ∨ Q
C8 = ¬T donc C9 = Ø ou •
C5 = T
1. "Si Ali n’écrit pas à Fatima, elle ne lui écrit pas non plus" Par la réfutation:
2. " Fatima écrit à Ali"
alors « Ali écrit à Fatima" est vrai (conclusion) S={P ∨ ¬Q, Q}
prémisses: On veut : S P
1. "Si Ali n’écrit pas à Fatima, elle ne lui écrit pas non plus" On montre alors que S U {¬P} est
2. "Fatima écrit à Ali" inconsistant. Il faut dériver la
clause vide par la Résolution.
conclusion: Les clauses:
Prémisses:
3. ¬P
1. ¬ P ¬ Q Nous avons donc les clauses:
2. Q P ∨ ¬Q et Q
Avec la Règle de Résolution
4. P ( 1et2)
Conclusion
P. Nous aurons P
5. Vide (3 et 4)
Ce qu’il faut retenir
► Principe de résolution
l ∨ C’1 , ¬ l ∨ C’2 ├ réso
C’1 ∨ C’2