Intelligence Artificielle Heuristique

Documents pareils
Algorithmes de recherche

Cours de Master Recherche

Intelligence Artificielle Planification

Programmation par contraintes. Laurent Beaudou

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

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

2.4 Représentation graphique, tableau de Karnaugh

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

Apprentissage par renforcement (1a/3)

Simulation centrée individus

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

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

OPTIMISATION À UNE VARIABLE

Conception de réseaux de télécommunications : optimisation et expérimentations

Programmation linéaire

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Automatique (AU3): Précision. Département GEII, IUT de Brest contact:

MABioVis. Bio-informatique et la

LES MÉTHODES DE POINT INTÉRIEUR 1

FOCUS Evolution. Lisez-Moi. Version FE 7.0.t

POMPIERS TERRAIN DIFFICILE

Algorithmique et structures de données I

Etude d Algorithmes Parallèles de Data Mining

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Algorithmique et Programmation Fonctionnelle

URGENT RAPPEL D INSTRUMENTS MEDICAUX

CMI ECONOMIE, FINANCE QUANTITATIVE ET STATISTIQUES - PARCOURS FORMATION EN APPRENTISSAGE

Guide d installation CLX.PayMaker Office (3PC)

FIMA, 7 juillet 2005

Intelligence Artificielle et Robotique

Présentation du PL/SQL

Chapitre 5 : Flot maximal dans un graphe

Algèbre binaire et Circuits logiques ( )

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

4.2 Unités d enseignement du M1

Correction du Baccalauréat S Amérique du Nord mai 2007

Logiciel de facturation (ASP) pour les distributeurs de combustibles

Coup de Projecteur sur les Réseaux de Neurones

Chp. 4. Minimisation d une fonction d une variable

Simulation de variables aléatoires

Emporter Windows XP sur une clé USB

Chapitre 7. Récurrences

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Certificats Electronique d AE sur Clé USB

Évaluation et implémentation des langages

Instructions de montage et d utilisation

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Exe Livret Animateur_Exe Livret Animateur 01/02/11 11:10 Page1

Stratégie de recherche adaptative en programmation par contrainte

CODE TRANSACTION VA01

ROYAUME DU MAROC. Ministère de l Eductaion Nationale, de l Enseignement Supérieur de la Formation des Cadres et de la Recherche Scientifique

Utilisation du site de retours Lexibook

Architecture des Systèmes d Information Architecture des Systèmes d Information

Vehicle Security System VSS3 - Alarm system remote

Win UR Archive. Manuel de l utilisateur. Version 3.0, mars 2009

Optimisation des fonctions de plusieurs variables

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Description pas à pas des différents processus d installation, configuration, saisie des résultats et export des données.

Les clients puissance cube

Loi binomiale Lois normales

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

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

FONCTION DE DEMANDE : REVENU ET PRIX

Les arbres binaires de recherche

Méthaheuristiques pour l optimisation combinatoire et l affectation sous contraintes

Ordonnancement temps réel

Programmes des classes préparatoires aux Grandes Ecoles

Bases de programmation. Cours 5. Structurer les données

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Trends. Médias sociaux et SEO - la force du contenu

SAS ENTERPRISE MINER POUR L'ACTUAIRE

Encryptions, compression et partitionnement des données

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Figure 3.1- Lancement du Gambit

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Résolution de systèmes linéaires par des méthodes directes

Modélisation multi-agents - Agents réactifs

Echapper légalement à l impôt sur les données

L apprentissage automatique

Cours d analyse numérique SMI-S4

Géométrie discrète Chapitre V

Conflits d intérêts. Consultant: Financement d études: Optimer: fidaxomicine Astra Zeneca : Ceftaroline Novartis: daptomycine

Modèle de demande d'habilitation d'un Mastère LMD

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

4 Exemples de problèmes MapReduce incrémentaux

THÈSE. présentée à l Université d Avignon et des Pays de Vaucluse pour obtenir le diplôme de DOCTORAT

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

BACCALAUREAT GENERAL MATHÉMATIQUES

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Couplage efficace entre Optimisation et Simulation stochastique Application à la maintenance optimale d une constellation de satellites

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Algorithmique et Programmation

CH.6 Propriétés des langages non contextuels

Entraînement au concours ACM-ICPC

Tout au long de votre cursus Quel métier futur? Dans quel secteur d activité? En fonction de vos goûts et aptitudes et du «niveau d emploi» dans ce

Optimisation for Cloud Computing and Big Data

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

Transcription:

Intelligence Artificielle Heuristique Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes

Algorithmes et recherches heuristiques Recherche meilleur d abord Recherche gloutonne L algorithme A Algorithmes de recherche locale 2 / 23

Algorithmes et recherches heuristiques Recherche meilleur d abord Recherche gloutonne L algorithme A Algorithmes de recherche locale 3 / 23

Recherche meilleur d abord Rappel : Une stratégie est définie en choisissant un ordre dans lequel les états sont développés Idée : Utiliser une fonction d évaluation f pour chaque noeud mesure l utilité d un noeud introduction d une fonction heuristique h(n) qui estime le coût du chemin le plus court pour se rendre au but InsertAll insère le nœud par ordre décroissant d utilité Cas spéciaux : Recherche gloutonne (un choix n est jamais remis en cause) A 4 / 23

Algorithmes et recherches heuristiques Recherche meilleur d abord Recherche gloutonne L algorithme A Algorithmes de recherche locale 5 / 23

Recherche gloutonne Fonction d évaluation f (n) = h(n) (heuristique) h(n) : estimation du coût de n vers l état final Par exemple, h dd (n) est la distance à vol d oiseau entre la ville n et Bucharest La recherche gloutonne développe le nœud qui paraît le plus proche de l état final 6 / 23

Le voyage en Roumanie Oradea 71 Zerind 151 75 Arad 140 118 Timisoara 111 Lugoj 70 Mehadia 75 Neamt 87 Sibiu 99 Urziceni 80 Fagaras Rimnicu Vilcea 211 85 97 Bucharest 101 146 Pitesti 90 138 Dobreta 120 Craiova Giurgiu Lasi 92 142 98 Vaslui Hirsova 80 Eforie Ligne droite jusqu à Bucharest Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 176 Giurgiu 77 Hirsova 151 Lasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 100 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 7 / 23

Recherche gloutonne Complétude : Incomplet (peut rester bloqué dans des boucles) Exemple : Arad Zerind Arad... Complet si on ajoute un test pour éviter les états répétés Temps : O(b m ) Une bonne heuristique peut améliorer grandement les performances Espace : O(b m ) : Garde tous les nœuds en mémoire Optimale : Non 8 / 23

Algorithmes et recherches heuristiques Recherche meilleur d abord Recherche gloutonne L algorithme A Algorithmes de recherche locale 9 / 23

Algorithme A Idée : Eviter de développer des chemins qui sont déjà chers Fonction d évaluation : f (n) = g(n) + h(n) g(n) est le coût de l état initial à l état n h(n) est le coût estimé pour atteindre l état final f (n) est le coût total estimé pour aller de l état initial à l état final en passant par n A utilise une heuristique admissible h(n) h (n) où h (n) est le coût réel pour aller de n jusqu à l état final Une heuristique admissible ne surestime jamais le coût réel pour atteindre le but. Elle est optimiste Par exemple h dd ne surestime jamais la vraie distance Si h(n) = 0 pour tout n, alors A est équivalent à l algorithme de Dijkstra de calcul du plus court chemin Théorème : A est optimale 10 / 23

Le voyage en Roumanie Oradea 71 Zerind 151 75 Arad 140 118 Timisoara 111 Lugoj 70 Mehadia 75 Neamt 87 Sibiu 99 Urziceni 80 Fagaras Rimnicu Vilcea 211 85 97 Bucharest 101 146 Pitesti 90 138 Dobreta 120 Craiova Giurgiu Lasi 92 142 98 Vaslui Hirsova 80 Eforie Ligne droite jusqu à Bucharest Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 176 Giurgiu 77 Hirsova 151 Lasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesti 100 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 11 / 23

Preuve d optimalité de A Supposons qu il y ait un état final non optimal G généré dans la liste des nœuds à traiter Soit n un nœud non développé sur le chemin le plus court vers un état final optimal G start n f (G ) = g(g ) car h(g ) = 0 > g(g) car G n est pas optimale f (n) car h est admissible G G f (G ) > f (n), donc A ne va pas choisir G 12 / 23

Algorithme A Complétude : Oui, sauf s il y a une infinité de nœuds tels que f f (G) Temps : exponentielle selon la longueur de la solution Espace : exponentielle (garde tous les nœuds en mémoire) Habituellement, on manque d espace bien avant de manquer de temps Optimale : Oui 13 / 23

Que faire si f décroît? Avec une heuristique admissible, f peut décroître au cours du chemin Par exemple, si p est un successeur de n, il est possible d avoir n g = 4, h = 8, f = 12 p g = 5, h = 4, f = 9 On perd de l information f (n) = 12, donc le vrai coût d un chemin à travers n est 12 Donc le vrai coût d un chemin à travers p est aussi 12 Au lieu de f (p) = g(p) + h(p), on utilise f (p) = max(g(p) + h(p), f (n)) f ne décroît jamais le long du chemin 14 / 23

Que faire si f décroît? Avec une heuristique admissible, f peut décroître au cours du chemin Par exemple, si p est un successeur de n, il est possible d avoir n g = 4, h = 8, f = 12 p g = 5, h = 4, f = 9 On perd de l information f (n) = 12, donc le vrai coût d un chemin à travers n est 12 Donc le vrai coût d un chemin à travers p est aussi 12 Au lieu de f (p) = g(p) + h(p), on utilise f (p) = max(g(p) + h(p), f (n)) f ne décroît jamais le long du chemin 14 / 23

Exemple d heuristiques admissibles: taquin le h 1(n) = le nombre de pièces mal placées h 1 (S) = 8 h 2(n) = la distance de Manhattan totale (la distance de chaque pièce entre sa place actuelle et sa position finale en nombre de places) h 2 (S) = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18 15 / 23

Exemple d heuristiques admissibles: taquin le h 1(n) = le nombre de pièces mal placées h 1 (S) = 8 h 2(n) = la distance de Manhattan totale (la distance de chaque pièce entre sa place actuelle et sa position finale en nombre de places) h 2 (S) = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18 15 / 23

Exemple d heuristiques admissibles: taquin le h 1(n) = le nombre de pièces mal placées h 1 (S) = 8 h 2(n) = la distance de Manhattan totale (la distance de chaque pièce entre sa place actuelle et sa position finale en nombre de places) h 2 (S) = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18 15 / 23

Exemple d heuristiques admissibles: taquin le h 1(n) = le nombre de pièces mal placées h 1 (S) = 8 h 2(n) = la distance de Manhattan totale (la distance de chaque pièce entre sa place actuelle et sa position finale en nombre de places) h 2 (S) = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18 15 / 23

Dominance h 1 domine h 2 si h 1 et h 2 sont admissibles et que h 1(n) h 2(n) pour tout n h 1 est alors meilleure pour la recherche Exemple : d = 12 d = 24 IDS: 3, 644, 035 nœuds A (h 1): 227 nœuds A (h 2): 73 nœuds IDS: trop de nœuds A (h 1): 39, 135 nœuds A (h 2): 1, 641 nœuds 16 / 23

Comment trouver des heuristiques admissibles? Considérer une version simplifiée du problème Le coût exact d une solution optimale du problème simplifié est une heuristique admissible pour le problème original Exemple : simplification des règles du taquin une pièce peut être déplacée partout h 1(n) donne la plus petite solution une pièce peut être déplacée vers toutes les places adjacentes h 2(n) donne la plus petite solution 17 / 23

Algorithmes et recherches heuristiques Recherche meilleur d abord Recherche gloutonne L algorithme A Algorithmes de recherche locale 18 / 23

Algorithmes de recherche locale Dans de nombreux problèmes d optimisation, le chemin qui mène vers une solution n est pas important L état lui-même est la solution Idée : Modifier l état en l améliorant au fur et à mesure Espace d états : ensemble des configurations possible des états Besoin de définir une fonction qui mesure l utilité d un état 19 / 23

Exemple : les n reines Placer n reines sur un plateau de taille n n, sans que deux reines se trouvent sur la même ligne, colonne ou diagonale Déplacer une reine pour réduire le nombre de conflits h = 5 h = 2 h = 0 20 / 23

Algorithmes de recherche locale On cherche un maximum global objective function global maximum shoulder local maximum "flat" local maximum current state state space 21 / 23

Algorithmes de recherche locale Algorithme d ascension du gradient: 22 / 23

Algorithmes de recherche locale On peut aussi considérer la descente du gradient On peut être bloqué dans un maximum local Problème : les plateaux Solution : on admet des mouvements de côté 23 / 23