Résolution d un problème grace à la recherche dans un graphe

Documents pareils
Algorithmes de recherche

Cours de Master Recherche

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Pourquoi l apprentissage?

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Chapitre 7. Récurrences

Les arbres binaires de recherche

Laboratoire d Automatique et Productique Université de Batna, Algérie

1 Recherche en table par balayage

Optimisation for Cloud Computing and Big Data

Utilisation des tableaux sémantiques dans les logiques de description

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Corrigé des TD 1 à 5

Algorithmes de recherche d itinéraires en transport multimodal

Ingénierie et gestion des connaissances

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Initiation à l algorithmique

INSERTION TECHNIQUES FOR JOB SHOP SCHEDULING

LE FORMAT DES RAPPORTS DU PERSONNEL DES COMMISSIONS DE DISTRICT D AMENAGEMENT FORMAT OF DISTRICT PLANNING COMMISSION STAFF REPORTS

UE C avancé cours 1: introduction et révisions

Big Data et Graphes : Quelques pistes de recherche

QUI VEUT JOUER AVEC MOI?

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved.

Chapitre 5 : Flot maximal dans un graphe

Chp. 4. Minimisation d une fonction d une variable

Programming Server-Side Web Applications with Object-Oriented PHP NC Group Syllabus. Duration: 75 hours 1-2-2

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Big Data et Graphes : Quelques pistes de recherche

A METHOD FOR THE DESIGN OF NEURO-FUZZY CONTROLLERS; AN APPLICATION IN ROBOT LEARNING

Ordonnancement temps réel

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Curriculum Vitae - Emmanuel Hebrard. Emmanuel Hebrard

Backtracking asynchrone agile pour les problèmes de satisfaction de contraintes distribués

Anticiper et prédire les sinistres avec une approche Big Data

Améliorer les performances du site par l'utilisation de techniques de Web Mining

4AI04 - RIA Initiation à l Intelligence Artificielle. Raja Chatila Raja.Chatila@isir.upmc.fr Instructeurs TP: Mata Khalili, Alexandre Bazin

Initiation à la programmation en Python

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Data issues in species monitoring: where are the traps?

Editing and managing Systems engineering processes at Snecma

RLBS: Une stratégie de retour arrière adaptative basée sur l apprentissage par renforcement pour l optimisation combinatoire

Application de K-means à la définition du nombre de VM optimal dans un cloud

1 Modélisation d être mauvais payeur

Cours d algorithmique pour la classe de 2nde

A GRASPxELS approach for the Job Shop with generic time-lags and new statistical determination of the parameters

C f tracée ci- contre est la représentation graphique d une

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

COORDINATION NON COOPÉRATIVE: MÉTHODES D ENCHÈRES

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Nouvelle version de Zonecheck, la 3.0, avec tests DNSSEC

L OBSERVATOIRE DE LA BIOLOGIE DE SYNTHESE SYNTHETIC BIOLOGY OBSERVATORY

OPTIMISATION À UNE VARIABLE

FIMA, 7 juillet 2005

D Expert en Finance et Investissements

Une méthode d apprentissage pour la composition de services web

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

DG-ADAJ: Une plateforme Desktop Grid

Utilisation du backtrack intelligent dans un branch-and-bound Application au problème d Open-Shop

Cette Leçon va remplir ces attentes spécifiques du curriculum :

Once the installation is complete, you can delete the temporary Zip files..

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

Plan du cours. Historique du langage Nouveautés de Java 7

Quatrième partie IV. Test. Test 15 février / 71

Intelligence Articielle (1) Introduction

Algorithmique & programmation

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Qualité du logiciel: Méthodes de test

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Armand HATCHUEL Mines ParisTech Chaire de théorie et méthodes de la Conception innovante. Les défis contemporains

BACHELOR'S DEGREE IN ECONOMICS AND MANAGEMENT

Stratégie de recherche adaptative en programmation par contrainte

Resolution limit in community detection

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

SERVEUR DÉDIÉ DOCUMENTATION

Exemple PLS avec SAS

Intelligence Artificielle et Robotique

4 Exemples de problèmes MapReduce incrémentaux

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Un propagateur basé sur les positions pour le problème d Open-Shop.

Cours 1 : Qu est-ce que la programmation?

Sommaire. Introduction Définition Historique Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

Introduction aux algorithmes répartis

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

L hypertexte, le multimédia, c est quoi?

Application 1- VBA : Test de comportements d'investissements

Introduction à MATLAB R

Programmation Par Contraintes

4. Groupement d objets

Intelligence Artificielle Planification

Annexe 6. Notions d ordonnancement.

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM APPLICATION FORM

XtremWeb-HEP Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

Plan du cours Cours théoriques. 29 septembre 2014

Introduction. M2206 Intégration web. Introduction. Introduction 20/01/2014

La gestion de données dans le cadre d une application de recherche d alignement de séquence : BLAST.

Conception et Développement d un moteur d intelligence artificielle pour un jeu d échecs multiplateformes

Transcription:

Résolution d un problème grace à la recherche dans un graphe M1 Miage 2015 2016 Intelligence Artificielle Stéphane Airiau LAMSADE M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 1

Pourquoi avoir un cours d IA Qu est-ce que l IA? question difficile, les contours de l IA sont parfois assez flous Qu est ce que l IA fait pour vous? traduction automatique (par exemple Mandarin Français) identification d objet dans des images (ex : chaises, visages, etc) plier votre linge, voiture sans conducteur démontrer ou aider à démontrer de nouveaux théorèmes assistants personnels (ex siri) robots (aides aux personnes âgées, aides musées) M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 2

Tracks at IJCAI 2015 International Joint Conference on Artificial Intelligence Agent and Multiagent Systems Constraint Optimization Ontologies Game Theory Heuristic Search Graphical Models Robotics and Vision Natural Language Processing Planning Relational Learning Satisfiability Social Choice Theory Vision and Perception Web Mining Artificial Intelligence and Social Sciences Auctions and Market-Based Systems Distributed Search/CSP/Optimization Knowledge Representation, Reasoning, and Logic Knowledge Acquisition Machine Learning Multidisciplinary Topics and Applications Constraints, Satisfiability, and Search Recommender Systems Model Verification / Model Checking Sequential Decision Making Social Networks Web and Knowledge-Based Information Systems Special Track on Artificial Intelligence and the Arts Special Track on Computational Sustainability Special Track on Knowledge Representation and Reasoning Special Track on Machine Learning M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 3

Tracks at IJCAI 2015 Economie? Agent and Multiagent Systems Constraint Optimization Ontologies Game Theory Heuristic Search Graphical Models Robotics and Vision Natural Language Processing Planning Relational Learning Satisfiability Social Choice Theory Vision and Perception Web Mining Artificial Intelligence and Social Sciences Auctions and Market-Based Systems Distributed Search/CSP/Optimization Knowledge Representation, Reasoning, and Logic Knowledge Acquisition Machine Learning Multidisciplinary Topics and Applications Constraints, Satisfiability, and Search Recommender Systems Model Verification / Model Checking Sequential Decision Making Social Networks Web and Knowledge-Based Information Systems Special Track on Artificial Intelligence and the Arts Special Track on Computational Sustainability Special Track on Knowledge Representation and Reasoning Special Track on Machine Learning M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 4

Tracks at IJCAI 2015 Logique? Agent and Multiagent Systems Constraint Optimization Ontologies Game Theory Heuristic Search Graphical Models Robotics and Vision Natural Language Processing Planning Relational Learning Satisfiability Social Choice Theory Vision and Perception Web Mining Artificial Intelligence and Social Sciences Auctions and Market-Based Systems Distributed Search/CSP/Optimization Knowledge Representation, Reasoning, and Logic Knowledge Acquisition Machine Learning Multidisciplinary Topics and Applications Constraints, Satisfiability, and Search Recommender Systems Model Verification / Model Checking Sequential Decision Making Social Networks Web and Knowledge-Based Information Systems Special Track on Artificial Intelligence and the Arts Special Track on Computational Sustainability Special Track on Knowledge Representation and Reasoning Special Track on Machine Learning M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 5

Tracks at IJCAI 2015 Optimisation Combinatoire? Agent and Multiagent Systems Constraint Optimization Ontologies Game Theory Heuristic Search Graphical Models Robotics and Vision Natural Language Processing Planning Relational Learning Satisfiability Social Choice Theory Vision and Perception Web Mining Artificial Intelligence and Social Sciences Auctions and Market-Based Systems Distributed Search/CSP/Optimization Knowledge Representation, Reasoning, and Logic Knowledge Acquisition Machine Learning Multidisciplinary Topics and Applications Constraints, Satisfiability, and Search Recommender Systems Model Verification / Model Checking Sequential Decision Making Social Networks Web and Knowledge-Based Information Systems Special Track on Artificial Intelligence and the Arts Special Track on Computational Sustainability Special Track on Knowledge Representation and Reasoning Special Track on Machine Learning M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 6

Tracks at IJCAI 2015 Agent and Multiagent Systems Constraint Optimization Ontologies Game Theory Heuristic Search Graphical Models Robotics and Vision Natural Language Processing Planning Relational Learning Satisfiability Social Choice Theory Vision and Perception Web Mining Artificial Intelligence and Social Sciences Auctions and Market-Based Systems Distributed Search/CSP/Optimization Knowledge Representation, Reasoning, and Logic Knowledge Acquisition Machine Learning Multidisciplinary Topics and Applications Constraints, Satisfiability, and Search Recommender Systems Model Verification / Model Checking Sequential Decision Making Social Networks Web and Knowledge-Based Information Systems Special Track on Artificial Intelligence and the Arts Special Track on Computational Sustainability Special Track on Knowledge Representation and Reasoning Special Track on Machine Learning M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 7

Ressources Ce cours suit en partie le livre suivant : Artificial Intelligence : A Modern Approach de Stuart Russel et Peter Norvig Pearson, 2009 Ce livre est le classique pour enseigner l intelligence artificielle actuellement dans le monde. Les chapîtres et sections seront indiquées sur les transparents. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 8

Résoudre des problèmes en cherchant dans un graphe d état : l ntelligence de la force brute AIMA chapître 2, Sections 1 4 M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 9

Exemple d un jeu à résoudre : le taquin 2 3 1 taquin 2 2 Un taquin n n est constitué de n 2 1 jetons carrés à l intérieur d un carré pouvant contenir n 2 jetons : on a donc une case vide. Les coups permis sont ceux qui font glisser dans la case vide un des 2, 3 ou 4 jetons contigus. But : partir de l état du taquin ci-dessus pour arriver à l état du taquin cidessous. 1 2 Un programme peut il résoudre ce type de problèmes pour n=2,3,4,5...? 3 M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 10

Jeux dans le même esprit poser n reines sur un échiquier de taille n n sans qu aucune reine n attaque une autre reine. résoudre un rubik s cube résoudre un niveau de Sokoban jouer aux chiffres de l emission des chiffres et des lettres. trouver un itinéraire d un point A à un point B à l aide d une carte trouver un itinéraire qui passe exactement une fois par chaque ville On peut aussi se poser des question d optimisation : résoudre le taquin en un minimum de coups trouver un itinéraire qui minimise le temps de parcours... M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 11

Définition du problème : la modélisation 1 ière étape : décider ce que sont les états S : ensemble d états et 2 nde étape : bien définir le problème avec un état de départ s 0 S les actions possibles pour chaque état : A s ensemble des actions de l état s S. le modèle de transition : c est une fonction qui donne l état atteint après avoir pris une action depuis un état : T : S A S on peut représenter l état de départ, les actions et le modèle de transition par un graphe. une fonction qui teste si le but est atteint. G : S {, } éventuellement une fonction de coût pour chaque action dans chaque état. 2 2 1 2 1 2 1 1 3 1 3 3 3 3 2 2 3 1 Initial Final 3 1 2 2 3 3 3 3 1 3 1 1 2 1 2 1 2 2 Graphe pour le taquin 2 2 M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 12

Résolution La séquence d actions possibles à partir de l état initial forme un graphe de recherche : les noeuds représentent les états les branches représentent les différentes actions la racine est l état initial 1 5 2 3 4 6 7 8 14 10 11 12 9 13 15 1 5 3 1 5 2 3 1 5 2 3 1 5 2 3 4 6 2 7 4 6 7 4 6 7 4 6 10 7 8 14 10 11 8 14 10 11 8 14 10 11 8 14 11 12 9 13 15 12 9 13 15 12 9 13 15 12 9 13 15 1 5 3 4 6 2 7 8 14 10 11 1 5 3 4 6 2 7 8 14 10 11 1 5 2 4 6 7 3 8 14 10 11 1 5 2 3 4 6 7 11 8 14 10............ 12 9 13 15 12 9 13 15 12 9 13 15 12 9 13 15........................ Pour résoudre : on choisit un noeud à développer et on teste si les fils sont des états finaux. Quelle politique pour choisir le noeud à développer? Attention : on peut répéter des noeuds on peut tourner en boucle (sauf si on se rappelle des états visités)! M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 13

Taquin n n résoudre un problème de taquin 2 2 a l air facile! Pensons au taquin 4 4 Combien y a-t-il de sommets exactement?? la réponse est un entier proche de 2.10 13 Certains problèmes sont impossibles (il n existe pas de chemin de l état initial à l état final). en fait pour le 4 4, le graphe possède deux composantes connexes si on tire au sort l état initial et l état final on a 50% de chance qu une solution existe. il existe un test simple pour le savoir. Peut-on utiliser des algorithmes de la théorie des graphes? suppose que le graphe puisse être stocké en mémoire peut être possible pour 4 4, pas sûr pour 5 5 ou 6 6! on peut utiliser des algorithmes enseignés en cours d algorithmique. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 14

Résoudre avec des algorithmes de base expansion d un graphe en largeur d abord ( breadth-first search (BFS)) expansion d un graphe en profondeur d abord ( depth-first search (DFS)) expansion d un graphe avec côut uniforme ( Uniform-cost search ) : développer le noeud qui a le coût le plus bas. recherche en profondeur limitée ( depth-limited search ) : utilise DFS jusqu à une profondeur l donnée cela évite le problème du chemin infini, mais pause problème si la solution est plus profonde que l. recherche en profondeur itérative ( iterative deepening DFS ) : combine DFS et BFS : itérativement utilise DFS jusqu à une profondeur de 1, 2,... jusqu à trouver le but. les états sont générés de nombreuses fois recherche bidirectionnelle ( Bidirectional search ) : effectue deux recherche : une de l état initial vers l état final, l autre dans le sens inverse (donc depuis l état final). M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 15

Répétition des états On ajoutera à ces stratégies la faculté de se souvenir ou non des noeuds visités sans mémoire : tree-search risque que les états se répètent risque de boucle avec mémoire : graph-search nécessite des ressources de stockage évite les boucles! on ajoute une liste d états visités (parfois appelée explored set ou closed list ) Attention cependant, ceci peut avoir un coût non négligeable en mémoire! M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 16

Graph-search 1 function Graph Search returns a solution or failure 2 initialise the frontier with initial state 3 initialise the explored set with 4 do 5 if the frontier is empty 6 then return failure 7 else 8 choose a leaf node and remove it from the frontier 9 if the node is a goal state 10 then return the node 11 else 12 add the node to the explored set 13 if the node not in the frontier or explored set 14 expand the node and add the node in the frontier M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 17

Critères pour comparer ces algorithmes Complétude : a-t-on une garantie de trouver une solution quand elle existe? Complexité du temps de calcul : combien de temps a-t-on besoin (dans le pire des cas) Complexité de l espace mémoire : combien d espace mémoire a-t-on besoin (dans le pire des cas) Optimalité : est-ce-que la solution trouvée est optimale? M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 18

Comparaison BFS Uniform- Depthlimitedeepening Iterative- DFS Cost Bidirectional complet??????? complexité temps O(?) O(?) O(?) O(?) O(?) O(?) complexité mémoire O(?) O(?) O(?) O(?) O(?) O(?) optimal??????? b sera le facteur de branchement de l arbre d est la profondeur de la solution la moins profonde m est la profondeur maximale de l arbre de recherche l est la limite de profondeur M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 19

Guider la recherche grace à des heuristiques On se place dans les problèmes où il y a une fonction de coût (positive). Les techniques précédentes trouvent des solutions, mais ne sont pas efficaces utilisation de connaissance sur la structure du problème problèmes potentiels : d où vient cette connaissance? cette connaissance doit être correct! Rappel : Uniform cost développe le noeud qui a le coût le plus bas. le coût le plus bas est une fonction d évaluation, on la notera f. pour le noeud n, f (n) indique si n est prometteur f (n) doit indiquer la qualité de la solution en passant par n évidemment, si on était devin et on connaissait f, il n y aurait pas de problème à résoudre. on veut développer des heuristiques pour estimer f. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 20

Example : Going from Arad to 71 Oradea Neamt Zerind 75 Arad 140 118 Timisoara 111 70 75 Drobeta 151 Sibiu 99 Fagaras 80 Rimnicu Vilcea Lugoj Mehadia 120 Pitesti 211 97 146 101 85 138 Bucharest 90 Craiova Giurgiu 87 Iasi 92 142 98 Urziceni Vaslui Hirsova 86 Eforie M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 21

Uniform-cost search M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 22

Greedy-search // recherche gloutonne Uniform-cost : la fonction d évaluation était le coût jusqu à présent on peut essayer d essayer d estimer la distance jusqu au but h(v) va représenter la distance à vol d oiseau entre une ville v et Bucharest. il n y a rien dans la description du problème qui parle de distance à vol d oiseau! On a utilisé notre sens commun il faut trouver cette distance à vol d oiseau! (mesure sur une carte par exemple) M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 23

exemple 71 Oradea Neamt Distance à vol d oiseau jusqu à Bucharest Arad 366 Mehadia 241 Bucharest 0 Neamt 234 Craiova 160 Oradea 380 Drobeta 242 Pitesti 100 Eforie 161 Rimnicu Vilcea 193 Fagaras 176 Sibiu 253 Giurgiu 77 Timisoara 329 Hirsova 151 Urziceni 80 Iasi 226 Vaslui 199 Lugoj 244 Zerind 374 Zerind 75 Arad 140 118 Timisoara 111 70 75 Drobeta 151 Sibiu 99 Fagaras 80 Rimnicu Vilcea Lugoj 97 Pitesti 87 Iasi 92 Vaslui 142 211 98 Mehadia 146 101 85 Urziceni Hirsova 138 Bucharest 86 120 90 Craiova Giurgiu Eforie M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 24

exemple 71 Oradea Neamt Distance à vol d oiseau jusqu à Bucharest Arad 366 Mehadia 241 Bucharest 0 Neamt 234 Craiova 160 Oradea 380 Drobeta 242 Pitesti 100 Eforie 161 Rimnicu Vilcea 193 Fagaras 176 Sibiu 253 Giurgiu 77 Timisoara 329 Hirsova 151 Urziceni 80 Iasi 226 Vaslui 199 Lugoj 244 Zerind 374 Arad 118 75 Zerind Timisoara 111 140 70 75 Drobeta 151 Lugoj Fagaras 176 Mehadia 120 Sibiu Craiova Fagaras 80 Rimnicu Vilcea Sibiu 253 99 97 Pitesti 146 101 85 138 Rimnicu Vilcea 193 211 Arad Timisoara 329 90 Giurgiu 87 Bucharest Urziceni Iasi 92 142 98 Zerind 374 Vaslui Hirsova 86 Eforie Bucharest M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 25

Discussion on a trouvé une solution rapidement mais la solution n est pas optimale! La solution a un coût de 450, et on peut trouver plus court! que se passe-t-il? parfois, la solution optimale doit s éloigner du but temporairement pour aller plus vite ensuite. trouver une meilleure fonction d évaluation M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 26

A Soit n un noeud. On note g(n) le coût pour atteindre le noeud n depuis la racine h(n) le coût estimé du chemin le moins couteux vers un noeud final. f (n) = g(n) + h(n) est donc une estimation du coût minimal passant par le noeud n. La stratégie d expansion des noeuds est de développer le noeud avec la plus faible valeur de f = g + h. On a toujours deux versions tree-search : on ne se rappelle pas des états visités graph-search : on se rappelle des états visités M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 27

exemple 71 Oradea Neamt Zerind 75 Arad 140 118 Timisoara 151 Sibiu 99 Fagaras 80 Rimnicu Vilcea 87 Iasi 92 Vaslui Distance à vol d oiseau jusqu à Bucharest Arad 366 Mehadia 241 Bucharest 0 Neamt 234 Craiova 160 Oradea 380 Drobeta 242 Pitesti 100 Eforie 161 Rimnicu Vilcea 193 Fagaras 176 Sibiu 253 Giurgiu 77 Timisoara 329 Hirsova 151 Urziceni 80 Iasi 226 Vaslui 199 Lugoj 244 Zerind 374 111 70 75 Drobeta Lugoj Mehadia 120 142 Pitesti 211 97 98 146 101 85 Urziceni 138 Bucharest 90 Craiova Giurgiu Hirsova 86 Eforie M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 28

exemple 71 Oradea Neamt Zerind 75 Arad 140 118 Timisoara 151 Sibiu 99 Fagaras 80 Rimnicu Vilcea 87 Iasi 92 Vaslui Distance à vol d oiseau jusqu à Bucharest Arad 366 Mehadia 241 Bucharest 0 Neamt 234 Craiova 160 Oradea 380 Drobeta 242 Pitesti 100 Eforie 161 Rimnicu Vilcea 193 Fagaras 176 Sibiu 253 Giurgiu 77 Timisoara 329 Hirsova 151 Urziceni 80 Iasi 226 Vaslui 199 Lugoj 244 Zerind 374 111 70 75 Drobeta Fagaras 239+176=415 Lugoj Mehadia 120 Craiova 97 Sibiu 140+253=393 Pitesti 211 146 101 85 138 Arad 90 Giurgiu Bucharest Timisoara 118+329=447 Rimnicu Vilcea 220+193=413 Urziceni 142 98 Hirsova 86 Eforie Zerind 75+374=449 Bucharest 239+211=450 Craiova 366+160=526 Pitesti 317+100=415 Bucharest 418+0=418 M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 29

Condition d Optimalité (tree-search) Definition (admissibilité) Une heuristique est admissible ssi elle sous estime toujours le coût Dans l exemple, par définition, la distance à vol d oiseau sous estime la distance totale, donc l heuristique est admissible. Theorem A dans la version tree-search est optimal si la fonction heuristique h est admissible M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 30

Condition d Optimalité (tree-search) Definition (admissibilité) Une heuristique est admissible ssi elle sous estime toujours le coût Dans l exemple, par définition, la distance à vol d oiseau sous estime la distance totale, donc l heuristique est admissible. Theorem A dans la version tree-search est optimal si la fonction heuristique h est admissible Proof Supposons que l algorithme atteigne le but n et le chemin retourné est noté l. Le coût du chemin l est donc g(n). Raisonnons par l absurde : on fait l hypothèse que le chemin trouvé l n est pas optimal. Il existe donc un chemin l dont le coût est c < g(n). Donc, comme h sous-estime, pour chaque noeud n de l, on a g(n ) + h(n ) c < g(n). Mais de tels noeuds auraient déjà dûs être développés, on arrive à une contradiction. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 31

Condition d Optimalité (graph-search) Definition (monotonicité) une heuristique est monotone si pour tout noeud n, tout succésseur n de n on a h(n) c(n,n ) + h(n ). Theorem A dans la version graph-search est optimal si la fonction heuristique h est monotone. Une heuristique monotone est admissible (cf TD). Généralement, les heuristiques admissibles mais non monotones sont assez dures à trouver. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 32

Proof Supposons que h est monotone. Soit un chemin dans le graphe de recherche et n et n deux noeuds succéssifs. Alors f (n) = g(n) + h(n) g(n) + c(n,n ) +h(n ) (monotonicité de h) }{{} g(n ) f (n) g(n ) + h(n ) = f (n ). On en conclue donc que f est croissante le long de tout chemin. Démontrons maintenenant qu au moment où A choisit de développer le noeud n, le chemin optimal menant à n a déjà été trouvé. Supposons que ce ne soit pas le cas : il doit exister un noeud n sur le chemin optimal menant à n. Comme f est croissante, f (n ) f (n), et donc n aurait dû être développé, on arrive à une contradiction. Ainsi, la séquence de noeuds développés par A est en ordre croissant de la fonction f. Donc la première fois qu on veut développer un noeud but n, on a trouvé une solution optimale, car f (n) = g(n) et chaque noeud développé plus tard aura un coût au moins plus grand. M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 33

Contours f étant croissante sur tout chemin, on peut représenter des contours comme sur une carte topographique. O A T Z 380 S 400 R L M D C Tous les noeuds à l intérieur d un coutour ont une évaluation d au plus la valeur du contour. A développe tous les noeuds à l intérieur d un contour avant d en développer d autres. ex : Timisoara n est pas développé : pruning : on peut éliminer cette partie de la recherche sans examen et sans risque de manquer un chemin optimal : très important pour beaucoup d algorithmes en IA. A ajoute des noeuds dans des bandes dont la valeur de f augmente. F P 420 si l heuristique est n est pas très intéressante (ex. uniform-cost), les bandes seront plutôt circulaires si l heuristique est proche de la vraie fonction les bandes seront plus étroites et guideront vers une solution optimale G N B I U V H E M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 34

Autre propriétés Aucun autre algorithme utilisant une même heuristique h ne peut développer moins de noeuds que A : ne pas développer un noeud n tel que f (n) < C présente le risque de manquer un chemin optimal. Pour des problèmes de grandes tailles, c est généralement la mémoire qui limite l utilisation de A il existe des variantes pour limiter l utilisation de la mémoire. iterative-deepening A : utiliser l idée de iterative-deepening avec un coût fixé : on cherche une solution au plus d un coût f max, si on ne trouve pas, on cherche avec un f max plus grand. recursive best-first search (RBSF) : combine DFS et A memory-bound A simplified memory-bound A M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 35

Retour au taquin Heuristique pour le taquin : W : nombre de jetons pas à leur place P : somme des distances pour placer chaque jeton à leur place Ces heuristiques sont-elles admissibles? Quelle est la meilleure heuristique? On a pour chaque noeud n : W (n) P(n) (pourquoi?), donc P est meilleure M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 36

Conclusion recherche non informée : modelisation est importante différents algorithmes avec différentes propriétés choisir le plus approprié recherche informée : algorithme A qualité de l heuristique n est pas toujours suffisant M1 Miage 2015 2016 Intelligence Artificielle (Stéphane Airiau) Résolution d un problème grace à la recherche dans un graphe 37