22
Le Jeu et l’intelligence artificielle Oana Frunza University of Ottawa 5 mai, 2008

Le Jeu et l’intelligence artificielle

  • Upload
    johnda

  • View
    38

  • Download
    2

Embed Size (px)

DESCRIPTION

Le Jeu et l’intelligence artificielle. Oana Frunza University of Ottawa 5 mai, 2008. Les jeux comme un problème de recherche. Qu'est-ce qu’on cherche? solution, étapes pour arriver à la solution Où on cherche? - PowerPoint PPT Presentation

Citation preview

Le Jeu et l’intelligence artificielle

Oana FrunzaUniversity of Ottawa

5 mai, 2008

Les jeux comme un problème de recherche

Qu'est-ce qu’on cherche? solution, étapes pour arriver à la solution

Où on cherche?dans une espace de recherche - ensemble d’objets

(solution partiale) dans laquelle la recherche s’effectue (structure en arbre)

Comme on cherche?dans un espace de recherche, les objets sont reliés les uns

aux autres par des opérateurs qui transforment un objet en un autre

La plus importante étape

Représentation comment mettre en évidence les caractéristiques essentielles d’un problème pour les rendre accessibles à une procédure de résolution de problèmes

graphes et machines d’états calcul propositionnel

objectes

opérateurs (actions)

espace de recherche

Graphe d’états

Comme on cherche?Application systématique des opérateursVérification, après chaque transformation pour voir si l’objet qui

résulte est un élément de l’ensemble des buts finaux.

Recherche Aveugle: Une méthode de recherche qui n’est pas guidée par des informations sur le domaine.

Mesure pour un espace: Un système de calcul de mesure de distance entre deux objets dans l’espace de recherche où la mesure de la valeur d’un objet donné dans cet espace.

Recherche Heuristique: Une méthode de recherche qui emploie une mesure pour

guider la recherche.

La Recherche Heuristique

Heuristiques (Greek heuriskein = trouver, découvrir): « l’étude de méthodes et règles pour la découverte et l’invention".

Ils sont des espaces de recherche trop grande pour une recherche aveugle : pour chéquiers il est 1040 chemins, échecs 10120

En utilisant des heuristiques on diminue l’espace de recherche, on accélérer la recherche – on doit utilise une fonction pour grade les objecte/les prochaines actions

http://www.site.uottawa.ca/~nat/Courses/csi4506_Automne2004/

Note• Dans la vie réelle on utilise aussi

l’heuristique:

• Exemple: Au supermarché, on choisit la queue la moins longue ou alors on choisit la queue dans laquelle les clients on le plus petit nombre d’objets dans leur panier.

• Avez-vous d’autres exemples?

Nouvelle Stratégie pour la recherche heuristique – A*

A* - un algorithme qui garantit une solution optimale

A* - demande une estimation limite inférieure pour mesurer la distance entre aucun nœud et la solution finale

• État initial = la planche initiale• État final = la planche finale (solution)• Regardant la planche initiale trouve l’état finale• La Recherche

– Commence avec l’état initial = état courant (x)– Pour l’état courent

• générer tous les mouvements possibles • compter les carreaux mal assortis – fonction m(x) et la

profondeur de l’arbre de recherche – fonction d(x)• Calculer la fonction heuristique f(x) = m(x) + d(x)• Sélecter le prochain état e avec la valeur minimale de d(x)• État courant = prochain état x• Répéter jusqu‘à la solution finale

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

12 3

45

67

8

12 3

4567

812 3

45

67

812 3

456

7

8

d(x) = 0

d(x) = 1

d(x) = 2

d(x) = 3

m(B) = 5

m(A) = 4

m(C) = 3

m(D) = 5

12 3

4567

8 12 3

4567

81

2 34567

8m(E) = 3

m(F) = 3

m(G) = 4

12 3

4567

8 m(J) = 2 1

2 34567

8 m(K) = 4

m(H) = 3

m(I) = 41

2 3456

78

1234567

8

d(x) = 4

1 2 34567

8 m(L) = 1

d(x) = 5

1 2 34567

8 m(M) = 0

1 2 3456

7 8 m(N) = 2

État final

8-puzzle avec heuristique A*

A, ..., N: mouvements

m = mal assortis carreaux

d = niveau dans l’arbre (profondeur)

f(x) = m(x) + d(x)

Votre tour..!• Allez: http://www.robofesta-europe.org/britain/resources/RFonly8/

• Jouer 5 fois le jeu (sans l’heuristique A*). Pour chaque fois compter combien de mouvements vous a pris pour trouver la solution

• âpre jouer autre 5 fois le jeu, mais avec la technique A* (utilise un papier pour tracer l’arbre). Aussi pour chaque fois compter combien de mouvements vous a pris pour trouver la solution

• Comparer les 2 manches de comptes. Quelle technique est le mieux (moins des mouvements), vous ou A*?

• http://www.dc.fi.udc.es/lidia/mariano/demos/8puzzle/EightPuzzle.html