Ero sivun ”Disjunktio” versioiden välillä

15 860 merkkiä lisätty ,  5 vuotta sitten
laajennettu artikkeliksi
p (Käyttäjän Moraalin asettaminen sivuun (keskustelu) muokkaukset kumottiin ja sivu palautettiin viimeisimpään käyttäjän KLS tekemään versi)
(laajennettu artikkeliksi)
[[Kuva:Venn0111.svg|220px|thumb|Lausetta <math>\scriptstyle A \or B</math> vastaava [[Venn-diagrammi]]]]
#REDIRECT [[Propositiologiikka#Propositiologiikan syntaksi]]
[[Kuva:Venn 0111 1111.svg|220px|thumb|Lausetta <math>\scriptstyle A \or B \or C</math> vastaava Venn-diagrammi]]
 
'''Disjunktio''' on [[propositiologiikka|propositiologiikassa]] [[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]]''.
 
Disjunktioon läheisesti liittyviä käsitteitä muissa yhteyksissä ovat:
 
* [[joukko-oppi|joukko-opissa]] [[unioni]] eli yhdiste
* [[predikaattilogiikka|predikaattilogiikassa]] [[eksistenssikvanttori]] eli olemassaolokvanttori
* [[elektroniikka|elektroniikassa]] disjunktiota vastaa [[OR-portti]].
 
== 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.
 
Kaikki seuraavat ovat disjunktiota:
: <math>A \or B</math>
: <math>\neg A \or B</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>
 
Eri [[ohjelmointikieli]]ssä disjunktiota vastaava operaattori
merkitään tavallisimmin joko sanalla <code>or</code> tai kahdella pystyviivalla (<code||</code>).
 
== Totuustaulu ==
 
[[Kuva:Multigrade operator OR.svg|thumb|Vasemmalla olevien argumenttien disjunktiot: arvon epätosi saavat [[bitti|bitit]] muodostavat [[Sierpinskin kolmio]]n.]]
 
Operaation <math>~A \or B</math> [[totuustaulu]] on seuraava:<ref name=Hazewinkel />
 
{| class="wikitable" style="margin: 0 0 1em 1em"
|- bgcolor="#ddeeff" align="center"
|colspan=2|'''LAUSEET''' || '''DISJUNKTIO'''
|- bgcolor="#ddeeff" align="center"
| <math> A</math>|| <math>B</math> || <math> A \or B</math>
|- bgcolor="#ddffdd" align="center"
|tosi || tosi || tosi
|- bgcolor="#ddffdd" align="center"
|tosi || epätosi || tosi
|- bgcolor="#ddffdd" align="center"
|epätosi || tosi || tosi
|- bgcolor="#ddffdd" align="center"
|epätosi || epätosi || epätosi
|}
 
==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:
 
* '''Vaihdannaisuus'''
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>A \or B</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>B \or A</math>
|-
|[[Kuva:Venn0111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn0111.svg|50px]]
|}
 
* '''Liitännäisyys'''
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>~A</math>
|<math>~~~\or~~~</math>
|<math>(B \or C)</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|
|
|<math>(A \or B)</math>
|<math>~~~\or~~~</math>
|<math>~C</math>
|-
|[[Kuva:Venn 0101 0101.svg|50px]]
|<math>~~~\or~~~</math>
|[[Kuva:Venn 0011 1111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 0111 1111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 0111 0111.svg|50px]]
|<math>~~~\or~~~</math>
|[[Kuva:Venn 0000 1111.svg|50px]]
|}
 
* '''Osittelulaki loogisen konjunktion suhteen'''
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>~A</math>
|<math>\or</math>
|<math>(B \and C)</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|
|
|<math>(A \or B)</math>
|<math>\and</math>
|<math>(A \or C)</math>
|-
|-
|[[Kuva:Venn 0101 0101.svg|50px]]
|<math>\or</math>
|[[Kuva:Venn 0000 0011.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 0101 0111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 0111 0111.svg|50px]]
|<math>\and</math>
|[[Kuva:Venn 0101 1111.svg|50px]]
|}
 
{| class="collapsible collapsed" style="width: 100%; border: 1px solid #aaaaaa;"
! bgcolor="#ccccff"|muita
|-
|
liitännäisyys loogisen [[ekvivalenssi]]n suhteen:
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>~A</math>
|<math>\or</math>
|<math>(B \leftrightarrow C)</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|
|
|<math>(A \or B)</math>
|<math>\leftrightarrow</math>
|<math>(A \or C)</math>
|-
|-
|[[Kuva:Venn 0101 0101.svg|50px]]
|<math>\or</math>
|[[Kuva:Venn 1100 0011.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 1101 0111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 0111 0111.svg|50px]]
|<math>\leftrightarrow</math>
|[[Kuva:Venn 0101 1111.svg|50px]]
|}
 
liitännäisyys loogisen [[implikaatio]]n suhteen:
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>~A</math>
|<math>\or</math>
|<math>(B \rightarrow C)</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|
|
|<math>(A \or B)</math>
|<math>\rightarrow</math>
|<math>(A \or C)</math>
|-
|-
|[[Kuva:Venn 0101 0101.svg|50px]]
|<math>\or</math>
|[[Kuva:Venn 1100 1111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 1101 1111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 0111 0111.svg|50px]]
|<math>\rightarrow</math>
|[[Kuva:Venn 0101 1111.svg|50px]]
|}
 
liitännäisyys itsensä kanssa:
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>~A</math>
|<math>\or</math>
|<math>(B \or C)</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|
|
|<math>(A \or B)</math>
|<math>\or</math>
|<math>(A \or C)</math>
|-
|-
|[[Kuva:Venn 0101 0101.svg|50px]]
|<math>\or</math>
|[[Kuva:Venn 0011 1111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 0111 1111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 0111 0111.svg|50px]]
|<math>\or</math>
|[[Kuva:Venn 0101 1111.svg|50px]]
|}
|}
 
* '''Idempotenssi'''
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>~A~</math>
|<math>~\or~</math>
|<math>~A~</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>A~</math>
|-
|[[Kuva:Venn01.svg|36px]]
|<math>~\or~</math>
|[[Kuva:Venn01.svg|36px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn01.svg|36px]]
|}
 
* '''[[Monotoninen funktio|Monotonisuus]]'''
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>A \rightarrow B</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Rightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|
|
|<math>(A \or C)</math>
|<math>\rightarrow</math>
|<math>(B \or C)</math>
|-
||[[Kuva:Venn 1011 1011.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Rightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn 1011 1111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
||[[Kuva:Venn 0101 1111.svg|50px]]
|<math>\rightarrow</math>
||[[Kuva:Venn 0011 1111.svg|50px]]
|}
 
* '''Totuuden säilyttävä validiteetti'''
Kun kaikki disjunktiolla yhdistettävät lauseet ovat tosia, disjunktio on tosi.
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>A \and B</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Rightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>A \or B</math>
|-
|[[Kuva:Venn0001.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Rightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn0111.svg|60px]]
|-
|
|
|<small>(kokeiltava)</small>
|}
 
* '''Epätotuuden säilyttävä validiteetti'''
Kun kaikki disjunktiolla yhdistettävät lauseet ovat epätosia, disjunktio on epätosi.
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>A \or B</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Rightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>A \or B</math>
|-
|[[Kuva:Venn0111.svg|60px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Rightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[Kuva:Venn0111.svg|50px]]
|-
|
|
|}
 
* '''[[Hadamardin muunnos|Walshin spektri]]: (3,-1,-1,-1)'''
 
* '''Epälineaarisuus: 1''' (funktio on [[taivutettu funktio|taivutettu]])
 
Jos totuusarvoille käytetään [[binääriluku]]merkintöjä tosi (1) ja epätosi (0), looginen disjunktio toimii lähes samoin kuin binäärinen yhteen­lasku. Erona on vain se, että <math>1\or 1=1</math>, kun taas binääri­järjestelmässä <math>1+1=10</math>.
 
== Sovellukset tietokonealalla ==
 
[[Kuva:Or-gate-en.svg|thumb|right|150px|[[OP-portti]]]]
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>).
 
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 [[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.
 
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.
 
=== Biteittäinen operaatio ===
 
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:
 
* 0 <code>or</code> 0 = 0
* 0 <code>or</code> 1 = 1
* 1 <code>or</code> 0 = 1
* 1 <code>or</code> 1 = 1
 
Käymällä bitit läpi esimerkiksi binääriluvuista 1010 ja 1100 saadaan tulokseksi 1100.
 
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
pysyessä ennallaan. Esimerkiksi lauseella <code>x = x | 0b00000001</code> saadaan muuttujan x viimeinen
bitti ykköseksi.
 
==Unioni==
 
Disjunktiota vastaava operaatio [[joukko-oppi|joukko-opissa]] on [[unioni]]. Kahden joukon unioni
määritelläänkin disjunktion avulla: <math> a \in A \union 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 ==
 
[[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ö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}}
 
== Lähteet ==
 
{{viitteet}}
 
== Katso myös ==
 
* [[Konjuntio (logiikka)]]
* [[OR-portti]]
* [[Propositiologiikka]]
* [[Boolen algebra]]
 
== Aiheesta muualla ==
 
* {{verkkoviite | Osoite = http://mathworld.wolfram.com/Disjunction.html | Nimeke = Disjunction | Julkaisija = MathWorld | Viitattu = 9.4.2015}}</ref>
 
[[Luokka:Logiikka]]
96 699

muokkausta