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