XOR | |
---|---|
Таблица истинности | |
Логический элемент | |
Нормальные формы | |
Дизъюнктивный | |
Конъюнктив | |
многочлен Жегалкина | |
Решетки Поста | |
с сохранением 0 | да |
1- сохранение | no |
Монотонный | no |
Аффинный | да |
|
Exclusive или или исключительная дизъюнкция - это логическая операция, которая выводит истину только в том случае, если входные данные различаются (один - истина, другой - ложь).
Это символизируется префиксным оператором J и инфиксным операторами XOR (или ), EOR, EXOR, ⊻, ⩒, ⩛, ⊕, ↮ и ≢ . отрицание операции XOR - это логический двусмысленный, который выводит истину только тогда, когда два входа одинаковы.
Он получает название «исключающее ИЛИ», потому что значение «или» неоднозначно, когда оба операнда истинны; исключительный оператор or исключает этот случай. Иногда это воспринимается как «одно или другое, но не оба сразу». Это можно было бы записать как «А или В, но не А и В».
В более общем смысле, XOR истинно только тогда, когда истинно нечетное количество входов. Цепочка XOR - XOR b XOR c XOR d (и так далее) - истинна, когда нечетное количество входов истинно, и ложно, когда четное количество входов истинно.
таблица истинности A XOR B показывает, что она выводит истину всякий раз, когда входные данные различаются:
Вход | Выход | |
---|---|---|
A | B | |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Исключительная дизъюнкция по существу означает «любой, но не оба и ни один ». Другими словами, утверждение истинно тогда и только тогда, когда одно истинно, а другое ложно. Например, если две лошади участвуют в гонке, то одна из двух будет выиграть гонку, но не оба. Исключительная дизъюнкция , также обозначается ⩛или , может быть выражено в терминах логического соединения («логическое и», ), дизъюнкция («логическое ИЛИ», ), а отрицание () следующим образом:
Исключительная дизъюнкция также можно выразить следующим образом:
Это представление XOR может оказаться полезным при построении схемы или сети, поскольку оно имеет только одна операция и небольшое количество и операции. Доказательство этого тождества приведено ниже:
Иногда бывает полезно записать следующим образом:
или:
Это эквивалентность может быть установлена, применяя законы Де Моргана дважды к четвертой строке приведенного выше доказательства.
Исключающее или также эквивалентно отрицанию логического двусмысленного по правилам материальной импликации (материальное условное эквивалентно дизъюнкции отрицания его предшествующего и его следствия) и материальной эквивалентности.
Таким образом, в математической и инженерной нотации имеем:
Хотя операторы (соединение ) и (дизъюнкция ) являются очень полезны в логических системах, они не позволяют получить более обобщаемую структуру следующим образом:
Системы и являются моноидами, но ни одна из них не является группой . К сожалению, это предотвращает объединение этих двух систем в более крупные структуры, такие как математическое кольцо.
. Однако система, использующая исключающее или - абелева группа. Комбинация операторов и над элементами создает хорошо известное поле . Это поле может представлять любую логику, доступную с помощью системы , и имеет дополнительное преимущество в виде арсенала инструментов алгебраического анализа для полей.
Более конкретно, если связать с 0 и с 1, можно интерпретировать логическую операцию «И» как умножение на и операцию «XOR» как сложение на :
Использование этого базиса для описания логической системы называется алгебраической нормальной формой.
Оксфордский словарь английского языка объясняет "либо... или" следующим образом:
Основная функция того и другого состоит в том, чтобы подчеркнуть полное безразличие двух (или более) вещей или направлений...; но второстепенная функция состоит в том, чтобы подчеркнуть взаимную исключительность, = одного из двух, но не обоих.
Исключающее-или явно заявляет «одно или другое, но не ни то, ни другое». Однако соответствие отображения между формальными логическими операторами и конъюнкциями естественного языка далеко не просто или однозначно, и десятилетиями изучается в лингвистике и аналитической философии..
Следуя такой интуиции здравого смысла насчет «или», иногда утверждают, что во многих естественных языках, английском включая, слово «или» имеет «исключительный» смысл. Исключительная дизъюнкция пары предложений (p, q) должна означать, что p истинно или q истинно, но не то и другое вместе. Например, можно утверждать, что обычное намерение такого утверждения, как «Вы можете выпить кофе, или вы можете выпить чай», состоит в том, чтобы оговорить, что точно одно из условий может быть истинным. Конечно, при некоторых обстоятельствах предложение, подобное этому примеру, следует воспринимать как запрещающее возможность принятия обоих вариантов.
В английском языке конструкция «либо... или» обычно используется для обозначения исключающего или, а «или» обычно используется для включения. Но в испанском языке слово «o» (или) может использоваться в форме «p o q» (включительно) или в форме «o p o q» (исключая). Некоторые могут утверждать, что любое двоичное или другое n-арное исключающее "ИЛИ" истинно тогда и только тогда, когда оно имеет нечетное число истинных входов (однако это не единственное разумное определение; например, цифровые элементы xor с несколькими входами обычно не используют это определение), и что в английском языке нет соединения, которое имеет это общее свойство. Например, Барретт и Стеннер утверждают в статье 1971 года «Миф об исключительном« ИЛИ »(Mind, 80 (317), 116–121), что ни один автор не привел пример английского или-предложения, которое, как представляется, false, потому что оба его входных значения верны, и отмахиваются от или-предложений, таких как «Лампочка горит или не горит», как отражающих конкретные факты о мире, а не природу слова «или». Однако «парадокс цирюльника » - каждый в городе бреется или бреется парикмахером, который бреет парикмахера? - не был бы парадоксальным, если бы «или» не могло быть исключительным (хотя пурист мог бы сказать что "либо" требуется в формулировке парадокса).
Символ, используемый для исключительной дизъюнкции, меняется от одной области приложения к другой и даже зависит от свойств, которые подчеркиваются в данном контексте обсуждения. В дополнение к аббревиатуре «XOR» можно также увидеть любой из следующих символов:
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
При использовании двоичного для значений true (1) и false (0), то исключающее или работает точно так же, как addition по модулю 2.
Исключительная дизъюнкция часто используется для побитовых операций.. Примеры:
Как отмечалось выше, поскольку исключительная дизъюнкция идентична сложению по модулю 2, побитовая исключительная дизъюнкция двух n-битных строк идентична стандартному вектору сложения в векторном пространстве .
Исключительно в информатике У дизъюнкции есть несколько применений:
В логических схемах простой сумматор может быть выполнен с помощью элемента XOR, чтобы сложить числа и сер элементы логических элементов И, ИЛИ и НЕ для создания вывода переноса.
На некоторых компьютерных архитектурах более эффективно хранить ноль в регистре, выполняя операцию «исключающее ИЛИ» с самим собой (биты, исключающие ИЛИ с самим собой, всегда равны нулю) вместо загрузки и сохранения нулевого значения.
В простых пороговых активированных нейронных сетях для моделирования функции XOR требуется второй уровень, поскольку XOR не является линейно разделимой функцией.
Exclusive-or иногда используется как простая функция смешивания в криптографии, например, с одноразовым блокнотом или системами Feistel network.
Exclusive-or также активно используется в блочных шифрах, таких как AES (Rijndael) или Serpent, и в реализации блочного шифра (CBC, CFB, OFB или CTR).
Аналогично, XOR может использоваться при генерации пулов энтропии для аппаратных генераторов случайных чисел. Операция XOR сохраняет случайность, что означает, что случайный бит, обработанный XOR с неслучайным битом, приведет к случайному биту. Несколько источников потенциально случайных данных можно объединить с помощью XOR, и непредсказуемость вывода гарантированно будет не хуже, чем у лучшего отдельного источника.
XOR используется в RAID 3 –6 для создания информации о четности. Например, RAID может «выполнить резервное копирование» байтов 100111002 и 011011002 с двух (или более) жестких дисков, выполняя операцию «исключающее ИЛИ» только что упомянутых байтов, в результате чего получается (111100002) и записывается на другой диск. Согласно этому методу, если один из трех жестких дисков потерян, потерянный байт может быть воссоздан путем операции XOR с байтами оставшихся дисков. Например, если диск, содержащий 011011002, потерян, 100111002 и 111100002 могут быть подвергнуты операции XOR для восстановления потерянного байта.
XOR также используется для обнаружения переполнения в результате двоичной арифметической операции со знаком. Если крайний левый оставшийся бит результата не совпадает с бесконечным числом цифр слева, это означает, что произошло переполнение. Выполнение XOR этих двух битов даст «1», если произойдет переполнение.
XOR можно использовать для обмена двумя числовыми переменными в компьютерах, используя алгоритм обмена XOR ; однако это считается скорее любопытством и на практике не поощряется.
Связанные списки XOR используют свойства XOR для экономии места для представления структур данных двусвязного списка.
В компьютерной графике методы рисования на основе XOR часто используются для управления такими элементами, как ограничительные рамки и курсоры в системах без альфа-каналы или плоскости наложения.
Помимо кодов ASCII, оператор кодируется как U + 22BB ⊻ XOR (HTML ⊻
·⊻
) и U + 2295 ⊕ CIRCLED PLUS (HTML ⊕
·⊕, ⊕
), оба в блоке математических операторов.
На Викискладе есть средства массовой информации, связанные с Эксклюзивной дизъюнкцией. |
Найдите эксклюзивный или или XOR в Wiktionary, бесплатный словарь. |