Интернет магазин китайских планшетных компьютеров



Компьютеры - Троичные функции - Троичные логические функции

23 января 2011


Оглавление:
1. Троичные функции
2. Троичные логические функции
3. Бинарные троичные логические функции
4. Тринарные троичные логические функции
5. N-арные троичные логические функции



Нульарные троичные логические функции

Нульарные троичные логические операции с унарным выходом

Всего существуют \ 3^{}=3^1=3 простейшие нульарные троичные функции.
В троичной несимметричной системе счисления:

название обозначение
0 логический тождественный ноль 0
1 логическая тождественная единица 1
2 логическая тождественная двойка 2

В троичной симметричной системе счисления:

название обозначение
i тождественная минус единица i
0 тождественный ноль 0
1 тождественная плюс единица 1

Унарные троичные логические функции

Унарные троичные логические функции

Всего существует 3^{*1}=3^3=27 простейших унарных троичных функций.
Число простейших унарных троичных функций равно числу размещений с повторениями при k=n=3:

\bar{A}= \bar{A}_n^k =n^k=3^3=27

Так как возможны более сложные функции дающие при подаче на вход одного трита тот же результат, что и простейшие унарные троичные функции, то число более сложных троичных функций с нижеприведёнными результатами от одного трита теоретически бесконечно.
Таблица 1. Результаты действия простейших унарных троичных функций при подаче на вход трёх значений троичного разряда: 0, 1 и 2.
В несимметричной троичной системе {0,1,2}:

x 2 1 0 название обозначение
f 0 0 0 тождественный ноль 0 = 0
0 0 1
0 0 2
0 1 0
0 1 1
0 1 2 инверсия около единицы, нулевая инверсия Лукасевича в соответствии н1, Invert Стива Грабба НЕ1 = НЕЛ1 = NOT1 = NOTL1 = SWAP0/2=Complement=x
0 2 0
0 2 1 циклический сдвиг вперёд на 1, Rotate Up Стива Грабба СДВИГ1В = ROT1F = ROT1U = SHIFT1F
0 2 2 F220
1 0 0 Shift Down Стива Грабба
1 0 1
1 0 2 циклический сдвиг назад на 1, Rotate Down Стива Грабба СДВИГ1Н = ROT1B = ROT1D = SHIFT1B
1 1 0
1 1 1 тождественная единица 1 = 1
1 1 2 F211
1 2 0 инверсия около нуля, нулевая инверсия Лукасевича в соответствии н2 НЕ0 = НЕЛ0 = NOTL0 = SWAP1/2
1 2 1
1 2 2 F221
2 0 0
2 0 1 инверсия около двойки, НЕ2 = НЕЛ2 = NOTL2 = SWAP0/1
2 0 2
2 1 0 тождественная функция, повторитель, логическое «ДА», линия задержки, нулевой сдвиг ДА = x = СДВИГ0
2 1 1
2 1 2
2 2 0
2 2 1 Shift Up Стива Грабба
2 2 2 тождественная двойка 2 = 2

Любую унарную троичную функцию можно выразить используя две другие унарные базисные троичные функции, одна из которых — любой из двух циклических сдвигов, а другая — любой из трёх обменов. Эти пары функций образуют множество из шести унарных троичных базисов. Любой из трёх обменов производит переход от одного из двух вращений к противоположному вращению. Любой из двух сдвигов обеспечивает вращение в одном из двух направлений на 1/3 оборота, на 2/3 оборота и на 3/3 оборота.

  • СДВИГВ, НЕЛ0
  • СДВИГВ, НЕЛ+1
  • СДВИГВ, НЕЛ-1
  • СДВИГН, НЕЛ0
  • СДВИГН, НЕЛ+1
  • СДВИГН, НЕЛ-1
Снимок модели троичного унарного с унарным выходом АЛУ в трёхбитной одноединичной системе троичных логических элементов в логическом симуляторе Atanua

Все 27 унарных троичных операций выполняются троичным унарным с унарным выходом АЛУ в трёхбитной одноединичной системе троичных логических элементов, снимок модели которого в логическом симуляторе Atanua приведён на рисунке справа, и записываются в троичный триггер с соответствующей логикой управления.

Обозначения

Для обозначения унарных троичных функций достаточно любых трёх троичных знаков, 4/3 девятеричного знака или одного двадцатисемеричного знака, следовательно, так как возможно бесконечное количество таких знаков, возможно бесконечное множество обозначений унарных троичных функций. Из этого множества обозначений числовые обозначения по результатам действия функций являются естественными обозначениями.

Цифровые обозначения могут быть постфиксными надстрочными, строчными и подстрочными и префиксными надстрочными, строчными и подстрочными, при этом для надстрочных и подстрочных обозначений нужно набирать пять знаков для открывающих и шесть знаков для закрывающих скобок, поэтому проще цифровые строчные обозначения с обычными скобками.

Grabb использует для обозначения шесть знаков: ∪, ∩, ↘, ↗, A, A, из которых 5 труднонабираемы на клавиатуре. Шесть знаков могут выразить до 6²=36 функций, тем не менее Grabb использует для обозначения −7, −3, 3 и 7 функций четыре знака, что относительно избыточно.

Mouftah использует для обозначения 16 знаков: ¬, ¬, ⌐, ⌐, ┘, ┘, └, └, ⊼, ⊽, 0, +,, A, A, из которых 11 труднонабираемы на клавиатуре. Два шестнадцатеричных знака могут выразить до 11²=256 функций, тем не менее для −6 и −2 функций Mouftah использует 11 знаков, что относительно избыточно.

Yoeli обозначает положительные декодеры −1, 0 и +1 с двумя i тремя труднонабираемыми на клавиатуре надстрочными индексами, при этом не описываются положительные декодеры с двумя 0, нулевые декодеры с двумя 1 и с двумя −1, отрицательные декодеры с двумя 0 и с двумя 1.

В симметричной троичной системе:

x 1 0 i название обозначение F# Grubb Mouftah Название по Mouftah/Yoeli Diff:101
f i i i тождественная минус единица i = i 111 always output 1
i i 0 ii0 ↘A = Shift Down ¬┘A
i i 1 ii1 ∩↗A └┘A = ┘A = ┘A = ┘┘A x, decode-1
i 0 i i0i ↘∩A
i 0 0 i00 ↘↗A ⌐A Reverse Diode
i 0 1 инверсия Лукасевича около 0,
нулевая инверсия Лукасевича
NOTL0 101 swap1/1,
invert
A
A Simple Ternary Inverter \'/
i 1 i i1i ∩↗∪A x, decode-0
i 1 0 циклический сдвиг вперёд на 1 ROT1F = ROT1U = SHIFT1F 011 rotate up,
∩A
⊼ — inverse cycling gate cycle up ///
i 1 1 i11 ∪↘A ┘└A = ┘A = └└A
0 i i 0ii ↘A ⌐└A Earthed Negative Ternary Inverter
0 i 0 0i0 ∪↗∪A
0 i 1 циклический сдвиг назад на 1 ROT1B = ROT1D = SHIFT1B 110 rotate down,
∪A
⊽ — cycling gate cycle down \\\
0 0 i 00i ∪↗A ⌐└A = ⌐A
0 0 0 тождественный ноль 0 = 0 000 always output 0
0 0 1 001 ↗↘A ¬A Forward Diode
0 1 i инверсия Лукасевича около −1,
отрицательная инверсия Лукасевича
NOTL- 110 swap 0/1 swap 0/1 '/\
0 1 0 010 ∩↘∩A
0 1 1 011 ↗A = Shift Up ⌐└A
1 i i 1ii ∩↗A └A Negative Ternary Inverter, x, decode-i
1 i 0 инверсия Лукасевича около +1,
положительная инверсия Лукасевича
NOTL+ 011 swap 1/0 swap 1/0 /\'
1 i 1 1i1 ∪↘∩A
1 0 i тождественная функция, повторитель, логическое «ДА», линия задержки 101 Buffer
A
A Buffer
1 0 0 100 ∩↘A ¬A
1 0 1 101 ↗∪A
1 1 i 11i ∪↘A ┘A Positive Ternary Inverter
1 1 0 110 ↗A ¬┘A Earthed Positive Ternary Inverter
1 1 1 тождественная плюс единица 1 = 1 111 always output 1

При замене знака i на знак 2 получается таблица унарных троичных функций в несимметричной троичной системе {2,0,1}.

Троичная логическая тождественная функция

Троичный логический повторитель. Является простейшей линией задержки.

Инверсии

Инверсии и неполные обмены

В троичной логике неполные обмены и инверсии совпадают. В четверичной логике два единичных дигональных обмена и два парных недиагональных обмена являются инверсиями, остальные неполные обмены инверсиями не являются. В пятеричной логике для инверсии необходимы два парных обмена в которых в сумме участвуют значения четырёх вершин. В шестеричной логике для инверсии необходимы два парных обмена или три парных обмена. В семеричной логике для инверсии необходимы три парных обмена в которых в сумме участвуют значения шести вершин. В N-ичной логике для инверсии в обмене участвуют значения N-1 вершины. В нечётных логиках по отношению к одной вершине возможна одна инверсия. В чётных логиках по отношению к одной вершине возможны две инверсии: диагональная и перпендикулярная.

Инверсии в троичной логике

Троичные инвесии — унарные операции, меняющие местами два из трёх логических состояний.
В троичной логике возможны три инверсии:
— инверсия около нуля, НЕ0,, обмен −1 и +1,
— инверсия около −1, НЕ-1,, обмен 0 и +1,
— инверсия около +1, НЕ+1,, обмен −1 и 0.

NOTL- = ROTB
NOTL+ = ROTF
NOTL+ = ROTB

Традиционная инверсия, неполное отрицание, не влияющее на состояние «неизвестно», в троичной логике называют отрицанием Лукасевича и обозначают как ~Lx. Функция инверсии Лукасевича входит в логику Клини. В симметричной троичной системе счисления Фибоначчи такое отрицание просто изменяет «знак» троичного разряда, в несимметричной троичной системе счисления знак троичного разряда не изменяется.

Inv Luk.jpg

Граф переходов в операции отрицания Лукасевича — одно ребро треугольника с двухсторонними переходами от 1 к −1 и обратно. Операция линейная, одномерная, из линии в плоскость не выходит.

Кроме традиционной инверсии Лукасевича, выделяют ещё две операции инверсий, которые обозначают как NOT и NOT. Первая сохраняет неизменным состояние −1, а вторая сохраняет +1, при этом операции по-разному действуют на состояние 0:
в несимметричной троичной системе счисления с соответствием {-1,0,+1} — {0,1,2}:

x 2 1 0
НЕ1, NOTL0 0 1 2
НЕ0, NOTL−1 1 2 0
НЕ2, NOTL+1 2 0 1

в несимметричной троичной системе счисления с соответствием {-1,0,+1} — {2,0,1}:

x 2 1 0
НЕ0, NOTL0 1 2 0
НЕ2, NOTL-1 2 0 1
НЕ1, NOTL+1 0 1 2

так как возможны шесть соответствий троичной симметричной системы счисления и троичной несимметричной системы счисления:
Таблица соответствия троичной несимметричной системы и троичной симметричной системы:

1. 2. 3. 4. 5. 6.
1 2 1 0 0 2 1
0 1 0 2 1 0 2
1 0 2 1 2 1 0

то в несимметричной троичной системе счисления с другими соответствиями троичной симметричной системе счисления таблицы функций NOTL0, NOTL- и NOTL+ будут другими;
в симметричной троичной системе счисления {-1,0,+1}:

x 1 0 1
НЕ0, NOTL0 1 0 1
НЕ-1, NOTL−1 0 1 1
НЕ+1, NOTL+1 1 1 0

Граф операции NOT — одно ребро треугольника с двухсторонними переходами от 0 к 1 и обратно.
Граф операции NOT — одно ребро треугольника с двухсторонними переходами от 0 к −1 и обратно.
Так как возможны два вида вращения, то закон двойного отрицания справедлив для всех многозначных логик. Для всех трёх инверсий Лукасевича, как и в двоичной логике, справедливы уравнения:
NOTL0)=X    NOTLZ)=X
NOTL+)=X    NOTLP)=X
NOTL-)=X    NOTLN)=X,
.

Циклические сдвиги

Сдвиги и инверсии

В двоичной логике сдвиги и инверсии совпадают и выражаются одной операцией сдвига на 180° или инверсии — NOT. В троичной и более значных логиках сдвиги и инверсии являются разными функциями. Сдвиги не меняют направления вращения. Операцию сдвига выполняют регистры сдвига. Инверсии меняют направление возрастания значений при правом обходе вершин графа. Операцию инверсии выполняют только триггеры.

В многозначных логиках

В троичной логике существует закон тройного сдвига:

SHIFT1F)) = X,
SHIFT1B)) = X.

В четверичной логике существует закон четверного сдвига:

SHIFT1F))) = X,
SHIFT1B))) = X.

В пятеричной логике существует закон пятерного сдвига:

SHIFT1F)))) = X,
SHIFT1B)))) = X.

В N-ичной логике существует закон N-ного сдвига:

N сдвигов вперёд равносильны повторению,
N отрицаний назад равносильны повторению.

В-ичной логике существует закон-ного сдвига:

сдвигов вперёд равносильны повторению,
сдвигов назад равносильны повторению.

Обобщение:
В N-ичной плоской логике плоская логическая окружность делится на N частей, при этом N единичных сдвигов по плоской логической окружности приводят в исходную точку.

В объёмных логиках место окружности занимают многомерные сферы.

Сдвиги в троичной логике

Логические циклические сдвиги вперёд и назад.
Так как в троичном триггере возможны переключения из любого из трёх состояний в любое из двух оставшихся состояний, то эти переключения нужно описать логическими функциями.

Если рассмотреть многовершинные графы, то в них возможны циклические сдвиги на 1 вперёд и назад и инверсии.

Сдвиги не являются инверсиями и отличаются от функции инверсии и NOT). Они более просты, ближе к логике работы троичного триггера и более полно описывают возможные переходы в троичном триггере. В проекте Стива Грабба эти функции называются вращение вверх и вращение вниз.
В троичной несимметричной системе {0,1,2}:

x 2 1 0
SHIFT1F, ROT1F, ROT1U, 0 2 1
SHIFT1B, ROT1B, ROT1D, 1 0 2

или в троичной симметричной системе {-1,0,+1}:

x 1 0 1
SHIFT1F, ROT1F, ROT1U, 1 1 0
SHIFT1B, ROT1B, ROT1D, 0 1 1

Графы операций логических циклических сдвигов вперёд и назад — треугольники с односторонними переходами вправо или влево.

Для обеих функций справедливы уравнения:
Rot1F))=x,
Rot1B))=x,
которые являются законом тройного сдвига, который не является подобием закона двойного отрицания: три троичных сдвига равносильны утверждению.

Справедливы также следующие уравнения:
Rot1B)=x,
Rot1F)=x

Сдвиг на 2 равен двум сдвигам на 1:
SHIFTF2=SHIFTF1)
SHIFTB2=SHIFTB1)
это уравнение справедливо и в более чем трёхзначных логиках.

Только в троичной логике сдвиг в одну сторону на 2 равен сдвигу на 1 в другую сторону:
SHIFTF2=SHIFTB1
SHIFTB2=SHIFTF1
в более чем трёхзначных логиках этому свойству соответствуют другие подобные свойства.

Унарные троичные логические функции с бинарным результатом

Всего существует 3^{*2}=3^6=729 простейших унарных троичных функций с бинарным выходом.

К этим функциям относятся демультиплексоры и дешифраторы с бинарным выходом.

Унарные троичные логические функции с тринарным результатом

Всего существует 3^{*3}=3^9=19\ 683 простейших унарных троичных функций с тринарным выходом.

К этим функциям относятся демультиплексоры и дешифраторы с тринарным результатом.

Троичный дешифратор «1 трит в 3 строки»

Можно рассматривать как объединение трёх унарных троичных функций с унарными результатами из таблицы 1.

x 2 1 0
2 1 0 0
1 0 1 0
0 0 0 1

Унарные троичные логические функции с m-арными выходами

Всего существует 3^{*m} простейших унарных троичных функций с m-арным выходом, то есть бесконечное число.

К этим функциям относятся демультиплексоры и дешифраторы с m-арным результатом.



Просмотров: 9538


<<< Троичная логика
Adobe Acrobat >>>