FPGA

Jared jared at hatwhite.com
Sun Aug 12 23:00:56 CDT 2007


Eric Johnson wrote:
> On 8/12/07, Jared <jared at hatwhite.com> wrote:
>> Eric Johnson wrote:
>>>> Notice that in all three of your examples to achieve true
>>>> randomness, you are utilizing an analog-to-digital conversion.
>>>> (i.e. you are capturing a random pattern occurring in the
>>>> Real World with digital annotation). Note also that ternary
>>>> logic handles analog-to-digital conversion much more efficiently
>>>> than binary. This is empirically true, and demonstrated
>>>> mathematically here:
>>>>
>>>> http://www.trinary.cc/Tutorial/Interface/Analog.htm
>>> I hate to get involved in what looks like it could become a perfectly
>>> good flame war, but I looked at your link.
>>>
>>> By the same logic, we would be much better off using a decimal
>>> computer. It takes 15 trits to write 143, but I could write 999 in
>>> just 3 decimal bits (dits?)
>> Eric, you raise a good point.
>>
>> This is a keen intuitive leap, but it turns out that it is not the
>> reason that ternary is better than binary. It is actually because
>> electricity has _exactly_ 3 states:
>>
>>    +1 current flowing one way
>>     0 no current
>>    -1 current flowing the other way
> 
> No. To deal with analog to digital, electricity has a near infinite
> number of states. I would prefer a system that can measure 10 voltage
> levels than one that can only measure directions and no current. I can
> easily set up the circuit so that measurements can be taken in each
> direction.

Actually, yes. Your facts are correct, but you are using them to
justify a quantity-based measurement, and ternary is quality-based.
You are looking at the point-of-measuring, and I am looking at the
mathematical _conversion_ between that analog measuring point and
the digital storage.

This whole Quality debate was well exercised in Zen and the Art
of Motorcycle Maintenance, so we don't need to go into all the
details here.

You are correct that analog current has a near infinite number of
states, continually flowing. You are thinking of the '3' as
meaning '3 measuring points.' This is not what is meant by
ternary A/D conversion. What we're talking about is how to
quickly and efficiently move the finest grains of data possible,
and to do that we are converting from fractions to discrete numbers.

I quote, again from the trinary.cc website, which I believe is
published out of England since at least the late 1990s. It represents
the work of an engineer whose statements are all mathematically
proveable. There are other websites which discuss these things,
but his is the clearest for our purposes. Look closely at what he
is saying:

<extended quote>
Fractions are represented as a base number raised to a negative
exponent. They are commonly a source of error in scientific
calculations. Fractions are inherently analog in nature. Computers
are discrete. This means that computers approximate fractions as
closely as possible - but can be off by as much as half the value
of the smallest digit.

For example, lets see how 0.6 would be represented using only 3
digits. Based on the following table, we get the following results:

    Base 2: 101 = .500 + .000 + .125 = .625
    The margin of error is: .625 - .600 = .025 Error

    Base 3: 121 = .333 + .222 + .037 = .592
    The margin of error is: .600 - .592 = .008 Error

As you can see, base 3 is much more accurate.

The use of fractions becomes important whenever floating point
numbers are used. Floating point numbers use scientific notation
as the basis of representing a number. For example, the IEEE
standard for long double precision floating point is 80 bits in
size: 64 bits for the number, 15 bits for the exponent, and 1 for
the sign. A typical PC is only 32 bits wide. This number takes 3
memory cycles to access it. To get roughly the same precision
with trinary digits, it would take: 40 for the number, 9 for
the exponent, and 1 for the sign. For a 27 trit trinary computer,
this would only take 2 memory accesses to read the number.

However, if using a trinary computer, we would have 4 trits left
over (2 memory accesses is 54 trits - 40 - 9 - 1 = 4 trits unused)
that could be re-assigned so that they are meaningful. (e.g. - 42
for the number, 11 for the exponent, and 1 for the sign.) This
would surpass the capabilities of IEEE long double precision
floating point calculations by roughly 8 times in both precision
and magnitude

Why 3 and not 4, 5, 6... ?

The trinary math system utilizes the 3 natural states of
electrical current flow. A wire conducts in one direction, or
the other, or not at all. Base 4 would need to have 4 states,
which don’t naturally exist. A designer would need to use
discrete voltage levels to make it work. This leads to noise
margin problems and increased power consumption because the
transistors will need to be in the active state. If the designer
tried to quantize the numbers for mathematical operators, he
would have to build 4 window detectors to signal when voltage
represents a specific number. Just detecting the individual
numbers make anything above base 3 unwieldy.
</endquote>

http://www.trinary.cc/Tutorial/Introduction/Intro2.htm

The sum is that .333 is more useful mathematically than .5 when
creating fine-grained fractions. It is really, as Knuth said,
a very beautiful way of doing math, much more elegant than
binary or decimal. Not only mathematically, but ON THE CHIP it is
physically easier to manipulate the data in certain calculations
-- sometimes by simply inverting the trits, you perform a complex
calculation which requires several steps in binary.

I really am not coming from a position of opinion. Rhetoric yes,
but what I am presenting are facts and a new way of looking at
them which is quite amazing. For example, the trinary.cc guy is
unaware of the implications of ternary logic on random number
generation which I have brought into this conversation.

-Jared


p.s. for anyone still reading. the idea that someone is WRONG is
itself a binary assumption which virtually disappears when you
start thinking in ternary. Instead of saying someone is WRONG,
you simply say "Oh, he hasn't yet completed his journey on that
subject..." And then you have a moral imperative to help him learn,
instead of a moral imperative to "correct" him. Unless of course,
he really is wrong, which is exceedingly rare, like one per billion
or so.

So here is the summary so far:

1. A TRUE RANDOM NUMBER GENERATOR AND ENCRYPTION OPENER.
2. BETTER QUALITY DIGITAL TO ANALOG INTERFACES.
3. WORLD PEACE.

What's next, the Grand Unifying Theory itself? The cure for cancer?

One researcher in Central Peru is working with the Aymara language,
the only language in the world which is natively ternary in structure.
Roughly 2 million people speak it, and his project is to build
a SuperTranslator which accurately translates meaning between ALL
languages, by translating them in and out of Aymaran, which is a
"perfect language." (This sounds weird, but linguists immediately
recognize what I'm saying here, so I'll just say: it's possible).

Suffice it to say: there's something really amazing about
ternary logic which is not yet fully understood, and which
changes everything it touches, for the better.

Sigh. :-)

Honest, I'll quit responding on this subject if you will. I'm done.
It is successfully archived where surfers at archive.org will
be able to find it well into the future.

But if you write again and say I'm wrong, I'll write back and show
you that YOU ARE CORRECT and, interestingly, I am also.

G'night.


More information about the Kclug mailing list