Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Intelligence Artificielle
Zahia Guessoum LIP6 Université Pierre et Marie Curie & CNRS www-poleia.lip6.fr/~guessoum/IA
2
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
3
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
4
Introduction IA, IUT de Reims, 2012
5
Introduction 6 7 5 3 4 8 2 1 IA, IUT de Reims, 2012
6
N-Reines IA, IUT de Reims, 2012
7
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
8
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
9
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
10
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” 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
11
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
12
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
13
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] : 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
14
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
15
Algorithmes de parcours d’un espace de recherche
16
Problème général de recherches
IA, IUT de Reims, 2012
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
Exemple Trouver un chemin de S à G IA, IUT de Reims, 2012
25
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
26
Parcours en profondeur (Depth-First Search)
Exemple IA, IUT de Reims, 2012
27
Parcours en profondeur (Depth-First Search)
Algorithme IA, IUT de Reims, 2012
28
Parcours en largeur (Breadth-First Search)
Exemple IA, IUT de Reims, 2012
29
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
30
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 : IA, IUT de Reims, 2012
31
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
32
Algorithme A* Exemples de fonctions heuristiques : puzzle-8
IA, IUT de Reims, 2012
33
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
34
Algorithme A* IA, IUT de Reims, 2012
35
IA, IUT de Reims, 2012
36
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 nC (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
37
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
38
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
39
Algorithme Pour jeux
40
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
41
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
42
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.
43
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
44
Algorithme Min-Max Exemple : Jeu de Nim pour 3 allumettes
IA, IUT de Reims, 2011
45
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
46
Algorithme Min-Max Combien le premier joueur doit enlever?
IA, IUT de Reims, 2011
47
Algorithme Min-Max Insérer ici algorithme IA, IUT de Reims, 2011
48
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
49
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
50
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
51
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
52
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
53
Algorithme Alpha-Beta
Coupe Beta IA, IUT de Reims, 2011
54
Algorithme Alpha-Beta http://fr.wikipedia.org/wiki/Élagage_alpha-beta
Exemple IA, IUT de Reims, 2011
55
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 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 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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.