РазноеОбратимая троичная операция

Предлагается пара троичных операций
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

Анатолий Медынцев,

Мнения

  • 001kvas

    А какой смысл, если нужно знать два результата (два трита), чтобы сосчитать два исходных (два трита)? Для чего использовать такие операции имело бы смысл? Аналог двоичной XOR пытаетесь найти?
    Так-то и банальные "плюс один, с переходом 2 в -1" и "минус 1, с переходом -2 в 1" вполне себе обратимы, причём каждая без другой.

    • 002Анатолий Медынцев

      Это очень грубое приближение сложения/вычитания. Единственное применение которое я пытался исследовать - в быстром преобразовании Уолша (вместо обычных сложения/вычитания)

    • 004Toman

      А зачем пытаться искать аналог двоичной 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).

    • 005Shaos

      такого понятия как "унарный выход" не существует в природе

      • 006Бармалейкин

        Я уж сначала подумал что он про конституент единицы узнал, но при повторном прочтении понял что слишком старался найти там смысл.

      • 007Андрей Куликов

        Г.Корн и Т.Корн. Справочник по математике. Для научных работников и инженеров, М., 1973г., стр.99.
        В математике функции с одним значением для каждого значения аргумента называются однозначными, функции с двумя и более значениями хотя бы для одного значения аргумента называются многозначными.
        В математической логике и в электронной цифровой логике (в цифровой технике) функциям с одним значением для каждого значения аргумента (однозначным) соответствуют логические функции (логические элементы и узлы) с одним значением (с одним выходом, с унарным выходом), к ним относятся логические элементы простой логики: 2И, 2ИЛИ, НЕ, 2И-НЕ, 2ИЛИ-НЕ и др., функциям с двумя и более значениями хотя бы для одного значения аргумента (многозначным) соответствуют логические функции (логические элементы и узлы) с двумя значениями (с двумя выходами, с бинарным выходом), с тремя значениями (с тремя выходами, с тринарным выходом) и т.д., к ним относятся более сложные логические узлы: полусумматоры, сумматоры, умножители, дешифраторы, демультиплексоры и др.

        • 008Бармалейкин

          Андрей, прекратите уже бредить, всем, кроме вас, очевидно что "унарный выход" и "один выход" это РАЗНЫЕ вещи. Унарный подразумевает что там ВСЕГДА одно значение (0 ЛИБО 1), то есть это КОНСТАНТА, практического смысла не имеющая.

          • 009Андрей Куликов

            Названия логических функций (логических элементов) унарные, бинарные, тернарные, тетрарные, пентарные и т.д. подразумевает, что у них один, два, три, четыре, пять и т.д. аргументов (входов), каждый из которых является логической переменной и может принимать два значения: 0 или 1.
            Так же и логические функции с одним соответствием (с унарным соответствием) являются логическими переменными и могут принимать два значения: 0 или 1.
            Так же и выход логических элементов с одним выходом (с унарным выходом) является логически переменным и может принимать два значения: 0 или 1.
            Из этого следует, что толкование Бармалейкиным слова "унарный" и понятий "один выход", "унарный выход" - ложное, а Бармалейкин - лжец.

            • 010Бармалейкин

              Бармалейкин - лжец. Куликов - правдец. Полный.

              • 011Андрей Куликов

                Праведника нет ни одного. Следовательно, Куликов не может быть полным правдецом.
                Из этого следует, что предложение Бармалейкина - ещё одна ложь Бармалейкина, а Бармалейкин - ещё один раз лжец.

                • 013Бармалейкин

                  Правдец - Куликов, но не полный. Не путать с полным, который заполнен полностью, иначе получится что он полный правдец.

                  • 015Андрей Куликов

                    Замечаний по теме нет. Комментарии Бармалейкина, а, следовательно, и сам Бармалейкин оказались очень далеко за пределами темы, может так оно и лучше и для сообщества и для самого Бармалейкина.

        • 012Shaos

          чел окончательно запутался в показаниях :)
          кстати в цитате слова "унарный" нет - да и к выходам оно НЕПРИМЕНИМО - только ко входам (см. "unary function" на педовикии)

          • 014Андрей Куликов

            Поиск по запросу"unary function" в Pedo Wiki результатов не дал. Так, что твоё предложение о неприменимости слова "унарный" к числу соответствий в многозначных функциях (к числу выходов в логических элементах) опирается только на твоё мнение и на пустое место, а в "Мнения"х мнить не запретишь. Мнящий ся ... пусть мнит дальше, придёт время жатвы и пшеницу отделят от плевел.

            • 016Бармалейкин

              Напоминает известный афоризм - есть два мнения: моё и неправильное.

              Рекомендую всем бояться, очевидно костёр уже горит, еретиков переписали.

                    • 024Андрей Куликов

                      А может он хотел сказать "по теореме?", но без "тео", а "тео" - Бог, а без Бога - всё убого, одни "ремы" и ни одной "теоремы".

                      • 025Бармалейкин

                        Посмотрите, наконец, в словаре значение слова "рема", а?

                        Хотя, учитывая что без божеств у вас ничего толкового не получается, я вам помогу:

                        - http://gramota.ru/slovari/dic/?word=%F0%E5%EC%E0&all=x

                        • 027Андрей Куликов

                          Вы предлагаете оформить материал в виде теоремы "О свойстве самонумерации логических функций"?

                    • 026Андрей Куликов

                      А он не "сказал", а "набрал" на компьютере.

            • 017Shaos

              Специально для тупых привожу прямой линк на статью: 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 речь идёт о функциях, то там действительно лучше применять слова "с унарным соответствием", а слова "с унарным выходом" лучше применять в описаниях логических элементов.

                • 021Shaos

                  и автор решил исправить эту историческую ошибку - гениально :)
                  зал встал и захлебнулся в рукоплесканиях...

                  • 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), что показано на приведённом снимке.
      Поэтому, для устранения неоднозначности, следует выяснить естественный порядок перебора значений аргументов и придерживаться его при вычислении номеров функций (операций, элементов).

      • 032JeNNeR

        два разных номера, которые получаются друг из друга обычной инверсией. просто взять за основу какой-то принцип.
        например, аргумент а - изменяется во внешнем цикле перебора значений (медленнее), аргумент в - изменяется во внутреннем цикле (быстрее)

        • 033Андрей Куликов

          Функция вычитания - симметричная, поэтому и номера просто инверсные, но есть и несимметричные функции, номера которых уже не простая инверсия.
          Если не удастся определить естественный порядок перебора аргументов, то, действительно, при вычислении номеров функций, (операций, элементов) нужно придерживаться одного вида переборов аргументов.

        • 034Андрей Куликов

          1. Для каждого аргумента естественным перебором является перебор от меньшего значения к большему значению.
          2. При нескольких аргументах естественным является более "быстрый" перебор в младших значащих разрядах (МЗР) и более "медленный" перебор в старших значащих разрядах (СЗР) , как в счётчиках.
          Остаётся выяснить какой из аргументов соответствует МЗР и какой СЗР.

        • 035Андрей Куликов

          3. При записях в виде F2688s3(a,b) второй аргумент (b) стоит на месте МЗР, а первый аргумент стоит на месте СЗР, так что, похоже, что естественным перебором является более "быстрый" перебор второго аргумента (b) и более "медленный" перебор первого аргумента (a), т.е. как у Анатолия Медынцева, в первой таблице блока 031 и в предложении JeNNeR.

История сообщений