Изменения

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

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

1465 байт добавлено, 13:09, 24 декабря 2014
Одноместные операции
По-аналогии с двоичной логикой, в троичной логике существует всего <tex>3^{3^n}</tex> операций для <tex>n</tex> аргументов. Таким образом, в троичной логике всего существует <tex>3^{3^1}=27</tex> одноместных операций.
<tex>NOT^-</tex>,<tex>NOT</tex> и <tex>NOT^+</tex> — операторы '''инверсии'''. <tex>NOT^-</tex> и <tex>NOT^+</tex> сохраняют состояние <tex>-</tex> и <tex>+</tex> соответственно.===Инверсия===
<tex>SNOT^-</tex>, <tex>SNOT</tex> и <tex>SNOT^+</tex> — операторы '''выбораинверсии''', сохраняющие состояние <tex>-</tex>, <tex>0</tex> и <tex>+</tex> соответственно, когда оно соответствует типу оператора, или обращающие в значение, не равное исходному состоянию и не соответствующее типу оператора инверсии, то есть в оставшееся третье. Превращают одно из трёх состояний  Например, если <tex>a = (-)</tex>, то <tex>NOT^+a=0</tex>.  Так как исходное состояние <tex>(-)</tex>, тип инверсии <tex>NOT^+</tex>, методом исключения можно прийти к результирующему состоянию <tex>0</tex>.  Все возможные варианты для данной одноместной операции приведены в таблице. {| style="background-color:#CCC;margin:0.5px"!style="background-color:#EEE"| <tex>\bf{a}</tex>!style="background-color:#EEE"| <tex>\bf{NOT^-}</tex>!style="background-color:#EEE"| <tex>\bf{NOT}</tex>!style="background-color:#EEE"| <tex>\bf{NOT^+}</tex> |-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{-}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>-</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>+</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{0}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>+</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>-</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{+}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>0</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>-</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>+</tex>|} ===Операция выбора=== <tex>S^-</tex>, <tex>S</tex> и <tex>(S^+)</tex>— операторы '''выбора'''. Превращают состояние, соответственно) соответствующее типу оператора в <tex>(+)</tex>, а остальные два приобретают в случае любого из остальных двух состояний переменная приобретает значение <tex>(-)</tex>. {| style="background-color:#CCC;margin:0.5px"!style="background-color:#EEE"| <tex>\bf{a}</tex>!style="background-color:#EEE"| <tex>\bf{S^-}</tex>!style="background-color:#EEE"| <tex>\bf{S}</tex>!style="background-color:#EEE"| <tex>\bf{S^+}</tex> |-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{-}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>+</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>-</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>-</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{0}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>-</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>+</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>-</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{+}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>-</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>-</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>+</tex>|} ===Модификация===
<tex>INC</tex> и <tex>DEC</tex> — операторы '''модификации''', соответственно увеличение и уменьшение трита на единицу по модулю три. При переполнении трита счёт начинается заново (<tex>INC (+) = (-)</tex>).
{| style="<tex>+</tex>", " <tex>background-color:#CCC;margin:0</tex> .5px" и !style="<tex>background-</tex>color:#EEE" — функции, не зависящие от аргумента | <tex>\bf{a}</tex>.<table border="1" width!style="20%" textbackground-align=color:#EEE"center"><tr><td>| <tex>\bf{INC a}</tex></td><td><tex>!style="background-color:#EEE"| </tex></td><td><tex>0\bf{DEC a}</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_1</tex></td><td>|style="background-</td><td>-</td><td>0</td><td>color:#EEE;padding:2px 30px"| <tex>\searrow</tex></td></tr><tr><td><tex>f_2</tex></td><td>bf{-</td><td>-</td><td>+</td><td><tex>S^+}</tex></td></tr><tr><td><tex>f_3</tex></td><td>|style="background-color:#FFF;padding:2px 30px"| </td><td>0</td><td>-</td><td></td></tr><tr><td><tex>f_4</tex></td><td>-</td><td>0</td><td>0</td><td></td></tr><tr><td><tex>f_5</tex></td><td>-</td><td>0</td><td>+</td><td><tex>a</tex></td></tr><tr><td><tex>f_6</tex></td><td>|style="background-color:#FFF;padding:2px 30px"| </td><td>+</td><td>-</td><td><tex>S</tex></td></tr><tr><td><tex>f_7</tex></td><td>-</td><td>+</td><td>0</td><td><tex>NOT^-</tex></td></tr><tr><td><tex>f_8</tex></td><td>|-</td><td>+</td><td>+</td><td></td></tr><tr><td><tex>f_9</tex></td><td>0</td><td>|style="background-</td><td>-</td><td></td></tr><tr><td>color:#EEE;padding:2px 30px"| <tex>f_\bf{100}</tex></td><td>0</td><td>-</td><td>0</td><td></td></tr><tr><td><tex>f_{11}</tex></td><td>0</td><td>|style="background-</td><td>+</td><td>color:#FFF;padding:2px 30px"| <tex>NOT^+</tex></td></tr><tr><td>|style="background-color:#FFF;padding:2px 30px"| <tex>f_{12}</tex></td><td>0</td><td>0</td><td>-</td><td></td></tr><tr><td><tex>f_{13}</tex></td><td>0</td><td>0</td><td>0</td><td><tex>0</tex></td></tr><tr><td><tex>f_{14}</tex></td><td>0</td><td>0</td><td>+</td><td><tex>a^+</tex></td></tr>|-<tr><td><tex>f_{15}</tex></td><td>0</td><td>+</td><td>|style="background-</td><td><tex>INC</tex></td></tr><tr><td><tex>f_{16}</tex></td><td>0</td><td>+</td><td>0</td><td><tex>a^o</tex></td></tr><tr><td><tex>f_{17}</tex></td><td>0</td><td>+</td><td>+</td><td>color:#EEE;padding:2px 30px"| <tex>\nearrow</tex></td></tr><tr><td><tex>f_bf{18}</tex></td><td>+</td><td>-</td><td>-</td><td><tex>S^-</tex></td></tr><tr><td><tex>f_{19}</tex></td><td>+</td><td>-</td><td>0</td><td><tex>DEC</tex></td></tr><tr><td><tex>f_{20}</tex></td><td>+</td><td>|style="background-</td><td>+</td><td></td></tr><tr><td>color:#FFF;padding:2px 30px"| <tex>f_{21}</tex></td><td>+</td><td>0</td><td>-</td><td><tex>NOT</tex></td></tr><tr><td><tex>f_{22}</tex></td><td>+</td><td>0</td><td>0</td><td><tex>a^|style="background-color:#FFF;padding:2px 30px"| </tex></td></tr><tr><td><tex>f_{23}</tex></td><td>+</td><td>0</td><td>+</td><td></td></tr><tr><td><tex>f_{24}</tex></td><td>+</td><td>+</td><td>-</td><td></td></tr><tr><td><tex>f_{25|}</tex></td><td>+</td><td>+</td><td>0</td><td></td></tr><tr><td><tex>f_{26}</tex></td><td>+</td><td>+</td><td>+</td><td><tex>+</tex></td></tr> </table>===Пороговое увеличение и уменьшение===
Soon.
"<tex>+</tex>", " <tex>0</tex> " и "<tex>-</tex>" — функции, не зависящие от аргумента <tex>a</tex>, они же вырожденные.
Остальные функции от одной переменной образуются путём сочетания операторов выбора с операторами инверсии и модификации.
<table border="1" width="15%">
192
правки

Навигация