Frage von Kungfukuh 18.11.2012

Boolesche Funktion

  • Hilfreichste Antwort von Melvissimo 18.11.2012
    1 Mitglied fand diese Antwort hilfreich

    Eine Boolesche Funktion ist eigentlich nur ein aussagenlogischer Ausdruck in Abhängigkeit einer oder mehrerer Variablen. Ich erläutere es dir am besten an einem Beispiel:

    f(a, b, c, d) = abc + ad * (b + c * not(d)).

    So, die Variablen sind hier offensichtlich a, b, c, d. Eine boolesche Funktion muss diese 4 Variablen nun auf einen Wahrheitswert abbilden, also true oder false. Hierzu ist es natürlich notwendig, dass auch die Variablen nur die Werte true oder false annehmen dürfen. Der Einfachheit halber nennt man true = 1 und false = 0.

    Das "+", das ich oben benutzt habe, steht für das aussagenlogische oder. D.h. a + b ist gleichbedeutend mit "a oder b". Das * steht analog für das aussagenlogische und. In der booleschen Algebra gilt übrigens wieder Punkt vor Strich ;)

    Das not, das ich oben verwendet habe ist selbsterklärend, normalerweise schreibt man allerdings nicht "not(d)" sondern macht stattdessen einfach einen Querstrich über das d.

    Zusammenfassung: Eine boolesche Funktion ist eine Abbildung von {0,1}^n nach {0,1} und verwendet die logischen Operatoren +, * und not.

    Nun hast du einen booleschen Funktionsterm gegeben und willst ihn in eine konjunktive Normalform bringen. Das ist eine besonders einfache Form, die endlich viele Disjunktionsterme miteinander "undet". D.h. statt meinem Funktionsterm da oben hättest du gerne so etwas wie

    (a + b + c) * (not(a) + c + not(d)) * (a + b + c + d) * ... Und in den Klammern sollen immer nur Summen von einzelnen Variablen stehen.

  • Antwort von burn3r 18.11.2012
    1 Mitglied fand diese Antwort hilfreich

    z.b.

    bool A; bool B; bool C;

    if (A == B ) { tuWas(); }

    Das ist z.b. eine boolesche Funktion. für KNF schauste hier: http://de.wikipedia.org/wiki/Konjunktive_Normalform

Du kennst die Antwort? Frage beantworten
Bitte noch eine Antwort ... Frage erneut stellen

Verwandte Fragen

Fragen Sie die Community –

anonym und kostenlos!