Upload
hoangnhan
View
225
Download
0
Embed Size (px)
Citation preview
Introduction à l’Intelligence Artificielle
Thierry Artières
Ecole Centrale Marseille
http://thierry.artieres.perso.centrale-marseille.fr/
Introduction à l'Inteligence Artificielle - T. Artières
1
ECM 1A - 2015 - 2016
Sources
¤ Livre et slides de
¤ S. Russell and P. Norvig Artificial Intelligence: A Modern Approach Prentice Hall, 2003, Second Edition
¤ Website
¤ Cours et TPs Univ. Berkeley
¤ https://inst.eecs.berkeley.edu/~cs188/sp12/information.html
¤ Cours et TPs Univ. Standford
¤ http://web.stanford.edu/class/cs221/
Introduction à l'Inteligence Artificielle - T. Artières
2
ECM 1A - 2015 - 2016
Plan
¤ Introduction
¤ Résolution de problèmes par exploration
¤ Adversarial search / Résolution en milieu adverse
¤ Machine Learning
¤ Reinforcement learning
Introduction à l'Inteligence Artificielle - T. Artières
3
ECM 1A - 2015 - 2016
Quelques mots sur lʼI.A.
Introduction à l'Inteligence Artificielle - T. Artières
4
ECM 1A - 2015 - 2016
Définition de l’Intelligence Artificielle
Différentes catégories de définitions
Introduction à l'Inteligence Artificielle - T. Artières
5
Penser comme des humains
Penser rationnellement
Agir comme des humains
Agir rationnellement
ECM 1A - 2015 - 2016
Agir comme des humains : Le test de Turing
¤ Turing (1950) "Computing machinery and intelligence":
¤ “Les machines peuvent-elles penser?" à “Les machines peuvent-elles se comporter intelligemment?"
¤ Test opérationnel pour le comportement intelligent : Le jeu de l’imitation
¤ Prévision qu’en 2000 une machine tromperait un humain sur 5 minutes
¤ Requiert les composantes majeures de l’IA : connaissances, raisonnement, compréhension du langage, apprentissage.
Introduction à l'Inteligence Artificielle - T. Artières
6
ECM 1A - 2015 - 2016
Thinking humanly: cognitive modeling
¤ 1960s "cognitive revolution": information-processing psychology ¤ Requires scientific theories of internal activities of the brain ¤ -- How to validate? Requires
1) Predicting and testing behavior of human subjects (top-down) or 2) Direct identification from neurological data (bottom-up)
¤ Both approaches (roughly, Cognitive Science and Cognitive
Neuroscience) ¤ are now distinct from AI
ECM 1A - 2015 - 2016 Introduction à l'Inteligence Artificielle - T. Artières
7
Thinking rationally: "laws of thought"
¤ Aristotle: what are correct arguments/thought processes?
¤ Several Greek schools developed various forms of logic: notation and rules of derivation for thoughts; may or may not have proceeded to the idea of mechanization
¤ Direct line through mathematics and philosophy to modern AI
¤ Problems: 1. Not all intelligent behavior is mediated by logical deliberation 2. What is the purpose of thinking? What thoughts should I have?
ECM 1A - 2015 - 2016 Introduction à l'Inteligence Artificielle - T. Artières
8
Acting rationally: rational agent
¤ Rational behavior: doing the right thing
¤ The right thing: that which is expected to maximize goal achievement, given the available information
¤ Doesn't necessarily involve thinking – e.g., blinking reflex – but thinking should be in the service of rational action
ECM 1A - 2015 - 2016 Introduction à l'Inteligence Artificielle - T. Artières
9
Agents rationnels
¤ Un agent est une entité qui perçoit et qui agit
¤ IA / construire des agents intelligents
¤ De façon abstraite un agent est une fonction de lʼespace des historiques de perceptions dans lʼespace des actions:
[f: P* à A]
¤ Pour une classe dʼenvironnement et de tâche donnée on cherche lʼagent (ou la classe dʼagents) qui a la meilleure “performance”?
¤ Problème: Limitations calculatoires (e.g. explosion combinatoire etc) rend cette recherche impossible généralement. à But : construire le meilleur programme étant donné les ressources machines à
disposition.
Introduction à l'Inteligence Artificielle - T. Artières
10
ECM 1A - 2015 - 2016
AI prehistory
¤ Philosophy Logic, methods of reasoning, mind as physical system foundations of learning, language rationality
¤ Mathematics Formal representation and proof algorithms, computation, (un)decidability, (in)tractability, probability
¤ Economics utility, decision theory ¤ Neuroscience physical substrate for mental activity ¤ Psychology phenomena of perception and motor control,
experimental techniques ¤ Computer building fast computers
engineering ¤ Control theory design systems that maximize an objective
function over time ¤ Linguistics knowledge representation, grammar
Introduction à l'Inteligence Artificielle - T. Artières
11
ECM 1A - 2015 - 2016
Abridged history of AI
¤ 1943 McCulloch & Pitts: Boolean circuit model of brain ¤ 1950 Turing's "Computing Machinery and Intelligence" ¤ 1956 Dartmouth meeting: "Artificial Intelligence" adopted ¤ 1952—69 Look, Ma, no hands! ¤ 1950s Early AI programs, including Samuel's checkers
program, Newell & Simon's Logic Theorist, Gelernter's Geometry Engine
¤ 1965 Robinson's complete algorithm for logical reasoning ¤ 1966—73 AI discovers computational complexity
Neural network research almost disappears ¤ 1969—79 Early development of knowledge-based systems ¤ 1980-- AI becomes an industry ¤ 1986-- Neural networks return to popularity ¤ 1987-- AI becomes a science ¤ 1995-- The emergence of intelligent agents
Introduction à l'Inteligence Artificielle - T. Artières
12
ECM 1A - 2015 - 2016
State of the art
¤ Deep Blue defeated the reigning world chess champion Garry Kasparov in 1997
¤ Proved a mathematical conjecture (Robbins conjecture) unsolved for decades
¤ No hands across America (driving autonomously 98% of the time from Pittsburgh to San Diego)
¤ During the 1991 Gulf War, US forces deployed an AI logistics planning and scheduling program that involved up to 50,000 vehicles, cargo, and people
¤ NASA's on-board autonomous planning program controlled the scheduling of operations for a spacecraft
¤ Proverb solves crossword puzzles better than most humans
¤ IBM Watason wins Jepardy (2011)
¤ Go master defeated by Google Deepmind player (2015)
Introduction à l'Inteligence Artificielle - T. Artières
13
ECM 1A - 2015 - 2016
Jeopardy
¤ Jeu télévisé ¤ On nous donne une réponse, on doit trouver la question
¤ Exemple 1 : Réponse : Fly For Fun Question à trouver : Que veux dire Flyff ?
¤ Exemple 2 : Réponse : Stendhal Question à trouver : Qui a écrit le Rouge et le Noir ?
¤ IBM DeepQA program (QA = Question Answering) ¤ A gagné à Jeopardy (2011)
¤ Extraction d’informations et construction d’une base de faits à partir de centaines de millions de pages de textes, de millions de livres, de scénarios de films, de magazines etc
¤ Peut être étendu à d’autres domaines ¤ Domaine médical, juridique etc
Introduction à l'Inteligence Artificielle - T. Artières
14
ECM 1A - 2015 - 2016
Domaines de l’I.A.
¤ Résolution de problème
¤ Logique
¤ Planification
¤ Raisonnement
¤ Apprentissage automatique
¤ Language naturel
Introduction à l'Inteligence Artificielle - T. Artières
15
ECM 1A - 2015 - 2016
Agents Rationnels et Intelligents
Introduction à l'Inteligence Artificielle - T. Artières
16
ECM 1A - 2015 - 2016
Agents rationnels
¤ Un agent est une entité qui perçoit et qui agit
¤ IA / construire des agents intelligents
¤ De façon abstraite un agent est une fonction de lʼespace des historiques de perceptions dans lʼespace des actions:
[f: P* à A]
¤ Pour une classe dʼenvironnement et de tâche donnée on cherche lʼagent (ou la classe dʼagents) qui a la meilleure “performance”?
¤ Problème: Limitations calculatoires (e.g. explosion combinatoire etc) rend cette recherche impossible généralement. à But : construire le meilleur programme étant donné les ressources machines à
disposition.
Introduction à l'Inteligence Artificielle - T. Artières
17
ECM 1A - 2015 - 2016
¤ Agents et environements
¤ PEAS (mesure de Performance, Environement, Acteurs, Senseurs)
¤ Types d’environement
¤ Types d’agents
Introduction à l'Inteligence Artificielle - T. Artières
18
ECM 1A - 2015 - 2016
Agents
¤ Un agent = n’importe quoi qui peut être vu comme percevant son environnement à travers des senseurs et agissant sur cet environnement à travers des acteurs
¤ Agent humain ¤ yeux, oreilles, mains, etc comme senseurs ¤ Lèvres, bouche, et autres membres du corps comme acteurs
¤ Agent robotique ¤ caméra etc comme senseurs; ¤ Moteurs comme acteurs
Introduction à l'Inteligence Artificielle - T. Artières
19
ECM 1A - 2015 - 2016
Agents et environements
¤ Fonction agent :
[f: P* à A]
¤ Le programme agent s’exécute sur une architecture physique pour implémenter f
¤ agent = architecture + programme
Introduction à l'Inteligence Artificielle - T. Artières
20
ECM 1A - 2015 - 2016
Le monde de l’aspirateur
¤ Percepts: lieu et contenu, e.g., [A,Dirty]
¤ Actions: Gauche, Droite, Aspire, Rien
Introduction à l'Inteligence Artificielle - T. Artières
21
ECM 1A - 2015 - 2016
PEAS
¤ PEAS: mesure de Performance, Environnement, Acteurs, Senseurs
¤ Contexte pour la construction d’un agent intelligent
¤ Exemple : conduite de taxi ¤ Mesure de Performance : Rapidité, Sécurité, Légalité, Confort, Profits ¤ Environnement : Routes, trafic, piétons, clients ¤ Acteurs : frein à main, accélérateur, freins, klaxon ¤ Senseurs: Rétroviseurs, GPS, Indications du tableau de bord
¤ Autres exemples ¤ Agent: système de diagnostique médical ¤ Tuteur interactif pour lʼapprentissage de lʼanglais
Introduction à l'Inteligence Artificielle - T. Artières
22
ECM 1A - 2015 - 2016
Types dʼenvironnement
¤ Complètement observable (vs. partiellement observable):
¤ Déterministe (vs. stochastique): Le prochain état est totalement déterminé par l’état courant de l’agent et l’action exécutée.
¤ Statique (vs. dynamique):
Introduction à l'Inteligence Artificielle - T. Artières
23
ECM 1A - 2015 - 2016
Types d’agents
4 types basiques (ordre croissant de généralité)
¤ Agents réflexes simples
¤ Agents réflexes basés sur des modèles
¤ Agents basés sur des buts
¤ Agents basés sur l’utilité
Introduction à l'Inteligence Artificielle - T. Artières
24
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
25
ECM 1A - 2015 - 2016
Model-based reflex agents
Goal-based agents
Résolution de problème par recherche
Où on voit que programmer
q un aspirateur autonome,
q un outil de recommandation d’itinéraire
q un jeu à deux joueurs,
font appels aux mêmes techniques…
Introduction à l'Inteligence Artificielle - T. Artières
27
ECM 1A - 2015 - 2016
Résolution de problème
¤ Agents pour la résolution de problèmes
¤ Types de problèmes
¤ Formulation de problème
¤ Exemple de problèmes
¤ Algorithmes de recherche de base
Introduction à l'Inteligence Artificielle - T. Artières
28
ECM 1A - 2015 - 2016
Agent pour la résolution de problème
Introduction à l'Inteligence Artificielle - T. Artières
29
ECM 1A - 2015 - 2016
Exemple : L’aspirateur
¤ Etat simple, Début en #5. Solution?
Introduction à l'Inteligence Artificielle - T. Artières
30
ECM 1A - 2015 - 2016
Exemple: Se déplacer en Roumanie
¤ En vacances en Roumanie; actuellement à Arad.
¤ Votre vol part demain de Bucarest
¤ Formulation du but: ¤ Etre à Bucarest
¤ Formulation du problème: ¤ états: les villes de Roumanie
¤ actions: se rendre d’une ville à une autre en voiture
¤ Recherche d’une solution: ¤ Séquence de villes, e.g., Arad, Sibiu, Fagaras, Bucharest
Introduction à l'Inteligence Artificielle - T. Artières
31
ECM 1A - 2015 - 2016
Types de problèmes
¤ Déterministe, complètement observable à problème à états ¤ L’Agent sait exactement dans quel état il sera si action. La solution est une
séquence dʼactions.
¤ Non-observable à problèmes sans capteurs ¤ L’Agent peut nʼavoir aucune idée d’où il est.
¤ Non déterministe et/ou partiellement observable
¤ Espace d’états inconnu à problème d’exporation
Introduction à l'Inteligence Artificielle - T. Artières
32
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
33
Exemple: L’aspirateur
¤ Etat simple, Début en #5. Solution? [Droite,Aspire]
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
34
Exemple: L’aspirateur
¤ Sans capteurs, Début en {1,2,3,4,5,6,7,8} e.g., Droite amène à {2,4,6,8} Solution? [Droite, Aspire, Gauche, Aspire]
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
35
Résolution de problème par recherche
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
36
Agent pour la résolution de problème
ECM 1A - 2015 - 2016
État initial ? Actions ? Etat final ? Cout / Performance ? Solution ?
Introduction à l'Inteligence Artificielle - T. Artières
37
Formulation de problèmes à états
Un problème est défini par 4 composants: 1. État initial e.g., “à Arad" 2. Actions ou fonction suivant S(x) = ensemble des paires action–état
¤ e.g., S(Arad) = {<Arad à Zerind, Zerind>, … } 3. Test de but atteint,
¤ Explicite, e.g., x = “à Bucarest" ¤ Ou implicite, e.g., Echec_et_Mat(x)
4. Coût de chemin (additif) ¤ e.g., somme des distances, nombre d’actions exécutées, etc. ¤ c(x,a,y) est le coût d’étape, ≥ 0
¤ Une solution est une séquence d’actions conduisant de l’état initial à un état final (satisfaisant le but)
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
38
Le graphe d’état du monde de l’aspirateur
¤ états? Présence de poussière et emplacement du robot
¤ actions? G, D, A
¤ Test de but? Plus de poussière nulle part
¤ Coût de chemin? 1 par action
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
39
Exemple: Le puzzle à 8 pièces
¤ états? Emplacement des careaux
¤ actions? Déplacer vers G, D, H, B
¤ Test de but? = état particulier (donné)
¤ Cout de chemin? 1 par coup
[Note: solution optimale de la famille des n-Puzzle est NP-difficile]
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
40
Exemple: assemblage par robot
¤ états?: coordonnées réelles % membres du robot et des pièces à assembler
¤ actions?: déplacements continus des membres du robot
¤ Test de but?: assemblage terminé
¤ Cout de chemin?: temps d’exécution
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
41
Choisir un espace d’états
¤ Le monde réel est bien trop complexe à L’espace d’état doit être abstrait pour être traité par des techniques de résolution de
problèmes
¤ Espace d’états (Abstrait) = ensemble d’états réels
¤ Action (Abstraite) = combinaison complexe d’actions réelles ¤ e.g., "Arad à Zerind" représente un ensemble complexe de routes possibles,
détours, pauses, arrêts etc.
¤ Solution (Abstraite) ¤ Ensemble de chemins réels qui sont une solution dans le monde réel
¤ Chaque action abstraite devrait être plus facile que le problème originel
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
42
Algorithmes de recherche dans des arbres
¤ Idée fondamentale: ¤ Offline (hors-ligne), simulation de l’exploration de l’espace d’états par
génération des états suivants des états déjà explorés (expansion des états)
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
46
Implémentation: recherche générique dans un arbre
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
47
Implémentation: états vs. noeuds
¤ Un état est une (représentation de) une configuration physique (réelle)
¤ Un noeud est une structure de données constitutive d’un arbre de recherche et inclut un état, un nœud parent, une action, un cout de chemin g(x), une profondeur
¤ La fonction d’Expansion créé de nouveau noeuds, remplissant les divers champs et en utilisant la fonction Suivant du problème pour créer les états correspondants.
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
48
Stratégies de recherche
¤ Une stratégie de recherche est définie par le choix de l’ordre d’expansion des nœuds
¤ Les stratégies sont évaluées suivant: ¤ Complétude: Trouve-t-on toujours une solution s’il en existe une? ¤ Complexité en temps: nombre de nœuds générés ¤ Complexité en mémoire: Nombre max de nœuds en mémoire ¤ Optimalité: Trouve-t-on toujours la solution de coût minimal?
¤ Les complexités en temps et mémoire sont mesurées par : ¤ b: facteur de branchement maximum dans l’arbre de recherche ¤ d: Profondeur de la solution optimale ¤ m: Profondeur maximale de l’espace d’états (éventuellement ∞)
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
49
Stratégies de recherche “non informées”
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
50
Stratégies de recherche “non informées”
Utilisent uniquement l’information disponible dans la formulation du problème
¤ Largeur d’abord
¤ Cout uniforme
¤ Profondeur d’abord
¤ Profondeur limitée
¤ Profondeur limitée itératif
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
51
Largeur d’abord
¤ Expansion du noeud le moins profond
¤ Implémentation: ¤ fringe est une liste FIFO, i.e., les nouveaux suivants sont ajoutés
en queue
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
52
Largeur d’abord
¤ Expansion du noeud le moins profond
¤ Implémentation: ¤ fringe est une liste FIFO, i.e., les nouveaux suivants sont ajoutés
en queue
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
53
Largeur d’abord
¤ Expansion du noeud le moins profond
¤ Implémentation: ¤ fringe est une liste FIFO, i.e., les nouveaux suivants sont ajoutés
en queue
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
54
Largeur d’abord
¤ Expansion du noeud le moins profond
¤ Implémentation: ¤ fringe est une liste FIFO, i.e., les nouveaux suivants sont ajoutés
en queue
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
55
Implémentation: Que faut-il modifier ? % Recherche générique dans un arbre
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
56
Propriétés
¤ Complet? Oui (si b est fini)
¤ Temps? 1+b+b2+b3+… +bd + (bd+1-b) = O(bd+1) ¤ Au pire on développe tous les noeuds de la profondeur d (sauf le
dernier)
¤ Mémoire? O(bd+1) ¤ On garde tous les noeuds en mémoire, soit parcequ’ils sont sur la
fringe soit parce qu’ils des ancêtres de noeuds sur la fringe
¤ Optimal? Oui (si cout = 1 par étape)
¤ L’espace est le problème principal de cet algorithme
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
57
Profondeur d’abord
¤ Expansion du noeud le plus profond
¤ Implémentation: ¤ fringe = liste LIFO, i.e., suivants insérés en tête
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
58
Profondeur d’abord
¤ Expansion du noeud le plus profond
¤ Implémentation: ¤ fringe = liste LIFO, i.e., suivants insérés en tête
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
69
Implémentation: Que faut-il modifier ? % Recherche générique dans un arbre
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
70
Propriétés ?
¤ Complet?
¤ Temps?
¤ Mémoire?
¤ Optimal?
ECM 1A - 2015 - 2016
ECM 1A - 2015 - 2016 Introduction à l'Inteligence Artificielle - T. Artières
71
Properties of depth-first search
¤ Complete? No: fails in infinite-depth spaces, spaces with loops ¤ Modify to avoid repeated states along path
à complete in finite spaces
¤ Time? O(bm): terrible if m is much larger than d ¤ but if solutions are dense, may be much faster than breadth-first
¤ Space? O(bm), i.e., linear space!
¤ Optimal? No
Introduction à l'Inteligence Artificielle - T. Artières
72
Profondeur limitée
= Profondeur d’abord mais en limitant la profondeur à l,
i.e., les noeuds à profondeur l n’ont pas de suivants
¤ Implémentation récursive
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
73
Profondeur limitée itérative ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
74
Profondeur limitée itérative l =0 ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
76
Profondeur limitée itérative l =2 ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
77
Profondeur limitée itérative l =3 ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
78
Profondeur limitée itérative
¤ Nombre de nœuds générés par une recherche en profondeur fixée à d avec un facteur de branchement b:
NPL = b0 + b1 + b2 + … + bd-2 + bd-1 + bd
¤ Nombre de nœuds générés par une recherche en profondeur limitée itérative à d avec un facteur de branchement b:
NPLI = (d+1)b0 + d b^1 + (d-1)b^2 + … + 3bd-2 +2bd-1 + 1bd
¤ For b = 10, d = 5, ¤ NPL = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111 ¤ NPLI = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456
¤ Surplus = (123,456 - 111,111)/111,111 = 11%
ECM 1A - 2015 - 2016
Introduction à l'Inteligence Artificielle - T. Artières
79
Propriétés
¤ Complete? Oui
¤ Temp)s? (d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd)
¤ Mémoire? O(bd)
¤ Optimal? Oui si coût d’étape = 1
ECM 1A - 2015 - 2016