Intelligence Artificielle

Slides:



Advertisements
Présentations similaires
Heuristiques A. Introduction B. Recherche d ’une branche
Advertisements

1 CSI 4506: Introduction à lintelligence artificielle La recherche adversairiale.
Exploration systématique de graphes
Le Jeu et l’intelligence artificielle
USTL - Licence Informatique Les jeux à 2 joueurs 1 Conception Orientée Objet Les jeux à 2 joueurs Conception Orientée Objet Jean-Christophe Routier Licence.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Le socle commun : des pistes pour la technologie Plan de la présentation : - Introduction - Contexte (socle commun et document eduscol) - Repérage des.
Université Lille 1 - Licence Informatique Les jeux à 2 joueurs 1 Conception Orientée Objet Les jeux à 2 joueurs Conception Orientée Objet Jean-Christophe.
Grilles 3D Les grilles 3D. Grilles 3D Plan ● Les grilles 3D – Grille 3D ? – Reconstruction de continuité C 0 – Octree min/max – Visualisation d'une iso-surface.
Le principe du défi calcul pour tous, chacun fait de son mieux Passer d’une situation à une épreuve: d’un jeu d’atelier à une activité de recherche personnelle.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
La résolution de problèmes ouverts au cycle 2 et cycle 3 « Mettre les élèves en situation d’essayer, conjecturer, tester, prouver. » (IREM de Lyon)
BRITT-MARI BARTH Ouvrage : L’apprentissage de l’abstraction Par M-Alexandra Bergiers et Mikel Gjoni Cours de différenciation des apprentissages – Mme Martella.
Système d’aide à la décision Business Intelligence
Outils de Recherche Opérationnelle en Génie MTH 8414A
V Suite géométrique : 1°) Définition : un+1
Analyse technique (17) Le Rate Of Change (ROC).
Analyse, Classification,Indexation des Données ACID
Comprendre, classer et analyser les problèmes multiplicatifs
Deuxième partie : La courbe d’indifférence
2/8 V 6/7 R 12/56 0 € gagnés p( X = xi ) 3/7 4/7
Information, Calcul, Communication
Algorithmique Avancée et Complexité Chap2:Complexité et Optimalité
Université Abou Bakr Belkaid Faculté des Sciences Département d’informatique Algorithmique Avancée et Complexité Chap5: Les méthodes de résolution exactes.
Informatique et Sciences du Numérique
Master Réseaux et Systèmes Distribués (RSD)
Routage S 3 - Questionnaire N°1
IFT 615 – Intelligence artificielle Recherche heuristique
Les bases de données et le modèle relationnel
Précision d'une mesure et chiffres significatifs
3ème Livre 1 Rappel.
Un Algorithme , c'est Quoi ?
Acquisition et apprentissage du français langue étrangère
Vers une adaptation des apprentissages générique et multi-aspects
Techniques d’Optimisation Chapitre 3: Programmation en 0-1 (bivalente)
Routage S 3 - Questionnaire N°1
Technologies de l’intelligence d’affaires Séance 11
Université Abou Bakr Belkaid Faculté des Sciences Département d’informatique Algorithmique Avancée et Complexité Chap7: Les méthodes de résolution exactes.
Technologies de l’intelligence d’affaires Séance 12
République Algérienne Démocratique et Populaire Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université Saad.
INTELLIGENCE ARTIFICIELLE
Fonctions Logiques & Algèbre de BOOLE
INTELLIGENCE ARTIFICIELLE
INTELLIGENCE ARTIFICIELLE
Sujets Spéciaux en informatique II
REVUE DE LITTERATURE. Introduction Première partie majeure dans la rédaction du mémoire, la réalisation d’une revue de littérature consiste à effectuer.
IFT 615 – Intelligence Artificielle Introduction
OPTIMISATION 1ère année ingénieurs
Les méthodes non paramétriques
Ä A B C D E F µ Un problème de Tournée (ou du Voyageur de commerce) consiste à chercher le meilleur trajet pour visiter.
Arbres de décision.
Les Gratte-ciel.
Variable Neighborhood Descent (VND) Réalisée par Nadia Sassi Eya baghdedi AU
Simulation Multi-Agent (SMA)&plateforme Netlogo 1.
L’ordinalité à l’école maternelle
Janvier 2019 IA-IPR Physique-Chimie
Information, Calcul, Communication
Leçon Les Forces N°1 1. Rôle des forces
CSI 3505 Algorithmes Voraces
La collecte d’informations Présenté par: Boudries. S.
Roowth 1 Université d'Adrar Faculté des Sciences et de la Technologie Département des Mathématiques et Informatique 1 er Année master : Informatique Option:
TECHNIQUES D’ANIMATION ANIMATION DE L’ENSEIGNEMENT / APPRENTISSAGE.
INTELLIGENCE ARTIFICIELLE
Tableau de bord d’un système de recommandation
Encadrée par: - Mr. Abdallah ALAOUI AMINI Réalisée par : -ERAOUI Oumaima -DEKKAR Amal - ES-SAHLY Samira -Houari Mohammed PROGRAMMATION MULTIOBJECTIFS.
Chapitre 2 Résolution des Problèmes et Jeux. Objectifs  Comment ? – Modéliser un Problème. – Modéliser un Jeu.  Comment ? – Passer d’un état à un autre.
IFT 615 – Intelligence artificielle Consignes pour l’examen final
Nouveau programme SES Seconde
Recherche de chemin et labyrinthe
La programmation dynamique
Transcription de la présentation:

Intelligence Artificielle Zahia Guessoum LIP6 Université Pierre et Marie Curie & CNRS www-poleia.lip6.fr/~guessoum/IA

Références Ce cours s’appuie ou utilise des parties des documents suivants Cours d’A. Belaïd Cours de J.-D. Zucker … IA, IUT de Reims, 2012

Plan du cours 6 premières séances Introduction & algorithmes de recherche Systèmes experts Agents Systèmes multi-agents IA, IUT de Reims, 2012

Introduction IA, IUT de Reims, 2012

Introduction 6 7 5 3 4 8 2 1 IA, IUT de Reims, 2012

N-Reines IA, IUT de Reims, 2012

Les échecs IA, IUT de Reims, 2012 Exemple:jeu d'échecs. Savoir jouer aux échecs est sans aucun doute une de ces capacités humaines qui requiert de l'intelligence. On ne connaît aucun système de règles dont l'observation suffirait à l'un des deux camps pour gagner (ou tout au moins, pour annuler) contre toute défense : ce jeu n'y aurait probablement pas survécu. Réaliser un programme jouant aux échecs peut donc constituer un sujet de recherche en intelligence artificielle. Mais selon que l'on adhère à la première approche de l'Intelligence Artificielle ou à la seconde, on ne réalisera pas la même machine : dans le premier cas, on essaiera avant tout d'obtenir un programme efficace. Peu importe alors que la machine fasse des calculs inaccessibles à l'homme, comme explorer quelques centaines de millions (ou milliards) de positions à la seconde. dans le second, on essaiera d'abord de comprendre comment l'homme joue aux échecs. Pour cela, on interviewera des maîtres, on essaiera de dégager les règles plus ou moins consciemment suivies par les joueurs : tenter d'occuper le centre, de dominer une couleur de cases, etc. Le programme réalisé validera (ou non) les hypothèses qui auront été faites. En France, l'école de Jacques Pitrat privilégie cette approche IA, IUT de Reims, 2012

Introduction Congrès de Dartmouth en 1956 / l'expression intelligence artificielle a été proposée. Une problématique fondamentale : la possibilité de concevoir une machine intelligente. une machine sera considérée comme intelligente si elle reproduit le comportement d'un être humain dans un domaine spécifique ou non une machine sera considérée comme intelligente si elle modélise le fonctionnement d'un être humain. Définition de l'intelligence : Vient du latin intellegere, dont le préfixe inter (entre), et le radical legere(lier) suggèrent essentiellement l'aptitude à relier des éléments qui sans elle resteraient séparés. IA, IUT de Reims, 2012

Définition A la différence de la Philosophie ou de la Psychologie qui sont aussi concernées par l'étude de l'intelligence, l’IA a le projet de construire (3) des artefacts (2) intelligents (1) Intelligence : Qu’est ce que l’intelligence ? => Percevoir/Raisonner/Agir/Communiquer Évaluation: capable de passer le test de Turing, jugée comme telle par l'homme. artefacts: machines inorganiques => systèmes j manipulant des symboles Hyp: symb. correspondent à des objets du monde Construire : aspect ingénierie => agent (perçoit, raisonne, communique et agit) IA, IUT de Reims, 2012

Tests d’intelligence Le test de Turing : An interviewer (sitting in a separate room) asks a series of questions that are randomly directed to either a computer or a person. Based on the answers, the interviewer must distinguish which of the two has answered the question. If the interviewer is not able to distinguish between them, then the computer is intelligent. Prix de Loebner ($100,000) Les échecs : “Deep Blue vs G.Kasparow 3.5 : 2.5” - 10120 jeux possibles - 200 M positions analysées par seconde La communauté IA n’évalue pas les programmes par leur résultats, mais par la complexité interne de leurs algorithmes. modéliser les K. et les modes de raisonnement d'un expert humain les rendre accessibles à un non informaticien. IA, IUT de Reims, 2012

Systèmes intelligents apprentissage à partir d’exemples, observations acquisition et extraction de connaissances aide pour résoudre des problèmes difficiles aide aux experts à la découverte aide à la décision : conseil, expertise et explications … IA, IUT de Reims, 2012

Principaux langages d’IA Lisp (1960, J. MacCarthy), Scheme Prolog (1973, A. Colmerauer), Prolog avec contraintes SmallTalk (1972, A. Kay) JAVA (1994) , C++ ... Langages d’agents : AOP, agent0 … IA, IUT de Reims, 2012

Historique 1956 [Mc Carthy] : «Every aspect of learning or any other feature of intelligence can in principle be so precisely described that a machine can be made to simulate it» 1958 : Perceptron, réseaux de neurones [Rosenblatt] 1966 : ELIZA («psychiatre virtuel»), étude du langage [Weizenbaüm] 1972-1978 : MYCIN, étude des maladies infectieuses du sang, système experts [Shortliffe] A partir de 1980 : Industrialisation et vulgarisation de l'I.A. IA, IUT de Reims, 2012

Applications Les domaines privilégiés de l'IA : là où il n’y a pas d’algorithme à la portée des machines OU les problèmes qui ont une combinatoire trop importante Industrielles: paramétrages, chaînes de production, contrôle de qualité... Prévention: prévention de risques, logistique ... Santé : diagnostic, monitoring... Recherche: modélisation comportementale, émergence... Loisirs et divertissements : films, jeux-vidéos ... IA, IUT de Reims, 2012

Algorithmes de parcours d’un espace de recherche

Problème général de recherches IA, IUT de Reims, 2012

Problème général de recherches Construction de l’arbre de recherche : Exploration simulée de l'espace d'états (graphe d’états) en générant les états successeurs des états déjà explorés Les noeuds sont étudiés puis développés ou étendus par un processus appelé "expansion" d'états Chaque chemin correspond à un chemin de raisonnement qui conduit soit à une solution soit à un échec IA, IUT de Reims, 2012

Terminologie États Espace de recherche Chemin de recherche Solution “Places” que la recherche peut visiter Espace de recherche L’ensemble des états possibles Chemin de recherche Les états visités par un agent Solution Un état avec une propriété particulière Qui résout le problème Possibilité de solutions multiples Stratégie Comment choisir l’étape suivante dans un état donné IA, IUT de Reims, 2012

Spécification d’un problème de recherche Trois considérations importantes 1. État initial 2. Opérateurs 3. Test du But Function taking one state to another Specify how the agent can move around search space So, strategy boils down to choosing states & operators* Fonction prenant un état à l'autre Indiquer comment l'agent peut se déplacer dans l'espace de recherche Ainsi, ébullitions de stratégie vers le bas aux états de choix et opérateurs IA, IUT de Reims, 2012

Spécification d’un problème de recherche 1. État initial La ville où vous êtes 2. Opérateurs Conduire d’une cité à une autre 3. Test du but L’état courant est la ville destination Liverpool Leeds Nottingham Manchester Birmingham London IA, IUT de Reims, 2012

Exemples de problèmes de recherche Échecs Recherche du plus court itinéraire Démonstration de théorème Apprentissage Chess: search through set of possible moves Looking for one which will best improve position Route planning: search through set of paths Looking for one which will minimize distance Theorem proving: Search through sets of reasoning steps Looking for a reasoning progression which proves theorem Machine learning: Search through a set of concepts Looking for a concept which achieves target categorisation IA, IUT de Reims, 2012

Algorithmes de parcours d’un espace de recherche Recherche en profondeur d’abord (DFS) et en largeur (BFS) Hill Climbing (descente de gradient) Recherche heuristique : Best-First search en profondeur ordonnée, en faisceau, du meilleur premier Algorithme A*, IDA*, SMA* Recherche concurrentielle : jeux MIN-MAX, élagage a−b, approfondissement progressif Propriétés Complétude Complexité en temps Complexité en espace Optimum IA, IUT de Reims, 2012

Critères d’évaluation Les méthodes de recherche sont évaluées selon : Optimalité c'est la caractéristique d’un algorithme de recherche qui trouve la meilleure solution (pour un problème qui en admet plusieurs) Complétude si une solution existe l’algorithme garantit qu’elle sera trouvée Complexité en temps estimation du temps nécessaire pour résoudre un problème Complexité en espace estimation de l’espace mémoire nécessaire à l’algorithme pour résoudre le problème IA, IUT de Reims, 2012

Exemple Trouver un chemin de S à G IA, IUT de Reims, 2012

Méthodes de recherche aveugle Types de méthodes recherche en largeur recherche en coût uniforme recherche en profondeur recherche en profondeur limitée recherche par approfondissement itératif recherche bi-directionnelle IA, IUT de Reims, 2012

Parcours en profondeur (Depth-First Search) Exemple IA, IUT de Reims, 2012

Parcours en profondeur (Depth-First Search) Algorithme IA, IUT de Reims, 2012

Parcours en largeur (Breadth-First Search) Exemple IA, IUT de Reims, 2012

Méthode de recherche heuristique Les algorithmes de recherche heuristique utilisent l’information disponible pour rendre le processus de recherche plus efficace. Heuristique : une règle ou une méthode qui permet d’évaluer la chance qu’un chemin allant du nœud courant au noeud solution soit meilleure que les autres. IA, IUT de Reims, 2012

Algorithme A* Idée : minimiser le coût total f(n) du chemin passant par un noeud f(n) = d(déjà parcouru) + d(à parcourir) = g(n) + h(n) Sous-estimation h(n) n h(n) <= h*(n) avec h*(n) = coût réel depuis n jusqu’au but Variantes de A* IDA* =>A* avec approfondissement itératif (étend tous les noeuds à l’intérieur d’un contour délimité par la valeur courante de la limite) Exemple : http://cafefroid.com/creations/logiciels/astar IA, IUT de Reims, 2012

Algorithme A* Cette heuristique estime le coût total du chemin entre l’état initial et l’état solution qui passe par n : = f(n) On remarque qu’il s’agit d’une estimation f(n) obtenue par la somme : d’une valeur exacte g(n) issue du chemin parcouru de l’état initial jusqu’au noeud n et d’une estimation h(n) du coût du chemin optimal qui lie le noeud n avec le noeud solution Pour chaque noeud exploré n, on va étendre le successeur x qui minimise la fonction heuristique f f(x) = min {f(s) / s dans Successeurs( n )} IA, IUT de Reims, 2012

Algorithme A* Exemples de fonctions heuristiques : puzzle-8 IA, IUT de Reims, 2012

Example Pour un puzzle-8 h(n) = nombre de plaquettes mal placées g(n) = longueur du chemin parcouru (+1 à chaque niveau) IA, IUT de Reims, 2012

Algorithme A* IA, IUT de Reims, 2012

IA, IUT de Reims, 2012

Algorithme A* Lexique Q : liste des noeuds en attente de traitement, triés par f croissant, extratListe prendra à chaque fois le noeud le moins cher par rapport à f C : liste des noeuds traités n : noeud courant napppartientpas : fonction qui vérifie que n∉ C ou a un coût inférieur au même nC (atteint par un autre chemin) extraSucceurs : fonction qui extrait du graphe d’état tous les successeurs d’un noeud trierListe(S,f) : trie S par rapport à f(n) = g(n)+h(n) mergeListe(Q,S,f) : fusionne Q et S en triant Q/f IA, IUT de Reims, 2012

Algorithme A* Complétude : oui sauf s’il y a un nombre infini de noeuds avec une valeur de f<=(G), G:but Complexité en temps : exponentielle Complexité en en espace : garde tous les nœuds en mémoire Optimalité : oui IA, IUT de Reims, 2012

Exemple Écrire l’algorithme puis le programme permettant trouver le chemin optimal de sortie d’un labyrinthe Trouver une représentation du labyrinthe en termes d’espace d’état, puis appliquer à la recherche une heuristique IA, IUT de Reims, 2012

Algorithme Pour jeux

Caractéristiques des jeux Les deux adversaires (O et H) jouent à tour de rôle, La situation globale du jeu est connue de chacun des joueurs, La chance n’intervient pas, Le jeux sont dits ”`a somme nulle” : les gains d’un joueur représentent exactement les pertes de l’autre joueur. IA, IUT de Reims, 2007

Les algorithmes et les jeux Complexité : dimension de l’espace d’ états Morpion : facteur de branchement ≈ 3, nb de demi-coups = 9 au plus dimension ≈ 39 = 19683 Echec : facteur de branchement ≈ 35, nb de demi-coups ≈ 30 dimension ≈ 3530 ! ! Nécessité d’une profondeur maximale de résolution Nécessité d’une fonction d’ évaluation pour estimer les noeuds non feuilles Evaluation `a partir d’un joueur fixe : convention minimax Evaluation `a partir du joeur ayant le trait : convention negamax Chaque joueur joue le coup de gain maximal pour lui, en sachant que, et en prenant en compte que, l’adversaire fera de même

Les algorithmes et les jeux Le déroulement de la partie peut être vu comme un arbre : la racine correspond à l'état actuel du jeu ; les noeuds à profondeur paire correspondent aux noeuds où J1 doit jouer, à profondeur impaire les noeuds où c'est à J2 ; chaque arc correspond à un coup joué et lie un état où ce coup est autorisé à l'état résultant de l'application du coup ; aux feuilles, nous trouvons les fins de partie : les états gagnants ou perdants pour J1, ou encore les états bloqués (matches nuls) ; un chemin allant de la racine à une feuille décrit une partie possible.

Algorithme Min-Max On prend la convention suivante : une situation gagnante pour J1 vaut +1 ; une situation perdante pour J1 vaut -1 ; une situation nulle vaut 0. On développe complètement l'arbre de jeu, on note chaque feuille avec sa valeur, puis on fait remonter ces valeurs avec l'hypothèse que chaque joueur choisit le meilleur coup pour lui. Cela signifie en pratique que : J1 choisit le coup amenant à l'état de plus grande valeur ; J2 choisit le coup amenant à l'état de plus petite valeur. IA, IUT de Reims, 2011

Algorithme Min-Max Exemple : Jeu de Nim pour 3 allumettes IA, IUT de Reims, 2011

Algorithme Min-Max Remonter les évaluations depuis les feuilles jusqu'à la racine (en bleu le Max, en vert le Min) IA, IUT de Reims, 2011

Algorithme Min-Max Combien le premier joueur doit enlever? IA, IUT de Reims, 2011

Algorithme Min-Max Insérer ici algorithme IA, IUT de Reims, 2011

Algorithme Min-Max L'algorithme MinMax effectue une exploration complète de l'arbre de recherche jusqu'à un niveau donné, alors qu'une exploration partielle de l'arbre est généralement suffisante : lors de l'exploration, il n'est pas nécessaire d'examiner les sous-arbres qui conduisent à des configurations dont la valeur ne contribuera sûrement pas au calcul du gain à la racine de l'arbre. Interrompre l'exploration de l'arbre avant d'avoir atteint des fins de partie implique de pouvoir évaluer l'état du jeu à un instant quelconque. Cela est rendu possible par l'utilisation d'une fonction heuristique h(e,J) qui évalue la situation e pour le joueur J. IA, IUT de Reims, 2011

Algorithme Alpha-Beta L'élagage alpha-beta est une technique permettant de réduire le nombre de nœuds évalués par l’algorithme Min_Max L’élagage αβ évite d'évaluer des nœuds de l'arbre de recherche dont on est sûr que leur qualité sera inférieure à un nœud déjà évalué. L'élagage αβ permet d'optimiser grandement l'algorithme MinMax sans en modifier le résultat.Il est très utilisé dans le cas des jeux à 2 joueurs, comme par exemple les échecs. IA, IUT de Reims, 2011

Algorithme Alpha-Beta L'élagage alpha-beta est une technique permettant de réduire le nombre de nœuds évalués par l’algorithme Min-Max L’élagage αβ évite d'évaluer des nœuds de l'arbre de recherche dont on est sûr que leur qualité sera inférieure à un nœud déjà évalué. L'élagage αβ permet d'optimiser grandement l'algorithme MinMax sans en modifier le résultat. Il est très utilisé dans le cas des jeux à 2 joueurs, comme par exemple les échecs. IA, IUT de Reims, 2011

Algorithme Alpha-Beta On distingue deux types de coupures, alpha et bêta, illustrées ci-dessous. Exemple : arbre avec une racine max IA, IUT de Reims, 2011

Algorithme Alpha-Beta La valeur de la racine sera >= 25, en aucun cas elle ne peut être inférieure car nous sommes sur un noeud MAX. Or, la valeur remontée par son troisième fils<=17. La valeur de la racine ne viendra pas de cette branche et on peut se dispenser d'aller voir les derniers noeuds. Il s'agit d'une coupe alpha. IA, IUT de Reims, 2011

Algorithme Alpha-Beta Coupe Beta IA, IUT de Reims, 2011

Algorithme Alpha-Beta http://fr.wikipedia.org/wiki/Élagage_alpha-beta Exemple IA, IUT de Reims, 2011

Algorithme Alpha-Beta : Quelques applications Les dames : Le programme Chinook basé sur un alpha-bêta est devenu champion des Éts-Unis en 1992, puis champion du monde en 1994. Ce joueur utilise également une bibliothèque de fins de partie (tous les damiers comportant 8 pièces ou moins). Les échecs : DeepBlue bat Kasparov en 1997. Depuis, toutes les confrontations tournent systématiquement à l'avantage de la machine. Utilisation de l'algorithme alpha-bêta, le facteur de branchement vaut ici 40. IA, IUT de Reims, 2011