Изменения

Перейти к: навигация, поиск

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

577 байт добавлено, 16:18, 25 декабря 2014
м
Двухместные операции
{{Определение|definition = '''Троичная''' или '''трёхзначная логика''' (англ. ''ternary logic'') — исторически первая многозначная логикаодин из видов многозначной логики, разработанная Яном Лукасевичем в 1920 г. Является простейшим расширением двузначной логикииспользующий три истинностных значения.}}
В традиционной трёхзначной логике "лжи" и "истине" соответствуют знаки <tex>-</tex> и <tex>+</tex>. Третьему (серединному) состоянию соответствует знак <tex>0</tex>. Допустимо использование таких наборов знаков, как <tex>\{0,1,2\}</tex>, <tex>\{-1,0,1\}</tex>, <tex>\{0,1/2,1\}</tex> <tex>\{N,Z,P\}</tex>, и др. Иногда используют обозначения И, Л, Н (истина, ложь и неизвестность).
Классическими примерами Классическим примером состояний такой логики являются знаки <tex>></tex>, <tex><</tex> и <tex>=</tex>, состояние постоянного тока (движется в одну сторону, движется в другую сторону, отсутствует) и др. ==Преимущества перед двоичной логикой== {{Определение|definition = '''Троичная система счисления''' (англ. ''ternary numeral system'')— позиционная система счисления с целочисленным основанием, равным 3. Существует в двух вариантах: '''несимметричная''' (является множество <tex>\{0,1,2\}</tex>, <tex>\{0,1/2,1=\}</tex> и др.) и '''симметричная''' (обычно <tex>\{−,0— значения,+\}</tex> или <tex>\{−1,0,1\}</tex>).}}Троичная логика обладает рядом преимуществ перед двоичной. Ниже перечислены основные: * Троичная СС позволяет вмещать больший диапазон чисел в памяти троичного компьютера, поскольку <tex>3^n>2^n</tex>. * <p>Очевидно, что троичная СС использует меньше разрядов для записи чисел, по-сравнению с двоичной СС. Например: <tex>1110101_2=11100_3</tex> <tex>1000_2=22_3</tex> (для троичной СС используется несимметричный набор <tex>\{0,1,2\}</tex>. Эти два важных преимущества перед двоичной системой счисления говорят о большей '''экономичности''' троичной системы счислениякоторые может принимать компаратор двух объектов.
{{Определение
|definition =
'''Экономичность системы счисленияТроичная функция''' (англ. или ''radix economy'тернарная функция''') от <tex>n</tex> переменных возможность представления как можно большего количества чисел с использованием как можно меньшего общего количества знаковэто отображение <tex>T^n</tex> → <tex>T</tex>, где <tex>T = \{-, 0, +\}</tex>.
}}
</p>
 
Докажем экономичность троичной системы счисления математически.
 
Пусть <tex>p</tex> – основание системы счисления, а <tex>n</tex> – количество требуемых знаков. Для записи <tex>n</tex> знаков потребуется <tex>\dfrac n p</tex> разрядов, а количество чисел, которое при этом можно записать, будет равно <tex>p^{\frac n p}</tex>.
 
Рассмотрим функцию <tex>f(p)=p^{\dfrac n p}</tex>.
 
Для того, чтобы определить максимальное значение функции, найдем ее производную:
 
<tex>f'(p)=n(p^{\dfrac n p - 2}) \ne 0 \Rightarrow 1 - \ln⁡ p = 0, \ln p = 1, p = e</tex>
 
<tex>e \approx 2,71</tex>, ближайшее число к <tex>e</tex> — <tex>3</tex>. Таким образом, троичная СС не только экономичнее двоичной, но и экономичнее любой другой СС.
 
* Троичная логика включает в себя почти все возможности двоичной логики.
 
* Компьютер, основанный на троичной логике, обладает большим быстродействием. Например, [[троичный сумматор]] и полусумматор в троичном компьютере при сложении тритов выполняет примерно в 1,5 раза меньше операций сложения по-сравнению с двоичным компьютером.
 
==Проблемы реализации==
 
Одним из барьеров, сдерживающих развитие и распространение троичной техники, является неверное представление о необычности и трудной постижимости трехзначной логики. Современная формальная логика (как традиционная, так и математическая) основана на принципе двузначности. Кроме того, электронные компоненты для построения логики, использующие более двух состояний, требуют больше материальных затрат на их производство, достаточно сложны в реализации, и потребляют больше электроэнергии, поэтому троичные компьютеры занимают очень малое место в истории.
Использование двоичных компьютеров — более простых и дешёвых в реализации — практически полностью затмило применение троичных компьютеров.
==Одноместные операции==
!style="background-color:#EEE"| <tex>\bf{a}</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 \wedge 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 \Uparrow b}</tex>
!style="background-color:#EEE"| <tex>\bf{a \rightarrow b}</tex>
!style="background-color:#EEE"| <tex>\bf{a \equiv cmp\ 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_G b}</tex>
!style="background-color:#EEE"| <tex>\bf{a \rightarrow_M b}</tex>
!style="background-color:#EEE"| <tex>\bf{a \rightarrow rightarrow_B b}</tex>
!style="background-color:#EEE"| <tex>\bf{a \equiv b}</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>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>0</tex>
|style="background-color:#FFF;padding:2px 20px"| <tex>0</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>
|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>
|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>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;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>0</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>+</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>0</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>
|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:#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"| Дизъюнкция
|-
|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 \cdot b}</tex>
|style="background-color:#FFF;padding:2px 8px"| Среднее (''Mean'')
|-
|style="background-color:#FFF;padding:2px 8px"| <tex>\bf{a \equiv cmp\ 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 \rightarrow rightarrow_B b}</tex>
|style="background-color:#FFF;padding:2px 8px"| Функция следования Бруснецова
|-
<tex>(+) ' = (-)</tex>
<li>Имеет место быть '''неизменность третьего состояния''' ("<tex>0"</tex>) при отрицании Лукаcевича:</li>
<tex>\overline{0} = 0</tex>
==Перспективы развития==
 
===Преимущества троичной системы счисления перед двоичной===
 
{{Определение
|definition =
'''Троичная система счисления''' (англ. ''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>).
}}
Троичная логика обладает рядом преимуществ перед двоичной. Ниже перечислены основные:
* Троичная СС позволяет вмещать больший диапазон чисел в памяти троичного компьютера, поскольку <tex>3^n>2^n</tex>.
 
* <p>Очевидно, что троичная СС использует меньше разрядов для записи чисел, по-сравнению с двоичной СС. Например:
 
<tex>1110101_2=11100_3</tex>
 
<tex>1000_2=22_3</tex>
 
Для троичной СС используется несимметричный набор <tex>\{0,1,2\}</tex>.
 
Эти два важных преимущества перед двоичной системой счисления говорят о большей '''экономичности''' троичной системы счисления.
{{Определение
|definition =
'''Экономичность системы счисления''' (англ. ''radix economy'') — возможность представления как можно большего количества чисел с использованием как можно меньшего общего количества знаков.
}}
</p>
 
Докажем экономичность троичной системы счисления математически.
 
Пусть <tex>p</tex> – основание системы счисления, а <tex>n</tex> – количество требуемых знаков. Для записи <tex>n</tex> знаков потребуется <tex>n/p</tex> разрядов, а количество чисел, которое при этом можно записать, будет равно <tex>p^{n/p}</tex>.
 
Рассмотрим функцию <tex>f(p)=p^{n/p}</tex>.
 
Для того, чтобы определить максимальное значение функции, найдем ее производную:
 
<tex>f'(p)=-n(p^{n/p - 2})(\ln p - 1) \Rightarrow \ln⁡ p - 1 = 0, \ln p = 1, p = e</tex>
 
<tex>e \approx 2,71</tex>, ближайшее число к <tex>e</tex> — <tex>3</tex>. Таким образом, троичная СС не только экономичнее двоичной, но и экономичнее любой другой СС.
 
* Троичная логика включает в себя почти все возможности двоичной логики.
 
* Компьютер, основанный на троичной логике, обладает большим быстродействием. Например, [[Троичная_функциональная_схема |троичный сумматор]] и полусумматор в троичном компьютере при сложении тритов выполняет примерно в 1,5 раза меньше операций сложения по-сравнению с двоичным компьютером.
 
===Проблемы реализации===
 
Одним из барьеров, сдерживающих развитие и распространение троичной техники, является неверное представление о необычности и трудной постижимости трехзначной логики. Современная формальная логика (как традиционная, так и математическая) основана на принципе двузначности. Кроме того, электронные компоненты для построения логики, использующие более двух состояний, требуют больше материальных затрат на их производство, достаточно сложны в реализации, и потребляют больше электроэнергии, поэтому троичные компьютеры занимают очень малое место в истории.
Использование двоичных компьютеров — более простых и дешёвых в реализации — практически полностью затмило применение троичных компьютеров.
 
===Практические реализации===
Говоря о будущем таких машин, как «Сетунь» (то есть троичных компьютеров), известный американский учёный Дональд Кнут, отмечал, что они занимают очень мало место в отрасли вычислительной техники, что объясняется массовым засильем двоичных компонентов, производимых в огромных количествах. Но, поскольку троичная логика гораздо эффектнее, а главное, эффективнее двоичной, не исключено, что в недалёком будущем к ней вернутся.
В настоящий момент, в условиях интегральной технологии и микроэлектроники привлекательность троичной техники увеличивается: сложность трехзначных вентилей теперь не так страшна, а сокращение количества соединений и уменьшение рассеиваемой мощности особенно ценны. Особо благоприятное влияние на развитие троичное логики оказало пришествие квантовых компьютеров — вычислительных устройств, работающих на основе квантовой механики, принципиально отличающихся от классических компьютеров, работающих на основе классической механики.
}}
Полноценный квантовый компьютер является пока гипотетическим устройством, сама возможность построения которого связана с серьёзным развитием квантовой теории в области многих частиц и сложных экспериментов; эта работа лежит на переднем крае современной физики.
Канадская компания D-Wave заявила в феврале 2007 года о создании образца квантового компьютера, состоящего из 16 ''кубит'' — квантовых аналогов битов.
Используя в универсальных [[Квантовые_гейты | квантовых вентилях ]] кутриты вместо кубитов, можно существенно снизить количество необходимых вентилей.
Ланьон утверждает, что компьютер, который в обычном случае использовал бы 50 традиционных квантовых вентилей, сможет обойтись всего девятью, будучи основанным на троичном представлении.
Также, согласно некоторым исследованиям, использование кутритов вместо кубитов позволит упростить реализацию квантовых алгоритмов и компьютеров.
* [http://arvi.livejournal.com/144849.html Жизнь сквозь решето сети — Трёхзначная логика]
 
* [http://traditio-ru.org/wiki/%D0%A2%D1%80%D0%BE%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0 Традиция — Троичная логика]
[[Категория: Дискретная математика и алгоритмы]]
[[Категория: Булевы функции]]
192
правки

Навигация