Numérologie sur MS SQL - une expérience amusante

Depuis les temps anciens, les gens aiment jouer des nombres. Pour prouver que le rapport de la longueur de la pyramide de Khéops à la hauteur est ... Je ne me souviens pas quoi. Les physiciens ne sont pas non plus étrangers à cela, par exemple, il existe une formule mystique Koid qui relie les masses d'un électron, d'un muon et d'une particule tau. Il existe une formule pour une structure fine constante - contrairement à la formule Koide, qui semble très artificielle. Quelle est la validité de telles formules? J'ai fait une expérience.


Prenez N nombres: A, B, C ... Dans mon expérience, je me suis limité à trois nombres. Pour chaque nombre, nous pouvons appliquer une fonction unaire: SIN, COS, EXP, LN (je me suis limité à quatre). Cela donne 4 * 3 = 12 nouveaux numéros, qui avec l'original donne 15 numéros. Ensuite, nous appliquons les opérations binaires +, -, *, / à leur combinaison. (vous pouvez également envisager d'autres, par exemple, l'exponentiation, mais encore une fois je me suis limité à quatre). Ici, les nouvelles combinaisons sont 15 * 15 * 4 (en fait, moins, car certaines opérations sont interdites, telles que la division par 0, et pour + et * le nombre de combinaisons est moins en raison de leur symétrie).

De plus, nous pouvons répéter ces étapes de plus en plus. Déjà à la deuxième étape, 34'513'800 formules (maintenant vous comprenez pourquoi j'ai limité le nombre d'opérations?) Cela m'a donné pour A = 1, B = 2, C = 3 entiers 2'776'355 nombres différents.

Le graphique ci-dessus montre la concentration (le nombre de nombres différents) pour les sous-plages de longueur 1 de -60 à +60. L'échelle Y est logarithmique. Concentration visible de nombres autour de 0.



Effectuez un zoom pour la plage -2..2:



Ici, l'échelle Y est déjà normale. Les pics sont autour de 0 et 1.

On fait le zoom maximum pour voir la "structure fine" de la distribution des nombres:



Je me demande avec quelle précision nous pouvons exprimer un nombre arbitraire, disons, 1,23456789? Ceci est déterminé par (la moitié) de la longueur maximale du segment entre deux points adjacents (si nous n'avons pas de chance). Ci-dessous ces calculs sont présentés sous forme de graphique, et plus loin de zéro la précision de l'approximation diminue:



Ainsi, en règle générale, nous pouvons exprimer n'importe quel nombre avec une précision de E-6 à E-5. Par exemple, le numéro 1.23456789 semble être situé entre

cos (ln (3) / cos (3)) + sin (1 / ln (3)) = 1,23456481266341 (0,0002%)
ln (exp (1) * sin (2)) + exp (ln (3) / cos (3)) = 1,23456894186555 (0,000085%)



Enfin, il est intéressant de savoir ce qui se passera si au lieu de A = 1, B = 2, C = 3, nous prenons d'autres nombres, par exemple, A = sqrt (2), B = e, C = pi. Comparaison de la densité numérique dans le premier (123) et le second (2epi) que vous voyez sur l'image:



Comme vous pouvez le voir, dans l'ensemble, il n'y a pas de différence. En conclusion, je veux vous dire ce que MS SQL a à voir avec cela. La tâche est exhaustive, et une solution de jointure croisée est simplement demandée, qui implémente les produits cartésiens de tous les nombres disponibles pour les opérations binaires. Vous pouvez voir un petit morceau de code à la fin.

Le code complet n'est pas publié car je souhaite le modifier pour générer automatiquement des textes de théorie du complot basés sur la numérologie.

-- step 3 insert into Formula (step,path,Value) select 3,path+' '+op, case when op='COS' then COS(Value) when op='SIN' then SIN(Value) when op='EXP' then case when Value<100 then EXP(Value) else NULL end when Value<=0 then NULL when op='LN' then LOG(Value) end from Formula, Unary -- step 4 select L.path+' '+R.path+' '+'+' as path,L.value+R.value as value into p1 from Formula L, Formula R where Ln<=Rn select L.path+' '+R.path+' '+'+' as path,L.value+R.value as value into p2 from Formula L, Formula R where Ln<=Rn select L.path+' '+R.path+' '+'+' as path,L.value+R.value as value into p3 from Formula L, Formula R select L.path+' '+R.path+' '+'+' as path,L.value+R.value as value into p4 from Formula L, Formula R where R.value<>0 

Source: https://habr.com/ru/post/fr438122/


All Articles