Ero sivun ”Disjunktio” versioiden välillä
[katsottu versio] | [katsottu versio] |
KLS (keskustelu | muokkaukset) viilausta |
KLS (keskustelu | muokkaukset) |
||
Rivi 25: | Rivi 25: | ||
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 == |
Versio 9. huhtikuuta 2015 kello 16.38
Disjunktio on 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.[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 ekslusiivisesta 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äärinkäsityksen välttämiseksi nykyisin joskus ilmaisua ja/tai.
Disjunktioon läheisesti liittyviä käsitteitä muissa yhteyksissä ovat:
- joukko-opissa unioni eli yhdiste
- predikaattilogiikassa eksistenssikvanttori eli olemassaolokvanttori
- elektroniikassa disjunktiota vastaa OR-portti.
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] Esimerkiksi "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
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 laskulakeja, jotka pitkälti ovat analogisia esimerkiksi reaalilukujen laskusäännöille. Se on vaihdannainen ja liitännäinen, ja sille pätee myös osittelulaki, kun toisena laskutoimituksena on looginen konjunktio. Disjunktio on lisäksi idempotentti eli minkä tahansa lauseen disjunktiolla itsensä kanssa on sama totuusarvo kuin alkuperäisellä lauseella. Tätä havainnollistavat seuraavat kaaviot:
- Vaihdannaisuus
- Liitännäisyys
- Osittelulaki loogisen konjunktion suhteen
muita | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
liitännäisyys loogisen ekvivalenssin suhteen: liitännäisyys loogisen implikaation suhteen: liitännäisyys itsensä kanssa: |
- 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.
- Walshin spektri: (3,-1,-1,-1)
- Epälineaarisuus: 1 (funktio on taivutettu)
Jos totuusarvoille käytetään binäärilukumerkintöjä tosi (1) ja epätosi (0), looginen disjunktio toimii lähes samoin kuin binäärinen yhteenlasku. Erona on vain se, että , kun taas binäärijärjestelmässä .
Sovellukset tietokonealalla
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 ohjelmointikielissä 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ä yhdistetävät operanditkin ovat boolean-tyyppisiä. Joissakin heikosti tyypitetyissä kielissä, esimerkiksi C:ssä, disjunktio voidaan kuitenkin suorittaa silloinkin, kun operandit ovat esimerkiksi kokonais- tai reaalilukutyyppisiä; 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 totuusarvoa 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 1010 ja 1100 saadaan tulokseksi 1100.
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öposia", tällöin tarkoitetaan todennäköisesti: "tee toinen, mutta älä molempia." Jos taas jostakusta sanotaan: "Kun hän sai niin korkea arvosanat, hän selvästkin on hyvin lahjakas tai opiskelee ahkerasti"; tällöin ei suljeta pois sitä mahdollista, että molemmat vaihtoehdot ovat tosia. Toisin sanoen sana "tai" voi tarkoittaa sekä inklusiivista että ekslusiivista disjunktiota.[2] Silloin kun kyseessä on inklusiivinen disjunktio, käytetään nykyisin toisinaan asian selventämiseksi ilmaisua "ja/tai".
Lähteet
- ↑ a b Disjunction Stanford Enclycopedia of Philosophy. Viitattu 9.4.2015.
- ↑ a b ”Logiikka (Lauselogiikka, Konnektiivit)”, Otavan suuri ensyklopedia, 5. osa (Kriminologia–Makuaisti), s. 3800. Otava, 1978. ISBN 951-1-04827-9.
- ↑ a b ”Disjunction”, Encyclopedia of Mathematics. Springer, The European Mathematical Society, 2001. ISBN 978-1-55608-010-4. Teoksen verkkoversio.
- ↑ Jósef Maria Bocheński: A Précis of Mathematical Logic. Otto Bird kääntänyt englanniksi ranskalaiista ja saksalaisista laitoksista. Dordrecht: D. Reidel, 1959.
Katso myös
Aiheesta muualla
- Disjunction MathWorld. Viitattu 9.4.2015. </ref>