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

Documents pareils