Троичная логика — различия между версиями
Romanosov (обсуждение | вклад) м (→Преимущества троичной системы счисления перед двоичной)  | 
				м (rollbackEdits.php mass rollback)  | 
				||
| (не показаны 4 промежуточные версии 3 участников) | |||
| Строка 132: | Строка 132: | ||
!style="background-color:#EEE"| <tex>\bf{a}</tex>  | !style="background-color:#EEE"| <tex>\bf{a}</tex>  | ||
!style="background-color:#EEE"| <tex>\bf{b}</tex>  | !style="background-color:#EEE"| <tex>\bf{b}</tex>  | ||
| + | !style="background-color:#EEE"| <tex>\bf{a \wedge b}</tex>  | ||
!style="background-color:#EEE"| <tex>\bf{a \vee b}</tex>  | !style="background-color:#EEE"| <tex>\bf{a \vee b}</tex>  | ||
| − | |||
!style="background-color:#EEE"| <tex>\bf{a \cdot b}</tex>  | !style="background-color:#EEE"| <tex>\bf{a \cdot b}</tex>  | ||
!style="background-color:#EEE"| <tex>\bf{a \oplus b}</tex>  | !style="background-color:#EEE"| <tex>\bf{a \oplus b}</tex>  | ||
| Строка 140: | Строка 140: | ||
!style="background-color:#EEE"| <tex>\bf{a \Uparrow b}</tex>  | !style="background-color:#EEE"| <tex>\bf{a \Uparrow b}</tex>  | ||
!style="background-color:#EEE"| <tex>\bf{a \rightarrow b}</tex>  | !style="background-color:#EEE"| <tex>\bf{a \rightarrow b}</tex>  | ||
| − | !style="background-color:#EEE"| <tex>\bf{a \  | + | !style="background-color:#EEE"| <tex>\bf{a\ cmp\ b}</tex>  | 
!style="background-color:#EEE"| <tex>\bf{a \&_L b}</tex>  | !style="background-color:#EEE"| <tex>\bf{a \&_L b}</tex>  | ||
!style="background-color:#EEE"| <tex>\bf{a \rightarrow_L b}</tex>  | !style="background-color:#EEE"| <tex>\bf{a \rightarrow_L b}</tex>  | ||
| Строка 160: | Строка 160: | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
| − | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | + | |style="background-color:#FFF;padding:2px 20px;text-align: center;"| <tex>0</tex>  | 
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
| Строка 180: | Строка 180: | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
| − | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | + | |style="background-color:#FFF;padding:2px 20px;text-align: center;"| <tex>-</tex>  | 
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
| Строка 200: | Строка 200: | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
| − | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | + | |style="background-color:#FFF;padding:2px 20px;text-align: center;"| <tex>-</tex>  | 
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
| Строка 220: | Строка 220: | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
| − | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | + | |style="background-color:#FFF;padding:2px 20px;text-align: center;"| <tex>+</tex>  | 
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
| Строка 240: | Строка 240: | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
| − | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | + | |style="background-color:#FFF;padding:2px 20px;text-align: center;"| <tex>0</tex>  | 
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
| Строка 260: | Строка 260: | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
| − | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | + | |style="background-color:#FFF;padding:2px 20px;text-align: center;"| <tex>-</tex>  | 
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
| Строка 280: | Строка 280: | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
| − | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | + | |style="background-color:#FFF;padding:2px 20px;text-align: center;"| <tex>+</tex>  | 
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
| Строка 300: | Строка 300: | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
| − | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | + | |style="background-color:#FFF;padding:2px 20px;text-align: center;"| <tex>+</tex>  | 
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | ||
| Строка 320: | Строка 320: | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>-</tex>  | ||
| − | |style="background-color:#FFF;padding:2px 20px"| <tex>0</tex>  | + | |style="background-color:#FFF;padding:2px 20px;text-align: center;"| <tex>0</tex>  | 
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
|style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | |style="background-color:#FFF;padding:2px 20px"| <tex>+</tex>  | ||
| Строка 337: | Строка 337: | ||
!style="background-color:#EEE;padding:2px 8px"| '''Обозначение'''  | !style="background-color:#EEE;padding:2px 8px"| '''Обозначение'''  | ||
!style="background-color:#EEE;padding:2px 8px"| '''Название'''  | !style="background-color:#EEE;padding:2px 8px"| '''Название'''  | ||
| + | |-  | ||
| + | |style="background-color:#FFF;padding:2px 8px"| <tex>\bf{a \wedge b}</tex>  | ||
| + | |style="background-color:#FFF;padding:2px 8px"| Конъюнкция  | ||
|-  | |-  | ||
|style="background-color:#FFF;padding:2px 8px"| <tex>\bf{a \vee b}</tex>  | |style="background-color:#FFF;padding:2px 8px"| <tex>\bf{a \vee b}</tex>  | ||
|style="background-color:#FFF;padding:2px 8px"| Дизъюнкция  | |style="background-color:#FFF;padding:2px 8px"| Дизъюнкция  | ||
| − | |||
| − | |||
| − | |||
|-  | |-  | ||
|style="background-color:#FFF;padding:2px 8px"| <tex>\bf{a \cdot b}</tex>  | |style="background-color:#FFF;padding:2px 8px"| <tex>\bf{a \cdot b}</tex>  | ||
| Строка 362: | Строка 362: | ||
|style="background-color:#FFF;padding:2px 8px"| Среднее (''Mean'')  | |style="background-color:#FFF;padding:2px 8px"| Среднее (''Mean'')  | ||
|-  | |-  | ||
| − | |style="background-color:#FFF;padding:2px 8px"| <tex>\bf{a \  | + | |style="background-color:#FFF;padding:2px 8px"| <tex>\bf{a\ cmp\ b}</tex>  | 
|style="background-color:#FFF;padding:2px 8px"| Сравнение  | |style="background-color:#FFF;padding:2px 8px"| Сравнение  | ||
|-  | |-  | ||
| Строка 483: | Строка 483: | ||
{{Определение  | {{Определение  | ||
|definition =    | |definition =    | ||
| − | '''Троичная система счисления''' (англ. ''ternary numeral system'') — позиционная система счисления с целочисленным основанием, равным <tex>3</tex>. Существует в двух вариантах: '''несимметричная''' (<tex>\{0,1,2\}</tex>, <tex>\{0,1/2,1\}</tex> и др.) и '''симметричная''' (обычно <tex>\{-,0,+\}</tex> или <tex>\{  | + | '''Троичная система счисления''' (англ. ''ternary numeral system'') — позиционная система счисления с целочисленным основанием, равным <tex>3</tex>. Существует в двух вариантах: '''несимметричная''' (<tex>\{0,1,2\}</tex>, <tex>\{0,1/2,1\}</tex> и др.) и '''симметричная''' (обычно <tex>\{-,0,+\}</tex> или <tex>\{-1,0,1\}</tex>).  | 
}}  | }}  | ||
Троичная логика обладает рядом преимуществ перед двоичной. Ниже перечислены основные:  | Троичная логика обладает рядом преимуществ перед двоичной. Ниже перечислены основные:  | ||
Текущая версия на 19:21, 4 сентября 2022
Троичная или трёхзначная логика (англ. ternary logic) — один из видов многозначной логики, использующий три истинностных значения.
В традиционной трёхзначной логике "лжи" и "истине" соответствуют знаки и . Третьему (серединному) состоянию соответствует знак . Допустимо использование таких наборов знаков, как , , , и др. Иногда используют обозначения И, Л, Н (истина, ложь и неизвестность).
Классическим примером состояний такой логики является множество , — значения, которые может принимать компаратор двух объектов.
| Определение: | 
| Троичная функция (или тернарная функция) от переменных — это отображение → , где . | 
Содержание
Одноместные операции
По-аналогии с двоичной логикой, в троичной логике существует всего операций для аргументов. Таким образом, в троичной логике всего существует одноместных операций.
Инверсия
, и — операторы инверсии, сохраняющие состояние , и соответственно, когда оно соответствует типу оператора, или обращающие в значение, не равное исходному состоянию и не соответствующее типу оператора инверсии, то есть в оставшееся третье.
Например, если , то . Так как исходное состояние , тип инверсии , то методом исключения можно прийти к результирующему состоянию .
Все возможные варианты для данной одноместной операции приведены в таблице.
Операция выбора
, и — операторы выбора. Превращают состояние, соответствующее типу оператора в , в случае любого из остальных двух состояний переменная приобретает значение .
Модификация
и — операторы модификации, соответственно увеличение и уменьшение трита на единицу по модулю три. При переполнении трита счёт начинается заново ().
Пороговое увеличение и уменьшение
, — данные операторы работают аналогично операторам модификации лишь с тем отличием, что при переполнении трита цикл состояний не повторяется, и значение так и остаётся минимальным или максимальным.
Другие одноместные функции
- , и — функции, не зависящие от аргумента , они же вырожденные.
 
- Функция — тождественная и также вырожденная функция.
 
- Остальные функции от одной переменной образуются путём сочетания операторов выбора с операторами инверсии и модификации, поэтому они не имеют собственных названий.
 
Двухместные операции
Легко видеть, что всего в троичной логике существует двухместные операции. В таблице приведены самые основные и практически полезные из них.
Ниже приведены названия этих функций.
| Обозначение | Название | 
|---|---|
| Конъюнкция | |
| Дизъюнкция | |
| Логическое умножение по модулю три | |
| Логическое сложение по модулю три | |
| Функция Вебба | |
| Пороговое сложение | |
| Исключающий максимум | |
| Среднее (Mean) | |
| Сравнение | |
| Сильная конъюнкция | |
| Импликация Лукасевича | |
| Конъюнкция Клини | |
| Импликация Клини | |
| Импликация Гейтинга (импликация Гёделя) | |
| Материальная импликация | |
| Функция следования Бруснецова | |
| Тождество | 
Алгебраические свойства
Все нижеперечисленные законы и свойства легко доказываются путём перебора всех значений входящих в них переменных. Алгебраический подход заключается в том, чтобы определить над множеством двухместные (, ) и одноместные (, , ) операции с помощью законов, а оставшиеся свойства уже выводить из них алгебраически.
- Свойства констант:
 - Для конъюнкции и дизъюнкции в троичной логике сохраняются коммутативный, ассоциативный и дистрибутивный законы, закон идемпотентности.
 - Закон двойного отрицания (отрицания Лукаcевича) и тройного (циклического) отрицания:
 - Буквальное определение циклического отрицания вытекает из следующих свойств:
 - Имеет место быть неизменность третьего состояния () при отрицании Лукаcевича:
 
Для законов двоичной логики, не справедливых для троичной, существуют их троичные аналоги.
- Закон несовместности состояний (аналог закона противоречия в двоичной логике):
 - Закон исключённого четвёртого (вместо закона исключённого третьего), он же закон полноты состояний:
 - Трёхчленный закон Блейка-Порецкого:
 - Закон трёхчленного склеивания:
 - Закон обобщённого трёхчленного склеивания:
 - Антиизотропность отрицания Лукаcевича:
 
, или
, или
, или
, или
Перспективы развития
Преимущества троичной системы счисления перед двоичной
| Определение: | 
| Троичная система счисления (англ. ternary numeral system) — позиционная система счисления с целочисленным основанием, равным . Существует в двух вариантах: несимметричная (, и др.) и симметричная (обычно или ). | 
Троичная логика обладает рядом преимуществ перед двоичной. Ниже перечислены основные:
- Троичная СС позволяет вмещать больший диапазон чисел в памяти троичного компьютера, поскольку .
 
-  
Очевидно, что троичная СС использует меньше разрядов для записи чисел, по-сравнению с двоичной СС. Например:
 
Для троичной СС используется несимметричный набор .
Эти два важных преимущества перед двоичной системой счисления говорят о большей экономичности троичной системы счисления.
| Определение: | 
| Экономичность системы счисления (англ. radix economy) — возможность представления как можно большего количества чисел с использованием как можно меньшего общего количества знаков. | 
Докажем экономичность троичной системы счисления математически.
Пусть – основание системы счисления, а – количество требуемых знаков. Для записи знаков потребуется разрядов, а количество чисел, которое при этом можно записать, будет равно .
Рассмотрим функцию .
Для того, чтобы определить максимальное значение функции, найдем ее производную:
, ближайшее число к — . Таким образом, троичная СС не только экономичнее двоичной, но и экономичнее любой другой СС.
- Троичная логика включает в себя почти все возможности двоичной логики.
 
- Компьютер, основанный на троичной логике, обладает большим быстродействием. Например, троичный сумматор и полусумматор в троичном компьютере при сложении тритов выполняет примерно в 1,5 раза меньше операций сложения по-сравнению с двоичным компьютером.
 
Проблемы реализации
Одним из барьеров, сдерживающих развитие и распространение троичной техники, является неверное представление о необычности и трудной постижимости трехзначной логики. Современная формальная логика (как традиционная, так и математическая) основана на принципе двузначности. Кроме того, электронные компоненты для построения логики, использующие более двух состояний, требуют больше материальных затрат на их производство, достаточно сложны в реализации, и потребляют больше электроэнергии, поэтому троичные компьютеры занимают очень малое место в истории. Использование двоичных компьютеров — более простых и дешёвых в реализации — практически полностью затмило применение троичных компьютеров.
Практические реализации
Говоря о будущем таких машин, как «Сетунь» (то есть троичных компьютеров), известный американский учёный Дональд Кнут, отмечал, что они занимают очень мало место в отрасли вычислительной техники, что объясняется массовым засильем двоичных компонентов, производимых в огромных количествах. Но, поскольку троичная логика гораздо эффектнее, а главное, эффективнее двоичной, не исключено, что в недалёком будущем к ней вернутся.
В настоящий момент, в условиях интегральной технологии и микроэлектроники привлекательность троичной техники увеличивается: сложность трехзначных вентилей теперь не так страшна, а сокращение количества соединений и уменьшение рассеиваемой мощности особенно ценны. Особо благоприятное влияние на развитие троичное логики оказало пришествие квантовых компьютеров — вычислительных устройств, работающих на основе квантовой механики, принципиально отличающихся от классических компьютеров, работающих на основе классической механики. Полноценный квантовый компьютер является пока гипотетическим устройством, сама возможность построения которого связана с серьёзным развитием квантовой теории в области многих частиц и сложных экспериментов; эта работа лежит на переднем крае современной физики. Канадская компания D-Wave заявила в феврале 2007 года о создании образца квантового компьютера, состоящего из 16 кубит — квантовых аналогов битов. Используя в универсальных квантовых вентилях кутриты вместо кубитов, можно существенно снизить количество необходимых вентилей. Ланьон утверждает, что компьютер, который в обычном случае использовал бы 50 традиционных квантовых вентилей, сможет обойтись всего девятью, будучи основанным на троичном представлении. Также, согласно некоторым исследованиям, использование кутритов вместо кубитов позволит упростить реализацию квантовых алгоритмов и компьютеров.