Эксклюзивный или
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2013 г. ) |
БЕСПЛАТНО | |
---|---|
Таблица истинности | |
Логический вентиль | |
Нормальные формы | |
Дизъюнктивный | |
соединительный | |
Полином Жегалкина | |
Решетки постовые | |
0-сохраняющий | да |
1-сохраняющий | нет |
монотонный | нет |
Аффинный | да |
Самодвойственный | нет |
Логические связки | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
Связанные понятия | ||||||||||||||||||||||
Приложения | ||||||||||||||||||||||
Категория | ||||||||||||||||||||||
Исключающее или , исключительная дизъюнкция , исключительное чередование , логическая неэквивалентность или логическое неравенство — это логический оператор , отрицание которого является логическим двуусловием . При двух входных данных операция XOR является истиной тогда и только тогда, когда входные данные различаются (один — истина, другой — ложь). При наличии нескольких входных данных операция XOR является истинной тогда и только тогда, когда количество истинных входных данных нечетно . [1]
Он получил название «исключающее или», потому что значение «или» неоднозначно, когда оба операнда истинны. XOR исключает этот случай. Некоторыми неформальными способами описания XOR являются «один или другой, но не оба», «либо тот, либо другой» и «A или B, но не A и B».
Его символизирует префиксный оператор [2] : 16 и инфиксными операторами XOR ( / ˌ ɛ k s ˈ ɔː r / , / ˌ ɛ k s ˈ ɔː / , / ˈ k s ɔː r / or / ˈ k s ɔː / ), EOR , EXOR , , , , ⩛ , , , и .
Определение
[ редактировать ]Таблица истинности показывает, что он выводит true всякий раз, когда входные данные различаются:
Ф | Ф | Ф |
Ф | Т | Т |
Т | Ф | Т |
Т | Т | Ф |
Эквиваленты, исключение и введение
[ редактировать ]Исключительная дизъюнкция по сути означает «либо одно, но не оба и не ничего». Другими словами, утверждение истинно тогда и только тогда, когда одно истинно, а другое ложно. Например, если соревнуются две лошади, то победит одна из них, но не обе. Исключительная дизъюнкция , также обозначается или , можно выразить через логический союз («логическое и», ), дизъюнкция («логическое или», ) и отрицание ( ) следующее:
Исключительная дизъюнкция также можно выразить следующим образом:
Такое представление XOR может оказаться полезным при построении схемы или сети, поскольку оно имеет только один эксплуатация и небольшое количество и операции. Доказательство этой идентичности приведено ниже:
Иногда полезно написать следующим образом:
или:
Эту эквивалентность можно установить, дважды применив законы Де Моргана к четвертой строке приведенного выше доказательства.
Исключительное или также эквивалентно отрицанию логического бикондиционала по правилам материальной импликации ( материальный кондиционал эквивалентен дизъюнкции отрицания его антецедента и его следствия) и материальной эквивалентности .
Вкратце, мы имеем в математических и инженерных обозначениях:
Отрицание оператора
[ редактировать ]Применяя дух законов Де Моргана , мы получаем:
Отношение к современной алгебре
[ редактировать ]Хотя операторы ( союз ) и ( дизъюнкция ) очень полезны в логических системах, они не позволяют создать более обобщаемую структуру следующим образом:
Системы и являются моноидами , но не являются группой . К сожалению, это препятствует объединению этих двух систем в более крупные структуры, такие как математическое кольцо .
Однако система, использующая эксклюзивные или является абелевой группой . Комбинация операторов и над элементами создают известное двухэлементное поле . Это поле может представлять любую логику, доступную с помощью системы. и имеет дополнительное преимущество в виде арсенала инструментов алгебраического анализа полей.
Точнее, если связать с 0 и с 1 можно интерпретировать логическую операцию «И» как умножение на и операция «XOR» как дополнение к :
Описание булевой функции как многочлена в функции , используя этот базис, называется алгебраической нормальной формой . [3]
Эксклюзивно или на естественном языке
[ редактировать ]Дизъюнкция часто понимается исключительно в естественных языках . В английском языке разделительное слово «или» часто понимается исключительно, особенно когда оно употребляется с частицей «либо». Приведенный ниже английский пример в разговоре обычно понимается как подразумевающий, что Мэри не является одновременно певицей и поэтессой. [4] [5]
- 1. Мэри – певица или поэтесса.
Однако дизъюнкцию можно понимать и включительно, даже в сочетании с «либо». Например, первый пример ниже показывает, что «либо» можно удачно использовать в сочетании с прямым утверждением, что оба дизъюнкта истинны. Второй пример показывает, что исключительный вывод исчезает в нисходящих влекущих контекстах. Если бы в этом примере дизъюнкция понималась как исключающая, это оставило бы открытой возможность того, что некоторые люди ели и рис, и бобы. [4]
- 2. Мэри либо певица, либо поэтесса, либо и то, и другое.
- 3. Никто не ел ни риса, ни фасоли.
Примеры, подобные приведенным выше, мотивировали анализ вывода об исключительности как прагматических разговорных импликатур, рассчитанных на основе инклюзивной семантики . Импликатуры обычно отменяемы и не возникают в нисходящих контекстах, если их расчет зависит от Максимы Количества . Однако некоторые исследователи рассматривали исключительность как добросовестное семантическое следствие и предлагали неклассическую логику, которая могла бы ее подтвердить. [4]
Такое поведение английского «или» встречается и в других языках. Однако во многих языках есть дизъюнктивные конструкции, которые являются строго исключающими, например, во французском языке soit... soit . [4]
Альтернативные символы
[ редактировать ]Символ, используемый для исключительной дизъюнкции, варьируется от одной области применения к другой и даже зависит от свойств, подчеркиваемых в данном контексте обсуждения. Помимо аббревиатуры «XOR», также может встречаться любой из следующих символов:
- был использован Джорджем Булем в 1847 году. [6] Хотя Буль использовал главным образом на занятиях, он также рассматривал случай, что это предложения в , и в то время является связкой. Более того, Буль использовал его исключительно. Хотя такое использование не показывает связи между инклюзивной дизъюнкцией (для которой в настоящее время почти постоянно используется) и исключительную дизъюнкцию, а также может привести к путанице с другими его использованиями, в некоторых классических и современных учебниках все еще сохраняется такое использование. [7] [8]
- использовался Кристиной Лэдд-Франклин в 1883 году. [9] Строго говоря, Лэдд использовал выразить " нет " или "Нет является ", то есть используется как исключения, хотя и неявно имеет значение исключительной дизъюнкции, поскольку статья называется «Об алгебре логики».
- , обозначающий отрицание эквивалентности , был использован Эрнстом Шрёдером в 1890 году, [10] : 307 Хотя использование поскольку эквивалентность может быть датирована Джорджем Булем в 1847 году, [6] в течение 40 лет после Буля его последователи, такие как Чарльз Сандерс Пирс , Хью МакКолл , Джузеппе Пеано и так далее, не использовали как неэквивалентность в буквальном смысле, возможно, потому, что ее можно легко определить через отрицание и эквивалентность.
- был использован Джузеппе Пеано в 1894 году: « . Знак соответствует латинскому aut ; знак к вел .» [11] : 10 Обратите внимание, что латинское слово «aut» означает «исключающее или», а «vel» означает «включающее или», и что Пеано использует как инклюзивная дизъюнкция.
- was used by Израиль Solomonovich Gradshtein (Израиль Соломонович Градштейн) in 1936. [12] : 76
- использовался Клодом Шенноном в 1938 году. [13] Шеннон позаимствовал этот символ как исключительную дизъюнкцию у Эдварда Вермили Хантингтона в 1904 году. [14] Хантингтон позаимствовал символ у Готфрида Вильгельма Лейбница в 1890 году (исходная дата точно не известна, но почти наверняка он написан после 1685 года; а временем публикации является 1890 год). [15] Хотя и Хантингтон в 1904 году, и Лейбниц в 1890 году использовали символ как алгебраическую операцию. Более того, Хантингтон в 1904 году использовал этот символ и как инклюзивную дизъюнкцию (логическую сумму), а в 1933 году использовал как инклюзивная дизъюнкция. [16]
- , также обозначающий отрицание эквивалентности , был использован Алонсо Чёрчем в 1944 году. [17]
- (как префиксный оператор , ) использовался Юзефом Марией Боченским в 1949 году. [2] : 16 Кто-нибудь [18] может ошибаться, что именно Ян Лукасевич первым использовал за исключительную дизъюнкцию (кажется, ошибка широко распространена), хотя ни в 1929 г. [19] и в других работах Лукасевич не использовал подобного. Фактически, в 1949 году Боченский ввел систему польской записи , в которой названы все 16 бинарных связок классической логики, которая является совместимым расширением системы обозначений Лукасевича 1929 года и в которой ибо эксклюзивная дизъюнкция появилась впервые. Использование Боченским поскольку исключительная дизъюнкция не имеет никакого отношения к польскому «alternatywa rozłączna», означающему «исключительное или», и является случайностью, о которой см. таблицу на странице 16 книги 1949 года.
- ^ , каретка , использовалась в нескольких языках программирования для обозначения побитового исключающего оператора or, начиная с C. [20] а также C++ , C# , D , Java , Perl , Ruby , PHP и Python .
- Симметричная разность двух множеств и , что можно интерпретировать как их поэлементное исключение или по-разному обозначать как , , или . [21]
Характеристики
[ редактировать ]- Коммутативность : да
- Ассоциативность : да
- Дистрибутивность :
- Исключающее or не распространяется ни на одну двоичную функцию (даже на саму себя), но логическое соединение распространяется на исключающее или . (Соединение и исключение или образуют операции умножения и сложения поля GF (2) и, как и в любом поле, они подчиняются закону распределения.)
- Идемпотентность : нет
- Монотонность : нет
- Сохранение истины: нет
- Когда все входные данные верны, выходные данные неверны.
- Сохранение ложности: да
- Когда все входные данные ложны, выходной сигнал является ложным.
- Спектр Уолша : (2,0,0,−2)
- Нелинейность 0 :
- Функция линейная.
- Инволюция:
- Исключающая или с одним указанным входным сигналом, как функция другого входного сигнала, является инволюционной или самообратной функцией; применение его дважды оставляет ввод переменной неизменным.
Если используются двоичные значения для true (1) и false (0), то исключающее или работает точно так же, как сложение по модулю 2.
Информатика
[ редактировать ]Побитовая операция
[ редактировать ]Исключающая дизъюнкция часто используется для побитовых операций. Примеры:
- 1 БЕСПЛАТНО 1 = 0
- 1 БЕСПЛАТНО 0 = 1
- 0 БЕСПЛАТНО 1 = 1
- 0 БЕСПЛАТНО 0 = 0
- 1110 2 XOR 1001 2 = 0111 2 (это эквивалентно сложению без переноса )
Как отмечалось выше, поскольку исключающая дизъюнкция идентична сложению по модулю 2, побитовая исключающая дизъюнкция двух n -битных строк идентична стандартному вектору сложения в векторном пространстве. .
В информатике исключительная дизъюнкция имеет несколько применений:
- Он сообщает, являются ли два бита неравными.
- Это необязательный бит-флиппер (решающий вход выбирает, инвертировать ли входные данные).
- Он сообщает, существует ли нечетное число 1 бит ( истинно тогда и только тогда, когда нечетное число переменных истинно), что равно биту четности, возвращаемому функцией четности .
В логических схемах простой сумматор можно создать с логическим элементом «исключающее ИЛИ» для сложения чисел и серией логических элементов «И», «ИЛИ» и «НЕ» для создания вывода переноса.
В некоторых компьютерных архитектурах более эффективно хранить ноль в регистре путем выполнения операции XOR самого себя (биты, подвергнутые операции XOR сами по себе, всегда равны нулю), чем загружать и сохранять нулевое значение.
В криптографии XOR иногда используется как простая самообратная функция смешивания, например, в одноразовых блокнотах или сетевых системах Фейстеля. [ нужна ссылка ] XOR также широко используется в блочных шифрах, таких как AES (Rijndael) или Serpent, а также в реализации блочных шифров (CBC, CFB, OFB или CTR).
с пороговой активацией В простых искусственных нейронных сетях моделирование функции XOR требует второго уровня, поскольку XOR не является линейно разделимой функцией.
Аналогично, XOR можно использовать при создании пулов энтропии для аппаратных генераторов случайных чисел . Операция XOR сохраняет случайность, а это означает, что случайный бит, подвергнутый операции XOR с неслучайным битом, приведет к получению случайного бита. Несколько источников потенциально случайных данных можно объединить с помощью XOR, и непредсказуемость выходных данных гарантированно будет не хуже, чем у лучшего отдельного источника. [22]
XOR используется в RAID 3–6 для создания информации о четности. Например, RAID может «резервировать» байты 10011100 2 и 01101100 2 с двух (или более) жестких дисков путем операции XOR только что упомянутых байтов, в результате чего получается ( 11110000 2 ), и записывается на другой диск. Согласно этому методу, если какой-либо из трех жестких дисков утерян, потерянный байт можно воссоздать путем операции XOR байтов с оставшихся дисков. Например, если диск, содержащий 01101100 2 , потерян, 10011100 2 и 11110000 2 можно выполнить с помощью операции XOR для восстановления потерянного байта. [23]
XOR также используется для обнаружения переполнения в результате знаковой двоичной арифметической операции. Если самый левый оставшийся бит результата не совпадает с бесконечным числом цифр слева, это означает, что произошло переполнение. Если произойдет переполнение, операция XOR этих двух битов даст «1».
XOR можно использовать для замены двух числовых переменных в компьютерах с использованием алгоритма замены XOR ; однако это считается скорее диковинкой и не поощряется на практике.
Связанные списки XOR используют свойства XOR, чтобы сэкономить место для представления структур данных двусвязного списка .
В компьютерной графике методы рисования на основе XOR часто используются для управления такими элементами, как ограничивающие рамки и курсоры, в системах без альфа-каналов или плоскостей наложения.
Кодировки
[ редактировать ]Ее еще называют «стрелка не влево-вправо» ( \nleftrightarrow
) в LaTeX ( уценке на основе ). Помимо кодов ASCII, оператор кодируется в U+22BB ⊻ Исключающее ИЛИ ( &вибар; ) и U + 2295 ⊕ ОБВЕДЕННЫЙ ПЛЮС ( ⊕, ⊕ ), оба в блоке математических операторов .
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Гермундссон, Роджер; Вайсштейн, Эрик. «ИСКЛЮЧАЮЩЕЕ ИЛИ» . Математический мир . Вольфрам Исследования . Проверено 17 июня 2015 г.
- ^ Jump up to: а б Боченский, Ю.М. (1949). Краткое изложение математической логики (PDF) (на французском языке). Нидерланды: Ф.Г. Крундер, Буссум, Нидерланды. Переведено как Боченский, Ю. М. (1959). Краткое изложение математической логики . Перевод Берда, О. Дордрехт, Голландия: Издательство D. Reidel Publishing Company. дои : 10.1007/978-94-017-0592-9 . ISBN 978-90-481-8329-6 .
- ^ Жу, Антуан (2009). «9.2: Алгебраические нормальные формы булевых функций» . Алгоритмический криптоанализ . ЦРК Пресс. стр. 285–286. ISBN 9781420070033 .
- ^ Jump up to: а б с д Алони, Мария (2016). «Дизъюнкция» . В Залте, Эдвард Н. (ред.). Стэнфордская энциклопедия философии (изд. Зима 2016 г.). Лаборатория метафизических исследований Стэнфордского университета . Проверено 3 сентября 2020 г.
- ↑ Дженнингс цитирует многочисленных авторов, утверждающих, что слово «или» имеет исключительный смысл. См. главу 3, «Первый миф об «Ори»»:
Дженнингс, Р.Э. (1994). Генеалогия дизъюнкции . Нью-Йорк: Издательство Оксфордского университета. - ^ Jump up to: а б Буль, Г. (1847). Математический анализ логики как очерк дедуктивного рассуждения . Кембридж/Лондон: Макмиллан, Барклай и Макмиллан/Джордж Белл. п. 17.
- ^ Эндертон, Х. (2001) [1972]. Математическое введение в логику (2-е изд.). Сан-Диего, Нью-Йорк, Бостон, Лондон, Торонто, Сидней и Токио: научно-технологическая компания Harcourt. п. 51.
- ^ Раутенберг, В. (2010) [2006]. Краткое введение в математическую логику (3-е изд.). Нью-Йорк, Дордрехт, Гейдельберг и Лондон: Springer. п. 3.
- ^ Лэдд, Кристина (1883). «Об алгебре логики» . В Пирсе, CS (ред.). Исследования в области логики, проводимые членами Университета Джонса Хопкинса . Бостон: Литтл, Браун и компания. стр. 17–71.
- ^ Шредер, Э. (1890). Лекции по алгебре логики (Точная логика), том первый (на немецком языке). Лейпциг: Печать и издательство Б. Г. Тойбнера. Перепечатано Thoemmes Press в 2000 году.
- ^ Пеано, Г. (1894). Математически-логические обозначения. Введение в математический вид . Турин: Фрателли Боккна. Перепечатано в Пеано, Г. (1958). Избранные сочинения, том II . Рим: Кремонские издания. стр. 123–176.
- ^ ГРАДШТЕЙН, И. С. (1959) [1936]. ПРЯМАЯ И ОБРАТНАЯ ТЕОРЕМЫ: ЭЛЕМЕНТЫ АЛГЕБРЫ ЛОГИКИ (in Russian) (3 ed.). МОСКВА: ГОСУДАРСТВЕННОЕ ИЗДАТЕЛЬСТВО ФИЗИКа-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ. Translated as Градштейн И.С. (1963). Прямые и обратные теоремы: элементы символической логики . Перевод Боддингтона, Т. Оксфорда, Лондон, Нью-Йорк и Париж: Pergamon Press.
- ^ Шеннон, CE (1938). «Символический анализ релейных и коммутационных схем» (PDF) . Труды Американского института инженеров-электриков . 57 (12): 713–723. дои : 10.1109/T-AIEE.1938.5057767 . hdl : 1721.1/11173 . S2CID 51638483 .
- ^ Хантингтон, Э.В. (1904). «Наборы независимых постулатов алгебры логики». Труды Американского математического общества . 5 (3): 288–309. дои : 10.1090/S0002-9947-1904-1500675-4 .
- ^ Лейбниц, Г.В. (1890) [16??/17??]. Герхардт, CI (ред.). Философские сочинения, седьмой том (на немецком языке). Берлин: Вайдманн. п. 237 . Проверено 7 июля 2023 г.
- ^ Хантингтон, Э.В. (1933). «Новые наборы независимых постулатов алгебры логики, с особым упором на Principia Mathematica Уайтхеда и Рассела». Труды Американского математического общества . 35 (1): 274–304.
- ^ Черч, А. (1996) [1944]. Введение в математическую логику . Нью-Джерси: Издательство Принстонского университета. п. 37.
- ^ Крейг, Эдвард (1998). Философская энциклопедия Рутледжа, том 8 . Тейлор и Фрэнсис . п. 496. ИСБН 978-0-41507310-3 .
- ^ Лукасевич, Ян (1929). математической логики ( Элементы на польском языке) (1-е изд.). Варшава, Польша: Национальное научное издательство .
- ^ Керниган, Брайан В .; Ричи, Деннис М. (1978). «2.9: Побитовые логические операторы» . Язык программирования Си . Прентис-Холл. стр. 44–46.
- ^ Вайсштейн, Эрик В. «Симметричная разница» . Математический мир .
- ^ Дэвис, Роберт Б. (28 февраля 2002 г.). «Исключающее ИЛИ (XOR) и аппаратные генераторы случайных чисел» (PDF) . Проверено 28 августа 2013 г.
- ^ Нобель, Рикард (26 июля 2011 г.). «Как на самом деле работает RAID 5» . Проверено 23 марта 2017 г.