T02-Primimplikanten-und-Ueberdeckungsproblem
Primimplikanten und Überdeckungsproblem
Zusammenfassung
Nachdem die Primimplikanten einer Booleschen Funktion
Exam-Relevanz
- Aufgabe 1 (A1) in der Klausur: 16 Punkte — Teil c) verlangt die Primimplikantentafel (5P)
- Sowohl in der Exam-Klausur (WS 2024/25) als auch in der probeklausur (SoSe 2026) ist A1 identisch
- Punkteverteilung: a) 7P (KV + Primimplikanten), b) 2P (fehlende PIs), c) 5P (PIT + wesentliche PIs + reduzierte Tafel + Minimalpolynom), d) 2P
- Was in Teil c) verlangt wird:
- Primimplikantentafel ausfüllen (welcher PI überdeckt welchen Minterm)
- Wesentliche Primimplikanten bestimmen (Hinweis: 2 PIs)
- Reduzierte Tafel nach Entfernen der wesentlichen PIs ausfüllen
- Falls Tafel leer: "Leer" schreiben und begründen
- Minimales Polynom angeben
- Wichtig: Quine-McCluskey ist in der Klausur verboten — aber die PIT und Petrick müssen beherrscht werden
- Beide Klausuren sind nahezu identisch — dieses Thema ist STABIL
Kernkonzepte
Minimalpolynom
Definition: Ein Minimalpolynom
Satz (Quine's Primimplikantensatz): Jedes Minimalpolynom
Beweisidee: Enthielte
Folgerung: Die Disjunktion aller Primimplikanten ist ein Polynom für
Berechnung von Implikanten (Grundlage für QM)
Lemma 1: Ist
Lemma 2: Sind
Beweis:
Satz (Charakterisierung): Ein Monom
ein Minterm von ist, oder und Implikanten von sind für eine Variable , die nicht in vorkommt.
Quine-McCluskey
Achtung: Quine-McCluskey ist in der Klausur verboten! Die Klausur verlangt explizit das KV-Diagramm. Das Verständnis von QM hilft aber, die Systematik hinter den Primimplikanten zu verstehen.
Idee
Berechne alle Implikanten systematisch, dann identifiziere die primen (die nicht weiter vereinheitlicht werden können).
Algorithmus
Prime implicants function Quine (f : B^n → B)
begin
L₀ := Minterm(f);
i := 0;
Prim(f) := ∅
while (Lᵢ ≠ ∅) and (i < n) do
// Lᵢ enthält alle Implikanten von f der Länge n−i
Lᵢ₊₁ := {m | m·x und m·x' sind in Lᵢ für ein x};
Prim(f) := Prim(f) ∪
{m' | m' ∈ Lᵢ und m' wird von keinem q ∈ Lᵢ₊₁ überdeckt};
i := i + 1;
end while;
return Prim(f) ∪ Lᵢ;
end;
Verbesserung durch McCluskey
Vergleiche nur Monome, die:
- Dieselben Variablen enthalten, und
- Bei denen sich die Anzahl der positiven Literale um 1 unterscheidet.
Dies wird erreicht durch Partitionierung von
enthält die Implikanten aus , deren Literale alle aus sind- Anordnung der Monome in
gemäß Anzahl der positiven Literale
Worked Example: QM für 4 Variablen
Funktion (aus k341-Berechnung_eines_Minimalpolynoms_Quine_McCluskey):
Schritt 0:
| # positive Literale | Minterme | Binär ( |
|---|---|---|
| 0 | 0000 |
|
| 1 | 0001, 0100, 1000 |
|
| 2 | 0011, 0101, 1001, 1010, 1100 |
|
| 3 | 0111, 1101, 1110 |
Schritt 1: -)
Man vergleicht nur Minterme aus benachbarten Blöcken (Anzahl positiver Literale unterscheidet sich um 1).
Beispiele:
0000und0001→000-( )0000und0100→0-00( )0000und1000→-000( )0011und0111→0-11( )0011und1011→ ... aber , also nicht möglich
Alle Minterme werden zu Kanten (1-dim Implikanten).
Schritt 2:
Je zwei Implikanten aus 0, die andere 1, Rest gleich), werden zu Flächen (2-dim Implikanten).
Beispiele:
0-01und0-11→0--1( ) [differieren in ]100-und110-→1-0-( ) [differieren in ]-000und-010→--00... aber prüfen:-000= ,-010= →--00... nein, das wäre vs , differieren in →-0-0? Nein, das stimmt nicht mit der Partitionierung.
Die Implikanten aus
Schritt 3:
1-0-und-0-0... verschiedene Variablenmengen, nicht vergleichbar.0--1kann nicht weiter vereinheitlicht werden.--0-entsteht aus1-0-und0-0-→ das ist
Endergebnis:
Korrektheit und Komplexität
Satz: Für alle
enthält nur Monome mit Literalen enthält genau die Implikanten von mit Literalen- Nach Iteration
enthält genau die Primimplikanten mit mindestens Literalen
Komplexität: Es gibt
Warum QM in der Klausur verboten ist: Für
Primimplikantentafel
Definition
Die Primimplikantentafel
- Zeilen = Primimplikanten von
- Spalten = Minterme von
Der Eintrag ist 1, wenn der Minterm
Gesucht: Eine kostenminimale Teilmenge
Worked Example: PIT für die Klausurfunktion
Primimplikanten (aus T01-KV-Diagramm-und-Logikminimierung):
| Kurzform | Monom |
|---|---|
--11 |
|
-01- |
|
-0-0 |
Minterme:
PIT ausfüllen — für jeden PI prüfen, welche Minterme er überdeckt:
--11( ): überdeckt alle Minterme mit :-01-( ): überdeckt alle mit :-0-0( ): überdeckt alle mit :
| Primimplikant | ||||||||
|---|---|---|---|---|---|---|---|---|
--11 ( |
✓ | ✓ | ✓ | ✓ | ||||
-01- ( |
✓ | ✓ | ✓ | ✓ | ||||
-0-0 ( |
✓ | ✓ | ✓ | ✓ |
Wesentliche Primimplikanten bestimmen
Definition: Ein Primimplikant
Lemma: Jedes Minimalpolynom enthält alle wesentlichen Primimplikanten.
Vorgehen: Für jede Spalte (jeden Minterm) zählen, wie viele ✓ sie hat. Hat eine Spalte nur ein ✓, ist der entsprechende PI wesentlich.
Für unser Beispiel:
| Minterm | Welche PIs überdecken ihn? | Wesentlicher PI? |
|---|---|---|
nur -0-0 |
ja → -0-0 wesentlich |
|
-01-, -0-0 |
nein | |
--11, -01- |
nein | |
nur --11 |
ja → --11 wesentlich |
|
nur -0-0 |
(bereits wesentlich) | |
-01-, -0-0 |
nein | |
--11, -01- |
nein | |
nur --11 |
(bereits wesentlich) |
Wesentliche Primimplikanten: --11 (-0-0 (
Reduzierte Tafel
1. Reduktionsregel: Entferne alle wesentlichen Primimplikanten und alle von ihnen überdeckten Minterme.
--11überdeckt:-0-0überdeckt:
Alle 8 Minterme sind überdeckt! Die reduzierte Tafel ist leer.
| Primimplikant | ||||
|---|---|---|---|---|
| (leer) |
Antwort: "Leer" — alle Minterme werden bereits von den wesentlichen Primimplikanten --11 und -0-0 überdeckt. Der dritte Primimplikant -01- ist nicht notwendig.
Minimales Polynom
Das minimale Polynom besteht nur aus den 2 wesentlichen Primimplikanten.
Drei Reduktionsregeln
1. Reduktionsregel — Wesentlicher Implikant
Ein Primimplikant
Regel: Entferne alle wesentlichen Primimplikanten und alle von ihnen überdeckten Minterme aus der PIT.
Wiederholen, bis keine wesentlichen PIs mehr existieren.
2. Reduktionsregel — Spaltendominanz
Definition: Spalte
Nutzen: Dominiert Minterm
Regel: Entferne alle Minterme (Spalten), die einen anderen Minterm dominieren.
3. Reduktionsregel — Zeilendominanz
Definition: Zeile
Nutzen: Dominiert PI
Regel: Entferne alle Primimplikanten (Zeilen), die durch einen anderen, nicht teureren Primimplikanten dominiert werden.
Reihenfolge der Regeln
- Wende 1. Reduktionsregel an (wesentliche PIs finden und entfernen)
- Wende 2. Reduktionsregel an (Spaltendominanz)
- Wende 3. Reduktionsregel an (Zeilendominanz)
- Wiederhole ab Schritt 1, bis keine Regel mehr anwendbar ist
- Ist die Matrix leer → fertig. Sonst: zyklisches Überdeckungsproblem → Petrick oder Greedy
Beispiel: Reduktionsregeln (aus k342-Berechnung_eines_Minimalpolynoms_Ueberdeckungsproblem)
Ausgangsmatrix (nach Entfernen wesentlicher PIs):
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
|---|---|---|---|---|---|---|---|---|---|
| E | 1 | 1 | |||||||
| F | 1 | 1 | |||||||
| G | 1 | 1 | |||||||
| H | 1 | 1 | |||||||
| I | 1 | 1 | 1 | ||||||
| J | 1 | 1 | 1 | ||||||
| K | 1 | 1 | 1 | ||||||
| L | 1 | 1 | 1 | ||||||
| M | 1 |
2. Reduktionsregel (Spaltendominanz): Spalte 17 dominiert Spalte 10 (jeder PI, der Spalte 10 überdeckt, überdeckt auch 17, aber nicht umgekehrt — M überdeckt nur 17). Also: Spalte 17 kann gelöscht werden.
3. Reduktionsregel (Zeilendominanz) (bei gleichen Kosten): E wird von L dominiert (L überdeckt alles, was E überdeckt, und mehr). E, F, G, H werden dominiert und können entfernt werden.
Nach Anwendung: I, J, K, L werden wesentlich → Matrix leer → Minimalpolynom gefunden.
Petrick's Methode
Wann nötig?
Wenn nach Anwendung aller Reduktionsregeln die Matrix nicht leer ist, liegt ein zyklisches Überdeckungsproblem vor. Petrick's Methode liefert die exakte Lösung.
Verfahren
- PIT in Produkt von Summen übersetzen: Für jeden Minterm (Spalte) schreibe die Disjunktion (OR) aller PIs, die ihn überdecken.
- Ausmultiplizieren: Das Produkt von Summen wird zu einer Summe von Produkten (DNF).
- Minimales Monom wählen: Das Monom mit den wenigsten Literalen (= wenigste PIs) und minimalen Kosten entspricht der optimalen Überdeckung.
Worked Example: Zyklisches Überdeckungsproblem
| PI | ||||||
|---|---|---|---|---|---|---|
| 1 | 1 | |||||
| 1 | 1 | |||||
| 1 | 1 | |||||
| 1 | 1 | |||||
| 1 | 1 | |||||
| 1 | 1 |
Kein PI ist wesentlich (jeder Minterm wird von genau 2 PIs überdeckt). Keine Spalten- oder Zeilendominanz. → Zyklisches Überdeckungsproblem.
Schritt 1: Produkt von Summen
Für jede Spalte die überdeckenden PIs als Disjunktion:
Schritt 2: Ausmultiplizieren
Weiter ausmultiplizieren und mit Absorption vereinfachen (
Schritt 3: Minimale Lösung
Bei gleichen Kosten für alle PIs sind
- Lösung 1:
(PIs ) - Lösung 2:
(PIs )
Beide überdecken alle Minterme mit minimaler Anzahl von PIs.
Worked Example: Blatt 08, Aufgabe 2
Gegebene PIT:
| 1 | 1 | |||||
| 1 | 1 | 1 | ||||
| 1 | 1 | 1 | ||||
| 1 | 1 | |||||
| 1 | 1 | |||||
| 1 | 1 |
1. Reduktionsregel:
Entferne
Restmatrix:
| 1 | 1 | |||
| 1 | 1 | |||
| 1 | 1 | |||
| 1 | 1 | |||
| 1 | 1 |
Keine wesentlichen PIs. Keine Spaltendominanz. Keine Zeilendominanz (bei gleichen Kosten). → Zyklisches Überdeckungsproblem.
Petrick's Methode:
Minimum finden: Welche 2 PIs überdecken alle 4 Minterme?
: ✓ : ✓- Alle anderen 2-Kombinationen überdecken nicht alle Minterme.
Minimale Lösungen (bei gleichen Kosten):
Greedy-Heuristik
Falls Petrick's Methode zu aufwändig ist:
- Wende alle Reduktionsregeln an.
- Ist die Matrix leer → fertig.
- Sonst: Wähle die Zeile, die die meisten Spalten überdeckt. Lösche diese Zeile und alle überdeckten Spalten. Gehe zu 1.
Achtung: Die Greedy-Heuristik liefert nicht immer die optimale Lösung! (Siehe k342-Berechnung_eines_Minimalpolynoms_Ueberdeckungsproblem: Die M-Zeile überdeckt am meisten, ist aber nicht Teil der optimalen Lösung.)
Wichtige Formeln
Typische Klausuraufgabe
Die PIT-Aufgabe ist Teil c) von A1 (5P). Der Aufbau:
- PIT ausfüllen (leere Tabelle mit Primimplikanten als Zeilen, Mintermen als Spalten)
- Für jeden PI: prüfe, welche Minterme er überdeckt (Minterm ist Ecke des PI-Würfels)
- Kurzform-Hilfe:
--11überdeckt alle Minterme, die auf Position 3 und 4 eine1haben
- Wesentliche PIs bestimmen (Hinweis: 2)
- Spalte mit nur einem ✓ → entsprechender PI ist wesentlich
- Reduzierte Tafel ausfüllen
- Wesentliche PIs und ihre Minterme streichen
- Falls leer: "Leer" schreiben + Begründung
- Minimales Polynom angeben
Für die Klausurfunktion ist die reduzierte Tafel leer — alle Minterme werden von den 2 wesentlichen PIs überdeckt. Das minimale Polynom ist:
Häufige Fallstricke:
- PIT falsch ausfüllen: Minterm
hat von (MSB = ) - Wesentliche PIs übersehen: Jede Spalte mit nur einem ✓ bedeutet ein wesentlicher PI
- Vergessen, überdeckte Minterme zu streichen
- Bei zyklischem Problem: Petrick nur als Produkt von Summen aufschreiben (nicht ausmultiplizieren, falls zu aufwändig)
Übungsblätter
| Blatt | Was geübt wird | Schwierigkeit | Link |
|---|---|---|---|
| Blatt 7 | Ein Schritt QM (Vereinheitlichung) | Mittel | Blatt07 |
| Blatt 8 | PIT reduzieren, Reduktionsregeln, Petrick's Methode | Schwer | Blatt08 |
| Blatt 9 | KV → quienny → PIT → Petrick (Produkt von Summen) |
Schwer | Blatt09 |
| Blatt 10 | Vollständiger QM-Algorithmus, alle |
Schwer | Blatt10 |
Quellen
- k341-Berechnung_eines_Minimalpolynoms_Quine_McCluskey — QM-Algorithmus, Vereinheitlichung, Korrektheit, Komplexität
- k342-Berechnung_eines_Minimalpolynoms_Ueberdeckungsproblem — PIT, Reduktionsregeln, Petrick, Greedy, zyklische Probleme
- k332-BA_Normalformen_zweistufige_Synthese_Logikminimierung — Implikanten, Primimplikanten (Grundlagen)
- Blatt07 — QM Vereinheitlichungsschritt
- Blatt08 — PIT, Reduktionsregeln, Petrick
- Blatt09 — KV, quienny, PIT, Petrick
- Blatt10 — Vollständiger QM, KV-Vergleich, Kosten
- Exam — Klausur A1 (WS 2024/25)
- probeklausur — Probeklausur A1 (SoSe 2026)
Priorität
Höchste Priorität — Die PIT ist der zweite Teil von A1 (5P) und direkt an das KV-Diagramm aus T01-KV-Diagramm-und-Logikminimierung angekoppelt. Übe den kompletten Ablauf: KV-Diagramm → Primimplikanten → PIT → wesentliche PIs → reduzierte Tafel → Minimalpolynom. Die Reduktionsregeln und Petrick müssen sitzen, da bei zyklischen Problemen (wie in Blatt 8) Petrick verlangt wird.