Троичная логика — различия между версиями
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") при отрицании Лукашевича неизменно:
Для законов двоичной логики, не справедливых для троичной, существуют их троичные аналоги.
Закон несовместности состояний (аналог закона противоречия в двоичной логике):
Закон исключённого четвёртого (вместо закона исключённого третьего), он же закон полноты состояний:
, или
Трёхчленный закон Блейка-Порецкого:
, или
Закон трёхчленного склеивания:
, или
Закон обобщённого трёхчленного склеивания:
, или
Антиизотропность отрицания Лукашевича: