Back to Authors Home Page

The Tristate theory
(All Rights Reserved Abhijit Bhattacharjee)

It all started, a long time ago, when a roommate of mine at the academy gave me an innocuous puzzle to solve. He said " If you were to have just four standard weights and you had to weigh all whole number weights between 1 and 40 kgs, on a physical balance, what would be your choice of the four standard weights ?"
While solving the problem and variations of it, I was coming across a lot of physical applications of such a situation. In fact the solution itself was very interesting and promising. The solution to the above puzzle was 1, 3, 9 and 27. Take another look. They are 3^0, 3^1, 3^2, 3^3. Three raised to the power of zero, one, two and three. I extended the problem for higher values and the symmetry still continued. The fact that all numbers however great could be expressed as a unique combination of sums and subtracts of radicals of three, each used only once, and in such a structured and predictable manner, offered great possibilities to me and it was not easy to sleep with it for all these years. Any number could be represented. Just think of any. Even negative numbers ! And later expanded to even include the fractional numbers ( See below ).
The reason why this would be so, is not quite intuitive to understand, but can be illustrated with a "swinging scaffolding diagram". And it has mind boggling applications that can radically change the way we do things.

But before you go skeptical and leave, I am coming straightaway to something concrete to keep your faith. Given below is a programme written by me in Turbo Pascal to break any numbers into its components in the tristate manner.

Download Software (179KB) Tristate.zip

program tristate;
var n,a,b:real;task:boolean;choice:char;

procedure alpha;
begin
write(' + ',round(exp((a-1)*ln(3))));
n:=round(n-(exp((a-1)*ln(3))));
end;

procedure beta;
begin
write(' + ',round(exp(a*ln(3))));
n:=round(n-exp(a*ln(3)));
end;

procedure gamma;
begin
write(' - ',round(exp((a-1)*ln(3))));
n:=round(n-(exp((a-1)*ln(3))));
end;

procedure delta;
begin
write(' - ',round(exp(a*ln(3))));
n:=round((n-exp(a*ln(3))));
end;

procedure positive;label 10;
begin
  a:=0;
  repeat
  begin
    if n=round(exp(a*ln(3))) then
              begin
                write(' + ',round(exp(a*ln(3))));
                task:=true;
                goto 10;
              end;
    a:=a+1;
  end;
until N<round((exp(a*ln(3))));
b:=round(exp(a*ln(3))-n);
if b>round(((exp(A*ln(3)))-1)/2) then alpha
   else
   if b<=round(((exp((a)*ln(3)))-1)/2) then beta;
10:;
end;

procedure negative;label 10;
begin
n:=-n;a:=0;
repeat
if n=round(exp(a*ln(3))) then
                  begin
                    write(' - ',round(exp(a*ln(3))));
                    task:=true;
                    goto 10;
                  end;
a:=a+1;
until N<round((exp(a*ln(3))));
b:=round(exp(a*ln(3))-n);
if b>round(((exp((a)*ln(3)))-1)/2) then gamma
else
if b<=round(((exp((a)*ln(3)))-1)/2) then delta;
n:=-n;
10:;
end;

procedure process;
begin
if n<0 then negative
else
if n=0 then begin
              write(' 0');
              Task:=true;
              end
     else
if n>0 then positive;
end;

              {MAIN PROGRAMME}
begin
choice:='y';
writeln;writeln;
repeat
  begin
  a:=0;n:=0;b:=0;
  task:=false;
  writeln;writeln;
  writeln(' Enter your number (negative also allowed)');
  readln(n);
  writeln;
  write(round(n),' = ');
  while task=false do
          begin
          process;
          end;
  writeln;writeln;writeln;
  writeln('q to quit, c to continue crunching');
  readln(choice);
  end;
until choice='q';
writeln;writeln(' Copyright Abhijit Bhattacharjee 20 Sept 1996');
writeln(' 5C Nilanjana Apts, 43 DH Road, Calcutta 34 ,INDIA');
readln;
end.

Just compile the programme in a Turbo Pascal compiler. Naturally, the largest number crunched by this will be limited by the variable size definable in the compiler. But the algorithm remains same for the largest numbers conceivable.
The programme shows us that practically all numbers positive or negative, however great or small can be expressed as a combination of sums and subtracts of radicals of three, each radical used just once.
So this gives us another way of representing numbers. A brand new number system.

Lets see.
3^0 = 1
3^1 = 3
3^2 = 9
3^3 = 27
3^4 = 81
3^5 = 243
3^6 = 729
3^7 = 2187
3^8 = 6561
3^9 = 19683
3^10 = 59049
3^11 = 177147
3^12 = 531441
3^13 = 1594323
3^14 = 4782963
3^16 = 14348907
3^17 = 43046721
3^18 = 129140163
3^19 = 387420489
3^20 = 1162261467
3^21 = 3486784401
3^22 = 10460353203
3^23 = 31381059609
3^24 = 94143178827
3^25 = 282429536481

Now watch some random numbers !
57 = 81-27+3
9586 = 6561+2187+729+81+27+1
63779 = 59049+6561-2187+243+81+27+9-3-1
7890459 = 14348907-4782969-1594323-59049-19683-2187-243+9-3
57568678 = 43046721+14348907+177147-6561+2187+243+27+9-3+1
334754548 = 387420489-43046721-14348907+4782969-59049+6561-729-81+27-9-3+1
689764545 = 1162261467-387420489-129140163+43046721+1594323-531441-59049+19683-6561+81-27

Do you need any more examples ? You can use the programme above. Actually to convince you, I am ready to institute a cash prize for anyone finding a number that could'nt be expressed in the above manner. It will be a bother if the number is greater than the 32 bit limit i.e. 4294967296. So I wont do it for you, but it certainly can be expressed as a tristate.

So the above exercise has convinced you that any number can be expressed in the manner given below.

 

 

 

So this becomes a polar place value number system. Let us call it the Tristate number system. It is easier to visualize it as a scaffolding adjusting its links to reach a point on the number line.

It has all the requisites of a number system.
(a). That all numbers had a unique representation. (meaning you could not have two ways to define the same number.)
(b). That no number went underrepresented. There were no gaps in the entire number line till infinity.
(c). Two representation did not represent the same number. It is the converse of (a)
(d). That all symbolic representations must map to a number.(that there will be no number without any meaning)

At this stage, I'd like to clarify to those who are still thinking that the Tristate system is nothing but a base 3 number system, that the Tristate system has no relation at all with the Base 3 number system.


You can clearly see that they are not the same thing at all. They do not even have comparable number of bits to represent the same information. Base 3 is far behind. We can have all kinds of place value number system increasing the number of symbols to be used, BUT we can have only one polar place value system. This amazing property is special to the number 3. If we tried to do the same thing with any other number greater or smaller, we would have gaps or overlaps in the number line violating the requisites of a number system (c) and (b) respectively. You could attempt with 4 for instance. 4^0, 4^1, and so on. Then you would find that some numbers went unrepresented (gaps).

That was about the property that came our way. Now how do we use this property ?
Now I shall explain why this number system is going to be more efficient in all respects, in terms of storage and transmission, in operations and algorithms and in zillions of implementations including artificial intelligence.

(a) Deducible Coding
This would be the most efficient way to send info in a 3 ary system (m-ary). Any other means to send data in a 3 ary system would employ some kind of a look up table. This would add to an overhead of having to compare a given bit stream with a huge look up table, both at the sending end and the receiving end.
The Tristate system is entirely deducible at both the ends. It does not need any kind of a look up table.
There is no coding and decoding overhead.
I have a feeling that God is pointing this way. For instance, a 3 ary system implemented in PSK system with a 120 degree phase shift is likely to give the best results ( to detect a deviate signal  ) for the same reason as why a tripod has maximum stability. I do not have adequate knowledge in this field but I have an intuition that this will be so.

Perhaps only now have we reached the theoretical limit of information that can be packed into symbols.

(b) Simpler and Efficient Operations
.
Another exciting feature that follows is the much more efficient and simplified algorithm for mathematical operations. The Tristate system appears to be the natures chosen system. While I mention the inherent simplicity of incorporating the system, you may stop to wonder how such an obvious choice had evaded us for so long.
(i) Every Tristate number is inherently positive or negative. We do not need to send an extra bit to represent the sign + or - . Therefore it has cut down all the complications that we face in trying to represent a negative number in binary system. ( The 1's complement and 2's complement methods). The existing system needs a difficult algorithm to do mathematical operations on these signed numbers. For subtraction between two negative numbers for example. Since the basic operations of addition and subtraction are carried out so frequently in an average programme, the complicated algorithm leads to a considerable overhead.
The tristate number cuts down on this drastically.
There is only one kind of operation required: Addition for both addition and subtraction.
Since the sign of the number is contained in the number itself, an addition of a positive number to negative number results in the subtraction of that number from the positive number. Hence only one set of rules suffice. (-) + (-) = + and Carry = -
(+) +(-) = 0
(+) +(0) = +
(-) +(0) = -
(+) + (+) = - and Carry = +
This should lead to a substantial reduction to hardware required to implement these operations in a machine. Also it will be much simpler and faster.
(ii) In multiplication the system lends itself easily to operations.
The rules are
(+) * (+) = +
(+) * (-) = -
(-) * (-) = +
(iii)Division: A simple rule for division has been hard to come by so far. This is one of the reasons for withholding the publication of this theory a long while ago. It is less than complete in this one aspect. In any case the rules for divisions for all systems so far has been very complex. In this case too, we may have to resort to restoring or the non restoring division algorithm. But I have a firm belief that a simple scheme evades us till today. May be you shall help us find one. I am looking in the direction of Vedic Mathematics to show me a way to resort this issue in God’s desired way.
(iv) Representation of fractional numbers. The representation of fractional numbers have always been a tricky problem in number systems. For example if we were given to express .001 in binary system, the binary system would go on generating a stream of numbers inching its value towards the desired value, but alas it could'nt have reached within 99% of the desired value in the first five significant digits. Again the tristate system would be very efficient in closing on to nearest a value of a fractional number.
Let us begin with this hint.
The summation of 3^n where n tends to minus infinity is a convergent series that equals exactly to .5.
In other words, if we added an infinite string of tristate numbers after the tristate point, we could at best make up a number no greater than .5. This covers exactly half the length between 0 and 1 on the number line. This might appear unpromising at first sight, but actually this is exactly what ought to have been the case if we were to continue the tristate miracle well into the real line. We can still represent all the numbers above the value of .5 because the tristate closes in on a number from two directions. For all those numbers above .5 (say .75) we would approach the number as a result of subtracting some fractional terms from unity. This goes with the rest of the scheme and algorithm of tristate. There is no change. But as a pay off from this two pronged approach to reaching a number on the real plane is far greater resolution. By resolution I mean that we can represent fractional numbers far more accurately without running into huge strings of numbers after the tristate point (like decimal point, binary point). To make a quantitative study of this increment of resolution we will have to define certain new things. I am working on it. But if you get the idea, its enough.
The discrete has become truly continuous
.

(c) Other uses of the tristate approach: The tristate system is endowed with an inherent character of zooming up and down from a value before it zeroes in on a specified value. This bi-directional oscillation can be used in algorithms for searches, because searches tend to hover over a solution area before narrowing in. Currently such hovering has to be specifically programmed. Because the tristate system is inherently endowed with this property, we can take advantage of this without having to do specific coding.

(d) Data Compression: There is no way of compressing truly random stream of data. Any novel approach like the search of the Perpetual Motion Machine ends up with an objection called the Counting rule. I have been thinking of ways to use this special property of numbers to find a way to compress truly random data in a hitherto impossible way by beating the counting rule somehow. In any case, the tristate system implemented in a 3 ary system can reduce the bandwidth requirement in data transmission. See lossy compression below.

Possible uses of other polar place value systems
.
We mentioned earlier that other polar place value system would have gaps or overlaps. But this property itself could be used to our advantage in certain situations.
In the field of artificial intelligence. In what can be called an artificially rarefied exhaustive search algorithm. Let us consider the intelligence required by us to play chess. We do not attempt to find exact solutions. We cut down our search for a good solution by pruning improbable solutions at an early stage. Looking for an exact solution would imply taking into consideration all possible permutations and expanding on them. Since it will easily exceed our processing power we deliberately rarefy an exhaustive search. While a computer is generally taught to go for an exact solution and it has to consider all the possibilities and further possibilities based on them. Very soon it faces a problem called the combinatorial explosion. There are so many combinations that the computer gets bogged down at one level of move and cannot move to the next. This results in reducing the penetrance or the reach. While the human being can clip a lot of branching and achieve greater reach even without tremendous processing powers.
A polar place value system to the base of say 4 or 5 or higher will have a lot of gaps, which will make it possible for the computer to have a view of a greater amount of terrain (solution space) at first glance. The gaps will result in cutting down the actual number of possibilities to be analyzed, thus allowing better penetrance. If a particular area appears warm ( to be interesting or promising to the objective of the program ), it can always retrace back to do a truly exhaustive search of that solution space. This should normally result in better performance. And this is indeed the way we think, first getting a better overview of the problem and then moving on to the specifics. And this indeed is the secret behind the tremendous achievements made by the human mind. A polar place value system is inherently having gaps and therefore can reach a larger area of the solution space at first glance. Therefore, it will be easier to implement such algorithms using this kind of a number systems. 
In the field of distance communications. Say for a roving probe doing the terrain mapping over the surface of the planet Mars. Abundant information or resolution may be available with the probe but the number of bits that it can successfully send back to earth are at a premium. It is more important for the receivers on earth, to get a fair idea of a greater region than to get accurate samples of a small region. If a comparative study is done on the probability of error versus information received for the same bandwidth, the performance of the polar place value system will be found to be better. I think this can have great applications. We can make very efficient schemes of lossy compression using these other polar place value systems.
Applications of the Tristate concepts in other fields.
(i) Practically in any field that incorporates a differential arrangement. The
optimum length of links in a scaffolding used by constructors and firemen to reach all possible floor levels. The ratings of the stepper motors required to achieve fine placement or giving finely variable torque. Or in fixing gear ratios to permit all possible speeds. Designers and technologists can find many more.
(ii) Currency notes/ Credit tokens. The most economical ways to exchange money for the least number of currency notes/ coins minted.
(iii) Cryptology: More complex encryption can be achieved which will resist breaking because it is non standard.
(iv) Or the standard weights used by the shopkeeper from which the problem initially evolved.
(v) Did you hear of a plate designed by Carl Sagan which was sent as a message from earth to distant space in a probe that was hurtling away from the Solar System at an amazing speed towards outer space. The plate was engraved with pictures and symbols that were to make some deducable meaning to an
intelligent alien if it were to meet one in its journey. The information included numbers and there was a diagram to explain how those numbers worked. Can you think of a most deducible number system that would uniquely make sense to any kind of intelligent life in the universe ?

You could kindly write your comments to this theory to me at abhijit8086@yahoo.com. Or if you would like to give the idea publicity or be reflected in the appropriate forum, you are encouraged to do so but please keep me in picture by obtaining a written confirmation from me.

Abhijit Bhattacharjee
5C, NILANJANA APTS.
43 Diamond Harbour Road.
Behala. Calcutta 34. INDIA.

Back to Authors Home Page

Post a Message in My Guestbook!

1