# TD 5 -- Introduction a l'Intelligence Artificielle et à la Theorie des Jeux ###### tags `TD` `M1 S1` `IA` [Sommaire](/8Sa-Z4QBS1ep0xPwtzigJA) > [time= 23 oct 2020] [TOC] ## Exercice 1 -- Découverte des algorithmes ### Enoncer ![](https://i.imgur.com/eA5ZYWU.png) ### réponse #### 1) MinMax ```graphviz Digraph MinMax { a [label="a - 8"] b [label="b - 8"] c [label="c - 4"] d [label="d - 5"] e [label="e - 8"] f [label="f - 8"] g [label="g - 7"] h [label="h - 4"] i [label="i - 5"] j [label="j - 8"] k [label="k - 5"] l [label="l - 4"] m [label="m - 8"] n [label="n - 8"] o [label="o - 3"] p [label="p - 7"] q [label="q - 9"] r [label="r - 4"] s [label="s - 1"] t [label="t - 0"] u [label="u - 5"] v [label="v - 7"] w [label="w - 8"] x [label="x - 1"] y [label="y - 5"] a -> {b; c; d} b -> {e, f} c -> {g, h, i} d -> {j, k} e -> {l, m} f -> {n, o} g -> {p, q} h -> {r, s} i -> {t, u} j -> {v, w} k -> {x, y} } ``` ### 2) alpha-beta ```graphviz digraph alpha_beta { a [label="a - 8 (-inf, +inf) (8, +inf)"] b [label="b - 8 (-inf, +inf) (-inf, 8)"] c [label="c - 4 (8, +inf) (8, 9)"] d [label="d - 8 (8, +inf)"] e [label="e - 8 (-inf, +inf) (4, +inf)"] f [label="f - 8 (-inf, 8)"] g [label="g - 9 (8, +inf)"] h [label="h - 4 (8, 9)"] i [label="i - "] j [label="j - 8 (8, +inf)"] k [label="k - "] l [label="l - 4 (-inf, +inf)"] m [label="m - 8 (4, +inf)"] n [label="n - 8 (-inf, 8)"] o [label="o - 3"] p [label="p - 7 (8, +inf)"] q [label="q - 9 (8, +inf)"] r [label="r - 4 (8, 9)"] s [label="s - 1 (8, 9)"] t [label="t - 0"] u [label="u - 5"] v [label="v - 7 (8, +inf)"] w [label="w - 8 (8, +inf)"] x [label="x - 1"] y [label="y - 5"] a -> {b; c; d} b -> {e, f} c -> {g, h} c -> i [style=dotted] d -> j d -> k [style=dotted] e -> {l, m} f -> {n} f -> o [style=dotted] g -> {p, q} h -> {r, s} i -> {t, u} [style=dotted] j -> {v, w} k -> {x, y} [style=dotted] } ``` ## Exercice 2 -- Variation autour du solitaire ### énoncé ![](https://i.imgur.com/8Ig0ncO.png) ### Réponse ![](https://i.imgur.com/lrR2V2v.jpg) ![](https://i.imgur.com/zwNlpZ4.jpg) ## Exercice 3 alpha beta ### énoncé ![](https://i.imgur.com/vVI7V2i.png) ### réponse ``` A = -inf (-inf, +inf) B = +inf (-inf, +inf) C = -inf (-inf, +inf) a = 1 (-inf, +inf) C = 1 (1, +inf) b = 2 (-inf, +inf) C = 2 (2, +inf) B = 2 (-inf, 2) D = -inf (-inf, 2) c = 3 (-inf, 2) # 'c' doit faire une coupe Beta dans 'D' donc v(c) > beta=2 D = 3 (-inf, 2) B = 2 (-inf, 2) A = 2 (2, +inf) E = +inf (2, +inf) F = -inf (2, +inf) # e, f, g peut etre quelconque e = 3 (2, +inf) F = 3 (2, +inf) f = 3 (2, +inf) F = 3 (2, +inf) g = 4 (2, +inf) F = 4 (2, +inf) E = 4 (2, 4) G = -inf (2, 4) h = 5 (2, 4) # h doit etre superieur a 4 pour faire un élagage beta G = 5 (2, 5) E = 4 (2, 4) A = 4 (4, +inf) H = +inf (4, +inf) I = -inf (4, +inf) j = 2 (4, +inf) # j, k, l <= 4 pour coupe alpha en H I = 2 (4, +inf) k = 3 (4, +inf) I = 4 (4, +inf) l = 4 (4, +inf) I = 4 (3, +inf) H = 4 (4, 6) A = 4 (4, +inf) ``` donc: - a = 1 (quelconque) - b = 2 >= b - c = 3 >= b - d = >=c :cry: - e = 3 (quelconque) - f = 3 >= e - g = 4 >= g - h = 5 >= g >= b - i = >=h :cry: - j = 2 <= b - k = 3 <= b - l = 4 <= b - m = :cry: - n = :cry: - o = :cry: - p = :cry: - q = :cry: