UNIVERSITE DE TECHNOLOGIE DE TROYES LABORATOIRE DE MODÉLISATION ET SÛRETÉ DES SYSTÈMES En vue...

Preview:

Citation preview

UNIVERSITE DE TECHNOLOGIE DE TROYESLABORATOIRE DE MODÉLISATION ET SÛRETÉ DES SYSTÈMES

En vue d’obtention du diplôme Master 2 en informatiqueOption

Technologies de l’Information pour le management des Connaissances et des Réseaux

Travail réalisé par :

Mr GUENDOUL Samir

Dirigé par :

Mr Jean-Marc NIGRO.

Rapport de stage de fin d’étude.

Mr Yann BARLOY.

1PROMOTION 2010_2011

Sujet

Etude des comportements par avatar et développement d’un

personnage automatisé « intelligent » utilisant la plateforme de

simulation Scenia.

2

Objectif

Expérimenter la plateforme de simulation Scenia pour

développer une forme d’intelligence artificielle adaptative.

3

Plan

Environnement du stage.Travail demandé.Recherche eff ectuée.Travail réalisé.Conclusion.

4

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.

5

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ée par l’équipe de recherche du laboratoire LM2S)

Durée : 24 semaines.

6

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. 7

Contexte du stageCes 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 ».

8

Plateforme SceniaLa 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.9

Plateforme Scenia

Avatar

Bot

Environnement

10

Architecture de la plateforme

Serveur

Client

Client

Client

Moteur Environnement

Moteur PNJ

Moteur Utilisateur

Moteur Loup intelligent

. ..

Le nouveau moteur

11

Techniques de développement de IAIl 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, Radet Francois-Gérard,2011]

s’inspirent de l’évolution biologique telle que décrite par Darwin.

12

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. 13

Déroulement d’un AGIls 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.14

Biologie des êtres vivantsPour 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.

15

Le ChromosomeC’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 16

Architecture de notre agentProblè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.

Comportement

Déclencheur 1

Déclencheur 2

Déclencheur 317

Relation Comportement/Déclencheurs

C1 . Attaquer

C2 . Fuir

C3 . Se cacher

C4 . Appeler à l’aide

C5 . Aider un proche

D1 . Voir un méchant.

D2 . Quelqu’un attaque

D3 . Quelqu’un fuit.

D4 . Plusieurs méchants approchent.

D5 . Impossible de s’échapper.

D6 . Se faire attaquer.

D7 .Voir quelqu’un se faire attaquer.

D8 . Entendre appel à l’aide.

D9. Energie à atteint le seuil minimal18

Agent dans l’environnementNotre 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.

19

Représentation de notre gène

Un Gène

comportement Déclencheur Déclencheur 2 Déclencheur 3 Déclencheur 4

Chaîne 1 Chaîne 2 Chaîne 3 Chaîne 4

Poids 1 Poids 2 Poids 3 Poids 4

20

Représentation de notre chromosome

E 1

C 2

C 1

C 5

C 4

D 2

D 1

D 2

D 3

D 3

D 5

D 2

D 3

D 4D 4

D 6

P

P

P

P

P

P

P

P

PP

P

P PP

P

21

Architecture de notre agentElle est subdivisée en cinq zones :

Centre de command

es

Centre de perceptio

ns

Centre d’évaluati

on

Centre de

réflexions

Centre d’actions

Operations/Réflexions

Capteurs/Effecteurs

Voir Toucher Entendre

Marcher

Attaquer

CrierDécision Comp.

Décision Décl.

22

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.

23

Automate de traitement

Choix.Comp

Choix.Décl

1

Début

2

Charger Infos

3

Consult.Enver

D1

D2

D3

D4

D5

D6

D7

D8

D9

C1

C2

C3

C4

C5

6

Déplacer

7

Attaquer

9

Situati OK

Situat pas Ok

10

M.A.J

11

Fin12

24

Evaluation

8

Génération de la progénitureLorsque 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.

25

Transmission des gènes.

E 1

C 1

D 1

D 3

D 4

C 2

D 2

D 5

D 4

38

2

9

2

1

5

C 4D

3D

2D

6

7

1

9

1

6

Entité1

E 2

C 2

D 2

D 5

D 4

C3D 1

D 3 9

2

P

4

7

6

5

C 4D 3

D 2D 6

2

8

6

2

3

Entité 2

E 3

C 2

D 2

D 5

D 4

P

9

2

1

C 4D 3

D 2D 6

7

1

9

6

C3

5

C 4

2

D 1

D 3

9

2

Nouvelle Entité

Génération

26

Interface graphique du moteur

Interface graphique générale27

Interface graphique du moteur

Interface graphique de suivi d’un individu.28

Conclusion/perspectivesLe 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.

29

Merci pour votre attentionQuestions..?

30