Brousentsov's Ternary Principle

How the ways of the technological advance are inscrutable! Whether could the Italian mathematician Leonardo Pisano Fibonacci guess that his "weighing problem" brought into the mathematical discovery, which will be put in the basis of the original computer projects made at the beginning of the computer era?

The question is of the ternary symmetrical number system used by the Russian engineer Nickolai Brousentsov in the project of the "Setun" computer designed under his supervision at the Moscow University in the 50th years of the 20th century.

Leonardo Pisano Fibonacci (1170-1228)Nickolai Brousentsov (born in 1925)
Leonardo Pisano Fibonacci (1170-1228)Nickolai Brousentsov (born in 1925)

However let's recall once again the formulation of the "weighing problem" offered by Fibonacci.

Let's find the set consisting of the fours standard weights so that with the help of the balance one may weigh some integer weight Q in the range from 1 to 40 kg. In so doing the standard weights may be placed on the both cups of the balance. The former cup contains the measurable weight Q and is called the "weight" cup, the latter cup is called the "free" cup.

The desired set of the standard weights for solution of this problem is the following: 1, 3, 9, 27. The weighing the weight Q = 1 kg is performed with the help of the first standard weight 1 kg, which is placed on the "free" cup of the balance. The weighing result is written as the following:

The weighing the weight Q = 2 kg is performed with the help of two standard weights 1 kg and 3 kg. The latter is placed on the "free" cup of the balance and the former on the "weight" cup of the balance. The weighing result has the following form:

The negative unit `1 = - 1, which appears in this number notation, means that the standard weight of 1 kg is placed on the "weight" cup of the balance and it is "subtracted" from the standard weight of 3 kg, which is placed on the "free" cup of the balance.

The weighing results of the weights Q = 3 kg and Q = 4 kg are written as follows:

but the weighing result of the weight Q = 5 kg is represented in the following form:

The latter record means that the standard weight of 9 kg is placed on the "free" cup and the standard weights of 3 kg and 1 kg are placed on the "weight" cup of the balance.

The new interpretation of the "numeral" concept follows from the above-considered number notations The positive unit 1 of the number notation means that the corresponding weight is placed on the "free" cup of the balance, the negative unit `1 means that the corresponding standard weight is placed on the "weight" cup of the balance and the numeral of 0 in the number notation means that the corresponding standard weight does not involve in the weighing.

Hence, the number notation has the following algebraic interpretation:

Let's give some other examples:

It follows from above-considered number notations that the result of some weighing is expressed in the ternary number system by using three numerals namely: 1 (the positive unit), 0 (zero) and `1 (the negative unit).

    So-called "Brousentsov's Ternary Principle" of computer design was realized in the "Setun" computer and it is based on the following ideas:
  • ternary logic,
  • ternary symmetrical number system,
  • ternary memory element ("flip-flap-flop").

The "ternary symmetrical number system" is the key idea of "Brousentsov's Ternary Principle". This one represents by itself the following positional method of number representation:

(1)

where bi (i = 1, 2, ..., n) is the ternary numeral {`1 = -1, 0 and 1} of the i-th digit; 3i-1 is the "weight" of the i-th digit; number 3 is the base of the number system.

The basic advantage of the number system (1) in comparison to the classical binary one with the numerals of 0 and 1 is the graceful solution of the "sign problem". The sign of the number is determined by the highest significant numeral of the ternary representation. For example, the number N1 = 0`1 1 1 0`1 is negative but the number N2 = 1`1 0`1 0 0 1 is positive. Both positive and negative numbers are represented in the "direct" code and all arithmetical operations are performed in the "direct" code. It is easy to get the representation of the negative number (-N) from the ternary representation of the positive number N by using the rule of the "ternary inversion":

1 ® `1, 0 ® 0, `1 ® 1.(2)

The ternary-symmetrical addition and multiplication are based on the trivial identities connecting powers of the number of 3: 3i + 3i = 3i+1 - 3i (for the addition) and 3m ´ 3n = 3m+n (for the multiplication). The ternary-symmetrical subtraction of the numbers A - B is reduced to the addition of numbers A + (-B) if the rule of the ternary inversion (2) is applied to the subtrahend B. The ternary-symmetrical division is similar to the classical binary division and is reduced to the divisor shift and its subtraction from the dividend.

The "Setun" computer had been designed on magnetic elements and therefore it did not get the wide practical usage but its architecture based on the "ternary principle" was so perfect that at the present time the project of the "Setun" computer still attracts attention of many computer specialists.

The famous Soviet computer specialist Professor Pospelov wrote:

"The barriers, which stand on the way of the ternary symmetrical number system application to computers, are the barriers of the technical character. Up to now the economical and effective elements with three stable states have not been elaborated. As soon as such elements are developed the majority of computers of the universal kind and many special computers most probably will be designed so that they would function in the ternary symmetrical number system".

Also the famous American scientist Donald Knuth expressed the opinion that the replacement of "flip-flop" by "flip-flap-flop" would happen some day.

However, the ternary symmetrical number system has the "zero redundancy" and therefore has not any advantages in this sense in comparison to the classical binary number system.

For solution of computer checking problem the computer science needed in the new ideas in the number system theory. And in the 50th of the 20th century such ideas originated. And we will tell about this at the next pages of our Museum. Follow us!