410 likes | 717 Views
UNIVERSITE DE TECHNOLOGIE DE TROYES. LABORATOIRE DE MODÉLISATION ET SÛRETÉ DES SYSTÈMES . Rapport de stage de fin d’étude. En vue d’obtention du diplôme Master 2 en informatique. Option. Technologies de l’Information pour le management des Connaissances et des Réseaux .
E N D
UNIVERSITE DE TECHNOLOGIE DE TROYES LABORATOIRE DE MODÉLISATION ET SÛRETÉ DES SYSTÈMES Rapport de stage de fin d’étude. En vue d’obtention du diplôme Master 2 en informatique Option Technologies de l’Information pour le management des Connaissances et des Réseaux Dirigé par : Travail réalisé par : • Mr Jean-Marc NIGRO. • MrGUENDOUL Samir • Mr Yann BARLOY. PROMOTION 2010_2011
Sujet Etude des comportements par avatar et développement d’un personnage automatisé « intelligent » utilisant la plateforme de simulation Scenia.
Objectif Expérimenter la plateforme de simulation Scenia pour développer une forme d’intelligence artificielle adaptative.
Plan • Environnement du stage. • Travail demandé. • Recherche effectuée. • Travail réalisé. • Conclusion.
Environnement de stage (1/2) • Lieu du stage : • Institut Charles Delaunay (ICD) à l’UTT. • Laboratoire de Modélisation et Sûreté des Systèmes (LM2S). • Equipe de travail : • Cinq membres. • Responsable du stage : Jean-Marc NIGRO. • Enseignant chercheur en Intelligence Artificielle: Sophie LORIETTE. • Enseignant chercheur en Intelligence Artificielle : Yann BARLOY. • Doctorant en Intelligence Artificielle : Baptiste CABLE. • Ingénieur de recherche et développement : Samir GUENDOUL.
Environnement de stage (2/2) • Environnement de travail : • Dans un laboratoire (un bureau à l’UTT). • Réseaux local et internet. • Delphi XE comme environnement de développement. • MySQL Serveur de base de donnée. • Plate forme Scenia : plate forme de simulation. (développéepar l’équipe de recherche du laboratoire LM2S) • Durée : 24 semaines.
Missions du stage • Recherche des techniques et des architectures pour le développement des comportements. • Comprendre le fonctionnement et l’architecture de la plateforme de simulation Scenia. • Proposer une technique pour développer une forme d’intelligence dans la plateforme. • Développer un nouveau moteur pour contrôler les nouvelles entités intelligentes. • Tester et Optimiser le nouveau moteur.
Contexte du stage • Ces dernières années le domaine de l’informatique s’est énormément développé permettant la simulation d’un monde virtuel : un organisme, un environnement, une machine, …etc. • Les mondes virtuels habités sont des applications de Réalité Virtuelle dans lesquelles interagissent des entités autonomes et des utilisateurs représentés par leur avatar. • Dans le cadre d’un projet de recherche, le laboratoire LM2S de l’UTT a créé une plateforme de simulation permettant de construire un monde virtuel : « Scenia ».
Plateforme Scenia • La plateforme Scenia est un environnement de développement pour la création de simulation et d’environnements virtuels. • Utilisation de la plateforme pour le jeu massivement multi-joueurs intitulé « Les Contrées Homériques » (LCH). • Un univers (monde) virtuel de simulation. • Peuplé par des joueurs représentés par des avatars et des personnages non joueurs « des bots ». • Cette plateforme est destinée à réaliser des expérimentations sur plusieurs axes de recherche. • Mon travail : développer une forme d’IA adaptatif.
Plateforme Scenia Bot Avatar Environnement
Architecture de la plateforme Client Client Client Moteur Environnement Moteur Loup intelligent Moteur Utilisateur Moteur PNJ Serveur . . . Le nouveau moteur
Techniques de développement de IA • Il existe plusieurs techniques pour créer de l’Intelligence Artificielle : • La logique floue. [Louis GACOGNE,1997] • Basée sur la théorie des ensembles flous et la logique des prédicats. • Les réseaux de neurones artificiels. [Thomas BOURDEAUD'HUY, 2001] • Basée sur la théorie de la connexion des neurones dans le cerveau. • Les algorithmes évolutionnistes. [Paulin Coulibaly, François Anctil et Bernard Bobée ,2011] • S'inspirant de la théorie de l'évolution pour résoudre des problèmes divers . • Les algorithmes génétiques. [Souquet Amédée, RadetFrancois-Gérard,2011] • s’inspirent de l’évolution biologique telle que décrite par Darwin.
Les algorithmes génétiques • Ils font partie de la famille des algorithmes évolutifs. s’inspirent de l’évolution biologique des espèces. • S'appuyent sur des techniques dérivées de la génétique et des mécanismes d'évolution de la nature. • croisements, mutations, sélections, …etc. • Ils ne font que transposer ce que fait la nature à des systèmes artificiels. • Les espèces (individus) s'adaptent à leur cadre de vie qui peut évoluer. • Les individus se reproduisent, créant ainsi de nouveaux individus,certains subissent des modifications (de leur ADN), certains disparaissent. • Leur but est d’obtenir en un temps correct une solution approchée à un problème d’optimisation.
Déroulement d’un AG • Ils suivent un processus bien établi qui peut être défini comme étant le cycle de l’évolution. • Le déroulement d'un algorithme génétique peut être représenté en cinq étapes : • La création de la population initiale. • L'évaluation des individus. • La génération de nouveaux individus. • L'insertion de ces nouveaux individus dans l’environnement. • Réitération du processus.
Biologie des êtres vivants • Pour fabriquer un organisme vivant il faut une Map. • Cette Map se trouve dans les cellules des êtres vivants. • Plus exactement dans le noyau. • C’est l’ADN. • C’est la molécule de l’hérédité. • Elle contient toutes les informations nécessaires à la vie de tout organisme.
Le Chromosome • C’est un élément microscopique constitué de molécules d’ADN. • Il désigne le support physique des gènes. • Un gène est un ensemble des séquences d’ADN. Chacun d’eux représente une caractéristique d’un individu (yeux, peau, …etc.). Chromosome ADN
Architecturede notre agent • Problème : Il faut définir notre gène et notre chromosome. • Définitions : • « Un comportement est un ensemble d’actions effectuées par un individu en réaction à son environnement ». • « Un déclencheur est un stimuli qui sert à réveiller une action (un comportement dans notre cas) ». • Un comportement peut être réveillé par un ou plusieurs déclencheurs. Déclencheur 1 Déclencheur 2 Comportement Déclencheur 3
Relation Comportement/Déclencheurs D1. Voir un méchant. C1 . Attaquer D2. Quelqu’un attaque D3 . Quelqu’un fuit. C2 . Fuir D4 . Plusieurs méchants approchent. C3 . Se cacher D5 . Impossible de s’échapper. D6 . Se faire attaquer. C4 . Appeler à l’aide D7 .Voir quelqu’un se faire attaquer. C5 . Aider un proche D8 . Entendre appel à l’aide. D9. Energie à atteint le seuil minimal
Agent dans l’environnement Notre agent • Notre agent peut voir dans cette situation : • Présence de plusieurs ennemis. • Quelqu’un se fait attaquer. • Quelqu’un attaque un ennemie. • Quelqu’un fuit. • …etc. Mettre des poids sur les déclencheurs pour permettre à l’agent de choisir son action.
Représentation de notre gène Chaîne 1 Chaîne 2 Chaîne 3 Chaîne 4 Un Gène comportement Déclencheur Déclencheur 2 Déclencheur 3 Déclencheur 4 Poids 1 Poids 3 Poids 2 Poids 4
P D 4 D 4 P P D 2 D 3 Représentation de notre chromosome P C 1 C 2 D 1 P P D 5 E 1 P P D 2 D 2 P P D 3 C 5 P C 4 P P P D 3 D 6 P
Architecture de notre agent • Elle est subdivisée en cinq zones : Voir Toucher Entendre Centre de perceptions Capteurs/Effecteurs Crier Décision Comp. Centre d’actions Centre de commandes Centre de réflexions Marcher Décision Décl. Attaquer Operations/Réflexions Centre d’évaluation
Algorithme générale de traitement • A chaque période de temps, l’agent exécute un traitement et suit les étapes suivantes : • début : • Consulter l’environnement. • Choisir un déclencheur. • Choisir un comportement. • Exécuter le comportement. • Evaluer la situation. • Tirer une conclusion. • Fin.
Choix.Décl Automate de traitement D7 D6 D4 D3 D5 D1 D8 D9 D2 Situat pas Ok C1 C5 C4 C3 C2 Fin Choix.Comp Situati OK 12 11 10 Evaluation Consult.Enver Début Attaquer M.A.J 1 8 7 6 2 9 3 Charger Infos Déplacer
Génération de la progéniture • Lorsque deux individus se rejoignent, ils peuvent engendrer un autre individu (progéniture). • Ce nouvel individu aura un mélange des gènes du père et des gènes de la mère. • Ainsi la nouvelle entité créée aura plus de chance de survivre dans l’environnement. • Une fois que l’individu a été créé, on le met directement dans l’environnement.
Transmission des gènes. 6 4 2 1 9 7 8 3 D 3 C 4 C 4 C 2 C 1 C3 C 4 C 2 D 3 D 1 D 2 D 2 D 1 D 3 D 2 D 5 D 3 D 2 D 2 D 3 D 5 D 6 D 4 D 6 D 6 D 4 D 4 9 3 C 2 D 5 2 D 2 9 6 D 4 1 E 1 2 E 2 5 Entité 2 P 5 P 6 2 E 3 D 3 9 2 D 1 Génération C3 1 2 5 2 7 7 Entité1 C 4 2 1 1 8 6 9 9 Nouvelle Entité
Interface graphique du moteur Interface graphique générale
Interface graphique du moteur Interface graphique de suivi d’un individu.
Conclusion/perspectives • Le stage que j’ai effectué dans le laboratoire LM2S de l’UTT m’a initié au domaine de la recherche et au travail dans une équipe de laboratoire. • La mission fixée au départ est atteinte néanmoins le travail n’est pas encore totalement terminé. • Comme perspectives, je propose d’ajouter d’autres comportement, de perfectionner les threads et d’améliorer la stratégie de choix. • Ce stage m’a permis d’approfondir mes connaissances dans le domaine d’intelligence artificiel et le domaine de développement informatique.
Merci pour votre attention Questions..?