Brevet FR2922337A1 — publié le 20090417

Construction matricielle par fermeture transitive d'une matrice stochastique de grande taille La présente invention concerne la construction matricielle par fermeture transitive d'une matrice stochastique de grande taille dans laquelle une partie de premiers éléments sont associés à une partie de deuxièmes éléments. La fermeture transitive consiste à créer un lien entre des premiers éléments et des deuxièmes éléments associés indirectement dans la matrice. Plus particulièrement, l'invention concerne la construction d'une matrice dite matrice de fermeture transitive à partir de la matrice stochastique de grande taille. L'intérêt des applications informatisées pour le calcul de la fermeture transitive a été suffisamment fort pour que des études algorithmiques sur ce sujet aient été réalisées dès les années 1960. Cependant, le problème qu'il fallait résoudre concernait la complexité calculatoire en raison de la puissance limitée des machines de l'époque. Le problème relatif à la taille des données ne s'est posé de manière cruciale qu'avec l'avènement d'internet. La difficulté, pour les algorithmes connus, de traiter de grands volumes de données tient de la nécessité d'avoir une complexité de calcul raisonnable, c'est-à-dire entre o (n2) et 0(n3), o étant une fonction relative à la complexité des algorithmes et n étant le nombre de données à traiter. Pour ce faire, ces algorithmes utilisent une représentation de matrice pleine résidant en mémoire centrale de processeur. Chaque ligne (ou colonne) de la matrice contient des éléments matriciels, dits premiers éléments, et chaque colonne (ou ligne) de la matrice contient des éléments matriciels, dits deuxièmes éléments. La relation entre les premiers éléments et les deuxièmes éléments peut être binaire ou peut correspondre à une valeur de cohésion exprimée sous forme de probabilité. Le passage d'une représentation à deux dimensions correspondant à la matrice à une représentation à une dimension correspondant à la mémoire centrale comporte un rangement des cases de chaque ligne de la matrice en mémoire centrale de manière contiguë et une mémorisation de la matrice entière par mémorisation contiguë des lignes de la matrice. Bien que la taille de la mémoire centrale augmente d'une puissance carrée tous les ans grâce aux progrès techniques, la taille des données à traiter augmente elle d'une puissance au cube. Une matrice a un nombre de données trop élevé comparativement à la taille de la mémoire centrale et ne peut être mémorisée dans celle-ci. L'exemple suivant d'application dans le domaine linguistique de type question/réponse permet de souligner l'importance du calcul de la fermeture transitive dans certains traitements. Le principe des questions/réponses consiste à produire pour une question donnée, comme "animal herbivore ?", des réponses synthétiques appropriées telles que "cheval" ou "vache". Le mécanisme permettant d'avoir ces réponses nécessite une base de connaissance adaptée, par exemple sous forme d'un réseau de taxonomie dans lequel, "vache" et "cheval" sont reliés à "animal" par un lien "sorte-de", le lien étant en plus annoté d'une restriction de sélection "herbivore". L'exactitude des réponses est alors possible si pour d'autres éléments reliés à "animal" par un lien "sorte-de", et donc potentiellement candidats comme "chien" et "chat", une annotation de restriction de sélection comme "carnivore" permet de ne pas retenir "chien" et "chat" comme de bonnes réponses. Ce niveau de description est cependant trop complexe pour être utilisé dans des procédés d'acquisition automatique de connaissances. Une construction manuelle de réseaux sémantiques est envisageable techniquement, mais elle n'est pas viable économiquement pour des applications opérationnelles où le réseau de taxonomie doit être de très grande taille. Il est connu des procédés automatiques pour construire des réseaux sémantiques par une détermination de matrice de données de cooccurrence, qui cependant donnent des résultats incomplets. Pour remédier aux inconvénients évoqués ci-dessus, un procédé pour construire une première matrice à partir d'une deuxième matrice de grande taille dans un système informatique comprenant des première et deuxième mémoires, les deux matrices étant mémorisées dans la deuxième mémoire et faisant chacune correspondre des premiers éléments à des deuxièmes éléments respectivement identiques aux premiers éléments, est caractérisé en ce qu'il comprend une première boucle pour construire lors d'une itération la première matrice à partir de la deuxième matrice qui est remplacée par la première matrice à la fin de l'itération, une deuxième boucle incluse dans la première boucle pour traiter lors d'une itération dans la première mémoire un bloc formant avec d'autres blocs consécutifs la première matrice, chaque bloc occupant un espace mémoire au plus égal à la taille de la première mémoire et faisant correspondre une partie des premiers éléments à une partie des deuxièmes éléments de la première matrice, à la fin de l'itération le bloc traité étant transféré dans la première matrice, et une troisième boucle incluse dans la deuxième boucle pour associer lors d'une itération des premier et deuxième éléments dans le bloc lorsqu'ils sont associés chacun via un troisième élément par une probabilité dans la deuxième matrice. La deuxième matrice peut être préalablement déterminée par une construction moins complète que la construction de la première matrice selon l'invention. Par exemple, la deuxième matrice peut être déterminée par un procédé connu de construction de matrice de données de cooccurrence. Dès que les nombres d'associations d'éléments dans les deux matrices sont égaux, le procédé est terminé et la première matrice est considérée comme la matrice de fermeture transitive finale. Les itérations imbriquées des trois boucles ont pour avantage d'associer par transitivité des éléments qui sont fortement éloignés dans la matrice stochastique initiale. Ainsi, les boucles internes permettent de réaliser une fermeture transitive partielle en acceptant la limitation de capacité de la mémoire centrale. La boucle externe permet de faire croitre par chaque itération, cette fermeture transitive jusqu'à atteindre la saturation de la matrice qui correspond à la fermeture transitive finale. L'invention utilise un périphérique de stockage, en tant que deuxième mémoire du système informatique, pour stocker la première matrice et la deuxième matrice, et s'appuie sur une mémoire centrale de processeur, en tant que première mémoire, pour recenser pour chaque bloc formant la première matrice des associations indirectes d'éléments de la deuxième matrice via des troisièmes éléments respectifs de la deuxième matrice. La difficulté de volumétrie des éléments à associer en mémoire est levée selon l'invention par la division de la première matrice en des blocs traités par la mémoire centrale et transférés une fois traités dans le périphérique de stockage. Ainsi, l'invention offre de nouvelles perspectives telles que la construction automatique de réseaux sémantiques de très grande taille, la réalisation d'opérations matricielles sur des données dépassant la capacité de la mémoire centrale, et la mise en oeuvre de traitements actuellement inexploitables à grande échelle dans l'analyse et dans l'indexation basées sur la sémantique. La probabilité de l'association d'un premier élément et d'un deuxième élément via un troisième élément dans la première matrice peut être déterminée en fonction de probabilités associant au moins deux des trois éléments précédents et recensées dans la deuxième matrice. La probabilité traduit ainsi la vraisemblance de l'association entre le premier élément et le deuxième élément ce qui évite des associations non pertinentes en deçà d'un certain seuil de probabilité. Selon une caractéristique du procédé, un premier élément est associé à un deuxième élément dans un bloc de la première matrice via un troisième élément si le produit des probabilités respectivement associant le premier élément au troisième élément dans la deuxième matrice et le troisième élément au deuxième élément dans la deuxième matrice est supérieur à un seuil de probabilité. Selon une autre caractéristique du procédé, la probabilité de l'association d'un premier élément à un deuxième élément via un troisième élément dans la première matrice est la valeur maximum : du produit des probabilités associant respectivement le premier élément au troisième élément dans la deuxième matrice et le troisième élément au deuxième élément dans la deuxième matrice, et - de la probabilité associant le premier élément au deuxième élément dans la deuxième matrice. Ainsi, le seuillage et la sélection permettent de déterminer la meilleure réponse possible lors d'une application de type question/réponse, le premier élément correspondant à un élément de la question et le deuxième élément correspondant à la réponse. Afin notamment de réduire la complexité de la détermination de la fermeture transitive à partir d'une matrice de grande taille, la troisième boucle peut comprendre trois sous-boucles qui sont une première sous-boucle sélectionnant lors d'une itération des premier et deuxième éléments identiques en tant que troisième élément dans la deuxième matrice, une deuxième sous-boucle incluse dans la première sous-boucle et sélectionnant lors d'une itération chaque premier élément dans la deuxième matrice, et une troisième sous-boucle incluse dans la deuxième sous- boucle et sélectionnant lors d'une itération chaque deuxième élément dans la deuxième matrice, afin d'associer dans la première matrice le premier élément sélectionné dans la deuxième matrice au troisième élément en tant que deuxième élément, au deuxième élément associé dans la deuxième matrice au troisième élément en tant que premier élément. Lors du traitement d'une partie des éléments de la première matrice dans un bloc, la troisième boucle a pour avantage d'analyser tous les premiers et deuxièmes éléments de la deuxième matrice pour déterminer les possibles associations des éléments du bloc. L'invention a aussi pour objet un système informatique pour construire une première matrice à partir d'une deuxième matrice de grande taille. Le système comprend des première et deuxième mémoires, les deux matrices étant mémorisées dans la deuxième mémoire et faisant chacune correspondre des premiers éléments à des deuxièmes éléments respectivement identiques aux premiers éléments, et est caractérisé en ce qu'il comprend, un premier module de traitement exécutant une première boucle pour construire lors d'une itération la première matrice à partir de la deuxième matrice qui est remplacée par la première matrice à la fin de l'itération, un deuxième module de traitement exécutant une deuxième boucle incluse dans la première boucle pour traiter lors d'une itération dans la première mémoire un bloc formant avec d'autres blocs consécutifs la première matrice, chaque bloc occupant un espace mémoire au plus égal à la taille de la première mémoire et faisant correspondre une partie des premiers éléments à une partie des deuxièmes éléments de la première matrice, à la fin de l'itération le bloc traité étant transféré dans la première matrice, et un troisième module de traitement exécutant une troisième boucle incluse dans la deuxième boucle pour associer lors d'une itération des premier et deuxième éléments dans le bloc lorsqu'ils sont associés chacun via un troisième élément par une probabilité dans la deuxième matrice. Enfin, l'invention se rapporte à un programme d'ordinateur apte à être mis en oeuvre dans un système informatique comprenant des première et deuxième mémoires pour construire une première matrice à partir d'une deuxième matrice de grande taille, les deux matrices étant mémorisées dans la deuxième mémoire et faisant chacune correspondre des premiers éléments à des deuxièmes éléments respectivement identiques aux premiers éléments. Le programme est caractérisé en ce qu'il comprend des instructions qui, lorsque le programme est chargé et exécuté dans ledit système informatique, réalisent les étapes conforme au procédé de construction matricielle selon l'invention. D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations de l'invention données à titre d'exemples non limitatifs, en référence aux dessins annexés correspondants dans lesquels : - la figure 1 montre une matrice stochastique pleine ; - les figures 2 et 3 montrent respectivement une matrice stochastique creuse et la transposée de celle-ci ; - la figure 4 est un bloc-diagramme schématique d'un système informatique mettant en oeuvre un procédé de construction matricielle par fermeture transitive d'une matrice stochastique de grande taille selon l'invention ; - la figure 5 montre une table de hachage ; - la figure 6 montre une matrice intermédiaire selon l'invention ; et - les figures 7 et 8 sont des parties successives d'un algorithme du procédé de construction matricielle par fermeture transitive d'une matrice stochastique selon l'invention. De manière générale, une matrice pleine est représentée par des premières rangées, lignes ou colonnes, désignées par des premiers indices et par des deuxièmes rangées, colonnes ou lignes, désignées par des deuxièmes indices. L'intersection de l'une des premières rangées avec l'une des deuxièmes rangées forme une case pleine ou vide. La figure 1 représente une matrice carrée stochastique pleine DPn, avec l'indice n = 0 représentatif d'une matrice initiale, comportant L lignes en tant que premières rangées représentant des premiers éléments L1 à LL, et C colonnes en tant que deuxièmes rangées représentant des deuxièmes éléments C1 à C. Les premiers éléments L1 à LL sont respectivement identiques aux deuxièmes éléments C1 à Cc, soit L1 = C1, L2 = C2,..., Llg = Clg,..., Lc = Cc..., LL = Cc, avec l'indice 1g compris entre 1 et L, et l'indice c compris entre 1 et C. Chaque élément de ligne L1 à LL et respectivement chaque élément de colonne C1 à Cc sont des valeurs numériques entières correspondant à un objet tel qu'un mot, chaque correspondance élément de ligne (ou de colonne) / objet pouvant être enregistrée dans une table de correspondance. La matrice DPn fait correspondre une partie de ces premiers éléments, respectivement à une partie de ces deuxièmes éléments. Chaque case pleine de la matrice comporte une probabilité conditionnelle traduisant la vraisemblance de l'association entre les éléments des première et deuxième rangées dont l'intersection est formée par la case pleine. Par exemple, la matrice DPn illustrée à la figure 1 fait correspondre le premier élément Llg aux deux deuxièmes éléments C2 et Cc dont les deux intersections avec le premier élément comportent des probabilités conditionnelles Plg,2 et Plg,c. La détermination de la fermeture transitive à partir de la matrice stochastique initiale DPp a pour objectif d'étendre les probabilités conditionnelles sur l'ensemble d'associations d'éléments indirectes dans la matrice DP0. Selon la transitivité constituée par l'association de deux éléments, si un premier élément Llg est associé à un deuxième élément Cc avec une probabilité Plg,c et si le deuxième élément Cc est associé à un premier élément L1, respectivement identique au deuxième élément C1, avec une probabilité conditionnelle P1,c alors l'élément Llg doit être associé à l'élément C1 avec une probabilité conditionnelle au moins égale à Plg,1 = Plg,c x P1,c• L'invention est dirigée vers une construction itérative, dont l'indice d'itération est n tel que n > 0, d'une matrice stochastique DPn+1, dite matrice de fermeture transitive partielle, recensant les associations d'éléments déterminées par la relation de transitivité et les probabilités conditionnelles associées à partir de la matrice stochastique DPn construite lors d'une itération précédente n-1 et dépendant de la matrice stochastique initiale DP0. Le procédé selon l'invention peut intervenir dans différents domaines. Selon un premier exemple, lors de la fabrication de circuits intégrés ou de cartes imprimées, le procédé peut s'appliquer aux connexions des composants d'un circuit en mettant en correspondance les bornes des composants selon des probabilités conditionnelles afin d'établir des chemins optimisant le coût de fabrication. Selon un autre exemple relatif au domaine linguistique, le procédé de l'invention sert à la construction de réseaux sémantiques utilisés pour des applications questions/réponses telles que présentées précédemment. L'établissement d'une matrice stochastique initiale DPp relative à un réseau sémantique comprend une analyse d'un corpus de textes pour extraire une matrice de contingence représentative d'un réseau de relation de cooccurrence entre des termes du corpus, et une transformation de la matrice de contingence en une matrice stochastique représentative d'un réseau sémantique. Le principe de l'analyse de cooccurrence est un comptage de fréquences associant deux ou plusieurs termes à partir d'observations des textes du corpus. Le corpus est découpé en unités d'observation, par exemple les paragraphes des textes, traduisant la description sémantique à observer telle que "un mot est en rapport de sens avec un autre mot", en supposant que dans tous les textes du corpus, tous les termes d'un même paragraphe concernent un même thème. Les unités d'observation constituent un référentiel permettant de compter le nombre de fois que chaque doublet de termes apparaît. Le résultat de l'analyse correspond à une matrice de contingence associant des premiers et des deuxièmes termes, dont l'intersection indique la fréquence de cooccurrence associée aux deux termes, c'est-à-dire dans l'exemple, le nombre de paragraphes dans lesquels apparaissent simultanément les deux termes. A partir des fréquences de cooccurrence sont estimées des probabilités conditionnelles en divisant chaque fréquence de cooccurrence pour chaque ligne par la somme des fréquences de cooccurrence de la ligne. Une absence de lien entre deux termes correspond à une probabilité conditionnelle nulle. L'estimation de ces probabilités conditionnelles a pour avantage d'éviter une propagation intempestive d'associations d'éléments n'ayant aucun lien entre eux lors de la détermination de la fermeture transitive, telles que, en se référant à l'exemple du réseau de taxonomie, une association de l'élément correspondant à l'objet "chat" à l'élément correspondant à l'objet "herbivore". En référence à la figure 4, un système informatique SI mettant en oeuvre le procédé de construction matricielle par fermeture transitive d'une matrice stochastique DPp de grande taille en une matrice de fermeture transitive DPn comporte une unité centrale de traitement UC, telle qu'un processeur, contrôlant l'exécution du procédé et reliée par un bus à des première et deuxième mémoires MC et DSQ. La première mémoire est une mémoire centrale MC du système, telle qu'une mémoire volatile RAM ou une mémoire non volatile EEPROM. La mémoire centrale MC comprend une matrice intermédiaire creuse MI initialement vide. La matrice MI est illustrée à la figure 6 sous forme d'une table unidimensionnelle et caractérisée par des valeurs minimales de ligne minL et de colonne minC, et des valeurs maximales de ligne maxL et de colonne maxC. La mémoire centrale comprend également une table de hachage TH illustrée à la figure 5. La deuxième mémoire est un périphérique de stockage comprenant un support d'enregistrement comme un disque dur DSQ, et ayant une capacité nettement supérieure à celle de la première mémoire MC. L'accès au disque dur est discontinu en écriture-lecture et est moins rapide que celui de la mémoire centrale. Le disque dur DSQ contient une matrice stochastique creuse DCn issue de la matrice stochastique pleine DPn comportant L lignes et C colonnes, illustrée à la figure 1, dont l'indice n est initialement égal à 0. Le disque dur DSQ contient également une matrice transposée creuse DCnT issue de la matrice stochastique creuse DCn, et une matrice de fermeture transitive partielle creuse DCn+1 en cours de construction selon le procédé de l'invention. Les matrices stochastiques creuses MI, DCn, DCnT et DCn+1 ne comportent que des cases pleines contenant une probabilité conditionnelle non nulle et ont pour avantage de limiter l'espace mémoire du disque dur DSQ et de la mémoire centrale MI qu'elles sont susceptibles d'y occuper, comparativement à une matrice pleine comportant des cases pleines dont certaines peuvent inclure une probabilité conditionnelle nulle. L'unité centrale UC crée, détermine et enregistre la matrice de fermeture transitive partielle DCn+1 à partir de la lecture simultanée des matrices DCn et DCnT dans le disque dur DSQ. A cause de leur taille importante, les matrices DCn, DCnT et DCn+1 sont mémorisées dans le disque dur DSQ. Cependant, la détermination de la matrice DCn+1 à partir des matrices DCn et DCnT par l'unité centrale UC comprend des accès discontinus aux lignes des matrices DCn et DCnT dans le disque dur ce qui est très pénalisant en temps de traitement. En effet, la technologie des disques durs favorise des lecture et écriture séquentielles. Pour optimiser le temps de traitement, des accès séquentiels ligne par ligne sont effectués pour une lecture continue de la matrice DCn et une écriture continue partielle de la matrice DCn+i, et des accès séquentiels colonne par colonne sont effectués pour une lecture continue de la matrice DCnT sur le disque dur DSQ. Pour écrire de manière discontinue toute la matrice DCn+i, l'unité centrale UC divise progressivement celle-ci en blocs matriciels variables qui sont un par un successivement traités dans la matrice intermédiaire MI de la mémoire centrale MC et transférés dans la matrice de fermeture transitive partielle DCn+1 du disque dur DSQ. Pour déterminer la fermeture transitive de la matrice stochastique DCn, l'unité centrale UC comprend un module de détermination de matrice transposée DT, un module de dimensionnement DI et trois modules de traitement TRI, TR2 et TR3. Le module DT détermine la matrice transposée DCnT à partir de la matrice DCn. Le module DI dimensionne la taille de la matrice intermédiaire MI en fonction de la taille de la matrice stochastique DCn et de la taille de la mémoire centrale MC et identifie en conséquence chaque bloc variable formant la matrice de fermeture transitive partielle DCn+i. Le module TRI exécute une première boucle itérative du procédé pour construire la matrice DCn+1 lors d'une itération n à partir de la matrice DCn construite à l'itération précédente n-1. A la fin d'une itération, la matrice DCn+i, soit une première matrice à construire, remplace la matrice DCn, soit une deuxième matrice de grande taille. La construction itérative prend fin lorsque les matrices DCn et DCn+1 ont un nombre égal de cases dans le disque dur, c'est-à-dire un nombre égal d'associations d'éléments et de probabilités associées. Ainsi la matrice DCn+1 est considérée comme une matrice de fermeture transitive finale. Le module TR2 exécute une deuxième boucle itérative du procédé incluse dans la première boucle pour traiter à chaque itération un bloc de la matrice DCn+1 dans la matrice intermédiaire MI dans la mémoire centrale MC lors d'une lecture de la matrice DCn et de sa transposée DCnT en fonction de la transitivité associative et transfère à la fin de l'itération le bloc matriciel traité dans la matrice DCn+1 dans le disque dur DSQ avant de traiter un bloc matriciel suivant. Le module TR3 exécute une troisième boucle itérative du procédé incluse dans la deuxième boucle pour mettre en oeuvre lors d'une itération (i) la relation de transitivité entre des éléments de ligne et des éléments de colonne de la matrice DCn par un élément de lien. Les modules DI, DV, TRI, TR2 et TR3 peuvent être des modules logiciels fonctionnels détaillés dans la suite de la description. En référence à la figure 2, les cases de la matrice creuse DCn sont adressées consécutivement dans le disque dur DSQ et forment des lignes consécutives en tant que premières rangées de la matrice, par lecture des cases pleines des lignes de la matrice pleine DPn représentée à la figure 1, en sautant les cases vides. Chaque case de la matrice creuse DCn ainsi mémorisée contient un triplet (L1g, Cc, Plg, c) comportant un élément de ligne Llg, appelé également élément de première rangée, un élément de colonne Cc, appelé également élément de deuxième rangée, et une probabilité conditionnelle Plg,c associée, avec 1g un indice de ligne tel que 1 En référence à la figure 3, la matrice transposée DCnT est construite par l'unité centrale UC à partir de la matrice creuse DCn et mémorise les éléments de colonne associés aux éléments de ligne de la matrice pleine DPn par des probabilités associées non nulles suivant une lecture des colonnes de la matrice pleine DPn. Le nombre de cases des matrices DCn et DCnT est identique. De manière analogue à la matrice creuse DCn, les cases pleines de la matrice transposée DCnT sont adressées consécutivement selon des colonnes consécutives dans le disque dur DSQ. Chaque case de la matrice DCnT ainsi mémorisee contient un triplet (Cc,Llg,Plg,c) comportant un élément de colonne Cc, un élément de ligne Llg et une probabilité conditionnelle Plg,c associée. Les cases pleines dans la matrice DCnT sont ordonnées selon une relation d'ordre totale analogue à celle décrite précédemment et définie telle que, pour deux triplets (Cc1 Llg1 Plg1, c1) et (Cc2 Llg2 Plg2, c2) avec 1 La détermination de la fermeture transitive selon l'invention se base sur l'algorithme de Roy-Warshall et comprend une lecture simultanée des matrices DCn et DCnT selon trois sous-boucles itératives imbriquées les unes dans les autres. La première sous-boucle sélectionne un élément de lien colonne-ligne entre un premier élément de ligne sélectionné par la deuxième sous-boucle dans la matrice DCnT et un deuxième élément de colonne sélectionné par la troisième sous-boucle dans la matrice DCn. Pour lire les matrices DCn et DCnT simultanément, l'unité centrale UC utilise trois pointeurs : un pointeur de ligne lgp pour pointer les éléments de ligne Llgp de la matrice DCnT, un pointeur de colonne cp pour pointer les éléments de colonne Ccp de la matrice DCn et un pointeur de lien i pour pointer à la fois les éléments de colonne Ci de la matrice DCnT et les éléments de ligne Li de la matrice DCn. Le pointeur de lien i est utilisé pour établir l'association transitive entre un premier élément et un deuxième élément associés indirectement dans la matrice pleine DPn. Ainsi une association transitive est établie entre un élément de ligne Llgp et un élément de colonne Ccp lorsque ces deux éléments sont associés respectivement à un troisième élément Li = Ci dans la matrice DCnT et la matrice DCn, l'élément de ligne Llgp étant associé à l'élément de colonne Ci dans la matrice DCnT et l'élément de ligne Li étant associé à l'élément de colonne Ccp dans la matrice DCn. L'association du couple d'éléments (Llgp,Ccp) par transitivité est mémorisée dans la matrice de fermeture transitive DCn+i. La probabilité Plgp,cp associée au couple (Llgp,Ccp) précédemment mémorisé dans la matrice DCn+i est déterminée comme étant égale à la probabilité maximale sélectionnée parmi au moins le produit des deux probabilités Plgp,iXPi,cp relatives aux deux associations (Llgp,Ci), (Li,Ccp), et la probabilité Plgp,cp associée au couple (Llgp, Ccp) déjà mémorisé dans la matrice DCn. Cette dernière probabilité est nulle lorsqu'un tel couple n'est pas mémorisé dans la matrice creuse DCn. Pour écrire dans la matrice DCn+i, lire et écrire dans la matrice intermédiaire creuse MI et dans la table de hachage TH, l'unité centrale UC utilise respectivement des pointeurs de case u, j et k. En revanche, à l'itération n+1, l'unité centrale lit la matrice DCn+1 en fonction des pointeurs de ligne lgp, colonne cp et lien i. Lors de la construction fermeture transitive partielle mémorisée successivement dans comporte un triplet (Xu, Yu, correspond au pointeur de case un entier U, l'entier U initialement nul. Chaque triplet comporte un élément de ligne Xu, un élément de colonne Yu et une probabilité conditionnelle associée Pu. Les couples (X0, Y0),... (Xu, Yu),_ (Xc, Yu) sont les éléments de ligne-colonne dans la matrice et Po,_ Pu, ... Pu sont les probabilités associées. Les triplets (Xu, Yu, Pu) sont mémorisés de manière contigüe et de manière ordonnée selon une relation d'ordre total dans la matrice DCn+i. Cette relation d'ordre total est équivalente aux deux autres relations d'ordre énoncées précédemment, et est définie telle que, pour deux triplets (XAu, YAu, PAu) et (XBu, YBu, PBu) . (XAu, YAu, PAu) � XBu, YBu, PBu) si XAu La matrice DCn+1 mémorisée dans le disque dur DSQ est considérée comme initialement vide et s'agrandit au fur et à mesure de chaque lecture des matrices DCn et DCnT par l'insertion de cases associées à des probabilités non nulle, LxC éléments étant la taille maximale possible de la matrice DCn+1. L'espace mémoire de la mémoire centrale MC étant trop petit pour mémoriser simultanément la totalité des triplets recensés, la matrice DCn+1 est construite, au fur et à mesure des lectures des matrices DCn et DCnT, par construction d'un ou de plusieurs blocs matriciels de taille variable traités successivement dans la matrice intermédiaire MI de la mémoire centrale, chaque bloc occupant un espace mémoire au plus égal à la taille de la mémoire centrale. Les valeurs caractéristiques de ligne et de colonne minL, minC, maxL et maxC de la matrice MI initialement à 0 varient au cours de la construction de la matrice DCn+1. A la fin de chaque lecture des matrices DCn et DCnT, les valeurs des éléments de ligne et de colonnes situés à chaque extrémité du bloc variable traité dans la mémoire centrale MC correspondent respectivement aux valeurs caractéristiques minL, minC, maxL et maxC de la matrice intermédiaire MI. En référence à la figure 5, les couples élément de ligne - élément de colonne (Xlk, Ylk), avec l'indice k tel que 0 k associée P1k déterminée à chaque association desdits éléments (Xlk, Y1k). Selon l'exemple précédent et en considérant que les éléments Llgp et Ccp sont les premiers éléments associés par transitivité en formant le couple (Llgp, Ccp) à l'itération n, l'unité centrale insère le couple X10 = Llgp, Y10 = Ccp dans la table TH et détermine la probabilité conditionnelle associée P10. La taille maximale de la table de hachage est thmax et est inférieure à la taille de la matrice intermédiaire MI. Dès que la table de hachage est pleine, les éléments de ligne-colonne (Xlk, Y1k) et leurs probabilités conditionnelles associées P1k de la table de hachage sont transférés à la fin de la matrice intermédiaire MI. Comme montré à la figure 6, la matrice intermédiaire MI contient des triplets (X2j, Y2j, P2j), avec l'indice j tel que 0 j J et J un entier variable initialement nul. X20, Y20,...X2j, Y2j,... X2j, Y2j sont des couples d'éléments ligne- colonne et P20,... P2j,... P2 j leurs probabilités associées provenant de la table de hachage TH. Les triplets (X2j, Y2j, P2j) sont ordonnés selon la relation d'ordre total décrite précédemment. La taille maximale de la matrice intermédiaire MI est Mlmax et est supérieure à la taille maximale de la table de hachage TH. Une fois que les matrices stochastiques DCn et DCnT sont entièrement lues, la matrice intermédiaire MI correspond au bloc variable traité de la matrice DCn+1 avec des valeurs caractéristiques minL = X20, minC = Y20, maxL = X2J_ 1, maxC = Y2j_1, et les triplets (X2j, Y2j, P2j) tels que 0 j J-1 sont transférés selon le même ordre dans la matrice DCn+1 du disque dur DSQ. Lors d'une nouvelle lecture des matrices DCn et DCnT, un nouveau bloc de la matrice DCn+1 est ensuite traité dans la matrice intermédiaire MI ayant pour nouvelles valeurs caractéristiques minL = X2j, minC = Y2j, maxL = L et maxC = C. A chaque itération n, une première matrice stochastique de fermeture transitive DCn+1 est construite sur la base d'une deuxième matrice stochastique de fermeture transitive DCn précédemment construite lors de l'itération n-1 qui peut être la matrice stochastique initiale DC0 pour n = O. L'algorithme de construction d'une matrice de fermeture transitive finale comporte trois boucles itératives imbriquées. Une première boucle externe d'itération n détermine une matrice stochastique de fermeture transitive partielle en fonction d'une matrice stochastique de fermeture transitive construite lors de l'itération précédente n-1. Une deuxième boucle traite successivement chaque bloc variable formant la matrice de fermeture transitive partielle dans la matrice intermédiaire. Une troisième boucle itérative i composée également de sous-boucles itératives imbriquées lgp, cp détecte une association transitive entre des éléments Llgp et Ccp avec 1 Le procédé de construction matricielle par fermeture transitive d'une matrice stochastique de grande taille comprend des étapes EO à E31 représentées aux figures 7 et 8. La première boucle correspond aux étapes El à E31. La deuxième boucle incluse dans la première boucle correspond aux étapes E4 à E29. La troisième boucle incluse dans la deuxième boucle comprend les trois sous-boucles imbriquées : la première sous-boucle entre les étapes E6 et E25, la deuxième sous-boucle entre les étapes E7 et E23 incluse dans la première sous-boucle et la troisième sous-boucle entre les étapes E7 et E21 incluse dans la deuxième sous-boucle. L'étape EO correspond à l'initialisation de la première boucle d'itération n = 0 dont la matrice stochastique creuse de départ est DC0. A l'étape El, le module de détermination de matrice transposée DT de l'unité centrale construit la matrice transposée DCnT en fonction de la matrice stochastique DCn. Pour plus de détail sur l'étape de construction de matrice transposée El, on se reportera à la demande de brevet français 2 880 446. A l'étape E2, le module de traitement TRI crée dans le disque dur DSQ une première matrice de fermeture transitive partielle DCn+1 initialement vide, soit u = U = O. A l'étape E3, le module de traitement TR2 crée dans la mémoire centrale MC, la matrice intermédiaire MI et la table de hachage TH qui sont initialement vides. En variante, MI et TH sont déjà créées. Le module de dimensionnement DI initialise à zéro les valeurs caractéristiques minL, minC, maxL et maxC de la matrice intermédiaire MI. A l'étape E4, le module de traitement TR2 vide la matrice intermédiaire MI et la table TH si ces dernières contiennent préalablement des couples d'éléments et des probabilités associées, recensées lors d'une lecture antérieure des matrices DCn et DCnT. Le module DI de l'unité centrale dimensionne la matrice intermédiaire MI aux valeurs caractéristiques minL = maxL, minC = maxC, maxL = L et maxC = C. A chaque itération n, lors d'une première lecture des matrices DCn et DCnT les valeurs minL et minC sont nulles. Le module de traitement TR3 lance la lecture simultanée des matrices DCn et DCnT à l'étape E5, les pointeurs i, lgp et cp nécessaires à la lecture imbriquée de ces deux matrices étant initialement nuls. A l'étape E6, le module de traitement TR3 lit dans la matrice DCnT toutes les cases comportant l'élément de colonne Ci et mémorise dans une liste Wi chaque doublet (Llg,Plg,i) associé à l'élément de colonne Ci, avec l'indice 1g ayant des valeurs comprises entre 1 et L. De même, le module de traitement TR3 lit dans la matrice DCn toutes les cases comportant l'élément de ligne Li et mémorise dans une liste Vi chaque doublet (Cc,Pi,c) associé à l'élément de ligne Li, avec l'indice c ayant des valeurs comprises entre 1 et C. A chaque lecture des matrices DCn et DCnT, le module de traitement TR3 compte les nombres de doublet LGPi et CPi respectivement dans les listes Wi et Vi. Si l'une des deux listes Wi et Vi ne contient pas de doublet alors le module de traitement TR3 incrémente d'une unité le pointeur i aux étapes E24 et E25. A l'étape E7, le module de traitement TR3 extrait le doublet (Llgp, Plgp, i) pointé par le pointeur lgp de la liste Wi et extrait le doublet (Ccp, Pi, cp) pointé par le pointeur cp de la liste Vi, les pointeurs lgp et cp se déplaçant de doublet en doublet dans les listes Wi et Vi, avec 0 En revanche, si à l'étape E8 Plgp,iXPi,cp > S, minL Llgp maxL et minC Ccp maxC, le module TR3 vérifie, à l'étape E9, si le couple d'éléments extrait (L1gp,Ccp) est déjà présent dans la matrice intermédiaire MI. Pour cela, le module de traitement TR3 compare les éléments Llgp et Ccp successivement à chaque couple d'éléments (X2j, Y2j) mémorisé dans la matrice MI, avec 0 j J. Si Llgp = X2j et Ccp = Y2j, alors à l'étape E10, la probabilité P2j associée au couple d'éléments (X2j, Y2j) correspond à la probabilité maximale sélectionnée parmi - une probabilité P2j précédemment déterminée lors d'une itération i-1 précédente, le produit des probabilités Plgp, i XPi, cp extraites, et - la probabilité Plgp,cp associée au couple d'éléments (Llgp, Ccp) dans la matrice DCn. Puis, le module TR3 continue la lecture des listes Wi et Vi à l'étape E20. A l'étape E9, si le couple d'éléments (Llgp, Ccp) ne correspond à aucun couple dans la matrice MI, le module TR3 vérifie si le couple (Llgp, Ccp) est présent dans la table de hachage TH, à l'étape E11. Pour cela, le module TR3 compare les éléments Llgp et Ccp à chaque clé d'accès (Xlk, Y1k) mémorisée dans la table TH, avec 0 k A l'étape E11, si la donnée de position relative au couple extrait (L1gp,Ccp) correspond à aucun couple de la table TH, le module de traitement TR3 de l'unité centrale UC insère, à l'étape E13, à la fin de la table TH une nouvelle clé d'accès (X1K+1. Y1K+1) avec X1K+1 = Llgp et Y1K+1 = Ccp, associée à une probabilité P1K+1 déterminée et correspondant à la probabilité maximale sélectionnée parmi : - le produit des probabilités Plgp,iXPi,cp extraites, et - la probabilité Plgp,cp associée au couple d'éléments (Llgp, Cp)dans la matrice DCn. La taille courante K de la table TH est ensuite incrémentée d'une unité. A l'étape E14, le module TR3 vérifie si la table de hachage TH est pleine. Si la taille courante K de la table TH n'a pas atteint la taille maximale thmax de la table TH, le module TR3 continue la lecture des listes Wi et Vi à l'étape E20. Dans le cas contraire, le module TR3 transfère depuis la table de hachage TH chaque clé (Xlk, Ylk) et la probabilité associée P1k, pour k compris entre 0 et K, dans un nouveau triplet (X2J+k, Y2j+k, P2j+k) inséré à la fin de la matrice intermédiaire MI, à l'étape E15. A la fin de l'étape E15, la taille courante J de la matrice MI est incrémentée de la valeur K, puis le module TR3 vide la table de hachage TH ce qui correspond à une valeur de K nulle. A l'étape E16, le module TR3 trie la matrice intermédiaire MI selon l'ordre total défini précédemment. A l'étape E17, le module TR3 vérifie si la matrice MI est pleine. Si la taille courante J de la matrice MI n'est pas égale à la taille maximale Mlmax de la table TD, le module TR3 continue la lecture des matrices DCn et DCnT à l'étape E20. Dans le cas contraire, le module TR3 écrête la matrice intermédiaire MI en supprimant T derniers triplets (X2t, Y2t, P2t) de la matrice MI, à l'étape E18, pour t compris entre J-T et J. La valeur T est judicieusement choisie afin d'éviter un deuxième écrêtage de la matrice MI avant la fin de la lecture des matrices DCn et DCnT, et afin d'éviter une suppression trop importante de triplets dont le temps de traitement passé correspond à un temps de traitement inutile. Par exemple, la valeur T peut correspondre à trente pourcent de la taille de la matrice intermédiaire MI. A l'étape E19, la taille J est décrémentée de la valeur T, et le module de dimensionnement DI modifie les valeurs caractéristiques maximales de la matrice intermédiaire MI qui sont égales aux valeurs numériques X2J et Y2J du dernier triplet de la matrice MI écrêtée. Ainsi, si la lecture des matrices DCn et DCnT n'est pas terminée, aux étapes E20-E24, seuls les couples (Llgp, Ccp) extraits durant la suite de la lecture des matrices DCn et DCnT, avec minL Les étapes E20 et E22 correspondent au décalage des pointeurs cp et lgp respectivement dans les listes Vi et Wi. Si à l'étape E20, le pointeur cp n'est pas égal à la valeur CPi, il reste des éléments de colonne à lire dans la liste Vi. Dans ce cas, à l'étape E21, le module TR3 décale le pointeur cp d'un doublet (Cc,Pi,c) dans la liste Vi pour associer le nouvel élément de colonne Ccp à l'élément de ligne Llgp de la liste Wi à l'étape E7. Dans le cas contraire à l'étape E20, si cp = CPi, alors à l'étape E22, le module de traitement TR3 vérifie s'il reste des éléments de ligne à lire dans la liste Wi. Dans ce cas, à l'étape E23, le module TR3 décale le pointeur de ligne lgp d'un doublet (Llg,Plg,i) dans la liste Wi et met à zéro le pointeur de colonne cp afin d'associer tous les éléments de colonne de la liste Vi à l'élément de ligne Llgp aux étapes E7 à E20. A l'étape E22, si lgp = LGPi, alors le module TR3 sélectionne un nouvel élément de lien en incrémentant d'une unité le pointeur i et met à zéro les pointeurs de ligne et de colonne lgp et cp, afin de mémoriser dans la nouvelle liste Wi chaque doublet (Llg,Plg,i) associé à l'élément de colonne Ci, et dans la nouvelle liste Vi chaque doublet (Cc, Pi, c) associé à l'élément de ligne Li, à l'étape E6. Le module de traitement TR3 compte les nombres de doublet LGPi et CPi respectivement des nouvelles listes Wi et Vi. Pour i = L à l'étape E26, chacun des éléments de ligne de la matrice DCnT a été mis en relation avec chacun des éléments de colonne de la matrice DCn par un élément de lien Li, Ci, indiquant la fin de la lecture des matrices DCn et DCnT. Le module TR2 transfère depuis la table de hachage TH chaque clé (Xlk,Ylk) et la probabilité conditionnelle associée P1k, pour k compris entre 0 et K, dans un nouveau triplet (X2 J+k, Y2j+k, P2j+k) inséré à la fin de la matrice intermédiaire MI. A la fin de l'étape E26, la taille J de la matrice MI est incrémentée de la valeur K. A l'étape E27, le module TR2 trie la matrice MI selon l'ordre total défini précédemment. A l'étape E28, le module TR2 transfère depuis la matrice intermédiaire MI chaque triplet (X2j, Y2j, P2j) et la probabilité conditionnelle associée P2j, pour j compris entre 0 et J, dans un nouveau triplet (Xu+j, Yu+j, Pu+j) inséré à la fin de la matrice de fermeture transitive partielle DCn+i dans le disque dur DSQ. La taille U de la matrice DCn+i est ensuite incrémentée de la valeur J. A l'étape E29, le module TR2 vérifie si toutes les associations indirectes entre les éléments des matrices DCn et DCnT ont été recensées en comparant les valeurs maximales maxL et maxC de la matrice intermédiaire MI respectivement au nombre totale de lignes L et de colonnes C dans la matrice pleine DPn. Si maxL et maxC sont respectivement égaux aux valeurs L et C, alors la construction de la matrice de fermeture transitive partielle de l'itération n est terminée. Dans le cas contraire, à l'étape E4, le module de traitement TR2 vide la matrice MI et la table TH, avec J = 0 et K = 0, et le module de dimensionnement DI redimensionne la matrice intermédiaire MI aux valeurs caractéristiques minL = maxL, minC = maxC, maxL = L et maxC = C, afin de traiter un nouveau bloc variable de la matrice de fermeture transitive partielle DCn+1. A la fin de la construction de la matrice de fermeture transitive partielle DCn+1 de l'itération n à l'étape E29, le module de traitement TR3 compare le nombre de cases pleines NB (DCn) de la matrice DCn au nombre de cases pleines NB(DCn+1) de la matrice DCn+1. Si NB (DCn) = NB (DCn+1) , alors le procédé de construction matricielle par détermination de fermeture transitive de matrice stochastique de grande taille est terminé, et la matrice DCn+1 est considérée comme une matrice de fermeture transitive finale. Dans le cas contraire, NB (DCn) > NB (DCn+1) et le module de traitement TR3 incrémente d'une unité l'itération n de manière à construire une "première" et nouvelle matrice de fermeture transitive partielle DCn+2 à partir de la "deuxième" matrice de fermeture transitive partielle précédemment construite DCn+1, le module TR3 supprimant l'ancienne matrice stochastique DCn. L'invention décrite ici concerne un procédé et un système informatique de construction matricielle par fermeture transitive d'une matrice stochastique de grande taille. Selon une implémentation préférée, les étapes du procédé sont déterminées par les instructions d'un programme incorporé en mémoire du système informatique tel qu'un serveur ou un ordinateur. Le programme comporte des instructions de programme qui, lorsque ledit programme est chargé et exécuté dans le système informatique dont le fonctionnement est alors commandé par l'exécution du programme, réalisent les étapes du procédé selon l'invention. En conséquence, l'invention s'applique également à un programme d'ordinateur, notamment un programme d'ordinateur sur ou dans un support d'informations, adapté à mettre en oeuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter le procédé selon l'invention. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé selon l'invention. REVENDICATIONS 1 - Procédé pour construire une première matrice (DCn+1) à partir d'une deuxième matrice de grande taille (DCn) dans un système informatique (SI) comprenant des première et deuxième mémoires (MC, DSQ), les deux matrices étant mémorisées dans la deuxième mémoire et faisant chacune correspondre des premiers éléments (Llg) à des deuxièmes éléments (Cc) respectivement identiques aux premiers éléments, caractérisé en ce qu'il comprend une première boucle (E1-E31) pour construire lors d'une itération la première matrice à partir de la deuxième matrice qui est remplacée par la première matrice à la fin de l'itération, une deuxième boucle (E4-E29) incluse dans la première boucle pour traiter lors d'une itération dans la première mémoire (MC) un bloc (MI) formant avec d'autres blocs consécutifs la première matrice, chaque bloc occupant un espace mémoire au plus égal à la taille de la première mémoire et faisant correspondre une partie des premiers éléments à une partie des deuxièmes éléments de la première matrice, à la fin de l'itération le bloc traité étant transféré dans la première matrice, et une troisième boucle (E6-E25) incluse dans la deuxième boucle pour associer (E7) lors d'une itération des premier (Llgp) et deuxième (Ccp) éléments dans le bloc lorsqu'ils sont associés chacun via un troisième élément (Li = Ci) par une probabilité (Plgp,i, Pi,cp) dans la deuxième matrice. 2 - Procédé conforme à la revendication 1, selon lequel la probabilité (Plgp,cp) de l'association d'un premier élément (Llgp) et d'un deuxième élément (Cpp)via un troisième élément (Li = Ci) dans la première matrice (DCn+1) est déterminée en fonction de probabilités (Plgp, i XPi, cp, Plgp,cp) associant au moins deux des trois éléments précédents et recensées dans la deuxième matrice (DCn). 3 - Procédé conforme à la revendication 2, selon lequel un premier élément (Llgp) est associé à un deuxième élément (Ccp) dans un bloc de la première matrice (DCn+1) via un troisième élément (Li = Ci) si le produit des probabilités (Plgp, i XPi, cp) respectivement associant le premier élément au troisième élément dans la deuxième matrice (DCn) et le troisième élément au deuxième élément dans la deuxième matrice est supérieur à un seuil de probabilité (S). 4 - Procédé conforme à la revendication 2, selon lequel la probabilité (Plgp,cp) de l'association d'un premier élément (Llgp) à un deuxième élément (Ccp) via un troisième élément (Li = Ci) dans la première matrice (DCn+1) est la valeur maximum : du produit des probabilités (Plgp, i XPi, cp) associant respectivement le premier élément au troisième élément (Ci) dans la deuxième matrice (DCn) et le troisième élément (Li) au deuxième élément dans la deuxième matrice, et de la probabilité (Plgp,cp) associant le premier élément au deuxième élément dans la deuxième matrice. 5 - Procédé conforme à l'une quelconque des revendications 1 à 4, selon lequel la troisième boucle comprend une première sous-boucle (E6-E25) sélectionnant lors d'une itération (i) des premier et deuxième éléments identiques (Li-Ci) en tant que troisième élément dans la deuxième matrice (DCn), une deuxième sous-boucle (E7-E23) incluse dans la première sous-boucle et sélectionnant lors d'une itération (lgp) chaque premier élément (Llgp) dans la deuxième matrice, et une troisième sous-boucle (E7-E21) incluse dans la deuxième sous-boucle et sélectionnant lors d'une itération (cp) chaque deuxième élément (Ccp) dans la deuxième matrice, afin d'associer dans la première matrice (DCn+1) le premier élément (Llgp) sélectionné dans la deuxième matrice au troisième élément (Ci) en tant que deuxième élément, au deuxième élément (Ccp) associé dans la deuxième matrice au troisième élément (Li) en tant que premier élément. 6 - Système informatique (SI) pour construire une première matrice (DCn+1) à partir d'une deuxième matrice de grande taille (DCn), ledit système comprenant des première et deuxième mémoires (MC, DSQ), les deux matrices étant mémorisées dans la deuxième mémoire et faisant chacune correspondre des premiers éléments (Llg) à des deuxièmes éléments (Cc) respectivement identiques aux premiers éléments, caractérisé en ce qu'il comprend, un premier module de traitement (TRI) exécutant une première boucle pour construire lors d'une itération la première matrice à partir de la deuxième matrice qui est remplacée par la première matrice à la fin de l'itération, un deuxième module de traitement (TR2) exécutant une deuxième boucle incluse dans la première boucle pour traiter lors d'une itération dans la premièremémoire (MC) un bloc (MI) formant avec d'autres blocs consécutifs la première matrice, chaque bloc occupant un espace mémoire au plus égal à la taille de la première mémoire et faisant correspondre une partie des premiers éléments à une partie des deuxièmes éléments de la première matrice, à la fin de l'itération le bloc traité étant transféré dans la première matrice, et un troisième module de traitement (TR3) exécutant une troisième boucle incluse dans la deuxième boucle pour associer lors d'une itération des premier (Llgp) et deuxième (Ccp) éléments dans le bloc lorsqu'ils sont associés chacun via un troisième élément (Li = Ci) par une probabilité (Plgp,i, Pi,cp) dans la deuxième matrice. 7 - Système informatique conforme à la revendication 6, dans lequel la première mémoire est une mémoire de processeur (MC) et la deuxième mémoire est un périphérique de stockage (DSQ). 8 - Programme d'ordinateur apte à être mis en oeuvre dans un système informatique (SI) comprenant des première et deuxième mémoires pour construire une première matrice (DCn+1) à partir d'une deuxième matrice de grande taille (DCn), les deux matrices étant mémorisées dans la deuxième mémoire et faisant chacune correspondre des premiers éléments (Llg) à des deuxièmes éléments (Cc) respectivement identiques aux premiers éléments, ledit programme étant caractérisé en ce qu'il comprend des instructions qui, lorsque le programme est chargé et exécuté dans ledit système informatique, réalisent les étapes conformes au procédé selon l'une des revendications 1 à 5.