Notes de cours

publicité
CNAM
TL 19900 – Intelligence artificielle
Enseignant : GENTHON Philippe
Rédacteur : LE GALLO Cédric
1 / 80
Table des matières
Contact :
GENTHON Philippe ([email protected])
http://www.geocities.com/phgent
Ouvrage conseillé :
HATON Jean-Pierre : Le raisonnement en intelligence artificielle (InterEditions)
1. L’intelligence artificielle............................................................................. 5
1.1. Définition ......................................................................................................................... 5
1.2. Petite histoire de l’Intelligence Artificielle .............................................................................. 5
1.2.1. Aux origines ................................................................................................................ 5
1.2.2. La première grande avancée : le test de Turing ................................................................ 6
1.2.3. L’Intelligence Artificielle au carrefour des sciences ............................................................ 7
1.2.4. Les pionniers de l’IA ..................................................................................................... 7
1.2.5. GPS : General Problem Solver........................................................................................ 8
1.2.6. Eliza et le traitement du langage naturel ......................................................................... 8
1.2.7. Le problème de l’explosion combinatoire ......................................................................... 9
Les années 1960 à 1970 ....................................................................................................................... 10
SHRDLU et le « Monde des blocks »........................................................................................................ 10
Les années 1970 .................................................................................................................................. 10
1.2.8. Prolonger l’Intelligence ............................................................................................... 11
1.2.9. L’ère commerciale...................................................................................................... 11
2. Différences Homme/machine .................................................................. 13
2.1. Objets manipulés ............................................................................................................ 13
2.2. Sémantique du langage.................................................................................................... 13
2.3. Raisonnement sur les données .......................................................................................... 14
2.3.1. Déduction ................................................................................................................. 14
2.3.2. Abduction ................................................................................................................. 14
2.3.3. Induction .................................................................................................................. 14
2.4. La méthode scientifique.................................................................................................... 15
2.5. La méthode de Descartes ................................................................................................. 16
3. Introduction à la logique.......................................................................... 17
3.1. Disciplines de la logique ................................................................................................... 17
3.2. Notions élémentaires de logique formelle ............................................................................ 17
3.3. Quantification ................................................................................................................. 19
3.4. Les opérations logiques élémentaires ................................................................................. 19
3.4.1. La disjonction ............................................................................................................ 19
3.4.2. La négation............................................................................................................... 19
3.4.3. La conjonction ........................................................................................................... 19
3.4.4. L’implication.............................................................................................................. 19
3.4.5. L’équivalence ............................................................................................................ 19
3.4.6. Utilisation des quantificateurs ...................................................................................... 19
Propriétés élémentaires ........................................................................................................................ 19
Propriétés utiles ................................................................................................................................... 20
4. Syllogismes aristotéliciens....................................................................... 21
4.1. Vérité d’une assertion P ou de sa négation .......................................................................... 21
4.1.1. Loi de non contradiction .............................................................................................. 21
4.1.2. Principe du tiers exclu................................................................................................. 21
2 / 80
4.1.3. Principe de bivalence .................................................................................................. 21
4.2. Loi de non contradiction ................................................................................................... 21
4.3. Principe du tiers exclu ...................................................................................................... 21
4.4. Principe d’ambivalence ..................................................................................................... 22
4.5. Logique élémentaire ........................................................................................................ 23
4.5.1. Modus ponens (notion de dépendance) ......................................................................... 23
4.5.2. Modus tollens (raisonnement par l’absurde) ................................................................... 24
4.6. Etude de l’implication....................................................................................................... 24
4.6.1. Fonctions booléennes de variables booléennes ............................................................... 24
Avec
Avec
Avec
Avec
une seule variable ........................................................................................................................ 24
deux variables.............................................................................................................................. 25
trois variables .............................................................................................................................. 25
n variables................................................................................................................................... 25
4.6.2. Application du modus ponens ...................................................................................... 25
4.6.3. Contraposition (miroir avec inversion)........................................................................... 26
4.6.4. Opérations élémentaires ............................................................................................. 26
Implication .......................................................................................................................................... 26
OU logique (non exclusif : trois 1 dans la colonne) ................................................................................... 26
OU exclusif (deux 1 dans la colonne) ...................................................................................................... 26
Négation de l’implication ....................................................................................................................... 26
Négation du OU ................................................................................................................................... 27
ET logique ........................................................................................................................................... 27
U
4.6.5. Exercice 1................................................................................................................. 28
4.6.6. Exercice 2................................................................................................................. 29
5. Logique propositionnelle.......................................................................... 30
5.1. Introduction ................................................................................................................... 30
5.1.1. Premier paradoxe ...................................................................................................... 30
5.1.2. Second paradoxe ....................................................................................................... 31
5.1.3. Cas de prémisses sans rapport avec le réel .................................................................... 31
5.2. Les propositions .............................................................................................................. 31
5.2.1. Les ebf ..................................................................................................................... 31
Démonstrations d’ebf............................................................................................................................ 32
Sémantique de l’ebf.............................................................................................................................. 32
Remarques.......................................................................................................................................... 33
5.2.2.
5.2.3.
5.2.4.
5.3. Les
5.3.1.
5.3.2.
Sujet et prédicat des propositions................................................................................. 34
Rapport entre le sujet et le prédicat.............................................................................. 34
Les classes de propositions.......................................................................................... 35
modes...................................................................................................................... 36
La position du moyen terme : notion de figure ............................................................... 36
Les modes concluants................................................................................................. 37
Modes concluants de la première figure (« modes parfaits »)..................................................................... 37
Modes concluants de la deuxième figure ................................................................................................. 38
Modes concluants de la troisième figure .................................................................................................. 39
Modes concluants de la quatrième figure, dite « galénique »...................................................................... 39
Remarques sur les figures ..................................................................................................................... 39
5.3.3. Validation des modes concluants .................................................................................. 40
L'extension des termes de la conclusion ne peut être plus importante que dans les prémisses ....................... 40
Le moyen terme doit être universel au moins une fois dans les prémisses ................................................... 40
On ne peut tirer de conclusion à partir de deux prémisses particulières....................................................... 40
On ne peut tirer de conclusion à partir de deux prémisses négatives .......................................................... 40
Deux prémisses affirmatives ne peuvent donner une conclusion négative.................................................... 40
La conclusion doit être aussi faible que la prémisse la plus faible................................................................ 40
5.4. Conclusion sur les modes ................................................................................................. 41
6. Introduction à PROLOG ............................................................................ 42
6.1. Etude de cas : les sorites.................................................................................................. 42
6.1.1. Définition d’un sorite .................................................................................................. 42
6.1.2. Sorites de Lewis CAROLL............................................................................................. 42
Premier exemple .................................................................................................................................. 42
Second exemple................................................................................................................................... 43
6.2. Skolémisation ................................................................................................................. 44
6.3. Application de la Skolémisation à PROLOG .......................................................................... 46
6.3.1. Arbre généalogique .................................................................................................... 46
6.3.2. Notion de fonction en PROLOG ..................................................................................... 47
6.3.3. Exercice complémentaire ............................................................................................ 48
7. Arithmétique de PROLOG ......................................................................... 49
7.1. Ensemble de définition ..................................................................................................... 49
3 / 80
7.2. Opérateurs ..................................................................................................................... 49
7.2.1. Addition.................................................................................................................... 49
Définition du prédicat somme ................................................................................................................ 49
Utilisation du prédicat somme................................................................................................................ 50
Exemples d’addition ............................................................................................................................. 50
7.2.2. Multiplication............................................................................................................. 51
7.2.3. Factorielle................................................................................................................. 51
7.2.4. Infériorité ................................................................................................................. 51
Infériorité stricte .................................................................................................................................. 51
Infériorité large.................................................................................................................................... 52
7.2.5. Division euclidienne.................................................................................................... 52
7.2.6. Puissance ................................................................................................................. 53
7.3. Divers exemples.............................................................................................................. 53
7.3.1. Traducteur de chiffres................................................................................................. 53
7.3.2. Fonction d’Ackerman .................................................................................................. 54
7.3.3. Enigme de Syracuse ................................................................................................... 54
8. Les listes.................................................................................................. 55
8.1. Définition et syntaxe........................................................................................................ 55
8.2. Illustration du lien entre arithmétique et liste ...................................................................... 56
8.3. Concaténation de listes .................................................................................................... 56
9. Les dessins .............................................................................................. 57
9.1. Concept ......................................................................................................................... 57
9.2. Théorie de Waltz : modélisation......................................................................................... 57
9.2.1. Sept octants pleins : deux points de vue ....................................................................... 58
9.2.2. Un octant plein : sept points de vue.............................................................................. 58
9.2.3. Cinq octants pleins : trois points de vue ........................................................................ 59
9.2.4. Trois octants pleins : cinq points de vue ........................................................................ 59
9.2.5. 18 formes élémentaires (hors cas de symétries) ............................................................. 59
9.3. Exemple d’application : le tétraèdre ................................................................................... 60
9.3.1. Les fourches.............................................................................................................. 60
9.3.2. Les pointes ............................................................................................................... 61
9.3.3. Les elles ................................................................................................................... 61
9.3.4. Le tétraèdre .............................................................................................................. 62
10. Théorie des jeux .................................................................................... 63
10.1. Le hasard ..................................................................................................................... 63
10.1.1. Définition ................................................................................................................ 63
10.1.2. Types de jeux de hasard ........................................................................................... 64
10.2. Etude des duels............................................................................................................. 65
10.2.1. Noyau d’un jeu ........................................................................................................ 65
10.2.2. Algorithme de recherche du noyau.............................................................................. 66
10.2.3. Duels : forme développée.......................................................................................... 68
Choix des gains.................................................................................................................................... 68
Algorithme du mini-max........................................................................................................................ 68
Algorithme α-β ..................................................................................................................................... 69
10.2.4. Notion de stratégie de jeu ......................................................................................... 69
10.2.5. Duels : forme normale .............................................................................................. 71
10.2.6. Duels : forme normale à double stratégie .................................................................... 78
Configuration 1 .................................................................................................................................... 78
Configuration 2 .................................................................................................................................... 79
Configuration 3 .................................................................................................................................... 79
Configuration 4 .................................................................................................................................... 79
Configuration 5 .................................................................................................................................... 79
Configuration 6 .................................................................................................................................... 79
Remarques.......................................................................................................................................... 79
Télécharger l’interpréteur PROLOG : http://www.swi-prolog.org/
4 / 80
1. L’intelligence artificielle
L’intelligence artificielle, souvent abrégée avec le sigle IA, est définie par l’un de ses créateurs, Marvin
LEE MINSKY, comme « la construction de programmes informatiques qui s’adonnent à des tâches qui
sont, pour l’instant, accomplies de façon plus satisfaisantes par des êtres humains car elles demandent
des processus mentaux de haut niveau tels que : l’apprentissage perceptuel, l’organisation de la mémoire
et le raisonnement critique ».
1.1. Définition
Il existe différentes définitions de l’intelligence artificielle, car :
¾
L’adjectif artificielle est relativement facile à appréhender : ce type d’intelligence est le résultat
d’un processus créé par l’homme, plutôt que d’un processus naturel biologique et évolutionnaire,
¾
En revanche, la notion d’intelligence est difficile à définir :
o
La capacité à acquérir et de retenir les connaissances, d’apprendre ou de comprendre
grâce a l’expérience.
o
L’utilisation de la faculté de raisonnement pour résoudre des problèmes, et pour répondre
rapidement et de manière appropriée à une nouvelle situation.
o
Etc.
En substance, le terme « intelligence » vient du latin :
¾
« inter » qui signifie « entre » ;
¾
Et « legere » qui signifie « lier ensemble » (historiquement, le terme legere s’applique aux épis
de blé).
En grec, nous aurions l’équivalence suivante : « syn » et « these ».
Le terme « artificielle » indique quant à lui l’opposition au « naturel » au sens de qui est créé par
l’Homme.
Les problèmes soulevés par l’intelligence artificielle concernent des domaines divers comme :
¾
l’ingénierie, notamment pour la construction des robots,
¾
les sciences de la cognition, pour la simulation de l’intelligence humaine,
¾
la philosophie pour les questions associées à la connaissance et à la conscience.
1.2. Petite histoire de l’Intelligence Artificielle
L’histoire de l’intelligence artificielle (IA) se confond avec celle de l’informatique en général. Nous
pouvons toutefois identifier quatre périodes : la pré-IA, les débuts de l’IA, l’IA d’avant les systèmes
experts, l’IA commerciale.
1.2.1. Aux origines
La préhistoire de l’IA commence au XVIe siècle, au moment où la médecine découvre progressivement
les lois de fonctionnement des principaux organes du corps humain. Le coeur est naturellement comparé
à une pompe, le poumon à un soufflet. Au siècle suivant, le perfectionnement des automates frappera les
imaginations et il deviendra naturel de penser à la possibilité de créer des mécanismes intelligents.
5 / 80
Au XVIIIe siècle, on assiste à la création de plusieurs machines manifestant une intelligence restreinte.
Les automates atteignent un sommet avec Vaucanson dont le joueur de flûte traversière (1737) jouait
vraiment un air de musique en déplaçant ses doigts sur la flûte.
En 1912, Leonardo TORRES QUEVEDO réalise un automate spécialisé qui jouait aux échecs les finales
Roi+Tour contre Roi, en appliquant une méthode gagnante bien connue.
La période pré-IA concerne la cybernétique, terme introduit par Norbert WEINER et Julian BIGELOW dans
les années 1940. La cybernétique unifie les notions de communication, contrôle et mécanique statistique
que ce soit dans une machine ou un système vivant.
Entre 1940 et 1950, on assiste, parallèlement à la construction des premiers ordinateurs modernes, à
une série de travaux théoriques concernant le jeu d’échecs. Claude SHANNON et Alan TURING proposent
des programmes pour jouer aux échecs. Ces programmes ne pouvant encore être implantés sur
ordinateur, ils sont simulés sur papier. En même temps, l’idée d’une intelligence artificielle se précise.
1.2.2. La première grande avancée : le test de Turing
Les origines de l’IA sont cependant plus directement liées au travail d’Alan TURING, datant de 1947.
Cette année-là, TURING publie un rapport remarquable où il entrevoit plusieurs des applications actuelles
de l’intelligence artificielle : traduction automatique, jeux, démonstration de théorèmes, etc.
Alan TURING écrit dans Computing machinery and intelligence, un article dans lequel il propose un test,
communément appelé maintenant le test de Turing, qui devra permettre de décider si une machine est
intelligente ou non. Il énonce également une série d’objections à l’intelligence artificielle qu’il réfute une à
une. Le test de Turing est basé sur le jeu de l’imitation.
Le test de Turing (1950) est l’une des premières avancées en intelligence artificielle. Alan TURING
propose alors une définition de la « pensée » ou de la « conscience » relative à un jeu : un examinateur
pose des questions par écrit à un interlocuteur situé dans la pièce voisine, et doit décider, au vu des
réponses, si son interlocuteur est une machine ou un être humain. S’il est incapable de répondre, on peut
raisonnablement dire que l’ordinateur « pense ».
C’est un jeu à trois joueurs, un homme (A), une femme (B) et un interrogateur (C) qui peut être
de l’un ou l’autre sexe. L’interrogateur est dans une pièce, isolé des deux autres joueurs.
L’objet du jeu pour l’interrogateur est de déterminer lequel des deux autres joueurs est l’homme
et lequel est la femme. Il ne les connaît que par des étiquettes X et Y et à la fin du jeu il dit soit
« X est A et Y est B », soit « X est B et Y est A ». L’interrogateur est autorisé à poser des
questions à A et B comme :
C : « X peut-il me dire quelle est la longueur de ses cheveux ? »
Maintenant, supposons que X est A. A doit alors répondre. L’objectif de A est de faire en sorte
que C fasse une fausse identification. Sa réponse pourrait donc être :
« Je suis coiffée à la garçonne et mes mèches les plus longues font à peu près 20 cm »
Afin que la voix ne puisse pas aider l’interrogateur, les réponses devraient être écrites, ou mieux,
dactylographiées. Le meilleur aménagement serait que les deux pièces communiquent par
téléscripteur. Ou alors, les questions et réponses peuvent être relayées par un intermédiaire.
L’objet du jeu pour le troisième joueur (B) est d’aider l’interrogateur. Sa meilleure stratégie est
probablement de donner des réponses vraies. Elle peut ajouter des choses comme :
« Je suis une femme, ne l’écoutez pas ! »
Mais cela ne lui profitera en rien car l’homme peut faire des remarques similaires. Nous posons
maintenant la question : « Que se passerait-il si une machine prenait la place de A dans le
jeu ? ». L’interrogateur se trompera-t-il aussi souvent lorsque le jeu est joué de cette manière
que lorsqu’il est joué entre un homme et une femme ? Ces questions remplacent la question
originale « les machines peuvent-elles penser ? ».
6 / 80
Le grand mérite de ce test est d’opérationnaliser la question : les ordinateurs peuvent-ils penser ? Il
permet de se passer d’une définition pour l’instant inaccessible de ce qu’est l’intelligence. Deux questions
distinctes se posent naturellement :
¾
pourra-t-on réaliser un jour une machine qui passe ce test avec succès ?
¾
si oui, pourra-t-on dire que cette machine est intelligente ?
Les partisans de ce qu’on appelle l’IA forte répondent « oui » aux deux questions. Une très nombreuse
littérature a été consacrée à ce test ainsi qu’aux réponses que l’on peut apporter aux questions
précédentes.
L’argument de la « Chambre chinoise » de Ronald SEARLE entend prouver que la réponse à la deuxième
question doit être « non ». Alan TURING fait également la prédiction suivante : « Je crois que d’ici 50
ans, il sera possible de programmer des ordinateurs, avec une capacité mémoire d’à peu près 109, de
façon qu’ils jouent si bien au jeu de l’imitation qu’un interrogateur moyen n’aura pas plus de 70% de
chances de procéder à l’identification exacte après 5 minutes d’interrogation. »
Il semble aujourd’hui que nous soyons encore très loin de réaliser cette prédiction, même si le temps
d’interrogation est petit et le taux d’erreur admissible assez grand. Mais est-ce si sûr ?
1.2.3. L’Intelligence Artificielle au carrefour des sciences
L’intelligence artificielle résulte de la convergence de plusieurs disciplines toutes intéressées par la
pensée et le fonctionnement du cerveau : la neurologie, la psychologie, la logique, la linguistique et
évidemment l’informatique.
La logique et en particulier les travaux de Jacques HERBRAND (dans les années 1930) puis ceux d’Alan
TURING au début des années 1950, conduise à la mise au point de méthodes de déduction automatique
et de modèles théoriques de la machine.
Cette discipline apporte sa contribution à la naissance des deux principaux langages de programmation
utilisés en intelligence artificielle : LISP et PROLOG. Les représentations logiques inspirent alors la
création du premier programme d’intelligence, le « Logic Theorist » (1956), et constituent
éventuellement l’une des principales façons de représenter les connaissances en intelligence artificielle.
Parallèlement, l’informatique participe à la naissance de l’intelligence artificielle en lui fournissant un
instrument indispensable de simulation et d’implantation : l’ordinateur.
Très tôt, au début des années 1950, on dépasse le stade des calculs numériques pour s’attaquer aux
calculs formels qui nécessitent la manipulation de symboles. Ces programmes permettent alors à
l’ordinateur de passer de l’arithmétique à l’algèbre.
Ces différentes disciplines commencent à s’intégrer au cours de la Seconde Guerre mondiale. Le
développement des mécanismes d’autorégulation d’un appareil amène des mathématiciens, des
électroniciens et des mécaniciens à travailler ensemble.
Par analogie avec les mécanismes de régulation du corps humain, ces travaux intéresseront également
des neurophysiologistes et des psychologues. La cybernétique allait naître et se traduire par une vision
très mathématique du comportement humain ou animal. La plupart des pionniers de l’intelligence
artificielle proviendront de cette nouvelle discipline.
1.2.4. Les pionniers de l’IA
Les débuts de l’IA (vers 1950) consistent en quelques articles publiés en psychologie, ingénierie et
mathématiques. Des programmes modélisant le comportement humain en situation de jeu firent leur
apparition. Notamment, le jeu d’échecs devint un paradigme en IA. La théorie des automates se
développant en parallèle. La conférence de Dartmouth, en 1956 introduit pour la première fois le mot
Intelligence Artificielle en tant que champs d’étude regroupant la cybernétique et la théorie des
automates.
7 / 80
Dès cette époque, les chercheurs essayent de résoudre trois catégories de problèmes :
¾
Le traitement des langues naturelles et leur traduction automatique.
¾
La résolution de problèmes combinatoires posés par certains jeux en particulier dans le jeu
d’échecs où l’on est en présence d’arborescences de l’ordre de grandeur : 10120 situations
possibles.
¾
La démonstration automatique de théorèmes.
C’est en 1956, que le premier programme d’intelligence artificielle exécuté par un ordinateur donne des
résultats. Le « Logic Theorist » de NEWELL, SHAW et SIMON est capable de démontrer des théorèmes de
la logique des propositions.
Présenté lors d’une réunion d’une douzaine de chercheurs en cybernétique au Collège de Dartmouth la
même année, le « Logic Theorist » les convaincra des possibilités de manipulation de symboles de
l’ordinateur. Le terme « artificial intelligence » est proposé et accepté au cours de cette réunion pour
désigner la nouvelle science.
À partir de cette date, les travaux se développent rapidement : jeux d’échecs, démonstration de
théorèmes en géométrie, traduction automatique, etc.
En 1957 naît le langage FORTRAN (FORmula TRANslation), premier langage d’intelligence artificielle.
Mis au point sur un IBM 701, c’est le premier langage informatique de haut niveau, c’est à dire qu’il
nécessite un programme intermédiaire (le compilateur) qui le traduit en instructions compréhensibles par
l’ordinateur. L’avantage est que le programme en FORTRAN est indépendant de la machine, il suffit
d’avoir le compilateur adapté. Il est encore utilisé dans les domaines scientifiques et techniques.
1.2.5. GPS : General Problem Solver
Les travaux autour du « Logic Theorist » mènent au « Général Problem Solver » (GPS, ou résolveur
général de problèmes), capable de résoudre des problèmes dans divers domaines, et à la création de
langages de programmation adaptés à la manipulation de symboles en listes.
La première version du GPS a fonctionné peu après la conférence de Dartmouth, dans le but de
démontrer la capacité qu’ont les ordinateurs d’avoir leurs propres solutions logiques aux problèmes. GPS
a résolu avec succès une variété de problèmes basés sur le raisonnement déductifs dont le problème de
la « Tour de Hanoi » :
Le principe est simple, étant donné trois repères et 4 disques de diamètres différents, il faut
transférer les disques du pôle 1 au pôle deux en se servant d’un pôle intermédiaire, avec la
contrainte qu’un grand disque ne peut se trouver au dessus d’un petit disque.
Le langage LISP (List Processing) est créé en 1958 par John McCARTHY (mathématicien fondateur en
1957 du département d’Intelligence artificielle du MIT). Ce langage va avoir un impact considérable dans
le domaine de la programmation objet. Il est aujourd’hui le plus utilisé en intelligence artificielle.
1.2.6. Eliza et le traitement du langage naturel
Eliza, résultat de travaux de Joseph WIEZBAUM a fait impression quand elle est apparue dans le milieu
des années 1960. Le programme pouvait converser au sujet de n’importe quel thème par un stockage
des informations dans des banques de données et un jeu de reprises des mots (avec le respect de la
syntaxe).
Exemple de dialogue entre Eliza et une adolescente :
Teenager : Men are all alike.
Eliza : IN WHAT WAY
Teenager : They’re always bugging us about something or other.
Eliza : CAN YOU THINK OF A SPECIFIC EXAMPLE
Teenager : Well, my boyfriend made me come here.
Eliza : YOUR BOYFRIEND MADE YOU COME HERE
Teenager : He says that I am depressed all the time.
8 / 80
Eliza : I AM SORRY TO HERE YOU ARE DEPRESSED
Teenager : It’s true that I am unhappy
Eliza : DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY
Teenager : I need help, that seems certain.
Eliza : WHAT WOULD IT MEAN IF YOU GOT SOME HELP
Teenager : Perhaps I could learn to get along with my mother.
Eliza : TELL ME MORE ABOUT YOUR FAMILY
Teenager : My mother takes care of me.
Eliza : WHO ELSE IN YOUR FAMILY TAKES CARE OF YOU
Teenager : My father.
Eliza : YOUR FATHER
Teenager : You are like my father in some ways.
Eliza : WHAT RESEMBLANCE DO YOU SEE
Teenager : You are not very aggressive but I think you don’t want me to notice that.
Eliza : WHAT MAKES YOU THINK THAT I AM NOT VERY AGGRESSIVE
Teenager : You dont argue with me.
Eliza : WHY DON’T YOU THINK I ARGUE WITH YOU
Teenager : You are afraid of me.
Eliza : DOES IT PLEASE YOU TO BELIEVE I AM AFRAID OF YOU
Teenager : My father is afraid of everybody.
Eliza : WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR FATHER
Teenager : Bullies.
Eliza : DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR BOYFRIEND MADE YOU
COME HERE
Aussi impressionnant qu’Eliza puisse paraître, WIEZBAUM a noté que le programme est incapable de
comprendre le moindre problème de l’adolescente, même si certains passages donnent l’impression du
contraire.
1.2.7. Le problème de l’explosion combinatoire
Deux approches ont jusqu’à maintenant dominé successivement les travaux en intelligence artificielle. La
première utilise la puissance de calcul de l’ordinateur pour examiner le maximum de possibilités jusqu’à
ce qu’une solution soit atteinte. L’autre s’inspire du comportement humain en utilisant un ensemble de
connaissances et de méthodes générales susceptibles de donner souvent de bons résultats.
Jusqu’en 1970, c’est nettement la première approche qui sera privilégiée car la puissance de calcul des
ordinateurs se développe rapidement et laisse croire que tout pourra être fait en augmentant simplement
le nombre d’opérations possibles.
De 1965 à 1970, on commence toutefois à s’attaquer à des problèmes où la puissance de l’ordinateur ne
suffit plus. Les recherches semblent connaître un net ralentissement. Le meilleur programme d’échecs
n’arrive pas à résister au génie des joueurs humains moyens. On s’aperçoit également que les recherches
en traduction automatique ne peuvent réussir uniquement en accumulant toujours plus d’informations de
type syntaxique. Enfin, les recherches en robotique se heurtent au problème de la vision qui nécessite le
traitement d’un nombre gigantesque d’informations, même pour un ordinateur. C’est ce qu’on appelle
maintenant le problème de l’explosion combinatoire : le nombre des opérations à effectuer croît
exponentiellement avec la difficulté du problème.
Avec le tournant des années 70, un mot d’ordre s’impose : contourner cette explosion combinatoire par
l’observation plus attentive de l’être humain, qui après tout, réussit à accomplir toutes ces tâches sans
effectuer une masse énorme de calculs ou d’opérations.
Dans cet ordre d’idées, une équipe de l’université Stanford développe un programme appelle DENDRAL
pour analyser les résultats obtenus par un spectrographe de masse. La quantité de connaissances
nécessaires pour analyser un spectre est énorme, mal connue et non répertoriée. Il faut donc l’extraire
d’experts humains et imiter leur comportement dans la sélection et le traitement des informations
pertinentes. Alors que les premiers programmes d’intelligence artificielle étaient d’ordre général,
DENDRAL fait appel à une importante base de connaissances spécialisée dans laquelle il choisit celles qui
orienteront les choix du système.
9 / 80
Pendant que l’on met ainsi au point les principes à la base des systèmes experts, qui vont permettre
notamment la construction de MYCIN, système expert dans le domaine du diagnostic médical, Terry
WINOGRAD s’attaque en 1970 à un tout autre domaine, mais avec une approche similaire. Son
programme SHRDLU constituera une percée importante. Dans un micro-monde spécialisé de blocs de
différentes formes et de différentes couleurs, un programme parvient à comprendre le sens d’une phrase
au sujet de ces objets et à utiliser cette compréhension pour se définir un plan d’action permettant de
réaliser diverses manipulations.
Les années 1960 à 1970
Période faste pour l’IA qui voit la réalisation de très nombreux projets d’importance. Les projets sont plus
ciblés que lors de la décennie précédente, des principes méthodologiques sont précisés et surtout, l’IA
bénéficie de l’extraordinaire augmentation de la puissance des ordinateurs liée à la miniaturisation et à
l’intégration des composants.
SHRDLU et le « Monde des blocks »
La reconnaissance de formes et planification de tâches (ou insérer un lien vers « historique de
l’IA. SCHRDLU, simule la manipulation de blocs géométriques (cubes, cylindres, pyramides, …) posés sur
une table.
Le logiciel génère automatiquement des plans (« Pour déplacer le cube bleu sur le sommet du cylindre
jaune, je dois d’abord enlever la pyramide qui se trouve sur le cube et … ») et est muni d’une interface
en langage naturel.
…
9. the blue pyramid is mine
I understand
10. I own all blocks which are not red, but I don’t own anything that supports a pyramid
I understand
11. do I own the box?
no
12. do I own anything in the box?
Yes, two things : the blue box and the blue pyramid
13. will you please stack up both of the red blocks and either a green cube or a pyramid?
OK
14. is there a large block behind a pyramid?
yes, three of them : a large red one, a large green cube and the blue one.
15. put a small one into the green cube which supports a pyramid
OK
16. put the littlest pyramid on top of it
OK
17. had you touched any pyramid before you put the green one on the little cube?
Yes, the green one
18. when did you pick it up?
while I was stacking up the red cube, a large red block and a large green cube
Avec SHRDLU, l’IA a démontré de bonnes capacités de compréhension et de logique.
Les années 1970
Entre 1970 et 1975, on assistera à de nouvelles percées en traduction automatique et en compréhension
du langage naturel, au développement de nombreux systèmes experts DENDRAL et MYCIN, à des progrès
marqués en reconnaissance des formes, au développement de la programmation logique avec Prolog
développé en 1970 et des principaux modes de représentation des connaissances utilisés actuellement.
En 1972, c’est au tour du langage PROLOG (PROgrammation en LOGique) d’apparaître. Conçu par le
français Alain COLMERAURER, c’est un langage dit « descriptif de l’Intelligence Artificielle ».
10 / 80
Ceci a pour conséquences un nouveau développement de l’IA et une redéfinition de ses objectifs :
« Comment représenter des systèmes disposant de grandes connaissances de façon à les utiliser ? ». Les
Systèmes Experts font leur apparition en 1975. L’objectif devient alors :
¾
D’une part de construire des systèmes logiciels « intelligents » traitant à l’aide de méthodes
heuristiques des données de type symbolique ;
¾
D’autre part de construire des ordinateurs dits de « cinquième génération » capable de vérifier
positivement le test d’Alan Turing : « L’Utilisateur ne pourra pas distinguer si l’être qui lui répond
via un terminal est un HOMME ou une MACHINE ».
1.2.8. Prolonger l’Intelligence
Un des objectifs de l’intelligence artificielle est de rendre les ordinateurs plus performants et plus utiles.
On peut maintenant imaginer facilement de nombreux champs d’applications de l’utilisation d’une
machine intelligente.
¾
Affaires : suggérer des stratégies financières, donner des avis pour le « marketing », établir
l’horaire d’individus et de groupes, résumer les nouvelles, éliminer les fautes d’orthographe des
documents, etc.
¾
Génie : vérifier les règles de design, offrir des suggestions quant à de nouveaux produits, etc.
¾
Fabrication : effectuer le travail routinier d’assemblage, d’inspection et de maintenance, etc.
¾
Agriculture : contrôler les parasites, surveiller le développement des arbres, etc.
¾
Mines : faire le dangereux travail d’extraction souterrain et sous-marin, la prospection
géologique, etc.
¾
Education : donner des avis sur les erreurs des étudiants, agir comme un super livre et un super
outil de travail, etc.
¾
Hôpitaux : aider au diagnostic, surveiller les appareils d’examen, etc.
De toutes ces applications, certaines existent déjà, d’autres sont près de se réaliser, d’autres enfin
demanderont encore beaucoup d’années de travail. Mais toutes apparaissent maintenant possibles.
1.2.9. L’ère commerciale
Depuis 1980, l’intelligence artificielle a commencé à quitter les laboratoires de recherche pour s’introduire
dans un nombre grandissant de secteurs de l’activité humaine. Voici quelques exemples.
De pratiquement nul qu’il était en 1980, le marché commercial des systèmes experts est passé à 70
millions de dollars (US) en 1985 et à plus de 3,2 milliard en 2002. Aujourd’hui, la plupart des grandes
entreprises ont un ou plusieurs projets de développement de tels logiciels « intelligents » et beaucoup
d’entre eux sont en opération.
Ces logiciels « raisonnent » d’une façon calquée sur les raisonnements des spécialistes auprès desquels
ont été recueillies les connaissances qu’ils exploitent, dans des domaines aussi divers que la médecine,
l’analyse financière ou la configuration d’appareils.
Ils permettent notamment de simuler le comportement d’un expert dans des tâches de diagnostic, de
surveillance ou de dépannage dans des installations industrielles coûteuses. Plusieurs sont maintenant en
opération et assistent les « preneurs de décision » dans leur travail quotidien.
Un autre vaste champ d’applications est celui de la robotique et de la fabrication assistée par
ordinateur (FAO). Depuis plusieurs années déjà, l’industrie utilise des milliers de machines
programmables pour la réalisation de soudures par points, la pulvérisation de peinture, le chargement et
le déchargement de machines et certaines opérations d’assemblage.
L’objectif est de remplacer l’être humain dans les environnements hostiles ou les tâches fastidieuses, par
un appareil capable d’effectuer diverses tâches de fabrication ou de maintenance. La plupart de ces
« robots » sont affectés à des tâches répétitives dans un univers de travail bien défini et restreint.
Cependant, on commence à introduire des robots dotés de moyens de perception et de facultés
décisionnelles simples. Par l’intermédiaire de caméras ou de capteurs, ceux-ci peuvent acquérir de
l’information et s’adapter à de petites variations de leur environnement. On travaille actuellement à la
11 / 80
mise au point de robots autonomes de troisième génération, capable de se mouvoir et d’adapter leurs
actions à des environnements diversifiés.
Du côté de la compréhension du langage et de la traduction automatique, des programmes
peuvent maintenant agir comme assistants dans la traduction de textes dans des domaines spécialisés.
En littérature, on utilise des programmes d’analyse automatique de texte pour caractériser le style d’un
auteur.
Il existe également de nombreuses interfaces en langage naturel permettant d’interroger une base de
données en anglais ou en français. Ce développement est particulièrement important pour faciliter l’accès
de l’informatique au grand public.
En ce qui concerne la reconnaissance de la parole, la société IBM vient d’annoncer la mise en marché
d’un interface auditif qui reconnaît 20 000 mots anglais tirés du vocabulaire des affaires et les écrit à
l’écran. On peut commander l’ordinateur directement en prononçant ces mots selon certaines règles
précises. Cette possibilité semble appelée à se développer rapidement. Elle aura d’importants impacts sur
l’usage des ordinateurs en nous libérant de l’obligation de dactylographier. Elle permettra également aux
personnes handicapées l’accès à l’outil informatique.
12 / 80
2. Différences Homme/machine
Les différences se situent à plusieurs niveaux : objets manipulés, sémantique du langage, etc.
Domaine
Homme
Machine
Utilisation
Symbolique
Numérique
Association
Heuristique
Algorithmique
Raisonnement
Induction
Déduction
Traitement
Synthèse
Analyse
Portée
Intension
Extension
2.1. Objets manipulés
La machine travaille à l’origine avec des informations binaires : 0 et 1.
Grâce aux langages assembleurs, la manipulation des informations est devenue plus aisée
(remplacement de l’information par une variable). Mais c’est depuis l’apparition du langage PASCAL que
l’Homme a pu utiliser la symbolique :
Pour l’Homme, le mot « taureau » et sa représentation illustrée sont des signifiants de l’objet
taureau (lequel est le signifié).
Lorsque le signifiant ressemble au signifié, alors on dit que c’est un symbole.
La constellation du Taureau.
Dans le même esprit, si on considère l’évolution de la couleur bleue au regard de l’évolution des langages
informatiques, il y a eu :
¾
¾
¾
¾
Le binaire (01010) ;
L’assembleur (XRV) ;
Le Pascal (Bleu) ;
Dans une palette, depuis une dizaine d’années (•).
2.2. Sémantique du langage
On parle d’heuristique pour tous les apprentissages qui se font sans avoir à en définir le détail.
Ainsi, lors de l’apprentissage de la marche à quatre pattes, les enfants n’ont pas besoin d’en connaître
l’algorithme (main gauche, jambe droite, main droite, jambe gauche). De la même façon, on citera
l’apprentissage de la conduite automobile en trafic dense, du jeu de ping-pong à un niveau élevé, de la
station assise sur une chaise…
Les méthodes heuristiques sont des méthodes qui trouvent des solutions mais avec un niveau
d’incertitude (d’où l’existence d’accidents automobiles).
A l’inverse, l’algorithme fonctionne à tous les coups.
13 / 80
L’homme fonctionne bien selon un raisonnement heuristique. On peut s’en convaincre en essayant de
résoudre le problème suivant, qu’une machine traite très rapidement avec un algorithme :
Si une poule et demie pond un œuf et demi en un jour et demi, combien 9 poules pondent-elles
d’œufs en 9 jours ?
Deux approches sont possibles : la Règle de trois, ou l’algèbre.
¾
Règle de trois :
Poules Oeufs Jours
1.5
1.5
1.5
9
9
1.5
9
54
Réponse : 54
¾
9
L’algèbre :
Œuf = Coefficient * Poule * Jour
⇒ 1.5 = Coefficient * 1.5 * 1.5
⇒ Coefficient = 1/1.5
D’où le nombre d’œufs :
Œufs = 1/1.5 * 9 *9 = 81/1.5 = 54.
2.3. Raisonnement sur les données
Machine : langage numérique ⇒ déduction
Homme : langage symbolique
2.3.1. Déduction
Deux hypothèses assorties d’une conclusion forment un syllogisme :
Tous les hommes sont mortels
Hypothèse 1
Socrate est un homme
Hypothèse 2
Socrate est mortel
Conclusion
2.3.2. Abduction
Il est possible que Socrate soit mortel parce que c’est un homme (cela aurait pu être un taureau) :
Tous les hommes sont mortels
Hypothèse 1
Socrate est mortel
Hypothèse 2
Socrate est un homme
Hypothèse de déduction
2.3.3. Induction
De deux vérités, on construit une règle (c’est la seul cas de création) :
Socrate est un homme
Hypothèse 1
Socrate est mortel
Hypothèse 2
Tous les hommes sont mortels
Conclusion
14 / 80
Abduction et induction sont donc des déductions hypothétiques. On utilise l’induction lorsque l’on admet
des hypothèses en fonction de constatations. Il y a donc risque d’erreur.
2.4. La méthode scientifique
Claude BERNARD a mis en place la méthode scientifique : tant que rien ne prouve le contraire, les
hypothèses sont faites dans le même sens.
Cela revient à dire que la preuve recherchée se construit par l’expérience, jusqu’à ce qu’une autre
expérience vienne prouver autre chose ou son contraire. L’information est donc scientifique que
lorsqu’elle est irréfutable.
Ainsi, pour la compréhension d’un problème :
¾
¾
L’Homme émet une réponse d’intention à la question « Qu’est-ce qu’un vertébré ? » : c’est un
être vivant composé d’une structure osseuse.
Tandis que la machine émet une réponse d’extension : c’est un mammifère ou un oiseau ou
un poison.
L’intension, ou compréhension, est la définition par les caractéristiques (tous les éléments de B sont dans
A) :
A
Vertébrés
B
Mammifère
L’extension est la définition par l’énumération (toutes les propriétés de A sont des propriétés de B) :
B
Mammifère
A
Vertébrés
La machine analyse donc le problème tandis que l’Homme synthétise celui-ci : les deux méthodes
sont contraires et opposées l’une à l’autre.
Enfin, l’Homme adopte une approche heuristique (Euréka) :
¾
marcher, faire du vélo, conduire, être concentré mais pas crispé…
Tandis que la machine utilise un algorithme :
¾
tu te lèves, tu ouvres la porte, tu…
15 / 80
2.5. La méthode de Descartes
Le raisonnement a été étudié dans le discours de la méthode de Descartes.
René DESCARTES y résout les problèmes en les décomposant sous forme de problèmes plus simples : on
parle d’analyse.
Bien que l’analyse corresponde plutôt au raisonnement des machines, on l’enseigne à l’Homme
facilement. A l’inverse, la synthèse s’enseigne plus difficilement car elle correspond à un raisonnement
plus naturel, plus intuitif.
Le discours de la méthode de Descartes peut globalement se résumer ainsi :
¾
Ne pas se fier aux à priori, aux préjugés. Par opposition aux vérités révélées (la religion).
¾
Evidence du sens des choses.
¾
Analyse : diviser le problème en petits problèmes évidents.
¾
Synthèse / Hiérarchisation (notion d’ascendance) : construire l’ordre même là ou il n’existe pas
naturellement (notion de programmation objet).
¾
Exhaustivité (non redondance) : conserver une vision la plus large possible du problème.
16 / 80
3. Introduction à la logique
Initialement, l’une des grandes disciplines de la philosophie, elle est devenue au XXe siècle une partie des
mathématiques. Aujourd’hui, elle est en outre partie intégrante de l’ingénierie informatique, de la
linguistique, de la psychologie cognitive et de la communication sociale.
La logique est l’étude de la nature des concepts, de la vérité des jugements et de la validité des
raisonnements. Elle se déploie ainsi aujourd’hui selon les trois grands axes que sont la théorie des
ensembles, la théorie des modèles et la théorie de la démonstration.
3.1. Disciplines de la logique
¾
Les syllogismes aristotéliciens
¾
Le calcul des propositions
¾
Le calcul des prédicats
¾
Les logiques multivalentes :
¾
o
La logique trivalente
o
La logique tétravalente
o
Les logiques à plus de 4 valences
o
Les logiques à une infinité de valences (cf. probabilités)
Les logiques modales :
o
La logique épistémique
o
La logique déontique
¾
Les logiques affaiblies
¾
Les paradoxes
¾
L’unification en logique
¾
La logique floue
3.2. Notions élémentaires de logique formelle
Un langage logique est défini par une syntaxe, c’est-à-dire un système de symboles ainsi que des règles
pour les combiner sous formes de formules. De plus, une sémantique est associée au langage. Elle
permet de l’interpréter, c’est-à-dire d’attacher à ces formules ainsi qu’aux symboles une signification. Un
système de preuve nous permet également de calculer la signification des formules en construisant des
démonstrations.
La logique dite classique comprend :
¾
D’une part la logique des propositions ;
¾
D’autre part la logique des prédicats.
17 / 80
Considérons un langage logique. Ce dernier est :
¾
¾
Soit un langage propositionnel, on parle alors de logique des propositions ;
Soit un langage du premier ordre, on parle alors de logique des prédicats.
Bien évidemment, ces langages logiques diffèrent de par leur syntaxe.
Considérons leurs syntaxes respectives.
La syntaxe de la logique des propositions est fondée sur des variables de propositions appelées
également atomes que nous notons avec des lettres minuscules (p, q, r, s, etc.). Ces symboles
représentent des propriétés qui sont, soit vraies, soit fausses. Ces variables sont combinées au moyen de
connecteurs logiques qui sont :
¾
¾
¾
¾
Le connecteur binaire disjonctif ( ∨),
Le connecteur binaire conjonctif (∧),
Le connecteur binaire de l’implication (⊃),
Ainsi que le connecteur monadique de la négation (¬).
Ces variables forment alors des formules appelées également propositions. Nous les notons par des
lettres grecques minuscules (phi, psi, thêta, etc.).
La syntaxe de la logique d’ordre un, contrairement à celle d’ordre zéro, considère d’une part les termes
qui représentent les objets étudiés, et d’autre part les formules qui sont des propriétés sur ces objets.
Dans la suite de ce manuscrit, nous noterons V l’ensemble des variables (x, y, z, …), F l’ensemble des
symboles de fonctions (f, g, …) et P l’ensemble des symboles de prédicats (P, Q, …). On dispose
également d’une application dite d’arité m.
Qu’en est-il de la signification d’une formule ? C’est l’objet de la sémantique. Là encore, elle diffère selon
le langage envisagé.
En logique propositionnelle, une formule est soit vraie soit fausse. Plus formellement, l’ensemble des
valeurs de vérité est un ensemble B de deux booléens : le vrai (1) et le faux (0). La signification des
booléens est définie à l’aide de fonctions de booléens vers des booléens. Ces fonctions peuvent être
représentées sous la forme de table de vérité.
La signification d’une formule dépend donc de la valeur de vérité de ses variables. On parle
d’interprétation ou d’affectation.
Comme dans le cas propositionnel, la sémantique de la logique du premier ordre est décrite par une
interprétation. Cependant le langage de la logique du premier ordre est plus riche. En conséquence, de
nouvelles définitions sont nécessaires. Contrairement au langage propositionnel, les interprétations et les
affectations sont des objets différents. Une affectation donne une valeur à chaque variable, alors qu’une
interprétation décrit le domaine des valeurs et la sémantique des symboles de fonctions et de prédicats.
Nous avons doté la logique propositionnelle ainsi que la logique du premier ordre d’une sémantique.
Toutefois, il est difficile, au sens de la complexité algorithmique, de l’utiliser pour décider si une formule
est satisfiable (ou non) voire valide (ou non). Il faudrait pour cela énumérer toutes les interprétations.
Leur nombre est exponentiel. Une alternative consiste à examiner les preuves bien formées, et à
considérer leurs conclusions. Pour cela nous utilisons un système de preuve.
Un système de preuve est un couple (A,R), où A est un ensemble de formules appelées axiomes et R un
ensemble de règles d’inférence, c’est-à-dire de relations entre des ensembles de formules (les prémisses)
et des formules (la conclusion).
On appelle dérivation à partir d’un ensemble d’hypothèses une suite non vide de formules qui sont :
¾
¾
Soit des axiomes,
Soit des formules déduites des formules précédentes de la suite.
Une preuve d’une formule phi à partir d’un ensemble de formules Gamma est une dérivation à partir de
Gamma dont la dernière formule est phi.
18 / 80
3.3. Quantification
Il existe essentiellement deux quantificateurs en logique classique, ∃ (il existe) et ∀ (pour tout).
3.4. Les opérations logiques élémentaires
Les propositions et les objets mathématiques, sont des assemblages de symboles et de lettres formés en
suivant certaines règles de logique. Les deux signes les plus simples qui servent à former des
propositions sont ∨ et ¬ souvent notés ou et non en mathématiques.
3.4.1. La disjonction
La disjonction de deux proposition P et Q est la proposition notée P ∨ Q ou « P ou Q » qui est vraie si
l’une au moins des deux propositions est vraie, et fausse si les deux propositions sont fausses.
3.4.2. La négation
La négation d’une proposition P, est la proposition notée ¬P, ou « non P » qui est vraie lorsque P est
fausse et fausse lorsque P est vraie.
À partir de ces deux signes, nous pouvons construire d’autres symboles ou abréviations utiles :
3.4.3. La conjonction
La conjonction de deux propositions P et Q est la proposition suivante :
¬¬P ∨ ¬Q
c’est-à-dire non((non P) ou (non Q))
Celle-ci est notée P ∧ Q ou « P et Q » et n’est vraie que lorsque P et Q sont vraies et fausse si l’une des
deux propositions est fausse.
3.4.4. L’implication
L’implication de Q par P, est la proposition (¬P) ∨ Q, notée « P ⊃ Q » ou « P implique Q », et qui est
fausse seulement si P est une proposition vraie et Q fausse.
3.4.5. L’équivalence
L’équivalence logique de P et Q est la proposition ((P ⊃ Q) ∧ (Q ⊃ P)) (((P implique Q) et (Q implique P))),
notée « P ≡ Q » ou (P est équivalent à Q).
3.4.6. Utilisation des quantificateurs
Propriétés élémentaires
Soient P et Q deux propositions et x un objet indéterminé.
¬(∃x P) ≡ (∀x ¬P)
(∀x) (P ∧ Q) ≡ ((∀x) P ∧ (∀ x) Q)
(∀x) (P ∨ Q) ≡ ((∀x) P ∨ (∀ x) Q)
(∃x) (P ∨ Q) ≡ ((∃x) P ∨ (∃x) Q)
(∃x) (P ∧ Q) ⊃ ((∃x) P ∧ (∃x) Q)
(Implication réciproque fausse en général)
19 / 80
Propriétés utiles
Soient P une proposition et x un objet indéterminé.
(∀x) (∀y) P ≡ (∀y) (∀x) P
(∃x) (∃y) P ≡ (∃y) (∃x) P
(∃x) (∀y) P ⊃ (∀y) (∃x) P
(Implication réciproque fausse)
La dernière implication dit que s’il existe un x, tel que pour tout y, on ait P vraie, alors pour tout y, il
existe bien un x (celui obtenu avant) tel que P soit vraie.
Intuitivement, l’implication réciproque est fausse en général, parce que si pour chaque y, il existe un x tel
que P soit vraie, ce x pourrait dépendre de y et varier suivant y. Ce x pourrait donc ne pas être le même
pour tout y tel que P soit vraie.
20 / 80
4. Syllogismes aristotéliciens
4.1. Vérité d’une assertion P ou de sa négation
Il y a plusieurs lois :
4.1.1. Loi de non contradiction
Ces assertions ne peuvent être toutes les deux vraies :
P est vraie
¬P est vraie
4.1.2. Principe du tiers exclu
Exactement l’une de ces assertions est vraie :
P est vraie
¬P est vraie
4.1.3. Principe de bivalence
Exactement l’une de ces assertions est vraie :
P est vraie
P est fausse
4.2. Loi de non contradiction
La loi de non contradiction affirme qu’une proposition et sa négation ne peuvent être toutes les deux
vraies simultanément. Mais il faut être prudent et éviter de formuler cette loi de cette façon, car en terme
de vérité, il est possible de la confondre avec le principe de bivalence.
À la place, la loi est énoncée de la manière suivante :
Pour toute assertion P, il n’est pas possible de vérifier en même temps P et ¬P.
Aristote formulait cette loi ainsi : « nous ne pouvons pas dire de quelque chose qu’il est et qu’il n’est pas,
dans un même égard et en même temps ».
La loi de non contradiction est presque universellement approuvée par les philosophes.
4.3. Principe du tiers exclu
Le Principe du tiers exclu affirme que si R est une proposition logique, alors la proposition « R ou ¬R »
est vraie. Cela signifie qu’une relation ne peut être que vraie ou fausse, mais qu’il n’y a pas de
troisième état. Une autre façon de le formuler en logique classique est : ¬¬R=R.
21 / 80
Pour Aristote, le principe du tiers exclu est une conséquence du principe de non contradiction et de la
« définition logique de la vérité ». Le principe de non contradiction dit que pour toute proposition R, « R
et ¬R » est fausse.
En logique classique, où ¬¬R=R, ce principe est équivalent à celui du tiers exclu :
non contradiction :
¬(R et ¬R) ≡ ¬R ∨ ¬¬R ≡ ¬R ∨ R ≡ R ∨ ¬R
: tiers exclus
Ce n’est toutefois pas le cas dans tous les formalismes logiques, et en particulier en logique intuitionniste,
qui conserve le principe de non contradiction mais n’utilise pas le « principe du tiers exclus ». En logique
intuitionniste, nous ne pouvons pas dire que « R ou ¬R » est vraie à priori pour toute proposition R, il
faut le démontrer pour chaque proposition R (et, dans certains, cela sera impossible sans introduire un
nouvel axiome).
Pour un mathématicien intuitionniste, le principe du tiers exclu est au mieux inutile (pour les
démonstrations qu’on pourrait faire sans l’utiliser), au pire stérilisant (il tranche des propositions
indécidables, sans que cela résulte d’une décision consciente et délibérée, sachant qu’à chaque fois on
peut créer plusieurs formalismes distincts et potentiellement féconds).
Un exemple de raisonnement faisant appel au tiers exclu est le suivant :
Il faut démontrer l’implication suivante :
∀a,b ∈ ℝ, ab=0 ⊃ a=0 ∨ b=0
Pour cela, nous pouvons considérer la proposition R : « a=0 » et utiliser le principe du tiers exclu
pour R. Il y a alors deux cas à examiner :
¾
Soit R est vraie : alors la proposition « R ou b=0 » est vérifiée.
¾
Soit R est fausse, i.e. a≠0, alors en simplifiant par a la relation ab=0, nous obtenons
b=0, et « R ou b=0 » est vérifiée.
Dans l’implication précédente, un mathématicien intuitionniste refusera de conclure que a=0 ou
b=0, parce qu’il ne peut pas prouver que « a=0 ou ¬(a=0) » est vraie (l’égalité sur les réels
étant indécidable).
Toutefois, la logique intuitionniste n’est pas fondamentalement plus faible que la logique
classique : pour toute proposition R prouvable en logique classique, il existe une proposition R’
(qui peut être identique à R) telle que R et R’ sont équivalents au sens de la logique classique, et
R’ est prouvable en logique intuitionniste.
Dans notre exemple, cette proposition R’ serait « ¬(ab=0 ∧ ¬(a=0) ∧ ¬(b=0)) ».
Le raisonnement par l’absurde (Modus Tollens) se repose sur le principe du tiers exclu. En effet, il
fonctionne sur le mécanisme suivant : je veux prouver « R ». Pour cela, je suppose « ¬R » et je
tombe sur une contradiction : c’est donc que « ¬R est fausse », et d’après le principe du tiers
exclu, que « R est vraie ».
En logique intuitionniste, cette dernière étape est impossible : de « ¬R est fausse », on peut
juste conclure « ¬¬R est vraie », mais ce n’est pas équivalent à « R est vraie » comme en
logique classique (on a juste l’implication « R ⇒ ¬¬R », mais non la réciproque).
4.4. Principe d’ambivalence
Le principe de bivalence dit que pour toute relation P, ou bien P est vraie ou bien P est fausse.
Ce principe est étroitement lié, tout en étant différent, au principe du tiers exclu et à la loi de non
contradiction.
En logique classique et en logique floue, le principe de bivalence est équivalent au résultat qu’il n’y a
aucune assertion qui n’est ni vraie ni fausse.
Cela vient du fait que toute assertion doit avoir une valeur de vérité, telle que vraie ou fausse, ou si elle
n’en admet aucune des deux, alors elle prend une troisième valeur de vérité (qui est une porte de sortie
22 / 80
de la logique floue). C’est la manière classique de penser en logique, mais cela ne tient plus en logique
intuitionniste.
En logique intuitionniste, il se peut que nous ne puissions pas déterminer une valeur de vérité, et dans
cette situation nous laissons tout simplement tomber. Nous n’essayons pas d’attribuer une valeur de
vérité.
Le théorème selon lequel il n’y a aucune proposition qui n’est ni vraie ni fausse a une preuve simple en
logique intuitionniste :
Définissons ¬A comme étant « A ⊃ contradiction », i.e. une assertion fausse dont nous pouvons déduire
une contradiction. C’est la définition intuitionniste standard de ce qu’est une assertion fausse.
En utilisant cette définition, si nous avons :
(A • ¬A)
Cela peut être écrit comme :
(A • (A ⊃ contradiction)) ⊃ contradiction)
Ainsi (A • ¬A) ⊃ contradiction
Donc ¬(A • ¬A)
En logique intuitionniste, une conjecture est vraie si elle est démontrée. Elle est fausse s’il est prouvé
qu’elle mène à une contradiction. Nous pouvons dire qu’elle est vraie ou fausse uniquement s’il y a une
méthode qui permet d’en décider en un nombre fini d’étapes. Si aucune de ces situations ne se produit,
alors nous ne pouvons rien dire du tout concernant sa valeur de vérité. Nous passons sur la question.
Aussi connue sous le nom de « Tertium non datur » (en Latin).
4.5. Logique élémentaire
Soit le principe du tiers exclu : il n’y pas de solution autre que vrai ou faux.
Et la table de vérité de l’implication :
P Q P⊃Q
V
V
V
V
F
F
F
V
V
F
F
V
4.5.1. Modus ponens (notion de dépendance)
On veut démontrer que P est vrai :
P⊃Q
P implique Q
P
Or P est vrai
Donc Q
Donc Q est vrai
P
Q
P⊃Q
P
Q
P⊃Q
P
Q
P⊃Q
V
V
V
V
V
V
V
V
V
⇒
⇒
V
F
F
V
F
F
V
F
F
F
V
V
F
V
V
F
V
V
F
V
F
F
V
F
F
V
F
P⊃Q
P
23 / 80
Q
4.5.2. Modus tollens (raisonnement par l’absurde)
Le raisonnement est l’inverse de ce que l’on veut démontrer :
P⊃Q
P implique Q
¬Q
Or Q est faux
Donc ¬P
Donc P est faux
P
Q
P⊃Q
P
Q
P⊃Q
P
Q
P⊃Q
V
V
V
V
V
V
V
V
V
V
F
F
V
F
F
V
F
F
F
V
V
F
V
V
F
V
V
F
F
V
F
F
V
F
F
V
⇒
P⊃Q
⇒
¬Q
¬P
Exemple 1 :
La notion d’alibi (« ailleurs » en latin) découle directement du modus tollens :
« si j’étais le criminel, j’étais sur les lieux »
L’alibi consiste donc à dire :
« si je n’étais pas sur les lieux, je ne suis pas le criminel »
Exemple 2 :
Socrate est un homme,
Hypothèse 1
Tous les Hommes sont mortels,
Hypothèse 2
Socrate est mortel.
Conclusion
On remplace par X :
X décrit tout l’univers
Si X est un homme, X est mortel.
Instanciation et spécialisation
Si Socrate est un homme, Socrate est mortel.
(implique un modus ponens !)
4.6. Etude de l’implication
On cherche à étudier la signification du terme « entraîne », « implique », grâce à la logique combinatoire.
4.6.1. Fonctions booléennes de variables booléennes
Soit un circuit logique :
f(x) → état du circuit
x → état de l’interrupteur
Avec une seule variable
On a quatre états en entrée :
f1(x)=1
V
f2(x)=0
F
f3(x)=1-x
¬x
f4(x)=x
x
E
24 / 80
S
Avec deux variables
On a 24 états en entrée :
f1 → f1, f2, f3, f4
E
S
E
S
f2 → f1, f2, f3, f4
f3 → f1, f2, f3, f4
f4 → f1, f2, f3, f4
Avec trois variables
3
On a 2(2 ) états en entrée :
3
f(x1,x2,x3) → 2(2 ) bits
Avec n variables
n
f(x1,…,xn) → 2(2 ) bits
4.6.2. Application du modus ponens
Si « P est vrai » ET « P implique Q », alors « Q dépend de P » ET « Q est vrai ».
On élimine tour à tour les possibilités et on détermine :
Q(P)
(1) (1-P) (0) (P) Etats du circuit
P
0
0
1
1
Entrée
Q
0
1
0
1
Entrée
0
0
0
0
0
Antilogie ou contradiction (toujours faux)
P∧Q
0
0
0
1
Conjonction (∧)
P∧¬Q
0
0
1
0
Non implication
P
0
0
1
1
Conservation respective de P et de Q
¬P∧Q
0
1
0
0
Négation de l’implication converse
Q
0
1
0
1
Conservation respective de P et de Q
P≠Q
0
1
1
0
Non équivalence (OU exclusif, ≠)
P∨Q
0
1
1
1
Disjonction (∨)
¬P∧¬Q
1
0
0
0
Non disjonction (NOR)
P=Q
1
0
0
1
Equivalence (=)
¬Q
1
0
1
0
Non conservation respective de P et de Q
P∨¬Q
1
0
1
1
Implication converse (⊂)
¬P
1
1
0
0
Non conservation respective de P et de Q
¬P∨Q
1
1
0
1
Implication (⊃)
¬P∨¬Q
1
1
1
0
Incompatibilité = Négation de la conjonction (NAND ou |)
1
1
1
1
1
Tautologie (toujours vrai)
Un raisonnement faux n’implique pas forcément une erreur :
¾
defalso sequitur quodlibet (retenir où est le 0 )
25 / 80
4.6.3. Contraposition (miroir avec inversion)
Soient deux propositions P et Q.
« P⊃Q est fausse » si « P est vraie » OU « si Q est fausse ».
Cela implique que « P⊃Q est vraie » dans les trois autres cas.
(P⊃Q) = (¬P∨Q)
(P∨Q) = (¬P⊃Q) = (¬Q⊃P)
(P⊃Q) = (¬Q⊃¬P)
Exemple 1 :
(P⊃Q) = S’il pleut, je prends mon parapluie.
= (¬P∨Q) Il ne pleut pas OU je prends mon parapluie.
= (¬P⊃Q) = (¬Q⊃P) Contraposition : si je ne prends pas mon parapluie, il ne pleut pas.
La négation d’une implication n’est pas une implication : il ne faut pas mettre des SI (car le SI
détermine une implication.
Exemple 2 :
(P⊃Q) = S’il pleut, je prends mon parapluie.
= (¬P∨Q) Il ne pleut pas ; je prends mon parapluie.
⇒ pas de SI
4.6.4. Opérations élémentaires
Implication
(P⊃Q) ≡ (¬P∨Q) ≡ (¬Q⊃P)
OU logique (non exclusif : trois 1 dans la colonne)
(P∨Q) ≡ (¬P⊃Q) ≡ (¬Q⊃P)
C’est la même table de vérité que pour l’implication.
OU exclusif (deux 1 dans la colonne)
P∨Q
Attention : ici, le ∨ équivaut à ≠ :
p q p∨q ¬(p∨q) ≡ ¬p∨q ≡ p∨¬q
0
0
0
1
0
1
1
0
1
0
1
0
1
1
0
1
Négation de l’implication
P∧¬Q
Par rapport au ∨, le ∧ est un « ∨ logique ». Donc, la négation du ∨ exclusif est un =.
26 / 80
Négation du OU
Logique : ¬P∧¬Q
Exclusif : P=Q ≡ ¬P∨¬Q
Exemple 1 :
« Q = Je reste ou je pars » ⊃ « Q=R∨P »
R P Q
0
0 0
0
1 1
1
0 1
1
1 0
On a un OU exclusif.
« ¬Q = « Je ne reste pas ou je pars » ou « je reste ou je ne pars pas » »
Exemple 2 :
« R = Il faut être beau ou intelligent » ⊃ « R=B∨I »
B I
R
0 0 0
0 1 1
1 0 1
1 1 1
On a un OU logique.
¬B⊃I : si on est laid, il faut être intelligent.
¬I⊃B : si on est bête, il faut être beau.
ET logique
Le ET n’a pas le même sens selon son emploi comme nom ou comme adjectif.
¾
Nom : c’est une énumération. Il se construit à partir de « ni » (OU).
¾
Adjectif : c’est un ET logique. Il se construit à partir de « mais ».
Exemple 1 :
Il est grand MAIS léger
⇒ P∧Q
⇒ généralement P∧¬Q
Le terme « généralement » utilisé ici est un terme « extra logique » (cf. cours de Recherche
Opérationnelle).
27 / 80
Exemple 2 :
Dans le même esprit que précédemment, on peut étendre la logique à la phrase mnémonique :
« mais ou et donc or ni car »
Avec :
¾
Mais : ∧
¾
Ou : ∨
¾
Et : ∧
¾
Donc : ⊃
¾
Or :
¾
Ni : ∨
¾
Car : p⊃q
Attention : « car » est différent de « parce que » :
¾
« j’ai raté mon examen » car « je suis un imbécile » : la phrase est réversible, donc ce
n’est pas un CAR logique. Ce CAR est équivalent à un PARCE QUE.
¾
« je suis un imbécile » car « j’ai raté mon examen » : la phrase n’est plus réversible,
c’est une implication.
Le vrai sens du mot « car » est « pour cette raison » (en latin quare). Le mot « car » entraîne
une abduction :
« je prends mon parapluie car il pleut » : le phénomène est sûr.
« il a un parapluie car il doit pleuvoir » : ce n’est pas sûr qu’il pleuve.
4.6.5. Exercice 1
« Soit une bifurcation. Pour aller dans la bonne direction, est-ce que l’autre me dirait d’aller à
droite ? »
Dans cet exercice, la réponse attendue à la question est OUI ou NON. On a donc :
Homme Direction Réponse
V
D
V
G
Oui
F
D
Non
F
G
Oui
On en déduit que :
¾
OUI : aller à gauche
¾
NON : aller à droite.
28 / 80
Non
4.6.6. Exercice 2
Soient A, B et C. On pose trois questions au total à qui l’on souhaite (celui qui dit vrai, celui qui
ment, et celui qui dit n’importe quoi) pour déterminer qui est qui (ils se connaissent entre eux).
Déterminer celui qui ment et celui qui dit la vérité.
Il faut donc dans l’ordre :
¾
¾
¾
Trouver quelqu’un qui dit n’importe quoi (c’est le plus dur).
Trouver le menteur par un état de fait (« le ciel est bleu », « 2+2=4 »).
Demander à ce dernier si son voisin dit n’importe quoi
On a donc la table de vérité suivante :
A B C
1 V
F
?
O
2 V
?
F
N
3 F
V
?
O
4 F
?
V N
5 ?
V
F
6 ?
F
V ?
?
La première question est posée à A : « Est-ce que B peut me mentir et est-ce que C peut me dire
la vérité ? »
¾
¾
Oui : celui qui est au milieu ne dit pas n’importe quoi.
Non : celui qui est à droite ne dit pas n’importe quoi.
La seconde question est posée à B ou à C : « 2+2=4 ? ». Elle permet de déterminer qui de B ou
C dit toujours la vérité.
La dernière question posée porte que A, sur B, ou sur C. Elle est quelconque car elle sert à
déterminer qui dit n’importe quoi.
Remarque : une autre manière de formuler la première question aurait été : « Est-ce que celui
qui dit n’importe quoi est juste à droite du menteur ? ». Cette question est une solution plus
élégante (les deux questions étant logiquement équivalentes, on a la même table de vérité).
29 / 80
5. Logique propositionnelle
Rappels :
¾
La sémantique (au sens logique) donne la vérité des choses.
¾
La syntaxe donne la démonstration (c’est la grammaire du langage)
Donc si on fait une erreur de syntaxe, on se trompe logiquement.
De même, si on commet une erreur de sémantique, on obtient un autre résultat que celui attendu.
5.1. Introduction
Le syllogisme permet de mettre en rapport dans une conclusion deux termes, le majeur et le mineur, au
moyen d’un moyen terme.
Le majeur et le mineur ne doivent apparaître qu’une fois chacun dans les prémisses, le moyen terme est
présent dans chaque prémisse (puisqu’il permet la mise en rapport des deux autres termes) tandis que la
conclusion expose le rapport entre le majeur et le mineur, de sorte que le syllogisme est un « rapport de
rapports » (expression de Renouvier, Traité) :
Termes
Prémisse majeure
(Affirmation 1)
Moyen m
Majeur T
Tous les Hommes sont
mortels
Or :
Prémisse mineure
(Affirmation 2)
Mineur t
Moyen m
Tous les Grecs
sont des Hommes
Donc :
Conclusion
(t et T dans cet ordre)
Mineur t
Majeur T
Tous les Grecs
sont
mortels
5.1.1. Premier paradoxe
L’application sans discernement de la règle qui précède peut conduire à quelques étrangetés :
Termes
Prémisse majeure
(Affirmation 1)
Moyen m
Majeur T
Toutes les choses rares sont
chères
Or :
Prémisse mineure
(Affirmation 2)
Mineur t
Moyen m
Le gigot bon marché
est
rare
Donc :
Conclusion
(t et T dans cet ordre)
Mineur t
Le gigot bon marché
Majeur T
est
cher
Cette conclusion peut troubler et incitera à manier le syllogisme avec précautions.
30 / 80
5.1.2. Second paradoxe
Comment puis-je affirmer que tous les Grecs sont mortels ? Stricto sensu, je ne peux en être certain que
si j’ai bien vu mourir tous les Grecs, y compris Socrate.
On concevra donc que dans la pratique un syllogisme déductif est rarement applicable sans une part plus
ou moins escamotée d’induction. On a pu jadis croire qu’un syllogisme expliquait quelque chose sur le
monde réel à une époque où l’on croyait aux essences, c’est-à-dire où on pensait que le mot définissait la
chose, et non l’inverse.
5.1.3. Cas de prémisses sans rapport avec le réel
Avant de chercher à comprendre le fonctionnement des syllogismes, il faut prendre garde à un point des
plus importants : dire d’un syllogisme qu’il est concluant c’est affirmer que sa forme est valide. Sa vérité
matérielle, cependant, n’importe pas. Ainsi, le syllogisme :
Toutes les poules ont des dents,
Or les poules sont kleptomanes,
Donc quelques créatures kleptomanes ont des dents
est parfaitement valide. Il n’a, en revanche, aucune valeur de vérité matérielle.
5.2. Les propositions
5.2.1. Les ebf
On a le droit d’écrire :
¾
Des expressions bien formées (ebf, ou well formed formulas = wff) :
o
Une ebf est écrite en lettre minuscule (hypothèse d’un alphabet infini) ;
o
ebf ⊃ ebf ;
o
¬ebf
Exemple : soit une ebf p
p⊃q
¬p ⊃ (q ⊃ ¬r)
Contre exemple :
p⊃⊃
¾
¾
Des schémas d’axiomes (ebf particulières) :
o
A1 : P ⊃ (Q ⊃ P) ; (non récursif)
o
A2 : (P ⊃ (Q ⊃ R)) ⊃ ((P ⊃ Q) ⊃ (P ⊃ R)) ; (non récursif)
o
A3 : (¬P ⊃ ¬Q) ⊃ (Q ⊃ P).
o
Les lettres majuscules sont équivalentes à des ebf quelconques.
(non récursif)
Des théorèmes :
o
Une instance d’axiome
o
Le résultat de modus ponens entre deux théorèmes (deux instances d’axiomes ou
récursivité)
La récursivité est différente de l’itération. La récursivité implique un point d’arrêt et un
élément de base.
31 / 80
Exemples :
marcher = faire un pas ∨ (faire un pas ∧ marcher)
liste = rien ∨ (un élément suivi d’une liste)
entier = zéro ∨ successeur d’un entier
arbre binaire = rien ∨ (un arbre puis un objet puis un arbre)
Démonstrations d’ebf
Une démonstration est une séquence de théorèmes (ce qui implique une conclusion) : tout ce que l’on
démontre est vrai, mais tout ce qui est vrai n’est pas démontrable
Exemple : on cherche à démonter p ⇒ p
1.
(p ⊃ (p ⊃ p))
instance de l’axiome A1 : P=p et Q=rien
2.
(p ⊃ ((p ⊃ p) ⊃ p) ⊃ ((p ⊃ (p ⊃ p)) ⊃ (p ⊃ p))
3.
(p ⊃ ((p ⊃ q) ⊃ p)
4.
(p ⊃ (p ⊃ p)) ⊃ (p ⊃ p)
5.
p⊃p
6.
Démontré !
instance de A1
instance de A1 : P=p et Q=(p⊃p)
modus ponens de 2. et 3.
modus ponens entre 1. et 4.
Analogie : l’axiome est la brique, le modus ponens le ciment.
Sémantique de l’ebf
Axiome A1
p q q ⊃ p p ⊃ (q ⊃ p)
1
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
Axiome A2
p q
r
(q ⊃ r) (p ⊃ (q ⊃ r)) (p ⊃ q) (p ⊃ r) (p ⊃ q) ⇒ (p ⊃ r) A2
1
1 1
1
1
1
1
1
1
1
1 0
0
0
1
0
0
1
1
0 1
1
1
0
1
1
1
1
0 0
1
1
0
0
1
1
0
1 1
1
1
1
1
1
1
0
1 0
0
1
1
1
1
1
0
0 1
1
1
1
1
1
1
0
0 0
1
1
1
1
1
1
Axiome A3
¬p ¬q ¬p ⊃ ¬q (¬p ⊃ ¬q) ⊃ (q ⊃ p)
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
32 / 80
Remarques
Les axiomes A1 et A2 sont des tautologies respectives. Dans le calcul des propositions, tous les
théorèmes sont des tautologies.
C’est ce qu’on appelle un système consistant, i.e. qui ne s’effondre pas.
¾
Système : ensemble d’axiomes
¾
S’effondrer : qui est vrai et faux à la fois (= inconsistant)
De plus, dans le calcul des propositions, toutes les tautologies sont des théorèmes. Ce qui n’est pas
forcément vrai en arithmétique (systèmes indécidables).
C’est un système complet.
Note : certains systèmes incomplets existants sont éventuellement intéressants.
Exemple :
Soit « ¬¬p ⊃ (¬¬¬¬p ⊃ ¬¬p) » à démontrer.
Considérons l’équivalence suivante :
¾
¾
¾
¾
¾
0
1
2
3
4
:
:
:
:
:
p
¬p
¬¬p
¬¬¬p
¬¬¬¬p
Ce qui donne :
A1 : P=¬¬p et Q=¬¬¬p
1.
2 ⊃ (4⊃2)
2.
(4⊃2) ⊃ (1⊃3)
3.
((4⊃2) ⊃ (1⊃3)) ⊃ (2 ⊃ ((4⊃2) ⊃ (1⊃3)))
4.
2 ⊃ ((4⊃2) ⊃ (1⊃3))
5.
(2 ⊃ ((4⊃2) ⊃ (1⊃3))) ⊃ ((2 ⊃ (4⊃2)) ⊃ (2 ⊃ (1⊃3)))
6.
(2 ⊃ (4⊃2)) ⊃ (2 ⊃ (1⊃3))
7.
2 ⊃ (1⊃3)
8.
(1⊃3) ⊃ (2⊃0)
9.
((1⊃3) ⊃ (2⊃0)) ⊃ (2 ⊃ ((1⊃3) ⊃ (2⊃0)))
A3 : P=¬¬¬p et Q=¬p
A1 : () ⊃ ()
Modus ponens entre 2. et 3.
Modus ponens entre 4. et 5.
Modus ponens entre 1. et 6.
A3
10. 2 ⊃ ((1⊃3) ⊃ (2⊃0))
A1
Modus ponens entre 8. et 9.
11. (2 ⊃ ((1⊃3) ⊃ (2⊃0))) ⊃ ((2 ⊃ (1⊃3)) ⊃ (2 ⊃ (2⊃0)))
12. (2 ⊃ (1⊃3)) ⊃ (2 ⊃ (2⊃0))
13. 2 ⊃ (2⊃0)
15. 2 ⊃ (2⊃2)
A1
A1
16. (2 ⊃ ((2⊃2) ⊃ 2)) ⊃ (2 ⊃ (2⊃2)) ⊃ (2⊃2))
17. (2 ⊃ (2⊃2)) ⊃ (2⊃2)
Modus ponens entre 14. et 16.
19. (2 ⊃ (2⊃0)) ⊃ ((2⊃2) ⊃ (2⊃0))
21. 2⊃0
A2
Modus ponens entre 15. et 16.
20. (2⊃2) ⊃ (2⊃0)
A2
Modus ponens entre 10. et 11.
Modus ponens entre 7. et 12.
14. 2 ⊃ ((2⊃2) ⊃ 2)
18. 2⊃2
A2
A2
Modus ponens entre 13. et 19.
Modus ponens entre 18. et 20.
33 / 80
5.2.2. Sujet et prédicat des propositions
Les syllogismes sont constitués de propositions, ou affirmations faites d’un sujet (S) relié par une copule
à un prédicat (P), de type :
S {sujet} est {copule} P {prédicat}
Ces propositions doivent être construites dans un ordre précis : le sujet de la conclusion, en effet, doit
être présent dans une des prémisses (normalement la mineure), son prédicat dans l’autre (la plupart du
temps la majeure), pour que le syllogisme soit valide. Le moyen terme (M) établit le rapport : * {M est
P} or {S est M} donc {S est P}.
Note : l’ordre dans lequel apparaissent les prémisses n’importe pas. L’usage est de citer en premier celle
qui contient la majeure, c’est-à-dire le prédicat de la conclusion.
Il est donc exclu que le moyen terme apparaisse dans la conclusion ou que l’une des prémisses mette en
relation les deux termes extrêmes (termes mineur et majeur).
5.2.3. Rapport entre le sujet et le prédicat
En fait, la copule est introduit un rapport entre les deux concepts S et P. Ce rapport doit être appréhendé
sous l’angle de la compréhension (désigne en logique l’ensemble des qualités et des caractéristiques
propres à un ensemble, ou classe, d’objets) et de l’extension (l’ensemble des objets qui possèdent ces
qualités et propriétés en commun). S est P doit se donc comprendre à la fois comme :
compréhension : « l’ensemble S possède l’attribut P » ;
extension : « l’ensemble S fait partie de l’ensemble P ».
¾
¾
Ainsi, tous les hommes sont mortels se comprend doublement :
compréhension : « l’ensemble des hommes possède les caractéristiques de l’ensemble des
mortels » ;
extension : « l’ensemble des hommes fait partie de l’ensemble des mortels ».
¾
¾
L’on voit donc, outre la répartition des termes au sein des prémisses, une seconde contrainte se
dessiner : une proposition doit être constituée de propositions dans lesquelles le prédicat est un surensemble du sujet. Un syllogisme peut donc se résumer ainsi :
[(M ⊂ P) ∧ (S ⊂ M)] ⊃ (S ⊂ P)
Or, une table de vérité permet de vérifier que cette expression est une tautologie (au sens logique) :
1
2
1
3
1
2
1
4
1
3
1
[(M
⊂
1
1
P)
∧
(S
⊂
M)]
⊃
(S
⊂
P)
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
M
P
S
1
1
1
1
1
1
0
1
0
Cette table de vérité doit être lue ainsi : « la conjonction de « M est impliqué par P » et de « S est
impliqué par M » implique bien que S est impliqué par P ». En effet, l'implication (portant le numéro 4
dans le tableau) est vraie quelles que soient les valeurs de M, P et S.
34 / 80
5.2.4. Les classes de propositions
Le tableau vu plus haut permet de comprendre pourquoi, pour peu qu'il soit correctement construit, un
syllogisme est valide formellement. Il ne permet cependant de considérer que les syllogismes dont toutes
les propositions seraient affirmatives et universelles. Ce ne sont pas les seules possibilités.
Il existe en effet quatre classes de propositions, distinguées par leur qualité et leur quantité :
¾
¾
qualité : propositions affirmatives ou négatives ;
quantité : propositions universelles (le sujet concerne toute l'extension) ou particulières (une
partie de l'extension).
Ces quatre classes sont désignées traditionnellement par des lettres mnémotechniques telles qu'utilisées
par la scolastique médiévale :
•
•
•
•
A = affirmative universelle : « tous les hommes sont mortels » (∀) ;
E = négation universelle : « aucun homme n'est immortel » (∃) ;
I = affirmation particulière : « quelques hommes sont peintres » ;
O = négation particulière : « quelques hommes ne sont pas peintres ».
Pour retenir ces lettres : affirmo (du latin « j'affirme »), nego (« je nie »).
Deux propositions disposant des mêmes sujet S et prédicat P peuvent s'opposer par leur qualité et/ou par
leur quantité. Ainsi les oppositions qui peuvent être créées sont les suivantes :
¾
¾
¾
¾
Deux propositions contradictoires sont des propositions qui s'opposent par la
quantité
Deux propositions contraires sont des propositions universelles qui s'opposent par
peuvent être vraies en même temps)
Deux propositions subcontraires sont des propositions particulières qui s'opposent
(ne peuvent être fausses en même temps)
Deux propositions subalternes sont des propositions qui s'opposent par la
particulière est une conséquence de l’universelle).
qualité et la
la qualité (ne
par la qualité
quantité (la
On établit ainsi le carré logique de l'opposition des propositions.
Tous les M sont des P
A
Subalterne
Aucun M n’est un P
E
Contradictoires
I
Certains M sont des P
Contraire
Subcontraire
Subalterne
O
Certains M ne sont pas des P
Or, un syllogisme doit considérer la classe de ses propositions et l'ordre dans lequel elles apparaissent
pour rester valide : le schéma
[(M ⊂ P) ∧ (S ⊂ M)] ⊃ (S ⊂ P)
ne suffit pas, ne serait-ce parce que l'on a parfois à faire à des exclusions d'ensembles, et non de seules
inclusions.
35 / 80
Exemple : tous les éléments de l’ensemble vide sont rouge.
x∈∅ = x est rouge
Avec :
¾
x∈∅ : faux
¾
x∈∅ = x est rouge : vrai
On ne peut accepter la subalternation dans ce cas (A→I) car cela implique qu’il y a quelque chose
dans l’ensemble vide (ce qui n’est pas acceptable).
Idem entre A et E : il n’y a que dans le cas de l’ensemble vide que l’ensemble est vrai et faux en
même temps.
Par conséquent, (A et O) et (I et E) restent seuls vrais.
5.3. Les modes
5.3.1. La position du moyen terme : notion de figure
On l'a dit, l'ordre dans lequel apparaissent les prémisses n'est pas pertinent. Ce qui l'est, en revanche,
c'est la répartition du sujet et du prédicat de la conclusion au sein des prémisses, indiquée par celle du
moyen terme.
La forme canonique d'un syllogisme est [(M ⊂ P) ∧ (S ⊂ M)] ⊃ (S ⊂ P).
Dans ce cas, le moyen terme est sujet de la majeure et prédicat de la mineure. Cela dessine ce que l'on
nomme la première figure, dans laquelle le terme majeur est prédicat de la prémisse mineure et le terme
mineur sujet de la prémisse majeure.
Trois autres figures sont cependant possibles :
¾
Première figure : [(M ⊂ P) ∧ (S ⊂ M)] ;
¾
Deuxième figure : [(P ⊂ M) ∧ (S ⊂ M)] ;
¾
Troisième figure : [(M ⊂ P) ∧ (M ⊂ S)] ;
¾
Quatrième figure : [(P ⊂ M) ∧ (M ⊂ S)]. Cette quatrième figure n'a pas été analysée par Aristote
(considérant qu'elle revient à la première figure dont les prémisses seraient inversées) mais par
Galien au IIe siècle de notre ère. On la nomme aussi figure galénique.
Ces figures ont une importance dans la recherche des modes concluants car elles déterminent, outre la
place du prédicat, celle des termes majeurs et mineurs ; or, selon qu'un terme est sujet ou prédicat, et
selon la qualité de la proposition (affirmative ou négative), l'extension de ce terme varie.
Si l'on se souvient que le syllogisme fonctionne sur l'inclusion de classes au sein d'autres classes, l'on
comprend que l'extension des termes soit fondamentale : dire que tous les hommes sont mortels, or les
Grecs sont des hommes donc les Grecs sont mortels nécessite que les ensembles hommes, mortels et
Grecs soient pris dans la même extension d'un bout à l'autre du syllogisme ou au moins dans une
extension moindre dans la conclusion.
Si, par exemple, Grecs correspondait dans les prémisses à seulement les Grecs de Béotie et dans la
conclusion à tous les Grecs, le syllogisme n'aurait aucun sens : la classe tous les Grecs n'est pas incluse
dans la classe Grecs de Béotie.
Sachant que l'extension des termes change selon la qualité de la proposition et leur place en son sein, il
convient, si l'on veut respecter leur identité d'un bout à l'autre du syllogisme, de connaître les règles
suivantes :
¾
¾
¾
¾
à
à
à
à
proposition
proposition
proposition
proposition
affirmative, prédicat particulier ;
négative, prédicat universel ;
universelle, sujet universel ;
particulière, sujet particulier.
36 / 80
En effet, dans :
¾
tous les Grecs sont mortels, la classe Grecs est incluse dans celle des mortels ; l'on ne peut
cependant pas dire que la classe mortels soit limitée à celle de Grecs (tous les Grecs sont mortels
≠ tous les mortels sont Grecs). L'on considère donc une partie de l'extension de mortels ;
¾
aucun Grec n'est immortel, la classe immortel est saisie dans son entier : l'intégralité de la classe
immortel n'a aucun point commun avec celle de Grecs. L'on peut donc dire qu'aucun Grec n'est
immortel équivaut à aucun immortel n'est un Grec ;
¾
quant aux sujets, ils sont quantifiés directement selon la quantité de la proposition où ils
apparaissent : dans tout homme est mortel, la classe homme est prise en intégralité, dans
quelques hommes portent une barbe de manière particulière.
L'on peut aussi résumer les questions d'extension en considérant les classes de propositions :
Classe de proposition
Sujet de la proposition
Prédicat de la proposition
A : universelle affirmative
Universel
Particulier
E : universelle négative
Universel
Universel
I : particulière affirmative
Particulier
Particulier
O : particulière négative
Particulier
Universel
L'extension des sujets et des prédicats, on le verra ensuite, joue dans la détermination des modes
concluants.
5.3.2. Les modes concluants
Sachant qu'il existe quatre classes de propositions (A, E, I et O), qu'un syllogisme se compose de trois
propositions et que le moyen terme dessine quatre figures, il existe donc 43*4 = 256 modes. De ces 256,
seuls 19 sont valides, ou concluants.
En effet, plusieurs règles (que l'on déduit d'autres règles logiques concernant l'extension des termes ;
voir plus bas) sont à considérer :
¾
¾
¾
¾
¾
¾
l'extension des termes de la conclusion ne peut être plus importante que dans les prémisses ;
le moyen terme doit être universel au moins une fois dans les prémisses ;
on ne peut tirer de conclusion à partir de deux prémisses particulières ;
on ne peut tirer de conclusion à partir de deux prémisses négatives ;
deux prémisses affirmatives ne peuvent donner une conclusion négative ;
la conclusion doit être aussi faible que la prémisse la plus faible.
De sorte, il est possible de recenser les modes concluants. Ceux-ci sont depuis le Moyen Âge désignés
par des noms sans signification dont les voyelles indiquent les classes des propositions. Ainsi, le
syllogisme Barbara doit se comprendre comme étant composé de deux prémisses et d'une conclusion
affirmatives et universelles (A).
Modes concluants de la première figure (« modes parfaits »)
Schéma : [(M ⊂ P) ∧ (S ⊂ M)] ⊃ (S ⊂ P).
Ces modes sont dits « parfaits » parce qu'ils ont servi à Aristote à démontrer le caractère concluant des
modes des autres figures (ou « modes imparfaits »). En effet, tout syllogisme peut se ramener à l'un des
quatre modes parfaits. Chacun de ces modes donne une conclusion d'une des classes :
¾
¾
¾
¾
Barbara (AAA) : tout M est P, or tout S est M, donc tout S est P ;
Celarent (EAE) : aucun M n'est P, or tout S est M, donc aucun S n'est P ;
Darii (AII) : tout M est P, or quelque S est M, donc quelque S est P ;
Ferio (EIO) : aucun M n'est P, or quelque S est M, donc quelque S n'est pas P.
Rapport :
m T
t
m
t
T
37 / 80
BARBARA ⇒ AAA
Tous les m sont des T,
Tous les t sont des m,
Tous les t sont des T
Tout chat est sympathique,
Or Aristote est un chat,
Donc Aristote est sympathique.
CELARENT ⇒ EAE
Aucun m n’est un T,
Tous les t sont des m,
Aucun t n’est un T
Aucun agent de change n'est borgne,
Or tous les rats polyglottes sont borgnes,
Donc aucun rat polyglotte n'est agent de change.
DARII ⇒ AII
Tous les m sont des T,
Certains t sont des m,
Certains t sont des T
Les hirondelles font le printemps,
Or quelques syndicalistes sont des hirondelles,
Donc quelques syndicalistes font le printemps.
FERIO ⇒ AIO
Aucun m n’est un T,
Quelques t sont des m,
Quelques t sont des T
Aucune feuille du Dictionnaire étymologique de la langue latine
n'est imputrescible,
Or quelques cornets de frites sont faits de feuilles du Dictionnaire
étymologique de la langue latine,
Donc quelques cornets de frites ne sont pas imputrescibles.
Mnémonique : ce sont les consonnes qui aident à la démonstration.
Modes concluants de la deuxième figure
Schéma : [(M ⊂ P) ∧ (S ⊂ M)] ⊃ (S ⊂ P).
Tous ces modes ont une conclusion négative :
¾
¾
¾
¾
Baroco (AOO) : tout P est M, or quelque S n'est pas M, donc quelque S n'est pas P ;
Camestres (AEE) : tout P est M, or aucun S n'est M, donc aucun S n'est P ;
Cesare (EAE) : aucun P n'est M, or tout S est M, donc aucun S n'est P ;
Festino (EIO) : aucun P n'est M, or quelque S est M, donc quelque S n'est pas P.
Rapport :
T m
t
m
t
T
BAROCO ⇒ AOO
Tous les T sont des m,
Certains t sont des m,
Certains t sont des T
Toute conscience de soi est déjà quelque chose,
Or quelques riens ne sont pas quelque chose,
Donc quelques riens ne sont pas conscience de soi.
CAMESTRES ⇒ AEE
Tous les T n’est un m,
Aucun t n’est un m,
Aucun t n’est un T
Les albatros sont faits de plumes,
Or le Luberon n'est pas fait de plumes,
Donc le Luberon n'est pas un albatros.
CESARE ⇒ EAE
Aucun T n’est un m,
Tous les t sont des m,
Aucun t n’est un T
Aucun prêtre n'est un singe,
Or les chimpanzés sont des singes,
Donc les chimpanzés ne sont pas prêtres.
FESTINO ⇒ EIO
Aucun m n’est un T,
Quelques t sont des m,
Quelques t sont des T
Socrate n'est pas mortel,
Or quelques hommes sont mortels,
Donc quelques hommes ne sont pas Socrate.
38 / 80
Modes concluants de la troisième figure
Schéma : [(M ⊂ P) ∧ (S ⊂ M)] ⊃ (S ⊂ P).
Chacun des modes de cette figure implique une conclusion particulière :
¾
¾
¾
¾
¾
¾
Bocardo (OAO) : quelque M n'est pas P, or tout M est S, donc quelque S n'est pas P ;
Darapti (AAI) : tout M est P, or tout M est S, donc quelque S est P ;
Datisi (AII) : tout M est P, or quelque M est S, donc quelque S est P ;
Disamis (IAI) : quelque M est P, or tout M est S, donc quelque S est P ;
Felapton (EAO) : aucun M n'est P, or tout M est S, donc quelque S n'est pas P ;
Ferison (EIO) : aucun M n'est P, or quelque M est S, donc quelque S n'est pas P.
Rapport :
m T
m t
t
T
Modes concluants de la quatrième figure, dite « galénique »
Schéma : [(M ⊂ P) ∧ (S ⊂ M)] ⊃ (S ⊂ P).
La conclusion des modes de cette figure ne peut pas être universelle affirmative. Les modes galéniques
n'ont pas été reconnus concluants par Aristote.
¾
¾
¾
¾
¾
Bamalip (AAI) : tout P est M, or tout M est S, donc quelque S est P ;
Camenes (AEE) : tout P est M, or aucun M n'est S, donc aucun S n'est P ;
Dimaris (IAI) : quelque P est M, or tout M est S, donc quelque S est P ;
Fesapo (EAO) : aucun P n'est M, or tout M est S, donc quelque S n'est pas P ;
Fresison (EIO) : aucun P n'est M, or quelque M est S, donc quelque S n'est pas P.
Note : les noms de ces modes peuvent varier ; les logiciens de Port-Royal les disent Barbari, Calentes,
Dibatis, Fespamo et Fresisom.
Rapport :
T m
t
m
t
T
Remarques sur les figures
Remarque 1 : la quatrième figure n’est que l’inverse de la troisième.
Remarque 2 : au XIXe siècle, on a découvert que deux de ces figures (parmi les 14) étaient inutiles car
s’inversant mutuellement : DARAPTI et FELAPTON (ce sont deux hypothèses universelles).
DARAPTI ⇒ AAI
Tous les m sont des T,
Tous les m sont des t,
Certains t sont des T
Si m=∅, cela devient faux (du moins pas forcément vrai).
FELAPTON ⇒ EAO
Aucun m n’est un T,
Tous les m sont des t,
Quelques t sont des T
Valable uniquement si les m existent.
Il n’y a pas d’ignorabimus (= « nous ignorerons (toujours), Hilbert) !
39 / 80
5.3.3. Validation des modes concluants
On a indiqué plus haut des règles communes à toutes les figures permettant de repérer les modes
concluants sans en expliquer les raisons profondes, si ce n'est évoquer l'importance de l'extension des
termes. Ainsi, comment expliquer qu'un Bamalip galénique (tout P est M, or tout M est S, donc quelque S
est P) est concluant mais pas un éventuel « Bamalap » galénique (tout P est M, or tout M est S, donc tout
S est P) ?
Il faut, pour ce faire, étudier par le menu les règles de formation des syllogismes.
L'extension des termes de la conclusion ne peut être plus importante que dans les
prémisses
L'extension des termes de la conclusion (ses sujet et prédicat) ne peut dépasser celle qu'ils ont dans les
prémisses. Puisque la conclusion découle des prémisses, il faut que les ensembles qui y sont désignés
soient ou les mêmes ou des plus petits pour que le jeu d'inclusion de classes au sein d'autres classes
fonctionne.
Cela explique pourquoi le mode Bamalip (tout P est M, or tout M est S, donc quelque S est P) de la
quatrième figure ne peut avoir de conclusion universelle : dans cette figure, le terme mineur (sujet de la
conclusion) est toujours prédicat, or, dans ce mode, il est pris en particulier puisque la proposition est
affirmative. Il doit donc être particulier dans la conclusion.
Le moyen terme doit être universel au moins une fois dans les prémisses
Le moyen terme assurant le rapport entre les termes de la conclusion, celui-ci doit au moins une fois être
utilisé sous son extension universelle. En effet, ce rapport ne fonctionne que si le moyen terme possède
une identité claire.
Or, si le moyen terme n'était considéré deux fois qu'en partie, rien ne permettrait d'affirmer que ces deux
parties sont identiques ou que l'une est incluse dans l'autre.
Ceci explique pourquoi les syllogismes de la deuxième figure, dans lesquels le moyen terme est toujours
prédicat, donc pris particulièrement, ne peuvent suivre un schéma AAA : rien n'indique que dans les deux
prémisses ce moyen terme serait le même : les cerises sont sphériques, or les yeux sont sphériques,
donc les yeux sont des cerises. Dans les prémisses, les deux classes des objets sphériques évoqués ne se
recoupent pas : le rapport entre le terme mineur et le majeur ne peut être assuré en l'absence d'un
moyen terme non ambigu.
On ne peut tirer de conclusion à partir de deux prémisses particulières
Ce cas de figure est impossible. En effet, dans le cas où les deux prémisses seraient affirmatives
particulières, tous les termes seraient particuliers (voir tableau plus haut), dont le moyen.
Or, le moyen terme doit obligatoirement être pris au moins une fois universellement (voir plus haut).
Dans le cas où l'une des deux prémisses serait négative particulière (deux négatives étant impossibles ;
voir plus bas), la conclusion devrait être négative et le syllogisme devrait contenir deux termes
universels. Le prédicat de la négative serait universel, et seule une prémisse universelle permettrait
d'obtenir un sujet universel.
On ne peut tirer de conclusion à partir de deux prémisses négatives
Le sujet et le prédicat de la conclusion étant mis en rapport par le moyen terme, si ce rapport est nié
deux fois, on ne peut naturellement établir de lien. Ainsi, il ne peut exister de syllogisme EEE ou OOO (ou
un mélange quelconque de ces deux classes), qui ressemblerait à cela : aucun animal n'est immortel, or
aucun dieu n'est un animal, donc aucun dieu n'est immortel.
Deux prémisses affirmatives ne peuvent donner une conclusion négative
Deux prémisses affirmatives unissent les termes de la conclusion par le moyen terme. On ne peut donc
obtenir une conclusion négative, c'est-à-dire une absence de lien entre les termes. Cela exclut tous les
modes AAE, AAO, IIE et IIO.
La conclusion doit être aussi faible que la prémisse la plus faible
On entend par « faible » une hiérarchie au sein des qualités et des quantités :
¾
¾
la particulière est plus faible que l'universelle ;
la négative que l’affirmative.
40 / 80
Lorsque une des prémisses est négative (le cas où deux prémisses seraient négative n'étant pas
possible ; voir plus haut), le rapport établi par le moyen terme entre le terme majeur et le mineur est
double : l'une des classes est incluse ou identique à celle du moyen terme, l'autre est exclue du moyen
terme. Il ne peut donc y avoir d'union entre le majeur et le mineur.
De même, à supposer qu'une conclusion soit universelle affirmative, ses prémisses devront aussi être
affirmatives et contenir chacune un terme universel, l'extension des termes de la conclusion ne pouvant
dépasser celle des termes des prémisses. Si la conclusion est universelle négative, il faut que les
prémisses contiennent trois termes universels, soient une négative (prédicat universel), et deux sujets
universels.
5.4. Conclusion sur les modes
Ces règles permettent d'expliquer le caractère concluant de tous les modes syllogistiques en excluant
ceux qui ne seraient pas convaincant du fait de l'extension des termes. L'utilisation de syllogismes non
concluants se rencontre cependant souvent dans le cadre de l'argumentation ; on parle dans ce cas de
sophisme, la plupart du temps par généralisation, ou sophisme secundum quid.
41 / 80
6. Introduction à PROLOG
6.1. Etude de cas : les sorites
6.1.1. Définition d’un sorite
Argument composé d'une suite de propositions liées entre elles de manière que l'attribut de chacune
d'elles devienne le sujet de la suivante, et ainsi de suite, jusqu'à la conclusion, qui a pour sujet le sujet
de la première proposition et pour attribut l'attribut de l'avant dernière.
Exemple (classique) :
Qui est sage est tempérant ; qui est tempérant est constant ; qui est constant est sans trouble ;
qui est sans trouble est sans tristesse ; qui est sans tristesse est heureux : donc le sage est
heureux, et la sagesse suffit au bonheur.
6.1.2. Sorites de Lewis CAROLL
Premier exemple
Babies are illogical ;
Nobody is despised who can manage a crocodile ;
Illogical persons are despised.
Les bébés sont illogiques ;
Personne n’est méprisé s’il peut maîtriser un crocodile ;
Les personnes illogiques sont méprisées.
La conclusion s’obtient de la manière suivante :
BARBARA :
Les personnes illogiques sont méprisées. A
Les bébés sont illogiques.
A
Les bébés sont méprisés.
A
CAMESTRES :
Les bébés sont méprisés.
A
Aucune personne qui peut maîtriser un crocodile n’est méprisée. E
Aucun bébé ne peut maîtriser un crocodile.
Cette méthode est longue et fastidieuse.
42 / 80
E
Il existe une méthode plus moderne, à base de préfixe, pour parvenir à la conclusion :
Soit :
¾
b(X) : X est un bébé.
¾
c(X) : X peut venir à bout d’un crocodile.
¾
m(X) : X est méprisé.
¾
i(X) : X est illogique.
Convention : variables notée en caractère majuscules.
On reformule le sorite ainsi :
b(X) → i(X)
c(X) → ¬m(X)
i(X) → m(X)
Ce qui donne par modus ponens :
b(X) → i(X) → m(X) → ¬c(X)
⇒ b(X) → ¬c(X)
De la même manière, on peut aussi écrire par modus tollens :
c(X) → ¬m(X) → ¬i(X) → ¬b(X)
⇒ c(X) → ¬b(X)
Donc, si on peut venir à bout d’un crocodile, on n’est pas un bébé.
Second exemple
My saucepans are the only things that I have that are made of tin ;
I find all your presents very useful ;
None of my saucepans are of the slightest use.
Mes casseroles sont les seuls objets en étain que je possède ;
Tous vos cadeaux sont utiles ;
Aucune de mes casseroles n’a la moindre utilité.
Méthode basique :
CESARE :
Aucune casserole n’est utile.
E
Vos cadeaux sont utiles.
A
Aucun de vos cadeaux n’est une casserole. E
CESARE :
Aucun de vos cadeaux n’est une casserole. E
Tout ce qui est en étain est une casserole.
A
Aucun de vos cadeaux n’est en étain.
E
43 / 80
Méthode préfixée :
Soit :
¾
c(X) : casserole.
¾
u(X) : utile.
¾
e(X) : étain.
¾
k(X) : cadeau.
On reformule le sorite ainsi :
c(X) ↔ e(X)
Les phrases E sont réversibles, d’où : ↔.
k(X) → u(X)
c(X) → ¬u(X)
Ce qui donne :
k(X) → u(X) → ¬c(X) → ¬e(X)
⇒ k(X) → ¬e(X)
Si on désire être plus subtil, il faut avoir des objets dont la vérité dépend du cas (le « ça dépend »).
6.2. Skolémisation
Un prédicat est donc une fonction qui prend ses valeurs dans l’univers booléen.
P=f(U)
U → {V,F}
Si on considère l’univers des entiers naturels ℕ, « pair » est un prédicat car la notion de parité d’un
nombre est « vraie » ou « fausse ».
Exemples :
3 est pair → faux
4 est pair → vrai
X est pair → ?
X est une variable libre car sa valeur de vérité est indéterminée.
∀X, X est pair → faux
X est ici quantifiée universellement : X est une variable liée (par le quantificateur).
Il faut différencier la liaison pour s’affranchir du quantificateur : c’est la Skolémisation (de son créateur
SKOLEME), i.e. on cherche à nommer.
Il est possible de remplacer une variable quantifiée existentiellement par une fonction des variables
quantifiées universellement qui la précèdent dans l’expression.
Dans le cas où il n’existerait pas de telles variables quantifiées universellement, on a alors des
constantes, i.e. des fonctions sans variables.
Exemple : Univers ℕ avec le prédicat « pair »
Skolémisation : ∃X, pair(X) → pair(truc)
44 / 80
Règle de Skolémisation :
¾
Constantes : minuscules
¾
Variables : majuscules
¾
Le SI est noté : prédicat :- prédicat
¾
Le ET est remplacé par une virgule.
¾
Le OU est implicite : on décrit deux fois le prédicat qui contient un ET.
¾
La différence est notée : \= et renvoie un booléen.
¾
Une variable inutilisée est remplacée par un soulignement (_).
¾
Toute Skolémisation se finit par un point (fin de phrase logique).
¾
Toute récursivité doit commencer par une clause d’arrêt.
Exemple : Univers « Les Hommes » avec le prédicat « père »
Skolémisation : ∃X, ∃Y, pere(Y,X) → ∀X, père(papa(X),X)
L’ordre de X et de Y dans « pere(Y,X) » importe peu, ceci étant une affaire d’approche de
programmation. En revanche, il faut ensuite s’y tenir lors de tout le raisonnement.
« pere(papa(X),X) » signifie que papa(X) est le père de X
Note : il est inutile de vouloir connaître son nom car cela ne relève pas du lien paternel.
En PROLOG, les variables sont toujours sous-entendues comme étant universelles, car les variables
existentielles sont transformées grâce à la Skolémisation.
Exemples :
Socrate est mortel → mortel(socrate)
Tous les Hommes sont mortels → mortel(X) si homme(X)
D’où :
homme(socrate)
mortel(X) si homme(X)
mortel(socrate)
Autres exemples :
Tel est pris qui croyait prendre :
estpris(tel)
croyaitprendre(tel).
Tout est bien qui finit bien :
bien(X) :- finitbien(X)
La nuit tous les chats sont gris :
gris(X) :- chat(X), ilfaitnuit
45 / 80
6.3. Application de la Skolémisation à PROLOG
6.3.1. Arbre généalogique
On cherche à avoir un arbre généalogique à partir d’un arbre décrit par les prédicats fils et fille. On a
donc initialement :
fils(cain,abel)
petitfils(X,Y) :- fils(X,Z), fils(Z,Y).
petitfils(X,Y) :- fils(X,Z), fille(Z,Y).
Note : on a ici une application implicite du OU grâce ou doublement du prédicat petitfils.
Si on cherche à écrire le prédicat père, il nous faut considérer que tous les pères sont des fils de
quelqu’un à l’exception du père originel adam (au sommet de l’arbre). Il nous faut donc introduire en sus
la notion d’homme.
homme(adam).
homme(X) :- fils(X,_).
Singleton : dans ce cas, Y est remplacé par _ (variable inutilisée)
Il faut également considérer la notion d’enfant (plus générique) afin de simplifier l’écriture et éviter les
répétitions :
enfant(X,Y) : fils(X,Y).
enfant(X,Y) : filleX,Y).
D’où :
pere(X,Y) :- homme(X), enfant(Y,X).
mere(X,Y) :- fille(X,_), enfant(Y,X).
Note : cette notation peut choquer car non universelle au sens sémantique du terme. Notre hypothèse
est que la racine de l’arbre est un homme s’appelant adam. Donc, une mère de cet arbre n’est pas une
femme mais la fille de quelqu’un, y compris adam. La notion de femme n’a donc pas lieu d’être ici.
La notion de frère est plus compliquée :
frere(X,Y) :- fils(X,Z), enfant(Y,Z), \=(X,Y).
Ce qui signifie que le frère est le fils de X et l’enfant de Y tel que X soit différent de Y.
Note : dans cet arbre, le frère peut très bien être un demi-frère.
De la même manière :
sœur(X,Y) :- fille(X,Z), enfant5Y,Z), \=(X,Y)
oncle(X,Y) :- frere(X,Z), enfant(Y,Z).
tante(X,Y) :- sœur(X,Z), enfant(Y,Z).
46 / 80
Au final, ces notations s’avèrent plus simples pour ceux qui n’ont jamais programmé. En effet, on fait fi
des boucles et autres tournures.
Mais cette notation peut se compliquer sérieusement dès que l’on doit faire appel à la récursivité, notion
omniprésente en PROLOG.
C’est notamment le cas du descendant :
descendant(X,Y) :- enfant(X,Y).
clause d’arrêt
descendant(X,Y) :- enfant(X,Z), descendant(Z,Y).
appel récursif terminal
Attention :
¾
Il ne faut pas chercher à regrouper les règles ensemble : elles sont ordonnées car
interprétées.
¾
Dans le même esprit, aucun espace n’est autorisé (nous avons placé ici des espaces dans
une optique de lisibilité pédagogique).
¾
Si un prédicat est omis ou oublié, l’interpréteur PROLOG s’arrêtera (plantage).
¾
Si un prédicat est codé en double, le résultat sera retourné deux fois. Ceci a un effet
pervers sur les piles en les saturant.
¾
Hypothèse du monde clos : tout ce que PROLOG ne peut trouver est FAUX, tout ce qu’il
peut trouver est VRAI.
6.3.2. Notion de fonction en PROLOG
La définition d’une fonction en PROLOG est toujours implicite. On n’écrit pas :
suc(X) = …
mais :
entier(suc(X)) :- entier(x)
Exemple 1 : trouver un prédicat couple produisant tous les couples d’entiers.
Le couple suivant :
(X,Y) :- entier(X), entier(Y).
pourrait fonctionner mais ne sortirait jamais (1,1) parce que PROLOG incrémentera indéfiniment
le second terme (0,0) ; (0,1) ; (0,2)…
De la même manière :
couple(X,Y) :- entier(X), entier(Y), supegal(X,Y)
n’est pas une solution car, PROLOG ne sortira plus tous les couples, quand bien même il les
balaierait entièrement. Il tournera donc en boucle indéfiniment.
En revanche :
couple(X,Y) :- entier(Z), somme(X,Y,Z)
fonctionnera mieux en sortant (0,0) (0,1) (1,0) (0,2) (1,1) (2,0) (0,3) (1,2) (2,1)…
Exemple 2 : on recherche le PGCD.
pgcd(A,B,X) :- max(A,B,C), min(A,B,D), somme (Y,C,D), pgcd(C,Y,X)
max(A,B,A) :- supegal(A,B)
max(A,B,B) :- supstrict(B,A)
Puis on simplifie :
simplifier(X,Y,Z,T) :- pgcd(X,Y,P), euclide(X,P,Z,0), euclide(Y,P,T,0)
47 / 80
6.3.3. Exercice complémentaire
Exprimer en prologue : « Les amis de mes amis sont mes amis ».
Y a t-il une implication dans cette phrase ? Oui. On peut donc la modéliser :
Prédicat : ami
Arité (somme des variables) : 2.
Soit :
ami(X,MOI) :- ami(X,Y), ami(Y,MOI), \=(X,Y).
MOI est une constante et X et Y sont différents pour éviter qu’une personne ne soit son propre ami.
48 / 80
7. Arithmétique de PROLOG
L’objectif est de construire notre propre arithmétique (PROLOG intègre déjà en standard une
arithmétique).
7.1. Ensemble de définition
Commençons par définir l’ensemble des entiers naturels ℕ. La définition qui suit a été trouvée par
PEANO :
entier(zero).
entier(suc(X)) :- entier(X).
Où :
¾
entier est un prédicat.
¾
zero est une constante.
¾
X est une variable
¾
suc est une fonction, i.e. un identificateur constant (nommé arbitrairement).
Note : la seule façon de définir une fonction est de la définir implicitement au sein d’un prédicat. En effet,
en PROLOG, on ne peut manipuler que des prédicats.
7.2. Opérateurs
7.2.1. Addition
Rappel : l’arité est la somme des variables.
Définition du prédicat somme
Dans le cas de l’addition, nous avons une arité valant 3 (0, X, et le résultat qui est également X). On
obtient alors la clause d’arrêt :
somme(0,X,X).
∀X, 0+X=X
Cette notation utilise la notion de mise en correspondance (Pattern matching) :
somme(0,arthur,X) ⇒ X=arthur
somme(0,arthur,arthur) ⇒ arthur=arthur
somme(0,X,arthur) ⇒ arthur=0
somme(0,michel,arthur) ⇒ arthur=michel
somme(X,Y,michel) ⇒ « X=michel » puis « michel=michel » puis « Y=michel » (dans cet ordre)
Note : si on essaye de faire la jonction entre deux constantes, PROLOG se bloque.
49 / 80
L’appel récursif terminal est :
somme(suc(X),Y,suc(Z)) :- somme(X,Y,Z).
Ce prédicat est obtenu en considérant l’équation suivante :
x+1+y=z+1
⇒ x+y=z
Attention : la fonction suc définie ici diffère de celle définie dans le prédicat entier, car dans le cas de
l’addition elle est redéfinie à chaque fois (la Skolémisation permet l’existence d’une fonction qui n’a pas
de valeur en soi).
Note : définir suc(Z) permet d’être sûr de ne pas avoir zéro à la place. Z est différent de X et de Y.
L’addition fait donc appel à la récursivité : X décroît tandis que Y et Z sont stables dans l’optique de
trouver la somme de X et de Y.
Utilisation du prédicat somme
Soit la notation suivante :
¾
C : constante
¾
V : variable
On a lors les cas suivants :
C C C Test
C C V Addition
C V C Soustraction : C1 V C2 (si négatif, alors impossible car ensemble des entiers naturels)
V C C Soustraction : V C1 C2
V V C Couples de solutions de l’équation entière
Les trois derniers cas sont impossibles.
Pour une utilisation industrielle, il faut vérifier l’utilisation d’un prédicat à chaque fois que celui-ci est
défini. PROLOG est donc très contraignant, d’où son peu de succès dans ce milieu.
Exemples d’addition
Exemple numérique :
somme(2,3,X)
⇒23X
⇒ 1 3 X-1
⇒ 0 3 X-2
⇒ X=2+3=5
50 / 80
Exemple littéral :
somme(suc(suc(0)), suc(0), X).
⇒ X=suc(suc(suc(0)))
La trace de la résolution par PROLOG est ici fort utile :
1.
PROLOG vérifie la concordance avec somme(0,X,X). ⇒ NON.
2.
PROLOG vérifie la concordance avec somme(suc(X),Y,Z) :- somme(X,Y,Z). ⇒ OUI.
3.
X=suc(0). Note : X et Y sont évalués en même temps.
4.
PROLOG vérifie cette valeur pour la clause d’arrêt (première ligne) : OUI.
5.
PROLOG vérifie cette valeur pour l’appel récursif terminal (seconde ligne) : OUI.
6.
Donc X= suc(suc(suc(0))).
7.2.2. Multiplication
Il faut utiliser les résultats trouvés précédemment.
produit(0,X,0).
produit(suc(X),Y,Z) :- produit(X,Y,P), somme(P,Y,Z).
L’équation :
(x+1)*y = (x*y)+(1*y)
⇒ (x+1)*y = (x*y)+(1*y)
⇒ (x+1)*y =(x*y)+y
permet de trouver ce qui suit le SI.
7.2.3. Factorielle
fact(0,suc(0)).
fact(suc(0),Y) :- fact(X,Z), produit(suc(X),Y,Z).
y=(x+1)! = (x+1)*x!
7.2.4. Infériorité
D’arité 2, l’infériorité a une nature stricte ou large selon le cas.
Infériorité stricte
infs(0,suc(0)).
infs(suc(X),suc(Y)) :- infs(X,Y).
x+1 < y+1
Exemple 1 :
x+1 < y+1
⇒3<6
⇒2<5
⇒1<4
⇒0<3
⇒ OUI : 3<6
51 / 80
Exemple 2 :
x+1 < y+1
⇒4<3
⇒3<2
⇒2<1
⇒1<0
⇒ NON : 4<3 (car 0 n’est pas membre de droite)
Infériorité large
Seule la clause d’arrêt change :
infl(0,X).
7.2.5. Division euclidienne
Soit :
a = b*q+r
r<b et b≠0
où :
a : dividende
b : diviseur
q : quotient
r : reste
On obtient pour la clause d’arrêt :
euclide(A,suc(B),0,A) :- infs(A,suc(B)).
Avec dans l’ordre :
A ⇒ dividende
suc(B) ⇒ diviseur
0 ⇒ quotient
A ⇒ reste
A ⇒ r<b
suc(B) ⇒ b≠0
Soit l’équation :
a = b*q+r
⇒ a-b = (q-1)*b+r
Et le second membre de la clause d’arrêt :
infs(A,suc(B))
⇒ A-suc(B) = Y
On en déduit l’appel récursif terminal :
euclide(A,suc(B),suc(Q),R) :- somme(Y,suc(B),A), euclide(Y,suc(B),Q,R).
52 / 80
7.2.6. Puissance
Arité : 3.
Défintion : y=xn.
Contrainte : 00 n’est pas défini.
L’équation :
xn+1 = x*xn
donne :
puissance(0,suc(X),0).
0x+1
puissance(suc(X),0,suc(0)).
(x+1)0
puissance(suc(X),suc(N),Z) :- puissanse(suc(X),N,T), produit(suc(X),T,Z).
Zoom sur le dernier prédicat :
1.
On a une récursivité sur N car suc(N) :- N.
2.
(x+1)n+1=z :- (x+1)n=t, (x+1)*t=(x+1)n+1
Exemple :
On pose en premier le troisième prédicat
2 puissance 3 = z SI 2 puissance 2 = t ET SI 2 fois 22 = z
Puis le second, puis le premier.
7.3. Divers exemples
7.3.1. Traducteur de chiffres
Note : ce traducteur n’est pas viable jusqu’à l’infini.
trad(suc(0),1).
trad(suc(suc(0)),Z).
trad(suc(X),2) :- trad(X,1)
limité
récursif
Les deux derniers prédicats sont deux manières d’aborder l’appel récursif terminal.
53 / 80
Il n’est pas recommandé d’utiliser la négation car cela nuit à la pureté du langage PROLOG.
Exemple : les nombres premiers.
Définition : un nombre premier n’est divisible que par l’unité et par lui-même.
Non divisible : nd
nd(X,suc(Y)) :- euclide(X,suc(Y),_,suc(_)).
⇒ X n’est pas divisible par suc(Y).
Sans diviseur : sd
sd(X,suc(suc(0))) :- nd(X,suc(suc(0))).
sd(X,suc(suc(suc(Y)))) :- sd(X,suc(suc(Y)),nd(X,suc(suc(suc(Y))))).
⇒ X est sans diviseur jusqu’à Y inclus.
D’où :
premier(suc(suc(0))).
le chiffre 2 est un nombre premier
premier(suc(suc(X))) :- sd(suc(suc(X)),suc(X)).
Les prédicats ci-dessus définissent un nombre premier sans passer par la négation :
Paspremier(suc(suc(X))) :- infs(X,Y), euclide(suc(suc(X)),suc(suc(Y)),_,0).
7.3.2. Fonction d’Ackerman
Soit A une fonction de deux variables entières :
n≥∅
A(∅,n)=n+1.
m≥1
A(m, ∅)=A(m-1,1).
m et n≥1
A(m,n)=A(m-1,A(m,n-1)).
La résolution de cette fonction nécessite normalement l’emploi d’outils comme WHILE.
A est une fonction récursive mais pas récursive primaire.
7.3.3. Enigme de Syracuse
On ne peut écrire ne PROLOG cette énigme :
Si n pair, alors on passe à n/2
Si n impair, alors on passe à 3*n+1
Application numérique :
n=25
⇒ 76 ⇒ 38 ⇒ 19 ⇒ 58 ⇒ 29 ⇒ 88 ⇒ 44 ⇒ 22 ⇒ 11 ⇒ 34 ⇒ 17 ⇒ 52 ⇒ 26 ⇒ 13 ⇒ 40 ⇒ 20
⇒ 10 ⇒5 ⇒ 16 ⇒8 ⇒ 4 ⇒ 2 ⇒ 1 ⇒ 4 ⇒ 2 ⇒ 1 ⇒ boucle autour de 1.
54 / 80
8. Les listes
La principale difficulté des listes réside dans sa notation à base de crochets et de parenthèses.
Il existe un lien étroit entre l’arithmétique (succession de chiffres et de nombres) et les listes (succession
d’éléments ordonnés).
8.1. Définition et syntaxe
Ainsi, on peut dire que :
¾
Rien est une liste.
¾
Un élément et une liste sont une liste.
D’où :
liste([]).
liste([T|Q]) :- liste(Q).
Avec :
T : tête de liste.
Q : queue de liste
On note une dissymétrie entre l’élément T (sui peut être une liste) et la liste Q.
Syntaxe « sévère » :
Liste vide : []
Liste à un élément : [E1|[]]
Liste à deux éléments : [E1|[E2|[]]]
Liste à trois éléments : [E1|[E2|[E3|[]]]]
Etc.
Syntaxe « simplifiée » :
Liste vide : []
Liste à un élément : [E1]
Liste à deux éléments : [E1,E2]
Liste à trois éléments : [E1,E2,E3]
Etc.
55 / 80
8.2. Illustration du lien entre arithmétique et liste
On définit la longueur d’une liste de la manière suivante :
longueur([],∅).
longueur([T|Q],suc(X)) :- longueur(Q,X).
D’où :
element(T,[T|Q]).
element(X, [T|Q]) :- element(X,Q).
8.3. Concaténation de listes
Arité : 3 (deux listes et un résultat).
cat([],X,X).
cat([T|Q],Y, [T|Z]) :- cat(Q,Y,Z).
Où :
[T|Q] : liste 1
Y : liste 2
[T|Z] : liste 3
Note : le premier prédicat aurait pu être écrit :
cat([],X,X) :- liste(X).
Mais cela aurait été superflu car obtenir l’assurance que l’on a bien une liste doit plutôt être considéré
comme une limitation.
Utilisation du prédicat cat :
C C C Test
C C V Concaténation
C V C Suffixe
V C C Préfixe
V V C Partitionnement en deux sous listes
Les trois derniers cas ne sont pas pertinents.
56 / 80
9. Les dessins
9.1. Concept
Il faut :
1.
Idéaliser le dessin (lissage : lisser le dessin) ;
2.
Mettre en perspective (passage de la représentation en eux à trois dimensions) ;
3.
Reconnaître l’objet mis en jeu.
Arête convexe
(une face non
visible)
Arête concave
⇒ MAISON
Arête convexe
Le deuxième point est le plus intéressant : comment rendre le perception en trois dimensions à partir du
dessin originel.
Restrictions d’étude :
¾
Objets à face plane.
¾
Trois arêtes par sommet au plus.
¾
Pas de trame (pointillés).
9.2. Théorie de Waltz : modélisation
II
I
III
IV
Deux dimensions
(quatre quadrants)
Trois dimensions
(huit quadrants)
57 / 80
Soit un bloc avec 8 octants pleins. On note :
¾
+ : deux faces convexes vues.
¾
- : deux faces concaves vues.
¾
→ : la face à droite de la flèche est vue (convexe partiel).
Dans l’étude de ce bloc parallélépipédique, on n’étudiera que le cas d’un nombre d’octants impairs ; en
effet, les cas pairs font de la « dentelle » avec le bloc.
Dans cette étude, on parlera de :
¾
Fourches : trois branches désignant un enfoncement.
¾
Pointes : trois branches désignant un sommet.
¾
Elles : deux branches symbolisant un coin vu de coté.
¾
Tés : deux branches symbolisant une intersection apparente mais fictive.
Fourche
désignant
un creux
⇒
Pointe
désignant
un sommet
9.2.1. Sept octants pleins : deux points de vue
Hypothèse de visualisation : l’observateur se situe dans l’octant vide.
-
-
+
+
-
+
Convexe
Concave
9.2.2. Un octant plein : sept points de vue
Note : certains points de vue sont symétriques.
+
+
+
+
+
58 / 80
+
9.2.3. Cinq octants pleins : trois points de vue
+
-
-
-
-
9.2.4. Trois octants pleins : cinq points de vue
1
1
+
+
2
3
3
+
+
-
2
-
9.2.5. 18 formes élémentaires (hors cas de symétries)
La dernière fourche compte pour trois par rotation.
-
-
+
+
+
-
+
-
+
Fourches
-
-
-
Pointes
+
-
-
+
Elles
Tés
59 / 80
+
+
-
9.3. Exemple d’application : le tétraèdre
Soit un tétraèdre :
+
+
-
Représentation
d’un tétraèdre
dans le vide.
+
+
-
+
+
+
-
Représentation
d’un tétraèdre
reposant sur sa
base.
Représentation
d’un tétraèdre
reposant sur un
mur.
⇐ Cette représentation est impossible :
mettre un – au centre oblige à mettre des +
sur les bords. Or aucun ELLE n’existe avec
deux +.
Cette théorie se comporte très bien en PROLOG grâce à l’utilisation de la mise en correspondance
(pattern matching).
9.3.1. Les fourches
4 sommets + 3 arêtes : arité=7.
B
D
-
-
A
-
+
⇒ fourche(A,B,C,D,moins,moins,moins)
C
+
⇒ fourche(A,B,C,D,plus,plus,plus)
+
fourche(A,B,C,D,moins,fleche(A,D),fleche(B,A))
⇒
-
fourche(A,B,C,D, fleche(A,C),fleche(D,A),moins)
fourche(A,B,C,D,fleche(C,A),moins,fleche(D,A))
60 / 80
9.3.2. Les pointes
4 sommets + 3 arêtes : arité=7.
A
-
-
B
+
D
⇒ pointe(A,B,C,D,moins,plus,moins)
C
⇒ pointe(A,B,C,D,fleche(B,A),plus,fleche(A,D))
+
+
+
-
⇒ pointe(A,B,C,D,plus,moins,plus)
9.3.3. Les elles
3 sommets + 2 arêtes : arité=5.
A
-
⇒ elle(A,B,C,moins,fleche(C,B))
C
B
-
⇒ elle(A,B,C,fleche(B,A),moins)
⇒ elle(A,B,C,fleche(B,A),fleche(C,B))
+
⇒ elle(A,B,C,plus,fleche(B,C))
+
⇒ elle(A,B,C,fleche(A,B),plus)
⇒ elle(A,B,C,fleche(A,B),fleche(B,C))
61 / 80
9.3.4. Le tétraèdre
4 sommets + 5 arêtes : arité=9.
Objectif : trouver les sens des arêtes X, Y, Z, T, et U.
Remarque : on ne considère pas les arêtes cachées (on ne traite que ce que l’on voit).
a
X
b
interpreter(X,Y,Z,T,U) :Z
Y
pointe(a,b,c,d,X,Y,Z),
d
T
U
c
⇒
pointe(c,d,a,b,U,Y,T),
elle(a,b,c,X,T),
elle(c,d,a,U,Z).
62 / 80
10. Théorie des jeux
Les mathématiciens se sont penchés sur les probabilités portant sur les jeux de hasard que vers le XVIIe
siècle. En effet, ce type de jeu avait auparavant fort mauvaise réputation, d’où un profond dénigrement,
alors que le jeu de part sa nature existe depuis la nuit des temps.
En 1654, Antoine GOMBAULD, dit le Chevalier de MERE, se ruinait au jeu. Il posa alors une énigme à
Blaise PASCAL. Il s’agissait de savoir « comment répartir entre deux joueurs l’enjeu d’un jeu de hasard,
lorsque celui-ci est inachevé et qu’un des joueurs a l’avantage sur l’autre ». Blaise PASCAL se tourna vers
un mathématicien très connu au XVIIe siècle, Pierre FERMAT.
Pour Norfleet W. RIVES, leur correspondance constitue « les fondements mathématiques de la théorie
moderne des probabilités ». Leur solution permet pour la première fois de prévoir l’avenir grâce à la
manipulation de nombre, et ainsi, il est possible de prendre des décisions en avenir incertain.
En effet, pour évaluer chaque action, il faut choisir le produit scalaire, où pi est la probabilité de Cij. Ce
furent sans doute les travaux les plus marquants en matière de probabilité qu’ait connus le XVIIe siècle,
même si Christian HUYGHENS, en 1657, proposa le concept de compétition dans les jeux de chance.
Ensuite, au début du XVIIIe siècle, Jean BERNOUILLI énonça pour la première de façon rigoureuse les
concepts de permutation et de combinaison. De son oeuvre dérive la définition classique des probabilités.
De plus, son frère, Jacques BERNOUILLI, qui l’initia aux calculs de LEIBNITZ, définit la loi des grands
nombres. En outre, en 1738, le fils de Jean BERNOUILLI, Daniel « définit le processus par lequel les
individus font des choix et prennent des décisions ».
Une autre avancée a également été cruciale : c’est celle d'un mathématicien français Abraham DE
MOIVRE. En effet, à côté des travaux sur les combinaisons, les permutations, l’analyse de jeux de cartes
et l’énoncé du premier théorème limite en probabilité, en 1733, DE MOIVRE découvrit la structure de la
loi normale, ainsi que le concept d’écart type.
Jeu de MERE version 1 : essayer d’obtenir un 6 en quatre essais au plus (un seul dé).
Astuce de raisonnement : considérer le contraire de l’énoncé.
1-(5/6)4 ≈ 0.52 ⇒ avantageux
Jeu de MERE version 2 : essayer d’obtenir deux 6 en vingt-quatre essais au plus (deux dés).
Note : le Chevalier de MERE considérait ce jeu six plus difficile que le premier (ce qui est faux).
1-(35/36)24 ≈ 0.49 ⇒ désavantageux
C’est ce jeu qui le conduisit à la ruine.
Conclusion : seul le calcul permet de connaître l’avantage, l’intuition étant inutile.
10.1. Le hasard
10.1.1. Définition
Le hasard est un ensemble impossible à déterminer en raison de la complexité des critères à envisager.
Hasard : une suite de nombres est dite aléatoire s’il n’existe pas de programme plus court que la
suite pour écrire cette suite (ce qui permet de s’affranchir de séquences de nombres).
63 / 80
10.1.2. Types de jeux de hasard
On peut classer les jeux en jeux où le hasard intervient ou non, et en jeux où l’information est totale ou
non.
Un jeu est un jeu de hasard s’il ne dépend pas que des décisions prises par les joueurs mais également
de facteurs extérieurs (pièce de monnaie, dé…). Le hasard s’obtient donc au moyen de phénomènes
physiques suffisamment compliqués pour que l’on ne puisse pas prédire ce qu’il va se passer.
Les jeux à information totale sont ceux où les joueurs ont toute l’information : rien n’est caché. Les
règles, bonnes ou mauvaises, sont connues des deux joueurs.
Jeux
Information totale
Information partielle
S’appuyant sur le hasard
Dés, pile ou face, roulette
Cartes
Ne s’appuyant pas sur le
hasard
Echecs, dames
Bataille navale, pierre papier
ciseaux
Dans l’étude des jeux ci-après, on se limitera aux jeux à deux joueurs dans lesquels les deux
protagonistes ont la même envie de gagner et où l’adversaire est supposer « bien » jouer.
La théorie des jeux développée ci-après s’appuie sur les travaux de VON NEUMANN et MORGENSTERN :
¾
Si pas de hasard, l’étude du jeu conduit à des résultats certains.
¾
Si hasard, l’étude du jeu conduit à des résultats aléatoires, donc on considérera la moyenne ou
l’espérance mathématique.
¾
Qu’il y ait hasard ou non, l’étude du jeu n’est pas influencée, seul le résultat l’est.
Rappel : l’espérance mathématique est la somme des gains divisée par la somme des
probabilités respectives de ces gains.
Dans un jeu, on recherche l’espérance maximale. Pour cela, on multiplie les résultats par les
gains que l’on peut obtenir pour chaque résultat.
Exemple 1 : à pile ou face, si on mise 1 €, il est possible de gagner 1 € avec une probabilité de
½, ou de perdre 1 € avec une espérance de ½.
L’espérance est donc : 0.5*10+0.5*-10 = 0
Un jeu dont l’espérance mathématique est nulle est dit jeu équitable.
Exemple 2 : au casino, sur une case de la roulette.
((1/37)*35)+1*(-36/37) = -1/37
C’est donc un jeu qui est légèrement défavorable.
Les espérances mathématiques s’ajoutent : si on joue longtemps à la roulette, on perd de plus
en plus. Si on joue 37 fois, on perd en probabilité toute sa mise.
VON NEUMANN et MORGENSTERN ont mis en évidence les rôles de l’information :
¾
Jeux à information totale : s’ils sont finis, ils ont toujours une solution.
¾
Jeux à information partielle : pour gagner, il est loisible de s’en remettre au hasard.
64 / 80
10.2. Etude des duels
Un duel est un jeu à deux joueurs et à somme nulle (i.e. ce que l’un gagne, l’autre le perd).
Restriction d’étude : duels à information totale.
10.2.1. Noyau d’un jeu
Jeu des nombres : le premier joueur dit un nombre entre 1 et 10, le second en dit un dans la
dizaine supérieure, etc., le perdant ne devant pas dire 100.
Exemple : 4 → 14 (4+10) → etc.
En partant de la fin, nous découvrons un certain nombre de positions particulières :
100 ← 89 ← 78 ← 67 ← 56 ← 45 ← 34 ← 23 ← 12 ← 1
Ces positions ont les propriétés suivantes (pour ce jeu) :
¾
Ces positions sont distantes de 11 unités.
¾
Si on est sur une de ces positions, on ne peut pas y retourner.
¾
Si on n’est pas sur une de ces positions, il est possible d’y aller (en jouant bien).
C’est ce que l’on appelle le noyau du jeu.
Propriétés du noyau d’un jeu :
¾
La position finale appartient au noyau.
¾
D’une position hors noyau, il est toujours possible de rejoindre le noyau.
¾
Et inversement.
Ainsi, le gagnant est celui qui vient de parler, pour peu qu’il joue convenablement, car quand
l’adversaire joue hors noyau, il est possible d’y revenir.
Jeu des dates : le premier joueur désigne un jour du mois de janvier. Le second doit dire un
jour du mois suivant ou bien d’un quelconque mois de l’année (dans ce cas à condition de
conserver le même jour). Le perdant ne doit pas arriver au 31 décembre.
Le noyau est donc la somme du numéro du mois et de la constante 19 :
31/12 ← 30/11 ← 29/10 ← 29/9 ← 27/8 ← 26/7 ← 25/6 ← 24/5 ← 23/4 ← 22/3 ← 21/2 ← 20/1
Il faut donc commencer le jeu à la date du 20 janvier.
Pour gagner :
¾
Si la position du début est dans le noyau, il ne faut pas commencer.
¾
Si elle est hors noyau, il faut commencer.
65 / 80
10.2.2. Algorithme de recherche du noyau
Soit les positions suivantes au sein d’un arbre binaire :
¾
N : dans le noyau
¾
H : hors noyau
Point de départ
…
H
N
N
H
H
H
H
N
N
On obtient les propriétés suivantes :
¾
Si tous les fils dont des H, le père est un noyau.
¾
Sinon, le père est hors noyau (positions non adjacentes).
On peut donc dire que tout jeu fini a son noyau.
Malheureusement, il est souvent impossible d’étudier l’arbre dans son ensemble. On en étudie alors que
quelques branches : on parle alors d’heuristiques.
Jeu de MARIENBAD : soit quinze allumettes alignées sur trois lignes. Chaque adversaire peut
enlever autant d’allumettes qu’il veut dans une seule ligne. Celui qui enlève la dernière a perdu.
On a donc les combinaisons suivantes en partant de la fin (1) :
1
1 2 3
1 1 1
1 4 5
2 2
2 4 6
3 3
3 5 6
4 4
3 4 7
5 5
2 5 7
Ce noyau contient donc des positions :
¾
Faisant intervenir la symétrie (en bleu) ;
¾
Pour lesquelles il suffit de retirer un élément (en vert) ;
¾
A mémoriser (en rouge).
66 / 80
D’après GRUNDY, pour trouver le noyau d’un jeu, il faut écrire la position en binaire avec les lignes les
unes au-dessus des autres :
1
1
1 0
1 1
1 1
1 0
1 0 0
1 0 0
1 0 1
1 0 0
1 1
1 0 1
1 1 0
1 1 0
1 1 1
Etc.
On remarque qu’il y a toujours une paire de 1 par colonne, à l’exception des positions ne comportant que
des 1. Il faut donc examiner la parité.
Si on inverse la règle de fin, i.e. le perdant à la fin est en fait le gagnant et réciproquement, on remarque
que le noyau reste le même à l’exception des deux premières positions : 0 et 11 (au lieu de 1 et 111).
Le noyau est donc structurel, quelque soit la règle de fin adoptée.
Jeu de cartes : soit six paquets de cartes (4 as, 4 deux, 4 trois, 4 quatre, 4 cinq, et 4 six, soit
26 cartes au total). A chaque tir de carte, on ajoute la valeur de la carte tirée à la somme des
cartes tirées précédemment. Le premier qui dépasse 50 a perdu.
Ce jeu de cartes est infaisable à la main car le noyau tient sur plusieurs pages.
Jeu de morpion : pour espérer gagner, il faut adopter impérativement les deux règles
suivantes :
¾
Celui qui commence joue au milieu.
¾
Le second coup (coup de l’adversaire) doit se faire dans un coin.
O
X
Note : du fait des apports de GRUNDY, il n’est pas possible d’envisager de partie nulle :
¾
¾
Pas de nul :
o
Une position est gagnante pour celui qui vient de jouer si elle n’est pas suivie que de
perdantes.
o
Une position est perdante pour celui qui vient de jouer si elle est suivie d’au moins une
gagnante.
Avec des nuls :
o
Une position est nulle pour celui qui vient de jouer si elle est suivie d’au moins une nulle
et d’aucune gagnante.
Il est donc possible de déterminer le gain d’un jeu en étudiant l’arbre des possibilités de jouer.
67 / 80
10.2.3. Duels : forme développée
Par hypothèse, on a deux adversaires (duel) et ce que l’un gagne, l’autre le perd (somme nulle).
Par économie d’écriture, on n’écrira que les gains.
Forme développée = arbre.
Choix des gains
Considérons le premier joueur (A) :
2
¾
A choisira toujours
propositions.
¾
Ici, 2 est la valeur du jeu.
¾
B choisira toujours l’inverse de A, soit la valeur la plus
faible.
1
le
plus
gros
gain
parmi
deux
Algorithme du mini-max
Le premier joueur joue en choisissant le plus gros gain. Pour le
joueur B, il en va autrement : il faut qu’il prenne le gain le plus
faible.
A joue
B joue
3
-2
5
Dans l’exemple ci-contre, considérons -2 comme étant la valeur du
jeu. Méthode : A envisage ce que va jouer B de manière rationnelle.
-4
Donc, en partant de la fin du jeu : de -2, on remonte la valeur la
plus faible. Puis on remonte la valeur la plus forte. C’est l’algorithme
du mini-max.
-2
-2
3
-4
-2
5
-4
Autre exemple :
Ordre de
parcours
A
2
B
⇒
A
3
-5
0
2
-1
1
4
-10
2
3
3
68 / 80
1
2
-5
0
1
2
-1
1
4
4
-10
Algorithme α-β
L’algorithme du mini-max étant fastidieux, il a été amélioré grâce à
l’algorithme α-β. Cet algorithme est une des nombreuses
améliorations du mini-max.
A
6
B
5
B joue normalement : on a le choix entre 5 et ?, mais quelque soit
la valeur de ?, B aura 5 qui sera reporté au niveau supérieur. Le
coup suivant, A fait de même en reportant 6.
?
…
6
6
Autre exemple : ici, B choisit 2, quelque soit la valeur que A a
choisie.
B
5
?
2
…
2
A
3
?
10.2.4. Notion de stratégie de jeu
Alors sous forme développée, quelle stratégie adopter ? Simple : on procède de proche en proche, ce qui
aboutit à une description (algorithme) qui elle-même conduit à un jeu (i.e. différents choix).
On appelle stratégie la description complète pour un joueur de sa manière de jouer à un certain jeu.
Exemple 1 :
2
1
3
-4
-2
5
A dispose de deux stratégies : 2 et 1.
2.
B ne dispose d’aucune stratégie.
Exemple 2 :
-2
-2
1.
1.
A dispose de deux stratégies : -2 et -4.
2.
B dispose de deux fois deux stratégies,
stratégies en tout : 3 et -2, et 5 et -4.
-4
soit
quatre
Dans le cas de B :
1.
Si A joue à gauche ou à droite : G ou D.
2.
Alors B jouera à gauche ou à droite : G ou D
C'est-à-dire qu’il peut jouer à gauche et à gauche, à droite et à
droite, à gauche si A joue à gauche – droite si A joue à droite et à
droite si A joue à gauche – gauche si A joue à droite :
GG, GD, DG, DD
69 / 80
Exemple 3 :
A
En considérant les intersections des choix de A, on
s’aperçoit que A dispose de 25 stratégies, soit 32, dont
seulement 8 réelles et 24 superflues.
B
B quant à lui dispose de 4 stratégies.
A
3
-5
0
2
-1
1
4
-10
On a donc :
G
2
3
1
2
-5
1
0
2
D
Où :
2
3
D
-1
1
4
4
-10
¾
Le premier terme désigne le coup que joue A à
gauche.
¾
Le second le coup que jouera A si B joue à droite.
¾
Le dernier le coup où B aura joué, soit ici à droite.
Au final, les stratégies sont les suivantes :
GGG
GGD
GDG
GDD
DGG
DGD
DDG
DDD
Exemple 4 : arbre des échecs (restreint à deux coups).
A l’ouverture :
Blancs : 20 branches (8 pions pouvant avancer de 1 ou de 2 cases, ainsi que les cavaliers).
Noirs : 20 branches, pour chacun des coups que pourraient jouer les Blancs.
D’où :
Blancs : 20 stratégies.
Noirs : 2020 stratégies.
Exemple 5 :
A
A
B
A
B
B
Stratégies
Stratégies
Stratégies
A→2
A→3
A→3
2
B → 3 =9
3
B → 2 =8
70 / 80
B → 33=27
Exemple 6 : arbre à branchages multiples : chaque nit correspond à une branche (similaire à
une table de vérité).
Avec le sous arbre du début :
A
A
B
B
A
A dispose de 78 choix au maximum, que l’on A dispose de 2 stratégies, B de
obtient en multipliant le nombre de branches stratégies :
à chaque sommet de décision de A :
A joue : à gauche à droite
((2+2+2)+(2+3))*(1+(1+1+1)+(1+1))
G
G
G
M
⇒ 11*6 = 66 possibilités
G
D
⇓
Mais beaucoup de ces choix sont superflus car
D
G
conditionnés par les choix initiaux et
D
M
progressifs.
D
D
Au troisième niveau, A dispose de 14
stratégies, selon que A joue initialement à
gauche ou à droite :
A joue :
Puis vers :
B:
3 choix
3*2=6
2 choix
à gauche à droite
GGGG
GGGD
GGDG
GGDD
GDGG
GDGD
GDDG
GDDD
DGG
DGM
DGD
DDG
DDM
DDD
Attention : ce sont uniquement les choix de A.
10.2.5. Duels : forme normale
Intérêt de la forme normale : elle est adaptée aux jeux à information totale ou partielle.
Forme normale = matrice
¾
Autant de lignes qu’il y a de stratégies pour A.
¾
Autant de colonnes qu’il y a de stratégies pour B.
Exemple 1 :
B
Premier choix Second choix G D
1
A
1
3
4
G
G
1
1
G
D
1
1
D
G
2
3
D
D
2 4
Note : les deux premières lignes de la matrice sont identiques. Elles
correspondent à deux stratégies redondantes.
71 / 80
Exemple 2 :
A
G
B
D
B
3
B
-2
5
⇒
A
-4
GG
GD
DG
DD
G
3
3
-2
-2
D
5
-4
5
-4
Avec :
¾
GG : si A joue à G, B joue à G
¾
GD : si A joue à G, B joue à D
¾
DG : si A joue à D, B joue à G
¾
DD : si A joue à D, B joue à D
Décomposition :
1.
Pour A, on remarque qu’aucune des deux lignes n’est plus avantageuse que l’autre au
premier coup d’œil (les plus gros gains).
2.
On considère donc le cas de B : on s’aperçoit que la quatrième colonne domine les autres
(les plus faibles gains).
3.
a.
Hypothèse 1 : B est capable de le voir.
b.
Hypothèse 2 : A considère que B est capable de le voir.
Dans cette quatrième colonne, A prend le choix le plus intéressant : -2. On dit que le
première ligne domine par itération.
En forme normale, les stratégies prédominent (on ignore qui commence et quelles sont leurs stratégies
les unes par rapport aux autres).
On met donc uniquement les gains de celui qui joue les lignes (ce qui diffère de la forme développée où
c’est celui qui commence).
Il est possible de passer de la forme développer vers la forme normale.
L’inverse n’est pas vrai.
Exemple 1 : raisonnement classique.
Exemple 2 : raisonnement inverse.
3 2
2 -3
1 0
1 0
A joue : la ligne 1 domine la ligne 2 (plus gros B joue : la colonne 2 domine la colonne 1 (plus
gains). Il reste 3 et 2.
faibles gains). Il reste -3 et 0.
B joue : la colonne 2 domine la colonne 1 (plus A joue : la ligne 2 domine la ligne 1 (plus gros
faibles gains). La valeur du jeu est 2.
gains). La valeur du jeu est 0.
⇒ Ce jeu est dit jeu équitable (valeur nulle).
La forme développée est préférable pour calculer la valeur de ce type de jeu.
Mais la forme développée n’est possible qu’avec des jeux à information totale. Il faut en effet que les
deux joueurs connaissent l’arbre. Si ce n’est pas le cas (donc dans un jeu à information partielle), on
peut quand même faire la forme normale de l’arbre.
Avec des jeux à information partielle, la forme développée est impossible.
72 / 80
D’après VON NEUMANN et MORGENSTERN, le joueur doit se servir du hasard pour optimiser ses
résultats. On fait donc intervenir les probabilités.
Exemple 1 : pierre, papier, ciseaux.
B
Pierre Papier Ciseau
Pierre
A Papier
0
-1
1
1
0
-1
Ciseau
-1
1
0
La valeur du jeu est 0. De plus, on a une symétrie dans le jeu. C’est donc un jeu équilibré : il n’y
a pas de stratégie optimale.
A commence à jouer. Il joue soit :
¾
Pierre avec une probabilité valant x ;
¾
Papier avec une probabilité valant y ;
¾
Ciseaux avec une probabilité valant z.
La détermination de l’espérance mathématique est alors utile. Si B joue, alors l’espérance
mathématique de A est :
¾
Pierre : e1A=(0*x)+(-1*y)+(1*z)=y-z ;
¾
Papier : e2A=(1*x)+(0*y)+(-1*z)=z-x ;
¾
Ciseaux : e3A=(-1*x)+(1*y)+(0*z)=x-y.
A va chercher à maximiser le minimum de l’espérance mathématique :
min(y-z ; z-x ; x-y)
avec 0<(x, y, z)≤1 et x+y+z=1
Comme il s’agit d’un jeu équitable :
min(y-z ; z-x ; x-y)=0
⇒ x=y=z=1/3.
73 / 80
Exemple 2 :
3 2
1 10
Au premier coup d’œil, on ne peut vraiment déterminer quelle valeur prédomine. On applique
donc la probabilité p sur la première ligne, et 1-p sur la seconde. Puis on calcule l’espérance
mathématique pour B :
e1B = (3*p)+(1*(1-p)) = (2*p)+1
e2B = (2*p)+(10*(1-p)) = 10-(8*p)
On cherche l’optimum tel que p=min(e1,e2) :
Le meilleur du pire :
e1B = e2B
e1B
1
e2B
Pire zone
0
1
Pour l’optimum, on a :
e1B = e2B
⇒ (2*p)+1 = 10-(8*p)
⇒ p=9/10.
Avec cette valeur, on peut maintenant calculer e1B et e2B :
e1B = (2*p)+1 = (2*9/10)+1 = 28/10 = 2.8
e1B = 10-(8*p) = 10-(8*9/10) = 28/10 = 2.8
Pour la première ligne, on a : 3 > 2.8 > 2.
Pour la seconde, on a : 1 << 2.8 << 10.
On choisira la première ligne car l’écart type est moins grand vis-à-vis de ses bornes.
74 / 80
Exemple 3 :
1 0
0 2
Il n’y a pas de domination d’une ligne sur l’autre. On met donc des probabilités sur les lignes et
sur les colonnes (p sur la première ligne et 1-p sur la seconde).
Si B joue dans la première colonne, l’espérance de A est : e1A = (1*p)+(0*p) = p.
Si B joue dans la seconde colonne, l’espérance de A est : e2A = (0*(1-p))+(2*(1-p)) = 2*(1-p).
A cherche le maximum du minimum de p et de 2*(1-p). On peut trouver la solution
graphiquement en représentant les courbes de p et de 2*(1-p).
Le maximum de la courbe des minimum est obtenu pour eA telle que e1A = e2A, soit p=2/3.
Donc, pour que son espérance soit maximale, A doit jouer 2/3 du temps la première ligne et 1/3
du temps la seconde.
Note : partant du principe que B aura plutôt tendance à jouer sur la première colonne, on est
gagnant.
Pour rendre le jeu équitable :
1.
2.
On enlève 2/3 partout :
1 0
⇒
1/3
-2/3
0 2
⇒
-2/3 4/3
Puis on multiplie par trois partout pour simplifier :
1/3
-2/3
-2/3 4/3
⇒
1 -2
⇒
-2 4
Si on calcule maintenant la valeur de p, on a :
p-2*(1-p) = -2*p+4*(1-p)
⇒ 3*p-2 = -6*p+4
⇒ 9*p = 6
⇒ p = 2/3
L’espérance mathématique devient alors :
eA = p-2*(1-p) = (2/3)-2*(1-(2/3)) = 0
Tout jeu symétrique est équitable.
Autre exemple de calcul de la valeur d’un jeu :
1 0
0 1
Dans les deux cas, la probabilité est identique et vaut 1/2.
75 / 80
Jeu de la MORRA : chaque joueur tend la main avec aucun, un, deux, ou trois doigts ouverts.
Simultanément, chacun joueur parie sur le total des doigts des deux joueurs.
Nombre de stratégies : 4 pour les doigts * 7 pour les paris = 28.
Mais personne ne dira 6 en mettant 0 doigts. En fait, il n’y en a que 16 stratégies pertinentes (0
doigt ⇒ paris 0, 1, 2, 3 ; 1 doigt ⇒ paris 1, 2, 3, 4 ; etc.).
Il y a encore plus optimal : comme c’est le total 3 qui sortira le plus souvent, on parie toujours 3
et on met un nombre de doigts aléatoire. 3 est donc une stratégie optimale.
On peut donc faire la matrice suivante pour 3 :
B
0 doigt 1 doigt 2 doigts 3 doigts
Score 3 et 0 doigt
A
1
Score 3 et 1 doigt
1
Score 3 et 2 doigts
Score 3 et 3 doigts
1
1
Pour jouer de manière optimale, on regarde toutes les « pires » situations et on s’arrange pour
qu’elles soient les meilleures possibles.
Pile ou face menteur : il s’agit d’une simplification du poker menteur.
Deux joueurs jouent à pile ou face ; face gagne et pile perd. Le premier joueur lance la pièce,
prend connaissance du résultat, et annonce un résultat à son adversaire qui, lui, n'a pas pu voir
la pièce.
Le deuxième joueur est donc désavantagé. Pour compenser cela, il a le droit de refuser
(comportement R) l'annonce qui lui est faite et de demander à voir la pièce. S'il accepte
(comportement A) l'annonce du premier joueur, celui-ci gagne 10 € si c'est face et perd 10 € si
c'est pile.
Naturellement, dans ces conditions le jeu ne serait pas très amusant ; le premier joueur
annoncerait systématiquement face, et le second joueur demanderait toujours à vérifier. On
décide donc que s'il demande à vérifier, les enjeux sont doublés ; si le premier joueur a dit la
vérité (comportement V), mais est soupçonné à tort de mensonge, il recevra 20 € ; par contre
s'il a réellement menti (comportement M), il perdra 20 €
Accepteriez-vous de jouer à ce jeu ? Le jeu est-il équitable ; un des deux joueurs n'est-il pas
avantagé par le règlement ? Si oui, comment rendre le jeu équitable ? Quelle stratégie adopter ?
Voilà bien des questions que nous allons envisager.
Tout d'abord remarquons que chacun des deux joueurs peut, à chaque jeu, opter pour deux
stratégies. Nous avons donc 4 comportements possibles: (V,A), (V,R), (M,A), (M,R) ; dans
chacun de ceux-ci nous allons calculer le gain (ou la perte) moyenne du premier joueur.
Comportement (V,A) : c'est le jeu de pile ou face usuel ; une fois sur deux il gagne 10 €, une
fois sur deux il perd 10 €. La moyenne sera nulle, c'est un jeu équitable.
Comportement (V,R) : une fois sur deux le premier joueur tire face et l'annonce ; comme le
second refuse, on vérifie et le joueur gagne 20 € ; une fois sur deux il tire pile et l'annonce ; le
second joueur serait mal venu de refuser et le premier joueur doit donc payer 10 € à son
adversaire. En moyenne, il gagnera 5 €.
Venons-en au comportement de menteur. Comportement (M,A) : comme le second joueur ne
demande jamais à vérifier, le premier gagne 10 € quel que soit le résultat.
Comportement (M,R) : le premier joueur n'annonce évidemment jamais pile ; le second
demande toujours à vérifier ; une fois sur deux il aura raison et le premier perdra 20 €, une fois
sur deux il aura tort et le premier joueur gagnera 20 €. Dans ce cas, le jeu se ramène pour le
second joueur à un simple jeu de plie ou face (avec mise de 20 €) et il est donc équitable.
76 / 80
Résumons cela dans un tableau à double entrée :
Joueur 1
Joueur 2
V
M
A
0
10
R
5
0
Une conclusion saute aux yeux : le premier joueur ne perd jamais. Dès lors mettons-nous à sa
place (intéressante !). Comment doit-il jouer ?
S'il choisit de mentir (M) pour avoir un gain le plus grand possible, le second joueur aura tôt fait
de deviner la tactique de son adversaire et dès lors il demandera toujours à vérifier (R). Du coup
le premier joueur ne gagnera plus rien.
Il va donc changer de stratégie et dira la vérité (V), mais alors, le second joueur, dès qu'il s'en
rendra compte, modifiera lui aussi sa stratégie : il acceptera (A) et du coup le premier joueur ne
gagnera plus rien. Il va à nouveau modifier sa stratégie, et ainsi de suite.
On voit qu'il n'y a pas de position équilibrée : le jeu est donc intéressant.
Comme les joueurs doivent chacun varier leurs stratégies, nous allons donc supposer qu'ils le
font avec une fréquence déterminée, mais imprévisible par l'adversaire. Le premier joueur
choisira (V) avec une fréquence p et, par conséquent (M) avec une fréquence (1-p). Le second
joueur choisira la stratégie (A) avec une fréquence q et donc la stratégie (R) avec la fréquence
(1-q).
Ceci étant fixé, calculons le gain moyen du premier joueur en fonction de chacune des stratégies
choisies, compte tenu de leur fréquence :
Stratégie Fréquence Gain Gain moyen
(V,A)
p*q
0
0
(V,R)
p*(1-q)
5
5*p*(1-q)
(M,A)
(1-p)*q
10
10*(1-p)*q
(M,R)
(1-p)*(1-q)
0
0
En résumé, le gain moyen du premier joueur sera : <+p>
v=0+(5*p*(1-q))+(10*(1-p)*q)+0
Dès que la fonction v est connue, la stratégie de chacun des joueurs est bien précise et on peut
représenter les choses graphiquement.
v
10
v
q=1
10
5
q=0
0
5
p
2/3
p=1
p=0
0
1
q
1/3
1
Du point de vue du premier joueur, on établit le graphique de son gain v en fonction de sa
stratégie p ; il faut bien entendu le faire pour tous les choix possibles de l'adversaire. On établit
pour chacune des valeurs de q le graphique de la fonction v=5*p+10*q-15*p*q, v étant
considérée comme fonction de p. On obtient chaque fois une droite.
La fonction v peut s'écrire v=5*p+q*(10-15*p) et représente donc le faisceau des droites
passant par un même point (bien entendu p ne peut varier que dans l'intervalle [0,1] et il s'agit
en réalité d'un segment). On constate que le premier joueur doit donc choisir p=2/3, sans quoi
un choix astucieux de l'adversaire diminuerait son gain.
77 / 80
Le deuxième joueur agit de même en étudiant v comme fonction de q et trouve la valeur q=1/3.
Tout autre choix risquerait d'entraîner une perte plus importante pour lui.
En résumé, les deux joueurs choisissent p et q de telle manière que la fonction v soit maximum
pour l'un et minimum pour l'autre quel que soit le choix de l'adversaire; on annule donc les
dérivées par rapport à p et à q et on obtient le système d'équations :
δpv = 5-15*q = 0
δqv = 10-15*q = 0
La solution de ce système donne p=2/3, q=1/3 : cette solution assure la stabilité du jeu. Pour
chacun des deux joueurs la droite représentative de ses gains (ou pertes) est une droite
horizontale.
Il peut être intéressant de faire un graphique à 3 dimensions de la fonction v des deux variables
p et q. On l'obtient aisément à partir de sections à p constant (droites) et de sections à q
constant (droites). On obtient une surface appelée paraboloïde hyperbolique (ou selle de cheval).
(A rapprocher de celle que l'on obtient avec la loi des gaz parfaits).
Cette surface possède un point particulier, appelé point de selle, où le plan tangent est
horizontal, où l'on est en équilibre. Il est déterminé par deux génératrices horizontales. Cette
figure est à rapprocher du calcul du barycentre des 4 points correspondant aux stratégies pures.
On peut, connaissant le choix des deux joueurs : p=2/3, q=1/3, calculer la valeur v du jeu. On
obtient v=5*(2/3)+10*(1/3)-15*(2/3)*(1/3), c'est-à-dire v=10/3.
Le jeu n'est donc pas équitable et le premier joueur gagnera donc en moyenne 10/3 € par partie.
Il est donc évident que personne n'acceptera de jouer ce jeu en tant que second joueur (et
pourtant, il y a tant de gens qui jouent au Loto !).
Pour rendre le jeu équitable il faut donc modifier les règles du jeu en diminuant les gains du
premier joueur de 10/3 € dans chacune des 4 éventualités.
10.2.6. Duels : forme normale à double stratégie
Chercher la stratégie optimale pour A avec la matrice telle que :
a>b>c>d
a
b
c
d
Configuration 1
a b
c
d
⇒ L1 domine L2 (car a>c et b>d).
⇒ C2 domine C1 (car b>d).
⇒ v=b
78 / 80
Configuration 2
a b
d c
⇒ L1 domine L2 (car a>d et b>c).
⇒ L’adversaire joue L1, donc je joue L2 : C2 est préférée à C1 par domination itérée.
⇒ v=b
Configuration 3
a c
b d
⇒ L1 domine L2.
⇒ C2 domine C1.
⇒ v=c
Configuration 4
a c
d b
Aucune prédominance initiale : il faut évaluer l’espérance mathématique telle que e1=e2.
(a*p) + (d*(1-p)) = (c*p) + (b*(1-p))
⇒ p = (b-c)/(a+b-c-d)
et
1-p = (a-d)/(a+b-c-d)
On en déduit la valeur du jeu :
v = ((a*b)-(d*c))/(a-c-d+b)
Configuration 5
a d
b c
⇒ C2 domine C1 (attention : celui qui joue en ligne joue gros, celui qui joue en colonne joue faible).
⇒ L2 est préférée à L1 par domination itérée.
⇒ v=c
Configuration 6
a d
c
b
Aucune prédominance initiale : il faut évaluer l’espérance mathématique telle que e1=e2.
(a*p) + (c*(1-p)) = (d*p) + (b*(1-p))
⇒ p = (b-c)/(a+b-c-d)
et
1-p = (a-d)/(a+b-c-d)
On en déduit la valeur du jeu :
v = ((a*b)-(d*c))/(a+b-c-d)
Remarques
1.
Les configurations 4 et 6 ont même valeur car il existe une symétrie.
2.
Si le déterminant de la matrice est nul, le jeu est équitable.
79 / 80
Astuce de calcul : soit la matrice suivante :
6
-4
-3
2
Le dénominateur est égal l’écart entre les termes de L1 (donne 1-p) et ceux de L2 (donne p) :
L1 : 6+(-4)=10
L2 : (-3)+2=5
Le numérateur est la somme des dénominateurs de L1 et de L2 :
L1+L2 : 10+5=15
On a donc :
¾
Pour L1 : 1-p=10/15=2/3
¾
Pour L2 : p=5/15=1/3
80 / 80
Téléchargement