Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Algorithmes de base en intelligence artificielle

Avatar for PolyHx PolyHx
October 05, 2017

Algorithmes de base en intelligence artificielle

Présentation de Michel Gagnon pour les LH Games 2017

Avatar for PolyHx

PolyHx

October 05, 2017
Tweet

Other Decks in Education

Transcript

  1. Algorithmes — Recherche dans un espace d’états: — Recherche A*

    — Recherche locale — Planification: — Planification classique — Planification hiérarchique — Apprentissage par renforcement
  2. Recherche dans un espace d’états — État initial — Opérateurs

    pour passer d'un état à un autre état — Test de succès (pour déterminer si un état correspond au but désiré) — Fonction de coût (pour évaluer le coût du passage d'un état à un autre)
  3. Exemple: Problème des 2 jarres — État: une paire (x,y)

    représente le contenu des deux jarres — État initial: (0,0) — État final: une des deux jarres contient exactement deux litres — Opérateurs (coût toujours égal à 1): — Remplir une jarre — Vider une jarre — Transvider une jarre dans l’autre
  4. Algorithme A* — Chaque noeud n de la recherche est

    évalué selon une fonction f(n) = g(n) + h(n) où g(n) est le coût de l'état initial au noeud n h(n) est un estimé du coût du noeud n à l'état final (heuristique) — L’heuristique doit être admissible: elle ne surestime jamais le coût pour atteindre le but — À chaque itération, on choisit de faire l’expansion du nœud n dont f(n) est le plus bas
  5. A* - Jeu de taquin h1(n) = nombre de pièces

    mal placées h2(n) = somme des distances entre chaque pièce et sa position finale
  6. Recherche locale — Convient bien aux problèmes où seul l'état

    final nous intéresse — On ne conserve qu'un seul état en mémoire, soit le noeud courant — On considère tous les noeuds successeurs du noeud courant, qui constituent le voisinage — On choisit un de ces noeuds, qui deviendra le noeud courant — On répète le processus jusqu'à l'obtention de l'état désiré
  7. Eploration par escalade (hill climbing) — On utilise une fonction

    h(n) qu'il faut minimiser — On génère une solution initiale — On calcule h(n') pour tous les noeuds n' successeurs du noeud courant n — On choisit le noeud n' qui minimise h(n') et tel que h(n') < h(n)
  8. 13 8 reines 4 Conflits: A-E B-C B-F E-H h(n)

    = nombre de reines menacées
  9. 14 8 reines On essaie de modifier la valeur de

    la variable E C'est ici qu'il y aura le moins de conflits
  10. Autres approches de recherche locale — Escalade stochastique — Recuit

    simulé (simulated annealing) — Recherche en faisceau (beam search) — Recherche en faisceau stochastique — Algorithmes génétiques
  11. Planification classique — Recherche dans un espace d’états — Les

    états sont représentés par une collection de termes prédicatifs — Formalisme PDDL (Planning Domain Definition Language) qui est dérivé du langage STRIPS
  12. PDDL — Un état est une conjonction de termes ne

    contenant aucune variable et aucune fonction — at(plane23,dorval) — on, off — On appelle fluent chacun de ces termes — Un état peut être vu comme un ensemble de fluents qui doivent tous être vrais — Si un fluent n’apparaît pas dans un état, il est supposé faux — On définit les actions en spécifiant leurs préconditions et leurs effets
  13. Actions en PDDL — On spécifie le nom de l’action,

    ses variables, ainsi que les préconditions et l’effet — Exemple: (:action fly :parameters (?p ?orig ?dest) :precondition (and (plane ?p) (at ?p ?orig) ) (airport ?orig) (airport ?dest)) :effect (and (not (at ?p ?orig) (at ?p ?dest)))) — Une action peut être exécutée quand un état respecte toutes ses préconditions — Si une action est exécutée: — on retire de l’état tout terme x tel que –x est dans EFFET — on ajoute dans l’état tout terme x tel que +x est dans EFFET
  14. Planification hiérarchique — Deux types d’actions: — actions primitives —

    actions de haut niveau — Règles de raffinement: définit comment une action de haut niveau se décompose en une séquence d’actions (primitives ou de haut niveau)
  15. Apprentissage par renforcement — Basé sur un processus de décision

    markovien — Modèle de transition: T(s,a,s') représente la probabilité d'obtenir l'état s' si on exécute l'action a à l'état s — Fonction de récompense: R(s) — La solution est une politique (s), qui spécifie l'action recommandée pour chaque état s — Meilleure politique :
  16. Apprentissage par renforcement — Les récompenses obtenues chaque fois qu'on

    passe à un nouvel état sont utilisées pour définir une politique optimale — Principe: mélange d'exploration et d'exploitation — Une implémentation simple: à intervalles réguliers, on choisit une action aléatoirement — Une meilleure approche: favoriser les actions qui ont été peu essayées en leur attribuant arbitrairement une récompense très élevée — Méthode très utilisée: Q-learning
  17. Ressources utiles — La bible: Artificial Intelligence: A Modern Approach,

    de Russell et Norvig — Notes on Artificial Intelligence de Francis Tseng — Mes vidéos sur Youtube — Recherche dans un espace d’état: — AI - Popular Search Algorithms — Stochastic Local Search – Foundations and Applications — Stochastic Local Search Algorithms: An Overview — Planification: — PDDL — FF — SHOP (Simple Hierarchical Ordered Planner) — Reinforcement learning: — Simple Beginner’s guide — An Introduction (draft)