intelligence artificielle

42
Intelligence Artificielle Steve Gury [email protected]

Upload: leena

Post on 27-Jan-2016

55 views

Category:

Documents


2 download

DESCRIPTION

Intelligence Artificielle. Steve Gury [email protected]. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Intelligence Artificielle

Intelligence Artificielle

Steve [email protected]

Page 2: Intelligence Artificielle

Agenda

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

Page 3: Intelligence Artificielle

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

Page 4: Intelligence Artificielle

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

Page 5: Intelligence Artificielle

Historique

Turing initia le concept en 1950 Article « Computing Machinery and Intelligence »

Test de Turing

Page 6: Intelligence Artificielle

Différentes Techniques et leurs applications

Méthodes complexes Réseaux de neurones Algorithmes génétiques

Simplifications + heuristiques MinMax PathFinding Machine à état

Page 7: Intelligence Artificielle

Agenda

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

Page 8: Intelligence Artificielle

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

Page 9: Intelligence Artificielle

Réseaux de neurones

Assemblage en réseaux +/- complexes Utilisations:

Apprentissage + sollicitation (prise de décision) Segmentation

Page 10: Intelligence Artificielle

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

Page 11: Intelligence Artificielle

Agenda

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

Page 12: Intelligence Artificielle

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

Page 13: Intelligence Artificielle

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)

Page 14: Intelligence Artificielle

Algorithme génétique

Problème du temps de convergence Aucune garantie d’avoir un maximum

Page 15: Intelligence Artificielle

Exemple d’application

Simulation de systèmes vivants Gestion de l’apprentissage par renaissance Ex:

Creatures 1,2 & 3 Docking Station

Page 16: Intelligence Artificielle

Agenda

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

Page 17: Intelligence Artificielle

MinMax

Idée: Prendre une décision en supposant que l’adversaire va choisir le choix le plus optimal pour lui

12 3 10 8 5 10 11 2

33 55 22

5

Page 18: Intelligence Artificielle

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)

Page 19: Intelligence Artificielle

Agenda

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

Page 20: Intelligence Artificielle

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

Page 21: Intelligence Artificielle

Pathfinding: A*

Exemple: On part du point vert pour aller au point rouge

On ne peut pas marcher sur les cases bleues

Page 22: Intelligence Artificielle

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

Page 23: Intelligence Artificielle

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

Page 24: Intelligence Artificielle

Pathfinding: A*

Page 25: Intelligence Artificielle

Pathfinding: A*

Page 26: Intelligence Artificielle

Pathfinding: A*

Page 27: Intelligence Artificielle

Pathfinding: A*

Page 28: Intelligence Artificielle

Pathfinding: A*

Page 29: Intelligence Artificielle

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

Page 30: Intelligence Artificielle

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

Page 31: Intelligence Artificielle

Pathfinding: Dijkstra

Page 32: Intelligence Artificielle

Pathfinding: Dijkstra

Page 33: Intelligence Artificielle

Pathfinding: Dijkstra

Page 34: Intelligence Artificielle

Pathfinding: Dijkstra

Avantages: Garantit le résultat optimal

Inconvénients: Complexité polynomiale

Remarques: Equivalent à A* avec une méthode d’heuristique

nulle

Page 35: Intelligence Artificielle

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

Page 36: Intelligence Artificielle

Pathfinding: Pavages

Page 37: Intelligence Artificielle

Pathfinding: Pavages

La fluidité apparente des solutions de pathfinding dépendra beaucoup du type de pavage

Page 38: Intelligence Artificielle

Pathfinding: Pavages

Dans les jeux modernes, on utilise un « nav mesh », ou maillage de navigation à but unique de pathfinding

Page 39: Intelligence Artificielle

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

Page 40: Intelligence Artificielle

Agenda

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

Page 41: Intelligence Artificielle

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

Page 42: Intelligence Artificielle

Machines à états

Ex: Scripting d’un garde dans un jeu d’action

Patrouilleractivement

Attaquer

Se protéger

Patrouillerpassivement