IFT615 Examen périodique (Été 2011) 1 / 6
Université de Sherbrooke
Département d’informatique
IFT615 Intelligence artificielle
Examen périodique
Été 2011
Le lundi 20 juin 2011, 13 h 30 à 15 h 20, au D3-2037
Chargés de cours
Éric Beaudry et Jean-François Landry
Instructions
L’examen dure une heure et cinquante minutes. L’examen comporte 5 questions pour un total de 20 points. Le
questionnaire contient 6 pages incluant celle-ci. Vous devez répondre directement sur le questionnaire aux
endroits indiqués. Des feuilles de brouillon sont incluses à la fin du questionnaire. Ne détachez aucune feuille du
questionnaire.
Matériel permis
Livre de référence du cours (Artificial Intelligence: A Modern Approach).
Deux feuilles recto-verso de notes personnelles.
Calculatrice non programmable.
Toute autre documentation et tout appareil électronique sont strictement interdits.
Nom : _____________________________________ Prénom : _______________________
Matricule : ____________________
Signature : ____________________________________________
Q1 /4
Q2 /4
Q3 /4
Q4 /4
Q5 /4
TOTAL /20
IFT615 Examen périodique (Été 2011) 2 / 6
Question 1 Recherche heuristique (4 points)
Le tableau suivant défini les fonctions successeurs Succ, heuristique H et but B. La fonction successeur Succ(s)
retourne un ensemble de paires {(s1, c1), …, (sn, cn)} tel que s est un état donné, si est un état successeur, et ci est le
coût pour passer de l’état s à si. La fonction H(s) retourne une estimation de la distance entre un état s et un état
satisfaisant au but. La fonction B(s) retourne « Vrai » si l’état s correspond au but, et « Faux » autrement.
État s
s0
s1
s2
s3
s4
s5
s7
Succ(s)
{(s1,3),(s2,2),
(s3,4) }
{(s2,1),
(s5,3)}
{(s4,1)}
{(s4,5)}
{(s6,1)}
{(s2,1),
(s6,1)}
{(s5,11)}
H(s)
4
4
2
7
1
4
0
B(s)
Faux
Faux
Faux
Faux
Faux
Faux
Vrai
a) Donnez une trace d’exécution de l’algorithme A* en utilisant les fonctions définies précédemment et en
considérant l’état initial s0. Pour chaque état dans les listes open et closed, donnez ses valeurs f et g. (2 points)
Itér.
Liste open (état, f, g), …
Liste closed (état, f, g), ...
0
(s0, 4, 0)
1
(s2, 4, 2),(s1, 7, 3), (s3, 11, 4)
(s0, 4, 0)
2
(s4, 4, 3),(s1, 7, 3), (s3, 11, 4)
(s0, 4, 0), (s2, 4, 2)
3
(s6, 4, 4), (s1, 7, 3), (s3, 11, 4)
(s0, 4, 0), (s2, 4, 2), (s4, 4, 3)
4
Solution trouvée en tête d’open : (s6, 4, 4), (s1, 7, 3),
(s3, 11, 4)
(s0, 4, 0), (s2, 4, 2), (s4, 4, 3), (s6, 4, 4)
b) La fonction heuristique H est-elle admissible? Justifiez. (1 point)
Non. Pour les états S3 et S5, la fonction H(n) surestime le coût pour se rendre à un état but. Le coût restant minimal
sont : H*(S3)=6 et H*(S5)=1.
c) Si la fonction but était modifiée tel que B(s6)=Faux, que se passera-t-il? Soyez aussi précis que possible. (1 point)
Dans ce cas, le seul but restant sera dans l’état s7, mais comme aucune action ne mène à cet état, aucune solution
ne pourra être trouvée. A* devra explorer tous les états accessible à partir de l’état initial avant de conclure
d’aucune solution n’existe.
IFT615 Examen périodique (Été 2011) 3 / 6
Question 2 Élagage alpha-beta (4 points)
L’arbre suivant modélise les actions de deux joueurs adverses Min et Max. Chaque nœud représente un état du jeu.
Les feuilles correspondent aux états terminaux. La valeur de ces états est indiquée à l’intérieur.
a) Simulez l’algorithme d’élagage alpha-beta en utilisant un ordre de visite de gauche à droite. (2 points)
Rayez le(s) arc(s) élagué(s) à l’aide d’un trait.
Indiquez la valeur retournée par l’algorithme à l’intérieur de chaque nœud visité.
Encerclez l’action retournée par l’algorithme.
b) Serait-il plus efficace de visiter les nœuds successeurs de droite à gauche? Justifiez. (2 points)
Oui dans le cas de cet exemple, car moins de nœuds seraient explorés.
IFT615 Examen périodique (Été 2011) 4 / 6
Question 3 Processus décisionnels markoviens (4 points)
Soit le processus de décision markovien suivant, dont les transitions sont étiquetées par les noms des actions et les
probabilités de transitions; les états sont étiquetés par les récompenses correspondantes (exprimant une fonction
d’utilité).
a) Dans le tableau suivant, indiquez les valeurs des états à la fin de chacune des trois premières itérations de
l’algorithme value-itération, en supposant qu’on utilise un facteur d’atténuation (discount factor) de 0.7 et en
partant initialement (itération 0) avec des valeurs des états toutes égales à 0. (2 points)
Valeurs
itération 1
Valeurs
itération 2
Valeurs
itération 3
s0
8
8+max0.7*(1*-2, 1*-5)=6.6 (a1)
8+max 0.7*(1*1.92, 1*-1.5) = 8.344 (a1)
s1
-2
-2+0.7*(0.2*8+0.8*5)=1.92 (a3)
-2+0.7*(0.2*6.6 + 0.8*10.6) = 4.86 (a3)
s2
-5
-5+0.7*(1*5)=-1.5 (a4)
-5+0.7*(1*10.6)=2.42 (a4)
s3
5
5+0.7*(1*5, 1*8)=10.6 (a6)
5+0.7*(1*10.6, 1*6.6) = 12.42 (a5)
b) Donnez le plan d’actions (politique) correspondant aux valeurs de l’itération #3. (1 point)
Plan
itération 3
s0
(a1)
s1
(a3)
s2
(a4)
s3
(a5)
c) Est-ce que l’algorithme policy-iteration retournerait exactement la même politique de l’algorithme value-
iteration ? Justifiez votre réponse. (1 point)
Oui, à condition que la solution optimale soit unique. Même si les deux approches fonctionnent de façon
différente, elles garantissent la génération d’une solution optimale. S’il existe plus d’une solution optimale, les deux
algorithmes ne retournent pas forcément la même solution, mes la valeur des solutions trouvées sont équivalentes.
IFT615 Examen périodique (Été 2011) 5 / 6
Question 4 Jeu de billard (4 points)
On vous demande de commander un robot joueur de
billard. La requête consiste à empocher, en un seul coup, la
bille rouge dans la poche marquée par une étoile. Pour
effectuer ce coup, le robot doit frapper la bille blanche. Ce
coup est spécifié à l’aide de trois paramètres que vous
devez calculer : angle de frappe, une vitesse de frappe, et
un « spin ».
a) Analysez ce problème en encerclant ses principales
caractéristiques fondamentales. Pour chaque caractéristique, justifiez votre choix en le commentant. (2 points)
Observabilité partielle vs totale : On possède ici une observabilité totale du système, aucune information n’est
cachée. En d’autres mots, les positions exactes des billets sont connues.
Déterministe vs stochastique : Comme on connait les équations physiques d’un objet en mouvement, nous
pouvons prédire de façon exacte le résultat d’un coup donné.
Épisodique vs séquentielle : Dans ce problème, nous voulons seulement exécuter un coup étant donné un état de
table, donc il n’existe aucune dépendance sur les actions ou évènements antérieurs.
Statique vs dynamique : Comme l’environnement ne changera pas pendant que l’agent est en train de délibérer,
cet environnement est considéré statique.
Discret vs continu : Comme les paramètres que nous cherchons à définir pour exécuter une action correspondant à
l’angle, la vitesse de frappe et un « spin », nous travaillons dans un domaine continu.
Agent unique vs multi-agent : Dans le cadre de cet énoncé, nous n’avons qu’un agent; le robot effectuant un coup
selon des paramètres donnés.
b) Plusieurs techniques de résolution de problèmes ont été présentées dans le cours. Pour chacune des méthodes
suivantes, indiquez si elle est appropriée pour résoudre ce problème et justifiez votre réponse. (2 points)
Recherche heuristique (A*) :
La recherche heuristique A* n’est pas appropriée pour ce problème, étant donné que nous cherchons quelle action
prendre parmi une infinité d’actions possibles. Il ne serait pas avantageux de tenter de représenter ce problème
sous forme d’arbre pour une résolution avec A* (infinité d’états+infinité d’actions).
Satisfaction de contraintes (CSP) : Bien qu’il serait possible de modéliser ce problème sous forme de CSP, cela n’est
pas non plus à notre avantage comme le domaine des actions/états demeure continu.
Recherche locale Hill-Climbing : Bien qu’il serait possible de modéliser notre problème de façon à utiliser une
recherche locale Hill-Climbing, celle-ci nous demanderait quand même de discrétiser chacun de nos paramètres, et
de définir une certaine heuristique pour nous indiquer si nous sommes proche ou non de la solution. De plus, cette
méthode est sensible aux minimaux locaux. Cette approche n’est donc pas appropriée pour ce problème.
Algorithme génétique : Cette technique se veut la plus appropriée pour la résolution de ce problème, comme nous
pouvons supposer connaitre la fonction F(x) décrivant le trajet de la bille, pour le vecteur de paramètres x. À l’aide
d’algorithmes génétiques, il sera possible de minimiser cette fonction de façon à trouver les paramètres qui nous
génèrent une solution. Cette méthode permet également l’évitement des minimaux locaux.
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !