» » Нумерология на MS SQL — занимательный эксперимент

 

Нумерология на MS SQL — занимательный эксперимент

Автор: admin от 30-01-2019, 20:05, посмотрело: 37

Люди издревле любят играть в числа. Доказать что отношение длины пирамиды Хеопса к высоте равна… уже не помню чему. Физики тоже не чужды этого, например есть мистическая формула Койде, связывающая массы электрона, мюона и тау частицы. Есть формула для постоянной тонкой структуры – в отличие от формулы Койде кажущаяся очень искусственной. Насколько обоснованы такие формулы? Я провел эксперимент.



Нумерология на MS SQL — занимательный эксперимент

Возьмем N чисел: A,B,C… В моем эксперименте я ограничился тремя числами. К каждому числу мы можем применить унарную функцию: SIN, COS, EXP, LN (я ограничился четыремя). Это дает 4*3=12 новых чисел, что вместе с изначальными дает 15 чисел. Далее применим к их комбинации бинарные операции +, -, *, /. (можно также рассмотреть и другие, например, возведение в степень, но я опять таки ограничился четыремя). Здесь новых комбинаций 15*15*4 (на самом деле меньше, так как некоторые операции запрещены, типа деления на 0, а для + и * количество комбинаций меньше изза их симметричности).



Далее мы можем повторять эти шаги еще и еще. Уже на втором шаге 34’513’800 формул (теперь вы понимаете, почему я ограничил число операций?) которые дали мне для A=1, B=2, C=3 целых 2’776’355 разных чисел.



График выше показывает концентрацию (количество разных чисел) для поддиапазонов длины 1 от -60 до +60. Шкала Y логарифмическая. Видна концентрация чисел около 0.



Нумерология на MS SQL — занимательный эксперимент


Делаем zoom для диапазона -2..2:



Нумерология на MS SQL — занимательный эксперимент


Тут шкала Y уже обычная. Пики около 0 и 1.



Делаем максимальный zoom, чтобы увидеть «тонкую структуру» распределения чисел:



Нумерология на MS SQL — занимательный эксперимент


Интересно, с какой точностью мы можем выразить произвольное число, скажем, 1.23456789? Это определяется (половиной) максимальной длины отрезка между двумя соседними точками (если нам не повезет). Ниже эти рассчеты показаны в виде графика, и дальше от ноля точность приближения падает:



Нумерология на MS SQL — занимательный эксперимент


Таким образом, как правило, мы можем выразить любое число с точностью от E-6 до E-5. Например, число 1.23456789 оказывается расположенным между



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%)



Нумерология на MS SQL — занимательный эксперимент


Наконец интересно, что будет, если вместо A=1, B=2,C=3 взять другие числа, например, A=sqrt(2), B=e, C=pi. Сравнение плотности чисел в первом (123) и втором (2epi) вы видите на картинке:



Нумерология на MS SQL — занимательный эксперимент


Как видно, по большому счету, разницы нет никакой. В завершении я хочу рассказать, при чем тут MS SQL. Задача переборная, и просто напрашивается решение с cross join, которые реализуют декартовы произведения всех имеющихся чисел для бинарных операций. Небольшой фрагмент кода вы можете увидеть в конце.



Полный код не публикуется, потому что я хочу его доработать для автоматической генерации текстов теории заговора на основе нумерологии.



  -- 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 L.n<=R.n
  select L.path+' '+R.path+' '+'+' as path,L.value+R.value as value
    into p2
      from Formula L, Formula R
      where L.n<=R.n
  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


Источник: Хабр / Интересные публикации

Категория: Информационная безопасность

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *