Троичная логика — различия между версиями
Romanosov (обсуждение | вклад) (→Одноместные операции) |
Romanosov (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Трёхзначная логика''' (или '''троичная логика''') — исторически первая многозначная логика, разработанная | + | '''Трёхзначная логика''' (или '''троичная логика''') — исторически первая многозначная логика, разработанная Яном Лукасевичем в 1920 г. Является простейшим расширением двузначной логики. |
}} | }} | ||
Строка 11: | Строка 11: | ||
Очевидно, что в троичной логике всего существует <tex>3^3=27</tex> одноместных операций. | Очевидно, что в троичной логике всего существует <tex>3^3=27</tex> одноместных операций. | ||
− | <table border=1> | + | |
+ | <tex>NOT^-</tex>,<tex>NOT</tex> и <tex>NOT^+</tex> — операторы '''инверсии'''. <tex>NOT^-</tex> и <tex>NOT^+</tex> сохраняют состояние "-" и "+" соответственно. | ||
+ | |||
+ | <tex>S^+</tex>, <tex>S^+</tex> — операторы '''выбора'''. Превращают одно из трёх состояний в <tex>(+)</tex>, а остальные две приобретают значение <tex>(-)</tex>. | ||
+ | |||
+ | <tex>INC</tex> и <tex>DEC</tex> — операторы '''модификации''', соответственно увеличение и уменьшение трита на единицу по модулю три. При переполнении трита счёт начинается заново (<tex>INC (+) = (-)</tex>). | ||
+ | |||
+ | "<tex>+</tex>", " <tex>0</tex> " и "<tex>-</tex>" — фунцкии, не зависящие от аргумента <tex>a</tex>. | ||
+ | <table border="1" width="20%" text-align="center"> | ||
<tr><td><tex>a</tex></td><td><tex>-</tex></td><td><tex>0</tex></td><td><tex>+</tex></td><td></td></tr> | <tr><td><tex>a</tex></td><td><tex>-</tex></td><td><tex>0</tex></td><td><tex>+</tex></td><td></td></tr> | ||
<tr><td><tex>f_0</tex></td><td>-</td><td>-</td><td>-</td><td><tex>-</tex></td></tr> | <tr><td><tex>f_0</tex></td><td>-</td><td>-</td><td>-</td><td><tex>-</tex></td></tr> | ||
Строка 42: | Строка 50: | ||
</table> | </table> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Остальные функции образуются путём сочетания операторов выбора с операторами инверсии и модификации. | Остальные функции образуются путём сочетания операторов выбора с операторами инверсии и модификации. | ||
− | <table border="1"> | + | <table border="1" width="15%"> |
<tr><th> </th><th><tex>S^-</tex></th><th><tex>S</tex></th><th><tex>S^+</tex></th></tr> | <tr><th> </th><th><tex>S^-</tex></th><th><tex>S</tex></th><th><tex>S^+</tex></th></tr> | ||
<tr><th><tex>NOT^-</tex></th><td><tex>f_9</tex></td><td><tex>f_3</tex></td><td><tex>f_1</tex></td></tr> | <tr><th><tex>NOT^-</tex></th><td><tex>f_9</tex></td><td><tex>f_3</tex></td><td><tex>f_1</tex></td></tr> | ||
Строка 59: | Строка 61: | ||
<tr><th><tex>INC</tex></th><td><tex>f_4</tex></td><td><tex>f_{10}</tex></td><td><tex>f_{12}</tex></td></tr> | <tr><th><tex>INC</tex></th><td><tex>f_4</tex></td><td><tex>f_{10}</tex></td><td><tex>f_{12}</tex></td></tr> | ||
<tr><th><tex>DEC</tex></th><td><tex>f_{17}</tex></td><td><tex>f_{23}</tex></td><td><tex>f_{25}</tex></td></tr> | <tr><th><tex>DEC</tex></th><td><tex>f_{17}</tex></td><td><tex>f_{23}</tex></td><td><tex>f_{25}</tex></td></tr> | ||
+ | </table> | ||
+ | |||
+ | ==Дизъюнкция и конъюнкция== | ||
+ | |||
+ | Всего в троичной логике существует <tex>3^{3^2}=19683</tex> двухместные операции. Для реализации любой из них при использовании сколь угодного числа переменных достаточно использовать операции выбора и наиболее простые двухместные операции: '''дизъюнкция''' и '''конъюнкция'''. | ||
+ | |||
+ | В троичной логике более наглядно использование префиксной нотации для этих операций. | ||
+ | |||
+ | <tex>a \vee b = max(a,b)</tex> | ||
+ | |||
+ | <tex>a \wedge b = min(a,b)</tex> | ||
+ | |||
+ | Таблица результатов '''дизъюнкции''' двух переменных. | ||
+ | <table border="1"> | ||
+ | <tr><td><tex>max(a,b)</tex></td><td><tex>-</tex></td><td><tex>0</tex></td><td><tex>+</tex></td></tr> | ||
+ | <tr><td><tex>-</tex></td><td>-</td><td>0</td><td>+</td></tr> | ||
+ | <tr><td><tex>0</tex></td><td>0</td><td>0</td><td>+</td></tr> | ||
+ | <tr><td><tex>+</tex></td><td>+</td><td>+</td><td>+</td></tr> | ||
+ | </table> | ||
+ | |||
+ | Таблица результатов '''конъюнкции''' двух переменных. | ||
+ | <table border="1"> | ||
+ | <tr><td><tex>max(a,b)</tex></td><td><tex>-</tex></td><td><tex>0</tex></td><td><tex>+</tex></td></tr> | ||
+ | <tr><td><tex>-</tex></td><td>-</td><td>-</td><td>-</td></tr> | ||
+ | <tr><td><tex>0</tex></td><td>-</td><td>0</td><td>0</td></tr> | ||
+ | <tr><td><tex>+</tex></td><td>-</td><td>0</td><td>+</td></tr> | ||
</table> | </table> | ||
==Алгебраические свойства== | ==Алгебраические свойства== | ||
− | Свойства констант: | + | '''Свойства констант''': |
<math>a \wedge (+) = a</math> | <math>a \wedge (+) = a</math> | ||
Строка 136: | Строка 164: | ||
<math>a \leq b \Rightarrow \overline a \geq \overline b</math> | <math>a \leq b \Rightarrow \overline a \geq \overline b</math> | ||
+ | |||
+ | ==См. также== | ||
+ | |||
+ | * [[Троичная функциональная схема]] | ||
+ | |||
+ | ==Источники== | ||
+ | |||
+ | * [https://ru.wikipedia.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 Википедия — Троичная логика] | ||
+ | |||
+ | * [http://habrahabr.ru/post/166679/ Хабрахабр — Замена двоичной логики — увеличит ли это производительность?] | ||
+ | |||
+ | * [http://arvi.livejournal.com/144259.html Жизнь сквозь решето сети — Третье состоянье] | ||
+ | |||
+ | * [http://arvi.livejournal.com/144849.html Жизнь сквозь решето сети — Трёхзначная логика] |
Версия 23:07, 23 ноября 2014
Определение: |
Трёхзначная логика (или троичная логика) — исторически первая многозначная логика, разработанная Яном Лукасевичем в 1920 г. Является простейшим расширением двузначной логики. |
В традиционной трёхзначной логике "лжи" и "истине" соответствуют знаки „ “ и „ “. Третьему (серединному) состоянию соответствует знак " ".
Классическими примерами состояний такой логики являются знаки ">", "<" и "=", состояние постоянного тока (движется в одну сторону, движется в другую сторону, отсутствует) и др.
Содержание
Одноместные операции
Очевидно, что в троичной логике всего существует
одноместных операций., и — операторы инверсии. и сохраняют состояние "-" и "+" соответственно.
, — операторы выбора. Превращают одно из трёх состояний в , а остальные две приобретают значение .
и — операторы модификации, соответственно увеличение и уменьшение трита на единицу по модулю три. При переполнении трита счёт начинается заново ( ).
"
", " " и " " — фунцкии, не зависящие от аргумента .- | - | - | ||
- | - | 0 | ||
- | - | + | ||
- | 0 | - | ||
- | 0 | 0 | ||
- | 0 | + | ||
- | + | - | ||
- | + | 0 | ||
- | + | + | ||
0 | - | - | ||
0 | - | 0 | ||
0 | - | + | ||
0 | 0 | - | ||
0 | 0 | 0 | ||
0 | 0 | + | ||
0 | + | - | ||
0 | + | 0 | ||
0 | + | + | ||
+ | - | - | ||
+ | - | 0 | ||
+ | - | + | ||
+ | 0 | - | ||
+ | 0 | 0 | ||
+ | 0 | + | ||
+ | + | - | ||
+ | + | 0 | ||
+ | + | + |
Остальные функции образуются путём сочетания операторов выбора с операторами инверсии и модификации.
Дизъюнкция и конъюнкция
Всего в троичной логике существует
двухместные операции. Для реализации любой из них при использовании сколь угодного числа переменных достаточно использовать операции выбора и наиболее простые двухместные операции: дизъюнкция и конъюнкция.В троичной логике более наглядно использование префиксной нотации для этих операций.
Таблица результатов дизъюнкции двух переменных.
- | 0 | + | |
0 | 0 | + | |
+ | + | + |
Таблица результатов конъюнкции двух переменных.
- | - | - | |
- | 0 | 0 | |
- | 0 | + |
Алгебраические свойства
Свойства констант:
Для конъюнкции и дизъюнкции в троичной логике сохраняются коммутативный, ассоциативный и дистрибутивный законы, закон идемпотентности.
Также действует закон двойного отрицания (отрицания Лукашевича) и тройного (циклического) отрицания:
Буквальное определение циклического отрицания вытекает из следующих свойств:
Третье состояние ("0") при отрицании Лукашевича неизменно:
Для законов двоичной логики, не справедливых для троичной, существуют их троичные аналоги.
Закон несовместности состояний (аналог закона противоречия в двоичной логике):
Закон исключённого четвёртого (вместо закона исключённого третьего), он же закон полноты состояний:
, или
Трёхчленный закон Блейка-Порецкого:
, или
Закон трёхчленного склеивания:
, или
Закон обобщённого трёхчленного склеивания:
, или
Антиизотропность отрицания Лукашевича: