Diszjunkció

Diszjunkció
VAGY

Venn-diagram
Meghatározás
igazságtáblázat
logikai kapu
normál formák
Szétválasztó
kötőhártya
Zhegalkin polinom
Tagság az előre befejezett osztályokban
0-t takarít meg Igen
Megment 1 Igen
Monoton Igen
lineáris Nem
Önkettős Nem

Disjunkció (a lat.  disjunctio  - „disjunkció”) szóból, logikai összeadás , logikai VAGY , beleértve a VAGY ; néha a VAGY  egy logikai művelet , alkalmazásában a lehető legközelebb áll az „vagy” unióhoz , abban az értelemben , hogy „vagy ez, vagy az, vagy mindkettő” [1] .

A diszjunkció lehet bináris (két operandussal) vagy -ary ( operandusokkal) tetszőleges .

A bejegyzés lehet előtag  - a műveleti jel az operandusok elé kerül ( lengyel jelölés ), infix  - a műveleti jel az operandusok közé kerülhet, vagy postfix  - a műveletjel az operandusok után jön. Ha az operandusok száma kettőnél több, az elő- és utótag-jelölések gazdaságosabbak.

Jelölés

A diszjunkciós művelet leggyakoribb jelölése a következő:

|| |

Ugyanakkor a modern matematikában és matematikai logikában az ISO 31-11 nemzetközi szabvány által javasolt jelölés a legelterjedtebb [2] . Nem jelent meg azonnal: George Boole , aki megalapozta a szimbolikus módszer logikára való szisztematikus alkalmazását, nem dolgozott diszjunkcióval ( ehelyett szigorú diszjunkciót használt , amit + jellel jelölt ), William Jevons pedig a jelet javasolta. diszjunkcióra . Ernst Schroeder és P. S. Poretsky ismét a + jelet használta , de a szokásos diszjunkcióval kapcsolatban [3] . A szimbólum , mint a diszjunkció megjelölése, először Bertrand Russell (1908) "Matematikai logika a típuselmélet alapján" [4] című cikkében fordul elő; latból származik . vel , ami "vagy"-t jelent [5] [6] . ·|·  

A ⋁diszjunkció jelölését a korai Algol 60 programozási nyelvben is használták [7] . Mivel azonban a legtöbb számítógépen használt szabványos karakterkészletekben (például ASCII -ben vagy EBCDIC -ben) nincs megfelelő karakter , a legszélesebb körben használt programozási nyelvek más jelöléseket is tartalmaztak a szétválasztáshoz. Így a Fortran IV -ben, illetve a PL/I -ben a és elnevezést használták (utóbbi cseréjének lehetőségével a kulcsszóval ) [8] ; a fenntartott szó [9] [10] Pascalban és Ada -ban használatos ; a C és C++ nyelvek a jelölést használják a bitenkénti diszjunkcióhoz és a logikai diszjunkcióhoz [11] ). .OR.| ORor|||

Végül a kétértékű logika igazságértékeinek természetes sorrendjében (amikor azt feltételezzük, hogy ) kiderül, hogy így a diszjunkció a maximum számítási műveletének speciális esete ; ez nyitja meg a legtermészetesebb módot a diszjunkciós művelet meghatározására sokértékű logikával rendelkező rendszerekben [12] [13] .

Boole-algebra

A MAX logikai függvényt a kétértékű (bináris) logikában diszjunkciónak nevezik ( logikai "VAGY" , logikai összeadás vagy egyszerűen "VAGY" ). Az eredmény egyenlő a legnagyobb operandussal.

A Boole-algebrában a diszjunkció két, három vagy több változó függvénye (egyben egy művelet operandusa, egy függvény argumentuma is). Így az eredmény , ha minden operandus egyenlő ; minden más esetben az eredmény .

igazságtáblázat

Igazságtáblázat hármas (három operandus) diszjunkcióhoz:

0 0 0 0
0 0 egy egy
0 egy 0 egy
0 egy egy egy
egy 0 0 egy
egy 0 egy egy
egy egy 0 egy
egy egy egy egy

Többértékű logika

A bináris logikában diszjunkciónak nevezett műveletet a többértékű logikában maximumnak nevezik : , ahol , a  a logika értéke. Más lehetőségek is lehetségesek[ mi? ] . Általában igyekeznek fenntartani a kompatibilitást a Boole-algebrával az operandusok értékére vonatkozóan .

Ennek a műveletnek a maximum nevének van értelme bármilyen értékű logikában, beleértve a bináris logikát is, és a diszjunkció , logikai "VAGY" , logikai összeadás és egyszerűen "VAGY" nevek a bináris logikára jellemzőek, és ritkábban használatosak, ha többértékű logikák.

Klasszikus logika

A klasszikus propozíciós számításban a diszjunkció tulajdonságait axiómák segítségével határozzuk meg . A klasszikus propozíciószámítás különböző axiómarendszerekkel adható meg, és ezek közül néhány a diszjunkció tulajdonságait írja le. Az egyik leggyakoribb lehetőség 3 diszjunkciós axiómát tartalmaz:

Ezek az axiómák felhasználhatók más, a diszjunkciós műveletet tartalmazó képletek bizonyítására. Kérjük, vegye figyelembe, hogy a klasszikus propozíciós számításban az eredményt nem az operandusok értékéből számítják (mint a Boole-algebrában), hanem a képlet egészét kell igazolni az axiómák és a következtetési szabályok alapján.

Áramkör

A tetszőleges számú bemenettel való diszjunkció mnemonikus szabálya a következő: A kimenet a következő lesz:

Halmazelmélet

A halmazelmélet szempontjából a diszjunkció az unió működésével analóg .

Programozás

A számítógépes nyelvekben a diszjunkciónak két fő változata van: logikai „VAGY” és bitenkénti „VAGY”. Például a C/C++/Perl/PHP nyelvben a logikai "VAGY"-t a "||", a bitenkénti "OR"-t pedig a "|" szimbólum jelöli. A Pascal/Delphi nyelvekben mindkét típusú diszjunkciót a " vagy " kulcsszó jelöli , és a művelet eredményét az operandusok típusa határozza meg. Ha az operandusok logikai típusúak (például Boolean), akkor a rendszer logikai műveletet hajt végre, ha egy egész szám (például bájt) bitenkénti művelet.

A logikai "VAGY" feltételes ugrás operátorokban vagy hasonló esetekben használatos, amikor egy eredmény vagy szükséges . Például:

ha ( a || b ) { /* néhány művelet */ };

Az eredmény akkor lesz egyenlő , ha mindkét operandus egyenlő vagy . Minden más esetben az eredmény az lesz .

Ebben az esetben a szokásos konvenciót alkalmazzuk: ha a bal oldali operandus értéke egyenlő , akkor a jobb oldali operandus értéke nem kerül kiszámításra (ehelyett lehet összetett képlet). Ez a konvenció felgyorsítja a program végrehajtását, és bizonyos esetekben hasznos technika. A Delphi fordító egy speciális direktívát támogat, amely tartalmazza

{$B-}

vagy kikapcsolása

{$B+}

hasonló viselkedés. Például, ha a bal oldali operandus ellenőrzi, hogy a jobb oldali operandust ki kell-e értékelni:

if ( a == NULL || a -> x == 0 ) { /* néhány művelet */ };

Ebben a példában a bal oldali operandus ellenőrzése miatt a jobb oldali operanduson soha nem fordul elő nullmutató hivatkozási eltérés.

A bitenkénti VAGY a szokásos Boole-algebrai műveletet hajtja végre a bal és a jobb oldali operandus összes bitjén páronként. Például,

ha
a =
b=
akkor
a VAGY b =

Kapcsolat a természetes nyelvvel

A disjunkció és a "vagy" kötőszó közötti hasonlóságra a természetes nyelvben gyakran felhívják a figyelmet, amikor "vagy ezt, vagy azt, vagy mindkettőt egyszerre" értelemben használják. A jogi dokumentumokban gyakran írják: "és (vagy)", néha "és / vagy", ami azt jelenti, hogy "vagy ez, vagy az, vagy mindkettő egyszerre". Az "A és/vagy B" összetett állítás hamisnak tekinthető, ha mind A, mind B állítás hamis, ellenkező esetben az összetett állítás igaz. Ez pontosan megfelel a diszjunkció definíciójának a Boole-algebrában, ha az "igaz" -t jelöli , a "hamis" pedig a -val .

A természetes nyelv kétértelműsége abban rejlik, hogy a "vagy" unió két jelentésben használatos: vagy a diszjunkció jelölésére, majd egy másik műveletre - a szigorú diszjunkcióra ( kizárólagos "OR" ).

Lásd még

Jegyzetek

  1. Gutnikov V. S. . Integrált elektronika a mérőműszerekben. - L . : Energia , 1974. - 144 p.  - S. 14-16.
  2. Kondakov, 1975 , p. 534.
  3. Styazhkin N. I. . A matematikai logika kialakulása. — M .: Nauka , 1967. — 508 p.  - S. 320, 349, 352, 368.
  4. Russell B.  Matematikai logika a típuselmélet alapján  // American Journal of Mathematics . - 1908. - Kt. 30, sz. 3. - P. 222-262.
  5. A halmazelmélet és -logikai szimbólumok legkorábbi felhasználásai . // Weboldal Jeff Miller weboldalak . Letöltve: 2016. február 5. Az eredetiből archiválva : 1999. február 20..
  6. Kondakov, 1975 , p. 149-150.
  7. Kondakov, 1975 , p. harminc.
  8. Pratt T. Programozási nyelvek: fejlesztés és megvalósítás. — M .: Mir , 1979. — 574 p.  - S. 352, 439.
  9. Grogono P. . Programozás Pascalban. — M .: Mir , 1982. — 384 p.  - S. 51.
  10. Wegner P. . Programozás Ada nyelven. — M .: Mir , 1983. — 240 p.  - S. 68.
  11. Ellis M. , Stroustrup B  .. Útmutató a C++ programozási nyelvhez megjegyzésekkel. — M .: Mir , 1992. — 445 p. — ISBN 5-03-002868-4 .  - S. 65, 86-87.
  12. Yablonsky S. V.  . Bevezetés a diszkrét matematikába. — M .: Nauka , 1979. — 272 p.  - S. 9-10, 37.
  13. Rvachev V. L.  . Az R -függvények elmélete és néhány alkalmazása. - Kijev: Naukova Dumka , 1982. - 552 p.  - S. 38, 66.

Irodalom