Hacker News new | ask | show | jobs
by theamk 1992 days ago
I don’t think it will work with trinary numbers though, as in his design “unknown” is treated as “zero”.

So if there is an adder which outputs “0”, there is bo way to tell if the computation was done and result was zero, or if it is still in progress.

1 comments

Agreed, not with this particular design. However, you can absolutely do this just ternary numbers. You loose the ability to encode 3^n states (and are stuck w/ just 2^n), but the middle state can then be repurposed to indicate if the computation is complete (or not) as of yet.

I basically used this sort of design in a dual-rail logic framework which had 4 line-states per "data" line pair, two of which were real data bits, a third indicated unknown vs. unknown, and the fourth was unused.

See https://core.ac.uk/download/pdf/82751815.pdf, but beware that even though it doesn't look at all like ternary numbers in use, it absolute is.

What applications would be best suited to use this? I can't think of anything apart from scientific work that would benefit from such a specialized design.
None. The point of the paper was the proof technique, which was later extended to include a large family of constrained motion planning problems (i.e., problems that previously were of an unknown computational complexity could be easily mapped to the framework, thereby proving that they were PSPACE-complete).