Site Tools


Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
scenario-lum

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
scenario-lum [2025/02/25 17:37]
47.128.120.169 old revision restored (2024/12/17 17:37)
scenario-lum [2025/04/15 02:35] (current)
47.128.115.29 old revision restored (2025/01/22 17:42)
Line 12: Line 12:
   * Un système d'éclairage (lampe), avec interrupteur et capteur de luminosité.   * Un système d'éclairage (lampe), avec interrupteur et capteur de luminosité.
   * Une fenêtre équipée d'un store électrique, avec un interrupteur permettant de faire monter ou descendre plus ou moins le store (pas de capteur de luminosité).   * Une fenêtre équipée d'un store électrique, avec un interrupteur permettant de faire monter ou descendre plus ou moins le store (pas de capteur de luminosité).
- +   
-==== Les variables ==== +==== La routine de travail de Billy ====
- +
-Au départ de ce scénario, les avatars n'ont pas encore identifiés de pattern  +
-récurrents, il n'existe donc pas encore de variables internes (ou de **flux  +
-d'instances**), uniquement des variables d'entrées continues correspondant aux +
-capteurs et actionneurs des objets. +
- +
-  * Pour le système d'éclairage les variables d'entrées sont : +
-    - l'état de l'interrupteur du système d'éclairage, que nous nommeront V<sub>1:1</sub>+
-    - l'intensité lumineuse de la pièce, nommée V<sub>1:2</sub>+
- +
-  * Pour la fenêtre équipée d'un store électrique : +
-    - l'état de l'actionneur de store, nommée V<sub>2:1</sub> (-1 : descendre le store, 1 : monter le store, 0 : sinon). +
-    - Pourcentage d'ouverture du store, nommée V<sub>2:2</sub> (allant de 0, le store est fermé, et 1 le store est ouvert). +
- +
-===== Scénario ===== +
- +
-L'action se déroule dans le bureau de notre utilisateur, Billy+
-et ce durant plusieurs semaines.  +
- +
-==== Point de vue de l'utilisateur ====+
  
 Billy, notre utilisateur, se lève et se rend dans son bureau. Faisant encore Billy, notre utilisateur, se lève et se rend dans son bureau. Faisant encore
Line 50: Line 30:
 (oui, Billy travaille beaucoup plus qu'il ne le devrait). (oui, Billy travaille beaucoup plus qu'il ne le devrait).
  
-==== Point de vue du système d'objets connectés ====+L'action se déroule dans le bureau de notre utilisateur, Billy, 
 +et ce durant plusieurs semaines.
  
 +==== Les variables d'entrée du système ====
 +
 +Au départ de ce scénario, les avatars n'ont pas encore identifiés de pattern 
 +récurrents, il n'existe donc pas encore de variables internes (ou de **flux 
 +d'instances**), uniquement des variables d'entrées continues correspondant aux
 +capteurs et actionneurs des objets.
 +
 +  * Pour le système d'éclairage les variables d'entrées sont :
 +    - l'état de l'interrupteur du système d'éclairage, que nous nommeront V<sub>1:1</sub>.
 +    - l'intensité lumineuse de la pièce, nommée V<sub>1:2</sub>.
 +
 +  * Pour la fenêtre équipée d'un store électrique :
 +    - l'état de l'actionneur de store, nommée V<sub>2:1</sub> (-1 : descendre le store, 1 : monter le store, 0 : sinon).
 +    - Pourcentage d'ouverture du store, nommée V<sub>2:2</sub> (allant de 0, le store est fermé, à 1 le store est ouvert).
 +    
 En se basant sur les actions de Billy, décrites précédemment,  En se basant sur les actions de Billy, décrites précédemment, 
 nous pouvons supposer que les variables d'entrée du système nous pouvons supposer que les variables d'entrée du système
Line 66: Line 62:
 {{wiki:rplot_v12_v22_relation.png}} {{wiki:rplot_v12_v22_relation.png}}
  
 +===== Système d'apprentissage (point de vue du système d'éclairage) =====
  
-==== Point de vue du système d'éclairage (Orienté description du modèle) ====+Nous allons voir dans cette partie le fonctionnement 
 +du système d'apprentissage, en prenant le point de  
 +vue de l'avatar du système d'éclairage.
  
-Si nous prenons le point de vue du système d'éclairage, +Le système d'apprentissage est basé sur un système multi agents 
-celui-ci sera capable de découvrirdans un premier temps, +qui arriverontpar leurs interactionsd'extraire des motifs 
-des motifs liés à ses propres capteurs et actionneurs (puisque +pertinents pour les interactions des avatars entre eux.
-aucun //flux// n'est disponible pour le moment)+
  
-Puis dans un second temps de faire le lien entre ses motifs et +De plus il utilise un système de flux d'évènements lui permettant 
-ceux découvert par les autres objets de la société.+d'échanger des informations avec les systèmes d'apprentissages des 
 +autres avatars de la société (ici le store).
  
-Nous allons voir plus en détail dans cette partie le fonctionnement +==== Couples Producteur-Similarité ====
-du système d'apprentissage de l'avatar du système d'éclairage.+
  
-=== Découverte d'évènements ===+Le système multi agents d'apprentissage implémente 
 +des agents différencié en trois rôles : 
 +  * Les agents //Producteur//, qui manipulent des données et tentent d'en créer de nouvelles, ils sont différenciés en deux rôles : 
 +    * Les agents **Découper**, qui sont liés aux variables d'entrées du système d'apprentissage (correspondant aux données venant des capteurs et actionneurs de l'objet). 
 +    * Les agents **Association**, qui sont liés aux flux d'évènements (internes ou externes) et cherchent à associer des évènements provenants de ses flux pour en créer de nouveaux. 
 +  * Les agents **Similarité**, qui eux sont toujours liés à un agent //Producteur//, tentent de différencier les types //d'instances d'évènements// et d'identifier les plus pertinents. 
 +   
 +Ainsi les agents du système d'apprentissage fonctionnent 
 +toujours en **Couples Producteur-Similarité**. 
  
-La découverte de motifs récurrents à partir des entrées continues +=== Couple Découper - Similarité (D-S) ===
-que sont V<sub>1:1</sub> et V<sub>1:2</sub> est fait les couples +
-formés par des agents Découper et des agents Similarité paramétrés +
-de diverses manières. +
- +
-== Découpe == +
- +
-Comme dit précédemment, le système d'apprentissage doit commencer +
-par essayer d'extraire des informations liés à ses variables d'entrées +
-avant d'essayer de les relier à un quelconque évènement "extérieur"  +
-(de plus, à cette étape du scénario aucun flux n'est disponible pour +
-l'autre objet). +
- +
-Ce travail de découpe est effectué par les agents Découper du système +
-d'apprentissage. Ceux-ci, suivant divers paramètres, vont "déplacer" +
-une fenêtre de découpe le long de la variable. Ces fragments de +
-variables sont décrit à l'aide d'histogrammes par les agents Découper. +
- +
-{{wiki:decoupe.png}} +
- +
-Ces fragments de variables sont évaluer via un feedback //d'intérêt//, +
-aidant ainsi à la sélection des paramètres de découpe par l'agent Découper. +
- +
-== Création de Flux == +
- +
-La découverte d'évènements récurrents se fait à l'aide d'un couple +
-d'agent Découper et Similarité. L'agent Découper faisant varier +
-ses paramètres de découpe et l'agent Similarité faisant varier +
-ses paramètres de différenciation, les deux en fonction de la +
-variable d'entrée à laquelle ils sont associés. +
- +
-La qualité des paramètres, évaluée à partir d'un feedback //d'intérêt//, +
-est sauvegardé dans un **espace de marquage** à trois dimensions +
-(la variable sélectionné, les paramètres de l'agent Découper et +
-les paramètres de l'agent Similarité). +
- +
-Cet espace de marque sert à garder, dans un espace commun de recherche +
-de paramètres à tous les couples d'agents, la trace de l'utilisation de +
-certains paramètres et leurs qualités. +
- +
-{{wiki:hemis_marquage.png}} +
- +
-Une fois qu'un couple, ou plutôt l'agent Similarité d'un couple d'agent, +
-aura déterminé qu'un //concept d'évènement// est assez récurrent il créera +
-un //flux d'instances d'évènements// dans lequel il fera passer les //instances// +
-correspondants au //concept d'évènement// du flux, et auxquels pourra se connecter +
-les agents Association du système d'apprentissage, mais aussi les agents  +
-Association des autres systèmes d'apprentissage.  +
- +
-{{wiki:flux_creation.png}} +
- +
- +
-Pour connaitre la similarité, ou plutôt le pourcentage de similarité, entre deux  +
-instances d'évènement, l'agent Similarité utilise une fonction d'intersection des +
-histogrammes représentants les instances. +
- +
-{{wiki:similarite.png}} +
- +
-=== Partage d'évènements === +
- +
-A peu près même moment que le système d'apprentissage de l'éclairage +
-créé ses //flux d'instances//, des //flux d'instances externes// font +
-leur apparitions. +
- +
-Une notation possible est présentée ci-dessous. Noté **F**, un flux est +
-identifié par l'ip de l'objet fournissant le flux et l'id de ce flux. +
-De la même manière sont notés **e** les //concepts d'évènements// associés +
-à un flux, il sont donc identifiés de la même manière que les flux, avec +
-id et ip. +
- +
-{{wiki:flux_notation.png}} +
- +
-Pour simplifier la notation pour le scénario, l'ip du système d'éclairage +
-sera 1 et l'ip du store électrique sera 2. L'ip 0 est considéré comme un +
-"localhost", se sont les flux identifiés comme personnels par l'objet, +
-le fait de donner un ip 0 pour identifié le "moi" est totalement +
-arbitraire, un flux pourrait garder l'ip de l'objet apprenant, cependant +
-les agents du système d'apprentissage, en particulier les agents Découper, +
-devraient être capables de différencier les flux personnels et les flux  +
-extérieurs. +
- +
-Ainsi le système d'apprentissage voit apparaître, à peu près au même moment, +
-des flux d'instances //interne// (avec un ip 0) et des flux d'instances +
-//externes// (avec un ip différent de 0). +
- +
-Les couples d'agents formés par des agents Association et Similarité vont +
-alors rechercher différentes Association de concepts d'évènements possibles +
-et pertinents. +
- +
-{{wiki:flux_association.png}} +
- +
-Les Associations vont être faites en prenant prioritairement en références +
-les flux internes du système d'apprentissage. Cet aspect "égoïste" de +
-l'apprentissage est nécessaire pour éviter une redondance de l'apprentissage +
-dans tous les avatars de la société, et permet aussi une spécialisation +
-de ces mêmes avatars. En effet, les avatars d'objets possédant peu de  +
-capteurs et d'actionneurs seront plus enclin a tenter d'associer des évènements +
-provenant de flux externes; à l'inverse des avatars d'objets possédant beaucoup +
-de capteurs et d'actionneurs seront plus enclin à se concentrer uniquement sur +
-le découpage de leur variables d'entrées et sur la découverte de concepts d'évènements +
-"intéressants"+
- +
-==== Point de vue du store électrique (Orienté Scénario) ==== +
- +
-Dans le point de vue précédent, l'accent a été mis sur le fonctionnement +
-globale du modèle. De ce point de vue, au contraire, nous allons nous +
-concentré, pas à pas, sur les suites logiques d'évènements pouvant arriver +
-à un système d'apprentissage. +
- +
-=== Variables d'entrées et Découpe === +
- +
-Reprennons à partir de la découpe d'une variable d'entrée,  +
-par exemple V<sub>2:2</sub>+
- +
-{{wiki:V2_2.png}} +
- +
-== Couple Découper - Similarité (D-S) ==+
  
 L'apprentissage de la découpe d'une variable L'apprentissage de la découpe d'une variable
 d'entrée est implémenté par un couple D-S. Leurs d'entrée est implémenté par un couple D-S. Leurs
-intéractions, dont nous allons voir le fonctionnement,+interactions, dont nous allons voir le fonctionnement,
 permet de connaître la "pertinence" du découpage permet de connaître la "pertinence" du découpage
 d'une variable en particulier. Ils font varier leurs d'une variable en particulier. Ils font varier leurs
Line 215: Line 105:
  
 L'agent Découper va alors parcourir la variable d'entrée en faisant L'agent Découper va alors parcourir la variable d'entrée en faisant
-"glisser" sa fenêtre de découpe le long des variations. La fenètre+"glisser" sa fenêtre de découpe le long des variations. La fenêtre
 peut être simplement glissante, ou bien glissante et suivant les  peut être simplement glissante, ou bien glissante et suivant les 
 variations de la variable d'entrée, comme sur l'image ci-dessus. variations de la variable d'entrée, comme sur l'image ci-dessus.
Line 222: Line 112:
 la forme d'un histogramme. la forme d'un histogramme.
  
-== Similarité et Différenciation ==+== Similarité ==
  
 Les histogrammes produit par l'agent Découper sont alors récupéré Les histogrammes produit par l'agent Découper sont alors récupéré
Line 243: Line 133:
 une instance, alors un nouveau lui correspondant sera créé. une instance, alors un nouveau lui correspondant sera créé.
  
-<note> +Les paramètres des agents Similarité est leur seuil de similarité, c'est 
-le paramètre de l'agent Similarité serait sont seuil d'acceptation +à dire le seuil qui leur fait dire si oui ou non deux instances sont similaires.
-de similarité, mais cela reste à confirmer +
-</note>+
  
-== Feedback et sélection de concept ==+=== Couple Association Similarité (A-S) === 
  
-Avant que la moyenne d'un groupe d'instance soit considérée comme un réel +Déterminer l'intérêt d'associer un flux à un autre est 
-concept d'évènement, l'agent Similarité d'un couple D-S va calculer l'intérêt +la fonction des couples A-S. Les couples A-S de type 
-de chaque pré-concept, et marquer le maximum de ces intérêts dans l'espace de +//Explorateur// se déplaçant et marquant l'intérêt des 
-marquage des couple D-S.+paramètres testés dans l'espace de marquage.
  
-Le feedback d'intérêt d'un pré-concept d'évènement est calculé à partir de la  +== Association ==
-spécificité de cet évènement, c'est à dire si l'évènement "sort du lot", et  +
-de la redondance de cet évènement. Pour faire simple, parmis tous les évènements +
-"rare", celui qui aura le plus fort intérêt sera celui qui arrive le plus souvent, +
-donc potentiellement le moins dû au hasard.+
  
-<code>+L'agent Association d'un couple A-S prend pour référence 
 +le flux (interne ou externe) au quel il est affecté dans  
 +l'espace de marquage. Les paramètres de l'agent Association 
 +étant les autres flux auquel il tente d'associer son flux  
 +de référence.
  
-    intérêt = spécificité + redondance+Un agent Association créé donc des motifs basés sur une 
 +association d'un évènement **e1** et d'un évènement **e2**, 
 +puis créé des instances de ce motif à chaque fois que des 
 +instances de e1 et e2 sont captées, toujours une de chaque, 
 +une puis l'autre, séparé d'un certain Δt pouvant être nul (voir 
 +négatif).
  
-</code>+{{wiki:motif.png?250}} 
  
-C'est lorsqu'un couple D-S de type //Exploiteur// se positionnera, dans l'espace +== Similarité ==
-de marquage, sur les paramètres de découpe de V<sub>2:2</sub> que la création de +
-Flux d'instance se fera pour les concept ayant la plus haute spécificité.+
  
-== Conception de flux d'instances ==+Tout comme pour le couple D-S précédemment présenté, l'agent 
 +Similarité va comparer et trier les différentes instances de 
 +l'association. 
  
-<note important> +La similarité entre deux associations est calculé par rapport 
-Le fonctionnement de l'API de flux n'est, pour le moment, pas clairement +à la différence entre les Δt de chaque associations. L'agent 
-définie.+Similarité d'un couple A-S "rangera" donc les instances produite 
 +par l'agent Association selon leurs Δt. 
 + 
 +<note> 
 +TODO : image/illustration
 </note> </note>
  
-Comme dit précédemment, les couples D-S vont extraire +==== L'espace de marquage ====
-des //concepts d'évènements// et créer des //flux d'instances d'évènements//+
-Ces flux pourraient correspondre à des flux RSS (ou tout autre outils permettant +
-le partage d'un "fil d'évènements"), ils seront ainsi mis à jour part l'agent +
-Similarité du couple associé, à chaque fois que l'agent Découper extrait une +
-nouvelle //instance d'évènement// correspondant au //concept d'évènement// +
-du flux.+
  
-Supposons qu'à partir de V<sub>2:2</sub> deux concepts d'évènements soient +partir des éléments de la section précédente, décrivant les 
-créés.+agents et les couples d'agents, nous pouvons décrire les choix 
 +des paramètres de ces agents comme l'exploration d'un **espace  
 +en trois dimensions** par les couples d'agents
  
-Il y aura donc deux flux de créé par le couple D-S affecté à cette variable +{{wiki:hemis_marquage.png}}
-d'entrée. Ces flux étant internes du point de vue du store et externe +
-du point de vue du système d'éclairage.+
  
-{{wiki:conceptualisation_nntp.png}}+Ces trois dimensions représentent : 
 +  - Les variables ou flux, auquels peuvent se lier les couples. 
 +  - Les paramètres possibles de l'agent //Producteur//
 +  - Les paramètres possibles de l'agent //Similarité//
 +   
 +Cet **espace en trois dimensions** sert de "mémoire" au 
 +couples du même type qui le **marque** pour se "souvenir" des 
 +paramètres potentiellement intéressants pour une variable 
 +ou un flux, à la manière d'un dépôt de phéromones. Il existe 
 +donc un **espace de marquage** par type de couple (voir plus 
 +si certains agents implémente plusieurs fonctions différentes, 
 +ex. deux espaces pour les couple D-S si les agents Découper 
 +ont deux fonctions de découpe possibles).
  
-<code> +Pour les **espaces de marquage**, les couples d'agents se  
-Exemple de description d'un flux en JSON-LD :+différencient en deux types les **Explorateurs** et les 
 +**Exploiteurs**.
  
 +=== Les explorateurs ===
  
-+Comme leurs nom l'indique, ceux sont les couples "bougeant" 
-  "@context": "http://www.w3.org/ns/activitystreams",+le plus dans l'espace de marquageafin de déterminer  
 +rapidement quels sont les paramètres les plus pertinents 
 +pour une variable donnée.
  
-  "@type": "Activity",+Les //Explorateurs// commencent par se fixer à une position  
 +fortement marquée (ou aléatoire si aucun marquage), puis se 
 +déplacent en "spiraljusqu'à trouver une place libre.
  
-  "published": "2016-01-25T12:34:56Z"  +Alors ils testent les paramètres un certain temps, marque 
 +l'emplacement de l'intérêt maximum trouvé, puis se redéplacent.
  
-  "author":+=== Les exploiteurs ===
-    "@type": "Object",+
  
-    "@id": "URI de l'objet / URI du flux" +Ce type de couple se fixe sur les emplacements les plus 
-  }+marqués, peuvent se déplacer légèrement autour et se  
 +"téléporterd'un emplacement pertinent à un autre.
  
-  "orderedItems": [ +Les //Exploiteurs// continue de marquer l'intérêt de 
-    { +l'emplacement, les couples A-S y rajoute un marquage  
-      "@type": "Event"+de prédiction, permettant de donner plus de poids à 
 +un emplacement.
  
-        ... +==== Feedback d'intérêt ====
-    }, +
-    { +
-      "@type": "Event"+
  
-       ..+Dans la section précédente nous avons parlé du marquage 
-    } +d'un intérêt dans **l'espace de marquage**Celui-ci est 
-  ] +calculé à partir d'un **feedback d'intérêt** dont se sert 
-}   +les agents Similarité pour classer les instances d'évènement 
-</code>+en groupe, chaque groupe ayant un intérêt, c'est l'intérêt 
 +maximum qui est marqué dans l'espace de recherche aux coordonées 
 +correspondant à la variable et aux paramètres des agents. 
  
-=== Flux d'instances et Association ===+=== L'intérêt intrapersonnel === 
 +  
 +Une découpe de variable, ou une association de flux, est évalué sur  
 +sa capacité à découvrir des motifs pertinents pour soi, sans prendre  
 +en compte autrui. Cet intérêt sert essentiellement au marquage de  
 +n'importe quels évènements captés, que se soit des évènements internes 
 +comme externes.
  
-Reprennons à partir du moment où tous les flux (internes et externes)  +**L'intérêt intrapersonnel** se calcule à partir de la **spécificité**,  
-de tous les objets de la société soient créés et accessibles par le store.+le **poids** et la **précision** des évènements évaluées.
  
-C'est à dire :+La **spécificité** d'un évènement est calculé à partir de la différence 
 +entre l'évènement et la moyenne générale de tous les évènements. La 
 +spécificité permet ainsi d'identifier les évènements "sortant du lot".
  
-  4 flux internes correspondant à : +Le **poids** d'un évènement correspond à son nombre d'occurence 
-    V2:1 à 1 pendant un certain temps. +par rapport au nombre d'occurence des autres évènements.
-    V2:1 à -1 pendant un certain temps. +
-    * V2:2 augmentant progressivement de 0 à 1. +
-    * V2:2 diminuant progressivement de 1 à 0. +
-  * 6 flux externes correspondant à : +
-    * V1:1 passant de 0 à 1 instantanément. +
-    * V1:1 passant de 1 à 0 instantanément. +
-    * V1:2 passant à 1 instantanément. +
-    * V1:2 passant à 0 instantanément. +
-    * V1:2 augmentant progressivement. +
-    * V1:2 diminuant progressivement (sur plusieurs heures).+
  
-== Couple Association Similarité (A-S) == +La **précision** d'un évènement, pour l'intérêt, peut être calculé 
 +à partir de l'écart type des similarités entre les instances d'un 
 +évènement.
  
-Déterminer l'intérêt d'associer un flux à un autre est +=== L'intérêt interpersonnel ===
-la fonction des couples A-S. Les couples A-S de type +
-//Explorateur// se déplaçant et marquant l'intérêt des +
-paramètres testés dans l'espace de marquage.+
  
-== Association ==+Pour nuancer le poids de l'intérêt intrapersonnel sur l'intérêt 
 +global d'un évènement, et aussi pour éviter une certaine redondance 
 +des motifs appris par les différents systèmes, un **intérêt  
 +interpersonnel** est calculé.
  
-L'agent Association d'un couple A-S prend pour référence +Cet **intérêt interpersonnel** prend en essentiellement l'aspect 
-le flux (interne ou externe) au quel il est affecté dans  +social de l'apprentissage et permet de donner un intérêt plus 
-l'espace de marquage. Les paramètres de l'agent Association +fort pour les motifs étant plus pertinents d'indiquer aux autres, 
-étant les autres flux auquel il tente d'associer son flux  +c'est à dire du système (le //moi//) vers les autres systèmes (//autrui//).
-de reférence.+
  
-== Feedback d'intérêt ==+L'**intérêt interpersonnel** est calculé à partir du **nombre de  
 +flux/variables internes utilisé(e)s** pour l'élaboration du concept  
 +d'évènement évalué et du **nombre de flux/variables nécessaires** pour 
 +la création d'une instance en fonction du type de couple (1 pour les 
 +couple D-S et 2 pour les couples A-S).
  
-Comme pour le couple D-S, l'agent Similarité récupére +Ainsi cet intérêt permet de donner plus de poids aux évènements n'utilisant 
-et classe les instances de l'association récupérées. +que de flux/variables internespuis aux évènements associant un flux interne 
-L'instance d'une association esten partie, caractérisée +et externe, et enfin les associations de deux flux externes.
-par le delai entre la reférence et le flux associé, délai +
-pouvant bien entendu être négatif.+
  
-Un feedback d'intérêt est alors appliqué aux associations +<note tip> 
-découvertes par le couple A-S. Ce feedback est composé +Concernant les motifs "d'intéraction" :
-de deux intérêts :+
  
-  * L'**intérêt intrapersonnel** : +Une certaine redondance de l'apprentissage se retrouve lors de la  
-  +découverte de motifs dit "d'intéraction", c'est à dire mettant 
-L'association des flux est évalué sur sa capacité à découvrir des motifs  +en jeux plusieurs systèmes, donc des associations entre un flux 
-pertinent pour soi, sans prendre en compte autruiIl prend en compte +interne et un flux externeUn même motif peut potentiellement 
-la spécificité et la précision des instances évalués.+être appris et diffusé par deux systèmes différents.
  
-  * L'**intérêt interpersonnel** :+Exemple (en restant du point de vue du système d'éclairage) : 
 +le store m'indique qu'il s'est ouvert (V2:2, ou V2:1, voir un motif  
 +associant les deux), je capte une augmentation de la luminosité (V1:2) 
 +que je communique aussi. L'association de l'ouverture du store (e1) et de 
 +l'augmentation de la luminosité (e2) est faite par les deux systèmes et 
 +les deux systèmes créent des flux correspondant à cette association, il  
 +y a donc redondance.
  
-L'association des flux évalué sur sa capacité à découvrir des motifs +Cette redondance est elle un mal ?
-pertinent pour autrui, c'est à dire qu'il plus pertinent que se soit +
-le store qui prévienne les autres avatars de l'arrivé de l'association.+
  
-Ainsi cet intérêt est calculé à partir du nombre de flux interne utilisé +Doit-on utiliser cette redondance à notre avantage et l'utiliser 
-dans l'association, car nous partons du principe que chacun des avatars +pour faire un consensus sur des motifs communs à certains objet ? 
-cherche en priorité les motifs liés à ses capteurs, sans pour autant laisser +Si oui comment détecter qu'un même motif a été découvert par deux 
-une probabilité nulle de trouver des motifs à partir de flux externe.+systèmes différents et comment arriver à un consensus et comment 
 +décider lequels des systèmes aura pour rôle de notifier les autres 
 +des instances de ce motif ?
  
-<note tip> +D'un autre point de vuecette redondance est elle nécessaire ? 
-L'idée de prendre en compte le nombre de flux internepart du prédicat + 
-qu'un objet possède des capteurs et des actionneurs potentiellement liés +Ne pourait on pas faire en sorte "d'orienter" l'apprentissage 
-(excapteur de luminosité + ampoulechauffage + thermomètre...)+pour qu'un minimum de système, au mieux un seul, découvre ce motif ? 
-  + 
-Le principe étant que les avatars créeront en priorité des associations +Personellement je penche plus vers ce second point de vueNous 
-intrapersonnellesles partagerontet qu'au bout d'un certain tempsavec +pourrions par exemple donner plus d'intérêt à un concept d'association, 
-des concepts de plus en plus complexe, associer des motifs externes avec  +ou d'interaction, si l'évènement e2 de cette association est capté par un flux 
-des motifs internes sera plus pertinent que d'associer deux motifs internes +interne.  
-entre eux.+ 
 +Pour reprendre l'exemple: dans l'association "ouverture store" -> "augmentation 
 +luminosité"e2 provient d'un flux interne pour le système d'éclairage l'association 
 +et d'un flux externe pour le storeL'association aura donc un plus fort intérêt à 
 +être exploité par le système d'éclairage que par le store électrique
 + 
 +Partir sur ce principe permettrait de trouver plus rapidement des motifs "d'intéraction" 
 +complexec'est à dire mettant en jeu plusieurs avatars. 
 + 
 +De plus vérifier qu'un motif est "vrai" est plus facile que de détecter une redondance  
 +(avis personnel)quand bien même qu'avant d'être diffusé un motif est passé par une  
 +longue phase vérificationdonc les systèmes n'ont pas vraiment de "raison" vérifier la 
 +véracité d'un motif, juste de regarder si il leur est utile ou non. De plus les systèmes 
 +ont les mêmes capacités d'apprentissage, raison de plus pour qu'ils se fasse "confiance" 
 +leur de l'apprentissage de motif d'intéraction (je ne parle ici que d'apprentissage et non 
 +de synchronisation entre eux).
  
 </note> </note>
  
-L'intérêt d'une association est donc alculé à partir de l'intérêt égoiste et altruiste.+=== Calcul du feedback === 
 + 
 +Le feedback d'intérêt **Ί** d'un évènement e se calcule donc à partir du rapport  
 +de son intérêt intrapersonnel **Ί<sub>α</sub>** sur son intérêt interpersonnel  
 +**Ί<sub>ε</sub>**. 
 + 
 +Pour le calcul de **Ί<sub>α</sub>** d'un évènement, notons sa spécificité **s**,  
 +sa précision **p**, son poids **π**. 
  
 <code> <code>
-intérêt = (intérêt égoiste) ^ alpha  *  (intérêt altruiste) ^ beta+Ί(e) Ία(e)^δ / Ίε(e)^β
  
-<=> intérêt = ( ( spécificité + précision ) ^ alpha ) * ( ( nb_flux_interne + 1 ) ^ beta )+avec :  
 +   
 +  Ία(e) s(e) * p(e) * π(e) 
 +  
 +et 
 +   
 +  Ίε(e) = (Nb_Var_Necessary(e) + 1) - Nb_Internal_Var_Used(e) 
 +   
 +   
 +remarque: les coefficients δ et β ne sont présent que pour donner 
 +plus de "poids" à l'un ou l'autre des intérêt. Par défaut δ = β = 1. 
 +</code>
  
 +=== Feedback Prédictif ===
  
-Les coefficients alpha et beta sont ici pour donner plus de poids à l'une ou l'autre des parties de l'intérêt, +Lorsqu'un motif créé par un couple A-S semble "intéressant", celui-ci 
-par défaut nous pouvons les considérer comme égals à 1.+passe un mode "prédictif", les couples A-S tente alors d'utiliser ce 
 +motif pour prédire l'apparition d'évènement e2, à partir de l'apparition 
 +d'un évènement e1.
  
 +Ce feedback prédictif est un score **s** caculé à partir d'une précision
 +**acc**, qui est calculé à partir d'une tolérance **tol** (qui est l'écart
 +type de la durée entre e1 et e2 lors des prédictions réussies) et de la
 +fréquence d'apparition de e2.
 +et d'une confiance **rel**, qui est le rapport de prédictions juste sur 
 +le nombre de prédictions tentés.
 +
 +<code>
 +s = acc * rel
 +
 +avec :
 +
 +  rel = nb(prédictions) / nb(e1)
 +  
 +et
 +
 +  acc = 1 - ( tol * freq(e2) )
 +  
 </code> </code>
 +
 +Le maximum des scores est ajouté à l'intérêt dans l'espace de marquage des 
 +couple A-S pour la variable et les paramètres associés, leurs donnant ainsi
 +plus de poids.
 +
  
 <note tip> <note tip>
-Autre possibilité :+Pour l'instant le feedback prédictif sera utilisé comme ceci, mais 
 +n'est pas exclu d'être modifié.
  
-intérêt = ((spécificité + précision) ^ alpha) / ( ( 3 - nb_flux_interne ) ^ beta )+Une possibilité serait d'utiliser les formules utilisées en statistique 
 +pour évaluer un classifieur.
  
-Le but étant que le rapport intra/inter soit, pour un même intérêt +Le score serait calculé à partir :
-égoiste, plus important si plus de flux interne sont mis en jeux dans +
-l'association. +
-</note> +
  
-== Prédiction et Partage ==+  * d'une **sensibilité** qui est le rapport des **vrais positifs** ou VP (les prédictions juste) sur toute les prédictions dite comme vrais (toutes les fois où l'on a supposé l'arrivé de e2 à partir de e1).
  
-A partir de ce feedback d'intérêt, marqué par les couples A-S de type //Explorateur//, +  * et d'une **spécificité** qui est le rapport des **vrais négatifs** ou VN (les prédictions dite fausses et vraiment fausses) sur toutes les fois où l'on a dit que e2 n'arrivera pas après e2.
-les couples A-S vont pouvoir tenter d'évaluer, à l'aide d'un second feedback, la capacité +
-prédictrice des paramètres ayant le plus fort intérêt.+
  
-De nouveaux flux sont alors créé pour les évènements association les plus pertinents,  
-donc en priorité ceux dont l'avatar associe deux évènements internes, puis ceux avec un  
-évènement externe et un évènement interne, et enfin ceux avec deux évènements externes. 
  
-<note tip> +Si nous voulons utiliser ces formules il faudra donner la possibilité 
-Donner un poids différents pour les associations flux externe -> flux interne et  +au couple A-S prédicteur de dire Oui ou Non à la question : un évènement 
-flux interne -> flux externe, permetterais d'éviter des redondances pour les associations +e2 arrivera-t-il après cet évènement e1 ?
-avec un seul flux interne.+
  
-Cependant, la création de motif "cyclique" restevoir est potentiellement renforcé, mais +Ceci pourrait être fait à partir d'un de l'écart de temps entre les deux 
-plus facilement détectable de la redondance d'un motifsurtout dans un apprentissage +instancespar exemple : si e2 n'est pas encore apparu un temps T après 
-décentralisé.+l'apparition d'un évènement e1alors il n'arrivera surement jamais.
 </note> </note>
  
-===== Problèmes =====+==== Flux d'instances ==== 
  
-  * Supposons que dans cette pièce nous rajoutons un chauffage électrique connectécomment faire en sorte que les échanges entre les objets se "spécialisent?+Lorsqu'un concept d'évènementqu'il soit découvert part un couple D-S 
 +ou A-S, est déterminé comme "intéressantalors un **flux d'instances** 
 +correspondant au concept d'évènement est créé pour pouvoir y partager 
 +les instances de ce concept (c'est à dire les instances similaires 
 +au concept d'évènement) avec les autres systèmes.
  
-Les évènements proposé par les flux d'instances du chauffage sont en effet peu utile pour le +=== Identification ===
-système d'éclairage (peut être un peu moins pour le store), +
-le but ici serait qu'au flux externes d'un système, voir à tout l'objet proposant ces flux,  +
-soit associé un feedback "d'utilité". Puisque les systèmes +
-d'apprentissage cherche prioritairement des associations avec pour référence leurs +
-flux d'instances internes, nous pouvons facilement l'imaginer évaluer l'utilité +
-d'un flux d'instances externes lui ayant permis ou non de trouver des motifs +
-avec pour références ses concepts personnels.+
  
-  * Supposons maintenant que dans une autre pièce un système d'éclairage identique au notre soit installé, comment permettre que ce nouveau système d'éclairage apprenne plus vite avec l'aide de notre système d'éclairage ?+Du point de vue d'un système, et donc de ses agents, un flux est perçu 
 +comme un **flux interne** si celui-ci a été créé par le système, et  
 +comme un **flux externe** si il a été créé par un autre système.
  
-  * En plus du feedback d'intérêt, il est censé il y avoir un feedback prédictif, comment un motif pourrait passer un "mode prédictif" s'il prend en compte des flux externes ?+<note> 
 +Par exemple : 
  
-  * Comment les avatars pourrait arriver, de manière émergente, à un consensus concernant un motifpour que celui soit "commun" à la société ou à un groupe ?+Du point de vue du système d'éclairage, les flux d'instances correspondant 
 +aux concepts : augmentation soudaine de la luminosité 
 +augmentation progressive de la luminositédiminution soudaine de la luminosité, 
 +interrupteur passe à ONinterrupteur passe à OFF, etc... seront perçus 
 +comme des **flux interne** car créé par le système d'éclairage.
  
 +A l'inverse, les flux correspondant aux concepts : store s'ouvrent, store
 +se ferme; seront perçu comme des **flux externes**.
 +</note>
  
 +Pour aider à l'identification d'un flux par un système, et ses agents,
 +est associé au flux URI du système l'ayant créé (donc l'URI de l'avatar)
 +et l'URI du concept correspondant au flux (généré par le système). Les 
 +agents d'un système connaiteront l'URI de l'objet.
 +
 +{{wiki:flux_notation.png}}
 +
 +<note>
 +TODO : mettre à jour l'image quand une notation aura été définie.
 +</note>
 +
 +=== API de transfert d'instances ===
 +
 +<note important>
 +Le fonctionnement de l'API de flux n'est, pour le moment, pas clairement
 +définie. Ce qui est écrit dans cette section sont des idées sur le fonctionnement
 +général de l'API et sur l'adaptation possible de protocoles, API ou frameworks déjà 
 +existant pour les besoins du système d'apprentissage.
 +</note>
 +
 +== Fonctionnement hypothétique ==
 +
 +Si nous prenons le point de vue d'un avatar, le principe des flux
 +reviens à proposer un service de notification d'évènements aux autres
 +avatars de la société.
 +
 +<note>
 +Le mot service utilisé ici ne correspond pas forcément
 +à un service web à proprement parlé, ce n'est peut être pas
 +le bon mot à employer.
 +</note>
 +
 +Ainsi lorsque le système d'apprentissage créé un flux correspondant
 +à un concept d'évènement, un flux/service de notification est alors
 +créé par l'avatar et les autres avatars de la société sont avertis
 +de la création du service de notification. (par la même, si un service
 +de notification est détruit, les autres avatars seront avertis de sa
 +destruction, et le flux externe du système d'apprentissage sera détruit).
 +
 +Lorsqu'un avatar est avertis de la création d'un service de notification,
 +son système d'apprentissage créera un flux d'instance correspondant.
 +
 +Lorsqu'un couple A-S prendra pour référence un flux externe, cela signifiera 
 +que l'avatar "s'abonne" au service de notification proposé par un autre avatar.
 +De la même manière un avatar "s'abonnera" à un service de notification si un
 +couple A-S tente d'associer son flux référence à un flux externe.
 +
 +== Protocoles, API, frameworks déjà existants ==
 +
 +Pour implémenter une API permettant de mettre en place de tel fonctionnalités,
 +adapter certains protocole/API/frameworks à nos besoins pourrait être pertinents.
 +Ci-dessous sont listés quelques API potentiels :
 +
 +  * Les flux RSS
 +  
 +Le mode de fonctionnement des [[https://fr.wikipedia.org/wiki/RSS | flux RSS]] semble 
 +plutôt bien correspondre au principe des flux d'instances (d'ailleurs c'est de là qu'ils 
 +tirent leurs noms). Cependant les flux RSS ont quelque faiblesse, se sont des fichiers 
 +XML où sont écrit toutes les notifications et sont accessible par tous. De plus se sont
 +les outils "abonnés" qui regarde, à intervals réguliers, si des modifications on eu lieu 
 +dans le fichier XML. Ce ne sont donc pas de réelles "notification" fait d'un serveur à un
 +terminal (pour notre cas, d'un avatar à un avatar) et il faudrait mettre en place un 
 +programme permettant de détecter la création (ou la suppression) d'un flux dans la société.
 +
 +  * Le réseau Usenet et le protocole NNTP/S
 +  
 +Le réseau [[https://fr.wikipedia.org/wiki/Usenet | Usenet]] est à la base un système
 +de réseaux de forums permettant le partage rapide, à des groupes "d'abonnés", de nouvelles 
 +(ou news) concernant un forum. Il utilise le protocole [[https://tools.ietf.org/html/rfc3977 | NNTP]]
 +qui a été conçu spécialement pour le transport de news dans un réseau, il existe en version
 +"sécurisé": NNTPS. La [[https://tools.ietf.org/html/rfc1036 | RFC1036]] décrit le format
 +standard des échanges de messages dans un réseau Usenet.
 +
 +==== Récapitulatif =====
 +
 +Avant de passer au fonctionnement pas à pas de l'apprentissage en prenant le point de vue
 +du store électrique, voici un récapitulatif du fonctionnement général du système d'apprentissage.
 +
 +=== Variables d'entrées & Découpe d'instances d'évènements ===
 +
 +Les **couples D-S** vont explorer leur **espace de marquage** en y déposant l'intérêt maximum
 +trouvé avec les paramètres associés. Ce marquage sert de mémoire pour retrouver
 +facilement des paramètres pertinents et va aussi influencer les déplacements des
 +couple D-S dans l'espace de marquage, c'est à dire dans leurs choix de paramètres.
 +
 +L'agent **Découper** d'un couple D-S fait "glisser" une fenêtre de découpe sur
 +la variable d'entrée, créant ainsi des instances d'évènement. L'agent **Similarité**
 +associé à cet agent **Découper**, c'est à dire formant un couple avec, va "trier"
 +par "type" d'instance plus ou moins similaire et évaluer l'intérêt Ί de chaque
 +"type" d'instance. (L'intérêt max trouvé avec leurs paramètres est la valeur
 +déposé dans l'espace de marquage).
 +
 +Une fois des "type" d'instances validé comme "intéressants" ceux-ci deviennent 
 +des **concepts d'évènements**, des **flux d'instances** sont créés et lorsque
 +l'agent Découper d'un couple D-S produit une instance d'évènement correspondant
 +à un concept d'évènements, l'agent Similarité lié diffuse l'instance par le flux.
 +
 +{{wiki:flux_creation.png}}
 +
 +=== Flux d'instances & Association d'évènements ===
 +
 +Le système à maintenant accès des **flux d'instances** lui permettant d'étre informé
 +lors de l'apparition d'une instance d'un concept d'évènement.
 +
 +Ces flux d'instances peuvent aussi bien être des **flux internes**, c'est à dire des
 +flux créés et mis à jour par le système, que des **flux externes**, c'est à dire des
 +flux créés et mis à jour par d'autre système.
 +
 +A partir de ces flux des **couples A-S** vont tenter d'associer deux concepts d'évènements
 +en regardant si ils ont l'air plus ou moins corrélés, c'est à dire si l'un arrive toujours
 +après l'autre avec toujours le même délai. 
 +
 +Pour cela ils vont parcourir leur espace de marquage, ainsi l'agent **Association** d'un 
 +couple A-S prend un flux, et donc le concept d'évènement associer, comme référence et 
 +va explorer les possibilités de combinaisons via ses paramètres. Les instances d'associations
 +produite par l'agent **Association** sont récupéré, trier et évalué par l'agent **Similarité**
 +associé.
 +
 +Comme pour les couples D-S, l'intérêt maximum trouvé avec des paramètres est noté dans l'espace
 +de marquage.
 +
 +L'intérêt Ί de chaque "type" d'instance d'évènement association, c'est à dire les
 +différents types de délai entre les deux évènements associé, est calculé à partir
 +de la spécificité et la redondance de ce "type" d'instance, mais aussi à partir
 +du nombre de flux internes qui a entres en jeux lors de l'association. Ainsi, pour
 +une spécificié et redondance, plus d'intérêt est affecté à des associations entre deux
 +flux internes, puis entre un flux interne et un flux externe, puis entre deux flux externes.
 +
 +Les associations sont aussi évalué à partir de leur capacité prédictive. Et une fois
 +qu'une association a été déterminé comme "intéressante" et permettant des prédictions
 +fiable, alors un flux d'instance est créé pour y faire passer les instances de cet
 +évènement (qui est l'association de deux évènements), et donc potentiellement "avertir"
 +autrui de l'arrivé des instances de cet évènement.
 +
 +A partir de ce flux d'instance, autrui pourra peut être créer des associations pertinentes,
 +qui pourrons me permettre de créer des associations pertinentes, et ainsi de suite.
 +
 +{{wiki:flux_association.png}}
scenario-lum.1740501438.txt.gz · Last modified: 2025/02/25 17:37 by 47.128.120.169