Title: Le Jeu et l
1Le Jeu et lintelligence artificielle
- Oana Frunza
- University of Ottawa
2Les jeux comme une problème de recherche
- Qu'est-ce quon cherche?
- solution, étapes darriver à la solution
- Où on cherche?
- dans une espace de recherche - ensemble
dobjets (solution partiale) dans lequel 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
5 6Graphe détats
objectes
opérateurs (actions)
espace de recherche
7Comme 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 ou 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.
8La 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
9Note
- 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?
10Problème du voyageur de commerce
consiste, étant donné un ensemble de villes
séparées par des distances données, doit trouver
le plus court chemin qui relie toutes les villes
DEMO
11Comment le faire?
- 1. Créer une représentation pour les objets et
les opérateurs - 2.Définir une mesure à utiliser dans espace de
recherche. - 3. Créer une méthode efficace de
- comparaison ou d évaluation des objets.
- 4. Créer une méthode efficace de
- sélectionner le nouvel objet à considérer
dans lespace
12Les 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é?
13Repré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.
14Etape 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
15On 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
16Le jeu
17Une 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
18Problè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 fouis, 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.
19É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. -
-
20- Étapes 2 et 3
- Vérifier si le conditions sont satisfait
- Étapes 4
- Faire des transportations légales ?
-
21-
- Trouver la solution!!!
- LMC
-
22Problème de voyage
En vacance en Roumanie Ville de départ Arad
Ville d arrive Bucarest
23Étape 1
- Objectés les villes
- Actions conduire entre les villes
- La solution une suite des villes - e.g., Arad,
Sibiu, Fagaras, Bucharest
24Représentation utilisant des arbres
25(No Transcript)
26(No Transcript)
27- Pour trouver la solution on cherche .
- une route de arriver à la destination
- Pour le jeu de MC on cherche quelle
déplacement a faire
28M?
? C
MMMCCCB
MM?
C ?
CC ?
?MC
MC ?
? CC
MMCCC BM
?C
?C
?M
29Avec les techniques de recherche
- On donne les ordinateurs dintelligence, ils
peuvent prendre des décisions comme on fait si on
regarde les donnes -gt la recherche une grande
partie de lintelligence artificielle
30Représentation utilisée pour la recherche
31nœud
B et C sont voisons pour A
arc direction unique
32Recherche Depth-First (RDF)
- On prendre une nœud on vérifie les voisins
prendront le premier - 2. On vérifie si le nœud actuel est la solution
- a. si oui on sarrêt
- b. si non on fait le voisin du nœud actuel
le nœud actuel et on continue avec 1.
33Trouver la route A-gtF
34Étape 0
- On commence avec le nœud source A
- On utilise 2 listes
- Liste Ouverte les actions (nœud) courantes
- Liste Ferme les actions (nœud) 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 nœuds
qui sont étendrais - RDF on met les nœuds au début de la Liste
ouverte (une représentation pile) - BDF on met les nœuds à la fin de la Liste
ouverte (une représentation file)
41Recherche Breadth-first (RBF)
42Étape 0
- On commence avec le nœud 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,C,D,E
48Pseudo-code RDF
- 1. Déclaration pour 2 listes vides Liste ouverte
Liste ferme - 2. Ajute le nœud racine à la Liste ouverte
- 3. La Liste ouverte nest pas vide
- Élimine le premier nœud dans la Liste ouverte
- Vérifier si le nœud élimine est la solution
- Si il est la solution arrêt lalgorithme, ajoute
le nœud à 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 nœud élimine
- Ajoute les voisins au débout de la Liste ouverte,
ajoute le nœud élimine a la Liste ferme
49Pseudo-code RBF
- Déclaration pour 2 listes vides Liste ouverte
Liste ferme - Ajute le nœud racine à la Liste ouverte
- La Liste ouverte nest pas vide
- Élimine le premier nœud dans la Liste ouverte
- Vérifier si le nœud élimine est la solution
- Si il est la solution arrêt lalgorithme, ajoute
le nœud à 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 nœud élimine
- Ajoute les voisins a la fin de la Liste ouverte,
ajoute le nœud élimine a la Liste ferme