In der Prädikatlogik können Aussagen auf verschiedene Arten ausgedrückt werden, einschließlich Standardnormalformen (SNF) und Disjunktivnormalformen (DNF). In diesem Artikel betrachten wir den Prozess der Konstruktion einer perfekten konjunktiven Normalform (SKNF) aus einer gegebenen perfekten disjunktiven Normalform (SDNF).
Es ist wichtig zu beachten, dass die SNFS und SNFS äquivalente Darstellungen einer logischen Aussage sind. Die SNF stellt eine Aussage in Form einer Konjunktionsstörung dar, während die SNF eine Konjunktionsstörung ist. Wenn wir von SDNF zu SKNF wechseln, konvertieren wir jede Disjunktion in eine Konjunktion und jede Konjunktion in eine Disjunktion.
Der Prozess des Aufbaus von SKNF aus SDNF ist einfach, erfordert jedoch eine Abfolge von Schritten. Beginnen wir mit einem Beispiel zum besseren Verständnis. Nehmen wir an, wir haben die folgende SDNF:
F = (A AND B AND ¬C) OR (C AND ¬D) OR (A AND B AND C AND D)
Um diese SDNF in SKNF zu übersetzen, müssen wir folgende Änderungen vornehmen:
Was sind SKNF und SDNF?
Die SNF ist eine Formel, die aus den Konjunktionen (logisch UND) der maximal einfachen elementaren Disjunktionen (logisch ODER) besteht. Jede elementare Disjunktion enthält alle möglichen Literale, die wahr oder falsch sein können. Die SDNF ermöglicht es Ihnen, eine Funktion als Summe der Werke darzustellen.
SKNF ist dagegen eine Formel, die aus den Disjunktionen (logisch ODER) der maximal einfachen elementaren Konjunktionen (logisch UND) besteht. Jede elementare Konjunktion besteht aus allen Literalen, die nur wahr oder falsch sein können. Der SNF ermöglicht es Ihnen, eine Funktion als ein Produkt von Summen darzustellen.
Die Verwendung von SKNF und SDNF ermöglicht es Ihnen, komplexe logische Funktionen zu vereinfachen und zu analysieren. Sie helfen, den booleschen Ausdruck in einer kompakteren und verständlicheren Form darzustellen. Sie können auch verwendet werden, um die Leistung von Logikschaltungen und Computergeräten zu optimieren.
Es ist wichtig zu wissen, dass nicht alle booleschen Funktionen als SKNF oder SDNF dargestellt werden können. Einige Funktionen erfordern komplexere Darstellungsformen. Die meisten Funktionen können jedoch mit diesen beiden normalen Formen dargestellt und analysiert werden.
Umwandlung von SDNF in SKNF
1. Eine Wahrheitstabelle erstellen: Notieren Sie alle möglichen Kombinationen von Variablenwerten und berechnen Sie die Funktionswerte für jede Variable.
2. Erstellen eines logischen Ausdrucks: Markieren Sie die Zeilen der Wahrheitstabelle, in denen die Funktion den Wert 1 annimmt, und kombinieren Sie sie durch ein boolesches ODER.
3. Einen booleschen Ausdruck in eine abgekürzte disjunktive Normalform (SDNF) umwandeln: Durch Verteilungsgesetze ODER erweitern Sie die Klammern im Ausdruck.
4. SKNF-Konstruktion: Invertieren Sie die Werte der Variablen in jedem zusammengesetzten SKNF, indem Sie 0 durch 1 ersetzen und umgekehrt.
Als Ergebnis dieser Schritte erhalten Sie eine verkürzte konjunktive Normalform (SKNF) für eine logische Funktion, die dem ursprünglichen SDNF entspricht.
Schritt für Schritt Anleitung zum Erstellen eines SKNF
Um eine SKNF aus einer SDNF (abgekürzte disjunktive Normalform) zu erstellen, befolgen Sie diese Schritte:
Schritt 1: Schreiben Sie die logische Funktion als SDNF auf. Ein SNF ist eine Konjunktionsstörung, bei der jede Konjunktion einem einzelnen Funktionswert entspricht.
Schritt 2: Erstellen Sie eine Wahrheitstabelle für die angegebene logische Funktion. In der ersten Spalte der Tabelle sollten alle möglichen Kombinationen von Variablenwerten aufgelistet sein.
Schritt 3: Markieren Sie die Zeilen in der Wahrheitstabelle, für die der Funktionswert "1" ist. Diese Zeilen entsprechen den Konjunktionen, die im SKNF verwendet werden.
Schritt 4: Notieren Sie für jede markierte Zeile der Wahrheitstabelle eine separate Konjunktion, wobei jedes Literal durch den Wert der Variablen dargestellt wird, wenn es positiv ist, oder durch die Negation der Variablen, wenn es negativ ist.
Schritt 5: Drücken Sie den SKNF als Konjunktion aller empfangenen Konjunktionen aus.
Jetzt haben Sie eine SKNF, die aus der SDNF einer gegebenen logischen Funktion aufgebaut ist. Überprüfen Sie das Ergebnis und stellen Sie sicher, dass es mit der ursprünglichen Funktion übereinstimmt.
Beispiele für den Aufbau von SKNF aus SDNF
Lassen Sie uns einige Beispiele für den Aufbau von SKNF aus SDNF betrachten. In jedem Beispiel wird eine logische Funktion angegeben und Schritt für Schritt erklärt, wie sie ihre SKNF konstruieren kann.
Beispiel 1:
Lassen Sie die folgende logische Funktion angeben:
F(A, B, C) = ^ a B a C
1. Wir beginnen mit dem Schreiben von SDNF, indem wir jedes Element der Wahrheitstabelle der logischen Funktion durch ein Komma trennen und sie mit einer Operation kombinieren ODER:
F(A, B, C) = ÂB̂C + ÂBC + ABC
2. Ersetzen Sie die Zeichen, die die Negation einer Variablen bedeuten, durch eine logische Formel, z. B. A = a:
F(A, B, C) = aBaC + aBC + ABC
3. Wir öffnen die Klammern mit Hilfe der Assoziativität von Operationen Und:
F(A, B, C) = aBaC + aBC + ABC
Als Ergebnis wurde ein SKNF für eine gegebene logische Funktion erhalten.
Beispiel 2:
Lassen Sie die folgende logische Funktion angeben:
F(A, B, C) = ÂB + AB + BC
1. Wir beginnen mit dem Schreiben von SDNF, indem wir jedes Element der Wahrheitstabelle der logischen Funktion durch ein Komma trennen und sie mit einer Operation kombinieren ODER:
F(A, B, C) = ÂB̂C + AB̂C + AB̂C + ABC
2. Ersetzen Sie die Zeichen, die die Negation einer Variablen bedeuten, durch eine logische Formel, z. B. A = a:
F(A, B, C) = aBaC + ABaC + ABaC + ABC
3. Wir öffnen die Klammern mit Hilfe der Assoziativität von Operationen Und:
F(A, B, C) = aBaC + ABaC + ABaC + ABC
Als Ergebnis wurde ein SKNF für eine gegebene logische Funktion erhalten.
Daher haben wir uns die Beispiele für den Aufbau von SKNF aus SDNF angesehen und jedes Beispiel Schritt für Schritt analysiert. Ich hoffe, dass diese Beispiele Ihnen helfen, den Prozess des SKNF-Aufbaus besser zu verstehen.
Beispiel 1: Konvertieren eines einfachen Ausdrucks
Betrachten Sie zur Verdeutlichung den folgenden einfachen booleschen Ausdruck:
Ausdruck: A ∧ B ∨ C
Schreiben wir zuerst den Ausdruck als Wahrheitstabelle auf:
- A = 0, B = 0, C = 0: 0 ∧ 0 ∨ 0 = 0
- A = 0, B = 0, C = 1: 0 ∧ 0 ∨ 1 = 1
- A = 0, B = 1, C = 0: 0 ∧ 1 ∨ 0 = 0
- A = 0, B = 1, C = 1: 0 ∧ 1 ∨ 1 = 1
- A = 1, B = 0, C = 0: 1 ∧ 0 ∨ 0 = 0
- A = 1, B = 0, C = 1: 1 ∧ 0 ∨ 1 = 1
- A = 1, B = 1, C = 0: 1 ∧ 1 ∨ 0 = 1
- A = 1, B = 1, C = 1: 1 ∧ 1 ∨ 1 = 1
Jetzt finden wir die Zeilen, in denen der Ausdruck 1 ist:
- A = 0, B = 0, C = 1
- A = 0, B = 1, C = 1
- A = 1, B = 0, C = 1
- A = 1, B = 1, C = 0
- A = 1, B = 1, C = 1
Eine Stichprobe von Strings, in denen der Ausdruck 1 ist, gibt uns den folgenden DNF:
- (A' ∧ B' ∧ C) ∨ (A' ∧ B ∧ C) ∨ (A ∧ B' ∧ C) ∨ (A ∧ B ∧ C') ∨ (A ∧ B ∧ C)
Als Ergebnis erhalten wir den folgenden SDNF:
- (A' ∧ B' ∧ C) ∨ (A' ∧ B ∧ C) ∨ (A ∧ B' ∧ C) ∨ (A ∧ B ∧ C') ∨ (A ∧ B ∧ C)
Jetzt ist der Ausdruck in der SDNF geschrieben.