Gut, inhaltlich war gestern übrig geblieben, dass wir uns über Entscheidungsnetze unterhalten haben.
Und nachdem wir den grundlegenden Mechanismus uns angeguckt hatten und geguckt haben,
inwieweit von dem unterstellten rationalen Verhalten menschlich Entscheidungsmenschliches Entscheidungsverhalten abweicht davon,
hatten wir uns dann angeguckt,
wie man die Bewertung einer bestimmten Situation wieder noch zerlegen kann in die Bewertung von Einzelfaktoren innerhalb der Situation,
sodass man einzelne Eigenschaften einer Entscheidung bewerten kann,
hinsichtlich ihrer, des Grades,
wie wünschenswert dieses Ausergebnis ist.
Und der zweite Punkt, der übrig geblieben ist oder der Punkt,
der übrig geblieben ist, ist die Frage des zeitlichen Verhaltens.
Bisher haben wir immer von dem zeitlichen Verhalten abstrahiert.
Jetzt müssen wir wenigstens noch uns klarer darüber werden,
dass es ein zeitliches Problem geben könnte. Also,
dass der Aufbau dieses Kapitels und wie viele andere Kapitel läuft immer nach dem Motto,
wir gucken uns erstmal die einfachen Fälle an.
Der einfache Fall heißt eben möglichst
nur eine Entscheidungsvaiable
Der kompliziertere Fall war dann mehrere Entscheidungsvajablen.
Und jetzt werden wir bis zu dem Punkt kommen,
wo wir unendlich viele Entscheidungsvajablen haben,
wenn nämlich in einem kontinuierlichen Prozess fortlaufend immer wieder Entscheidungen getroffen werden müssen,
wie verhalte ich mich eigentlich weiter.
Und das dient im Wesentlichen dazu, ihn zu zeigen,
wohin es noch geht und an welcher Stelle sozusagen dann auch die aktuelle Forschung ansetzt.
Also wo der Übergang ist zwischen dem Lehrbuchinhalt,
den wir hier im Wesentlichen absolvieren und den Fragen,
die dann in der Forschung
auch bearbeitet werden
Ja, ein Agent arbeitet und er bekommt für seine Tätigkeit,
wie er dort ausführt, irgendeine Form von Belohnung,
die als Report hier bezeichnet ist.
Und da muss man sich schon darüber Gedanken machen,
was ist eigentlich ein solcher Reward in der Übung?
Gestern hätte ich beinahe gesagt,
aber nicht alle von Ihnen waren gestern in der Übung da.
Haben wir eine ähnliche Situation betrachtet, wo wir ein Spielverhalten haben,
wo ich mich auch in jedem Zug wieder neu entscheiden muss,
im Hinblick auf die Situation, wie ich mein Spielverhalten verbessere.
Natürlich ist es im Spiel so,
dass ich zum Schluss
einen Gewinnzustand erreichen will
Es ist in anderen Situationen nicht immer so. Ich kann also nicht klar definieren,
wann etwa ein Gewinnzustand für einen Pflegeroboter erreicht ist.
Die Zielstellung ist absurd. Ich kann aber sehr wohl sagen,
ob er seine Arbeit gut macht oder nicht gut macht.
Und ich kann zum Beispiel auch Vergleich mit einem anderen Pflegeroboter,
der ähnliche Arbeiten übernimmt, ob der das besser kann oder weniger gut kann.
Das ist die Art der Denkungsweise, die hier dahinter steckt.
Und jetzt muss ich also irgendwie überlegen, wie kann ich
diese Bewertung ausdrücken? Also es ist dann nicht eine Gesamt-Utility,
die ich haben will, wo ich sagen kann,
hier das Verhalten des Roboters ist so und so nützlich gewesen,
sondern ich muss fortlaufend entscheiden, wie das aktuelle Verhalten im Vergleich zu dem,
was eigentlich erreicht werden soll, sich befindet.
Und dann ist es eben nötig, dass ich auch kontinuierlich Belohnungen verteile.
Das hatte ich also gestern in der Übung auch so angedeutet,
dass man dort immer wieder einzelne Utility-Knoten hat,
die dann sagen, wie gut ist denn die Entscheidung,
jetzt eigentlich zu sehen.
Und zwar erstmal in dem lokalen Kontext, den wir dort betrachten.
Und man kann da natürlich hingehen und diese Einzelbewertungen
wieder aggregieren zu komplexen Bewertungen
Und es macht also durchaus einen Unterschied,
ob ich etwa so ein Bewertungsschema habe,
wo ich am Anfang eine große Summe in die Hand
gedrückt bekomme und dann das Ganze auf Null fällt.
Das wird bei einem rationalen Verhalten dazu führen, dass ich hier
meine Aktivitäten einstelle. Wenn ich eh nichts mehr davon habe,
dass ich mich weiter abrackere, warum soll ich das eigentlich tun?
Während so eine kontinuierliche Belohnung dann eher dafür spricht,
dass ich auch kontinuierlich versuche, die entsprechende Performanz zu erreichen.
Und das kann man wieder noch Vergleichen damit,
dass ich etwa einen Größenordnungsunterschied habe. Also wie birgt sich
dieser Größenordnungsunterschied zwischen dieser Nullbewertung hier und dem initialen Geld,
was ich da bekomme, auf das jeweilige Verhalten aus?
Oder aber ich könnte mir auch ein Belohnungsschema der Art vorstellen,
was irgendwie einem Ermüdungsprozess vorbeugen soll, womit der Zeit die Belohnung ansteigt.
Es ist zunehmend nicht mehr der Fall, aber das gesamte
Gehaltssystem des öffentlichen Dienstes war früher auf diesem Schema aufgebaut.
Man stieg mit einer Einstiegsgehaltsklasse in die Entlohnung ein
Und dann gab es alle zwei Jahre einen Aufstieg in die Nächsthöhe.
Altersstufe hieß das, glaube ich. Das ist genau dieses
Schema hier, natürlich ein bisschen anders von der Größenordnung her.
Aber das Prinzip ist dasselbe. Irgendwie ist das ja in dem Spannungsfeld von,
ich will einerseits das Gewachsene, den gewachsenen Erfahrungsschatz bewerten.
Nein, belohnen. Ich möchte möglicherweise Leute dazu bringen,
langfristig bei der Stange zu bleiben, anstatt den Job zu wechseln,
lieber über eine steigende Belohnung, Stabilität in das System hineinbringen.
Und ich möchte gegebenenfalls auch eine Abstumpfung oder Tendenz hin zur Faulheit entgegenwirken,
indem ich also deutlich mache,
für die entsprechende Leistung bin ich auch bereit, mehr zu bezahlen.
Also da sind unterschiedliche Belohnungsschemata, denkbar. Was wir
jetzt machen müssen, um das in das System hineinzubringen,
ist, dass wir eben ein Mark-Off-Modell.
Ja, wir haben also ein System, was sich durch verschiedene Zustände hindurch bewegt.
Und zwar werden diese Zustände jeweils beeinflusst von den Aktionen,
die unser Agent in der Reihe nach ausübt.
Und diese Aktionen zusammen mit dem Zustand, der da erreicht worden ist,
haben dann immer einen Einfluss auf die aktuelle Belohnung, die zur Verfügung steht.
Und jetzt können wir wieder die Techniken,
die wir aus dem Bereich der Entscheidungsnetze haben oder überhaupt aus dem Bereich der Basic-Netze haben,
hier drauf anwenden und können jetzt Wahrscheinlichkeitsbetrachtungen für die Übergänge zwischen
irgendwelchen Zuständen oder wie sich Aktionen auf Zustände auswirken da ansetzen und versuchen,
jeweils diese Belohnung zu maximieren.
Das können wir lokal machen, indem wir also die einzelnen Variablen betrachten,
aber wir können es auch global machen,
indem wir die Werte dieser Variablen irgendwie zusammenfassen.
Und da unterscheidet man jetzt eben eine ganze Reihe von Systemklassen und das
ist der Punkt, bis zu dem ich eigentlich nur kommen will.
Zum Beispiel vollständige Beobachtbarkeit. Das heißt also,
ich weiß immer, in welchem Zustand sich mein System befindet.
Das ist aber in vielen Fällen nicht realistisch
Teil die Beobachtbarkeit von solchen Prozessen üblicherweise eingeschränkt ist.
Wir haben in der Übung, so ein Spielszenario betrachtet,
da ist natürlich klar, aus der Stellung der Figuren auf
dem Spielfeld habe ich die vollständige Information über den Spielstand.
Es ist keine verborgene Information da. Aber bereits,
wenn ich ein Kartenspiel habe, weiß ich nicht viel mehr als Wahrscheinlichkeitsverteilungen,
welche Karten der Gegner jetzt gerade haben könnte.
Das ist dann also nur noch partiell beobachtbar. Und das,
die Dinger heißen dann auch, werden mit dem schönen Namen Pompt bezeichnet.
Und das ist sozusagen der Zustand, der teilweise in der
Mensch-Maschine-Interaktion auch benutzt wird, nämlich im Falle von Dialogmodellierung.
Dialogmodellierung dient also dazu, wenn ich Entscheidungen unter Unsicherheit treffen will,
Wissen über die Dialogstruktur, in die Entscheidung mit einzubeziehen.
Der Anwendungsbereich ist also gesprochene Sprache. Die Erkennung gesprochener Sprache
ist immer mit Unsicherheit behaftet. Es ist per Definition so
, aus den verschiedensten Gründen. Und ich muss jetzt,
oder ich brauche eine Informationsquelle, die mir hilft,
diese Unsicherheit zu reduzieren. Und die eine Möglichkeit ist,
wenn ich so etwas wie eine Diktiermaschine habe,
dann kann ich vorhersagen, welche Mit welcher Wahrscheinlichkeit folgen Wörter aufeinander?
Das hatten wir uns angeguckt. Das sind genau die Mark-of-Modelle,
die wir in der Übung auch betrachtet haben.
Ich schenke dort fortlaufendes, sprachliches Material. Wir haben Texte genommen,
aber man kann auch Verschriftete, Dialoge da beispielsweise zugrunde legen.
Und man schätzt jetzt immer, was ist die Wahrscheinlichkeit für
das Auftreten eines bestimmten Wortes in dem Kontext der vorangegangenen Wörter.
Das ist die eine Möglichkeit. In Dialogszenarien hat man aber die Möglichkeit nicht so richtig,
weil in vielen Fällen keine vorangegangenen Wörter existieren,
weil der andere was gesagt hat oder weil sie
beide geschwiegen haben oder was auch immer
Und in diesen Fällen habe ich nämlich genau nur einen solchen
partiell beobachtbaren Prozess zur Verfügung. Ich weiß nicht genau,
in welchem Dialogzustand der Sprecher jetzt gerade ist,
also was er wirklich Dialogzustand heißt, was will er erreichen?
Welches kommunikative Ziel möchte er mit seinem nächsten Dialogschritt erreichen?
Das ist auch für Menschen nicht immer einfach so herauszubekommen.
Also die Beispiele kennt man, dass oftmals von indirekten Aussagen,
nenne ich das jetzt mal, Gebrauch gemacht wird,
ohne explizit die Mut Motivationslage offen zu legen, sondern man überlässt es,
dem Hörer mitzubekommen, was denn tatsächlich gemeint ist.
Also das ist etwa bei indirekten Aufforderungen der Fall. Das ist aber dunkel hier drin,
als Aufforderung endlich mal das Licht anzumachen oder hier stinkt,
wir müssen das Fenster mal aufmachen,
dass man durch eine solche Äußerung eine Aufforderung an den anderen zum Ausdruck bringt,
ohne explizit zu sagen,
ich möchte,
dass du jetzt
das Fenster aufmachst
In der Hinsicht kann ich also nicht voll beobachten,
was der andere gerade will, aber ich habe unsichere Evidenz.
Das ist nämlich das, was er sagt.
Und ich muss jetzt diese unsichere Evidenz, die er sagt,
mit den möglichen Dialogzuständen, also den möglichen Absichten,
die er verfolgt, in Beziehung setzen.
Und das macht man dann mit solchen partiell beobachtbaren Entscheidungsprozessen,
wo ich jetzt eben sehen muss, wie die Entscheidungen,
das sind also die Erkennungsergebnisse, die ich habe,
inwieweit die dann über eine Bewertung zu einem Auswahl des Optimums
führen können.
Das ist eine mögliche Anwendung davon
Auch hier müssen wir wieder zahlreiche Vereinfachungen machen.
Üblicherweise nimmt man stationäre Modelle an, stationäre Modelle heißen,
dass die Übergänge zwischen den Zuständen und auch die Belohnung,
die für bestimmte Situationen eintreten, nicht zeitabhängig sind,
dass es auch für viele Zwecke nicht realistisch, aber wie immer,
wir müssen Vereinfachungen machen, damit das Ganze überhaupt praktikabel bleibt.
Zumal wir eben hier ja immer noch diese Wahrscheinlichkeitstabellen hier drin irgendwoher schätzen müssen.
Und dafür haben wir nur begrenzt viel Daten zur Verfügung.
Während wir also hingehen können und Texte, in gigantischer Menge sammeln können.
Also es gibt nichts mehr als sprachliche Textdaten. Geradezu heutzutage,
wo über Generationen hinweg ganze Bibliotheken digitalisiert worden sind,
die man für den Zweck benutzen kann.
Tatsächliche Dialogsituationen zwischen Menschen oder gar zwischen Menschen und Maschinen.
Da gibt es aber nur verdammt wenig Daten dafür,
weil sie nämlich extrem teuer sind, zu sammeln.
Die Daten aus irgendwelchen Büchern zu scannen, das kann ich
fast zum Nulltarif machen. Aber mich hinzusetzen und zu beobachten,
was Menschen in einer bestimmten Problemlösungssituation tun,
das aufzeichnen und das dann so verschriften,
dass ich es maschinell auswerten kann,
das ist extrem teuer
Und deshalb muss man also sehen, dass man die Modelle
so weit vereinfacht, dass das Ganze noch handhabbar ist.
Also, so eine Stationalitätsannahme ist zum Beispiel eine solche Vereinfachung,
die man da machen kann. Wir müssen da noch unterscheiden,
wie ist eigentlich, ja, oder wie kann ich,
kann ich eine Aussage darüber machen,
ob der Agent irgendwann mal zum Stehen kommt oder ob er
eigentlich zumindest für praktische Zwecke als unendlich fortlaufend angesehen werden muss.
Also für praktische Entscheidungsprobleme im menschlichen Leben,
obwohl das menschliche Leben Endlich ist, geht man typischerweise davon aus,
dass diese Endlichkeit keine Rolle spielt, sondern der Mensch muss funktionieren.
Und zwar über Jahrzehnte hinweg. Und deshalb kann ich also
nicht explizit darauf spekulieren, dass es irgendwann mal ohnehin zu
Ende geht und ich meine Entscheidung daraufhin festlegen kann.
Das ist anders in Spielsituationen. Also jedes gute Spiel hat
irgendeine Regel, wann das Spiel zu Ende ist.
Ansonsten würden die Leute da ewig sitzen. Und wenn es
aus den Spielregeln, den normalen Spielregeln selber nicht hervorgeht,
dann werden künstliche zusätzliche Spielregeln eingeführt,
die ein Ende erzwingen.
Also beispielsweise Schach ist sein Beispiel
Endspiele-Situationen konstruieren, wo die Figuren beliebig lange sich bewegen können,
ohne dass ein Spieler einen Vorteil gegenüber dem anderen erzielen kann.
Dafür wird dann eine Sonderregel eingeführt, die sagt,
wenn so und so viele Zugwiederholungen passiert sind und es sind nicht dazu gekommen,
dass eine Figur geschlagen wird, dann wird künstlich abgebrochen.
Das ist eine Regel, die sozusagen erzwingt, dass es ein Ende des Spieles gibt.
Das ist etwas, was beim biologischen Vorbild,
Gott sei Dank, in der Form nicht existiert.
Und was man jetzt unterscheiden muss in zwei Klassen,
einerseits entweder es geht unendlich so viel weiter,
dann haben wir eine, das nennen wir das,
dass der Horizont unendlich weit entfernt ist.
Wir können also nicht sagen, wann die Entscheidungssequenz irgendwann mal
zu Ende ist. Oder wir gehen davon aus,
sie wird irgendwann mal zu Ende sein,
aber wir wissen noch nicht, wann.
Dann heißt es Indefinite Horizon Problem. Und in den meisten
Fällen führt man also dieses unendliche Horizontproblem auf dieses Horizontproblem zurück.
Gleiches Beispiel Spracherkennung. Natürlich kann ich unendlich lange reden.
Professoren tendieren dazu unendlich lange zu reden. Das gehört zur
Berufskrankheit dazu. Und ich müsste eigentlich davon ausgehen,
er wird nie wieder aufhören zu reden
Für praktische Zwecke mache ich immer die Annahme,
dass ich Einheiten in der Sprachsignal habe, die ich separat betrachten kann.
Das ist dann je nach Terminologie, wird das als Äußerung
oder so etwas bezeichnet. Oder teilweise auch, dass ich
komplexe Äußerungen noch mal in kleinere Äußerungen zerlege und die separat behandle.
Also in vielen Fällen wird auch hier die Vereinfachung gemacht.
Selbst wenn man eigentlich sagen müsste, wir haben ein solches Problem,
wir reduzieren es darauf. Das haben wir insbesondere dann gesehen,
wenn wir die basischen Netze auf dynamische Basics erweitert haben.
Da passierte nämlich genau dieser Rollout-Prozess, dass wir diese Zeitscheiben
für jeweils einen Zeitpunkt eng mal hintereinander gesetzt haben,
um ein komplexes Spaceship-Modell zu kreieren.
Dort machen wir genau eine Annahme darüber, dass das ganze Ding wohl endlich sei.
Es ist sogar noch strenger. Wir machen sogar die Annahme,
dass es wirklich endlich ist. Und zwar übernehmen wir dort
für den Rollout-Prozess des Modells die Länge der Input-Sequenz.
Das heißt, wir zwingen das System irgendwann mal zu sagen,
ich betrachte jetzt diesen Teil des Sprachsignals.
Und von dem weiß ich erst so und so lang,
dann höre ich auf.
Eigentlich müsste ich sagen, ich weiß es nicht.
Klassische Hidden Mark-Off-Modelle gehen von dieser Situation aus
Wir haben keinen Rollout-Prozess da drin,
sondern die haben eben genauso ein zustandsbasiertes, riesigen,
wo sogar Zyklen da drin zugelassen sind,
also dass auf jedes Wort wieder jedes andere Wort folgen kann,
nur mit unterschiedlicher Wahrscheinlichkeit.
Und das kann potenziell unendlich lange fortführen, für fortgeführt werden.
Ich weiß, irgendwann ist das Sprachsignal mal zu Ende,
aber ich kann nicht sagen, wann es eigentlich zu Ende ist.
Also hier unterscheiden sich die einzelnen Ansätze darin,
wie stark die Annahmen sind,
die man über die zeitliche Begrenztheit einer Beobachtung macht
Was man aber auf jeden Fall machen muss, ist,
dass man die Bewertung kontinuierlich ermitteln muss. Es geht nicht,
dass ich sage, ich warte erst mal,
bis das Sprachsignal vorbei ist und dann gebe ich eine Bewertung ab,
sondern ich brauche die Bewertung bereits zwischendurch,
aus zwei Gründen, der eine steht hier,
der eine ist, ich weiß gar nicht,
ob der Agent jemals in einen Endzustand kommt.
Das heißt, wenn ich bis zum Endzustand warte, kann es sein,
dass ich bis Ultimo warten muss und der zweite Grund ist,
dass ich natürlich Zwischenergebnisse irgendwann mal fixieren möchte und muss wegen der Ressourcenbeschränkungen
Das muss ich natürlich auf der Basis von zwischen Bewertungen machen.
Anders geht es nicht. Wenn ich also erst mal
eine Gesamtbewertung haben will, müsste ich alle Alternativen,
die ich zur Interpretation einer Handlungssequenz habe, alle aufbewahren, alle bewerten.
Und ganz zum Schluss könnte ich sie miteinander in Beziehung setzen
und könnte sagen, was davon ist die Beste gewesen.
Wenn wir also so etwas wie menschliches Sprachverhalten haben, wir hören kontinuierlich mit.
Wir können nicht sagen, wir warten erst mal ab,
bis der da zu Ende gekommen ist und hinterher überlegen wir uns,
was er hat da endlich gesagt.
So funktioniert es nicht. Wir müssen ständig fortlaufend in der Lage sein,
Entscheidungen zu treffen, welches Wort ist gesagt worden.
Und wir müssen sie bewerten können, im Hinblick darauf,
wie sicher sind wir uns, dass er das wirklich gesagt hat.
Oder auch möglicherweise, wie sehr gefällt uns das,
was er da gesagt hat. Das könnte es auch sein
. So, und damit steht also die Frage,
wie kann ich jetzt hingehen und die Einzelbelohnungen zu einer Gesamtbelohnung zusammenfassen.
Und man könnte also primitiverweise so vorgehen, dass man wirklich sagt,
man summiert hier eben bis ins Unendliche über die Einzelwertungen
und kriegt dann eben eine Gesamtbewertung.
Das hat eben das Problem, wenn Das wirklich unendlich lange Beobachtungsfolgen sind,
dann werde ich nie zu einer Bewertung kommen.
Ich kann, ach so, das hat auch das Problem,
wenn dies endliche Bewertungen sind hier, dann wird die Bewertung immer unendlich groß.
Immer. Und dann kann ich die Bewertung nicht mehr zur Auswahl zwischen verschiedenen Entscheidungsalternativen heranziehen.
Da müsste ich sicherstellen, dass sich unterschiedliche endliche Werte habe,
die ich in eine größere kleine Beziehung setzen kann.
Aber wenn ich fünf Werte gleich unendlich habe,
dann bin ich nicht mehr in der Lage zu sagen,
welches davon ist das Bessere unendlich als das andere
Also das ist in vielen Fällen nicht angemessen. Ich könnte natürlich auch dann
das Ganze normieren, wieder auf die Anzahl der Werte,
die ich habe und dann einen Grenzwert bilden, den ich unendlich gegen unendlich gehen lasse.
Aber auch das setzt eben voraus, dass ich hier in der Lage bin, ausreichend lange zu warten. Und das,
was man typischerweise macht, ist dann, dass man einen Discount-Faktor einführt,
der Discount-Faktor ist dieses Gamma, dem Kia,
das Ding ist aus gutem Grund zwischen 0 und 1 gewählt,
zwischen 0 und 1 gewählt, heißt nämlich,
wann immer ich jetzt hier Potenzen steigen,
der mit steigendem Exponenten wähle,
werden die Dinger systematisch kleiner und konvergieren auch.
Das kann man ja nachweisen. Und das hat die angenehme Eigenschaft,
dass ich eben nicht unendlich lange warten muss, bis ich eine Bewertung habe,
sondern mit überschaubaren Fehlern relativ schnell zu einer Gesamtbewertung komme.
Wenn wir also jetzt diesen Ausdruck hier haben,
wir haben immer für die Einzelbewertungen diesen Discount-Faktor,
der dafür sorgt, dass die vierte Bewertung hier hinten nur
noch wenig Einfluss auf die Entscheidung hier vorn haben wird.
Denn dieser Faktor hier, Gamma hoch 3,
ist wesentlich kleiner als dieses Gamma und ist auch kleiner als dieses Gamma-Quadrat.
Das kann ich jetzt wieder ausklammern,
indem ich also immer Teil Partialsummen bilde hier, indem ich,
und aus diesen Partialsummen kann ich jetzt einen Gamma ausklammern.
Das ist im nächsten Schritt dargelegt. Also ich habe hier dann,
da ist es Gamma vor die Klammer gezogen und habe hier drin einen Klammerausdruck,
der sich von dem ersten nur dadurch unterscheidet,
dass alle Indizes um eins größer geworden sind.
Da während hier R1 stand, steht jetzt hier A2,
wo hier A2 steht, steht hier R3, wo hier R3 steht,
steht hier A4 und so weiter und so fort.
Das heißt, aus diesem Ding kann ich jetzt ganz einfach
eine rekursive Berechnungsvorschrift machen und damit sind wir bei dem Punkt,
wo wir die Bewertung immer aus der Bewertung des Vorhergangszustandes errechnen können und gar nicht mehr unendlich lange warten müssen,
bis wir auf eine Bewertung kommen.
Also, wir haben immer die aktuelle Bewertung und dann müssen wir
nur einmal Gamma mit der Bewertung des nächsten Zustandes multiplizieren.
Und dann ist die Frage, wie weit muss man bei dem ganzen Prozess in die Zukunft gucken?
Und da kann man dann relativ einfach zeigen,
dass weil diese Faktoren hier relativ schnell gegen null konvergieren,
dass es ausreicht, eine endliche Anzahl von ihnen zu betrachten,
dann wird der Einfluss so gering,
dass es sich nicht mehr lohnt, darüber sich Gedanken zu machen.
Es wird auf die Entscheidung keinen Einfluss mehr haben Und dann
hat man eine schöne Approximation, wo man sagen kann jetzt,
wir brauchen nur einen Zeithorizont von 2, 3,
4 Entscheidungsschritten, um zur hinreichend sicheren Entscheidung zu kommen.
Und das ist auch der typische Fall des Kampfes der Spielautomaten,
also der Schachautomaten beispielsweise, dort wird die Leistungsfähigkeit immer dahingehend beschrieben,
wie viele Spielzüge in die Zukunft können sie eigentlich berechnen.
Und das hier gibt uns sozusagen einen Weg abzuschätzen,
ab wann es sich nicht mehr lohnt, weiterzurechnen,
weil der Einfluss auf die Entscheidung so gering geworden ist,
dass er im Rauschen untergeht
Gut, das war ein Ausblick in die Welt, wie jetzt Entscheidungen über der Zeit.
Und das ist ja eigentlich die Situation, wo wir hinwollen,
dass wir künstliche Systeme haben, die wie die biologischen Systeme
auch in Raum und Zeit existieren können und nicht nur in Raum.
Und eines der Hauptprobleme, bei der Bauen künstlicher Agenten ist
eben immer, wie kriegt man ein vernünftiges Zeitverhalten hin?
Und an dieser Stelle haben viele Ansätze, eine echte Schwachstelle.
Also ein Großteil der Ansätze zum maschinellen Lernen ist an der Stelle
blind auf einem Auge. Also, es ist sehr,
sehr schwierig, dieses Zeitverhalten in neuronale Netze zu implementieren.
Es ist sehr schwierig, dieses Zeitverhalten mit Support-Vector-Maschinen nachzuvollziehen.
Es ist extrem schwierig, das Ganze mit Entscheidungsbäumen zu machen.
Das ist auch ein maschinelles Lernverfahren. Es ist ein propabilistisches
Verfahren und im Endeffekt kann ich all diese Wahrscheinlichkeiten hier auf Daten schätzen.
Hier hat man also einen Ansatz, wo ich dieses Zeitverhalten auf
relativ natürliche Art und Weise in den Entscheidungsprozess mit integrieren kann.
Und das ist in anderen Fällen eher auf eine Art und Weise zu erreichen,
Ja, die an vielen Stellen, wie ein Hack aussieht.
Also der typische Weg ist immer, dass sich ein Zeitfenster über,
die Beobachtung, die Entscheidungssequenzen und so weiter lege und dann
die Einzelbeobachtung in dem Zeitfenster in ein Gesamtentscheidungsprozess einbeziehe.
Das heißt dann eben,
wenn ich atomar etwa 100 Merkmale zu betrachten habe,
muss ich jetzt in meinem Zeitfenster, sagen wir mal,
der Länge 50, 5000 solche Merkmale betrachten.
Und die gehen dann alle in den Entscheidungsprozess ein.
Und dann bewege ich das Zeitfenster eins weiter und wende das gleiche Verfahren wieder an.
Aber was ich nur schlecht oder die Abhängigkeit der einen Entscheidung
von der anderen Entscheidung, die wir hier immer Nun,
die wir hier immer über diese Markthoff-Kette ja drin haben.
Hier drin steckt die, wie ist dieser Zustand von diesem Zustand
beeinflusst und wie wirkt sich demzufolge eine Aktion auf diesen Zustand aus?
Diese Abhängigkeiten, die kriegt man dort bestenfalls implizit dadurch hin,
dass die Beobachtungen eben immer auf partiell überlappende Zeitfenster gucken.
Also wenn ich das erste Zeitfenster so habe,
dann sieht das sein Nächste eben so aus.
Und wir sehen dann eben, wenn wir hier einen Schnitt durchlegen,
wir machen sehr, sehr oft immer wieder dasselbe.
Und das halte ich eigentlich für einen relativ unplausiblen Ansatz
Wir nach wie vor der Weg der zustandsbasierten Modellierung im Bereich der basischen Netze,
der wesentlich natürlicher Ansatz dafür. Ist vielleicht kein Grund,
oder ein Grund dafür, dass in den Bereichen,
wo es wirklich auf die Betrachtung der zeitlichen Abfolge ankommt.
Und Sprache ist eben genau ein solches Phänomen.
Sprache existiert ausschließlich in der Zeitdimension. Also gesprochene Sprache,
sorry, geschriebene Sprache existiert natürlich in der zweidimensionalen Welt auch.
Aber sie wird auch aufgelöst in eine zeitliche Dimension.
Wenn wir lesen, wenn wir schreiben,
bewegen wir uns auch sequenziell durch die Beobachtung hindurch
Dass dort solche Modelle relativ populär sind nach wie vor.
Und dass sie dort auch erstmalig überhaupt untersucht worden sind in einer praktischen Anwendung.
Gut, das soll es dazu gewesen sein.
Wir machen jetzt einen großen Schritt zurück. Ich habe ja,
weil es sich aus inhaltlichen Gründen anbot,
einen großen Bogen aufgespannt, der vom Inferenz,
also vom Riesening, unter Unsicherheit über die Frage,
Unsicherheit in zeitlich strukturierten Beobachtungen bis hin zu diesen Entscheidungsnetzen und so weiter einen ganz großen Bogen aufgespannt hat,
der im Prinzip durch eine einheitliche Methodik gekennzeichnet ist.
Das ist im Endeffekt, sind es die Grundregeln der Wahrscheinlichkeitslehre,
die an den Stellen immer wieder aufgetaucht sind,
die wir nur hier in einem relativ zum Schluss,
zumindest sehr komplexen Zusammenhang, betrachtet haben.
Wir konnten, das haben wir gesehen,
dieses Verfahren auch anwenden, um Planungsprozesse zu machen.
Also Planung heißt ja immer,
ich muss eine Entscheidung treffen,
welche Handlungsoptionen
ich wählen möchte
Und wir haben Entscheidungsvariablen gehabt. Wir konnten Werte für diese Entscheidungsvariablen festlegen. Wir konnten schauen,
wie im Gesamtzusammenhang des Modells eine solche Entscheidung bewertet wird,
ob sie eher gut oder eher schlecht ist.
Das ist im Prinzip ein Planungsprozess, der unter der Unsicherheit auch anwendbar ist.
Das Problem hierbei ist nur, dass die Modelle,
die man dort betrachtet, aus Aufwandsgründen nicht sehr kompliziert werden dürfen.
Also nur um das mal zu illustrieren,
vielleicht habe ich es auch schon mal erzählt,
wir haben also das tatsächlich mal gemacht,
dass wir Dynamische Best Chainette zu versucht haben,
anzuwenden auf die asynchrone Bewegung der Artikulatorin beim Sprechen.
Und das auszuverwenden für die Spracherkennung. Das Ganze ist daran gescheitert,
dass wir Modelle einer bestimmten Komplexität überhaupt nicht mehr realisieren konnten.
Weil die Implementierung, die da zur Verfügung stehen,
aus guten Gründen überall Restriktionen eingebaut hatten,
also mehr als drei Zustandsvariablen waren nicht zugelassen.
Da wir aber fünf verschiedene Artikulatoren haben,
die wir sowohl akustisch als auch visuell beobachten können.
Nicht alle können wir visuell beobachten,
aber beobachten können wir sieben Stück davon.
Wir hätten also gern sieben Zustandsvariablen gehabt,
allein wir konnten sie
nicht verwenden
Aus Aufwandsgründen. Und das heißt also, hier kommt man ganz,
ganz schnell an die Grenzen dessen, was noch praktikabel ist.
Und traditionell sind in der künstlichen Intelligenz, aber Planungsverfahren untersucht worden,
die auch mit relativ großen Planungsproblemen noch sehr gut zurande kommen.
Und solche Planungsprobleme hat man ganz, ganz zahlreiche in ganz praktischen Anwendungen.
Und die sind aber größtenteils nicht zu sehr unter Unsicherheit,
sondern da ist die Planung in ganz,
oder sagen wir mal, als sicher angenommenen Dogenen.
Also beispielsweise, wenn ich hingehe und eine Reiseplanung mache und
mich durch den Fahrplan durchführt, Sitze, gehe ich davon aus,
dass die Züge so fahren werden, wie im Fahrplan angegeben.
Ich gehe so davon aus, dass die Flugzeuge so fliegen werden,
wie im Flugplan angegeben und so weiter.
Da bin ich nicht bereit, im Planungsprozess bereits Kompromisse einzugehen.
Das waren bei der Planumsetzung, das kennt jeder, Probleme auftreten, das ist eine andere Angelegenheit. Und solche Planungsprobleme sollen jetzt hier im Mittelpunkt stehen. Und eine,
nur mal um ein Beispiel zu geben, das ist nichts,
was hier im Hause gemacht worden ist,
das ist eine Entwicklung in Freiburg gewesen, eine typische Anwendung dafür ist,
Die Liftsteuerung, die Steuerung eines komplexen Lift-Systems,
und da muss man sich, und das vorstellen,
was hier nicht mit House F zu vergleichen ist,
sondern wir nehmen irgendein Hochhaus, wo ich sechs,
sieben, acht, neun, zehn Lifte nebeneinander habe,
die ständig hoch und runter fahren,
die teilweise Stationen auslassen und bis zum zehnten Stock erst mal durchfahren und erst ab dort überhaupt wieder halten,
damit man in akzeptabler Zeit überhaupt da hochkommt.
Und wie ich jetzt diese Lüfte koordiniere, das heißt,
wenn eine Anforderung im fünften Stock kommt,
welchen Lift ich in den fünften Stock schicke,
ist ein Planungsproblem
Und ich muss versuchen, das Zusammenwirken dieser Fahrstühle so zu organisieren,
dass möglichst viele Leute in kurzer Zeit durchgeschleift werden und dass keiner entsatzlich lange warten muss.
Das sind die Randbedingungen dafür. Und dann habe ich ein
komplexes Planungsproblem und dieses komplexe Planungsproblem muss ich dummerweise auch in Echtzeit lösen.
Es nützt nichts, wenn ich das einen Tag im Voraus
machen will oder wenn ich einen Tag brauche,
dann habe ich den Plan am nächsten Tag, nein,
ich muss jetzt die Lösung haben.
Also das sind so typische Anwendungen und von der Sorte Anwendungen
gibt es also im Technikbereich jede Menge und das sind eher die,
ist die Klasse von Anwendung, die wir hier haben.
Also es geht jetzt hier darum, dass wir Na nun? Ah,
dass wir, das ist dieses Schema,
was wir ganz anfangs mal hatten,
was ich aber immer wieder vergessen habe anzuwenden,
dass wir jetzt hier eben gucken,
während wir bisher eben oder in ihrem letzten Abschnitten immer stochastische Dynamik betrachtet haben,
gucken wir uns jetzt eben deterministische Prozesse an.
Wo ich davon ausgehe, wenn ich eine bestimmte Aktion mache,
dann werden die, wird das Ergebnis diese Aktion auch wie versprochen sein.
Und da wird nicht irgendwie noch eine Unschärfe dazwischen sein,
die dafür sorgt, dass in 95 Prozent aller Fälle,
sagen wir in 5 Prozent aller Fälle,
das Ergebnis von dem Gewünschten dann doch wieder noch abweicht
Wir werden auch davon ausgehen, dass das Ganze vollständig beobachtbar ist.
Wie ich hatte gerade ein Beispiel dafür angegeben oder diskutiert,
dass man eben auch über teilweise beobachtbare Sachen reden kann.
Das geht hier per Definition nicht. Diese Techniken sind
nur anwendbar, wenn wir eine vollständig beobachtbare Welt haben.
Was haben wir noch für Sachen? Ja, wir können keine Präferenzen angeben.
Das ist etwas, was wir ja in unseren Entscheidungsnetzen machen konnten.
Da konnten wir eine Utility-Funktion angeben und die Utility-Funktion ist nichts
anderes als eine komplexe Beschreibung für Vorlieben, die jemand hat.
Wir schauen uns auch nur einzelne Agenten an, das Wissen,
was wir brauchen zum Plan, muss gegeben sein,
zum Beispiel durch einen Fahrplan, im Gegensatz zum Lernen.
Wir gehen jetzt davon aus, dass wir perfekte Rationalität haben,
im Gegensatz zur begrenzten Rationalität, wo wir also Ressourcenbeschränkungen haben,
die dafür sorgen, dass wir bestimmte Berechnungen nicht mehr durchführen können.
Gut, Wir bewegen uns hier auf dieser,
der Ebene der Prozesse, die zweimal zu einem Ende kommen,
wo wir aber nicht vorhersehen können, wie viele Stirette wir brauchen,
ehe wir dieses Ende erreicht haben.
Also das ist dieser In-Definitorison, den wir gerade besprochen haben.
Und wir werden Beschreibungen wählen, die nicht auf der Ebene
der expliziten Zustände sind, denn dann wäre das Planungsproblem trivial.
Dann sind wir auf der Ebene, dass wir jedem Zustand
einen Namen geben können und dann ist es ein einfaches Grafensuchproblem,
wie wir von einem Staatszustand zu einem Endzustand kommen können.
Das ist nicht die Sorte von Problemen, die wir hier haben.
Wir wollen eher beschreiben, welche Eigenschaften hat ein bestimmter Zustand und was,
welche Eigenschaften soll unser Zielzustand haben, sodass wir ihn als guten Zielzustand akzeptieren.
Gut, wir betrachten auch nicht,
obwohl es eigentlich nötig wäre, hierarchische Modelle zu betrachten,
betrachten wir nur den einfachsten Fall von flachen Modellen,
wo wir ein Modellierungs- und Lösungsraum haben,
in dem wir uns bewegen.
Warum es Gründe gibt nach Hierarchien zu gucken,
das können wir uns im Einzelnen auch angucken.
Gut, also was heißt Planung dann? Ich muss wissen,
was kann ich? Ich muss wissen, was will ich erreichen? Ich muss wissen,
wie es die Welt beschaffen und dann unter diesen Bedingungen möchte ich entscheiden,
was ist zu tun, damit ich tatsächlich Dieses Ziel,
was ich hier habe, verwirklichen kann.
Und da gibt es eine Reihe von Annahmen, die wir
auf der anderen Folie schon gesehen haben, also eben deterministisch.
Das, was die Handlung verspricht, das tut sie auch.
Und ja, man weiß, es gibt immer Ausnahmen dazu.
Das sind solche Sachen, der Fahrplan verspricht mir,
dass ich in Kassel halte.
Der Zug hält leider nicht in Kassel, sondern Rausch durch.
Sowas passiert im realen Leben. Letztens habe ich sogar mal
eine Nachricht gelesen, dass da unten in kurz vor München
Da habe ich irgendwie die Wahl, ob ich die schnell,
die ICE-Trasse benutze oder unten durch, ich glaube, das Altmühltal durchfahre.
Und da war leider eine Weiche falsch gestellt.
Und dann ist der ICE die falsche Strecke gefahren.
Passiert, ja. Shit happens. Und das ist auch
nicht wieder rückzuholen. Also es gibt durchaus Abweichungen von dem,
was der Plan verspricht. Aber ich gehe im Standardfall davon aus,
es wird nicht passieren. Ich gehe auch davon aus,
dass kein anderer mir die Welt kaputt macht.
Ich gehe davon aus, die Welt ist so,
wie sie ist. Und ich bin der Einzige,
der den Zustand der Welt ändern kann.
Also insbesondere gibt es keine Opponenten,
die versuchen mir systematisch Hindernisse in den Weg
zu legen
Ich weiß auch, das ist die volle Beobachtbarkeit,
ich weiß, in welchem Zustand sich die Welt befindet.
Da sind keine geheimnisvollen Sachen, wie etwa verborgene Karten,
die gibt es da nicht. Und ich nehme noch eine Diskritisierungsannahme,
dass sich die Zustände in der Welt habe und
ich bewege mich von einem Zustand zu dem anderen.
Das ist für viele Zwecke durchaus plausibel,
ein Fahrstuhl bewegt sich von einem Stock zum anderen.
Ein Verkehrsmittel bewegt sich von einer Haltestelle zur nächsten und so
weiter und so fort. Und selbst wenn es nicht so ist,
kann ich das künstlich annehmen, dass wenn ich also eine Autoplanung mache,
ich mich von Kreuzung zu Kreuzung bewege
Das ist auch eine Eskritisierungsannahme. Und dann sind,
die Ziele sind eben jetzt, weil wir nicht mehr atomare Zustände betrachten,
sondern sind Zustandsbeschreibungen in Form von Prädikaten,
wo wir also sagen, wie soll ein Zustand beschaffen sein,
dass wir ihn als Zielzustand tatsächlich akzeptieren.
Und unter den Bedingungen wollen wir jetzt eben das Ziel erfüllen.
Hups. Ha, ich hatte wieder ein paar Mal hintereinander techen müssen.
Leider Gottes ist das Inhaltsverzeichnis verschwunden. Was wir machen,
ich kann es sagen, sind relativ, es ist überschaubar,
wir führen als erstes eine einfache Repräsentation ein,
wie wir die Aktionen in einem Planungsproblem beschreiben können.
Wir verwenden dann, das ist die sogenannte Strips-Repräsentation. Dies ist eine sehr,
sehr frühe Erfindung der künstlichen Intelligenz gewesen. Ich würde fast sagen,
irgendwann in den 60er Jahren des letzten Jahrhunderts, wie überhaupt alles,
was heute hier passiert, Good Old Fashioned AI ist.
Im Gegensatz zu dem, was wir vor kurzem gemacht haben,
diese Anwendung von Möglichkeiten mit Unsicherheit umzugehen, die sind erst relativ jüngerer Natur.
Zumindest in diesem Bereich der intelligenten Systeme. Hier, das sind Sachen,
die sind sehr gut abgehangen und werden schon seit Jahrzehnten dieser Form zumindest gelehrt. Wir werden dann diese Repräsentation,
die Strips-Repräsentation in drei verschiedenen Planungssystemen oder Ansätzen zum Planen angucken uns,
und das zwar ist das erste, ein Vorwärtsplan,
wo wir sagen, in welchem Zustand befinden wir uns,
da hinten ist der Ziel zustande, wie kommen wir von hier nach dahin.
Wir werden uns das Gegenstück dafür angucken und begründen,
warum der das ist, überhaupt betrachten wollen,
wo wir sagen, ich befinde mich am Zielzustand,
ich weiß, wo ich hin will,
da hinten ist mein Staatszustand,
wie komme ich jetzt oder wie muss ich den Weg vom Staatszustand hierher aufbauen,
indem ich schrittweise von meinem Zielzustand aus rückwärts rechne,
was sind die Voraussetzungen dafür,
damit ich
den Zielzustand überhaupt erreichen kann
Das sind die sogenannten Regressionsplaner. Und dann gucken wir uns noch an,
ob wir dich das ganze Planungsproblem als Constraint-Settisfaction-Problem betrachten können.
Und tatsächlich geht es. Und das ist eine Möglichkeit,
um viele der Artefakte, die die Alternativen ansagen oder die
frühen naiven Ansätze zum Planen haben, wie man die überwinden kann.
Gut, also zugrunde liegt immer der Aktionsbegriff und Aktion heißt immer,
oder deterministische Aktion heißt immer, es ist eine partielle Funktion,
die uns aus Zuständen der Welt,
in Zustände der Welt führt.
Warum partielle Funktion
Er sagt dann, dass das, dass wir das Ende
nicht genau wissen. Nee, nee, nee,
wir haben, was wissen wir nicht genauer?
Ich bin nicht wann das Ende ist. Wir wissen was?
Das war damit nichts zu tun. Wir gucken jetzt eine
einzelne Aktion an. Wir interessieren uns gar nicht davon,
was, was, wo wir hinwollen,
sondern es ist erstmal nur die Frage,
was können wir im Moment tun?
Das ist eine Aktion. Warum ist eine Aktion
eine partielle Funktion und keine Totale? Ja,
aber sehr einzelne Stadt als anderen Wechsel und nicht mit
einem Werkzeug
Das ist nicht das Wesen einer, was ist eine partielle Funktion?
Da muss man einen Schritt zurückgehen in der Mathematik.
Natürlich können wir uns nicht in Beliebigen in vielen Zuständen zugleich bewegen.
Das ist nicht der Fall. Aber haben Sie mal
ein Beispiel für eine totale Funktion? Ja, ein Großteil
unserer mathematischen Funktionen, die wir betrachten, sind solche.
Also wenn ich, weiß nicht, Y ist gleich x
Quadrat habe, ist das eine totale Funktion.
Warum? Ja. So wie ich befrage,
ob Patientenfunktionen sowas wie dieses Curry
Nein, das ist, wenn ich Dimensionen aus der Betrachtung raus beziehe.
Hier, wir lassen die Dimensionalität konstant, da wird nicht dran gedreht.
Partiell heißt nicht jedem Wert, wird ein Funktionswert zugewiesen.
Für einige gibt es einen solchen nicht. Das ist eine
partielle Funktion. Und wieso ist das jetzt eine partielle Funktion?
Ja, eigentlich von jedem wenigen Zustand aus in die Richtung.
Das ist genau der Punkt. Wenn ich mich in einen bestimmten Zustand befinde,
sind nicht alle anderen Zustände der Welt gleichzeitig erreichbar.
Also wenn ich jetzt mich hier befinde und ich möchte
als nächstes auf dem Rathausmarkt sein,
es wird keine einzige Aktion geben,
die dies realisiert
Außer Beamen oder irgendwelche Fantasievorstellungen. Aber real geht es nicht,
ich muss es in eine Sequenz von Teilaktionen zerlegen,
eine einzelne Aktion und wir reden hier über eine einzelne Aktion,
ist nicht in der Lage, beliebige Ziele zu erreichen.
Das ist die Grundlage des Plans und deshalb ist es eine partielle Funktion.
Ja, weil nur bestimmte Zielzustände von meinem jetzigen Zustand aus überhaupt erreichbar sind. Gut,
wir haben dann Vorbedingungen, eine Aktion, die sagen,
wann immer die Aktion tatsächlich ausgeführt werden kann und wir müssen
die Wirkungen der Aktion irgendwie angeben können,
das sind die Eigenschaften, die da jeweiliger Zustand,
den wir erreichen können,
dann besitzen soll
Das ist das Beispiel, was uns in der nächsten Stunde
ungefähr verfolgen wird. Ich mache das mal so,
dass sich das wenigstens, dass die Grafik kopiere,
ich bin auch nicht in der Lage,
mir diese ganzen Abkürzungen zu merken, die hier verwendet werden.
Also wir haben vier Orte in unserer Welt,
das ist einerseits eine Cafeteria, die hier ist ja als Coffee-Shop bezeichnet.
Wir haben Sams Office. Wir haben hier
ein Mailroom
Und wir haben hier ein Lebroom. Und wir haben die Möglichkeit,
auf diesen Wegen uns zwischen den verschiedenen Orten hin und her zu bewegen.
Das ist erstmal die geometrische Grundlage des Planungsproblems und dann
gibt es zwei zusätzliche Dimensionen. Das eine ist,
der Roboter kann Kaffee transportieren und dann hat er,
gibt es eben ein Merkmal,
der Roboter hat den Kaffee und es gibt Aktionen,
ladet ihr den Kaffee drauf und lade ihn wieder ab.
Das sind die beiden Aktionen für Kaffee und das Gleiche
gibt es auch für Mail.
Nimm die Mail an dich,
gib die Mail wieder weg
Die Mail ist dann typischerweise, ich glaube,
das ist die Bedeutung, die hier immer unterstellt wird,
dass die hier in dem Mailroom sich befindet und
dann an die einzelnen Interessenten im Haus verteilt werden muss.
Dann gibt es noch so etwas wie der Wunsch für bestimmte,
also das ist sozusagen eine Push, ein Putschmerkmal,
da ist ein Brief, der Brief muss transportiert werden.
Hier ist es umgekehrt, hier gibt es das Bedürfnis nach irgendetwas,
Sam will Kaffee haben, das heißt,
der Roboter muss den Kaffee bringen. Gut,
damit haben wir also die Sachen des Aufladens und Abladens und dann gibt es noch zwei Bewegungsoperatoren,
eigentlich genauer gesagt, es wird dann implizit,
kommt nochmal ein Dritter ins Spiel,
Entweder ich bewege mich im Uhrzeigersinn durch dieses Labyrinth hier oder ich bewege mich gegen den Uhrzeigersinn hierdurch.
Die dritte Aktion, die auch noch eine Rolle spielt,
ist, mache gar nichts. Denn wenn das so ist,
ist der Roboter ständig damit beschäftigt, rumzurennen.
Das ist bestimmt auch kein sinnvolles Verhalten. Man sollte das
Verhalten ja schon von dem Vorliegen irgendwelcher Bedarfe abhängig machen.
Und da muss er auch in der Lage sein,
sich mal schnell in die Ecke zu stellen und zu warten,
bis die nächste Anforderung kommt.
Das ist hier aber nicht aufgenommen. So,
und jetzt nehme ich diese Features, die hier sind,
also die Merkmale, Eigenschaften meiner Welt und basteln wir daraus Vektoren,
die Wertebelegung für diese Merkmale enthalten.
Und das sind diese fünf hier, ich habe eine Ortsangabe,
die besteht aus sowas, ich bin im Labor,
ich bin in dem Sams Office, ich bin in diesem,
in der Cafeteria oder ich befinde mich im Mailroom.
Das sind die möglichen vier Werte für diese baiable oder dieses Feature.
Hier ist lebiläres Feature, was sagt nur,
der Roboter hat den Kaffee oder hat ihn nicht.
Dieser Querstrich heißt immer, er hat ihn nicht, das ist Delegation.
Das ist Sam, möchte Kaffee haben oder möchte nicht Kaffee haben.
In all diesen Beispielen möchte er Kaffee haben
Das heißt, Mail ist,
also Briefe sind zu verteilen, die liegen im Mailrohm.
Und in diesem Fall gibt es keine Briefe,
die zu verteilen sind und schließlich auch noch hat der Roboter Mail
oder hat er nicht Mail aufgeladen und in all diesen Fällen hat er offensichtlich Briefe.
Also das erste heißt, der Roboter befindet sich hier unten im Labor,
er hat keinen Kaffee, er hat aber einen Brief,
Sam möchte Kaffee haben und es gibt keine weiteren Briefe zu verteilen.
Das ist die Beschreibung hier. Dieses Zustand ist der Welt
und ich habe jetzt eine Aktion, die ich anwenden will,
nämlich Wege dich im Uhrzeigersinn durch diesen Gang hier.
Und wenn ich mich jetzt eben vom Labor im Uhrzeigersinn bewege,
lande ich als nächstes im Mailroom.
Das ist dieses MA hier. Und alles andere bleibt konstant
. Durch diese Bewegung zur Operation ändert sich nichts anderes als
mein Ort und ich habe immer noch den Kaffee.
Sam will immer noch Kaffee haben. Ich habe immer noch
keinen Kaffee. Sam will immer noch Kaffee haben.
Es gibt keine weitere Mail zu verteilen,
aber ich habe noch einen Brief an Bord.
Und das kann man jetzt für verschiedene Zustände der Welt und da
kann man sich ausrechnen, wie viele Zustände der Welt es gibt.
Das sind alles Wie Nährmerkmale hier, das hat vier Merkmale,
also haben wir zwei hoch sechs, solche Kombinationen zu betrachten.
Und jetzt können wir jeweils diese zwei hoch sechs Kombinationen mit den verschiedenen Aktionen kombinieren.
Und dann haben wir sozusagen eine vollständige tabellarische Aufstellung dessen,
was in der Welt passieren kann. Also in diesem Falle
befindet er sich im Labor und soll sich im Gegensatz dem Urzeigersinn bewegen.
Also von hier so lang, dann landet er im Office von Sam.
Und alle anderen Sachen bleiben wieder genau so,
wie sie vorher auch waren. Das heißt Dropmail,
das heißt, er befindet sich in einem Büro durch das
Ablegen der Mail ändert sich an seinem Aufenthaltsort nichts.
Das bleibt genauso. Was sich allerdings ändert,
vorher hatte er die in dem Brief.
Jetzt hat er den Brief nicht mehr. Das bleibt konstant
. Oh, sorry. Das ist natürlich spannend,
dass durch das Liefern eines Kaffee-Sem plötzlich keinen Kaffee mehr haben will.
Das ist interessant. Also diese Tabellen sind auch voller Fehler.
Wir machen gleich noch das Spiel, solche Fehler zu suchen.
Aber offensichtlich ist das einer hier. Also wir haben hier,
möchtest ja einen Kaffee haben, er kriegt einen Brief und danach
will er keinen Kaffee mehr haben.
Das ist interessant. Das lässt tief blicken,
was in der Psyche von Sam vorgeht.
Oder was in dem Brief gestanden hat. Gut,
hier bewältigt sich gegen den Urzeigersinn, er ist im Office,
das Offices hier, gegen den Urzeigersinn, landet er in der Caféteria.
Alles andere müsste konstant geblieben sein. Und hier unten ist
er im Office und bewegt sich im Urzeigersinn,
dann landet er im Labor,
das stimmt und alles andere bleibt konstant
Und das kann man also mit nach Belieben so fortsetzen.
Gut, jetzt müssen wir also hingehen und sagen,
was sind die voran Vorbedingungen, damit wir eine Aktion überhaupt ausführen können?
Also wir können uns nur Kaffee aufladen, wenn wir tatsächlich in der Kaffeeteria sind,
im Postraum wird es keinen Kaffee geben zum Beispiel.
Das ist eine typische Vorbedingung dafür. Und wir müssen für jedes Merkmal aufschreiben,
was sind eigentlich die Veränderungen, die in der Welt durch die Aktie,
für das Merkmal, für jedes Merkmal, müssen wir aufschreiben,
was wird durch die Aktion an diesem Merkmal geändert.
Entweder, das Merkmal ändert sich, dann ist es eine Kausalregel,
die sagt, es gibt Gründe,
dass jetzt ein neuer Wert hierfür existiert und das Gegenstück dazu sind sogenannte Frame Rules,
die explizit sagen, was bleibt eigentlich unverändert.
Das kann ich auf zwei Arten und Weisen behandeln.
Entweder ich spezifiziere es explizit oder aber ich lasse es implizit,
dass ich sage, alles, was ich nicht explizit erwähne,
das bleibt konstant.
Und es ist ja tatsächlich so, dass durch viele Aktionen
wird ja immer nur ein kleiner Teil der Welt verändert.
Also beispielsweise, wenn ich jetzt hier mit der Faust
auf den Tisch haue, erwarte ich nicht,
dass das Licht da ausgeht
Ich erwarte, dass das konstant bleibt. Oder das ist vielleicht noch ein schlechtes Beispiel,
weil durch das auf den Tischhauen hier unten einen Kurzschluss hervorgerufen wird und das Licht geht wirklich aus,
Dinge passieren, ja, aber ich erwarte zumindest nicht,
dass die Sonne plötzlich nicht mehr scheint oder irgend so etwas.
Ich habe ganz normale Kontinuitätsannahmen über die Welt und die
muss ich in der Planung natürlich mit berücksichtigen,
dass sich Dinge nicht ändern, es sei denn,
sie werden ausdrücklich durch eine, einen kausalen Zusammenhang verändert.
So, und das sind ein paar Beispiele dafür,
also wir haben die Aktion, lade dir Kaff, einen Bäckerbecher Kaffee auf
Und das setzt natürlich voraus, dass der Roboter sich in
der Cafeteria befindet und dass er nicht bereits Kaffee aufgeladen hat.
Also es gibt hier gewisse Ressourcenbeschränkungen, eine zweiten Becherkaffee
kann ich mir nicht leisten oder kann ich nicht transportieren.
Und deshalb ist also die Voraussetzung, es darf kein Kaffee
da drauf sein. Es ist nicht ganz klar,
im Weiteren, ob ich gleichzeitig Briefe und Kaffee transportieren kann.
Die Frage müssten wir nochmal diskutieren, da bin ich
nicht ganz schlau draus geworden.
Also hier ist es nicht explizit erwähnt. Das heißt also,
nach dieser Precondition kann ich mir Kaffee aufhalsen,
auch wenn ich bereits
einen Brief transportiere
Aber das kann man durchaus hinterfragen. Das ist eine Frage
der Modellierung, wie man, was man dem Roboter zutraut.
Dann haben wir Regeln dafür, wie komme ich in die Cafeteria,
damit ich diese Vorbedingungen hier überhaupt erfüllen kann,
also diese Vorbedingungen speziell, um diese Pick-up-Kaffee-Aktion ausführen zu wollen,
muss diese Vorbedingung erfüllt sein.
Wie kann ich sie erfüllen? Und das wird durch
solche Regeln beschrieben hier. Also nachausführen der Operation,
das ist dieses Prime-Ding hier oben, bin ich in der Cafeteria,
wendlich vorher in Sams Office war und mich gegen den Uhrzeigersinn bewege.
Also ich war hier in einem Office Und ich bewege mich
gegen den Uhrzeigersinn, dann befinde ich mich in der Cafeteria.
Oder ich komme in die Kaffeeteria,
wenn ich vorher im Postraum war und mich im Uhrzeigersinn bewege.
Also ich war im Postraum, bewege mich im Uhrzeigersinn und bin in der Cafeteria.
Und dann muss ich eben spezifizieren, wann werde ich,
unter welchen Umständen wird sich mein Aufenthaltsort nicht geändert haben?
Also ich bin nachausausausführend einer Aktion in der Cafeteria,
werde ich vorher bereits in der Cafeteria war.
Und wenn ich mich weder nach links noch nach rechts bewegt habe,
das ist ein sogenanntes Frame, eine Frame-Regel,
die sagt,
was bleibt in der Welt unverändert
Und das sind die sogenannten Kausalregeln, wo diese Aktion jetzt hier
diese Änderung der Ortszuweisung hervorgerufen hat. Gut, und ja,
das sind eben Regeln für den Roboter Hat Kaffee,
also der Roboter hat nach Ausführen einer Aktion Kaffee,
wenn er vorher schon Kaffee hatte und den Kaffee nicht weggeschüttet oder weggegeben hat.
Das ist Dropkoffee, wie immer man das interpretiert,
aber wahrscheinlich ist es das Abstellen des Bechers
Und der Roboter hat Kaffee,
wenn die Aktion hier ausgeführt hat, Pick-up-Kaffee gewesen ist,
also nimm den Kaffee und lade ihn dir auf.
Was ist jetzt hier ein Frame-Construkt und was ist ein kausales,
konstruent? Also was ist das hier?
Frame oder kausal? Das ist das Tränen. Genau,
das sagt, was bleibt konstant unter bestimmten Bedingungen
Wann immer ich irgendetwas mache, außer dieser Aktion,
ändert sich an der Tatsache, er hat den Kaffee immer noch nix.
Und das Untere ist dann eben ein Kausalkonstrem, wenn ich eben
den Kaffee mir auflade, dann habe ich ihn auch.
Und da sieht man auch den deterministischen Charakter. Ich gehe davon aus,
dass diese Aktion wirklich dieses Resultat hat und nicht noch irgendeine Wahrscheinlichkeitsverteilung dazwischen ist,
in 20 Prozent aller Fälle werde ich ihn verschütten und Oje
rufen und einen neuen Kaffeebecher brauchen.
Das ist hier nicht vorgesehen in der Welt
So, dann kann man die Merkmale unterteilen. Das hat für unsere Zwecke
jetzt hier überhaupt keine wesentliche Bedeutung. Wir können einerseits sagen,
was sind primitive Merkmale und wir handeln uns hier,
wir behandeln hier nur das Arbeiten mit primitiven Merkmalen,
abgeleitete Merkmale kann man einbauen, machen wir aber nicht.
Das Wesentliche ist, dass hier die Sachen hier dann immer für primitive Merkmale betrachtet werden.
Und deshalb legen wir uns von vornherein nur auf primitive Merkmale fest.
Abgeleitete Merkmale sind dann, dass sich auch mithilfe von Regeln
definiere, was ein im Merkmal höhere Ordnung sozusagen ist.
Also was sich zusammensetzt aus elementaren Merkmalen. Also beispielsweise könnte
ich irgendetwas sagen wie, ja, ist jetzt erfunden.
Der Roboter ist gerade beschäftigt. Dann könnte ich das mir
aus primitiven Merkmalen zusammenbauen. Der Roboter fährt gerade von da
nach da und so weiter und so fort. Gut,
ja, für jede Aktion brauche ich also die Vorbedingungen,
die sagen, unter welchen Bedingungen kann ich das überhaupt nur tun?
Und ich muss natürlich ausbuchstabieren, welche Resultate eine bestimmte Handlung hervorruft.
Und es gibt dann die sogenannte Strips Assumption, das ist das,
was ich vorhin erwähnte, wo die Bedingungen implizit bleiben,
dass alles, was sich explizit erwähnt wird,
dass es sich ändert, davon geht man aus,
dass es auch nachdurchführende Aktionen immer noch gilt.
Das befreit einen von der Notwendigkeit explizit hinschreiben zu müssen,
was sich alles nicht ändern wird.
Warum ist Letzteres schwierig? Warum möchte man gerne eine Möglichkeit haben,
dass man nicht immer hinschreiben muss,
was alles sich nicht ändern kann
Ich habe vorhin das Beispiel gebracht,
ich haue auf den Tisch und die Sonne geht weg.
Jetzt ist sie weg. Offensichtlich scheint es doch einen Zusammenhang zu geben.
Aber das sind genau die Zusammenhänge, die ich aufschreiben müsste.
Ich müsste, und das ist ein potenziell offenes Feld mit
unendlich vielen Aspekten der Welt, die ich aufschreiben müsste,
weil sie nichts mit der eigentlichen Handlung zu tun haben.
Und dies jeweils zu spezifizieren kann im Einzelfalle geradezu unmöglich sein.
Und deshalb ist es sehr angenehm, wenn man sagen kann,
wir machen so etwas über eine Default-Annahme.
Das ist nichts anderes als eine Default-Annahme.
Solange ich nichts Gegenteiliges weiß, gehe ich davon aus,
die Welt bleibt, wie sie ist. Erst wenn ich weiß,
eine Aktion wird in der Welt durchgeführt und die führt bestimmte Erinnerungen herbei,
dann bin ich bereit von der Standardannahme abzuweichen und zu sagen,
ja okay, dann wird sich der Zustand der Welt möglicherweise entsprechend ändern.
So sieht das also dann in der Srips-Repräsentation aus.
Das ist ziemlich simpel
Ich habe eben die Aktion, nimm eine Kaffeebecher auf,
Vorbedingung ist, ich muss in der Cafeteria sein und ich
darf nicht bereits einen Kaffeebecher eingeladen haben und der Effekt,
der hervorgerufen wird, ist, ich habe dann den Kaffee.
Der zweite Sache ist, liefere den Kaffee ab,
Vorbedingung ist, ich muss mich im Büro von Sam befinden,
da soll der Kaffee hin,
ich muss einen Kaffee haben,
sonst kann ich hier nicht abliefern und der Effekt ist,
ich habe hinterher keinen Kaffee mehr aufgeladen
und Sam will auch keinen Kaffee mehr haben
An dieser Stelle muss man aufporschen. Was ist das Bemerkenswerte
an dieser Modellierung hier? Also Gucken Sie sich mal
die Vorbedingungen an. Könnte man die möglicherweise gute Gründe,
könnte man möglicherweise gute Gründe haben, um die auszuweiten?
Ja, das muss ich unbedingt, wenn man sagen kann,
so ein Lehrer ist oder sowas.
Bitte? Ja, aber trotzdem muff. Und da den
Kaffee bekommen. Nee, nee, nee, nee.
Sorry, hier steht Office. Ich bin in Sams Office
, das ist spezifiziert. Ich bin an der Riechenstelle,
das ist nicht das Problem. Ja, nicht explizit angeben
, das ist ja ein Kaffee. Ja, der ist
nirgendwo spezifiziert, dass Sam überhaupt einen Kaffee haben will.
Vielleicht hat... Was er gibt es da aus der Vorbedingung
, oder? Weil der lockere Theologe,
Das ist dir zumindest in dieser Regel hier nicht spezifiziert.
Da ist die Frage, irgendwo muss das tatsächlich ins Spiel kommen.
Also unter welchen Bedingungen lade ich mir überhaupt einen Kaffee auf?
Aber in diesen Aktionen ist es in keiner Weise drin.
Und wenn wir die Blindlings anwenden, beispielsweise durch Vorwärtsplan,
ich komme gerade in der Kaffeeteria vorbei.
Toll, hier gibt es Kaffee, dann lade ich
mir mal einen auf und bringe ihn zu Sam.
Nichts verhindert das bis jetzt. Also es ist an keiner
Weise drin, dass das irgendwie demand getrieben sein muss.
Das muss man natürlich einbauen. Das wird gleich das Nächste sein,
dass das hier irgendwo steht. Das sind aber Zusatzheuristiken,
die ich brauche, bestimmte Kombinationen von Aktionen überhaupt erst aktivieren.
In den Aktionen selber, aus denen geht es nicht hervor,
ob Sam überhaupt einen Kaffee haben will oder nicht.
Wenn ich die einfach so mache, die Aktion,
kann der Roboter durch Zufall beliebig viele Kaffeebecher bei Sam abladen.
Ah ja, okay, das ist das gleiche Übersetzungsproblem,
was wir haben. Wir gucken uns jetzt konkrete Planungsprozeduren an.
Wir haben jetzt also immer gegeben, die verschiedenen Aktionen mit ihren Vorbedingungen und ihren Effekten.
Wir kennen den initialen Zustand und zwar über eine Beschreibung des initialen Zustandes.
Also die Variablen, die Merkmale,
die den initialen Zustand beschreiben mit ihren Werten Und wir kennen den Zielzustand,
den wir haben wollen, ebenfalls beschrieben durch Vagable und ihre Werte.
Und wir wollen die Sequenz von Aktionen haben,
die durchführbar ist, gegeben,
diese Vorbedingungen und die Effekte der einzelnen Aktionen und die dazu führen,
dass wir in einem Endzustand landen, ja tatsächlich die Bedingungen,
die wir für den Endzustand formuliert haben, alle erfüllt.
So, Vorwärtsplan ist die Idee,
ich mache eine Suche in einem zustandsbasierten Graphen,
der Zustand ist immer der Zustand der Welt und der Zustand
der Welt ist genau über die Features beschrieben,
die ich kenne
Und ich habe eben Kanten zwischen den Knoten,
was die Zustände sind. Und die sind immer alle,
die möglichen Aktionen, die ich machen kann,
um von einem gegebenen Zustand aus in einen Folgezustand zu kommen.
Und dann ist eben ein Plan, ein Pfad durch diesen Grafen,
der in einen Zielzustand führt, der die Bedingungen erfüllt.
Und der Witz ist eben,
dass sich die Zustände nicht durch vollständige, durch vollständige Merkmalsausprägungen charakterisiere,
sondern dass ich dort auch unterspezifizierte Merkmalsbeschreibung haben kann.
Das nutzen wir hier aber noch nicht aus.
Das kommt dann erst im nächsten Schritt beim Rückwärtsplan.
Also hier ist ein Beispiel, Graf, wie wir vorwärts
planen können. Wir befinden uns also in einer Welt,
wo der Roboter in der Cafeteria ist.
Er hat keinen Kaffee, sein möchte Kaffee haben.
Es gibt auch Mail zu verteilen und der Roboter hat keinen
Brief tatsächlich gerade bei sich. Und in dieser Welt gibt
es jetzt eine Reihe von Aktionen, die ausgeführt werden können.
Pick-up-Mail geht nicht, weil er befindet sich nicht im im Postraum.
Drop, Coffee geht nicht, weil er keinen Kaffee hat.
Deliver Mail geht auch nicht, weil er keine Mail hat.
Und dann bleiben also von den Aktionen,
die man hat, nur eine begrenzte Anzahl übrig,
die jetzt in diesem Zustand überhaupt ausführbar sind.
Also wir nehmen das erste hier, du bist gerade in
der Cafeteria, also kannst du dir einen Kaffee aufladen.
Du hast keinen, du bist am richtigen Ort, dann ist diese Aktion anwendbar.
Und dann kommt dann eben in den nächsten Zustand,
der jetzt durch die Effekte charakterisiert ist,
jetzt hat der Roboter den Kaffee, den er vorher nicht hatte.
Er ist aber immer noch am gleichen Ort,
er ist Sam braucht immer noch Kaffee
Er. Es gibt Post zu verteilen und Post hat er nicht aufgeladen.
Und die nächste Aktion, die jetzt ausführbar ist,
wäre beispielsweise den Kaffee wieder auszuladen. Das ist nicht sehr
sinnvoll. Gut, unsere Programme können erstmal nicht unterscheiden,
was sinnvoll ist oder was nicht sinnvoll ist.
Aber wir könnten immerhin davon ausgehen,
dass wir sowas wie einen Zyklencheck haben,
dass wenn wir jetzt den Kaffee wieder abladen,
wir wieder in einem Zustand landen, in dem wir schon mal waren.
Das wäre nur eine Kreisaktion,
die wir haben
Post können wir nichts machen. Hier gibt es keine Post
und wir haben auch keine, die wir verteilen können.
Also bleiben nur die Bewegungsoperationen. Ich kann mich entweder im Uhrzeigersinn bewegen oder
hier heißt es jetzt dummerweise nicht Counterclock weiß, sondern Anti-Clock weiß.
Anti-Clock weiß, muss das dann heißen? Ja,
hier steht es auch. Und ich kann mich also im Uhrzeigersinn bewegen,
wenn ich in der Capitalia bin, im Uhrzeigersinn,
lande ich im Post, lande ich im Post.
Ach so, ja, im Uhrzeigersinn,
sorry, im Uhrzeigersinn geht es so rum, ja.
Immer schön merken, dann lande ich im Büro von Sam
, Ansonsten bleibt alles konstant.
Die Restlichen sind gleich. Wenn ich mich in der Gegenrichtung bewege,
dann lande ich hier im Postraum und alles andere müsste auch wieder konstant geblieben sein.
Wenn ich jetzt in Sams Office bin,
dann ist die Vorbedingung für, lass die Mail fallen,
lass den Kaffee fallen, gegeben.
Ich kann also jetzt den Kaffee tatsächlich dort abliefern.
Damit habe ich keinen Kaffee mehr. Ich befinde mich
immer noch am gleichen Ort. Ich habe keinen Kaffee mehr
und Sam will auch keinen mehr haben.
Den hat er gerade eingekriegt. Und das hat mir in
der Regel auch so spezifiziert. Zur Erinnerung noch,
wenn wir den Kaffee fallen lassen,
dann will Sam hinterher
keinen mehr haben
Gut, ich könnte andererseits, auch wenn ich mich gerade
in dem Office befinde, aber mich weiter im Uhrzeigersinn bewegen,
dann komme ich eben in das Labor.
Ich habe immer noch den Kaffee und so weiter,
Semble auch immer noch Kaffee haben.
Da ist offensichtlich irgendetwas schiefgelaufen. Ich habe den richtigen Ausstieg verpasst.
Und genauso gut könnte ich mich wieder in der Gegenrichtung bewegen,
dann würde ich eben wieder in dem Zustand landen,
in dem ich hier oben schon mal war.
Ich habe mich erst im Uhrzeigersinn bewegt, dann gegen den Uhrzeigersinn,
dann bin ich wieder an der alten Stelle.
Gut, und das geht hier so weiter,
dass die andere Aktion wäre eben, bewege dich im Uhrzeigersinn,
dann kommst du von der Cafeteria in Semble Office, dahin.
Alles andere bleibt gleich. Wenn du dich weiter im Uhrzeigersinn bewegst,
dann landest du im Labor, alles andere bleibt gleich.
Wenn du dich im Gegenden Uhrzeigersinn bewegst, dann landest du wieder
hier in dem Zustand. Und das hier ist die Gegenrichtung,
dann lade ich eben nur von der Cafeteria im Mail rum.
Also das ist Vorwärtsplan und jetzt muss ich also sehen,
wie komme ich von diesem Zielzustand in einen Endzustand,
der meine Bedingungen erfüllt.
Und der Endzustand wird wahrscheinlich irgendwie so etwas sein,
wie Sams Bedürfnis nach Kaffee ist befriedigt worden.
Also ich muss es schaffen, in diesem Suchraum diesen Weg
hier zu finden.
Das ist die Planungsaufgabe
Gut, was sieht schon jemand, worin das Problem besteht,
wenn ich so vorgehe? Ja, das schleifen wir entschieden,
dass wir um die Post kaufen können,
damit er sie aussah und wieder passt,
dann fühlt sie aus und bringt ihnen keinen Faktor.
Nochmal, ich habe es weder akustisch noch inhaltlich ganz verstanden.
Das passe ich gleich und entstehen
Ja, das haben wir ja gerade diskutiert, ja klar,
das ist ohne Überwachung, bin ich eben wirklich munter in der Lage,
hin und her zu wandern.
Das ist der triviale Fall einer Schleife, also hier lang beispielsweise.
Das ist ein kleiner Zyklus, den ich dadurch laufe.
Das ist das eine. Das ernsthaftere Problem, da kann
ich Zyklenüberwachung einbauen, aber das ernsthafte Problem ist eigentlich ein anderes.
Ja, wenn ich auch nicht aufpasse, zum Beispiel,
er holt sich einen Kaffee und gesagt hat, hey,
ich will jetzt ein Pastaskeeper, liefert die passt auf und liefert irgendwann einen Kaffee ab, zwei Kapital.
Ja, da kommen wir auch noch drauf zurück,
das sind die Abhängigkeiten zwischen bestimmten Aktionen, ja,
in welcher Reihenfolge man die sinnvollerweise ausführen sollte,
aber es ist überhaupt das Problem,
ich habe eine Auswahl von möglichen Aktionen und ich kann an dieser Stelle üblicherweise nichts sagen,
welche dieser Aktionen wird geeignet sein, um irgendwie näher an mein Ziel heranzukommen.
Das hängt eng damit zusammen. Ich könnte natürlich schauen,
ob ich irgendetwas habe, was dazu führt, dass eines dieser Teilziele befriedigt wird.
Also des Teilziele wird sein, dass Sam keinen Kaffee mehr haben will.
Dass dieses hier in das Gegenteil verdreht wird.
Aber ich habe keine Aktion zur Verfügung, die dieses tatsächlich erreichen zu erreichen gestattet.
Das muss ich erst rausfinden, ja. Haben wir das
nicht gestern an der Präsenzaufgabe
Wenn du mich ärgerlich gefühlt hast. Ja. Und dann
inklusiv zurückgefolgt kann, niemand zu dem Gewinnen ausnehmen. Ja,
natürlich, wenn ich, wenn ich irgendwann mal in diesem Zustand gekommen bin,
dann kann ich von dort aus den Weg rekonstruieren,
wie ich da hingekommen bin.
Das erklären wir. Ja, Lernen ist gut, ja.
Das ist, das sagt sich immer so schön einfach.
Man muss auch ein praktikables Verfahren haben.
Also das ist Problemlösen, da ist erstmal nichts zu lernen.
Lernen kann ich nur aus mehreren durchläufen. Also wenn ich,
wenn ich schon 20 mal Sam Coffee gebracht habe,
dann habe ich irgendeinen, einen Standardablauf, den ich typischerweise anwende,
um diese Problem zu lösen.
Davon gehen wir hier aber nicht aus. Wir machen das
zum ersten Mal. Also Lernen ist hier nicht der Ansatz der Wahl,
sondern wir sollen das Problem lösen und zwar jetzt,
ohne dass wir erst eine Trainingsphase haben, in der wir das lernen könnten.
Das entscheidende Problem ist, dass sie hier fast blind eine Auswahl treffen muss,
in welche Richtung ich mich bewege, welche Aktionen ich wähle.
Und ich habe kaum Steuerinformationen zur Verfügung, die ich benutzen kann,
die mir sagt hier, welche dieser Aktionen ist eigentlich die Geeignete.
Also, dass das ein Aufnehmen des Kaffees und mich näher
an dieses Ziel bringt, ist nicht unbedingt gesagt.
Es könnte genauso gut sein, dass es eben irgendeine andere Aktion ist.
Also, dass beispielsweise das Zustellen der Mail dazu führt,
dass Sam seinen Kaffee kriegt.
Das sehe ich ja aus den Einzelaktionen nicht.
Und deshalb in großen Planungsproblemen kann es dann leicht passieren,
dass ich in die Ecke eines Suchraumes marschiere,
wo überhaupt keine Lösung da ist.
Schlimmer noch, ich könnte versuchen, eine Lösung zu finden,
die es gar nicht gibt.
Das ist noch der ernsthaftere Fall davon.
Und das sehe ich lokal nicht. Ich kann dem Planungsproblem
nicht ansehen, ob ein solcher Fall vorliegt oder nicht.
Damit muss ich on the fly fertig werden. So,
hier ist ein kleines Gesellschaftsspiel, das können wir mal machen.
Das ist jetzt im Gegensatz zu den unbeabsichtigten Fehlern,
die wir vorhin gesehen haben,
sind hier jetzt also beabsichtigt,
Fehler eingebaut und wir sollen sie finden
Wir können ja systematisch durchgehen,
diese Knoten sind hier von 1 bis 11 durchnummeriert.
Wir können systematisch durchgehen und uns fragen, sehen wir irgendwo einen Fehler?
Also wir machen Vorwärtsplanung. Hier ist der Initialzustand. Wir
sind die Aktionen und wir bewegen uns in einen Folgezustand.
Ist diese Kombination aus Vorgängerzustand, Aktionen und Folgezustand
ist die okay oder ist da irgendwo Müll passiert?
Auf Zuruf. Oder? Ja, der Kaffee aufgenommen,
da steht im Zweifel immer noch
kein Kram
Ich möchte nicht mehr. Gut, also das ist Pumm.
Er hat eine Mail aufgenommen. Er befindet sich im Postraum,
er nimmt Mail auf und befindet sich danach immer noch im Postraum.
Das ist das, was hier steht.
Und er hat vorher keine Mail und danach hat er Mail.
Das sieht erst mal okay aus. Er hat vorher keinen
Kaffee, er hatte auch hinterher keinen Kaffee. Gut,
vom Aufnehmen der Mail sollte er auch keinen Kaffee bekommen.
Sam will immer noch Kaffee haben. Und es gibt
immer noch Mail zu verteilen
Das ist natürlich die Frage, die man diskutieren kann.
Das ist jetzt die, das ist wie das Szenarienwissen,
was man haben muss. Also was ist in dieser Welt eigentlich möglich,
wenn der Roboter sich die Mail aufgeladen hat,
und das hat er hier gemacht,
ist dann immer noch Mail vorhanden oder ist Pick-up-Mail so definiert,
dass danach keine Mail mehr zu verteilen ist.
Das heißt ja hier, Mail is waiting.
Also es ist noch Post zu verteilen.
Gilt das auch nach dem Aufnehmen der Mail immer noch?
Also ist dort so viel Mail, dass es der Roboter
nicht mit einem Rutsch wegkriegt, dass er mehrere Durchläufe braucht?
Oder kann er alles das mit einem wegnehmen? Also da
braucht man Hintergrundwissen, dass es wohl nicht zu entnehmen,
möglicherweise ist das nicht ganz korrekt hier.
Also wenn Mail is waiting heißt,
da ist ein Brief und er hat diesen Brief genommen,
dann ist er hinterher nicht mehr da
Da müssen wir jetzt Annahmen machen darüber. Okay, wir machen mal weiter.
Von 2 zu 5 geht das mit rechten Dingen zu?
Wer auf Zuruf, das ist... Der Kaffee kommt dazu,
obwohl er... Ja, also er befindet sich,
nein, er bewegt sich vom Mailroom ins Lab und auf
wundersame Art und Weise regnet es Kaffee an bei der Gelegenheit.
Das ist also, das kann es nicht sein.
Ansonsten sollte alles
okay sein
Nein, auch nicht. Bitte? Ja, genau.
Ja, ja, ich spare gerade hier angekommen.
Hier hat er noch Mehl, er bewegt sich und danach
ist die Mail verloren gegangen. Also vielleicht hat er Kaffee
die Mail weggeschwemmt. Das ist auch nicht sauber.
Von 5 zu 8, wo sind da die Macken?
Also er bewegt sich im Urzeigersinn vom Laptop Mail rum,
das scheint zu stimmen.
Hat jemand
eine Macke
Das sieht einigermaßen okay aus. Von 5 zu 9.
Das ist die Gegenrichtung. Dann ist er vom Lab
ins Office gekommen. Das hat auch seine Richtigkeit.
Da ist eigentlich auch nicht dran zu meckern.
Von 2 zu 10. Er bewegt sich in Uhrzeigersinn.
Protest? Kein Protest sieht gut aus von 10 zu
Und so, der wieder dran hat. Ja, also
ansonsten wäre die Aktion schiefgelaufen. Er nimmt sich Kaffee,
hat vorher keinen, danach hat er immer noch keinen,
da ist offensichtlich, das hat nicht ganz geklappt.
Von 1 zu
Sieht gut aus, nicht? Ja, also im Uhrzeiger sind bewegt,
dann kommt er hier hin, alles andere war konstant.
Er bewegt sich weiter. Es wird auch einigermaßen okay aus.
Er kommt von hier nach da und alles andere bleibt konstant.
Er nimmt sich einen Kaffee. Ja, sollte nicht
so gut gehen, das ist der falsche Ort dafür.
Danach hat er einen Kaffee, okay,
das wäre noch konsistent, aber der Raumstamm,
das wäre sinnvoll, aber der Raum stimmt nicht,
das ist alles okay
Und dann sind wir durch, ja? Okay. Gut,
wir machen dieses gleiche Spiel auch nochmal,
wenn wir rückwärts planen, das ist erstmal der Vorwärtsschritt.
Ja, wir müssen nicht diesen ganzen Planungsgrafen in einem Ritsch aufbauen,
wir können das schrittweise machen, indem wir die Knoten je nach Bedarf aufbauen.
Wir können Zyklenchecks einbauen und das kann man auf verschiedene Arten und Weisen machen.
Entweder man merkt sich die Spezifikation der jeweiligen Knoten,
welche Merkmale,
welchen Wert dort haben dürfen
Oder man beschreibt den Pfad vom Anfangszuzustand
bis zu dem aktuellen Knoten, den man hat.
Im Hinblick auf die Überwachung verzyklen oder auch die Überprüfung von
mehrfachen Faden.
Welche Variante würden Sie bevorzugen
Keine Bevorzugung. Okay, machen wir es mal kurz.
Hier habe ich natürlich zahlreiche, ach so,
wir haben eine Baumentschaltung, wir haben in Zyklen,
wir wollen den Zyklencheck machen, um es zu vermeiden.
Ja doch, um hier nachzuweisen,
dass ich auf unterschiedlichen Wegen in den gleichen Zustand gekommen bin,
muss ich sozusagen die Pfade rekonstruieren.
Die muss ich zerlegen und überprüfen,
ob das dann tatsächlich der resultierende Zustand der gleiche sein kann
oder nicht
Also hier habe ich bestenfalls einen indirekten Hinweis darauf,
ob ich im gleichen Zustand gelandet bin oder nicht.
Während ich es hier direkt berechnen kann.
Also ich würde versuchen, immer die erste Lösung umzusetzen.
Wir können uns überlegen, wie wir die Suche,
wie wir zumindest verhindern können, dass unsinnige Schritte gemacht werden.
Also irgendeine heuristische Funktion im Sinne der Restkostenabschätzung,
sodass wir eine Art A-Sternsuche machen können,
je dichter wir uns an dem Ziel befinden.
Wir müssen uns aber noch angucken,
dass das durchaus irreführend sein kann.
Oder dass das
in vielen Fällen nicht einfach sein wird
Ursprüngliche Idee gewesen, dass man abschätzt,
wie weit bin ich noch von dem Ziel entfernt.
Beispielsweise kann man messen, wie viele der Teilziele,
die erreicht werden sollen, habe ich bereits erreicht.
Aber das setzt voraus, dass das ein monotones Wachstum von Teilzielen ist.
Und wir können uns Beispiele angucken, wo das tatsächlich nicht
der Fall ist. Das können wir auch gleich machen.
Das bekannteste Beispiel ist die sogenannte Sussman-Analyse. Anomalie. Die
ersten Planungsprobleme sind immer in Blogswelten studiert worden. Und da stammt
auch dieses Beispiel her. Ich habe eine ganz einfache Blogsfeld,
die aus einem Tisch besteht und auf dem Tisch befinden sich Klötzer.
Und jetzt muss ich
mal gucken
Ja, ich habe einen Plotz A, ich habe einen Plotz,
äh Quatsch, nein, eben schon falsch.
Ich habe in Plotz B, ich habe einen Plotz A
und ich habe einen Plotz C. Und das Ziel ist,
dass ich also A, B, C übereinander staple.
Das ist das Ziel des Ganzen. Ja,
jetzt kann ich Vorwärtsplanen betreiben und kann sehen, ja,
okay, ich muss irgendwie sicherstellen, dass A auf B ist.
Und ich muss sicherstellen, dass B auf C ist.
Ich kann natürlich B auf C stellen, aber dann stelle
ich fest, geht nicht weiter. Ich muss also,
wenn ich das gemacht habe, diesen Schritt wieder rückgängig machen,
weil ich das zweite Teilziel nicht befriedigen kann,
ich kann A nicht bewegen.
Ich kannte natürlich auch genauso gut sagen, okay,
dann nehme ich eben C hier herunter. Jetzt kann ich
das erste Teil zu überwegen, indem ich A da drauf setze.
Gleiche Situation in Grün. Ich habe ein Pilze überfriedigt,
ich bin dichter an mein Ergebnis rangekommen, aber leider Gottes muss ich das,
was ich gerade erreicht habe, sofort wieder kaputt machen,
denn das zweite Teilziel kriege ich dich hin,
dass ich B-F-C setzen kann
Ohne das erste Teil sie wieder rückgängig zu machen.
Also einfach nur zu zählen, wie viele der Teilziele,
die ich erreichen will, habe ich bereits erreicht und
wie groß ist dieser Anteil an den Gesamtanzahl von Zielen,
die ich erreichen will.
Also die Ziele sind ja sozusagen,
A soll auf B liegen und B soll auf C liegen.
Ich kann dieses eine erreichen, das habe ich hier erreicht.
Aber das zweite erfordert, dass ich das wieder rückgängig mache,
dann kann ich das zweite erreichen.
Und dann erst das erste wieder erreichen. Also das Wachstum der Teilziele,
die ich bereits erreicht habe, ist in diesem Falle nicht nur monoton.
Ich muss Dinge, die ich schon geschafft habe,
wieder rückgängig machen, damit ich ein anderes Teilziel überhaupt
erreichen kann
Das ist die sogenannte Sussman Anomalie, die ich bei
solchen Planungsproblemen immer habe. Ich kann nicht davon ausgehen,
dass ich auf dem direkten Wege mein Ziel erreichen kann.
Es könnten durchaus Umwege notwendig sein. Und deshalb,
das ist genau die Situation, wo die Ersterbensuche dann auch versagt.
Das ist der Fall, wo wir das nicht so ungefähr
ohne weiteres anwenden können. Die zweite, das zweite Argument,
was hier angegeben ist, dass sich bestimmte Betrachtungen machen kann über,
was sind zulässige Nachbarn, was sind weniger zulässige Nachbarn.
Das ist eben genau das, was wir vorhin schon
gesagt hatten
Ich sollte bestimmte Bedingungen nur dann triggern,
nur bestimmte Aktionen nur dann triggern,
wenn überhaupt ein Bedarf an den Aktionen besteht.
Also ich soll den Kaffeeladen überhaupt nur dann aufsuchen,
wenn wirklich Bedarf an Kaffee angemeldet worden ist.
Ansonsten führt das eben möglicherweise dazu, dass ich sinnlos Kaffee herbeischaffe.
Und nicht nur, er will keinen haben. Achso,
und der Roboter sollte auch keinen Kaffee haben.
Wenn der Roboter Kaffee hat,
dann könnt ihr ihn natürlich sofort dahin bringen und abliefern
Oder eben, dass es eben den Kaffeeladen gar nicht erst besuchen.
Hier hieß es, nimm keinen Kaffee an dich,
wenn nicht Kaffee irgendwo gebraucht wird.
Und hier taucht jetzt diese No-Move-Aktion auf, no-Move sollte also
nur dann aktiviert werden, wenn es tatsächlich Zeitbedingungen zu beachten gibt.
Also wenn explizit gesagt wird, in einer halben Stunde dort und dort erscheinen,
dann kann es notwendig sein, eine halbe Stunde zu warten,
bis der entsprechende Zeitpunkt heran ist.
Das ist also so domänspezifisches Wissen, was man einbauen kann,
sodass man bestimmte Aktionen aus der Betrachtung ausschließt,
weil man Kenntnisse über das hat,
was in einer gegebenen Situation ein sinnvolles Verhalten ist und
eher nicht sinnvolles Verhalten ist
Und damit sind wir auch an einem schönen Punkt angekommen.
Der nächste Schritt ist nämlich das Rückwärtsplan und das
machen wir am nächsten Montag. Und bis dahin natürlich Ihnen
noch eine schöne Restwoche.