Comments 10
A ternary logic representation enables a more compact and efficient information encoding than the equivalent binary logic representation. The argument stated is as follows: if we assume that a digital circuit has N possible input combinations, then a binary circuit requires log2N input lines and a ternary circuit requires log3N input lines.

Если продолжить это рассуждение, то почему бы не перейти далее к четверичной, пятиричной и так далее системам?

PS Или к англоязычным статьям принято оставлять комментарии на английском? Не уверен в своём знании этой части сетевого этикета)
В статье есть ответ:
The optimum radix ( r ) of a fractional number is found to be the natural logarithm (e). Ternary logic uses number representation with r=3, compared to binary logic which uses r=2, hence the most economical integer radix which is the closest to the natural logarithm e, is base 3.


Обоснование этого утверждения можно легко найти. В качестве примера: http://phg.su/basis2/X51.HTM, или https://en.wikipedia.org/wiki/Radix_economy
Говоря языком статьи — «more compact» стоит между двоичной и троичной системами счисления. Вот почему: habr.com/post/427969
Плюс ко всему нужно кардинально перестраивать всё на уровне электронных компонентов, потому что изменится шаг и нужно более точно учиться разделять двойку, единицу и нуль уже в троичной системе и всё будет ещё сложнее в дальнейшем.
Насколько я понимаю, аппаратные сложности — это вообще основная проблема троичной логики. И только после неё — проблема (не)совместимости с двоичной.
Мне в универе чуть ли не на первых лекциях связанных со схемотехникой и архитектурой сразу объяснили, что типа троичная система более эффективна, но сложнее в реализации в СССР кстати троичную логику активно рассматривали, да и сейчас тоже иногда вспоминают… Пару лет назад даже видел защиту диплома, где студент разработал и смоделировал в Мультисим некоторые троичные элементы…
> 1 Trit is expressed by 2 Bits: 0 ~ 00, 1 ~ 01, 2 ~10 (11 is undefined)

Уж лучше использовать истинно троичные элементы на мультиплексорах.

Говорят, что индейцы Аймара используют троичную логику как основную в системе понятий, что нашло отражение в их языке. Да, нет и не знаю. Закон исключения третьего для них не работает. На уровне софта тоже используется довольно часто. Например в SQL: true, false и null.

Технически, null — это не состояние. Это — отсутствие сигнала. Вот тут описан пример того, как это реализуется в наших текущих двоичнологичных машинах — habr.com/post/431010 (возможно, не самый достоверный пример и автор мог ошибаться со своими расчётами, но то, что процесс обновления есть, и то, что он есть тот же самый null — неоспоримо). Превращаются ли от этого наши машины (или хотя бы частное — память наших машин) в троичнологичные? Сомнительно.
И троичная логика не лишается способности null. Превращается ли она от этого в четверичную? Сомнительно, опять же.
То, что в некоторых отдельных случаях некоторые отдельные инженеры используют null как состояние, которое имеет положительную нагрузку и смысл наравне с true и false не означает что null для этого придуман, полагаю.

Why didn't you write about universal function (Webb function) that can express others?


Inc(x) = W(x, x)
Dec(x) = Inc(Inc(x))
~x = W(W(Dec(x), Inc(x)), Inc(W(Dec(x), x))
x & y = ~(~x | ~y)
x | y = Inc(Inc(W(x, y))

There is a big disadvantage of ternary logic comapre to the binary one. Compare functions above with the following ones:


~x = W(x, x)    
x & y = ~(~x | ~y) = W(W(x, x), W(y, y))
x | y = Inc(W(x, y)) = W(W(x, y), W(x, y))

Ternary logic has much more operations for "logical and" (22 W ops versus 3).


Also, see my question about Inverse function in multi-valued logic through the Webb function on math.stackexchange.com.

Only those users with full accounts are able to leave comments. Log in, please.