Intelligence artificielle développementale 27 Mars 2014 t oliviergeorgeon.com1/29.

Slides:



Advertisements
Présentations similaires
Techniques de l’intelligence artificielle (MIF24)
Advertisements

Le mécanisme des exceptions
Introspection et Réflexion Manipulation dynamique de code Java.
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Les Prepositions.
Tout All you need to know. Weve learned possessive adjectives My in french is __________? Your in french is ___________? His/her/its in french is ________?
Naturopea Circonscription de Schoelcher Ecole de Plateau Didier Vendredi 16 mars 2012.
Algorithme et structure de données
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Minimisation Techniques 1 Assimilation Algorithms: Minimisation Techniques Yannick Trémolet ECMWF Data Assimilation Training Course March 2006.
Les entrées /sorties en Java François Bonneville
GTI 350 Travail pratique Android sur tablettes Xoom de Motorola.
Mouvement de lOpen Access : retour sur 10 ansdinitiatives StevanHarnad Université du Québec à Montréal University of Southampton, UK 4/2/2014Paris: Arts.
Connexion base de données
Chapitre IV Object, interfaces, classes imbriquées.
Injection de dépendances
BlueJ_XI 1 Java, les objets : tout de suite ! Gestion des erreurs : les exceptions Notes de cours associées au chapitre 11 tutorial BlueJ
Daphnie et Drosophile Cycle de vie et élevage
Structures collectives en Java
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Electronic Portfolio/ Portfolio électronique QPAT
Structures de données et algorithmes – TP2
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Faculté I&C, Claude Petitpierre, André Maurer 1 Java.
© 2007 P. Van Roy. All rights reserved. 1 FSAB1402: Informatique 2 La Concurrence Déclarative Peter Van Roy Département dIngénierie Informatique, UCL
1 of of 40 UPDATE UPDATE ON TV ANTENNAS SINCE LAST BOARD MEETING SINCE LAST BOARD MEETING HELD ON FEBRUARY 25, 2010, YOUR BOARD HAS MADE MORE PROGRESS.
Les algorithmes: complexité et notation asymptotique
Langage Oriente Objet Cours 4.
Cours du 19 octobre. POO-L3 H. Fauconnier2 E) Constructeurs et héritage Le constructeurs ne sont pas des méthodes comme les autres: le redéfinition na.
Badr Benmammar Programmation concurrente et temps réel en Java Badr Benmammar
Les Webcasts Groupe des Utilisateurs SQL Server Avril 2014 – Statistiques Incrémentales Fred Pichaut – Microsoft Senior.
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Classes abstraites et Interfaces
Le patron de conception « Strategy » Simon Durocher ( )
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
14/02/2011www.datamonitor360.com1 Datamonitor360 Presentation & Guide Dutilisation.
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
JUnit Présentation complète de JUnit et « guide d’utilisation » en 13 transparents.
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke JavaCC.
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
Programmation concurrente
Design Pattern Memento. Principe : Enregistrer les changements d'états d'un objet Objectif : Pouvoir restituer les états précédents d'un objet.
Notre calendrier français MARS 2014
Multi-Thread Jian-Yun Nie
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Chapitre 9 Les sous-programmes.
Badr Benmammar Programmation concurrente et temps réel en Java Badr Benmammar
Cours 11 Threads. Chapitre X threads threadPOO-L3 H. Fauconnier3 Threads threads: plusieurs activités qui coexistent et partagent des données exemples:
Cours 5 Héritage, Interfaces, classes internes. POO-L3 H. Fauconnier2 La classe Object Toutes les classes héritent de la classe Object Object méthodes:
COURS DE PROGRAMMATION ORIENTEE OBJET :
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
CSI 1502 Principes fondamentaux de conception de logiciels
Java, les objets : tout de suite ! Rassembler, grouper les objets
Fabienne Boyer Laboratoire LIG (INRIA-UJF-INPG) Projet SARDES, INRIA Rhône-Alpes Usage.
1111 Gestion des exceptions Objectifs À la fin de ce cours, vous serez capables de : • Expliquer les concepts de base de la gestion des exceptions.
Techniques de l’intelligence artificielle
Différencier: NOMBRE PREMIER vs. NOMBRE COMPOSÉ
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Intelligence Artificielle Développementale
Branche Développement Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire.
Introduction à la programmation (420-PK2-SL) cours 20 Gestion des applications Technologie de l’information (LEA.BW)
27/02/2006L3 MIAGE - GLO ADA1 Les Paquetages Permettent d’encapsuler un groupe d’entités logiquement reliées. Comme toute unité de programme, le paquetage.
KM-Master Course, 2004 Module: Communautés virtuelles, Agents intelligents C3: Collaborative Knowledge construction & knowledge sharing Thierry NABETH.
Intention Séparer et extraire les traitements appliquées à différents type de nœuds d’une structure.
Objectifs À la fin de ce cours, vous serez capables de :
Factory Design Patterns. Contents Factory patterns: principesFactory patterns: principes The Factory Method patternThe Factory Method pattern The Abstract.
Tutorat en bio-informatique
Transcription de la présentation:

Intelligence artificielle développementale 27 Mars t oliviergeorgeon.com1/29

Plan Organisation dans le temps et l’espace. – Formalisme du couplage spatio-temporel. – Architecture cognitive. – Démonstrations. Travaux pratiques – Développez votre agent auto-programmant (suite). oliviergeorgeon.com2/29

Rappel des idées théoriques Le but est d’apprendre (découvrir, organiser et exploiter) des régularités d’interaction dans le temps et l’espace pour favoriser des critères innés (manger, apprendre, etc.). Pour construire par lui-même une ontologie de la réalité. – A partir d’expériences d’interaction. Détecter et répondre à des affordances de plus en plus sophistiquées. – auto-programmation. oliviergeorgeon.com3/29

Propose Trace-Based Reasoning Time Hierarchical abstraction Matching Select Try to Enact More abstraction oliviergeorgeon.com4/29

Example 2 oliviergeorgeon.com5/29

Exemples de comportements appris oliviergeorgeon.com6/29

Exemple 2 oliviergeorgeon.com7/29

Apprentissage de régularités spatio-séquentielles oliviergeorgeon.com8/29

Concept d’affordance Capacité d’un objet à suggérer une utilisation. To afford « être en mesure » ou « permettre » « Les objets nous poussent à agir » (Heinz Werner) – Une affordance est une propriété liée au couplage entre un agent et un environnement. Nous connaissons le monde en termes de possibilités d’interaction. oliviergeorgeon.com9/29

Formalisme Agent Environment ObservationAction Formalisation traditionnelle  O O  A A Agent Environment ExpérienceRésultat Apprentissage par expérience  R R  E E oliviergeorgeon.com10/29 Agent Environment Intended Interaction Enacted Interaction  I I  I I Radical Interactionism: I = E ✕ R X: Interactions composites

How to learn the existence of possibly persistent entities in the environment? How to adapt to different categories of entities? Spatial Radical Interactionism Agent Environment Intended Interaction i  I Enacted Interaction e  I oliviergeorgeon.com11/29 Spatial position σ Spatial transformation τ τ représente le système vestibulaire. Peut être implémenté par un accéléromètre. σ représente une information permettant d’inférer la localisation (convergence oculaire, déphasage inter-auriculaire, etc.)

Spatial exemple 1 oliviergeorgeon.com Agent Environment Enacted interaction:…….. Spatial position σ = (1,0) Spatial transformation τ= (0,0) Intended interaction 12/29

Agent Environment Environment “known” at time t d e cd  X d i cd  X d e p1 i p1 i pj  Ie pj  I Decisional mechanism Problème de récursivité Comment conserver la récursivité? oliviergeorgeon.com Spatial position σ Spatial transformation τ 13/29

Spatial Exemple 1 oliviergeorgeon.com14/29

Enactive Cognitive Architecture -L’agent se programm lui-même au cours de son expérience d’interaction. -L’architecture cognitive ne se programme pas elle-même. (“Kantian space”, e.g., Buzsaki 2013, Space, time, and memory) oliviergeorgeon.com15/29

Inspiration des neurosciences oliviergeorgeon.com16/29

Futures inspirations ? oliviergeorgeon.com Cotterill R. (2001). Progress in Neurobiology. 17/29

ECA agent exemple 2 oliviergeorgeon.com18/29

From “drives” to “goals” Afforded Simulated oliviergeorgeon.com19/29

Travaux dirigés oliviergeorgeon.com 3eme partie. Salles TP6 et TP7 Groupes de 2 20/29

Exercice Deux expériences possibles E = {e 1,e 2 } Deux résultats possibles R = {r 1,r 2 } Quatre interactions possibles E x R = {i 11, i 12, i 21, i 22 } Environnements – environnement 0 : e 1 -> r 1, e 2 -> r 2 (i 12 et i 21 ne se produisent jamais) – environnement 1 : e 1 -> r 2, e 2 -> r 1 (i 11 et i 22 ne se produisent jamais) – environnement 2 : e 1 -> r 2, e 2 -> r 2 – environnement 3 Systèmes motivationnels : – motivation 0 : v(i 11 ) = v(i 21 ) = 1, v(i 12 ) = v(i 22 ) = -1 – motivation 1 : etc. Implémenter un agent qui apprenne à effectuer les interactions positives sans connaître à priori son système motivationnel (motivation 1 ou motivation 2 ) ni son environnement (environnement 1 ou environnement 2 ). Produire un rapport d’analyse de comportement basés sur les traces. oliviergeorgeon.com21/29

Implémentation public static Experience e1 = new experience(); Experience e2 = new experience(); public static Result r1 = new result(); Result r2 = new result(); public static Interaction i11 = new Interaction(e1,r1, 1); etc. Public static void main() Agent agent = new Agent3(); // Agent1(); Agent2(); Environnement env = new Env3(); // Env1(); // Env2(); for(int i=0 ; i < 10 ; i++) e = agent.chooseExperience(r); r = env.giveResult(e); System.out.println(e, r, value); Class Agent Class Agent3 public Experience chooseExperience(Result r) Class Environnement Class Env3 public Result giveResult(experience e) Class Experience Class Result Class Interaction(experience, result, value) public int getValue() oliviergeorgeon.com22/29

Analyse de traces d’activité. oliviergeorgeon.com e1,r2,-1 e2,r1,1 e1,r1,1 Motivation1, Environnement 0. Motivation1, Environnement 1. Motivation1, Environnement 2. e1,r2,1 learn e1r1-e1r2,0 e1,r1,-1 learn e1r2-e1r1,0 e1,r1,-1 learn e1r1-e1r1,-2 e2,r2,1 learn e1r1-e2r2,0 e2,r1,-1 learn e2r2-e2r1,0 e2,r1,-1 learn e2r1-e2r1,-2 e1,r2,1 learn e2r1-e1r2,0 e2,r2,1 learn e1r2-e2r2,2 e1,r2,1 learn e2r2-e1r2,2 e2,r2,1 23/29

Environnement 3 Se comporte comme Environnement0 pendant les 10 premiers cycles, puis comme environnement1. Implémentation – If (step < 10) If (experiment = e1) then result = r1 If (experiment = e2) then result = r2 – Else If (experiment = e1) then result = r2 If (experiment = e2) then result = r1 – Step++ oliviergeorgeon.com24/29

Temps Activé i11 Propose … i11 i t-3 i t-2 i t-4 i t-1 i t = i11 i11 PRESENT FUTURPASSE Apprend AGENT itit (i t-1,i t ) Active i t-1 oliviergeorgeon.com Principe de l’Agent 3 (i11,i12) i12 e1 Choisit Execute (i11i11) 25/29

Implémentation de l’Agent 3 A la fin du pas de temps t – Enregistrer ou renforcer i c =  i t-1, i t, w  =  pre(i c ), post(i c ), weight(i c )  – Si i c est dans l’ensemble des interactions I t Weight(i c )++ – sinon L’ajouter dans l’ensemble des interactions I t avec weight = 1. Au début du temps t – Construire la liste des interactions composites activées A t A t = { i  I t | pre(i) = i t-1 } – Pour chaque interaction activée dans A t Créer une proposition pour post(ic).experience avec proclivité ic.weight * post(ic).valence. – Pour chaque expérience, additionner les proclivités de ses propositions. – Choisir l’expérience qui a la proclivité totale la plus élevée. oliviergeorgeon.com26/29

Class Interaction //attributs: Experience experience; Result result; int value; String label; Interaction preInteraction; Interaction postInteraction; int weight; oliviergeorgeon.com PostInteractoin Composite Interaction weight preInteraction 27/29

Mécanisme de décision oliviergeorgeon.com List propositions = new ArrayList (); for (Interaction activatedInteraction : getActivatedInteractions()){ Proposition proposition = new Proposition( activatedInteraction.getPostInteraction().getExperience(), activatedInteraction.getWeight() * activatedInteraction.getPostInteraction().getValence()); int index = propositions.indexOf(proposition); if (index < 0) propositions.add(proposition); else propositions.get(index).addProclivity(activatedInteraction.getWeight() * activatedInteraction.getPostInteraction().getValence()); } Collections.sort(propositions); If (propositions.size()> 0) proposedExperience = propositions.get(0).getExperience(); 28/29

Class Proposition Class Proposition implements Comparable – // attributs: – Experience experience – Int proclivity – // constructor – Proposition(Experience experience, int Proclivity) – // methods – int compareTo(Proposition proposition) return new Integer(proposition.getProclivity()).compareTo(this.proclivity); – boolean equals(Object otherProposition) return ((Proposition)otherProposition).getExperience() == this.experience; – void addProclivity(int proclivity) this.proclivity += proclivity; oliviergeorgeon.com29/29