Introduction à l’Intelligence...

80
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

Transcript of Introduction à l’Intelligence...

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

Learning agents

Introduction à l'Inteligence Artificielle - T. Artières

26

ECM 1A - 2015 - 2016

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

43

Tree search example ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

44

Tree search example ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

45

Tree search example 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

59

ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

60

ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

61

ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

62

ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

63

ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

64

ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

65

ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

66

ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

67

ECM 1A - 2015 - 2016

Introduction à l'Inteligence Artificielle - T. Artières

68

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

75

l =1 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

Introduction à l'Inteligence Artificielle - T. Artières

80

Résumé des algorithmes ECM 1A - 2015 - 2016