Разное→Обратимая троичная операция
Предлагается пара троичных операций
a [+] b =def sign(a+b)
a [-] b =def sign(a-b),
Или в виде таблицы
│ a │ b │ a[+]b │a[-]b│
├─┼──┼────┼───┤
│ 1 │ 1 │ 1 │ 0 │
│ 1 │ 0 │ 1 │ 1 │
│ 1 │ -1 │ 0 │ 1 │
│ 0 │ 1 │ 1 │ -1 │
│ 0 │ 0 │ 0 │ 0 │
│ 0 │ -1 │ -1 │ 1 │
│ -1│ 1 │ 0 │ -1 │
│ -1│ 0 │ -1 │ -1 │
│ -1│ -1 │ -1 │ 0 │
│ │ │ │ │
└─┴──┴───┴──┘
Интересным свойством является обратимость: если известны a[+]b и a[-]b то можно получить исходные a и b
Анатолий Медынцев,
Мнения
001 А какой смысл, если нужно знать два результата (два трита), чтобы сосчитать два исходных (два трита)? Для чего использовать такие операции имело бы смысл? Аналог двоичной XOR пытаетесь найти?
Так-то и банальные "плюс один, с переходом 2 в -1" и "минус 1, с переходом -2 в 1" вполне себе обратимы, причём каждая без другой.002 Это очень грубое приближение сложения/вычитания. Единственное применение которое я пытался исследовать - в быстром преобразовании Уолша (вместо обычных сложения/вычитания)
004 А зачем пытаться искать аналог двоичной XOR, если, кажется, довольно очевидно, что эту роль выполняет просто поразрядное сложение без переноса (т.е. как бы с отправлением переноса в помойку)? Т.е. как раз то самое, что Вы и сказали, насколько я понял. Это если иметь в виду именно обратимость, а не другое традиционное применение XOR - "переворачивание" или сохранение значения. Это будет уже поразрядное арифметическое умножение - но зато уже не обратимое, если, например, не запрещать искуственно нули в одном из операндов. Но, кажется, для любого конкретного применения можно подобрать операцию и набор допустимых значений, которые будут решать поставленную задачу, так что "проблема XOR" не так страшна, как она кажется в общем виде.
А применение описанным автором темы операциям наверняка где-то тоже найдётся. Точнее, вторая, которая с минусом - это вообще, имхо, может быть чуть ли не одна из самых базовых и частых операций - операция сравнения. Поразрядного, в данном случае - но в симметричной троичной системе оно же одновременно будет и просто арифметическим сравнением, так? Конечно, для арифметического сравнения можно использовать и обычное вычитание - но операция без переносов должна быть аппаратно быстрее и менее энергозатратно, по идее.028 Следует отметить, что "банальные "плюс один, с переходом 2 в -1" и "минус 1, с переходом -2 в 1"" являются унарными однозначными (однорезультатными, одновыходными) троичными логическими функциями (операциями, элементами) "Циклический сдвиг на 1 (+1/3 Оборота, +120гр.) вперёд (вверх)" и "Циклический сдвиг на 1 (-1/3 Оборота, -120гр.) назад", которым соответствуют таблицы истинности и троичные номера в троичной симметричной системе счисления и соответствующие им номера в десятичной системе счисления, вычисленные на троичном калькуляторе на главной странице сайта:
а + 0 -
F(a) - + 0 s3 = F-6s3(a),
и
a + 0 -
F(a) 0 - + s3 = F-2s3(a).
Так как все 27 (от F-13s3(a) до F+13s3(a)) логических функций (операций, элементов) обратных унарным однозначным (однорезультатным, одновыходным) троичным логическим функциям (операциям, элементам) - однозначные (однорезультатные, одновыходные), то все они (27) обратимы без каких либо дополнительных данных.
Иначе обстоит дело с бинарными однозначными (однорезультатными, одновыходными) троичными логическими функциями (операциями, элементами), обратные функции (операции, элементы) которых - унарные двухзначные (двухрезультатные, двухвыходные), для определения результата которых (для обратимости) необходимы дополнительные данные.
029 Аналог двоичного XOR (сложение по модулю 2) в троичной симметричной системе счисления давно уже найден и опубликован, например, в "Википедии: Троичные функции, подраздел 2.9.1 Сложение по модулю 3 в симметричной троичной системе счисления" и применён в "Троичном симметричном полусумматоре", логическая схема которого опубликована на странице http://andserkul.narod2.ru/troichnie_polusummatori/. Номер этой бинарной однозначной троичной симметричной логической функции (операции, элемента) можно вычислить на троичном калькуляторе на главной странице сайта: F-+0+0-0-+s3(x,y)=F-4160s3(x,y), где s3 - обозначает троичную симметричную систему счисления.
003 
Следует отметить, что, так как логические функции обладают свойством самонумерации, которое заключается в том, что в таблице истинности, при упорядоченном переборе значений аргументов от меньшего к большему, результат действия функции и является номером функции, то все 19683 бинарные с унарным выходом троичные логические функции в троичной симметричной системе счисления имеют троичные симметричные номера от --------- до +++++++++, которым соответствуют десятичные номера от -9841 до +9841 (вычисления 1 и 2 на троичном калькуляторе).
Таким образом, в заметке идёт речь о бинарных с унарным выходом троичных логических функциях в троичной симметричной системе счисления с троичными симметричными номерами F++0+0-0--s3 и F0++-0+--0s3, которым соответствуют обозначения этих же функций с десятичными номерами F8960s3 и F2688s3 (вычисления 3 и 4 на троичном калькуляторе), где s3 обозначает симметричную троичную систему счисления.
То есть:
a [+] b = def sign(a+b) = F++0+0-0--s3(a,b) = F8960s3(a,b),
a [-] b = def sign(a-b) = F0++-0+--0s3(a,b) = F2688s3(a,b).005 такого понятия как "унарный выход" не существует в природе
006 Я уж сначала подумал что он про конституент единицы узнал, но при повторном прочтении понял что слишком старался найти там смысл.
007 
Г.Корн и Т.Корн. Справочник по математике. Для научных работников и инженеров, М., 1973г., стр.99.
В математике функции с одним значением для каждого значения аргумента называются однозначными, функции с двумя и более значениями хотя бы для одного значения аргумента называются многозначными.
В математической логике и в электронной цифровой логике (в цифровой технике) функциям с одним значением для каждого значения аргумента (однозначным) соответствуют логические функции (логические элементы и узлы) с одним значением (с одним выходом, с унарным выходом), к ним относятся логические элементы простой логики: 2И, 2ИЛИ, НЕ, 2И-НЕ, 2ИЛИ-НЕ и др., функциям с двумя и более значениями хотя бы для одного значения аргумента (многозначным) соответствуют логические функции (логические элементы и узлы) с двумя значениями (с двумя выходами, с бинарным выходом), с тремя значениями (с тремя выходами, с тринарным выходом) и т.д., к ним относятся более сложные логические узлы: полусумматоры, сумматоры, умножители, дешифраторы, демультиплексоры и др.
008 Андрей, прекратите уже бредить, всем, кроме вас, очевидно что "унарный выход" и "один выход" это РАЗНЫЕ вещи. Унарный подразумевает что там ВСЕГДА одно значение (0 ЛИБО 1), то есть это КОНСТАНТА, практического смысла не имеющая.
009 Названия логических функций (логических элементов) унарные, бинарные, тернарные, тетрарные, пентарные и т.д. подразумевает, что у них один, два, три, четыре, пять и т.д. аргументов (входов), каждый из которых является логической переменной и может принимать два значения: 0 или 1.
Так же и логические функции с одним соответствием (с унарным соответствием) являются логическими переменными и могут принимать два значения: 0 или 1.
Так же и выход логических элементов с одним выходом (с унарным выходом) является логически переменным и может принимать два значения: 0 или 1.
Из этого следует, что толкование Бармалейкиным слова "унарный" и понятий "один выход", "унарный выход" - ложное, а Бармалейкин - лжец.010 Бармалейкин - лжец. Куликов - правдец. Полный.
011 Праведника нет ни одного. Следовательно, Куликов не может быть полным правдецом.
Из этого следует, что предложение Бармалейкина - ещё одна ложь Бармалейкина, а Бармалейкин - ещё один раз лжец.013 Правдец - Куликов, но не полный. Не путать с полным, который заполнен полностью, иначе получится что он полный правдец.
015 Замечаний по теме нет. Комментарии Бармалейкина, а, следовательно, и сам Бармалейкин оказались очень далеко за пределами темы, может так оно и лучше и для сообщества и для самого Бармалейкина.
012 чел окончательно запутался в показаниях :)
кстати в цитате слова "унарный" нет - да и к выходам оно НЕПРИМЕНИМО - только ко входам (см. "unary function" на педовикии)
014 Поиск по запросу"unary function" в Pedo Wiki результатов не дал. Так, что твоё предложение о неприменимости слова "унарный" к числу соответствий в многозначных функциях (к числу выходов в логических элементах) опирается только на твоё мнение и на пустое место, а в "Мнения"х мнить не запретишь. Мнящий ся ... пусть мнит дальше, придёт время жатвы и пшеницу отделят от плевел.
016 Напоминает известный афоризм - есть два мнения: моё и неправильное.
Рекомендую всем бояться, очевидно костёр уже горит, еретиков переписали.019 Замечаний по теме нет.
020 А по реме?
022 Он хотел сказать "а по репе?" ;)
024 А может он хотел сказать "по теореме?", но без "тео", а "тео" - Бог, а без Бога - всё убого, одни "ремы" и ни одной "теоремы".
026 А он не "сказал", а "набрал" на компьютере.
017 Специально для тупых привожу прямой линк на статью: http://en.wikipedia.org/wiki/Unary_function
018 Pedo Wiki и Wikpedia - две разные Wiki. В Wikipedia ссылка работает.
Очевидно, что:
в математике и в логике могут быть функции с одним и с более, чем одно, соответствиями;
в computer science (в вычислительной технике) могут быть операторы с одним и с более, чем один, результатами;
в электронноцифровой технике могут быть логические элементы с одним и более, чем один, выходами.
Синтаксически прилагательные unary, binary, ternary и т.д. относятся к слову "функция" и были бы должны обозначать число соответствий (результатов, выходов), но, так как большинство функций - однозначные (с одним соответствием), исторически сложилось так, что прилагательные unary, binary, ternary и т.д. обозначают число аргументов (операндов, входов).
Чтобы обозначить единственность или множественность соответствий (результатов, выходов) и сохранить традицию и было введено дополнение:
в математике и логике - n-арная "с n-арным соответствием" функция;
computer science (в вычислительной технике) - n-арный "с n-арным результатом" оператор;
в электронноцифровой технике - n-арный "с n-арным выходом" логический элемент.
Так как в блоке 003 речь идёт о функциях, то там действительно лучше применять слова "с унарным соответствием", а слова "с унарным выходом" лучше применять в описаниях логических элементов.
021 и автор решил исправить эту историческую ошибку - гениально :)
зал встал и захлебнулся в рукоплесканиях...023 С синтаксисом ошибка у меня, а не историческая. Синтаксически, если не упоминаются множества аргументов и множества результата действия соответствия (функции), прилагательные unary, binary, ternary и т.д. одинаково могут относиться и к количеству множеств аргументов и к количеству множеств результата действия соответствия (функции), что и происходит:
1. в Википедии и др. унарность, бинарность, тринарность и др. относится к количеству множеств аргументов;
2. в определении из справочника Г.Корн и Т.Корн значность (унарность, бинарность, тринарность и т.д.) относится к количеству множеств результата действия соответствия (функции).
Но так как большинство функций - однозначные (с одним соответствием, с одним множеством результата действия соответствия (функции)), исторически сложилось так, что, если не упоминаются множества аргументов и множества результата действия соответствия (функции), прилагательные unary, binary, ternary и т.д., относятся к числу аргументов (операндов, входов). Для обозначения количества множеств результата действия соответствия (функции) необходимы дополнения ("с n-арным соответствием", "с n-арным результатом", "с n-арным выходом").
Можно было бы, а, может, и нужно было бы, назвать: n-арные k-значные функции, где n - количество множеств аргументов, а k - количество множеств результата действия соответствия (функции), тогда бы не нарушились бы и определения из Википедии и др. и определение из справочника Г.Корн и Т.Корн, но есть другие исторические неоднозначности, которые заключаются в том, что:
1. и само соответствие между множествами значений аргументов и множествами значений результата действия соответствия называется функцией и результат действия соответствия тоже называется функцией;
2. и количество множеств результата действия соответствия (функции) называется значностью (однозначная, многозначная) и каждый аргумент и результат действия соответствия (функции) может принимать несколько значений (в двоичной логике - два значения (как бы двухзначная, да в другом смысле), в троичной логике - три значения (как бы трёхзначная, да тоже в другом смысле) и т.д.).
В радиоэлектронике одна из неоднозначностей в терминологии была решена введением названия "резистор" для радиотехнического элемента (радиодетали).
Очевидно, что необходимо ввести различные названия:
1. для функции, как соответствия между множествами аргументов и множествами результата действия соответствия (функция-соответствие) и
2. для функции, как множествам результата действия соответствия (функция-результат).
В математике, до решения этих неоднозначностей, в описаниях необходимы дополнения, для более точного определения того, что имеется ввиду в каждом конкретном случае.
031 
Следует также отметить, что в n-арных функциях (операциях, элементах) результат действия которых зависит от места аргумента (операнда, входа) имеется неоднозначность номера функции при разных переборах аргументов.
Так, в функции sign(a-b), при двух разных переборах получаются два разных номера функции: F2688s3(a,b) и F-2688s3(a,b), что показано на приведённом снимке.
Поэтому, для устранения неоднозначности, следует выяснить естественный порядок перебора значений аргументов и придерживаться его при вычислении номеров функций (операций, элементов).032 два разных номера, которые получаются друг из друга обычной инверсией. просто взять за основу какой-то принцип.
например, аргумент а - изменяется во внешнем цикле перебора значений (медленнее), аргумент в - изменяется во внутреннем цикле (быстрее)033 Функция вычитания - симметричная, поэтому и номера просто инверсные, но есть и несимметричные функции, номера которых уже не простая инверсия.
Если не удастся определить естественный порядок перебора аргументов, то, действительно, при вычислении номеров функций, (операций, элементов) нужно придерживаться одного вида переборов аргументов.034 1. Для каждого аргумента естественным перебором является перебор от меньшего значения к большему значению.
2. При нескольких аргументах естественным является более "быстрый" перебор в младших значащих разрядах (МЗР) и более "медленный" перебор в старших значащих разрядах (СЗР) , как в счётчиках.
Остаётся выяснить какой из аргументов соответствует МЗР и какой СЗР.035 3. При записях в виде F2688s3(a,b) второй аргумент (b) стоит на месте МЗР, а первый аргумент стоит на месте СЗР, так что, похоже, что естественным перебором является более "быстрый" перебор второго аргумента (b) и более "медленный" перебор первого аргумента (a), т.е. как у Анатолия Медынцева, в первой таблице блока 031 и в предложении JeNNeR.
030 Сомнительное содержимое…
