Ornek uzerinden verilen bir dogruluk tablosundan carpimlarin toplami seklinde bir boolean fonksyonu nasil elde ettigimizi anlatmaya calisacagim. Kanitini nasil yapariz bilmiyorum.
|
x |
y |
z |
f(x,y,z) |
m1 |
0 |
0 |
0 |
0 |
m2 |
0 |
0 |
1 |
0 |
m3 |
0 |
1 |
0 |
1 |
m4 |
0 |
1 |
1 |
0 |
m5 |
1 |
0 |
0 |
1 |
m6 |
1 |
0 |
1 |
1 |
m7 |
1 |
1 |
0 |
0 |
m8 |
1 |
1 |
1 |
1 |
Dogruluk tablosunda fonksiyonun 1 oldugu satirlar bulunur. Elimizdeki ornekte m3, m5, m6 ve m8 e denk geliyor. Boolean formulumuz m3+m5+m6+m8 formunda olacak.
Her satirda degiskenlerin aldigi degerlere bakilir. Eger degisken 0 degerini aldiysa, degiskenin mantiksal zitti alinir, 1 degerini aldiysa oldugu gibi birakilir ve hepsi carpilir. Elimizdeki ornekte:
m3→ˉx⋅y⋅ˉz
m5→x⋅ˉy⋅ˉz
m6→x⋅ˉy⋅z
m8→x⋅y⋅z
Son olarak hepsi toplanir
f(x,y,z)=ˉx⋅y⋅ˉz+x⋅ˉy⋅ˉz+x⋅ˉy⋅z+x⋅y⋅z
Toplamlarin carpimini elde etmek icin islemlerin tam tersini yapabilirsiniz.
Edit:
Dusununce aslinda yontemin neden calistigini gormek zor degil. k⋀i=0xi sadece butun xi ler dogru oldugunda dogru olacak. k⋁i=0mi nin dogru olmasi icin bir tane mi nin dogru olmasi yeterli.