Диз’юнкція

Матеріал з Seo Wiki - Пошукова Оптимізація та Програмування

Диз'юнкція- логічна операція, за своїм застосуванням максимально наближена до союзу "або" в сенсі "або те, або це, або обидва відразу". Синоніми:логічне «АБО»,що включає «АБО»,логічне складення, іноді просто«АБО».

Диз'юнкція може бутибінарноюоперацією, тобто мати два операнда,тринарноюоперацією, тобто мати три операнда абоn-арноюоперацією, тобто мати n операндів . Запис може бутипрефіксний- знак операції стоїть перед операндами (польський запис),інфіксний- знак операції стоїть між операндами абопостфіксний- знак операції стоїть після операндів. При числі операндів більше 2-х префіксних і постфіксних записів економічніше. Найчастіше зустрічаються такі варіанти запису:

Зміст

Бульова алгебра

У булевій алгебрі диз'юнкція - це функція двох, трьох або більше змінних (вони ж - операнди операції, вони - аргументи функції). Правило: результат дорівнює

0 якщо всі операнди рівні

0; у решті випадків результат дорівнює

Таблиця істинності

a \lor b

Бінарної диз'юнкції відповідає бінарна функціяf(10,1,1110)2(x, ​​y)=f(2,1,14)10(x, y). Таблиця істинності для тринарної (трихоперандної) диз'юнкції:

X Y Z X \lor Y \lor Z
0000
1001
0101
1101
0011
1011
0111
1111

Тринарної диз'юнкції відповідає тринарна функціяf(11,1,11111110)2(x, ​​y)=f(3,1,254)10(x, y).

Багатозначна логіка

У багатозначній логіці операція диз'юнкції може визначатися іншими способами. Найчастіше застосовується схема: a \ lor b = max(a, b) , де

a, b \in [0, 1]. Можливі інші варіанти. Як правило, намагаються зберегти сумісність із булевою алгеброю для значень операндів.

Класична логіка

У класичному вирахуванні висловлювань властивості диз'юнкції визначаються за допомогою аксіом. Класичне обчислення висловлювань може бути задано різними системами аксіом, і деякі з них описуватимуть властивості диз'юнкції. Один із найпоширеніших варіантів включає 3 аксіоми для диз'юнкції:

(a \to c) \to ((b \to c) \to ((a \lor b) \to c))

За допомогою цих аксіом можна довести інші формули, які містять операцію диз'юнкції. Зверніть увагу, що в класичному обчисленні висловлювань не відбувається обчислення результату за значеннями операндів (як у булевій алгебрі), а потрібно довести формулу як єдине ціле на основі аксіом та правил виведення.

Програмування

У комп'ютерних мовах використовують два основних варіанти диз'юнкції: логічне «АБО» і побітове «АБО». Наприклад, у мовах C/C++ логічне «АБО» позначається символом "", а побітове - символом "". У мовах Pascal/Delphi обидва види диз'юнкції позначаються з допомогою ключового слова «or», а результат дії визначається типом операндов. Якщо операнди мають логічний тип (наприклад, Boolean) - виконується логічна операція, якщоцілий (наприклад, Byte) - порозрядна.

Логічне «АБО» застосовується в операторах умовного переходу або в аналогічних випадках, коли потрібне отримання результату

Результат дорівнюватиме

false , якщо обидва операнди рівні

0 . У будь-якому іншому випадку результат дорівнюватиме

При цьому застосовується стандартна угода: якщо значення лівого операнда дорівнює

true , то значення правого операнда не обчислюється (замість

b може бути складна формула). Така угода прискорює виконання програми та є корисним прийомом у деяких випадках. Компілятор Delphi підтримує спеціальну директиву, що включає

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

Побітове «АБО» виконує звичайну операцію булевої алгебри для всіх бітів лівого та правого операнда попарно. Наприклад,

якщо
a =

01100101_2b =

00101001_2тоa АБО b =

01101101_2

Зв'язок із природною мовою

Часто вказують на подібність між диз'юнкцією та союзом «або» в природній мові, коли він вживається в сенсі «або те, або те, або обидва відразу». У юридичних документах часто пишуть: «і/або», маючи на увазі «чи те, чи те, чи обидва одразу». Складове твердження «A та/або B» вважається хибним, коли хибні обидва твердження A і B, інакше складне твердження істинно. Це точно відповідає визначенню диз'юнкції в булевій алгебрі, якщо «істину» позначати як 1 , а «брехня» як 0 .

Неоднозначністьприродної мови полягає в тому, що союз «або» використовується у двох значеннях: то дляпозначення диз'юнкції, то для іншої операції - виключає «АБО».