DNF, KNF - Disjunktive, Konjunktive Normalform

Neue Frage »

@ndy Auf diesen Beitrag antworten »
DNF, KNF - Disjunktive, Konjunktive Normalform
Hallo
folgendes Problem plagt mich. Ich soll die DNF und KNF bilden.
Aus einer Wahrheitstabelle hätte ich damit auch kein Problem, jedoch ist die folgende boolsche Funktion gegeben:
f(a, b, c, d) = c · a + d · c · b + d · b · a

Wie ist da die herangehensweise? Hilfe
Tobias Auf diesen Beitrag antworten »

Erstell doch einfach aus der Funktion die Wahrheitstabelle.
@ndy Auf diesen Beitrag antworten »

übrigens soll es

heißen...
aber wie komm ich davon zu einer wahrheitstabelle mit 0 und 1 verwirrt
seit der uni blick ich mathe nicht mehr so sehr...
phi Auf diesen Beitrag antworten »

Das ist zugegebenermassen eine ziemlich große Tabelle mit 4 Spalten und 16 Zeilen, die sich aber leichter auffüllen läßt als es aussieht:

Du musst jetzt nur die "und"-Verbindungen, z.B (c*-a) rechts eintragen, also überall wo in der c-Spalte eine 1 und in der a-Spalte eine 0 steht. Ich hab mal mit drei Einträgen angefangen... zum Schluss, wenn alle "und"-Verbindungen eingetragen sind machst du ganz rechts eine 1 wenn es eine Eintragung gibt und eine Null wenn´s keinen gibt:

a b c d | f(a,b,c,d)
------------------------------------------------------------------
0 0 0 0 0
0 0 0 1 d(-c)(-b) 1
0 0 1 0 c(-a) 1
0 0 0 1 c(-a) 1

0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1

1 0 0 0
1 0 0 1
1 0 1 0
1 0 0 1

1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
@ndy Auf diesen Beitrag antworten »

sodele erstmal müßte die wahrheitstabelle ja 16 verschiedene kombinationen haben. richtig?
daher

0 0 0 0
0 0 0 1
0 0 1 0
0 1 0 0

0 0 1 1
0 1 0 1
0 1 1 0
0 1 1 1

1 0 0 0
1 0 0 1
1 0 1 0 >müßte nicht in diesem fall c(-a) stehen da a und c 1???
1 1 0 0

1 0 1 1
1 1 0 1
1 1 1 0
1 1 1 1

und das + oder und * und bedeutet ist mir auch schon klar...es geht langsam voran.
aber der rest...mit der rechten seite und das in verbindung mit der formel bringen???

@phi: was du oben angefangen hast (recht daneben zuschreiben), muß ich das fortsetzen, bis zB teile meiner gleichung erscheinen und aus den entsprechenden zeilen der wahrheitstabelle bilde ich aus allen termen die dnf/knf?
phi Auf diesen Beitrag antworten »

Zitat:
Original von @ndy
1 0 1 0 >müßte nicht in diesem fall c(-a) stehen da a und c 1???


Was bedeutet das Minuszeichen ?
 
 
@ndy Auf diesen Beitrag antworten »

minus?
phi Auf diesen Beitrag antworten »

Da steht doch c(-a)....was bedeutet das Zeichen vor dem a?
Tobias Auf diesen Beitrag antworten »

Wir sind in der Aussagenlogik bzw. boole'schen Algebra. Das minus wird wohl die Negation eines Literals sein:

0 --> 1
1 --> 0
phi Auf diesen Beitrag antworten »

@ Tobias: meine Frage war sokratisch (so dass @ndy selbst darauf kommt..) gemeint, um klar zu machen warum bei (-a) keine 1 in der Wahrheitstabelle stehen kann... Augenzwinkern
@ndy Auf diesen Beitrag antworten »

okay, wie geasgt algebra...ahhh!

ist es also richtig wenn ich zu f(a,b,c,d) auch so sagen könnte (in worten)

="c" und "nicht a" oder "d" und "nicht c" und "nicht b" oder "nicht d" und "b" und "nicht a"

bisher war mir nur bewußt das negiert mit einem querstrich über der variablen geschrieben wird.

und ist es richtig das ich c (-a), d(-c)(-b), (-d)b(-a) der tabelle zuordnen muß und an den stellen wo dies 1 ergibt nutze ich die einträge der tabelle für die dnf/knf?
phi Auf diesen Beitrag antworten »

Freude Ja genau! Ich habe die Negation auch als Querstrich gelernt. Also kommen für c(-a) nur Kombinationen in Frage bei denen c=1 und a=0 ist.
@ndy Auf diesen Beitrag antworten »

so dann hätte ich:

0 0 0 0
0 0 0 1 d(-c)(-b)
0 0 1 0 c(-a)
0 1 0 0 (-d)b(-a)

0 0 1 1 c(-a)
0 1 0 1
0 1 1 0 c(-a) (-d)b(-a)
0 1 1 1 c(-a)

1 0 0 0
1 0 0 1 d(-c)(-b)
1 0 1 0
1 1 0 0

1 0 1 1
1 1 0 1
1 1 1 0
1 1 1 1

soweit korrekt?
phi Auf diesen Beitrag antworten »

Super. Jetzt nur noch überall wo was steht ´ne 1 dahinterschreiben und bei allen anderen `ne 0 und fertig ist die Wahrheitstabelle.

Dann das KNF/DNF-Verfahren anwenden.
@ndy Auf diesen Beitrag antworten »

so nochmal (mit index):



da ja jeweils + (oder) dazwischen steht hat man schon die 1 wenn eines (c(-a),...) zutrifft?
berichtigt mich wenn es falsch ist aber langsam versteh ich es.
@ndy Auf diesen Beitrag antworten »

als DNF hätte ich
phi Auf diesen Beitrag antworten »

Eines reicht bei oder, ja. Aber vergleich nochmal Zeile 8 mit deiner vorvorletzten Mail!
@ndy Auf diesen Beitrag antworten »

so habe zeile 8 und die dnd korrigiert.

das bei oder nicht alles nötig sind leuchtet ein. im skript waren jedoch immer alle einschlägigen indizes (ist doch die plural form von index?) aufgeführt. also wäre das aber so vollständig und (auch) richtig?
@ndy Auf diesen Beitrag antworten »

und KNF

phi Auf diesen Beitrag antworten »

Korrekt! Und da die KNF komplementär zur DNF definiert ist muss die KNF 16-7=9 Terme haben...

KNF stimmt auch. Aufgabe gelöst! smile
@ndy Auf diesen Beitrag antworten »

NEIN es gibt noch aufgabe b. aber die ist gleichwertig...werd die mit einem mal reinstellen...dann bin ich auf der sicheren seite wenn sie noch jemand für richtig befindet.
@ndy Auf diesen Beitrag antworten »





DNF:


KNF:


korrekt? wenn ja gibts fröhlich oder Prost
phi Auf diesen Beitrag antworten »

Alles richtig bis auf ...ah du hast die letzte Zeile schon korrigiert! Augenzwinkern

Na dann mal Prost
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »