Schaltelemente BoolescheAlgebra Aussagenlogik lbs-gym/Informatik/  · PDF...

Click here to load reader

  • date post

    06-Feb-2018
  • Category

    Documents

  • view

    218
  • download

    0

Embed Size (px)

Transcript of Schaltelemente BoolescheAlgebra Aussagenlogik lbs-gym/Informatik/  · PDF...

  • Schaltelemente

    Boolesche Algebra

    KV-Diagramm

    Aussagenlogik

    Logelei

    Aussagenlogik Ubersetzungen

    Logelei Python

    Programm in PureBasic

    Logelei

  • Schaltelemente

    Und Konjunktion a und b

    &a b a b

    0 0 0

    0 1 0

    1 0 0

    1 1 1

    Oder Disjunktion a oder b

    1a b a b

    0 0 0

    0 1 1

    1 0 1

    1 1 1

    Negation nicht a

    1 bc

    a a

    0 1

    1 0

    Mit diesen elementaren Bauteilen lassen sich alle Computerschaltungen realisieren.

    c Roolfs

    1

  • Gesetze der Booleschen Algebra

    Kommutativgesetze: a b = b a a b = b a

    Assoziativgesetze: (a b) c = a (b c) (a b) c = a (b c)

    Absorptionsgesetze: a (a b) = a a (a b) = a

    Distributivgesetze: a (b c) = (a b) (a c) a (b c) = (a b) (a c)

    Idempotenzgesetze: a a = 1 a a = 0

    a a = a a a = a

    de Morgan-Gesetze: a b = a b a b = a b

    neutrale Elemente: a 0 = a a 1 = a

    doppelte Negation: a = a

    1. Zeige mit den Gesetzen der Booleschen Algebra die Gleichheit der Terme.

    a) (a b) (a b c) = a b b) (a b) (a b) (a b) (a b) = 0

    c) (a b c) (a b c) = a c d) a b c (a c) = a (b c)

    2. Gib fur die booleschen Funktionen moglichst einfache Terme an.

    a) b) c) d) e) f)

    a b c t u v x y z

    0 0 0 1 0 1 1 ? 0

    0 0 1 0 0 1 1 0 ?

    0 1 0 1 1 0 0 1 ?

    0 1 1 0 1 0 ? 0 0

    1 0 0 0 0 1 0 1 0

    1 0 1 1 1 1 ? 0 0

    1 1 0 1 0 1 0 0 1

    1 1 1 1 1 0 1 ? 1

    c Roolfs

    2

  • Boolesche Algebra

    Gib fur die booleschen Funktionen moglichst einfache Terme an.

    a) b) c) d) e) f)

    a b c t u v x y z

    0 0 0 1 0 1 1 1 0

    0 0 1 0 0 1 1 0 0

    0 1 0 1 1 0 0 1 0

    0 1 1 0 1 0 0 0 0

    1 0 0 0 0 1 0 1 0

    1 0 1 1 1 1 1 0 0

    1 1 0 1 0 1 0 0 1

    1 1 1 1 1 0 1 0 1

    a) (a c) (a c) (b c)

    b) (a b) (a c)

    c) b (a c)

    d) (a b) (a c)

    e) (a c) (b c) = (a b) c

    f) a b

    c Roolfs

    3

  • Boolesche Algebra

    a) in PureBasic

    OpenConsole()

    For a= #False To #True

    For b= #False To #True

    For c= #False To #True

    PrintN(Str(a)+Str(b)+Str(c)+ +Str( ((Not c) Or a) And ( (Not a) Or b Or c) ) )

    Next c

    Next b

    Next a

    Input()

    b) in Python

    for a in range(0,2):

    for b in range(0,2):

    for c in range(0,2):

    print(a,b,c, , bool(a and b and not c))

    for a in range(0,2):

    for b in range(0,2):

    for c in range(0,2):

    print(a,b,c, , int(a and (b or not c)))

    for a in range(0,2):

    for b in range(0,2):

    for c in range(0,2):

    print(a,b,c, , int((a | b) & c))

    for i in range(0, 16):

    a = i % 2; i>>= 1

    b = i % 2; i>>= 1

    c = i % 2; i>>= 1

    d = i % 2; i>>= 1

    print(d, c, b, a)

    4

  • Boolesche Algebra

    Sei B = {0, 1} die Boolesche Menge, auf der folgende Verknupfungen erklart sind(x, y Boolesche Variablen):

    Additionx+ y = x y (= Max(x, y)) Beachte den Unterschied 1 + 1 = 1 zur Addition von Dualzahlen.

    Multiplikationx y = x y (= Min(x, y))

    Das vereinfacht die Schreibweise Boolescher Terme, statt (a b) (a b c)ist ab+ abc moglich.

    Gib fur die Booleschen Funktionen X, Y und Z einen Term an.

    a b c X Y Z

    0 0 0 0 0 0

    0 0 1 0 0 0

    0 1 0 1 1 1

    0 1 1 0 0 0

    1 0 0 0 0 0

    1 0 1 0 1 1

    1 1 0 0 0 1

    1 1 1 0 0 0

    X = abc

    Y = abc + abc

    Z = abc + abc + abc disjunktive Normalform

    Es sollte nun klar sein, dass zu jeder Booleschen Funktion ein zugehoriger Boolescher Termin disjunktiver Normalform ermittelt werden kann.Wir wollen der Frage nachgehen, wie dieser Term vereinfacht werden kann.

    c Roolfs

    5

  • Karnaugh-Veitch-Diagramm 1952

    Betrachten wir die Boolesche Funktion:

    a b X

    0 0 1

    0 1 0

    1 0 0

    1 1 1

    Die Funktion X = ab+ ab kann mit einem Diagramm veranschaulicht werden.

    00 10

    01 11

    aa

    b

    b

    a wird fur {(1, 0), (1, 1)} 1,

    b wird fur {(0, 1), (1, 1)} 1,

    ab wird nur auf dem gemeinsamen Element (1, 1) 1.

    Die Randbeschriftungen markieren also die Bereiche, fur die die elementaren Terme jeweils 1 werden.

    Wie lautet der Boolesche Term?

    a)aa

    b

    b

    b)aa

    b

    b

    c) Wie sieht das KV-Diagramm fur den Term a+ b aus?

    c Roolfs

    6

  • KV-Diagramm

    Betrachten wir die Boolesche Funktion:

    a b c X

    0 0 0 0

    0 0 1 1

    0 1 0 0

    0 1 1 1

    1 0 0 0

    1 0 1 1

    1 1 0 1

    1 1 1 0

    Das Karnaugh-Veitch-Diagramm muss aus 8 Feldern bestehen.

    c

    a

    a

    c c

    b

    b 000 001

    010 011

    101 100

    111 110

    Die Unterteilung ist so angelegt, dass sich benachbarte Felder lediglich um eine Stelle unterscheiden.

    Wie lautet der Boolesche Term?

    c

    a

    a

    c c

    b

    b

    a)

    c

    a

    a

    c c

    b

    b

    b)

    c Roolfs

    7

  • Idee des KV-Diagramms

    a b c X

    0 0 0 0

    0 0 1 1

    0 1 0 0

    0 1 1 0

    1 0 0 0

    1 0 1 1

    1 1 0 1

    1 1 1 0

    b c bc abc bc + abc

    1 0 0 0 0

    1 1 1 0 1

    0 0 0 0 0

    0 1 0 0 0

    1 0 0 0 0

    1 1 1 0 1

    0 0 0 1 1

    0 1 0 0 0

    c

    a

    a

    c c

    b

    b 000 001

    010 011

    101 100

    111 110X = bc + abc

    Jede Boolesche Funktion (mit 3 Variablen) und damit jeder Term legt eine Teilmenge der Menge

    A = {(0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)} fest, hier ist es

    B = {(0, 0, 1), (1, 0, 1), (1, 1, 0)}

    Auf dieser Teilmenge ist die Funktion (der Term) 1, sonst 0.

    Der Term b wird auf C = {(0, 0, 0), (0, 0, 1), (1, 0, 1), (1, 0, 0)} 1,

    der Term c auf D = {(0, 0, 1), (0, 1, 1), (1, 0, 1), (1, 1, 1)}.

    bc wird auf der Schnittmenge C D = {(0, 0, 1), (1, 0, 1)} 1.

    abc wird auf der E = {(1, 1, 0)} 1, das ist die Schnittmenge der zu a, b und c gehorenden Teilmengen.

    Die Funktion X nimmt damit auf der Menge (C D) E den Wert 1 an,

    der Funktionsterm lautet: bc + abc

    + bedeutet im KV-Diagramm die Vereinigung von Feldern,

    die Bildung der Schnittmenge.

    c Roolfs

    8

  • Mengenoperationen

    A B Vereinigung

    A

    B

    A B Schnitt

    A

    B

    c Roolfs

    9

  • KV-Diagramm

    Wie lautet der Boolesche Term?

    c

    a

    a

    c c

    b

    b

    a)

    c

    a

    a

    c c

    b

    b

    b)

    c

    a

    a

    c c

    b

    b

    c)

    c

    a

    a

    c c

    b

    b

    d)

    e) Wie sieht das KV-Diagramm fur den Term (a+ c)b+ cb aus?

    c Roolfs

    10

  • KV-Diagramm Vorlagen

    c

    a

    a

    c c

    b

    b

    a)

    c

    a

    a

    c c

    b

    b

    b)

    c

    a

    a

    c c

    b

    b

    c)

    c

    a

    a

    c c

    b

    b

    d)

    c

    a

    a

    c c

    b

    b

    e)

    c

    a

    a

    c c

    b

    b

    f)

    c

    a

    a

    c c

    b

    b

    g)

    c

    a

    a

    c c

    b

    b

    h)

    c Roolfs

    11

  • KV-Diagramm

    Das Karnaugh-Veitch-Diagramm fur 4 Variablen muss aus 16 Feldern bestehen.

    c

    a

    a

    c c

    b

    b

    d

    d

    d

    Wie sieht das KV-Diagramm fur den Term (a+ b)(c+ d) aus?

    c Roolfs

    12

  • KV-Diagramm

    c

    a

    a

    c c

    b

    b

    d

    d

    d

    1 1

    1

    1

    1

    1

    1

    Gib einen minimalen Term an.

    c Roolfs

    13

  • KV-Diagramm

    ac+ bcd+ bcd

    14

  • Aussagenlogik

    Eine Aussage ist entweder wahr oder falsch.Wir bezeichnen Aussagen mit groen Buchstaben.Aussagen konnen verknupft werden mit

    und A B

    oder A B

    wenn . . . , dann . . . A B

    . . . genau dann, wenn . . . A B

    A B A B

    0 0 1

    0 1 1

    1 0 0

    1 1 1

    A B A B

    0 0 1

    0 1 0

    1 0 0

    1 1 1

    A B mache man sich am Beispiel klar:

    Wenn Frau L. Musik hort, benutzt sie einen Kopfhorer.Diese Aussage ist nur falsch, wenn . . . .

    Fur Umformungen kann A B = A B nutzlich sein.

    A B ist nur 0, wenn A = 1 und B = 0 vorliegt.

    Die Gesetze der Booleschen Algebra konnen neu formuliert werden.Hierzu wird das Gleichheitszeichen durch das Aquivalenzzeichen ersetzt, z.B. A B A B.

    Eine Aussage, die stets wahr ist, heit Tautologie, in Zeichen: (Implikation), (Aquivalenz).Wir schreiben also genauer:

    A B A B gemeint: A B (A B ), also stets ( . . . ) ( . . . )

    ( . . . ) ( . . . )

    Weiteres

    (A B) (B C) (A C)

    A (A B) B

    A B B A Kontraposition

    A B (A B) (B A)

    A B (A B) (A B)

    Uberprufe

    B (A B) A

    (A B) (A B) B

    A B A B

    c Roolfs

    15

  • Logelei

    Die SchulerInnen sind dann und nur dann glucklich, wenn kein Test geschrieben wird. Wenn dieSchulerInnen glucklich sind, fuhlt sich der Lehrer wohl. Aber wenn sich der Lehrer wohl fuhlt, hat erkeine Lust, zu unterrichten. Und wenn er keine Lust hat, zu unterrichten, wird ein Test geschrieben.Sind die Schuler glucklich?

    16

  • Logelei

    Die SchulerInnen sind dann und nur