1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale.

Slides:



Advertisements
Présentations similaires
Probabilités et statistiques au lycée
Advertisements

Modèle des jeux et des mécanismes
1 Modèles Economiques en Informatique Michel de Rougemont Université Paris II.
Classification et prédiction
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.
Notions de variable aléatoire et de probabilité d’un événement
Chapitre VI. Arbres (définition, parcours, représentation)
MasterMind en spécialité i.s.n.
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Laventure, cest dur!. But du jeu Traverser les 100 kilomètres du royaume… …et tuer le méchant dragon qui terrorise la région!!
Les jeux de société Chinois
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Systèmes d’équations du premier degré à deux variables
Systèmes d’équations du premier degré à deux variables
Les jeux (méthodes min-max et -)
BIAD Bases de l’Intelligence Artificielle Distribuée
Collège Pierre-Auguste Renoir Ferrières-en-Gâtinais
OCaml – Les arbres L3 MI.
Algorithmes Branch & Bound
MinMax et Alpha-Beta.
Optimisation linéaire
Biologie : jeu de cartes plastifiées « mitose-méiose » L
Marc BOUET Conseiller Technique National
Introduction aux probabilités
Gestion de Fichiers Arbres B.
Les fichiers indexés (Les B-arbres)
LES ARBRES IUP 2 Génie Informatique
Éric Beaudry Département d’informatique Université de Sherbrooke
Périodicité, Apériodicité, Universalité et autres petits problèmes…
IFT Complexité et NP-complétude
N pièces de monnaie A1A1 A2A2 Inconnus: 1, 2 (taux de paiement de A 1 et A 2 ) 2 1, 2 2 (variance de 1 et, 2 ) Bras 1Bras 2.
1 CSI3525: Concepts des Languages de Programmation Notes # 3: Description Syntaxique des Languages.
CSI 4506: Introduction à l'intelligence artificielle La recherche aveugle.
CSI 4506: Introduction à l’intelligence artificielle
1 CSI 4506: Introduction à lintelligence artificielle La recherche adversairiale.
Gestion de Fichiers Hachage (suite). 2 Plan du cours daujourdhui Prédiction de la distribution des enregistrements Réduction des collisions en augmentant.
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Algorithmes Branch & Bound
Arbres binaires et tables de hachage
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°6.
CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Aveugle.
Le langage Racket (Lisp)
CSI 4506: Introduction à l’Intelligence Artificielle
Exploration systématique de graphes
Arbitrage Organisation.
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Chapitre 3: Translation et Vecteurs
Chapitre 3: Variables aléatoires réelles continues
TIPE Les dames chinoises
Fabienne BUSSAC FONCTIONS LINEAIRES – PROPORTIONNALITE
Structures de données avancées : B arbres
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Chapitre 4 Variables aléatoires discrètes
Le Jeu et l’intelligence artificielle
Points de victoires : faire la somme des points des unités ennemies détruites (page 86) y ajouter le nombre de points de vos unités opérationnelles et/ou.
Question 1 Le but frappé au point A s’immobilise au point B. On vous appelle. Quelle décision prenez-vous ? A B.
4/25/2017 4:30 PM Arbres (2,4) CSI2510 CSI2510.
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
LOIS COURANTES DE PROBABILITES
AIDE à la DECISION Critères IAE de Picardie - LP1.
Scénario Quatre hipsters entrent en collision un dans l'autre dans un ascenseur plein de personnes. En conséquence ils laissent tomber leurs téléphones.
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
C9-1 Modèles décisionnels en gestion Introduction Les modèles linéaires La résolution des modèles linéaires continus La programmation linéaire en nombres.
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Chapitre 5 Interprétation des données d’enquête 1.
Transcription de la présentation:

1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale

2 Plan du Cours Description Terminologie Strategie Naïve de Jeux Desavantages de la Strategie Naive Recherche Minimax Desavantages de la Recherche Minimax Recherche 

3 Recherche Adversariale: Description (1) La recherche adversariale correspond aux techniques de recherche pour les jeux a deux personnes tels que les echecs, les dames, Tic-Tac-Toe, etc… Dans ces jeux: – Les deux joueurs alternent leur tour – Les deux joueurs ont toutes les information possibles sur la partie (different du Bridge, par exemple, ou les joueurs cachent leurs cartes) – Chaque joueur doit reflechir de maniere strategique a la facon dont son adversaire repondra a son coup, dont lui repondra au coup de l’adversaire, etc…

4 Recherche Adversariale: Description (2) La recherche adversariale doit considerer differentes sequences de coups alternatifs potentiels des deux joueurs afin d’estimer les consequences de leurs diverses options immediates. Les joueurs peuvent alors decider, a partir de cette recherche dans l’espace des sequences potentielles, quelle option a la plus grande chance de mener a une victoire.

5 Terminologie (1) Arbre de Jeu: arbre qui consiste en des noeuds qui representent les options des joueurs dans un jeux a deux joueurs. Les noeuds de cet arbre alternent entre les options des deux joueurs. Tours/Couches: Les differents niveaux dans un arbre de jeux s’appellent les tours ou les couches (ply/plies). Noeuds Finaux dans un Arbre de Jeu: Les noeuds terminaux indiquent la fin du jeux, c’est a dire une configuration gagnante ou perdante (+1 ou –1) pour le joueur don’t on a pris le point de vue. S’il y a match nul, la valeur est de 0.

6 Terminologie (2) Maximizer: C’est le joueur dont le but est d’atteindre un noeud final de valeur +1. Minimizer: C’est le joueur dont le but est d’atteindre un noeud final de valeur –1. Match nul: Un joueur doit preferer une victoire plutot qu’un match nul, et un match nul plutot qu’une defaite.

7 Examples 1. Illustration des definitions 2. Arbre de Jeu pour Tic-Tac-Toe Ces illustration et example seront presentes en classe.

8 Strategie de Jeux Afin de choisir le coup suivant, un joueur doit evaluer les consequences de chaque option dont celles correspondant a des noeuds internes de l’arbre de jeu  – On assigne +1 a un noeud n, si n est sur une couche de maximizer et l’un des enfants de n a la valeur 1 ou si n est sur une couche de minimizers et tous les enfants de n ont la valeur +1. – On assigne –1 a un noeud n, si n est sur une couche de minimizers et l’un des enfants de n a la valeur –1 ou si n est sur une couche de maximizers et tous les enfants de n ont la valeur –1. (Voir Illustration et Example en Classe)

9 Problemes associes a cette Strategie Naive Elle utilise un montant de memoire exponentiel en terme de la profondeur de l’arbre!!!!  Il vaut mieux utiliser l’algorithme de recherche Minimax qui reduit le montant de memoire requis pour determiner la valeur d’un noeud m particulier en performant une recherche Depth-First de l’arbre de jeu don’t la racine est m.

10 Recherche Minimax (Voir l’arbre au tableau) N= a n=aN=a  N= b,c,d,a n=bN=b,c,d,a  N=e,b,c,d,a n=eN=e,b,c,d,a  N=h,i,e,b,c,d,a n=hN=h,i,e,b,c,d,a  N=h=-1,i,e,b,c,d,a n=hN=h,i,e,b,c,d,a  N=i,e,b,c,d,a n=i N=i,e,b,c,d,a  N=l,m,n,i,e,b,c,d,a n=l N=l,m,n,i,e,b,c,d,a  N=l=-1,m,n,i,e,b,c,d,a n=lN=l,m,n,i,e,b,c,d,a  N=m,n,i,e,b,c,d,a n=mN=m,n,i,e,b,c,d,a  N=m=1,n,i,e,b,c,d,a n=mN=m,n,i,e,b,c,d,a  N=n,i,e,b,c,d,a n=nN=n,i,e,b,c,d,a  N=n=1,i,e,b,c,d,a etc...

11 Desavantage de la Recherche Minimax La recherche Minimax n’est pas tres utile en pratique car l’arbre de jeu de la plupart des jeux interessants est extremement grand!!!  Plutot que d’analyser un jeu jusqu’au bout (jusqu’a une victoire ou un match nul), on peut vouloir chercher assez loin pour calculer une bonne estimation de la chance a une victoire a partir de differents noeuds internes.

12 La Recherche dans un Arbre de Jeu avec une fonction d’evaluation: La Recherche  (1) 1. On definie une fonction d’evaluation e() telle que e(n)  [-1, 1] pour tous les noeuds n.  e(n)= -1  victoire pour le minimizer avec 100% de certitude.  e(n)=1  victoire pour le maximizer avec 100% de certitude.  e(n)=0  pas d’avantage d’un cote ou de l’autre  -1 < e(n) <0  victoire pour le minimizer avec different degres de certitude (< 100%)  0< e(n) < 1  victoire pour le maximizer avec differents degres de certitudes (< 100%)

13 La Recherche dans un Arbre de Jeu avec une fonction d’evaluation: La Recherche  (2) Example aux Echecs: e(n) = ( w(n) - b(n) ) / ( w(n) + b(n) ) avec – w(n) = somme des valeurs de toutes les pieces blanches de l’echequier – b(n) = somme des valeurs de toutes les pieces noires de l’echequier

14 La Recherche dans un Arbre de Jeu avec une fonction d’evaluation: La Recherche  (3) 2. Etant donne une fonction d’evaluation e(), certains noeuds n’ont pas besoin d’etre etendus (Les deux cas seront donnes en classe)

15 La Recherche  Visitez l’arbre dans un ordre Depth-First Lorsque vous rencontrerez un nouveau noeud, n, – Si n est un noeud final, alors appliquer la fonction d’evaluation e(n) – Si n n’est pas un noeud terminal et n’a pas recu de valeur, alors donnez lui la valeur de -  si c’est un noeud de couche maximazer ou de +  si c’est un noeud de couche minimizer. Lorsque vous donnez une valeur a un noeud en utilisant la fonction d’evaluation, vous devez distribuer (back-up) cette valeur a ses ancetres Lorsque vous visitez un noeud n, vous pouvez decider de le tailler (prune) s’il n’y a pas de raison de l’etendre.

16 Regles de Distribution et de Taillage (1) Regle de Distribution (Back-up): Soit v la valeur courante de n Soit m, le parent de n et u la valeur courante de m. Si m est un noeud de couche maximizer, alors la valeur de m doit devenir max(u,v). Si m est un noeud de couche minimizer, alors la valeur de m doit devenir min(u,v). Si m est la racine ou si la valeur de m ne change pas, alors, il faut s’arreter. Sinon, on distribue la valeur de m a son parent (appel recursif).

17 Regles de Distribution et de Taillage (2) Regle de Taillage: Si n est un noeud de couche maximizer, alors, soit v, le min des valeurs des freres de n et soit u, le max des valeurs des freres des ancetres de n qui sont des noeuds de couche minimizer (!) Si v >= u, alors vous pouvez retirer n et ses freres ainsi que n’importe lesquels des successeurs de n et de ses freres de la queue. Si m est un noeud de couche minimizer, alors vous pouvez faire la meme chose en remplacant max par min, min par max et =.

18 Examples (Deux Examples seront presentes en classe)