AB 1

Link zur Web Version dieser Notion page: https://www.notion.so/AB-1-816446f762064cb382bc9c13113cb248


✅ Aufgabe 1

Verlangt:

  1. Zugrundeliegende Inferenzregel angeben → Gültigkeit bestimmen
    • "Falls in der Wahrheitsbelegung II alle Prämissen wahr sind, dann ist auch die Konklusion wahr in II ." (Kriterium für die Gültigkeit von Inferenzregeln)

      (Wahrheitsbelegung = Interpretation)

      • gültig wenn für alle Wahrheitsb. immer valI(F)=1\textsf{val}_I(F) = 1
      • erfüllbar wenn für mindestens eine Wahrheitsb. valI(F)=1\textsf{val}_I(F) = 1
      • widerlegbar wenn für mindestens eine Wahrheitsb. valI(F)=0\textsf{val}_I(F) = 0
      • unerfüllbar wenn für alle Wahrheitsb. immer valI(F)=0\textsf{val}_I(F) = 0
  1. Weiteres Beispiel / Gegenbeispiel

a)

Es gibt Menschen die kriminell sind (wahr)
Alle Asylanten sind Menschen (wahr)
------------------------------------------
Alle Asylanten sind kriminell (falsch

Formel der Inferenzregel: ungültig (Generalisierung)

(xY)(zY)⇏(z=x) (\forall x \in Y) \wedge (z \in Y) \not\Rightarrow (\forall z = x) 

Alle x sind y								Prämisse
z ist ein y									Prämisse
------------------------------------------
z ist ein x									Konklusion

Weiteres Gegenbeispiel:

Alle Bälle sind rund (wahr)
Die Sonne ist rund (wahr)
-----------------------------------------
Die Sonne ist ein Ball (falsch)		

b)

Wenn alle Tober xetig sind
und ein Hituch ein Tober ist
------------------------------------------
Dann ist Hituch xetig

Inferenzregel: (gültig)

(TX)(hT)(hX) (\forall T \sube X) \wedge (h \in T) \Rightarrow (\forall h \in X) 

Alle t sind x
h ist ein t
------------------------------------------
h ist ein x	

Weiteres Beispiel aus dem Alltag:

Wenn alle Urgroßmütter Großmütter sind
und eine Großmutter eine Mutter ist
------------------------------------------
Dann ist eine Urgroßmutter eine Mutter

c)

Alle Katzen miauen
Bello ist keine Katze
------------------------------------------
Also miaut Bello nicht

Inferenzregel: (ungültig)

(KM)(b∉K)⇏(b∉M) (\forall K \sube M) \wedge (b \not\in K) \not\Rightarrow (\forall b \not\in M) 

Alle k sind m
b ist kein k
------------------------------------------
b ist kein m

Gegen-Beispiel aus dem Alltag:

Alle Männer sind Menschen
Frauen sind keine Männer
------------------------------------------
Frauen sind keine Menschen

✅ Aufgabe 2

Jeden Satz einzeln Modellieren:

Wichtig: Elementaraussagen zeichnen sich dadurch aus, dass sie entweder richtig oder falsch sein können.

Liebe Kundin, lieber Kunde! Wir gratulieren zum Erwerb dieses Produkts! Legen Sie Hammer und Schraubenzieher oder Akkuschrauber bereit. Packen Sie die Plastikteile aus, aber beschädigen Sie dabei die Beschichtung nicht. Nur wenn Sie die Version 2.0 des Modells erworben haben, stecken Sie nun alle Teile zusammen. Falls nicht, müssen Sie alle Teile verleimen. Falls Sie beim Aufbau Probleme haben oder Teile fehlen, wenden Sie sich bitte an unsere Service-Hotline. Gutes Gelingen!

Legen Sie Hammer und Schraubenzieher oder Akkuschrauber bereit. Packen Sie die Plastikteile aus, aber beschädigen Sie dabei die Beschichtung nicht.

AA Kunde legt Werkzeuge (= Hammer / Schraubenzieher) bereit

BB Kunde packt Plastikteile aus

CC Kunde beschädigt die Beschichtung


Formel: AB(¬C)A \wedge B\wedge (\neg C)

Nur wenn Sie die Version 2.0 des Modells erworben haben, stecken Sie nun alle Teile zusammen. Falls nicht, müssen Sie alle Teile verleimen.

AA Die vom Kunden erhaltene Version des Modells entspricht 2.0

BB Kunde steckt alle Teile zusammen

CC Kunde verleimt alle Teile


Struktur: Wenn AA dann BB , ansonsten CC wobei BB und CC gleichzeitig zutreffen dürfen aber wenn CC dann immer auch BB aber umgekehrt nicht zwingend.

Formel: (AB)(¬AC)(CB)(A \equiv B) \wedge (\neg A \equiv C) \wedge (C \supset B)

Unter der Annahme, dass:

  • AA (Modell) bestimmt ob BB (zusammenstecken) oder CC (leimen) gewählt wird
  • CC (leimen) führt immer zum BB (zusammenstecken) aber umgekehrt ist es optional.

Falls Sie beim Aufbau Probleme haben oder Teile fehlen, wenden Sie sich bitte an unsere Service-Hotline.

AA Kunde hat beim Aufbau Probleme

BB Es Fehlen Teile vom Produkt

CC Kunde nimmt mit Hotline Kontakt auf


Struktur: Falls AA oder BB dann CC aber sonst auch CC möglich.

Formel: (AB)C(A\vee B)\wedge C

Unter der Annahme, dass:

  • Man sich dem Service auch zuwenden kann, falls nicht die erwähnten Probleme bestehen

✅ Aufgabe 3

MM Maria kommt mit ins Kino

CC Clara kommt mit ins Kino

PP Peter kommt mit ins Kino

a)

Maria kommt mit ins Kino.

MM

b)

Peter kommt vielleicht mit.

PPDas Wort vielleicht lässt sich nicht modellieren.

c)

Clara kommt mit, Peter aber nicht.

C(¬P)C\wedge(\neg P)

d)

Wenn Maria mitkommt, dann kommt Peter nicht mit.

MPM \uparrow P

e)

Nur wenn Maria mitkommt und Peter nicht, dann kommt Clara.

(M(¬P))C\bigl(M \wedge (\neg P)\bigl) \equiv C

Annahme: Ansonsten kommt sie nicht.

Würde sie sonst auch kommen, dann:(M(¬P))C\bigl(M \wedge (\neg P) \bigl) \supset C

f)

Wenn Peter nicht kommt, dann kommt Clara nicht, und wenn Clara nicht kommt, dann kommt Peter nicht.

PCP \equiv C

g)

Mindestens eine(r) der drei kommt mit.

MCPM \vee C \vee P

h)

Genau zwei kommen mit.

(MC)(MP)(CP)(M \wedge C) \vee (M \wedge P) \vee (C \wedge P)

i)

Höchstens zwei kommen mit.

¬(MCP)\neg (M \wedge C\wedge P)

✅ Aufgabe 4

a)

📌
Notiz: Ich habe diese Aufgabe mit Tutoren (Herr Dr. Martin Riener) bei einer Tutorstunde besprochen und wir sind daraufgekommen, dass es einen Tippfehler bei der Angabe gab als ich dieses Blatt gelöst habe

Zeigen Sie, dass die Menge{iff, xor}vollständig ist für die Klasse der aussagenlogischen Funktionen.

Eine Menge von Funktionen heißt vollständig (für eine Funktionsklasse), wenn damit alle Funktionen (der Klasse) ausgedrückt werden können.

Beispiele

{not, and}, {nand}, {nor}, {not, or}, {not, implies}, {implies, false}

Man kann keine anderen Funktionen erzeugen, diese Menge ist nicht funktional vollständig .

Beweis: iff ist dual zu xor und man kann mit der Menge {xor} alleine beispielsweise nicht die Funktionen and sowie or bilden.

¬(¬axor¬b)iff(a,b) \neg(\neg a \space \mathsf{ xor } \space \neg b) \equiv \textsf{iff}(a,b) 

b)

Zeigen Sie, dass die Menge {iff, or} nicht vollständig ist.

Es reicht anzugeben dass eine einzige Funktion nicht darstellbar ist. - Ich nehme mir vor zu beweisen, dass die not Funktion nicht darstellbar ist, weil sie nur ein Argument beansprucht und ich intuitiv weiß, dass sie nicht mit iff oder or darstellbar ist.

Wir nutzen nur das Argument x (weil die not Funktion nur mit einem einzigen Argument arbeitet).

Hypothese

Jeder Ausdruck bestehend aus (n oder weniger) iff, or und x ist äquivalent zu x oder true .

Induktiver Beweis (wobei n = # der Anwendungen eines Operators)

Induktionsanfang: n := 0

Keine Operatoren - bedeutet x selbst.

Induktionsanfang: n := 1

Wenn wir eine beliebige Kombination der uns verfügbaren Funktionen nehmen:

  • or(f(x),g(x))or(f(x),g(x))
  • iff(f(x),g(x))iff(f(x),g(x))

Dann dürfen nur Kombinationen aus den Argumenten der Menge {iff, or} verwendet werden.

  1. or(x,x)=xor(x,x) = x
  1. iff(x,x)=trueiff(x,x) = true → dadurch haben wir eine weitere Funktion in unserer Menge

Induktionsanfang: n := 2

Wenn wir eine beliebige Kombination der uns verfügbaren Funktionen nehmen:

  • or(f(x),g(x))or(f(x),g(x))
  • iff(f(x),g(x))iff(f(x),g(x))

Dann dürfen nur Kombinationen aus den Argumenten der Menge {iff, or} verwendet werden.

  1. or(true,x)=or(x,true)=or(true,true)=iff(true,true)=true or(true, x) = or(x,true)=or(true,true) = iff(true,true)= true 
  1. iff(true,x)=iff(x,true)=xiff(true,x)=iff(x,true)= x

Induktionsschritt: n := n+1

Für jeden weiteren rekursiven Einsatz kann nur (effektiv) mit den bereits ausgewerteten Ausdrücken von den vorherigen Schritten gearbeitet werden.

Dadurch können wir aber nicht die Funktion not(x)not(x) ausdrücken - wodurch die Bedingung für funktionale Vollständigkeit verletzt ist.

Alternativerweise:

Dadurch, dass iff die duale funktion zu xor ist: ¬(¬axor¬b)iff(a,b) \neg(\neg a \space \mathsf{ xor } \space \neg b) \equiv \textsf{iff}(a,b) 

lässt sich dieses Problem reduzieren auf das Problem "Zeigen Sie, dass die Menge {or, xor} nicht vollständig ist."

Siehe: Lösungen vom vergangenen Jahr.

✅ Aufgabe 5

Sei die Formel

F:=(((A¬B)C)((BC)¬A)) F:= (((A \vee \neg B) \supset C) \equiv((B \supset C) \vee \neg A)) 

a)

Syntaktische Korrektheit

Die Menge A\mathcal{A} der aussagenlogischen Formeln Fi\textsf{F}_i ist die kleinste für die gilt:

  1. VA\mathcal{V} \sube \mathcal{A} (eine Variable ist eine gültige Formel)
  1. {,}A\{\top, \bot\} \sube \mathcal{A}
  1. ¬FA\neg \textsf{F} \in \mathcal{A} wenn FA\textsf{F} \in \mathcal{A}
  1. (FG)A(\textsf{F} *\textsf{G}) \in \mathcal{A} wenn F,GA\textsf{F,G} \in \mathcal{A} und der Operator {,,,,,≢,,} \{\wedge, \vee, \uparrow, \downarrow, \equiv, \not\equiv, \sub, \supset\} 

Ich kürze jede gültige Variable mit VV ab und beweise die Gültigkeit von innen nach außen mit Hinweisen auf die jeweiligen Bedingungen die dabei erfüllt werden

(((A∨¬Bundefined(3))⊃C)≡((B⊃C)∨¬Aundefined(3)))(((A \vee \underbrace{\neg B}_{(3)}) \supset C) \equiv((B \supset C) \vee \underbrace{\neg A}_{(3)}))(((A∨(3)¬B​​)⊃C)≡((B⊃C)∨(3)¬A​​))
(((A∨V)undefined(4)⊃C)≡((B⊃C)undefined(4)∨V))((\underbrace{(A \vee V)}_{(4)} \supset C) \equiv(\underbrace{(B \supset C)}_{(4)} \vee V))(((4)(A∨V)​​⊃C)≡((4)(B⊃C)​​∨V))
(V⊃C)undefined(4)≡(V∨V)undefined(4))undefined(4)\underbrace{(\underbrace{V\supset C)}_{(4)} \equiv \underbrace{(V \vee V)}_{(4)})}_{(4)}(4)((4)V⊃C)​​≡(4)(V∨V)​​)​​

b)

Schrittweise Berechnung des Wertes valI(F)\textsf{val}_I(F)

I(A)=1,I(B)=0 und I(C)=0I(A)=1, I(B)=0 \text { und } I(C)=0

Ich berechne erneut nach dem oberen Muster von innen nach außen:

valI(¬B)=not(valI(B))=not()=1 \textsf{val}_I(\neg B ) = \text{not} (\textsf{val}_I(B)) = \text{not}(\bot) = 1 

valI(¬A)=not(valI(A))=not()=0 \textsf{val}_I(\neg A ) = \text{not} (\textsf{val}_I(A)) = \text{not}(\top) = 0 

valI(A¬B)=and(valI(A),1)=and(,1)=1 \textsf{val}_I(A \vee \neg B) = \text{and} (\textsf{val}_I(A), 1) = \text{and}(\top, 1) = 1 

valI(BC)=valI(B) implies valI(C)=0 implies 0=1 \textsf{val}_I(B \supset C) = \textsf{val}_I(B) \space \text{implies} \space \textsf{val}_I(C) = 0 \space \text{implies} \space 0 = 1 

valI(F)=valI(((A¬B)C)((BC)¬A)) \textsf{val}_I(F) = \textsf{val}_I(((A \vee \neg B) \supset C) \equiv((B \supset C) \vee \neg A)) 

=(1 implies 0)iff(1 or 0)=1 = (1 \text{ implies }0) \quad \text{iff} \quad (1\text{ or }0) = 1 

c)

Wahrheitstafel der Formel

https://tuwien2020.github.io/tgi-pages/#/truth-table?input=((a+or+!b)+=>+c )+%3C=%3E+((b+=%3E+c)+or+!a)

(Wahrheitsbelegung = Interpretation)

  • gültig wenn für alle Wahrheitsb. immer valI(F)=1\textsf{val}_I(F) = 1
  • erfüllbar wenn für mindestens eine Wahrheitsb. valI(F)=1\textsf{val}_I(F) = 1
  • widerlegbar wenn für mindestens eine Wahrheitsb. valI(F)=0\textsf{val}_I(F) = 0
  • unerfüllbar wenn für alle Wahrheitsb. immer valI(F)=0\textsf{val}_I(F) = 0

Diese Formel ist erfüllbar und widerlegbar, dadurch aber ungültig und unerfüllbar.

✅ Aufgabe 6

Zeigen Sie, dass die beiden Formeln äqvalent sind.

F1:=¬((PQ)(¬PQ))F_1 := \neg((P \wedge Q) \supset(\neg P \equiv Q))

F2:=((QR)P)¬(PQ)F_2 :=((Q \equiv R) \supset P) \wedge \neg(P \uparrow Q)

a)

Wahrheitstafel

https://tuwien2020.github.io/tgi-pages/#/truth-table?input=(!((P+and+Q)+=>+(not+P+<=>+Q) ))+%3C=%3E+(((Q+%3C=%3E+R)+=%3E+P)+and+not(P+nand+Q))

b)

Algebraische Umformungen

Wir wollen algebraisch beweisen, dass dieser Ausdruck immer truetrue bzw \top ergibt.

¬((PQ)(¬PQ))(((QR)P)¬(PQ)) \neg((P \wedge Q) \supset(\neg P \equiv Q)) \equiv (((Q \equiv R) \supset P) \wedge \neg(P \uparrow Q)) 

¬((PQ)(¬PQ))(((QR)P)PQ) \neg((P \wedge Q) \supset(\neg P \equiv Q)) \equiv (((Q \equiv R) \supset P) \wedge P \wedge Q) 

Kontrolle: https://tuwien2020.github.io/tgi-pages/#/truth-table?input=(!((P+and+Q)+=>+(not+P+<=>+Q) ))+%3C=%3E+(((Q+%3C=%3E+R)+=%3E+P)+and+P+and+Q)

¬(¬((PQ)(¬PQ)))(((QR)P)PQ) \neg \bigl(\neg((P \wedge Q) \supset(\neg P \equiv Q))\bigl) \vee \bigl(((Q \equiv R) \supset P) \wedge P \wedge Q \bigl) weilab¬aba \Rightarrow b \Leftrightarrow \neg a \vee b

((PQ)(¬PQ))(((QR)P)PQ) ((P \wedge Q) \supset(\neg P \equiv Q)) \vee (((Q \equiv R) \supset P) \wedge P \wedge Q) 

Kontrolle: https://tuwien2020.github.io/tgi-pages/#/truth-table?input=((P+and+Q)+=>+(not+P+<=>+Q) )+or+(((Q+%3C=%3E+R)+=%3E+P)+and+P+and+Q)

Jetzt müsste nur eines der beiden Teile der \vee Funktion truetrue sein damit die gesamte Gleichtung immer truetrue liefert.

Teil 1:

((PQ)(¬PQ))((P \wedge Q) \supset(\neg P \equiv Q))

(¬(PQ)(¬PQ))(\neg(P \wedge Q) \vee ( \neg P \equiv Q))weilab¬aba \Rightarrow b \Leftrightarrow \neg a \vee b

(¬(PQ)((¬PQ)(P¬Q))) (\neg(P \wedge Q) \vee ( (\neg P \wedge Q) \vee (P \wedge \neg Q))) weil(ab)((ab)(¬a¬b)) (a \Lrarr b ) \Lrarr ((a \wedge b)\vee(\neg a \wedge \neg b)) 

¬(PQ)(¬PQ)(P¬Q) \neg(P \wedge Q) \vee (\neg P \wedge Q) \vee (P \wedge \neg Q) 

In allen cases truetrue außer P=1,Q=1P = 1, Q = 1

Das bedeutet Teil 2 muss zumindest für diese Interpretation gültig sein damit der gesamte Ausdruck gültig ist.

Teil 2:

(((QR)P)PQ)(((Q \equiv R) \supset P) \wedge P \wedge Q)

Wir setzen die Wahrheitsbelegung für PP und QQ ein.

(((1R)1)11)(((1 \equiv R) \supset 1)\wedge1\wedge1)

(1R)1(1 \equiv R) \supset 1

Case 1:R=1R = 1

(11)1(1 \equiv 1) \supset 1

111 \supset 1

11

Case 2:R=0R = 0

(10)0(1 \equiv 0) \supset 0

000 \supset 0

11

✅ Aufgabe 7

Wenn ich schuldig bin, muss ich bestraft werden. [...]

SS Sokrates ist schuldig.

BB Sokrates muss bestraft werden.


Wenn Äqiuvalenz gemeint ist ( SBS \equiv B )

Wenn Implikation gemeint ist ( SBS \supset B )

SBSBSB0011010110001111 \begin{array}{cc|ccc}S & B & S\equiv B & S \supset B \\\hline 0 & 0 & 1 & 1 \\ 0 & 1 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ 1 & 1 & 1 & 1 \end{array} 

a)

... Ich bin schuldig.

Wenn S=1S = 1

b)

... Ich muss bestraft werden

Wenn B=1B = 1

Konsequenzbeziehung (logische Konseqzenz)

Die Semantik\models (in der Aussagenlogik) ist durch\supsetausdrückbar .

F1,,Fn,GF_{1}, \ldots, F_{n} \models, G

  • Aus valI(F1)=...=valI(Fn)=1 \textsf{val}_I(F_1) = ... = \textsf{val}_I(F_n) = 1 folgtvalI(G)=1\operatorname{val}_{I}\left(G\right)=1
  • "Falls in der Wahrheitsbelegung II alle Prämissen wahr sind, dann ist auch die Konklusion wahr in II ." (Kriterium für die Gültigkeit von Inferenzregeln)
  • "Die Formel GG ist eine logische Konsequenz der Formeln F1,...,FnF_1,...,F_n "

F1,,Fn,GF_{1}, \ldots, F_{n} \models, G genau dann wenn F1(F2(FnG)) F_{1} \supset\left(F_{2} \supset \cdots\left(F_{n} \supset G\right) \cdots\right) 

und weil A(BC)=(AB)CA \supset(B \supset C)=(A \wedge B) \supset C :

F1,,Fn,GF_{1}, \ldots, F_{n} \models, G genau dann wenn (F1...Fn)G(F_1 \wedge ... \wedge F_n) \supset G .

In diesem Fall würde die Gültigkeit / Ungültigkeit der Formel ( SBS \equiv B ) bzw ( SBS \supset B ) wenn man alle möglichen Fälle kennt und Wissen über die Realität von Sokrates hat ermitteln können ob Sokrates' Schlussfolgerungen per se Gültigkeit haben oder nicht.

✅ Aufgabe 8

Definition von DNF und KNF der Funktion f:BnBf: \mathbb{B}^{n} \mapsto \mathbb{B} .

Konj. / Disj. einer Menge von Variablen:

{F,G,H,}=FGH{}={F,G,H,}=FGH{}= \begin{array}{ll}\bigwedge\{F, G, H, \ldots\}=F \wedge G \wedge H \wedge \cdots & \bigwedge\{\}=\top \\\bigvee \{F, G, H, \ldots\}=F \vee G \vee H \vee \cdots & \bigvee\{\}=\perp\end{array} 

Wir haben eine Funktion ff mit

  • Variablen AiA_i die durch Interpretation belegt werden Ib(Ai)=biI_{\vec{b}} (A_i) = b_i
  • Abbildung b=(b1,,bn)Bn \vec{b}=\left(b_{1}, \ldots, b_{n}\right) \in \mathbb{B}^{n} 

Definition DNF

Charakteristisches Konjunkt für b=(b1,,bn)Bn \vec{b}=\left(b_{1}, \ldots, b_{n}\right) \in \mathbb{B}^{n}  :

Kb={Aibi=1,i=1..n}{¬Aibi=0,i=1..n} K_{\vec{b}}=\bigwedge\left\{A_{i} \mid b_{i}=1, i=1 . . n\right\} \wedge \bigwedge\left\{\neg A_{i} \mid b_{i}=0, i=1 . . n\right\} 

WobeiAiA_idie Variablen sind die als Argumente der Funktion dienen.

Beispiel:

b=(1,0,1,1)Kb=A1¬A2A3A4 \vec{b}=(1,0,1,1) \quad \Longrightarrow \quad K_{\vec{b}}=A_{1} \wedge \neg A_{2} \wedge A_{3} \wedge A_{4} 

Für Wahrheitsbelegung IbI_b hat KbK_{\vec{b}} den Wert 11 und sonst 00 .

Ib:A11,A20,A31,A41valIbˉ(Kb)=1 I_{\vec{b}}: A_{1} \mapsto 1, A_{2} \mapsto 0, A_{3} \mapsto 1, A_{4} \mapsto 1 \quad \Longrightarrow \quad \operatorname{val}_{I_{\bar{b}}}\left(K_{\vec{b}}\right)=1 

Die Konjunkte werden disjunktiv verbunden.

DNFf={Kbf(b)=1,bBn} \operatorname{DNF}_{f}=\bigvee\left\{K_{\vec{b}} \mid f(\vec{b})=1, \vec{b} \in \mathbb{B}^{n}\right\} 

Dadurch repräsentiert die DNF die Funktion f.

bBn:valb(DNFf)=f(b) \forall \vec{b} \in \mathbb{B}^{n}: \text{val}_{\vec{b}}\left(\mathrm{DNF}_{f}\right)=f(\vec{b}) 

Definition KNF

Charakteristisches Disjunkt für b=(b1,,bn)Bn \vec{b}=\left(b_{1}, \ldots, b_{n}\right) \in \mathbb{B}^{n}  :

Db={Aibi=0,i=1..n}{¬Aibi=1,i=1..n} D_{\vec{b}}=\bigvee \left\{A_{i} \mid b_{i}=0, i=1 . . n\right\} \vee \bigvee \left\{\neg A_{i} \mid b_{i}=1, i=1 . . n\right\} 

WobeiAiA_idie Variablen sind die als Argumente der Funktion dienen.

Beispiel:

b=(1,0,1,1)Db=¬A1A2¬A3¬A4 \vec{b}=(1,0,1,1) \quad \Longrightarrow \quad D_{\vec{b}}=\neg A_{1} \vee A_{2} \vee \neg A_{3} \vee \neg A_{4} 

Für Wahrheitsbelegung IbI_b hat DbD_{\vec{b}} den Wert 00 und sonst 11 .

Ib:A11,A20,A31,A41valIbˉ(Db)=0 I_{\vec{b}}: A_{1} \mapsto 1, A_{2} \mapsto 0, A_{3} \mapsto 1, A_{4} \mapsto 1 \quad \Longrightarrow \quad \operatorname{val}_{I_{\bar{b}}}\left(D_{\vec{b}}\right)=0 

Die Konjunkte werden disjunktiv verbunden.

KNFf={Dbf(b)=0,bBn} \operatorname{KNF}_{f}=\bigwedge\left\{D_{\vec{b}} \mid f(\vec{b})=0, \vec{b} \in \mathbb{B}^{n}\right\} 

Dadurch repräsentiert die DNF die Funktion f.

bBn:valb(KNFf)=f(b) \forall \vec{b} \in \mathbb{B}^{n}: \text{val}_{\vec{b}}\left(\mathrm{KNF}_{f}\right)=f(\vec{b}) 


xyzf(x,y,z)00000011010001101000101111011111 \begin{array}{ccc|c} x & y & z & f(x,y,z) \\\hline 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 & 1 \end{array} 

Disjunktive Normalform

K001=¬x¬yzK_{001}= \neg x \wedge \neg y \wedge z

K101=x¬yzK_{101}= x \wedge \neg y \wedge z

K110=xy¬zK_{110}= x \wedge y \wedge \neg z

K111=xyzK_{111}= x \wedge y \wedge z

DNFf={Kbf(b)=1,bBn} \operatorname{DNF}_{f}=\bigvee\left\{K_{\vec{b}} \mid f(\vec{b})=1, \vec{b} \in \mathbb{B}^{n}\right\} 

Konjunktive Normalform

D000=xyzD_{000}= x \vee y \vee z

D010=x¬yzD_{010}= x \vee \neg y \vee z

D011=x¬y¬zD_{011}= x \vee \neg y \vee\neg z

D100=¬xyzD_{100}=\neg x \vee y \vee z

KNFf={Dbf(b)=0,bBn} \operatorname{KNF}_{f}=\bigwedge\left\{D_{\vec{b}} \mid f(\vec{b})=0, \vec{b} \in \mathbb{B}^{n}\right\} 

✅ Aufgabe 9

X:=(((G¬F)H)(¬FG))X : = (((G \vee \neg F) \supset H) \vee(\neg F \supset G))

https://tuwien2020.github.io/tgi-pages/#/truth-table?input=(((G+or+!F)+=>+H )+or+(!F+=%3E+G))

Semantisch zur DNF gelangen:

https://www.wolframalpha.com/input/?i=DNF+(((G+||+~F)+implies+H)+||+(~F+implies+G))

Minimale Form:

FGH=DNFXF \vee G \vee H = \text{DNF}_X

Algebraisch zur KNF gelangen:

(((G¬F)H)(¬FG))(((G \vee \neg F) \supset H) \vee(\neg F \supset G))

((G¬F)H)FG((G \vee \neg F) \supset H) \vee F \vee Gweilab¬aba \Rightarrow b \Leftrightarrow \neg a \vee b

(¬GF)HFG(\neg G \wedge F) \vee H\vee F\vee Gweilab¬aba \Rightarrow b \Leftrightarrow \neg a \vee b

FGHF \vee G \vee Hweil(¬GF)F(\neg G \wedge F) \equiv F

KNFX=D000=FGH\operatorname{KNF}_{X}= D_{000} = F \vee G \vee H

✅ Aufgabe 10

"Mein lieber Watson, meine intensiven Nachforschungen gestatten mir, folgende Schlüsse zu ziehen:

AA Adam ist schuldig / der Täter

BB Brown ist schuldig / der Täter

CC Cooper ist schuldig / der Täter

Deklarierte Constraints die alle gültig sein müssen:

Wir suchen eine Interpretation für die F1F2F3F_1 \wedge F_2 \wedge F_3 gültig ist.

Wir vereinfachen F1F_1 und F2F_2 dadurch dass AA äquivalent zu CC ist.

Wir suchen also dadurch eine Interpretation für die B¬A(AB)B \wedge \neg A \wedge (A \vee B) immer gültig ist.

Dadurch, dass AA und ¬A\neg A nicht gleichzeitig truetrue sein können, folgt, daraus:

es kann nur B¬AB \wedge \neg A gültig sein.

Wir erinnern uns an F3:=CAF_3:=C \equiv A .

Also lautet die Lösung ¬AB¬C\neg A \wedge B \wedge \neg C

Das bedeutet auf die "Wirklichkeit" übertragen:

Es kann nur BB Brown schuldig sein - AA Adam und CC Cooper sind unschuldig.

Überprüfung mit Wahrheitstabelle:

https://tuwien2020.github.io/tgi-pages/#/truth-table?input=((B+or+C)+implies+!A )+and+(!(A+or+C)+implies+B)+and+(C+%3C=%3E+A)

✅ Aufgabe 11

Professor John Frink organisiert eine internationale Konferenz und sucht zur Unterstützung Student Volunteers.

Nach zahlreichen Vorstellungsgesprächen schränkt er die Auswahl auf Bart, Janey, Lisa, Milhouse und Richard ein,

wobei allerdings nur Lisa und Richard auch Fremdsprachen beherrschen.

Er stellt folgende Überlegungen an:

Variablen

BB Bart wird vom Professor angestellt.

JJ Janey wird vom Professor angestellt.

LL Lisa wird vom Professor angestellt.

MM Milhouse wird vom Professor angestellt.

RR Richart wird vom Professor angestellt.

Formeln

Die folgenden contraints müssen in unserer deklarativen Modellierung eingehalten werden - also alle diese Formeln müssen bei der Interpretation nach der wir suchen truetrue sein.

Algebraische Lösung

Zuerst lösen nutzen wir die Äquivalenzen um alle Formeln zu vereinfachen und setzen JJ überall auf truetrue .

J=1J = 1

RBRB steht für Richard und Bart zugleich

MLML steht für Milhouse und Lisa zugleich

wir vereinfachen weiter

Alle deklarierten constraints gemeinsam:

(¬ML¬RB)(MLRB)(RBML) (\neg ML \vee \neg RB) \wedge (ML \vee RB) \wedge (RB\uparrow ML) 

Das lässt sich weiter vereinfachen da: (¬ML¬RB)(MLRB)(RBML) (\neg ML \vee \neg RB) \wedge (ML \vee RB) \equiv (RB\uparrow ML) 

Es gibt 2 mögliche Interpretationen die alle constraints erfüllen.

Lösung übertragen auf die "Wirklichkeit"

Daraus folgt, dass der Professor unbedingt Lisa mitnimmt und zwischen Team MLML und Team RBRB entscheiden muss.

Er könnte dafür beispielsweise eine faire Münze werfen.

✅ Aufgabe 12

Eine Kollegin und ich modellieren das gleiche Problem.

Überprüfung der semantischen Äquivalenz mit SAT-Solver

  1. Automatisiert die Formel HH und die Formel X:=FGX:= F \wedge G in die DNF\text{DNF} oder KNF\text{KNF} umwandeln
  1. (DNFHDNFX)(\text{DNF}_H \equiv \text{DNF}_X) in den SAT-Solver eingeben
  1. Falls der SAT-Solver in der Lage ist eine Interpretation zu finden mit der die Gleichung aus dem zweiten Schritt nicht erfüllbar ist (also die Gleichung zu widerlegen) können wir sicher sein, dass die Gleichungen nicht äquivalent sind.

    Die einzige Möglichkeit aber die Äquivalenz zu beweisen wäre es alle möglichen Interpretationen durchzugehen.

Was bedeutet es, wenn der SAT-Solver eine erfüllende Variablenbelegung findet?

Eine erfüllende Variablenbelegung für DNFH\text{DNF}_H oder DNFX\text{DNF}_X wäre eine Lösung unseres Problems → Eine Lösung die sich an alle deklarierten constraints hält.

✅ Aufgabe 13

Gegeben sei:

Dieser Automat ist ein DEA: von jedem Zustand gibt es einen eindeutigen Nachfolger mit jeder Eingabe aus dem Alphabet

={a,b,c}\sum =\{a,b,c\}

Q={1,2,3,4}Q=\{1,2,3,4\}

q0=1q_0 = 1

F={0}F = \{0\}

a)

Alle Wörter aus maximal 3 Zeichen die akzeptiert werden (mit denen der Automat in einem final state ) endet.

L3(A)={wΣδ(q0,w)F,w3} \mathcal{L}_{|3|}(\mathcal{A})=\left\{w \in \Sigma^{*} \mid \delta^{*}\left(q_{0}, w\right) \in F, |w|\leq3\right\} 

  1. ϵ\epsilon
  1. acac
  1. abcabc
  1. aabaab
  1. babbab
  1. cabcab

b)

Erweiterte Übergangsfunktion (auch für Sätze)

δ:Q×ΣQ\delta^{*}: Q \times \Sigma^{*} \mapsto Q

qQ,sΣ,wΣ:δ(q,ε)=q,δ(q,sw)=δ(δ(q,s),w) \forall q \in Q, s \in \Sigma, w \in \Sigma^{*}: \quad \delta^{*}(q, \varepsilon)=q, \quad \delta^{*}(q, s w)=\delta^{*}(\delta(q, s), w) 

δ(1,bbacbc)\delta^{*}(1, bbacbc)

δ(δ(1,b),bacbc)\delta^{*}( \delta^{*}(1,b),bacbc)

δ(δ(δ(1,b),b),acbc)\delta^{*}( \delta^{*}(\delta^{*}(1,b),b),acbc)

......

δ(δ(δ(δ(δ(δ(1,b),b),a),c),b),c) \delta^{*}(\delta^{*}(\delta^{*}(\delta^{*}(\delta^{*}(\delta^{*}(1,b),b),a),c),b),c) 

δ(δ(δ(δ(δ(3,b),a),c),b),c) \delta^{*}(\delta^{*}(\delta^{*}(\delta^{*}(\delta^{*}(3,b),a),c),b),c) 

δ(δ(δ(δ(3,a),c),b),c)\delta^{*}(\delta^{*}(\delta^{*}(\delta^{*}(3,a),c),b),c)

δ(δ(δ(4,c),b),c)\delta^{*}(\delta^{*}(\delta^{*}(4,c),b),c)

δ(δ(2,b),c)\delta^{*}(\delta^{*}(2,b),c)

δ(2,c)=1F\delta^{*}(2,c) = 1 \in F

Dieses Wort ist Teil der akzeptierten Sprache

c)

Dieser Automat ist ein DEA: von jedem Zustand gibt es einen eindeutigen Nachfolger mit jeder Eingabe aus dem Alphabet

δ:Q×ΣQ\delta: Q \times \Sigma \mapsto Qtransition function

Totale Funktion: Funktion, die für jeden Wert aus Definitonsmenge ein Abbild hat. Deshalb deterministisch.

δabc1233242134334212 \begin{array}{c|c} \delta & a & b & c \\\hline 1 & 2 & 3 & 3 \\ 2 & 4 & 2 & 1 \\ 3 & 4 & 3 & 3 \\ 4 & 2 & 1 & 2 \end{array} 

✅ Aufgabe 14

a)

[A](11001)=000000[\mathcal{A}](11001)= 000000

[A](01011)=000010[\mathcal{A}](01011)= 000010

[A](10101)=000100[\mathcal{A}](10101)=000100

b)

δ(Z0,01010)\delta^{*}(Z_{0}, 01010)

δ(δ(Z0,0),1010)\delta^{*}(\delta^{*}(Z_{0},0),1010)

\dots

δ(δ(δ(δ(δ(Z0,0),1),0),1),0) \delta^{*}(\delta^{*}(\delta^{*}(\delta^{*}(\delta^{*}(Z_0,0),1),0),1),0) 

δ(δ(δ(δ(Z0,1),0),1),0)\delta^{*}(\delta^{*}(\delta^{*}(\delta^{*}(Z_0,1),0),1),0)

δ(δ(δ(Z1,0),1),0)\delta^{*}(\delta^{*}(\delta^{*}(Z_1,0),1),0)

δ(δ(Z3,1),0)\delta^{*}(\delta^{*}(Z_3,1),0)

δ(Z2,0)=Z0\delta^*(Z_2,0) = Z_0

Erweiterte Ausgabefunktion (auch für Sätze)

γ:Q×ΣΓ\gamma^{*}: Q \times \Sigma^{*} \mapsto \Gamma^{*}

qQ,sΣ,wΣ:\forall q \in Q, s \in \Sigma, w \in \Sigma^{*}:

γ(q,ε)=ε\gamma^{*}(q, \varepsilon)=\varepsilon

γ(q,sw)=γ(q)γ(δ(q,s),w) \gamma^{*}(q, s w)=\gamma(q) \cdot \gamma^{*}(\delta(q, s), w) 

γ(Z0,01010)\gamma^{*}\left(Z_{0}, 01010\right)

γ(Z0,01010)=γ(Z0)γ(δ(Z0,0),1010)=0γ(Z0,1010) \gamma^{*}\left(Z_{0}, 01010\right) = \gamma(Z_0) \cdot \gamma^{*}(\delta(Z_0, 0), 1010) = 0\cdot \gamma^{*}(Z_0, 1010) 

0γ(Z0,1010)=0γ(Z0)γ(δ(Z0,1),010)=00γ(Z1,010) 0\cdot \gamma^{*}(Z_0, 1010) = 0\cdot\gamma(Z_0) \cdot \gamma^{*}(\delta(Z_0, 1), 010) = 00\cdot \gamma^{*}(Z_1, 010) 

00γ(Z1,010)=00γ(Z1)γ(δ(Z1,0),10)=000γ(Z3,10) 00\cdot \gamma^{*}(Z_1, 010) = 00 \cdot\gamma(Z_1) \cdot \gamma^{*}(\delta(Z_1, 0), 10) = 000\cdot \gamma^{*}(Z_3,10) 

000γ(Z3,10)=000γ(Z3)γ(δ(Z3,1),0)=0000γ(Z2,0) 000\cdot \gamma^{*}(Z_3,10) = 000\cdot \gamma(Z_3) \cdot \gamma^{*}(\delta(Z_3,1),0) = 0000 \cdot \gamma^{*}(Z_2,0) 

0000γ(Z2,0)=0000γ(Z2)γ(δ(Z2,0))=00001γ(Z0)=000010 0000 \cdot \gamma^{*}(Z_2,0) = 0000\cdot \gamma(Z_2) \cdot \gamma^*(\delta(Z_2,0)) = 00001 \cdot \gamma^*(Z_0) = 000010 

c)

Übersetzungsfunktion (gleich wie Mealy)

[A]:ΣΓ[\mathcal{A}]: \Sigma^{*} \mapsto \Gamma^{*}

[A](w)=γ(q0,w)[\mathcal{A}](w)=\gamma^{*}\left(q_{0}, w\right)

γ:Q×ΣΓ\gamma^{*}: Q \times \Sigma^{*} \mapsto \Gamma^{*}

qQ,sΣ,wΣ:\forall q \in Q, s \in \Sigma, w \in \Sigma^{*}:

γ(q,ε)=ε\gamma^{*}(q, \varepsilon)=\varepsilon

γ(q,sw)=γ(q)γ(δ(q,s),w) \gamma^{*}(q, s w)=\gamma(q) \cdot \gamma^{*}(\delta(q, s), w) 

✅ Aufgabe 15

Elektronisches Tresorschloss

Display:

darstellbar :={0,1,2}:= \{0,1,2\}

2 Stellen

initial: 0000 , linke stelle aktiv

Tasten:

Es gibt immer eine aktive Stelle

++ inkrementiert aktive Ziffer (ab 2 → 0)

LL aktive Stelle ist links (looped nicht im kreis)

RR aktive Stelle ist rechts (looped nicht im kreis)

OKOK

Wenn 21 eingegeben und OKOK gedrückt dann öffnet sich Tresor. (alle Tasten außerRESETRESETdann ignoriert)

Ansonsten nachdem OKOK gedrückt wurde in einem Fehlerzustand. (alle Tasten außerRESETRESETdann ignoriert)

RESETRESET

Kann immer gedrückt werden → setzt zurück in den Anfangszustand

Modellierung eines endlichen Automaten

a)

Welche Informationen sind notwendig um den Zustand des Schlosses zu beschreiben?

Notwendige Informationen / Zustände:

Wie viele Zustände kann das Schloss annehmen?

Wie viele Zustände kann das Schloss im Allgemeinen mitnZiffern (statt 3) undkStellen (statt 2) annehmen?

b)

Welche Aktionen führen zu einem Zustandswechsel?

Jeder Tastendruck - siehe oben.

c)

Geben Sie einen endlichen Automaten an, der das Verhalten des beschr. Schlosses vollständig beschreibt. (Auswahl zwischen Tabelle und Graph möglich)

( L(A)\mathcal{L}(\mathcal{A}) sind alle Kombinationen die den Tresor öffnen)

Grobe Skizze:

Die Idee besteht daraus unseren Graphen in Gebiete zu unterteilen.

Links sind alle Zahlenkombinationen, wobei immer nur die linke Zahl aktiv ist und man weiß dass jede ++ Aktion nur einen Einfluss auf dieses Gebiet haben wird und rechts vice versa.

Weiters weiß man dass ein Wechsel zwischen den beiden Gebieten links und rechts nur mit LL bzw RR möglich ist.

Beim drücken von OKOK führt nur ein Zustand zu OPENOPEN und alle anderen zum Zustand ERRORERROR .

ERRORERROR ist meine Falle, deshalb werde ich nicht alle Kanten dazu einzeichnen (zur besseren Lesbarkeit).

Weiters führt das Drücken von RESETRESET immer wieder zum Zustand 00\underline{0}0 weshalb man diese theoretisch auch nicht einzeichnen bräuchte.

Vollständige Version: