This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
scenario-lum [2025/03/01 18:48] 47.128.98.157 old revision restored (2025/01/21 18:15) |
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' | * Un système d' | ||
* Une fenêtre équipée d'un store électrique, | * Une fenêtre équipée d'un store électrique, | ||
- | + | | |
- | ==== Les variables ==== | + | ==== La routine |
- | + | ||
- | Au départ | + | |
- | récurrents, | + | |
- | d' | + | |
- | capteurs et actionneurs des objets. | + | |
- | + | ||
- | * Pour le système d' | + | |
- | - l' | + | |
- | - l' | + | |
- | + | ||
- | * Pour la fenêtre équipée d'un store électrique : | + | |
- | - l' | + | |
- | - Pourcentage d' | + | |
- | + | ||
- | ===== Scénario ===== | + | |
- | + | ||
- | L' | + | |
- | et ce durant plusieurs semaines. | + | |
- | + | ||
- | ==== Point de vue de l' | + | |
Billy, notre utilisateur, | Billy, notre utilisateur, | ||
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, |
+ | et ce durant plusieurs semaines. | ||
+ | ==== Les variables d' | ||
+ | |||
+ | Au départ de ce scénario, les avatars n'ont pas encore identifiés de pattern | ||
+ | récurrents, | ||
+ | d' | ||
+ | capteurs et actionneurs des objets. | ||
+ | |||
+ | * Pour le système d' | ||
+ | - l' | ||
+ | - l' | ||
+ | |||
+ | * Pour la fenêtre équipée d'un store électrique : | ||
+ | - l' | ||
+ | - Pourcentage d' | ||
+ | | ||
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' | nous pouvons supposer que les variables d' | ||
Line 66: | Line 62: | ||
{{wiki: | {{wiki: | ||
+ | ===== Système d' | ||
- | ==== Point de vue du système d' | + | Nous allons voir dans cette partie le fonctionnement |
+ | du système d' | ||
+ | vue de l' | ||
- | 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écouvrir, dans un premier temps, | + | qui arriveront, par leurs interactions, d' |
- | des motifs | + | pertinents |
- | aucun //flux// n'est disponible | + | |
- | Puis dans un second temps de faire le lien entre ses motifs et | + | De plus il utilise |
- | ceux découvert par les autres | + | d' |
+ | autres | ||
- | Nous allons voir plus en détail dans cette partie le fonctionnement | + | ==== Couples Producteur-Similarité ==== |
- | du système d' | + | |
- | === Découverte | + | Le système multi agents d' |
+ | des agents différencié en trois rôles : | ||
+ | * Les agents // | ||
+ | * Les agents **Découper**, | ||
+ | * Les agents **Association**, | ||
+ | * Les agents **Similarité**, | ||
+ | |||
+ | Ainsi les agents du système d' | ||
+ | toujours en **Couples Producteur-Similarité**. | ||
- | La découverte de motifs récurrents à partir des entrées continues | + | === Couple |
- | que sont V< | + | |
- | formés par des agents | + | |
- | de diverses manières. | + | |
- | == Découpe == | + | L' |
+ | d' | ||
+ | interactions, | ||
+ | permet de connaître la " | ||
+ | d'une variable en particulier. Ils font varier leurs | ||
+ | paramètres en explorant l' | ||
- | Comme dit précédemment, | + | == Découpe == |
- | par essayer d' | + | |
- | avant d' | + | |
- | (de plus, à cette étape du scénario aucun flux n'est disponible pour | + | |
- | l' | + | |
- | Ce travail de découpe est effectué par les agents | + | L' |
- | d'apprentissage. Ceux-ci, suivant divers paramètres, | + | a pour paramètre un Δt qui est la taille de la fenêtre de découpe. |
- | une fenêtre de découpe | + | |
- | variables sont décrit à l'aide d' | + | |
{{wiki: | {{wiki: | ||
- | Ces fragments de variables sont évaluer via un feedback //d'intérêt//, | + | L' |
- | aidant ainsi à la sélection des paramètres | + | " |
+ | peut être simplement glissante, ou bien glissante et suivant les | ||
+ | variations de la variable d' | ||
- | == Création de Flux == | + | La portion découpée par l' |
+ | la forme d'un histogramme. | ||
- | La découverte d' | + | == Similarité |
- | d' | + | |
- | ses paramètres de découpe et l' | + | |
- | ses paramètres de différenciation, | + | |
- | variable d' | + | |
- | La qualité des paramètres, | + | Les histogrammes produit par l' |
- | est sauvegardé dans un **espace de marquage** à trois dimensions | + | par l' |
- | (la variable sélectionné, | + | |
- | les paramètres de l' | + | |
- | Cet espace | + | Celui ci compare les nouvelles instances d' |
- | de paramètres | + | a stocké précédemment, |
- | certains paramètres | + | de chaque groupe d' |
+ | comme un pré-concept d' | ||
+ | |||
+ | La fonction de comparaison utilisée pour différencier les instances découpées | ||
+ | en une fonction d' | ||
+ | instances. | ||
+ | |||
+ | {{wiki: | ||
+ | |||
+ | Ainsi l' | ||
+ | d' | ||
+ | même la moyenne de ce groupe d' | ||
+ | une instance, alors un nouveau lui correspondant sera créé. | ||
+ | |||
+ | Les paramètres des agents Similarité est leur seuil de similarité, | ||
+ | à dire le seuil qui leur fait dire si oui ou non deux instances sont similaires. | ||
+ | |||
+ | === Couple Association Similarité (A-S) === | ||
+ | |||
+ | Déterminer l' | ||
+ | la fonction des couples A-S. Les couples A-S de type | ||
+ | // | ||
+ | paramètres testés dans l'espace de marquage. | ||
+ | |||
+ | == Association == | ||
+ | |||
+ | L' | ||
+ | le flux (interne ou externe) au quel il est affecté dans | ||
+ | l' | ||
+ | étant | ||
+ | de référence. | ||
+ | |||
+ | 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' | ||
+ | négatif). | ||
+ | |||
+ | {{wiki: | ||
+ | |||
+ | == Similarité == | ||
+ | |||
+ | Tout comme pour le couple D-S précédemment présenté, l' | ||
+ | Similarité va comparer et trier les différentes instances de | ||
+ | l' | ||
+ | |||
+ | La similarité entre deux associations est calculé par rapport | ||
+ | à la différence entre les Δt de chaque associations. L' | ||
+ | Similarité d'un couple A-S " | ||
+ | par l'agent Association selon leurs Δt. | ||
+ | |||
+ | < | ||
+ | TODO : image/ | ||
+ | </ | ||
+ | |||
+ | ==== L' | ||
+ | |||
+ | A partir des éléments de la section précédente, | ||
+ | agents | ||
+ | des paramètres de ces agents comme l' | ||
+ | en trois dimensions** par les couples d' | ||
{{wiki: | {{wiki: | ||
+ | |||
+ | Ces trois dimensions représentent : | ||
+ | - Les variables ou flux, auquels peuvent se lier les couples. | ||
+ | - Les paramètres possibles de l' | ||
+ | - Les paramètres possibles de l' | ||
+ | | ||
+ | Cet **espace en trois dimensions** sert de " | ||
+ | couples du même type qui le **marque** pour se " | ||
+ | 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). | ||
+ | |||
+ | Pour les **espaces de marquage**, les couples d' | ||
+ | différencient en deux types : les **Explorateurs** et les | ||
+ | **Exploiteurs**. | ||
+ | |||
+ | === Les explorateurs === | ||
+ | |||
+ | Comme leurs nom l' | ||
+ | le plus dans l' | ||
+ | rapidement quels sont les paramètres les plus pertinents | ||
+ | pour une variable donnée. | ||
+ | |||
+ | Les // | ||
+ | fortement marquée (ou aléatoire si aucun marquage), puis se | ||
+ | déplacent en " | ||
+ | |||
+ | Alors ils testent les paramètres un certain temps, marque | ||
+ | l' | ||
+ | |||
+ | === Les exploiteurs === | ||
+ | |||
+ | Ce type de couple se fixe sur les emplacements les plus | ||
+ | marqués, peuvent se déplacer légèrement autour et se | ||
+ | " | ||
+ | |||
+ | Les // | ||
+ | l' | ||
+ | de prédiction, | ||
+ | un emplacement. | ||
+ | |||
+ | ==== Feedback d' | ||
+ | |||
+ | Dans la section précédente nous avons parlé du marquage | ||
+ | d'un intérêt dans **l' | ||
+ | calculé à partir d'un **feedback d' | ||
+ | les agents Similarité pour classer les instances d' | ||
+ | en groupe, chaque groupe ayant un intérêt, c'est l' | ||
+ | maximum qui est marqué dans l' | ||
+ | correspondant à la variable et aux paramètres des agents. | ||
+ | |||
+ | === L' | ||
+ | |||
+ | 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' | ||
+ | comme externes. | ||
+ | |||
+ | **L' | ||
+ | le **poids** et la **précision** des évènements évaluées. | ||
+ | |||
+ | La **spécificité** d'un évènement est calculé à partir de la différence | ||
+ | entre l' | ||
+ | spécificité permet ainsi d' | ||
+ | |||
+ | Le **poids** d'un évènement correspond à son nombre d' | ||
+ | par rapport au nombre d' | ||
+ | |||
+ | La **précision** d'un évènement, | ||
+ | à partir de l' | ||
+ | évènement. | ||
+ | |||
+ | === L' | ||
+ | |||
+ | Pour nuancer le poids de l' | ||
+ | global d'un évènement, | ||
+ | des motifs appris par les différents systèmes, un **intérêt | ||
+ | interpersonnel** est calculé. | ||
+ | |||
+ | Cet **intérêt interpersonnel** prend en essentiellement l' | ||
+ | social de l' | ||
+ | fort pour les motifs étant plus pertinents d' | ||
+ | c'est à dire du système (le //moi//) vers les autres systèmes (// | ||
+ | |||
+ | L' | ||
+ | flux/ | ||
+ | d' | ||
+ | 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). | ||
+ | |||
+ | Ainsi cet intérêt permet de donner plus de poids aux évènements n' | ||
+ | que de flux/ | ||
+ | et externe, et enfin les associations de deux flux externes. | ||
+ | |||
+ | <note tip> | ||
+ | Concernant les motifs " | ||
+ | |||
+ | Une certaine redondance de l' | ||
+ | découverte de motifs dit " | ||
+ | en jeux plusieurs systèmes, donc des associations entre un flux | ||
+ | interne et un flux externe. Un même motif peut potentiellement | ||
+ | être appris et diffusé par deux systèmes différents. | ||
+ | |||
+ | Exemple (en restant du point de vue du système d' | ||
+ | le store m' | ||
+ | associant les deux), je capte une augmentation de la luminosité (V1:2) | ||
+ | que je communique aussi. L' | ||
+ | l' | ||
+ | les deux systèmes créent des flux correspondant à cette association, | ||
+ | y a donc redondance. | ||
+ | |||
+ | Cette redondance est elle un mal ? | ||
+ | |||
+ | Doit-on utiliser cette redondance à notre avantage et l' | ||
+ | pour faire un consensus sur des motifs communs à certains objet ? | ||
+ | Si oui comment détecter qu'un même motif a été découvert par deux | ||
+ | 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 ? | ||
+ | |||
+ | D'un autre point de vue, cette redondance est elle nécessaire ? | ||
+ | |||
+ | Ne pourait on pas faire en sorte " | ||
+ | pour qu'un minimum de système, au mieux un seul, découvre ce motif ? | ||
+ | |||
+ | Personellement je penche plus vers ce second point de vue. Nous | ||
+ | pourrions par exemple donner plus d' | ||
+ | ou d' | ||
+ | interne. | ||
+ | |||
+ | Pour reprendre l' | ||
+ | luminosité", | ||
+ | et d'un flux externe pour le store. L' | ||
+ | être exploité par le système d' | ||
+ | |||
+ | Partir sur ce principe permettrait de trouver plus rapidement des motifs " | ||
+ | complexe, c'est à dire mettant en jeu plusieurs avatars. | ||
+ | |||
+ | De plus vérifier qu'un motif est " | ||
+ | (avis personnel), quand bien même qu' | ||
+ | longue phase vérification, | ||
+ | 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' | ||
+ | leur de l' | ||
+ | de synchronisation entre eux). | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Calcul du feedback === | ||
+ | |||
+ | Le feedback d' | ||
+ | de son intérêt intrapersonnel **Ί< | ||
+ | **Ί< | ||
+ | |||
+ | Pour le calcul de **Ί< | ||
+ | sa précision **p**, son poids **π**. | ||
+ | |||
+ | |||
+ | < | ||
+ | Ί(e) = Ία(e)^δ / Ίε(e)^β | ||
+ | |||
+ | 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 " | ||
+ | </ | ||
+ | |||
+ | === Feedback Prédictif === | ||
+ | |||
+ | Lorsqu' | ||
+ | passe un mode " | ||
+ | motif pour prédire l' | ||
+ | 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' | ||
+ | type de la durée entre e1 et e2 lors des prédictions réussies) et de la | ||
+ | fréquence d' | ||
+ | et d'une confiance **rel**, qui est le rapport de prédictions juste sur | ||
+ | le nombre de prédictions tentés. | ||
+ | |||
+ | < | ||
+ | s = acc * rel | ||
+ | |||
+ | avec : | ||
+ | |||
+ | rel = nb(prédictions) / nb(e1) | ||
+ | | ||
+ | et | ||
+ | |||
+ | acc = 1 - ( tol * freq(e2) ) | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Le maximum des scores est ajouté à l' | ||
+ | couple A-S pour la variable et les paramètres associés, leurs donnant ainsi | ||
+ | plus de poids. | ||
+ | |||
+ | |||
+ | <note tip> | ||
+ | Pour l' | ||
+ | n'est pas exclu d' | ||
+ | |||
+ | Une possibilité serait d' | ||
+ | pour évaluer un classifieur. | ||
+ | |||
+ | Le score serait calculé à partir : | ||
+ | |||
+ | * 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' | ||
+ | |||
+ | * 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' | ||
+ | |||
+ | |||
+ | Si nous voulons utiliser ces formules il faudra donner la possibilité | ||
+ | au couple A-S prédicteur de dire Oui ou Non à la question : un évènement | ||
+ | e2 arrivera-t-il après cet évènement e1 ? | ||
+ | |||
+ | Ceci pourrait être fait à partir d'un de l' | ||
+ | instances, par exemple : si e2 n'est pas encore apparu un temps T après | ||
+ | l' | ||
+ | </ | ||
+ | |||
+ | ==== Flux d' | ||
+ | |||
+ | Lorsqu' | ||
+ | ou A-S, est déterminé comme " | ||
+ | correspondant au concept d' | ||
+ | les instances de ce concept (c'est à dire les instances similaires | ||
+ | au concept d' | ||
+ | |||
+ | === Identification === | ||
+ | |||
+ | 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. | ||
+ | |||
+ | < | ||
+ | Par exemple : | ||
+ | |||
+ | Du point de vue du système d' | ||
+ | aux concepts : augmentation soudaine de la luminosité, | ||
+ | augmentation progressive de la luminosité, | ||
+ | interrupteur passe à ON, interrupteur passe à OFF, etc... seront perçus | ||
+ | comme des **flux interne** car créé par le système d' | ||
+ | |||
+ | A l' | ||
+ | se ferme; seront perçu comme des **flux externes**. | ||
+ | </ | ||
+ | |||
+ | Pour aider à l' | ||
+ | est associé au flux URI du système l' | ||
+ | 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' | ||
+ | |||
+ | {{wiki: | ||
+ | |||
+ | < | ||
+ | TODO : mettre à jour l' | ||
+ | </ | ||
+ | |||
+ | === API de transfert d' | ||
+ | |||
+ | <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' | ||
+ | existant pour les besoins du système d' | ||
+ | </ | ||
+ | |||
+ | == Fonctionnement hypothétique == | ||
+ | |||
+ | Si nous prenons le point de vue d'un avatar, le principe des flux | ||
+ | reviens à proposer un service de notification d' | ||
+ | avatars de la société. | ||
+ | |||
+ | < | ||
+ | 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. | ||
+ | </ | ||
+ | |||
+ | Ainsi lorsque le système d' | ||
+ | à un concept d' | ||
+ | créé par l' | ||
+ | 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, | ||
+ | |||
+ | Lorsqu' | ||
+ | son système d' | ||
+ | |||
+ | Lorsqu' | ||
+ | que l' | ||
+ | De la même manière un avatar " | ||
+ | couple A-S tente d' | ||
+ | |||
+ | == Protocoles, API, frameworks déjà existants == | ||
+ | |||
+ | Pour implémenter une API permettant de mettre en place de tel fonctionnalités, | ||
+ | adapter certains protocole/ | ||
+ | Ci-dessous sont listés quelques API potentiels : | ||
+ | |||
+ | * Les flux RSS | ||
+ | | ||
+ | Le mode de fonctionnement des [[https:// | ||
+ | plutôt bien correspondre au principe des flux d' | ||
+ | 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 " | ||
+ | dans le fichier XML. Ce ne sont donc pas de réelles " | ||
+ | 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:// | ||
+ | de réseaux de forums permettant le partage rapide, à des groupes " | ||
+ | (ou news) concernant un forum. Il utilise le protocole [[https:// | ||
+ | qui a été conçu spécialement pour le transport de news dans un réseau, il existe en version | ||
+ | " | ||
+ | standard des échanges de messages dans un réseau Usenet. | ||
+ | |||
+ | ==== Récapitulatif ===== | ||
+ | |||
+ | Avant de passer au fonctionnement pas à pas de l' | ||
+ | du store électrique, | ||
+ | |||
+ | === Variables d' | ||
+ | |||
+ | Les **couples D-S** vont explorer leur **espace de marquage** en y déposant l' | ||
+ | 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' | ||
+ | |||
+ | L' | ||
+ | la variable d' | ||
+ | associé à cet agent **Découper**, | ||
+ | par " | ||
+ | " | ||
+ | déposé dans l' | ||
+ | |||
+ | Une fois des " | ||
+ | des **concepts d' | ||
+ | l' | ||
+ | à un concept d' | ||
{{wiki: | {{wiki: | ||
+ | === Flux d' | ||
+ | |||
+ | Le système à maintenant accès des **flux d' | ||
+ | lors de l' | ||
+ | |||
+ | Ces flux d' | ||
+ | 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' | ||
+ | |||
+ | A partir de ces flux des **couples A-S** vont tenter d' | ||
+ | en regardant si ils ont l'air plus ou moins corrélés, c'est à dire si l'un arrive toujours | ||
+ | après l' | ||
+ | |||
+ | Pour cela ils vont parcourir leur espace de marquage, ainsi l' | ||
+ | couple A-S prend un flux, et donc le concept d' | ||
+ | va explorer les possibilités de combinaisons via ses paramètres. Les instances d' | ||
+ | produite par l' | ||
+ | associé. | ||
+ | |||
+ | Comme pour les couples D-S, l' | ||
+ | de marquage. | ||
+ | |||
+ | L' | ||
+ | différents types de délai entre les deux évènements associé, est calculé à partir | ||
+ | de la spécificité et la redondance de ce " | ||
+ | du nombre de flux internes qui a entres en jeux lors de l' | ||
+ | une spécificié et redondance, plus d' | ||
+ | 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 " | ||
+ | fiable, alors un flux d' | ||
+ | évènement (qui est l' | ||
+ | autrui de l' | ||
+ | |||
+ | A partir de ce flux d' | ||
+ | qui pourrons me permettre de créer des associations pertinentes, | ||
+ | |||
+ | {{wiki: |