FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Formale Informatik

F1 - Aufgabenzettel 9

F1 - Aufgabenzettel 9 2002-12-12 10:13
Rinderhuf
http://www.informatik.uni-hamburg.de/WSV/f1/2002/Aufgaben/Blatt9.pdf


Kann mir jemand sagen, ob ich die erste Aufgabe richtig gemacht habe? Hier meine Ergebnisse:

1.(d): { A, nicht(E) }
1.(e): { F, G, nicht(A), C }
1.(f): { nicht(A), nicht(E) }

Bei Aufgabe 2 weiss ich ehrlich gesagt nicht, wie ich ansetzen soll: Beweisen Sie folgenden Satz auf Folie 8-3: "Klauseln bzw. Formeln mit derselben Mengendarstellung sind äquivalent." Weiss da jemand weiter?


Gruß, Rind



Re: F1 - Aufgabenzettel 9 2002-12-12 11:15
Anonymer User
http://www.informatik.uni-hamburg.de/WSV/f1/2002/Aufgaben/Blatt9.pdf

'File Not Found' ??



Re: F1 - Aufgabenzettel 9 2002-12-12 11:37
Rinderhuf
hm ja, absolut gay dass die immer so lange brauchen!

Re: F1 - Aufgabenzettel 9 2002-12-12 18:06
Anonymer User
ok, hab folgendes raus:

1. a,b, nicht(e)
2. nicht(a),c,f,g
3. b

Re: F1 - Aufgabenzettel 9 2002-12-12 18:12
Slater
Bei Aufgabe 2 weiss ich ehrlich gesagt nicht, wie ich ansetzen soll: Beweisen Sie folgenden Satz auf Folie 8-3: "Klauseln bzw. Formeln mit derselben Mengendarstellung sind äquivalent." Weiss da jemand weiter?
also gemeint ist da, falls dir das noch unklar war,
das 2 unterschiedliche formeln/ klauseln (etwa 'A oder B', 'B oder A') äquivalent sind, wenn sie die gleiche mengendarstellung ({A,B} = {A,B}) haben,
eine schlüssige beweisidee hab ich da aber grad auch nicht [img]http://www.sternenvolk.de/symb/9.gif[/img], grübel..

Re: F1 - Aufgabenzettel 9 2002-12-12 18:53
Rinderhuf
Ok, auf dem Aufgabenblatt stehts auch in etwa so:

"Etwas formaler ist zu zeigen:

© Wenn K_1 = K_2 gilt, dann muß auch K_1 == K_2 gelten.
(d) Wenn F_1 = F_2 gilt, dann muß auch F_1 == F_2 gelten."

naja und dass eben K_1+2 und F_1+2 die Mengendarstellung der Formeln sein sollen.

Das wäre mir auch schon klar gewesen…. hmmmmmmmmmm… irgendwie hilft mir dat alles nisch…… *ueberleg*

Re: F1 - Aufgabenzettel 9 2002-12-13 12:12
Rinderhuf
1. a,b, nicht(e)
2. nicht(a),c,f,g
3. b

ok, bei 2. haben wir ja das selbe.. zu 1.:

die ursprüngliche formelmenge ist:
{ {nicht(B),D,A} {nicht(D),nicht(B)} {nicht(E),B,nicht(D)} {A,D,B} {nicht(A),D} {B,nicht(D)} } bereits in einer bisl anderen reihenfolge.

jetzt resolvieren die ersten zwei mengen zu: {nicht(B),A}
die mengen drei und vier zu: {A,B,nicht(E)} und
die mengen fünf und sechs zu: {nicht(A),B}

ich nenn die 3 entstandenen da oben mal grad mengen 1-3. dann resolvieren 2 und 3 zu: {B, nicht(E)} und diese wiederum mit der ersten zu {A, nicht(E)}

richtig? oder wo ist der fehler?



Re: F1 - Aufgabenzettel 9 2002-12-13 13:34
Slater
was ist denn bei dieser ominösen aufgabe 1 überhaupt gefragt?,
normalerweise gehts bei resolution doch um unerfüllbarkeit/ erfüllbarkeit,

hab mal die leere klausel gefunden, wenn ich die ganzen schritte nicht durcheinander gebracht habe,
falls doch was anderes gefragt war den folgenden quark ignorieren ;)

gegeben: -B,D,A -D,-B -E,B,-D A,D,B -A,D B,-D resolutionen -B,D,A A,D,B -> A,D -A,D A,D -> D -B,D,A -D,-B -> -B,A -B,A -A,D -> -B,D -D,-B -B,D -> -B B,-D D -> B B -B -> leere klausel

Re: F1 - Aufgabenzettel 9 2002-12-13 21:42
Morpheus
gegeben:
-B,D,A -D,-B -E,B,-D A,D,B -A,D B,-D

resolutionen
-B,D,A A,D,B -> A,D

Alsoooo,
ja die aufgabe ist es in der tat die erfüllbahrkeit zu prüfen.
Aber bist du sicher das mann bei -B,D,A A,D,B ,
A,D rauskriegt?? Was ich meine: kann mann überhaupt die zweimal A und die zweimal D zusammenziehen, im script stand nirgendwo ein beispiel für oder gegen diese vorgehensweise…deswegen die frage.
denn dann geht ja so einiges mehr…und ich muss alles überarbeiten, buhuhu
;)


Ach sag doch bidde nochma was schlaues zu aufgabe 2, da häng ich nähmlich auch gut fest ;)


Re: F1 - Aufgabenzettel 9 2002-12-13 22:13
Slater
definition resolventen:
die menge der literale der linken klausel ohne L vereinigt
mit der menge der rechten klausel ohne -L,
heraus kommt wieder eine menge,
und was das für doppelte bedeutet sollte man voraussagen dürfen

erklärung auf formelebene:

2 klauseln {A,B,-D} und {A,B,D}
entspricht der formel (A OR B OR -D) AND (A OR B OR D),
dies ist nach adam riesling
== [ (A OR B) AND (A OR B OR D ] OR [ -D AND (A OR B OR D) ] == (A OR B) OR [ (-D AND (A OR B)) OR (-D AND D) ] == (A OR B) OR [ -D AND (A OR B) ] == (A OR B) es geht übrigens auch: {A,B} {-A,-B} -> {A,-A} oder auch {B,-B} je nachdem was man rausschmeisst
zu dem beweis, ja hmm:

sind K1 und K2 Klauseln mit MK1 = MK2,
so sind alle Literale von K1 auch Literale von K2 und umgekehrt

eine zu K1 passende belegung passt damit auch zu K2 und weisst
jedem Literal den gleichen wahrkeitswert zu (und umgekehrt),

es gilt A(K1) = max(A(L)|L e MK1} = max(A(L)|L e MK2} = A(K2)

(da MK1 = MK2)

also haben K1 und K2 den gleichen wahrheitswert für alle belegungen,
damit sind sie äquivalent

nicht schön, aber vielleicht brauchbar,
für formeln analog



Re: F1 - Aufgabenzettel 9 2002-12-13 23:54
Morpheus
also entschuldigung aber etwas daran ist trotzdem noch "unlogisch". Das heisst das es schon logisch ist (eine Klausel kann ja X mal vorkommen in der Formel aba nur ein mal ind der Klauselmenge) aba wenn wenn du jede klausel X mal benutzen kannst um zu reduzieren, dann gibt es doch so gut wie immer ein weg auf die leere menge zu kommen?!?

zB hattest du geschrieben:

{B,D,A}, {A,D,B} Þ {A,D}
und dann spädda
{B,D,A}, {B,D} Þ {B,A}


ausserdem habi grad was im skript gefunden ( bei mir 8 [ 9 ]), zitat:
{¬A,B} {¬A,C}
kein paar komplementäre literale!
keine Resolventenbildung!

wiederspricht das nich deine vorgehensart?!




Re: F1 - Aufgabenzettel 9 2002-12-14 03:03
Morpheus
soooo,
das iss jetzt was ich mit den tipps von slater rausbekommen hab:
a) unerfüllbar (wenn mann die klauseln nich doppelt wählt erhalte ich {¬E,B})
b) {G} (wenn mann die klauseln nich doppelt wählt erhalte ich {F,G})
c) unerfüllbar

zu der 2 Aufgabe werde ich bestimmt auch noch was posten, aba dann wohl erts morgen. Ich daddel noch n gutenacht battlefield match und geh ins bett ;)

Re: F1 - Aufgabenzettel 9 2002-12-14 13:27
Slater
oh grundsatzdiskussionen, die hab ich gerne,
vielen dank für das posting ;)

also entschuldigung aber etwas daran ist trotzdem noch "unlogisch".
Das heisst das es schon logisch ist (eine Klausel kann ja X mal vorkommen in der Formel aba nur ein mal ind der Klauselmenge) aba wenn wenn du jede klausel X mal benutzen kannst um zu reduzieren, dann gibt es doch so gut wie immer ein weg auf die leere menge zu kommen?!?
einen weg zur leeren menge zur kommen gibt es dann und nur GANAU DANN wenn die formel unerfüllbar ist,

vergleiche Resolutionssatz, bei mir:
"Eine Klauselmenge F ist genau dann unerfüllbar,
wenn LK (leere klausel) e Res*(F), d.h. F |-res LK."

und vergleiche Normalformtheorem:
"Für jede Formel F gibt es mindestens eine äquivalente Formel in KNF."


also das die LK rauskommt hat mit dem verfahren nix zu tun, das ist doch kein hokus pokus,

nimmst du eine formel wie
F = A und B, dann ist F wohl erfüllbar,
und das kannst du auch nicht durch resolution widerlegen,
die LK kann nicht resloviert werden, weil F eben nicht unerfüllbar ist

dagegen kommt man bei unerfüllbaren Formeln, wie die eine in der aufgabe, zur LK, da die formel unerfüllbar ist, auch wenn man das vielleicht nicht so deutlich erkennt vorher,
dafür ist ja der algorithmus dann da!



zu dem x-mal verwenden:
da muss man wider mit äquivanlenzen zaubern bzw. den algorithmus verstehen (also alles mal richtig durchlesen ;) )

begründung durch skript:

Resolventenlemma:
"Sei F eine Formel in Klauselmenge, …
mit R = (K1 - {L}) vereinigt (K2 - {-L}), [also R die Resolvente]

Dann sind F und (F vereinigt {R}) äquivalent."

also folgt, dass du genauso gut (F vereinigt {R}) auf unerfüllbarkeit prüfen kannst,
wenn du dort die LK findest, dann ist auch F unerfüllbar,
und in (F vereinigt {R}) hast du wieder alle ausgangsklauseln + die neue,

oder definition der Resolventenmengen:
da sieht man, das die resolventen auch im nächsten schritt dabeibleiben und nicht verschwinden


begründung durch formel:

ich nehm mal wieder mein beispiel von gestern:

2 klauseln {A,B,-D} und {A,B,D}
entspricht der formel F = (A OR B OR -D) AND (A OR B OR D),
dies ist nach adam riesling

== [ (A OR B) AND (A OR B OR D ] OR [ -D AND (A OR B OR D) ]
== (A OR B) OR [ (-D AND (A OR B)) OR (-D AND D) ]
== (A OR B) OR [ -D AND (A OR B) ]
== (A OR B)

da die beiden formeln F einerseits und (A OR B) andererseits äquivalent sind,
kannst du genausogut F AND (A OR B) schreiben, diese formel ist auch äquivalent zu den beiden vorherigen,

also schaust du jetzt in dieser dritten formel nach der LK,
die Formelmenge ist grad { {A,B,-D}, {A,B,D}, {A,B} },
die ursprünglichen klauseln sind hier also wieder dabei,
das kann man bei jeder resolventenbildung so machen,
es verschwinden also keine klauseln sondern es werden immer mehr, man darf sie sooft anwenden wie man will

noch ein beispielchen:
{{A,A,A,A,A,A},{-A}}
da kommt die leere klausel/ unerfüllbarkeit raus,
entweder durch resolution in vielen schritten:
{A,A,A,A,A,A},{-A} -> {A,A,A,A,A}
{A,A,A,A,A},{-A} -> {A,A,A,A}
{A,A,A,A},{-A} -> {A,A,A}
{A,A,A},{-A} -> {A,A}
{A,A},{-A} -> {A}
{A},{-A} -> LK

[edit]
ist wohl ein falsches beispiel, mengendarstellung mit doppelten kommt nicht so gut an..,

{{A},{-A}}

{A},{-A} -> LK
[/edit]

oder auf formelebene bisschen schneller ;):

(A OR A OR A OR A OR A OR A) AND -A
== A AND -A
== bottom



naja öfter mal durchlesen, gibt alles irgenwie sinn..

ausserdem habi grad was im skript gefunden ( bei mir 8 [ 9 ]), zitat:
{¬A,B} {¬A,C}
kein paar komplementäre literale!
keine Resolventenbildung!

wiederspricht das nich deine vorgehensart?!
das ist richtig das man da keine resolvente bilden kann,
einen zusammenhang zu meiner vorgehensart sehe ich allerdings noch nicht ;)

edit

dabei ist zu beachten, dass ich nicht
{B,D,A}, {A,D,B} Þ {A,D}
und dann spädda
{B,D,A}, {B,D} Þ {B,A}
geschrieben habe, sondern

{-B,D,A}, {A,D,B} Þ {A,D}
und später
{-B,D,A}, {-B,-D} Þ {-B,A}



Re: F1 - Aufgabenzettel 9 2002-12-14 14:06
Morpheus
ok, wegen dem letzten hat ich mich vertippt ;)

Danke, jetzt bin ich überzeugt ;P
Allerdings gibst du öfters den Tipp sich alles gut durchzulesen. Dazu möcht ich nur ma sagen das es ja nich so iss das ich ne faule socke bin und gleich zum forum renne ;)
wenn ich ne frage stelle heisst das ich alleine auch wirklich nich mehr weiterkomme….Ich denke nich das ich da der einzige bin, F fällt mir halt n bissel schwer, nicht nur deshalb weil der Dozent ne einzige schlaftablette iss und die übungsstunden nur 45 mn dauern.

Aber falls es dich beruhigt, nachdem ich deine postings lese füll ich mich immer n stück schlauer ;D

Re: F1 - Aufgabenzettel 9 2002-12-14 16:04
Anonymer User
stimmt es, dass in aufgabe 1 ausser e) nix unerfüllbar ist ???

Re: F1 - Aufgabenzettel 9 2002-12-14 16:12
Anonymer User
Hi. Hat wer eine Lösung zu 1 f ??? Biiiitteeeeee!!!!!!

Re: F1 - Aufgabenzettel 9 2002-12-14 19:18
Morpheus
es gilt A(K1) = max(A(L)|L e MK1} = max(A(L)|L e MK2} = A(K2)

Also einmal muss ich nochmal lästern ;)
Einen kleinen fehler hast du hier gemacht.
es gilt A(MK1) = max(A(L)|L e MK1} = max(A(L)|L e MK2} = A(MK2)(skript 8 [ 3 ])

und das macht deine Beweisführung dann nicht mehr ganz so richtig, wenn ich mich nich wieder ma täusche…


Re: F1 - Aufgabenzettel 9 2002-12-14 19:21
Anonymer User
zu Aufg. 1 a-c nicht d-f(erster Fehler) was soll das?

Also kann das halt nicht sein, dass halt alle halt Klauselmengen unerfüllbar sind, da sich halt zu allen eine leere Klausel halt finden lässt, allerdings nur wenn man die Dinger halt öfter benutzt.
Was geht mit Aufgabe 2, dass is döch halt verflüchte scheyse.

Tsö
Ich kann das!!!!!!!!

ihmgamlon

Re: F1 - Aufgabenzettel 9 2002-12-14 19:22
Slater
Hi. Hat wer eine Lösung zu 1 f ??? Biiiitteeeeee!!!!!!

stimmt es, dass in aufgabe 1 ausser e) nix unerfüllbar ist ???

qualifizierte frager schreiben meist die aufgabe dazu [img]http://www.sternenvolk.de/symb/24.gif[/img]

Allerdings gibst du öfters den Tipp sich alles gut durchzulesen. Dazu möcht ich nur ma sagen das es ja nich so iss das ich ne faule socke bin und gleich zum forum renne ;)
ich kann mir schon vorstellen, das du die aufgabe vorm fragen bereits bearbeitest,
soll dann immer ein tipp sein, wie du selber meist die eventuellen probleme lösen könntest (von flüchtigkeitsfehler mal abgesehen, da gegen gibts kein rezept)
(der 2. und 3. standardtipp: vorlesung und übung besuchen/ aktiv hören [img]http://www.sternenvolk.de/symb/22.gif[/img]),
denn eigentlich sind das noch ziemlich einfache themen im vergleich zu dem was noch kommen mag,

sinnvolle fragen, bei denen ich nicht auf die idee kommen würde sowas zu schreiben, wären etwa
"was bedeutet bei der definition der Resolventenmenge der ausdruck 'Res n+1(F) := Res(Res n(F)) mit n>=0' was bedeutet das für die praktische resolventenbestimmung"
(das man alle ausgangs- und bisher abgeleitete klauseln zur bestimmung der nächsten benutzen darf)

wenn man dagegen schreibt, das man aus 4 klauseln nur 2 resolventen bekommt, klingt das für mich, als hätte es da jemand nötig, das skript aufzuschlagen ;)

aber nicht böse sein, ist ja scherzhaft dargestellt

Re: F1 - Aufgabenzettel 9 2002-12-14 19:28
Slater
Also einmal muss ich nochmal lästern ;)
Einen kleinen fehler hast du hier gemacht.
es gilt A(MK1) = max(A(L)|L e MK1} = max(A(L)|L e MK2} = A(MK2)(skript 8 [ 3 ])

und das macht deine Beweisführung dann nicht mehr ganz so richtig, wenn ich mich nich wieder ma täusche…
tja das ist wohl wahr,
aber da A(K1) = A(MK1) und A(K2) = A(MK2) sein muss fehlt eben ein zwischenschritt, der hoffentlich irgendwo schon bewiesen steht, oder den man auch noch beweisen muss, ob das mal geht..


Re: F1 - Aufgabenzettel 9 2002-12-15 16:10
Anonymer User
Aufgabe 2 bringt mich echt um den Verstand… :(
der Ansatz von Slater ist ja schonmal nicht schlecht aber irgendwie kann ich den kaum oder gar nicht nachvollziehen.
Kann mir jemand vielleicht da nochmal auf die Sprünge helfen?

Re: F1 - Aufgabenzettel 9 2002-12-15 17:04
Slater
der vollständkeit halber noch ein ein wenig vollständigerer beweis zu 2.,
@anonymus: falls du den vorherigen aber nicht so recht verstanden hast, wird das bei dem auch nicht grad leichter, hast du ne konkrete verständnisfrage?



sei A eine zu der klausel K passende belegung,
sie ordnet also jedem literal L einen wahrheitswert zu,

K = V Lk (DNF der litrale L1..Lm)

und nach definition der disjunktion ist
A(K) = 1 wenn mindestens ein k existiert: A(Lk) = 1
A(K) = 0 sonst (wenn für alle k gilt: A(Lk) = 0)

für MK gilt:
A(MK) = max({A(L)|L e MK}),
der wahrheitswert kann nur entweder 0 oder 1 sein,
(A(MK) = 0) <=> (max({A(L)|L e MK}) = 0) <=> (für alle L e MK gilt: A(L)=0)

also gilt auch (da MK die gleichen L1..Lm enthaelt wie K):

A(MK) = 0 wenn für alle k gilt: A(Lk) = 0
A(MK) = 1 sonst (wenn mindestens ein k existiert: A(Lk) = 1)

=> A(K) = A(MK) für alle zu K bzw. MK passenden belegungen



für 2 klauseln K1, K2 mit MK1 = MK2 gilt dann:

alle Literale von K1 sind auch Literale von K2 und umgekehrt
eine zu K1 passende belegung passt damit auch zu K2 und umgekehrt,

es gilt für alle zu K1 und K2 passenden belegungen:
A(K1) = A(MK1) = A(MK2) = A(K2)

=> K1 == K2

auch noch nicht schön, aber bisschen schöner [img]http://www.sternenvolk.de/symb/28.gif[/img]



Re: F1 - Aufgabenzettel 9 2002-12-19 10:02
Anonymer User
So, ich hab da was im Schoening gelesen zum wiederverwenden von Klauseln im Resolutionsverfahren.

S.44 mitte:
"Solche Resolutionsgraphen muessen nicht unbedingt Baeume sein, sofern Klauseln vorkommen, die in mehreren Resolutionsschritten verwendet werden."

Daraus schliesse ich, dass es erlaubt ist, Klauseln mehrmals zu verwenden.

Ausserdem muss man nicht jede Klausel verwenden, man darf beliebige einfach weglassen, wenn sie nicht zur Loesung beitragen.

Bis dann!
Stefan

PS. Ich hab so in allen drei Faellen "unerfuellbar" erhalten.