2 years, 10 months ago
Thanks to all participants of our last tender on programming!

We received 408 solutions from 237 different participants (only one participates in tender, the last from solutions from each participant, and we publish the last options). Besides, 7 solutions were sent us or after the termination of term of acceptance of works, or employees of Hola, and we considered them out of the competition.

In the first part of the story we got acquainted with the information theory on a specific example and today we will continue our research. This tool allows to describe strong ideas which have a set of scopes of application: from data compression to quantum physics and machine learning.

Let's remind that costs for the message L long make. We can transform expression and receive message length cost. As a result, we spend p(x) for the code word x length.

2 years, 10 months ago
The benefit of approach on the basis of elliptic curves in comparison with a problem of the factorization of number used in RSA, or the problem of integer logarithming applied in Diffie-Hellman's algorithm and in DSS is that in this case equivalent protection at smaller key length is provided.

Generally the equation of an elliptic curve E in the field of real numbers of R has an appearance:

— y^2+a1*x*y+a3*y = x^3+a2*x^2+a4*x+a6

or in case of a final ring of deductions of Z|n:

— y^2+a1*x*y+a3*y = x^3+a2*x^2+a4*x+a6 mod N

Let's set for ourselves the task of visualization of an elliptic curve.

Elliptic curve E in the field of real numbers of R

If the elliptic curve E is considered in the field of real numbers of R, then creation of the diagram can be described, using only knowledge of algebra and geometry of the senior classes of school

arguments of N a1 a2 a3 a4 a6 xmin xmax

We select the range [xmin — xmax] of argument x

We note on the selected range of argument x necessary number of x1 values..., xN

Each of x1 values..., x^3+a2*x^2+a4*x+a6 is substituted xN in y^2+a1*x*y+a3*y equation = and we receive the normal square equation of argument of y

We find roots of the square equation of argument of y

If the square equation of argument of y has solutions, then we add two points on the diagram

We connect lines all "upper" points on the diagram and all "lower" points on the diagram

2 years, 10 months ago
We have one .NET-application which is able to load and use plug-ins. Plug-ins — business good. It is possible to expand functionality, it is possible to update quickly them from the website, it is possible even to give to users SDK and to allow to write the plug-ins. We also did all this. Our plug-ins represented normal .NET-assemblies which needed to be thrown in a certain folder from where the basic of the application loaded them and used. Well, you, probably represent as — Assembly.Load (), we look for the class implementing the necessary interface further, we create object of this class, etc. All this worked long ago, is stable and nothing portended trouble. But suddenly at some point there was a need to create the plug-in consisting of several files. In this regard was decided to consider as a plug-in not just .NET-assembly (1 file), and zip-archive in which can be as one assembly, and several files. In this regard plug-ins in archives were necessary to teach to pack the bild-server, and the main application — to extract them in the right place. In general a task on 10 code lines. Nothing portended trouble. And here I from the bild-server download collected archive with a plug-in, I will extract it in the necessary folder, I start the application, and … does not work! Stop how does not work? It same plug-in!

Further — more. I ask to do the same procedure my colleague, on its computer. It tries — and everything works for it! But how so? One application version, the same file from the bild-server. Some difference in an environment? I sit down at the colleague's computer, I try once again — does not work! It in it tries time on mine — works! That is it turns out that the file "remembers" who extracted it! We call the third colleague to observe this circus. Consistently, on the same computer, in turn we do the same actions: we download archive with a plug-in, we will extract in the necessary folder, we start the application. When it is done by me — the program does not see a plug-in when it is done by the colleague — everything works. On the third circle of these interesting experiments suddenly we notice a difference in actions: I extracted a plug-in with standard means of Windows, and my colleague — with the help 7-Zip. Both was caused by us from a context menu of archive so in the beginning nobody noticed a difference in click on not that point. Well ok. It turns out, the file retrieved from zip-archive with the help 7-zip differs from the same file from the same archive retrieved by means of the standard Windows archiver?

By the way, until you opened article under a cat, answer for yourself a question whether there can be it that contents of files of valid zip-archive at extraction 7-zip and through the conductor of Windows will be a miscellaneous?

Having arrived home, Gardner immediately showed to Conway more than 20 articles devoted to calculation of a day of the week for any date. Lewis Carroll's rule looked better than the others. Gardner turned to Conway and told: "John, you need to develop simpler rule which I will be able to share with readers". And, as Conway, long winter nights when Mr. and Mrs. Gardner went to sleep at home (though on a visit he came to them only in the summer) tells, Conway reflected how to make such calculation rather simple that it could be explained to the average any passer-by.

He thought over it all way home, and in the general room of university, and at last guessed "the rule of the Doomsday". For work only addition, subtraction and storing were required for algorithm. Also Conway thought up the mnemonic rule helping to store intermediate calculations on hand fingers. And for the best storing of information on date, Conway bites the thumb.

Traces from teeth have to be visible! Only this way it is possible to remember it. When I tell students about this method, I always ask someone from the first row to confirm existence of marks from teeth in a finger. Serious people so you will not force to do – they will decide that it is kindergarten. But sense that all this business usually is not delayed at you in a brain and you forget the date of birthday designated to you by the person. But the thumb is capable to remember for you how far this date will be spaced from next "Doomsday".

Over the years Conway taught this algorithm thousands of people. Sometimes in a conference room the person on 600, calculating birthdays of each other and biting the thumbs is taken. And Conway, as always, tries to be unreasonable – he is not satisfied with the simple algorithm any more. Since the moment of development he tries to improve it.

2 years, 11 months agoJohn Horton Conway claims that he did not work day in the life. This fragment from the biography "The Genius behind Game" shows what serious mathematical theories, like syurrealny numbers, can appear from entertainments and games.

Gnawing a forefinger of the left hand the old broken-off British teeth, with the bulked-up senile veins, with the eyebrow which is thoughtfully frowned under long ago unbarbered hair, the mathematician John Horton Conway without regret spends the time for thoughts and theoretical researches. Though he will claim that he is engaged, lazy nothing, and plays toys.

It works in Princeton though it found glory in Cambridge (being at first a student, and then professor from 1957 to 1987). Conway, 77, claims that he did not work day in the life. He means that he spends almost all the time for games. And at the same time, he is professor of Princeton of applied and calculus mathematics (already honourable). Member of Royal community. And recognized genius. "The title "genius" is often incorrectly used", - Percy Dyakonis, the mathematician from Stanford says. – John Conway is the genius. At the same time it can work in any area. And it has an intuition for any unusual things. It cannot be put in any mathematical framework".

We invite all to the open lecture Computer Science of the center devoted to a problem of feasibility of Boolean formulas — one of the most known and important algorithmic tasks. Lecture will take place within a meeting with listeners of an online course "Algorithms: theory and practice. Methods". Time and venue: On December 25, 19:00, BTs of Tayms (St. Petersburg, Kantemirovskaya St. 2A, 4 floor). Participation is free, but registration is required: goo.gl/IiNvV8

Problem of feasibility — a canonical difficult task on which the huge number of researches is carried out: both practical, and theoretical. In particular, annual international conference is devoted to this task. Every year there take place competitions of programs for this task (so-called sat-solver). Such programs are actively used in many application areas. Just several months ago Donald Cnut added volume 4B of the monograph "Programming Art" which third is devoted to a problem of feasibility.

2 years, 11 months ago These two graphs are isomorphic

The mathematician László Babay (László Babai) from faculty of computer sciences and mathematics of the Chicago university provided fast new algorithm for a solution of a problem of graph isomorphism — one of fundamental problems of the theory of complexity of calculations. The algorithm leads a problem very close to a class P. According to some specialists, it is one of the most considerable results in theoretical information science in a decade if not for several decades.

We spent nearly 200 hours of a neat job on test content — and made the complex tool which shows as far as the respondent understands the market, technologies and possesses necessary (management, first of all) skills for work in the industry. The test consists of 32 questions broken into 8 semantic blocks: