Третичная логика. О хромой двоичной логике и правильной троичной

Она является простейшим расширением двузначной логики .

Чёткую математическую троичную логику, в которой имеется три чётких значения (0,1,2), (-1,0,+1), (0,1/2,1) и др. часто путают с нечёткой троичной логикой, которая является частным случаем нечёткой логики c тремя значениями, одно, два или все три из которых - не чёткие.

Схемы с 3-4-значной логикой дают возможность сократить количество используемых логических и запоминающих элементов, а также межэлементных соединений. Схемы трёхзначной логики легко реализуются на КМОП -технологии. Трёхзначная логика обладает большей выразительностью, чем двухзначная. Например, существует лишь 16 комбинаций входов-выходов двухвходового двоичного вентиля, тогда как у аналогичного троичного вентиля таких комбинаций 19683.

  • Ресурс, посвященный троичной информатике и цифровой технике
  • Практическое применение троичной логики и её преимущества над двоичной
  • Васильев Н. И. Воображаемая логика. - М .: Наука, 1989.
  • Карпенко А. С. Многозначные логики // Логика и компьютер. Вып. №4. - М .: Наука, 1997.
  • Кэррол Льюис Символическая логика // Льюис Кэррол. История с узелками. - М .: Мир, 1973.
  • Лукасевич Я. Аристотелевская силлогистика с точки зрения современной формальной логики. - М .: Иностранная литература, 1959.
  • Слинин Я. А. Современная модальная логика. - Л. : Издательство Ленинградского университета, 1976.
  • Стяжкин Н. И. Формирование математической логики. - М .: Наука, 1967.
  • Гетманова А. Д. Учебник по логике. - М .: Владос, 1995. - С. 259-268. - 303 с. - ISBN 5-87065-009-7
  • Толковый словарь по вычислительным системам / Под ред. В. Иллингуорта и др.. - М .: Машиностроение, 1990. - 560 с. - ISBN 5-217-00617-X

Wikimedia Foundation . 2010 .

Смотреть что такое "Троичная логика" в других словарях:

    троичная логика

    Системы счисления в культуре Индо арабская система счисления Арабская Индийские Тамильская Бирманская Кхмерская Лаоская Монгольская Тайская Восточноазиатские системы счисления Китайская Японская Сучжоу Корейская Вьетнамская Счётные палочки… … Википедия

    - (двузначная логика) это логика, основанная на двух утверждениях. Истина (логическая единица) и ложь (логический нуль). Из за простоты реализации получила широкое распространение в вычислительной технике. В вычислительной технике разделяют… … Википедия

    Двоичная логика (двузначная логика) это логика, основанная на двух утверждениях. Истина (логическая единица) и ложь (логический нуль). Из за простоты реализации получила широкое распространение в вычислительной технике. В вычислительной технике… … Википедия

    трехзначная логика - trireikšmė logika statusas T sritis automatika atitikmenys: angl. ternary logic; three value logic vok. dreiwertige Logik, f; ternäre Logik, f rus. трехзначная логика, f; троичная логика, f pranc. logique ternaire, f … Automatikos terminų žodynas

    Проверить нейтральность. На странице обсуждения должны быть подробности. Троичный компьютер компьютер, построенный на двоичных и троичных логических элементах и узлах, работающий в двоичной и … Википедия

    Троичный триггер электронное, механическое, пневматическое, гидравлическое или другое устройство, имеющее три устойчивых состояния, возможность переключения из любого одного из трёх устойчивых состояний в любое из двух других устойчивых состояний … Википедия

    Возможно, эта статья содержит оригинальное исследование. Добавьте ссылки на источники, в противном случае она может быть выставлена на удаление. Дополнительные сведения могут быть на странице обсуждения. (11 мая 2011) … Википедия

    Троичной функцией в теории функциональных систем и троичной логике называют функцию типа, где троичное множество, а неотрицательное целое число, которое называют арностью или местностью функции. Элементы множества цифровые… … Википедия

Традиционно считается что логика обладает свойствами двоичности.
То есть любое утверждение может быть истинным или ложным, а также любая функция может иметь либо положительный либо отрицательный результат.

На самом деле это не совсем так. Поэтому большинство заблуждений людей связанно с тем, что они в своих рассуждениях как раз пытаются применить эту самую двоичную логику. В некоторых ситуациях это вполне допустимо, но в большинстве случаев вызывает совершенно невероятные заблуждения.

Чтобы понять почему же истинная логика всегда троична, а не двоична возьмём для примера следуюшие три утверждения.

1) Машина красного цвета
2.) Машина не красного цвета
3.) Машина марки Форд.

Все эти утверждения касаются информации об одной и той же машине.

Каково же значение принимает информация о красноте цвета кузова машины в каждом из трёх выражений.?

С точки зрения "двоичной" логики ситуация выглядит так:

1) Увтерждение положительное то есть Красный Цвет = 1.
2) Утверждение отицательное то есть красный цвет = 0.
3) Утверждение отрицательное (информация отсутсвует) = 0.

Совершенно ясно, что последнее утверждение совершенно не обязательно является ложным только потому что информация отсутсвует. Но двоичная логика игнорирует такие тонкости ибо
у неё только ДВА результата. Положительный и Отрицательный.
Да и Нет. Никакого другого результата в двоичной логики
быть не может в принципе

Иногда это вполне допустимо, поскольку в большинстве случаев нас интересует положительный результат. А отрицательный результат и отсутсвие результата мы можем считать "одним и тем же случаем".

Но такая логика сильно искажает действительность. Иногда до неузнаваемости.

Если же мы применяем троичную логику в любых рассуждениях то картина начинает отражать в большинстве случаев значительно больше соответсвовать действительности.

Если мы к этим трём утверждениям теперь применим троичную логику то получится следующее.

Информация о красноте цвета кузова

1.) Положительная = +1
2) Отрицательная = -1
3) Отсутсвует = 0

Информация о цвете вообще

1) Положительная = +1
2) Отсутсвует (потому что утверждение "не красная" ещё не ознначает какого то конкретного цвета = 0
3) Отсутсвует

Информация о марке машины
1)= 0
2)= 0
3) +1

Таким обрзом любое утверждение с точки зрения троичной логики на самом деле становится либо истинным либо неопределённым.
Никаких "ложных" утверждений таким образом в троичной логике быть не может в принципе.

Положительным (Истина)
Отрицательным (Истина)
Нейтральным (Неопределённость)

Многих сбивает с толку двоичность логики компьютерных систем.
На самом деле двоичность логики в компьютерных системах искусственная. Связанно это с тем, что компьютерные системы значительно проще аппаратно реализовать таким образом. Кроме того
основной задачей во времена разработки компьютерных систем
отводилось вычислительным операциям. Считалось, что гораздо
эффективнее применять двоичную арифметику. Но фактически
всякие искусственные ухищрения со знаком числа во время даже арифметических вычислений уже нарушают принцип двоичности логики сами по себе. То есть когда например об отрицательном значении результата вычитания 2-х числе процесср устанавливает в определённое значение 3-е служебное число Или когда определённый разряд числа является служебным то есть фактически являтся дополнителььным третьим числом.

Если же взять абсолютно любую уже высокоуровневую логическую функцию то мы увидим, что система логики всегда троична.

Например. Система пытается считать информацию с компакт диска.
Казалось бы что на компакт диске в приципе исключительн двоичная логика по природе. Там где лазер прожёг ямку там информация равна
условно "нулю" а там где оставил нетронутым там условно "единица"
Но это только так кажется.
На самом деле далеко не вся информация на компакт диске является "нулём" или "единицей". Кучу информации оказывается безсполезными ошибками. То ли в силу ошибок записи, то ли в силу повреждения
самого диска в дальнейшем и.т.п. Для этого массу особо важной информации (такой как файловая система и.т.п.) дублируется.
В случае если считывающая програма не может определить истинность информации она пытается считать её из другого места.
Таким образом даже на компакт диске получается 3 значения.
Как "единица" так и "ноль" либо "единица" и "минус единица" являются истиой информаицей. В то время как остальные значения являются неоределёным "шумом", которые логика обязанна проигнорировать.
В итог получается что логика воспринимает 3 значения.
Из нулей и единиц программная троичная логика собирает актуальные числа, а затем преобразовывает их в "истинные" анные, А неорделённые значения игнорирует, пытаясь найти их там где они определённые и взять их оттуда. Таким образом в итоге она обрабатывает 3 значения кажого "бита", а не два.

Также само устроен обмен данных по интернету. Там любая информация тем более постоянно проверяется на истинность.
В случае получения неопределённого результата порция двоичной (истинной) информации передаётся снова до тех пор пока информация не будет соовтветсвовать истинности.
В итоге опять имеем троичную а не двоичную логику передачи информации. Ибо 2 логических значения истины плюс одно значение неопределённости равно как раз 3.

Или например возьмём ситуацию, когда производится некий поиск информации.
Например информация о наличие утренних рейсов на Нью-Йорк.
Очевидно что если полученна информация об их наличие
то это положительный результат. Если полученна информация об их
отсутсвие (только вечерние рейсы например) то это тоже результат только отрицательный. А вот если информации по каким-то причинам нет это тоже результат только неопределённый.

Таким образом любая логическая функция двух аргументов может возвращать не два а три значения:

1) Положительное а=b (машшина = красная)
2) Отрицательное a!=b (машина!= красная)
3) Неопределённое а?=b (соотношение аргументов "машина" и
"красная" не установлено)

При инверсия положительного результата может означать как отрицательный так и неопределённый результат.

Инверсия неопределённого результата может означать как положительный так и отрицательный результат

Инверсия отрицательного результата также даёт два возможных значения..

Это просто выразить. Противоположностью владению точной информацией о том что машина красная может быть две ситуации.
1) Владение точной информации что она явно не красная, и
2) Невладении никакой информацией по этому поводу
и.т.п.

Это даже лингвистически выражается в далеко не тождественности таких выражений как:
"Знаю что не красная" // "не" выступает в роли Отрицание
"Не знаю что красная." // "не" в роле неопределённости

В современном русском например иногда языке прослеживается тонкая разница между "не" и "ни" которые как раз служат для разделения отрицания с неопределённостью.

Нарпример ни тот ни другой. Никак(?=). Ниоткуда (?=). Ничем(?).
это всё неопределённость.

Никак (не) сделал. (ни хорошо ни плохо)
Не так сдалал (плохо сдеал)

Тут кстати нет никакого "двойного отрицани" тут отрицанние действия и неопределённость.

Ниоткуда пришёл. Не известно откуда ни оттуда ни отсюда.
Но "не туда идёшь". Конкретно не туда.

Ничем не занимался. (ни тем ни сем)
Не тем занимался (конкретно не тем)

Никто не пришёл (ни тот ни другой)
Не тот пришёл (конкретно не тот)

Это разновидность многозначных логик, где отрицается сфера действия закона исключенного третьего (А и. -"Л), вместо которого определено действие закона исключенного четвертого.

Закон исключенного четвертого - принцип трехзначной логики, где высказыванию приписывают три значения истинности: 1) истинно; 2) ложно (х); 3) неопределенно (72)" четвертого не дано.

Итак, трехзначная логика творится как формальная система, в пределах которой вводят третье значение истинности, кроме значений "истинно" или "неправильно".

Третье значение выражают словами "неопределенно", "абсурдно", "неизвестно" и проч.;

К трехзначной логики относятся логические системы Я. Лукасевича, Л. Брауэр - А. Гейтинга, Д. Бочвара, X. Рейхенбаха и др.

Определим особенности трехзначной логики Я. Лукасевича (про другие трехзначные логики - чит. в А. Ішмуратова, А. Конверського).

Трехзначная логика Я. Лукасевича

Была задумана им для адекватной интерпретации высказываний с определенным типом модальности (алетичної, временной и т.д.), поскольку они не могут быть интерпретированы лишь в двух значениях: "истинно" или "неправильно". Хотя трехзначная логика Я. Лукасевича, по мнению логиков, не стала адекватной теории модальных высказываний, но ее считают первой многозначной логической системой, которая положила начало развитию нового направления символической логики - многозначительного логики.

Как формально-логическая система она создана матричным и аксиоматичным способом в такой последовательности: сначала определяют множественность высказываний в системе 5; затем вводят дополнительное (третье) значение истинности, кроме "истинно" и "неправильно", следовательно, высказывания А может приобретать трех значений: 1) "истинно" (и); 2) "неправильно" (х); 3) "неопределенно" (У2).

Я. Лукасевич ввел свою символику для обозначения пропозиційних связь: N - для обозначения отрицания, С - для обозначения импликации, К - для обозначения конъюнкции, А - для обозначения дизъюнкции; х, у, г - для обозначения пропозиційних переменных, а также 1 - для обозначения истинности высказывания; 0 - для обозначения ложности высказывания; "/*- для обозначения третьего значения истинности - "неопределенно" ("нейтрально").

Однако для описания логики Я. Лукасевича используем "более привычное", т.е. знаковую, а не буквенную символику.

А, В, С - символы для обозначения пропозиційних переменных (высказываний);

И, х, х/ - символы для обозначения істиннісного значения высказываний;

--", Л, V, -> - символы для обозначения пропозиційних постоянных (логических) союзов;

Аксиоматический способ построения трехзначной логики означает построение счисления задается аксиомами. Система аксиом трехзначной логики Я. Лукасевича, содержит более десятка аксиом. Назовем несколько из них:

Закон исключенного третьего в трехзначной логике Я. Лукасевича не является аксиомой (законом).

Интерпретация трехзначных логик и других многозначных логик может быть осуществлена в таких сферах познания - наука, философия, информатика и др.; в сфере прикладных логических исследований - юридическая теория и практика, экономическая теория и практика, теория искусственного интеллекта, компьютерная логика и т.п., когда в определенном контексте высказывания не имеют точно определенных двух значений истинности, тогда им предоставляется п > 2 істиннісних значений.

Первую интерпретацию трехзначной логики Я. Лукасевича как формальной системы осуществил немецкий философ и логик X. Рейхенбах (1891-1953) с целью преодоления ряда философских и логико-методологических проблем, возникших в квантовой физике, и точного описания физического знания в области квантовой физики. Для этого X. Рейхенбах создал формальную систему, которая получила название "квантовая логика". В ее пределах высказыванием, что по смыслу выражают знания о квантовые явления, в частности о движении элементарных частиц, предоставляют следующие значения истинности: истинно; ложно; неопределенное. Пример такого высказывания: "В своем движении (рассеивании) через экран, который имеет две щели А и В, электрон, возможно, пройдет через щель А в £ ".

Квантовую логику X. Рейхенбаха, Хао Вана и безмежнозначні системы в квантовой логике рассмотрел детально ученый В. Васюков.

наиболее Адекватно трехзначная логика может быть интерпретирована в теории прогнозирования, которая разрабатывает методы прогнозирования дальнейшего развития явлений, процессов, событий в будущем или отбытия определенного события в будущем, например, прогнозирование о потеплении климата вследствие негативного влияния деятельности человека на "окружающей среды или прогнозы о "конец света".

Итак, когда выстраивают систему прогнозирования (прогнозируют), то высказывание, что по смыслу определяют измерение объекта соображений, направленный на будущее, приобретают л > 2 істиннісних значений и, соответственно, можно установить условия (факторы), при которых значения истинности высказываний будет приближаться к 1 (абсолютного значения истинности в вероятностной логике). В этом смысле многозначная логика имеет определенные общие признаки с вероятностной логикой, оперирующей модальностями "вероятно", "мало вероятно", "вероятно" и определяет условия (факторы), при которых повышается степень вероятности истинности высказывания, а также с алетичною логике, которая оперирует модальностями "необходимо", "возможно", "случайно".

В сфере юридической практики существует ситуация допроса, ситуация судебного процесса, когда субъект правонарушения (подозреваемый, обвиняемый, подсудимый) дает показания, то есть отвечает на вопросы следователя, судьи и других участников судебного процесса. С точки зрения многозначительной логики, показы субъекта правонарушения могут оказаться неточными, неопределенными по значению истинности (путаница в показаниях) и приобрести таких вариантов:

1. Показы субъекта х правдивые (истинные) - и.

2. Показы субъекта х не истинные (ложные) - х.

3. Показы субъекта х неопределенные (неопределенно: говорит истину или обманывает) - 1/2-

Трехзначная и четырехзначная логики Я. Лукасевича созданы для описания и анализа модальных высказываний, которые являются объектом исследования модальной логики.

Информация, которой оперирует компьютер, так или иначе раскладывается на единицы и нули — графика, музыка, тексты, алгоритмы программ. Все просто и понятно: «включено» — «выключено», «есть сигнал» — «нет сигнала». Либо« истина», либо« ложь» — двоичная логика. А между тем еще в 1961-м, в год первого полета человека в космос, в Советском Союзе наладили производство необычных вычислительных машин, оперировавших не двоичной, а троичной логикой

Александр Петров


«Лишняя» переменная Недвухзначность логики восходит к основоположнику первой законченной логической теории — Аристотелю, который между утверждением и антиутверждением помещал третье «привходящее» — «может да, а может нет». В последующем развитии логика была упрощена за счет отказа от этого третьего состояния и в таком виде оказалась необычайно живучей, несмотря на свое несоответствие нечеткой, не всегда раскладывающейся на «да» и «нет» действительности. В разные века «расширить» логику пытались Оккам, Лейбниц, Гегель, Кэрролл и некоторые другие мыслители, в конечном же виде трехзначную логику разработал в начале XX века польский ученый Ян Лукасевич.


«Сетунь» Несмотря на то что впоследствии команда Брусенцова разработала вторую модель «Сетунь-70», а в США в 1970-х годах шла работа над аналогичной ЭВМ Ternac, «Сетунь» осталась единственным в истории троичным компьютером, производившимся серийно.

В принципе, у троичной системы счисления было не меньше шансов, чем у двоичной. Кто знает, по какому пути развития пошел бы технический прогресс, если бы «трайты» одержали победу над «байтами». Как выглядели бы современные смартфоны или GPS-навигаторы, как отразилось бы значение «может быть» на их быстродействии? Сложно сказать. Мы проанализируем этот вопрос, а вам предоставим возможность сделать выводы самостоятельно.

Машина Фоулера

Справедливости ради сразу следует заметить: первую вычислительную машину с троичной системой счисления задолго до советских конструкторов построил английский изобретатель-самоучка Томас Фоулер в далеком 1840 году. Его машина была механической и полностью деревянной.

Томас Фоулер работал банковским служащим и по роду деятельности был вынужден производить сложные вычисления. Чтобы облегчить и ускорить свою работу, он сделал таблицы для счета степенями двойки и тройки, а позже опубликовал эти таблицы в виде брошюры.

Затем он пошел дальше, решив полностью автоматизировать расчеты по таблицам, и построил счетную машину. Английская патентная система того времени была несовершенна, предыдущее изобретение Фоулера (термосифон для систем парового отопления) было скопировано с минимальными изменениями и запатентовано множеством недобросовестных «изобретателей», поэтому, опасаясь, что его идею снова могут украсть, он решил изготовить машину в единственном экземпляре и — из дерева. Так как дерево — материал ненадежный, для обеспечения достаточной точности вычислений Фоулеру пришлось сделать машину весьма громоздкой, около 2 м в длину. Впрочем, как писал сам изобретатель в сопроводительной записке, отправляя машину в Лондонский королевский колледж, «если бы ее можно было изготовить из металла, она бы оказалась не больше пишущей машинки».

Машина Фоулера была проста, эффективна и использовала новаторский подход: вместо десятичной системы счисления оперировала «триадами», то есть степенями тройки. К сожалению, замечательное изобретение так и осталось незамеченным, оригинал машины не сохранился до наших времен, и о ее устройстве известно только из сочинения Фоулера-младшего, написавшего биографию отца.

Первые советские опыты

О практическом использовании троичной системы счисления забыли более чем на сто лет. Следующими, кто вернулся к этой идее, были инженеры с кафедры вычислительной математики механико-математического факультета МГУ.

Все началось в 1954 году: кафедре должны были передать электронно-вычислительную машину М-2, но не сложилось. А машину-то ждали, готовились ее устанавливать и налаживать, с нею связывались определенные ожидания и планы. И кто-то предложил: давайте построим свою.

Взяли — и построили, благо в то время в МГУ существовали некоторые теоретические наработки. Руководителем группы, осуществлявшей проектирование и изготовление машины, был назначен Николай Петрович Брусенцов. Задача была такая: сделать машину предельно простой и недорогой (потому что никакого специального финансирования у проекта не было). Поначалу собирались делать двоичную ЭВМ, но позже — как раз из соображений экономичности и простоты архитектуры — пришли к решению, что она будет троичной, использующей «естественный» троичный симметричный код, простейший из симметричных кодов.

К концу 1958 года был закончен первый экземпляр машины, которой дали имя «Сетунь» — по названию московской речки. «Сетунь» была относительно невелика для вычислительных машин того поколения и занимала площадь 25−30 м2. Благодаря своей изящной архитектуре она была способна выполнять 2000−4500 операций в секунду, обладала оперативной памятью в 162 девятитритных ячейки и запоминающим устройством на магнитном барабане емкостью 36−72 страницы по 54 ячейки каждая. Машинных команд было всего 27 (причем три так и остались невостребованными), благодаря чему программный код получался весьма экономным; программирование непосредственно в машинных кодах было настолько простым, что для «Сетуни» даже не разрабатывали свой ассемблер. Данные вводили в машину с перфоленты, результаты выводились на телетайп (причем, что любопытно, отрицательные цифры печатались как обычные, но перевернутые кверху ногами). При эксплуатации машина показывала 95−98% полезного времени (расходуемого на решение задач, а не на поиск неисправностей и устранение неполадок), а в те времена очень хорошим результатом считалось, если машина могла дать хотя бы 60%.

На межведомственных испытаниях 1960 года машину признали пригодной для массового использования в КБ, лабораториях и вузах, последовало распоряжение о серийном выпуске «Сетуни» на Казанском заводе математических машин. С 1961 по 1965 год было построено 50 экземпляров, которые работали по всей стране. Затем производство свернули. Почему перестали выпускать «Сетунь», если она успешно использовалась всюду от Калининграда до Якутска? Одна из возможных причин в том, что компьютер оказался слишком дешевым в производстве и потому невыгодным для завода. Другая причина- косность бюрократических структур, противодействие ощущалось на каждом из этапов.

Впоследствии Николай Брусенцов и Евгений Жоголев разработали более современную версию машины, использовавшую те же принципы троичности, — «Сетунь-70″, но она так и не пошла в серийное производство, единственный опытный образец работал в МГУ до 1987 года.

Трехзначная логика

Двухзначная математическая логика, которая повсеместно царит в мире компьютерной и прочей «интеллектуальной» техники, по мнению создателя троичного компьютера Николая Брусенцова, не соответствует здравому смыслу: «закон исключенного третьего» отрезает иные заключения, кроме «истины» и «не-истины», а между тем процесс познания реальности человеком отнюдь не сводится к дихотомии «да/нет». Поэтому, утверждает Брусенцов, чтобы стать интеллектуальным, компьютеру следует быть троичным.

Трехзначная логика отличается от двухзначной тем, что кроме значений «истина» и «ложь» существует третье, которое понимается как «не определено», «нейтрально» или «может быть». При этом сохраняется совместимость с двухзначной логикой — логические операции с «известными» значениями дают те же результаты.

Логике, оперирующей тремя значениями, естественным образом соответствует троичная система счисления — троичная симметричная, если говорить точнее, простейшая из симметричных систем. К этой системе впервые обратился Фибоначчи для решения своей «задачи о гирях».

В троичной симметричной системе используются цифры: -1, 0 и 1 (или, как их еще обозначают, -, 0 и +). Преимущества ее как симметричной системы состоят в том, что, во‑первых, не нужно как-то особо отмечать знак числа — число отрицательно, если его ведущий разряд отрицателен, и наоборот, а инвертирование (смена знака) числа производится путем инвертирования всех его разрядов; во‑вторых, округление здесь не требует каких-то специальных правил и производится простым обнулением младших разрядов.

Кроме того, из всех позиционных систем счисления троичная наиболее экономична — в ней можно записать большее количество чисел, нежели в любой другой системе, при равном количестве используемых знаков: так, например, в десятичной системе, чтобы представить числа от 0 до 999, потребуется 30 знаков (три разряда, десять возможных значений для каждого), в двоичной системе теми же тридцатью знаками можно закодировать числа в диапазоне от 0 до 32767, а в троичной — от 0 до 59048. Самой экономичной была бы система счисления с основанием, равным числу Эйлера (e = 2,718…), и 3 — наиболее близкое к нему целое.

Если в привычных нам двоичных компьютерах информация измеряется в битах и байтах, то компьютеры на троичной системе счисления оперируют новыми единицами: тритами и трайтами. Трит — это один троичный разряд; подобно тому, как бит может принимать значения 0 и 1 («ложь» и"истина»), трит может быть (+), (0) или (-) (то есть «истина», «неизвестно» или «ложь»).

Один трайт традиционно (так было на «Сетуни») равен шести тритам и может принимать 729 различных значений (байт — только 256). Впрочем, возможно, в будущем трайты станут 9- или 27-разрядными, что естественнее, так как это степени тройки.

Настоящее и будущее троичных компьютеров

После «Сетуни» было несколько экспериментальных проектов, осуществлявшихся энтузиастами (таких, например, как американские Ternac и TCA2), однако это были либо весьма несовершенные машины, далекие от двоичных аналогов, либо и вовсе программные эмуляции на двоичном «железе».

Основная причина состоит в том, что использование в компьютерах троичных элементов пока не дает никаких существенных преимуществ перед двоичными: выпуск последних налажен массово, они проще и дешевле по себестоимости. Даже будь сейчас построен троичный компьютер, недорогой и по своим характеристикам сравнимый с двоичными, он должен быть полностью совместим с ними. Уже разработчики «Сетуни-70» столкнулись с необходимостью обеспечить совместимость: чтобы обмениваться информацией с другими университетскими машинами, пришлось добавить возможность читать с перфолент двоичные данные и при выводе также конвертировать данные в двоичный формат.

Однако нельзя сказать, что троичный принцип в компьютеростроении — это безнадежный анахронизм. В последнее десятилетие возникла необходимость в поиске новых компьютерных технологий, и некоторые из этих технологий лежат в области троичности.

Одно из таких исследовательских направлений — поиск альтернативных способов увеличения производительности процессоров. Каждые 24 месяца число транзисторов в кристалле процессора увеличивается примерно вдвое — эта тенденция известна как «закон Мура», и вечно продолжаться она не может: масштабы элементов и связей можно измерить в нанометрах, и очень скоро разработчики столкнутся с целым рядом технических сложностей. Кроме того, есть и экономические соображения — чем меньше, тем дороже разработки и производство. И с какого-то момента окажется дешевле поискать альтернативные способы делать процессоры мощнее, нежели продолжать гонку за нанометрами, — обратиться к технологиям, от которых раньше отказывались как от нерентабельных. Переход от однородных кремниевых структур к гетеропереходным проводникам, состоящим из слоев различных сред и способным генерировать несколько уровней сигнала вместо привычных «есть» и «нет», — это возможность повысить интенсивность обработки информации без увеличения количества элементов (и дальнейшего уменьшения их размеров). При этом от двухзначной логики придется перейти к многозначным — трехзначной, четырехзначной и т. д.

Другое направление, также нацеленное на увеличение производительности, — разработки в области асинхронных процессоров. Известно, что обеспечение синхронности процессов в современных компьютерах изрядно усложняет архитектуру и расходует процессорные ресурсы — до половины всех транзисторов в чипе работает на обеспечение этой самой синхронности. Компания Theseus Logic предлагает использовать «расширенную двоичную» (фактически — троичную) логику, где помимо обычных значений «истина» и «ложь» есть отдельный сигнал «NULL», который используется для самосинхронизации процессов. В этом же направлении работают еще несколько исследовательских групп.

Есть и более фантастические направления, где оправдано использование трехзначной логики: оптические и квантовые компьютеры.

С двумя чёткими и с одним нечётким значением помимо «истинно» и «ложно» включает также третье значение, которое нечётко и трактуется как «не определено» или «неизвестно».

На основе троичных элементов - троичной ферритодиодной ячейки разработки Николая Брусенцова - в 1959 году в вычислительном центре МГУ спроектирована малая ЭВМ «Сетунь », выпущена в 46 экземплярах.

Логики

Логики Клини и Приста

Ниже показаны таблицы истинности для логических операций «Сильной логики неопределённости» (strong logic of indeterminacy ) Стивена Клини и «Парадоксальной логики» (logic of paradox, LP ) Приста. Обе логики имеют три логических значения - «ложь», «неопределённость» и «истина», которые в логике Клини обозначаются буквами F (false), U (unknown), T (true), а в логике Приста числами -1, 0 и 1.

AND (A, B)
A B B
F U T
A F F F F
U F U U
T F U T
(A, B)
A B B
F U T
A F F U T
U U U T
T T T T
MIN (A, B)
A B B
−1 0 +1
A −1 −1 −1 −1
0 −1 0 0
+1 −1 0 +1
MAX (A, B)
A B B
−1 0 +1
A −1 −1 0 +1
0 0 0 +1
+1 +1 +1 +1

Значение U присваивается выражениям, которые реально имеют значение T или F, но в данный момент это значение по каким-то причинам неизвестно, в результате чего возникает неопределённость. Тем не менее, результат логической операции с величиной U может оказаться определённым. Например, поскольку T & F = F и F & F = F, то и U & F = F. В более общем виде: если для некоторой логической операции oper выполняется соотношение
oper(F,F)=oper(F,T), то oper(F,U)=oper(F,F)=oper(F,T);
аналогично, если
oper(T,F)=oper(T,T), то oper(T,U)=oper(T,F)=oper(T,T).

При численном обозначении логических значений (–1, 0, 1) логические операции эквивалентны следующим численным операциям:

X ¯ = − X ; {\displaystyle {\bar {X}}=-X;} X ∨ Y = m a x (X , Y) ; {\displaystyle X\lor Y=max(X,Y);} X ∧ Y = m i n (X , Y) . {\displaystyle X\land Y=min(X,Y).}

Операция импликации в логиках Клини и Приста определяется формулой, аналогичной формуле двоичной логики:

X → Y = d e f X ¯ ∨ Y {\displaystyle X\rightarrow Y\ {\overset {\underset {\mathrm {def} }{}}{=}}{\bar {X}}\lor Y} .

Таблицы истинности для неё

IMP K (A, B), OR(¬A, B)
A B B
T U F
A T T U F
U T U U
F T T T
IMP K (A, B), MAX(−A, B)
A B B
+1 0 −1
A +1 +1 0 −1
0 +1 0 0
−1 +1 +1 +1

Это определение отличается от определения импликации, принятого в логике Лукасевича.

Функциональный подход

Назовём функцию y = f (x 1 , x 2 , … , x n) {\displaystyle y=f(x_{1},\;x_{2},\;\ldots ,\;x_{n})} функцией трёхзначной логики, если все её переменные принимают значения из множества {0,1,2} и сама функция принимает значения из этого же множества. Примеры функций: max (x,y), min (x,y), x+1 (mod 3). Обозначим множесто всех функций трёхзначной логики. Под операцией над функциями будем понимать суперпозицию. Класс функций K из P 3 {\displaystyle P_{3}} назовём замкнутым, если любая суперпозиция функций из K принадлежит K . Система функций класса K называется полной, если любая функция из K может быть представлена суперпозицией функций этой системы. Полная система называется базисом, если никакая функция из этой системы не может быть представлена суперпозицией остальных функций этой системы. Доказано, что в P 3 {\displaystyle P_{3}} существует конечный базис (в частности, состоящий из одной функции). Замкнутый класс K называется предполным, если он не совпадает с P 3 {\displaystyle P_{3}} , но добавление любой функции, ему не принадлежащей, порождает P 3 {\displaystyle P_{3}} . С.В. Яблонским доказано , что в P 3 {\displaystyle P_{3}} существует 18 предполных классов. Также доказано, что все они имеют конечные базисы, в частности, состоящие из функций, зависящих не более чем от двух переменных



Понравилась статья? Поделитесь с друзьями!