Totuusfunktio

testwikistä
Versio hetkellä 13. marraskuuta 2024 kello 09.24 – tehnyt imported>Ipr1Bot (Korvataan ISBN-tunniste)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Totuusfunktio on matemaattisen logiikan termi, joka tarkoittaa totuusarvon (tavallisesti tosi tai epätosi) antamista väitelauseelle (propositio).[1] Totuusfunktion tulee täyttää seuraavat aksioomat:

  • se antaa kullekin väitelauseelle totuusarvoksi joko toden tai epätoden (law of excluded middle)
  • samalle väitelauseelle voidaan antaa vain yksi totuusarvo: joko tosi tai epätosi (law of contradiction)
  • kaikki totuusfunktiot antavat loogisilla operaattoreilla (konnektiivi) muodostetuille yhdistetyille väitelauseille totuusarvon samalla tavalla niiden osien totuusarvojen perusteella.

Tavallisessa Tosi/Epätosi-kaksiarvologiikassa totuusarvoa Tosi ilmaistaan usein bitillä 1 ja totuusarvoa Epätosi bitillä 0. Tällöin totuusfunktio on mikä tahansa funktio f, jonka pituus on 0:aa suurempi kokonaisluku n ja joka saa arvon 0 tai 1 jokaista n-pituista bittijonoa kohti. Esimerkiksi totuustaulussa

x1x2x3 f(x1x2x3)
000 1
001 1
010 1
011 1
100 0
101 1
110 0
111 0

on kuvattu eräs 3-pituisista totuusfunktioista, jossa siis funktio f saa arvon 1 muun muassa silloin, kun x1x2x3-bittijonona on 101. Yleisesti tunnettu esimerkki 2-pituisista totuusfunktioista on propositiologiikan JA-konnektiivi, jossa f-funktiomerkinnän tilalla on yleensä -merkki, joka lisäksi - niin kuin 2-paikkaisissa funktioissa useinkin - merkitään väliin edessä olemisen sijaan. Näillä merkinöillä JA-totuusfunktio on siis tällainen: 00=0,01=0,10=0 ja 11=1.

Eri totuusfunktioita voi myös yhdistellä, jolloin saadaan edelleen jokin totuusfunktio. Yhdistämisessä bittimuuttujien tilalle saa mielivaltaisesti sijoittaa jonkin käytettävän bittimuuttujan (Bittimuuttujien määrä riippuu yhdistämisessä saatavan totuusfunktion halutusta pituudesta. Jos n on esimerkiksi 5, käytettävissä ovat bittimuuttujat x1,x2,x3,x4 ja x5.) tai totuusfunktiosta tulevan bittiarvon. Esimerkiksi jos f(00)=0,f(01)=1,f(10)=1 ja f(11)=1 sekä g(00)=0,g(01)=1,g(10)=1 ja g(11)=0 ovat annetut totuusfunktiot, niin niistä voidaan yhdistellä muun muassa 5-paikkainen totuusfunktio y säännöllä y(x1x2x3x4x5)=g(f(x3g(x5x5))f(x4x2)), jolloin esimerkiksi y(10101)=g(f(1g(11))f(00))=g(f(10)0)=g(10)=1. Kaikkien bittimuuttujien tai käytettävissä olevien totuusfunktioiden ei tarvitse esiintyä yhdistelmässä, mutta toisaalta sama bittimuuttuja tai totuusfunktio saa esiintyä useamminkin kuin kerran. (Esimerkki-yhdistelmässä x1-bittimuuttuja ei esiintynyt lainkaan, mutta x5-bittimuuttuja ja molemmat käytettävissä olleet totuusfunktiot esiintyivät kahdesti.)

Jonkin kiinteän totuusfunktio-joukon (mahdollisesti äärettömän) kohdalla tärkeä kysymys on, onko tämä totuusfunktio-joukko täydellinen. Totuusfunktioiden joukon täydellisyydellä tarkoitetaan sitä, että joukon totuusfunktioita käyttäen voidaan ylläkuvatussa mielessä yhdistellä mikä tahansa haluttu totuusfunktio. Yleinen esimerkki täydellisestä totuusfunktio-joukosta on propositiologiikasta tutut JA- TAI- ja EI-konnektiivit (merkitään , ja ¬), sillä niitä käyttäen mikä tahansa totuusfunktio voidaan esittää disjunktiivisessa normaalimuodossa. Tässä tapauksessa täydellinen totuusfunktio-joukko sisältää kaksi 2-paikkaisia totuusfunktioita (JA ja TAI) sekä yhden 1-paikkaisen totuusfunktion (EI), mutta yleisessä tapauksessa annetut totuusfunktiot voivat olla pitempiä. Emil Post:n esittämän menetelmän avulla on mahdollista selvittää mistä tahansa totuusfunktio-joukosta, onko se täydellinen vai ei. Tämä menetelmä perustuu seuraavaksi esitettäviin totuusfunktio-luokkiin.

0P:

Tähän luokkaan kuuluvat 0:n säilyttävät totuusfunktiot. Tässä 0:n säilyttäminen tarkoittaa sitä, että totuusfunktion arvona on 0 silloin, kun syötteessä kaikkien bittimuuttujien arvona on 0. Esimerkiksi h(0000)=0 on 0:n säilyttävä totuusfunktio täysin riippumatta siitä mitä arvoja se muilla syötteillä saa. Artikkelin alussa totuustaululla esitetty f ei ole 0:n säilyttävä totuusfunktio.

1P:

Tähän luokkaan kuuluvat 1:n säilyttävät totuusfunktiot. Tässä 1:n säilyttäminen määritellään aivan vastaavasti 0:n säilyttämiseen nähden. Esimerkiksi g(11)=1 on 1:n säilyttävä totuusfunktio.

Iso:

Tähän luokkaan kuuluvat isotoniset totuusfunktiot. Isotonisuuden määrittely perustuu järjestykseen, joka määritellään toisaalta yksittäisten totuusarvojen ja tätä kautta myös useista totuusarvoista (totuusarvo kutakin bittimuuttujaa kohti) koostuvien syötteiden välillä. Totuusarvojen välinen järjestys määritellään niin, että 0 on pienempi kuin 1 ("Tosi on suurempi kuin epätosi."), mikä merkitään 0<1, mistä merkintää laajennetaan tavalliseen tapaan ottamaan huomioon myös yhtäsuuruus, jolloin esimerkiksi 01 ja 11, mutta 10 ei ole voimassa. Nyt järjestys laajennetaan useammasta totuusarvosta koostuvalle syötteelle niin, että syöte s on pienempi tai yhtäsuuri kuin syöte t, jos tämä on voimassa erikseen kullakin syötteen totuusarvolla yllä määritellyn totuusarvojen välisen järjestyksen suhteen. Esimerkiksi s=100110=t, mutta 1010110010 ei ole voimassa, koska vasemmanpuoleisessa syötteessä kolmas ja viides bittimuuttuja on arvoltaan aidosti suurempi (siis 1>0-tilanne) kuin vastaava kohta oikeanpuoleisessa syötteessä. Tässä tapauksessa kuitenkaan myöskään 1001010101 ei ole voimassa (Nyt vasemmanpuoleisessa neljäs bittimuuttujan arvo on aidosti suurempi kuin oikeanpuoleisessa.), mikä tarkoittaa sitä, että nämä kaksi syötettä eivät ole vertailtavissa, eli on olemassa syötteitä, joita ei voi asettaa keskinäiseen järjestykseen, mikä tarkoittaa sitä, että annettu järjestys ei ole täydellinen. (Täydellisessä järjestyksessä kaikilla syötteillä s ja t olisi voimassa se, että joko st tai ts.)

Nyt voidaan määritellä totuusfunktion isotonisuus.

Totuusfunktio f on isotoninen, jos sen kaikilla vertailtavissaolevilla syötteillä st on voimassa f(s)f(t), eli funktio antaa aidosti pienemmälle syötteelle pienemmän tai yhtäsuuren arvon kuin suuremmalle syötteelle. (Jos syötteet ovat samat, silloin tietysti funktion antama totuusarvokin on sama.) Artikkelin alussa totuustaulussa esitetty totuusfunktio f ei ole isotoninen, sillä mm. 000100, mutta f(000)=10=f(100) ei ole voimassa. Sen sijaan (g(00)=0,g(01)=1,g(10)=0,g(11)=1)-totuusfunktio on isotoninen, sillä siinä järjestysvertailtavissa olevat ei-samat syötteet ovat 0010,0001,0011,0111 ja 1011 ja jokaisen kohdalla g antaa vasemmanpuoleiselle pienemmälle syötteelle pienemmän tai yhtäsuuren totuusarvon kuin suuremmalle oikeanpuoleiselle.

Totuusfunktion osoittaminen ei-isotoniseksi totuustaulusta katsomalla onnistunee helpoiten löytämällä kaksi syötettä, jotka eroavat toisistaan vain yhden bittimuuttujan arvon suhteen ja joista funktion arvo on 1 siinä missä kyseisen bittimuuttujan arvo on 0 ja päinvastoin. (Esimerkiksi artikkelin alun totuustaulun f-totuusfunktiolla on tällaiset syötteet, kun syötteiksi valitaan f(000)=1>0=f(100), joissa arvoltaan eroava syötteen bittimuuttuja on siis tässä tapauksessa ensimmäinen kolmesta.) On helposti osoitettavissa, että funktio on isotoninen tarkalleen silloin, kun tällaista syöteparia ei ole.

SD:

Tähän luokkaan kuuluvat itseduaaliset totuusfunktiot. Funktion itseduaalisuus perustuu sen "käyttäytymiseen" suhteessa EI-konnektiiviin (¬0=1,¬1=0), jonka käyttö voidaan laajentaa myös useammasta bittimuuttujasta koostuvaan syötteeseen soveltamalla EI-konnektiivia kuhunkin bittimuuttujaan erikseen.

(esimerkiksi ¬(10100)=¬1¬0¬1¬0¬0=01011) Totuusfunktion f koon ollessa n se on itseduaalinen, jos sen kaikilla syötteillä x1x2xn

f(¬x1¬x2¬xn)=¬f(x1x2xn) on voimassa. Toisin sanoen tämä tarkoittaa sitä, että funktion arvo muuttuu aina vastakkaiseksi, jos syötteessä kaikkien bittimuuttujien arvot muutetaan vastakkaisiksi. Esimerkiksi (g(000)=0,g(001)=1,g(010)=0,g(011)=0,g(100)=1,g(101)=1,g(110)=0,g(111)=1)-totuusfunktio on itseduaalinen, ja tätä vaatimusta toteuttaa osaltaan se, että siinä mm. g(¬0¬0¬1)=g(110)=0=¬1=¬g(001).

Malline:Kesken

Katso myös

Lähteet

Malline:Viitteet

  1. Viittausvirhe: Virheellinen <ref>-elementti; viitettä m1 ei löytynyt