La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Conception de Programmes Evolutifs Pré Soutenance de TER Année 2004-2005 Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain.

Présentations similaires


Présentation au sujet: "Conception de Programmes Evolutifs Pré Soutenance de TER Année 2004-2005 Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain."— Transcription de la présentation:

1 Conception de Programmes Evolutifs Pré Soutenance de TER Année Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain Mahé Laurent Toselli

2 Sommaire Introduction (6 min.) –Direction donnée par des problèmes rencontrés.Direction donnée par des problèmes rencontrés –Programmation statique vs programmation évolutive.Programmation statique vs programmation évolutive –Présentation du projet.Présentation du projet Détails de lapplication (7 min.) –Moteur de sélection.Moteur de sélection –Application graphique.Application graphique Risques (2 min.)Risques Planification (1 min.)Planification Questions ( le temps restant )Questions

3 Introduction Problème qui nous a amené à ce TER: –Existe-il des programmes sauto modifiant qui sont codés une fois pour toute ? Réponse négative à notre connaissance. Réponse positive pour une fonction de la sorte –fam : fonction auto modifiante »(define (fam x) » (let ((g (lambda (x) (* k x)))) » (define (modifg) ». » ) » (define (iter) » (if (not (= (g x) y)) » (modifg) » g)) » (iter))

4 Introduction (suite) –Modification de la fonction g mais son aspect reste globalement le même à lintérieur de la fonction f. –On est dans une approche « fermée » de lauto modification (dépendant du problème). –Doù utilisé pour des cas particuliers. –Notre application générera du code nayant peut-être aucun rapport avec le code précédent. On est dans une approche « ouverte » (indépendant du problème). Le cas général sera présenté dans notre projet avec une application représentant un cas particulier.

5 Sommaire Introduction (6 min.) –Direction donnée par des problèmes rencontrés.Direction donnée par des problèmes rencontrés –Programmation statique vs programmation évolutive.Programmation statique vs programmation évolutive –Présentation du projet.Présentation du projet Détails de lapplication (7 min.) –Moteur de sélection.Moteur de sélection –Application graphique.Application graphique Risques (2 min.)Risques Planification (1 min.)Planification Questions ( le temps restant )Questions

6 programmes statiques Vs. programmes évolutifs. –Les programmes classiques, en général, ne sont pas vus pour être modifiés après compilation. –La modification de code à lextérieur du programme (finalisé) nest pas possible. –Doù notion de patchs correctifs (en cas de bogue). –Intérêt de notre part de trouver un mécanisme.

7 programmes statiques Vs. programmes évolutifs. –Programmes évolutifs : Programmes dynamiques. (f a m vues précédemment) Programmes 2 en 1. –Modification et exécution du programme non dissocié. –Pas didées pour le moment, pas de connaissances à ce sujet. Projet TER (notre proposition ) –Donc un choix de la représentation des programmes personnalisée pour obtenir cette capacité. – Modification possible des programmes sans que lidée soit changée et en temps réel.

8 Sommaire Introduction (6 min.) –Direction donnée par des problèmes rencontrés.Direction donnée par des problèmes rencontrés –Programmation statique vs programmation évolutive.Programmation statique vs programmation évolutive –Présentation du projet.Présentation du projet Détails de lapplication (7 min.) –Moteur de sélection.Moteur de sélection –Application graphique.Application graphique Risques (2 min.)Risques Planification (1 min.)Planification Questions ( le temps restant )Questions

9 Projet de colonie de fourmis. –Simulation de comportement de fourmis dans un certain environnement. –Un seul caste de fourmis au départ (ouvrière). –Actions de base (fonctions de base) permises pour chaque fourmis : Chercher de la nourriture. Déplacement. Faire face à une attaque de prédateur (extension) …

10 Projet de colonie de fourmis. –Visibilité via une interface graphique : Suivi du comportement global des fourmis. Obtention dinformations sur lune dentre elles. Modifications de paramètres (extension). Génération de programme à linstant t. (lié au moteur) –Extensions: Prédateurs (araignées) Fourmilière(s) avec plus dune classe de fourmis (ouvrière, soldat, nurse, reine, princesse, …) Notion dordres dans les besoins dune fourmi. Une fourmilière codé statiquement face à une autre évolutive Classeur da.g. sur 2 niveaux (suivre lhéritage entre générations) ? Environnement changeant.( utilisation des règles dinférences ) ?

11 Sommaire Introduction (6 min.) –Direction donnée par des problèmes rencontrés.Direction donnée par des problèmes rencontrés –Programmation statique vs programmation évolutive.Programmation statique vs programmation évolutive –Présentation du projet.Présentation du projet Détails de lapplication (7 min.) –Moteur de sélection.Moteur de sélection –Application graphique.Application graphique Risques (2 min.)Risques Planification (1 min.)Planification Questions ( le temps restant )Questions

12 Moteur de sélection –Composition du moteur général: moteur dinférences algorithmes génétiques (générateur de classeurs). Sélection dun classeur = algorithmes appartenant à une même classe de problèmes – (« déplacement », « chercher nourriture », « chercher quelquun », …) –Vue sur les règles dinférences: Ensemble de règles de type env -> action (fonctions de base) appelées classeur. Ensemble de règles de type action -> algo n

13 Moteur de sélection –Les algorithmes génétiques, évolution : –Trouver des règles plus convenables pour une fourmi dans un certain environnement. –Re-génération de nouveaux classeurs. –Possibilité davoir plusieurs actions pour un environnement. –Le moteur dinférences se charge de calculer la liste des algorithmes possibles. –Choix de lalgorithme pour la fourmi parmi ceux retenues.

14 Sommaire Introduction (6 min.) –Direction donnée par des problèmes rencontrés.Direction donnée par des problèmes rencontrés –Programmation statique vs programmation évolutive.Programmation statique vs programmation évolutive –Présentation du projet.Présentation du projet Détails de lapplication (7 min.) –Moteur de sélection.Moteur de sélection –Application graphique.Application graphique Risques (2 min.)Risques Planification (1 min.)Planification Questions ( le temps restant )Questions

15 Application graphique Écrit en langage java: –Portabilité du projet –Confirmer la capacité du moteur à rester indifférent aux langages de lapplication. –Interface graphique en Java 2D avec possible extension en Java 3D via JOGL Liaison entre application et moteur –Le moteur est en scheme et est converti en C via Chicken/Stalin –Il est compile sous forme de librairie ensuite liee au java via JNI –Combinaison permet de garder une bonne vitesse sur le partie Scheme qui sera tres solicite –Pourquoi pas Bigloo? Bigloo ne gere pas call-cc et bigloo serait trop lent pour un moteur qui risque detre appele plusieurs dizaines de fois par seconde.

16 Application graphique Detail de lapplication –Chaque fourmi est visionable pour voir ses specificites –La fenetre principale presente la vue densemble de la fourmiliere –Certaines interactions sont possibles (uniquement a des desseins dexperience) –Au debut de lapplication la fourmiliere est cree, ainsi que lenvironement, puis on fait appel au moteur scheme a chaque fois quune fourmi a besoin de prendre une decision (ie a fini dexecuter une action) Portabilite –A cause des JNI lexecution ne peut se faire dans un applet, et elle requiert des binaires differents pour chaque architecture –Le code reste aisement portable de par sa nature, cest a dire generee depuis le scheme/java

17 Sommaire Introduction (6 min.) –Direction donnée par des problèmes rencontrés.Direction donnée par des problèmes rencontrés –Programmation statique vs programmation évolutive.Programmation statique vs programmation évolutive –Présentation du projet.Présentation du projet Détails de lapplication (7 min.) –Moteur de sélection.Moteur de sélection –Application graphique.Application graphique Risques (2 min.)Risques Planification (1 min.)Planification Questions ( le temps restant )Questions

18 Risques Défaut de conception du moteur sélection (moteur inférences + système de classeurs) : –Trouver la bonne représentation des classeurs pour les faire interagir avec le moteur dinférence. Défaut de liaison moteur sélection/GUI Divers problèmes liés aux systèmes dexploitations. GUI : –Lenteur de linterface. –Le nombre de fourmis à gérer ne doit pas ralentir lapplication. –Environnement dynamique dans lextension pour simplifier les capacités de gestion et daltération dans lenvironnement.

19 Sommaire Introduction (6 min.) –Direction donnée par des problèmes rencontrés.Direction donnée par des problèmes rencontrés –Programmation statique vs programmation évolutive.Programmation statique vs programmation évolutive –Présentation du projet.Présentation du projet Détails de lapplication (7 min.) –Moteur de sélection.Moteur de sélection –Application graphique.Application graphique Risques (2 min.)Risques Planification (1 min.)Planification Questions ( le temps restant )Questions

20 Planification

21 Sommaire Introduction (6 min.) –Direction donnée par des problèmes rencontrés.Direction donnée par des problèmes rencontrés –Programmation statique vs programmation évolutive.Programmation statique vs programmation évolutive –Présentation du projet.Présentation du projet Détails de lapplication (7 min.) –Moteur de sélection.Moteur de sélection –Application graphique.Application graphique Risques (2 min.)Risques Planification (1 min.)Planification Questions ( le temps restant )Questions

22 Environnement changeant ? Possibilité davoir dautres comportements de fourmis ? Codes statiques ? …

23


Télécharger ppt "Conception de Programmes Evolutifs Pré Soutenance de TER Année 2004-2005 Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain."

Présentations similaires


Annonces Google