(Computing machine with universal architecture)
Tale is a lie, but there is a hint in it ...• Find Descartes;
• In the country of Liliput;
• Bacteriological mail;
• Adding machine in a skirt;
• Computer from little fairies.
')
Find Descartes
The history reached us that a famous philosopher, in search of free time for reflection and a way to solve everyday difficulties, enlisted in the army. There, between passages, he used to climb into a slightly drowned Dutch stove, where he could finally find solitude with his thoughts. Like many mathematicians, Descartes had a mutual weakness in communicating with young persons, one of whom, whose name is too well known to mention here, somehow, passing by the camp by chance, wanted to see his friend-philosopher. But how to find it? There were more than a thousand tents - you can't get around everything in the evening, and the title did not allow. I hope the reader will forgive me some inaccuracies in the knowledge of the military structure, but let the army consist of ten regiments, each regiment of ten battalions, and each battalion had ten companies of ten people and a company company.
Of course, each unit had its own scribe and several "couriers". Taking advantage of the high position, the traveler asked to make a request from the army headquarters. Being multiplied by the clerk, he entered the headquarters of the regiments. There he was multiplied scribe regiments and sent to the battalions, where in a similar way the request entered the company. The company officer, under whose command Descartes served, could only send a positive response with his subordinate directly to the main headquarters. The sun had not even had time to sit down, and the evening promised to be warm and serene.
As an exercise, try to name:
a) the third from the top of the ring station of the red line of the Moscow metro;
b) a station associated associatively with "heat";
c) station, the name of which is associated with “cold”.
In the Land of Liliput
On one not very big and not too small island in the Pacific Ocean, there were two states at once: the Land of Liliput and the Land of Giants. Each of them had a huge number of cities with their own district and regional centers, several metropolises and exactly one capital. They lived, in general, peacefully, mainly because the Lilliputians organized their settlements in inaccessible for the giants of the island, and the giants simply could not notice the existence of the Lilliputians because of their size.
But then one fine day (it was a deep night on the island), the UN Congress proclaimed the equality of all races. As if by magic, the Lilliputians have grown considerably, and the giants have pretty much crushed, and everyone woke up by ordinary people on this not very big and not too small island. Fortunately, these turned out to be two very reasonable nations: they immediately came up with the idea of uniting their states and making a new administrative zoning at the same time. Now a little about how this zoning was. The island was a narrow elongated strip of land, so that all the cities on it were located along a single road.

The statuses of district centers were distributed between cities in each country so that the extreme left had this status, any city, either itself was a district center, or located adjacent to it, any two nearby district centers were separated from each other by exactly one or two cities that did not have this status.

By the same principle, some regional centers had a status, including regional ones, and some regional ones - including metropolises.

The described administrative division was recognized by all as the most effective for management and life. However, simply to appoint district, regional centers and metropolises of the new state, not to mention the capital, cities that had such status before, would mean to destroy the convenient structure of zoning (Fig. 4).

The action algorithm in this case may be as follows:

1 step. Maintain the status of all the district centers of the Land of Giants in the united country. Between the district centers thus appointed, there are no more than two cities in the Land of the Giants, but whole pieces of the Land of Liliput can be wedged in.
2 step. Maintain the status of those regional centers of the Country of Liliput that are not bordering in the united state with the regional centers inherited from the Country of Giants.
3 step. Locally highlighting "some" participants (the length of each of them does not exceed 5), in an appropriate way, designate district centers among their cities.
All the above steps are local: assign a city to the role of a district center or not, it depends only on a small area surrounding this city, therefore all actions can be performed “in parallel” and the process takes 0 (1) time regardless of the total number of cities. It remains only to repeat it for the remaining levels of administrative division.
Total new zoning takes 0 (lnN) time, where N is the total number of cities. Such a method “works” not only on linear states: a prepared reader is invited to generalize it to the case of flat objects, and also to find out how long it takes to introduce an administrative structure “from scratch”.
Bacteriological mail
Interruptions in the work of postal services are the headache of many ordinary citizens, and of postal workers themselves. Before describing a method that, under certain conditions, improves service in this area, I will describe in a simplified way how regular mail works. The author still remembers those times when messages were not typed between salad and soup at lunchtime: they were written on paper, thoughtfully and with meaning. The sealed envelope had to be carried to the post office, and every time in the morning, almost as if under a Christmas tree, it was necessary to look into your mailbox. The rural postman was a respected post by all, and letters along with feelings often preserved the exquisite scents of women's perfumes.
We assume that the zoning, received by the binary mail: current, the whole country is divided into western and eastern parts, and those, in turn, into the southern and northern, and so on.

Initially, all letters arrive at the main sorting base, where they are divided into addresses addressed to the eastern and western parts of the country. Administrative division should be done in such a way that, by probability, these portions of letters are approximately equal. All letters addressed to the eastern part are then sent to the sorting base of the eastern part, and to the western part - western. These sorting bases take on average half as many letters as arriving at home, so there are half as many stores of equipment and manpower at each of them.

Further sorting is done by similar methods until it reaches the rural postal offices, where it is hardly necessary more than one postman and watchman. The scheme described is excellent and economical as long as the letters are sent “evenly” throughout the country. But the trouble is, before the “Christmas” the whole country sent letters to a small Lapland village, where only Santa Claus and Santa Claus live, and both letters are addressed in about the same way. They somehow sorted out at the higher levels and all one hundred and fifty million fell on one poor postman of a Lapland village. Should I ask, where is the bike that you asked for last Christmas, and the local postman won't understand them until the second coming! To establish a message during the winter holidays, I will describe some futuristic mail. The principle of sorting this mail is somewhat reminiscent of the task of zoning, based on nested containers, and does not occur “top to bottom”, but mostly “bottom to top”. The resulting containers are schematically shown in Fig. 8. Each container corresponds to an administrative region of a certain level and contains exactly one or two smaller containers, and the containers of the lowest levels contain letters addressed to them.

Sorting at each stage can be done very quickly, if you use the containers themselves. Imagine that a container is a shell of a bacterium. Its genetic code stores information about the corresponding administrative level, and inside it floats one or two other smaller bacteria.

Then the whole intermediate sorting process consists in merging the bacteria with the same marks. If two bacteria involved in the fusion had lnK nesting levels (K≤N), then it takes 0 (lnK) time. A total of 0 (lnN) intermediate sorts occur, so one result of the container will be presented in 0 [(lnNl) (nN)] time. After this, it remains only to separate the respective containers, tearing each time the shell of the external bacterium (Fig. 10), which does not take much time and, perhaps, is done by one biologist postman.

With the described implementation of the post to the Lapland village without delay, there will be a “bag” with a separate package of letters for Santa Claus and a separate one for Santa Claus.
The prepared reader is invited to strengthen the result.
1) Note that for the next merging of the most external bacteria, it is not necessary to wait until all their internal recombinations have passed. Implement the mailing list with the same number of bacteria in lnN time.
2) Using the methods of this and the previous chapter, sort an arbitrary lazy-ordered N-element set for 0 [(lnN) (lnN)] with 0 (NlnN) bacteria.
Skidding meter
Everyone knows the ability of the representatives of the beautiful half of humanity, even performing several cases at once, in each of them to show exceptional nimbleness and accuracy. They do not always use this ability, but they cannot do without them: after all, on average, you have to iron the laundry at the same time, cook the soup, look after the little crafty, and still have time to talk a little over the phone with your best friend. These qualities allowed half a century ago to create a supercomputer from the women seated in the cinema, on which the first atomic bomb was successfully calculated. Alas! Born to create, does not always create, but the method itself deserves some attention. Adapt it to multiply two binary numbers. For example, suppose you want to multiply the number of length 3 by the number of length 5, as in fig. eleven.

When multiplying in the usual "school" way in a column, the task simply comes down to adding several numbers. When adding a column, there are "transfers" in the next discharge, and the value, transferring, can significantly exceed one (Figure 12a):

Instead of adding the total transfer to the total amount of the next digit, you can, as soon as the need for transfer occurs, add it to the summed numbers of the next digit itself (Fig. 2b). Now imagine that the summable numbers are from Fig. 11 are written in small numbers in notebooks of fifteen women (Fig. 13)

The algorithm of any woman’s action will wait for the result of the sum “on top” and the transfer value on the right and calculate their sum with the number stored in her notebook, then send this amount minus the transfer to the bottom and the transfer to the left (Fig. 14)

Not all women are immediately involved in the calculations. The calculation begins with the extreme right in the top row: she has no one to wait for intermediate data. The many women involved are shown in fig. 15.

The mentioned sets are obtained by displacing the stencil T into the distance of the template S (Fig. 16)

This fact suggests that instead of 15 women S, only three of T can be used to calculate the work, and the size of their notebooks and the complexity of the operations performed are almost the same. You can also assume that all notebooks are empty at the beginning of the calculation. The digits of the first number will be loaded into the upper module T, from where as the actions are carried out flow into the lower modules, and the discharges of the second turn out to be more convenient to apply along the conductor sliding down (fig. 17)

The algorithm of action of the modules is a slight modification of the algorithm from Fig. 14, it is resulted on fig. 18. This method can multiply the numbers of any length. The number of women that will be needed is equal to the length of one of the factors, and it is not at all necessary to keep a large calculated staff all the time: if the personnel department is fast, then the stencil can be completed as needed after the level of factors began to arrive, even without knowing the real length of the multiplied numbers. The speed of performing the multiplication in this way is not that linear - it is almost continuous: the discharges of the product appear with a slight delay after loading the corresponding discharges of the factors (if you forget about the "canning" effects).

Computer from little fairies
The previous chapters served as an illustration of the implementation of algorithmic tasks with a speed unattainable for any currently created computer. Of course, one cannot argue that any algorithm can be accelerated in a similar way: as Mr. Neumann noted, any computer is created to solve a certain, often very narrow range of tasks and outside it can be extremely inefficient. An example of the latter is wind tunnels - the most effective method for solving the equation of motion of a fluid, but it is hardly suitable for anything else. But if at the time of the first electronic computers, switching elements (lamps, transistors) were extremely expensive and unreliable, so most of the information used had to be stored on passive media (magnetic tapes or punched cards), the situation has now changed drastically. The household flash carrier stores a huge amount of information exclusively on switching elements. However, the transistors of the latter, unlike transistors inside the processor, change their state extremely rarely. Biologists say that it is almost impossible to determine any part of the nervous tissue, the whole function of which would be only to store information - any neuron is somehow included in active computations.
The first question, which prompted the author to develop the computational model given below in a somewhat allegorical form, in which cases an increase in the switching elements involved leads to an increase in the speed of the task and how the machine realizing such a principle should (can be) arranged.
The second question, and in many respects the model itself, is connected with the ideas of Mr. Neumann, outlined in the course of works, united under the title “Theory of self-produced automata”. I highly recommend the reader to get acquainted with any works. Joseph von Neumann - one of the largest and, alas, the last mathematicians of mirrors: he reflected reality in mathematics (game theory, work in the field of logic and the foundations of quantum mechanics) and mathematics in reality (atomic energy, the creation of the first computers). Unfortunately, since the mid-seventies, in the prefaces of mathematical books, they rarely wrote "why."
Actually, if the “Theory of self-produced automata” discussed the mathematical principles of the structure of the simplest single-celled organisms, then the natural development of the task would be in establishing the principles that allow the existence of multicellular ones. Do you find it surprising that your somatic cells, in fact, have the same gene code, however, in the process of growth of the organism formed a large number of different tissues. Now I hope, it is clear why the author chose such an allegorical form: the fairies are able to create another fairy with a wave of a magic wand.
So:
1) The fairy (fig. 19) is capable of performing simple calculations and storing some small amount of information;
2) All fairies are essentially the same and each of them is able to maintain a two-way communication channel with several (limited number) fairies in the process of work, communicating, communicating with them using a specific language (multiple commands).

In the process of communication, the fairy is potentially able to find out any information that is owned by another fairy that is connected to it by a communication channel;
3) If necessary, the communication channels may be interrupted by mutual consent of the interlocutors, however, a localization restriction will be imposed on their education: a fairy can form a communication channel with another fake only if they are connected through a third one, and the formation of a new communication channel should not exceed them limit for each of the tricks.

4) If necessary, any fairy can create another fairy connected initially only to it by a single communication channel. The formation of a subsidiary fiechka should not eventually result in exceeding the limit of communication channels for the parent (Fig. 21).

5) If necessary, any fairy can disappear.
In each particular case, these basic five rules must be supplemented with an accurate description of the language of communication and the rules of actions of the faeces that make up the computer as a species. At the beginning of their work, these computers consist (what, together with the incoming external information in the future, their work is completely determined) from a finite number of fairies, for each of which its internal state and the communication channels leading to it are indicated.
Generally speaking, I would like the computers mentioned to set tasks and get some results from them. To do this, we allow faechki form along with internal channels, channels with external devices and add to the list of rules:
3) A fairy can establish a communication channel with an external device only if it is already connected to this device through another fairy (Fig. 22)

Try now for any Turing machine to build an equivalent computer from suitable fairies. The last exercise shows that for any algorithmic problem there will be a kind of fairy that can solve it, but this kind does not necessarily have to be able to solve all algorithmic problems. For example, fairies who do not know how, perfectly solve tasks that are in nothing, and only them. However, as in the case of Turing machines, there are universal types of fairies, with their finite groups emulating fairies of any kind.
I will give a few examples of computers from fairies:
1) To some extent, every multicellular organism, where the role of fairies is performed by individual cells, and the calculation begins at the moment of fertilization.
2) The shoots on the tree appear from the buds of the shoots of previous years, so the tree can be divided into sections - they will be fairies, the initial - the embryonic shoot in the seed. In this example, the cells of the tree, as universal fiches, emulate a more complex type of fairies.
3) The sphere of economic activity of people can be divided into cells-fiches: firms, enterprises, offices (corporations communicate, multiply and die, see S.Parkenson’s book on this subject). People and society are another example, and people are the universal kind of fairies for economic tasks.
4) All sorts of social networks and their visitors, along with revolutions that have started all over the world, are undoubtedly a talented computer implementation of small fairies and a program on it.
I was not the only one who realized the uniquely high speed of computing such machines - Hello to you, invisible “colleagues”.5) The author needs such a machine only to work with sets and their properties, because the usual desktop “calculator” is able to do it, well, very slowly, but so far only nature has succeeded at this point. If you show an object, how long does it take for your brain to classify it? How much do you think you distinguish between objects and properties (although an object is nothing more than an ensemble of properties)? It is unlikely that at least some serial machine with a frequency of 40 Hz is able to give such results.In fact, the author’s “task of telephone operators” was investigated mainly in connection with the economic rationale for the possibility of implementing a “computer from little fairies”. It turns out, if we take a lot of microprocesses, say, a thousand transistors as potential fairies and connect them with a telephone network, where instead of telephone operators, modules of 5-7 transistors are used. The creation of one fairy by another fairy with this implementation consists in requesting the PBX to select a connection with a microprocessor that is not yet involved in the calculations. If such computers were built, then, for example, problems of a wave nature (search for paths and distances, flux values) on graphs saturated with edges would be solved much more quickly on them.Finally, I propose to the reader, who is interested in this article, for each paragraph to construct a suitable computer from small fairies (on paper, of course) and to formalize the given computational schemes in each case.