Ero sivun ”Disjunktio” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
viilausta
p typoja ja kummia kappalejakoja
Rivi 4: Rivi 4:
'''Disjunktio''' on [[propositiologiikka|propositiologiikassa]] kaksipaikkainen [[looginen konnektiivi]], joka vastaa yleiskielen sanaa ''tai''. Sillä muodostettu yhdistetty lause on tosi, jos ainakin yksi sen yhdistämistä lauseista on tosi, muussa tapauksessa epätosi.<ref name=Standord>{{verkkoviite | Osoite = http://plato.stanford.edu/entries/disjunction/ | Nimeke = Disjunction | Julkaisija = Stanford Enclycopedia of Philosophy | Viitattu = 9.4.2015}}</ref> Lauseiden ''A'' ja ''B'' disjunktiolle käytetään merkintää <math>A \or B</math>.
'''Disjunktio''' on [[propositiologiikka|propositiologiikassa]] kaksipaikkainen [[looginen konnektiivi]], joka vastaa yleiskielen sanaa ''tai''. Sillä muodostettu yhdistetty lause on tosi, jos ainakin yksi sen yhdistämistä lauseista on tosi, muussa tapauksessa epätosi.<ref name=Standord>{{verkkoviite | Osoite = http://plato.stanford.edu/entries/disjunction/ | Nimeke = Disjunction | Julkaisija = Stanford Enclycopedia of Philosophy | Viitattu = 9.4.2015}}</ref> Lauseiden ''A'' ja ''B'' disjunktiolle käytetään merkintää <math>A \or B</math>.


Näin määritellystä disjunktiosta käytetään myös nimitystä ''inklusiivinen tai'' eli ''inklusiivinen disjunktio'' erotukseksi [[ekslusiivinen disjunktio|ekslusiivisesta disjunktiosta]] ("joko A tai B, mutta ei molemmat"), joka on tosi vain silloin, jos vain toinen sen yhdistämistä lauseista on tosi.<ref name=Ensyklopedia>{{kirjaviite | Nimeke = Otavan suuri ensyklopedia, 5. osa (Kriminologia–Makuaisti) | Sivu = 3800 | Kirjoittaja = Ilkka Niiniluoto | Luku = Logiikka (Lauselogiikka, Konnektiivit) | Julkaisija = Otava | Vuosi = 1978 | Tunniste = ISBN 951-1-04827-9}}</ref> Koska sanaa ''tai'' käytetään tavallisessa kielessä eri yhteyksissä kummassakin merkityksessä, inklusiivista disjunktiota tarkoitettaessa käytetään mahdollisen väärin­käsityksen välttämiseksi nykyisin joskus ilmaisua ''[[ja/tai]]''.
Näin määritellystä disjunktiosta käytetään myös nimitystä ''inklusiivinen tai'' eli ''inklusiivinen disjunktio'' erotukseksi [[eksklusiivinen disjunktio|eksklusiivisesta disjunktiosta]] ("joko A tai B, mutta ei molemmat"), joka on tosi vain silloin, jos vain toinen sen yhdistämistä lauseista on tosi.<ref name=Ensyklopedia>{{kirjaviite | Nimeke = Otavan suuri ensyklopedia, 5. osa (Kriminologia–Makuaisti) | Sivu = 3800 | Kirjoittaja = Ilkka Niiniluoto | Luku = Logiikka (Lauselogiikka, Konnektiivit) | Julkaisija = Otava | Vuosi = 1978 | Tunniste = ISBN 951-1-04827-9}}</ref> Koska sanaa ''tai'' käytetään tavallisessa kielessä eri yhteyksissä kummassakin merkityksessä, inklusiivista disjunktiota tarkoitettaessa käytetään mahdollisen väärin­käsityksen välttämiseksi nykyisin joskus ilmaisua ''[[ja/tai]]''.


Disjunktioon läheisesti liittyviä käsitteitä muissa yhteyksissä ovat:
Disjunktioon läheisesti liittyviä käsitteitä muissa yhteyksissä ovat:
Rivi 14: Rivi 14:
== Merkinnät ==
== Merkinnät ==


Loogiselle disjunktiolle käytetään kirjallisuudessa useita eri symboleja. Sanan "tai" ({{k-en|or}}) ohella sille käytetään yleisesti symbolia "<math>\or</math>",<ref name=Hazewinkel>{{kirjaviite | Nimeke = Encyclopedia of Mathematics | Kirjoittaja = Michiel Hazewinkel | Luku = Disjunction | Julkaisija = Springer, The European Mathematical Society | Vuosi = 2001 | Tunniste = ISBN 978-1-55608-010-4 | www = http://plato.stanford.edu/entries/disjunction/}}</ref> joka on muodostettu [[latina]]n sanan ''vel'' ("tai") alkukirjaimesta.<ref name=Standord /> Esi­merkiksi "''A'' <math>\or</math> ''B''&nbsp;" luetaan "''A'' tai ''B''". Tällainen disjunktio on epä­tosi vain jos sekä ''A'' että ''B'' ovat epä­tosia lauseita, muussa tapauksessa se on tosi.
Loogiselle disjunktiolle käytetään kirjallisuudessa useita eri symboleja. Sanan "tai" ({{k-en|or}})
ohella sille käytetään yleisesti symbolia "<math>\or</math>",<ref name=Hazewinkel>{{kirjaviite | Nimeke = Encyclopedia of Mathematics | Kirjoittaja = Michiel Hazewinkel | Luku = Disjunction | Julkaisija = Springer, The European Mathematical Society | Vuosi = 2001 | Tunniste = ISBN 978-1-55608-010-4 | www = http://plato.stanford.edu/entries/disjunction/}}</ref> joka on muodostettu [[latina]]n sanan ''vel'' ("tai") alkukirjaimesta.<ref name=Standord /> Esi­merkiksi "''A'' <math>\or</math> ''B''&nbsp;" luetaan "''A'' tai ''B''". Tällainen disjunktio on epä­tosi vain jos sekä ''A'' että ''B'' ovat epä­tosia lauseita, muussa tapauksessa se on tosi.


Kaikki seuraavat ovat disjunktiota:
Kaikki seuraavat ovat disjunktiota:
Rivi 22: Rivi 21:
: <math>A \or \neg B \or \neg C \or D \or \neg E.</math>
: <math>A \or \neg B \or \neg C \or D \or \neg E.</math>


[[Boolen algebra]]ssa disjunktiolle käytetään merkintää <math>A + B</math>. [[Jan Lukasiewicz]]in [[puolalainen notaatio|prefiksinotaatiossa]] disjunktion merkkinä käytetään A-kirjainta, joka on lyhenne [[puolan kieli|puolan kielen]] sanasta ''alternatywa''. Tällöin lauseiden ''p'' ja ''q'' disjunktio merkitään A''pq''.<ref>{{kirjaviite | Tekijä = Jósef Maria Bocheński | Nimeke = A Précis of Mathematical Logic | Selite = Otto Bird kääntänyt englanniksi ranskalaiista ja saksalaisista laitoksista | Julkaisija = D. Reidel | Julkaisupaikka = Dordrecht | Vuosi = 1959}}</ref>
[[Boolen algebra]]ssa disjunktiolle käytetään merkintää <math>A + B</math>. [[Jan Lukasiewicz]]in [[puolalainen notaatio|prefiksinotaatiossa]] disjunktion merkkinä käytetään A-kirjainta, joka on lyhenne [[puolan kieli|puolan kielen]] sanasta ''alternatywa''. Tällöin lauseiden ''p'' ja ''q'' disjunktio merkitään A''pq''.<ref>{{kirjaviite | Tekijä = Jósef Maria Bocheński | Nimeke = A Précis of Mathematical Logic | Selite = Otto Bird kääntänyt englanniksi ranskalaisista ja saksalaisista laitoksista | Julkaisija = D. Reidel | Julkaisupaikka = Dordrecht | Vuosi = 1959}}</ref>


Eri [[ohjelmointikieli]]ssä disjunktiota vastaava operaattori
Eri [[ohjelmointikieli]]ssä disjunktiota vastaava operaattori merkitään tavallisimmin joko sanalla <code>or</code> tai kahdella pystyviivalla (<code>||</code>).
merkitään tavallisimmin joko sanalla <code>or</code> tai kahdella pystyviivalla (<code>||</code>).


== Totuustaulu ==
== Totuustaulu ==
Rivi 50: Rivi 48:
==Ominaisuudet==
==Ominaisuudet==


Looginen disjunktio noudattaa lasku­lakeja, jotka pitkälti ovat analogisia esi­merkiksi [[reaaliluku]]jen lasku­säännöille. Se on [[vaihdannaisuus|vaihdannainen]] ja [[liitännäisyys|liitännäinen]], ja sille pätee myös [[osittelulaki]], kun toisena lasku­toimituksena on looginen [[konjunktio (logiikka)|konjunktio]]. Disjunktio on lisäksi [[idempotenssi|idem­potentti]] eli minkä tahansa lauseen disjunktiolla itsensä kanssa on sama totuus­arvo kuin alku­peräisellä lauseella. Tätä havainnollistavat seuraavat kaaviot:
Looginen disjunktio noudattaa lasku­lakeja, jotka pitkälti ovat analogisia esi­merkiksi [[reaaliluku]]jen lasku­säännöille. Se on [[vaihdannaisuus|vaihdannainen]] ja [[liitännäisyys|liitännäinen]], ja sille pätee myös [[osittelulaki]], kun toisena lasku­toimituksena on looginen [[konjunktio (logiikka)|konjunktio]]. Disjunktio on lisäksi [[idempotenssi|idem­potentti]] eli minkä tahansa lauseen disjunktiolla itsensä kanssa on sama totuus­arvo kuin alku­peräisellä lauseella. Tätä havainnollistavat seuraavat kaaviot:


* '''Vaihdannaisuus'''
* '''Vaihdannaisuus'''
Rivi 116: Rivi 114:
! bgcolor="#ccccff"|muita
! bgcolor="#ccccff"|muita
|-
|-
|
|
liitännäisyys loogisen [[ekvivalenssi]]n suhteen:
liitännäisyys loogisen [[ekvivalenssi]]n suhteen:
{| style="text-align: center; border: 1px solid darkgray;"
{| style="text-align: center; border: 1px solid darkgray;"
Rivi 271: Rivi 269:


[[Kuva:Or-gate-en.svg|thumb|right|150px|[[OR-portti]]]]
[[Kuva:Or-gate-en.svg|thumb|right|150px|[[OR-portti]]]]
Useimmissa [[ohjelmointikieli]]ssä on disjunktiota vastaava operaattori. Se merkitään monissa
Useimmissa [[ohjelmointikieli]]ssä on disjunktiota vastaava operaattori. Se merkitään monissa ohjelmointikielissä [[varattu sana|varatulla sanalla]] <code>or</code>, mutta esimerkiksi [[C (ohjelmointikieli)|C:ssä]] ja siihen pohjautuvissa ohjelmointikielissä kahdella pystyviivalla (<code>||</code>).
ohjelmointikielissä [[varattu sana|varatulla sanalla]] <code>or</code>, mutta esimerkiksi [[C (ohjelmointikieli)|C:ssä]] ja siihen pohjautuvissa ohjelmointikielissä kahdella pystyviivalla (<code>||</code>).


Looginen disjunktio suoritetaan yleensä minimaalisella evaluaatiolla. Tämä merkitsee, että jos sen
Looginen disjunktio suoritetaan yleensä minimaalisella evaluaatiolla. Tämä merkitsee, että jos sen ensimmäinen (vasemmanpuoleinen) operandi on arvoltaan ''tosi'', ohjelma ei edes tarkista, mikä sen jälkimmäisen operandin arvo on.
ensimmäinen (vasemmanpuoleinen) operandi on arvoltaan ''tosi'', ohjelma ei edes tarkista, mikä sen
jälkimmäisen operandin arvo on.


Useimmissa ohjelmointi­kielissä looginen disjunktio antaa tulokseksi aina [[boolean]]-tyyppisen muuttujan, jolla on vain kaksi mahdollista arvoa: tosi (1) tai epätosi (0). Monissa [[Vahva tyypitys|vahvasti tyypitetyissä]] kielissä disjunktio voidaan sitä paitsi suorittaa vain, jos molemmat sillä yhdistetävät operanditkin ovat boolean-tyyppisiä. Joissakin heikosti tyypitetyissä kielissä, esimerkiksi [[C (ohjelmointikieli)|C:ssä]], disjunktio voidaan kuitenkin suorittaa silloinkin, kun operandit ovat esimerkiksi kokonais- tai reaaliluku­tyyppisiä; tällöin tuloksena on 0 (epätosi) vain, jos molemmat operandit ovat nollia, mulloin tuloksena on 1 (tosi). Tällöin siis operandien kaikkien muiden arvon kuin nollan katsotaan vastaavan totuus­arvoa tosi.
Useimmissa ohjelmointi­kielissä looginen disjunktio antaa tulokseksi aina [[boolean]]-tyyppisen muuttujan, jolla on vain kaksi mahdollista arvoa: tosi (1) tai epätosi (0). Monissa [[Vahva tyypitys|vahvasti tyypitetyissä]] kielissä disjunktio voidaan sitä paitsi suorittaa vain, jos molemmat sillä yhdistettävät operanditkin ovat boolean-tyyppisiä. Joissakin heikosti tyypitetyissä kielissä, esimerkiksi [[C (ohjelmointikieli)|C:ssä]], disjunktio voidaan kuitenkin suorittaa silloinkin, kun operandit ovat esimerkiksi kokonais- tai reaaliluku­tyyppisiä; tällöin tuloksena on 0 (epätosi) vain, jos molemmat operandit ovat nollia, mulloin tuloksena on 1 (tosi). Tällöin siis operandien kaikkien muiden arvon kuin nollan katsotaan vastaavan totuus­arvoa tosi.


Muutamissa ohjelmointikielissä kuten [[Python]]issa ja [[JavaScript]]issä disjunktio-operaattori voi
Muutamissa ohjelmointikielissä kuten [[Python]]issa ja [[JavaScript]]issä disjunktio-operaattori voi kuitenkin palauttaa muitakin arvoja kuin 1 tai 0. Tällöin se saa arvokseen operaattorin ensimmäisen operandin arvon, jos se on "tosi" eli ei ole nolla, muussa tapauksessa jälkimmäisen operandin arvon.
kuitenkin palauttaa muitakin arvoja kuin 1 tai 0. Tällöin se saa arvokseen operaattorin ensimmäisen operandin arvon, jos se on "tosi" eli ei ole nolla, muussa tapauksessa jälkimmäisen operandin arvon.


Disjunktiota vastaava [[looginen portti]] on [[OR-portti]].
Disjunktiota vastaava [[looginen portti]] on [[OR-portti]].
Rivi 287: Rivi 281:
=== Biteittäinen operaatio ===
=== Biteittäinen operaatio ===


Joissakin ohjelmointikielissä on määritelty myös ''biteittäinen disjunktio'''. Tällöin operandit,
Joissakin ohjelmointikielissä on määritelty myös ''biteittäinen disjunktio'''. Tällöin operandit, jotka voivat olla esimerkiksi [[binääriluku|binäärisiä]] [[kokonaisluku]]ja, käydään läpi bitti bitiltä ja suoritetaan disjunktio-operaatiot kummankin operandin vastaavien bittien välillä. Tuloksena saadaan muuttuja, jossa kunkin bitin arvo riippuu operandien bittien arvoista seuraavasti:
jotka voivat olla esimerkiksi [[binääriluku|binäärisiä]] [[kokonaisluku]]ja, käydään läpi bitti bitiltä
ja suoritetaan disjunktio-operaatiot kummankin operandin vastaavien bittien välillä. Tuloksena saadaan
muuttuja, jossa kunkin bitin arvo riippuu operandien bittien arvoista seuraavasti:


* 0 <code>or</code> 0 = 0
* 0 <code>or</code> 0 = 0
Rivi 301: Rivi 292:
Biteittäinen disjunktio on käytettävissä muun muassa [[C (ohjelmointikieli)|C-kielessä]], jossa se merkitään yhdellä pystyviivalla (<code>|</code>).
Biteittäinen disjunktio on käytettävissä muun muassa [[C (ohjelmointikieli)|C-kielessä]], jossa se merkitään yhdellä pystyviivalla (<code>|</code>).


Biteittäisellä disjunktiolla voidaan muun muassa asettaa halutulle bitille arvo 1 muiden bittien
Biteittäisellä disjunktiolla voidaan muun muassa asettaa halutulle bitille arvo 1 muiden bittien pysyessä ennallaan. Esimerkiksi lauseella <code>x = x | 0b00000001</code> saadaan muuttujan x viimeinen bitti ykköseksi.
pysyessä ennallaan. Esimerkiksi lauseella <code>x = x | 0b00000001</code> saadaan muuttujan x viimeinen
bitti ykköseksi.


==Unioni==
==Unioni==


Disjunktiota vastaava operaatio [[joukko-oppi|joukko-opissa]] on [[unioni]]. Kahden joukon unioni määritelläänkin disjunktion avulla: <math> a \in A \cup B</math>, jos ja vain jos <math> a \in A \or a \in B</math>. Toisin sanoen alkio ''a'' kuuluu joukkojen ''A'' ja ''B'' unioniin, jos ja vain jos se kuuluu näistä joukoista ainakin toiseen. Tämän vuoksi joukko-opillinen unioni noudattaa pitkälti samoja sääntöjä kuin disjunktiokin: sillekin pätevät vaihdanta-, liitäntä-, osittelu- ja [[de Morganin lait]].
Disjunktiota vastaava operaatio [[joukko-oppi|joukko-opissa]] on [[unioni]]. Kahden joukon unioni
määritelläänkin disjunktion avulla: <math> a \in A \cup B</math>, jos ja vain jos <math> a \in A \or a \in B</math>. Toisin sanoen alkio ''a'' kuuluu joukkojen ''A'' ja ''B'' unioniin, jos ja vain jos se kuuluu näistä joukoista ainakin toiseen. Tämän vuoksi joukko-opillinen unioni noudattaa pitkälti samoja sääntöjä kuin disjunktiokin: sillekin pätevät vaihdanta-, liitäntä-, osittelu- ja [[de Morganin lait]].


== Luonnolliset kielet ==
== Luonnolliset kielet ==


[[Matemaattinen logiikka|Matemaattisessa logiikassa]] määritellyt käsitteet ovat merkitykseltään täsmällisempiä kuin luonnollisen kielen sanat yleensä ovat. Suomen kielessä disjunktiota vastaa lähinnä
[[Matemaattinen logiikka|Matemaattisessa logiikassa]] määritellyt käsitteet ovat merkitykseltään täsmällisempiä kuin luonnollisen kielen sanat yleensä ovat. Suomen kielessä disjunktiota vastaa lähinnä sana ''tai'', jota käytetään kuitenkin ainakin kahdessa toisistaan poikkeavassa merkityksessä, kuten sen vastineita useissa muissakin kielissä. Jos joku esimerkiksi pyytää: "Soita minulle tai lähetä sähköpostia", tällöin tarkoitetaan toden­näköisesti: "tee toinen, mutta älä molempia." Jos taas josta­kusta sanotaan: "Kun hän sai niin korkea arvo­sanat, hän selvästikin on hyvin lahjakas tai opiskelee ahkerasti"; tällöin ei suljeta pois sitä mahdollista, että molemmat vaihto­ehdot ovat tosia. Toisin sanoen sana "tai" voi tarkoittaa sekä inklu­siivista että eksklu­siivista disjunktiota.<ref name=Ensyklopedia /> Silloin kun kyseessä on inklu­siivinen disjunktio, käytetään nykyisin toisinaan asian selventämiseksi ilmaisua "[[ja/tai]]".
sana ''tai'', jota käytetään kuitenkin ainakin kahdessa toisistaan poikkeavassa merkityksessä, kuten sen vastineita useissa muissakin kielissä. Jos joku esimerkiksi pyytää: "Soita minulle tai lähetä sähköposia", tällöin tarkoitetaan toden­näköisesti: "tee toinen, mutta älä molempia." Jos taas josta­kusta sanotaan: "Kun hän sai niin korkea arvo­sanat, hän selvästkin on hyvin lahjakas tai opiskelee ahkerasti"; tällöin ei suljeta pois sitä mahdollista, että molemmat vaihto­ehdot ovat tosia. Toisin sanoen sana "tai" voi tarkoittaa sekä inklu­siivista että ekslu­siivista disjunktiota.<ref name=Ensyklopedia /> Silloin kun kyseessä on inklu­siivinen disjunktio, käytetään nykyisin toisinaan asian selventämiseksi ilmaisua "[[ja/tai]]".



{{käännös|:en:Logical disjunction}}
{{käännös|:en:Logical disjunction}}


== Lähteet ==
== Lähteet ==

{{viitteet}}
{{viitteet}}



Versio 20. huhtikuuta 2015 kello 14.32

Lausetta vastaava Venn-diagrammi
Lausetta vastaava Venn-diagrammi

Disjunktio on propositiologiikassa kaksipaikkainen looginen konnektiivi, joka vastaa yleiskielen sanaa tai. Sillä muodostettu yhdistetty lause on tosi, jos ainakin yksi sen yhdistämistä lauseista on tosi, muussa tapauksessa epätosi.[1] Lauseiden A ja B disjunktiolle käytetään merkintää .

Näin määritellystä disjunktiosta käytetään myös nimitystä inklusiivinen tai eli inklusiivinen disjunktio erotukseksi eksklusiivisesta disjunktiosta ("joko A tai B, mutta ei molemmat"), joka on tosi vain silloin, jos vain toinen sen yhdistämistä lauseista on tosi.[2] Koska sanaa tai käytetään tavallisessa kielessä eri yhteyksissä kummassakin merkityksessä, inklusiivista disjunktiota tarkoitettaessa käytetään mahdollisen väärin­käsityksen välttämiseksi nykyisin joskus ilmaisua ja/tai.

Disjunktioon läheisesti liittyviä käsitteitä muissa yhteyksissä ovat:

Merkinnät

Loogiselle disjunktiolle käytetään kirjallisuudessa useita eri symboleja. Sanan "tai" (engl. or) ohella sille käytetään yleisesti symbolia "",[3] joka on muodostettu latinan sanan vel ("tai") alkukirjaimesta.[1] Esi­merkiksi "A B " luetaan "A tai B". Tällainen disjunktio on epä­tosi vain jos sekä A että B ovat epä­tosia lauseita, muussa tapauksessa se on tosi.

Kaikki seuraavat ovat disjunktiota:

Boolen algebrassa disjunktiolle käytetään merkintää . Jan Lukasiewiczin prefiksinotaatiossa disjunktion merkkinä käytetään A-kirjainta, joka on lyhenne puolan kielen sanasta alternatywa. Tällöin lauseiden p ja q disjunktio merkitään Apq.[4]

Eri ohjelmointikielissä disjunktiota vastaava operaattori merkitään tavallisimmin joko sanalla or tai kahdella pystyviivalla (||).

Totuustaulu

Vasemmalla olevien argumenttien disjunktiot: arvon epätosi saavat bitit muodostavat Sierpinskin kolmion.

Operaation totuustaulu on seuraava:[3]

LAUSEET DISJUNKTIO
tosi tosi tosi
tosi epätosi tosi
epätosi tosi tosi
epätosi epätosi epätosi

Ominaisuudet

Looginen disjunktio noudattaa lasku­lakeja, jotka pitkälti ovat analogisia esi­merkiksi reaalilukujen lasku­säännöille. Se on vaihdannainen ja liitännäinen, ja sille pätee myös osittelulaki, kun toisena lasku­toimituksena on looginen konjunktio. Disjunktio on lisäksi idem­potentti eli minkä tahansa lauseen disjunktiolla itsensä kanssa on sama totuus­arvo kuin alku­peräisellä lauseella. Tätä havainnollistavat seuraavat kaaviot:

  • Vaihdannaisuus
        
        
  • Liitännäisyys
        
                 
  • Osittelulaki loogisen konjunktion suhteen
        
                 
  • Idempotenssi
        
        
        
                 
  • Totuuden säilyttävä validiteetti

Kun kaikki disjunktiolla yhdistettävät lauseet ovat tosia, disjunktio on tosi.

        
        
(kokeiltava)
  • Epätotuuden säilyttävä validiteetti

Kun kaikki disjunktiolla yhdistettävät lauseet ovat epätosia, disjunktio on epätosi.

        
        

Jos totuusarvoille käytetään binäärilukumerkintöjä tosi (1) ja epätosi (0), looginen disjunktio toimii lähes samoin kuin binäärinen yhteen­lasku. Erona on vain se, että , kun taas binääri­järjestelmässä .

Sovellukset tietotekniikassa

OR-portti

Useimmissa ohjelmointikielissä on disjunktiota vastaava operaattori. Se merkitään monissa ohjelmointikielissä varatulla sanalla or, mutta esimerkiksi C:ssä ja siihen pohjautuvissa ohjelmointikielissä kahdella pystyviivalla (||).

Looginen disjunktio suoritetaan yleensä minimaalisella evaluaatiolla. Tämä merkitsee, että jos sen ensimmäinen (vasemmanpuoleinen) operandi on arvoltaan tosi, ohjelma ei edes tarkista, mikä sen jälkimmäisen operandin arvo on.

Useimmissa ohjelmointi­kielissä looginen disjunktio antaa tulokseksi aina boolean-tyyppisen muuttujan, jolla on vain kaksi mahdollista arvoa: tosi (1) tai epätosi (0). Monissa vahvasti tyypitetyissä kielissä disjunktio voidaan sitä paitsi suorittaa vain, jos molemmat sillä yhdistettävät operanditkin ovat boolean-tyyppisiä. Joissakin heikosti tyypitetyissä kielissä, esimerkiksi C:ssä, disjunktio voidaan kuitenkin suorittaa silloinkin, kun operandit ovat esimerkiksi kokonais- tai reaaliluku­tyyppisiä; tällöin tuloksena on 0 (epätosi) vain, jos molemmat operandit ovat nollia, mulloin tuloksena on 1 (tosi). Tällöin siis operandien kaikkien muiden arvon kuin nollan katsotaan vastaavan totuus­arvoa tosi.

Muutamissa ohjelmointikielissä kuten Pythonissa ja JavaScriptissä disjunktio-operaattori voi kuitenkin palauttaa muitakin arvoja kuin 1 tai 0. Tällöin se saa arvokseen operaattorin ensimmäisen operandin arvon, jos se on "tosi" eli ei ole nolla, muussa tapauksessa jälkimmäisen operandin arvon.

Disjunktiota vastaava looginen portti on OR-portti.

Biteittäinen operaatio

Joissakin ohjelmointikielissä on määritelty myös biteittäinen disjunktio'. Tällöin operandit, jotka voivat olla esimerkiksi binäärisiä kokonaislukuja, käydään läpi bitti bitiltä ja suoritetaan disjunktio-operaatiot kummankin operandin vastaavien bittien välillä. Tuloksena saadaan muuttuja, jossa kunkin bitin arvo riippuu operandien bittien arvoista seuraavasti:

  • 0 or 0 = 0
  • 0 or 1 = 1
  • 1 or 0 = 1
  • 1 or 1 = 1

Käymällä bitit läpi esimerkiksi binääriluvuista 11001010 ja 10100011 saadaan tulokseksi 11101011.

Biteittäinen disjunktio on käytettävissä muun muassa C-kielessä, jossa se merkitään yhdellä pystyviivalla (|).

Biteittäisellä disjunktiolla voidaan muun muassa asettaa halutulle bitille arvo 1 muiden bittien pysyessä ennallaan. Esimerkiksi lauseella x = x | 0b00000001 saadaan muuttujan x viimeinen bitti ykköseksi.

Unioni

Disjunktiota vastaava operaatio joukko-opissa on unioni. Kahden joukon unioni määritelläänkin disjunktion avulla: , jos ja vain jos . Toisin sanoen alkio a kuuluu joukkojen A ja B unioniin, jos ja vain jos se kuuluu näistä joukoista ainakin toiseen. Tämän vuoksi joukko-opillinen unioni noudattaa pitkälti samoja sääntöjä kuin disjunktiokin: sillekin pätevät vaihdanta-, liitäntä-, osittelu- ja de Morganin lait.

Luonnolliset kielet

Matemaattisessa logiikassa määritellyt käsitteet ovat merkitykseltään täsmällisempiä kuin luonnollisen kielen sanat yleensä ovat. Suomen kielessä disjunktiota vastaa lähinnä sana tai, jota käytetään kuitenkin ainakin kahdessa toisistaan poikkeavassa merkityksessä, kuten sen vastineita useissa muissakin kielissä. Jos joku esimerkiksi pyytää: "Soita minulle tai lähetä sähköpostia", tällöin tarkoitetaan toden­näköisesti: "tee toinen, mutta älä molempia." Jos taas josta­kusta sanotaan: "Kun hän sai niin korkea arvo­sanat, hän selvästikin on hyvin lahjakas tai opiskelee ahkerasti"; tällöin ei suljeta pois sitä mahdollista, että molemmat vaihto­ehdot ovat tosia. Toisin sanoen sana "tai" voi tarkoittaa sekä inklu­siivista että eksklu­siivista disjunktiota.[2] Silloin kun kyseessä on inklu­siivinen disjunktio, käytetään nykyisin toisinaan asian selventämiseksi ilmaisua "ja/tai".

Käännös suomeksi
Käännös suomeksi
Tämä artikkeli tai sen osa on käännetty tai siihen on haettu tietoja muunkielisen Wikipedian artikkelista.
Alkuperäinen artikkeli: en:Logical disjunction

Lähteet

  1. a b Disjunction Stanford Enclycopedia of Philosophy. Viitattu 9.4.2015.
  2. a b ”Logiikka (Lauselogiikka, Konnektiivit)”, Otavan suuri ensyklopedia, 5. osa (Kriminologia–Makuaisti), s. 3800. Otava, 1978. ISBN 951-1-04827-9.
  3. a b ”Disjunction”, Encyclopedia of Mathematics. Springer, The European Mathematical Society, 2001. ISBN 978-1-55608-010-4. Teoksen verkkoversio.
  4. Jósef Maria Bocheński: A Précis of Mathematical Logic. Otto Bird kääntänyt englanniksi ranskalaisista ja saksalaisista laitoksista. Dordrecht: D. Reidel, 1959.

Katso myös

Aiheesta muualla