Solutionnaire examen intra

publicité
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
IFT615 – Examen périodique (Été 2011)
Q3 /4
Q4 /4
Q5 /4
TOTAL /20
1/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
s6
s7
Succ(s)
{(s2,1),
(s5,3)}
4
{(s4,1)}
{(s4,5)}
{(s6,1)}
{(s5,11)}
2
7
1
{(s2,1),
(s6,1)}
4
{}
H(s)
{(s1,3),(s2,2),
(s3,4) }
4
0
0
B(s)
Faux
Faux
Faux
Faux
Faux
Faux
Vrai
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), …
0
(s0, 4, 0)
Liste closed (état, f, g), ...
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),
(s0, 4, 0), (s2, 4, 2), (s4, 4, 3), (s6, 4, 4)
(s3, 11, 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)
2/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)
3/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)
s3
5
5+0.7*(1*5, 1*8)=10.6 (a6)
-5+0.7*(1*10.6)=2.42 (a4)
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 valueiteration ? 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)
4/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.
IFT615 – Examen périodique (Été 2011)
5/6
Question 5 – Vrai ou faux (4 points)
Pour chacun des énoncés suivants, indiquez s’il est vrai ou faux et justifiez votre réponse. Un point sera retiré par
mauvaise réponse, jusqu’à concurrence de zéro.
a) Lorsqu’aucune solution n’existe, une heuristique efficace permet à l’algorithme A* de visiter moins de nœuds
avant de conclure l’inexistence d’une solution.
FAUX. Si aucune solution n’existe, l’algorithme A* devra quand même parcourir tous les nœuds accessibles afin
d’en arriver à la conclusion qu’il n’y a pas de solution, peu importe l’heuristique utilisée.
b) La présentation de Simon Chamberland portait sur les jeux de stratégie en temps réel et sur les jeux simultanés.
Vrai ou faux : l'algorithme minimax avec élagage alpha-beta est très utilisé dans le cadre des jeux simultanés à
deux joueurs, même si dans le pire cas aucun état n’est élagué.
FAUX. Alpha-beta pruning n'est pas approprié pour les jeux simultanés; il est plutôt utilisé dans le cadre de jeux
séquentiels à deux joueurs (avec information parfaite). C'est dans ce contexte qu'il permet généralement d'élaguer
un grand nombre d'états, bien que dans le pire cas aucun élagage ne soit effectué. Utiliser alpha-beta pruning pour
résoudre un jeu simultané à deux joueurs reviendrait à trouver l'action (la stratégie pure) minimisant la perte
associée à la pire réplique (pure) possible de l'adversaire, cette perte étant une borne inférieure potentiellement
très éloignée de la valeur optimale du jeu donnée par l'équilibre de Nash.
c) L’algorithme de planification du système CORALS, présenté par un chercheur de Recherche et développement
pour la défense Canada, utilise une recherche dans un espace de plans. Vrai ou faux : contrairement à la
recherche heuristique (A*), le chemin trouvé dans le graphe n’est pas important.
VRAI. Dans une recherche dans un espace de plans, chaque nœud est un plan d’action. Ainsi, la solution se trouve
dans les nœuds et non sur les arrêtes (chemin dans le graphe). Donc, le chemin trouvé n’indique pas le plan, mais
comment trouver le plan, ce qui est généralement moins important.
d) Les problèmes sans incertitude ne peuvent pas être résolus par des processus décisionnels markoviens (MDP).
FAUX. Ils peuvent être résolus par la formulation d’un MDP, la seule différence correspond à la probabilité
correspondant aux actions. Cette probabilité sera de 1, et donc le MDP correspondra à un arbre de recherche
standard.
e) Pour un problème de type CSP, il est généralement efficace d’utiliser une heuristique explorant tout d’abord la
variable la plus contrainte (avec le moins de valeurs possibles).
VRAI. Cela correspond à l’heuristique « Minimum Remaining Value ». En explorant la variable la plus contrainte,
l’arbre de recherche sera élagué dès le départ si possible, réduisant ainsi l’espace de recherche.
--- Fin de l’examen ---
IFT615 – Examen périodique (Été 2011)
6/6
Téléchargement