intelligence artificielle

Post on 27-Jan-2016

55 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Intelligence Artificielle

Steve Gurysteve.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 Définition: Programmes informatiques qui

résolvent des problèmes qui sont habituellement résolus par des processus mentaux de haut niveau

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

Historique

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

Test de Turing

Différentes Techniques et leurs applications

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

Simplifications + heuristiques MinMax PathFinding Machine à état

Agenda

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

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

Réseaux de neurones

Assemblage en réseaux +/- complexes Utilisations:

Apprentissage + sollicitation (prise de décision) Segmentation

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

Agenda

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

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

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)

Algorithme génétique

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

Exemple d’application

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

Creatures 1,2 & 3 Docking Station

Agenda

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

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

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)

Agenda

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

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

Pathfinding: A*

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

On ne peut pas marcher sur les cases bleues

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

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

Pathfinding: A*

Pathfinding: A*

Pathfinding: A*

Pathfinding: A*

Pathfinding: A*

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

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

Pathfinding: Dijkstra

Pathfinding: Dijkstra

Pathfinding: Dijkstra

Pathfinding: Dijkstra

Avantages: Garantit le résultat optimal

Inconvénients: Complexité polynomiale

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

nulle

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

Pathfinding: Pavages

Pathfinding: Pavages

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

Pathfinding: Pavages

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

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

Agenda

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

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

Machines à états

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

Patrouilleractivement

Attaquer

Se protéger

Patrouillerpassivement

top related