Méthodes de Résolution de problèmes En Intelligence Artificielle

Documents pareils
Algorithmes de recherche

Cours de Master Recherche

Les structures de données. Rajae El Ouazzani

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Plus courts chemins, programmation dynamique

Chapitre 5 : Flot maximal dans un graphe

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

Big Data et Graphes : Quelques pistes de recherche

Gestion des Clés Publiques (PKI)

Jean-Philippe Préaux

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

chapitre 4 Nombres de Catalan

Big Data et Graphes : Quelques pistes de recherche

Pourquoi l apprentissage?

Définitions. Numéro à préciser. (Durée : )

Carré parfait et son côté

NOEUD HERRINGBONE-PINEAPPLE STANDARD TYPE and PASS

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Infolettre #18 : Les graphiques avec Excel 2010

Introduction à la théorie des graphes. Solutions des exercices

La classification automatique de données quantitatives

Intelligence Artificielle Planification

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

Indications pour une progression au CM1 et au CM2

Algorithmes d'apprentissage

Chaînes de Markov au lycée

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Formats d images. 1 Introduction

ils entretiennent entre eux des flux, ils partagent des perceptions sur l environnement

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

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

TD 1 - Structures de Traits et Unification

INF601 : Algorithme et Structure de données

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

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

Eléments de Théorie des Graphes et Programmation Linéaire

Travaux pratiques avec RapidMiner

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

La structure de la base de données et l utilisation de PAST. Musée Royal de l Afrique Centrale (MRAC Tervuren)

Système de Gestion de Fichiers

TP3 : Manipulation et implantation de systèmes de fichiers 1

Algorithmique et langages du Web

Model checking temporisé

L apprentissage automatique

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Initiation à LabView : Les exemples d applications :

Chp. 4. Minimisation d une fonction d une variable

Cours de Génie Logiciel

Partie 1. La structure des réseaux sociaux

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Thème 17: Optimisation

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

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Fonctions de plusieurs variables

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

KIT D AIDE A LA MISE EN ACCESSIBILITE DES ETABLISSEMENTS DE TOURISME ET DES COMMERCES Édition Février 2015 FICHE N 2A RENDRE MON HÔTEL ACCESSIBLE

@telier d'initiation

Programmation linéaire

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

Processus aléatoires avec application en finance

Modélisation multi-agents - Agents réactifs

Le Data Mining au service du Scoring ou notation statistique des emprunteurs!

L exclusion mutuelle distribuée

Voyez la réponse à cette question dans ce chapitre.

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Algorithmique avec Algobox

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

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

Rappels sur les suites - Algorithme

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Générer du code à partir d une description de haut niveau

LE PROBLEME DU PLUS COURT CHEMIN

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

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

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

Apprentissage incrémental par sélection de données dans un flux pour une application de sécurité routière

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Cercle trigonométrique et mesures d angles

Quelques Algorithmes simples

Plateforme de capture et d analyse de sites Web AspirWeb

Utilisation du client de messagerie Thunderbird

LE NOUVEAU SYSTEME DE BRAS PORTEUR

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

NOUVELLES POUR LE STOCKAGE DES

SAUVEGARDE DES PERSONNES ET LUTTE CONTRE L INCENDIE DANS LES BATIMENTS D HABITATION DE LA 3ème FAMILLE INC/HAB COL 3/1986-2

Traitement bas-niveau

Sanitaires Lavabo accessible

Rappel des principaux éléments de la réglementation valable pour tous les commerces. Accessibilité des établissements recevant du public

MIS 102 Initiation à l Informatique

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Intégration de la dimension sémantique dans les réseaux sociaux

Décrets, arrêtés, circulaires

Transcription:

Méthodes de Résolution de problèmes En Intelligence Artificielle

Résolution de Problèmes et Intelligence Artificielle Résoudre des puzzles Jouer aux échecs Faire des mathématiques Et même conduire une voiture Sont des activités humaines qui requièrent de l intelligence 2

Les machines munies de programmes qui peuvent entreprendre de telles tâches, possèdent un certain degré d intelligence La résolution de problèmes exclut les méthodes de calcul ordinaire comme l inversion d une matrice ou la résolution des équations différentielles 3

Méthode basée Trial and error Les méthodes étudiées en Intelligence Artificielle utilisent souvent une recherche basée sur des essais et erreurs ( trial-anderror): Elles recherchent une solution dans un espace de solutions possibles 4

D autres thématiques de l Intelligence Artificielle Apprentissage automatique Compréhension du langage naturel Raisonnement automatique Il n existe pas de théorie unifiée pour l organisation de l intelligence. Cependant, comme les techniques de résolution de problèmes sont d une utilité d ordre général, elles peuvent être utilisées dans tous les axes de recherche de l Intelligence Artificielle 5

Les puzzles et les jeux comme exemples de problèmes Les puzzles et les jeux constituent une source riche d exemples de problèmes Pour l illustration des techniques Pour le test des méthodes Il existe des programmes de jeux qui battent les experts humains comme les jeux d échec 6

Le Taquin à 2 dimensions L exemple de problème utilisé dans ce cours est le taquin à 2 dimensions ou le puzzle à 15 carreaux Configuration initiale configuration cible 2 6 15 4 1 2 3 4 8 11 14 5 6 7 8 10 5 1 9 9 10 11 12 3 12 13 7 13 14 15 7

Approche Espace des états 8

Etat du problème Lors du processus de résolution, le problème transite d un état vers un autre. Dans le cas du taquin, un état est une configuration du tableau 4x4 On distingue: L état initial Un ou plusieurs états finaux 9

Opérateurs Un opérateur transforme un état en un autre état. Il existe quatre opérateurs pour le taquin: déplacer la case vide en haut déplacer la case vide en bas déplacer la case vide à gauche déplacer la case vide à droite 10

L application des opérateurs sur les états en démarrant de l état initial conduit à la construction d une arborescence 11

Exemple de portion d une arborescence 11 9 4 15 1 3 12 7 5 8 6 13 2 10 14 11 9 4 15 11 9 15 11 9 4 15 11 9 4 15 1 3 12 7 5 8 6 13 2 10 14 1 3 4 12 7 5 8 6 13 2 10 14 1 3 12 7 5 8 6 13 2 10 14 1 3 8 12 7 5 6 13 2 10 14 11 9 15 1 3 4 12 7 5 8 6 13 2 10 14 11 9 15 1 3 4 12 7 5 8 6 13 2 10 14 11 9 4 15 1 3 12 7 5 8 6 13 2 10 14 12

La racine correspond à la configuration initiale Un nœud représente une configuration quelconque Un arc correspond à l application d un opérateur 13

Réduction des problèmes en sous problèmes

Fractionnement du problème Le problème est divisé en plusieurs sous problèmes de petites tailles Le fractionnement s arrête lorsque le sous problème correspondant est solvable 15

Construction d une arborescence Un processus récursif permet la construction d une arborescence de sous problèmes. La racine correspond au problème à résoudre Un nœud à un sous problème Les sous problèmes d un niveau de l arbre ont une taille inférieure aux sous problèmes des niveaux supérieurs Les feuilles de l arbre correspondent aux sous problèmes solvables 16

Exemple Conduire d Oran à Annaba Conduire d Oran à Chlef Conduire de Chlef à Alger Conduire d Alger à Sétif Conduire de Sétif à Annaba 17

Exemple de portion d une arborescence Conduire d Oran à Annaba Conduire d Oran à Chlef Conduire De Chlef à Alger Conduire d Alger à Sétif Conduire De Sétif à Annaba Conduire De Chlef à Blida Conduire De Blida à Alger Conduire D Alger à Bouira 18

Remarque importante 1- C est la taille du problème qui est réduite à chaque fois que le problème est insolvable 2- La technique de résolution est la même pour tous les sous problèmes 19

Démonstration de théorèmes 20

Utilisation de la logique dans la résolution de problèmes Que ce soit par l approche espace des états ou par la réduction de problèmes, la résolution de problèmes fait appel souvent à la logique 21

Exemple d utilisation de la logique dans l approche Espace des états Dans le jeu du taquin, il a été démontré que les opérateurs de transition tels que définis précédemment conduisent à la création de deux sous-ensembles disjoints contenant les états du problème Un état quelconque d un sous ensemble ne peut donc avoir des successeurs appartenant à l autre sous ensemble Cet important résultat peut aider grandement à la résolution du problème, car à chaque génération d une configuration, il peut nous renseigner sur la possibilité d atteindre ou non l état cible 22

Troisième approche basée sur la logique: La démonstration de théorèmes Tout problème à résoudre peut être transformé en un théorème à démontrer Résoudre un problème équivaut donc à démontrer le théorème correspondant La logique est employée comme outil théorique pour la preuve 23

Deux éléments fondamentaux pour la résolution de problèmes La représentation La recherche Dans ce cours, nous nous intéressons plus particulièrement aux méthodes de recherche de solutions dans un espace d états. 24

Démarche générale pour la résolution d un problème 1- Choix de l approche de résolution Espace des états Réduction de problèmes Démonstration de théorèmes 2- Choix d une représentation Pour un même problème, il peut exister plusieurs représentations 3- Choix de la méthode de résolution 25

Panorama sur les méthodes de recherche Méthodes aveugles recherche en largeur d abord recherche en profondeur d abord Les méthodes heuristiques: l algorithme A* les méta-heuristiques Le recuit simulé Les algorithmes génétiques Les colonies de fourmis La recherche taboue 26

Les méthodes de recherche dans l approche espace des états 27

Processus de recherche dans un graphe Le processus de recherche d une solution opère sur une représentation de graphe comme suit: 1- Le nœud initial correspond à l état initial 2- Les successeurs d un nœud sont calculés à l aide des opérateurs. Soit, l opérateur qui calcule tous les successeurs 3- Parmi les successeurs, s il existe un état final, la solution est obtenue en parcourant le graphe de cet état vers l état initial. Les arcs doivent alors être orientés dans les deux sens dans le cas contraire, on continue l expansion des noeuds 28

Recherche aveugle Si l expansion des nœuds se fait selon l ordre dans lequel ils ont été engendrés, le processus est appelé recherche en largeur d abord Si la stratégie de l expansion considère des nœuds les plus récemment engendrés, le processus est appelé recherche en profondeur d abord 29

Dans les méthodes aveugles, l ordre dans lequel les nœuds sont engendrés ne tient pas compte de la position de l état cible dans le graphe. 30

Les méthodes heuristiques Dans les procédures non aveugles, on fait appel à des heuristiques Une heuristique signifie aider à découvrir L heuristique a pour rôle de diriger l expansion des nœuds vers l état but en développant les nœuds les plus prometteurs Par souci de simplification, les méthodes décrites ultérieurement utilisent une structure d arbre. L extension aux graphes sera considérée par la suite. 31

La recherche en largeur d abord ou recherche horizontale L expansion des nœuds les moins récemment engendrés s effectue en premier L arborescence est construite niveau après niveau et donc de manière horizontale 32

Un algorithme simple de recherche en largeur d abord 1- Insérer le nœud initial s dans une liste appelée OPEN 2- Si OPEN est vide alors échec sinon continuer 3- Retirer le premier nœud de OPEN et l insérer dans une liste appelée CLOSED. Soit n ce nœud. 4- S il n existe pas de successeur alors aller à 2. Engendrer les successeurs de n et les insérer à la queue de OPEN. Créer un chaînage de ces nœuds vers n 5- Si parmi les successeurs, il existe un état final alors succès: la solution est obtenue en suivant le chaînage arrière de ce nœud vers la racine, sinon aller à 2 33

Exercice 1: taquin 3x3 Appliquer la recherche en largeur d abord sur la donnée suivante: Configuration initiale configuration cible 2 8 3 1 2 3 1 6 4 8 4 7 5 7 6 5 34

35

Méthode de coût uniforme: une version plus générale de la recherche en largeur d abord Soient: - c(n i,n j ) le coût de l arc reliant ni à son successeur n j - g(n) le coût minimal de la chaîne allant de s à n La méthode garantit le calcul de la chaîne de coût minimal 36

Algorithme du coût uniforme 1- Insérer s dans une liste appelée OPEN. Soit g(s) = 0 2- Si OPEN est vide alors échec sinon continuer 3- Retirer de OPEN, le nœud qui a la plus petite valeur g et l insérer dans CLOSED. Soit n ce nœud. En cas de conflit, choisir arbitrairement n. 4- Si n est un état final alors succès sinon continuer 5- Engendrer les successeurs de n. S il n existe pas de successeur aller à 2 sinon calculer et insérer dans OPEN pour chaque successeur n i, g(n i )=g(n)+c(n,n i ). Etablir le chaînage arrière. 6- Aller à 2 37

Profondeur d un arbre La profondeur d un nœud dans un arbre est calculée comme suit: profondeur(racine) = 0 profondeur(n) = profondeur(parent(n))+1 38

La recherche en profondeur d abord ou recherche verticale L expansion des nœuds les plus récemment engendrés s effectue en premier Le nœud le plus profond est choisi pour l expansion. Lorsqu un certain seuil de profondeur est atteint, le processus considère un nœud du niveau précédent 39

Un algorithme de recherche en profondeur 1- Insérer le nœud initial s dans une liste appelée OPEN 2- Si OPEN est vide alors échec sinon continuer 3- Retirer le premier nœud de OPEN et l insérer dans une liste appelée CLOSED. Soit n ce nœud. 4- Si la profondeur de l arbre est égale au seuil de profondeur aller à 2 sinon continuer 5- Engendrer les successeurs de n et les empiler dans OPEN. Créer un chaînage de ces nœuds vers n 5- Si parmi les successeurs, il existe un état final alors succès: la solution est obtenue en suivant le chaînage arrière de ce nœud vers la racine, sinon aller à 2 40

Exercice 2: taquin 3x3 Appliquer la recherche en profondeur d abord sur la donnée suivante: Configuration initiale configuration cible 2 8 3 1 2 3 1 6 4 8 4 7 5 7 6 5 41

42

Modifications pour rechercher dans des graphes Recherche en largeur ou en profondeur d abord: * Quand un nœud est engendré, tester s il se trouve dans OPEN ou CLOSED. Ne pas l insérer dans ce cas. Algorithme du coût minimal: *Quand un nœud est créé - s il se trouve dans OPEN, mettre à jour sa valeur g (si elle est plus petite) et son chaînage arrière - s il se trouve dans CLOSED, mettre à jour sa valeur g (si elle est plus petite) et son chaînage arrière et l insérer dans OPEN 43

Introduction aux heuristiques Les méthodes aveugles sont des méthodes exhaustives Il existe des limites pratiques sur le temps d exécution et l espace mémoire pour appliquer ces méthodes sur une grande catégorie de problèmes Il faut chercher d autres alternatives efficaces pour solutionner ces problèmes Toute technique visant à accélérer la recherche est basée sur une information appelée heuristique Les méthodes utilisant des heuristiques sont dites méthodes de recherche heuristiques 44

Implémentation des méthodes heuristiques Utiliser la recherche en profondeur d abord et placer les nœuds développés dans OPEN selon l ordre déterminé par l heuristique Une façon plus flexible est d utiliser un critère pour réordonner tous les nœuds qui sont dans OPEN Une certaine mesure doit être établie pour évaluer la promesse d un nœud. Cette mesure est appelée fonction d évaluation ou d adéquation ou objective 45

Fonction d évaluation L utilisation d une heuristique est basée sur une fonction d évaluation pour ordonner la recherche Soit f une fonction d évaluation, f(n) exprime la valeur de cette fonction pour le nœud n 46

Algorithme de recherche ordonnée 1- Placer s dans OPEN et calculer f(s) 2- Si OPEN est vide alors échec sinon continuer 3- Retirer de OPEN, le nœud qui a la plus petite valeur f et l insérer dans CLOSED. Soit n ce nœud. 4- Si n est un état final alors succès sinon continuer 5- Engendrer les successeurs de n. S il n en existe pas aller à 2 sinon calculer pour chaque successeur n i, f(n i ). 6- Insérer les successeurs qui ne sont ni dans OPEN ni dans CLOSED, dans OPEN et établir le chaînage arrière. 7- Mettre à jour la valeur de f pour les successeurs qui se trouvent dans OPEN ou CLOSED. Placer dans OPEN, les nœuds de CLOSED pour lesquels f a diminué. Aller à 2 47

Soit f(n) = g(n) + w(n) Exercice 3 Où g(n) est la longueur de la chaîne entre la racine et n et w(n), le nombre de chiffres mal placés dans le puzzle. Le nœud initial 2 8 3 1 6 4 7 5 a une valeur f = 0 + 4 = 4 Appliquer l algorithme de recherche ordonnée sur la donnée de l exercice 2. 48

L algorithme A* C est un algorithme de recherche ordonnée basé sur une fonction d évaluation f(n)=g(n)+h(n) où g(n) est le coût de la chaîne allant de s à n et h(n) appelée heuristique est une estimation du coût de la chaîne reliant n à un nœud final. h est spécifique au domaine d application, exemple w. 49

Admissibilité et optimalité Théorème1: Si h (n) <= h(n) pour tout n, et si tous les coûts associés aux arcs sont supérieurs à un nombre positif alors A* est admissible. Théorème2: Soient A et A* deux algorithmes admissibles tels que A* est plus informé que A et h (m)-h (n) <= k(m,n) pour A*, alors pour tout graphe, si un nœud n est développé par A*, il est aussi développé par A. 50