Partiel Master 1 Informatique - Intelligence Artificielle

Page 1 sur 3Lecteur de document UniversityLib

Partiel Master 1 Informatique - Intelligence Artificielle

Algorithms, Artificial Intelligence, Search Heuristics · exam

Browse all intelligence artificielle et données documents

Universit´e Paris 7 - Master 1 Informatique - Intelligence Artificielle

Partiel du 18 novembre 2004 - Dur´ee : 1 heure et demie

Informations : Tous les documents reli´es sont autoris´es. Le bareme est donn´e a titre indicatif et peut ˆetre modifi´e.

Exercice 1 Algorithmes de recherche (8 points)

Consid´erez la carte suivante. Le but est de trouver le chemin le plus court de A vers I.

A

5

5

D

6

2

E

C

3

H

4

3

F

2

G

3

3

3

4

I

5

B

5

Le coˆut de chaque connexion est indiqu´e. Deux heuristiques h1 et h2 sont donn´ees comme suit :

Noeud

h1

h2

h∗

h3

A B C D E

10

5

10

9

Advertisement

8

10

10

7

12

10

8

10

10

11

12

11

5

2

5

5

F G H I

0

3

0

6

0

6

0

6

3

4

4

4

3

3

3

3

1. Est-ce que h1 et h2 sont admissibles ? Justifiez.

On calcule d’abord h∗, le vrai cˆout (donn´e dans le tableau). On v´erifie qu’on a toujours h1(n) ≤

h∗(n) pour tout n mais h2(C) > h∗(C), donc h1 admissible mais pas h2

2. Est-ce que h1 domine h2 ou h2 domine h1 ? Justifiez.

Ni l’un ni l’autre. D’apr`es le cours, on ne peut parler de domination que si les deux heuristiques

sont adminissibles. Ou alors, on a h1(B) > h2(B) et h2(C) > h1(C).

Advertisement

3. Est-ce que h3 = max(h1, h2) est admissible ?

Non. h3(C) > h∗(C)

4. Appliquez la recherche gloutonne en utilisant h2.

On peut donner un arbre ou la liste des noeuds. Ici:

(A,10)

(C,8)(D,11)

(B,2)(H,4)(F,6)(A,10)(D,11)

(I,0)(G,3)(H,4)(F,6)(E,9)(A,10)(D,11)

Et on s’arrˆete avec I et le chemin A,C,B,I

5. Appliquez la recherche A∗ en utilisant h1. Donnez la suite des noeuds d´evelopp´es.

On indique pour chaque noeud sa valeur f = g + h:

(A,10=0+10)

(C,10=5+5)(D,15=5+10)

(F,10=5+2+3)(H,11=5+3+3)(B,13=5+3+5)(D,15)(A,20=5+5+10)(D,21=5+6+10)

(H,11)(G,13=5+2+3+3)(B,13)(C,14=5+2+2+5)(B,15=5+2+3+5)(D,15)(A,20)(D,21)

(I,12=5+3+4)(G,13)(B,13)(C,14)(B,15)(D,15)(C,16=5+3+3+5)(A,20)(D,21)

Et on s’arrˆete avec I et le chemin A,C,H,I.

1

6. Appliquez la recherche A∗ en utilisant h2. Donnez la suite des noeuds d´evelopp´es.

On pourrait dire qu’on ne peut pas faire A∗ puisque h2 n’est pas admissible (car A∗ est d´efinie

avec des heuristiques adminissible), ou alors on donne:

(A,10=0+10)

(C,13=5+8)(D,16=5+11)

(B,10=5+3+2)(H,12=5+3+4),(F,13=5+2+6)(D,16)(A,20=5+5+10)(D,22=5+6+11)

(H,12),(I,13=5+3+5+0)(F,13)(G,15=5+3+4+3)(D,16)(F,17=5+3+3+6)(C,19=5+3+3+8)(A,20)(E,22=5+3+5+9)(D,22)

(I,12=5+3+4),(I,13)(F,13)(G,15)(C,16=5+3+3+5)(D,16)(F,17)(C,19)(A,20)(E,22)(D,22)

Et on s’arrˆete avec I et le chemin A,C,H,I.

7. Appliquez la recherche A∗ en utilisant h3. Donnez la suite des noeuds d´evelopp´es.

On pourrait dire qu’on ne peut pas faire A∗ puisque h3 n’est pas admissible (car A∗ est d´efinie

avec des heuristiques adminissible), ou alors on donne:

(A,10=0+10)

(C,13=5+8)(D,16=5+11)

(H,12=5+3+4)(F,13=5+2+6)(B,13=5+3+5)(D,16)(A,20=5+5+10)(D,21=5+6+10)

(I,12=5+3+4+0)(F,13)(B,13)(D,16)(C,19=5+3+3+8)(A,20)(D,21)

Et on s’arrˆete avec I et le chemin A,C,H,I.

8. Montrez que pour deux heuristiques admissibles h1 et h2, h3 = max(h1, h2) est admissible.

h1 et h2 admissible implique pour tout noeud n h1(n) ≤ h∗(n) et h2(n) ≤ h∗(n). Donc pour tout

noeud n on a max(h1(n), h2(n)) ≤ h∗(n) donc max(h1, h2) est admissible.

9. Si vous avez le choix entre trois heuristiques admissibles h1, h2 et h3 = max(h1, h2) laquelle choisissez-vous ?

Advertisement

Justifiez bri`evement.

h3 puisque elle estime le mieux la vraie distance h∗.

Exercice 2 Jeux (7 points)

1. Consid´erez l’arbre de jeux suivant :

MAX

A

MIN

B

E

H

MAX

C D

F

G

I

a b c d e f g h i j k l m n o p q

Donnez des valeurs aux feuilles a jusqu’`a q de sorte que l’algorithme α-β coupe exactement les branches in-

diqu´ees. Appliquez l’algorithme sur l’arbre avec vos valeurs.

Par exemple: a 5, b 2, c 6, e 7, f 1, g 1, h 8, j 1, k 1, l 1

Les autres feuilles peuvent avoir n’importe quelle valeur: D´eroulement de l’algorithme: On

commence avec A et (α, β) = (−∞, ∞). Ensuite B(−∞, ∞), C(−∞, ∞),C(5, ∞),B(−∞, 5),D(−∞, 5),

D(6, 5), on coupe, B(−∞, 5), A(5, ∞),E(5, ∞), F (5, ∞), F (7, ∞), E(5, 7), G(5, 7), G(8, 7), on coupe ,

E(5, 7),A(5, ∞),H(5, ∞),I(5, ∞),H(5, 5),on coupe...

2

2. Consid´erez l’arbre de jeux suivant :

MAX

MIN

MAX

3 7 10 10 5 15 11 13 15 3 7 15 9 3 7 9 15

• Appliquez l’algorithme α-β sur cet arbre en commen¸cant avec les valeurs α = 9 et β = 14.

alpha-beta coupe les deux 10, le 11, et le troisi`eme fils de la racine ! R´esultat: 14

• Appliquez l’algorithme α-β sur cet arbre en commen¸cant avec les valeurs α = 16 et β = 21.

alpha-beta coupe le deuxieme fils de chaque noeud min, et le troisieme le cas ´echeant.

R´esultat: 16

• Les r´esultats obtenus ont quelles significations ?

Pr´emier r´esultat: la vrai valeur est ≥ 14. Deuxi`eme r´esultat: la vrai valeur est ≤ 16.

• Sous quelle condition le r´esultat de l’algorithme α-β avec des valeurs initiales α = a et β = b donne le mˆeme

r´esultat qu’avec les valeurs initiales α = −∞ et β = ∞ ?

condition: a ≤ le vrai r´esultat ≤ b

Advertisement

3. Pourquoi les algorithmes pour les jeux recherchent toujours `a partir de la position courante en avant plutˆot que

de rechercher en arriere a partir du but ?

Plusieurs r´eponses possibles: Il y a plusieurs buts. Comment d´efinir max et min ? , etc.

Exercice 3 Jeux (5 points)

Soit un arbre de jeux complet de profondeur p avec facteur de branchement b1 (chaque noeud a b1 fils) pour les

noeuds MAX et facteur de branchement b2 (chaque noeuds a b2 fils) pour les noeuds MIN. La racine est un noeud

MAX.

• Donnez le nombre exactes de feuilles dans l’arbre

– pour une profondeur p impaire

b(p+1)/2

1

b(p−1)/2

– pour une profondeur p pair

2

bp/2

1

bp/2

2

• Donnez le nombre minimum exacte de feuilles qui sont ´evalu´ees (c.-`a-d. pour lesquelles la fonction e(x) est

appliqu´ee) dans l’algorithme SSS∗

– pour une profondeur p impaire

2 − 1: La premi`ere passe de l’algorithme va ´evaluer bp/2

1

noeuds. Ensuite, pour confirmer le r´esultat

1 + bp/2

bp/2

on doit ´evaluer encore bp/2

– pour une profondeur p pair

+ b(p−1)/2

b(p+1)/2

1

− 1

2

2 − 1 noeuds.

Justifiez vos r´eponses.

3