Bonjour,
Je voudrais lancer un sujet qui me tient à cœur, à propos d'une alternative potentielle aux calculateurs quantiques. Je crois savoir que le terme "Calculateur Chaotique" n'existe pas encore, et je vais en venir petit à petit au sujet.
Mais tout d'abord, je tiens à rappeler que l'intérêt d'utiliser un calculateur travaillant au niveau des atomes, c'est de pouvoir utiliser les règles de la physique quantique. Le but est de pouvoir faire de nombreux calculs en parallèle, en une seule itération, pour gagner un temps fou.
Ok.
Pour ma part, ne pouvant travailler dans ce domaine, je vous propose, si vous le voulez, d'essayer de conceptualiser un calculateur virtuel qui permettrai de réaliser de nombreuses multiplications dans un même temps, et sans passer par la physique quantique. Pour cela, si vous le désirez, je partagerai avec vous un outil mathématique que j'ai découvert il y a déjà pas mal d'années : une table de multiplication théoriquement sans fin, où les nombres sont représentés avec les facteurs qui peuvent les composer, le tout pouvant être stocké de manière binaire.
Pour vous donner un exemple, le nombre 24 pourrait être représenté d'abord comme ceci : 24,12,8,6,4,3,2,1 car 24x1 = 12 x 2 = 8 x 3 = 6 x 4.
Et encodé en binaire sur 24 bits, cela pourrait donner quelque chose comme : 011111111111011101010000, le zéro à gauche représentant le nombre 24, le zéro à droite représentant le chiffre 1, etc.
Pour programmer ce calculateur chaotique, il faudrait donc, je pense, commencer par :
1. Précalculer assez de valeurs pour pouvoir faire de simples calculs.
2. Les stocker dans ce qu'il y a de plus rapide comme mémoire. (RAM ?)
Et pour faire une multiplication, voici un exemple de comment procéder :
Soit la multiplication à cinq termes : a * b * c * d * e,
1. Le résultat recherché est forcément supérieur au terme ayant la plus grande valeur.
2. Je scanne la mémoire (RAM ?) parmi les séries binaires précalculées, à la recherche de nombres (sous leur forme binaire) contenant les cinq termes en tant que facteurs.
3. Bien entendu, je scanne en faisant des bonds de multiples du plus grand terme.
4. Je prend des raccourcis dans mon scan, selon les données que j'ai au départ. (Si a, b, c, d et e sont Premiers et différents les uns des autres, la recherche du résultat devrait être plus facile, selon mes premières observations)
Je vais vous fournir un petit exemple.
Je fais le multiplication suivante 2 * 3 * 4 = ?
Je sais donc :
1. Que le résultat est supérieur à 4.
2. Le nombre recherché, sous sa forme binaire, sera sous la forme xxxxxxxxxxxx0000.
3. Je scanne donc ma mémoire de 4 en 4, à commencer par 8.
Après avoir comparés les zéros de droite sur les cases mémoire correspondant aux nombres 8,12,16,20,24, je découvre que 24 est le 2ème nombre pouvant correspondre au résultat. Le précédent était 12. (D'autres nombres suivront, mais ça, cela peut servir pour d'autres types de calculs) Comme vous l'avez sûrement compris, faire de petits nombres de calculs avec un tel programme sera très lent, à cause de la mémoire, qui est plus lente que le processeur, il me semble. Mais je pense que faire des calculs avec de nombreux termes peut faire pencher la balance en faveur de du calculateur chaotique.
Après, ce que je vous montre n'en est qu'à ses balbutiements. Il va de soi que travailler dessus mathématiquement afin de mieux comprendre ce système permettrai de l'optimiser, et très certainement, à terme, d'obtenir quelque chose de très intéressant.
-----