So, einen schönen guten Tag. Wir hatten uns gestern damit befasst. Ja,
wir hatten uns gestern damit befasst, einen Ansatz anzugucken,
wie man ein Problem, den man jetzt auf den ersten Blick nicht ansieht,
auch als Constraint-Zeit des Faction-Problemen verstehen kann und dann dadurch in der Lage ist,
die Techniken aus dem Bereich anzuwenden. Wir haben das erweitert,
dann zu einem gewichteten Constraint-Zeit des Faction-Problems,
wo wir den Konstrentsgewicht zugeordnet haben und damit wird das Lösungsverfahren dann zum Optimierungsproblem und wir hatten gesehen,
dass man mit so etwas wie lokaler Suche dann tatsächlich auch Verfahren hinbekommen kann,
die in akzeptabler Zeit Ergebnisse produzieren und das auch noch unter der Bedingung,
dass die Ergebnisse relativ strengen Anytime-Forderungen genügen, das heißt also,
dass ich zu, nur nicht zu jedem Zeitpunkt,
aber nach einer gewissen Anfangsphase das Verfahren unterbrechen kann,
sodass ich in der Lage bin,
dass durch eine externe vorgegebenen Zeittakt zu steuern,
wo also die Außenwelt vorgibt,
mit welcher Geschwindigkeit die Verarbeitung zu erfolgen hat und nicht die Verarbeitung selbst.
Und das ist eine wesentliche Voraussetzung, dass ich in
der Lage bin, solche Systeme in Echtzeitkontexten einzusetzen.
Und Sprachverarbeitung ist unter anderem ein Echtzeitproblem,
wenn man es realistisch betreibt und nicht für im Offline-Modus,
sagen wir mal, für sowas wie für Informationsretriebezwecke,
dann kann ich eine Dokumentensammlung offline analysieren und anschließend die Ergebnisse verwenden.
Aber wenn ich das interaktiv zur Kommunikation benutzen will,
dann muss das unter Zeitgesichtspunkten erfolgen
Das ist die letzte Folie, zu der ich gestern nicht mehr gekommen bin.
Das ist nur noch mal eine Zusammenschau. Was machen wir
zurzeit eigentlich? Ich habe mir hier die Freiheit genommen,
ein bisschen was aus unserem Nähkästchen zu plaudern,
was wir über die letzten 20 Jahre im Bereich der Forschung gemacht haben.
Und das ist ein Themenbereich, der immer noch nicht erschöpft ist.
Also da gibt es noch jede Menge Untersuchungen.
Ein wichtiges Thema ist inkrementelle Verarbeitung. Wenn ich also über
Anytime-Eigenschaften oder überhaupt über Echtzeiteigenschaften im Bereich der Sprachverarbeitung rede,
muss ich natürlich eine strikte Links-Rechtsverarbeitung haben.
Die Sätze entstehen dadurch, dass sich ein Wort nach dem anderen spreche.
Wir lesen in einer bestimmten Richtung die Sätze.
Wir machen da zwar Blickbewegung wieder mal zurück,
sogenannte Regressions, die gebraucht werden, um zu bestätigen,
was man da gesehen hat oder die gebraucht werden,
um Analyse Alternativen auszuprobieren.
Aber im Prinzip ist die Verarbeitungsrichtung vorgegeben. Und ich habe schon Hypothesen,
auch wenn ich den gesamten Input noch nicht vorliegen habe.
Und das muss man irgendwie auf der Maschine auch nachvollziehen können.
Das ist also ein Schwerpunkt, den wir haben,
dass man partielle Hypothesen sofort ermittelt, wenn sie denn,
wenn die nötigen Inputinformationen zur Verfügung stehen.
Und nicht erst wartet, bis der Satz zu Ende
ist und dann mit der Verarbeitung startet
Dann hat man ein strukturelles Defizit, dann wird man nie
Echtzeitverarbeitung machen können, weil man immer hinter den Anforderungen hinweg hinterherhängt.
Menschliche Interaktion ist eben genau dadurch gekennzeichnet, dass ich mithöre,
während der andere spricht, bereits verstehe, was er will und gegebenenfalls intervenieren kann.
Wenn also die ganze, der ganze Informationsfluss,
der da kommt, in die falsche Richtung geht,
dann kann ich das Gegenüber unterbrechen und kann Widerspruch einlegen,
kann Rückfragen stellen,
wenn ich etwas nicht verstanden habe und so weiter und so
Und das jetzt also, die lokale Suche,
die wir haben, gekoppelt mit so einem Modus für inkrementelles Parsing,
das kommt dann dem menschlichen Vorbild schon ziemlich nahe und das ist dann eben auch ein,
ja, etwas, wo ich den Push-Modus tatsächlich dann auch realisieren kann,
weil ich eben in dem Augenblick, wo das nächste Wort kommt,
sagen kann, jetzt unterbricht die Verarbeitung,
bleibe mit dem oder sei mit dem zufrieden,
was du bisher hast,
das neue Wort wird in das Analyseproblem an integriert und die
Verarbeitung wird fortgesetzt mit der Hypothese,
die man bis dahin hatte
Und da wir lokale Suche betreiben, kann ich also auch die Variablen,
die in der Vergangenheit liegen, immer noch in ihren Werten verändern.
Das heißt, wenn das neue Wort hinzukommt, kann ich
auch an den Werten, die bereits bearbeitet worden sind, weitersuchen.
Ich habe alles noch zur Verfügung. Ich habe die Limit zur Verfügung.
Ich habe die Tabulisten zur Verfügung und kann die in die Verarbeitung einbeziehen.
Gut, zweiter Schwerpunkt ist das Ganze in einer multipodalen Umgebung.
Ich hatte schon gesagt, dass diese Prediktoren,
die wir da haben, oder nein, umgekehrt,
dass die konstruent sein ideales Interface darstellen,
um externes Wissen einzubeziehen in die Verarbeitung.
Wissen, wodurch man Suche des Parsas steuern kann,
durch Präferenzen, nicht hart.
Keiner der Prediktoren sagt hart, das geht so nicht.
Sondern sie geben alle nur Präferenzen ab der Art,
die das erscheint mir wahrscheinlicher als jenes.
Und auf die Art und Weise kann ich jetzt also
auch Informationen aus anderen Sinneskanälen integrieren.
Also beispielsweise aus dem visuellen Kanal. Wenn ich im visuellen
Kanal bestimmte Relationen erkennen kann, typischerweise von der Art,
wie wer macht was mit wem
Dann kann ich diese Information benutzen und in die Parsa-Aktion mit einbauen,
über verschiedene Ebenen, die aufeinander abgebildet werden müssen.
Aber ich kann es machen, um die Parsa-Verarbeitung zu steuern dadurch.
Und ich kann zum Beispiel auch, es sind alles verletzbare Konstraints,
ich kann zum Beispiel auch untersuchen, was passiert ist,
was passiert eigentlich, wenn mein visueller Kontext mit dem Sprachlichen,
mit der sprachlichen Information nicht zusammenpasst.
Wo liegt das Problem? Habe ich die sprachliche Äußerung falsch verstanden?
Habe ich, dass die visuelle Information fehlerhaft bekommen?
Oder ist die Abbildung dazwischen gescheitert? Da zieht dann wieder diese Diagnosemöglichkeit,
dass ich rausbekommen kann, worin liegt eigentlich das Problem?
Und das ist handlungsrelevant. Dann kann ich also diese Informationen
benutzen und etwa im visuellen Kanal nochmal genauer hingucken,
ob das, was ich ursprünglich angenommen habe, tatsächlich stimmt.
Auch die visuelle Welt entwickelt sich ja über der Zeit,
die ist ja auch nicht statisch.
Dinge, die ich eben noch nicht erkennen konnte,
kann ich vielleicht einen Augenblick später klarer unterscheiden.
Und damit kann ich sozusagen aus der Sprachverarbeitung wieder einen Auftrag an die visuelle Verarbeitung ableiten.
Nochmal die Szene zu analysieren, möglicherweise ergeben sich neue Erkenntnisse daraus.
Und die können dann wieder einfließen. Jetzt ist also,
das ist dann der dritte Teil, Die Welt ändert sich,
die Sprache entwickelt sich über der Zeit und ich muss diese beiden Prozesse,
die beide zeitlich gesteuert ablaufen, die muss ich zusammenbringen.
Und dann ist eben die Frage, wenn eine bestimmte Information,
die von außen in das System reinkommt, also über den nichtsprachlichen Kanal,
wenn die früher oder später zur Verfügung steht,
wie ändert sich das Verhalten der Sprachanalyse?
Also Sprachanalyse ist beispielsweise dadurch gekennzeichnet, dass sich Gartenfahrtphänomene habe,
dass ich eine präferierte Analyse habe,
die aber global nicht zu einer vernünftigen Interpretation führt oder zumindest zu einer Leseschwierigkeit führt,
dass sich nochmal alles reanalysieren muss,
um rauszukriegen,
was ist jetzt dort wirklich passiert
Die Sätze dieser Art sind beispielsweise Velore defended by the feeve.
Das ist eine Reduce, er reduziert da relativ Satz im Englischen,
der eben die plausible Interpretation erstmal hat,
dass der Anwalt Velore ja jemanden verteidigt hat.
Denn das ist die typische Tätigkeit eines Anwalts, jemanden zu verteidigen.
Dann kommt aber plötzlich die Bei- Phrase,
Below ja defended by und dann passt die Interpretation nicht mehr.
Dann muss ich zurückgehen und alles reanalisieren. Da muss ich
also in Frage stellen, ob Below ja wirklich,
dass der aktiv Handelnde ist und muss das Bild umdrehen und
ihn möglicherweise als denjenigen interpretieren, der verteidigt wird.
Und das ist tatsächlich dann die Interpretation, die zum Ergebnis führt.
Und an der Stelle wirkt also semantische Informationen,
die an dem Anwalt und an dem Verteidigen hängt,
so stark, dass die Syntagsanalyse in die falsche Richtung losläuft.
Und das lässt sich eben beim Menschen nachweisen,
indem ich ihm einfach die Augenbewegungen aufzeichne, die er macht,
wenn dieser Satz gelesen wird. Und ich kann dann eben feststellen,
dass er in dem Augenblick, wo das beikommt,
erstens stockt und zweitens wieder zurückgeht und anfängt bei dem Lore ja neu zu reden lesen.
Das sind Augenbewegungen, die wir aktiv nicht wahrnehmen,
die man aber aufzeichnen kann. Die zu interpretieren,
ist auch eine kleine Kunst, aber das lässt sich relativ konsistent machen.
Neuerdings macht man das auch für gesprochene Sprache,
indem man die Hirnpotenziale misst, also das EEG.
Und dann machen sich solche Verletzungen,
wo die Satzstruktur jetzt plötzlich nicht mehr passt,
durch ganz charakteristische Abweichungen in den Hirnpotenzialen bemerkbar,
die also zu einem bestimmten Zeitpunkt,
in diesem Falle 400 Millisekunden nach dem kritischen Wort auftreten.
Also nachdem das beikommt, wo der Konflikt auftritt,
dauert es noch eine Weile und dann kommt die Hirnantwort und die sagt, hier stimmt etwas nicht.
Reanalysiere. Das lässt sich also an den Hirnströmen tatsächlich nachweisen. Gut,
und dann ist das also eine zeitliche Angelegenheit,
wann kommt beispielsweise externe Informationen zum Tragen,
wenn sie früher zum Tragen kommt,
kann es dem Pater, je nach Konstellation,
entweder rechtzeitig in die richtige Richtung bringen Oder aber in die falsche Richtung treiben.
Wenn sie später kommt, könnte es sein,
dass der Parsa bereits in die falsche Richtung losgelaufen ist.
Und dann ist die Frage, wie viel später darf sie noch kommen,
damit er wieder auf den richtigen Weg zurückfindet.
Oder umgekehrt, er hat eine Präferenz verfolgt. Und die
externe Evidenz spricht dagegen, dann ist genau die umgekehrte Situation.
Also das kann man dann an der Stelle untersuchen,
wie das genaue zeitliche Verhalten von solchen Informationen sein darf,
damit die Analyse noch umgestimmt werden kann
Das sind also Dinge, die wir zurzeit oder die
kürzlich gelaufen sind und die wir zurzeit immer noch fortsetzen.
Eine Arbeit läuft zum Beispiel auch noch zum Thema Diagnose.
Das ist auch noch ein Thema. Gut,
damit komme ich zum Abschluss dieses Abschnittes über Constraint Certisfaction.
Ich habe hier nochmal die wesentlichen Verkaufsargumente zusammengetragen.
Also das Wichtigste ist, sie vereinfachen Suchprobleme.
Sie vereinfachen sie nicht in dem Sinn,
dass eine neue Komplexitätsklasse oder eine einfachere Komplexitätsklasse erreicht werden kann.
Aber ich bin zumindest in der Lage, die Größe des
des Problems zu reduzieren. Sie sind in der Lage,
Diagnoseinformationen mir zu liefern, indem ich konstrainverletzungen simulieren kann da dran.
Und sie haben abhängig von dem Lösungsverfahren, was ich verwende
, recht attraktive Anytime-Eigenschaften. Also Unterbrechbarkeit. Oder die Fähigkeit
bis zu einem bestimmten Zeitpunkt ein brauchbares Ergebnis zu liefern.
Wir haben das erweitert, auf Gewichte des Konstrems Centifiction,
da sind wir dann in der Lage,
relativ harte Optimierungsprobleme zu lösen,
die also mit klassischer kombinatorischer Suche unvorhersehbar
viel Zeit benötigen
Also wir haben teilweise die Sätze durchlaufen lassen,
mit vollständiger Suche und das sind dann mehrere Stunden Suchzeit auf einem Satz,
die das hier geben, während die lokale Suche eben mit einem Bruchteil dieser Zeit auch zu dem gleichen Ergebnis kommt.
Ich bin dann in der Lage,
aufgrund der Gewichte und der Möglichkeit, Konstruenz zu verletzen,
wenn sie dann nicht so schwerwiegende konstruiert sind,
wenn ich in der Lage mit Widersprüchen im Axiomsystem umzugehen und das kann man benutzen,
um Informationsfusionen in hybriden Architekturen zu machen,
also beispielsweise auch über die Grenzen der Modalitäten hinweg,
Also wirklich, und das muss ja unser Ziel im Endeffekt sein,
dass ich nicht ein tolles Vision-System habe und ein tolles Handlungsplanungssystem und ein tolles Sprachverarbeitungssystem,
sondern dass die alle irgendwie sinnvoll zusammengreifen spielen können.
Und dass sie damit umgehen können,
dass die anderen Komponenten alle möglicherweise Fehler machen können.
Wie eigene Komponente auch. Keiner darf für sich
das Monopol beanspruchen, dass er die alleinige Wahrheit besitzt.
Dann funktioniert das Gesamtsystem robust genug,
weil ich eben über die verschiedenen Kanäle eine gewisse Redundanz in
der Verarbeitung drin habe,
wo eben komplementäre Informationen sich wechselseitig ergänzt und dadurch dann
robustes Verhalten tatsächlich erzeugen kann
Und diese ganzen Vorteile sind eben auch unter der Randbedingung,
dass sich die Diagnosefähigkeit grundsätzlich beibehalten kann.
Also ich kriege zum Schluss immer noch nicht nur die Interpretation
des Satzes raus, sondern ich kriege auch heraus,
welche Konstraints sind durch diese Interpretation eigentlich immer noch verletzt.
Also was ist schlecht an dieser Lösung? Und das kann ich eben
in den verschiedensten Weisen benutzen, um bessere Lösungen zu finden,
um zusätzliche Informationen über aktives Sehen oder dergleichen herbei zu schaffen.
Der ja die große Herausforderung ist, und das sollte eigentlich deutlich geworden sein,
die große Herausforderung ist in allen Fällen immer, bin ich in der Lage,
ein gegebenes Suchproblem und das Schema eines Konstruent-Sited-Faction-Problems zurückzuführen.
Also bin ich in der Lage, das als Menge von Variablen
mit den jeweils zulässigen Werten oder verträglichen Werten für diese Variablen zu beschreiben.
Wenn ich das kann, dann habe ich diesen gesamten,
wie gesamt der Werkzeugkiste, Constraint-Settisfaction zur Verfügung und dann kann ich mich darin bedienen.
Und das erweist sich in vielen Fällen dann als ganz erfolgversprechender Ansatz. Etwas,
was wir in Zukunft auch noch uns angucken müssen, ist,
dass es in der Zwischenzeit, Es gibt schon längere Zeit,
aber in der Zwischenzeit gibt es relativ effiziente Implementierungen dafür,
dass sich Constraints auch auf ganz andere Art und Weise darstellen kann,
nämlich über Bedingungen über ganzen Zahlen.
Und für ganze Zahlen kann ich eben mit elementaren,
numerischen Vergleichsoperationen ähnliche Effekte erzielen, wie wir das hier mit den Constraints gemacht haben.
Ich kann im Idealfalle, und das ist die Frage,
die wir klären müssen, die Konstraints, die wir haben,
nehmen und übersetzen in solcher Intage-Constraints.
Und das geht dann von der Verarbeitung her ruckzuck,
weil ich eben die gesamte Numerik-Maschine des Rechners hinter mir habe
Das muss ich dann nicht mehr als Symbolverarbeitungsproblemen inplementieren,
sondern dann kann ich auf die relativ ausgefeilten Numerik-Prozessoren zurückgreifen.
Okay, das war es zum Thema Constraint Certisfaction.
Der nächste große Schritt ist, wenn ich jetzt das finde hier,
der nächste große Schritt ist, die, nein,
die Frage der, was passiert,
wenn genau diese Bedingung nicht sich mehr erfüllen lässt?
Also wenn ich ein Problem vorliegen habe,
wo ich zumindest nicht auf einfache Art und Weise sagen kann,
wie ich es als Constraint Certisfaction-Problem darstellen kann
Wenn ich also in der Lage bin und wir hatten dieses Jahr als Ausgangspunkt,
versuchen sich zu erinnern in die ersten Versuche,
die Bedingungen in natürlich sprachlichen Sätzen zu formulieren,
waren logische Ausdrücke, wo man also mit den typischen logischen Konjunkturen,
Konjunktoren gesagt hat, wenn weiblich,
dann singular oder akkusativ oder nominativ und dergleichen mehr.
Und um solche Probleme geht es jetzt,
wo ich eine Beschreibung in den Begriffen der Aussagenlogik formulieren kann.
Nichts anderes haben wir dort gemacht. Und aber zumindest auf
den ersten Blick nicht erkennbar ist,
wie man das in ein Constraint Siders Faction-Problem übersetzen kann
Gut, ja, da müssen wir in die Grundlagen der Logik
ein bisschen einsteigen. Ich gehe mal davon aus,
dass Ihnen das alles bekannt ist, sodass ich da nicht
allzu viel Zeit rein investieren muss, zumindest aus dem FGI.
FGI1-Kontext soll Ihnen da einiges bekannt vorkommen.
Wer immer sich schon mal mit Logikprogrammierung befasst hat,
der wird an einigen Stellen auch Aha-Erlebnisse sagten eigentlich.
Aha, Déjà-vu-Erlebnisse haben, dass ihm einiges davon recht bekannt vorkommt.
Gut, wir reden über Aussagenlogik, Aussagenlogik besteht darin,
dass ich Aussagen logische Variablen definiere.
Diese Variablen haben im Prinzip immer zwei Werte. Das ist eine Bullshit-Variable,
die kann entweder wahr oder falsch sein und ich habe dann
eben eine Aussage darüber, wie Hörsaal abgeschlossen.
Und das kann eben den Wert Ja oder Nein haben,
je nachdem, ob der Hörsaal zu ist oder offen ist.
Oder Licht ist an, kann auch den Wert wahr oder falsch haben,
je nachdem, ob das Licht hier angeschaltet ist oder nicht.
Oder eben Gerät funktioniert, Aussagen dieser Art über die Welt
und die haben dann immer einen Wahrheitswert von wahr oder falsch
Und ich habe dann eine Menge solcher Variablen und man sollte beachten,
es sind immer nur Binäre Variablen,
während wir bisher von Variablen gesprochen hatten, die also beliebige Werte,
entweder aus einer nicht-numerischen oder numerischen Domäne aufnehmen konnten.
Also für diese Parsing-Probleme hatten wir eben Domänen,
die dann eben aus Länge des Satzes mal 30 Label bestanden.
Und aus dieser Domäne musste dann irgendetwas ausgewählt werden.
Hier sind die Werte der Variablen immer nur Bullship, also nur binär.
Wir können diese Variablen jetzt also mit Werten versehen beliebig,
indem wir jeder Variablen einen Wahrheitswert zuweisen.
Und wenn wir auf die Art und Weise eine Belegung der Variablen haben,
die alle Bedingungen, die wir haben, alle Axiome unseres logischen Systems,
wenn die alle erfüllt sind, dann ist es eine Interpretation.
Dann ist es ein Modell, sorry, also eine Interpretation,
eine Belegung aller Variablen mit Werten ist ein Modell,
wenn denn alle Bedingungen,
die wir an die Variablen Belegung haben,
erfüllt sind und zwar gleichzeitig
Und dann haben wir zwei Möglichkeiten, wie wir damit umgehen können.
Wir können entweder fragen, gibt es ein Modell,
was die für die disgegebene Probleme,
also gibt es eine vaiablen Belegung, die die Axium alle erfüllt.
Und möglicherweise reicht das aus. Oftmals wollen wir aber allgemeingültige Aussagen haben,
die eben sagen, wir wollen die Ergebnisse haben,
die in allen Modellen wahr sind.
Also beliebige Belegungen, beliebige, konsistente Belegungen der Variablen und
eine bestimmte Aussage sollen in allen gelten.
Dann haben wir nämlich eine allgemeingültige Aussage über ein Problem in
der Welt und das ist üblicherweise etwas,
woran wir interessiert sind
Ja, hier ist eine Liste von Argumenten, zusammengetragen.
Warum sollte man da Aussagen, Logik für einsetzen?
Der erste ist sicherlich, oder eine davon sind etwas umstrittig,
der ist nicht unbedingt klar, ob das jeder so sehen wird.
Das ist objektiv unterschiedlich. Das erste,
das erste Argument behauptet, dass es natürlicher ist,
mit logischen Formeln umzugehen als Datenbanktabellen, aufzustellen.
Erinnern Sie sich auch wieder? Auch das haben wir gemacht für
das Constance Certisfaction-Problem in der, in der natürlichen Sprache,
dass wir als erstes mal alle verträglichen bajablen Belegungen aufgelistet haben
in einer Tabelle
Natürlich enthält das viel Redundant. Es ist aber eine konzeptuelle Struktur,
mit der wir einfacher umgehen können als mit einem logischen Ausdruck.
Also was more natural hier heißt, das kann man aus
verschiedenen Perspektiven sehen. Es gibt also genügend viele Leute,
die mit logischen Formeln auf Kriegsfuß stehen.
Und sie erinnern sich vielleicht, wir haben Online-Debucking-Betrieben, nicht wahr?
Bis wir gesehen oder bis ich endlich eingesehen habe,
dass der nominativ dort, der durch Cut and Pace zustande gekommen war,
einfach zu streichen ist, damit es korrekt wird.
Also das ist oftmals nicht ganz einsichtig oder nicht ganz einfach einzusehen,
wie eine logische Formel aussehen muss,
damit sie ein Problem korrekt beschreibt
Wenn sie es nicht tut, wo eigentlich das Problem liegt.
Also das ist die Bugging-Problem. Das wird im zweiten,
in der zweiten Argumentation behauptet,
dass es also einfacher ist, so etwas zu debacken,
wenn es in Formelform da ist, als in Tabellenform.
Auch das kann man wieder subjektiv ganz unterschiedlich sehen,
was tatsächlich unbestritten ist, ist, dass es einen Effizienzvorteil bringt.
Ich bin typischerweise nicht in der Lage,
alle vajablen Belegungen irgendwie zu verwalten,
denn es ist ein exponentielles Wachstum
Auch wenn ich immer nur zwei Werte habe,
es ist trotzdem immer noch zwei hoch, die Anzahl der Variablen.
Und dann ist es einfacher mit Bullshen-Formeln zu arbeiten,
als all diese vajablen Belegungen der Reihe nach durchzuprobieren.
Und wir brauchen die Ausdrücke sowieso,
weil wir nämlich dann irgendwann mal Fragen stellen wollen über das,
was aus allen Modellen folgt,
beispielsweise.
Und das ist
Ja, das kann ich auf der Ebene von logischen Ausdrücken
auch sehr, sehr schön machen. Aber das ist nämlich wirklich
ein Argument für die Verwendung von Propositionen, wie mir gerade auffällt.
Okay, man kann sich über alle streiten hier.
Da wir die Formeln runterbrechen in einfache, kleine Stücke.
Auch das haben wir beim Construction Siders Fiction gemacht,
dass wir einen komplexen Ausdruck zerlegt haben, in Einzelbedingungen,
die erfüllt sein müssen,
kann ich also Formeln inkrementell hinzufügen,
entweder im Entwicklungsprozess,
aber auch im riesigen Prozess selbst
Das ist auch etwas, was bei Constrainzer Desfaction beispielsweise geht,
dass ich, wenn ich nicht in der Lage bin,
eine Lösung auf Anhieb zu finden, dass ich sukzessive zusätzliche Bedingungen hinzufüge.
Wenn ich also erstmal zum Beispiel davon ausgehe,
dass ich nur die sicheren Forderungen stelle, feststelle,
ich bin nicht in der Lage, die Domänen genügend zu beschränken,
kann ich sukzessive riskanteres Wissen mit hinzufügen oder riskantere Einschränkungen hinzufügen,
die eher nur Präferenzen beschreiben und mir die stärkere,
restriktive Kraft, dadurch erkaufen,
dass die Entscheidung zunehmend riskanter werden.
Und ähnlich kann ich das hier auch machen.
Dieses Argument hat man schon mal ganz zu Anfang gehabt,
die Logik eröffnet uns tatsächlich den Weg dahin,
dass wir auch über beliebig große Probleme reden können.
Während wir beim Konstanz Satisfaction tatsächlich beschränkt sind auf eine endliche Menge von Variablen,
können wir hier eben über unendlich viele Variablen und
auch über unendlich große Domänen sprechen
Gut, die Frage ist immer, was, was beschreibt eine logische Theorie eigentlich?
Wir müssen uns also über die Frage Gedanken machen,
was an dem riesenigen Prozess können wir eigentlich der Maschine übertragen
und was sagen uns die Ergebnisse, die dabei herauskommen.
Und hier ist mal kurz ein Prozess dargestellt, den man
abarbeiten kann, wenn man mit solchen propositionalen Ausdrücken arbeitet.
Wir haben also irgendein Anwendungsgebiet und der erste, nein,
das ist, sorry, eigentlich ist das der erste Schritt.
Der erste Schritt ist, wir müssen dieses Anwendungsgebiet beschreiben.
Und wir müssen es in den Begriffen von Aussagen logischen Barjablen
tun. Und diese Aussagen logischen Barjablen müssen irgendeine Bedeutung für
den Nutzer oder den Entwickler der Wissesbasis haben.
Also so etwas wie, Hörsaal ist geöffnet. Ja,
so das Kasal ist geschlossen. Ja, das ist eine Bedeutung,
die wir dieser Variablen zumessen oder dem Wahrheitswert,
den diese Variablen im Endeffekt hat, die wir zumeiden essen.
Aber das ist etwas, was rein menschliche Interpretation betrifft.
Das hat erstmal noch nichts mit der Verarbeitung
zu tun
Verarbeitung, also auf der Verarbeitungsseite erfinden wir einen Namen für die Variable.
Und dieser Name hat für die Maschine rein so eine taktische Bedeutung.
Der hat keinerlei Semantik mit sich, dass jetzt irgendwie die Maschine wüsste,
wie sie diese Variable Hörsaal geöffnet zu interpretieren hat.
Was daraus folgt beispielsweise. Ich kann den Raum betreten.
Darum weiß die Maschine nicht. Sie kann nur,
sie weiß nur, das Ding ist wahr oder ist es falsch.
Und an der Stelle darf man nicht mehr in die Aussagen
hinein interpretieren,
als wirklich drin ist
Die Interpretation in den Begriffen, was folgt daraus?
Oder auch, wie kann ich einen solchen Zustand hervorrufen?
Das gilt, die Vagable ist wahr. All das ist Menschenwerk.
Das ist immer menschliche Interpretation eines formalen Ausdruckes. Gut,
im zweiten, im dritten, ja, im zweiten Schritt
eigentlich müssen wir jetzt das System mit Wissen über die Domäne versehen.
Das ist im Wesentlichen Wissen in Form von logischen Ausdrücken,
von Aktionen, die etwas über den Zusammenhang zwischen den einzelnen Bajablen sagen.
Und dann können wir hingehen und dem System Fragen stellen
Und das System kann dann als Antwort auf diese Frage antworten,
was sind logische Konsequenzen aus dieser Anfrage? Die Interpretation,
was diese logischen Konsequenzen bedeuten, das ist wieder Sache des Menschen.
Denn nur der kann die Bedeutung mit den bayablen Bezeichnungen, also den Atomen tatsächlich herstellen.
Das ist menschliches Privileg. Diese Arbeitsteilung muss man immer im Hinterkopf haben,
dass man also in gewisser Weise, wir reden ja über intelligente Systeme,
dass ein Großteil der Intelligenz hier nicht in der maschinellen Lösung steckt,
sondern in der korrekten Interpretation der Ergebnisse,
die wir von dem System bekommen.
Das darf man nicht vergessen. Also, der Mensch hat
also Vagablen dieser Art, Lampe 1 ist kaputt.
Und das ist ein formales Konstrukt. Das ist sozusagen das
Interface zur Logik. Und das hat eine im menschlichen Sinne Interpretation,
soll heißen, eine Lampe,
die ich irgendwie mit Nummer 1 bezeichnet habe,
ist kaputt gegangen
Oder aber hier ist ein Switch-Up, also auch wieder ein formales Konstrukt,
ein Name, der eben die Bedeutung hat,
dass das Ding, was ich mit SW bezeichne,
in der Stellung Schalter nach oben ist.
Oder eben eine vajable Power, die sagt,
das Gebäude steht unter Strom. Also die Stromversorgung von außen
ist gesichert. Und so weiter und so fort.
Also dieses Mapping hier zwischen einerseits der Bullshen-Vajablen und andererseits einer
Interpretation im Sinne menschlichen Verstehens einer Situation.
Dieses Mapping ist im Kopf des Nutzers vorhanden
Und bestimmt eben auch, wie ich mit den Ergebnissen umgehen kann.
Und da hat man ein Problem,
weil ja typischerweise mehrere Personen damit beschäftigt sind,
das Wissen in die Datenbasis einzugeben, wenn üblicherweise Experten sein,
dann werden andere Leute die Ergebnisse, die aus dem System rauskommen,
interpretieren müssen.
Und das wären möglicherweise keine Experten sein. Und dann muss sichergestellt sein,
dass beide Personen dieses Mapping in der gleichen Weise verstehen.
Dass also nicht der eine eine Interpretation von Power hat,
die mit dem hier übereinstimmt.
Und der zweite hat eine Interpretation mit Power,
die heißt,
die Sicherung ist eingeschaltet
Das sind zwei völlig unterschiedliche Interpretationsweisen. Das muss sichergestellt sein
, dass alle genau über das Gleiche reden.
Sonst sind die Missverständnisse vorprogrammiert. Und die sind nicht auf
der Maschinenseite, entstehen die, sondern die entstehen dadurch,
dass Menschen mit diesen formalen Konstrukten umgehen müssen.
Und das im Kopf des Menschen genau diese Abbildung hergestellt werden muss. So,
und auf der Computerseite habe ich jetzt eben solche Ausdrücke der Art,
wie wenn denn der Schalter in der Aufwärtsposition ist und
Strom ist da und es brennt kein Licht,
dann folgt daraus,
dass die Lampe wohl kaputt sein wird
Und dann habe ich eben eine Beobachtung,
der Schalter ist in der Position nach oben.
Ich habe eine zweite Lampe, die beleuchtet.
Und wenn sie leuchtet, dann ist offensichtlich Strom da.
Dann kann ich dich darüber, kannst dich daran liegen,
dass die Stromversorgung von außen kaputt gegangen ist.
Ich habe beobachtet, Licht 1 brennt nicht.
Und ich habe beobachtet, Licht 2 brennt.
Also kann ich über Licht 2 brennt. Und die Tatsache,
dass wenn es brennt, dann ist wohl Strom da,
schließen Power gilt
Ich weiß, dass die Lampe 1 nicht brennt. Ich weiß,
dass der Schalter ab ist, dass es wahr,
dass es wahr, also kann ich daraus schließen,
es muss wohl an der, muss wohl das Problem sein,
dass die Lampe 1 kaputt gegangen ist.
So, der Computer gibt nur aus Light One Broken is Two.
Er sagt nichts, er weiß nichts darüber,
was das bedeutet. Das ist wieder im Kopf des Nutzers
. Der muss die Abbildung herstellen, was das bedeutet.
Also insbesondere auch, was ist denn Lampe Nummer 1 eigentlich?
Ist das Lieder oder die da oder welche ist es eigentlich
Gut, also das ist dann Aufgabe des Nutzers,
wieder die richtige Interpretation herzustellen, in, wie im Sinne von menschlichem Problem verstehen.
Gut, jetzt kommt ein bisschen syntax. Wir haben also immer Atome,
das sind unsere Bullschen Variablen mit kleinen Buchstaben am Anfang. Wir definieren einen Körper,
den werden wir dann brauchen für die Klauseln,
als Konjunktion von Elementarausdrücken,
die entweder Atom sind oder sich wieder auf diese Weise aus Konjunktion zusammensetzen und wir können das benutzen,
um eine definite Klausel zu definieren,
die entweder ein Atom ist oder eine Regel in der Form aus BVK,
wobei das ein Atom ist oder auch als Kopf der Regel bezeichnet und B ist der Körper der Regel,
das ist eine Konjunktion von Atomen.
Und eine Wissensbasis ist dann eine Menge von Definitenklauseln.
Definite Klauseln sind ein, eine Teilmenge der logischen Ausdrücke,
die wir haben, eine recht eingeschränkte Teilmenge.
Da haben wir starke Annahmen über die Variablensgruppe,
das gibt es noch nicht, über die Form der Regel
gemacht und wir haben insbesondere einen Punkt ausgeschlossen.
Es ist jemand aufgefallen, Was darf eine solche definierte Klausel
auf keinen Fall enthalten? Wir können ganz einfach mal uns anschauen,
was wir gestern für Klauseln hatten.
Ach ne, das ist sowas oder Falsche
Der Spaß ist hier, dass in dem Augenblick,
wo ich den Bildschirm umschalte,
er sämtliche Arbeitsplatzzuordnung durcheinander würfelt und danach ein munteres Suchen losgeht,
wo welches Fenster ist.
Also ich weiß nicht, was ist die Phase aus dem Hornklotzer?
Weil ich ja nur einen, ich habe ja,
eine spezielle Form von Hornklauseln, ja.
Da fällt ja nur ein positives. Genau. Ja, genau.
Also was ist ausgeschlossen? Dass ich auf der Implikationsseite,
also in dem Fall Rechtslösung,
auch schon recht der Negative
Oder das hier in der Schreibweise über die Person schreibweise, war auch negativ.
Also der Witz ist, hier sieht man es noch,
dass hier im Kopf dürfen keine Disjunktionen auftreten.
Das macht die Sache zum Definiten, zur Definitenklausel.
Wenn dort eine Disjunktion da ist, dann ist es keine definite Klausel mehr.
Genau, dann wird es auch keine Hornkosten.
Ja. So, nein, das ist ja wieder...
Doch, nee,
das ist es
Da ist es. Das waren die Ausdrücke, die wir
da verwaltet hatten. In Konsträmform schon, also in Klauselnotation.
Sind es Definite Klauseln oder sind es nicht definite Klauseln?
Die meisten sind nicht Definitivnotus. Ja, also, und
das ist ein wesentliches Kennzeichen. Hier zum Beispiel haben wir
im Kopf der Klausel eine Dissiuktion drin. Unter einer bestimmten Bedingung gilt,
entweder ist es Genitiv- oder Akkusativ,
hier ist es eben Entweder ist es genitiv dativ oder akkusativ auch solche Sachen hier,
entweder ist es singen oder plural, all das sind nicht definitive Sachen.
Das ist ein Fall von Mehrdeutigkeit, wen wir vorliegen haben.
Also wann immer in einer Domäne Mehrdeutigkeit herrscht,
führt das auf innendefinite Klauseln und dann gilt alles nicht,
was im Weiteren kommt.
Wir reden im Weiteren nur noch über definite Theorien.
Also definite Theorien gehen hier für die Domäne gar nicht anzuwenden,
weil in der Sprache ist Mehrdeutigkeit überall.
Wo immer ich hingucke, finde ich mehrdeutige Konstruktion,
die erst im Kontext ihre eindeutige Interpretation bekommen und da
gaukelt uns unser Sprachverarbeitungssystem eine Eindeutigkeit vor,
die wirklich nicht gegeben ist
Und das ist in Größenordnungen, die sind erschreckend. Also ein typischer Satz mit einfachen,
syntaktischen Mitteln analysiert und unter Berücksichtigung all der Mehrdeutigkeiten,
die da drin sind,
führt typischerweise, selbst wenn man sich große Mühe gibt,
nicht auf zwei, drei oder vier Interpretationen,
sondern auf 10.000 oder ein paar Millionen.
Das sind die Größenordnungen, mit denen man es da ungefähr zu tun hat.
Weil sich Mehrdeutigkeiten immer aufmultiplizieren. Das ist auch exponentielles Wachstum in
der Menge der Lesarten, die ich dann global bekomme.
Und die Mehrdeutigkeit ist also dort an allen Stellen und deshalb
sind wir da nicht in der Lage, definierte Theorien dafür anzugeben.
Definierte Theorien kann ich also nur angeben,
wo ich wirklich bestimmte Informationen eindeutig vorliegen habe.
Und da ist eben, nein, das ist die falsche Fenster.
Und da ist eben unsere Domäne, Das ist ja jetzt ein nettes Spiel hier.
Irgendwo muss es sein, auch nicht, oh Mann.
Hier waren wir. Die elektrische Domäne ist ein schönes Anwendungsbeispiel dafür,
weil ich eben solche Dinge wie,
ob der Schalter unten oder oben ist, annehme,
dass ich sie eindeutig beantworten kann.
Da gibt es keine Mehrdeutigkeit von der Art, wie,
ich weiß es nicht, er könnte unten oder oben sein.
Aber in unserer Sprachdomäne hat mir genau diesen Fall,
es könnte eben genitiv oder dativ sein.
Wir wissen es nicht. Wir sehen es an der Beobachtung,
an der Beobachtung können wir es nicht erkennen.
Ähnliche Probleme hat man auch in anderen Bereichen. Man kann das Gleiche,
all das, was sich über Constellence Certisfaction in der Sprache diskutiert habe,
kann man genauso gut für arithmetische Operationen anwenden.
Also einfache Additionsaufgaben, wie sie in der Unterstufe typisch sind.
Ich nehme zwei vierstellige Zahlen und sage, bitteschön addiere die miteinander.
Und dann soll diagnostiziert werden, was dabei schiefgelaufen ist.
Und da gibt es auch Informationen, die ich nicht sehen kann.
Es könnte sein, dass jemand den Übertrag nicht beachtet hat.
Es könnte aber genauso gut sein, dass er nicht
addieren kann
Auch das ist ein Fall von Mehrdeutigkeit, wo ich durch eingeschränkte Beobachtungsfähigkeit
keine eindeutigen Schlussfolgerungen treffen kann oder keine eindeutigen Aussagen machen kann.
Und genau das schließen wir hier aus in dieser elektrischen Schaltungsdomäne,
gehen wir eben davon aus, dass wir alles eindeutig beschreiben können.
Die Lampe brennt oder sie brennt nicht,
der Schalter ist hoch oder ist nicht hoch,
die Sicherung ist ganz oder kaputt und so weiter.
Es ist Spannung da oder es ist keine Spannung da,
all das ist eindeutig beantwortbar.
Und deshalb können wir Definite klauseln an der Stelle anwenden
Gut, eine Interpretation nimmt jetzt also einen Wahrheitswert
und weist jedem diese Atome einen solchen Wahrheitswert zu.
Ja, Konjunktion auf die übliche Weise erklärt.
B1 und B2 ist in einer Interpretation wahr,
wenn sowohl B1 als auch B2 wahr sind.
Die Implikation ist auch klar, ist falsch in der Interpretation,
wenn B wahr ist und falsch ist.
Das ist also genau die Umschreibung der Implikation in allen
anderen Fällen ist sie wahr
Das ist ja immer die Wahrheitswerttabelle,
wenn sie dich für die Implikation angucken,
die hat ja nur ein 1 zu 0 drin,
alle drei anderen Werte sind eins.
Das ist genau hier zum Ausdruck gebracht.
Und eine Wissensbasis ist wahr in einer Interpretation,
wenn sie für jede Klausel in der Wissensbasis den beheizwertbar liefert.
So, und das Modell ist dann also eine Interpretation,
in denen
alle Klauseln wahr sind
Wir können also sagen, als eine logische Aussage aus der Gewissesbasis folgt,
wenn denn diese logische Aussage wahr ist, in jedem Modell der Wissensbasis.
Das ist also eine typische Anfrage, die darauf hinausläuft,
alle Modelle durchzuchecken und zu prüfen,
ob die Aussage in allen Modellen tatsächlich wahr sein.
Und andersrum formuliert, dass G aus der Wissensbasis folgt,
wenn es nicht der Fall ist, dass die Wissensbasis wahr ist,
aber die daraus zu folgende Schlussfolgerung falsch ist.
Dafür darf es keine Interpretation geben. Gut, das ist das Handwerkszeug.
Wir können uns also jetzt mal ein Beispiel hier angucken.
Wir haben eine Wissensbasis, die ist schön einfach gehalten.
Wir haben vier Atome oder Bullschevayablen und wir machen eine Interpretation für die.
Und die Frage ist immer, ist es ein Modell
oder ist es kein Modell?
Wir können das mal der Reihe nach durchdiskutieren.
Also immer ist es ein Modell oder nein.
Und wenn ja, warum? Ja, oder warum nein
? Ja, das ist ein Modell
Warte, ja, und warum?
Weil alle wahr sind und nirgendwo eine Negation steht.
Okay, ja, das ist ein Shortcut.
Wir können natürlich die Eintrauung der Wissensbasis durchprobieren.
Kuh ist trivialerweise wahr. Aus Q-Folk P ist auch wahr,
weil Kuh wahr ist. Und wenn R&S wahr sind,
dann ist auch die Implikation wahr. Gut, zweite Zeile,
also was ist das hier? I2, wir machen mal
der Reihe nach ein bisschen durch
Das war einfach, ja genau, hier Kuh wird gefordert,
ist aber False, also kann es kein Modell sein,
das ist da an der Stelle, kracht es, i3. Ja.
Ich würde sagen, ansonsten ein Modell,
weil Kursbad ist halt, und PS auch war,
das ist ja bestimmt schon mal das Erste.
Ja. Und erstens nicht wahr, und er ist auch nicht wahr,
allerletzt, weil er ist nicht wahr, es muss er auch nicht wahr.
Genau, das ist der durch die Implikation abgedeckte Fall,
wenn die Prämisse nicht wahr ist,
dann kann ich nichts mehr die Conklusio aussagen.
Das ist ja die Implikation, genau. E4, Ja
. Gibt es noch mutige, außer den Dreien?
Ja, dann, also hier ist dann ein Monster,
glaube ich, ist das erste Mal.
Ja, das hatten wir eben auch. Und es ist
falsch und es ist egal, was daraus kommt.
Genau, die gleiche Argumentation, wenn es falsch ist,
dann ist der Wahrheitswert von R beliebig und das letzte,
vielleicht kriegen wir noch jemanden aktiviert
Bitte? Ja, und dann begründen Sie es auch.
Ja, wir sind die Bußen, wir sind die Zeiten meiner Schuldsleben aus dem.
Und da ist Schuld. Muss auch Ertru sein. Das
ist der kritische Fall der Implikation oder die einzige Einschränkung,
die die Implikation mit sich bringt,
ist eben, wenn es wahr ist,
sagen wir es auch Erva sein und das ist hier nicht erfüllt.
Gut. Ah, der Auflösung, ja.
Okay, haben wir richtig geraten. Das gibt volle Punktzahl
. Nächste Frage ist dann, welche diese Aussagen kann,
können wir aus der Datenbank
Oder Folgen aus der Datenbank, also der Reihe nach P.
Ja, P folgt bei Kuh, Dreck, das Klausel,
als Singulär. Das gilt, ja genau. Genau,
das ist der Modus Polens, eine der bekanntesten Schlussregeln,
wenn Kuh war es und aus QP folgt,
dann gilt auch P, das nächste Kuh hatten wir eben,
das war die Input-Information, die wir reinstecken,
ist trialerweise wahr,
Dann mal der Gleiche da. Ja, Erfolg nicht,
jetzt werden wir gleich. Die Begründung kann ich nicht verstanden
. Die Interpretation 3. Achso, ja, ja.
Okay, ja, jetzt habe ich es begriffen.
Ja, okay, folgt nicht daraus.
Und... So ist es. Das soll es heißen,
ja genau, das macht sonst keinen Sinn.
Für es kann man da so
was sagen
Dieselbe Kunde. Ja, also auch da gibt die Datenbasis einfach nichts her darüber,
über die Wahrheitswerte von R&S können wir nichts aussagen.
Ah ja, Auflösung ist auch okay. Ja,
also die Sicht des Nutzers auf die Semantik eines solchen Ausdrucks ist dann also immer,
wir nehmen ein Anwendungsgebiet und wir haben in diesem Anwendungsgebiet eine intendierte Interpretation.
Das ist genau dieses Mapping zwischen den zwischen den vajablen Werten und was wir,
wie wir sie verstehen wollen, dann müssen wir eben Atome wählen,
die jeweils die Aussagen kodieren,
die wir machen wollen über die Welt.
Und wir geben dem System Bedingungen dafür an,
die zwischen den Vagablen gelten müssen, sodass die Aussage,
die wir dort machen, in der intendierten Interpretation tatsächlich wahr ist.
Und das wird auch als Prozess der Akromatisierung bezeichnet und der
Output ist dann die Liste der eben der logischen Formeln,
die wir bekommen, die dann die Wissensbasis bilden.
Und dann können wir also Fragen über die intendierte Interpretation stellen.
Was wir aber bekommen, sind nicht Antworten bezüglich der intendierten
Interpretation, sondern Antworten bezüglich der Akromatisierung.
Wenn wir also bei der Aktionalisierung Fehler gemacht haben,
dann dürfen wir uns nicht wundern, dass das,
was berechnet wird mit unserer intendierten Interpretation, relativ wenig zu tun hat.
Das ist dann auch ein Thema, mit dem wir uns auseinandersetzen müssen.
Wie finden wir eigentlich Fehler in einer solchen Datenbank oder Wissensbasis?
Wie machen sie sich bemerkbar? Wie können wir sie finden
? Wie können wir sie korrigieren
Gut, also wenn aus der Wissensbasis eine Aussage folgt,
dann muss G in der intendierten Interpretation wahr sein,
gegeben, dass die Aksomatisierung korrekt ist.
Und das können wir eben überprüfen,
indem wir diese intendierte Interpretation hier oben wieder zur Hilfe nehmen und
das Ganze abbilden auf unsere Vorstellung von der Welt, die wir haben.
Die Sicht des Computers, auf die das Ganze ist,
ich habe keine intendierte Interpretation,
ich kenne die Formeln in der Datenbank, Ich kann berechnen,
ob eine Formel als logische Konsequenz aus der Datenbank abfolgt.
Und wenn das der Fall ist,
dann sollte die Aussage in der intendierten Interpretation wahr sein,
wenn es nicht daraus folgt,
dann gibt es wenigstens ein Modell der Datenbasis,
in der die Aussage falsch ist.
Und möglicherweise ist dieses Modell der Datenbasis,
in dem die Aussage falsch ist,
genau unsere intendierte Interpretation.
Dann haben wir
Pech gehabt
Hier also nochmal dieses Schaltungstechnische Problem. Wir haben ein Haus
, da kommt von außen irgendwie Strom hinein.
Wir, das ganze Haus ist abgesichert hier mit Sicherungen.
Wir haben zwei Sicherungskreise. An dem einen hängen also alle Beleuchtungsdinger
dran und diese Steckdose an dem anderen hängt die zweite Steckdose.
Das wird also die Waschmaschine sein. Wir haben Schalter,
mit denen wir Lampen ein- und ausschalten können.
Wir haben einfache Schalter wie diesen hier oder solche Wechselschalter,
wo wir von zwei Positionen aus das Licht ein- und ausschalten können.
Wir haben immer die Position, Schalter nach oben oder Schalter
nach unten
Wir haben Lampen, die sind entweder an oder sie sind aus
und wir haben hier die Steckdosen, an denen wir Strom abzapfen können.
Und diese Umgebung müssen wir jetzt akklomatisieren. Na, warum
ist? Sehr gut. Das ist also die Schaltung,
die wir haben und andererseits die Aktionen,
die wir daraus ableiten, das ist jetzt ein bisschen klein,
aber ich hoffe, man kann es noch einigermaßen erkennen.
Passt nicht ganz
So. Kann man das noch lesen? Zur Not, ja.
Also, wir haben einerseits die Beobachtung über die Welt.
Nee, das sind eigentlich nur die Variablen, die wir haben.
Wir haben die Variablen, wo wir sagen können,
also L1 ist eine Lampe dieses hier.
Das gleiche für zwei natürlich. Wir haben die Schalterpositionen,
also Schalter 1
ist nach oben
Er ist nach unten, das ist dieser hier.
Schalter 2 ist nach oben, das ist der ganz linke,
Schalter 3 ist auch in der oberen Position.
Wir gehen davon aus, dass die Lampe in Ordnung ist.
Wir gehen davon aus, dass die zweite Lampe auch in Ordnung ist.
Wir gehen davon aus, dass die Sicherungen,
die hier drin sind, in Ordnung sind.
Und wir gehen davon aus, dass wir die Stromversorgung von außen funktioniert.
Und dann können wir eben Zusammenhänge beschreiben, der Art,
wie wenn denn die Lampe 1 in Ordnung ist und an der Stelle wen 0,
das ist also diese Stelle hier, Spannung anliegt,
dann sollte die Lampe 1 brennen.
Oder aber, wenn, denn Schalter 2 in der oberen Position ist,
das ist das, was eingeschaltet ist.
Genau, und es ist Strom an Position W1 da,
dann sollte auch Strom an Position W20 da sein.
Ja, also wenn hier Strom da ist und der Schalter
steht in dieser Richtung, dann sollte auch hier Spannung anliegen.
In der konkreten Situation jetzt hier liegt hier keine Spannung an.
Deshalb, wenn die Prämisse falsch ist,
dann können wir über Conclusio nichts sagen, ja.
Das Linke soll ja auch Fakten sein,
Bitte? Das Linke, so eine gelinke Spalte sollen Fakten sein.
Ja. Jetzt, was bedeutet das, der erste Fakt,
also was neigt Elines, was bedeutet der?
Das ist eine gute Frage. An der Stelle bin ich
nämlich auch gestockt. Ja, es sollte wahrscheinlich... Bitte?
Wir würden keine reden. Richtig, genau deshalb habe ich
gestockt. Es soll wahrscheinlich litt sein, nicht leid.
Das ist... Da können wir uns die Regeln wiederum sparen.
Ich glaube, es wird auch nicht der Grafik entsprechen.
Wenn wir ihr wissen, dass das nicht da ist.
Ja, das stimmt natürlich, ja.
Aber das sind Beobachtungen über die Welt hier.
Das sind Beobachtungen der Welt, das sind Annahmen über die Welt.
Alle fünf, vier
Das ist eine gute Frage. Was sollen die ersten beiden
... Also in der Form ist es natürlich komisch,
wenn wir den Fakt in der Regel nicht benutzen können,
wir ihn auch wegkürzen. Ja, richtig, ja.
Selbst wenn wir jetzt wieder um den Fachhit-L1-Slot hätten,
könnten wir die erste Regel oben gleich zurückkürzen.
Weil wir es ewig schon wissen, ja.
Ja gut, wir können trotzdem noch gucken,
ob die Beobachtung konsistent ist mit unserer Wissensbasis.
Ja, nein, kann ja nicht die konsistent sein,
wenn es links kaufen. Also wenn es besteht,
ja gar nicht links, vom Implikationsfall weg,
das kann ja nicht inkonsistent werden,
wenn es ein Fall ist.
Stimmt, ja,
richtig, ja
Das könnte ja aus einem anderen Grunde brennen,
als aus dem, der da steht, ja.
Das ist, ja, gute Frage. Aber es liegt
naheliegend, dass das Beobachtung über die Welt sein sollen.
Also ich hätte jetzt nichts einfach, also wenn ich das
jetzt selber modellieren sollte, würde ich das einfach weglassen.
Also ich würde keinen Plan darüber machen. Ja, ja.
Also was man da, oder wenigstens dahingehend, im Moment, das sind ja,
ne, das ist da und ab, das ist Also,
es sind Fakten, es sind nicht nur die Variablen,
über die wir reden, sondern es ist ein Wahrheitswert, den ich dort beschreibe.
Also ich gehe immer davon aus, dass es tatsächlich wahr, die Annahmen. Also klar,
das Problem ist auch, dass die Regeln,
die sollte man wahrscheinlich dann oben rechts anders formulieren,
denn jetzt haben wir es ja so,
wir haben es ja da jetzt hinreichende Bedingungen formuliert,
wenn der Draht zur Lampe an ist, dann leuchtet sie,
es nützt uns aber ja nichts, wenn wir die Lampe beobachten,
wir müssen es ja erst notwendige Bedingungen formulieren,
wenn die Lampe beleuchtet, dann muss der Draht funktionieren,
dann können wir... Freude dafür, wir sehen,
oh, die Gampelband, dann muss die Nee,
das kriegen wir noch.
Wir können es indirekt machen, indem wir Annahmen über
die Funktionsfähigkeit der einzelnen Elemente einbauen.
Das ist genau das diagnostische Schließen, auf was das unter anderem hinausläuft.
Also es ist hier tatsächlich kausales Schließen gemeint.
Also was ist die Ursache dafür, dass das Ding brennt?
Ja, wenn der Form hilft die Regeln nicht.
Der Fakt hier für mich. Eins vorbei. Ja,
warum nicht? Also ich habe das jetzt so verstanden,
dass wenn noch jemand, wenn das Buch ist,
das Schule ist.
Ja. Und dann haben wir
wieder nicht geleuchtet
Dann wird doch leid. Ja, ja, ja,
und das ist natürlich auch, also wenn dies hier erfüllt ist,
dann muss auch das erfüllt sein.
Das ist doch... Du weißt, da links steht ja komischerweise Leitel eins.
Ja. Und das braucht man nicht, wenn bei uns
rechts nicht benutzt. Also in der Form... Ja,
das ist an diesem feinen Unterschied hängen wir uns gerade auf.
Warum? Das soll das Gleiche sein. Also
da steht links auch mit, die Haare zu geben.
Dann wird die Regelrechtsgrenze der Gegend, dann wäre ja Hintern
Implikationsfall eine Aussage, die sowieso wahr sein muss.
Die kann man dann logisch einfach kürzen
Wenn man da irgendwie eine Kürzungsmotive rüberlaufen lassen, dann wird die die rauswerfen.
Ja, wie eine Torthologie ist. Ja gut,
das ist die andere Variante wäre eben nur,
dass es irgendeine Form von, aber das macht keinen Sinn,
das sind Klauseln, die da stehen.
Das ist nur die Variablen auflisten soll. Also ich würde auch den,
wir lassen es erstmal raus, wir gucken mal,
ob wir irgendwo eine Notwendigkeit finden,
ist wieder ein bisschen ins Boot zu holen,
dann können wir das immer noch machen.
Also die Aussagen dieser Art sind also kausaler Natur,
ich habe immer Vorbedingungen, die erfüllt sein müssen,
damit eine bestimmte Konsequenz eintritt.
Und das ist eben hier der Draht muss unter Spannung sein,
die Lampe muss brennen,
Quatsch, die Lampe muss in Ordnung sein,
dann wird sie
auch brennen
Und eben dann über Schalter hinweg, wenn der Schalter in einer bestimmten Stellung ist.
Und davor liegt Spannung an, dann muss auch danach Spannung anlegen. Ja,
und von dieser Sorte sind hier ganz viele Bedingungen,
die sind alle von dieser Art,
haben wir noch mal irgendwas anderes,
das ist wieder von der Art wie hier oben,
wenn die Lampe in Ordnung ist und wenn an W4,
das ist jetzt die Stelle hier Spannung anlegt,
dann wird diese Lampe brennen.
Das ist wieder eine Schalterbedingung. P1,
das ist die Steckdose hier, wird unter Spannung stehen,
wenn W3 unter Spannung steht
Eine ziemlich einfache Implikation. Das hier gilt fast das Gleiche wie für die Schalter,
für die Schalter müssen wir eine bestimmte Stellung fordern,
dass sie den Strom durchlassen und für die Sicherung müssen wir einfach fordern,
sie müssen in Ordnung sein.
Wenn die Sicherung in Ordnung sind,
dann werden sie den Strom durchlassen und dann haben wir
auch alle Sorten von Bedingungen hier tatsächlich uns angeguckt.
Okay, jetzt geht das mit Untersuchen wieder los.
Wo ist das Fenster? Das ist es. Gut,
wir haben bisher eben nur über Ableitbarkeit geredet.
Jetzt müssen wir Eck, nein, falsch, wir haben
nur über Folgerungsrelationen geredet, folgt etwas aus einer Datenbank.
Wir wollen es jetzt auf der Maschine machen und dafür brauchen
wir eben ein Programm, was das mechanisch durchführen kann.
Und da steht dann der Ableitungsbegriff gegenüber
Also den semantischen Begriff der Folgebarkeit haben, also folgt etwas aus einer Datenbasis,
was wir im Endeffekt auf der Basis von Wahrheitswerttafeln ausrechnen können,
machen wir jetzt den Schritt, dass wir ein mechanisches Ableitungsverfahren entwickeln wollen,
mit dem wir auf der Maschine ein logische Schlüsse nachvollziehen können.
Und dafür braucht man eben den Begriff des Beweises,
also ein rein mechanisch abarbeitbarer Prozess, der zeigt,
dass eine Formel logisch aus der Businessbasis folgt und Das ist jetzt der Operator,
nur mit dem einen waagerechten Strich,
der jetzt eben das rein so ein taktische Verfahren beschreibt,
wie ich gegeben eine Datenbasis durch abarbeiten,
ganz elementarer formaler Schritte nachweisen kann,
dass eine bestimmte Schlussfolgerung daraus ableitbar ist.
Nicht mehr folgerbar, sondern ableitbar ist. Und wir hatten den Folgerungsbegriff,
der also sagt, folgt etwas aus der Datenbank,
wir haben den Ableitungsbegriff, der sagt,
können wir es ableiten aus der Datenbank und jetzt müssen wir die beiden in Beziehung setzen,
wenn denn das Ding ableitbar ist.
Wenn aus der Tatsache, dass es Ableitbarkeit ist,
auch die Tatsache folgt, dass es aus der Datenbank folgt,
dann nennen wir die Beweisprozedur im entscheidenden Augenblick fällt einem immer nicht das Wort ein dafür.
Korrekt, danke, dann ist sie korrekt. Und im
umgekehrten Fall, wenn also aus der Upleitpack, sorry,
wenn aus der Folgerbarkeit folgt, dass es auch ableitbar ist,
dann ist sie vollständig.
Oder mit anderen Worten, wenn uns unser Ableitungsverfahren bestimmte Schlussfolgerungen
nicht erlaubt, dann ist es eben ein unvollständiges Ableitungsverfahren
Ist es, obwohl es aus der Datenbasis folgt,
ist mein Verfahren nicht in der Lage, alle,
die die Schlussfolgerung daraus tatsächlich zu finden und deshalb also
der Begriff der Unvollständigkeit an dieser Stelle.
Gut, erstes Verfahren ist ein sogenanntes Vorwärtsverkettungsverfahren,
was anfängt mit einer beliebigen Aussage aus der Datenbank und
diese Aussage über die Folgerung der Implikation,
verkettet mit weiteren Klauseln in der Datenbank
Da wir also immer in der Datenbank solche Klauseln haben,
das war ja die Vereinbarung, die wir getroffen hatten.
Das müssen definite Klauseln sein, die also immer in der
Form sind, gegebenenfalls kann dieses M gleich null sein.
Dieses M gleich null heißt, dass der gesamte rechte Teil
ab dem Pfeil wegfällt und dann bleibt nur der Fakt über die Welt übrig.
Also ein Atom. Dann steht nur noch der Kopf,
also ein einzelnes Atom da. Also wir haben die Fälle M gleich null,
dann haben wir ein einzelnes Atom drin oder wir haben den Fall M größer,
null,
dann haben wir also diese Regelform mit Körper der Klausel
und Kopf
der Klausel
So, und wir nehmen also irgendeine Klausel der Art.
Wir überprüfen, ob all diese Bedingungen im Körper der Klausel
erfüllt sind. Und wenn das der Fall ist,
dann können wir auch Haar als Schlussfolgerung mit in die Datenbank aufnehmen.
Das ist die einfache Idee dabei. Und wir führen sozusagen
die Schlussfolgerung immer von den Prämissen der Implikationen zur Konklusio durch.
Und das ist nichts anderes als der bekannte Modus Ponus,
aus A und der Tatsache, dass aus A,
B folgt,
kann ich also
auf B schließen
Das ist genau die Form von Schlussfolgerung. Wir haben überprüft die Bedingung in der Implikation,
ist sie gegeben, ja oder nein, wenn ja,
dann kann ich die Conclusio als wahr annehmen.
Und das ist der einfache Algorithmus dafür. Wir starten mit
einer leeren Menge von Schlussfolgerungen. Das C steht,
glaube ich, für Conclusios. Wir haben einen großen Zyklus,
den wir durchlaufen, der als erstes immer aus unserer Datenbank
eine Klausel aussucht und zwar eine solche Klausel, für die wir nachweisen können,
dass alle Die Elemente des Körpers bereits in C enthalten sind.
Da C am Anfang leer ist, ist klar,
dass wir als allererstes in unserer Datenbank Dinge suchen müssen,
die keinen Körper haben,
wo also die Klausel nur aus dem Kopf besteht,
also nur aus einem einzelnen Atom.
So etwas wie Schalter sowieso ist ab. Davon können wir ja ausgehen,
dass das in der Welt, die wir gerade betrachten,
gilt. Und das muss eben für alle,
die die Sachen auf der, ach so, ja,
wenn wir das erstmal haben, können wir jetzt ein
Der Kopf sollte noch nicht in der Menge der Conclusios enthalten sein.
Und wenn also all diese Bedingungen erfüllt sind, können wir
den Kopf als neue Schlussfolgerung in die Menge der Schlussfolgerung hinzunehmen.
Und das wird fortgesetzt, solange es noch Klauseln gibt,
wo genau dieses möglich ist, dass ich sie anwenden kann,
dass diese Bedingungen erfüllt sind,
also die Prämissen sind alle erfüllt und die Conclusios steht noch nicht in der Menge drin,
dann fügen wir es zur Menge hinzu.
Und wenn wir dann diesen Prozess, wenn er terminiert,
Also wenn es keine weiteren Klauseln mehr gibt,
die die Bedingungen erfüllen und G ist Menge dieser,
also der Menge der Schlussfolgerungen, dann können wir sagen,
dass wir aus der Datenbank die unsere gewünschte Aussage ableiten können.
Das Auffällige an dieser Sache ist, dass es in keiner
Weise auf das Ziel guckt, wo wir eigentlich hinwollen.
Wir wollen beweisen, dass Gehgeld eine bestimmte Aussage über
die Welt,
also beispielsweise die Lampe brennt
Die gesamte Prozedur, die hier abläuft,
guckt an keiner Stelle darauf, ob das G irgendwie da
ist oder ob wir uns dem genähern oder auch die Sachen,
die wir jetzt gerade untersuchen, irgendetwas mit dem Geht zu tun haben.
Das Ganze ist sozusagen ein Suchproblem, was wir haben.
Wir werden typischerweise mehrere Klauseln dieser Art haben, die diese Bedingungen erfüllen.
Das ist ein Suchproblem mit einem gewissen Verzweigungsfaktor.
Und wir suchen in diesem Suchraum, ohne dass wir
uns irgendwie durch das Ziel irritieren lassen.
Das ist eine völlig blinde Suche, die dort durchgeführt wird
Also es könnte sehr wohl sein, dass wir wissen wollen,
ob die Lampe brennt oder nachweisen wollen, dass die Lampe brennt.
Und wir sind gerade mit Aussagen darüber befasst, ob Wasser
in die Badewanne eingelassen wurde oder die Haustür verschlossen ist.
Also die mit dem eigentlich zu beweisenden Problem,
die nicht das Geringste zu tun haben.
Und nichts in dieser ganzen Prozedur zwingt uns,
mit irgendeinem einer Faser des Hirns überhaupt dran zu denken,
was das ist, worüber wir reden.
Wir nehmen einfach Blindlingsklauseln aus der Datenbank, wir gucken,
ob diese Bedingungen erfüllt sind, wenn ja,
werden neue Schlussfolgerungen in die Menge C hineingepackt
Also eine vollständig ungesteuerte Suche und das ist natürlich die Achillesverse des Ganzen,
dass hier die Suche in Bereiche des Suchraumes losmarschiert,
die mit dem eigentlichen, mit der eigentlichen Frage,
die wir beantworten wollen,
nicht mehr das Geringste zu tun hat.
Und deshalb müssen wir uns dann also um Varianten bemühen,
wo das besser gesteuert ist.
Also, wir wenden jetzt hier mal diese Prozedur drauf an,
wir haben eine Menge von Klauseln gegeben.
Am Anfang ist unsere Menge C gleich leer.
Was können wir aufgrund welcher Klauseln zur Menge C hinzufügen
Also, wir brauchen eine Klausel, wo alle Elemente auf
der rechten Seite der Klausel bereits in C enthalten sind.
Anfangs ist C leer, das heißt, was können wir hinzufügen?
Nur eh, das ist die Einzelklausel, die diese Bedingung erfüllt.
Also, das kann tatsächlich da hinein... dort aufgenommen werden,
das soll ein E sein. So,
dann kommt ein großes Repeat, wir haben das einmal gemacht,
haben das hinzugefügt und wir sollen es fortführen mit der
unveränderten Menge von Klauseln
Was ist eine Klausel, die die Bedingung erfüllt?
Ja. Bitte? Wenn Sie jetzt mal abgemeint.
Aufgrund der vierten Klausel hier, ja? Wir wissen jetzt
eh, ist in der Menge der Konsequenzen drin.
Das heißt also, das gilt. Damit sind alle Bedingungen
im Körper der Klausel erfüllt und wir können den Kopf mit
in die Menge der Konklusius aufnehmen
Gibt es noch eine zweite Klausel,
die ja auf die Art und Weise mit aufnehmen kann?
Es ist für den Algorithmus egal. Er sagt,
nimm die erste Beste, die du findest, die die Bedingungen erfüllt.
Aber es ist nur der Vollständigkeit halber,
gibt es noch eine zweite, die die Bedingung auch erfüllt?
Nö, gibt es nicht. Also es ist die einzige,
die wir haben. Gut, was können wir als nächstes?
Nächster Durchlauf durch das Repeat? Wir haben zwei Elemente hier
bereits drin. Was können wir als nächstes aus der
Klauselmenge leben
Ja. Und Jotta. F und J, ja,
wir nehmen aber, Select heißt Nimm wirklich eins davon.
Sie haben die Wahl. Aber hier ist jetzt tatsächlich der Fall gegeben,
dass wir eben sowohl diese als auch diese Klausel hinzuziehen könnten.
Da haben wir eine freie Auswahl.
Das ist eine Form vernichteterminismus, das diskutieren wir gleich.
Nächster Durchlauf. Okay, A auf der Basis hier,
ja. Wir hätten natürlich auch jetzt hier J nehmen können.
Da haben wir wieder freie Wahl,
aber wir können es machen, wie immer wir wollen.
Das Spiel geht weiter,
gibt es noch Möglichkeiten
Also einer hatten wir, ja, wir können es,
müssen wir spielen, nicht endlos fortsetzen.
J können wir natürlich mit aufnehmen, einfach aufgrund der Tatsache,
dass C hier schon drinsteht, gibt es noch weitere Möglichkeiten.
Haben wir bereits F&K, haben wir nicht C,
haben wir D, können wir nicht.
Doch, ja, da haben wir noch, nee,
FS auch bereits drin. Also die Klausel wäre im Prinzip anwendbar,
aber F steht bereits drin und deshalb können wir sie nicht hinzufügen.
Das ist also tatsächlich die vollständige Menge, die wir daraus ableiten können.
Und das ist ein sogenannter Fixpunkt. Hier bleibt unsere Prozedur stehen,
wir stellen fest, wir gehen die gesamte Klauselmenge durch,
weitere Elemente können wir nicht mit aufnehmen und damit ist
die Verarbeitung
erstmal beendet
Wir können natürlich beweisen, dass das Ganze korrekt ist.
Also das, wenn wir es ableiten können,
tatsächlich auch das Ganze aus der Datenbank folgt.
Das wird über einen indirekten Beweis gemacht, dass man das Gegenteil annimmt.
Also wir können das ableiten, aber es folgt nicht aus der Datenbank.
Dann müssen wir irgendwann mal ein Atom in diese Menge hinzufügen,
das in irgendeinem Modell der Weste des Beises nicht wahr ist.
Das wird hier H genannt und wir nehmen an,
das H in einer ganz bestimmten Interpretationen,
die Modell ist von der Datenbank nicht wahr ist,
dann muss es also eine Klausel in der Datenbank geben von dieser Form.
Und die Bedingung erfüllen, dass alle diese Atome in der Prämisse
wahr sind und aber H nicht wahr ist in der Interpretation.
Denn H soll, das war genau die Annahme,
die wir hier gemacht haben, oder die notwendige Voraussetzung,
damit wir dieses, lässt sich nicht ableiten, tatsächlich begründen können
Und damit ist, wenn diese Bs also alle wahr sind,
aber hier daraus False folgt, ist die Implikation verletzt und
dann ist die gesamte Klausel in dieser Interpretation nicht wahr.
Und deshalb kann ich kein Modell der Wissensbasis sein,
wir haben den Widerspruch und das heißt, das kann offensichtlich nicht sein.
Deshalb muss die Annahme gelten, das ist wirklich
eine korrekte Prozedur ist. Korrekte Prozedur heißt eben,
ich bin, wenn ich es ableiten kann,
dann bin ich auch, kann ich auch davon ausgehen,
dass es folgt aus der Datenbank
Ja, wir haben schon gesehen, wie das Ganze terminiert,
irgendwann mal dadurch, dass wir immer voraussetzen,
es ist eine Menge und Dinge,
die schon in der Menge drinstehen,
werden zu einer Menge nicht mehr neu hinzugefügt,
dass irgendwann wächst die Menge nicht mehr und dann haben wir einen Fixpunkt erreicht.
Und wir können an den Fixpunkt dann den Begriff des minimalen Modells hängen,
ein minimales Modell ist also das,
was die wenigsten Annahmen über die Wahrheit von Variablen
machen muss
Also wir nehmen an, dass wir eine Interpretation haben,
wo genau die Elemente dieses Fixpunktes wahr sind und jedes andere Atom falsch ist.
Und wir zeigen dann, dass ein solches Modell eben gleich
dem Fixpunkt ist und nennen es dann minimales Modell.
Und solche minimalen Modelle sind natürlich,
beschreiben genau die Bedingungen, die gegeben sein müssen,
damit eine bestimmte Aussage aus der Datenbank ableitbar ist.
Vollständigkeit, also wenn ich etwas aus der Datenbank
ableiten folgern kann, dann kann ich es auch ableiten
Das kann man vorwärts beweisen, also wir nehmen an,
dass sich das aus der Dattmark ableiten kann.
Klar, dann heißt es,
dass das G war in allen Modellen der Datenbank ist,
dann muss es auch wahr in den minimalen Modell der Datenbank sein.
Deshalb ist G also auch im Fixpunkt enthalten,
das hatten wir eben auf der vorhergehenden Folie,
dass der Fixpunkt ein minimales Modell ist.
Und deshalb wird es auch, weil es im Fixpunkt drin ist,
wird es durch diesen Ableitungsalgorithmus, den der Button-Up-Algorithmus,
wird es auch erzeugt.
Und damit wissen wir, dass es also
auch aus der Datenbank ableitbar ist.
Das war genau das,
was wir beweisen wollten
Gut, also wir haben hier eine Prozedur, die sowohl korrekt als
auch vollständig ist. Allerdings den Nachteil mit sich bringt,
dass sie sehr ungerichtet zur Rande geht und dass wir deshalb nach Alternativen suchen müssen,
wie wir das Ziel mit einbeziehen können und für alle Freunde der Logikprogrammierung kommt jetzt der Teil,
der einem schon bekannt vorkommen wird.
Die Logikprogrammierung geht nämlich genauso vor,
dass sie das zu Beweisende die zu beweisende Aussage an den Anfang
stellt und jetzt nicht von den Axiomen durch Kombinationen von Aktionen in den Suchraum geht,
in der Hoffnung, dass irgendwann mal die gewünschte Aussage vorbeikommt,
sondern umgekehrt, das ist die Aussage an den Anfangpunkt stellt und durch Rückwärtsverkettung, das versucht auf die Informationen in der Datenbasis abzubilden.
Das ist also tatsächlich eine Suche, die zielgesteuert ist.
Und da kann es nicht mehr passieren,
dass ich in völlig abstruse Bereiche der Wissensbasis abgleite,
sondern das hat immer den Fokus auf,
der zur beweisenden Aussage
Wir gehen also immer davon aus,
dass wenn wir eine Aussage beweisen wollen,
dann wollen wir zum Schluss zu einer Aussage darüber kommen,
ob das wahr ist oder nicht wahr ist.
Hier steht Yes, man könnte auch Truhe an der Stelle dahin schreiben.
Eine solche Klausel wird dann als Antwortklausel bezeichnet und das Verfahren geht eben immer so vor,
dass ich mit dieser Ansaklaus starte und von dort aus über andere Klauseln,
die in der Datenbank stehen oder die andere Klausel aus der
Datenbank aussuche nach bestimmten Bedingungen,
die ich in diese Klausel einfüge
Also die hat auf der rechten Seite jetzt eine Konjunktion von Atomen.
Und ich muss jetzt eine Klausel suchen,
die eines dieser Atome auf der linken Seite als Kopf hat.
Das ist also AI, irgendein A, was hier mittendrin steht.
Und dieses A, was hier mittendrin steht,
kann ich jetzt durch den Körper der Klausel ersetzen.
Und das ist hier angedeutet,
ich habe also die Elemente von A1 bis AI minus 1,
das ist der Anfang dieser Kette hier, die habe ich hier drin.
Dann kommen alle die Elemente aus dem Körper dieser Klausel von B1 bis BP
. Und AI fehlt. Das ist nämlich ersetzt worden oder
wegresolviert worden
Und dann kommen all die Elemente, die auf AI folgen,
also von AI plus 1 bis AM.
Wo verstehe ich das? Linua definited clauses,
linua und das S ist das S.
Gute Frage. Sequential, glaube ich, Sequential.
Hat jemand
das Buch dabei
Da steht's drin. Ah, gucken Sie mal nach.
Irgendwo steht da, was SLD heißt. Ich würde auf die Sequential
tippen, aber da bin ich mir jetzt nicht sicher.
Die hieß früher auch Lusch-Resolution, wo ich noch weniger weiß.
Das L kommt wieder von Linnea, aber wofür das andere
steht, weiß ich nicht mehr.
Ach, selektiv, ja, okay, gut, ich muss eine Klausel auswählen.
Sorry, also nicht sequential, sondern selektiv. Gut,
also die Idee ist nur immer,
man suche sich einen Atom aus, deshalb Selektion,
finde eine passende Klausel,
die dieses Atom auf der linken Seite hat,
ersetze dieses Atom in der anderen Klausel durch den Körper der Klausel und mache mit dem Ganzen weiter.
Das Ganze terminiert, wenn ich mit einer Klausel ankomme,
also eine Anzerklausel,
die auf der rechten Seite keine Elemente mehr enthält,
sondern nur noch den Kopf hat und damit habe ich
die Wahrheit der Aussage nachgewiesen
Und wenn ich jetzt also eine Anfrage habe,
folgt diese Konjunktion von Aussagen aus der Wissensbasis,
dann muss ich eine Sequenz von solchen Anser Clauses bilden,
wobei der Startpunkt eben genau diese Anser Claus ist,
mit Yes auf der linken Seite und den Konjunktiv
verknüpften Aussagen auf der rechten Seite,
die Zwischenschritte jeweils durch Resolution eines der Atome auf der
rechten Seite der Anser Clauses entstehen und das Ganze terminiert mit
einer solchen Aussage
Das ist der Resolutionsprozess. Und dann sehen wir eben,
der wird gestartet mit der Information der Anfrage und ich resolviere
natürlich nur die Sachen, die in der Anfrage vorkommen.
Das heißt also, das Ganze ist hochgradig gesteuert durch die Anfrage,
die ich stelle. Der Algorithmus heißt, ist also,
ich starte mit dieser Ansa-Clause, ich wiederhole jetzt in einem großen Zyklus,
oder wähle irgendein Atom aus dem Körper der Ansa-Clause,
wähle eine Klausel aus der Wissensbasis,
das ausgewählte Element AI als Kopf hat,
ersetze das AI im Körper der Klausel durch den Körper der gewählten Klausel.
Und das mache so lange, bis du irgendwann mal Yes abgeleitet hast.
Dann hat man den Zielpunkt erreicht. Ja gut,
und was ist, wenn die jetzt nicht in der,
also wenn die jetzt alle nicht stimmen,
also da gibt er nie Falls zurück.
Ja, das ist implizit. Das ist implizit,
wenn er das Yes nicht ableiten kann, dann ist es,
das ist genau die Closed World, das haben schon,
wenn immer du kein positives Ergebnis ableiten kannst,
nimm an,
es ist negiert
Komforts raus. Das ist immer also die Annahme über die abgeschlossene Welt,
dass nur das gilt, was ich aus der,
was in der Datenbank tatsächlich beschrieben ist,
das falschständige Wissen über die Welt ist in der Datenbank enthalten.
Und wenn ich auf der Basis der Datenbank nicht in der Lage bin,
etwas positiv abzuleiten, dann nehme ich an,
es ist negativ, es ist, es gilt nicht.
Alles, was ich aus der Datenbank nicht ableiten lässt,
ist Fords. Das ist die Basis der Negation in
der Logikpromierung auch. Das stimmt, ja, richtig.
Das ist ein Punkt. Klar, ja,
ja,
Haben wir das eigentlich bei dem Vorhergehen, das ist jetzt
der andere Foliensatz, ich den wieder gefunden habe?
Meine Vorherigen haben wir in der Abbruchbedingung. Da war einer
dabei. Ja, gut, eine Abbruchbedingung gibt es auch.
Also eine Abbruchbedingung ist auch da. Die Frage ist nur
, ist das negative Ergebnis? Bei dem anderen sollen wir
ja welche selektieren, bis Kalimäß selektiert werden können.
Und diese Bedingung fehlt hier. Also er selektiert ja immer welche.
Ja. Er sagt nicht, was passiert für ein kleines selektiert werden können.
Weil in Deutschland haben sie noch zu lecken.
Ah, okay, ja, ja. Wie ist denn
die Bedeutung von Repeat, wenn... Repeat Antritt,
ACS in Arnser, ist halt gefährlich,
wenn es keine Antwort gibt
Dann gibt es keinen Ausstiegspunkt aus dem Repeat.
Okay, dann haben wir ein Problem, ja.
Wir haben hier zwei verschiedene Sorten von Nicht-Determinismus.
Das erste war für die Debatte im Uppro zu Dua,
dass wir eine beliebige Klausel aus der Datenbank auswählen können,
die bestimmte Bedingungen erfüllt, nämlich,
dass wir die Bedingungen in der Prämisse alle erfüllt haben und
die Conclusio noch nicht in der Menge in der Ergebnismenge drinsteht.
Und hier haben wir jetzt eine andere Form, dass wir eine Regel auswählen,
Müssen aber auch noch die anderen zur Verfügung haben.
Und die sind im Buch und hier auch auf den Folien
durch unterschiedliche Stichwörter gekennzeichnet, dass wir einerseits ein Select haben.
Select heißt, nimm irgendeines, es ist mir egal welcher.
Wobei man natürlich sicherstellen muss,
dass wenn solche Auswahlen sind, dass die im statistischen Sinne,
wenn ich also eine große Menge solcher Auswahlen habe,
dass die dann bestimmten Gesetzmäßigkeiten über Fairness entsprechen.
Also ich muss die Auswahl so machen, dass ich da
eine gewisse Varianz erzeuge über den jeweils ausgewählten Elementen.
Aber ich wähle eins davon aus und kümmere mich nicht
um die anderen
Und das kontrastiert mit einem Don't Know, nicht Determinismus,
dann läuft es auf eine tiefe Suche hinaus,
wo ich eine Variante erst mal wähle, überprüfe,
ob ich mit der beispielsweise Yes ableiten kann.
Und wenn das nicht gelingt, dann muss ich die Alternativen überprüfen.
Und das wird hier durch dieses Choose gekennzeichnet.
Also die Wahl dieses Atoms hier ist egal.
Da nehme ich irgendein beliebiges und ich bleibe dabei
Hier muss ich Chuice heißen, ich wähle eins.
Und wenn das nicht zum Erfolg führt, nämlich,
dass ich auf diese Art und Weise die Antwort Yes ableiten kann,
dann muss ich möglicherweise hier diese Auswahl rückgängig machen und mich um Alternativen kümmern.
Und das ist im Prinzip nichts anderes als eine Tiefensuche,
die ich da durchführe. Sodass wir zwei Formen von vernichteter Minismus haben,
dieser Nicht-Determinismus hier, der Don't Care, nicht Dataminismus,
kommt auch nur dadurch zustande, weil er eingebettet ist in diese große Repeach-Schleife.
Also ich komme früher oder später sowieso mal dazu,
dass sich die anderen Atome auch auswählen.
Ich muss nur eins nehmen und alles andere wird über den Repeat-Zyklus abgewickelt.
Während hier muss ich tatsächlich die Alternativen verwalten in Form eines Kellerspeichers,
beispielsweise für die Tiefensuche und wenn immer die erste Wahl,
die ich getroffen habe, nicht zum Ergebnis geführt hat,
wo ich also genau diesen negativen Fall, den wir gerade diskutiert haben,
vorliegen habe, dann muss ich bei dem Choose mich um alternative Auswahlen bemühen.
Das ist dann eben Backtracking in der Tiefensuche
Gut, also diese beiden Formen von Nicht-Determinismus,
die treten hier in dem Algorithmus auf.
Im Falle der Button-Up-Prozedur hatten wir nur diesen Don't Care,
nicht der Terminismus drin. Dann nimm irgendeine Klausel aus
der Datenbank und dort war genau der gleiche Mechanismus.
Im nächsten Schritt ist man wieder die gesamte Datenbank durchgegangen.
Das heißt also, man muss sich um die Alternativen
gar nicht kümmern, sie kommen automatisch immer wieder vorbei.
Während bei diesen Don't Non oder Nicht-Dateminismus,
da muss man die Alternativen explizit verwalten
Gut, packen wir es noch. Ja, eine Minute
haben wir doch. Also wir haben eine Datenbank,
wir haben eine Anfrage, die wir an die Datenbank stellen.
Und wir starten also mit der Anfrageklausel links, yes,
rechts die Konjunktion der Bedingungen aus der Anfrage.
Wir suchen uns ein Atom aus dem Körper der Klausel
aus, was wir resolvieren wollen.
Das ist weitgehend trivial. Wir haben auch nur,
doch wir haben zwei Möglichkeiten der Resolution, entweder nach BC oder nach EF.
Hier ist EF gewählt
Und wir suchen uns wieder einen Atom aus der rechten Seite,
aus zum Resolvieren. Wie gesagt, es ist egal,
welches wir nehmen. Das andere kommt irgendwann sowieso dran.
Wir suchen uns eine Klausel, mit der wir das resolvieren können.
Das ist die einzige, die eh im Kopf der Klausel hat.
Der Körper der Klausel ist leer. Das heißt,
wir ersetzen das eh durch nichts und dann bleibt nur das F hier übrig.
Wir brauchen eine Klausel, auf der rechten,
die F auf der linken Seite hat.
Da haben wir hier zwei zur Auswahl. In diesem Falle
ist die gewählt worden, sodass das F durch C ersetzt wird.
Und wir haben im nächsten Schritt das C über diese Klausel durch E
resolviert und dann können wir das E auf dieses E zurückführen und wir sind fertig.
Das ist also zielgerichtet auf den Zielpunkt der Suche zugesteuert.
Natürlich können wir an verschiedenen Stellen auch Fehlauswahlen treffen Liedern in
eine Sackgasse führen und dann müssen wir uns eben um die Alternativen kümmern,
dass wir andere Klauseln benutzen, um die Resolution zu betätigen.
Und hier ist mal das Beispiel, wo wir in einer Sackgasse landen und nicht weiterkommen.
Also wir starten wieder mit A auf der rechten Seite. Wir ersetzen es diesmal nicht,
oder wir resolvieren nicht mit der Klausel, sondern mit dieser,
wir ersetzen A durch B und C. Wir nehmen B davon und ersetzen es,
das ist die einzige Klausel durch F und K. C bleibt stehen,
hier vorne kommt F und K hin,
wir nehmen das F,
fassen wir an und ersetzen es durch das C mithilfe
dieser Klausel
Wir ersetzen das eh durch das,
das zählt durch das E, mit Moment. Ach,
da oben, ja, sorry, danke,
da ist es mit dieser Klausel und haben dann als
nächstes Karl zu resolvieren und dafür gibt es keine Einzelklausel,
die das möglich macht.
An der Stelle stockt das dann Verfahren und jetzt müssten wir
ins Backtracking gehen und sagen, ja,
an welcher Stelle haben wir eine falsche Auswahl getroffen
Dann müssen wir die Alternativen dazu aktivieren und erst mit anderen
Klauseln versuchen. Und da gab es also verschiedene Stellen,
an denen genau dieses passiert ist. Also einerseits hier,
gut, das war die erste Entscheidung,
die uns mal auf den erfolgreichen Weg brachte oder die und nicht erfolgreichen Weg,
aber wo wollen wir denn noch?
Hier für F hätten wir auch diese Klausel verwenden können.
Möglicherweise für die zum Ergebnis können sie selber mal durchrechnen und
das soll es dann auch für heute gewesen sein.
Schönen Dank und bis nächste Woche.