http://www.oelinger.de     Oelinger Home

Home Maria Oelinger     Hilfe 

zurück zur Übersicht     Teil I   Teil II

2.3 Quine & McCluskey – Teil II

  Algorithmus Quine & McCluskey

Ermittelt kostenminimale Darstellung durch Primimplikanten PI (f).

Eingabe
Funktionstabelle (x, f (x)), x Element Bn, f Boolesche Funktion.

1) Berechne
Qn :=  {Minterme aller einschlägigen Indizes von f};
       d.h. alle Literale mit f = 1
j := n;
PI (f) := { };

2) Solange Qj nichtleer, wiederhole:

2a) j := j – 1;

2b) Qj := {µ | Ex. k: xk, ¬xk sind nicht aus µ; µ xk, µ ¬xk Element Qj+1 }
d.h. vergleiche Literale (geordnet nach Anzahl der Negationen) mit um 1 unterschiedlicher Negationsanzahl
2c) Pj+1 := {µ Element Qj+1 | Ex. keine Verkürzung von µ in Qj }
d.h. Literale, die beim Vergleich keinen Partner gefunden haben
2d) PI (f) := PI (f) vereinigt Pj+1

Also: Bestimmung aller Primimplikanten.
Kostenminimale Auswahl von Primimplikanten durch Matrixverfahren (s.u.).

Aufwand
O (3n • n2) worst case; n Variable, ca. (3n ÷ n) Primimplikanten.

vgl. auch R. Klar, "Digitale Rechenautomaten"

 

Matrixverfahren

f: B4bildet ab nachB in DNF mit

Funktionsbeispiel

Kosten: K (fDNF) = n k – 1 = 4•7 – 1 = 27

  1. Gruppiere nach Anzahl der negativen Literale:

    Anzahl Negationen Literale Einschlägiger Index i i dezimal geschrieben
    1 x2 negiert
    x3 negiert
    x4 negiert
    1 0 1 1
    1 1 0 1
    1 1 1 0
    11
    13
    14
    2 x1 und x4 negiert
    x3 und x4 negiert
    0 1 1 0
    1 1 0 0
    6
    12
    3 x1, x3 und x4 negiert 0 1 0 0 4
    4 alle negiert 0 0 0 0 0

    Resolution für Terme in benachbarten Gruppen:

    Anzahl Negationen Literale Minterm-Nummern
    1 x2 negiert 11
    1 Stern an 1. Stelle, x4 negiert
    Stern an 4. Stelle, x3 negiert
    Stern an 3. Stelle, x4 negiert
    6, 14
    12, 13
    12, 14
    2 Stern an 3. Stelle, x1 und x4 negiert
    Stern an 1. Stelle, x3 und x4 negiert
    4, 6
    4, 12
    3 Stern an 2. Stelle, alle andern negiert 0, 4

    Erste Tabellenzeile: P4
    Restliche Zeilen: Q3

    Anzahl Negationen Literale Minterm-Nummern
    1 x2 negiert
    Stern an 4. Stelle und x3 negiert
    11
    12, 13
    2 Sterne an 1. und 3. Stelle, x4 negiert 4, 6
    3 Stern an 2. Stelle, alle andern negiert 0, 4

    1. Literal: P4
    2. Literal: P3
    3. Literal: Q2 = P2
    4. Literal: P1

    4 Primimplikanten.
    f = x1 ¬x2 x3 x4 + x1 ;x2 ¬x3 + x2 ¬x4 + ¬x1 ¬x3 ¬x4
    Also Anzahl der Terme: k = 4

    Kosten: K (f) = (k – 1) + 3 + 2 + 1 + 2 = (4 – 1) + 8 = 3 + 8 = 11

  2. Das folgende System ist minimal:

    i Minterme  
    0 4 6 11 12 13 14
    x1 ¬x2 x3 x4
    0 0 0 1 0 0 0 }
    }
    }
    }
     PI
    }
    }
    }
    x1 x2 ¬x3
    0 0 0 0 1 1 0
    x2 ¬x4
    0 1 1 0 10 0 1
    ¬x1 ¬x3 ¬x4 1 1 0 0 0 0 0

    Beachte: (Mindestens) eine 1 in jeder Spalte.

    Aufwand von Schritt (2)
    Problem der minimalen Überdeckung (Stichwort Überdeckungsmatrix) ist NP-vollständig und sehr zeitaufwendig!

 

weiter...

 

zurück zur Übersicht

Feel free to send me email: maria@oelinger.de


© 2000 Maria Oelinger
cand. math.
Schaltungen und Boolesche Algebra (18) Letzte Änderung: 19.11.2000
address: http://www.oelinger.de/maria/schalt/schalt18.htm