Exemples de projets des sessions passées

Transcription

Exemples de projets des sessions passées
Exemples de projets des sessions passées
Luc Lamontagne
23 janvier 2009
1. Jeu -- RISK
•
•
•
•
•
Moteur de jeu : JRisk.
Langage de programmation : Java.
Exploration : Recherche en largeur pour le transfert des unités.
Apprentissage : Arbre de décision et réseau de neurones pour l’utilisation des cartes.
Autres : Une fonction d’utilité pour le placement des unités et la phase d’attaque.
2. Jeu – Capture du drapeau ennemi
•
•
•
•
•
Moteur de jeu : Unreal Tournament et javabots.
Langage de programmation : Java.
Exploration : Hill climbing et LRTA* pour la recherche de chemin.
Apprentissage : Arbre de décision et Adaboost pour le choix d’action.
Autres : Apprentissage par renforcement (Q-learning) pour le choix d’une action.
3. Jeu – Poker Shooter (le poker + un first person shooter)
•
•
•
•
•
Moteur de jeu : Torque Engine.
Langage de programmation : C++.
Exploration : Choix du chemin à prendre avec A*.
Apprentissage : Arbre de décision pour soit prendre une carte ou l’attribuer.
Autres : Apprentissage par renforcement (TD-learning) pour décider d’attaquer ou de se
sauver.
4. Jeu -- Stratego
•
•
•
•
•
Moteur de jeu : jeu développé par l’équipe.
Langage de programmation : C++
Exploration : Placement des pièces sur la grille de départ par un algorithme de recherche
glouton.
Apprentissage : Déplacement des pièces pour atteindre le drapeau ennemi par un
réseau de neurones.
Autres : Le kNN pour trouver des configurations de pièces sur la planche de jeu. Le choix
de buts par un algorithme génétique.
5. Jeu -- GridWorld
•
•
•
•
•
Moteur de jeu : GridWorld
Langage de programmation : Java
Exploration : Trouver un chemin d’une case initiale à une case but par une recherche en
profondeur itérative (IDS).
Apprentissage : Apprendre le mouvement d’insectes ennemis par un algorithme
bayesien naïf.
Autres : Rien.
6. Jeu -- First person shooter(FPS)
•
•
•
•
•
Moteur de jeu : Quake III Arena.
Langage de programmation : C.
Exploration : DFS, Hill Climbing, RBFS pour le déplacement du personnage.
Apprentissage : Arbre de décision et bayesien naïf pour décider soit d’une attaque ou de
battre en retraite.
Autres : les réseaux bayesien pour la même tâche que l’apprentissage.
7. Jeu -- RISK
•
•
•
•
•
Moteur de jeu : JRisk.
Langage de programmation : Java.
Exploration : A* pour planification de l’attaque.
Apprentissage : Arbre de décision pour positionner des armées.
Autres : Réseau bayesien pour l’échange de cartes.
8. Jeu – Jeu de stratégie GLEST
•
•
•
•
•
Moteur de jeu : GLEST
Langage de programmation : C++ (Unix)
Exploration : A*, BFS et coût uniforme pour la recherche de chemin
Apprentissage : Réseau de neurones pour le choix d’actions (ex. construire un bâtiment,
ramasser une ressource, créer une paysan).
Autres : Réseau bayésien pour le choix d’action.
9. Jeu -- DaeGame
•
•
•
•
Moteur de jeu : Torque Engine
Langage de programmation : C++
Tâches IA : jeu à la troisième personne de déplacement et de combat. Les armes
principales sont les griffes, la télékinésie et l’aveuglement. Le héros doit affronter des
prêtre qui, par le pouvoir de leur esprit, peuvent donner des impulsions aux objets
environnants. L’action se déroule dans une vielle cathédrale abandonnée dont les
épaisses colonnes permettent aux joueurs de se cacher.
Exploration : A*, RBFS, SMA*pour le déplacement des personnages
•
•
Apprentissage : choix de la politique d’action par Naïve Bayes
Autres : choix de la politique d’action par apprentissage par renforcement
10. Jeu – Scotland Yard
•
•
•
•
•
•
Moteur de jeu : ScotlandBase
Langage de programmation : java
Tâches IA : jeu de table où plusieurs détectives (1 à 6 détectives) sont à la poursuite d’un
fugitif (M. X) dans les rues de Londres. Repose sur une carte de la ville de Londres. Les
intersections des rues de Londres (les nœuds du graphe) sont reliées par taxi, par bus ou
par métro. Pour aider les détectives dans leurs déductions, la position de M. X est
révélée périodiquement.
Exploration : A* et BFS pour le déplacement des détectives. CSP pour déterminer les
positions possibles de M. X.
Apprentissage : Estimer la position probable de M. X avec l’algorithme kNN.
Autres : Prévoir la position de M. X au prochain tour avec un réseau de neurones.
11. Jeu – Légende de Zelda (style de…)
•
•
•
•
•
•
Moteur de jeu : Ogre
Langage de programmation : C++
Tâches IA : le jeu comporte trois agents : le joueur, un « NPC » (« non playing caracter »)
pour interagir avec lui et un agent ennemi plus dynamique qui réagi aux différentes
actions du joueur. Mission : faire une course avec un « NPC » et de vaincre un ou
plusieurs ennemis.
Exploration : A*, BFS, DFS et Dijkstra pour la recherche de chemin
Apprentissage : Algorithme génétique et réseau de neurones pour l
Autres : Positionnement de la caméra par un CSP.

Documents pareils