Применение Распределенных Вычислений на JavaScript к открытию Единой Теории Поля, опровержению Гипотезы Римана и т.д.

Перейти к программе

Как это реализовано технически

Для решения проблемы и чтобы избежать трудоемкого процесса синхронизации между разными компьютерами предлагается использовать полный случайный перебор. Для перебора используется язык JavaScript, т.к. программа на нем, может быть запущена почти на любом устройстве из браузера без необходимости установки дополнительного програмного обеспечения. Пользователь, который хочет внести вклад в вычисления, просто открывает вебсайт и нажимает кнопку Start. Программа работает даже на iPhone, Андроид устройстве и планшете. JavaScript программа составляет некоторое уравнение G = {комбинация различных констант} или вычисляет функцию Римана в случайной точке и приравнивает ее к 0. Если уравнение оказывается истинным с учетом некоторой погрешности, то программа сохранит уравнение и результат на сервере. Синхронизация между различными браузерами и компьютерами не используется. Теория вероятности используется для того, чтобы покрыть все возможные комбинации и это будет объяснено позже. В интернете много разговоров про распределенные вычисления на JavaScript и это одна из первых реализаций.

Покрытие всех возможных вариантов

Читатель может спросить: "Как можно быть уверенным, что были проверены все варианты, если каждый раз брать случайное значение?". Ответ может быть получен из теории вероятностей. Например, нужно перебрать 1 миллион вариантов (N). Программа будет пытаться перебрать все варианты с помощью генератора случайных чисел. Вероятность того, что одно значение будет угадано с одного раза (итерации) равна 1/N или 1/1000000 в данном примере. Если сгенерировать случайное число 1 миллион раз, то вероятность перебрать весь 1 миллион значений будет 63%. Эта вероятность может быть вычеслена из такой логики:
Вероятность, что одно значение будет найдено в одной итерации: 1 - 1/N.
Вероятность, что одно значение не будет найдено в одной итерации: (1 - 1/N)N.
Вероятность, что одно значение будет найдено в N итерациях 1 - (1 - 1/N)N. Это значение для N больше 50 примерно равно 63%. А для 5*N вероятность будет 1 - (1 - 1/N)5N что равняется 99%. Другими словами, 1 миллион значаний может быть покрыт случайным перебором с вероятность 99% за 5 миллионов итераций.

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

  • Оказать посильную помощь науке и возможно сделать новый шаг
  • Помочь проверить в действии и отладить технологию Распределенных Вычислений на Javascript
  • Получить деньги! Если получится открыть что-то новое и интересное и за это будет полагаться премия (Нобелевская премия за связь Гравитации-Электромагнетизма или Приз за задачи тысячелетия от института Клэя за опровержение Гипотезы Римана), человек который найдет решение получит 10% от суммы приза

Задачи

Сейчас поддерживаются только 2 задачи, но это список может быть расширен в будущем. Эти 2 задачи "Поиск связи гравитации и электромагнетизма" и "Опровержение гипотезы римана". Основное ограничение такое: задача не должна требовать сильной связи с предыдущими результатами. Например, перебор парольй это пример идеальной задачи для подобных вычислений. Этот подход не может быть использован для задач, где следующий шаг может быть вычислен только на основании результатов вычислений предыдущего шага.

Маленький шаг к Единой Теории Поля или связь Гравитации и Электромагнетизма

Много ученых пыталсь открыть так называемую Единую Теорию Поля. Термин введен Эйнштейном. Цель этой теории найти связь между всеми известными полями такими как гравитация, электромагнетизм и т.д. Давайте начнем с чего-нибудь простого, например, найдем связь между гравитационной постоянной G и электромагнитными константами ε0 (Электрическая постоянная), μ0 (Магнитная постоянная) и некоторыми другими константами, такими как число π, Постоянная Планка, элементарный заряд (заряд электрона), постоянная Больцмана. Здесь предлагается использовать метод полного перебора, чтобы найти эту связь. Эта задача претерпела множество изменений, которые описаны в этом старом посте (на английском).

Почему есть шанс найти что-нибудь интересное?

Довольно часто в истории, ученые просто угадывали правильные уравнения или открывали что-то случайно. Есть мнение, что даже Эйнштейн просто угадал его известную формулу E=mc2. В этом смысле почему бы не попробовать еще раз, особенно сейчас, с современными технологиями можно использовать новые подходы. Сегодня среди нас нет Эйнштейна, но есть компьютеры, которые могут частично заменить его очень умный мозг.

Как это будет вычисляться (матчасть)

Программа на javascript будет пытаться сгенерировать и проверить следующее уравнение
     (1)
С первого взгляда тут очень много букав :). Попробуем разобраться с ними. Далее все числовые значения приведены в системе СИ.
ε0Электрическая постоянная (8.85418781762×10-12)
μ0Магнитная постоянная (1.2566370614359×10-6)
h – Постоянная Планка (6.626070040×10-34)
e – Элементарный электрический заряд (заряд электрона) (1.6021766208×10-19)
m, n – целые числа, принимающие значения от 2 до 15. Они необходимы для учета случаев вида 3/2*что-нибудь и т.д., которые часто появляются в физических уравнениях
π – Число Пи (3.14159265…)
a, b, c, d, f, g, j – показатели степени, которые принимают одно из значений -5, -9/2, -4, -7/2, -3, -5/2, -2, -3/2, -1, -1/2, 0, 1/2, 1, 3/2, 2, 5/2, 3, 7/2, 4, 9/2, 5. Это наиболее часто используемые в физике показатели степени и они покрывают большинство случаев, например
и т.д. Если показатель степени равен 0, значит константа будет исключена из уравнения. Например,


Сколько времени займут эти вычисления?

С нормальным современным компьютером и настройками по умолчанию в браузере Google Chrome эта программа выполняет около 6000 проверок уравнения (1) в секунду. Количество комбинаций составляет 3.5×1011 или 350 миллиардов. Общее время на проверку всех комбинаций с учетом 5-ти кратного повторения для одного компьютера составит 18 лет и для 10000 компьютеров около 16 часов.

Опровержении Гипотезы Римана

Гипотеза Римана была сформулирована более 150 лет назад (в 1859 году) одноименным господином Риманом. Она рассказывает о распределении нулей дзета-функции Римана. Над ее доказательством бьются многие математики мира, но за 150 лет ее так и не смогли доказать. Институт Клэя дает 1000000 долларов за доказательство или опровержение этой гипотезы, как одной из Задач Тысячелетия. Последний опыт показывает, что доказать что-либо у меня получается не очень, а вот с опровержением дело обстоит гораздо лучше. Поэтому я решил воспользоваться этой возможностью и попробовать опровергнуть Гипотезу Римана :).

Что такое Дзета функция Римана и как она будет вычисляться (матчасть)

Функция обозначается буквой ζ и вычисляется для комплексного аргумента s. Обычно ее записывают как ζ(s). Ниже приведены несколько графиков модуля этой функции в зависимости от вещественной и мнимой частей аргумента s.

Модуль функции Римана |ζ(s)|, где вещественная и мнимая часть аргумента s меняется от -10 до 10.

Тривиальные нули Дзета функции Римана, где мнимая часть аргумента равна нулю, а вещественная является отрицательным четным числом -2, -4, -6 и т.д.

Нетривиальные нули Дзета функции Римана, где вещественная часть аргумента равна 1/2, а мнимая принимает самые разнообразные значения. Нули лежат на красной прямой.



График модуля Дзета функции Римана, где мнимая часть аргумента пробегает значения от 10 до 100, а вещественная равна 0.75.

Из последнего графика видно, что теоретически в какой-то точке Дзета функция может достичь нуля. Для наглядности здесь приведено видео, где продемонстрировано в каком случае функция Римана может равняться нулю в точке, где вещественная часть аргумента не равна 0.5.



Для вычисления в данной программе используется эта формула



взятая по этой ссылке (формула (20)). Эта формула позволяет вычислять значения в диапазоне вещественной части аргумента от 0 до 1, где и расположена самая интересная область Дзета функции.


Сколько времени займут эти вычисления?

На данный момент программа вычисляет значения Дзета функции Римана для вещественной части аргумента от 0.6 до 0.8 и для мнимой части от 0 до 1012. Если предположить, что для покрытия всех вариантов необходимо пройти вещественную часть с шагом 0.02, то для вещественной части будет 10 вариантов, а мнимую часть пройти с шагом 0.1, то для мнимой части будет 1013 вариантов. Итого получим 1014 вариантов. Средняя время вычисления одного значения Дзета функции 100 секунд. Как описано выше, чтобы с вероятностью 99% перебрать все варианты случайным перебором, потребуется проверить в 5 раз больше комбинаций и тогда для одного компьютера время проверки всех вариантов получится около 1.59 миллиарда лет, соответственно 1 миллиард компьютеров сможет сделать это за полтора года. Может кому-то повезет и нужное значение найдется гораздо раньше. Присоединяйтесь!
Settings:
% of CPU time:
Total calculation time limit (seconds) ?:
Update statistics interval ?:
Problem to solve:
Name or any details ?:
Session ID ?:
Save name and ID in the cookies ?:

Terms and Conditions
Statistics:
Total number of iterations:
0
Total number of steps:
0
Total CPU Time Used:
0
Total iterations per second:
0

Summary results and findings:

Detailed results:

No comments:

Post a Comment