Intelligence Artificielle

Slides:



Advertisements
Présentations similaires
Fabrice Lauri, François Charpillet, Daniel Szer
Advertisements

Modèle des jeux et des mécanismes
1 Modèles Economiques en Informatique Michel de Rougemont Université Paris II.
Algorithmes et structures de données avancés
Efficient Simplification of Point-Sampled Surfaces
Structures de données et complexité
Cosmos/Works Les chargements type PALIER
LI.A ça ressemble à ça… des fois…. Ou pas… Rappels et définition de lIA – Lidée quon sen fait – Jusquoù on va aujourdhui / dans le futur? – Petit Etat.
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
3. Algorithme Colonies de fourmis.
Introduction à l’Intelligence Artificielle
Mirta B. Gordon Laboratoire Leibniz-IMAG Grenoble
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Prise de décision dans les shooters TER 08/09 Sandrine Buendia
Evaluation des actions (2)
Les jeux (méthodes min-max et -)
Heuristiques A. Introduction B. Recherche d ’une branche
Méthode des k plus proches voisins
Marc BOUET Conseiller Technique National
Projet informatique : optimisation du déplacement d’un robot
Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que lIntelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,
Algorithme de Bellman-Ford
Les réseaux de neurones
Périodicité, Apériodicité, Universalité et autres petits problèmes…
CSI 4506: Introduction à l’intelligence artificielle
Algorithmes d ’approximation
Optimisation dans les réseaux
La structure des coûts, le volume et la capacité Chapitre 9
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Simon Langevin Mathieu Poisson
Rappel... Matrices bloc. Décomposition des matrices:
8INF8061 Conception et analyse des algorithmes Comment comparer deux problèmes?
Modélisation géométrique de base
Conception et analyse des algorithmes
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Dév. d’application interactive III Recherche de chemin.
D.E ZEGOUR Ecole Supérieure d’Informatique
les méthodes de recherche locale
Optimisation par les algorithmes génétiques
ASI 3 Méthodes numériques pour l’ingénieur
Interface Homme-machine (interaction humain-machine)
Algorithmes Branch & Bound
Arbres binaires et tables de hachage
Foued Mnasri Weal Rekik
Institut de sciences et technologies Département d’informatique
CSI 4506: Introduction à l’Intelligence Artificielle
Exploration systématique de graphes
Travaux Pratiques Optimisation Combinatoire
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Les réseaux de neurones à réservoir en traitement d’images
CHARGEMENT, CENTRAGE ET STABILITE LONGITUDINALE
TIPE Les dames chinoises
Intelligence artificielle
Présenté par : ABED Djemaa; BAKHOUIA Roqiya.
GPA-779 Application des systèmes experts et des réseaux de neurones.
1 Prédiction de mobilité basée sur la classification selon le profil DAOUI Mehammed Université Mouloud Mammeri Tizi-Ouzou Rencontres sur.
Optimisation par les algorithmes génétiques
Le Jeu et l’intelligence artificielle
Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que l’Intelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
Recuit simulé Une métaheuristique venue de la métallurgie.
Projet de Système Répartis. Contexte: Choix techniques:
Développement du jeu Ricochet Robots pour Android
Protocoles de routage dynamique RIP & OSPF
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
1 A. Cornuéjols Introduction à l’intelligence artificielle Introduction à l’Intelligence Artificielle (Cours n°3) Recherche informée dans les graphes Antoine.
Transcription de la présentation:

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 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 Test de Turing 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 5 Parler de l’élagage alpha-béta 3 5 2 12 3 10 8 5 10 11 2

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 Attaquer Patrouiller passivement Se protéger Patrouiller activement