FR 2962823 A1 20120120 FR 1055703 A 20100713 DOMAINE TECHNIQUE GENERAL La présente invention concerne un dispositif de traitement de données conçu pour la programmation de systèmes experts ou de systèmes d'intelligence artificielle simulant le raisonnement humain en pouvant mettre en oeuvre des raisonnements par induction. Plus précisément elle concerne un dispositif de traitement de données dédié notamment aux traitements statistiques, au forage de données ("datamining" dans la terminologie anglo-saxonne), à la conception d'outils d'aide à la décision, aux diagnostics, à la prévision ou à l'approximation, à la conception de simulateurs, de systèmes d'apprentissage automatique ou d'aide à l'apprentissage et d'une manière générale la conception de systèmes d'analyse de situations ou analyse situationnelle. ETAT DE L'ART Les processeurs informatiques permettent depuis plus de 50 ans d'effectuer en des temps toujours plus courts des millions de calculs. Par leur puissance, ils sont de plus en plus utilisés comme outils d'analyse et de prédiction. Cependant, l'architecture de traitement des données mise en oeuvre par les processeurs présente des limitations et des contraintes. Un processeur prend en entrée des séquences de bits, les transforme à travers des séries de portes logiques, et en déduit une autre séquence de bits en sortie. C'est la série de portes logiques qui détermine le calcul qu'effectue le processeur. Cette série, prédéterminée dans le programme, dépend d'un modèle implémenté par l'utilisateur selon les règles de la logique formelle, et basé sur des situations connues. Ces modèles peuvent prendre des formes extrêmement variées, depuis les modèles quantitatifs pour la finance de marché jusqu'aux modèles mécaniques pour l'ingénierie. Le principe général consiste à analyser des phénomènes réels pour prévoir des 1 résultats à partir de l'application d'un ou plusieurs modèles à un niveau d'approximation donné. A l'intérieur du modèle un processeur s'avère très performant, mais reste d'une part incapable de sortir des limites dudit modèle et demeure également nécessairement contraint par les limites inhérentes aux règles de la logique algorithmique. De plus, si le modèle présente des imperfections dès l'origine, celles-ci affecteront la qualité des résultats, voire la pertinence du modèle lui-même. Une autre approche connue a consisté à développer des dispositifs de traitement de données à l'architecture inspirée de la structure physique du cerveau humain sous la forme de réseau de neurones artificiels. Ce type d'architecture, dont la fonction est déterminée par la structure du réseau, met en oeuvre un processus d'apprentissage qui permet d'acquérir, de stocker et d'utiliser des connaissances en utilisant notamment le principe d'induction par inférence. Différents types de réseau de neurones ont été développés qui se sont avérés pour certains plus efficaces que les architecture à processeur classique notamment dans le traitement des signaux et des informations (télécommunications, finances, météorologie), les traitements de nature statistique (marketing), le classement et la reconnaissance de forme (imagerie, reconnaissance de caractères). Ces architectures produisent cependant des résultats qui restent très dépendants d'une part de la structure du réseau (les types de réseaux différent selon leur topologie, les fonctions d'agrégation et/ou de seuillage utilisées) et d'autre part du modèle d'apprentissage choisi qui rend nécessaire une phase d'ajustement du réseau. La présente invention propose un dispositif de traitement de données alternatif qui, à travers l'observation de situations, permet d'analyser des données, et de prédire d'autres situations, sans être dépendant d'un modèle ou d'une structure d'implémentation physique ou logique. On entend ici par "situation" une information plus ou moins complexe et plus ou moins floue décrivant une action ou un état particulier. La situation est issue d'une observation par un être humain ou une machine et peut être autant réelle qu'imaginaire. PRESENTATION DE L'INVENTION La présente invention propose un dispositif de traitement de données, son architecture pouvant être physique ou logique et formant un processeur d'analyse situationnelle. Pour cela est proposé un dispositif de traitement de données caractérisé en ce qu'il comprend en combinaison : - une mémoire organisée d'une part en deux espaces, l'un contenant des attributs décrivant les données stockées, et l'autre contenant des liens de connexité entre les données stockées, et d'autre part suivant une ou plusieurs dimensions associées chacune à des attributs et divisées en un ou plusieurs segments hiérarchisés, les données étant renseignées en créant, supprimant ou modifiant des valeurs d'attributs caractérisant ces segments ; - des moyens d'intégration d'un ou plusieurs flux entrants d'information qui analysent ces flux pour déterminer les données qui les composent et pour structurer ces données et leurs attributs conformément à l'organisation de ladite mémoire ; - un moteur d'inférence mettant en oeuvre en parallèle ou en série des règles d'inférences regroupées dans des bibliothèques, lesdites règles étant programmées pour régénérer une séquence comprenant au moins un segment de la mémoire, en créant, supprimant ou modifiant lors de leur mise en oeuvre dans au moins un espace de la mémoire au moins une donnée et/ou au moins une valeur d'attribut et/ou au moins un lien de connexité, - des moyens d'allocation de ressources activant ou désactivant les règles 30 d'inférence en fonction d'une règle de priorité, - des moyens d'extraction de données, identifiées par programmation et/ou par au moins une valeur d'attribut choisie et/ou au moins un lien de connexité choisi ; et/ou localisées dans un ou plusieurs segments choisi de la mémoire, vers un ou plusieurs flux sortants d'information. Selon d'autres caractéristiques avantageuses et non limitatives de 5 l'invention : - la mémoire est organisée en au moins trois dimensions, dont au moins une dimension temporelle associant aux données un ou plusieurs attributs permettant de dater la mémorisation des données, une dimension idiosyncratique associant aux données un ou plusieurs attributs permettant 10 de déterminer la spécificité relative des données, une dimension conceptuelle associant aux données un ou plusieurs attributs permettant de hiérarchiser les données selon des niveaux d'abstraction ; - le premier espace de la mémoire contenant des attributs des données est constitué par des niveaux pairs identifiés comme des niveaux de situations, 15 et le second espace de la mémoire contenant des relations entre données est constitué par des niveaux impairs identifiés comme des niveaux de connexités ; - au moins une règle d'inférence mise en oeuvre par le moteur d'inférence 20 induit un niveau d'abstraction 2k+1 de connexité à partir d'un niveau d'abstraction 2k de situation et/ou un niveau d'abstraction 2k+2 d'hypersituation à partir d'un niveau d'abstraction 2k+1 de connexité ; - la règle de priorité mise en oeuvre par les moyens d'allocation de ressource est fonction de la hiérarchie des segments de mémoire à 25 régénérer, de paramètres prédéfinis des règles d'inférence et d'intervalle séparant les occurrences d'activation des règles d'inférence ; - la mémoire est connectée à un espace de stockage de masse dans lequel des segments peuvent être sauvegardés ; - les moyens d'extraction de données choisissent des situations singulières, 30 des situations ayant varié, et des situations prévisionnelles plausibles. Ce dispositif innovant ouvre de grandes perspectives dans de nombreux domaines économiques utilisant des outils d'analyse, de prédiction et de simulation. Il est capable de façon autonome de recevoir en entrée un ou plusieurs flux situationnels, d'en extraire des situations, de distinguer les éléments importants et de lui appliquer en continu des traitements, de détecter des phénomènes et de prévoir des évolutions de solutions, notamment par induction. Les avantages sont multiples : ce dispositif n'est pas contraint par un modèle ou une architecture d'implémentation, et s'adapte donc en permanence. Il est capable, à l'instar du cerveau humain, de se concentrer sur l'essentiel en gérant ses ressources. Enfin, ses possibilités apparaissent bien plus universelles que celles de n'importe quel système expert actuel, cloisonné dans un domaine particulier. Le dispositif selon l'invention est asynchrone, non déterministe, et s'avère ni connexionniste ni computationniste puisque sa puissance est à la fois dans sa structure et sa logique. Il accepte un fonctionnement séquentiel comme parallèle. La présente invention propose selon un deuxième aspect une implémentation physique de processeur d'analyse situationnelle, à savoir un système de traitement d'informations comprenant au moins une unité de traitement, au moins une unité de mémoire, une première interface avec au moins un flux d'information d'entrant et une deuxième interface avec au moins un flux d'informations sortant, caractérisée en ce qu'elle met en oeuvre l'architecture du dispositif de traitement selon le premier aspect de l'invention. Selon d'autres caractéristiques avantageuses et non limitatives de l'invention : - ladite unité de traitement comprend au moins un processeur mufti-coeur ; - ladite unité de traitement implémente une structure de réseau neuronal. La présente invention propose selon un troisième aspect un produit programme d'ordinateur comprenant des instructions de code de programme qui lorsqu'elles sont exécutées, mettent en oeuvre l'architecture du dispositif selon le premier aspect de l'invention. BREVE DESCRIPTION DES FIGURES D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre d'un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés dans lesquels : - la figure 1 est un schéma d'un mode de réalisation d'un dispositif selon l'invention; - la figure 2 est un schéma d'un mode de réalisation avantageux d'une mémoire situationnelle utilisée par l'invention. - La figure 3 est un schéma montrant comment le dispositif selon l'invention peut s'intégrer dans un environnement informatique. DESCRIPTION DETAILLEE D'UN MODE DE REALISATION PREFERE Comme indiqué plus haut, l'unité élémentaire en analyse situationnelle est la situation. Celle-ci peut être plus ou moins vraie (pour les situations « passées »), plus ou moins plausible (pour les situations « futures »). Les situations sont composées d'objets informatifs qui ont été nommés ici « situatrons ». Chaque situatron est une donnée manipulable et peut être présent dans une ou plusieurs situations. Il est décrit par un ensemble d'attributs, les « indices », qui peuvent être plus ou moins précis ou cohérents. Ces attributs peuvent évoluer au cours du temps. Ainsi, « Matthieu rédige une demande de brevet » est une situation. On peut décrire cette situation selon plusieurs points de vue et selon différents niveaux de détail. Ainsi « La souris noire de l'ordinateur de Matthieu » compose également une situation nous informant sur la situation générale. Dans cette situation, la souris noire, l'ordinateur, la demande de brevet et Matthieu sont des situatrons. A un niveau de détail encore plus fin, le fait que la souris soit connectée à l'ordinateur et le fait que Matthieu possède cet ordinateur composent deux situations particulières à partir de ces mêmes situatrons. Les informations contenues dans ces situations peuvent être codées de la manière suivante : OBJ(souris001) ; situatron SOURIS IDC(couleur, souris001, noire) ; attribut COULEUR noire OBJ(ordinateur001) ; situatron ORDINATEUR SIT(connecté, souris001, ordinateur001); situation SOURIS connectée à l'ORDINATEUR HUM(user001) ; situatron UTILISATEUR IDC(prenom, user001, Matthieu) ; attribut PRENOM Matthieu SIT(utiliser, ordinateur001, user001) ; situation l'UTILISATEUR Matthieu utilise l'ORDINATEUR Dans cet exemple il a été choisi de manière arbitraire que les codes OBJ (Objet) et HUM (Humain) identifient des situatrons, en permettant la distinction entre objets et personnes. Le code IDC (Indice) permet d'associer un attribut à un situatron et le code SIT (Situation) de décrire une situation composée à partir des situatrons précédemment définis. L'invention n'est toutefois pas limitée à cette syntaxe en particulier, et l'homme du métier saura l'adapter, notamment en introduisant d'autres codes, par exemple SPA (espace) qui désignerait un lieu. Les situations peuvent ainsi ne pas être codées en langage naturel pour échapper aux ambigüités inhérentes aux vocabulaires courants. La syntaxe utilisée pour décrire les situations est arbitraire mais doit être adaptée aux outils informatiques. Avantageusement, le langage choisi est un métalangage, en particulier le langage XML (langage extensible de balisage ou Extensible Markup Language dans la terminologie anglo-saxonne). Le dispositif 1 de traitement selon l'invention est capable de travailler sur les situations et les situatrons décrits sous cette forme. Ce qui va suivre est une description avantageuse d'un mode de réalisation de ce dispositif 1, en référence au schéma représenté figure 1. Il comprend une mémoire organisée 10, des moyens 11 d'intégration d'un flux entrant d'information, un moteur d'inférence 14, des moyens 13 d'allocation de ressources, des moyens 12 d'extraction de données vers un flux sortant d'information. Mémoire La mémoire 10 est une mémoire situationnelle, structurée pour conserver les données nécessaires à l'analyse situationnelle. Cette 10 mémoire 10 s'organise en deux espaces. Le premier espace contient les attributs des données stockées, c'est-à-dire directement des situations, des situatrons, ou des groupes de situations ou situatrons. Le second espace contient des liens de connexité entre les données stockées, c'est-à-dire les relations de connexité entre les situations et situatrons du premier espace. 15 Les liens de connexités seront établis dès lors que des situatrons seront présents dans des situations communes, ou partagent des indices communs. Ainsi, dans l'exemple précédent, le fait d'être connecté à un ordinateur créé un lien de connexité entre différentes souris. Ce deuxième espace est un espace dual du premier, en effet c'est un 20 espace de fonctions induit. Les situatrons, les attributs d'un situatron et les liens de connexités sont donc induits de l'observation et créés ainsi au fur et à mesure que l'on acquiert de l'information ou que l'on induit des situations non observées, ils peuvent être supprimés quand ils deviennent obsolètes, et ils peuvent être 25 modifiés s'ils évoluent ou s'ils s'avèrent inexacts. Leurs types ne sont pas prédéfinis, et peuvent s'adapter à toute circonstance. La mémoire 10 possède une organisation spécifique, dont un exemple est représenté sur la figure 2. Cette organisation suit une ou plusieurs dimensions, associées chacune à des attributs, et divisées en un 30 ou plusieurs segments hiérarchisés. Chaque segment est caractérisé par une ou plusieurs valeurs d'attribut ou plages de valeurs d'attributs particulières. Les données sont renseignées en créant, supprimant ou5 modifiant les valeurs d'attributs caractérisant ces segments, ce qui leur définit une place dans la mémoire 10. En particulier, ces dimensions sont au nombre de trois dans le mode de réalisation préféré. Cela entraîne une organisation sous forme d'un assemblage de cubes 101, chaque cube étant caractérisé par une combinaison unique d'un segment par dimension. - la première dimension est une dimension temporelle, et permet de dater la mémorisation des données. La date de la mémorisation de la donnée (date d'observation) reste distincte de la date des faits portés par la situation, cette dernière pouvant faire l'objet d'un ou plusieurs attributs distincts, mais sans lien avec ceux de la dimension temporelle. Les segments de la dimension temporelle correspondent à des périodes. Elle s'étend sur l'axe X dans la figure 2. Ainsi par exemple, les informations concernant la bataille de 15 Marignan pourront être stockées dans la mémoire de la manière suivant : OBS(30 avril 2010) ; date de l'observation SIT(remporter une victoire, roi001, evenement001, Iieu001) ; situation de combat 20 HUM(roi001) ; situatron acteur IDC(nom, roi001, « François 1er ») ; indice associé au situatron EVT(evenement001) ; situatron événement IDC(titre, evenement001, « bataille de Marignan ») ; indice associé au situatron 25 IDC(date, evenement001, 1515) ; indice associé au situatron SPA(Iieu001) ; situatron de lieu IDC(pays, Iieu001, « Italie ») ; indice associé au situatron Dans cet exemple on peut établir une segmentation temporelle de la 30 mémoire en définissant les périodes suivante : Segment 1 - Futur = tout ce qui est à venir Segment 2 - Présent = dernières 24h Segment 3 - Passé proche = 3 jours précédents Segment 4 - Passé intermédiaire = dans le mois Segment 5 - Passé lointain = reste Alors, à la date du 7 mai 2010, la scène situationnelle sur la bataille de Marignan, observée le 30 avril 2010, se retrouvera dans le segment 4. Si le même jour (7 mai 2010) des informations sur Marignan sont introduites qui précisent que les Suisses ont été vaincus lors de cette bataille le 13 septembre, elles pourront elles-mêmes être stockées de la manière suivante : OBS(7 mai 2010) ; SIT(perdre une bataille, armee001, evenement001) ; GRP(armee001) ; IDC(nom, armee001, « Suisses ») ; IDC(date, evenement001, 13 septembre 1515) ; modification de l'indice Ces nouvelles informations se logent dans le segment 2 et font remonter intégralement le situatron evenement001 dans le segment 2. Le découpage de la mémoire en segments temporels permet ainsi de conserver une image « historique » de chaque situation qui peut se représenter, dans notre exemple de Marignan, de la manière suivante : Segment 2 : SIT(perdre une bataille, armee001, evenement001) GRP(armee001) IDC(nom, armee001, « Suisses ») EVT(evenement001) IDC(titre, evenement001, « bataille de Marignan ») 30 IDC(date, evenement001, 13 septembre 1515) Segment 4 : SIT(remporter une victoire, roi001, evenement001, Iieu001) HUM(roi001) IDC(nom, roi001, « François 1er ») SPA(Iieu001) IDC(pays, lieu001, « Italie ») - la seconde dimension est une dimension idiosyncratique. Par « idiosyncratique », on signifie « qui constitue la spécificité, la singularité de quelqu'un ou quelque chose ». Cette dimension est en effet liée au niveau d'incidence, qui englobe de façon générale tout critère rendant une donnée remarquable, et en particulier la singularité ou la spécificité relative des données. Pour revenir à notre exemple des souris, une « souris orange » sera un situatron avec une forte singularité dans un univers où l'on observe généralement des souris blanches. Cette dimension s'étend sur l'axe Y dans la figure 2. - la troisième dimension est une dimension conceptuelle. Elle associe aux données un ou plusieurs attributs permettant de hiérarchiser les données selon des niveaux d'abstraction. Chaque niveau d'abstraction définit un segment de la dimension conceptuelle, qu'on appelle un plan d'abstraction 100. Ces plans 100 s'étendent sur l'axe Z et représentent des formes de plus en plus évoluées de connaissance situationnelle au fur et à mesure que l'on gagne les couches supérieures. Avantageusement, la dualité de la mémoire est implémentée sous la forme d'une alternance de plans de situations 100a et de plans de connexité 100b : l'ensemble des niveaux pairs 100a est une partition de l'espace de situations, et l'ensemble des niveaux impairs 100b est une partition de l'espace de connexité. - Le niveau 0 contient des situations, des situatrons et des groupes de situations et de situatrons. Exemple : 2 souris noires souris001 et souris002 ; 2 ordinateurs ordi001 et ordi002 ; 2 utilisateurs user001 et user002 ; 2 situations « connecté » ; 2 situations « utiliser » ; - Le niveau 1 contient des relations de connexité entre les situations et les situatrons du premier niveau. En continuant l'exemple précédent il s'agira, pour la première série de 11 situations et de situatrons, des liens de connexité entre : Souris001 et ordi001 ; Ordi001 et user001 ; User001 et souris001 (ce dernier lien étant induit) ; - Le niveau 2 contient des hypersituations, des hypersituatrons et des groupes d'hypersituations et hypersituatrons induits par une analyse des connexités du second niveau. A partir du lien de connexité du niveau inférieur, on peut induire un hypersituatron SOURIS ou ORDINATEUR ou UTILISATEUR, ainsi que des hypersituations CONNECTE et UTILISER. Au niveau des hypersituatrons on peut donc, par exemple, CONNECTER la SOURIS à l'ORDINATEUR et UTILISER l'ORDINATEUR par l'UTILISATEUR. ; - Le niveau 3 l'hyperconnexité qui correspond aux liens de connexités établis entre les hypersituatrons et les hypersituations du niveau 2 ; - Et ainsi de suite ... Avantageusement, la mémoire 10 est connectée à un espace de stockage de masse 16 dans lequel tout ou partie de cette mémoire peut être sauvegardés. Par exemple, dans le mode de réalisation préférée dans 20 lequel la mémoire est organisée selon trois dimensions sous forme d'un assemblage de cube, ce sont des cubes mémoire qui seront sauvegardés. Cette interaction avec un espace de stockage de masse est avantageusement mise en oeuvre sous forme d'une permutation (« swapping » en terminologie anglo-saxonne) par l'homme du métier. Elle 25 permet de travailler à la fois sur plusieurs contextes en passant de l'un à l'autre, ou encore de travailler avec des mémoires situationnelles de taille plus importante que celle de la capacité d'adressage du processeur. Intégrateur Le dispositif 1 comprend des moyens 11 d'intégration d'un ou plusieurs flux entrants d'information. Ces moyens 11 d'intégration (ou intégrateur situationnel) reconnaissent dans le ou les flux d'information des 10 15 30 situations se rapprochant des situations déjà présentes dans la mémoire 10. De nouvelles situations et nouveaux situations sont produits à partir des données des flux. Ces données sont structurées et leurs attributs définis conformément à l'organisation de la mémoire 10. Pour prendre un exemple, l'intégrateur situationnel pourrait être un module qui lit des listes de ventes de souris d'ordinateurs présentées sous forme de flux XML sur les ports d'entrée. Il interprète les flux et sépare les informations pour : - Placer les situations et les situatrons dans la mémoire 10 ; - Placer les instructions dans le concentrateur de traitement 13. Dans le cas d'un mode de réalisation dans lequel la mémoire est divisée en plusieurs dimensions et segments, l'intégrateur charge avantageusement les situations et les situatrons dans : - Le segment de temporalité contenant la date courante (« Présent ») ; - Le segment idiosyncratique de niveau d'incidence le plus fort ; - Le segment d'abstraction déterminé selon le paramétrage de l'intégrateur ; Moteur d'inférence Grâce aux moyens 11 d'intégration, la mémoire 10 contient des données. Un moteur 14 d'inférence met en oeuvre des traitements qui vont s'appliquer à tout ou partie de la mémoire 10. Ces traitements sont chargés depuis une bibliothèque 15 et sont appelés règles 141 d'inférence. A chaque lancement de règles, une séquence comprenant au moins un segment de mémoire va être balayée, et la mémoire associée régénérée. Par régénérer, on entend ici créer, supprimer ou modifier au moins une donnée et/ou au moins une valeur d'attribut et/ou au moins un lien de connexité dans au moins un espace de la mémoire. En particulier, dans le mode de réalisation préféré décrit ici, un traitement effectuable par le moteur 14 d'inférence sur un niveau d'abstraction 100 peut s'appliquer aux niveaux de même parité. Toutefois tout système informatique dispose d'une capacité finie, et l'application récursive des traitements prendrait rapidement un temps exponentiel. C'est pourquoi chaque traitement ne concerne en général qu'une partie de la mémoire 10. Des segments sont traités en priorité, puis d'autres suivant la séquence décrite précédemment, avant qu'un autre traitement ne devienne plus prioritaire (voir « concentrateur » plus bas). Les traitements peuvent d'ailleurs être exécutés en série comme en parallèle. Les règles 141 d'inférence englobent tous les traitements qu'il peut être intéressant d'appliquer. Le choix de ces règles 141 dépend des effets recherchés, et est à l'appréciation de l'homme du métier en fonction du domaine d'application pour lequel l'architecture est mise en oeuvre. Les exemples suivants de règles 141 possibles peuvent être cités : - L'« unification » consiste à reconnaître dans un situatron récent un situatron plus ancien ou dans une situation une situation déjà connue et effectuer la substitution et le cas échéant le complément d'information par fusion des éléments. - La « temporalisation » consiste à glisser les situations et les 20 situatrons concernés d'un segment temporel vers un autre. - La « réduction » consiste à supprimer des indices de situatrons au fur et a mesure qu'ils glissent dans des segments de passé. Cette opération repose sur l'usage constaté des indices. - La « banalisation » consiste à glisser des situatrons et des 25 situations entre les niveaux d'importance. Le glissement peut être des deux sens selon que la chose devient banale ou que son importance se renforce compte tenu des évolutions des autres situations. - L' « agrégation » consiste à rassembler plusieurs situatrons ne nécessitant plus d'être discernés en un agrégat unique héritant des 30 propriétés principales des situatrons et de les remplacer par l'agrégat chaque fois que cela est possible. - La « prédiction » consiste à appliquer des phénomènes situationnels sur des situations constatées afin de prévoir les situations à venir. - La « réalisation » consiste à trouver dans le présent des situations 5 répondant aux prévisions effectuées et de les rapprocher. - La « plausabilisation » consiste à préférer dans les situations prévues celles connexes à des situations passées ayant été réalisées. En particulier, dans le cas d'un mode de réalisation avec des couches d'abstraction alternées, on utilise une règle permettant d'induire un 10 niveau d'abstraction 2k+1 de connexité à partir d'un niveau d'abstraction 2k de situation et une règle permettant d'induire un niveau d'abstraction 2k+2 d'hypersituation à partir d'un niveau d'abstraction 2k+1 de connexité, c'est-à-dire de générer un niveau supérieur à partir du précédent. Pour la première de ces deux règles, de nombreuses possibilités 15 existent notamment : les nouveaux liens de connexité peuvent être déduits selon des règles de connexité déclarées dans la bibliothèque, induits de l'observation et de la généralisation de connexités du passé, statistiques selon les connexités distribuées dans la mémoire situationnelle, probabilistes sur des sous ensembles bayesiens, génétiques par mutation 20 des cercles de connexité antérieurs, etc. La seconde de ces deux règles consiste plus simplement en une généralisation d'un groupe de situations et situatrons à partir d'un nombre de cas de connexités plus ou moins grand en fonction du niveau d'importance. 25 Concentrateur Des moyens 13 d'allocation de ressources (ou concentrateur) gèrent la répartition des temps de traitement entre les différents traitements. Pour 30 cela, ils disposent d'une loi de priorité selon laquelle ils activent ou désactivent les règles 141 d'inférence. Il ne doit jamais y avoir trop de règles actives à la fois, sous peine de dépasser la capacité du système. La loi de priorité permet à la fois une hiérarchie spatiale des cubes mémoire 101 à traiter, et une hiérarchie temporelle des règles 141 à lancer. Dans un cas comme dans l'autre, de nombreux paramètres sont pris en compte. Avantageusement, cette répartition s'effectue selon un critère dit « d'essentialité ». A tout instant, on calcule le critère d'essentialité pour une règle et on lance la ou les règles pour lesquelles il est maximal si elles ne sont pas encore activées. En cas de lancement d'une règle, on calcule alors le critère d'essentialité sur les cubes mémoire 101 (à traiter par ladite règle), on génère la séquence en triant les segments selon une essentialité décroissante, et on traite les cubes selon cette séquence, celle-ci s'interrompant en cas de désactivation de la règle. Tout d'abord, l'essentialité des cubes mémoire dépend de paramètres prédéfinis inhérents à la règle en cours. Par exemple les plus grands groupes de situations seront préférés pour des règles visant à établir des liens de connexité. En outre, avantageusement, les cubes de mémoire les plus abstraits, les plus récents, et les plus singuliers auront l'essentialité maximale, également par analogie avec la réflexion humaine. Ensuite, l'essentialité des règles dépend également de paramètres prédéfinis hiérarchisant les règles, à contexte égal. Mais surtout l'essentialité d'une règle 141 d'inférence dépend de l'intervalle séparant ses occurrences d'activation. Plus la règle est inactive depuis longtemps, plus son essentialité augmente. Cela permet d'effectuer régulièrement toutes les sortes de traitement. Dans un mode de réalisation préférentiel on peut concevoir le concentrateur comme une pile de traitements dans laquelle les traitements les plus essentiels se situent en haut de la pile, les moins essentiels en bas. Le dernier traitement arrivé se place en fin de pile avec l'essentialité du segment « présent ». Dans ce mode, le concentrateur balaye selon une fréquence fixe toute la pile et recalcule à chaque cycle le niveau d'essentialité des traitements en fonction de différents paramètres. Les paramètres suivants peuvent par exemple être retenus : - D : leur délai d'attente. A chaque passage du concentrateur, D est incrémenté d'une quantité fixe, par exemple 0,25 ; - T : la temporalité du cube de mémoire associé. T prend une valeur représentant l'ordre du segment de temporalité (de 1 à N, 1 caractérisant le segment le plus ancien) - I : l'incidence du cube de mémoire associé. I prend une valeur représentant l'ordre du segment d'incidence (de 1 à N, 1 caractérisant le segment de moindre incidence) ; - A : le niveau d'abstraction du cube de mémoire associé. A prend une valeur représentant l'ordre du niveau d'abstraction (de 1 à N, 1 caractérisant le niveau le plus bas). L'essentialité E peut alors avantageusement être représentée par la formule suivante : E = D + I + T + A. ou par toute autre formule du type E= f(D, I, T, A), notamment E = d*D + i*I + t*T + a*A avec (d, i, t, a) des coefficients adaptés. L'invention n'est toutefois limitée ni à un mode de calcul spécifique de l'essentialité, ni à une liste prédéfinie de paramètres. En outre, dans le mode de réalisation décrit, les traitements peuvent être caractérisés afin de contrôler leur mode d'exécution par le concentrateur. Ainsi, chaque traitement peut par exemple être défini comme unique ou comme permanent : un traitement unique sortira de la pile lorsqu'il sera réalisé alors qu'un traitement permanent réalisé se replace en queue de pile et sera reconduit. Il peut également être défini comme actif ou comme différé : un traitement actif est pris en charge par le concentrateur alors qu'un traitement différé patiente dans la pile en attendant son heure, le concentrateur ignorant les traitements différés qui ne sont pas arrivés à terme. Un traitement différé permanent peut également être défini comme devant être lancé à date fixe ou selon une fréquence fixe. Révélateur Des moyens 12 d'extraction de données (ou révélateur) permettent de délivrer un flux informatif grâce auquel l'on pourra collecter les résultats des nombreux cycles de traitement effectués par le moteur 14 d'inférence sur la mémoire 10. Les moyens 12 identifient des données à l'intérieur de la mémoire 10 selon différents principes non exclusifs les uns des autres. Ainsi les données ciblées peuvent être définies selon des valeurs d'attribut, ou leur appartenance à un groupe connexe. D'un autre coté, c'est leur place dans la mémoire qui peut être importante, dans ce cas les moyens 12 d'extraction écoutent un plusieurs cubes mémoire. Les critères d'extraction peuvent également être prédéfinis arbitrairement par programmation. Avantageusement, le flux informatif composé par les moyens 12 d'extraction de données est composé: - d'une part d'alertes : dans ce cas les moyens d'extraction sont 15 aptes à sélectionner des situations singulières (nouvelles, anormales) ou des situations ayant varié (phénomènes situationnels) ; - et d'autre part de mises en situations : Ces dernières correspondent à des situations prévisionnelles prédites et présentes dans les cubes mémoire des segments à venir et plausibles. 20 Processeur physique d'analyse situationnelle L'invention propose selon un second aspect un système de traitement de l'information. Il s'agit d'une implémentation physique de 25 l'architecture du dispositif 1 de traitement selon le premier aspect de l'invention. Ce système de traitement de l'information est par exemple sous la forme d'un co-processeur. Le système de traitement comprend une unité de traitement, dédiée à l'exécution des règles 141 d'inférence. Avantageusement c'est un co- 30 processeur multicoeur. En effet, comme on a vu l'analyse situationnelle permet le traitement parallèle des données, avec la possibilité d'activer simultanément plusieurs règles. Alternativement, cette unité de traitement peut implémenter un réseau neuronal autour de plusieurs « cellules » élémentaires de traitement. Un tel réseau est particulièrement adapté à l'apprentissage. Le système de traitement comprend également une unité de mémoire, par exemple une mémoire vive de type RAM. C'est là que sera hébergée la mémoire 10 de l'architecture situationnelle. Optionnellement, le système comprend également une mémoire de masse 16, tel un disque dur, pour pouvoir effectuer la permutation de données décrite précédemment. Deux interfaces sont aussi nécessaire, l'une pour le ou les flux entrants d'information à destination des moyens 11 d'intégration, et l'autre pour le ou les flux sortants d'information fournis par les moyens 12 d'extraction de données. Outre cette implémentation physique, un co-processeur d'analyse situationnelle peut être purement logique, et être émulé en tant que programme d'un poste de travail. Dans ce dernier cas, l'invention concerne un produit programme d'ordinateur comprenant des instructions de code de programme qui lorsqu'elles sont exécutées, mettent en oeuvre l'architecture de processeur d'analyse situationnel précédemment décrit. Environnement du processeur d'analyse situationnel Qu'elle soit physique ou logique, l'architecture du dispositif 1 de traitement de données par analyse situationnelle s'intègre facilement à d'autres architectures pour réaliser des outils performants, comme le montre la figure 3. Les moyens 11 d'intégration d'information peuvent s'adapter tout particulièrement à internet à travers lequel les données à récupérer sont abondantes. Par exemple, les données peuvent être générées par le parcours d'un ou plusieurs clients dans un magasin. Il peut être intéressant de comprendre les situations dans lesquels ils se placent lors d'un achat, ou justement d'un non-achat. Les résultats de l'analyse situationnels, obtenus via les moyens 12 d'extraction de données peuvent être transmis au client lui- même, par exemple pour l'aider à faire son choix : s'il cherche une souris d'ordinateur, l'analyse des situations des précédents acheteurs peut lui permettre de déterminer un produit qui lui conviendra. Les données peuvent aussi bien entendu être transmises et exploitées par des experts, en particulier les alertes sur des situations anormales. Les applications de l'analyse situationnelles s'avèrent toutefois 5 extrêmement vastes, notamment dans le monde de l'internet. REVENDICATIONS1. Dispositif (1) de traitement de données caractérisé en ce qu'il comprend en combinaison : - une mémoire (10) organisée d'une part en deux espaces, l'un contenant des attributs décrivant les données stockées, et l'autre contenant des liens de connexité entre les 10 données stockées, et d'autre part suivant une ou plusieurs dimensions associées chacune à des attributs et divisées en un ou plusieurs segments hiérarchisés, les données étant renseignées en créant, supprimant ou modifiant des valeurs d'attributs caractérisant ces segments ; 15 - des moyens (11) d'intégration d'un ou plusieurs flux entrants d'information qui analysent ces flux pour déterminer les données qui les composent et pour structurer ces données et leurs attributs conformément à l'organisation de ladite mémoire (10) ; - un moteur (14) d'inférence mettant en oeuvre en parallèle ou en série des 20 règles (141) d'inférences regroupées dans des bibliothèques (15), lesdites règles (141) étant programmées pour régénérer une séquence comprenant au moins un segment de la mémoire, en créant, supprimant ou modifiant lors de leur mise en oeuvre dans au moins un espace de la mémoire au moins une donnée et/ou au moins une valeur d'attribut et/ou au moins un 25 lien de connexité, - des moyens (13) d'allocation de ressources activant ou désactivant les règles (141) d'inférence en fonction d'une règle de priorité, - des moyens (12) d'extraction de données, identifiées par programmation et/ou par au moins une valeur d'attribut choisie et/ou au moins un lien de 30 connexité choisi ; et/ou localisées dans un ou plusieurs segments choisi de la mémoire (10), vers un ou plusieurs flux sortants d'information. 2. Dispositif selon la revendication précédente, caractérisé en ce que la mémoire (10) est organisée en au moins trois dimensions, dont au moins une dimension temporelle associant aux données un ou plusieurs attributs permettant de dater la mémorisation des données, une dimension idiosyncratique associant aux données un ou plusieurs attributs permettant de déterminer la spécificité relative des données, une dimension conceptuelle associant aux données un ou plusieurs attributs permettant de hiérarchiser les données selon des niveaux d'abstraction (100). 3. Dispositif selon la revendication précédente, caractérisé en ce le premier espace de la mémoire contenant des attributs des données est constitué par des niveaux pairs (100a) identifiés comme des niveaux de situations, et le second espace de la mémoire contenant des relations entre données est constitué par des niveaux impairs (100b) identifiés comme des niveaux de connexités. 4. Dispositif selon la revendication précédente, caractérisée en ce qu'au moins une règle d'inférence mise en oeuvre par le moteur d'inférence induit un niveau d'abstraction 2k+1 de connexité à partir d'un niveau d'abstraction 2k de situation et/ou un niveau d'abstraction 2k+2 d'hypersituation à partir d'un niveau d'abstraction 2k+1 de connexité. 5. Dispositif selon l'une des revendications précédentes, caractérisé en ce que la règle de priorité mise en oeuvre par les moyens (13) d'allocation de ressource est fonction de la hiérarchie des segments de mémoire à régénérer, de paramètres prédéfinis des règles (141) d'inférence et d'intervalle séparant les occurrences d'activation des règles (141) d'inférence. 6. Dispositif selon l'une des revendications précédentes, caractérisé en ce que la mémoire est connectée à un espace de stockage de masse dans lequel des segments peuvent être sauvegardés. 7. Dispositif selon l'une des revendications précédentes, caractérisé en ce que les moyens (12) d'extraction de données choisissent des situations singulières, des situations ayant varié, et des situations prévisionnelles plausibles. 8. Système de traitement d'informations comprenant au moins une unité de traitement, au moins une unité de mémoire, une première interface avec au moins un flux d'information d'entrant et une deuxième interface avec au moins un flux d'informations sortant, caractérisée en ce qu'elle met en oeuvre l'architecture du dispositif de traitement selon l'une des revendications précédentes. 9. Système selon la revendication précédente, caractérisée en ce que ladite unité de traitement comprend au moins un processeur mufti-15 coeur. 10. Système selon l'une des revendications 8 ou 9, caractérisée en ce que ladite unité de traitement implémente une structure de réseau neuronal. 11. Produit programme d'ordinateur comprenant des instructions de code de programme qui lorsqu'elles sont exécutées, mettent en oeuvre l'architecture du dispositif selon l'une des revendications 1 à 7. 20