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
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
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