Télécharger le cours
Transcription
Télécharger le cours
Intelligence Artificielle Série N° 1 Année universitaire 2014-2015 Pr. Imade BENELALLAM Objectif de la série : formalisme de représentation des problèmes Exercice 1 : Le micro-monde des blocs Soient : Un robot : R Trois boites : B1, B2, B3 Quatre places : a, b, c, d On veut passer de l’état initial (B1, b), (B2, c), (B3, d) et (R, a) à un état but (B1, x), (B2, x), (B3, x). 1. Proposer une modélisation pour ce problème. 2. Donner l’espace d’état de ce problème. Exercice 2 : La tour de Hanoï, Edouard Lucas (1842-1891) Des anneaux sont superposés en pyramide sur un piquet. Le jeu consiste à transférer les anneaux du piquet de gauche (état initial) à celui de droite (état final) avec pour règles de déplacer un seul anneau à la fois et qu'au cours des opérations tout anneau doit reposer sur un anneau plus grand. 1. Proposer une modélisation pour ce problème dans le cas de 3 anneaux. 2. Donner l’espace d’état de ce problème. 1 Exercice 3 : Le jeu de taquin Jeux de puzzle taquin consistent en des pièces coulissantes dans un cadre qui doivent être remises dans le bon ordre. 1. Proposer une modélisation pour ce problème. 2. Donner l’espace d’état de ce problème. 2 Intelligence Artificielle Série N° 2 Année universitaire 2014-2015 Pr. Imade BENELALLAM Objectif de la série : Algorithmes et stratégies de recherche dans les espaces d’états Exercice 1 : Problème de K-reines Il faut placer k reines dans un échiquier de dimension KxK sans qu'aucune d'entres elles ne soient en prise par une autre. On dit que deux reines sont en prise, si elles se trouvent sur une même ligne, une même colonne ou une même diagonale. 1. Proposer une modélisation pour le problème 4-reines. 2. Donner une solution de ce problème avec la stratégie en profondeur d’abord. 3. Donner une solution de ce problème avec la stratégie en largeur d’abord. Exercice 2 : Dans l’espace de recherche ci-dessous, le nombre placé à côté de chaque lien dénote le coût associé au lien entre les nœuds et h est le coût estimé du nœud jusqu’au but final G. 1. 2. 3. 4. 5. Donner alors f(n) pour chacun des nœuds n. Donner l’ordre dans lequel les nœuds sont visités lorsqu’on utilise A*. Un algorithme de type meilleur d’abord peut-il faire mieux? Combien de nœuds, un tel algorithme traverse-t-il avant d’atteindre le but G ? Si le nœud I est aussi un but, lequel (ou lesquels) parmi largeur d’abord et profondeur d’abord peut (ou peuvent) trouver la solution optimale? Donner pour chaque algorithme la liste des nœuds développés. Exercice 3 : Prenons le problème classique du taquin, avec comme état initial 2 8 3 1 6 4 7 5 et comme état final 1 1 2 3 8 4 7 6 5 La figure représente l'arbre de recherche construit par une recherche en Largeur d'abord. 1. Proposer au moins 2 fonctions heuristiques pour le problème du Taquin. 2. Appliquer l’algorithme A* avec chacune de ces deux heuristiques, en prenant comme fonction g (coût du chemin parcouru) le nombre de pièces déplacées depuis l’état initial. 3. Comparer le nombre de nœuds développés avec ces 2 heuristiques. Ce résultat était-il prévisible ? Exercice 3 : Soit le graphe suivant, la valeur portée sur chaque arc correspond au coût de passage d'une extrémité de l'arc à l'autre. On souhaite calculer le plus court chemin de A à H. On a de plus la fonction heuristique h qui estime le coût pour atteindre H depuis chaque sommet. h est donnée par le tableau ci dessous. 1. Appliquez l'algorithme A* avec la fonction h sur ce graphe. 2 Intelligence Artificielle Série N° 3 Année universitaire 2014-2015 Pr. Imade BENELALLAM Objectif de la série : Algorithmes de jeux Exercice 1 : Min/Max et Alpha/Beta Considérez l’arbre de jeux suivant : 1. Appliquer l’algorithme MiniMax sur cet arbre. 2. Appliquer l’algorithme Alpha/Beta sur cet arbre. Exercice 2 : Alpha/Beta Considérez l’arbre de jeux suivant : 3. Donnez des valeurs aux feuilles a jusqu’à q de sorte que l’algorithme alpha/beta coupe exactement les branches indiquées. Appliquez l’algorithme sur l’arbre avec vos valeurs. 1 Programmation Par Contraintes PPC Série N° 4 Année universitaire 2014-2015 Mr. Imade BENELALLAM Objectif de la série : La modélisation sous forme de Problèmes de Satisfaction de Contraintes. Exercice 1 : SEND MORE MONEY On considère l'addition suivante : SEND + MORE ------= MONEY Où chaque lettre représente un chiffre différent (compris entre 0 et 9). On souhaite connaitre la valeur de chaque lettre, sachant que la première lettre de chaque mot représente un chiffre différent de 0. 1. Modélisez ce problème sous la forme d'un CSP Exercice 2 : Coloriage d'une carte Il s'agit de colorier les 14 régions de la carte ci-dessous, de sorte que deux régions ayant une frontière en commun soient coloriées avec des couleurs différentes. On dispose pour cela des 4 couleurs suivantes : bleu, rouge, jaune et vert. 1. Modélisez ce problème sous la forme d'un CSP Exercice 3 : Avec qui parle Pierre ? Avec qui parle Elisa ? 1 Dans une soirée, trois couples se sont réunies. Chaque personne parle avec une autre personne qui est du sexe opposé et qui n’est pas son conjoint. • Marie parle avec Pascal. • George Parle avec la femme de Pascal. • Denise parle avec le mari de Marie. 1. Modéliser ce problème en tant qu’un problème de salification de contraintes. Exercice 4 : Retour de monnaie On s'intéresse à un distributeur automatique de boissons. L'utilisateur insère des pièces de monnaie pour un total de T centimes d'Euros, puis il sélectionne une boisson, dont le prix est de P centimes d'Euros (T et P étant des multiples de 10). Il s'agit alors de calculer la monnaie à rendre, sachant que le distributeur a en réserve E2 pièces de 2 €, E1 pièces de 1 €, C50 pièces de 50 centimes, C20 pièces de 20 centimes et C10 pièces de 10 centimes. 1. Modélisez ce problème sous la forme d'un CSP. 2. Comment pourrait-on exprimer le fait que l'on souhaite que le distributeur rende le moins de pièces possibles ? Exercice 5 : Le mariage stable Une agence matrimoniale aux méthodes modernes souhaite proposer à ses clients des mariages "stables". Elle demande pour cela à chacun de ses membres de classer les membres du sexe opposé, établissant de la sorte une liste de préférences. Pour tenir compte au mieux des désirs des clients, ces listes peuvent être incomplètes, c'est-à-dire que si Paul ne veut à aucun prix être marié à Isabelle, il peut ne pas la classer (il ne la met pas dans sa liste de préférences). Par ailleurs, on peut mettre dans une liste des "ex aequo" : dans le cas où un indécis n'arrive pas à trancher entre plusieurs personnes qui lui semblent également attirantes, il peut les classer ex aequo. Pour simplifier, on supposera que l'on a autant d'hommes que de femmes. Il s'agit alors, à partir de ces listes de préférences, de former des couples stables. Par stable, on entend que personne ne soit soumis à la tentation de divorcer pour trouver mieux ailleurs : si Roméo est marié à Isabelle, et Paul à Juliette, et si à la fois Roméo préfère Juliette à Isabelle et Juliette préfère Roméo à Paul, alors ces mariages ne seront pas stables car Roméo et Juliette seront tentés de divorcer pour pouvoir convoler ensemble. Dans l'agence matrimoniale qui nous intéresse plus particulièrement, il y a 6 hommes (que l'on appellera 1, 2, 3, 4, 5 et 6 pour préserver leur anonymat), et 6 femmes (que l'on appellera 7, 8, 9, 10, 11 et 12 pour les mêmes raisons). Leurs préférences exprimées sont les suivantes : 2 Les classements des hommes : 1 préfère 8, puis (12 et 10 ex aequo) ; 2 préfère (8 et 11 ex aequo), puis 12 ; 3 préfère 7, puis 9, puis 12 ; 4 préfère 12, puis 9 ; 5 préfère 8, puis 7, puis 11 ; 6 préfère 12, puis (10 et 8 ex aequo), puis 11, puis 7. Les classements des femmes : 7 préfère (5 et 3 ex aequo), puis 6 ; 8 préfère 2, puis, 5, puis 1, puis 6 ; 9 préfère (3 et 4 ex aequo) ; 10 préfère 6, puis 1 ; 11 préfère 5, puis 2, puis 6 ; 12 préfère 1, puis (4 et 6 ex aequo), puis 2, puis 3. Au vu de ces préférences exprimées, les mariages de 3 avec 9 et de 6 avec 7 ne sont pas stables car 3 préfère 7 à 9 tandis que 7 préfère 3 à 6 de telle sorte que 3 et 7 seront tentés de divorcer pour se remarier ensemble. En revanche, une solution stable consisterait, par exemple, à marier 1 avec 10, 2 avec 8, 3 avec 7, 4 avec 9, 5 avec 11 et 6 avec 12. Remarque : ce problème peut sembler quelque peu artificiel par rapport à notre culture, mais si vous remplacez les hommes par des étudiants en recherche de stage, et les femmes par des entreprises recherchant des stagiaires, vous obtenez un problème plus réaliste... 1. Modélisez ce problème sous la forme d'un CSP. 3 Programmation Par Contraintes PPC Série N° 5 Mr. Imade BENELALLAM Objectif de la série : Techniques de filtrage et de résolution. Exercice 1 : Satisfaction de contraintes Dans une soirée, trois couples se sont réunies. Chaque personne parle avec une autre personne qui est du sexe opposé et qui n’est pas son conjoint. • Marie parle avec Pascal. • George Parle avec la femme de Pascal. • Denise parle avec le mari de Marie. 1. Modéliser ce problème en tant qu’un problème de salification de contraintes. 2. Appliquer l’algorithme simple-backtrack pour trouver la solution. 3. Appliquer l’algorithme backjump pour trouver la solution. Exercice 2 : Arc-consistance Soit le problème suivant : X = {X1;X2;X3} , D(X1) = D(X3) = {0; 1}, D(X2) = {0; 1; 2} avec les contraintes : c1 : X1 < X3 et c2 :X3 < X2. 1. Est ce que le système est arc-consistant ? justifier. 2. Appliquer l’algorithme AC1 pour rendre le système arc-consistant. 3. Appliquer l’algorithme AC3 pour rendre le système arc-consistant. Y-a t-il une solution au système ? Exercice 3 : N-reines Le but est de placer sur un échiquier n reines, aucune paire de reines ne doit être en position de prise. Placez-vous dans le contexte de 4 reines sur un échiquier de 4 lignes et 4 colonnes. Nous imposons la modélisation X = {X1;X2;X3;X4}, Xi étant la position de la reine sur la colonne i. Supposons que les domaines des quatre variables sont initialisés à [1,2,3,4], 1. Appliquer l’algorithme anticipation (FC) pour trouver la solution. 2. Revenons à la situation initiale, est ce que la propriété de arc-consistance est vérifiée ? 3. On initialise le domaine de la variable représentant la première colonne à D(X1) = [1] Appliquer l’algorithme AC1. 4. On initialise maintenant le domaine de la variable représentant la première colonne à D(X1) = [2] Appliquer l’algorithme AC3. 1 Formalismes de représentation de connaissances : Logique Série N° 6 Mr. Imade BENELALLAM Objectif de la série : Logique propositionnelle Exercice 1 : Traduire les phrases suivantes en logique des propositions : • Je vous paierai votre installation de T.V. seulement si elle marche, Or votre installation ne marche pas. Donc je ne vous paierai pas. • S'il ne lui a pas dit, elle ne trouvera jamais. Si elle ne lui a pas posé la question, il ne le lui dira pas. Or elle a trouvé. Donc elle lui a posé la question. • • • • • • • • • • • • • • Ahmed ne réussira pas le cours Kamal n'échouera pas au cours Kamal et Said réussiront le cours Said réussira le cours seulement s'il n'est pas fatigué Said réussira le cours à moins qu'il ne soit fatigué Said ne réussira pas le cours ou bien Kamal le réussira Said ne réussira pas le cours mais Kamal le réussira Ni Said, ni Kamal ne réussiront le cours Said et Kamal ne réussiront pas tous les deux le cours Ou Said et Kamal réussiront tous les deux le cours ou c'est Ahmed Said réussira le cours, ainsi que Kamal ou Ahmed Si Said réussit le cours alors Kamal aussi, et Said le réussira Si Said réussit le cours, alors Kamal et Said le réussiront tous les deux Said réussira le cours si Kamal le réussit; autrement ni l'un ni l'autre ne le réussiront Ou Kamal réussira le cours si et seulement si Ahmed l'échoue, ou Said le réussira s'il étudie avec méthode et n'est pas fatigué • Exercice 2 : Trouver la clause résolvante dans les cas suivants : a) C1 = ¬Q ∨ P C2 = R ∨ ¬P ∨ S b) C1 = ¬Q ∨ P C2 = Q c) C1 = ¬P ∨ ¬Q C2 = P ∨ S ∨ ¬R d) C1 = P ∨ Q C2 = R ∨ P 1 Exercice 3: 2 Formalismes de représentation de connaissances : Logique Série N° 7 Mr. Imade BENELALLAM Objectif de la série : Logique des prédicats de premier ordre et Prolog Exercice 1: On voudrait prouver la conclusion "Aucun étudiant sous-gradué n'est inscrit en IA" à partir de la phrase suivante: « Tous les étudiants inscrits en cours IA sont des étudiants gradués. » Exercice 2 : Exercice 4 : Exercice 5 : Traduire les énoncés suivants en logique des prédicats : 1) 2) 3) 4) 5) 6) Tous les hommes sont méchants. Seulement les hommes sont méchants. Il existe des hommes méchants. Il existe un homme qui n’est pas méchant. Il n’existe pas d’homme méchant. Il existe un homme qui aime toutes les femmes. 1 7) 8) 9) 10) Chaque chat connaît un chien qui le déteste. Tous les poissons, sauf les requins, sont gentils avec les enfants. Tous les oiseaux ne peuvent pas voler. N’importe qui peut apprendre la logique s’il travaille assez. Exercice 6 : Soient les énoncés : H1 : Pour tout crime, il y a quelqu’un qui l’a commis. H2 : Seuls les gens malhonnêtes commettent des crimes. H3 : Ne sont arrêtés que des gens malhonnêtes. H4 : Les gens malhonnêtes arrêtés ne commettent pas de crimes. H5 : Il y a des crimes. C : Il y a des gens malhonnêtes non arrêtés. 1) Représenter en logique des prédicats les énoncés H1, H2, H3, H4, H5, C. 2) Donner les formes de Skolem correspondant aux énoncés H1, H2, H3, H4, H5. 3) Démontrez {H1, H2, H3, H4, H5} |= C Exercice 7 : Adam aime les pommes. Clara aime les carottes. Olivier aime les oranges. Les pommes sont des fruits. Les oranges sont des fruits. Les carottes sont des légumes. Ceux qui aiment les fruits sont en bonne santé. 1) 2) 3) 4) Formalisez ces faits et règles en PROLOG. Quelle est la requête pour savoir qui est en bonne santé ? Quelle est la requête pour “Qui aime les pommes?” ? Comment savoir les fruits que connaît le programme ? 2