1 / 42

Intelligence Artificielle

Intelligence Artificielle. Steve Gury steve.gury@gmail.com. Agenda. Historique Réseau de neurones Algorithmes génétiques MinMax Algorithme de recherche de chemin Machines à états. Historique. Terme inventé par John McCarthy en 1956

leena
Télécharger la présentation

Intelligence Artificielle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Intelligence Artificielle Steve Gury steve.gury@gmail.com

  2. Agenda • Historique • Réseau de neurones • Algorithmes génétiques • MinMax • Algorithme de recherche de chemin • Machines à états

  3. Historique • Terme inventé par John McCarthy en 1956 • Définition: Programmes informatiques qui résolvent des problèmes qui sont habituellement résolus par des processus mentaux de haut niveau

  4. Historique • Ne pas confondre avec le domaine de l’intelligence artificielle forte • Le système est capable de produire un comportement intelligent, mais aussi d’éprouver une conscience de soi • SkyNet

  5. Historique • Turing initia le concept en 1950 • Article « Computing Machinery and Intelligence » • Test de Turing

  6. Différentes Techniques et leurs applications • Méthodes complexes • Réseaux de neurones • Algorithmes génétiques • Simplifications + heuristiques • MinMax • PathFinding • Machine à état

  7. Agenda Historique Réseau de neurones Algorithmes génétiques MinMax Algorithme de recherche de chemin Machines à états

  8. Réseau de neurones • Imite le fonctionnement des neurones du cerveau • Assemble les neurones en couche • Différentes fonctions de seuillage • Linéaires • Non linéaires

  9. Réseaux de neurones • Assemblage en réseaux +/- complexes • Utilisations: • Apprentissage + sollicitation (prise de décision) • Segmentation

  10. Exemple d’application • Attaque conditionnée sur jeu de stratégie • Nombre d’unités en renfort • Nombre et niveau des opposants • Distance à la base • ... • Apprentissage • Une fois pour toute • En cours de jeu • Sollicitation en jeu

  11. Agenda Historique Réseau de neurones Algorithmes génétiques MinMax Algorithme de recherche de chemin Machines à états

  12. Algorithme génétique • Inspiré de l’évolution des espèces • Idée: Trouver un optimum général en modifiant une solution existante à un problème

  13. Algorithme génétique • Ex: Trouver l’altitude maximale de cette courbe définie par z = f(x,y) • Point initial (x0,y0) aléatoire • Petite variation • Ajout d’erreur (évite les extremums locaux)

  14. Algorithme génétique • Problème du temps de convergence • Aucune garantie d’avoir un maximum

  15. Exemple d’application • Simulation de systèmes vivants • Gestion de l’apprentissage par renaissance • Ex: • Creatures 1,2 & 3 • Docking Station

  16. Agenda Historique Réseau de neurones Algorithmes génétiques MinMax Algorithme de recherche de chemin Machines à états

  17. MinMax • Idée: Prendre une décision en supposant que l’adversaire va choisir le choix le plus optimal pour lui 5 3 5 2 12 3 10 8 5 10 11 2

  18. Application du MinMax • Prise de décision dans des jeux à logique simple • Jeu de carte simple • Jeu de type « échec » • Optimisation avec l’élagage alpha-béta de l’arbre de décision (McCarthy)

  19. Agenda Historique Réseau de neurones Algorithmes génétiques MinMax Algorithme de recherche de chemin Machines à états

  20. Pathfinding: A* • Algorithme de recherche de chemin entre deux noeuds d’un graphe • Algorithme simple et rapide mais ne garantissant pas l’optimalité de la solution • Algorithme majoritairement utilisé dans les jeux vidéo

  21. Pathfinding: A* • Exemple: On part du point vert pour aller au point rouge • On ne peut pas marcher sur les cases bleues

  22. Pathfinding: A* • Pour chaque dalle on considère les cases adjacentes en éliminant les cases inaccessibles • On attribue une note F à chaque case, F étant la somme du coût pour aller jusqu’à cette case (noté G) et de l’estimation du coût restant à parcourir (noté H) F = G + H

  23. Pathfinding: A* • Dans cet exemple, on attribue un poid différent entre un déplacement vertical/horizontal (10) et un déplacement en diagonal (14 ~sqrt(2)) • Les déplacements en diagonal seront permis si et seulement si les deux cases adjacentes à la diagonale sont libres • Nous utiliserons la méthode « de Manhattan » pour estimer fonction H, ie. le nombre de cases horizontales et verticales pour atteindre la destination

  24. Pathfinding: A*

  25. Pathfinding: A*

  26. Pathfinding: A*

  27. Pathfinding: A*

  28. Pathfinding: A*

  29. Pathfinding: A* • Cet algorithme nous permet de trouver rapidement un chemin entre deux points, cependant: • Le chemin n’est pas forcément optimal • On peut ne jamais considérer un côté d’une solution symétrique

  30. Pathfinding: Dijkstra • Algorithme ayant pour but comme A* de trouver le plus court chemin entre deux points • Dijkstra garantit d’obtenir un résultat optimal • Algorithme polynomial

  31. Pathfinding: Dijkstra

  32. Pathfinding: Dijkstra

  33. Pathfinding: Dijkstra

  34. Pathfinding: Dijkstra • Avantages: • Garantit le résultat optimal • Inconvénients: • Complexité polynomiale • Remarques: • Equivalent à A* avec une méthode d’heuristique nulle

  35. Pathfinding: Pavages • Les algorithmes de pathfinding fonctionnent sur des graphes • Soit on génère le pavage au préalable • Soit on le calcul par rapport au décor • Différents types de pavages fixes

  36. Pathfinding: Pavages

  37. Pathfinding: Pavages • La fluidité apparente des solutions de pathfinding dépendra beaucoup du type de pavage

  38. Pathfinding: Pavages • Dans les jeux modernes, on utilise un « nav mesh », ou maillage de navigation à but unique de pathfinding

  39. Pathfinding: Pavages • La définition des nav-mesh se fait à la main • En général on ne définit que les « way point » et on calculera le nav-mesh en conséquence

  40. Agenda Historique Réseau de neurones Algorithmes génétiques MinMax Algorithme de recherche de chemin Machines à états

  41. Machines à états • Même dans les jeux modernes, l’intelligence artificielle se résume souvent à une suite de comportements préalablement scriptés • Les agents artificiellement intelligents du jeu mutent d’un état à un autre selon certaines conditions pré-établies

  42. Machines à états • Ex: Scripting d’un garde dans un jeu d’action Attaquer Patrouiller passivement Se protéger Patrouiller activement

More Related