Gut, das waren die drei Sachen, genau.
Dann steigen wir jetzt wieder ein in der letzten Übung.
Sollten ja das Thema uninformierte Suche diskutiert, ach naja, diskutiert worden sein.
Wir steigen dann heute mit der informierten Suche ein,
aber zuvorher muss ich noch den Teil zu Ende bringen
oder möchte ich noch den Teil zu Ende bringen,
den ich das letzte Mal aufgrund der technischen Panne nicht mehr geschafft habe.
Im Kurzdurchlauf, wir hatten neuen Dimensionen definiert,
nachdem wir eine Verarbeitungsaufgabe beschreiben können,
indem wir immer von einer Auswahl von Kategorien eine davon Wählen
und auf die Art und Weise eine Klasse von Aufgaben definieren,
für die wir bestimmte Lösungsverfahren angeben können.
Und das an der Stelle war dann der Beamer kaputt gegangen,
wegen des bildlichen Eindrucks. Nur wir machen also,
wenn wir jetzt über was in der Übung gemacht worden ist,
über zustandsbasierte Suche reden wollen,
dann haben wir alle Schieberegler auf der linken Seite nur einen einzelnen Schieberegler,
bewegen wir nach rechts, indem wir sagen,
okay,
wir reden jetzt nicht nur über statische Probleme,
sondern über dynamische Probleme mit
möglicherweise unendlich großem Zeitbedarf
Und das kann man jetzt durch die verschiedenen Aufgabenklassen,
die wir in der Vorlesung hier abdecken werden, durchdeklinieren,
dass wir immer bestimmte Schieberegler nach rechts bewegen,
andere bleiben links stehen.
Das ist also, kommt ziemlich zum Schluss dran, liegt das klassische Plan.
Die Entscheidungsnetze, das sind also basische Netze,
die mithilfe von Wahrscheinlichkeiten arbeiten. Da sehen wir dann eben,
dass hier auch Stochastik noch mit eine Rolle spielt,
dass hier Dinge wie partielle Beobachtbarkeit eine Rolle spielen.
Andere bleiben wieder auf der linken Seite stehen. Dort machen
wir also bewusst Vereinfachungen, das Problem überhaupt beschreiben können.
Das sind stochastische Entscheidungsprozesse, die wir ganz kurz nur anreißen werden.
Dann haben wir Entscheidungstheoretisches Plan, das machen wir ja auch ganz kurz.
Nur lernen ist ausgeklammert, behandeln wir hier nicht Spieltheorie,
behandeln wir auch nicht. Bei Menschen sind eben diese Skigeregler
alle ganz rechts eingestellt. Da sehen wir dann sehr,
sehr schön, wie weit wir noch von dem,
was der Mensch im Bereich der Intelligenzleistung erbringen kann,
entfernt sind
Die Botschaft daraus ist also immer, wie auch bei den vielen Bildern,
die werden in den letzten Veranstaltungen gesehen haben, Intelligenz ist ein vielschichtiges und komplexes Problem.
Und wir adressieren hier praktisch immer nur Einzelaspekte. Wir können also nie davon reden,
das ist Intelligenz im menschlichen Sinne,
sondern wir vereinfachen in extremer Weise,
indem wir eben hier die Schieberegler weiter nach links bewegen,
wenn wir das sozusagen als Ausgangspunkt,
als die Idealvorstellung,
nehmen wir vereinfachen ganz bewusst,
damit wir
für diese vereinfachten Aufgaben Lösungen tatsächlich angeben können
Die Dimensionen sind auch nicht unabhängig voneinander. Es gibt da Querbeziehungen dazwischen,
dass eine, die Wahl einer Dimension auch Auswirkungen auf die
anderen Dimensionen hat, insbesondere also partielle Beobachtbarkeit.
Wenn ich also nicht über vollständiges Wissen über die Welt verfüge,
das hat Auswirkungen auf der Komplexität praktisch aller Verfahren.
Oder die Frage der Modularität hat Querbezüge zu der Frage der
Unsicherheit und der Prägnanz der Modellierung. Es kann sein,
dass einige Ebenen in einem solchen modularen Modell vollständig beobachtbar sind,
Andere sind nur partiell beobachtbar.
Und dann muss man sozusagen auf den verschiedenen Ebenen unterschiedliche Lösungsverfahren gegebenenfalls miteinander kombinieren.
Was nicht ganz einfach ist. Es gibt insbesondere drei Reizwörter,
die man immer beachten sollte, wo wir aber sehen werden,
dass wir die praktisch hier in der Veranstaltung ignorieren.
Das eine ist, hierarchisches Rieseling, das hatte ich erläutert an der Frage der Reiseplanung,
dass ich erstmal einen Grobplan mache, den ich dann sukzessive verfeinern kann.
Das zweite ist die Frage, dass ich nicht in konkreten Instanzen modellieren möchte,
sondern im Hinblick auf generelle Beziehungen zwischen Individuen,
also Relation zwischen Individuen und Auch das werden wir nur im Ausnahmefall tatsächlich sehen können.
Das meiste wird sich, hier wird in der Richtung vereinfacht sein.
Und der dritte Aspekt ist, begrenzte Rationalität,
begrenzte Rationalität heißt eben, dass ich in der Lage bin,
im Hinblick auf meinen Ressourcenbedarf Entscheidungen zu treffen,
auch wenn ich weiß,
dass die ich nicht in der Lage bin,
wegen der Ressourcenbeschränkung den Raum der Möglichkeiten
vollständig zu durchmustern
Die Modellierung legt sich also selbst Beschränkungen auf, bei der Suche nach
einer vernünftigen Entscheidung. Aber diese Beschränkungen sind eben nicht beliebig,
dass ich sage, okay,
ich gucke mir nur noch immer die ersten drei Varianten an und die Achersflächen ignoriere ich,
sondern es muss zum Schluss auch noch so etwas herauskommen wie Rationalität.
Also das kann nicht Willkür sein, sondern das müssen bewusste informierte Entscheidungen sein.
Da steht auf der nächsten Folie, glaube ich, gleich,
nein, Gott, wo war denn das jetzt wieder?
Auf irgendeiner Folie kommt dann eine Bemerkung,
dass begrenzte Rationalität die Sache für den Agenten einfacher macht,
das ist Richtig aus der Sicht des Agenten,
weil er eben zu effizienten zu effizienten Entscheidungen kommt.
Also der Prozess der Entscheidungsfindung ist effizient aus der Sicht der
Entwicklung des Systems. Es ist aber das ganze Gegenteil.
Typischerweise ist das einfache System das, was exponentiellen Aufwand hat,
um zu einer rationalen Entscheidung zu kommen.
Ein System, was zu einer schnellen Entscheidung mit begrenzten Ressourcen
in der Lage ist, ist typischerweise erstmal schwieriger zu designen,
als der Gegenspieler
Wir werden das auch aus der menschlichen Perspektive noch sehen,
wo also aus der Psychologie heraus dafür argumentiert wird,
dass eben der Mensch tatsächlich ein sehr, sehr,
nein, dass der Mensch gar nicht in vielen Fällen
gar nicht versucht zu einer optimalen Entscheidung zu kommen,
sondern dass er suboptimale Entscheidungen ganz bewusst trifft.
Das ist also etwas,
was in den Kernbereich auch der Wirtschaftswissenschaften hineingeht,
wo jahrelang das Mantra gepredigt worden ist,
dass der Markt
rationale Entscheidungen hervorbringt
Das ist mit Lichten so. Der Markt von handelnden Menschen
ist auch durch Irrationalität gekennzeichnet, ist auch dadurch gekennzeichnet,
dass ich nur partielle Beobachtbarkeit habe.
Ich habe nicht alle Marktinformationen, der Markt ist nicht vollständig transparent.
Und gerade eben ist der Nobelpreis für Wirtschaftswissenschaften an einen Vertreter vergeben worden,
der genau diese Sicht der unbegrenzten Rationalität in Frage gestellt hat.
Also auch im Bereich der menschlichen Entscheidung ist begrenzte Rationalität
tatsächlich zu beobachten und auch etwas angeändert
Etwas Anstrebenswertes. Wir werden also da noch drauf zurückkommen im Zusammenhang mit der Entscheidungstheorie.
Dazu brauchen wir aber erstmal die propabilistischen Modelle.
Und da gibt es insbesondere ein Buch von Herrn Gigerenzer.
Das ist einer der meist zitierten deutschen Psychologen,
was unter dem schönen Titel steht, Simple Uistics that make our smart.
Also einfache Entscheidungskriterien, die es verhindern,
dass wir über uns zwischen Millionen Alternativen entscheiden müssen oder deshalb
wir schnell zu einer Entscheidung kommen können.
Und das sind so einfache Dinge wie, was bekannt ist,
ist besser als was unbekannt ist. Das sind Entscheidungskriterien,
die zum Beispiel das Handeln auf Märkten beeinflussen und die auch
ganz massiv und extensiv von der Werbung benutzt werden.
Wir gucken uns dann mehrere Beispielanwendungsgebiete an. Tatsächlich werden wir
hier in der Veranstaltung nur die ersten beiden uns an genauer anschauen,
die anderen beiden sind nur zur Illustration gedacht,
deshalb wäre ich relativ schnell drüber hinweggehen
Das erste ist ein Roboter, der irgendwelche Dinge an den Arbeitsplatz
bringen soll. Das zweite ist ein Diagnose-Werkzeug und das dritte
wäre dann ein intelligentes Lehrsystem und das vierte ein Handels,
ein Handlungs, wie nennt man das dann,
ein Handelsagent, der im Auftrag bestimmter Personen Geschäfte vornimmt,
indem er Angebote gegeneinander abwägt und versucht, optimale Entscheidungen zu treffen.
Also zuerst ja Lieferroboter, der sich in einer solchen Welt bewegt,
die Welt ist geschickt designt. Sie enthält nämlich,
wie wir das gleich sehen können, als erstes einen großen Zyklus.
Der Roboter kann also hier munter im Kreise laufen und das hat Infinitum.
Das geht auch so weiter, wenn wir sehen,
dass wir hier Labore haben, die jeweils durch Türen verbunden sind.
Und auch da kann er durch die Türen der Labore
hindurch sich immer zyklisch im Kreise bewegen.
Also, das ist ein nicht triviales Suchproblem, was wir haben.
Das ist ja in der Übung wahrscheinlich diskutiert worden, dass Suchräume Zyklen enthalten können.
Und hier haben wir ein Beispiel dafür. Das ist auch ein Beispiel dafür,
was zwar im Grunde ein äuklinischer Suchraum ist,
der aber noch zusätzliche Bedingungen hat und deshalb nicht mehr rein euklidisch ist.
Also beispielsweise kann ich die Tür nur öffnen, wenn ich einen Schlüssel habe.
Es gibt Beschränkungen darauf, was der Roboter alles aufladen kann,
nämlich immer nur ein Ding zur gleichen Zeit,
wenn er also das Paket aufgeladen hat,
dann kann er nicht gleichzeitig auch noch den Kaffee bringen.
Das heißt, einfache Entfernungsheuristiken reichen hier nicht aus.
Obwohl wir also in den meisten Fällen,
wenn wir Suchverfahren illustrieren, immer wieder darauf zurückgreifen,
dass wir uns wegen der Anschauung euklidische Abstände zwischen Zuständen vorstellen,
sind viele Suchprobleme nicht euklidisch und das ist ein Beispiel davon
Also, was kann der Roboter hier alles? Er kann sich bewegen,
er kann kommunizieren, er kann Dinge aufladen und wieder abladen.
Er hat ein bestimmtes Wissen, was er alles kann,
nämlich aufladen, abladen und die Objekte, die er,
mit denen er es zu tun hat, nämlich Schlüssel,
Pakete, Briefe, Kaffee und so weiter.
Und er hat insbesondere die Karten, also er verfügt über eine solche Landkarte.
Und damit hat er über die Welt erstmal ein vollständig beobachtbares Wissen.
Er weiß also, wo sich die Räume befinden,
er weiß oder kann es zumindest herausfinden, ob Türen offen oder geschlossen sind.
Er hat zum zumindest theoretisch. Wir werden das hier nicht betrachten. Erfahrung aus der Vergangenheit,
also welche Aktionen sind üblicherweise sinnvoll und unter welchen Umständen,
was für Objekte befinden sich typischerweise wo,
also dass es den Kaffee nicht in der Postraum gibt oder im Müllraum und so weiter.
Und auch wie seine Steuerkommandos, die er ausübt,
irgendetwas mit der Position, die er einnimmt, zu tun haben.
Also ob es da einen Zusammenhang gibt oder ob die Lenkung
irgendwie anders funktioniert, als man sich das eigentlich denken würde.
Er hat Ziele, die sind von außen vorgegeben,
was muss geliefert werden, zu welchem Zeitpunkt es gibt,
Es gibt Abwägungen zu treffen, zum Beispiel schneller,
schnelles Liefern oder mit großer Zuverlässigkeit liefern.
Also beispielsweise ist das die Frage,
soll er an der Treppe vorbeifahren oder nicht,
weil die Treppe immer das Risiko mit sich bringt,
dass er dort runterstürzt und dann überhaupt nicht mehr in der Lage ist,
irgendetwas Sinnvolles zu tun.
Er beobachtet die Umgebung mit Kameras und diversen Sensoren,
aber gegebenenfalls auch mit Knöpfen,
die man bedienen kann
Also über die Übertastaturen kann er auch Informationen über die Umwelt aufnehmen.
Ups. Ja, was muss er alles tun?
Er muss rausfinden, wo das Büro einer bestimmten Person ist. Gut,
das kann er mit Hilfe, ist seines Vorwissens machen,
dass er weiß, in welchem Büro eine bestimmte Person sitzt
und dann auf der Karte sehen kann,
wo dieses Büro sich befindet.
Er muss rausbefinden kriegen, wo der Kaffee herbekommen kann.
All das ist vorher hatten. Also Aprioriwissen, er muss
Pfade suchen zwischen Orten. Also wie komme ich von A nach B?
Das ist etwas, was er tatsächlich berechnen und planen muss.
Er muss überlegen, wie er mehrere Aufgaben so geschickt miteinander kombinieren kann,
dass er nicht immer fortsinnlos hin und her fährt.
Er muss manchmal Standardannahmen machen, wo er Craig wohl finden
wird, vermutlich in seinem Büro.
Aber natürlich ist er nicht den ganzen Tag in dem Büro.
Wenn er also die Person selbst braucht, dann könnte er
eben verschiedene Punkte durchsuchen, das Büro, das Labor.
Er wird aber natürlich nicht alle möglichen Hypothesen physisch überprüfen wollen.
Deshalb also Standardannahmen, dass er die Standardannahmen,
wenn er kein zusätzliches Wissen hat,
dass er die zugrunde legt
Er muss wieder abwägen zwischen verschiedenen, unsicheren Zuständen.
Also das ist genau dieser Fall. Ist es eilig,
dann kann er ein Risiko, oder muss er auch
ein Risiko in Kauf nehmen oder hat er Zeit,
dann kann er die risikoarme Variante wählen.
Er sollte aus Erfahrung lernen und er sollte in der Lage sein,
die Welt wahrzunehmen, um Hindernisse zu vermeiden und die Aktionen durchzuführen,
die er durchführen soll. Zweite Welt ist eine Diagnosewelt,
das ist eine Verdrahtung, stark vereinfacht von einem Haus.
Irgendwie kommt von außen hier der Strom. Man sieht,
dass das Buch von Herrn Buhl und Herrn Macworth aus Kanada kommt.
Da kommt nämlich der Strom immer übers Dach. In Deutschland
kommt er typischerweise durch den Keller, aber das ist jetzt hier nicht entscheidend.
Wir haben hier Sicherungen, wir haben Schalter, wir haben Lampen,
wir haben Steckdosen und wir wissen etwas über die Welt und wir sollen jetzt rauskriegen,
warum brennt die Lampe nicht?
Obwohl doch alle Schalter irgendwie richtig stehen müssten.
Und die Fähigkeiten, die er haben sollte, ist,
dass er sagt, was müssen wir reparieren,
Sicherung austauschen oder Lampe austauschen, Schalter reparieren und so weiter
Und er kann Fragen stellen. Er kann Fragen über dem Zustand
der Welt an den Nutzer stellen, um die Diagnose weiter einzugrenzen.
Das sind die Aufgaben, die er erledigen soll.
Und das Vorwissen, was er hat, ist,
dass es Schalter und Lampen gibt und wie sie typischerweise funktionieren,
wie sich irgendwelche Fehler bemerkbar machen,
also Lampe brennt oder brennt nicht.
Was für Tests man typischerweise machen kann, um rauszukriegen,
ob die Lampe in Ordnung ist oder nicht.
Und auch welche Nebenwirkungen durch Reparaturversuche erzählt werden könnten.
Vergangenheitserfahrung sind also die Effekte,
die bestimmte Aktionen in der Welt
nach sich ziehen
Ja, welche Fehler und welche, ja,
das ist jetzt schon generalisiert über dieses konkrete Problem hinaus.
Das ist natürlich auch anwendbar auf andere Diagnoseaufgaben, zum Beispiel Krankheiten,
was typische Erscheinungen sind, was eher exotische Ausnahmesituationen sind.
Gut, das Ziel ist also,
dass man tatsächlich das technische System wieder zum Laufen bringt und
welche Abwägung es gibt zwischen Reparatur oder Ersatz von Komponenten in dem System.
Und die Beobachtung sind also Symptome,
entweder einer technischen Apparatur oder eines Patienten
Gut, die Aufgaben, die er dann lösen muss,
ist die Effekte von Fehlern und Reparaturversuchen vorherzusagen,
damit man sie abgleichen kann mit dem, was da tatsächlich passiert.
Dann muss er durch den Raum der möglichen Fehlerkombinationen
sich durcharbeiten können. Er muss erklären können,
warum er zu einer bestimmten Diagnose kommt oder nicht,
weil nur auf die Art und Weise tatsächlich ein Mensch
dann nachvollziehen kann,
dass das möglicherweise
ein drittvolles Ergebnis ist
Er muss in der Lage sein,
Ursachen für bestimmte Symptome jetzt abzuleiten und gleich wichtig eben auszuschließen,
dass es andere Ursachen dafür gibt.
Er muss Test planen können oder Behandlungen planen können,
um das Problem zu beseitigen. Also hier wieder Fragen stellen
. Ja, wie sieht es denn aus?
Was würde denn passieren, wenn wir diesen Schalter umlegen?
Oder aber wenn wir noch jetzt diesen Bluttest machen würden beim Patienten,
können wir dann mehr über die zugrunde liegenden Probleme sagen.
Er muss in der Lage sein, mit Unsicherheit umzugehen oder
Mehrdeutigkeiten umzugehen.
Also es gibt meistens
verschiedene Erklärungs
Varianten für ein Symptom und da muss er in der Lage sein,
zu bewerten, was ist eine Wahrscheinliche,
was ist eine unwahrscheinliche Erklärung und er muss verschiedene Handlungsoptionen gegeneinander abwägen können.
Ja, und schließlich Lernen spielt natürlich auch eine Rolle,
dass also über verschiedene Diagnoseaufgaben hinweg eine gewisse Verstärkung stattfindet und Erfahrungen gesammelt werden,
bezüglich auch der Genauigkeit der Tests,
also wie wertvoll sind die Informationen oder was sind die Effekte der Behandlung, man erwarten kann.
Gut, da hatte ich schon gesagt, da gehe ich jetzt einfach drüber hinweg. Ja,
was Wesentliches von der Methodologie ist immer,
was wir eigentlich machen wollen, ist,
wir wollen ein Problem lösen und indem wir eine Lösung finden,
was wir brauchen, damit wir das auf der Maschine machen können,
ist immer, wir müssen mit Repräsentationen arbeiten.
Denn der Computer kann nur mit dem arbeiten,
was er in seinem internen Speicher verfügbar hat.
Was anderes steht ihm nicht zur Verfügung. Das heißt,
es muss immer irgendwie erst eine Abstraktion vom Problem in der Welt
da draußen zur Repräsentation im Computer gemacht werden,
das Problem in der Welt da draußen kann informell sein.
Das kann auch formal schon sein,
aber in den meisten verändert es in, formell sein.
Und deshalb ist dies ein Schritt der Formalisierung. Ich muss
also ein gegebenes Problem erstmal in eine geeignete Repräsentation umwandeln.
Und das wird eine der zentralen Aufgaben in dieser Veranstaltung sein,
zu sagen, hier gegeben ist dieses Problem,
wie sich die Repräsentation aus, mit der ich dieses Problem behandeln kann.
Dann kann ich hier auf der Repräsentationsebene bestimmte Berechnungsschritte ablaufen lassen,
kriege einen Output und der muss wieder interpretiert werden in Begriffen
auf eine Lösungen kennen. Also beispielsweise im Begriffen,
auch von Steuerkommandos für den Roboter oder im Begriffen von Messvorschläge umzusetzen,
Messvorschlägen, die ich in so einem Diagnoseaufgabe machen kann.
Also wesentlich wird es immer sein,
geeignete Repräsentationen zu finden und dann Verfahren, mit denen ich
aus den Repräsentationen nützliche Informationen in Bezug auf die Problemlösung ableiten kann.
Das ist so die Methodik, die dem Ganzen zugrunde liegt.
Und eine Repräsentation muss natürlich bestimmte Bedingungen erfüllen. Sie muss also reichhaltig genug sein,
damit sie all das Wissen repräsentieren kann, was man braucht,
um das Problem zu lösen. Also beispielsweise,
wenn wir in der Übung diesen Spielroboter da hatten,
der in der Welt herumfahren kann, um, was waren es,
Geldstücke oder Diamanten zu sammeln, dann muss eben all das,
was diese Aufgabe ausmacht, in der Repräsentation berücksichtigt werden.
Also wie viel Treibstoff habe ich noch,
wie viele der Geldstücke habe ich bereits gefunden,
wo sind die nächsten Geldstücke und so weiter.
Wenn ich diese Information nicht zur Verfügung habe,
dann kann ich das Problem auch nicht
Zumindest nicht effizient lösen. Es muss also so dicht am Problem dran sein,
wie nur irgend möglich, also möglichst kompakt, möglichst natürlich,
sodass Menschen, der in der Lage sind zu interpretieren,
was da passiert und es muss auch wartbar sein.
Also wenn dich das Problem ändert, dann muss ich das
leicht erweitern können und an die geänderten Bedingungen anpassen können.
Es muss sich für eine effiziente Berechnung anbieten,
also das sollte so angelegt sein,
dass es
die Berechnungen schon unterstützt
Ja, also wenn Merkmale vorhanden sind, die sich irgendwie auf die Berechnungseffizienz auswirken,
dann sollte man diese Merkmale mit berücksichtigen in der Repräsentation.
Und es sollte möglich sein, und das ist aber eine Idealvorstellung,
da sage ich gleich dazu,
dass mein Abweg zwischen der Güte der Lösung und der Zeit,
die gebraucht wird, um diese Lösung zu finden.
Wir werden darauf gleich noch weiter eingehen unter dem Begriff des Anytime-Verhaltens.
Auch das sollte also durch eine solche Repräsentation unterstützt werden
Und natürlich muss ich die Repräsentation irgendwo herkriegen.
Die fällt nicht vom Himmel, die muss irgendwo produziert werden.
Sie muss also entweder von Menschen aufgeschrieben werden, das wird
der typische Fall sein, den wir in der Veranstaltung berücksichtigen.
Oder ich muss in der Lage sein,
dass aus Daten über die Welt zu extrahieren oder aus früheren
Erfahrungen mit der Interaktion, mit der Welt extrahieren.
Das ist der Bereich des Machine Learnings sozusagen. Wobei das
hier im Prinzip der klassische Fall ist und das gehe,
das Real Forcement Learning,
wo ich also die Erfahrungen mit früheren Aktionen benutze,
um meine Aktionen in der Zukunft
besser zu gestalten
Wir gucken uns im Wesentlichen in diesem Fall an.
Hieraus folgt auch, dass ich im Idealfall in der Lage
sein sollte, diese Dinge zu mischen.
Und das ist eine der großen Achillesfersen des Ansatzes.
Das sind zurzeit im Wesentlichen getrennte Bereiche, weil die Repräsentationen,
die ich hier für das Machine Learning benutze,
meistens nicht so sind, dass sie vom Menschen auch verstehbar sind.
Die sind von außen undurchsichtig. Das sind meistens irgendwelche Zahlengräber,
also Vektoren mit irgendwelchen Gleitkommazahlen drin,
die sich einer direkten Interpretation durch den Menschen entziehen
Ja, und wie ich jetzt eine Repräsentation,
die für den Menschen verstehbar ist, mit einer Repräsentation kombiniere,
die durch Machine Learning aus Daten abgeleitet worden ist,
das ist einer der großen Herausforderungen für die Zukunft noch.
Ja, also wenn ich eine informelle Beschreibung eines Problems habe,
was ist dann überhaupt eine Lösung? Was man beobachtet,
ist, dass oftmals sehr, sehr viel unspezifiziert bleibt,
nur dass man eben mit den unspezifizierten,
also wenn irgendjemand informell ein Problem beschreibt,
diese unspezifizierten Teile muss man bei der Problemlösung ergänzen,
aber man darf es natürlich nicht irgendwie ergänzen,
sondern das muss schon im Sinne der Aufgabenstellung sein.
Und das bezeichnet man dann auch als Common Sense Reasoning,
dass man also Annahmen macht, was eine sinnvoll, oder was,
man macht Annahmen, was eine sinnvolle Annahme sein würde,
wenn man dieses Problem lösen kann.
Also alles,
was in der informellen Beschreibung nicht explizit gemacht worden ist,
muss man durch Standardannahmen beispielsweise explizit machen,
damit man überhaupt in der Lage ist,
ein Berechnungsverfahren darüber laufen zu lassen
Nicht die Frage ist die Frage der Qualität der Lösungen.
Nicht jede Lösung ist eine perfekte Lösung. Deshalb muss man
verschiedene Klassen unterscheiden. Die perfekte Lösung wäre,
die in irgendeinem Sinne optimale Lösung, die ist aber auch
nur dann perfekt, wenn das Optimalitätskriterium perfekt ist.
Auch ein Optimalitätskriterium muss nicht unbedingt unhinterfragbar sein.
Man kann auch in Frage stellen,
ob denn dieses Optimalitätskriterium nicht verändert werden musste im Hinblick auf
bestimmte praktische Erfordernisse
Ja, aber wenn ich ein Optimalitätskriterium habe und die optimale Lösung habe,
dann habe ich natürlich das Beste, was ich finden kann.
Besser als optimal geht ja nun mal nicht. Dann muss
ich verschiedene Varianten von unperfekten Lösungen unterscheiden. Eine ist,
die gut genug ist, um ein Problem zu behandeln.
Das ist nicht unbedingt die optimale, aber es ist irgendeine,
dass die Frage des Good Enarth Reasonings ist auch eine zentrale Frage in der Psychologie,
wo es eben genau darum geht, machen Menschen wirklich die perfekte Analyse?
Zum Beispiel in der Sprachverarbeitung verstehen wir wirklich,
in einen Satz in allen seinen Verästelungen oder machen wir nicht
einfach auch aus Aufwandsgründen irgendwo einen Schnitt und sagen,
genauer brauchen wir es gar nicht.
Das ist good enough reasoning. Und das führt zu solchen
zufriedenstellenden Lösungen. Eine annähernd optimale Lösung ist eine,
die auf irgendeine Sorte von Mars möglichst dicht an der optimalen Lösung dran ist.
Das ist also wahrscheinlich immer der Fall,
wenn man nicht in der Lage ist,
einen Suchraum vollständig zu durchmustern, um die optimale Lösung zu finden,
dann ist man mit einer suboptimalen Lösung zufrieden,
allerdings immer unter Berücksichtigung der Beschränkung, sie sollte möglichst dicht an der optimalen Lösung dran sein.
Das hängt auch wieder davon ab, vom Optimalitätskriterium,
ob ich überhaupt in der Lage bin zu bewerten,
ob die Distanz zur optimalen Lösung hinreichend klein ist.
Das ist eben wieder einfach in so etwas wie einem eklidischen Raum.
Aber in dem Augenblick, wo ich keinen eutlidischen Raum habe
, wird es kompliziert. Dann kann es sein,
dass eine aufgrund des Optimalitätskriteriums sehr ähnliche Lösungen zu dramatisch unterschiedlichen
Schlussfolgerungen führt
Und das Letzte ist dann schließlich eine wahrscheinliche Lösung,
von der ich nur sagen kann, was ist die Wahrscheinlichkeit,
mit der es überhaupt eine Lösung ist.
Der letzte Fall schließt also auch ein, dass ich
eine Lösung habe, die gar nicht mein Problem löst.
Ich kann eben mit einer bestimmten Wahrscheinlichkeit nicht ausschließen,
dass das ein völliges unnützes Rezept ist, weil es nichts bringt.
Also da gebe ich nur an, mit welcher Sicherheit,
mit welcher Wahrscheinlichkeit mein Lösungsverfahren eine Lösung finden wird.
Ich habe also noch immer einer,
ich frage nicht nach der Qualität der Lösung,
es ist immer eine perfekte Lösung.
Wenn ich eine finde,
dann ist sie,
löst sie
das Problem
Nein, Quatsch, nicht, weil ich eine finde.
Mit einer bestimmten Prozentsatz an Wahrscheinlichkeit wird es das Problem lösen.
Aber es gibt eben einen bestimmten Prozentsatz mit dem,
wo die Lösung für das Problem völlig ungeeignet ist.
Das kann hier nicht passieren. Die ist nur nicht ganz perfekt in irgendeinem Sinne.
Naja doch, das kann auch passieren. Das macht nur
sozusagen Sinn, wenn es nicht eine atomare Entscheidung ist.
Wenn ich also irgendwie eine komplexe Struktur ermittle,
einen Plan beispielsweise und der Plan hat noch einen Defekt,
dass er irgendwo einen Schritt vorschlägt,
der eigentlich kontraproduktiv ist
Gut, also Qualität von Lösungen ist immer zu, mit zu berücksichtigen und mitzudenken.
Wir müssen immer damit rechnen, dass die Lösung,
die wir finden, das Problem nicht perfekt adressieren.
Deshalb kann es passieren, dass wir,
obwohl wir im Sinne des Optimierungskriteriums versucht haben,
die beste Entscheidung zu treffen,
können die Konsequenzen davon im Sinne der Aufgabenstellung schlecht sein und das in beiden Richtungen.
Man kann natürlich auch zufällig etwas machen und das löst
das Problem
In diesem Sinne kann ich jetzt versuchen abzuschätzen. Und das ist etwas,
was wir im Zusammenhang mit den propablistischen Verfahren machen werden,
dass wir sagen, wie wichtig ist es uns,
eine bestimmte Information zu bekommen.
Und auf die Art und Weise etwas beitragen können,
zu einem ressourcenbewussten Verhalten. Also wir können einschätzen,
wenn wir eine zusätzliche Beobachtung in der Welt machen könnten,
wie würde das die Sicherheit unserer Entscheidung beeinflussen?
Wird die dramatisch besser oder bleibt sie marginal?
Ist die Veränderung marginal? Bleibt es also im Wesentlichen
alles so,
wie es war
Und auf die Art und Weise können wir abschätzen,
wie wertvoll ist es uns, diese Informationen zu bekommen oder nicht,
wie schlecht ist es, wenn wir sie nicht haben.
Und das kann zum Beispiel für einen Roboter sehr,
sehr wichtig sein, weil es etwas kostet,
eine Information zu besorgen. Ich muss eine Messung machen,
ich muss gegebenenfalls dahin fahren und nachschauen,
dass es also mit Zeit, mit Treibstoff und diversem Aufwand verbunden,
wenn es sich denn zeigt,
dass die Informationen für die Entscheidung im Endeffekt gar keine richtige Rolle spielt,
dann kann ich auch darauf verzichten.
Und das führt dann tatsächlich dazu, dass ich zu einem rationalen Verhalten komme,
was nicht eben einfach nur blind links einen Suchraum durchmustert,
sondern der, wo bewusst das Riesen liegen darf, stattfindet.
Wie wichtig ist es jetzt bestimmte Aktionen in der Welt
zu machen oder nicht zu machen? Vorhin schon angesprochen,
eine wichtige Unterscheidung, die wir auch machen müssen,
ist die Frage des Anytime-Verhaltens.
Anytime-Verhalten heißt, ich kann zu jedem beliebigen Zeitpunkt eine Lösung präsentieren.
Man unterscheidet grundsätzlich zwei Ansätze dafür. Das eine sind sogenannte Kontraktalgorithmen.
Da sage ich, ich brauche die Lösung in drei Sekunden.
Und dann will ich in drei Sekunden die beste Lösung haben,
die man in drei Sekunden ermitteln kann
Das ist Bounded Ressionality. Die Ressourcen sind begrenzt,
wenn es später wird als drei Sekunden, nutzt mir das Ergebnis nichts mehr.
Das sind Kontraktalgorithmen und die anderen sind die sogenannten unterbrechbaren Algorithmen,
wo ich zu jedem Zeitpunkt sagen kann, jetzt Schluss,
jetzt gib mir das Ergebnis.
Ich habe lange genug gewartet. Die letzte Klasse ist natürlich
noch schwerer zu realisieren als die erste Klasse. Für die erste Klasse kann ich jetzt,
also wenn ich einen Kontrakt habe, einen Vertrag habe,
dann kann ich sagen, okay,
mir steht so zu viel Zeit zur Verfügung,
dann werde ich mich auf diesen Teil des Suchraums beschränken.
Die anderen Sachen muss ich ausblenden. Das kann man bewusst entscheiden.
Der Anytime-Algorithmus im Staat im Sinne, der also Liebig unterbrechbar ist,
der hat diesen Freiraum nicht. Der muss so von ablaufen,
dass er zu jedem beliebigen Zeitpunkt die beste Lösung,
die er bis dahin gefunden hat, nach draußen geben kann.
Und nicht, oder eigentlich die Minderheit der Algorithmen,
die wir besprechen werden, hat diese Eigenschaft nicht. Also auch alles,
alles wieder noch Dinge, die man im Hinterkopf haben muss,
dass die Welt kompliziert ist,
dass es nicht einfach nur ausreicht zu sagen, hier,
ich habe hier ein Qualitätsmaß und 95 Prozent meiner Entscheidung sind gut Entscheidungen gewesen,
sondern ich muss es im Zusammenhang mit dem Zeitbedarf,
der dafür erforderlich ist, betrachten.
Und eine 95 Prozent die Entscheidung mit sehr viel Zeitbedarf kann
schlechter sein als eine 80 Prozent die Entscheidung, die schnell getroffen werden kann.
Gerade in Welten, wo es eben auf schnell Entscheidungen drauf ankommt.
Also, es ist nicht nur wichtig,
dass man die richtige Antwort findet, sondern auch,
wie viele Informationen brauche ich dafür und kann ich die Kosten,
die mit der Informationsbeschaffung verbunden sind, tatsächlich rechtfertigen.
Und der Aspekt der zeitlichen Aspekt ist die Richterantwort auch in
zur rechten Zeit verfügbar oder kommt sie eigentlich viel zu spät
Und da hat man typischerweise so ein Verhalten,
das ist stark idealisiert. Wir haben hier einen Anytime-Algorithmus,
der über der Zeit die Qualität der Lösung,
die er findet, verbessert. Das kann ich sehr,
sehr einfach realisieren, indem ich beispielsweise eine Tiefensuche mache.
Ich finde die erste Lösung, ich sage, hallo,
hier ist sie, das ist diese hier, die hat diese Qualität.
Ich suche weiter und finde hier nach einer gewissen Zeit
die zweite Lösung, die ist deutlich besser. Nein,
ich finde in der Zwischenzeit noch fünf weitere Lösungen,
die sind aber alle schlechter als die, die ich schon mal hatte.
Ich brauche mir immer nur die Beste aufzuheben. Denn wenn
ich gefragt werde, gib mir jetzt die beste Lösung,
gibt es eigentlich nur die Beste nach draußen
Also hier in der Zwischenzeit sind zahlreiche Lösungen versucht worden,
die sind alle schlechter als diese Qualität gewesen.
Deshalb, hier findet er das erste Mal eine Lösung,
die besser ist als diese. Und das passiert noch mehrere Male,
bis dann irgendwann ein Maximalwehr der Qualität erreicht ist.
Und jetzt nehmen wir an, dass der Wert der Lösung
mit der Zeit absinkt. Also wenn ich sie schnell kriege,
es ist mir noch ziemlich viel wert, wenn ich sie erst später kriege,
dann ist sie mir nicht mehr viel wert.
Das muss kein Linearer Abfall sein, das ist hier
eine Vereinfachung, das kann auch irgendeine beliebige Funktion sein.
Zum Beispiel
irgendwas Exponentielles
Zuerst ist mir das weitgehend egal, ob die Information hier
kommt oder hier kommt der Abfall an Nützlichkeit ist gering,
aber irgendwann geht er dann exponentiell in die Höhe.
Das könnte auch ein möglicher Discount-Funktion sein, die dazu führt,
dass eben ab einer bestimmten Schwelle, der das Abzuziehen,
die abzuziehende Nützlichkeit so groß ist, dass sich die Qualität überhaupt nicht mehr lohnt.
Und jetzt muss ich also sozusagen die Qualität,
die ich hier habe, mit dieser fallenden Nützlichkeit kombinieren,
einfach linear, dass ich sage, ja,
ist ja ganz nett, dass du hier eine Lösung hast,
aber wird mit der Zeit auch wieder weniger wert.
Und die nächste Lösung, die ich finde, verbessert,
das Ganze also ein bisschen, aber je länger ich warte,
in der Hoffnung, dass noch bessere Lösungen kommen,
umso geringer wird wieder die Nützlichkeit.
Und dann sieht man eben, dass man hier zu diesem Zeitpunkt
schon mal genauso nützlich war wie zu diesem Zeitpunkt hier.
Das heißt also, zwischen hier und hier hat man praktisch
für die Cuts gearbeitet. Das war, brachte keinen zusätzlichen
Nutzen in Bezug auf diese angenommene, diesen angenommenen Wertverfall einer Lösung.
Das ist ja der Wertverfall. Hier vorne ist mir die Lösung
noch viel wert, je mehr Zeit ins Land geht,
umso geringer ist die Nützlichkeit,
die mir
die Lösung bringt
Ja, gut, wir müssen auch noch uns überlegen und die Sache wird immer komplizierter,
zu welchem Zeitpunkt ist eigentlich ein Berechnungsaufwand erforderlich?
Und da müssen wir unterscheiden zwischen dem Aufwand,
der zum Entwurfszeitpunkt gemacht wird, der Aufwand, der getrieben wird,
bevor das Handeln überhaupt erfolgt und dann der Aufwand, der während des Handelns tatsächlich passiert.
Und das kennt man aus der Informatik, es ist immer der Versuch,
so viel wie möglich Aufwand aus der aktuellen Berechnung zu verlagern, in vorgelagerte Stufen,
dass ich also zum Compile-Zeitpunkt schon so viel wie möglich an Optimierung erledige,
damit ich dann nicht erst zur Laufzeit entscheiden muss,
sollte ich das lieber so oder so umsetzen.
Das ist also ein typisches Herangehen in der Informatik,
damit man dort, wo es wirklich kritisch wird,
nämlich das, was passiert, wenn der Roboter sich angefangen hat,
in Bewegung zu setzen, damit man dort Aufwand spart,
versucht man ihn in die vorgeschalteten Schritte zu verlegen.
Das ist also nichts Neues irgendwie in der Informatik. Gut,
also Aufgabe dieses Abschnittes war es überhaupt erstmal,
den Blick zu weiten, was heißt das,
Intelligenz und Was müssen wir eigentlich alles berücksichtigen, wenn wir über intelligentes Verhalten reden?
Und wir hatten eben zum Schluss bis hin dazu,
dass wir Qualitätsaspekte berücksichtigen müssen, dass wir zeitliche Aspekte berücksichtigen müssen und so weiter.
So, und jetzt ist der Punkt gekommen,
wo ich in dem Dort ansätze, wo die Übung auf,
nein, das sind gleich die Quellen,
wo die Übung aufgehört hat, das waren uninformierte Suchverfahren und sie hatten,
wenn alles glatt gegangen ist, bisher drei Stück besprochen.
Das ist die Breitensuche, die tiefe Suche,
die Breitensuche Und wenn wir Kosten zur Verfügung haben,
es ist die Louis, Kost-First-Suche, das ist etwas,
was kein Alleinstellungsmerkmal der KI ist,
nur Suchverfahren spielen eine ganz zentrale Rolle in der im Bau intelligenter Algorithmen.
Tatsächlich ist es so, dass wir versuchen,
gerade im Zusammenhang mit dem maschinellen Lernen, möglichst viel Suche einzusparen.
Man weiß, Suche ist etwas Problematisches, Suche ist insbesondere problematisch aus ihrem Berechnungsverhalten,
im Hinblick auf Zeit und Platzbedarf, sehr problematisch.
Und deshalb versucht man möglichst viel von diesem Suchaufwand zu vermeiden.
Und eine der Möglichkeiten, dies zu tun, ist,
dass man diese Kostenfunktion hier nicht mehr durch Geisteskraft entwirft und der Maschine vorgibt,
sondern dass man versucht, diese Kostenfunktion aus Daten zu lernen.
Das ist der typische Weg, der zurzeit fast überall dominiert,
dass man eben aus Daten eine solche Kostenfunktion errechnet,
beispielsweise in Form eines neuronalen Netzes,
und dann die Suche mit den Kosten,
die dieses Netz vorschlägt, steuert.
Das ist ein typischer Herangehensweise, das macht die Suche nicht notwendig,
aber, äh, nicht überzeugen, das macht die Suche nicht überflüssig,
aber reduziert sie möglicherweise auf ein erträgliches Maß.
Im Idealfalle läuft es darauf hinaus,
dass man in Einzelbereichen Suche auch fast vollständig vermeiden kann.
Das sind aber zurzeit noch die Ausnahmefälle. Gut,
also das war der Überblick, den sie gemacht hatten.
Wir hatten die Tiefensuche, ein Verfahren, was erfreulicherweise linearen Platzbedarf hat,
aber für der sich weder die Vollständigkeit noch die Korrektheit garantieren kann.
Die Breitensuche, was leider exponentiellen Speicherplatzbedarf hat,
was aber in Bezug auf Korrektheit und Vollständigkeit okay ist.
Und zwischen diesen beiden Polen kann ich jetzt abwägen. Ich habe kein perfektes,
kein Verfahren, was all das miteinander kombiniert,
also linearen Aufwand mit Korrektheit und Vollständigkeit, das gibt es erstmal nicht.
Wir sind hier im Bereich der uninformierten Suche,
uninformierte Suche heißt eben immer, ich gucke nicht in die Zukunft.
Ich gucke nur in die Vergangenheit im Falle der Loskost-First-Suche,
dass ich in der Vergangenheit schaue,
wie großen Aufwand habe ich in den bisherigen Teilpfad der Suche bereits investiert.
Und von denen nehme ich mir diejenigen dann vor,
wo ich bisher am wenigsten Aufwand investiert habe.
Aber das ist nur der Blick nach hinten.
Das ist nicht der Blick nach vorne. Keines dieser Verfahren
fragt, wo ist denn eigentlich
der Zielzustand
Und das ist das Ziel der informierten Suche und das ist
der nächste Schritt. By the way, was passiert eigentlich,
wenn ich diese Louis Cost First suche mit einem schlechten Kostenbewertung mache oder mit einer,
in anderen Worten, mit einer Gleichverteilung der Kosten operiere?
Das heißt also, jede, jeder Suchschritt kostet mich genauso viel,
also eine Einheit. Zu was artet das dann aus?
Ja. Bitte? Das ist die Breitensuche. Genau,
also dann landen wir hier in der zweiten Zeile
Das sollten wir immer im Hinterkopf behalten, denn das ist
auch wieder die Frage, die sich jetzt stellt.
Also, heuristische Suche oder informierte Suche heißt eben,
ich sollte nicht das Ziel ignorieren, wenn ich Pfade auswähle, Pfade auswähle,
tue ich ja immer auf der Fronte oder der Agenda,
je nachdem, wie man das Ding nennen will.
Und das ist ja bisher im Wesentlichen zufällig passiert oder
aber gesteuert durch die Kosten in der Vergangenheit.
Und es gibt aber meistens so etwas wie heuristisches Wissen,
was man anwenden kann, dass man sagt, es gibt Lösungen,
die eher zielführend sind und es gibt Lösungen, die nicht so zielführend sind.
Das ist also, wie immer, wir gucken uns in den eutlidischen Raum,
vergessen aber nicht, dass der eutlidische Raum eine grobe Vereinfachung ist.
Also im akklidischen Raum, wenn ich vom Punkt A zum Punkt B gehen werde,
dann werde ich nicht als erstes Richtungen wählen,
die mich vom Punkt B wegführen.
Also meine Heuristik wird sagen, versuche dich in Richtung auf das Ziel zu bewegen,
sodass der Abstand zum Ziel minimiert wird durch deine Aktion.
Und das ist eine Art Restkostenabschätzung, die sagt,
wie aufwendig wird es wohl schlimmstenfalls noch werden, Wenn ich,
nein, nicht schlimmstenfalls, das war falsch,
wie aufwendig wird es noch werden, um von meinem gegebenen Punkt,
den einen Zielzustand zu erreichen.
Das wird als Restkostenabschätzung oder H von N hier immer bezeichnet.
Also ich vermute, ich versuche abzuschätzen, was der kürzeste
Pfad von meinem aktuellen Knoten zu einem beliebigen Zielknoten sein wird.
Und natürlich muss diese Funktion, diese Restkostenabschätzung so sein,
dass sie irgendwie effizient berechenbar ist.
Es nutzt uns nicht, im Ernstfall könnten wir sagen,
ja, nichts einfacher als das.
Dann starten wir von meinem aktuellen Zustand eine Suche und gucken
hinterher mal, was war denn der kürzeste Pfad
Dann wissen wir, dass der kürzeste Pfad ist. Und
dann haben wir eine gute Heuristik, die uns sagt,
wie wir suchen müssen. Das ist es natürlich nicht.
Dann treiben wir den Teufel mit dem Bilzbub aus.
Dann ist die Berechnung der Restkostenabschätzung genauso teuer wie das Durchführen der Suche selbst.
Das bringt nichts. Das muss in irgendeinem Sinne billiger sein,
dass ich also mit geringeren Kosten abschätzen kann,
wo soll es weitergehen und nicht den gleichen Aufwand oder schlimmer
noch einen höheren Aufwand treiben muss, um die Steuerinformationen zu bekommen.
Also wir unterscheiden immer zwischen sogenannten Base-Level-Erfort,
das ist der Das, was ich machen muss,
um die Suche blind durchzuführen und dem Meta-Level-Effort,
den ich brauche, um diese Kostenfunktion zu schätzen.
Ja, und der Meta-Level-Effort muss natürlich deutlich geringer sein
als der Base-Level-Effort, den ich dadurch einsparen kann.
Sonst lohnt sich das Ganze nicht, sonst ist es bei Lustgeschäft.
Gut, diese Kosten kann ich also abschätzen für Einzelschritte
und ich kann sie abschätzen für ganze Pfade.
Das ist ja das, was ich haben will.
Ich will ja den kürzesten Pfad vom aktuellen Knoten bis zum Zielknoten haben,
das heißt, ich braucht die Kosten für den Pfad,
der dorthin führt
Eine solche Kostenabschätzung wird optimistisch oder unterschätzend genannt,
wenn es keinen Pfad gibt, der weniger kostet als das,
was diese Funktionen mir gesagt hat.
Ich muss also für ein optimistisches Restkostenabschätzung oder eine unterschätzende Restkostenabschätzung,
muss ich garantieren können, dass das,
was sie schätzt, immer geringer ist als das,
was die tatsächlichen Kosten sind
Dann wieder noch weiter, es ist also eine zulässige Heuristik,
noch mit Beschränkungen für die Werte,
die sie annehmen kann, ist also immer positive Kosten.
Ich werde nie negative Kosten vorhersagen können. Also es wird
nicht durch einen Schritt im Suchraum dann plötzlich entstehen negative Kosten,
dass es wird ausgeschlossen.
Und wenn das der Fall ist und gleichzeitig die optimistische Schätzung
vorgenommen wird, dann wird das auch als zulässige Heuristik bezeichnet
Und dann kommt das, bis dahin ist das alles
schön und positiv, dann kommt das Frustrierende,
das eine zulässige Heuristik natürlich nicht notwendigerweise eine nützliche Seite muss.
Warum nicht? Wo ist die Hintertür durch dieses ganze Nicht mehr nützliches?
Das ist ja lustig, falsch tue jeder gemacht.
Falsch ist sie? Falsch tue ich, also nicht zielorientieren,
nicht zu leben, sondern dass wir tatsächlich reichen Folgen, genau.
Richtig definieren. Ja, können wir das in Form eines
Kriteriums formulieren?
Was muss ich
also tun
Welche Eigenschaft muss sie besitzen? Hier sind sozusagen ja schon Eigenschaften gesagt,
sie muss optimistisch sein, damit sie tatsächlich die Lenkwirkung entfällt, entfaltet.
Sie muss nicht negativ sein, weil es sonst keine Vorhersagen treffen kann,
wenn es plötzlich negative Kosten kriegt,
dann ist das etwas, was eine völlige Überraschung ist.
Aber was können wir über die Heuristik sagen, sozusagen als Gegenargument?
Hier sagen wir ja nur, es muss optimistisch sein.
Also mache ich eine optimistische Abschätzung und sage, ja,
es muss nicht negativ sein, okay, dann machen wir,
wir nehmen eine beliebig kleine positive Zahl und sagen,
jeder Suchschritt verursacht mir jetzt noch Kosten von dieser kleinen,
positiven Zahl in Höhe der kleinen, positiven Zahl.
Ist das eine nützliche Euristik? Sorry, eine nützliche Euristik?
Ich würde sagen, wenn ich zu klein gewirkt bin,
das hat was für mich. Sollte ich auch nicht,
sondern im Durchschnitt jetzt eine Fahrtmenge von vier oder sowas und viele,
die Horstik auf eins.
Das ist völlig unnütz. Wieso? Ja, aber da
kann ich jeden Fahrt nehmen. Ah, das Entscheidende ist,
jeder, jeder mögliche Aktion hat gleiche Kosten.
Dann entfaltet sie keine steuernde Wirkung mehr.
Das ist genau der Fall. Wo sind wir dann
nämlich wieder
Wenn wir also gleiche Kosten annehmen,
wir hatten das ja vorhin für die Rückwärtsgewandte Louis Cost-First-Suche.
Wenn wir jetzt hier gleiche Kosten anleben, was haben wir dann?
Ja, das ist wieder eine Breitensuche. Dann haben wir
keinerlei Steuerwirkung, da wir ja Kosten miteinander vergleichen müssen.
Das ist ja, wir müssen ja mal gucken,
ist die eine Pfad billiger als der andere.
Müssen wir eine Breitensuche machen? Von daher kommt also,
es breitensuche schon mal richtig. Und wenn die heuristische Funktion
so gewählt ist, dass sie keine Steuerinformationen enthält,
dann ist es eben die blinde Breitensuche,
die wir da haben
Also, wir müssen nicht nur sagen,
dass sie optimistisch sein muss oder unterschätzend sein muss,
sie muss gleichzeitig so dicht, wie es geht,
an den tatsächlichen Kosten dran liegen.
Wenn sie das nicht tut, dann entfaltet sie keine Steuerwirkung.
Wenn sie von den tatsächlichen Kosten stark abweicht,
dann schickt sie die Suche in die falsche Richtung.
Also, das ist hier unten die Konsequenz davon.
Es reicht also nicht diese Kriterien hier zu haben,
eine gute Heuristik, muss mir auch sagen, wo es lang geht.
Das reicht nicht zu sagen, sie muss nur hinreichend,
sie muss kleiner sein als die tatsächlichen Kosten
Gut, also was sind heuristische Funktionen? Ja,
ich hatte schon gesagt,
wir nehmen immer zur Veranschaulichung den euklidischen Raum,
dann können wir eben die Distanz nehmen und dann sind die Restkosten,
die die lineare Verbindung zwischen aktuellem Zustand und dem Ziel,
was als nächstes ist.
Das ist sozusagen, warum ist das optimistisch?
Das ist ja immer die Frage,
also warum ist das unterschätzend,
wenn wir
eine solche Juristik nehmen
Mama ist ein gliedischer Abstand unterschätzen. Ja. Dass es dann
keinen Weg gibt, ja. Kürzer ist. Ja,
kürzer als eine Garade zwischen zwei Punkten kann ich nicht.
Jede Kurve, die ich mache, wird eine größere Länge erzeugen.
Also das ist tatsächlich die kürzeste, zwischen zwei Punkten ist die gerade.
Ich weiß nicht, das muss irgendwo in der sechsten Klasse oder sowas verortet sein.
So, das können wir natürlich immer noch transformieren. Ja,
beliebige Transformationen dieser Dieses okklitischen Abstand sind möglich,
wenn wir also so etwas haben,
wie unser Optimierungskriterium ist Zeitbedarf,
etwa bei einem Navigationssystem,
bei einem Fahrplan-Auskunftssystem,
dann können wir eben Entfernungen über irgendwelche Geschwindigkeitsannahmen in Zeitangaben umrechnen und auf die Art und Weise ein leicht modifiziertes Optimierungskriterium bekommen,
aber es ist im Prinzip immer noch genau das Gleiche,
es basiert auf dieser Annahme die kürzeste Entfernung zwischen zwei Punkten
ist die gerade
Jetzt steht hier aber, dass viele solche,
tatsächliche Suchräume keine eukledischen Distanzen haben und es wird das Beispiel bemüht dieses Roboters,
der also jetzt in der,
in der Welt herumfährt und dafür Treibstoff braucht und der diese Münzen da einsammeln soll.
Und der muss jetzt eben nicht nur berücksichtigen,
was ist der kürzeste Weg bis zu einer Münze,
sondern auch, wie viel Treibstoff habe ich noch,
wo kriege ich den Treibstoff und wie komme ich zu meinem Ziel zurück,
dass ich dich also irgendwo im Suchraum versacke.
Das ist also durch die Zusatzkriterien, die man jetzt hier einbaut,
ist es eben nicht mehr der Fall,
dass der die kürzeste oder effizienteste im Sinne von Suchschritten, die ich machen muss.
Das ist ja eine Art Zeitmaß. Also das,
na sorry, es sind ja nicht nur Suchschritte,
es sind ja dann auch tatsächliche Schritte in der Welt,
die ich machen muss, dass ich das Optimum habe,
mache so wenig Schritte wie möglich.
Dieses Optimierungskriterium reicht nicht mehr aus.
Ich muss es anreichern mit diesen zusätzlichen Bedingungen.
Wie viele Münzen habe ich schon oder wie viele bleiben noch übrig,
wie viel Treibstoff habe ich noch, wann muss ich tanken und wo?
Dann ist es eben nicht mehr ein euklidischer Raum,
den ich betrachte
Ist es in diesem Falle sowieso nicht so richtig,
aber da können wir darauf verzichten. Das Problem ist,
dass dieser Roboter sich ja immer nur senkrecht und waagerecht bewegen kann.
Also das, was ich dort habe,
ist eben kein euklidischer Abstand, sondern eine City-Blog-Distanz oder,
oh Gott, die kommt immer unter den verschiedensten Namen einher.
Die anderen fallen mir gerade nicht auf.
Es ist jedenfalls eine, die Ming-Kopf-Distanz mit dem geringsten Exponenten.
Der euklidische Abstand ist quadratisch. Das ist dann nur noch
Line A miteinander kombiniert. Haben Sie andere Beispiele dafür,
wo ich keinen euklidischen, kein euklidischer Maß für die Restkostenabschätzung zur Verfügung habe?
Was könnten es noch für Aufgaben sein? Bewegt euch an
Herrn Gewind zum Beispiel. Ja, klar. Immer wenn
im Suchraum irgendwelche Hindernisse sich auftun. Und das ist im
Labyrinth der Fall, da wo ich hingehen würde.
Beim Labyrinth kommt noch der zweite Schwierigkeit dazu.
Ich weiß nicht mal, wo der Zielpunkt ist
Wenn ich mich aus dem Labyrinth befreien will, ja,
aber wenn ich gar nicht weiß, wo jetzt sich der Schatz verbirgt,
dann habe ich noch ein zusätzliches Problem.
Wenn wir in der realen Welt, ein Labyrinth,
ist ja eine starke Abstraktion von der realen Welt.
Wenn wir in der realen Welt uns bewegen, was würde dem Labyrinth entsprechen?
Bitte? Nein, aus dem Zentrum. Oh, die sind,
also weiß ich, wenn ich Ikea zum Beispiel zugrunde lege,
da gibt es einen Pfad, den ich absolvieren kann.
Da kann ich überhaupt nicht Alternativen. Ich muss einmal durch dieses gesamte Ding durch,
damit ich an den Sonderangeboten von Teelichtern garantiert nicht vorbeikommen kann.
Das ist das, es sichergestellt. Also die sind teilweise so designt,
dass ich, dass ich den Kunden zwingen, bestimmte Wege zu nehmen.
Das ist, also machen wir aber wirklich ein Suchproblem.
Ja. Ja, wieso das? Da habe ich doch
einen euklidischen Abstand. Nein, das ist ja auch teilweise,
das ist so legitim. Erkennbargeräte vorstellen. Sorry, kleine
. Ich habe eventuell Wege, die meine ich sofort,
wenn die nicht die Sichtküste da, dass die gehen kann.
Was könnte das sein? Ich gehe da ein Stück
zu tun, oder? Naja, ne gut,
also was weiß ich, Navigationssystem sagt schon,
ich sitze im Auto und will jetzt an ein Ziel kommen.
Also... Klar, Baustellen ist die nicht.
Klar, Baustellen gesperrte Straßen, ja, was noch?
Staubt sie nicht. Das ist sogar dynamisch, ja,
okay. Was ist noch alles? Ich glaube,
einmal kann ich ziehen ab,
an dem
man verantwortet
Ja, das berücksichtigt mein Navigationssystem aber nicht so richtig.
Das ist mein Risiko. Nee, aber ganz,
ganz natürlich, Einbahnstraßen haben diesen Charakter,
dass ich eben nur in eine Richtung gehen kann,
aber nicht in die andere.
Dummerweise immer nach dem Prinzip der größten Gemeinheit,
das ist die falsche Richtung, aber auch so etwas wie Flüsse,
Meere und der gleichen Berge.
Also versuchen Sie doch mal die direkte Linie nach Stade zu fahren.
Wie soll denn das gehen? Das funktioniert nicht. Da
gibt es Hindernisse, die umgangen werden müssen und wann immer
ich solche Hindernisse habe, dann nutzt mir der öklidische Abstand
relativ wenig
Aus diesem Grunde also immer, euklinischer Abstand ist nur zur Veranschaulichung gut,
aber in den meisten Fällen muss ich davon abweichen.
Gut, typischerweise findet man eine heuristische Funktion immer dadurch,
indem man eine einfachere, also weniger restringierte Aufgabe löst. Also beispielsweise,
dass man hier in diesem Roboterfall des Benzin weglässt,
also den Treibstoff, dass man das unberücksichtigt lässt und dann guckt,
kann ich mit den restlichen Informationen irgendeine Handlungsanleitung geben und dann kommt man genau dazu,
dass man heuristische Funktionen definiert,
die vom realen Problem sich immer weiter entfernen
Natürlich wird es jetzt sein, wenn ich dir beim nicht berücksichtige,
dass mein Tank so gut wie leer ist,
dass ich dann irgendwann mal ohne Benzin da stehe.
Dann habe ich eben diesen Teil des Suchraums umsonst abgelebt,
weil ich von vornherein in die falsche Richtung gelaufen bin.
Das ist im typischen Fall ja kein Problem.
Die Alternativen stehen mir ja immer noch zur Verfügung,
entweder in der Warteschlange oder im Kellerspeicher.
Aber ich treibe Aufwand, der nicht nötig gewesen wäre.
Und das Ziel, der informierten Suche der heuristischen Funktion,
ist es ja gerade,
den Aufwand zu minimieren.
Darum machen wir ja
das Ganze
Also, ich muss es vereinfachen, aber ich muss aufpassen,
dass ich jetzt nicht auf eine Art und Weise vereinfache,
dass ich grobe Fehlentscheidungen dadurch provoziere.
Und das ist das, was hier hinten steht. Es könnte passieren,
wenn ich es vereinfache, dass dann kompletter Unfug passiert.
Und das muss ich natürlich auch versuchen zu vermeiden. Gut,
also ein Beispiel hatten wir, ein Routenplaner ist wegen der Hindernisse,
die sich entweder statischer oder dynamischer Natur auftun.
Dynamischer Natur könnte zum Beispiel auch sein, dass ich dass
ich Zugbrücken habe, die bestimmte Öffnungs- und Schließzeiten haben.
Wenn ich zu einer bestimmten Zeit komme, ist die Straße eben weg.
Und da muss ich zum anderen Zeitpunkt wiederkommen. Haben wir
andere Beispiele für Suchprobleme, die keinen euklidischen Suchraum haben?
Oder Problemraum eigentlich, muss man genauer sagen.
Hier steht Manny. Es kann also nicht nur
das Navigationsgerät sein
Vorhin war gerade eins hier auf der Folie.
Wer erinnert sich vielleicht? Ja. Das ist der Zauberer.
Ja klar. Ja. Genau, er ist es, ja.
Da ist die Tür zu und dann geht es da eben nicht durch.
Dann muss er zurück den Schlüssel holen, die Tür aufmachen,
zum Beispiel. Also das hängt jetzt stark davon ab,
wie man vereinbart, wie die Türen konstruiert sind,
mit welchen Mitteln er sie öffnen kann.
Aber sowas kann passieren, dass eben dass er jetzt gerne
den Kaffee holen würde, aber es geht nicht,
weil das Paket noch obendrauf liegt ab dem Roboter.
Also muss erst mal das Paket runtertragen werden, runtergesetzt werden.
Das kann nicht überall passieren. Das heißt, er muss
erst mal zu einem Punkt fahren, wo er das machen kann.
Da kannst du nicht einfach mitten auf dem Flur stehen lassen.
Und dann kann er erst tatsächlich den Kaffee holen und liefern.
Also sehen wir auch dort der kürzeste Abstand, es ist mitnichten.
Es ist ein ziemlicher Umweg, der da gemacht werden muss. Gut,
und da, wir werden noch weitere Beispiele dafür sehen,
aber solche Planungsprobleme sind eigentlich typischerweise Probleme,
die zwar im Grunde einen eukletischen Raum zu drin haben,
aber der stark modifiziert ist durch die ganzen Aktionen,
die man machen kann.
Wer die Folien online noch aktualisiert, weil zum Beispiel ja,
fehlen zwei Punkte jetzt. Fehlen? Ja. Okay,
ich habe jetzt keine Versionsverwaltung dafür zur Hand. Was fehlt denn
da? Also da zum Beispiel ist Many Search Bass.
Aha. Okay, gut, dann sind das wahrscheinlich Sachen,
die ich irgendwie im letzten Jahr mal ergänzt habe dazu und nicht übertragen habe.
Ja, okay, dann, ja,
also auf die Frage, ja, ich werde sie aktualisieren,
ich werde dann auch mal dazuschreiben,
Version vom Sohn zu fehlten,
Ich dachte eigentlich, ich hätte wenig dran geändert,
aber so täuscht das menschliche Erinnerungsvermögen, ja.
Gut, das erste Verfahren, was wir uns angucken,
ist heutzutage sehr viel tiefen.
Zuerst Suche. Ihr versucht also, tiefe Suche zu machen
und sie mit einem Blick in die Zukunft zu versehen.
Der Unterschied zur klassischen Tiefensuche besteht dann nur darin,
dass wir also eine Entscheidung, und zwar eine lokale Entscheidung,
abhängig machen von der Restkostenabschätzung.
Wir gucken uns also an,
was haben wir lokal für Optionen zur Verfügung,
also welche Folgezustände können wir einnehmen
Und was sind deren Restkosten? Und wir nehmen die,
Knoten mit den Kleinsten, mit der kleinsten Restkostenabschätzung als erstes.
Also wir ordnen sie sozusagen. Bevor wir sie auf den Kellerspeicher,
wir haben ja Tiefensucher, also Kellerspeicher,
bevor wir sie auf den Kellerspeicher packen, werden sie geordnet,
sodass die mit den geringsten Restkosten vorn stehen und die anderen hinten.
Also lokal wird jetzt entschieden,
dass immer der Teilbaum im Suchraum ausgewählt wird,
der die geringsten,
die geringste Restkostenabschätzung hat
Aber dann nimmt er eben den Folgezustand mit den geringsten, mit der geringsten Restkostenabschätzung.
Und dort macht er praktisch wieder das Ganze rekursiv,
dass er dann in diesem Teilraum verbleibt und dort wieder versucht,
die geringste Restkostenoptimierung durchzuführen.
Mit anderen Worten, das ist das,
was man typischerweise auch als gierige Suche bezeichnet.
Das Verfahren sieht, oh, wenn ich hierhin gehe,
dann reduziere ich meine Kosten gewaltig, wenn ich dorthin gehe,
reduziere ich die Kosten nicht.
Also gehe ich doch lieber hierhin. Und diese Entscheidung wird
auch erstmal nicht redividiert. Das unterscheidet es dann von einem
gierigen Verfahren,
ein gieriges Verfahren
Ist nicht mehr in der Lage, diese Entscheidung hinterher zu revidieren.
Hier sind wir es, wenn wir diesen Teilraum erfolglos abgesucht haben,
dann kommen wir natürlich wieder in die Chance.
Kriegen wir nochmal die Chance, Alternativen uns anzugucken.
Hier also ein Suchraum. Das war schon wieder,
muss man doch mal hinterfragen. Ich weiß nicht,
um wie weit es in der Übung behandelt worden ist.
Wir müssen immer unterscheiden zwischen dem Suchraum. Das sind also
die Alternativen, die das Suchverfahren durchmustert und dem Problemraum.
Das ist also die Welt, in der sich beispielsweise der
Roboter bewegen könnte. Was haben wir hier? Ist das
ein Suchraum oder ist das
ein Problemraum
Und woran könnten wir es erkennen? Würde ich sagen,
es ist ein Buch haben, weil wir einen Schlafpunkt im Ruhepunkt haben.
Reicht das aus? Naja, ich habe das eingezeichnet.
Ja, ja, ja gut, aber gut,
also es ist ein Suchraum, erste Äußerung, zweite.
Wenn es eine Tiefensuche wäre,
dann hätten wir
den Kreis da nicht
Denn wir wären jetzt, wenn wir so... Ja,
auch bei der Breitensuche hätten wir ihn nicht.
Also ein Suchraum. Ein Suchraum, so wie es in dem Buch
definiert ist. Und wir müssen sauber bei der Terminologie bleiben.
Sieht immer so aus. Lokal habe ich immer die Möglichkeit,
mich zu entscheiden. Ich gehe hier lang und ich gehe
hier lang. Und wenn ich jetzt irgendwie eine Verzweigung habe,
die hinterher wieder zusammengeführt wird, im Problemraum,
also der Roboter geht hier rum und er geht hier rum,
dann hat er sich hier für links, irgendeine Stelle,
wo man das vernünftig machen kann.
Hier, sagen wir hier, hier hat er sich
für links entschieden und anschließend für rechts.
Hier hat er sich erst für rechts entschieden und anschließend für links,
dass diese beiden Zustände in der Welt identisch sind
Das weiß unser Verfahren noch gar nicht. Wer sollte ihm
das mitgeteilt haben? Bisher hat er nur gesehen,
oh, ich bin hier, ich kann links rumgehen,
ich kann rechts rumgehen. Also gehe ich mal rechts rum.
Hier ist er ebenfalls in einem Zustand und sieht wieder,
ich kann links rumgehen und ich kann rechts rumgehen.
Dass er, wenn er hier links rumgeht,
praktisch wieder an der gleichen Stelle ankommt,
das Suchverfahren an der gleichen Stelle ankommt,
wo es vorher schon mal war, das weiß es nicht.
Das ist eben genau blinde Suche. Wir werden uns
noch angucken müssen, wie wir mit dem Artefakt umgehen.
Dass wir also uns merken, wo wir schon mal waren,
um diese Wiederholung zu vermeiden. Also das,
was er getan ist, hat erst nach geguckt,
was passiert, wenn ich nach links gehe,
dann gehe ich nach rechts und hier ist er erst nach rechts gegangen und dann ist er nach links gegangen.
Das ist der Problemraum. Das ist der Suchraum dazu. So,
und jetzt ist es, kommen wir also zu dem anderen Fall zurück.
Das war der hier. Wie war die Begründung?
Ich habe sie schon wieder vergessen. Der Kreis.
Der Kreis, ja genau. Also hier haben wir nämlich
was Ähnliches. Wir haben nicht,
kommen nicht auf zwei alternativen Faden in ein und den gleichen Zustand,
sondern wir kommen über den Kreis in den gleichen Zustand.
Das heißt, wir sind im Problemraum.
Wir haben hier den Korridor, durch den
der Roboter
endlos lang laufen kann
In den Begriffen von Suchraum ist das ein Raum unendlicher Tiefe.
Wenn wir den Suchraum aufmalen wollten für dieses Problem,
für diesen Problemraum, würden wir einen Baum unendlicher Tiefe bekommen,
den wir auf der Folie gar nicht darstellen können.
Also hier gucken wir in den Problemraum. Hier haben wir
eben ein Labyrinth, was uns hier aus irgendwelchen Gründen,
Labyrinth ist auch schlecht, weil ein Labyrinth kann man wieder zurückgehen.
Hier kann man gar nicht zurückgehen. Das ist schlecht.
Aber aus irgendeinem Grund laufen wir hier in einen Zyklus,
aus dem wir uns nicht mehr befreien können.
Es gibt keinen Weg hier raus. Und die heuristische Tiefensuche würde jetzt sagen,
okay, ich bin in diesem Zustand hier,
Ich mache eine lokale Abschätzung und wir nehmen wieder klitischen Abstand.
Dann ist von diesen drei Knoten hier ist das der Nächste.
Also gehe ich hier hin und von da an ist das Unglück passiert.
Ich lande in diesem Zyklus und habe keine Chance mehr,
jemals das Ziel zu erreichen,
weil eben hier genau sich ein Suchraum unendlicher Tiefe auftut.
Wäre das dann auch so ein Weifen, aber so ein gieriger Algorithmus vielschlägt.
Ja, natürlich. Der würde jetzt Ad Infinitum hier drin
herumkreisen. Weil er eben nicht in der Lage ist,
sich wieder draus zu befreien.
Das ist in diesem Falle,
terminieren beide nicht
Gierli, wenn das hier unten ein endlicher Raum wäre,
der also eine endliche Tiefe hat,
dann kann ich den ja irgendwann mal extrastiv durchsucht haben,
stelle fest, hier ist keine Lösung und dann werde ich
als nächstes hier hingehen und wenn ich das auch extrastiv durchsucht habe,
werde ich als drittes hier hingehen und dann steht mir der Weg zur Lösung tatsächlich offen.
Also hierhin gehen heißt immer, das Suchverfahren würde den nächsten Knoten berücksichtigen.
Das heißt nicht, der Roboter würde da hingehen.
Das ist sozusagen eben genau ein Planungsvorgang,
der im Vorfeld der Aktion passiert
Der Roboter überlegt zuerst, was er tun sollte, wie er dorthin kommen kann,
ehe er losfährt. Das ist genau wie im Navigationssystem,
das Navigationssystem sagt ja auch nicht, ach ja,
es gibt hier eine Kreuzung mit drei Möglichkeiten,
biegen sie erstmal nach links ab, oh sorry,
nein, das war es wohl offensichtlich nicht,
drehen sie mal um, biegen sie dann wieder,
fahren sie dann gerade aus.
Nein, das war auch nicht die richtige Entscheidung.
Und zum Schluss probieren wir mal, was passiert, wenn wir rechts abbiegen.
Sie fahren ja dann erst los, wenn das Navigationssystem sagt,
so, jetzt weiß ich, wie der Weg ist.
Also die Suche passiert ja im Vorfeld der Aktion und nicht
bei der Aktion selber. Also diese Gehe zu dem Zustand
heißt immer, die Suche geht zu dem Zustand,
nicht der Roboter geht zu dem Zustand
Das Ganze ist eben genau eine Berechnung, die zum Offline-Zeitpunkt gemacht wird.
Nicht als Online-Berechnung. Gut, also wir sehen hier,
wir sind dadurch, dass wir eine lokale Entscheidung treffen,
die nur die nächsten Nachbarn betrachtet,
sind wir anfällig für Fehlentscheidungen,
weil eben hier die lokale Entscheidung den Knoten bevorzugen würde,
die anderen benachteiligt.
Und deshalb der Zielzustand gar nicht gefunden werden kann.
Also wenn wir das machen,
garantiert diese Suche den kürzesten Pfad zu finden.
Ja oder nein
Nein, Herr Professor, würde ich jetzt an der Stelle erwarten,
denn haben wir ja eben gesehen, es gibt Fälle,
wo sie den Zustand nicht finden kann.
Also, was passiert auf unendlichen Grafen oder Grafen mit Zyklen,
weil es da eine Lösung gibt? Naja, es kann passieren,
dass wir in so einem unendlichen Zyklus gefangen bleiben.
Ja, und deshalb die Lösung nicht sehen, ja.
Genau, was ist die Zeitkomplexität als Funktion der Länge des Pfades?
Was ist letzte Woche in der Übung
dran gewesen
Nein, definitiv nicht. Linie A hieße,
ich weiß immer sofort den richtigen Pfad.
Ich mache genauso viele Schritte, wie der Pfad lang ist.
Das heißt, ich darf nicht ein einziges Mal einer Alternative
probieren oder eine Sackgasse kommen.
Das kann es nicht sein. Was ist der Zeitaufwand für
die Tiefensuche im Worst Case natürlich?
Wir machen immer
das Case-Betrachtung
Ja. Wie groß ist der Zeitaufwand,
um einen Zielknoten zu finden hier? Im schlimmsten Fall.
Das ist nicht genial. Das ist bisher da momentan.
Das ist der Held,
der man einweit seinen Begründungen zufügen würde
Ja, wie sich dann die Komplexität vergrößert. Also,
was nehmen wir an, hier ist der Zielzustand?
Wir machen eine, die Suche ist so organisiert,
dass wir immer die linken Knoten zuerst betrachten, die rechten später.
Wie viele Knoten muss ich besuchen, ich hier lande?
Zum Teamalraum alle. Ja, und wie viel sind alle?
Wenn ich jetzt annehme, ich habe einen konstanten Verzweigungsfaktor überall.
Wir müssen immer idealisierende Annahmen machen, konstanter Verzweigungsfaktor in den
gesamten Such kommen.
Mit dem Vater ist das kürzer
Ja, ja, exponentiell, ja,
das ist exponentieller Aufwand in der Zeit. Im schlimmsten Falle,
wenn wir Glück haben und der Zielknoten liegt hier,
dann gehen wir eben einmal runter,
im optimalen Fall haben Berliner Ahnenaufwand, im minimalen Fall,
sorry, im minimalen Fall haben wir linearen Aufwand im Worst-Case-Fall haben wir exponentiellen Aufwand,
ja.
Das ist noch einmal die Frage,
wenn jetzt der Zielzustand gleich das erste Mal rechts gewesen wäre,
also vom obersten gleich rechts. Hier oben, ja.
Dann hätten wir ja trotzdem den gesamten linken Baum durchsucht.
Oder? Also die linke Seite des Baumes wären wir.
Ja, ja, klar, ja, ja.
Die Fahrtlänge ist doch dann eines
Also die letztendliche Zielfahrtlänge oder von welcher Pfadlänge spricht man?
Da spricht man vielleicht. Die Länge des längsten Paares,
oder? Es ist die, ja, ist das,
müssen wir ins Kleingedruckte gucken. Es ist die Fahrtlänge,
wo das Ziel, die Tiefe des Ziels im Suchraum.
Das ist das... Dann kann es ja auch
noch schlimmer, eine Stimme treffen quasi.
Also wenn jetzt tief ist, jetzt nur eins gewesen sein.
Ja. Aber wir haben ja trotzdem
viel mehr Aufwand gehabt als
Ja, stimmt, das ist Quatsch gewesen. Also hier steht,
sorry, zurück, hier steht die Länge des Pfades ja ausgewählt wurde.
Ja, das heißt... Das ist den längst möglichen Pfaden,
das sieht jemand schon mal gewählt hat.
Ja, ja, ja. Es ist die Frage,
wie, ja, aber ich gehe zuerst in die Tiefe.
Also die Betrachtung macht immer nur einen Sinn,
wenn ich einen Suchraum mit einer festen Tiefe betrachte.
Wie groß ist es, ist der Zeitaufwand Im schlimmsten Fall,
wenn ich diesen Suchraum in dieser tiefe Exhaustiv durchsuche.
Das ist nämlich genau diese Verzweigungsfaktor hoch N. Und dieses Argument mit,
wir gehen einst tiefer, ist dann natürlich,
wenn ich diesen Suchraum eine Etage tiefer mache und wieder exhaustiv durchsuchen will,
im schlimmsten Falle, wie groß ist dann der Zeitaufwand?
Darauf bezieht sich das immer. Also das mit dem
Lang of the Path Selected ist auch ein bisschen,
ja, da haben sie völlig recht.
Wenn ich also jetzt genau oben den selektiere, dann,
naja gut, ich gucke, gucke mir immer,
nee, es ist dann nicht,
dann ist es nicht die Schlimmste.
Ich wüsste, wie lange der Pfad ist
Dann würde es auch sein ergeben. Ja gut,
aber genau das mache ich ja, wenn ich sage,
der Suchraum hat eine bestimmte Tiefe und ich durchsuche ihn vollständig.
Dann sage ich ja, ich kann nur maximal bis Tiefe
5 suchen, mehr ist nicht da. Gut,
Platzkomplexität und jetzt können sie landen,
die ist, die ist linear, ja,
denn ich muss mir immer nur den Pfad vom Spitzenknoten bis zum aktuellen Knoten merken,
mit den Verzweigungen, die er noch hat.
Und das ist linear in der Tiefe des Suchraumes.
Und wie beeinflusst er das Ziel,
die Suche
Ja. Doch, doch, doch, doch,
doch, na klar, doch, doch.
Wir haben schon hier hier eine Entscheidung getroffen,
dass wir sagen, welchen Knoten besichtigen wir als nächstes?
Ja, also wir haben ja schon festgelegt,
dass abhängig vom Ziel kann es sein,
dass wir das Ziel vielleicht gar nicht finden.
Ja, es ist keine gute Entscheidung, die wir hier treffen,
aber wir treffen eine. Es ist nicht mehr einfach,
dass wir die Knoten der Reihe nach durch oder stochastisch sampeln.
Sondern wir treffen schon eine bewusste Entscheidung hier und sagen,
dieser Teilraum sieht uns am vielversprechendsten aus.
Nur leider Gottes ist es nicht der Richtige gewesen.
Die Heuristik ist nicht
so besonders gut
Hat ja auch keiner behauptet, aber das Ziel beeinflusst es schon.
Ja, ich wähle diesen Knoten, weil er am dichtesten am Ziel dran ist.
Alle anderen sind weiter vom Ziel entfernt. Das also,
kein Einfluss ist was anderes. So, ach so,
sorry, jetzt war ich in der falschen Rubrik gelandet, das war Tiefensuche.
Jetzt kommt die zweite Idee. Die zweite Idee ist,
offensichtlich liegt das der Mangel dieses Verfahrens daran,
dass sich eine lokale Entscheidung treffe, dass ich also nicht gucke,
gibt es möglicherweise noch Knoten, die irgendwie besser sind?
Also wenn ich jetzt diesem Pfad hier weiterverfolge,
werde ich irgendwann mal dazu kommen, dass, nee, das ist schlechtes Beispiel.
Weil dieser Knoten immer weiter entfernt ist als alle anderen,
das bringt nichts. Aber es kann Suchräume geben,
dass ich dann im Weiteren Verlauf der Suche Knoten betreten muss,
die vom Ziel sich weiter entfernen, obwohl es noch Alternativen gibt,
die dich da dran sind.
Und das heißt, der Mangel dieses Verfahrens ist offensichtlich dieses lokale Kriterium,
viel besser sollte es eigentlich werden, wenn ich das global mache.
Das heißt, ich sortiere alle meine Meine Alternativen in die
Agenda oder die Francia ein und sortiere die gesamte Agenda oder
die gesamte Francia bezüglich dieser Restkostenabschätzung.
Also jetzt nicht nur die neuen Einträge sortieren,
sondern die gesamte Agenda. Das heißt,
jetzt treten die neu hinzukommenden Knoten in Wettbewerb zu den bereits
vorhandenen Knoten und können möglicherweise die Suche wieder aus dieser Sackgasse befreien.
Das heißt, jetzt ist die gesamte Agenda eine Prioritätswarteschlange,
die bezüglich dieser Restkostenabschätzung sortiert ist
Das Problem ist nur, wenn wir uns das jetzt hier angucken,
hilft uns diese Heuristik. Und ich habe ja gerade gesagt,
sie hilft uns nicht, wir wählen wieder, bezüglich aller Knoten,
die wir hier besuchen können, das sind diese drei,
die ordnen wir in die Warteschlange ein.
Und auch hier wird der wieder vorn stehen. Und die anderen werden weiterhinter sein,
weil sie in größeren Abstand zum Zielknoten haben als dieser hier.
Und wenn wir das erst mal gemacht haben,
dann sind wir wieder in dem Zyklus drin und wir haben
wieder das gleiche Problem, was wir auch hatten bisher.
Also tatsächlich, ja, es gibt Fälle, wo es uns hilft,
Es gibt aber auch Fälle, wo es uns nicht hilft.
Das heißt, wir haben hier ein ziemlich ähnliches Verhalten.
Wir können nicht garantieren, dass wir den kürzesten Pfad finden.
Das haben wir eben gesehen. Auf Infiniten Grafen oder Grafen
mit Zyklen haben wir eben das Problem,
dass wir uns endlos lange in dem Zyklus befinden können,
ohne dass wir einen konkurrenzferien, dass die anderen Knoten wieder konkurrenzfähig werden.
Das ist das Problem dabei. Die Zeitkomplexität ist,
Da, da, da, da. Moment,
jetzt muss ich selber überlegen, habe die gesamte, nein,
ich habe die gesamte Agenda, ich mache aber trotzdem Tiefensuche.
Ich mache trotzdem Tiefensuche, ich expandiere ja immer nur den Knoten,
der bezüglich der gesamten Agenda-Sortierung der beste Knoten ist.
Und deshalb ist beides exponentiell. Und das Ziel ist diesmal dadurch beeinflusst,
dass sich die Restkostenabschätzung über die Restkostenabschätzung tatsächlich ein Teilbaum betrete,
der bezüglich des ersten Knotens
am günstigsten erscheint
Hinsichtlich der Entfernung zum Zielknoten, aber im weiteren Verlauf,
so wie wir das hier gesehen haben,
dummerweise eine Falle enthält, die es mich daran hindert,
dass sich das Optimum hier tatsächlich finden kann.
Und das Problem, und damit höre ich dann auf,
das Problem, da machen wir morgen weiter,
das Problem dieser Falle, die hier aufgebaut ist,
ist, dass die Kosten, die entstehen,
wenn ich hier mich in die Tiefe bewege,
überhaupt keine Rolle spielen.
Ich kann beliebig viel Aufwand, Suchaufwand treiben,
indem ich mich hier im Kreise drehe,
dies benachteiligt,
diese Knoten
überhaupt nicht
Und den Mangel müssen wir beseitigen. Und den Mangel beseitigt die Asternsuche,
indem sie nämlich nicht nur guckt, wie weit ist es
noch bis zum Zielknoten, sondern dass sie auch guckt,
wie viel Suchaufwand habe ich bisher eigentlich schon investiert.
Und wenn ich jetzt hier in die Kreise herumlaufe,
akkumuliert sich Suchaufwand. Je öfter ich hier rumlaufe,
umso größer, wenn die Kosten, die das hervorruft.
Und das wird dazu führen, dass diese Knoten irgendwann mal nicht mehr konkurrenzfähig sind.
Denn hier habe ich überhaupt noch keinen Aufwand investiert.
Dann werden die hier so viel Kosten aufsammeln,
dass sie irgendwann mal diese Kosten hier übersteigen.
Und dann ist der Zeitpunkt gekommen, dass dieser Weg sich wieder durchsetzen kann.
Das ist die Asternsuche und da mache ich morgen weiter.
Schönen Dank und bis morgen Nachmittag