Aussage Logik Informatik?

Written5423  08.12.2023, 12:28

Was hat das mit Programmierung oder Informatik zu tun?

kingafghan 
Beitragsersteller
 08.12.2023, 13:10

Wir lernen das ganze Thema im Fach Theoretische Informatik.

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

2) Wenn Anastasia den Most holt wird es bald etwas zu trinken geben und das Abendessen wird beginnen vorausgesetzt dass Bartholm¨aus das Brot schon gebacken hat.

a = Anastasia holt den Most
b = Es gibt bald zu trinken
c = Abendessen beginnt
d = Bartholm hat das Brot gebacken

(a -> b) ^ ((a ^ d) -> c)

Das steht da und es lässt sich etwas vereinfachen:

(!b v a) ^ (!c v (a ^ d))
= (!b v a) ^ (!c v a) ^ (!c v d)
= !b^!c v a^!c v a^d (DNF)

(Regeln, siehe hier)

... Und dann steht dort: Entweder, es gibt nichts zu trinken und kein Abendessen, oder Anastasia hat den Most geholt und es gibt kein Abendessen, oder Anastasia hat den Most geholt und Bartholm hat das Brot gebacken.

Wenn die Frage ist, wann kann es etwas zu trinken geben, dann ist die Antwort, zum Beispiel, wenn Anastasia den Most geholt hat (es kann ja auch jemand anderes den Most geholte haben) Und wann kann es Abendessen geben, dann ist die Antwort, zum Beispiel, wenn Anastasia den Most geholt hat und Bartholm das Brot gebacken hat (natürlich kann auch jemand anderes den Most und das Brot beschafft haben)

Der erste Teil der Implikation ist ein Indiz für den zweiten Teil, aber der zweite Teil kann auch ohne den ersten erfüllt sein...

Tabelle:

  A B C D  │  (¬B ∨ A) ∧ (¬C ∨ (A ∧ D))
  ─────────┼───────────────────────────
  1 1 1 1  │  1
  1 1 1 0  │  0
  1 1 0 1  │  1
  1 1 0 0  │  1
  1 0 1 1  │  1
  1 0 1 0  │  0
  1 0 0 1  │  1
  1 0 0 0  │  1
  0 1 1 1  │  0
  0 1 1 0  │  0
  0 1 0 1  │  0
  0 1 0 0  │  0
  0 0 1 1  │  0
  0 0 1 0  │  0
  0 0 0 1  │  1
  0 0 0 0  │  1

CyborgBeta  10.12.2023, 09:19

Sorry, jetzt noch einmal darüber nachgedacht,

(((A→B)∧D)→C) = ¬((¬A ∨ B) ∧ D) ∨ C = ... = (A ∧ ¬B) ∨ ¬D ∨ C

das könnte auch richtig sein.

Ich würde jedenfalls keinen Punkt dafür abziehen, wenn die Umformungen richtig sind, aber der Satz unterschiedlich interpretiert wurde.

0
CyborgBeta  09.12.2023, 22:26

Sorry, ich hatte mich vertan. Also: (a -> b) ^ ((a ^ d) -> c) = (!a v b) ^ ((!a v !d) v c)

Umgewandelt ist die DNF: (!a v b) ^ ((!a v !d) v c) = ¬A ∨ (¬D ∧ B) ∨ (C ∧ B)

Das heißt, drei Szenarien sind möglich:
Der Most wurde nicht geholt, oder es gibt zu trinken, aber das Brot wurde nicht gebacken, oder es gibt zu trinken und Abendessen.

Du kannst die Formel auch hier eingeben: https://www.erpelstolz.at/cgi-bin/cgi-form?key=0000c098

0
kingafghan 
Beitragsersteller
 09.12.2023, 11:02

Vielen Dank, aber ich verstehe nicht ganz, wie du die Formel vereinfacht hast.

  • Die Regel ist ja: a → b ⇔ ¬a ∨ b (Umwandlung der Implikation in eine Disjunktion)

Aber bei der ersten Schritt der Vereifachung machst du a → b ⇔ ¬ b ∨ a

1
kingafghan 
Beitragsersteller
 09.12.2023, 11:07
@kingafghan

Ah, ok. Habe verstanden, es macht keinen Unterschied. ¬a ∨ b ⇔ ¬b ∨ a

0