Disjunktiivinen normaalimuoto

testwikistä
Siirry navigaatioon Siirry hakuun

Disjunktiivinen normaalimuoto tarkoittaa sellaista lauseketta, joka on koottu propositiologiikan propositiomuuttujista sekä TAI-, JA- ja EI-konnektiiveista (merkitään , ja ¬) tietyllä tavalla, joka kuvataan alla tarkemmin. Tämän menetelmän mukainen esitys on olemassa jokaiselle totuusfunktiolle, mikä osoittaa kyseisen konnektiivijoukon täydelliseksi ja näin tekee propositiologiikan "peruskonnektiiveista" ja itse disjunktiivisen normaalimuodon menetelmästä perustavan välineen niin kaksiarvologiikan tutkimiselle kuin sen sovelluksillekin esimerkiksi loogisissa piireissä.

Normaalimuodon rakenne

Tiedosto:Disjunktiivinen.jpeg
Puuesityskuva yllä mainitusta disjunktiivisesta normaalimuodosta. Kuvassa käytetty merkintää, jossa (vastaavasti ) kattaa senkin tilanteen, jossa kyseistä konnektiivia ei todella tarvittaisi silloin, kun sillä yhdistettäviä on vain yksi kappale. (Kuvassa tämä tilanne toteutuu x10-alkeiskonjunktion kohdalla.)

Totuusfunktiota esittävän lausekkeen sanotaan olevan disjunktiivisessa normaalimuodossa, kun se on seuraavaa muotoa:

  • Lauseke on yhden tai useamman alkeiskonjunktion disjunktio.
  • Kukin alkeiskonjunktio on yhden tai useamman literaalin konjunktio.
  • Kukin literaali on joko yksittäinen propositiomuuttuja tai sellaisen negaatio.

Esimerkiksi lauseke

(¬x10x7x9¬x2¬x6)(x10)(¬x4x12x4¬x4)

on disjunktiivisessa normaalimuodossa. Se koostuu kolmesta alkeiskonjunktiosta, joissa on viisi, yksi ja neljä literaalia.

On huomattava, ettei mikä tahansa TAI-, JA- ja EI-konnektiiveja yhdistelemällä muodostettu lauseke ole disjunktiivisessa normaalimuodossa. Normaalimuoto edellyttää "3-tasoisuutta", jossa TAI-konnektiivit ovat uloimpana, JA-konnektiivit seuraavalla tasolla, ja EI-konnektiivit sisimpänä suoraan propositiomuuttujien edessä.

Normaalimuodon käyttö halutun totuusfunktion esittämisessä

Mielivaltainen totuusfunktio f voidaan esittää disjunktiivisessa normaalimuodossa olevalla lausekkeella, jonka muodostamisen tapa kuvataan tässä.

Monipaikkainen yhdistely TAI- tai JA-konnektiivilla

Alipropositioiden monipaikkainen TAI-yhdistelmä P1Pn antaa TAI-konnektiivien sulutuksesta huolimatta arvon 1 tarkalleen silloin jos edes yksi P-alipropositio saa arvon 1, sillä TAI:n määritelmän perusteella se nousee "sulkuja avattaessa" aina ylemmäs päätyen lopulta koko lausekkeen arvoksi. Esimerkiksi

(01)(00)=1(00)=10=1=10=(01)0=(0(10))0.

Erityisesti TAI-konnektiivi on siis liitännäinen. Sama päättely pätee JA-konnektiivilla arvon 0 suhteen, joten on nähty miten TAI- tai JA-konnektiivin yhdistelmä on tulkittavissa monipaikkaiseksi totuusfunktioiksi yksinkertaisella tavalla. Esimerkiksi monipaikkainen JA-konnektiivi antaa arvon 1 vain silloin, kun kaikki siinä yhdistettävät arvot ovat 1.

Käytettävien alkeiskonjunktioiden muodostaminen

Muodostetaan sellaisia alkeiskonjunktioita, jotka saavat arvon 1 tarkalleen yhdellä totuusjakaumalla, ja nämä totuusjakaumat ovat tarkalleen samat kuin ne, joilla haluttu totuusfunktio f saa arvon 1. Tämä onnistuu niin, että kussakin muodostettavassa alkeiskonjunktiossa on kaikki f:n käyttämät propositiomuuttujat, joista EI-konnektiivilla varustetaan ne, joiden arvo on 0 alkeiskonjunktioon liittyvässä totuusjakaumassa, jotta kaikista literaaleista saataisiin sillä arvo 1 alkeiskonjunktion JA-yhdistelyyn ja täten 1 alkeiskonjunktiosta saatavaksi arvoksi. Jos esimerkiksi f saa arvon 1 totuusjakaumalla x1x2x3x4=0110, tähän totuusjakaumaan liitetään alkeiskonjunktio (¬x1x2x3¬x4).

Lopullisen normaalimuoto-esityksen kokoaminen ja sen vastaavuus totuusfunktion kanssa

Yhdistetään yllä kuvatulla tavalla muodostetut alkeiskonjunktiot TAI-konnektiiveilla, jolloin halutun totuusfunktion f normaalimuotoesitys on valmis. Näin koottu lauseke esittää todella haluttua totuusfunktiota, sillä siitä saadaan arvo 1 tarkalleen silloin, kun joku TAI-yhdistelyssä olevista alkeiskonjunktioista antaa arvon 1, mikä taas käytettyjen alkeiskonjunktioiden muodostamistavan perusteella tarkoittaa sitä, että totuusjakaumana on nyt jokin niistä totuusjakaumista, joilla haluttu totuusfunktio f saa arvon 1. Toisaalta jokaista f:ssä arvon 1 antavaa totuusjakaumaa kohti koottu esitys sisältää alkeiskonjunktion, joka antaa arvon 1 tällä totuusjakaumalla, jolloin 1 päätyy TAI-yhdistelyn kautta myös kootusta esityksestä saatavaksi totuusarvoksi. On siis nähty, että f ja koottu normaalimuoto antavat arvon 1 tarkalleen samoilla totuusjakaumilla.

Erikoistapauksena esityksen kokoamisessa on se tilanne, jossa haluttu totuusfunktio on 0-funktio, joka saa arvon 0 kaikilla totuusjakaumilla. Yllä kuvatulla tavalla normaalimuodoksi tulisi nyt tyhjä lauseke. Tämän välttämiseksi voidaan esitykseksi valita nyt aina 0-arvoinen lauseke x1¬x1, joka on disjunktiivisessa normaalimuodossa sallittua muotoa.

Esimerkki totuusfunktion esityksen kokoamisesta

Totuusfunktion esittäminen disjunktiivisessa normaalimuodossa hahmottunee parhaiten esimerkin kautta. Olkoon haluttu totuusfunktio f se 3-kokoinen totuusfunktio, joka on kuvattu alla olevassa totuustaulussa.

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

Kyseinen totuusfunktio saa arvon 1, kun totuusjakaumana on x1x2x3=000,001,101 tai 111, mistä seuraa, että menetelmän mukaiset käytettävät alkeiskonjunktiot ovat nyt ¬x1¬x2¬x3,¬x1¬x2x3,x1¬x2x3 ja x1x2x3. (Huomaa, että tässä esimerkissä JA-konnektiivit on jätetty kirjoittamatta, mikä on yleinen tapa kirjallisuudessa.)

Kun ne "disjunktoidaan" TAI-konnektiiveilla, normaalimuodon lausekkeeksi saadaan nyt

¬x1¬x2¬x3¬x1¬x2x3x1¬x2x3x1x2x3.

Tämä lauseke esittää totuusfunktiota

f

, mitä voidaan "testata" vaikka totuusjakaumalla

x1x2x3=100

, jolloin lauseke antaa arvon

¬1¬0¬0¬1¬001¬00100=011010110100=0000=0=f(100)

, tai totuusjakaumalla

x1x2x3=001

, jolloin lauseke saa arvon

¬0¬0¬1¬0¬010¬01001=110111011001=0100=1=f(001).