Чому знак + зазвичай використовується як логічний оператор АБО?


14

Кілька днів тому мене запитали, чому в цифровій логіці досить часто використовувати +замість цього vсимволу булевий АБО оператор.

Його аргумент полягав у тому, що це абсолютно протилежне інтуїтивному використанню +для АБО, оскільки це швидше інтерпретується як ІЗ загального використання / контексту.

З Вікі : У логіці та математиці, або це оператор, що відповідає істині, також відомий як (включно) диз'юнкція та чергування. Логічний сполучник, який представляє цього оператора, також відомий як "або" і, як правило, записується як vабо +.

Я провів деякі дослідження і придумав походження vзнака. Походить від латинського слова "vel", що означає "або".

Одне, що додає заплутаної природи, це те, що +означає «і» з історичної точки зору. Згідно з цим і цим було винайдено близько 1360 року і абревіатура для латинського "et" ("і"), що нагадує знак плюс.

Однак я не маю поняття, хто придумав +булеву алгебру, і чому, здається, вона надає перевагу vцифровій логіці / інженерному контексту.


4
АБО схожий на ПЛЮС у «нормальній» математиці. AND схожий НА МНОГО, тому використовується оператор.
Majenko

Можливо, тому що при двійковій логічній оцінці будь-який ненульовий результат вважатиметься "1", тоді "сума" була б правильною.
Початок

2
0 * 1 = 0 і 0 AND 1 = 0. 0 + 1 = 1 і 0 АБО 1 = 1.
Фотон

2
Більш теоретично, 0 - тотальна ідентичність для цілих чисел, 0 - також значення ідентичності для операції АБО на наборі булевих значень. (Вибачте перед будь-якими математиками, якщо я зловживав вашим жаргоном)
The Photon

1
Можливо, хоча клавіатури мають V, це буква V не спеціальна V для або, і вони не мають перевернутого V, для AND. Можливо, якщо на клавіатурах були ключі для цих або навіть просто для АБО, вони б не використовували +
barlop

Відповіді:


16

Одне слово: дистрибуція

Множення є розподільним над додаванням, і так є логічним І розподільним над логічним АБО.

З іншого боку, множення часто використовується без символу ( 2aзамість 2*a), а логічне AND дуже схоже. Якщо і А, і В повинні бути правдивими, писати АВ просто і інтуїтивно.

Це дуже зручно в побудові таблиць істинності та алгоритмів на їх основі.

f=A+BC

навіть хтось із малим досвідом помітить на перший погляд, що fможе статися, коли A справжня, або коли B і C є істинними.

f=ABC
v^

Той факт, що 1 * 0 = 0і 1 + 0 = 1в булевій алгебрі ми вибрали 1означати істину і 0означати хибність, також допомагає визначити, який оператор є. Символи в математиці - це саме те, що символи. Вони мають значення, оскільки ми присвоїли їм значення, тому краще, якщо ми обираємо символи, які легко запам'ятовуються, а їх використання в інших полях схоже.


3
Оператори AND і OR поширюються один на одного таким чином, що множення та додавання не мають. Не тільки A or (B and C)рівнозначно (A or B) and (A or C), але X and (Y or Z)й еквівалентно (X and Y) or (X and Z). І все-таки я вважаю, що той факт, що множення поводиться більше як «і», є достатньою підставою для вирішення того, що «чи» відображається на «+».
supercat

Я, як правило, приймаю цю відповідь, оскільки вона дещо чіткіша і суттєвіша, ніж відповідь від AndrejaKo.
Rev1.0

20

Один рядок міркувань, який я завжди використовував для логічних знаків AND і OR - це їх відношення до математичних операцій, які вони представляють.

Почнемо з логічного І. Його часто представляють як знак множення, наприклад *. Отже, якщо ви маєте довгий вираз, наприклад s1 * s2 * s3 * s4 .... і одна з змінних приймає значення 0, або логічне хибне, то весь вираз прийме значення 0, що цілком нормально для множення , тому що 1 * 1 * 0 * 1 ... дорівнює 0.

З іншого боку, коли ми використовуємо знак +, який зазвичай означає доповнення для відображення логічного АБО, ми маємо подібний випадок. Якщо у нас є декілька змінних, які ORed, то ми знову маємо випадок s1 + s2 + s3 + s4 ... Якщо лише одна зі змінних не є нульовою, то і результат буде не нульовим, що є логічно (ІМХО), коли ми порівнюємо АБО з додаванням. Наприклад, 0 + 0 + 1 + 0 ... дорівнює 1. Один момент, коли це порушується, це те, що у нас є більше, результат все одно лише один. Один із способів мислення, який я використовував для цього, - це просто пам’ятати, що людина являє собою існування, тож щось існує, і ви додасте до нього більше існування, воно все одно буде існувати.


Я думаю, що знак є питанням умовності, оскільки логічні операції визначені булевою алгеброю. Логічна сума добре визначена як логічний добуток, щоб знаком міг бути кожен. Я думаю, що використовуються більш звичні ознаки, які можуть мати певне відношення до визначень. Гарна відповідь.
Мартін Петрей

Цікава відповідь. В якості цікавої точки зору я просто доповнив свою посаду, що, здається, історичне походження +знаку (як двійкового оператора) зводиться до абревіатури для латинського "et" ("і"), що нагадує знак плюс.
Rev1.0

5

"Коротка історія позначення алгебри Була" Майкла Шкродера "Нордичний журнал філософської логіки 2 (1): 41-62 (1997)" пояснює використання + для репрезентації включно - або для Лейбніца в його "Елементі Калькулі", і обговорюється використання позначень Була, а також деякі інші позначення. онлайн-посилання


2

Жодне обговорення того, чому загальновикористовувати + замість ∪, ∨, ∨, ∧, не було б повним, не зазначаючи, що принтери та коди трансляції (такі як Baudot, ITA та ASCII) надавали алфавіт, цифри та "загальні символи бізнесу" '.

Зараз важко уявити, але був час, коли спеціальні символи не були легко представлені на вході, і представляли додаткову вартість навіть при наборі тексту.

Математики (та інші прихильники Алгола) хотіли більшого набору символів з цієї причини, але 50 років тому ви навіть не змогли б висловити більші запитання, окрім написання "чому б ми не використали замість цього перевернутий символ v написання .AND. ? '


Навіть сьогодні введення спеціальних символів - це ще більше зусиль, ніж просто введення чогось, на якому є клавіша на клавіатурі, а символи, що не входять в ascii, іноді збиваються під час переміщення між різними системами (хоча деякі символи ASCII також вразливі через зростання мов розмітки).
Пітер Грін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.