Soutenance n°2

Groupe 37

Cyprien Jullien

Cyprien JULLIEN

Vivien Thomas

Vivien THOMAS

Pierre Trapeaux

Pierre TRAPEAUX

1/11

Plan

1. Introduction

2. Fonctionnalités du jeu

3. Affichages SDL

4. Perceptions et actions de l’agent

5. REINFORCE

6. Parallélisme

7. Méthode de travail

8. Conclusion et perspectives

9. Gantt, cahier de suivi et fréquence Git

10. Bibliographie

2/11

1. Introduction

- Système multi-agent

- Modélisation de comportements

- Apprentissage par renforcement

- Jeu d’arcade interactif

3/11

2. Fonctionnalités du jeu

Boids

Simulation d’un banc de poissons à l’aide de règles locales simples : séparation, alignement et cohésion.

Apparition des poissons

Les poissons apparaissent dynamiquement dans l’environnement selon les paramètres de la simulation.

Mode ralenti

Un mode ralenti permet d’observer plus facilement les comportements du banc et les décisions de l’agent.

Possibilité d’incarner un poisson

Le joueur peut contrôler un poisson directement.

Debug

Affichage d’informations de débogage, vecteurs, ce qui permet de mieux comprendre le comportement des agents.

Modification des paramètres à la volée

Les paramètres de simulation peuvent être modifiés pendant l’exécution pour observer leur impact sur le comportement collectif.

4/11

3. Affichages SDL

Parallaxe

Ajout de plusieurs plans de fond défilant à des vitesses différentes pour donner de la profondeur à la scène.

Squelettes

Affichage des poissons de manière procédurale.

Flots

Représentation visuelle du courant marin pour enrichir le décor les poissons qui passent dedans se font alors emporter.

Algues

Ajout d’éléments de décor animés pour rendre l’environnement plus vivant et plus crédible.

Vieillissement des poissons

Évolution visuelle des poissons au cours du temps afin de renforcer l’aspect organique.

5/11

4. Perceptions et actions de l’agent

Perception Poisson

Séparation

- Vecteur opposé à la direction moyenne des voisins proches afin d’éviter les collisions.

Alignement

- Vecteur correspondant à la direction moyenne des voisins afin de suivre le mouvement global du banc.

Cohésion

- Vecteur orienté vers le centre des voisins proches afin de rester groupé avec le banc.

Les murs

- Vecteur opposé au mur lorsqu’un poisson s’en approche.

La peur

- Vecteur de fuite, vecteur opposé à la direction vers le danger.

L’intérêt

- Vecteur orienté vers le point d’intérêt le plus proche (ex. : nourriture).

6/11

5. REINFORCE

Principe général

REINFORCE est une méthode d’apprentissage par renforcement basée sur les gradients de politique. L’agent observe un état s, choisit une action a, puis met à jour sa politique en fonction de la récompense obtenue.

Notations

s : état observé
a : action choisie
θ : paramètres du modèle

Au début nous voulions faire le Reinforce sur les trois cercles de perception. (séparation,Alignement,cohésion)

Finalement nous le faisons sur 3 paramètres : l'intérêt, la peur et la bordure.

Jeu avant REINFORCE

Avant l’apprentissage, les comportements reposaient uniquement sur les règles des boids et sur des comportements définis à la main, les poissons n'allaient pas forcément vers la nourriture.

Jeu après REINFORCE

Après entraînement, l’agent apprend à mieux exploiter ses perceptions pour se déplacer vers la nourriture la plus proche.

7/11

6. Parallélisme

Objectif

Le parallélisme permet de séparer plusieurs tâches coûteuses du programme : Il est utilisé avec Reinforce afin d'avoir une meilleure estimation du theta.

8/11

7. Méthode de travail

Répartition des tâches

- Simulation / logique des boids

- Rendu SDL et interface

- Apprentissage par renforcement

Organisation du groupe

- réunions régulières pour débattre des structures de données, de l’architecture du projet et des choix de modélisation.

Outils utilisés

- Git pour le versionnement

- Un diagramme de Gantt pour planifier les étapes

- Un cahier de suivi / auto-évaluation pour garder une trace du travail réalisé

9/11

8. Conclusion et perspectives

Bilan

- Boids et systèmes multi-agents

- Comportements collectifs

- REINFORCE

Résultat obtenu

- Banc de poissons crédible

- Apprentissage de certaines décisions

- Simulation claire et visualisable

Ce que le projet nous a appris

- Émergence à partir de règles simples

- Importance de la récompense en apprentissage par renforcement

- Fort lien entre IA et ingénierie logicielle

Perspectives

- Apprentissage plus robuste

- Simulation multi-agent plus poussée

10/11

9. Gantt, cahier de suivi, fréquence Git

Gantt

📅 Lien du diagramme de Gantt

Approche par compétences

📅 Grille d’auto-évaluation

GitLab

📅 GitLAB

Fréquence de git

Perception Poisson
Perception Poisson

Gource

Perception Poisson

10. Bibliographie

Vidéo sur les poissons procéduraux

▶️ Voir la ressource YouTube

11/11