Ja, noch eine organisatorische Vorbemerkung. Mein Ziel ist es,
heute mit dem Logikteil abzuschließen. Das heißt, ab morgen früh
wird wieder Michael Köhler die Vorlesung übernehmen zum Thema Automaten,
formale Sprachen, Berechenbarkeit, Entscheidbarkeit. Das heißt,
ich muss durch meine Folien, die ich jetzt mit habe,
durch, koste es, was es wolle.
Naja, es ist nicht so schlimm sein,
also der Umfang ist nicht größer als das,
was wir sonst auch gemacht haben
Okay. Das Thema, bei dem wir inzwischen gelandet sind,
ist die Prädikaten, logische Resolution. Das heißt,
ein Beweisverfahren, dass wir ja in der Aussagenlogik schon kennengelernt haben,
die Resolution, jetzt verallgemeinert für die Anwendung auch in der Prädikatenlogik.
Ich hatte beim letzten Mal schon den ersten Einstieg gemacht,
zu sagen, Wie war das denn eigentlich in der Aussagenlogik
und wie können wir das mehr oder weniger direkt nutzen,
was wir in der Aussagenlogik haben?
Und das war der Weg über die sogenannte Grundresolution.
Darauf werde ich gleich auch nochmal im Detail eingehen.
Ist es, von wo kommen die Lautstärke?
Kommt sie von draußen oder ist es im Moment hier,
wenn es von draußen kommt,
wäre es vielleicht ganz gut,
die Türen doch zuzumachen
So, als zweiten Punkt tappen wir ja beim letzten Mal
schon die Unifikation eingeführt, weil das uns eine Möglichkeit gibt,
dass Resolutionsverfahren besser an die Prädikatenlogik anzupassen.
Um dann sozusagen echte Prädikaten, logische Resolution durchzuführen.
Und ich werde diese beiden Varianten,
die Grundresolution und dann die Resolventenbildung mit Unifikationen vorstellen und auch versuchen,
deutlich zu machen,
was die Gemeinsamkeiten und Unterschiede dieser beiden Ansätze sind
Ja. Also ich denke, es wäre ganz gut,
wenn jemand hinten die Türen zumachen würde,
weil es irgendwie im Forum relativ laut ist im Moment.
Dankeschön. Ja,
gucken wir uns nochmal so ein einfachstes aller möglichen Beispiele an,
in Bezug auf den Fall,
wo gehen wir eigentlich mit der Prädikatenlogik über Aussagenlogik hinaus
und wieso brauchen wir was Neues und können das alte Verfahren
nicht einfach so übernehmen
Nehmen wir an, wir haben so einen einfachen, allquantifizierten Satz, wie alles,
was auf Deutsch erschienen ist, ist auch auf Englisch erschienen.
Wir haben die Information, Harry Potter 7 ist auf Deutsch erschienen,
zusätzlich und wollen jetzt fragen, gilt dann auch,
dass Harry Potter 7 auf Englisch erschienen ist?
Also wir wollen wissen,
folgt aus Harry Potter 7 ist auf Deutsch erschienen und alles,
was auf Deutsch erschienen ist oder alles,
was auf Deutsch erschienen ist,
ist auch auf Englisch erschienen,
folgt daraus Harry Potter 7 ist auf Englisch erschienen
Und es sollte klar sein, dass es gewünscht ist,
dass wir zu dem Resultat kommen,
es folgt tatsächlich sozusagen semantisch gesehen, folgt es.
Und jetzt wollen wir ein Verfahren haben, dass eben dieses auch
tatsächlich ausrechnen kann. Und zwar auf der Basis der Resolution
. Auf der Basis der Resolution heißt zunächst mal,
wir wollen etwas in die Formen, die wir haben,
in Klausel-Normalform bringen und damit dann arbeiten.
Deshalb hier ist die Implikation ersetzt durch Negation und Disjunktion
Ja, und wenn wir dann die Folgerung bestimmen wollen,
dann müssen wir prüfen, ob das,
woraus wir folgern, gemeinsam mit der Negation dessen,
was wir folgern wollen, inkonsistent ist.
Ja, wenn es nicht sein kann,
das Harry Potter 7 auf Deutsch erschienen ist und alles,
was auf Deutsch erschienen ist,
auf Englisch erschienen ist und es nicht auch Harry Potter 7 auf Englisch erschienen ist,
dann folgt Harry Potter 7,
ist auf Englisch erschienen aus dem Rest
Gut, die Resolution sagt nun, dass man,
wenn man so eine Klausel hat, wie diese hier,
Kariporter 7,
ist nicht auf Deutsch erschienen oder es ist auf Englisch erschienen
und man hat eine zweite Klausel wie diese Harry Potter 7,
ist auf Deutsch erschienen, dann können wir hier die komplementieren,
Literale der beiden Klauseln streichen und den Restdistionktiv verknüpfen.
Naja, und dieses ist so eine Einerklausel,
da bleibt nichts über und bei der anderen bleibt eben
Harry Potter 7 ist auf Englisch erschienen
Wir haben sie ja schon stehen und sozusagen formal können wir
es dann hinterher auch noch resolvieren mit dieser einer Klausel.
Und so die Frage ist dann, naja,
wie kommen wir von diesem Allsatz, den wir hier oben haben,
eigentlich zu dieser Instanz, die wir tatsächlich verarbeiten können?
Und ja, das ist sozusagen, da gibt es zwei Wege,
das zu tun und das sind eben die beiden Wege,
wo sich die Verfahren unterscheiden.
Das Grundresolutionsverfahren sagt, ja, wir können ja,
also wenn wir einen Allsatz haben und wir setzen irgendeinen Therm
ein für die Variable in dem Therm,
dann bekommen wir eine Instanz der Aussage, die auch wahr ist.
Also, wenn ich weiß, alles, was auf Deutsch erschienen ist,
ist auch auf Englisch erschienen, dann weiß ich auch,
wenn Harry Potter 7 auf Deutsch erschienen ist,
dann ist es auch auf Englisch erschienen.
Und das heißt, wenn wir so einen Allsatz haben,
dann können wir ja einfach alle Instanzen bilden und mit denen arbeiten.
Ja, das ist die Idee der Grundresolution,
die baut auf sogenannten Grundsubstitutionen auf, also Substitutionen,
die alle Variablen durch irgendwelche Therme ersetzen, welche keine Variablen mehr enthalten.
Und eben das Wichtige und Schöne dabei ist,
wenn wir eine Formel in School in Form haben und wir
eine Grundinstanz bilden davon,
dann folgt diese Grundinstanz auch aus der Formel
Ja, hier wäre es ein Beispiel für so eine Grundsubstitution.
Wir haben hier oben eine Formel mit drei Variablen und dann eine Substitution,
die jede der Variablen durch einen Tern ersetzt,
wobei eben dieses A und B jeweils keine Variablen mehr
sein sollen und wir dann zu einer Formel gelangen,
in der im Endeffekt eben auch keine Variable mehr steht.
Ja, jetzt kann man sich fragen,
ja was heißt denn jetzt alle Therme?
Wie bilden wir die eigentlich? Was ist das Material,
aus dem wir
diese Therme bilden können
Und nun, da wir davon ausgehen können, dass wir das,
was wir bearbeiten, immer zusammenfügen können in eine Formel,
also notfalls durch Konduktion der Formeln,
gehen wir hier einfach davon aus, wir haben eine Formel gegeben,
die sei ins Golem-Form und eben auch ohne freie Variablen.
Und jetzt kann man sich fragen, welche Instanzen interessieren uns,
wenn wir sozusagen eine Formel gegeben haben,
Und letztlich sind das all die Formeln,
die wir aus den Symbolen aufbauen können, die schon in der Formel vorkommen.
Mit einer kleinen Ausnahme, nämlich in dem Fall,
dass in dieser Formel keine einzige Konstante vorkommt,
in dem Fall muss man eine konstante Extra einfügen.
So, ansonsten sind die Grundtherme zu der Menge,
zu der Formel F, wie folgt definiert,
man nimmt erstmal alle Konstanten, die in der Formel vorkommen,
Wenn es gar keine Konstante gibt, die da drin vorkommt,
dann erfinden wir uns einfach eine.
Ich habe sie hier A genannt,
man darf sie aber nennen, wie man will.
Ja, wir erfinden uns eine. Sollte natürlich
ein Symbol sein, das nicht schon anderweitig gebraucht ist.
Und dann guckt man, welche Funktionssymbole kommen in der Formel
vor. Man nimmt Therme, die man schon hat,
und bildet dann Therme mit dem Funktionssymbol und eben der genügenden Anzahl von Thermen,
also in dem Fall N.
Wenn wir ein endstelliges Funktionssymbol haben,
müssen wir halt auch Entherme nehmen,
um daraus wieder
einen Therm zu bilden
So, was auffallen sollte, ist, dass Variablen hier
keine Rolle mehr spielen. Ja, das ist gerade der Punkt,
wo sich halt die Grundtherme unterscheiden von allgemeinen der Thermendefinition,
wie wir sie in der Prädikatenlogik haben.
Ja, also Grundtherme sind eine Teilmenge der Therme, die wir sonst betrachten.
Ja, und wenn diese Formel, die in Skolem-Form ist,
halt dadurch gebildet wurde, dass man auch Skolem-Funktionen eingeführt hat oder Skolem-Konstanten,
dann treten die natürlich auch in dieser Thermenge auf.
Naja, und wenn man sich jetzt anguckt, naja,
wie viele solche Therme gibt es denn überhaupt,
dann kann man feststellen, okay, wir haben mindestens eine Konstante,
entweder tauchte die schon in F auf oder wir haben eben eine uns erfunden,
Und dann können wir, wenn wir Funktionssymbole haben,
daraus beliebig komplexe Therme bilden.
Ja, also wenn einstelliges Funktionssymbol haben,
dann können wir Beispiels, nennen wir es auch wieder F,
ja, dann können wir, erstmal haben wir A,
dann können wir F und A bilden, F und A,
F und F und F und A und so weiter.
Das heißt, in dem Moment,
wo wir ein Funktionssymbol haben,
können wir gleich
unendlich viele Therme damit definieren
Ja, wir müssen einfach nur eine Anzahl oder eine beliebige Anzahl von Apps
voreinander schreiben und dann zum Schluss mit der Konstante abschließen und natürlich geeignet klammern,
dann haben wir einen Term.
Und die können beliebig groß werden. Ja,
das heißt, man kann letztlich zwei Fälle unterscheiden,
es kommt mindestens ein Funktionssymbol vor,
dann haben wir unendlich viele Therme und wenn gar kein Funktionssymbol vorkommt in der Formel,
sondern nur Konstanten,
ja,
in dem Fall haben wir tatsächlich auch nur
eine endliche Menge von Grundsymbolen
Okay. Jetzt kann man mit diesen Grundthermen eben Instanzen bilden.
Und zwar, wenn ich eine solche geschlossene Formel ins Golem-Form wieder habe.
Das heißt, ich habe vorne in der Reihe von Alquantoren,
wir haben gar keine Existenzquantoren, die haben wir vernichtet gewissermaßen.
Und dann haben wir die sogenannte Matrix,
also eine Formel, in der kein Quantor mehr auftritt,
sondern eben dann nur noch Jungtoren,
die atomaren Formeln verknüpfen
Dann können wir von so einer Formel sogenannte Grundinstanzen bilden,
indem wir einfach die vorkommenden Variablen ersetzen durch unsere Grundterme.
Also die Grundinstanzen sind definiert dadurch, dass ich die Matrix
nehme, hier F-Stern. Und dann sage, okay,
die erste Variable Y1 ersetzt sich durch einen Therm T1,
Y2 durch T2 und so weiter bis YN,
alle Variablen werden ersetzt.
Und zwar benutze ich dafür nur Therme,
die eben aus meiner Menge von Grundterm stammen
Das heißt, die enthalten keine Variablen. Und so kommen wir dann zu einer Menge von Formeln,
die keine Variablen enthalten und gewissermaßen generiert wurden aus diesem Muster,
F-Stern, das ich hatte, dadurch,
dass halt die Freistellen, die durch die Variablen markiert sind,
dann weiter spezifiziert sind durch die Grundtherme.
Hier habe ich ein Beispiel, ja,
so eine Formel ins Golem-Form, drei Quantoren, Altquanturen vorneweg.
Und dann PX, F und Y, G,
Z,
X beispielsweise
Die Matrix ist eben genau das, was ich vorgelesen habe,
P von X, F und Y, G von ZX.
Und da kann ich jetzt anfangen, Instanzen zu bilden.
Zum Beispiel kann ich sagen, ich ersetze jetzt mal,
ach so, ja, wenn man sich überlegt,
ja, was sind das eigentlich jetzt für Grundtherme,
die wir auf diesem Material aufbauen können,
dann stellen wir fest, wir haben keine Konstante.
Also nutzen wir eben eine erfundene, wie das A,
Und dann können wir mit dem einstelligen Funktionssymbol oder mit dem zweistelligen Funktionssymbol damit Therme generieren.
Ja, das heißt, ich kann dann bilden,
F&A, F&A, F&A, F&A oder G von A-A,
G von F&A-A und so weiter.
Ja, alles, was man sich da vorstellen kann.
So, und hier eben die möglichen Instanzen,
die man dann darauf aufbauend, definieren kann.
Wir können also die drei Variablen alle durch A ersetzen.
Oder wir entscheiden uns X durch F&A zu ersetzen,
die anderen beiden, aber durch Art
zu ersetzen
Oder entsprechend mit Y, das ersetzen wir durch F&A,
die anderen beiden, durch Y, durch F&A,
die anderen beiden durch A oder hier Z wird eucher F&A ersetzt und die anderen durch A. Ja,
und jetzt kann man sich leicht vorstellen,
wie mühsam es wird, zu versuchen,
hier alle möglichen Instanzen aufzuschreiben und es ist natürlich wieder ein Unternehmen,
das nie zum Ende kommt,
denn wenn wir schon unendlich viele, unendlich viele Therme haben,
Dann kriegen wir natürlich auch entsprechend unendlich viele Instanzen,
die wir bilden können.
Gut. Diese Menge E von F,
das sind jetzt die Menge aller Instanzen, aller Grundinstanzen,
die wir bilden können,
wird auch als Expansion oder Herbandexpansion bezeichnet,
auf Herbandtheorie gehe ich jetzt nicht weiter ein.
Ich wollte nur nochmal den Namen hier nennen,
weil es an der einen oder anderen Stelle auch nochmal aufkommen
könnte.
Wir werden hier nicht im Detail einsteigen
Ja. Also, wir expandieren unsere ursprüngliche eine Formel und erhalten
eine unendliche Menge von Formeln. Und das sind die Grundinstanzen
für die Formel. Das Schöne an diesen Formeln ist aber,
dass die wieder, jede für sich sehr einfach sind,
weil eben gar kein Quantum mehr auftaucht. Ja,
sie sind geschlossen, sie sind quantorenfrei und das bedeutet,
dass man diese Formeln,
die wir hier gewinnen durch die Expansion,
eigentlich behandeln kann,
als wären sie Aussage
logischen Formeln
Ja, der Quantor ist weg. Der Quantor war ja
das, was wir neu hinzugebracht haben.
Der Unterschied jetzt von diesen Formeln zu den Aussage logischen Formeln,
wie wir sie am Anfang eingeführt hatten, ist jetzt nur noch,
dass die ja so eine interne Struktur aufweisen mit Prädikat und Argumenten.
Aber das stellt sich halt heraus, ist kein wesentlicher Unterschied.
Wir können letztendlich diese atomaren Formeln, soweit sie eben keine Variablen enthalten,
auffassen, als wären es Aussage, logische Formeln,
deren interne Struktur nicht mehr weiter relevant ist.
Also, wenn man sich anguckt, Prädikatenlogik ohne Variablen und Quantoren,
was bleibt dann sozusagen noch übrig, dann ist der wesentliche Unterschied eben,
dass wir die atomaren Formeln als zusammengesetzte Formeln haben.
Während in der Aussagenlogik, da hatten wir immer so was geschrieben,
wie A1A2 oder ABC oder so, Und bei den Aussage logischen Variabel,
Aussage logischen Symbolen, da war es immer nur wichtig,
sind sie eigentlich gleich oder sind sie verschieden?
Ja, also wenn wir beispielsweise gucken wollen,
sind zwei literale Komplementär, dann gucken wir nach, ja,
kommt da dasselbe Aussagensymbol vor und ist das eine negiert oder nicht.
Worin der Unterschied besteht, wenn sie verschieden sind,
ist völlig egal
So. Und entsprechendes gilt nun auch, wenn wir in der Prädikatenlogik,
geschlossene Formeln ohne Variablen und ohne Quantoren haben. Ja,
wenn wir uns von so einer Formel die Frage stellen,
ist sie erfüllbar oder nicht,
dann ist auch an der Stelle das einzig Entscheidende bei den Teilausdrücken,
sind sie gleich oder verschieden?
Also beispielsweise hier TVNA und Q von A,
das sind verschiedene Formeln und letztendlich für die Bestimmung der Erfüllbarkeit ist das ausschlaggebend.
Worin der Unterschied besteht. Also ob er daran besteht,
dass wir verschiedene Prädikatensymbole haben oder ob er darin besteht,
dass wir eine verschiedene Stelligkeit haben oder verschiedene Therme eingebaut haben oder so.
Das wird letztendlich nicht wichtig sein. Gut,
und aus diesem Grund kann man eben solche Formeln,
wie wir sie hier bekommen,
in der Expansion dieser Prädikaten logischen Formel dann genauso behandeln
wie Aussagen
logische Formeln
Ja, und das ist jetzt sozusagen ein wesentliches Ergebnis in Bezug auf die Verbindung zwischen Prädikaten,
Logik und Aussagen, Logik, nämlich, dass man festgestellt hat,
dass wenn wir eine Formel in School in Form haben,
eine Prädikaten, logische Formel in School in Form,
dann gilt, diese Formel ist genau dann erfüllbar,
wenn diese Expansion der Formel erfüllbar ist.
Ja, also nochmal zurück hier, ja,
wir haben eine Formel, Zu der können wir eine Expansion bilden,
die Expansion ist, er enthält nur Formeln,
die alle strukturell einfacher sind, weil sie keine Quantoren enthalten.
Dafür können es unendlich viele sein und man stellt,
kann feststellen, diese beiden Repräsentationen sind semantisch gleichwertig.
Ja, es können nicht sein,
dass in dieser Allquantifizierten Formel noch ein Inhalt irgendwie kodiert ist,
der nicht mit in die zweite Kodierung rübergekommen wäre
So, das heißt, letztlich, dass wenn wir uns dafür interessieren,
ob eine Prädikaten logische Formel erfüllbar ist, dann können wir das Problem grundsätzlich lösen,
indem wir diese Expansion bilden und dann testen,
ob diese resultierende Aussagen logische Formelmenge erfüllbar ist. Gut,
jetzt kann man sagen, ja, das ist alles unschön,
wenn das doch eine unendliche Menge von Formen sein kann,
Und das ist der Punkt, an dem wir feststellen können,
ja, aber wir hatten ja schon uns früher mal mit dieser Frage auseinandergesetzt,
was ist denn eigentlich,
wenn wir eine unendliche Menge von Formeln haben in der Aussagenlogik,
ja, wie sieht es da mit der Erfüllbarkeit aus?
Und es gibt eben dieses Ergebnis, dass eine Formel,
also der Endlichkeitssatz der Aussagenlogik, der sagt,
wenn eine Menge M von Aussagen logischen Formeln erfüllbar ist,
genau dann ist jede endliche Teilmenge von M erfüllbar
Ja, und daraus können wir jetzt kriegen, okay,
wenn wir eine geschlossene Formel in School in Form haben,
dann ist F genau dann erfüllbar, unerfüllbar,
wenn es eine endliche Teilmenge, diese Expansion gibt,
die auch unerfüllbar ist.
Ja, insgesamt sieht es also erstmal so aus,
als hätten wir mit der Prädikatenlogik gar keine neuen Probleme gegenüber der Aussagenlogik,
weil wir ja die Probleme gewissermaßen in Aussagenlogik übersetzen können.
Aber das Ganze hat natürlich einen gewissen Haken, dahingehend,
dass ja, die unendliche Menge EF natürlich auch unendlich viele
Teilmengen hat und dementsprechend die Suche nach so einer unerfüllbaren Teilmenge sowas wie,
ja, Suche der Stecknadel im Heuhaufen sein kann.
Gut, aber für das Verfahren kann man zunächst mal feststellen,
zum grundsätzlichen Potenzial des Verfahrens der Grundresolution
Dass wir sozusagen eine gewisse Hoffnung haben können,
dass man mit diesem Verfahren tatsächlich die Probleme lösen kann.
Nämlich Erfüllbarkeit von Formeln bestimmen kann. In der Grundresolution ist die Idee,
wir bilden aus unserer klausenden Menge die Grundrundinstanzen und führen anschließend
die Prädikatenlogik, die Aussagen logische Resolution durch.
Also in diesem Fall haben wir so eine Ja,
maximal einfache Formeln mit zwei Quanturen, ja, für alle X,
für alle Y. X ist nicht P oder Y ist Q.
Und außerdem A ist P und B ist Lichtkuh. Ja,
wir haben in dieser Formel zwei Konstanten und weil wir kein Funktionssymbol haben,
haben wir auch tatsächlich nur endlich viele Therme in,
oder Grundtherme, die wir betrachten müssen.
Und letztendlich kommen wir auch nur auf vier Instanzen,
ja, zwei Variablen, die jeweils zwei Werte annehmen können.
Und so kommen wir zu vier Grundinstanzen
Ja, und wenn man sich die dann anguckt,
was man da mit Resolution anrichten kann, dann stellen wir fest,
tatsächlich eine dieser Instanzen schon für sich allein betrachtet erlaubt ist,
durch Resolution die leere Klausel abzuleiten.
Also ist die ursprüngliche Formel, die wir benutzt haben,
auch eine, die unerfüllbar ist. Und durch diese Instanz F2,
die wir gebildet haben, können wir das dann auch tatsächlich nachweisen.
Hier haben wir nicht PEA und QB und auf der anderen Seite nicht QB,
das können wir resolvieren, erhalten,
nicht PA übrig und dann im nächsten Schritt können wir das gegen PVA resolvieren und kommen zur leeren Klausel.
Man hätte auch jetzt Material aus mehreren dieser Formeln kombinieren können,
aber das haben wir hier einfach nicht gebraucht. Okay,
und der Grundresolutionsalgorithmus könnte jetzt wie folgt aussehen,
wir haben also eine geschlossene Formel ins Golem-Form mit einer Matrix F-Stern
und dann kann man dazu ja die Diese Expansion bildend,
alle Grundinstanzen der Formel.
Und man kann die auch sozusagen in eine Ordnung bringen,
sozusagen sie einfach durchnummerieren.
Entsprechend den natürlichen Zahlen, auch wenn es unendlich viele sind.
Es sind nicht mehr als natürliche Zahlen. Ja,
also wir können sie in so eine Reihe setzen.
Und dann kann man den Durchlauf machen durch das Verfahren,
indem man eine Menge hat,
in die halt die gerade betrachteten Grundinstanzen,
in der
die gespeichert werden
Und in jedem Schritt die nächste Formel mit rein nimmt und
dann Aussagen, logische Resolution durchführt, guckt,
ob man dadurch die leere Klausel erreicht.
Und wenn nein, dann muss man halt zurück in die Schleife,
sich die nächste Grundinstanz greifen, wieder Resolution machen und so weiter.
Bis man dann doch die leere Klausel erreicht. Und wenn das,
was wir reingesteckt haben, die Formel unerfüllbar ist,
dann kann man sich auch sicher sein,
dass man irgendwann dazu kommt,
dass das Verfahren abbricht,
weil es die leere Klausel gefunden hat
Das Problem ist nur, wenn man hier was reingesteckt hat,
was tatsächlich erfüllbar ist,
dann werden wir ja diese Schleife in die abbrechen können,
weil wir nie die leere Klausel abgeleitet haben.
Und unsere Eingabe hier, die ist ja unendlich.
Wir finden immer neues Material, was wir mit einbeziehen können.
In jedem Schritt haben wir irgendwas Neues dabei und wir können
dann eben auch nicht abbrechen, weil wir sagen,
so, jetzt gibt es nichts mehr zu tun
Ja, und das Dumme ist halt,
dass es sich nur lohnt, dieses Verfahren anzuwenden,
wenn wir nicht wissen, ob F nun erfüllbar ist oder nicht.
Ja, wenn wir es schon wissen, wofür sollen wir
dieses Verfahren durchführen? Aber was es uns nur garantieren kann,
ist zu sagen, ja, wenn die Formel unerfüllbar ist,
dann werde ich es dir nach endlicher Zeit sagen.
Endlich kann aber auch
sehr lange dauern
Okay, also wenn wir eine Formel reingeben,
dann stoppt dieses Verfahren genau dann nach endlich vielen Schritten mit
der Ausgabe unerfüllbar, wenn es tatsächlich unerfüllbar ist.
Ja, aber dieser Satz sagt eben uns nichts drüber aus,
was passiert, wenn wir in eine erfüllbare Formel reinstecken und das aus guten Gründen.
So, das Schema der Grundresolution ist dieses,
wir haben ursprünglich Klauseln und die enthalten irgendwie Variablen und die Idee
der Grundresolution ist, wir vernichten jetzt erstmal die Variablen,
in denen wir Grundinstanzen bilden
Und dann resolvieren wir. Aber diese Bildung der Grundinstanzen,
die ist jetzt gewissermaßen maximal blind. Die fragt überhaupt nicht danach,
macht es Sinn, diese eine Instanz oder die andere Instanz zu bilden?
Und da ist unendlich viele Grundinstanzen geben kann,
haben wir hier dann eben unendlich viele Formeln,
die wir verarbeiten müssen. Und das Hauptproblem ist eben,
dass wir irgendwie Steuerungsmechanismus vielleicht brauchen, der uns sagt,
wie wir geeignete Grundinstanzen bilden und welche versuche vielleicht von vornherein nutzlos sind.
So, und insbesondere wäre für ein Präsidenten logisches Resolutionsverfahren,
es wünschenswert, wenn wir reservieren könnten, so,
dass wenn wir ja ein Klauselpaar resolvieren,
dass wir dann nicht gleich unendlich viele Resultate bekommen,
sondern möglichst nur endlich viele.
Eins wäre gut, aber wenn es irgendwie eine Handvoll ist,
ist es auch okay
Wichtig ist eigentlich, wäre eigentlich nur zu sagen, wir kriegen endlich viele Resolventen.
Und dann brauchen wir dieses Paar hinterher nie wieder zu betrachten.
So, und das ist halt die Idee, bei der
die Unifikation ins Spiel kommt. Und das allgemeine Resolutionsverfahren,
das sagt,
wir wollen nicht eben als erstes blind alle Grundinstanzen bilden und dann erst resolvieren,
sondern wir wollen diese beiden Vorgänge miteinander verknüpfen,
um eben auch die Instanzenbildung geeignet zu steuern durch das Resolutionsprinzip
Ja, man kann es auch anders formulieren, ja,
wenn wir gucken, wie in der Aussagen-Logik resolviert wird,
dann ist es ja da immer wesentlich,
dass man so komplementäre Literale hat, ja,
sowas wie P und Nicht-P beispielsweise.
Und dann kann man sich natürlich fragen, ja,
kann man den Begriff komplementiere vielleicht geeignet verallgemeinern für die Prädikaten-Logik
Also in einem gewissen Sinne ist ja P von A
und nicht P von X ist ja auch widersprüchlich.
Jedenfalls, wenn das XI quantifiziert, zu interpretieren ist.
Kann man das vielleicht nutzen? Das ist halt dann
die Idee der Resolution mit Unifikation. Also wenn wir jetzt
mal so ein Beispiel nehmen, wir haben zwei Klauseln,
P von X und nicht QG von X.
Auf der einen Seite als Klausel und auf der zweiten Seite
einfach die Einleithausel Nicht-P von F von
Und die Variablen sind hier ja implizit allquantifiziert zu verstehen.
Dann kann man sagen, okay, dann kann man ja
ausgehend von dieser ersten Klausel beispielsweise eine Instanz bilden,
wo man das X durch F und Y ersetzt.
Und dann erhalten wir diese Klausel P von F und Y,
Nicht-Kuh von G, von F und Y.
Und hier sehen wir tatsächlich wieder in den beiden Klauseln komplementäre Literale.
Das sind jetzt welche, die auch noch Variablen enthalten,
aber sie sind trotzdem
buchstäblich identisch
Ja,
und dann kann man auch hier sozusagen die Resolution durchführen und erhält dann nicht Kuh von G von F und Y. Und wenn man das jetzt vergleicht,
dieses Resultat, was wir erhalten haben, mit der Formel,
aus der das eben herauskommt, dann sieht man,
dass die sozusagen stärker angereichert ist,
da wo vorher X stand,
steht jetzt hier auch F und Y. Aber im Gegensatz zu
den Grundinstanzen haben wir hier eben noch eine gewisse Offenheit,
weil das Y
nicht weiter spezifiziert ist
Und das können wir eben erreichen, insgesamt dadurch,
dass wir durch Unifikation eben solche Varianten oder Instanzen bilden können,
von den Klauseln, die zusammenpassen mit anderen Literalen,
die in anderen Klauseln vorkommen.
Gut, Unifikation haben wir ja in der letzten Sitzung schon besprochen. Unifikation bedeutet,
dass man Substitutionen findet, die Dies erlauben, Formeln,
verschiedene Formen auf dieselbe Formel abzubilden, indem man eben strukturelle Gemeinsamkeiten findet.
Also wenn man beispielsweise die Formel P von X und die Formel P von F und Y hat,
und wenn man dann das X durch F und Y ersetzt,
dann hält man als Resultat dieser Substitution eben nur noch eine Formel,
weil beide Formeln,
die man ursprünglich hatte,
auf dieselbe Formel
Müll abgebildet werden
Und diese Technik kann man jetzt eben auch in der Resolution einsetzen.
Ach so, hier nochmal, der Unifikationsalgorithmus, der halt bestätigt,
dass jede endliche Unifizierbare Menge auch einen allgemeinsten Unifikator besitzt.
Das heißt, sozusagen Eigenunifikator,
der so unspezifisch
wie möglich ist
Also, Prädikaten, logische Resolution, bezieht die Unifikation mit ein
und bildet dann Resolventen auf der Basis von solchen Unifikationen.
Und ja, das funktioniert deshalb auch gut, weil die Unifizierbare,
Literalmengen sind leicht bestimmbar und die Unifikatoren sind auch leicht zu berechnen.
Und Unifikatoren sind bis auf Variablenbenennung
auch eindeutig bestimmt
Gut, und als Resultat kann man feststellen,
wenn wir Resolution basieren auf Unifikation und nicht auf Grundsubstitution.
Und wir haben als Eingabe endliche Klauselmengen, dann können wir
auch nur endlich viele Resolventen bilden. Ja, also,
wenn man sich dieses Beispiel hier oben anguckt mit den beiden Klauseln,
wenn wir jetzt über Grundresolution reden würden,
dann würde jede dieser Klausel gleich unendlich viele Instanzen generieren.
Und da könnten wir dann immer paarweise gucken,
ob wir resolvieren können
Während in Bezug auf die Prädikaten logische Resolution können wir ein Unifikator bestimmen,
wie dieses X wird ersetzt durch F und Y. Und danach,
oder dieser Unifikator ist zunächst mal eindeutig bestimmt,
wenn ich sage,
also P von X und P von F und Y will ich unifizieren.
Und dann ist auch die Resolvente,
die wir da rauskriegen, eindeutig bestimmt.
Und wir müssen uns nicht mit unendlich vielen Instanzen
gleich rumschlagen
Ja, da haben wir ja schon mal einiges gewonnen.
Hier jetzt sozusagen die allgemeine Resolutionsregel, wie sie aussieht,
dann für die Prädikaten logische Resolution.
Der Ausgangspunkt sind zwei Prädikaten, logische Klausel in Mengendarstellung.
K1 und K2. Zunächst mal dürfen wir die Variablen,
die in diesen beiden Klauseln vorkommen,
so umbenennen, dass wir keine gemeinsam genutzten Variablen mehr haben
Ja, es könnte ja sein, dass in K1 und
in K2, die benutzen beide X aus irgendeinem Grund.
Ja, das könnte im Weiteren störend sein. Und um solche Störungen gleich wegzumachen,
können wir hier zunächst mal, wenn wir wollen, eine Umbenennung vornehmen.
So, Sigma 1 und Sigma 2 dienen einfach dafür,
diese Klauseln schön sauber voneinander zu trennen, was ihre Wautpejablen angeht. So,
und jetzt gucken wir uns erstmal sozusagen den Fall an,
M gleich 1. Also wir haben ein Literal in dieser neuen Klausel der Menge K1,
Sigma 1 und L1 Strich in K2,
Sigma 2. Sodass wir,
wenn wir bei dem einen das Kompliment bilden,
also beispielsweise hier bei dem ersten L1 und dann das andere so nehmen,
dass wir die unifizieren können durch einen allgemeinsten Unifikator-Sigma.
Dann dürfen wir folgende resolvente bilden. Wir nehmen aus dem K1 Sigma 1 Das L1 raus,
aus dem K2 Sigma 2, nehmen wir L1 Strich raus,
vereinigen das, was wir da rausbekommen und wenden dann auch wieder diesen Unifikator darauf an.
Ja, man kann es auch andersrum machen,
man wendet erstmal diesen Unifikator auf alles an,
was wir da haben und schmeißt dann eben das raus,
was wir bekommen, wenn wir in L1 auf L1 diese Unifikator anwenden,
aus dem,
was wir bei K1 Sigma 1 Sigma rausbekommen und entsprechend bei
dem zweiten
So, das, wenn man nur einen literal jeweils betrachtet,
entspricht das dem, was wir auch in der Aussagen logischen Resolution haben.
Abgesehen davon, dass wir eben noch gucken müssen,
was ist der Unifikator. Ja, aber dieser Schritt hier unten,
wir nehmen aus den Klauselmengen jeweils komplementäre Literale raus und vereinigen den Rest,
das ist ja auch das,
was wir bei der Aussagen logischen Resolution im Grunde haben.
Und jetzt kommt noch so ein bisschen die Komplikation eben mit
den Substitutionen dazu
So, der andere Punkt,
warum das alles ein bisschen komplizierter aussieht, ist,
dass ja durch solche Unifikatoren gewünscht oder zufällig es passieren kann,
dass auch in den originalen Klauselmengen plötzlich literale zusammenfallen.
Weil plötzlich die Substitutionen, auch diese unifiziert.
Ja, und das kann durchaus ein gewünschter Effekt sein.
Dass man in so einer Klauselmenge mehrere Literale hat,
die man
gleichzeitig loswerden will
Und daher haben wir hier noch diese, ja,
generellere Variante stehen, dass es mehrere Literale sein können, die verschwinden.
Das mache ich jetzt mal am besten am Beispiel.
Wir haben hier zwei Klauseln. K1, K2,
K1 ist PF von X, nicht QZ, PVZ.
Und K2 ist nicht PV&X, R von GX und A. So,
wenn wir uns jetzt fragen, was können wir hier Prädikaten logisch resolvieren?
Ist der erste Schritt, den man entscheiden muss,
zu sagen, naja,
was sind eigentlich jetzt hier meine Kandidaten von Literalen,
die ich
gegeneinander resolvieren möchte
Okay. Und naja, es dürfte relativ klar sein,
dass man mit dem R beziehungsweise nicht Kuh
hier nicht viel anfangen kann in der Resolution,
weil es da ja gar kein potenzielles Gegenstück gibt.
Die Unifikation kann ja nicht die Prädikatensymbole austauschen.
Aber wir haben hier mal ein negiertes P und hier zwei
unegierte Ps. Das sind erstmal gute Kandidaten für solche Resolutionen
Ja. Und diese erste, diese erste Variante sagt jetzt,
okay, versuchen wir doch mal gleich alle Ps auf einmal loszuwerden.
Ja, wir wählen uns also diese drei literale aus für die Resolution.
In dem einen tauchen sie beide positiv auf.
Hier taucht das eine negativ auf. So,
der erste Schritt, wie gesagt, ist,
wir lösen hier den potenziellen Konflikt, der dadurch kommt,
dass die Variable X in beiden Klauseln verwendet wird
Das könnte störend sein und weil wir uns nicht stören lassen wollen,
benennen wir die einfach hier um und sagen,
jetzt hier X ersetzen wir durch U.
Dann haben wir da irgendwie kein Problem mehr. So. Und
im nächsten Schritt versuchen wir jetzt dieses PF und X,
PZ und PU miteinander zu unifizieren. Ja,
wenn man sich erinnert, hier in der Vorschrift stand,
dass man bei der Unifikation die Literale,
der einen von der einen Seite eben einmal legieren sollte,
damit das hinterher auch passt.
Weil natürlich die Originale nicht miteinander unifizieren würden, weil hier ja noch die Negation steht.
Also vor der Unifikation geeignet anpassen, was eben diese Negation angeht.
So, und jetzt kann man feststellen,
wenn man dieses Z immer durch F&X ersetzt und das U auch immer durch Ephonics ersetzt,
dann kommen wir tatsächlich dazu,
dass diese drei schon mal an Aussagen miteinander unifizieren.
Hier hatten wir P, F und X, das bleibt, wie es ist.
Das wird ja nicht angefasst durch diese Substitution. PVNZ,
das ersetzen wir Z auch durch F und X und sehen,
aha, diese beiden verschmelzen miteinander. Und auf der anderen Seite,
das U wird ersetzt auch durch F und X und zwar an beiden Stellen, wo es vorkommt.
Und hier natürlich auf der linken Seite wird auch das Z
durch F und X ersetzt. Und nachdem wir diese Instanzen gebildet haben,
Können wir jetzt resolvieren und erhalten eben die beiden Aussagen,
die mit dem Kuh und R gebildet sind, über,
während alle, die mit P gebildet waren,
in diesem Fall verschwinden können?
Ja, also das ist sozusagen der allgemeinste Fall da,
wo nicht nur eine gegen eine atomare Formel oder
nicht nur zwei Literale gegeneinander gelöscht werden,
sondern tatsächlich durch Unifikation unterwegs auch noch so eine Verschmelzung stattfindet
Und wenn wir uns hier oben entschieden haben,
welche literale wir als Kandidaten sehen für die Resolution,
dann ist es tatsächlich so, entweder es klappt sowieso nicht.
Und wenn es klappt,
dann ist das Resultat auch wieder eindeutig, abgesehen davon,
dass hier die Variablen Benennung nicht eindeutig ist.
Also es hätte, man hätte hier auch mit Y
rauskommen können oder so. Je nachdem, wie man
hier unterwegs die Substitution definiert hätte
So, wenn man jetzt aber zum Beispiel bei
derselben Menge von Klauseln sich entscheidet und sagt,
ich will jetzt gar nicht alle Ps loswerden,
sondern bei K1 will ich nur dieses PZ verwenden.
Und eben bei K2 entsprechend das Nicht-P-X, dann kann man das auch machen.
Ja, hier zunächst mal wird wieder umbenannt,
damit diese doppelte X auf gar keinen Fall stört.
Dann wird P von Z und P von Urunifiziert und
dabei kommt Braus, Uwe durch Z ersetzt.
Hätte natürlich auch genau andersrum sein können
Und wenn dann resolviert wird, dann erhalten wir dieses Ergebnis P von F&X.
Nicht Kuh von Z, R von GVZ und A.
Hier haben wir jetzt noch drei Literale über.
Und das liegt halt daran, dass wir dieses F&X
gar nicht mit in die Resolution einbezogen haben.
Man hätte natürlich auch die andere Wahl treffen können hier bei K1 und sagen können,
ich will auf jeden Fall P von X loswerden.
Was mit dem anderen ist,
gucken wir nochmal
Und auch da kann man erstmal den Schritt machen, Variablen auseinanderziehen.
Dann die Unifikation und dann die Resolution. Und dann kriegen
wir wieder ein anderes Ergebnis. Hier nochmal alle zusammen,
alle Ergebnisse. Ja, das war der erste Schritt,
wo wir beide Aussagen mit P vernichtet haben.
Hier die beiden, wo wir jeweils nur eins vernichtet haben.
Und wir sehen, wir kriegen drei verschiedene Ergebnisse.
Und welches das Nützlichste davon ist, Kann man nicht voraussagen, so ad hoc.
Ja, es könnte sein, dass je nachdem,
welche anderen Klauseln jetzt noch zur Resolution zur Verfügung stehen,
könnt ihr jede Variante von diesen dreien die Beste sein,
mit der man weiterarbeiten kann.
Ja, also das kann man nicht so rundeweit was voraussehen,
aber tatsächlich ist es hier so,
wir haben zwar drei mögliche Resolventen aus den beiden Klauseln,
die wir benutzt haben, aber das sind jetzt alle Resolventen,
die wir bilden können, über diesen Weg der Unifikation.
Und wir kriegen halt nicht unendlich viele Möglichkeiten raus.
Im Weiteren werde ich auch diese Kurzdarstellung verwenden, nochmal zurück zu dieser Folie.
Hier hatten wir ja diese beiden Schritte auseinandergezogen,
erstmal zu sagen, wir wollen die Variablen so benennen,
dass wir keine Doppelverwendung von Variablen haben.
Und dann machen wir die eigentliche Unifikation Und das kann man
auch dann kompakter so schreiben, wie es hier dargestellt wird.
Ja, also auf der rechten Seite ersetzt sich X durch F und X,
auf der linken Seite ersetzt sich Z durch F und X und dieses ist dann das Resolutionsergebnis. Wenn man die explizite Darstellung nimmt,
hier, dann sieht man,
dass der Punkt X wird insgesamt auf diesem Weg durch F und X ersetzt,
unkritisch ist, ja,
weil ja zwischendurch eigentlich das X einmal durch Uhr ersetzt wurde und dann erst durch F und X,
Hier könnte es jemanden stören, zu sagen,
das war doch verboten bei der Unifikation, ja,
bei Unifikation ist das verboten, aber das,
was wir hier abkürzen, ist halt, sozusagen, sind zwei Schritte auf einmal und da darf es dann auch mal vorkommen, dass man eine Variable ersetzt.
Substitutionen grundsätzlich lassen das zu, dass man eine Variable ersetzt durch einen Term,
der diese Variable enthält, nur halt die Unifikation sollte es nicht.
Okay. Also, Ja, der wesentliche Punkt ist,
dass abgesehen davon, dass wir bei den Variablen halt den Freiraum haben,
dass wir die immer nennen können, wie wir wollen,
solange wir eine einheitliche Ersetzung machen, innerhalb einer Klausel,
können wir in diesem Beispiel insgesamt eben drei Prädikaten logische Resolventen bilden.
Und insgesamt gilt halt, wenn wir zwei Prädikaten,
logische Klauseln, Innenmengendarstellung haben,
und wir wollen jetzt alle Prädikaten logischen Resolventen bilden,
dann kommen wir immer nur zu endlich vielen Resolventen
Und ja, wie viele es sind, hängt eben davon ab,
wie viele, wie viele Literale in den einzelnen Klauseln vorkommen,
die grundsätzlich miteinander unifiziert werden können.
So, also endlich vielen ist eben schon mal angenehmer als unendlich viel. Ach so,
und hier habe ich nochmal so ein allgemeineres Beispiel für die Resolution,
dass natürlich, ja,
es geht nicht immer nur um einen Schritt,
sondern es geht auch hier darum,
dass man eventuell aus einer komplexeren Menge von Klauseln dann irgendwie auf die leere Klausel kommen will mit Resolution.
Und hier einfach mal so ein komplexeres Beispiel. Hier vorne
habe ich beispielsweise eine rein negative Klausel mit Nicht-Tee von V
und nicht Q von V. Gleich daneben steht dann Tee von G von W.
Und wenn ich jetzt das V ersetze, durchgehe von W,
Dann kann ich eben diese T-Formeln gegeneinander reservieren und erhalte dann Nicht-Kuh von GVW als Resolutionsergebnis.
Ja, und in diesem Fall ist es tatsächlich so,
wir können nur eine Resolvente bilden, abgesehen von eben Variablen Umbenennung.
Hier auf der anderen Seite entsprechend,
wir haben zwei Klauseln mit jeweils zwei Literalen und jeweils hier einmal TV&Z,
Nicht-TV&Y, die können anders bilden zur Resolution,
wobei ich dann eben zum Beispiel das Y durch Z ersetze,
und dann entsprechend dieser Resolvente erhalte.
Wenn ich diese wieder benutze, diese gebildete Klausel,
dann stelle ich da fest, es gibt eine Übereinstimmung mit der Klausel,
Nicht-P von U, Q von US-FU dahingehend,
dass dieses F&U zusammenpassen könnte mit Nicht-Ess von Z und dann kann man das entsprechend wieder hier substituieren,
Z durch F&U und dann Die Resolvente bilden,
es bleibt übrig,
Nicht-B von UQ von U.
Und ja, nicht eher von G. X. Ja, und
dann F&U, dadurch, dass sich das Z eben auch durch R von U ersetzte.
Ja, und das kann man eben lustig weitermachen.
Hier habe ich wieder eine Klausel, die eben partiell übereinstimmt.
Und in diesem Schritt sieht man, naja,
hier muss man auf beiden Seiten entsprechende Substitutionen durchführen, Die Übereinstimmung,
die wir brauchen für die Resolution, geeignet, herausarbeiten.
Aber können dann zu einer Klausel kommen,
mit wieder nur zwei Gliedern,
die dann in zwei folgenden Schritten mit einer Klausel resolviert werden können.
Sodass wir hier zur leeren Klausel kommen.
Okay. So, jetzt haben wir zwei Verfahren gesehen.
Grundsubstitution sieht so aus. Wir gehen von unseren Klauselnausbild,
Grundinstanzen und resolvieren die
Kommen, wenn wir Glück haben, irgendwann zur leeren Klausel.
Prädikaten logische Resolution nimmt die Klauseln,
bildet Resolventen über diese Unifikationsgeschichte und diese Resolvente,
die wir haben, die könnte noch Variablen enthalten.
Aber jetzt könnte man natürlich weitere Substitutionen bilden,
mit denen wir dann wieder zu Grundinstanzen kommen,
indem wir dann sozusagen auf die Resolvente
eine Grundsubstitution ausführen
Ja. Und dieses Lifting-Lämmer sagt jetzt, ja,
diese beiden Vorgehensweise sind grundsätzlich sehr ähnlich oder aufeinander abzubilden. Wenn ich,
wenn ich eine Resolvente bilde in der Grundresolution aus Grundinstanzen von den Klauseln,
dann gibt es auch immer eine Möglichkeit, ausgehend von denselben Klauseln,
Eine Resolvente zu bilden, auch in dem Unifikationsverfahren der Resolution.
Und dann eben zu genau der Resolvente zu kommen,
die ich bei der Grundresolution habe,
indem ich dann eben auf das R eine geeignete Substitution anwende.
Gut. Und das heißt,
dass man durch dieses Unifikationsverfahren auch keine möglichen Resolventen
irgendwie übergehen könnte
Ja, also, wenn ich jetzt sage,
ich finde das viel schöner hier mit der Unifikationslösung bei der Resolution,
weil ich ja dann immer nur endlich viele Resolventen bilden muss in jedem Schritt,
dann garantiert dieses Lifting-Lämmer uns dann auch noch zu sagen,
ja, und das ist gut,
denn dabei wirst du auch keine möglichen Ergebnisse übersehen,
sondern alle Ergebnisse,
die du über Grundresolution erhalten kannst,
die kannst du
auch auf diesem Weg bekommen
Also grundsätzlich sind sie gleichmächtig, diese Verfahren. Es kann nicht
sein, dass man insbesondere bei dem Unifikationsansatz irgendetwas übersieht.
Und das ist ja auch ein wichtiges Ergebnis. Gut. Also,
wenn wir jetzt sagen,
wir wollen Resolution grundsätzlich mit Unifikation machen und nicht eben durch die Grundinstanzen,
dann ist es uns wichtig,
dass wenn wir eine unerfüllbare Formel haben und Resolution anwenden,
dass dann gilt, ja, die Formel ist unerfüllbar,
genau dann, wenn die leere Klausel, Resultat der Resolution ist.
Für die Grundresolution hatten wir schon gesehen, dass das gilt.
Und es gilt jetzt auch für dieses andere,
auf Unifikation basierende Resolutionsverfahren
Zunächst mal ist eine Sache wichtig, die Korrektheit sozusagen,
das steht sowieso über allem. Wir wollen ja keine Verfahren machen,
die irgendetwas als unerfüllbar uns identifizieren, was in Wirklichkeit doch erfüllbar ist.
Aber das ist relativ leicht sicherzustellen, denn diese Unifikationsregel,
die wir haben, das ist eben auch wieder eine korrekte Regel,
da ja alle Variablen, die noch auftauchen,
implizit allquantifiziert sind, von denen dürfen wir Instanzen bilden,
kommen dann auch wieder zu folgerbaren Formeln,
Egal, wie wir sie gebildet haben,
ob über Grundinstanzbildung oder über Unifikation.
Und da sozusagen dieser Schritt der Resolventenbildung, ein korrekter Schritt ist,
können wir auch durch Iteration dieses Schrittes nichts kaputt machen.
Der kritische Fall, oder das ist immer schwieriger zu zeigen,
ist die Vollständigkeit, also wenn eine Formel unerfüllbar ist,
dann kann ich das auf jeden Fall mit diesem Verfahren
auch nachweisen
Und an dieser Stelle hilft uns halt, das Lifting-Lämmer auch für
das allgemeine Verfahren. Hier ist das Ganze nur angedeutet,
nicht im Detail ausgeführt, aber sozusagen der wichtige Punkt ist halt,
dass man einerseits die Vollständigkeit hatte für das Grundresolutionsverfahren und jetzt sagen kann,
naja, wenn ich, wenn ich weiß,
es gibt eine Resolution über Grundinstanzen,
die zur leeren Klausel führt,
dann kann ich dieses durch das Lifting-Lämmer übersetzen in Resolution mit Unifikation und werde auch zu einem einer korrekten Ableitung kommen, der leeren Klausel.
Wichtig nur, dass die Message rüberkommt,
tatsächlich gilt dieser Satz der Resolutionssatz,
wenn ich eine Aussage im Klausel-Normalform habe,
und die in Mengendarstellung habe,
dann gilt FS genau dann unerfüllbar,
wenn ich die leere Klausel durch Resolution aus F erzeugen kann,
und zwar implizit hier drin in
endlich vielen Schritten
So, und das sieht jetzt ja so aus,
als seien wir am Ziel. Ich werde da gleich noch sagen,
warum wir trotzdem immer noch Probleme haben mit der Prädikatenlogik.
Aber zunächst nochmal sozusagen den Übersicht über die Resolution.
Wir haben die Aussagen logische Resolution. Wir haben bei
der Prädikaten logischen Resolution zwei Varianten gesehen, die Grundresolution,
die letztendlich so funktioniert, wie die Aussagen logische Resolution.
Nur, dass man vorher eben von seinen Formeln
alle Grundinstanzen hat bilden müssen
Und dann die Prädikaten logischere Resolution mit Unifikation.
So, und für beide gilt widerspruchsvollständigkeit. Das heißt,
wenn das, was ich reintue, einen Widerspruch enthält,
dann kann ich auch grundsätzlich in endlich vielen Schritten nachweisen,
dass das einen Widerspruch enthält.
So, jetzt hatten wir ja bei der Aussagen logischen Resolution auch schon Zwei Varianten kennengelernt,
die P-Resolution und die N-Resolution als Varianten, die auch entsprechend vollständig sind.
Ja, P-Resolution bedeutete, ich passe auf bei jedem Resolutionsschritt,
das eine meiner Eingabeklauseln, rein positiv sein muss.
Und N-Resolution bedeutete, ich passe auf,
dass bei jedem Schritt mindestens eins rein negativ sein muss.
Ja, und das Schöne ist,
dass diese Verfahren auch vollständig sind, das heißt,
Auch wenn ich diese Beschränkung durchführe,
werde ich bei jeder nicht erfüllbaren Formeln auch grundsätzlich die leere Klausel ableiten können.
Und uns helfen diese Restriktionen, das Verfahren zu steuern.
Jetzt gibt es natürlich auch noch andere Möglichkeiten der Steuerung.
Und das waren jetzt ein Abschnitt,
den ich übersprungen hatte oder der sozusagen übrig geblieben war von der Aussagen
logischen Resolution und die ich jetzt eben hier nochmal nachführen möchte,
nämlich zum Thema lineare Resolution Stützmengen,
Resolution und Einheitsresolution
In Bezug auf die Frage, ja,
was darf man an Restriktionen machen, ohne Vollständigkeit zu verlieren?
Lineare Resolution hatten wir, glaube ich, schon angesprochen.
Das war die Idee. Wir haben eine Formel in so einer Klauseldarstellung,
picken uns eine Klausel raus und fangen mit der an zu resolvieren.
Und bei jedem Schritt, bei jedem Resolutionsschritt benutzen wir eben
entweder diese Klausel oder eins der Produkte,
die wir generiert hatten
Ja, Beispiel hier,
wir haben vier Klauseln und picken uns einen raus,
ihr die Klausel AB und fangen an zu resolvieren und haben
sozusagen eine lineare Ableitung ausgehen von dieser ursprünglichen Klausel,
wo wir dann sozusagen andere einbeziehen dürfen oder auch frühere Produkte
verwenden bzw. einmal müssen wir immer ein früheres Produkt verwenden,
wir dürfen wir auch hier auch zweimal
frühere Produkte verwenden
Ja, das hier ist eine lineare Resolution, das hier wäre keine lineare Resolution.
So, bei der linearen Resolution ist es so,
da kann man Glück oder Pech haben, je nachdem,
was man sich hier rauspickt. Ja,
in diesem Fall ist es geglückt, aber es könnte natürlich auch sein,
dass man irgendwie daneben lang irgendeine Klausel nimmt,
die gar nichts zu tun hat mit dem eigentlichen Konflikt,
der irgendwo drinnen steckt und dann kommt man nicht zum Ziel.
Also grundsätzlich ein Verfahren, Na, was man nicht unumschränkt empfehlen kann,
weil man schon gute Gründe haben muss, zu sagen,
es muss diese sein, die ich verwende und nicht eine andere.
Stützenmengen, Resolution ist eine gewissermaßen Verallgemeinerung dieser Idee. Dahingehend,
dass man sagt, wir haben irgendwie eine große Klausel-Menge,
ja, beispielsweise eine Datenbank mit einer Anfrage.
Und wir haben dann eine Teilmenge Tee,
das ist unsere sogenannte Stützmenge
Und wir bilden jetzt Resolutionsableitung immer unter Verwendung mindestens einer Klausel aus dieser Stützmenge,
beziehungsweise des Produktes, das wir schon mal generiert haben,
unter Verwendung von dieser Stützmenge.
So, wenn wir jetzt vorab sichergestellt haben,
dass die Klauselmenge, die übrig bleibt,
wenn ich die Stützmenge rausnehme,
dass die konsistent ist oder widerspruchsfrei ist,
dann ist das
auch ein gutes Verfahren
Ja, also wenn ich beispielsweise eine große Wissensbasis oder Datenbank habe,
die schon in konjunktiver Normalform dargestellt ist oder Klauseln Normalform.
Und jetzt komme ich mit einer Anfrage und sage,
jetzt will ich wissen, gilt das?
Und generiere dadurch zusätzliche Klauseln. Das wäre ein typischer Fall,
wo man sagen kann,
jetzt nützt es mir nichts irgendwie in der Datenbank nach Widersprüchen zu suchen,
ohne meine Anfrage zu berücksichtigen,
sondern dann sollte ich tatsächlich auch immer ausgehend von der Anfrage,
das wäre jetzt
die Stützmenge,
die Resolution anstoßen
Gut, und der Bezug zur linearen Resolution ist halt der,
wenn mein Tee einelementig ist, und ich mache Stützmengen,
Resolutionen damit, dann ist das natürlich auch eine lineare Resolution.
Die zusätzliche Einschränkung, die wir hier aber haben,
ist eben die Annahme, dass die Klausellänge,
die ich habe, wenn ich da die Stützmenge rausnehme,
dass das erfüllbar ist auf jeden Fall,
wenn ich diese zusätzliche Annahme mit drin habe,
dann ist auch dieses Verfahren tatsächlich vollständig
Gut, also lineare Resolution kann man nicht unumstrengen,
unbeschränkt empfehlen, Stützmengen, Resolution,
ist aber wieder ein Verfahren, wo man sagen kann,
ja, das kann man grundsätzlich einsetzen, solange ich weiß,
welcher Teil der Formel widerspruchsfrei ist, beziehungsweise erfüllbar ist.
Gut, die letzte Idee, die man haben könnte,
ich gehe mal kurz eine Folie weiter,
ist die sogenannte Einheitsresolution.
Also wir haben hier irgendwie eine Klauselmenge und da kommen
einelementige Klauseln vor,
zwei elementige,
drei elementige
Und wir wissen ja aus unserer Regel,
dass wenn wir beispielsweise ein elementige Klausel verwenden in einer Resolution,
dann wird ja das Resultat, die Resolvente auf jeden Fall
kleiner sein als die andere Klausel, die da reingesteckt haben.
Also hier haben wir eine drei Elemente geklauselt,
die resolvieren wir gegen eine Einhaltklausel und erhaltene zwei elementige Klausel.
Und genauso hier, wir haben eine zwei Elemente,
hier resolvieren gegen Einhaltklausel und erhalten eine ein elementige.
Aus diesem Grund kann man ja sagen, super,
Wenn wir uns bei jedem Resolutionsschritt darauf abzielen, eine Klausel zu verwenden,
dann müssten wir doch eigentlich superschnell zum Ziel kommen,
weil wir ja immer nur die Anzahl oder die Klauseln immer kleiner machen,
die wir bearbeiten.
Das ist die Grundidee bei deinen Einheitsresolutionen. Nur da gilt halt
leider, die ist nicht wählvollständig, ein einfaches Beispiel.
Hier diese vier Klauseln, die hier stehen,
die hatten wir vorhin auch schon in einem Beispiel,
Die ist, aus der kann man grundsätzlich die leere Klausel ableiten,
aber halt nicht mit Einheitsresolution, denn wir könnten ja gar nicht anfangen bei Einheitsresolution.
Ja, also ist zwar eine super Sache,
die einen Elementigen zu benutzen, kann man auch immer empfehlen,
aber man kann sich nicht grundsätzlich darauf beschränken.
Außer wieder eine Ausnahme, ja, es gibt wieder Fälle,
wo tatsächlich auch die Einheitsresolution wie vollständig ist und zwar bei den Hornformeln.
Ja, Hornformeln, lange her, Das waren die,
wo in jeder Klausel höchstens ein positives Literal vorkommt.
Und das waren auch diejenigen, die man so schön mit dem Markierungsalgorithmus bearbeiten konnte.
Und bei denen ist halt die Einheitsresolution auch w vollständig. Das hängt damit zusammen,
dass ja P-Resolution, also die Resolution,
die immer nur rein positive Klauseln verwendet oder wenigstens eine,
muss rein positiv sein, DSW vollständig und, naja,
die einzigen rein positiven Klauseln in Horn formeln, das sind halt einer Mengen.
Okay. Ja, damit kommen wir auch schon sozusagen zum
Gesamtüberblick zum Thema Logik. Wir haben jetzt in Bezug auf
die Prädikatenlogik sozusagen neben der Aussagenlogik eine zweite Sprache kennengelernt,
mit der wir modellieren können,
beliebige Weltausschnitte,
über die
wir reden können
Und die wir nutzen können,
um darin implizit kodierte Informationen auch extrahieren zu können.
Wenn man nur sozusagen Daten ablegen will oder abholen will,
so genauso, wie man sie abgelegt hat,
da braucht man natürlich keinen großen Bearbeitungsmechanismus dahinter.
Wenn man aber sagt, naja,
unsere Beschreibung haben auch die Möglichkeit, implizite Aussagen mitzukodieren.
Und auch die wollen wir dann extrahieren. Dann ist man
gleich in der Situation, dass man letztlich einen logischen Kalkül benötigt.
Implizite Informationen hatten wir mit der Folgerung in Beziehung gesetzt.
Also das, was wir folgern können aus einer Beschreibung,
das ist eben explizit oder implizit kodiert.
Das, was explizit drinsteht,
können wir natürlich
auch in Erfolge
So, und zudem haben wir uns mit Verfahren auseinandergesetzt,
die es erlauben, solche Folgerungsbeziehungen dann auch zu bestimmen.
Ableitungsverfahren,
wobei wir uns dann ja besonders detailliert eben mit den Resolutionsverfahren auseinandergesetzt haben,
die zunächst mal Folgerungsanfragen immer übersetzen müssen in eine Widerspruch,
so einen Widerspruchstest und den
dann vollziehen können
Insofern ist vielleicht auch dieses Bild,
wie ich es male, hier sozusagen ein bisschen trügerisch.
Ja, es sieht so aus,
als generierten wir einfach aus den Beschreibungen Folgerungen in der Regel.
Also das könnte man sagen, ist das korrekte Bild für Hilbert-Verfahren, Hilbert-Beweise.
Ja, da werden irgendwie weise geschrieben und, naja,
alles, was man da rauskriegt, ist schon korrekt.
Ob es interessiert oder nicht, ist nicht so klar.
In der Regel hat man,
ja,
gezielte Fragennachnachfolgerungen
Ja, man will bestimmte Informationen extrahieren und fragt,
dann ist diese Information eigentlich enthalten. Und in dem Fall
kann man dann eben auch mit dem Widerspruchstest das durchführen.
Ja, zum Resolutionssatz wollte ich noch einige oder eine wesentliche Anmerkung machen.
Ich hatte ja schon vorhin gesagt, das sieht ja eigentlich
ganz gut aus. Wir haben den folgenden Satz,
wenn wir eine Aussage haben, die in einer bestimmten Form ist,
haben wir gelernt, wie wir die herstellen können.
Das ist also
kein Problem
Dann gilt, diese Formel ist genau dann unerfüllbar,
wenn die leere Klausel, Resultat der Resolution ist.
Und zwar der endlich Schritt tricken Resolution. Ja,
und das sieht ja eigentlich so aus,
als könnte man jetzt jede Frage beantworten,
die man in Bezug oder die man in der Logik formulieren kann.
Ja, aber das große Aber ist darin zu sehen,
dass dieser Satz gar nicht über alle Formeln redet,
sondern dieser Satz redet eigentlich nur über die unerfüllbaren Formeln
Das hatte ich vorhin schon angedeutet, also ja,
widerspruchsvollständigkeit heißt halt, ist eine Formel unerfüllbar.
Dann gibt es eine endliche Resolutionsableitung der leeren Klauseln.
Und ja, es gibt sogar Verfahren, die garantieren,
dass nach endlicher Zeit sowas, ja, dieser Resolutionsbeweis rauskommt.
Wenn wir genug Speicherplatz und alles haben, ja,
aber ja,
wie lange dauert endlich
Und das Problem ist, dass man keine Zeitschranke angeben kann und sagen kann,
naja, spätestens nach fünf Jahren hast du es oder so.
Oder... Ja, es gibt keine zeitliche Oberschränke, die man setzen kann.
Endlich kann verdammt lang dauern. Und dahinter steckt,
dass grundsätzlich die Frage der Erfüllbarkeit in der Prädikatenlogik unentscheidbar ist.
Das heißt, es gibt kein Verfahren, dass einerseits uns immer
die richtige Antwort gibt auf die Frage, ist ein Formel erfüllbar?
Und zusätzlich noch garantiert, dass es nach endlich vielen Schritten aufhört. Ja,
in Bezug auf die Resolution wären das halt sozusagen die kritischen Fälle erfüllbare Formeln,
die wir hineinstecken und dann mit dem Verfahren immer weiter arbeiten, ja,
bei der Grundinstanzen hatten wir es so ein bisschen gesehen,
wie da der Motor läuft, der eben nicht zu stoppen ist,
aber das entsprechende würde auch bei der allgemeinen Resolution passieren,
wo man dann immer wieder neue Resolventen bildet,
die man neu unifizieren kann mit dem alten Material und dann zu immer komplexeren Thermenbeschreibungen kommt,
aber niemals zur leeren Klausel.
Und das Schlimmste ist, also für jede Strategie,
die man sich ausdenken könnte, um zu sagen,
unter den und den Bedingungen stoppe ich dann aber doch oder so,
für jede Strategie gibt es Formeln, die dazu führen,
dass man ja entweder einen Fehler macht oder eben Abläufe hat,
die nicht abbrechen
Und dahinter steckt etwas, was das Halteproblem von Turing-Maschinen heißt.
Das wird im zweiten Teil oder im letzten Teil der Vorlesung
noch Thema werden. Also, was man im Hinterkopf behalten
kann, als ein sozusagen zentrales Beispiel für unentscheidbare Probleme.
Also Probleme, die wir einfach mit Algorithmen nicht endgültig lösen
können, ist das Erfüllbarkeitsproblem in der Prädikatenlogik
Im Gegensatz dazu, ja, in der Aussagenlogik ist alles entscheidbar,
solange wir uns eben auf endliche Formelmengen beschränken. Gut,
also, auf der einen Seite können wir feststellen,
ja, es gibt Verfahren, die so viel leisten können,
wie man überhaupt mit Verfahren leisten kann.
Auf der anderen Seite gehört Prädikatenlogik zu den Sprachen,
die so ausdrucksstark sind, dass man eben auch Probleme damit beschreiben kann,
die nicht entscheidbar sind
Gut. Aber es geht noch schlimmer, ja,
bei Prädikaten, Logik, erster Stufe, das ist das,
was wir bislang behandelt haben, bleibt die Logik nicht stehen.
Ja, Prädikatenlogik, erster Stufe, wie gesagt,
das ist das, was wir hier behandelt haben,
die ist dadurch gekennzeichnet, dass die Variablen,
die auftauchen, immer für Individuen stehen.
Ja, unsere kleinen Xe und so weiter,
die stehen immer für Individuen,
nie für Mengen oder Prädikate
Ja. Und es gibt eben auch Prädikatenlogik höherer Stufe. Bei denen gibt es dann weitere Variablen,
beispielsweise Variablen für Funktions, die als Funktionssymbole oder Eigenschaftssymbole oder Relationssymbole fungieren.
Und insbesondere auch noch Quantoren, die diese Variablen binden. Ja,
ein Beispiel dafür, wo man sowas gut brauchen kann,
Piano-Akklimatisierung der natürlichen Sprache, natürlichen Zahlen, Entschuldigung,
ja, die sagt sowas wie, Für alle Prädikate gilt,
wenn das Prädikat von eins gilt und für alle Ennen gilt,
wenn das Prädikat für Ennen gilt,
dann gilt es auch für N plus eins.
Dann gilt es für alle N. Das Induktionsaktion,
dass der vollständigen Induktion zugrunde liegt.
Hier sieht man sozusagen eine Quantifikation über ein Prädikat,
mit dem man dann die natürlichen Zahlen charakterisieren kann.
Das ist in der Logik, wie wir sie
hier kennengelernt haben,
nicht möglich
Da hätte hier kein P hinter dem Alphantor stehen dürfen.
Und ja, Prädikatenlogik höherer Stufe ist eben noch ausdrucksreicher
als das, was wir kennengelernt haben.
Die erste Stufe und entsprechend eben für generelle Entscheidungsverfahren sozusagen noch grundsätzlich problematischer.
Das sozusagen nur als Ausblick, um zu sagen, ja,
es geht noch schlimmer als die erste Stufe und es geht noch schlimmer als unentscheidbar.
Aber Prädikatenlogik ist wenigstens, wie man sagt, semi-entscheidbar.
Also wir haben Verfahren, die grundsätzlich in der Lage sind,
widersprüchliche Bedingungen auch als solche zu identifizieren.
Gut, dann habe ich mein Soll für heute getan.
Und wie gesagt, ab morgen früh geht es wieder weiter
mit dem Thema Automaten formale Sprachen, Berechenbarkeit, Entscheidbarkeit,
sozusagen genereller und aus der Perspektive der Automaten.
Das war's doch