Disjunktio

Disjunktio
TAI

Venn kaavio
Määritelmä
totuustaulukko
logiikka portti
normaaleja muotoja
Disjunktiivinen
sidekalvo
Zhegalkinin polynomi
Jäsenyys valmiilla luokilla
Säästää 0 Joo
Säästää 1 Joo
Yksitoikkoinen Joo
lineaarinen Ei
Itsenäinen kaksinkertainen Ei

Disjunktio ( lat.  disjunctio  - "disjunktio"), looginen lisäys , looginen TAI , mukaan lukien TAI ; joskus vain TAI  on looginen operaatio , sovellettaessa mahdollisimman lähellä liittoa "tai" merkityksessä "joko tämä tai tuo tai molemmat kerralla" [1] .

Disjunktio voi olla joko binäärinen (jossa on kaksi operandia) tai -ary (jolla on operandit) mielivaltaiselle .

Merkintä voi olla etuliite  - operaatiomerkki tulee ennen operandia ( puolalainen notaatio ), infix  - operaatiomerkki tulee operandien väliin tai jälkiliite  - operaatiomerkki tulee operandien jälkeen. Kun operandien lukumäärä on enemmän kuin kaksi, etuliitteen ja jälkiliitteen merkinnät ovat taloudellisempia.

Merkintä

Yleisin disjunktiooperaation merkintä on:

|| |

Samaan aikaan kansainvälisen ISO 31-11 -standardin suosittelema merkintätapa on laajimmin käytetty modernissa matematiikassa ja matemaattisessa logiikassa [2] . Se ei ilmestynyt heti: George Boole , joka loi perustan symbolisen menetelmän systemaattiselle soveltamiselle logiikkaan, ei toiminut disjunktion kanssa (käyttäen sen sijaan tiukkaa disjunktiota , jonka hän merkitsi + -merkillä ), ja William Jevons ehdotti merkkiä disjunktiota varten . Ernst Schroeder ja P. S. Poretsky käyttivät jälleen merkkiä + , mutta suhteessa tavalliseen disjunktioon [3] . Symboli disjunktion nimityksenä esiintyy ensimmäisen kerran Bertrand Russellin (1908) artikkelissa "Matemaattinen logiikka, joka perustuu tyyppiteoriaan" [4] ; se on johdettu lat. vel , joka tarkoittaa "tai" [5] [6] . ·|·  

Disjunktion merkintää ⋁käytettiin myös varhaisessa ohjelmointikielessä Algol 60 [7] . Kuitenkin, koska useimmissa tietokoneissa käytetyissä vakiomerkistöissä (esimerkiksi ASCII- tai EBCDIC - merkistöissä ) ei ollut vastaavaa merkkiä , yleisimmin käytetyt ohjelmointikielet tarjosivat muita merkintöjä disjunktiota varten. Näin ollen Fortran IV :ssä ja PL/I :ssä käytettiin nimityksiä ja (mahdollisuudella korvata jälkimmäinen avainsanalla ) [8] ; varattu sana [9] [10] on käytössä Pascalissa ja Adassa ; C- ja C++-kielet käyttävät merkintää bittikohtaiseen disjunktioon ja loogiseen disjunktioon [11] ). .OR.| ORor|||

Lopuksi kaksiarvoisen logiikan totuusarvojen luonnollisessa järjestyksessä (kun oletetaan, että ) käy ilmi, että Siten disjunktio osoittautuu maksimilaskennan erikoistapaukseksi ; tämä avaa luonnollisimman tavan määritellä disjunktiotoiminto moniarvologiikan järjestelmissä [12] [13] .

Boolen algebra

Loogista funktiota MAX kaksiarvoisessa (binäärilogiikassa) kutsutaan disjunktioksi ( looginen "OR" , looginen lisäys tai yksinkertaisesti "OR" ). Tulos on yhtä suuri kuin suurin operandi.

Boolen algebrassa disjunktio on kahden, kolmen tai useamman muuttujan funktio (ne ovat myös operaation operandeja, ne ovat myös funktion argumentteja). Näin ollen tulos on , jos kaikki operandit ovat yhtä suuret ; kaikissa muissa tapauksissa tulos on .

totuustaulukko

Totuustaulukko ternääriselle (kolmen operandin) disjunktiolle:

0 0 0 0
0 0 yksi yksi
0 yksi 0 yksi
0 yksi yksi yksi
yksi 0 0 yksi
yksi 0 yksi yksi
yksi yksi 0 yksi
yksi yksi yksi yksi

Moniarvoinen logiikka

Toimintoa, jota kutsutaan binäärilogiikassa disjunktioksi , kutsutaan maksimiksi moniarvologiikassa : , missä , a  on logiikan arvo. Muut vaihtoehdot ovat mahdollisia[ mitä? ] . Yleensä he yrittävät ylläpitää yhteensopivuutta Boolen algebran kanssa operandien arvojen suhteen .

Tämän toiminnon maksiminimellä on järkeä millä tahansa arvolla, mukaan lukien binäärilogiikassa, ja nimet disjunktio , looginen "OR" , looginen lisäys ja yksinkertaisesti "OR" ovat ominaisia ​​binäärilogiikalle, ja niitä käytetään harvemmin siirrettäessä moniarvoinen logiikka.

Klassinen logiikka

Klassisessa lauselaskennassa disjunktion ominaisuudet määritellään aksioomien avulla . Klassinen lauselaskenta voidaan antaa erilaisilla aksioomijärjestelmillä, ja osa niistä kuvaa disjunktion ominaisuuksia. Yksi yleisimmistä vaihtoehdoista sisältää 3 disjunktion aksioomia:

Näitä aksioomia voidaan käyttää todistamaan muita disjunktiooperaation sisältäviä kaavoja. Huomaa, että klassisessa lauselaskennassa tulosta ei lasketa operandien arvoista (kuten Boolen algebrassa), vaan kaava on todistettava kokonaisuutena aksioomien ja päättelysääntöjen perusteella.

Piiri

Mnemoninen sääntö disjunktiolle minkä tahansa tulomäärän kanssa on: Lähtö on:

Joukkoteoria

Joukkoteorian kannalta disjunktio on analoginen liiton toiminnan kanssa .

Ohjelmointi

Tietokonekielissä disjunktiosta on kaksi päävaihtoehtoa: looginen "OR" ja bittikohtainen "OR". Esimerkiksi C/C++/Perl/PHP:ssä looginen "OR" on merkitty symbolilla "||" ja bittikohtaisesti "OR" symbolilla "|". Pascal/Delphi-kielissä molemmat disjunktiot merkitään avainsanalla " tai " , ja operaation tulos määräytyy operandien tyypin mukaan. Jos operandit ovat boolen tyyppiä (esimerkiksi Boolean), suoritetaan looginen toiminto, jos kokonaisluku (esimerkiksi tavu) on bittikohtainen operaatio.

Loogista "OR":ta käytetään ehdollisissa hyppyoperaattoreissa tai vastaavissa tapauksissa, kun vaaditaan tulos tai . Esimerkiksi:

jos ( a || b ) { /* joitakin toimia */ };

Tulos on yhtä suuri , jos molemmat operandit ovat yhtä suuret tai . Joka muussa tapauksessa tulos on .

Tässä tapauksessa sovelletaan vakiosopimusta: jos vasemman operandin arvo on yhtä suuri kuin , oikean operaandin arvoa ei lasketa (sen sijaan voi olla monimutkainen kaava). Tämä käytäntö nopeuttaa ohjelman suorittamista ja on hyödyllinen tekniikka joissakin tapauksissa. Delphi-kääntäjä tukee erityistä direktiiviä, joka sisältää

{$B-}

tai sammuttamalla

{$B+}

samanlaista käytöstä. Jos esimerkiksi vasen operandi tarkistaa, onko oikea operandi arvioitava:

if ( a == NULL || a -> x == 0 ) { /* joitakin toimia */ };

Tässä esimerkissä vasemman operandin tarkistuksen vuoksi nollaosoittimen viittausta ei koskaan tapahdu oikealla operandilla.

Bittikohtainen TAI suorittaa tavanomaisen Boolen algebra-operaation kaikille vasemman ja oikean operandin biteille pareittain. Esimerkiksi,

jos
a =
b=
sitten
a TAI b =

Suhde luonnolliseen kieleen

Disjunktion ja konjunktion "tai" välinen samankaltaisuus luonnollisessa kielessä tulee usein esiin, kun sitä käytetään merkityksessä "joko tämä tai tuo tai molemmat kerralla". Oikeudellisissa asiakirjoissa he kirjoittavat usein: "ja (tai)", joskus "ja / tai", mikä tarkoittaa "joko tätä tai tuota tai molempia kerralla". Yhdistelmäväite "A ja/tai B" katsotaan epätosi, kun molemmat väitteet A ja B ovat vääriä, muuten yhdistelmäväite on tosi. Tämä vastaa täsmälleen Boolen algebran disjunktion määritelmää, jos "tosi" on merkitty :lla ja "epätosi" -merkillä .

Luonnollisen kielen moniselitteisyys piilee siinä, että liittoa "tai" käytetään kahdessa merkityksessä: joko merkitsemään disjunktiota, sitten toista operaatiota - tiukkaa disjunktiota ( poissulkeva "TAI" ).

Katso myös

Muistiinpanot

  1. Gutnikov V. S. . Integroitu elektroniikka mittauslaitteissa. - L .: Energia , 1974. - 144 s.  - S. 14-16.
  2. Kondakov, 1975 , s. 534.
  3. Styazhkin N. I. . Matemaattisen logiikan muodostuminen. — M .: Nauka , 1967. — 508 s.  - S. 320, 349, 352, 368.
  4. Russell B.  Matemaattinen logiikka tyyppiteorian perusteella  // American Journal of Mathematics . - 1908. - Voi. 30, ei. 3. - s. 222-262.
  5. Joukkoteorian ja -logiikan symbolien varhaisimmat käyttötavat . // Verkkosivusto Jeff Millerin Web-sivut . Haettu 5. helmikuuta 2016. Arkistoitu alkuperäisestä 20. helmikuuta 1999.
  6. Kondakov, 1975 , s. 149-150.
  7. Kondakov, 1975 , s. kolmekymmentä.
  8. Pratt T. Ohjelmointikielet: kehitys ja toteutus. — M .: Mir , 1979. — 574 s.  - S. 352, 439.
  9. Grogono P. . Ohjelmointi Pascalilla. — M .: Mir , 1982. — 384 s.  - S. 51.
  10. Wegner P. . Ohjelmointi Ada-kielellä. — M .: Mir , 1983. — 240 s.  - S. 68.
  11. Ellis M. , Stroustrup B  .. Viiteopas C++-ohjelmointikieleen kommentteineen. — M .: Mir , 1992. — 445 s. — ISBN 5-03-002868-4 .  - S. 65, 86-87.
  12. Yablonsky S. V.  . Johdatus diskreettiin matematiikkaan. — M .: Nauka , 1979. — 272 s.  - S. 9-10, 37.
  13. Rvachev V. L.  . R -funktioiden teoria ja eräät sen sovellukset. - Kiova: Naukova Dumka , 1982. - 552 s.  - S. 38, 66.

Kirjallisuus