|
В своей известной книге «Искусство программирования» Дональд Кнут писал: «Замечательным будет день, когда двоичный принцип (флип-флоп) будет сменен троичным (флип-флап-флопом), и этот день рано или поздно настанет» («the replacement of 'flip-flop' by 'flip-flap-flop' one a 'good' day will nevertheless happen»). Троичная логика обладает рядом выгодных отличий от общепринятой в мире цифровых технологий двоичной: это и естественность восприятия трех истинностных значений, и легкость представления отрицательных чисел, и избыточная надежность кода (в случае использования зеркально-симметричной системы). В настоящей работе предлагается рассмотреть способы реализации некоторых элементов троичного компьютера: сумматора, запоминающих устройств, а так же вентилей, простейших логических элементов, лежащих в их основе. Естественно, что для этих целей нам придется изучить некоторые принципы трехзначных логик и еще раз разобрать все преимущества и выгоды, которые несет в себе троичность (не забыв, конечно, и трудности реализации). Но сначала, разберем вопрос, а зачем же вообще нужна троичная логика и какие предпосылки положили начало ее формированию.
II.1 Закон Исключенного Третьего и принцип Двузначности.
Одним из барьеров, сдерживающих развитие и распространение троичности, видится неверное представление о необычности и трудной постижимости трехзначной логики. Современная формальная логика (как традиционная, так и математическая (кстати, заметьте «формальная»)) основана на принципе двузначности. В числе ее фундаментальных законов имеется закон исключенного третьего: «Третьего не дано», истолковываемый обычно в том смысле, что правильная логика ничего, кроме «Да» и «Нет», допустить не может. Иначе говоря, определяя истинность логического выражения никакого другого ответа мы дать не можем. Наиболее просто этот закон можно выразить следующим логическим выражением (высказыванием, формулой):