# How it is implemented technically

To solve the problem and avoid time-consuming synchronisation between different computers full random brute force method is suggested. For brute force, JavaScript language is used, because it can be run on almost any device from Browser without any additional software installation. Contributor just needs to open a website and click the start button. It even works on iPhone, Android devices or tablet. JavaScript program generates some equation like G = {combination of different constants} or calculate Riemann function at random point and compares it with 0. If this equation is true with some precision, the program will save equation and result on the server. There is no any synchronisation between different browsers and computers. Probability theory will be used to cover all possible combinations and it is explained later. There were many talks about JavaScript distributed computing and it is one of the first real implementation of it.

# Covering all possible combinations

One can ask: "How to cover all combinations if every time random value will be taken?". The answer can be given based on probability theory. Let say 1 million combinations (N) should be covered. The program will try to cover them by random generator. The probability that 1 particular value is covered in 1 attempt (iteration) is 1/N or 1/1000000 in this example. If 1 million attempts will be taken, the probability of covering all 1 million values is 63%. It can be calculated from this logic:

Probability, that one particular value is not covered in one attempt is 1 - 1/N.

Probability, that one particular value is not covered in N attempts is (1 - 1/N)

^{N}.
Probability, that one particular value is covered in N attempts is 1 - (1 - 1/N)

^{N}. This value for N more than 50 always approximately equals to 63%. And for 5*N attempts, the probability will be 1 - (1 - 1/N)^{5N}which equals to 99%. In other words, 1 million values can be covered by random brute force with probability 99% if 5 million attempts will be taken.# Reasons why people should do it

- Help to make new step in science
- Help to prove Distributed Javascript computing technic
- Get some money! If there will be any cash prize for the findings (Nobel Prize for Gravity-Electromagnetism relation or Millenium Prize from Clay Mathematics Institute for Disproof of the Riemann hypothesis), the person who will find it will get 10% of this amount.

# Tasks

For now, only 2 tasks are supported, but this list can be extended in the future. These 2 tasks are "Finding Gravity and Electromagnetism relation" and "Disproof of Riemann hypothesis". The main limitation is: task should not require strong relation with previous results. Like password brute force is an ideal task for this kind of computing. This approach cannot help with the tasks where next step can be calculated only based on previous step result.

## Small step to Unified Field Theory or Gravity and Electromagnetism relation

Many scientists try to find so-called Unified Field Theory. The term was coined by Einstein. The goal of this theory is finding a relation between all known fields like gravity, electromagnetism etc. Let’s start from something small, for example, find the relation between gravitational constant G and electromagnetic constants ε

_{0}(Vacuum permittivity), μ_{0}(Vacuum permeability) and some other constants like π number, Planck's constant, Elementary charge (electron charge), Boltzmann constant. Here full random brute force method is suggested in order to find this relation. This task had many different changes, which were described in this old post.### Why there is a chance to find something interesting?

Fairly often in the history, scientists just guessed correct equations or discovered something accidentally. There is an opinion, that even Einstein just guessed his famous formula E=mc

^{2}. In this sense why not to try again, especially now with modern technology new approaches can be used. There is no Einstein nowadays, but there are computers, which can partially replace his very smart brain.### How it will be calculated or mathematical details

This javascript program tries to generate and validate following generic equationFrom first glance, there are too many symbols :). Let's explain them. All numeric values are in SI units.

G – Gravitational constant (6.67408×10

^{-11})
e – Elementary charge (electron charge) (1.6021766208×10

^{-19})
m, n – integer number, which can be from 2 to 15. It is needed to cover some cases like 3/2*Something and etc, which often appears in physical equations

π – Pi number (3.14159265…)

a, b, c, d, f, g, j – exponents which can be -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. These are commonly used in physics exponents and cover most of the cases like

etc. If it equals 0, then constant will be eliminated. For example,### How long will it take?

With the normal modern computer and default settings in Google Chrome browser, this program can perform around 6000 validation of equation (1) per second. The number of combinations now 3.5×10

^{11}or 350 billion. Total calculation time for one computer with 5 times overhead will be 18 years and for 10000 computers it is just 16 hours.## Disproof of the Riemann Hypothesis

Riemann Hypothesis was stated more than 150 years ago (in 1859) by Mr Riemann. It tells about zeroes distribution of the Riemann zeta function. Many mathematicians of the world are struggling over its proof, but during last 150 years, nobody could prove it. Clay Mathematics Institute gives 1000000 dollars for the proof or disproof of this hypothesis, like one of the Millennium Prize Problems. My last experience shows, that proving something is not my strong skill, but with disproving it is much better. This is why I decided to use this opportunity and try to disprove Riemann Hypothesis :).

### What is Riemann Zeta Function and how it will be calculated

This function denoted as ζ and calculated for a complex variable s. Usually, it is written as ζ(s). There are several graphs of the absolute value of this function, depending on the real and imaginary part of the variable s.

*Modulus of the Riemann function |ζ(s)|, where real and imaginary part of argument s changing from -10 to 10.*

*Trivial zeroes of the Riemann Zeta function, where imaginary part of the argument equals to zero, but real part is even negative number -2, -4, -6 etc*

*Non-trivial zeroes of the Riemann Zeta function, where the real part of the argument equals 1/2, but imaginary part passes different values. Zeroes are located on the red line.*

*Modulus of the Riemann Zeta function, where the imaginary part of the argument takes values from 10 to 100, and real equals to 0.75.*

From the last graph it can be seen, that theoretically at some point Zeta function can reach zero. For better visualisation, there is a video, where it is demonstrated in which case Riemann Zeta function can be zero at the point, where the real part of the argument does not equal to 0.5.

This formula is used for the calculations in this program

it was taken from this link (equation (20)). This equation allows calculating values in the range of the real part of the argument from 0 to 1, where the most interesting area of Zeta function is located.

### How long will it take?

Currently, this program calculates Riemann Zeta function for the real part of the argument from 0.6 to 0.8 and for the imaginary part from 0 to 10

^{12}. If it is assumed, that for covering all combinations it is required to pass real part with step size 0.02, then for real part there will be 10 combinations, but imaginary part pass with the step 0.1, then for the imaginary part it will be 10^{13}combinations. Total it is 10^{14}combinations. The average time for calculations of one value of Zeta function is 100 seconds. How it is written above, to cover all combinations with probability 99% by full brute force, it will be required 5 time more combinations. Then for 1 computer time to check all combinations will be 1.59 billion years, and respectively 1 billion computers can do it in 1.59 years. Maybe somebody will be lucky and required value will be found much earlier. Join!
P.S. Programm calcualtes the value of Zeta function with relatively high error, about 5%. For checking exact value it is possible to use online service from professional mathematical software package Wolfram Mathematica here.

### Update 1 29.09.2017

After some time, it became clear, that Riemann Hypothesis was already proven up to 10

Because of the reasons mentioned above, program was changed dramatically. Performance was improved by expanding equation above with this formula e

^{13}of imaginary part of the argument and it does not make sense to do any calculation below this number. As written here in 2004 X. Gourdon and Patrick Demichel did it already. They did not just find zeroes of Riemann Zeta function, but they also proved that Riemann Hypothesis is true in this region.Because of the reasons mentioned above, program was changed dramatically. Performance was improved by expanding equation above with this formula e

^{ix}=cos(x)+i*sin(x) and sin lookup table was used. Also, range has been changed. Now imaginary part is changing from 10^{13}to 10^{14}. Number of combinations is 9*10^{15}, but average time for calculating 1 zeta function value after optimization is around 15 seconds. 1 computer can check all combinations in 21 billion years, and 1 billion computers can do it in 21 years respectively. Precision of calculation is still around 5% in average. This link still can be used to calculate to verify real value with Wolfram Mathematica.
## No comments:

## Post a Comment