Logik - Universität Göttingen

Werbung
2. Zahlen und Logik
Überblick
„
Zahlen
…
Informatik II
…
…
SS 2006
„
Logik
…
Kapitel 2: Zahlen und Logik
Informationsdarstellung
Zahlensysteme
Rechnerarithmetik
…
Aussagenlogik und logische Gatter
Prädikatenlogik
Teil 2: Logik
Dr. Michael Ebner
Dipl.-Inf. Marco Zibull
Lehrstuhl für Telematik
Institut für Informatik
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Ziel: Rechnerarithmetik implementieren
„
2.2-2
Darstellung binärer Größen
Bitweise logische Operationen
„
E
E=A?B
= x"34" ? x"1C"
In digitalen Systemen werden Informationen in binärer Form dargestellt.
Binäre Größen können von jedem Baustein dargestellt werden, der nur 2
Operationszustände besitzt.
Beispiel: Schalter. Zuweisung der Zustände 0 für offen und 1 für geschlossen
ermöglicht die Darstellung binärer Werte.
… Typischerweise werden folgende Spannungen zugewiesen:
…
? ... beliebige logische Verknüpfung
„
a5 a4 a3 a2 a1 a0
Operand A
1
1
0
1
0
0
Operand A
b5 b4 b3 b2 b1 b0
Operand B
0
1
1
1
0
0
Operand B
e5 e4 e3 e2 e1 e0
Ergebnis E
1
0
0
0
0
0
Ergebnis E
„
„
Binäre 1: Eine beliebige Spannung zwischen 2V und 5V
Binäre 0: Eine beliebige Spannung zwischen 0V und 0.8V
Spannungen zwischen 0.8V und 2V werden nicht genutzt und können zu
Beschädigungen führen.
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-3
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-4
2. Zahlen und Logik
2. Zahlen und Logik
Boolesche Algebra (1/2)
„
Boolesche Algebra:
…
„
Definition der Booleschen Algebra
…
Variable, die nur zwei Werte annehmen können. Diese Werte werden
mit
L - H , wahr - falsch oder 0 - 1 bezeichnet. Boolesche Variable sind
logische Variable.
Boolesche Operatoren:
…
„
„
Die Booleschen Algebra (speziell die Aussagenlogik) ist ein
Formalismus zur Beschreibung der Funktion digitaler Komponenten.
Binäre oder Boolesche Variable (BV):
…
„
Boolesche Algebra (2/2)
Auf Boolesche Variable können Boolesche Operatoren angewendet
werden: NOT, OR, AND,XOR, ...
„
Boolesche Ausdrücke, Boolesche Funktionen:
…
Boolesche Ausdrücke oder Boolesche Funktionen ergeben sich durch
Verknüpfung von Boolesche Variable mit Booleschen Operatoren.
„
Die Booleschen Algebra ist eine algebraische Struktur. Sie besteht aus
einer Menge M = {e1, e2, …}, den Operatoren ψ und φ, Axiomen und
wichtigen Sätzen. Eine spezielle Boolesche Algebra ist die
Aussagenlogik. Sie wird charakterisiert durch folgende Eigenschaften:
M: {0,1}
e: 1
wahr
n: 0
falsch
ψ: ∧
zweistellige Operation
φ: ∨
zweistellige Operation
Die Boolesche Algebra wurde von George Boole um 1850
entwickelt
Claude Shannon verwendete um 1937 die Boolesche Algebra als
erster für den Schaltungsentwurf
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-5
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Operation
Wahrheitstabellen
„
Eingaben Funktion
x1,..,xn
f(x)
„
„
Ausgabe
y
„
Darstellung der Abhängigkeiten zwischen der Eingabe und Ausgabe
Alle möglichen Kombinationen der Eingabe (A,B) werden mit der
korrespondierenden Ausgabe (X) angegeben.
Beispiel:
Eingabe
Funktion von n Eingangsvariablen:
A
B
Nur vom gegenwärtigen Wert der Eingänge anhängig, kein "Gedächtnis"
… y = f(x) = f(xn, ... ,x3,x2,x1), xi ∈ {0,1}
… Für n Eingangsvariablen gibt es 2n Wertekombinationen.
… Die Wertekombinationen heißen auch die Belegungen Xj der Eingangsvariablen
…
„
2.2-6
Logische Operationen können auf zwei, sinngemäß gleiche Wege
dargestellt werden:
…
Boolescher Ausdruck: endlich, aber nicht eindeutig
… Wahrheitstabelle: endlich und eindeutig
…
Ausgabe
?
X
2.2-7
A
0
1
0
1
X
0
0
0
1
Die Ausgabe ist nur 1, wenn beide Eingaben 1 sind.
Logik
Universität Göttingen - Informatik II - SS 2006
B
0
0
1
1
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-8
2. Zahlen und Logik
2. Zahlen und Logik
UND-Operator
ODER-Operator
Name
UND (AND)
Tabelle
b
0
0
1
1
Schriftlich
a
0
1
0
1
y
0
0
0
1
y = a ∧ b oder
= ab
oder
=a*b
UND wird verwendet, um Bits gezielt auf 0 zu
setzen. Dazu hat die Maske an allen Bitpositionen,
die übernommen werden sollen, eine 1 und an den
Stellen, die rückgesetzt werden sollen, eine 0.
Name
ODER (OR)
Tabelle
b
0
0
1
1
x“14“ = x"34" ∧ x"1C"
1
1
0
1
0
0
Operand A
0
1
1
1
0
0
Operand B
Schriftlich
y
0
1
1
1
y = a ∨ b oder
=a+b
Gatter
&
a
0
1
0
1
OR wird verwendet, um Bits gezielt auf 1 zu
setzen. Dazu hat die Maske an allen Bitpositionen,
die übernommen werden sollen, eine 0 und an den
Stellen, die gesetzt werden sollen, eine 1.
x“3C“ = x"34“ ∨ x"1C"
1
1
0
1
0
0
Operand A
0
1
1
1
0
0
Operand B
1
1
1
1
0
0
Ergebnis E
≥1
Gatter
0
1
0
1
0
0
Ergebnis E
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-9
2. Zahlen und Logik
NICHT (NOT)
Tabelle
a
0
1
Gängige logische Operationen: XOR
NICHT wird auch als Inverses oder Komplement
bezeichnet.
y
1
0
Name
XOR
Tabelle
b
0
0
1
1
x“0B“ = ~x"34"
Schriftlich
Gatter
y=a
1
1
0
1
0
0
Operand A
0
0
1
0
1
1
Ergebnis E
Schriftlich
1
a
0
1
0
1
y
0
1
1
0
y = a b oder
=a⊕b
Sprache "C"
XOR wird verwendet, um Bits gezielt zu
invertieren. Dazu hat die Maske an allen
Bitpositionen, die invertiert werden
sollen, eine 1 und an allen sonstigen
Stellen eine 0.
x“28“ = x"34" x"1C"
1
1
0
1
0
0
Operand A
0
1
1
1
0
0
Operand B
1
0
1
0
0
0
Ergebnis E
y=a^b
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-10
2. Zahlen und Logik
NICHT-Operator
Name
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-11
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-12
2. Zahlen und Logik
2. Zahlen und Logik
Gatter (1/2)
„
Gatter (2/2)
Funktion
Elektrische Realisierung mittels Schalter:
…
Relais, Knipser, Röhren, bipolare Transistoren,
Feldeffekt – Transistoren (MOS-FET), etc.
Knipser
Gatter
Knipser
Realisierung
Funktion
Realisierung
NOT
Q=ā
a
Gatter
MOS-FET
MOS-FET
_
a
a
+
+
L
AND
A
a
Q
&
b
a
Q
b
Q
B
Q
a
b
NAND
A
&
Q
B
+
+
OR
A
a
b
a
b
>=1
B
Q
Q
Q
a
NOR
b
A
2.2-13
2. Zahlen und Logik
a∨0=a
a∧0=0
R1
a∨1=1
a∧1=a
R2
a∨a=a
a∧a=a
R3
a∨a=1
a∧a=0
a=a
Assoziativgesetz
Logik
Universität Göttingen - Informatik II - SS 2006
a ∨ (b ∨ c) =
(a ∨ b) ∨ c =
a∨b ∨c
Anwendung der Regeln
Vereinfachung von Ausdrücken
Beispiel 1:
Y = A ∧ B ∧ C ∧ D ∨ A ∧ B ∨ ( B ∨ (A ∧ A) ) R4
= A ∧ B ∧ C ∧ D ∨ A ∧ B ∨ ( B ∨ 0) )
R1
...
=A∧B∧C∧D∨A∧B∨B
=A∧B∧C∧D∨B
=B
R4
R5
a ∧ (b ∧ c) =
(a ∧ b) ∧ c =
a∧b ∧c
R6
Kommutativgesetz
a∨b=b∨a
a∧b=b∧a
R7
Distributivgesetz
a ∨ (b ∧ c) =
(a ∨ b) ∧ (a ∨ c)
a ∧ (b ∨ c) =
(a ∧ b) ∨ (a ∧ c)
R8
Beispiel 2:
R9
R5:
De Morgan:
Absorptionsgesetz
De Morgan'sches
Gesetz
2.2-14
2. Zahlen und Logik
10 Regeln für logische Operationen
Boolesche
Variablen a, b
Elemente aus {0,1}
Q
+
Logik
Universität Göttingen - Informatik II - SS 2006
>=1
B
a ∨ (a ∧ b) = a
(a ∨ b) = a ∧ b
Universität Göttingen - Informatik II - SS 2006
a ∧ (a ∨ b) = a
(a ∧ b) = a ∨ b
Y=(A∧B∧C) +(D∧E∧F)
Y = ( A ∧ B ∧ C ) + (D ∧ E ∧ F )
Y = ( A ∧ B ∧ C ) ∧ (D ∧ E ∧ F )
R10
Logik
2.2-15
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-16
2. Zahlen und Logik
2. Zahlen und Logik
Implikationen aus dem De Morgan'schen Gesetz
(a ∨ b) = a ∧ b
A
(a ∨ b)
Q
(a ∧ b) = a ∨ b
NOR
1
B
A
&
Q
1
B
1
A
&
(a ∧ b)
Q
B
Alternative NOR Darstellung
a∧b
A
NAND
B
A
a∧b
>=1
>=1
Q
1
a∨b
>=1
Q
B
Q
B
Name
NAND
Tabelle
b
0
0
1
1
Schriftlich
y=a∧b
Das NAND-Symbol ist abgesehen von dem kleinen
Kreis am Ausgang identisch mit dem AND-Symbol.
Der kleine Kreis stellt die Invertierung dar.
a
0
1
0
1
y
1
1
1
0
1
1
0
1
0
0
Operand A
0
1
1
1
0
0
Operand B
1
0
1
0
1
1
Ergebnis E
&
Alternative NAND Darstellung
A
&
NAND-Operator
Gatter
a∨b
Invertieren
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-17
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
NOR-Operator
Name
NOR
Tabelle
b
0
0
1
1
Schriftlich
a
0
1
0
1
Alternative Darstellung von Gattern
Das NOR-Symbol ist abgesehen von dem kleinen
Kreis am Ausgang identisch mit dem OR-Symbol.
Der kleine Kreis stellt die Invertierung dar.
Für die Gatter UND, ODER, NICHT, NAND und NOR gibt es eine
Alternative Darstellung
…
y
1
0
0
0
…
„
1
y=a∨b
„
1
0
1
0
0
„
Operand A
Invertiere jeden Eingang und Ausgang des Standardsymbols
Ändere das Operationssymbol von UND zu ODER, oder von ODER zu
UND
Die alternative Darstellung repräsentiert den gleichen
physikalischen Baustein.
Beispiele:
A
Gatter
2.2-18
0
≥1
1
1
1
0
0
Operand B
1
1
Ergebnis E
NOR
0
0
0
0
NAND
2.2-19
&
Q
>=1
Q
B
&
B
Logik
Universität Göttingen - Informatik II - SS 2006
Q
B
A
Invertieren
A
>=1
A
Q
B
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-20
2. Zahlen und Logik
2. Zahlen und Logik
Vollständige Operatorensysteme
„
Ein vollständiges Operatorensystem erlaubt die Darstellung aller
möglichen Funktionen
„
Die folgenden Systeme sind u.a. vollständig:
…
…
…
…
…
…
„
Normalformen (1/2)
„
Bei zweistelligen, booleschen Funktionen sind dies 16 Möglichkeiten
…
…
NICHT:
UND:
ODER
Beschränkung auf ein vollständiges Operatorensystem reicht nicht für
Eindeutigkeit
Die Normalformen dienen dazu, anhand von Zustandstabellen
Schaltungen zu entwickeln. Dabei werden logische Funktionen in
Schaltkreise umgesetzt.
…
Randbedingungen:
„
„
Beispiel für NAND:
…
…
„
UND, ODER, NICHT
UND, NICHT
ODER, NICHT
NAND
NOR
Es gibt keinen eindeutigen booleschen Ausdruck für eine boolesche
Funktion
„
a∧a
(a∧b)∧(a∧b)
(a∧a)∧(b∧b)
die Zahl der Schaltkreise sollte möglichst gering sein
die einzelnen Bauelemente sollten möglichst gleich sein
Standarddarstellung im Operatorensystem UND/ODER/NICHT
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-21
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Normalform (2/2)
„
…
…
…
…
„
Übersetzungsregel für disjunktive Normalform
Disjunktive Normalform (DNF)
…
disjunktive Verknüpfung von Konjunktionen
Konjunktionen müssen alle Variablen enthalten (bejaht oder negiert)
Konjunktionsterme werden Minterme genannt
In der DNF werden alle UND – Verknüpfungen (Konjunktionen)
disjunktiv verknüpft (ODER- verknüpft), deren Ausgangsvariablen den
Wert „1“ annehmen.
amerikanischer Ausdruck: “sum of products“ (SOP)
Konjunktive Normalform (KNF)
…
…
…
…
Konjunktive Verknüpfung von Disjunktionen
Disjunktionen müssen alle Variablen enthalten (bejaht oder negiert)
Disjunktionsterme werden Maxterme genannt
In der KNF werden alle ODER – Verknüpfungen (Disjunktionen)
konjunktiv verknüpft (UND- verknüpft), deren Ausgangsvariablen den
Wert „0“ annehmen.
„
Man geht von der Einsstellenmenge aus.
„
Für jede Belegung ersetzt man
…
…
die 1 durch eine bejahte Variable
die 0 durch eine negierte Variable
„
und bildet eine UND Verknüpfung (Minterm).
„
Die Maxterme werden ODER verknüpft
“Disjunktive Normalform“ DNF
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-22
2.2-23
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-24
2. Zahlen und Logik
2. Zahlen und Logik
DNF Übersetzung
Übersetzungsregel für konjunktive Normalform
„
Man geht von der Nullstellenmenge aus.
„
Für jede Belegung ersetzt man
…
…
die 0 durch eine bejahte Variable
die 1 durch eine negierte Variable
„
und bildet eine ODER Verknüpfung (Maxterm).
„
Die Maxterme werden UND verknüpft
“Konjunktive Normalform“ KNF
Oktal Index
(x4,x3,x2,x1) f -> y
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
0,0,0,0
0,0,0,1
0,0,1,0
0,0,1,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,1,1
1,1,0,0
1,1,0,1
1,1,1,0
1,1,1,1
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
0
0
0
1
0
0
1
0
0
1
-
Beispiel: Durch 3 teilbare BCD Ziffern
Å Logische 1 für:
x4 = 0, x3 = 0, x2 = 1, x1 = 1
x4 x3 x2 x1
Å Logische 1 für:
x4 = 0, x3 = 1, x2 = 1, x1 = 0
x4 x3 x2 x1
Å Logische 1 für:
x4 = 1, x3 = 0, x2 = 0, x1 = 1
x4 x3 x2 x1
E = {3, 6, 11}
3 (0,0,1,1)
6 (0,1,1,0)
11 (1,0,0,1)
y=
x4 x3 x2 x1
∨ x4 x3 x2 x1
∨ x4 x3 x2 x1
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-25
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2.2-26
2. Zahlen und Logik
Übersetzung DNF Gleichung in Hardware
Beschreibung von logischen Schaltnetze
Jede Gleichung läßt sich 1:1 in Hardware umsetzen
„
y = x4 x3 x2 x1 ∨ x4 x3 x2 x1 ∨ x4 x3 x2 x1
Logische Schaltnetze können mit den grundlegenden logischen
Verknüpfungen UND, ODER und NICHT beschrieben werden:
1.
x4
1
x3
1
x2
1
x1
1
2.
3.
&
„
&
>1
y
„
&
x = AB ∨ C
x = (A ∨ B) C
x = (A ∨ B) C ∨ A
Die Verwendung nur eines Gattertyps erleichtert die technische
Realisierung, weswegen NAND oder NOR basierte Systeme
oftmals verwendet werden.
Logische Schaltnetze können durch die Minimierung der logischen
Verknüpfung minimiert werden
…
…
…
In vielen Fällen sind einfachere Schaltungen schneller
Weniger Gatter reduziert die Kosten
Es wird weniger Energie benötigt
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-27
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-28
2. Zahlen und Logik
2. Zahlen und Logik
Minimierung
„
Minimierungsverfahren
DNF liefert relativ aufwendige Lösungen
„
Baut auf den Mintermen auf
Jedes UND Gatter enthält alle Eingangsvariablen
… Nicht praktikabel in „echten“ Anwendungen
…
„
„
„
Es gibt 3 Arten von Minimierungsverfahren
…
…
…
Die Suche nach einer einfacheren Lösung ist Ziel der Optimierung
(Minimierung).
Voraussetzung jeder Optimierung: Kostenfunktion beschreibt Ziel.
In unserem Fall: Möglichst wenige, möglichst kleine Gatter
Genauer: Die Anzahl der Eingänge in alle Gatter soll minimal werden.
In einer Gleichung ist dann die Anzahl der Variablen aller Terme plus die
Anzahl der Terme (Länge) minimal.
_ _
_
Y = (D C B A) ∨ (D C B) ∨ (E C) => L = 4+3+2+3 = 12
…
„
„
„
algebraische Verfahren
graphische Verfahren (z.B. KV-Diagramme)
tabellarische/algorithmische Verfahren (z.B. Quine/McCluskeyVerfahren)
Algebraische Verfahren werden praktisch nicht verwendet
Graphische Verfahren sind für bis zu 6 Variablen handhabbar
Tabellarische Verfahren sind auch für mehr als 6 Variablen geeignet
Wie erzielen wir möglichst kleine Gatter? Wir versuchen, durch Anwendung
der Rechenregeln, die einzelnen Terme kürzer zu machen.
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-29
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2.2-30
2. Zahlen und Logik
Algebraische Minimierung
Blöcke
Vereinfachung durch Ausklammern und Anwendung der Regeln:
_
_ _
_
_ _
_
Bsp: y = c b a ∨ c b a = c a (b ∨ b) = c a 1 = c a
In Belegungsschreibweise
c b a
y
_
c b a
0 1 1 -> 1
_ _
c b a
0 0 1 -> 1
„
Zwei Belegungen, die sich nur in einer Komponente unterscheiden,
heißen benachbart.
„
Die identischen Komponenten heißen "gebundene", die
unterschiedlichen "freie" Komponenten.
„
Die freien Komponenten werden durch einen "-" gekennzeichnet.
„
Es entsteht ein (Belegungs-) Block.
„
Ein Block mit r freien Komponenten enthält ("überdeckt") 2r
Belegungen.
„
Beispiel:
Wir suchen Belegungen, die
Einsstellen sind und
sich nur in einer Komponente unterscheiden
(benachbart sind)
4 (0,1,0,0)
(0,1,0,-)
5 (0,1,0,1)
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-31
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-32
2. Zahlen und Logik
2. Zahlen und Logik
Minimierung über Nachbarschaftsbeziehungen
Oktal Index
0
1
2
3
4
5
6
7
(x3,x2,x1)
f ->
y
0,0,0
0,0,1
0,1,0
0,1,1
1,0,0
1,0,1
1,1,0
1,1,1
->
->
->
->
->
->
->
->
0
0
0
0
1
1
0
1
Bildung größerer Blöcke
Zugehörige DNF:
Oktal Index
0
1
2
3
4
5
6
7
y = (x3 x2 x1)
∨ (x3 x2 x1)
∨ (x3 x2 x1)
Benachbarte Belegungen:
Minimierte Gleichung:
4:
5:
Block:
y = (x3 x2)
∨ (x3 x2 x1)
1, 0, 0
1, 0, 1
1, 0, -
(x3,x2,x1)
f ->
y
0,0,0
0,0,1
0,1,0
0,1,1
1,0,0
1,0,1
1,1,0
1,1,1
->
->
->
->
->
->
->
->
0
0
0
0
1
1
1
1
Benachbarte Belegungen:
4: 1, 0, 0
5: 1, 0, 1
Block: 1, 0, 1, 0, 1, 1, 6: 1, 1, 0
Block: 1, -, 7: 1, 1, 1
Block: 1, 1, -
Zugehörige DNF:
y = (x3 x2 x1)
∨ (x3 x2 x1)
∨ (x3 x2 x1)
∨ (x3 x2 x1)
Minimierte Gleichung:
y = x3
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-33
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Blockbildung bei komplizierteren Funktionen
Oktal Index
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
(x4,x3,x2,x1)
f ->
0,0,0,0
0,0,0,1
0,0,1,0
0,0,1,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,1,1
1,1,0,0
1,1,0,1
1,1,1,0
1,1,1,1
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
Minimierte Gleichung:
y
Zusammenfassung Blockbildung
Mögliche Blöcke:
1
0/2: 00-0
0
2/6: 0-10
1
2/12: -010
0
5/7: 01-1
0
5/15: -101
1
5/7/15/17: -1-1
6/7: 0111
6/16: -110 6/7/16/17: -111
0
7/17: -111 2/12/6/16: --10
1
11/15: 1-01
1
12/16: 1-10
0
15/17: 11-1
0
16/17: 1111
1
1
_ _ _
_
_
y = x4x3x1 ∨ x4x2x1 ∨ x3x1 ∨ x2x1
„
Die Bildung von Blöcken kann zur Minimierung herangezogen
werden.
…
…
„
Benachbarte Blöcke können zu größeren Blöcken
zusammengefasst werden
…
…
…
„
„
Betrachtet werden nur die Einsstellen
Benachbarte Belegungen werden zu Blöcken zusammengefasst.
es gelten dieselben Regeln.
Blöcke bestehen immer aus 2r Belegungen (r = Anzahl der Striche)
Ein Block, der sich nicht mehr vergrößern lässt, heißt "Primblock"
Gesucht ist die minimale Anzahl von möglichst großen Blöcken, die
alle Einsstellen überdeckt.
Übergang zur disjunktiven Form
…
…
…
Für Blöcke gelten dieselben Übersetzungsregeln, aber
freie Komponenten ("Striche") werden ignoriert.
Ein aus einem Primblock entstehender Term heißt "Primimplikant"
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-34
2.2-35
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-36
2. Zahlen und Logik
2. Zahlen und Logik
Minimierung per KV-Diagramm
Karnaugh-Veitch-Diagramme
Erstellung durch wechselweise horizontales und vertikales Spiegeln
x1
„
„
KV-Diagramme bieten einen graphischen Weg zur Minimierung
Es können minimale konjunktive oder disjunktive Formen gebildet
werden
0
KV-Diagramm:
x1
x2
0
1
2
3
x1
x2
0
1
5
4
2
3
7
6
x1
x2
2.2-37
2. Zahlen und Logik
x5
x3
x1
x1
0
1
5
4
2
3
7
6
12
13
17
16
10
11
15
14
x2
x4
0
1
5
4
24
25
21
20
2
3
7
6
26
27
23
22
12
13
17
16
36
37
33
32
10
11
15
14
34
35
31
30
x3
x3
Logik
Universität Göttingen - Informatik II - SS 2006
Koordinatendarstellung der Funktionstabelle
Jede Zelle entspricht einer Belegung
(Achtung: Zahlen sind im Oktalsystem
angegeben)
1
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-38
2. Zahlen und Logik
KV-Diagramm
Minimierung per KV-Diagramm
x5
x2
x2
Eintragung in das KV-Diagramm
x1
x1
0
1
5
4
24
2
3
7
6
26
25
27
2
3
21
20
23
22
33
32
12
13
17
16
36
10
11
15
14
34
35
31
30
50
51
55
54
74
75
71
70
52
53
57
56
76
77
73
72
42
43
47
46
66
67
63
62
40
41
45
44
64
65
61
60
37
Oktal Index
0
1
2
3
4
5
6
7
x4
(x3,x2,x1)
f ->
y
0,0,0
0,0,1
0,1,0
0,1,1
1,0,0
1,0,1
1,1,0
1,1,1
->
->
->
->
->
->
->
->
0
0
0
0
1
1
0
1
__ __
x3 __
x2 x1 ∨
x3 x2 x1 ∨
x3 x2 x1
x6
x1
x2
x3
0
0
1
1
0
0
1
0
x3
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-39
Universität Göttingen - Informatik II - SS 2006
Logik
2.2-40
x4
2. Zahlen und Logik
2. Zahlen und Logik
Blockbildung im KV-Diagramm
Interpretation eines KV-Diagramms
x1
1
0
0
x2
x1
0
0
0
0
0
0
x2
0
__ __
x3 x2 x1
0
1
x2
0
0
x3
x1
0
0
0
0
0
x3 x2 x1
0
x2
0
1
0
0
x3
0
x3
x1
ÎDarstellung der DNF
einer Schaltfunktion
x2
__
__
x3 x2 x1
x3
0
0
0
0
x1
0
1
0
0
1
0
1
1
0
1
0
x3
__ __
x3 x2 x1
__ __
x3 x2 x1 ∨
x3 x2 __
x1 ∨
__
x3 __
x2 __
x1 ∨
x3 x2 x1
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-41
2. Zahlen und Logik
x1
x2
0
1
1
0
0
1
0 0 0 0 1
1
0 0 0 1 1
2
0 0 1 0 1
3
0 0 1 1 1
4
0 1 0 0 0
5
0 1 0 1 0
6
0 1 1 0 0
7
0 1 1 1 0
10
1 0 0 0 0
11
1 0 0 1 1
12
1 0 1 0 0
13
1 0 1 1 1
14
1 1 0 0 0
15
1 1 0 1 0
16
1 1 1 0 0
17
1 1 1 1 0
A
1
B
1
0
1
1
2
1
12
0
5
3
0
13
11
6
16
0
15
D
14
0
0
C
__ _ _
0
17
1
0
7
0
1
10
4
0
0
__ _
_
_ _
__
DNF: Z = A B C D ∨ A B C D ∨ A B C D ∨ A B C D
Minterme: 0: 0000
1: 0001
13: 1011
00-0
(Blöcke) 2: 0010
3: 0011 00-1 11: 100110-1
_ _ _
__
_
Minimierte Gleichung: Z = A C D ∨ A C D ∨ ACD
Primblöcke: 00-- -0-1
__
_
Minimierte Gleichung mit Primtermen: Z = C D ∨ A C
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-42
Blockbildung bei unvollständig definierten Schaltfunktionen
x1
0
D C B A Z
2. Zahlen und Logik
Beispiel für Blockbildung in KV-Diagrammen
1
Fall
0
x2
x3
x1
1
0
0
1
1
0
0
1
x3
Vorläufige Blöcke. Es
entfällt je x3.
x2
1
0
0
1
1
0
0
1
Freistellen (do not care Stellen) können 0 oder 1 sein.
Festlegung derart, dass maximal große Blöcke entstehen.
x3
Endgültiger Block. Es
entfällt x2.
x1
Kann ein vorläufiger Block nicht mehr durch einen weiteren, symmetrisch
gelegenen gleich großen Block vergrößert werden, so erhält man den
maximal großen Block:
Primblock
Der zugehörige Term heißt
Primterm.
x2
x1
0
1
-
0
0
1
-
-
x2
x3
0
1
0
1
x1
-
0
=1
=0
=1
x3
-
x2
0
1
0
1
-
0
=1
=0
=1
-
x3
Jede vollständige Blocküberdeckung ist eine gültige Darstellung einer Funktion.
Vollständig: Jede Einsstelle wird von einem Block überdeckt.
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-43
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-44
2. Zahlen und Logik
2. Zahlen und Logik
Minimierung per KV-Diagramm
„
Minimierung per KV-Diagramm (1/3)
Minimierungsverfahren
Minimierungsverfahren
1. Spezifikation der Funktion durch Terme
2. Eintragung in das KV-Diagramm
3. Bestimmen der Primblöcke
„
„
„
Beispiel
Sukzessive Bildung von Blöcken mit 2, dann 4, dann 8 Belegungen, usw.
Verfolgung aller möglichen Kombinationen
Wenn Blockbildung abbricht, sind alle Primblöcke gefunden.
Ergebnis:
4. Auswahl der kleinsten Anzahl Primblöcke, die zur vollständigen
Überdeckung nötig sind
„
„
„
Bereits erledigt:
1. Spezifikation der Funktion durch Terme
2. Eintragung in das KV-Diagramm
x1
Identifikation der Kerne: Markierung aller Primblöcke, welche alleine eine
Funktionsstelle überdecken.
Falls diese bereits alle Stellen überdecken, ist minimale Lösung erreicht.
Reichen diese nicht zur Überdeckung aller Stellen aus, müssen weitere
Primblöcke hinzugenommen werden.
0 1 1 0
x2
0 0 1 1
0 0 1 -
5. Bildung eines kürzesten Ausdrucks (DMF: disjunktive Minimalform)
1 0 0
x3
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-45
2. Zahlen und Logik
x4
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-46
2. Zahlen und Logik
Minimierung per KV-Diagramm (2/3)
Minimierung per KV-Diagramm Beispiel (3/3) x1
Beispiel
4. Auswahl der kleinsten Anzahl
Primblöcke, die zur vollständigen
Überdeckung nötig sind
•
Identifikation der Kerne:
Markierung aller Primblöcke,
welche alleine eine Funktionsstelle
überdecken.
•
Falls diese bereits alle Stellen
überdecken, ist minimale Lösung
erreicht.
•
Reichen diese nicht zur
Überdeckung aller Stellen aus,
müssen weitere Primblöcke
hinzugenommen werden.
3. Bestimmen der Primblöcke
•
Sukzessive Bildung von Blöcken mit 2, dann 4, dann 8
Belegungen, usw.
•
Verfolgung aller möglichen Kombinationen
•
Wenn Blockbildung abbricht, sind alle Primblöcke gefunden.
w2
x1
w4
Primimplikanten:
x2
0
1
1
0
0
0
1
1
0
0
1
-
-
1
0
0
w3
w1
=>
x4
w5
x3
Grau gekennzeichnete Blöcke: Primblöcke
w1 = x3 x2
__ __
w2 = x4 x2 x1
__
w3 = x4 x3 x1
__ __
w4 = x3 x2 x1
__ __
w5 = x4 x3 x2
5. Bildung eines kürzesten Ausdrucks
(DMF: disjunktive Minimalform)
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-47
Universität Göttingen - Informatik II - SS 2006
x2
0
1
1
0
0
0
1
1
0
0
1
-
-
1
0
0
x1
x2
x4
x3
0
1
1
0
0
0
1
1
0
0
1
-
-
1
0
0
x3
x4
Logik
2.2-48
2. Zahlen und Logik
2. Zahlen und Logik
Minimierung mittels KV-Diagramm
Oktal Index
0
1
2
3
4
5
6
7
Blöcke:
10–
1-1
(x3,x2,x1)
f ->
y
0,0,0
0,0,1
0,1,0
0,1,1
1,0,0
1,0,1
1,1,0
1,1,1
->
->
->
->
->
->
->
->
0
0
0
0
1
1
0
1
Minimierung in der konjunktiven Form
x1
0
x2
0
0
2
0
0
1
3
1
1
5
7
1
0
4
6
x3
Kern-Blöcke:
101-1
••
•
>1
••
•
>1
y
&
••
•
••
•
Minimierte Gleichung:
__
y = x3 x2 ∨ x3 x1
>1
z.B.
_
_
y= (a ∨ b ∨ c) (a ∨ b ∨ c)
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-49
2. Zahlen und Logik
Bei BCD kodierten Ziffern können
nur Werte von 0 bis 9 vorkommen:
Das Verhalten der Schaltung bei
Eingangswerten > 9 (118) ist
gleichgültig.
R = { 12,13,14,15,16,17}
E = { 3,6,11}
N = {0,1,2,4,5,7,10}
Universität Göttingen - Informatik II - SS 2006
2.2-50
2. Zahlen und Logik
Ermittlung der Maxterme
Beispiel
Durch 3 teilbare BCD Ziffern
Logik
Universität Göttingen - Informatik II - SS 2006
Oktal Index
(x4,x3,x2,x1) f -> y
Oktal Index
(x4,x3,x2,x1) f -> y
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
0,0,0,0
0,0,0,1
0,0,1,0
0,0,1,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,1,1
1,1,0,0
1,1,0,1
1,1,1,0
1,1,1,1
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
0,0,0,0
0,0,0,1
0,0,1,0
0,0,1,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,1,1
1,1,0,0
1,1,0,1
1,1,1,0
1,1,1,1
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
0
0
0
1
0
0
1
0
0
1
-
Logik
2.2-51
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
->
0
0
0
1
0
0
1
0
0
1
-
ÅLogische 0 für:
x4 ∨ x3 ∨ x2 ∨ x1 = 0
•
••
••
•
ÅLogische 0 für:
_
x4 ∨ x3 ∨ x2 ∨ x1 = 0
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-52
2. Zahlen und Logik
2. Zahlen und Logik
KNF für Beispiel
N = {0,1,2,4,5,7,10}
Minimierung mit KV-Diagramm
x1
y=
0
0 (0,0,0,0)
1 (0,0,0,1)
2 (0,0,1,0)
4 (0,1,0,0)
5 (0,1,0,1)
7 (0,1,1,1)
10 (1,0,0,0)
(x4 ∨ x3 ∨ x2 ∨ x1)
_
∧ (x4 ∨ x3 ∨ x2 ∨ x1)
_
∧ (x4 ∨ x3 ∨ x2 ∨ x1)
_
∧ (x4 ∨ x3 ∨ x2 ∨ x1)
_
_
∧ (x4 ∨ x3 ∨ x2 ∨ x1)
_
_
_
∧ (x4 ∨ x3 ∨ x2 ∨ x1)
_
∧ (x4 ∨ x3 ∨ x2 ∨ x1)
x2
0
0
2
12
-
0
1
1
5
0
3
0
7
13
-
17
-
10 11
0
1
15
-
0
1
4
6
16
14
-
x4
x3
y = (x2 ∨ x4)
∧ (x1 ∨ x3)
_
_
∧ (x3 ∨ x1)
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-53
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Überblick
„
…
…
„
Logik I
Zahlen
…
„
Informationsdarstellung
Zahlensysteme
Rechnerarithmetik
„
Logik
…
…
„
Aussagenlogik und logische Gatter
Prädikatenlogik
„Logik handelt vom Umgang mit Aussagen (propositions). Aussagen
sind sprachliche gebilde, die entweder wahr oder falsch sind.“
(Informatik-Handbuch, Kapitel 1.1)
In der Logik werden nur Beziehungen zwischen atomaren
(unteilbaren) Aussagen betrachtet.
Um Auszudrücken, das eine gewisse Aussage A in einer
bestimmten Situation S (bzw. Semantik) wahr ist, schreibt man
S╞ A („in S gilt A“)
(Modellbeziehung zwischen S und A).
„
Es werden in der Logik nur Beziehungen zwischen Aussagen
betrachtet.
…
…
…
Die Entscheidung über eine Modellbeziehung zwischen Situation und
Aussage ist oftmals schwierig zu treffen.
Beispiel: „Programm P terminiert“ oder „Es wird immer Kriege geben“
Quelle: Informatik-Handbuch
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-54
2.2-55
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-56
2. Zahlen und Logik
2. Zahlen und Logik
Logik II
„
„
„
„
Übergang zur Prädikatenlogik
Das Innere einer Aussage ist irrelevant.
Es geht nur um die Kombinierbarkeit von Aussagen
Symbole für Aussagen werden Aussagenvariablen genannt
Aussagenlogische Formeln
…
„
„
werden aus den aussagenlogischen Variablen, den Wahrheitswerten
wahr und falsch und den Operationen Negation, Konjunktion,
Disjunktion, Implikation und Äquivalenz gebildet.
„
Fehlender Bezug zu innerer Struktur einer Aussage soll behoben
werden
Es soll Aussagen über Individuen und deren Beziehungen (wie
z.B. Eigenschaften, Relationen, Klassen) möglich sein
Syntaktisch stärker als Aussagenlogik, aber mit einer semantischen
Spezialisierung
…
…
Daher ist die Aussagenlogik kein Teilsystem der Prädikatenlogik
Siehe Begriff Struktur in weiterführender Literatur
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-57
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Syntax/Semantik/Pragmatik I
„
„
„
2.2-58
Syntax/Semantik/Pragmatik II
Syntax: Die Beziehung(en) von Zeichen untereinander.
(Schreibweise)
Semantik: Die Beziehung(en) von Zeichen zur Welt. (Bedeutung)
Pragmatik: Die Beziehung(en) von Zeichen zu den Erzeugern und
Interpretern von Zeichen.
„
Eigenschaften von Programmiersprachen werden auf
verschiedenen Ebenen festgelegt
…
Syntax
…
Semantik
„
„
Syntax
…
Zeichen
Zeichen
Pragmatik
„
Die Semantik regelt die Bedeutung einzelner Sprachelemente und ihr
Zusammenspiel.
Pragmatik
„
Benutzer/
Situation
Die Syntax ist die "Rechtschreibung" einer Programmiersprache.
Die Pragmatik beschreibt Einschränkungen und Randbedingungen, die sich
aus konkreten Implementierungen heraus ergeben.
Die Grenzen zwischen Syntax und Semantik, sowie zwischen
Semantik und Pragmatik sind verschwommen und lassen sich nicht
eindeutig ziehen.
(Quelle: FH München, FB 07 Informatik/Mathematik Prof. Dr. R. Schiedermeier –
Vorlesung "Programmieren I„, 1996/97)
Bedeutung
Semantik
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-59
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-60
2. Zahlen und Logik
2. Zahlen und Logik
Syntax/Semantik/Pragmatik III
„
Objektsprache und Metasprache
Syntax und Semantik in Bezug auf Logik
…
„
…
„
Syntax
…
Gesamtheit der Vorschriften über den strukturellen Aufbau von Formeln und
Herleitungen.
Semantik
„
Objektsprache
…
„
Metasprache
…
Übergang von einer Formel zu Ihrer Interpretation in einer bestimmten
Situation, wodurch Ihre Bedeutung festgelegt wird.
Aussagen über Objekte
„
…
…
Aussagen als Objekt
Beispiel: „Studierende sind strebsam“
Die Modellbeziehung liefert die Verbindung zwischen Syntax und
Semantik
„
Die Funktion einer Sprache, sich auf Sprache selbst zu beziehen
Beispiel: „Es gibt weibliche und männliche Studierende“
Beispiel aus der Informatik: Beschreibung eines Unix-Befehls
…
…
…
…
Befehlsbeschreibung: less <Datei>
Eingabe in Kommandozeile: less meinetextdatei.txt
Die Zeichenreihe <Datei> ist also ein Platzhalter für einen Dateinamen
und gehört daher zur Metasprache.
Siehe Syntaxbeschreibung von Programmiersprachen, Befehlen, etc.
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-61
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Logischer Operator: Implikation
Prädikatenlogik erster Stufe mit Identität: Definition/Elemente
„
N-stellige prädikatenlogische Formel/Ausdruck A:
Mn
→B
(abzählbar unendliche) Grundmenge M (über die Individuen)
… Menge der Wahrheitswerte B
„
…
„
Operationen
…
Sonstige Zeichen
„
„
„
…
„
…
Negation ¬, Konjunktion ∧, Disjunktion ∨, Implikation →, Äquivalenz ↔
„
Runde Klammern (, )
Gleichheitszeichen (Identität) =
„
…
„
„
Allquantor ∀: ∀x ∈ M bedeutet „für alle x ∈ M gilt“ (Kurz: ∀x)
Existenzquantor ∃: ∃ x ∈ M bedeutet „es gibt ein x ∈ M, so dass gilt“ (Kurz: ∃x)
„
…
…
2.2-63
Q
w
w
f
f
P→Q
w
w
f
w
ex falsum quod libet
(aus Falschem folgt Beliebiges; aus falschem (folgt), was beliebt. )
D.h. aus etwas Falschem kann ich alles folgern.
wenn P, dann Q
P impliziert Q
aus P folgt Q
Logik
Universität Göttingen - Informatik II - SS 2006
P
w
f
w
f
Umgangssprachlich:
…
Funktionen F: Mn → M, f(x1, x2, …, xn) = y mit x1, x2, …, xn ,y ∈ M
Prädikate P: Mn → B, P(x1, x2, …, xn) = y mit x1, x2, …, xn ∈ M, y ∈ B
Wahrheitstabelle
wenn P wahr ist, dann muss auch Q wahr sein
wenn P falsch ist, dann kann Q wahr oder falsch sein
„
Variablen aus der (abzählbaren unendlichen) Grundmenge
Konstanten aus der (abzählbaren unendlichen) Grundmenge
Relationen
„
Es gilt: P → Q ≡ ¬ P ∨ Q
Die logische Implikation hat keine kausale
Bedeutung. Es gilt alleine die logische Bedeutung,
welche durch die Wahrheitstabelle gegeben ist.
P → Q sei wahr:
…
Quantoren
„
…
…
Terme
„
Implikation P → Q
…
wahr und falsch
…
2.2-62
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-64
2. Zahlen und Logik
2. Zahlen und Logik
Logischer Operator: Äquivalenz
„
Äquivalenz P ↔ Q
…
…
„
Es gilt: P ↔ Q ≡ (P → Q) ∧ (Q → P)
Die logische Äquivalenz hat keine kausale Bedeutung.
Es gilt alleine die logische Bedeutung, welche
durch die Wahrheitstabelle gegeben ist.
Die Aussagen P und Q müssen unter jeder möglichen
Interpretation denselben Wahrheitswert annehmen
…
„
P
w
f
w
f
Q
w
w
f
f
P↔Q
w
f
f
w
„
„
…
…
„
…
wenn P wahr ist, dann muss auch Q wahr sein
wenn P falsch ist, dann muss auch Q falsch sein
„
…
…
…
…
„
P genau dann, wenn Q
Allquantor für alle Objekte der Grundmenge
Existenzquantor über mindestens ein Objekt der Grundmenge
Konvention für Bezeichner
…
≡ wird verwendet wenn die absolute Gleichheit betont werden soll und wird daher bei
Definitionen oder der Beschreibung von Ergebnissen bevorzugt eingesetzt
↔ dient eher als einfacher Operator in Formeln
In der Mathematik bzw. bei Metaaussagen wird das Zeichen ⇔ verwendet/bevorzugt.
Variable stehen für (noch) nicht bekannte Objekte
Prädikate sind Namen von Eigenschaften, Relationen, Klassen, etc.
Quantoren erlauben Aussagen über Mengen
…
Umgangssprachlich
…
Aussagen werden in Termen und Prädikate aufgelöst und dargestellt
Terme sind Namen von Objekten (aus der Grundmenge)
…
„
In der Logik ist die Schreibweise ≡ und ↔ zueinander äquivalent
…
„
Wahrheitstabelle
P ↔ Q sei wahr:
„
„
Prädikatenlogik: Details
Variablen: x, y, z
Konstanten: a, b, c
Prädikate: P, Q, R
Funktionen: f, g, h
Ausdrücke, Formeln; A, B, C
Für Operatoren gelten die gleichen Regeln wie in der Aussagenlogik.
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-65
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Prädikatenlogik zweiter Stufe
„
Quantoren – Gültigkeitsbereich (scope)
In der Prädikatenlogik erster Stufe können wir über Individuen der
Grundmenge quantifizieren.
…
…
∃x: P(x)
∀x: P(x)
„
In den Ausdrücken ∀x(P) oder ∃x(P) ist P der Gültigkeitsbereich der
Variablen x
„
Gebundene Variable
„
Freie Variable
„
Geschlossener Ausdruck
…
„
Die nächste Stufe (zweite Stufe) erlaubt die Quantifizierung über
Prädikate
…
…
„
…
∃P(x): P(x)
∀(P(x): P(x)
…
„
Wir betrachten in der Vorlesung nur die 1. Stufe.
Eine Variable im Gültigkeitsbereich eines Quantors nennt sich gebunden.
Eine nicht gebundene Variable nennt sich frei.
Ein Ausdruck ohne freie Variablen nennt sich geschlossen.
Offener Ausdruck
…
Ein Ausdruck mit mindestens einer freien Variablen nennt sich offen.
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-66
2.2-67
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-68
2. Zahlen und Logik
2. Zahlen und Logik
Beispiele zu Gültigkeitsbereichen
Quantoren – Regeln I
„
Schachtelung
…
Geschachtelte Allquantoren können vertauscht werden
…
Geschachtelte Existenzquantoren können vertauscht werden
…
Allquantoren und Existenzquantoren dürfen im allgemeinen nicht
vertauscht werden.
„
„
„
∃x (∃y ( P(x,y))) ≡ ∃y (∃x ( P(x,y)))
Auseinanderziehen
…
…
„
∀x ( ∀y ( P(x,y))) ≡ ∀y ( ∀x ( P(x,y)))
∀x (P(x) ∧ Q(x)) ≡ ∀x (P(x)) ∧ ∀x (Q(x))
∃x (P(x) ∨ Q(x)) ≡ ∃x (P(x)) ∨ ∃x (Q(x))
Folgerungen (Vorsicht!!!)
…
…
∀x (P(x)) ∨ ∀x (Q(x)) ⇒ ∀x (P(x) ∨ Q(x))
∃x (P(x) ∧ Q(x)) ⇒ ∃x (P(x)) ∧ ∃x (Q(x))
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-69
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Quantoren – Regeln II
„
…
„
„
¬(∀x (P(x))) ≡ ∃x (¬(P(x)))
¬(∃ x (P(x))) ≡ ∀x (¬(P(x)))
…
…
…
…
…
…
…
Man kommt mit nur einem Quantor aus, indem man einfach
folgendes setzt
…
Skopusveränderung (x taucht in P auf, aber nicht in Q)
…
„
Folgerung aus den Quantorenregeln
Negation
…
2.2-70
…
∀x (P(x)) ∧ Q ≡ ∀x (P(x) ∧ Q)
∀x (P(x)) ∨ Q ≡ ∀x (P(x) ∨ Q)
∃x (P(x)) ∧ Q ≡ ∃x (P(x) ∧ Q)
∃x (P(x)) ∨ Q ≡ ∃x (P(x) ∨ Q)
∀x (P(x)) → Q ≡ ∃x (P(x) → Q)
∃x (P(x)) → Q ≡ ∀x (P(x) → Q)
Q → ∀x (P(x)) ≡ ∀x (Q → P(x))
Q → ∃x (P(x)) ≡ ∃x (Q → P(x))
„
∀x (P(x)) ≡ ¬∃ x (¬ P(x)) oder
∃x (P(x)) ≡ ¬∀ x (¬P(x))
Der besseren Lesbarkeit wegen ist die Verwendung beider
Quantoren sinnvoll.
Namen der quantifizierten Variablen ist belanglos
…
…
∀x (P(x)) ≡ ∀y (P(y))
∃ x (P(x)) ≡ ∃z (P(z))
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-71
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-72
2. Zahlen und Logik
2. Zahlen und Logik
Normalformen: Pränexform
„
Tautologie und Erfüllbarkeit
Zu jeder prädikatenlogischen Formel gibt es mindestens eine
logisch äquivalente Pränexform:
Q1X1 (Q2X2 … (QnXn(A) …))
…
…
…
„
Allgemeingültig (Tautologie/Nullaussage)
…
Qi Quantoren
Xi Variablen
A Ausdruck der keine Quantoren enthält
…
„
Erfüllbarkeit
…
„
Beispiele:
…
…
∀x (P(x) ∨ Q(y)) ∧ (∃z(R(z) ∨ P(z))) (keine Pränexform)
∀x ∃z ((P(x) ∨ Q(y)) ∧ (R(z) ∨ P(z))) (Pränexform)
…
„
Man nennt eine prädikatenlogische Formel A allgemeingültig, wenn sie
für alle möglichen Belegungen ihrer Argumente immer ein „wahr“ liefert,
d.h. A: Mn → B, ∀x ∈ Mn : A(x) = wahr
Beispiel: x ∨ ¬x ist immer erfüllt
Man nennt eine prädikatenlogische Formel A erfüllbar, wenn es eine
Belegung Ihrer Argumente gibt, bei der sie den Wert „wahr“ liefert, d.h.
A: Mn → B, ∃ x ∈ Mn : A(x) = wahr
Beispiel: x ∧ ¬x ist nicht erfüllbar
Die Begriffe Tautologie und Erfüllbarkeit gelten mit entsprechenden
Definitionen natürlich auch in der Aussagenlogik.
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-73
Logik
Universität Göttingen - Informatik II - SS 2006
2. Zahlen und Logik
2. Zahlen und Logik
Erfüllbarkeitsproblem (satisfaction problem)
„
…
„
Formeln der Form: (a1 ∨ a2) ∧ (a3 ∨ a4) ∧ (a5 ∨ a6) ∧ (a7 ∨ a8) … (an-1 ∨ an)
„
„
Semantik der Prädikatenlogik: Interpretation
2-SAT
…
…
…
Test auf Erfüllbarkeit (satisfaction) geht polynomial
„
Formeln der Form:
(a1 ∨ a2 ∨ a3) ∧ (a4 ∨ a5 ∨ a6) ∧ (a7 ∨ a8 ∨ a9) … (an-2 ∨ an-1 ∨ an)
„
…
Wann sind Ausdrücke/Formeln der Prädikatenlogik wahr?
Variablen ai darf mehrmals vorkommen
3-SAT
…
…
„
„
„
…
…
Klasse NP = Non-deterministic Polynomial time
Bezeichnet eine Klasse von Problemen, die von einer nichtdeterministischen
Turingmaschine in polynomialer Zeit positive Antworten produzieren kann.
Der Beweis, das es keinen polynomialen Algorithmus dafür gibt, ist eines der
größten offenen Probleme in der Informatik (P/NP-Problem)
Siehe Komplexitätstheorie in Informatik III
„
Informell: Wenn Sie einen wahren Sachverhalt (über den
Diskursbereich) beschreiben
Formeller:
…
Variablen ai darf mehrmals vorkommen
Test auf Erfüllbarkeit ist wohl exponentiell. Oder???
3-Sat ist das 1. NP-schwere Problem (siehe Cook 1971)
„
Interpretationsrelation I: T → B
T ⊆ M* (T ist Teilmenge der Potenzmenge der Grundmenge)
Die Elemente von T heißen Aussagen
B ist die Menge der Wahrheitswerte
Die Abbildung I bildet eine Belegung der Eingangswerte (Aussage)
einer Formel auf einen Wahrheitswert ab
…
I ist die Interpretation einer Aussage (im Sinne von wahr oder falsch)
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-74
2.2-75
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-76
2. Zahlen und Logik
2. Zahlen und Logik
Ausblick
Weitere Beispiele
Compilerbau (Kapitel 7)
Automaten und Sprachen (Kapitel 6)
Betriebssysteme (Kapitel 5)
Maschinenorientierte Programmierung (Kapitel 4)
von-Neumann-Rechner (Kapitel 3)
Speicher
Zahlen und Logik (Kapitel 2)
Kommunikation (Kapitel 8)
von-Neumann-Rechner
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-77
Logik
Universität Göttingen - Informatik II - SS 2006
2.2-78
Herunterladen