So, einen schönen guten Tag. Wir waren bei Planung angekommen.
Planung, also als die Aktivität, Handlungssequenzen zu ermitteln.
Wobei ich für jede Handlungs-, jede elementare Handlung immer angebe,
unter welchen Bedingungen ich sie ausführen kann.
Das sind also die Vorbedingungen. Und dass ich beschreibe,
was sind die Wirkungen dieser Handlung? Das ist der
vereinfachte Rahmen, den wir im Wesentlichen hier mal betrachten.
Die sogenannte Strips-Repräsentation. Und im weiteren Sinne müsste ich eigentlich
auch noch spezifizieren, was sind die Rahmenbedingungen für eine Handlung?
Also was wird durch eine Handlung
nicht verändert
Was man hier aber über den Defaultschluss annimmt, dass alles,
was man nicht erwähnt hat, tatsächlich sich dann auch in der Welt nicht durch die Handlung nicht beeinflusst wird.
Solche Handlungsoperatoren kann man eben in einem Vorwärtsmodus anwenden,
den Vorwärtsmodus hatten wir hier, dass ich also von einer Weltbeschreibung ausgehe,
das ist der initiale Zustand der Welt,
in dem ich meine Handlungssequenz beginnen will,
und dann kann ich eben immer die einzelnen Operatoren anwenden,
aufgrund der Vorbedingungen, die sie stellen, Also beispielsweise,
dass dieses Pick-Up-Koffee eben als Vorbedingung hat,
ich muss mich in der Cafeteria befinden und ich darf noch keinen Kaffee aufgeladen haben,
nur dann ist diese Aktion ausführbar.
Bewegungsoperationen sind üblicherweise vorbedingungsfrei. Da gibt es keine Beschränkung dafür,
unter welchen Bedingungen ich mich bewegen kann.
Und dann habe ich eben die Effekte, die ich in der Welt erziele.
Also wenn ich den Kaffee aufnehme,
dann hatte ich vorher keinen und hinterher habe ich einen Kaffee
aufgenommen oder aufgeladen und alle anderen Bedingungen in der Welt bleiben konstant.
Wenn ich mich bewege, ändert sich nur der Ort,
alles andere sollte von der Bewegung unbeeinflusst sein
Das ist also die uns gewöhnte Vorwärtssicht, wo wir Aktionen nach Aktionen durchführen,
immer testen, können wir die Aktionen anwenden.
Also wir müssen immer gucken, ist die Aktion möglich.
Und das Zweite ist, ist sie auch wünschenswert.
Also sind die Änderungen, die wir dadurch erzeugen,
in irgendeiner Weise sinnvoll im Hinblick auf die Erreichung eines Ziels.
Das hier ist das Schema der Blindensuche. Das heißt,
wir prüfen nicht, ob es sinnvoll ist,
sondern wir probieren nur einfach durch,
welche Welten können wir erzeugen,
ausgehend von dieser initialen Welt durch Anwendung der Operatoren
Und dadurch erzeugen von Folgezuständen. Und wenn wir zufällig bei einem Zustand vorbeikommen,
der die Bedingungen des Zielzustandes erfüllt, dann war die Suche eben erfolgreich.
Das ist die Vorwärtssicht und davon abweichend gibt es eben
auch die Rückwärtssicht. Und die geht eben davon aus,
dass es, dass ich oder möchte den Nachteil kurieren,
dass diese Vorwärtssuche ja in keiner Weise beeinflusst ist durch die Zielstellung,
die ich habe.
Also wie soll die Welt aussehen,
wenn ich meine Handlungssequenz absolviert habe
Völlig unbeeinflusst natürlich nicht, denn das hatten wir diskutiert. Ich kann immer Heuristiken angeben,
die versuchen abzuschätzen, wie weit bin ich noch vom Ziel entfernt oder von einem Ziel entfernt,
von einem Zielzustand entfernt und welche der Aktionen,
die ich im gegebenen Fall ausführen könnte,
also von diesen drei beispielsweise hier, bringt mich, naja,
das war gerade die fehlerhafte Variante, aber ist egal,
die Struktur ist ja dasselbe, welche dieser drei Aktionen,
die ich in diesem Zustand ausführen kann,
bringt mich näher zum Ziel.
Und die würde ich dann eben präferiert in der Suche berücksichtigen
Also über die Heuristik kann ich natürlich eine gewisse Steuerung durch der Vorwärtssuche erreichen.
Allerdings immer unter der Einschränkung, dass es schwierig ist,
wirklich eine aussagekräftige und gleichzeitig zulässige Heuristik zu finden,
weil es eben Aktionen gibt, die mir Teilziele wieder kaputt machen,
die ich eigentlich schon mal erfüllt hatte in einem Zustand,
damit ich andere Teilziele auch tatsächlich erreichen kann.
Das ist eben eine Folge davon, dass wir es hier
mit komplexen Zielbeschreibungen zu tun haben und nicht mehr mit atomaren.
Also wir wollen irgendwie zu statt 25 erreichen, sondern dass wir komplexe Ausdrücke haben,
Wie soll die Welt aussehen, wenn wir den Zielzustand erreicht haben?
So, wenn wir das jetzt umdrehen, dann haben wir
eben als Startpunkt der Suche den Zielpunkt der Planung.
Wir müssen also die Zielwelt irgendwie beschreiben und das können wir üblicherweise,
werden wir das nicht tun, dadurch,
dass wir eine vollständige Beschreibung von Welten angeben und dann die Welten aufzählen,
weil das hochgradig ineffizient wäre,
sondern wir haben im Prinzip eine Zielbeschreibung und die Zielbeschreibung ist dann eben eine Sammlung von Aussagen,
die in der Zielwelt erfüllt sein müssen
Und die beschreibt eben nur relevante Aspekte und kann irrelevante Aspekte ausblenden.
Das heißt, hier können wir jetzt mitunter spezifizierten Beschreibungen für eine Welt arbeiten.
Also in unserem Beispiel, zum Beispiel können wir annehmen,
dass das Ziel ist, dass Sam seinen Kaffee bekommt.
Und dann ist eben nur das Feature Sam Hass Coffee gleich True.
Ah nein, Sam Once Coffee war es.
Sam Once Coffee gleich False. Das ist dann eben die Beschreibung
aller Welten, die wir als erfolgreiche Handlungsplanung ansehen würden.
Wir haben also an allen Knoten sowohl am Startknoten als
auch an den Folgezuständen es immer mit unterspezifizierten Beschreibungen der Welten
zu tun
Die stehen dann sozusagen immer für eine Menge von Zuständen,
die wir in der Vorwärtssuche berücksichtigen mussten.
Denn in der Vorwärtssuche haben wir immer mit einer vollständigen Beschreibung der Welt angefangen.
Es nutzt ja nichts mit einer unfallständigen Beschreibung der Welt anzufangen,
sondern wir müssen von der Welt ausgehen, wie sie ist.
Und dann haben wir Handlungsoperatoren angewendet, die aus dieser vollständigen Beschreibung
der Welt immer wieder eine neue vollständige Beschreibung der Welt erzielt haben.
Dort standen also die Knoten für eine mögliche Welt.
Hier stehen die Knoten immer für mehrere,
typischerweise mehrere mögliche Welten
Gut, die Kanten sind wie auch da, eben Aktionen,
die ich durchführen kann und zwar immer solche Aktionen,
die eines der Ziele, die noch zu erfüllen sind, tatsächlich erfüllen.
Denn ich will ja etwas Sinnvolles tun und nicht irgendwelche beliebigen Aktionen machen.
Jetzt müssen wir die Welt umdrehen und müssen sagen,
die Nachbarknoten, also die Nachbarschaft eines,
wir wollen ja weder dynamisch den Suchgrafen expandieren,
die Nachbarschaften sind dann also solche, die Handlungen beschreiben,
mit denen ich das den gewünschten Effekt oder eines dieser Teilziele befriedigen kann.
Und die Beschreibung der Welten sind dann sozusagen die Vorbedingungen,
damit ich diese Aktion tatsächlich ausführen konnte. Ich muss also
die Vorbedingungen dieser Aktion jetzt in die Beschreibung der wünschenswerten Welt,
die ich noch irgendwie aufbauen muss, einbauen.
Denn ich möchte ja eines der Teilziele erfüllen aus der gegebenen Wunschbeschreibung,
die ich jetzt gerade habe. Und das macht mir eben
diese Aktion A. Aber damit ich die Aktion A ausführen kann,
müssen bestimmte Vorbedingungen gegeben sein und die kommen sozusagen auf
meine Wunschliste obendrauf
Dieses Zeilziel, was durch die Aktion erfüllt wird oder möglicherweise auch mehrere der Ziele,
die durch die Aktionen erfüllt werden,
die kommen natürlich wieder von der Liste der Wünsche,
die ich noch zu erfüllen habe, herunter.
Gut, der Staat Knoten ist also dann diese Beschreibung meiner gewünschten Welt.
Und ich habe den Zielzustand der Suche erreicht, wenn ich
einen Zustand gefunden habe, der der initialen Welt entspricht.
Also eine Wunschbeschreibung habe, die mit der idealen Welt übereinstimmt
Gut, dann haben wir eben solche Wiederbeschreibungen von Features mit ihren Wertebelegungen,
nur dass eben jetzt diese Mengen hier nicht mehr vollständig sind,
sondern partielle vajablen Belegungen spezifizieren.
Und damit haben wir ja nur unterspezifizierte Beschreibung.
Und ich muss mir immer Aktionen aussuchen,
die irgendeine dieser gewünschten Eigenschaften der Welt tatsächlich herstellt,
aber die anderen unbeabsichtigt unbeeinflusst lässt.
Also die anderen dürfen sich dadurch nicht ändern.
Ich darf nicht eine gewünschte Eigenschaft,
die schon erfüllt ist,
durch die Anwendung
wieder kaputt machen
Und ja, dann die Nachbarknoten, die müssen eben jetzt
alle Vorbedingungen der betreffenden Aktionen in ihre Wunschliste aufnehmen und alle diejenigen,
Elemente der noch nicht erfüllten Wünsche,
die durch die Aktion A nicht erfüllt worden sind.
Also die Vereinigung dieser beiden Knotenmengen, das ist dann die Beschriftung des entsprechenden Nachbarknotens.
Und so sieht das Ganze eben dann aus. Wir haben als Wunschvorstellung,
Sam möchte keinen Kaffee mehr haben und die einzige Aktion,
die es gibt, die dieses Ziel tatsächlich erfüllen kann,
ist die Aktion,
dann liefer ihm
einen Kaffee
Diese Aktion lief er ihm einen Kaffee,
hat zwei Vorbedingungen und die Vorbedingungen lauten,
du musst in Sams Office sein und du musst einen Kaffee aufgeladen haben,
sonst kannst du keinen liefern.
Also kommen diese beiden neu auf die Liste drauf und alle die Teilziele,
die durch die Aktionen nicht erfüllt worden sind.
Da ist keins. Es ist nur ein Teilziel da,
was erfüllt werden soll und das wird durch die Aktion tatsächlich auch erfüllt.
Das heißt, zusätzlich, das sind nur die Vorbedingungen und weitere Wünsche
sind nicht mehr offen. Jetzt kann ich eben gucken,
wie ich muss irgendein beliebiges Teilziel nehmen,
fangen wir boshafterweise mit dem hier an
Das einzige Teilziel, die einte Aktion,
wie ich zu meinem Kaffee kommen kann, ist,
mir einen Kaffee aufzuladen, aber dort steht in den Vorbedingungen drin,
dass ich das nur in der Cafeteria machen kann.
In der Caféteria bin ich aber gerade nicht. Das heißt,
ich kann mir das andere,
den anderen Wunschens, also es gibt keine Aktionen,
die dieses Teilziel im Moment erfüllen kann in diesem Zustand.
Aber hier kann ich natürlich etwas tun,
ich kann mich in das, kann gucken,
ob ich mich nicht irgendwie in das Büro bewegen kann.
Ach so, da brauchen wir wieder als Hintergrund die Landkarte in Dem Uhrzeiger,
also komme ich also, war das nicht vorhin gerade umgekehrt?
Vorhin ist gut gestern, hat noch jemand die Karte
in Erinnerung, sonst müssen wir es noch umbrachten.
Ach, da war der. Doch, da ist das
Office, da ist die Cafeteria.
Hier ist der Postraum und hier
ist das Labor
Gut, die Variante, ich bewege mich in,
im Uhrzeigersinn, aus dem Office weg,
dann muss man das jetzt umgekehrt gucken.
Was sind die Vorbedingungen dafür, dass ich mich,
wenn ich mich im Uhrzeigersinn wegbewege, im Office lande.
Und die Vorbedingung lautet, also nein,
der Effekt ist, wenn ich in der Cafeteria bin und
mich im Uhrzeigersinn bewege,
dann lande ich im Office
Das heißt also,
diese Operation kann ich tatsächlich anwenden und sie führt eben zu der Vorbedingung,
ich muss mich in der Cafeteria befinden,
damit ich mich durch diese Aktionen in das Office bewegen kann.
Oder andersherum gegen den Uhrzeigersinn, ich muss mich im Labor befinden,
damit ich mich gegen den Uhrzeigersinn in das Office bewegen kann.
Das ist immer das bisschen Hirnverdrehende,
dass man die Welt ja jetzt von hinten betrachten muss.
Und wenn ich denn in der Cafeteria bin und als Ziel noch habe,
dass ich einen Kaffee haben will, dann kann ich mir den Kaffee aufladen.
Indem ich hier diese Pick-up-Coffee-Aktion mache, die als einzige Vorbedingung hat, ich muss
In der Cafeteria sein und darf noch keinen Kaffee haben.
Die fehlt ja übrigens. Ansonsten geht das Pick-up-Koffee ja nicht zu machen.
Ansonsten kann ich mich auch aus der wieder bewegen in die Cafeteria.
Und das kann ich zum Beispiel vom Postraum ausmachen im Uhrzeigersinn.
Also Postraum, Uhrzeiger sind, damit ich in der Cafeteria
oder aus dem Sams Office in die Cafeteria.
Und jetzt kann ich immer gucken, ist eine dieser Zustände,
die ich hier erreicht habe oder eine dieser Wunschlisten,
die ich hier erreicht habe, durch den Anfangszustand unseres Planungsproblems bereits erfüllt.
Und wenn all diese Forderungen, die hier gestellt werden,
im Initialzustand erfüllt sind, bin ich mit meiner Suche erfolgreich und ich habe einen Plan gefunden,
wie ich von dem Initialzustand zu dem gewünschten Ergebnis komme.
Also nehmen wir an, wir sind eben hier,
ach so, da hat er schon den Kaffee,
ja, aus irgendeinem Grunde hat er schon einen Kaffee,
befindet sich im Postraum, da muss er eben nur die Bewegungsoperation machen,
um dann den Kaffee abzuladen.
Wenn er sich schon in der Capiteria befindet,
dann braucht er einfach nur einen Kaffee zu nehmen,
bewegt sich dahin und liefert ihn ab und so weiter
Das Gleiche also hier im rechten Zweig,
wenn er im Labor ist, gegen den Uhrzeigersinn sich bewegt,
er landet ja im Office,
in diesem Zustand hier oder in eine Welt,
die diese Bedingungen erfüllt, kommt er nur dadurch,
dass er sich entweder im Uhrzeigersinn oder gegen den Uhrzeigersinn bewegt
und gegen den Uhrzeigersinn ist es also aus dem Postraum ins Labor und mit dem Uhrzeigersinn ist es aus dem Office ins Labor.
Das ist also die Art und Weise,
wie ich einen Plan rückwärts aufbauen kann
Wir können das gleiche Spiel machen, was wir auch, yes, ja.
Ja, ja, klar. Spielt ja nirgendwo Menschen.
Also mein Roboter hat ja einen Staatszustand an der Stelle.
Das ist genauso eine blinde Suche, wie die Vorwärtssuche,
eine blinde Suche ist. Die ist erstmal, das ist
vollkommen unbeeinflusst. Bei der Vorwärtssuche habe ich nicht geguckt,
wo ich hin will, sondern habe einfach nur probiert,
was kann ich tun?
Und bei der Rückwärtssuche gucke ich immer nur,
wie komme ich aus dem gewünschten Zielzustand weg?
Ja, also was, oder andersherum, was sind die...
Muss ich da nicht sozusagen zum Anfang des Besitzes
mal ein anderes Zustand lassen
Ja, das fehlt jetzt wieder. Der kommt hier unten
zum Tragen. Ich gucke jetzt also für jeden Zustand,
den ich erreicht habe, ist das bereits,
sind diese Bedingungen im Anfangszustand bereits erfüllt?
Und wenn die im Anfangszustand erfüllt sind, dann habe ich einen Plan gefunden.
Aber an sich ist es auch erst mal blinde Suche ohne irgendetwas.
Und jetzt können wir natürlich wieder überlegen, ob es möglich ist, Heuristiken anzugeben.
Und da sind wir in dem gleichen Dilemma drin,
was wir auch bei der Vorwärtssuche haben,
dass es nicht so ganz einfach ist, zu sagen,
wie weit ist denn jetzt dieser Zustand noch von meinem Initialzustand entfernt?
Also wie viel muss ich
am Initialzustand ändern
Um den zu erreichen,
was ich immer einfach in der Anzahl der Teilziele angeben kann,
aber was relativ schwierig ist,
weil es eben die Anzahl der Teilziele, die zu erfüllen sind,
nicht übereinstimmt mit der Anzahl der Aktionen, die ich dafür brauche.
Das kann deutlich abweichen, sowohl im positiver als auch in negativer Richtung.
Ich kann durch eine Aktion alle Teilziele auf einmal erfüllen,
dann brauche ich nur einen einzelnen Schritt zu machen.
Oder aber ich muss erst Hindernis aus dem Weg räumen,
dann brauche ich mehr Schritte, als ich Teilziele noch zu korrigieren habe.
Gut, Eva, dass die Sache im Vergleich betrachten,
also hier das gleiche Spiel wie gestern nochmal,
da sind Fehler drin und das gilt jetzt,
diese Fehler zu finden.
Also, dass die Handlungsoperatorin, die Aktionen falsch angewendet worden sind.
So, wir machen wieder auf Zuruf. Die Punkte sind
durch Inities angegeben. Ja, da war ich.
Ja. Ersten österlich werden, es werden keinen Kaffee mehr
haben möchten
Hä? Wenn ich einen sehr kleinen Kaffee mehr möchte,
müsste der Kaffee da nicht schon gegenüberfallen.
Also Roboter heißt Cop. Ja, der Roboter hat ja
mehrere Zwecke. Er kann Kaffee liefern, er kann auch
Mehl ausfahren. Und das Mehlaustragen hat ja,
also Postaustragen, hat ja erstmal nichts mit dem,
ob Seven Kaffee Bill oder nicht, zu tun.
Ja, und die Aktion betrifft ja die Post und möglicherweise
die Wünsche hier auch. Jetzt bis zu eins und zwei Jahre
, hat mich eigentlich ein Indivery Regelfall
Ja, richtig. Also hier haben wir sozusagen,
wir möchten, dass keine Mail mehr zuzustellen ist.
Das ist ja Mail as waiting. Das gilt nicht.
Also es ist keine Post auszufahren. Ich habe aber hier
eine Pick-up-Mail-Aktion durchgeführt. Das heißt also offensichtlich,
wenn ich mir die Post aufgeladen habe,
dann müsste das eigentlich, nee, dann ist das richtig.
Aber die Voraussetzung, so rum ist es,
die Voraussetzung bei Pick-up-Mail ist natürlich,
dass Mail as waiting
Nur dann, wenn noch Post auszufahren ist,
dann kann ich sie tatsächlich mehr aufladen.
Und diese Voraussetzung müsst ihr auf die Wunschliste für den Vorgänger knoten.
Ja. Vor allen Dingen ist es doch mehr Rot sein.
Das ist das Nächste. Ja, natürlich. Ich kann
das nur im Postraum machen. Und das steht auch hier
nicht auf der Wunschliste drauf. Das ist ja im Office
ist, und dann kann er das echt nicht mehr.
Genau, ja. Er soll die Mail nicht abholen, sondern zustellen.
Gut, das hängt jetzt wieder vom Design des Roboters ab.
Aber so ist er nun mal designt und das müssen wir zur Kenntnis nehmen.
Also das sind die Voraussetzungen für Pick-up-Mail sind beide nicht erfüllt.
Er müsste im Postraum sein und es müsste im Postraum Post
zum Verteilen da sein, das ist beides nicht hier als Vorbedingung angegeben.
Das heißt, da stimmt etwas nicht.
Diese Aktion ist hier gar nicht anwendbar oder sie hätte dann,
sie wäre, würde den gewünschten Effekt erzielen,
dass keine Mehl mehr vorhanden ist,
aber die Vorbedingungen hier stimmen nicht aktuell.
Ja. Naja, dann ist es bei acht auch so,
zumindest so ähnlich. Ja. Wollen wir Pick-up-Coffee machen?
Ja. Und sind aber im nächsten Zustand im Office,
uns in einem Zustand vorher
noch in der Kantine
Genau, also wir machen einen Pickup-Kaffee, was uns,
was das ja heißt, wir sind in der Kapitärie,
in der Kantine, wir könnten den Kaffee aufladen,
ja, aber das müsst ihr zur Folge haben.
Es wird immer noch eine Kantine sind. Ja,
dass sich dadurch der Ort nicht ändert. Und hier ist
eben als Ziel das Office angegeben. Also eine Pickup-Koffee-Aktion hat
den Ort verändert, das darf natürlich nicht sein. Ja,
zwischen zwei und sieben, es kann auch gut sein,
dass bei der Vorbildung keinen Kaffee hat,
sich dann aber im Uhrzeigerwissen bewegt,
dass auf einmal Kaffee hat
Ja. Ja, also eine, eine Bewegungsoperation führt dazu,
dass er Kaffee aufgeladen hat. Bei 1 und 4,
bei 4, und da stellen wir jetzt hinten in
der Kaffee Turnier und zer möchte gar keinen Kaffee.
Und warum soll er dann einen aufnehmen? Ja, er
kann es aber tun. Hindert ihn jemand da dran?
Das ist jetzt wieder domänenspezifisches Wissen. Also lade dir nur Kaffee auf,
wenn ihn wirklich jemand haben will, wenn du einen Kunden dafür hast.
Aber eine mögliche Handlung ist es auf jeden Fall.
Er kann den Kaffee aufladen. Das hängt jetzt von den Details
ab, wie Pick-up-Koffee definiert ist. Da müssten wir nachgucken,
ob das überhaupt auf den Folien jemals definiert worden ist.
Das können wir so oder so machen. Wir hätten nur Schwierigkeiten,
wenn er es machen kann, hätten wir Schwierigkeiten,
ihn wieder loszuwerden. Denn fürs Loswerden war tatsächlich,
er muss in dem Sams Office sein und Tam muss einen Kaffee haben wollen.
Das heißt, das wäre deine Sackgasse, die wir kreieren.
Er lädt sich einen Kaffee auf, den er nie wieder los wird.
Gut, haben wir sonst noch irgendein Problem hier damit?
Er ist in der Cafeteria Semble keinen Kaffee haben.
Er macht es trotzdem. Mail, das Wetting bleibt gleicher.
Also, je nach Definition könnte das eine regale Aktion sein.
Gibt es sonst noch ein Problem? Ja. 13,
3, oder sollten sie doch mal kaufen.
Wenn wir davon ausgehen, 1, 3,
aufwärts von 3, müsste ja auch die Voraussetzung dafür werden,
wie wir eben gesagt haben, das ist ein Kaffee haben möchte,
das wissen wir.
Und er wird den Kaffee auf dem Buch
Ja, also der Sam Worlds Coffee, das auf jeden Fall, das fehlt hier.
Und das ist ja eine Vorbedingung für das Deliver Coffee.
Was war das Zweite? Kaffee, nachdem man noch hat,
nachdem man ihn auch zugestellt hat. Ach so, ja,
klar, eine Deliver Coffee-Aktion, die an dem Zustand,
ich habe einen Kaffee gar nichts ändert. Das ist die wundersame Vermehrung von Kaffee,
die für die... Gut,
man kann also das Ganze jetzt nochmal formalisieren,
das ist nichts anderes als eine formale Notation für das,
was wir hier schon mal hatten,
was hier mehr oder weniger natürlich sprachlich ausgedrückt wird,
was eine solche Aktion auf der Basis der Strips Lotation eigentlich macht.
Also so eine Kante besteht immer aus einem Ziel, was zu erfüllen ist.
Das ist der Endknoten der Kante der Aktion. Das ist die Kantenbeschriftung,
die durchgeführt wird und aus den Vorbedingungen für die Aktion.
Und das Ziel ist eben dieses Tupel aus vajablen Belegungen.
Und die zugehörige Aktion an der Kante, also die Kantenbeschriftung,
muss dann irgendein Element dieser Wunschliste auf ihrer Effektliste haben.
Also die Aktion muss irgendeines dieser Teilziele tatsächlich erfüllen können.
Und sie darf nicht ein anderes Effekt in der Welt hervorrufen.
Das ist die zweite Klausel. Und das ist die Bedingung,
was als Beschriftung an der Vorgängerkante erzeugt wird.
Also die Vorbedingung der Aktion einerseits plus alle die Dinge,
die durch die Aktion unverändert geblieben sind. Also alle Wünsche,
die durch das Durchführen der Aktion nicht befriedigt werden konnten.
Diese Vereinigung der beiden, also hier ist die Vereinigung dieser beiden Mengen,
das ist die Beschriftung der des Vorgängerknotens, nein, falsch.
Der Vorbedingungs, des Vorbedingungsknoten, was in Begriffen der Suche der Nachfolgerknoten ist.
Wir reden ja immer über die Nachbarschaft der Suche.
Und wir müssen natürlich dafür Sorge tragen,
dass all diese Forderungen hier konsistent sind und Konsistenz heißt immer,
eine Variable darf nur einen Wert zur Zeit haben und nicht verschiedene im Konflikt stehende Variablenbilligungen ihr fordern.
Die Frage ist,
auch hier wieder sind wir in der Lage,
Schleifen zu detektieren oder Multiple Path Fruining zu machen oder mit
anderen Worten
dynamische Programmierung zu betreiben
Das war ja für die Vorwärtssuche relativ einfach, weil wir
vollständige Beschreibung der Welt haben. Vollständige Beschreibung der Welt heißt immer,
ich brauche nur zu gucken, hatte ich schon mal einen Zustand,
der exakt gleich ist in der Historie meines Plans.
Und wenn das der Fall ist, dann will ich offensichtlich in einer Schleife drin.
Dann brauche ich den Weg nicht weiter zu verfolgen,
denn das habe ich bereits einmal getan. Oder wenn ich
eben zweimal auf alternativen Wegen in dem gleichen Zustand lande,
dann kann ich den schlechteren, heißt aufwendigeren Weg, verwerfen.
Geht das aber hier auch so? Wir haben ja jetzt nicht mehr einzelne Erknoten,
die eine eine Welt beschreiben, sondern wir haben Knotenbeschriftungen,
die für ganze Mengen von möglichen Welten stehen.
Und da muss man jetzt die Subsumptionsbeziehung betrachten,
die fragt, ist die eine Welt,
ist die eine Menge von Welten eine Teilmenge der anderen Menge von Welten.
Das ist eben diese Forderung hier. Also ist G1
eine Teilmenge von G2. Wenn das eine Teilmenge ist,
dann ist das eine allgemeinere Beschreibung. Es enthält also Nee,
also das, sorry, wir sind umgekehrt.
Wir reden hier über Zielbeschreibungen. Wenn die,
wenn die Beschreibung des Ziels eine Teilmenge dieser anderen Zielbeschreibung ist,
dann steht G1 für mehr mögliche Welten als G2.
Denn G2 schränkt ja durch, dadurch, dass es mehr Bedingungen enthält,
schränkt die Menge der möglichen Welten stärker ein.
Das heißt also, das ist ein allgemeinerer Ausdruck,
dass es ein speziellerer Ausdruck. Und das haben wir eben hier,
das ist ein allgemeinerer Ausdruck,
denn er fordert nur eine Welt,
in der Cafeteria
wahr ist
Das fordert eine Welt, in der Cafeteria war es und
der Roboter hat einen Kaffee. Das muss beides wahr sein
. Das heißt, es gibt weniger mögliche Welten,
die das erfüllen, als die, die das erfüllen.
Und dadurch, dass das weniger Bedingungen stellt, ist es
auch einfacher, das erst mal zufriedenzustellen als dieses hier.
Hier muss ich möglicherweise noch eine weitere Aktion machen,
die ich hier nicht machen musste.
Und auf die Art und Weise kann ich jetzt also
eine Subsumptionshierarchie aufstellen zwischen allgemeineren Forderungen und spezielleren Forderungen,
also die als allgemeinere, die als speziellere.
Und dann kann man eben fragen, wenn man jetzt auf
dem Weg zu einem Knoten enden Schon mal ein spezielleres Ziel gefunden hat,
also ein solches hier, dann kann ich diesem Pfad weglassen.
Denn ich habe ja bereits die komplizierte Arbeit gemacht.
Und wenn ich die gemacht habe und erfolgreich war,
dann ist das ja automatisch mit erfüllt.
Das habe ich ja bereits sichergestellt. Dann kann ich
diesen Pfad also rausfallen lassen. Also Wiedererkennung,
ob ich in diesem Zustand schon mal war,
ist komplizierter als beim Vorwärtsplan,
weil ich eben jetzt mit Beschreibungen von Welten arbeite und nicht mehr mit den Welten selber.
Aber es ist machbar. Ich kann auf die Art und Weise
auch die üblichen Verfahren zur Zyklenvermeidung zum Einsatz bringen
Das ist schon mal eine gute Nachricht. Die zweite ist wieder die Frage,
können wir die effizient sind, irgendeine Weise erhöhen? Und ja,
kann man eben wieder sagen, wir definieren eine Heuristik,
die eben sagt, wie groß ist der Abstand von einem Teilziel,
oder einem Zwischenziel, was wir gerade in der Bearbeitung haben,
bis zum initialen Zustand?
Oder wie kompliziert ist es von dem initialen Zustand in eine Welt zu kommen,
die diese Zwischenbeschreibung erfüllt? Wenn wir die haben,
können wir die genauso einsetzen wie in jedem Suchverfahren,
dann haben wir nämlich eine Bewertung unserer Blattknoten und wir können für jeden dieser Blattknoten hier unten sagen,
wie weit ist es noch bis zum initialen Zustand zu kommen?
Denn das ist ja der Zielzustand der Suche. Und das
können wir wieder in einer heuristischen Suche als Steuerfunktion verwenden.
Und wir können auch wieder domänenspezifisches Wissen einbauen. Allerdings,
also immer dann, wenn wir eine Zwischenzielbeschreibung haben,
die nicht mehr erfüllbar ist. Das Problem ist nur,
hier müssen wir eine Aussage treffen über eine logische Formel,
ob es für die noch eine mögliche Welt gibt oder nicht.
Und das ist nicht einfach, weil das typischerweise heißt,
wir müssen wieder einen gesamten Suchraum vollständig erfolglos durchsucht haben.
Nur dann können wir diese negative Aussage überhaupt machen.
Dann kriegen wir alle Probleme mit der Endlichkeit und so weiter
hinein. Wenn dieser Teilsuchraum nämlich nicht endlich ist,
dann werden wir unendlich lange brauchen, um festzustellen,
dass es keine Lösung für das Problem überhaupt gibt.
Also das ist nicht ganz einfach. Wir müssen nämlich hier machen,
aus den Aktionsbeschreibungen selber können wir es nicht ablesen,
sondern wir müssen gucken, was ist ein möglicher Initial,
was ist der Initialzustand und gibt es noch wieder im Vorwärtssinne
Wege zu dieser Zwischenbeschreibung,
über die
wir gerade reden
Und dann treiben wir den Teufel mit dem Bildzubub aus,
um diese Frage zu beantworten, ist dieses Ziel überhaupt noch erfüllbar,
machen wir eine Planung im Vorwärtssinne, dass wir versuchen,
das Ziel zu erfüllen.
Also Beispiel dafür ist hier eins angegeben, wenn wir eine Beschränkung haben,
der Roboter kann nur immer jeweils ein Objekt gleichzeitig tragen,
dann sehen wir das aus den Aktionsbeschreibungen nicht,
sondern wir können es nur implizit aus der Anwendung der Aktionen auf den Initialzustand nachweisen.
Oder Äquivalent dazu ist so etwas wie zwei Dinge,
können ich gleichzeitig an der gleichen Stelle sein.
Das sind auch solche Ausschlussbedingungen. Wenn das der Fall ist,
dass sowohl Objekt 1 hier liegen soll und Objekt 2
ebenfalls hier liegen soll, dann geht das typischerweise nicht.
Ja, zum Vergleich des Ganzen, da kann man jetzt spekulieren.
Also hier stehen zwei Sachen, da müssen wir überlegen,
trifft das die Sache? Also einerseits haben wir den Verzweigungsfaktor
. Kann es sein, dass ein Problem,
wenn wir von vorn reingucken in den Suchraum, komplizierter ist,
als wenn wir von hinten in den Suchraum reingucken?
Also wir haben ja Vorwärtssuche, wir haben Rückwärtssuche,
kann es uns aus einer Richtung als weniger aufwendig vorkommen
als aus der anderen Richtung.
Wie kann das passieren
Müsste man nicht sagen, jede Verzweigung,
die wir irgendwo mal auf der Vorwärtssuche haben,
die muss dann irgendwann wieder zurückgeführt werden,
sodass sie als Verzweigung auf der Rückwärtssuche auch wieder auftaucht.
Ist das richtig oder ist das nicht richtig? Ich muss sagen,
es ist nicht richtig, da möchte ich einfach den Ball anschauen.
Also natürlich kein Ziel. Und zwei Englos sozusagen.
Das heißt, die können wir miteinander provoziert wurden,
anfängt und dann ist man halt direkt beim Wohl.
Man muss den anderen Fahrt nicht mehr absolut
Schon laziert, also privat. Das habe ich nicht ganz verstanden.
Wieso ist man gleich beim Ziel? Also wenn man sich jetzt,
also wenn man sich nicht einfach so fallen und auch anschaut,
der einstarten kann, und zwar Kinder,
aber es sind beides Goals.
Also vergänzen. Ja. Das ist der ganze Band.
Und wir hatten damals das Bergswort kleine Machen,
dann fangen wir vom Goal an zu suchen.
Ja. Und dann sind wir über einen Schritt direkt zum Ziel gekommen,
ohne jetzt, was wir jetzt für den anderen Plätzen betrachten müssen.
Und wenn man das jetzt ein bisschen länger,
wenn man jetzt den Baum ist,
ein bisschen.
Ja, ja
Ja, also in diesem Fall, wenn man natürlich Sport hat. Ja,
habe ich auch immer auf dem Weg in der Eins,
auch wenn man das jetzt aufzubauen anwenden würde, würde es weiterhin der Fall sein.
Das Problem ist, also die Situation, die Sie beschreiben,
sieht ja so aus, ich habe hier einen Startzustand,
ich kann eine Aktion anwenden, ich kann eine Aktion anwenden,
wenn ich das Problem jetzt umdrehe,
werde ich wahrscheinlich die Dinger hier mit einer Zielbeschreibung erfassen können.
Das sind ja zwei mögliche Welten. Ich habe dann sozusagen ein,
ach so, nee, gerade andersrum, ein Startzustand,
Ich mache das jetzt mal so,
dass ich den Staatszustand markiere, damit man,
sonst wird man verrückt hier.
Also wir fangen hier oben an und hier fangen wir hier unten an,
am Zielzustand. Und dann habe ich eben nur diesen Pfad
hier oben und bin sofort am Zielzustand der Suche,
beim Staatszustand des Planes angekommen.
Ist das richtig oder ist das nicht richtig?
Also die entscheidende Frage ist doch, hier haben wir eine Verzweigung in zwei Richtungen.
Sind das alle möglichen Verzweigungen oder ist das bereits
eine Auswahl von Verzweigungen
Also mit anderen Worten, hier bei diesem Roboter,
wir hatten irgendwie sechs Aktionen, die er durchführen kann,
für Mail und Clockbys und Anti-Clock-Weiß und so weiter.
In unseren Bäumen hatten wir üblicherweise doch eine kleinere Anzahl.
Wie kommt das? Also beispielsweise, das war die Vorwärtsplanung hier.
Von den sechs möglichen Aktionen tauchen hier nur drei auf.
Warum die anderen drei nicht?
Wahrscheinlich auf Kunst und Vorbedingungen
Genau, die sind gar nicht anwendbar. Wir prüfen ja immer,
was ist überhaupt möglich in der gegebenen Situation anzuwenden.
Und das sind eben hier die beiden, nehmen wir mal an,
die gerade gegeben diese Situation hier anwendbar sind,
die anderen vier sehen wir nicht.
Das Gleiche passiert jetzt aber bei der Rückwärtssuche auch.
Wir sehen hier nur das Ding, was uns das gewünschte Teilziel hier erfüllt.
Nur die Aktionen sehen wir also nochmal für die Rückwärtssuche, für das Regression-Planning.
Wir sehen hier von den sechs möglichen Aktionen nur dieses Deliver Coffee,
weil das das Einzige ist, was dieses Teilziel erfüllen kann.
Es gäbe natürlich auch noch andere und für andere Situationen könnte es durchaus sein,
Dass ich mich hier auch woanders hin bewegen könnte.
Und wenn das Suchproblem eben tiefer ist, weiß ich hier noch nicht,
ob das ein Zustand ist, der zum Ziel führt oder nicht.
Das wird sich irgendwann mal herausstellen,
ob es eine Sackgasse ist oder ob es da weitergeht.
Also das Argument ist nicht so ganz schlüssig.
Verzweigungen gibt es auch in der Weise,
wir dürfen uns hier nicht dafür blenden lassen,
dass hier sozusagen nur immer die, die überhaupt anwendbaren Aktionen dokumentiert worden sind.
Die anderen sind gar nicht erst dargestellt. Deshalb ist das
nur ein Ausschnitt aus der Realität. Also tatsächlich ist es so,
wenn wir Planungsproblem hätten, wo die Vorwärtsverzweigung im,
nein, wo der Verzweigungsfaktor über den gesamten Suchraum konstant ist.
Das ist ja immer so eine Annahme, die wir gemacht haben.
Dann wäre es völlig symmetrisch. Aber das ist natürlich nicht
der Fall. Wir haben eben hier mal einen Verzweigungsfaktor von 1.
Hier haben wir mal einen Verzweigungsfaktor von 3 und so weiter.
Der ist also in verschiedenen Teilen des Suchraums ganz unterschiedlich groß.
Und es könnte eben sein, dass wir einen Suchraum haben,
der ist es jetzt bloß grob skizziert,
der hier am Anfang Explosionsartig uns zig Optionen zulässt,
die dann irgendwann so eine langsam peu à peu hier wieder zusammengefasst werden und hier einen langen Rattenschwanz ergeben und so weiter.
Wenn wir also von hier in den Suchraum reingucken,
ist der Verzweigungsfaktor hier immer wesentlich kleiner als dieser initiale große Verzweigungsfaktor hier.
Das ist sozusagen ein stark asymmetrischer Suchraum. Das sieht fast so
aus, als ob das hier so ein Ding ist.
Also wenn ich das wirklich als Ziel habe,
dann habe ich am Anfang nur sehr wenig Verzweigungsmöglichkeiten und hinterher wird es größer.
Aber dann, wenn ich schon eine wesentliche Vorauswahl getroffen habe,
im Gegensatz dazu hier, wo ich am Anfang bereits einen hohen Verzweigungsfaktor habe,
der sich dann später möglicherweise eingrenzt.
Also das kann durchaus sein, dass das in unterschiedlicher Betrachtungsrichtung,
ob rückwärts oder vorwärts auf unterschiedliche Verzweigungsfaktoren stößt und damit dann unterschiedlichen Aufwand hervorruft.
Das ist genau das, worauf sich die erste Bemerkung hier bezieht,
dass der Verzweigungsfaktor da eine Rolle spielt.
Na nun, da, dass ihr der Verzweigungsfaktor die Effizienz maßgeblich beeinflusst.
Das Zweite ist natürlich wie immer, das ist trivial,
wenn ich eine gute Heuristik habe, dann hilft sie mir auch viel,
das ist die Definition einer guten Heuristik
Die... Wahrscheinlich ist es auch so,
dass das nicht symmetrisch ist bezüglich der Verarbeitungsrichtung,
dass es eben Heuristiken gibt, die eher besser in der
Einrichtung oder besser in der anderen Richtung geeignet sind.
Das ist problemunabhängig, dich zu beantworten. Wir hatten ja hier die Möglichkeit,
etwa dieses Planungsproblem auf ein reines Bewegungsproblem zu reduzieren,
dass wir nur gucken, wie weit sind wir geografisch,
noch von dem gewünschten Zielort entfernt.
Das ist natürlich symmetrisch. Ob ich mich so lang bewege
oder so lang bewege, das ist dann egal.
Ich glaube, in dem ursprünglichen Planungsproblem gab es noch sowas
wie Türen, die nur in eine Richtung zu öffnen sind
Dann habe ich natürlich gerichtete Bewegungsoperatoren und dann ist es unterschiedlich,
von wo ich nach wo will.
Das eine macht mehr Aufwand als das andere.
Und das abzuschätzen kann auch gegebenenfalls unterschiedlich aufwendig sein.
Einen Aspekt taucht hier aber überhaupt nicht auf.
Hat jemand eine Idee, was das ist? Und was
mir noch einfällt, das hat er sogar in der Kammerzoberspeicherung,
ganz in jedem Schritt die ganze Welt ab.
Von der Rückwärtsung haben wir eine Teilmenge davon, sagen wir nur.
Jetzt hätte ich ja die Rückwärtssuche für weniger Sprecherpositive noch nicht.
Der Speicherplatz, ja, das ist das eine.
Es ist aber auch möglicherweise die Anzahl der Knoten, die ich betrachten kann.
Das ist auch in Allgemeinheit kann man es sich beantworten, aber dadurch,
dass ich eben mit einem Knoten gleich mehrere Welten möglicherweise viele Welten beschreibe,
sollten es typischerweise weniger Knoten sein, die da noch alle spielen.
Das kann auch ein Einflussfaktor auf die Effizienz sein. Also ich glaube,
dass das sollte in vielen Fällen ein Plus für die Rückwärtssuche sein,
weil ich das sich eben gleich über mehrere Ergebnisse reden kann,
Was man dabei nicht berücksichtigt hat, ist der Metaaufwand, der entsteht.
Dass es natürlich einfacher ist, komplette mögliche Welten miteinander zu vergleichen,
bei der Schleifendetektion beispielsweise, aber auch bei der Zielerkennung,
als wenn ich immer gucken muss, erfüllt diese Beschreibung hier,
oder ist diese Beschreibung durch diese Welt erfüllt?
Das ist etwas aufwendiger. Aber das ist auch ein Aspekt,
der eine Rolle spielen könnte. Vermutlich ist es so,
dass es in einem Rückwärtssuchproblem weniger Knoten gibt, als in einem Vorwärtssuchproblem.
Aber ich glaube auch nicht, dass das ein beweisbarer Zusammenhang ist.
Gut, das hat man schon diskutiert. Vorwärtsplanung betrachtet,
also das Ziel überhaupt nicht, es sei denn,
wir haben eine Heuristik
Und bei der Rückwärtssuche ist es genau umgekehrt,
es betrachtet den Initialzustand überhaupt nicht, es sei denn,
wir haben eine Heuristik, die den Initialzustand mit einbezieht.
Aber jedenfalls direkt wird es zur Steuerung nicht herangezogen. Gut,
das sind die beiden Wesentlichen, also konstruiert sind,
Planung als Suche in einer der beiden Richtungen.
Die dritte Variante, die ich angekündigt hatte, ist,
dass wir das Ganze auf ein Konstant-Settis-Fiction-Problem abbilden.
Jetzt müssen wir ein bisschen die Denkoptik ändern,
wenn wir also ursprünglich mal in diesen In diesem Reglerbild hier hatten,
dass wir Planung als eine Aufgabe ansehen, in der die Anzahl der Schritte,
die wir zu machen haben, nicht von vornherein festgelegt ist.
Also wir wissen, Apriori nicht, wie lang der Weg bis zum Ziel ist.
Das heißt ja, hier, es ist immer konstanter Aufwand.
Hier heißt es ja, ich gebe eine endliche Anzahl von
Schritten vor und dann habe ich das Ziel erreicht.
Hier heißt es, ich weiß nicht,
wie viele Schritte ich machen muss,
aber es ist im Endeffekt endlich und das heißt,
es kann unendlich lange dauern
Online-Prozesse, die nie zum endgültigen Ziel kommen, weil die Welt
sich immer weiterentwickelt beispielsweise. Das haben wir also angenommen,
dass wir Planungsprobleme lösen können, ohne dass wir von vornherein wissen,
wie viele Schritte wir denn machen müssen.
Jetzt vereinfachen wir das Problem, oder nein,
wir geben diese Zielstellung auf und gehen zu der nächsteinfacheren über.
Wir sagen, können wir dich, wenn wir die Anzahl der Teilschritte wissen,
mithilfe von Constance-Satisfaction, ein solches Planungsproblem lösen?
Also das ist die erste Annahme, die wir machen.
Wir wissen bereits, wie lang der Weg bis zum Ziel sein wird.
Das ist natürlich eine künstliche Annahme, aber wir können uns gleich angucken,
wie wir mit der künstlichen Annahme umgehen können.
Also wir geben jetzt ein Planungshorizont vor. Wir sagen,
wir wollen eine Lösung haben, die wir mit Endschritten erreichen können.
Das ist sehr hier, da ist der Horizontbegriff.
Horizont heißt ja immer bis zum Horizont irgendetwas. In dem Augenblick,
wo ich solche Aktionen einführen für den Ruhezustand,
also tue nichts in diesem Schritt, kann ich natürlich auch Pläne finden,
die mit kürzerem Zeithorizont zur Rande kommen.
Das einzige Problem, was dort auftaucht, ist,
dass sich diese Diese Tour-Nicht-Schritte immer erst zum Schluss machen sollte.
Denn ansonsten kann es passieren,
dass er mir alle paar Mutationen generiert von, tue nichts,
tue nichts, tue nichts, zu nichts und jetzt fange an.
Mit, tue nichts, tue nichts, tue nichts,
mache die erste Aktion, tue wieder nichts und dann mache die restlichen Aktionen.
Ich kann also die Ruhezustände beliebig auf die Sequenz verteilen und
das sind alles gültige Pläne. Das muss ich irgendwie regeln,
dass sie ich wirklich kompakte Pläne habe,
die hintereinander die Aufgabe erlidieren und dann sagen, ich bin fertig,
denn ich möchte ja nicht irgendwelche sinnlosen Pläne haben.
Also so viel zum Horizontbegriff im strengen Sinne,
Ich brauche genau Endschritte, im aufgeweichten Sinne, ich brauche höchstens Endschritte.
So etwas machen wir. Und dann können wir eben für jeden Planungshorizont
im strengen Sinne sagen, wir bauen ein solches Konstant-Settics-Fiction-Problem auf,
aus möglichen Aktionen und möglichen Eigenschaften der Welt.
Und das versuchen wir zu lösen. Und wenn wir das lösen können,
dann haben wir genau einen Plan mit dieser Länge,
die durch den Planungshorizont vorgegeben ist.
Und dann fangen wir beispielsweise bei Planungshorizont 1 an und fragen,
gibt es einen Plan der Länge 1?
Und wenn wir ihn nicht gefunden haben,
dann sagen wir, dann gucken wir doch mal,
ob wir einen Planungshorizont der Länge 2 finden
Wo ist denn die Idee schon mal begegnet?
Das ist nicht dasselbe, aber sehr ähnlich zum Iterativ-Debeling.
Ich versuche erst mal, ein künstlich einfaches Problem zu lösen,
nämlich hier einen Plan der Länge einzufinden, im Iterative-Leapinning ein Suchergebnis mit einem Suchschritt.
Und wenn das nicht gelingt, und dadurch,
dass ich eben diese Begrenzung angebe, kann ich immer garantieren, dass es terminiert.
Ich kriege also im negativen Fall kein Terminierungsproblem,
dann kann ich eben den Horizont um eins erweitern und gucken,
ob ich nicht mit zwei, mit drei,
mit vier,
mit fünf Länge und so weiter auch einen Plan finden kann
Ja, das werden wir nicht machen. Man kann
auch die Aktionen wieder noch zerlegen, in Aktionsfeatures.
Das Beispiel, was wir hier nehmen, braucht das nicht.
Oder wir beschreiben es auch mithilfe von Features,
indem wir einfach sagen, jede Aktion ist ein Feature oder eine Variable.
Also wir sagen, es gibt eine Variable, die heißt
eben in diesem Zeitpunkt führt der Agent eine Pick-up-Coffee-Aktion durch.
Und zu diesem Zeitpunkt führt er eine Liefer, den Kaffeeausaktion durch.
Und dann eben hier Pick-up-Mail und Liefermehl aus und natürlich die Move-Operationen,
die Dann in diesem Sinne drei Werte hätten.
Nämlich bewege dich gar nicht. Das ist eben dieses Mache-nichts.
Oder bewege dich nach links, bewege dich nach rechts.
Und ja, genau, das sind nur die Definitionen dafür.
Also das stellen wir auch mit Hilfe von Bajablen
dar und die Variablen haben eben dann immer Werte,
was in den ersten drei Fällen wir immer two und falls wäre.
Und hier ist der Wertebereich explizit angegeben. So, dann
müssen wir irgendwie diesen Planungshorizont wählen. Dann machen wir eben
die Vajablen für jedes, für jeden Zustand der Welt von 0 bis K.
Und zwischen die Vajablen für die Zustände müssen wir immer die Aktionen platzieren,
die ja sagen, ich komme von dem vorhergehenden Zustand in den nächsten Zustand, unter bestimmten Bedingungen.
Also wir haben dann Zustandsmerkmale und Aktionsmerkmale oder Vajablen in der Terminologie des Constraint Certisfiction,
die immer zwischen den Zustands Vajablen angeordnet sind und deshalb eins weniger haben.
Ich fange hier von 0 bis K an und hier muss
ich immer nur in die Zwischenräume eins platzieren.
Die Topologie sieht dann, also so aus,
dass ich immer eine Reihe von Zustandsvariablen habe,
eine Reihe von Aktionsvariablen, eine Reihe von Zustandsvariablen, eine Reihe von Aktionsvariablen.
Und das Ganze muss natürlich wieder mit einem Zustand enden,
wo ich dann prüfen kann, ob es ein finaler Zustand ist oder nicht.
Oder das ist der finale Zustand des Modells. Was wir dann haben,
sind eine Reihe unterschiedlicher Constraints, die wir jetzt definieren können.
Wir haben einerseits oder können haben so etwas wie Zustandskonstraints,
die sagen, welche Bedingungen zwischen den Variablen zum gleichen Zeitpunkt
zwischen den Zustandsvariablen zum gleichen Zeitpunkt erfüllt sein müssen.
Also wir haben hier
fünf Zustandsvariablen
Das ist also der Ort des Roboters, das hier,
mit den vier Werten, die wir hier haben,
also von Kaffeeladen bis Labor.
Das ist ein binäre Variable. Der Roboter hat den Kaffee
oder nicht. Das ist der, auch eine binäre Variable,
Sam Will Kaffee oder nicht. Das ist eine,
das Gleiche für die Mail nochmal. Also es gibt,
es Mail zu verteilen und der Roboter hat die Post gerade aufgeladen.
Das gibt es jetzt Konstränz zwischen diesen Variablen Belegungen,
die wir unbedingt immer erfüllt sein müssen
Also muss, wenn die Welt in dem Zustand ist,
der Roboter befindet sich in Sams Office.
Hat das irgendwelche Konsequenzen für die anderen Variablenbelegungen,
dass sie dann sagen kann,
dann muss das aber mit Two sein oder False sein oder irgendetwas.
Die sind orthogonal. Ich kann jeden Wert mit jedem kombinieren.
Das sind eben die möglichen Welten, die man hat.
Es gibt keinerlei sinnvolle Einschränkungen, irgendeinen Ort hier mit irgendeiner
dieser Bedingungen kollidiert oder dass irgendeine Bedingung mit irgendeiner anderen Bedingungen kollidiert.
Also es kann eben, der Roboter kann Post haben und
trotzdem kann er auch noch Post zum Austeilen da sein.
Oder aber der Roboter kann Kaffee haben und Sam will Kaffee
haben oder er kann keinen Haffee haben und Sam will auch
keinen Kaffee haben und alle Kombinationen sind im Prinzip möglich.
Also deshalb sind hier auch keine eingezeichneter. Falsch.
Deshalb ist falsch, weil nicht eingezeichnet nicht unbedingt heißt,
es gibt es nicht. Aber hier, ich finde,
es gibt keine sinnvollen Konstrains für die Zustände.
Das ist die erste Sorte von Konstrains. Aber es könnte sie geben,
dass ich eben für die möglichen Welten bestimmte Einschränkungen formulieren kann.
Beispielsweise eben eine Person kann ich gleichzeitig an zwei verschiedenen Orten sein.
Aber, dass es eben hier dadurch geregelt,
dass ich hier eine Variable für den Ort habe.
Und diese Variable kann nur einen Wert haben. Dadurch ist eindeutig klar,
dass der Wert eindeutig bestimmt ist und der Roboter nicht gleichzeitig
an verschiedenen Orten auftauchen kann.
Das zweite sind Vorbedingungskonstruenz und die gelten immer zwischen den Zustandsvajablen
zu einem Zeitpunkt und den Aktionen,
die ich dann durchführen kann
Da. Also, das sind diese Vorbedingungskonstants,
die sagen jetzt, ein Pick-up-Koffee hängt davon ab,
wo sich der Roboter befindet und ob er Kaffee hat oder nicht.
Genau, wenn er bereits einen Kaffee aufgeladen hat,
dann kann er sich keinen zweiten aufladen.
Also davon ist es tatsächlich abhängig. Hat er bereits einen
Kaffee oder nicht und wo befindet er sich denn nur im
Kaffee in der Cafeteria, gibt es Kaffee zu holen?
Oder eben liefert er den Kaffee aus,
hängt davon ab, dass er einen Kaffee hat,
nur dann kann er ihn ausliefern und dass er an einer bestimmten Lokalisation ist,
nämlich in Sams Office,
nur da darf er
Kaffee abliefern
Und so weiter und so fort, für die Mail dann und so weiter.
Also man sieht immer, Konstrents, die hier typischerweise drei Variable miteinander in Beziehung setzen. Und das ist also,
sind die Vorbedingungskonstruenz und das sind jetzt die Action-Constraints,
das ist die nächste Sorte von Konstrents oder Effektkonstant,
sorry, Action, Konstrents, Kopf später, Effekt-Monstraints,
die jetzt beschreiben, was sind die möglichen Variablen Belegungen zum nächsten Zeitpunkt,
gegeben, die Variablenbelegung beim vorhergehenden Zeitpunkt und die Aktion,
die ich zu diesem Zeitpunkt durchführe.
Also ihr, die sind relativ komplex,
die also hier zusammenfassen, der Ort,
an dem sich der Roboter im nächsten Zeitschritt befindet,
hängt von dem Ort ab, wo er vorher war,
und der Bewegungsaktion, die er durchführt.
Also entweder er ist im Zyklus, er im Uhrzeigersinn oder gegen den Uhrzeigersehen weitergegangen.
Die Frage, ob er Kaffee, ob er Kaffee hat,
hängt davon ab, ob er vorher Kaffee hatte,
ob er einen Kaffee aufgeladen hat oder ob einen Kaffee abgeladen hat.
Das ist die, beeinflusst diesen Wert,
ob er im nächsten Zeitpunkt immer noch einen Kaffee hat
oder nicht
Und die Frage, ob Sam Kaffee will, hängt davon ab,
ob er im vorhergehenden Zustand einen Kaffee haben wollte und ob
er inzwischen einen Kaffee gekriegt hat oder nicht.
Also das sind Effektkonstraints, die beschreiben,
was ist durch das Zusammenwirken des vorhergehenden Zustandes mit den Aktionen,
die dort ausgeführt worden sind, was sind die Wertebelegungen,
die ich dann im Nachfolgezustand habe.
Die Aktionskonstruenz sind dann ähnlich wie die Statekonstruenz,
Beziehungen zwischen den Aktionen, die ich durchführen kann.
Und da können wir uns wieder überlegen,
gibt es solche Beziehungen oder gibt es sie nicht
Ja, also spezifizieren, welche Aktionen nicht gleichzeitig ausführen können
und nicht ohne Grund sind die hier angeführt.
Das sind Multial Exclusion oder Konstreenz, die eben sagen,
ich darf nur eine Aktion zur Zeit ausführen.
Und eine Aktion zur Zeit ausführen ist eben ein globales Konstrem,
was für die Dinger sagt, nur eins, sorry,
hier von den Actions, für die Actions sagt,
nur eins davon darf wahr sein.
Das kann ich eben runterbrechen auf lokale Konstreens,
indem ich immer paarweise sage, nur einer von euch
beiden darf,
tu sein
Und dass wir alle Paare mache oder ich mache eben
einen Konstruenz, was ich über fünf Vayablen geht.
Das ist immer wieder die Frage, was ist effizienter?
Und das hängt vom Lösungsverfahren ab. Ob ich lokale Suche
verwende oder ob ich, wenn ich lokale Suche verwende,
dann kann ich eben einen konstrieren über fünf Vayablen angeben,
wenn ich Kantenkonsistenz verwende, dann sollte ich sie runterbrechen auf viele kleine Konstruenz.
Gut, das sind die Action-Konstruenz. Also hier haben wir tatsächlich Konstruenz,
die aber nicht dargestellt sind,
weil sie sozusagen ein implizites Konstruenz sind,
was immer gilt,
Aktionen dürfen immer
nur jeweils eine pro Zeiteinheit
durchgeführt werden
Achso, ja, das sind, nee, halt, hier ist unsere Liste.
Dann haben wir halt so etwas wie initiale Zustandskonstruenz.
Das ist eben genau die Bedingung unseres Staatszustandes in die Welt der Konstruenz übersetzt.
Dass ich eben sage, welchen Wert muss der Anfangszustand haben,
gegeben die Aufgabe, die ich gerade lösen will.
Der Initialzustand der Welt ist ja Aufgaben spezifisch.
Und ich brauche das Gleiche natürlich hinten am letzten Zustand,
muss die gewünschte Welt kodiert werden.
Während das eben wieder eine vollstehende Beschreibung der Welt ist,
wo ich für jedes Merkmal einen Wert angeben muss,
das wieder ein Unterspezifiziertes, wo es also nicht notwendig ist,
dass sich die Werte tatsächlich kenne.
Also hier hinten kann ich eben sagen,
ich will nur dieses Merkmal Sam Vonce Coffee mit positiv haben.
Alle anderen sind mir egal. Dann ist eben die Domäne
hier. Alle Orte sind mir gleich. Hier ist,
ob der Roboter Kaffee hat oder nicht, ist mir egal.
Also True und False, hier, True und False,
hier, True und False und hier lege ich es tatsächlich auf True fest,
denn das ist der Zustand,
den ich im Endeffekt erreichen will
Und nur als ein Beispiel, so sieht dann eben ein Effekt konstruent aus,
ein Effekt konstruiert, das in diesem Falle für dieses Rob-Hass-Koffee,
das ist eben dieses vierstellige Konstrukt hier,
was diese drei Vorgänger vaiablen mit dieser Nachfolger vaiablen in Beziehung setzt.
Und das kann ich eben wieder extensional machen,
indem ich die vollständige Wahrheitsbelegungstabelle aufbaue, indem ich sage,
wenn im Vorhang ja Vorgängerzustand der Roboter einen Kaffee hatte und er
den Kaffee abgeliefert hat und gleichzeitig wieder einen Kaffee aufgenommen hat,
dann hat er danach auch wieder
einen Kaffee
Dass die beiden nicht gleichzeitig stattfinden können, das regelt ja
ein anderes konstrierend. Das regelt da wieder diese Beautial Exclusion,
diese Wechselseite Ausschluss. Die sagt eben, zum Zeitpunkt I
darf ich nicht gleichzeitig Kaffee abladen und Kaffee aufladen machen.
Das muss ich hier nicht spezifizieren. Das ist nur ein Aspekt,
der sagt, passen die Vorgänger und die Nachfolger zusammen.
Kann das jemand in eine logische Formel umwandeln, was hier steht?
Weiß jemand, wie man es macht? Also stehen greifen ist jetzt nicht,
aber sonst könnte er halt einfach mit keinem PLF Ja,
und Vereinfachungsregeln anwenden, aber also ich habe mal lang,
langes, sehr Elektrotechnik studiert. Also das hieß bei uns
Informationstechnik, aber es war ein sehr elektrotechnisch lastiges Studium.
Und da haben wir mal ein Verfahren gelernt,
wie man sowas machen kann.
Man schreibt also die Wahrheitswerttabelle in geeigneter Form auf,
indem man hier zum Beispiel Rob Hess Coffee und Deliver Coffee
aufträgt,
hier aufträgt
Der Pick-up-Koffee und die letzte Spalte dann hier einträgt,
dann hat man hier eben 0-1. Hier hat man,
da gab es auf die Reihenfolge an 0-0,
0-1, 1-1,
1-0, als mögliche Wertebelegung.
Ach, das ist in dem Falle sogar egal.
Und jetzt muss man die Tabelle nur übertragen.
True, true, true, ist true. True,
true, false is false. True, false,
true, true, false, true, ist true,
true, false, false, ist auch true.
Falls, true, true, bam,
bam, bam, false,
true,
true ist was
Du falls true falls as falls and falls falls true,
falls falls true ist true, falls falls falls ist null.
Und jetzt kann man hier draus sich die Formel zusammensetzen,
relativ einfach. Das Einfachste ist,
man fasst diese vier Dinger zusammen, heißt auf gut Deutsch.
Pick-up, Coffee. Oder Rob-Hass, Coffee und Deliver Coffee
. Oder sage ich schon
Danke. Ja, guter Hinweis. Sehr guter Hinweis.
Hier, ja, an der Stelle, okay,
hier muss es oder sein und hier muss es uns sein.
Okay, also auf die Art und Weise
kann man es rauskriegen und das macht tatsächlich auch Sinn.
Das ist ja jetzt die Frage, hat der Roboter
im nächsten Zustand einen Kaffee aufgeladen, ja oder nein?
Das ist wahr, wenn er einen Kaffee aufgeladen hat,
dann hat er ihn auch oder aber,
wenn er ihn vorher schon hatte und nicht das Übrigen Kaffee
Ja, hier steht eine Null. Hahaha, da.
Sorry, da steht eine Null. Also dieses 0-1 heißt ja,
er hatte vorher einen und er hat ihn nicht abgeliefert.
Und das macht tatsächlich Sinn. Das sind die Bedingungen dafür,
dass er hinterher auch noch einen Kaffee hat.
Das ist nichts anderes als die Umschreibung dieser Tabelle.
Also das kann man eben auch in Form von logischen Ausdrücken dann angeben.
Gut, das ist zur Planung gewesen. Gibt es dazu
noch Fragen? Ja. Ich bin noch mal kurz bei Regression Clanning,
hat eine Multiple-Draft gesprochen, auch noch was mit.
Ja. Genau, also welchen Fall schmeißen wir jetzt?
Ich schmeiße mir das so mit Ding auf,
wenn du mir fragst, den allgemeinen oder speziellen.
Den allgemeineren schmeiße ich weg. Ich habe ja bereits
eine speziellere Lösung gefunden, die die Forderung auch erfüllt.
Und ich finde ja später einen, der die allgemeinere Lösung aufbaut.
Da ich aber mit weniger Aufwand schon eine spezielle gefunden habe,
die auch korrekt ist, habe ich eigentlich meine Aufgabe von vorher erfüllt gehabt.
Ja, also das gebe ich zu. Regulation Planning ist
ein bisschen Da muss man sich sehr am Riemen reißen,
dass man dieses von hinten aufziehen tatsächlich konsistent durchhält.
Das ist irgendwie mein Apparat ist dafür nicht gemacht.
Also mein Grips-Apparat, ja. Da spielt ja FDE 1,
soll ja eine Teilwende von wen es bei sollen.
Ja. Dann haben wir ja gesagt, wenn das gilt,
ist ja geht es weiter allgemeinere Pfalz.
Nein, gerade umgekehrt. Gerade umgekehrt. Also hier ist
es doch, das ist Subset von dem. Ja,
wir reden, das sind, das habe ich ja auch erst durcheinander gebracht wieder.
Das ist eine Beschreibung der möglichen Welten.
Und je größer die Beschreibung der möglichen Welten ist,
umso mehr schränkt sie die Anzahl der möglichen Welten ein
Das ist genau dieses Wechselverhältnis. Das heißt also,
das ist eine größere Beschreibung, die enthält mehr Konstrains.
Und deshalb ist die Anzahl der Welten, die diese Beschreibung erfüllt,
kleiner als die Anzahl, die diese erfüllen.
Und dann finde ich eben das Spezifische Ziel zuerst,
das ist aber gut, wenn ich das erfüllt habe,
habe ich ja alles getan, was ich tun müsste.
Und wenn ich danach das finde, dann kann ich
das vergessen, das muss ich nicht weiter betrachten.
Gut, sonst noch Sachen, ansonsten würde ich noch doch
die Gelegenheit nutzen, dann das nächste Thema aufzurufen.
Das hatte ich ja schon im in der Vorankündigung angedeutet,
dass wir jetzt die Frage der Planung mit der Frage der Unsicherheit verbinden wollen.
Bisher sind wir ja immer davon ausgegangen,
dass wir sicher wissen, wenn wir eine bestimmte Handlung ausführen,
dann werden auch die Effekte mit Sicherheit eintreten.
Also irgendwelche Risiken der Art, wie die Handlung könnte schief gehen.
Und der gewünschte Effekt wird gar nicht erzielt,
sondern möglicherweise ein unerwünschter Effekt kommt zum Tragen.
Das haben wir bisher überhaupt noch nicht betrachtet.
Das müssen wir jetzt aber betrachten. Wir werden es,
und insofern ist dieses Diese Welt des Konstruents, Sideas Factions,
die wir eben diskutiert haben, eine gute Überleitung dazu.
Wir werden es nur für diesen einfachen Fall des vorgegebenen Planungshorizonts
überhaupt betrachten. Und die Beispiele, die wir hier haben,
auch nur ein bisschen Planungshorizont von zwei, vielmehr,
wenn wir nicht machen können, dann wird das Ganze unübersichtlich.
Also wir geben vor, wie viele Aktionen können wir durchführen?
Das ist eben genau dieser Planungshorizont, den wir auch für
das Construence Satisfaction vorgegeben haben. Und wenn wir diesen Planungshorizont vorgegeben haben,
können wir das entsprechende basische Netz dafür aufbauen und uns ausrechnen,
Was ist die Handlungsvorschrift, die wir haben?
Also wir wollen Entscheidungen treffen und Entscheidungen heißt,
machen wir A oder machen wir B?
Also die Handlungsentscheidung, die wir bis jetzt eben hatten,
waren, welche Aktionen wählen wir aus? Das werden wir weiter einschränken,
dahingehend, dass wir beispielsweise nur solche Entscheidungen haben,
wie nehmen wir einen Schirm mit oder nehmen wir keinen Schirm mit?
Das sind so die typischen Allerwelts jeder Tagsentscheidung, die man zu treffen hat.
Wie groß sind die Chancen, dass ich heute nass werde?
Und die Frage, also die Lösung läuft eben darauf hinaus,
dass wir die beste Netze jetzt dafür anwenden,
um solche Entscheidungen treffen zu können Dazu müssen wir die basischen nicht ein kleines bisschen erweitern.
Wir werden den Mechanismus überhaupt nicht antasten,
auf der technischen Ebene bleibt es völlig unangetastet.
Wir brauchen aber ein bisschen mehr Ausdruckskraft dazu.
Weil wir nämlich von den Dingen, die wir brauchen,
wenn wir über die Handlung eines Agenten sprechen,
das sind einerseits die Fähigkeiten, die er hat.
Das sind im Prinzip genau die Wertebelegungen für die Variablen der Aktionen.
Ich habe Aktionsfreijablen, die sagen mir,
was kann der Roboter alles tun?
Das sind die Fähigkeiten. Dann habe ich die Beliefs,
das sind im basischen Sinne jetzt die Wahrscheinlichkeiten,
die ich
bestimmten Wertebelegungen zuordne
Also beispielsweise über die Welt, für wie wahrscheinlich halte ich
es, dass es heute regnen wird.
Was ich bisher überhaupt noch nicht drin habe,
weder bei der Planung, da hat man eben Abilities berücksichtigt,
bei den besten Netzen hatten wir Beliefs berücksichtigt,
was wir überhaupt noch nicht drin haben, sind Präferenzs.
Das ist also die Frage, was erachtet der Agent als wünschenswert
und was erachtet als weniger. Weniger schlimm. Sagen wir mal,
was erachtet er als schlimm und was als weniger schlimm?
Also welche der möglichen Welten sind ihm eher angenehm und welche
der möglichen Welten sind ihm eher unangenehm? Also beispielsweise bei dem Regen,
das Beispiel kommt dann gleich, Ich gehe also los,
nehme keinen Schirm mit und werde, es fängt doch an zu regnen,
als ist das der dümmste Ausgang, der passieren kann.
Ja, dann werde ich eben nass. Auf der anderen Seite,
wenn ich eben den Schirm mitnehme, es verregnet aber nicht,
dann habe ich die ganze Zeit dieses Ding mit mir herumgeschleppt und bin auch nicht zufrieden.
Ja, was ist eigentlich gegeben,
mein Grad von Unzufriedenheit mit der jeweiligen Situation,
die Bestentscheidung, die ich treffen kann?
Solche Aufgaben, um solche Aufgaben geht es hier.
Das ist sozusagen ein Planungsproblem mit einem einzelnen Schritt.
Ich soll nur die Frage beantworten, nehme ich jetzt
den Schirm mit oder nehme ich den Schirm nicht mit.
Es geht überhaupt nicht darum, in welcher Reihenfolge ich die...
Ach, das habe ich auch noch vergessen.
Das ist eine weitere Einschränkung, die wir machen werden
Wir werden auch die Reihenfolge der Aktionen festlegen.
Also in welcher Reihenfolge ich bestimmte Entscheidungen zu treffen habe.
Selbst das wird festgelegt. Also es ist eine
stark abgerüstete Variante von Entscheidungsproblemen, die wir hier betrachten.
Gut, also die müssen wir irgendwie mit reinbekommen.
Wir müssen irgendwie sagen, was hätte der Agent gern erreicht?
Wir müssen aber immer davon ausgehen, wir arbeiten unter Unsicherheit.
Also was der Agent will, das ist nur die eine Seite mehr der Medaille.
Was tatsächlich erreichbar ist, ist etwas anderes.
Da haben wir eben noch Wahrscheinlichkeiten, die sagen,
gegeben bestimmte Umstände, ist dieses Ergebnis wahrscheinlicher als jenes Ergebnis.
Und mit diesen Wahrscheinlichkeiten muss der Agent
irgendwie umgehen
Also es gibt Risiken, dass eine Handlung nicht so ausgeht,
wie der Agent sich das tatsächlich wünscht.
Und das, was wir jetzt brauchen,
ist tatsächlich ein Abgleich zwischen dem einerseits,
was wollen wir haben und andererseits, was ist möglich.
Gegeben die Gesetze, die die Welt regieren,
die wir hier eben im Sinne von propabilistischen Zusammenhängen modellieren.
Und dann kann ich eben für alternative Aktionen,
die ich habe, abschätzen,
wie die Kombination aus Wünschbarkeit und Machbarkeit
sich zu einem optimalen Ergebnis verbindet
So, also was der Agent, wenn er handelt,
kann er eben entweder die Welt da draußen verändern, er kann die Tür öffnen,
ein Fenster öffnen, das Licht anmachen und so weiter.
Er kann seine eigenen Beziehungen zwischen sich und der Welt ändern,
beispielsweise indem er eine andere Position einnimmt.
Er kann mehr Informationen über die Welt sich einholen,
also beispielsweise aktiv nach etwas suchen,
indem er eben Bereiche der Welt exploriert,
die er vorher nicht zu dem Gesicht gekriegt hat oder er kann auch kommunizieren mit Agenten in der Umwelt,
indem er von denen zusätzliche Hilfe anfordert Oder er kann auch Entscheidungen über sein interne Verarbeitungsweise treffen.
Also was sollte ich in einem Planungsprozess als nächstes berücksichtigen?
Beispielsweise bei hierarchischer Planung, das haben wir überhaupt noch nicht betrachtet,
dass sich das eben zerlege, erst mal in grobe Planung und feine Planung.
Das wäre so etwas, was hier passieren könnte.
Und all diese Entscheidungen sind irgendwie immer unter Unsicherheit zu treffen.
Beispielsweise beim aktiven Sensing weiß ich nicht,
ob denn durch überhaupt eine zusätzliche Erkenntnis bringt,
ob die dich durch Anstrengungen, die ich unternehme,
ich überhaupt zusätzliche Informationen bekomme.
Und dann haben wir eben wieder diesen Trade-Off, den wir ausbalancieren müssen.
Also einerseits muss ich Aufwand treiben, um die zusätzliche Informationen zu bekommen.
Es kann aber sein, dass ich zum Schluss sage,
ja, war alles vergebliche Liebesmühe, es hat nichts gebracht.
Das ist eben wieder genau dieser Unsicherheitsaspekt. Oder aber eben
auch so etwas, ja, eine Tür öffnen.
Also wer einmal ein Video gesehen hat von solchen Elementaren,
Operationen, wie ich mache mit einem Roboter das Licht an,
indem ich mit seinem Gripper auf den Schalter da drücke,
dann weiß er,
wie schwierig so etwas für ein Roboter ist
Und erst recht, das Öffnen einer Tür.
Also die Kollegen bei Tumps waren richtig stolz,
als sie führen konnten für eine ganz ordinäre Tür,
dass die Roboter tatsächlich in der Lage war,
die Klinke runter zu drücken und die Tür aufzustoßen.
Das ging schon. Die Tür zu sich zu ziehen an
der Klinke. Das ist nochmal, um eine Größenordnung schwieriger.
Also auch das sind Aktionen, die im in der Welt
der Roboter einfach schiefgehen können. Dass es nicht immer,
wenn ich die Tür aufmachen will,
kriege ich sie auch auf,
weil ich von der Klinke abrutsche oder was
auch immer,
da schiefgehen kann
Gut, das ist also noch ein Zitat, das geht auf die Ursprungsautoren zurück.
Also auch bei Alice Wund, im Wunderland findet man eben solche Hinweise darauf,
wie wichtig es ist. Die Präferenzen mit zu berücksichtigen,
wenn es um die Erfüllung von Zielen geht,
wo eben die Katze gefragt wird,
wo Alice den Land gehen soll und sie dann eben sagt,
ja, das muss erst mal sagen, wo du eigentlich hin willst.
Und wenn sie eben nicht weiß, wo sie hin will,
dann macht es eben auch keinen Unterschied, wohin sie gerade geht.
Und das ist der zentrale Punkt jetzt hier.
Wir müssen diese Präferenzen irgendwie hineinbekommen
in das Ganze
Also, Agenten, was sind Präferenzen, die Agenten oder der Agent agiert irgendwie,
das hat irgendwelche Wirkungen und für diese Wirkungen muss der Agent jetzt sagen,
welche der Wirkung gefallen ihm besonders gut und welche gefallen ihm weniger gut.
Und das muss man wieder mit irgendeiner numerischen Wertung, Bewertung auf einer vorgegebenen Skala angeben können.
Und wenn wir einen rationalen Agenten zugrunde liegen und wir sollten erstmal bis jetzt davon ausgehen,
dass rationales Verhalten anstrebenswert ist,
ob der Mensch sich rational verhält, das ist eine Frage,
die wir uns als nächstes dann angucken,
aber erstmal gehen wir davon aus, ja,
wir wollen sollen einen rationalen Agenten, dann muss er eben gucken,
dass er das Bestmögliche dem bestmöglichen Effekt irgendwie erreichen kann.
Manchmal weiß man das aber auch alles gar nicht ganz genau so richtig.
Und trotzdem muss man in der Lage sein, Aktionen miteinander zu vergleichen.
Dann sind wir wieder bei der Problem der partiellen Beobachtbarkeit oder Verbeugenden Variablen.
Dass wir eben mit verborgenen Variablen auch in der Lage sein müssen, Schlussfolgerungen zu ziehen.
Natürlich unter vergrößerter Unsicherheit, aber immerhin muss es möglich sein.
Und schließlich kann sich der Agent nicht darauf zurückziehen,
dass er lieber gar nichts tut, eher etwas Falsches tut,
weil nämlich nichts tun in den meisten Fällen auch eine Aktion darstellt,
weil die Welt sich weiterentwickelt.
Und nichts tun heißt, eine Chance zu verpassen,
an der Welt noch etwas zum Positiven ändern zu können.
Gut, also ich muss mit Referenzen umgehen. Und die Erweiterung,
die wir für die Basic Netze brauchen, sind jetzt zwei Dinge.
Einerseits brauchen wir Vajablen, mit denen wir die Entscheidung des Agenten modellieren.
Und zweitens brauchen wir einen Mechanismus, mit dem wir die
Präferenzen des Agenten ausdrücken. Also als erstes die Entscheidungsvajablen,
Exakt das Gleiche wie Zufall, zwei Jablen, also Dinge,
die eine Variable, die bestimmte Werte annehmen kann,
die mit anderen Variablen überbedingte Wahrscheinlichkeitstabellen verknüpft ist.
Mit dem einzelnen Unterschied,
dass wir jetzt nicht mehr dem Inferenzverfahren es überlassen,
die Wahrscheinlichkeitsverteilung über diesen Werten zu bestimmen,
sondern dass der Agent sagen kann, ich würde jetzt gerne diesen Wert sehen.
Also ich möchte wissen, wie nützlich ist es,
wenn ich den Schirm mitnehme. Oder ich möchte wissen,
wie nützlich ist es, dass ich den Schirm nicht mitnehme.
Das sind also genau die Entscheidungen, die der Agent treffen kann.
Zwischen möglichen alternativen Optionen. Eine mögliche Welt ist dann eine,
die für jede klassische Zufallsvariable in dem Modell,
aber auch für jede Entscheidungsvariable eindeutig einen Wert festlegt.
Das ist also wieder eine vollständige Belegung aller Variablen mit einem
entsprechenden Wert. Nur die Quelle ist eben unterschiedlich,
dass hier über die Belegung der Zufallsvariablen, das Inferenzverfahren entscheidet,
während das hier die Entscheidungsvariablen in der Regie des Agenten sind
Natürlich kann ich das Ganze umgekehrt und so werden wir es auch betrachten,
dass der Agent mir vorstellt, äh Quatsch,
dass das System ihr Vorschläge machen soll,
wie der Agent sich denn behandeln sollte.
Aber da brauchen wir die Präferenzen noch dazu,
das können wir noch nicht machen. Ja,
dann haben wir eben, wenn wir für alle Entscheidungsvajablen Werte angeben,
denn das System darf es nicht,
dann können wir eben Wahrscheinlichkeitsverteilungen wieder über alle möglichen Welten,
die jeweils diese Zuordnung erfüllen,
Die hängen im Wesentlichen dann, die hängen davon ab,
für die möglichen Aufwand, die möglichen Zuordnungen für die Zufallsbarjablen.
Und über alle möglichen Welten, die dieses Assignment für die Entscheidungsvajablen erfüllen müssen,
die Wahrscheinlichkeiten sich natürlich wieder zu eins addieren,
das ist das gesamte Gesetz der Gesamtwahrscheinlichkeit wieder.
Gut, ja, wenn ich jetzt irgendwelche Aussagen habe,
dann kann ich dir eben nur irgendwelche solche Aussagen nur dann machen,
wenn ich wenn die Abhängigkeit von den Entscheidungsvajablen berücksichtigt wird.
Oder die Abhängigkeit zu den Entscheidungsvajablen, muss man eigentlich sagen.
Hier ist ein einfaches Beispiel, ein Roboter,
der in unserem Flur herumfährt und der dort Gefahr läuft,
dass er zu dicht an die Treppe kommt und die Treppe hinunter stürzen könnte.
Und es gibt zwei Möglichkeiten,
dass dem Umstand Rechnung zu tragen, das Erste ist,
er kann sich Sicherheitspolster anlegen,
die die Folgen eines Sturzes abmildern würden
Sie verhindern nicht den Sturz, aber sie sorgen dafür,
dass der Sturz möglicherweise glimpflich abgeht. Haben aber das Problem,
dass sie ein Gewicht mitbringen und damit die Energievorräte des Roboters
schneller zur Neige gehen lassen. Ihr zweite Möglichkeit ist,
ich habe einen kritischen Weg und ich habe einen weniger kritischen Weg,
der kurze Weg,
der führt mich direkt an der Treppe vorbei und hat deshalb ein hohes Risiko,
dass ich die Treppe runterfahre,
während der lange Weg es vermeidet an der Treppe vorbeizugehen,
dafür aber wieder mehr Energie braucht,
im Austausch gegen ein geringeres Risiko
Und dann haben wir eine Zufallsvajabli, die sagt,
ja, das Unglück passiert oder das Unglück passiert nicht.
Und jetzt brauchen wir eben genau die Kombination, dass wir sagen,
wir wissen ja nicht, ob ein Unglück passiert oder ein Unglücklich passiert.
Wir können nur eine bestimmte Wahrscheinlichkeit dafür angeben. Und wir wollen wissen,
was die günstigste Kombination ist in Abhängigkeit von dieser Zufall zwei Jahrblen.
Also, wenn ein Unfall passiert,
wie hätte ich mich verhalten sollen, wenn ich davon ausgehe,
dass kein Unfall passiert, wie sollte ich mich dann verhalten?
Oder mit anderen Worten, möchte, eine mittlere Bewertung haben,
die mir sagt, was ist die optimale Policy,
die ich wählen kann in der Belegung dieser Variablen,
sodass meine Bewertung der Gesamtsituation möglichst gut ausfällt und die Bewertung der Gesamtsituation,
die ist hier kurz skizziert.
Also so etwas wie schwere Schäden sollte ich natürlich vermeiden,
das ist eine Kombination von, ich nehme keine Polster,
ich nehme den kurzen Weg, also den riskanten und der Unfall passiert,
das ist natürlich die schlimmste aller möglichsten Welten.
Nein, das ist nicht mal die schlimmste aller möglichen Welten,
die schlimmste aller möglichen Welten ist international.
Ja gut, das ist das Gleiche. Nee,
ich dachte, nee, jetzt habe ich falsch gedacht,
dass das Mitführen der Polster wird immer noch als das geringere
Übel angenommen gegenüber dem Schaden, der durch den Sturz passiert.
Gut, die positive Welt ist natürlich, ich,
W5, ja, ich nehme keine Polster,
ich nehme den kurzen Weg, es passiert kein Unfall,
es passiert kein Unfall.
Ich bin also schnell, ich muss sich unnötig Energie verbrauchen.
Das ist das, was mir am besten gefällt.
Aber ich habe natürlich keine Kontrolle darüber.
Kontrolle habe ich nur über diese Variablenbelegung
Die kann ich einstellen. Da kann ich wählen,
wie ich mich verhalte. Hier kann ich nicht wählen.
Der Unfall, der wird höheren Ort,
ist festgelegt, ob er passiert oder auch nicht passiert.
Das ist also ein typisches Entscheidungsproblem, was wir haben.
In diesem Falle, also mit zwei miteinander gekoppelten Entscheidungen,
die ich zu treffen habe. Zwei Variablen,
die ich machen kann, die aber unabhängig voneinander wählbar sind,
weshalb alle acht Kombinationen hier tatsächlich auch auftreten können.
Also ich kann alle Belegungen bei dieser Variablen
hier mit allen Belegungen bei dieser Variablen kombinieren
So, und jetzt kommen wir tatsächlich zu den Präferenzen und diese Präferenzen,
die werden jetzt ausgedrückt,
mit einem Maß für die Utility, also die Nützlichkeit,
die eine bestimmte mögliche Welt aus meiner Sicht hat.
Also wie wünschenswert es ist, dass man in irgendeiner bestimmten Welt letztendlich landet.
Und diese Nützlichkeit ist hier eben verbal beschrieben und das muss ich
jetzt in Zahlen fassen. Ich muss eine numerische Bewertung angeben,
wie würde ich das jetzt als Zahl ausdrücken, im Gegensatz zu dem,
wir als Zahl und dann möglicherweise irgendwie das hier mittendrin als eine Ja, noch akzeptable Variante.
So, und wir bezeichnen also immer mit Ju für Utility von einem Omega,
das ist eine mögliche Welt, die diese Abschätzung der Wünschbarkeit,
der entsprechenden Welt aus der Sicht des Agenten.
Und da kann man eine beliebige Zahlen,
neben hier steht es eben zwischen 1 und 0,
um es von den Wahrscheinlichkeiten zu unterscheiden,
wird dann immer irgendeine Zahl zwischen 0 und 100 genommen,
damit man von vorne in einer Zahl sieht,
hallo,
wir reden hier über eine Utility und nicht über eine Wahrscheinlichkeit
Aber wir können eben die Aussage durchaus übertragen. Bisher haben
wir eben immer betrachtet Welten, die entweder eins waren,
dann waren sie unser Ziel der Planung oder null waren,
dann sollten sie eben nicht erreicht werden.
Das ist sozusagen ein Schwarz-Weiß-Welt. Und wir wollen jetzt eben
auch zwischen Schattierungen ausdrücken können, die in irgendeiner komplizierteren Form ausgerückt werden.
Also beispielsweise, wie schlimm ist der Schaden,
den ich erwarten kann oder wie viel Energie habe ich dafür,
möglicherweise sinnlos verwendet, welche Ziele konnte ich tatsächlich erreichen
Und wie viel Zeit habe ich dafür gebraucht?
All diese Dinge muss man jetzt in einer Formel zusammenkneten,
die einem zum Schluss sagt, gegeben diese Welt,
ich bin so zufrieden damit.
Und das möchte man eben nicht für das Einzelexperiment machen,
sondern in einer somarischen Aussage. Und dazu hat man immer
den Begriff des Erwartungswertes. Der Erwartungswert heißt jetzt eben,
dass ich einen Mittelwert bilde und zwar ein gewichteten Mittelwert,
der eben sagt, ich habe für eine mögliche Welt einen Grad von Wünschbarkeit.
Und ich brauche die Wahrscheinlichkeit, mit der diese mögliche Welt
tatsächlich eintritt
Und dann muss ich über alle möglichen Welten aufsummieren und
ich kriege denen die Erwartungswert der Utility.
Heißt auf gut Deutsch, es nutzt mir nichts,
ein sehr wünschbare Welt zu haben, wenn die Wahrscheinlichkeit,
dass sie eintritt, sehr, sehr gering ist.
Ich kann ein Wünsch dir, was kann ich immer machen,
aber es nutzt mir in einer summarischen Betrachtung der Situation gar nichts,
da Riesenwert drauf zu legen, wenn die Wahrscheinlichkeit eh vernachlässigbar klein ist.
Oder mit anderen Worten eine sehr wahrscheinliches Ereignis könnte für
die Gesamt-Utility auch sehr bedeutsam sein,
wenn sie vergleichsweise gering ist für diese Welt
Aber wenn die Welt eben in 80 Prozent aller Fälle auftritt,
dann ist es wichtig, dass sich dort einen möglichst guten Utility-Wert dafür erhalte.
Also ein gewichtetes Mittel und das Ganze können wir jetzt auch
wieder übertragen auf bedingte Wahrscheinlichkeiten und die haben wir ja in den basischen Netzen,
dass wir eben hier sagen,
wir haben irgendeine Bedingungsteil und wir machen jetzt das für alle Welten,
für die diese Bedingung erfüllt sind.
Hier summieren wir über alle Welten, die überhaupt möglich sind und
hier summieren wir nur für einen kleinen Teil der Welten,
die wir hier durch den Bedingungsteil beschrieben haben.
Gut, und damit haben wir ein Maß Nein,
das Maß haben wir nicht. Wir müssen also vom Nutzer
schon abfragen, wie bewertet er die einzelnen Welten?
Diese Wahrscheinlichkeiten können wir über unser basischen Netz berechnen und aus
dem Produkt des Ganzen können wir dann den Erwartungswert benutzen.
Und dieser Erwartungswert, der dient uns dann dazu, Entscheidungen zu treffen.
Genau, das Ganze machen wir wieder als grafische Repräsentation,
indem wir jetzt das Ganze nur leicht erweitern,
indem wir für diese Entscheidungsvariablen und die Utility
neue Knoten einführen
Die Abhängigkeit der Utility von den Einzelknoten berücksichtigen. Und das,
damit höre ich dann auch auf,
haben wir dann die klassischen Zufallsweijablen, die also beschreiben,
wie die Welt sich im provabilistischen Sinne verhält.
Wir haben entscheidungsvaiablen, die durch einen speziellen Knoten als Rechteck dargestellt werden.
Und wir haben Utility-Knoten, die als solche Raute dargestellt werden.
Und dann können wir eben hingehen und können sagen,
hier ist das Schirmproblem, wir haben die Entscheidung zu treffen,
nehmen wir den Schirm mit,
ja oder nein
Die Entscheidung hängt natürlich davon ab, was sagt der Wetterbericht?
Der Wetterbericht hängt in gewissem Sinne vom Wetter ab, allerdings immer nur provabilistisch.
Der Wetterbericht muss nicht stimmen. Hier ist immer wieder eine
bedingte Wahrscheinlichkeitstabelle dazwischen. Und die Nützlichkeit ist natürlich die Kombination aus,
nehme ich den Schirm mit Ja oder Nein und wie ist das Wetter?
Regnerisch oder nicht? Und dann habe ich eben die Kombination,
Regen und kein Schirm, ganz schlecht, Regen und Schirm,
optimal gelaufen, Sonnenschein und kein Schirm, beste Variante,
keinen unnützen Aufwand getrieben und Sonnenschein
Firmen mitgenommen, ja, ärgerlich, aber akzeptabel.
Und wie wir jetzt in solchen Netzen tatsächlich zu Aussagen über
die Utility kommen, das machen wir dann nächste Woche.
Und bis dahin, schönen Dank und tschüss