Solutionnaire - Éric Beaudry

publicité
Université de Sherbrooke
Département d’informatique
IFT615 – Intelligence artificielle
Examen périodique
Été 2010
Le samedi 12 juin 2010, 9 h à 10 h 50, au D3-2032
Chargé de cours
Éric Beaudry
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.
Tout autre appareil électronique est strictement interdit.
Solutions
Q1 /3
Q2 /5
IFT615 – Examen périodique (Été 2010)
Q3 /5
Q4 /4
Q5 /3
TOTAL /20
Page 1 de 6
Question 1 – Recherche heuristique (3 points)
Le graphe suivant illustre un espace d’états S={s0, …, s6} et une fonction de transition. Un arc orienté d’un
état si à sj indique que sj est un état successeur de si. Les arcs sont étiquetés de leur coût.
La fonction but(x) retourne vrai si et seulement si x=s6. La fonction heuristique h(x) est définie à l’aide du
tableau suivant.
État x
s0
s1
s2
s3
s4
s5
s6
h(x)
3
3
2
7
1
4
0
a) Donnez une trace d’exécution de l’algorithme A* en utilisant l’espace d’états et les fonctions but et h
définis précédemment. 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, 3, 0)
Liste closed (état, f, g), ...
1
(s2, 4, 2) (s1, 6, 3) (s3, 11, 4)
(s0, 3, 0)
2
(s4, 4, 3) (s1, 6, 3) (s3, 11, 4)
(s0, 3, 0) (s2, 4, 2)
3
(s6, 4, 4) (s1, 6, 3) (s3, 11, 4)
(s0, 3, 0) (s2, 4, 2) (s3, 4, 3)
4
(s1, 6, 3) (s3, 11, 4)
(s0, 3, 0) (s2, 4, 2) (s3, 4, 3) (s6, 4, 4)
Solution trouvée.
b) La fonction heuristique h est-elle admissible? Justifiez. (1 point)
Non. L’heuristique h surestime le coût restant pour les états s3 et s5. Par exemple f*(s3)=6 (le coût optimal
de s3 à s6) alors que h(s3)=7. Pour être admissible, h(s) ≤ f*(s) pour tous les états s. Remarque : l’heuristique
demeure inadmissible même si le chemin trouvé en a) n’emprunte aucun état s avec une valeur h(s)
surestimée. En d’autres mots, il peut arriver que A* retourne une solution optimale, mais ce n’est jamais
garantie et ce n’est généralement pas le cas.
IFT615 – Examen périodique (Été 2010)
Page 2 de 6
Question 2 – Élagage alpha-beta (5 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. (3 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)
Non. Deux nœuds seront élagués au lieu de cinq précédemment.
IFT615 – Examen périodique (Été 2010)
Page 3 de 6
Question 3 – Réseaux bayésiens (5 points)
Pour détecter la présence d’une certaine ressource naturelle dans le sous-sol, une compagnie minière
effectue des tests à l’aide de deux instruments de détection A et B. L’instrument B est sensible à la présence
d’humidité dans le sol. Le réseau bayésien suivant a été élaboré par la compagnie.
a) Une erreur s’est glissée lors de la conception de ce réseau bayésien. Laquelle? Justifiez. (1 point)
Il ne devrait pas y avoir de lien de dépendance entre Ressource et Humidité. R et H sont indépendants
puisque P(H)=P(H|R). Cela se voit dans les tables de probabilités où les deux rangés sont identiques. Le lien
de dépendance est donc inutile.
La table P(H) = [0.1 0.5 0.4]
b) Calculez P(R=V | A=V, B=V). (1 point)
P(R | A = V,B = V ) = αP(R)P(A = V | R)∑ P(h)P(B = V | R,h)
h
= α [0.00693 0.03465] = [0.1667 0.8333]
P(R = V | A = V,B = V ) = 16.7%
c) Calculez P(R=V | A=V, B=V, H=Faible). (1 point)
P(R | A = V,B = V,H = faible) = αP(R)P(A = V | R)∑ P(B = V | R,H = faible)
= α [0.0081 0.0099] = [0.45 0.55]
h
P(R = V | A = V,B = V,H = faible) = 45%
Observation : la probabilité doit augmenter par rapport à b puisque le test B est plus fiable lorsque H=faible.
d) En supposant que la compagnie décide de creuser lorsque le taux d’humidité est faible et que les tests A
et B soient positifs, comment calculeriez-vous la probabilité qu’une mauvaise décision soit prise? Il n’est pas
requis de faire le calcul. (2 points)
Il y a deux cas à calculer :
Cas 1 : La compagnie creuse et ne trouve pas la ressource espérée.
Cas2 : La ressource est présente mais la compagnie ne creuse pas, c-à-d : 1 - P(A=V, B=V, H=Faible | R=V).
Bref, il faut additionner les deux cas:
Cas1 : P(R=F|A=V, B=V, H=faible)
Cas2 : P(R=V) * (1 - P(A=V,B=V,H=Faible | R=V))
IFT615 – Examen périodique (Été 2010)
Page 4 de 6
Question 4 – Processus décisionnels markoviens (MDP) (4 points)
Soit un processus décisionnel markovien M=(S, T, R, A) où S={s0, …, s5} est un espace d’états, T : S × A →S2 ×
[0,1] est une fonction de transition, R : S → ℝ est une fonction de récompense et A={a0, a1 , a2} est
l’ensemble des actions du domaine. Les fonctions T et R sont définies à l’aide de la table suivante.
État s
T(s, a0)
T(s, a1)
T(s, a2)
R(s)
s0
{(s0,0.3), (s1,0.7) }
{(s0,0.5), (s1,0.5) }
{(s0,1.0)}
-5
s1
{(s0,0.6), (s1,0.3), (s4,0.1)}
{(s1,0.5), (s2,0.5) }
{(s1,1.0)}
+1
s2
(s2,0.3), (s4,0.7)}
{(s0,0.6), (s2,0.4) }
{(s0,0.1), (s2,0.9)}
+8
s3
{(s2,0.3), (s4,0.5), (s5,0.2)}
{(s3,1.0)}
{(s3,1.0)}
-10
s4
{(s4,0.5), (s5,0.5)}
{(s0,1.0)}
{(s4,0.9), (s5,0.1)}
-1
s5
{(s3,0.9), (s4,0.1)}
{(s0,1.0)}
{(s3,0.1), (s5,0.9)}
+20
a) Simulez l’algorithme d’itération par valeurs. À l’itération #0, les valeurs sont initialisées à 0. Utilisez
un facteur d’atténuation (discount factor) de 0.5. Donnez la politique extraite à partir de la valeur des
états obtenue suite à l’itération #3. (3 points) Remarque : lors de l’examen, afin de réduire le temps de
calcul, une directive a été donnée afin de ne pas faire l’étape #3. Les calculs peuvent être accélérés à
l’aide de certaines observations : certaines actions peuvent ne pas être considérées à certaines étapes.
Valeur des états après l’itération
#1
#2
État
#0
#3
Politique
s0
0
-5
-5.4
-4.67
a0
s1
0
1
3.25
4.65
a1
s2
0
8
11.35
12.84
a2
s3
0
-10
-7.05
-4.51
a0
s4
0
-1
3.75
7.06
a0
s5
0
20
28.5
32.47
a2
b) L’algorithme d’itération par valeurs convergerait-il sur ce problème si le facteur d’atténuation (discount
factor) était égal à 1? Justifiez. (1 point)
Non. Généralement, si l’horizon est infini, un facteur égal à 1 risque de provoquer une accumulation infinie
de récompenses. Ici, l’horizon est infini car il y a des actions applicables dans tous les états (aucun état
final). Dans le problème ici, un facteur égal à 1 provoquera une accumulation infinie dans l’état s5 et cela se
propagera dans les autres états. Donc, l’algorithme ne peut converger à des valeurs finies. Attention, cela
n’implique pas qu’une solution n’existe pas. Voir pages 649-650 du livre « Artificial Inllelligence : A Modern
Approach » 3e édition pour une discussion à ce sujet.
IFT615 – Examen périodique (Été 2010)
Page 5 de 6
Question 5 - (3 points)
Encerclez les lettres correspondantes aux énoncés qui sont vrais. Un demi point sera retiré par mauvaise
réponse, jusqu’à concurrence de zéro.
a) Lorsque l’algorithme A* est utilisé avec une fonction heuristique monotone, la liste closed n’est
d’aucune utilité et seule la liste open peut être considérée. [Faux. Une heuristique monotone
garantit l’optimalité d’un nœud lorsqu’on le visite pour la première fois. Malgré cela, on pourrait
visiter un même nœud plusieurs fois. La liste closed est donc nécessaire pour éviter de revisiter un
nœud plusieurs fois. Cependant, si un nœud est dans closed, on n’a pas besoin de vérifie sa valeur f
afin de vérifier s’il faut le transférer dans la liste open car le nouveau chemin ne peut être mieux.]
b) Soit deux fonctions heuristiques h1 et h2 tel que h1(x) ≤ h2(x) pour tout nœud x. L’utilisation de h1 par
A* permet de visiter un nombre de nœuds inférieur ou égal par rapport à h2. [Faux. C’est l’inverse
qui est vrai.]
c) Afin de trouver plus rapidement une solution avec l’algorithme A*, il est possible de donner un
poids plus important à la valeur heuristique. En d’autre mots, utiliser une valeur c > 1 lorsque
f = g + c x h. [Vrai. Cependant, cela ne garantit pas l’optimalité même si h est admissible]
d) Les algorithmes de recherche locale sont sensibles aux minimums locaux. [Vrai. Pour les éviter, il
faut généralement une recherche globale.]
e) Dans un problème de satisfaction de contraintes (CSP), les contraintes d’ordre supérieur à deux
peuvent être converties en contraintes binaires. [Vrai. Les contraintes n-aire peuvent être
converties en contraintes binaires (en ajoutant de nouvelles variables). Voir exemple du livre.]
f) L’algorithme d’élagage alpha-beta retourne toujours le même résultat que l’algorithme Minimax.
[Vrai. L’élagage est justement réalisé pour éviter de visiter de nœuds inutilement.]
g) Dans le pire cas, l’algorithme d’élagage alpha-beta ne fait aucun élagage et a la même complexité
algorithmique que l’algorithme Minimax. [Vrai. Si on ne fait aucun élagage, on visite tout l’arbre.]
h) Dans le meilleur cas, l’algorithme d’élagage alpha-beta s’exécute deux fois plus rapidement que
l’algorithme Minimax.[Faux. Dans le meilleur cas O(bn/2) pour AlphaBeta au lieu O(bn) pour Minimax.
Cela est nettement mieux que deux fois plus rapide. Remarque : si une fonction d’évaluation est
utilisé pour évaluer les nœuds non feuille, on peut aller deux fois plus profond pour le même temps.
Ce est nettement mieux que deux fois plus rapide.]
i)
Les réseaux bayésiens dynamiques modélisent le temps de façon continue. [Faux. Temps discret.]
j)
Dans un réseau bayésien, le nombre de variables cachées n’influence pas la complexité
algorithmique des algorithmes d’inférence exacte. [Faux. On doit énumérer les variables cachées.]
k) Les algorithmes d’inférence par échantillonnage direct ont une marge d’erreur qui est inversement
proportionnelle à la racine carrée du nombre d’échantillons. [Vrai. Erreur = Err(1-alpha) / sqrt(n) ]
l)
Lorsque l’algorithme d’itération par valeurs est utilisé pour résoudre un MDP, une mauvaise
initialisation de la valeur des états peut ne pas garantir la convergence vers une solution optimale.
[Faux. La convergence est garantie peu importe l’initialisation des valeurs. C’est plutôt avec les
algorithmes RTDP et LRTDP que la convergence n’est pas garantie lorsque les valeurs sont
initialisées avec une heuristique inadmissible].
--- Fin de l’examen ---
IFT615 – Examen périodique (Été 2010)
Page 6 de 6
Téléchargement