Title: Le Jeu et lintelligence artificielle
1Le Jeu et lintelligence artificielle
- Oana Frunza
- University of Ottawa
- 7-8 mai, 2008
2Les jeux comme un problème de recherche
- Qu'est-ce quon cherche?
- solution, étapes pour arriver à la solution
- Où on cherche?
- dans une espace de recherche - ensemble
dobjets (solution partiale) dans laquelle la
recherche seffectue (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
3La plus importante étape
- Représentation comment mettre en évidence les
caractéristiques essentielles dun problème pour
les rendre accessibles à une procédure de
résolution de problèmes - graphes et machines détats
- calcul propositionnel
-
4Calcul propositionnel
5Graphe détats
objectes
opérateurs (actions)
espace de recherche
6Comme on cherche?
- Application systématique des opérateurs
- Vérification, après chaque transformation pour
voir si lobjet qui résulte est un élément de
lensemble des buts finaux. - Recherche Aveugle Une méthode de recherche qui
nest 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
lespace de recherche où la mesure de la valeur
dun objet donné dans cet espace. - Recherche Heuristique Une méthode de
recherche qui emploie une mesure pour guider la
recherche.
7La Recherche Heuristique
- Heuristiques (Greek heuriskein trouver,
découvrir) létude de méthodes et règles pour
la découverte et linvention". - 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 lespace
de recherche, on accélérer la recherche on doit
utilise une fonction pour grade les objecte/les
prochaines actions
8Note
- Dans la vie réelle on utilise aussi
lheuristique - 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
dobjets dans leur panier. - Avez-vous dautres exemples?
9Problème du voyageur de commerce
consiste, étant donné un ensemble de villes
séparées par des distances données, trouver le
plus court chemin qui relie toutes les villes
DEMO Votre
tour!
10Comment le faire?
- 1. Créer une représentation pour objets et
- opérateurs
- 2.Définir une mesure pour espace de
recherche. - 3. Créer une méthode efficace de
- comparaison ou d évaluation dobjets en
- phase avec la mesure.
- 4. Créer une méthode efficace pour la
- sélection du nouvel objet à considérer dans
lespace
11Les missionnaires et les cannibales Le problème
- Trois missionnaires et trois cannibales se
trouvent sur la même - rive dune rivière. Ils voudraient tous se rendre
sur lautre rive. - Cependant, si le nombre de cannibales est
supérieur à celui des - missionnaires, alors les cannibales mangeront les
missionnaires. - Il faut donc que le nombre de missionnaires
présents sur lune - ou lautre des rives soit toujours supérieur à
celui des - cannibales. Le seul bateau disponible ne peut pas
supporter le - poids de plus de deux personnes. Comment est-ce
que tout le - monde peuvent traverser la rivière sans que les
missionnaires - risquent être mangé?
- http//www.site.uottawa.ca/nat/Cou
rses/csi4506_Automne2004/
12Représentation du problème
- Configuration initiale
- Configuration finale
Cette représentation nest pas appropriée pour
un ordinateur les règles et les contraintes
ne sont pas formulées.
13Etape 1 Représentation du problème
-
- Configuration initiale
- Configuration finale
- Déplacement légaux
- Contraintes
- Les cannibales ne doivent pas être plus nombreux
que les missionnaires sur les deux rives - Le bateau ne peut pas supporter plus de deux
personnes. -
MMMCCCB
MMMCCCB
14On continue à étendre l espace de recherche
jusqu à larrivée dune Configuration finale
M?
? C
MMMCCCB
MM?
C ?
CC ?
?MC
MC ?
? CC
MMCCC BM
?C
?C
?M
15Le jeu
16Une solution pour le problème
- MMMCCCB
- MMMC BCC
- MMMCCB C
- MMM BCC
- MC BMMCC
- MMCCB MC
- CC BMMMC
- CCCB MMM
- C BCCMMM
- CCB CMMM
- BCCCMMM
- Le développement explicite de l espace de
recherche en entier nest pas une solution
pratique! L espace de recherche doit être
contenu à ses parties significatives
17Problème 2 Le Loup, le mouton et le chou
- C'est l' Fernand, accompagné d'un loup, d'un
mouton et d'un chou qui doit traverser une
rivière pour rentrer chez la Marie.Malheureusemen
t, l'en a qu'une petite barque qui ne lui permet
que de transporter un seul objet ou animal à la
fois.Ainsi, à chaque fois, y doit en laisser
deux sur la rive sans faire gaffe à eux, le temps
de traverser.Ben sûr, le loup mange le mouton et
le mouton mange le chou.
18Étape 1 Représentation du problème
- Configuration initiale ....LMCB
- Configuration finale LMCB.
- Opérateurs
- une petite barque qui ne lui permet que de
transporter un seul objet ou animal à la fois - ben sûr, le loup mange le mouton et le mouton
mange le chou. -
- if (isMoving) currentSpeed--
- else System.err.println("The bicycle has
already topped!")
19- Étapes 2 et 3
- Vérifier si le conditions sont satisfaites
- Étapes 4
- Faire juste des transportation légales ?
-
20-
- Trouver la solution!!!
- LMC
-
21Problème de voyage
En vacance en Roumanie Ville de départ Arad
Ville d arrive Bucarest
22Étape 1
- Objectés les villes
- Actions conduire entre les villes
- La solution une suite des villes - e.g., Arad,
Sibiu, Fagaras, Bucharest
23Représentation utilisant des arbres
24(No Transcript)
25(No Transcript)
26- Pour trouver la solution on cherche .
- une route pour arriver à la destination
- Pour le jeu de MC on cherche quel déplacement
à faire
27M?
? C
MMMCCCB
MM?
C ?
CC ?
?MC
MC ?
? CC
MMCCC BM
?C
?C
?M
28Avec les techniques de recherche
- On donne les ordinateurs une intelligence,
prendre une décision -gt la recherche une grand
partie de lintelligence artificielle
29Représentation pour la recherche
30nud
B et C sont voisons pour A
arc direction unique
31Pause.. nous jouons! ?
32Recherche Depth-First (RDF)
- On prendre un nud on vérifie les voisins
prendront le premier - 2. On vérifie si le nud actuel est la solution
- a. si oui on sarrêt
- b. si non on fait le voisin du nud actuel
le nud actuel et on continue avec 1.
33Trouver la route A-gtF
34Étape 0
- On commence avec le nud source A
- On utilise 2 listes
- Liste Ouverte les actions (nud) courantes
- Liste Ferme les actions (nud) passe
- Liste Ouverte A
- Liste Ferme ltgt
35Étape 1
1. Liste Ouverte A Liste Ferme ltgt 2. Est A
la solution? 3. Étendre A
Liste Ouverte B, C Liste Ferme A
36Étape 2
1. Liste Ouverte B, C Liste Ferme A 2. Est
B la solution? 3. Étendre B
Liste Ouverte D, E, C Liste Ferme A,B
37Étape 3
1. Liste Ouverte D, E, C Liste Ferme
A,B 2. Est D la solution? 3. Étendre D
Liste Ouverte E, C Liste Ferme A,B,D
38Étape 4
1. Liste Ouverte E, C Liste Ferme A,B,D 2.
Est E la solution? 3. Étendre E
Liste Ouverte F,G, C Liste Ferme A,B,D,E
39Étape 5
1. Liste Ouverte F,G, C Liste Ferme
A,B,D,E 2. Est F la solution? Oui F
Liste Ouverte G, C Liste Ferme A,B,D,E,F
40Recherche breadth-first (RBF)
- La seule différence est le placement des nuds
qui sont étendrais - RDF on met les nuds au début de la Liste
ouverte (une représentation pile) - BDF on met les nuds à la fin de la Liste
ouverte (une représentation file)
41Recherche breadth-first (RBF)
42Étape 0
- On commence avec le nud source A
- Liste Ouverte A
- Liste Ferme ltgt
43Étape 1
1. Liste Ouverte A Liste Ferme ltgt 2. Est A
la solution? 3. Étendre A
Liste Ouverte B, C Liste Ferme A
44Étape 2
1. Liste Ouverte B, C Liste Ferme A 2. Est
B la solution? 3. Étendre B
Liste Ouverte C, D, E Liste Ferme A,B
45Étape 3
1. Liste Ouverte C, D, E Liste Ferme
A,B 2. Est C la solution? 3. Étendre C
Liste Ouverte D, E Liste Ferme A,B, C
46Étape 4
1. Liste Ouverte D, E Liste Ferme A,B,C 2.
Est D la solution? 3. Étendre D
Liste Ouverte E Liste Ferme A,B,C,D
47Étape 5
1. Liste Ouverte E Liste Ferme A,B,C,D 2.
Est E la solution? Oui E
Liste Ouverte G, C Liste Ferme A,B,D,E
48Pseudo-code RDF
- 1. Déclaration pour 2 listes vides Liste ouverte
Liste ferme - 2. Ajute le nud racine à la Liste ouverte
- 3. La Liste ouverte nest pas vide
- Élimine le premier nud dans la Liste ouverte
- Vérifier si le nud élimine est la solution
- Si il est la solution arrêt lalgorithme, ajoute
le nud à la Liste ferme, rendre la Liste ferme
pour la solution. - Si il nest pas la solution continue avec étape C
- Extraire les voisins pour le nud élimine
- Ajoute les voisins au débout de la Liste ouverte,
ajoute le nud élimine a la Liste ferme
49Pseudo-code RBF
- Déclaration pour 2 listes vides Liste ouverte
Liste ferme - Ajute le nud racine à la Liste ouverte
- La Liste ouverte nest pas vide
- Élimine le premier nud dans la Liste ouverte
- Vérifier si le nud élimine est la solution
- Si il est la solution arrêt lalgorithme, ajoute
le nud à la Liste ferme, rendre la Liste ferme
pour la solution. - Si il nest pas la solution continue avec étape C
- Extraire les voisins pour le nud élimine
- Ajoute les voisins à la fin de la Liste ouverte,
ajoute le nud élimine a la Liste ferme
50Quelle recherche? quand?
- RDF Préférée pour chercher un espace de
recherche structuré en un arbre fini avec des
nuds finaux dans les feuilles de larbre. - RBF Préférée lorsque le branching factor est
petit, les opérateurs ont une application
coûteuse et les nuds finaux sont attendus a une
profondeur raisonnable.