STOCKAGE D'INFORMATION SUR UNE STRUCTURE EN
BOUCLE
Jean-Pierre Bachy, MD
Séminaire de Modélisation du 7 mai 1993 TIMC
IMAG
UJF Grenoble
Nous proposons un modèle de stockage d'information issu
d'une réflexion sur les circuits réverbérants, supports
éventuels de la mémoire à court terme. Il se prête
à une recherche par le contenu de formes incomplètes ou
bruitées qui l'apparente aux mémoires associatives.
Les vecteurs mémorisés sur cette structure en
boucle sont quasi orthogonaux. Sachant que l'orthogonalité des images
stockées est nécessaire pour obtenir une bonne
mémorisation sur les réseaux de neurones on peut envisager ce
mode de stockage transitoire et d' orthogonalisation comme un
prétraitement d'images destinées au stockage sur mémoire
associative.
Il est à noter que dans ce cas, les images étant
stockées sous forme chaotique, la reconnaissance d'une image
stockée sur le réseau passe obligatoirement par une phase de
prétraitement.
1. Théorie de la transformation vectorielle
Dans une première partie nous décrivons la
transformation vectorielle qui transforme le vecteur d'origine en un vecteur de
même dimension dont les composantes
sont délocalisées de façon
chaotique. Lorsque certaines conditions sont remplies,
l'étirement-recouvrement introduit par la fonction modulo ne fait que
délocaliser les composantes sans les superposer. La transformation du
vecteur est biunivoque.
1.1 Transformation d'un vecteur en un vecteur
chaotique
Si on décrit un vecteur comme une suite de n composantes
Ci de valeur Vi. Chaque composante a une position Ai.
Le vecteur d'origine peut s'écrire:
C1, Ci .... ,Cn de valeurs V1,Vi ,Vn
avec i {1.. n}
La transformation va porter sur la position des composantes
successives du vecteur: la suite des positions va subir une permutation qui va
délocaliser les composantes d'origine tout en conservant leur valeur.
Pour chaque composante Ci d'adresse Ai, on va calculer une
nouvelle adresse A'i qui correspondra à la position de cette composante
dans le vecteur transformé.
(1) A'i = i * b mod (n+1)
avec i {1..n}
b premier par rapport à (n+1)
Si on calcule les valeurs successives de la suite A'1 à
A'n
(2) A'i = (A'i-1 + b) mod (n+1)
avec A'0 = 0
i {1.. n}
b premier par rapport à (n+1)
On remarque que la suite est de la forme
(3) Ai = (a * Ai-1 + b) mod (n+1)
avec a = 1
i {1.. n}
b premier par rapport à (n+1)
Cette formule a pour particularité de
générer la suite des nombres de 1 à n dans un ordre
chaotique [DEW87]. Cette suite est différente pour chaque valeur des
paramètres à ceci près qu'apparaissent des
récurrences lorsque le nombre de permutations possibles
est atteint.
Les composantes du vecteur d'origine sont
délocalisées et de manière différente pour chaque
valeur du paramètre b.
Lorsqu'on fait varier b pour un même vecteur d'origine,
A'1 (qui a pour valeur b mod (n+1)), joue le rôle de germe pour la
série des nouvelles adresses. Sa valeur varie de 1 à n et peut
prendre les n valeurs de 1 à n. A un vecteur donné on peut donc
faire correspondre n vecteurs transformés si b est premier et non
multiple ou sous-multiple de (n+1).
Cette transformation vectorielle est une permutation qui peut
être aisément réalisée par un produit matriciel
entre le vecteur d'origine d'une part et une matrice de permutation n x n (P)
construite à partir de la série chaotique correspondant à
un paramètre b donné.
exemple avec b = 3:
l 0
1
1
1
0 1 0 10
0
=
?
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
e
c a
f
d
~ ~
~ b ~
a
b
c
d
e
~ ~
~ f ~
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
|