A polar place value number system
for computers and life in general

Abhijit Bhattacharjee, India
link to the original article (1996), which some have found more useful.


24 July 2006

"Computer Science is no more about computers than astronomy is about telescopes."
Edsger W. Dijkstra 


A puzzle

Algorithm

Number system

Negative numbers

Formal Requirements

Fractional numbers

Zero

Resolution

Comparison
Tristate & Base3

Equiprobable?

Addition

Multiplication

Multiplication of fractional numbers

Division

Discrete Systems, Computing and Formal logic

3-ary systems

Data Compression

Other Fields

Epilogue

History

Bibliography

Contact

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A puzzle to solve

It all started with my roommate in academy offering me an innocuous puzzle to solve.

He said "if you were to weigh all integer weights from 1 to 40 using a physical balance and just 4 standard weights, (placed on either pans) how would you do it. What would be your choice of the 4 standard weights?"

I will urge you to toy with this puzzle at least a few minutes to enjoy the essence of this article.


The solution to that puzzle turned out to be 1, 3, 9, 27. By using the combinations of only these weights in either pans as above it was possible to measure any weight between 1 and 40.
like 5 = 9 - 3 - 1, so you put 9 on one side and 3 and 1 with the weight you measure.
32 = 27 + 9 - 3 - 1
and so on.

That was very interesting - because these numbers showed a property. 1, 3, 9 and 27 were three raised to the powers of zero, one, two and three respectively. Why this pattern?


Immediately one would like to investigate if this property was valid for larger numbers or was just a coincidence.

I did and it turned out that is does! You could go on representing any number however large as combinations of radicals of three.

Something like 345 = + 243 + 81 + 27 - 9 + 3

or

242424 = + 177147 + 59049 + 6561 - 243 - 81 - 9

Here are some more examples which you must look if you are coming across this first time.


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.

It could have many applications.

One of which - it could be a number system!

*predictable because we have a simple algorithm that generates these numbers for any arbitrary given number. There is a program discussed below which generates these numbers.


Before you grow skeptical and leave at this stage. I would like to clarify the following.
  1. Please dont confuse this with a base 3 number system - no relation to it.
    There is a comparison between the two systems later.
  2. Here is a Pascal program to prove that any number however large can be indeed represented. And in a structured and predictable manner.
  3. And here is an executable program (Windows) which generate those crunches for any number you enter. So this is immediately testable.


We can have all kinds of positional number systems. We can have base 1 and we can even have base 100,000 or any number in the middle. Base 1 would mean drawing a tick on the wall as many times as the number is.

Base 2 we call binary, base 10 we call decimal, base 16 we call hexadecimal, and there can be any others, like the duodecimal system, base 12. They are quite general of the form axn + bxn-1+cxn-2 + ... where a,b,c are the digits and x is the base. Nothing spectacular about any particular one. But they are not completely the same.

Some of these offer more efficiency than others in not producing recurring decimals (irreducable fractions). The more the number of prime factors, the better the system in that respect. A related issue is the periodicity of the recurring decimals and the frequency with which they occur. For example division by 3 offers more frequently than division by 5. But there is also the issue of efficiency between the number of digits required and size of the symbol table. All of these number systems are not equally efficient in this second aspect. This is explained further here.

It turns out that the most efficient would be the base of the natural logarithms e, which is equal to 2.71828 Since this is a fractional number, its not so easy to work with. The nearest integer value is 3. Hence base 3 would be most efficient of all the place value number systems, also called positional notation.

Here, in this article we are not talking of base three, we are talking of more than that, a polar place value system which turns out to be even more efficient. But three is anyway very good.


The Algorithm

The algorithm whose code is here can be described as a "reach and step back" algorithm. Reach for the highest radical of three which is greater than the target number. Now measure the gap between the radical and the target number. If the gap between the number and the radical is greater than half of the radical value, then step back by inserting a negative value equal to the next smaller radical. If the gap is smaller than the half value, then insert the next nearest lower radical as a positive value to continue in the forward direction. The resultant gap that remains is to be filled by the using the same above algorithm recursively till the target number is reached.


How a number system?

Because you could represent any number simply using three symbols: + - and 0 placed in the respective place values of 3^0, 3^1, 3^2 and so on.

Like
89= +81 +9 -1
   = +3^4 + 3^2 - 3^0
   =
+0+0-(tristate)
      (the zeroes stand for place values of 3^3 and 3^1 which were not used in this number)

34343= +59049 -19683 -6561 +2187 -729 +81 -1
        = + 3^10 - 3^9 - 3^8 + 3^7 - 3^6 + 3^4 - 3^0
        =
+--+-0+000-

Any number can be represented, this software generates this for any number.

Negative whole numbers
Then I started looking at what it does with negative numbers and a most interesting property showed itself.
It was possible to represent any negative number, without the need of using a negative sign.

For example

-78= -81 +3
    = -00+0

The sign was contained in the number. This could be most useful, especially for computers. 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 operands. The beauty was also that you could obtain a negative of a number by just inverting the symbols in their own places and vice versa. So that was an easy transform.
 
Inversion: + becomes -, - becomes + and 0 remains 0.

How do we recognise a negative number by looking at it?
The first digit of a negative number will always be -
Similarly a positive number will have its first digit as +
This could be counted as one of the properties of this number system.

What are the formal requirements of a perfect number system?
  1. That all numbers had a unique representation. (meaning you could not have two ways to define the same number.
  2. That no number went unrepresented. There were no gaps in the entire number line till infinity.
  3. Two representation did not represent the same number. It is the converse of (1)
  4. That all symbolic representations must map to a number. (that there will be no number without any meaning)

This number system met all of the above requirements.

This was a place value number system but with a difference - each place could either be positive or negative or neutral. So lets call this a polar place value system. Unique in itself.

Why such a property should come our way. And why this is unique to the number three does not seem to have any easy apparent answers but its worth investigating. Perhaps from group theory.

I used to call it the tristate number system - indicating the three states that the digits can resolve to. A friend suggested that the symbols themselves be called trits - like bits, digits. So we shall call them trits hereafter.


Fractional numbers

It was enticing to investigate this for fractional numbers now. Representing fractional numbers is a big problem for computers. For example, if we were given to express .4386 in binary, the binary system would go on generating a stream of numbers inching its value towards the desired value, but alas it could have denoted only 57% of the value in the first two significant digits {.011binary/.4386} = {(.25+.125)/.4386}, and upto 85% by the third place of binary decimal {(.25+.125+.0625)/.4386} and 99% by only the fourth place of decimal. But the real difficulty of working with binary fractional numbers comes in terms of including the sign inside the number and then working with them. The practical schemes worked out include a sign bit typically and create overflow errors at the most significant bit.

Lets begin with what our tristate digits (trits) after the radix point (tristate point) looks like. Like any other place value system they would be 3^-n : 3^-1, 3^-2, 3^-3 and so on. They would be 1/3, 1/9, 1/27 and so on.(tristate point like decimal point, binary point)

Lets see what happens if we add these tristate fractional numbers: 1/3 + 1/9 + 1/27 + 1/81 + ....An interesting property shows up here too.

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

So to define .5 - we would run into an infinite string of digits, although reaching 99% of the value in 5 digits of tristate (trits). And we could use one of the other values in the middle to reach any other point in the middle. But definitely, we can cover this whole zone between 0 and .5 with great accuracy. BUT, this covers exactly only half the length between 0 and 1 on the number line. Whereas the binary system covers the whole zone between 0 to 1 because summation of 2^-n and n tends to infinity is equal to 1. This might appear unpromising at first sight, for tristate, but as we shall see below this is exactly what should be expected if we are to move the tristate miracle down to the real domain representation. This will be resolved by a two pronged approach. For numbers greater than .5 and less than 1 we shall use the same numbers but expressed as subtracts from 1. This bi-directional zooming ( z and 1-z) can get us to any point in the number line.

Positive fractional numbers
for all z such that (0 < z <= .5) the numbers get expressed as 0.+tristate, for example 0.+-0- or 0.000+-


The first significant digit (non zero digit) after the tristate point being a +
As it turns out all positive fractional numbers have the first significant digit as a + and all negative fractional numbers (discussed next) have - as the first significant digit.

for all z such that (.5 < z < 1) the numbers get expressed as   +.-tristate, for example +.-+0- or +.00-+0- (hence the part after tristate point as subtracts from unity)

Negative Fractional numbers
for all z such that (0 > z >= -.5) the numbers get expressed as 0.-tristate, for example 0.--0+
or 0.0000--0+
for all z such that (-.5 > z > -1) the numbers get expressed as -.+tristate, for example -.+-0-+
 or -.0+-+0-+

But as a pay off from this two pronged approach to reaching a number on the real plane quickly which would result in 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. 

The beauty is that this convention we have just chosen turns out to be the natural one because the resultant tristate numbers work through the arithmetic operations with the same generality. This is illustrated later. This is the inventive step.

The discrete has become truly continuous.

Lets try to represent a few numbers as tristate fractional numbers.

Say, we want to represent .4389(decimal)   

0.4389 =

3n   value   Cumulative Total Balance Percentage Error
-1 1/3 .33333333 + .333333 -.105567 24%
-2 1/9 .11111111 + .444444 +.005544 1.2%
-3 1/27 .03703703 0 .444444    
-4 1/81 .01234567 0 .444444    
-5 1/243 .00411522 - .440329 +.001429 0.32%
-6 1/729 .00137174 - .438957 +.000057 .012%
-7 1/2187 .00045724 0 .438957    
-8 1/6561 .00015241 0 .438957    
-9 1/19683 .00005080 - .4389062 +.0000062 .001%

To represent a number between .5 and 1

Lets say the number is 0.7182818

This number is larger than .5, so we shall find the 1s complement of it. (subtract from 1) which is equal to 1 - 0.7182818 = 0.2817182

.2817182 = 

3n   value 1/6 value*   Cumulative Total Balance Percentage Error
-1 1/3 .33333333 .0555555 + .33333333 +.0516151 18%
-2 1/9 .11111111 .0185185 0      
-3 1/27 .03703703 .0061728 - .29629629 +.0145780 5%
-4 1/81 .01234567 .00205761 - .28395061 +.00223238 .79%
-5 1/243 .00411522 .00068587 - .27983539 -.00188281 .66%
-6 1/729 .00137174 .00022862 + .28120713 -.00051107 .18%
-7 1/2187 .00045724 .000076207 + .28166438 -.00005382 .019%
-8 1/6561 .00015241 .000025402 0      
-9 1/19683 .00005080 .000008467 + .28171518 -.00000302 .001%
-10 1/59049 .00001693508 .0000028225 0      
-11 1/177147 .000005645029 .00000094083 + .28172083 +.00000263 .0009%
-12 1/531441 .000001881676 .00000031361 - .281718949 +.000000749 .0002%
-13 1/1594323 .0000006272254 .00000010453 - .2817183218 +.000000121 .00004%
-14 1/4782969 .0000002090751 .000000034845 - .28171811274 -.0000000872 .000030%
-15 1/14348907 .0000000696917 .000000011615 + .28171818243 -.0000000175 .0000062%
-16 1/43046721 .0000000232305 .0000000038717 + .28171820566 +.0000000056 .0000019%
               

*The 1/6th values and balance are compared at every stage. Red>Green. When the magnitude of the balance is less than 1/6 value, the next digit is a zero. This is as per the algorithm discussed later.

There is an interesting variation to this worth studying.

.2817182 = 0.+0---++0+0+---++


Click for full view

The above is a pictorial representation for an intuitive overview of how tristate numbers dendritically come to occupy the whole number space.

 

Therefore -.2817182 = 0.-0+++--0-0-+++--      [ Inverting the bits ]

Therefore .7182818 = +.-0+++--0-0-+++--       [ Expressed as 1 - z ]

If we add 2 (+-.0) we get

        +-.0000000000000000
    +    +.-0+++--0-0-+++--
       ____________________
        +0.-0+++--0-0-+++--

Therefore, the Euler number e = 2.7182818 can be expressed as +0.-0+++--0-0-+++--

*Note: Why 1/6 value ?
Because the algorithm refers to the 1/6 value while taking a decision on the next digit for fractional numbers.
Each trit and its sub-subsequent branches cover exactly 1/6 of its own value on either side of it. Making a total of 1/3 the space. If the balance is less than 1/6 value in magnitude (in any direction), it follows along the current stem. If greater than 1/6, it is expressed in terms of the next digit which is a neighbouring stem.

Each trit term is exactly 3 times of the next term in value.

The reason is obvious though.

3-(n+1) = 3(-n-1) = 3-n x 3-1 = 1/3 (3-n)              [ A(m+n) = Am x An ] ; 3-1 = 1/3

Hence the next term is one third of the previous term.


Algorithm for fractional numbers

The algorithm for generating fractional numbers is a little different from the algorithm for generating whole numbers. It is very similar but not the same.

  1. Due to the two pronged approach for numbers greater than .5 and less than .5

  2. The algorithm is not quantised to whole numbers, its over the continuous.

The algorithm is

  1. Find the largest radical of 3 just larger than the target value

  2. Assign it and calculate the difference

  3. If the difference is positive then the next term is to be expressed by a negative sign and vice versa

  4. If the magnitude of the difference is less than or equal to 1/6 of the current radical then insert a zero in the next place and the balance to be attempted in subsequent radicals.


For negative fractional numbers
Say you want to represent -.6729, it would just be the inverted bits of +.6729. This is much simpler and straightforward than current binary representation.

More examples


 

The representation of the number zero
The number zero is represented by 0 or 0.0 
There is no problem of a negative zero representation as has been the case with some binary representation like 1's complement method.


Irrational Real numbers
I would like to experiment with reaching the values of some of the traditional irrational numbers like pi, e , roots of prime numbers etc using the tristate numbers and see if it results in any efficiencies or patterns. Some of these are are called transcendental numbers because it is provable that they are not roots of any polynomial expression. May we explore these for patterns.


Resolution
Lets be quantitative about our claim of resolution and compare it to other systems.

How does the resolution of a tristate number compare to the binary system for an arbitrary rational number?

The following two figures are about a similar question being asked by Brian Hayes for base 2 and base 3 systems, as compared to the base e.

Figure 1. Most economical radix for a numbering system is e (about 2.718) when economy is measured as the product of the radix and the width, or number of digits, needed to express a given range of values. Here both the radix and the width are treated as continuous variables.

Figure 2. Most economical integer radix is almost always 3, the integer closest to e. If the capacity of a numbering system is rw, and the cost of a representation is rw, then r=3 is the best integer radix for all but a finite set of capacities. Specifically, ternary is inferior to binary only for 8,487 values of rw; ternary is superior for infinitely many values.

But tristate is more than just ternary.

Where does the curve for tristate numbers fit in into the above ?

Let us compare between tristate and Base 3 for one arbitrary example.

0.4389 =

    Place value Tristate cumulative
value
balance error Base 3   cumulative
value
balance error
-1 1/3 .33333333 + .333333 -.105567 24% 1 .33333333 .33333333 -.105567 24%
-2 1/9 .11111111 + .444444 +.005544 1.2% 0        
-3 1/27 .03703703 0 .444444     2 .07407407 .40740740 -.0254926 5.8%
-4 1/81 .01234567 0 .444444     2 .02469134 .43209876 -.0068012 1.5%
-5 1/243 .00411522 - .440329 +.001429 0.32% 1 .00411522 .43621399 -.0026860 .61%
-6 1/729 .00137174 - .438957 +.000057 .012% 1 .00137174 .43758573 -.0013142 .29%
-7 1/2187 .00045724 0 .438957     2 .00091449 .43850022 -.0003997 .09%
-8 1/6561 .00015241 0 .438957     2 .00030482 .43880505 -.0000949 .02%
-9 1/19683 .00005080 - .4389062 +.0000062 .001% 1 .00005080 .43885585 -.0000441 .01%
                       

In this arbitrary example, we find that the tristate is more efficient than the base 3 at every point along the resolution. It is apparent why this ought to be the case. The tristate system has exactly the same pieces but it can be opportunistic about it. This gives it an advantage. How can we quantify that advantage. We can see that towards the end the tristate numbers are accurate by many folds over their Base 3 counterparts.

Equiprobable?
Are the occurences of any of of the tristate trits: + - 0 : equiprobable ? 
Equiprobable over whole numbers or real numbers ?
They should be. Although all positive numbers start with + and negative numbers with a - but for the balance significant digits they seem to have an equal distribution. At least in this exercise for whole numbers upto 40. In each of the epochs shown in different colors, the digits occur in equal frequency. Since the tristate system - like fractals is so self-symmetrical, we could assume that this should be the case even for real numbers.

In such a case, can we quantify how often the advantage of tristate will show up vis-a-vis Base 3? Should it be around 33%. What efficiency results if we could be opportunistic 33% of the time. In the example above, we find that the tristate system has resolved the number better by 10 times compared to Base 3, by the 9th place of radix point.

Also, we have seen that Base 3 is nearly equal to Base e, so where does tristate lie vis-à-vis the Euler number, which has the theoretical highest efficiency? Is it superior, is it inferior, by how much ?

Perhaps, we have now reached the theoretical limit of packing numbers into digits.

Let us get further insight by considering a worst case scenario for tristate.

Consider the case of .5 which is pretty much one of the worst case. Any other case is expected to be equal or better. .5 also happens to be one of the worst cases of base 3 and performs similarly.

.5 = 1/3 + 1/9 + 1/27 + 1/81 + ....

   = .333333 + .111111 + .037037 + .012345 + 

   = 67% of the target value in first significant digit
    
calculation: 1/3 = .333333
     .333333/.5 = .666666

      89% of the value in the second digit
     
calculation: 1/9 = .111111
      .333333+.111111 = .444444
      .444444/.5 = .888888, therefore 89% within the first two digits.
     

      96% of the value in the third digit
      
1/27 = .037037
       .333333 +.111111 + .037037 = .481481
       .481481/.5 = .962962

      98.76% of the value of the target number in the first four significant digits
     
1/81 = .012345
      .493827/.5 = .987654

      99.58% in the first five digits
      
1/243 = .004115
        .497942/.5 = .995884

        with the next digit it goes to 99.86% accuracy.

Therefore .5 = .++++++(tristate)

If 99.5% in first five digits is the case with .5 which is the worst case, we can expect to do better than this for any other arbitrary number on the number line.

In binary system, .5 would be expressed to 100% accuracy in just one significant digit (0.1binary) after the binary point, but thats the best case scenario for the binary system. It would be nowhere nearly as good if it were to express .51785 for example, a number only 3.5% away from .5

In the end, we have to analyse which systems produce best results overall for most points on the number line. That is the point I am trying to make. Some formal treatment may be in order.

 

Simple 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 nature's chosen one.

Addition
Every Tristate number is inherently positive or negative. The sign is contained inside the number itself.
Also, since x-y = x + (-y), if we need to subtract y from x, we only need to invert the trits of y and add them. Therefore we only need just one kind of operation for both addition and subtraction.

The ground rule are pretty much like normal arithmetic with the following rules, carried out right to left.
(-) + (-) = + and Carry = -
(+) +(-) = 0                          (a neutralisation)
(+) +(0) = +
(-) +(0) = -
(+) + (+) = - and Carry = +

Commutative and Distributive laws apply.

Examples

        +++-+0                     345
    +   
++-0-                 +   98
____________________________
       +--+++-                     443

Addition of two fractional numbers

Align the radix point (tristate point) and plain add.

      0.++00--            .4389
+    0.+-+0-0-+     + .25483
______________________________________
     
+.-0+-+--+         .694000389

Special note: There is a small difference with .4389 + .25483 which is .69373 , this is because we were rounding off values in every stage of the derivation of the tristate number from the respective decimals.

         

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.

Multiplication

The rules are
(+) * (+) = +   (the are same rules as plain arithmetic)
(+) * (-) = -
(-) * (-) = +
(0) * (+) = 0
(0) * (-) = 0    (anything multiplies by 0 is 0, much the same)

Commutative and Distributive laws apply.

Example

       +0-+0                   75
    x     +-0               x    6
_________________________
        00000                  450
       -0+-0
     +0-+0
_________________________
      +-0--00                  450

Multiplication of two fractional numbers

    +0.-0+++--0-0-+++--        2.7182818 
     0.++00--00-                .4389

_________________________________________
                               1.19305388

Carry          + +   -
-
-
-
+
-       + +
+
-
  - - -              

-

0

+

0

-

-

-

+

+

0

+

0

+

-

-

-

+

+

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

-

0

+

0

-

-

-

+

+

0

+

0

+

-

-

-

+

+

-

0

+

0

-

-

-

+

+

0

+

0

+

-

-

-

+

+

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

+

0

-

0

+

+

+

-

-

0

-

0

-

+

+

+

-

-

+

0

-

0

+

+

+

-

-

0

-

0

-

+

+

+

-

-
Result + + - - + - 0 - + - + - 0 + 0 + + 0 0 + + + 0 - + +

The result is +.+--+-0-+-+-0+0++00+++0-++ which is equal to 1.1930720112 calculated upto the 16th place. The result varies from the 5th place of tristate point because one of the operands .4389 was only calculated to the 4th place of tristate.
It is however clear that the algorithm works for fractional numbers.

 

Amazing!
What is that field of mathematics that explores these structures in the universe of numbers? Why these simple rules of arithmetic that applied to positional number systems and explained through polynomial algebra should work for this radically different polar structure. And also to our serendipitous convenience.

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 belief that a simple scheme may simply be evading us. May be we can find a clue in the properties of numbers discovered in other areas. A simple shift and carry algorithm may be evading us. This may be found in tristate even though not in other positional systems, because tristate has a distinction that all its positions are occupied by just signs and not magnitudes. This is different. Hence we might find a way for repeated subtraction which could be only an operation of shifts and bitwise operations.

One of the strategies could be working with reciprocals. For example if m/n is to be determined, we could work with m x 1/n  The terrain of the tristate has been so fecund so far that we could perhaps find a relation between the expressions of n and 1/n. If we could do that we shall have an easy operation for division. It should be expected that an easy transform should exist because division is a basic mathematical operation and only an inverse of the multiplication operation.


The advantages to Discrete systems, computing and formal logic

The many advantages to computing systems have been outlined above. We only need to implement them to demonstrate.

George Boole - an English mathematician in 1850s formulated some rules of formal logic using logical constructs like the AND OR NOT etc called the Boolean Algebra. Many often confuse Boolean Algebra as one and the same as binary computers or binary arithmetic. Boolean Algebra uses two truth values - True and False, hence his system in bivalued. Binary is also bivalued - zero and one, but the similarity ends there. The constructs of AND NOT OR were later created in hardware in the form of logic gates in binary hardware. But there is no reason to think that these gates cannot be created in trivalue systems. Sometimes, I have heard people say we cant have trinary computers because we would have to reinvent Boolean Algebra. We dont have to. In fact a trivalued system (and our tristate in particular) may have some unique advantages in predicate calculus, as described below.

Some hardware attempts for trinary has been done in the past. We might gain from their past work. It should be simple to extend from binary systems because the additional symbol used is zero - which stands for neutrality and goes unchanged in most/all transforms.

The opposite of true is false. The opposite of one is not zero. However the opposite of positive is negative. Tristate would allow you to define truth values in varying magnitudes which can simply add or nullify each other. This should be more useful for formal logic, especially if they have to deal with tautologies which are not black or white but shades of gray. Fuzzy logic for example. Suppose they had to sum them up or do other transforms on them, like multiplication or matrices. There are also a class of statements which are neither true nor false, perhaps, meaningless, unknown, indeterminate. The neutrality symbol could come useful for that sort of argument. There have been many who have suggested a third value for truth including Aristotle, William of Occam of Occams Razor fame and many others subsequently. Łukasiewicz worked on his own three-valued propositional calculus, which with just 3 axioms is the most elegant axiomisation of propositional logic and is most used today. And there exists a discipline called Multiple valued logic.

A friend is working on designing an Universal Turing Machine based on tristate.


3-ary systems

Communication systems use modulation schemes that send out signals in m symbols, often in multiples of two. These are called m-ary systems. Because existing computers and automation systems are based on binary logic most of the modulations have an order which is a power of two: 2, 4, 8, 16, etc. In principle, however, the order of a modulation can be any integer greater than one.

Our 8PSK and 16PSK systems are an evolution from the the above. What if we could have 3 PSK and 9PSK instead. 

Perhaps 3 axis's could be more efficient than our current quadrature based designs. It could perhaps be easiest to resolve these points in a spectral constellation diagram.

The dendritical structure of tristate numbers look so much like a trellis.

 


Data Compression

One of the ways, to achieve greater data compression lies in our ability to define a point on the number line more and more efficiently (accurately using less digits). As we have established that tristate is efficient in representing numbers, a compression will definitely arise out of it.

Also the beauty of tristate lends naturally to progressively encoded information, a situation whose applicability is in all data communication. We shall need to design our algorithms which could take advantage of this.


Applications of the Tristate concepts in other fields.
  1. Practically in any field that incorporates a differential arrangement. The lengths of the various limbs in a robotic arm. The ratings of the stepper motors required to achieve fine placement or for offering finely variable torque. Or in fixing gear ratios to permit all possible speeds. The optimum length of links in a crane scaffolding used by constructors and firemen to reach all possible floor levels. Just hypothetical examples to illustrate. Designers and technologists can find the ones which are truly relevant.
  2. Currency notes/ Credit tokens. The most economical ways to exchange money for the least number of currency notes/ coins minted. Theoretically speaking. Perhaps Internet Commerce which faces a challenge of micropayments can adopt this model of microcoins to standardise transaction types and hence bring down the cost of transaction that makes the concept unviable today.
  3. Cryptology: More complex encryption can be achieved which will could resist code breaking. Not just from the obvious obscurity from being non standard, but also actual mathematical properties which are likely to come our way.
  4. Or the choice of standard weights used by any shopkeeper from which the problem initially evolve.
  5. Or for Dewey Decimal kind of system, where we always want space for extensibility of the system.
  6. In search algorithms - an understanding of the assured uniform density and the bidirectional zooming natural to the tristate system may help design superior search algorithms of progressively denser searches.
  7. In Quantum Physics, where there are particles with like charges, opposite charges and no charge. Similarly there are particles with spin-states which are clockwise, anticlockwise and also no spin. Also, if in the future we are to see quantum computing, may be tristate will turn out to be the natural ally.
  8. 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 deducible 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? We would have to do lesser "explaining" of how the numbers worked.

 


Epilogue

I came across this idea in 1987 exactly in the manner described at the beginning of this article. I tinkered with it, slept with it, felt great joy. ( I was 17 in 1987). With the access to Internet in India from homes possible since 1998, I have often looked around on the net, but have found no references of past work. So I have believed perhaps excusably that I invented this independently. I sent this work to many others for review, publishing where I could and on the web, but not many seemed to take this seriously. Some individuals were most appreciative though and one even supports me with a stipend until today. Although I had the inkling, I was never completely sure about the importance of this work. I often thought this was a specific quirk perhaps known and explainable by group theory/graph theory, but its remarkable suitability for computers which was completely ignored was less explainable. Over the years, Internet and search has evolved and more scientific work has come online, and most notable is the development of the wikipedia in recent times.

I now know that this system is also called the balanced ternary system. They are also called triadic numbers in some places. It had been invented in the past (earliest recorded reference in the 12th century) and some leading mathematicians and thinkers of the computer world have worked on this and have expressed the foresight of its possibilities to revolutionise computing. Many have known. These leading figures include DeMorgan, Cauchy (?), Dijkstra and Donald Knuth. The pioneers in this field were John Colson (England, 1726), Thomas Fowler (England, 1840s), S. L. Sobolev (USSR,1950s), Brousentsov N. P and others (USSR, 1970s), Gideon Friedar (US, 1973). Work on the mathematical properties of balanced ternary has been done by Axel Thue (Norway,1912) and subsequently others on the square free properties of balanced ternary.

I now know that the original puzzle of weights is of considerable historical importance and has intrigued the minds of such greats at Fibonacci and Mendeleev. In fact it occupies its place just next to the rabbit problem in the celebrated work Liber Abaci by Fibonacci. Why such an apparently pedestrian puzzle should attract the interest of such perceptive mathematicians is worth its due consideration.

The Moscow State University developed a few of these trinary computers - "Setun". Fowler had designed a mechanical computer. The Moscow machine however in the absence of ternary hardware, used binary ferrite cores to encode ternary data hence the ternary advantage was flittered away. Those were the days of vacuum tubes. I do not think designing solid state devices suitable for ternary data would be an insurmountable challenge. It would involve switching at two threshold points or a compound transistor made from two standard transistors using available technologies. Some suggestive work appears to have been done in the past. What about memory storage in three states? Three state hard drives are already around.

The detailed references of past work can be found here in this bibliography.

This tristate system however beautiful has not been mainstream along all its short journey, but it should be believed that this form of computing could become mainstream very soon for its qualitative merits. The computing industry took to binary computers based on flip-flops from the seminal Master's thesis (also here) of Claude Shannon (MIT, 1937) and has never stopped since to take a second look. We must admit that computers are not bound to one kind of flip-flops, they are just a specific implementation, like horse driven carts are one kind of transportation. Shannon was aware of Ternary towards later when he writes about "A symmetrical notation for numbers", American Mathematical Monthly 57:90-93, in 1950.

Curiously, I wish to add that all individuals who have shared an excitement with me over the years have been deeply influenced by the writings of Douglas R Hofstadter, the author of the book - "Godel, Escher, Bach: An Eternal Golden Braid", amongst others. Bach's Art of Fugue, A Musical Offering is about music in mathematics. Perhaps they saw the connection in the self referential model of Hofstadter. Tristate is akin to a self referential model. Here is a perceptive L-shape fractal designed by Declan Malone, Ireland, based on the tristate. Declan also says "but the two fields that seem to be the basics (Multi-valued logics (Łukasiewicz) and the elementary work of the Geometry of Numbers (Minkowski) don't seem to have been put together before". Thanks also to Declan for pointing out that the Dadekind cut of the Tristate numbers is .5 (and other such numbers) which I have simply described as the worst case scenarios. The tiny unresolved small quantities that we work on are hence the Cantors dust.

Some of the ideas expressed in this article still continue to be the first expression on this subject. For example the scheme for fractional numbers, I have not spotted anywhere else, also a quantitative description of the superior resolution of this system, its probable importance in communication systems and the pointers left for further work in the other areas. I would wish to work on this further. I wish to have this published and I wish to offer presentations on this. Any kind of support / encouragement on this is welcome. I truly believe this has a great future.


Abhijit Bhattacharjee
5C, Nilanjana Apartments
43, Diamond Harbour Road
Behala
Kolkata 34
INDIA 700 034
+91 33 2445 4900
+91 98303 98631

abhijit8086@yahoo.com

This page is available at http://abhijit.info/tristate/tristate.html

Thanks to Rohit Gupta who recommended that I need to update this content to a better webpage than it was.


"The very crudities of the first attack on a significant problem... are more illuminating than all the pretty elegance of the standard texts which has been won at the cost of perhaps centuries of finicky polishing."

Eric Temple Bell about Mathematics

Champion Email

I got an email (July 2006) from Marvin Minsky on this.

"Yes it is a fascinating subject, and your explorations and descriptions are extremely readable. I hope it gets the interest of more mathematicians."