Uninformierte und informierte Suche

Lerne, wie ein KI-Agent einen Weg zu seinem Ziel findet, wenn es viel zu viele Möglichkeiten gibt, um alle auszuprobieren. Formuliere ein Problem als Zustandsraum und vergleiche dann Breitensuche, uniforme Kostensuche, Tiefensuche und Suche mit iterativer Vertiefung anhand ihrer Garantien und ihres Aufwands. Nutze heuristische Schätzungen, um mit gieriger Bestensuche und A* gezielter zu suchen, entwickle Heuristiken, die die Optimalität von A* erhalten, und löse riesige Optimierungsprobleme mit Bergsteigen, simulierter Abkühlung und genetischen Algorithmen. Ausgearbeitete Beispiele zeigen die wichtigsten Algorithmen Schritt für Schritt auf kleinen Karten, Schiebepuzzles und n-Damen-Brettern; die anderen Verfahren werden anhand ihrer Abläufe und durch Vergleiche erklärt.

MittelEinheit 2 von 10 in Kurs: Künstliche Intelligenz – Suche, Logik, Wahrscheinlichkeit und Lernen

Was du lernst

  1. Formuliere ein Problem als Zustandsraum, den ein Algorithmus durchsuchen kann, verfolge, wie das allgemeine Suchverfahren einen Suchbaum aufbaut, und vergleiche Algorithmen anhand von Vollständigkeit, Kostenoptimalität, Zeit und Speicherbedarf.
    • Beschreibe ein Suchproblem und seinen Zustandsraum
      Benenne die Bestandteile eines Suchproblems, stelle dir seinen Zustandsraum als Graphen vor, wähle einen nützlichen Abstraktionsgrad und schätze die Größe des Zustandsraums.
    • Baue mit dem allgemeinen Suchalgorithmus einen Suchbaum auf
      Erkläre anhand von Knoten, Suchfront und Menge der erreichten Zustände, wie ein Suchalgorithmus einen Suchbaum expandiert, wiederholte Arbeit vermeidet und den Lösungspfad wiederherstellt.
    • Bewerte und vergleiche Suchalgorithmen anhand von Kennzahlen
      Beurteile beliebige Suchalgorithmen anhand von Vollständigkeit, Kostenoptimalität, Zeit und Speicherbedarf, drücke ihren Aufwand mit den Parametern b, d, m, C* und ε aus und erkenne, warum exponentielles Wachstum die uninformierte Suche begrenzt.
  2. Führe Breiten-, uniforme Kosten-, Tiefen- und iterative Suche von Hand durch, erkläre ihre jeweiligen Garantien und ihren Aufwand und wähle die passende Strategie für ein Problem.
    • Führe eine Breitensuche durch
      Durchsuche einen Zustandsraum mit einer FIFO-Warteschlange Schicht für Schicht, vollziehe den Ablauf auf einer kleinen Karte nach und gib an, wann die Suche vollständig und kostenoptimal ist.
    • Finde mit uniformer Kostensuche den kostengünstigsten Pfad
      Expandiere Knoten mit einer Prioritätswarteschlange in der Reihenfolge ihrer Pfadkosten, vollziehe den Algorithmus nach und erkläre, warum er kostenoptimal ist und welchen Aufwand er hat.
    • Spare Speicher mit Tiefensuche und Suche mit iterativer Vertiefung
      Vollziehe die Tiefensuche nach, verwende eine Tiefenbeschränkung und erkläre, wie die iterative Vertiefung den Speicherbedarf der Tiefensuche mit den Garantien der Breitensuche verbindet.
    • Vergleiche uninformierte Suchstrategien und wähle eine aus
      Vergleiche die uninformierten Strategien direkt, nimm die bidirektionale Suche hinzu und wähle eine geeignete Strategie für ein gegebenes Problem.
  3. Nutze eine heuristische Schätzung zur Steuerung der Suche, vollziehe gierige Bestensuche und A* nach, beweise, wann A* optimal ist, und verwende Varianten, die zugunsten von Geschwindigkeit oder geringerem Speicherbedarf auf Optimalität verzichten.
    • Nutze eine Heuristik bei der gierigen Bestensuche
      Definiere eine heuristische Funktion, vollziehe die gierige Bestensuche nach und erkläre, warum sie schnell ist, aber eine schlechte Lösung zurückgeben kann.
    • Finde mit der A*-Suche optimale Pfade
      Vollziehe A* mit f = g + h nach, erkläre, warum eine zulässige Heuristik die Suche kostenoptimal macht, und erkenne, wie eine bessere Heuristik die Suche beschneidet.
    • Wäge Optimalität gegen Laufzeit oder Speicherbedarf ab
      Nutze gewichtetes A*, Strahlsuche und speicherbeschränkte Versionen von A* wie IDA*, wenn einfaches A* zu langsam ist oder zu viel Speicher benötigt, und gib an, worauf jedes Verfahren verzichtet.
  4. Prüfe eine Heuristik auf Zulässigkeit und Konsistenz, leite zulässige Heuristiken aus relaxierten Problemen und Teilproblemen ab und vergleiche Heuristiken anhand von Dominanz und effektivem Verzweigungsfaktor.
    • Prüfe Heuristiken auf Zulässigkeit und Konsistenz
      Prüfe, ob eine Heuristik nie überschätzt und die Dreiecksungleichung erfüllt, und erkläre, warum beide Eigenschaften für A* wichtig sind.
    • Leite zulässige Heuristiken aus relaxierten Problemen ab
      Leite Heuristiken ab, indem du Beschränkungen eines Problems entfernst, berechne sie für das 8-Puzzle und entwickle stärkere Heuristiken aus Teilproblemen und durch Kombination.
    • Vergleiche Heuristiken anhand von Dominanz und effektivem Verzweigungsfaktor
      Entscheide anhand der Dominanz, welche von zwei Heuristiken besser ist, bewerte eine Heuristik mit dem effektiven Verzweigungsfaktor und wäge ihre Genauigkeit gegen den Berechnungsaufwand ab.
  5. Löse Optimierungsprobleme, indem du dich durch eine Landschaft vollständiger Zustände bewegst, nutze Bergsteigen und seine Varianten und entkomme lokalen Optima mit simulierter Abkühlung und populationsbasierten Verfahren.
    • Beschreibe lokale Suche und die Landschaft des Zustandsraums
      Erkläre, wann der Pfad unwichtig ist, formuliere ein Problem mit vollständigen Zuständen und beschreibe die Eigenschaften der Landschaft, die lokale Suche erschweren.
    • Gelange durch Bergsteigen zu besseren Zuständen
      Führe Bergsteigen mit steilstem Anstieg durch, erkenne, wo es stecken bleibt, und verbessere es durch Seitwärtsschritte, zufällige Entscheidungen, zufällige Neustarts und lokale Strahlsuche.
    • Entkomme lokalen Optima mit simulierter Abkühlung und genetischen Algorithmen
      Akzeptiere einige schlechtere Züge mit einer Wahrscheinlichkeit, die beim Sinken der Temperatur abnimmt, entwickle einen Abkühlungsplan und nutze Populationen mit Rekombination und Mutation.

Uninformierte und informierte Suche einfach erklärt

5 Kapitel

1

Formuliere Probleme als Suchprobleme und beurteile Suchalgorithmen

Ein Suchalgorithmus braucht eine genaue Beschreibung dessen, was geschehen kann und was als Erfolg zählt. Eine Straßenkarte und ein Schiebepuzzle sehen unterschiedlich aus, doch beide lassen sich mit Zuständen, Aktionen, Zielen und Kosten beschreiben. Die Suche baut dann Pfade durch diesen Raum auf. Die Unterscheidung zwischen einem Zustand und einem Suchknoten macht den Umgang mit Duplikaten klar; die Unterscheidung zwischen Vollständigkeit und Kostenoptimalität macht den Vergleich von Algorithmen aussagekräftig.

1.1 Beschreibe ein Suchproblem und seinen Zustandsraum

Ein Suchproblem beschreibt Wahlmöglichkeiten, bevor ein Algorithmus beginnt, Entscheidungen zu treffen. Seine Formulierung bestimmt sowohl, was eine Lösung bedeutet, als auch, wie viele Möglichkeiten der Algorithmus berücksichtigen muss.

Definiere das Problem

Es gibt sechs Bestandteile:

  • Zustände beschreiben die möglichen Situationen.
  • Der Anfangszustand ist der Ausgangspunkt der Suche.
  • Aktionen sind die in einem Zustand verfügbaren Wahlmöglichkeiten.
  • Das Übergangsmodell, ERGEBNIS(s,a), gibt den Zustand nach Aktion a an.
  • Der Zieltest erkennt einen akzeptablen Zustand.
  • Die Aktionskostenfunktion, c(s,a,s′), weist jedem Schritt Kosten zu.

Alle Aktionskosten sind hier positiv. Eine Lösung für ein Wegfindungsproblem ist eine Aktionsfolge, die zu einem Ziel führt. Addiere ihre Aktionskosten, um ihre Pfadkosten zu erhalten. Eine kostenoptimale Lösung minimiert diese Summe. Allein das Ziel zu nennen, sagt einem Agenten nicht, wie er es erreichen kann.

Formuliere das 8-Puzzle

Ein Brett enthält acht nummerierte Kacheln und ein leeres Feld. Erfasse alle neun Positionen als Zustand. Der Anfangszustand ist die vorgegebene Anordnung; das Ziel ist „1 2 3 / 4 5 6 / 7 8 leer“. Eine Aktion bewegt das leere Feld nach links, rechts, oben oder unten, sofern der Zug auf dem Brett bleibt. Der Übergang vertauscht das leere Feld mit der benachbarten Kachel, und jeder Zug kostet 1. In einer Ecke sind zwei Aktionen möglich; in der Mitte vier.

Eine Lösung ist eine Folge wie „Links, oben, rechts“, sofern diese Züge zulässig sind und zum Ziel führen. Da jeder Zug gleich viel kostet, bedeutet die Minimierung der Kosten, die Anzahl der Züge zu minimieren.

Wähle den Zustandsraum

Stelle dir Zustände als Ecken eines gerichteten Graphen und Aktionen als mit Kosten beschriftete Kanten vor. Eine Straße in beide Richtungen ergibt zwei gerichtete Kanten. Bei der Wegfindung kann ein Zustand der aktuelle Ort sein und die Kosten eines Schritts können der Straßenentfernung in Kilometern entsprechen.

Abstraktion lässt irrelevante Einzelheiten weg. Die Musik im Auto muss nicht Teil eines Routenzustands sein. Eine abstrakte Lösung muss sich weiterhin ausführen lassen. Wenn du eine Einzelheit entfernst, die bestimmt, welche Aktionen zulässig sind, veränderst du das Problem, statt nur seine Beschreibung zu vereinfachen.

Die Formulierung kann mehr Arbeit sparen als eine schnellere Warteschlange. Setzt man acht Damen auf beliebige freie Felder, ergeben sich 64×63×⋯×57≈1,8×1014 mögliche geordnete Platzierungsfolgen. Setzt man jede nächste Dame in die am weitesten links liegende freie Spalte auf ein nicht angegriffenes Feld, bleiben 2.057 erreichbare Zustände. Dies sind unterschiedliche Konstruktionen derselben Zielbedingung.

Erzeuge Möglichkeiten nach Bedarf

Das 8-Puzzle hat von einem festen Start aus 9!/2=181.440 erreichbare Zustände. Das 15-Puzzle hat 16!/2≈1,05×1013. Eine vollständige Darstellung des 8-Damen-Problems mit einer Dame pro Spalte hat 88=16.777.216 Zustände.

Solche Räume werden meist implizit vorgegeben: Die Suche erhält einen Anfangszustand und Verfahren für Aktionen und Übergänge. Sie erzeugt den relevanten Teil während ihrer Ausführung. Halte bei einem Pfadproblem die Aktionsfolge fest. Bei einem Optimierungsproblem wie der Platzierung von Damen kann die endgültige Anordnung selbst die Antwort sein.

Wichtige Erkenntnisse

  • Ein Suchproblem legt Zustände, einen Anfangszustand, Aktionen, Übergänge, einen Zieltest und Aktionskosten fest.
  • Eine Pfadlösung ist eine Aktionsfolge; ihre Kosten sind die Summe ihrer Schrittkosten.
  • Eine Abstraktion muss erhalten, dass ihre Lösungen ausführbar sind.
  • Ein impliziter Zustandsraum wird nach Bedarf aus Aktionen und Übergängen erzeugt.
  • Die Formulierung kann die Anzahl der betrachteten Zustände oder Pfade stark verringern.

1.2 Baue mit dem allgemeinen Suchalgorithmus einen Suchbaum auf

Der Zustandsraum beschreibt, was möglich ist. Der Suchbaum hält die Pfade fest, die der Algorithmus ausprobiert hat. Mehrere Knoten können denselben Zustand beschreiben, weil sie ihn über unterschiedliche Pfade erreicht haben.

Speichere einen Pfad in einem Knoten

Ein Knoten speichert einen Zustand, seinen Elternknoten, die Aktion von diesem Elternknoten aus und die Pfadkosten g(n). Auch die Tiefe kann gespeichert werden. Die Wurzel hat keinen Elternknoten und Pfadkosten von 0. Beim Expandieren eines Knotens wird jede zulässige Aktion auf seinen Zustand angewandt und seine Kindknoten werden erzeugt.

Auf einer Karte mit Straßen in beide Richtungen enden die Pfade „S, A“ und „S, B, C, A“ im selben Zustand, ergeben aber unterschiedliche Knoten. Selbst eine endliche Karte kann einen unendlichen Suchbaum erzeugen: „S, A, S, A, …“ erzeugt immer längere Pfade.

Die Suchfront, auch Randmenge genannt, enthält erzeugte Knoten, die auf ihre Expansion warten. Die Menge der erreichten Zustände erfasst erzeugte Zustände und den jeweils besten dafür gefundenen Knoten. Sie umfasst sowohl Zustände, die noch in der Suchfront liegen, als auch bereits expandierte Zustände. Eine abgeschlossene Menge oder Menge der expandierten Zustände bezeichnet meist nur expandierte Zustände.

Führe das allgemeine Bestensuchverfahren durch
  1. Lege die Wurzel in die Suchfront und die Tabelle der erreichten Zustände.
  2. Ist die Suchfront leer, gib Misserfolg zurück.
  3. Entnimm den Knoten mit dem kleinsten Bewertungswert f(n).
  4. Ist sein Zustand ein Ziel, gib diesen Knoten zurück.
  5. Expandiere ihn. Füge jeden neuen Zustand hinzu; ersetze bei einem zuvor erreichten Zustand den gespeicherten Knoten nur, wenn der neue Pfad günstiger ist.
  6. Wiederhole ab Schritt 2.

Ein günstigerer Pfad zu einem bereits expandierten Zustand kann erfordern, ihn wieder zu öffnen. Eine Rückkehr zu gleichen Kosten bringt keine Verbesserung. Bei einem Heap kann ein alter Eintrag physisch vorhanden bleiben; er muss beim Entnehmen als veraltet erkannt und übersprungen werden.

Die Regel für die Suchfront bestimmt die Strategie. Eine FIFO-Warteschlange wählt für die Breitensuche Knoten mit geringer Tiefe aus. Ein LIFO-Stapel wählt für die Tiefensuche Knoten mit großer Tiefe. Nach g, h und g+h geordnete Prioritätswarteschlangen ergeben uniforme Kostensuche, gierige Bestensuche und A*-Suche.

Verfolge die Knoten auf der Straßenkarte

Verwende diese Straßen in beide Richtungen, mit Entfernungen in Kilometern: S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 und D–G 2. Starte bei S und suche G. Löse Gleichstände alphabetisch auf.

Beim Expandieren von S entstehen A mit Kosten von 2, B mit Kosten von 3 und D mit Kosten von 9. Jeder hat S als Elternknoten. Die Suchfront enthält A, B und D; die Tabelle der erreichten Zustände enthält außerdem S. Später kann C über A zu Kosten von 6 oder über B zu Kosten von 4 erreicht werden. Das sind zwei Knoten für einen Zustand, und der günstigere sollte C repräsentieren.

Um eine Lösung wiederherzustellen, folge den Elternverweisen des zurückgegebenen Zielknotens rückwärts und kehre die Aktionen um. Würden die Kosten aktualisiert, ohne den Elternknoten zu aktualisieren, stimmte der verbleibende Pfad nicht mit seinen angegebenen Kosten überein.

Entscheide, was gespeichert wird

Die Graphensuche merkt sich erreichte Zustände, um wiederholte Arbeit zu vermeiden. Die Baumsuche hat keine globale Tabelle der erreichten Zustände; sie verwirft möglicherweise nur Zyklen auf dem aktuellen Pfad. Sie spart Speicher, kann aber denselben Zustand über viele Pfade erzeugen.

Das allgemeine Verfahren prüft Ziele beim Entnehmen. Die Breitensuche kann beim Erzeugen prüfen, weil die Erzeugung nach Tiefe geordnet erfolgt. Kostenbasierte Suche muss bis zum Entnehmen warten: Das zuerst erzeugte Ziel kann einen teureren Pfad haben als ein später gefundenes Ziel.

Wichtige Erkenntnisse

  • Ein Zustand ist eine Situation; ein Knoten repräsentiert einen Pfad zu einem Zustand.
  • Die Suchfront enthält erzeugte, nicht expandierte Knoten; die Tabelle der erreichten Zustände speichert auch expandierte Zustände.
  • Behalte einen günstigeren Pfad zu einem Zustand einschließlich des dazugehörigen Elternverweises.
  • Graphensuche spart wiederholte Arbeit; Baumsuche spart Speicher.
  • Uniforme Kostensuche und A* prüfen ein Ziel, wenn es aus der Suchfront entnommen wird.
  • Elternverweise stellen die Aktionsfolge vom zurückgegebenen Zielknoten aus wieder her.

1.3 Bewerte und vergleiche Suchalgorithmen anhand von Kennzahlen

Ein Algorithmus kann zuverlässig und dennoch zu aufwendig für die Ausführung sein. Beurteile seine Garantien getrennt von seinem Ressourcenbedarf und prüfe dann, ob diese Garantien zum tatsächlich zu lösenden Problem passen.

Stelle vier verschiedene Fragen

Vollständigkeit bedeutet, eine Lösung zu finden, wann immer eine existiert. In einem endlichen erreichbaren Raum kann das Ausschöpfen aller Möglichkeiten auch den Misserfolg nachweisen. Ein unendlicher Raum ohne Lösung kann selbst von einem vollständigen Algorithmus ewig durchsucht werden.

Kostenoptimalität bedeutet, eine Lösung mit den geringsten Pfadkosten zurückzugeben. Sie sagt nichts darüber aus, wie schnell der Algorithmus läuft. Ein Verfahren kann zuverlässig eine Lösung finden und dabei eine teure Route zurückgeben.

Die Zeitkomplexität zählt erzeugte oder expandierte Knoten. Gib beim Vergleich von Messungen an, welche Anzahl verwendet wird. Die Speicherkomplexität misst die maximale Anzahl gleichzeitig gespeicherter Knoten, einschließlich der Suchfront und gespeicherter Suchinformationen.

Bestimme die Parameter

Für einen impliziten Suchraum verwende:

SymbolBedeutung
bMaximaler Verzweigungsfaktor: Nachfolger pro Knoten
dTiefe einer Lösung mit geringster Tiefe
mMaximale Pfadtiefe, möglicherweise unendlich
C∗Kosten einer optimalen Lösung
ϵPositive untere Schranke der Aktionskosten

Bei einem bereits explizit im Speicher vorliegenden Graphen sind die Anzahlen der Ecken und Kanten meist nützlicher. Eine Durchlaufschranke in ∣V∣ und ∣E∣ beantwortet eine andere Frage als eine Schranke für das Erzeugen eines noch nicht bekannten Baums.

Erkenne, warum Tiefe aufwendig ist

Ein vollständiger Baum bis zur Tiefe d enthält

1+b+b2+⋯+bd=bd+1−1b−1

Knoten für b≠1. Bei Verzweigungsfaktor 10 und Tiefe 5 sind das 111.111 Knoten einschließlich der Wurzel. Eine Erhöhung der Tiefe um eins fügt eine Schicht mit zehnmal so vielen Knoten wie in der vorherigen Schicht hinzu.

Bei einer Million Knoten pro Sekunde und 1 Kilobyte pro Knoten ändern sich die Größenordnungen schnell:

TiefeUngefähre KnotenzahlZeitSpeicher
61,1 Millionen1 Sekunde1,1 GB
8111 Millionen2 Minuten111 GB
1011 Milliarden3 Stunden11 TB
121,1 Billionen13 Tage1,1 PB

Dies sind dezimale Speichereinheiten: 1 GB sind 109 Byte. Der Speicherbedarf kann eine Suche ausschließen, lange bevor ihre Laufzeit unangemessen erscheint.

Lies Garantien zusammen mit ihren Bedingungen

Die Breitensuche erreicht bei endlichem Verzweigungsfaktor schließlich jede endliche Tiefe. Die Tiefensuche kann ewig auf einem unendlichen Zweig bleiben und ein nahe gelegenes Ziel nie ausprobieren. Dieser Unterschied erklärt ihre Ergebnisse zur Vollständigkeit.

Die Breitensuche findet einen Pfad mit den wenigsten Aktionen. Kostet eine Route mit zwei Schritten 11 km und eine Route mit drei Schritten 9 km, ist die Route mit geringerer Tiefe nicht kostenoptimal. Gleiche Schrittkosten lassen Tiefe und Kosten übereinstimmen; unterschiedliche Kosten können sie auseinanderfallen lassen.

Eine O-Schranke für den schlechtesten Fall sagt nicht jeden Ablauf voraus. Zwei Verfahren mit derselben Schranke können sich in Konstanten, im Umgang mit Duplikaten und in der Anzahl nützlicher Zweige unterscheiden. Eine Heuristik kann einen typischen Ablauf stark verbessern, ohne den exponentiellen schlechtesten Fall zu beseitigen.

Wichtige Erkenntnisse

  • Vollständigkeit betrifft das Finden einer Lösung; Kostenoptimalität betrifft die Kosten der zurückgegebenen Lösung.
  • Ein unendlicher Raum ohne Lösung muss nicht zu einer abschließenden Misserfolgsmeldung führen.
  • Verzweigungsfaktor und Tiefe erklären das exponentielle Wachstum impliziter Suchbäume.
  • Miss neben der Knotenzahl auch den maximalen Speicherbedarf; der Speicher setzt oft zuerst eine Schranke.
2

Suche ohne Fachwissen über das Problemgebiet

Ohne Heuristik muss eine Suche anhand der Tiefe oder der bereits angefallenen Kosten auswählen, was sie untersucht. Eine Warteschlange, ein Stapel und eine nach Kosten geordnete Prioritätswarteschlange können daher auf derselben Karte sehr unterschiedliche Routen ergeben. Vollziehe die Änderungen der Suchfront nach, um zu erkennen, warum sich ihre Garantien unterscheiden. Iterative Vertiefung spart Speicher, indem sie Arbeit in geringer Tiefe wiederholt, während bidirektionale Suche die Tiefe verringern kann, wenn das Ziel und umgekehrte Aktionen verfügbar sind.

2.1 Führe eine Breitensuche durch

Die Breitensuche untersucht den Raum in Schichten. Als Nächstes expandiert sie den noch wartenden Knoten mit der geringsten Tiefe, sodass jeder Pfad mit einer Aktion betrachtet wird, bevor ein Pfad mit zwei Aktionen expandiert wird.

Halte die Warteschlange in Ordnung

Die Suchfront arbeitet nach dem FIFO-Prinzip: Entnimm vorne und füge Kindknoten hinten an. Erfasse Zustände, wenn sie erzeugt werden. Wurde der Zustand eines Kindknotens bereits erreicht, überspringe ihn; andernfalls könnten zwei verschiedene Elternknoten denselben Zustand in die Warteschlange aufnehmen.

Prüfe den Anfangszustand vor der Suche. Für spätere Knoten kann die Breitensuche einen frühen Zieltest beim Erzeugen anwenden. Das erste erzeugte Ziel hat minimale Tiefe, weil der Algorithmus Kindknoten Schicht für Schicht erzeugt. Die Reihenfolge innerhalb einer Schicht kann zwischen Lösungen gleicher Tiefe entscheiden, aber keine tiefere Lösung zuerst erscheinen lassen.

Vollziehe den Ablauf auf der Beispielkarte nach

Die Straßen in beide Richtungen sind S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 und D–G 2 km. Starte bei S, suche G und erzeuge Nachbarn alphabetisch. In der Tabelle steht der als Nächstes zu entnehmende Knoten links.

Expandierter KnotenNeu erreichte ZuständeWarteschlange danach
SA, B, DA, B, D
ACB, D, C
BKeineD, C
DG, das den Zieltest bestehtSuche stoppt

Wenn B expandiert wird, sind C und D bereits erreicht. Sie wechseln nicht auf neue Positionen in der Warteschlange. Wenn D den Knoten G erzeugt, lautet dessen Elternkette G–D–S. Kehre sie um, um S–D–G mit zwei Straßen und einer Gesamtentfernung von 9+2=11 km zu erhalten.

C wurde bereits erzeugt, aber noch nicht expandiert. Seine Route zu G hätte drei Straßen. Die Breitensuche kann anhalten, ohne sie zu untersuchen, weil drei Straßen die Anzahl der Aktionen einer Lösung mit zwei Straßen nicht verbessern können.

Erkenne, was das Ergebnis minimiert

Die Breitensuche ist bei endlichem Verzweigungsfaktor vollständig, selbst wenn der Raum unendlich ist: Jede endliche Schicht wird vor der nächsten bearbeitet. Sie ist kostenoptimal, wenn alle Aktionen gleich viel kosten. Bei einem Schiebepuzzle mit Kosten von 1 pro Zug ist eine Lösung mit geringster Tiefe auch eine günstigste Lösung.

Auf dieser Straßenkarte kostet S–B–C–G 3+1+5=9 km. Die Breitensuche gibt die 11 km lange Route zurück, weil die Entfernung nicht ihre Ordnungsregel ist. „Kürzester Pfad“ braucht daher eine Einheit: Die wenigsten Straßen und die wenigsten Kilometer sind unterschiedliche Ziele.

Berücksichtige den Speicherbedarf

Mit frühem Zieltest benötigt die Breitensuche O(bd) Zeit und Speicher. Sie kann nahezu jeden Knoten bis zur Zieltiefe erzeugen und die Suchfront sowie Informationen über erreichte Zustände speichern. Werden Ziele erst beim Entnehmen geprüft, kann das Expandieren anderer Knoten in Tiefe d die Tiefe d+1 erzeugen. Daraus ergibt sich für diese Version die übliche Schranke O(bd+1).

Bei Verzweigungsfaktor 10 und 1 Kilobyte pro Knoten benötigt die Speicherung eines Baums bis Tiefe 10 etwa 11 TB. Die Breitensuche ist für Probleme mit geringer Tiefe und gleichen Kosten nützlich, wenn genügend Speicher verfügbar ist, etwa für Netzwerkpfade mit den wenigsten Zwischenstationen oder Puzzles mit den wenigsten Zügen. Eine FIFO-Warteschlange nutzt die numerischen Kantenkosten nicht, selbst wenn sie am Graphen stehen.

Wichtige Erkenntnisse

  • Die Breitensuche expandiert mithilfe einer FIFO-Warteschlange den Knoten mit der geringsten Tiefe.
  • Erfasse erreichte Zustände beim Erzeugen, um doppelte Warteschlangeneinträge zu vermeiden.
  • Das erste erzeugte Ziel hat die wenigsten Aktionen.
  • Gleiche Aktionskosten machen die Breitensuche kostenoptimal.
  • Mit frühem Zieltest betragen Zeit- und Speicherkomplexität O(bd).

2.2 Finde mit uniformer Kostensuche den kostengünstigsten Pfad

Die uniforme Kostensuche ordnet Pfade nach den bereits angefallenen Kosten. Sie kann ein nahe gelegenes, aber teures Ziel übergehen, während sie längere Routen aus günstigen Schritten untersucht.

Entnimm den günstigsten Pfad

Setze f(n)=g(n) und verwende eine Prioritätswarteschlange. Findet eine Expansion einen günstigeren Pfad zu einem erreichten Zustand, aktualisiere sowohl seine Kosten als auch seinen Elternknoten. Ein Pfad mit gleichen Kosten verbessert den Eintrag nicht. Die uniforme Kostensuche ist die Suchform des Dijkstra-Algorithmus und hält an, wenn sie ein Ziel entnimmt.

Der späte Zieltest ist entscheidend. Das Erzeugen eines Ziels beweist, dass eine Route existiert. Wird dieses Ziel als günstigster Knoten der Suchfront entnommen, beweist das bei positiven Aktionskosten, dass keine noch unvollständige günstigere Route es übertreffen kann.

Vollziehe den Ablauf auf der Beispielkarte nach

Verwende die Straßen in beide Richtungen S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 und D–G 2 km. Löse Kostengleichstände alphabetisch auf. Die folgenden Einträge der Suchfront zeigen Zustand und Pfadkosten.

Entnommener KnotenAktualisierungSuchfront danach
S, 0Erreiche A, B, DA 2; B 3; D 9
A, 2Erreiche C über AB 3; C 6; D 9
B, 3Verbessere C über BC 4; D 9
C, 4Erreiche GD 9; G 9
D, 9G über D kostet 11; behalte 9G 9
G, 9Zieltest erfolgreichRückgabe

Das Ersetzen von C ist entscheidend: 3+1=4 ist besser als 2+4=6. Der Elternknoten von G ist C, der von C ist B und der von B ist S. Die zurückgegebene Route S–B–C–G kostet 9 km. D wird nur wegen der alphabetischen Gleichstandsregel vor G entnommen.

Würde eine direkte Straße S–G von 12 km hinzugefügt, erzeugte S sofort ein Ziel. Ein früher Test gäbe 12 km zurück, bevor die 9 km lange Route entdeckt wird. Die Prioritätswarteschlange kann die Optimalität nicht schützen, wenn die Abbruchregel sie umgeht.

Erkläre die Garantie

Bei endlichem Verzweigungsfaktor und Aktionskosten von mindestens einem bestimmten ϵ>0 passen nur endlich viele Pfadschritte unter eine feste Kostenschranke. Die uniforme Kostensuche entnimmt daher schließlich ein Ziel, wann immer eines existiert. Positive Kosten stellen sicher, dass das Erweitern eines Pfads ihn nicht günstiger machen kann, was den Optimalitätsbeweis stützt.

Bei Kosten von null ist Vorsicht nötig. Baumsuche kann immer wieder einen Zyklus ohne Kosten durchlaufen. Graphensuche verwirft Rückkehrschritte zum selben Zustand bei gleichen Kosten, aber eine unendliche Kette verschiedener Zustände mit beschränkten Gesamtkosten kann ein Ziel dennoch ewig verzögern. Negative Schrittkosten entkräften das übliche Optimalitätsargument der uniformen Kostensuche.

Verstehe den Aufwand

Die übliche Schranke für Zeit und Speicher im schlechtesten Fall ist O(b1+⌊C∗/ϵ⌋). Auf dieser Karte gilt C∗=9 und ϵ=1, was O(b10) ergibt. Dies ist eine grobe Schranke, nicht die tatsächliche Anzahl der auf der Karte mit sechs Zuständen expandierten Knoten.

Viele günstige Pfade in Sackgassen können die uniforme Kostensuche zu erheblicher Arbeit zwingen, bevor sie eine teure nützliche Aktion ausführt. Wenn alle Schrittkosten gleich sind, ergibt ihr später Zieltest die bekannte Schranke O(bd+1). A* mit h=0 führt genau dieselben Prioritätsvergleiche wie die uniforme Kostensuche durch.

Wichtige Erkenntnisse

  • Die uniforme Kostensuche ordnet die Suchfront nach den aufsummierten Pfadkosten g.
  • Gib ein Ziel beim Entnehmen zurück, wenn es der günstigste noch ausstehende Pfad ist.
  • Ersetze eine teurere Route zu einem erreichten Zustand einschließlich ihres Elternknotens.
  • Ein endlicher Verzweigungsfaktor und eine positive untere Schranke der Schrittkosten ergeben Vollständigkeit.
  • Die uniforme Kostensuche ist im Modell mit positiven Kosten kostenoptimal.

2.3 Spare Speicher mit Tiefensuche und Suche mit iterativer Vertiefung

Die Tiefensuche folgt einem Zweig, bevor sie dessen Alternativen ausprobiert. Das kann den Speicherbedarf stark verringern, doch ein ungünstig gewählter Zweig kann alle anderen Möglichkeiten verzögern.

Folge einem tiefen Zweig

Die Tiefensuche verwendet einen Stapel nach dem LIFO-Prinzip. Verwirf in einer baumartigen Version Zustände, die bereits auf dem aktuellen Pfad liegen, um unmittelbare Zyklen zu vermeiden. Speichere den aktuellen Pfad und die noch nicht expandierten Geschwisterknoten entlang dieses Pfads. Um Nachfolger mit einem Stapel alphabetisch auszuprobieren, lege sie in umgekehrter alphabetischer Reihenfolge auf den Stapel.

Starte auf der Karte mit Straßen in beide Richtungen S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 und D–G 2 km bei S und suche G. Wenn Nachbarn alphabetisch ausprobiert und Ziele beim Entnehmen geprüft werden, ergibt sich S, A, C, B, D, G. Bei C ist B der erste Nachbar, der noch nicht auf dem Pfad liegt. Die zurückgegebene Route S–A–C–B–D–G kostet 2+4+1+6+2=15 km.

Die Tiefensuche ist nicht kostenoptimal. In einem endlichen Raum mit Zyklusprüfung entlang des Pfads ist sie vollständig, kann aber einem unendlichen Zweig ewig folgen. Ihre Zeitkomplexität im schlechtesten Fall beträgt O(bm), und die gespeicherten Pfade und Geschwisterknoten benötigen O(bm) Speicher. Backtracking, das jeweils einen Kindknoten erzeugt, verringert den Speicherbedarf auf O(m). Bei Verzweigungsfaktor 10 und maximaler Tiefe 12 umfasst die Speicherung von Pfad und Geschwisterknoten etwa 120 Knoten, gegenüber ungefähr einer Billion bei der Breitensuche bis Tiefe 12. Eine globale Tabelle der erreichten Zustände benötigte zusätzlichen Speicher.

Beschränke die Tiefe

Die tiefenbeschränkte Suche beendet die Expansion bei Tiefe ℓ. Ein Ziel dort kann weiterhin erkannt werden. Sie unterscheidet drei Ergebnisse:

  • Eine Lösung wurde gefunden.
  • Abbruch wegen Tiefenbeschränkung: Die Tiefenschranke verhinderte eine vollständige Suche.
  • Misserfolg: Die relevanten Möglichkeiten wurden ohne Ziel oder Abbruch wegen Tiefenbeschränkung ausgeschöpft.

Ein Abbruch wegen Tiefenbeschränkung beweist nicht, dass keine Lösung existiert. Liegt das Ziel mit der geringsten Tiefe in Tiefe 7, kann eine Beschränkung auf 5 es nicht erreichen. Zeit- und Speicherkomplexität im schlechtesten Fall betragen O(bℓ) und O(bℓ).

Erhöhe die Beschränkung schrittweise

Die Suche mit iterativer Vertiefung führt tiefenbeschränkte Suchen mit den Beschränkungen 0, 1, 2 und so weiter durch. Sie findet eine Lösung mit geringster Tiefe, ohne eine Suchfront wie bei der Breitensuche zu speichern. Bei endlichem Verzweigungsfaktor ist sie vollständig; bei gleichen Aktionskosten ist sie kostenoptimal. Die Zeitkomplexität beträgt O(bd) und die Speicherkomplexität O(bd).

Die meisten Knoten eines breiten Baums liegen in der letzten Schicht, sodass das Wiederholen der oberen Schichten oft wenig Aufwand verursacht. Zähle für b=10 und d=5 die erzeugten Knoten unterhalb der Wurzel:

5(10)+4(100)+3(1.000)+2(10.000)+100.000=123.450.

Die Breitensuche erzeugt bis Tiefe 5 insgesamt 111.110 solcher Knoten. Die Suche mit iterativer Vertiefung erzeugt etwa 11 % mehr Knoten und benötigt dabei nur den Speicher einer Tiefensuche. Die wiederholten Besuche der Wurzel sind in diesen beiden Zählungen nicht enthalten.

Bei Verzweigungsfaktoren größer als 1 nähert sich der Mehraufwand im breiten Baum dem Faktor b/(b−1) an. Dieser Vorteil ist bei einer schmalen Kette geringer, wo wiederholte Anfangsabschnitte überwiegen. Die Suche mit iterativer Vertiefung ist eine nützliche uninformierte Wahl, wenn die Lösungstiefe unbekannt ist und eine vollständige Suchfront nicht in den Speicher passt. In Räumen mit vielen Wegen zum selben Zustand kann das Fehlen einer globalen Menge der erreichten Zustände zu erheblicher wiederholter Erzeugung führen.

Wichtige Erkenntnisse

  • Die Tiefensuche benötigt wenig Speicher für Pfade, kann aber auf einem unendlichen Zweig ein Ziel für immer verfehlen.
  • Zyklusprüfungen entlang des Pfads verhindern die Rückkehr zu Vorgängern, ohne eine globale Tabelle der erreichten Zustände zu benötigen.
  • Ein Abbruch wegen Tiefenbeschränkung bedeutet, dass die Beschränkung eine weitere Suche verhindert hat, nicht dass das Problem keine Lösung hat.
  • Die Suche mit iterativer Vertiefung erhöht die Tiefenbeschränkung, bis eine Lösung mit geringster Tiefe gefunden wird.
  • Die Suche mit iterativer Vertiefung ist bei endlichem Verzweigungsfaktor vollständig und bei gleichen Schrittkosten kostenoptimal.
  • Die Suche mit iterativer Vertiefung tauscht wiederholtes Erzeugen gegen einen Speicherbedarf von O(bd) ein.

2.4 Vergleiche uninformierte Suchstrategien und wähle eine aus

Eine nützliche Strategie passt zum benötigten Ergebnis und zu den verfügbaren Ressourcen. Die uninformierte Suche nutzt die Problemdefinition ohne eine Schätzung der verbleibenden Entfernung. Sie kann trotzdem systematisch und sorgfältig geordnet vorgehen.

Vergleiche unter gleichen Bedingungen

Nimm einen endlichen Verzweigungsfaktor und die Bedingungen positiver Kosten für die uniforme Kostensuche an. Die Zeile zur Breitensuche verwendet einen frühen Zieltest; die Zeile zur Tiefensuche verwendet Zyklusprüfungen entlang des Pfads und keine globale Tabelle der erreichten Zustände.

StrategieVollständig?Kostenoptimal?ZeitSpeicher
BreitensucheJaBei gleichen SchrittkostenO(bd)O(bd)
Uniforme KostensucheJa, bei Kosten mit positiver unterer Schranke ϵJaO(b1+⌊C∗/ϵ⌋)Wie die Zeitkomplexität
TiefensucheIn endlichen RäumenNeinO(bm)O(bm)
Tiefenbeschränkte SucheWenn die Beschränkung eine Zieltiefe erreichtNeinO(bℓ)O(bℓ)
Suche mit iterativer VertiefungJaBei gleichen SchrittkostenO(bd)O(bd)

Breitensuche und Suche mit iterativer Vertiefung minimieren die Kosten auch dann, wenn die Kosten allein eine monoton nicht fallende Funktion der Tiefe sind. Das Wort „allein“ ist wichtig: Für diese allgemeinere Bedingung müssen alle Pfade einer bestimmten Tiefe dieselben Kosten haben. Positive Kantenkosten allein machen die Breitensuche nicht kostenoptimal.

Suche von beiden Enden

Die bidirektionale Suche arbeitet vorwärts vom Start und rückwärts vom Ziel. Treffen sich die Suchen nahe der Mitte, erreicht jede ungefähr die Tiefe d/2. Der Aufwand beträgt dann ungefähr 2bd/2 statt bd. Bei Verzweigungsfaktor 10 und Lösungstiefe 6 ergibt der Vergleich der jeweils größten Schicht etwa 2.000 gegenüber 1.000.000 Knoten.

Dafür braucht sie einen expliziten Zielzustand und eine Möglichkeit, Vorgänger zu erzeugen. Umkehrbare Straßen in beide Richtungen erleichtern die Rückwärtsexpansion. Eine Zieleigenschaft wie „Alle Damen sind sicher“ kann zu viele Zielzustände beschreiben, um einen geeigneten rückwärtigen Ausgangspunkt zu bieten.

Bei Breiten- oder kostenbasierten Suchen können geeignete Regeln für das Zusammentreffen und Beenden Vollständigkeit und Optimalität erhalten. Halte auf einer gewichteten Karte erst an, wenn keine günstigere Verbindung mehr möglich ist. Die erste Überschneidung der beiden Suchen muss nicht die günstigste Verbindung sein.

Wähle passend zum Problem

Für die wenigsten Züge in einem kleinen Schiebepuzzle ist bei gleichen Zugkosten die Breitensuche geeignet, wenn reichlich Speicher vorhanden ist. Für die kürzeste Reiseentfernung bei unterschiedlichen Straßenlängen und ohne Heuristik wähle die uniforme Kostensuche. Bei einem riesigen Puzzle mit gleichen Kosten und unbekannter Lösungstiefe vermeidet die Suche mit iterativer Vertiefung eine riesige Suchfront. In einem endlichen Raum mit vielen tief liegenden Zielen, bei dem jede Lösung genügt, kann die Tiefensuche praktisch sein. Sind Start und Ziel bekannt und die Aktionen umkehrbar, lohnt es sich, bidirektionale Suche zu erwägen.

Beim Speicherbedarf muss berücksichtigt werden, was die gewählte Version speichert. Eine Tiefensuche mit globaler Tabelle der erreichten Zustände hat nicht mehr dasselbe Speicherprofil wie baumartige Tiefensuche. Der Ablauf einer Breitensuche mit spätem Zieltest sollte nicht mit einer Komplexitätsschranke für den frühen Zieltest verglichen werden, als wären die Versionen identisch.

Selbst die beste uninformierte Wahl kann auf exponentielles Wachstum stoßen. Sind nützliche Kenntnisse über das Problemgebiet verfügbar, kann eine Heuristik unnötige Exploration verringern. Wenn nur eine endgültige Konfiguration zählt, kann lokale Suche auf die Speicherung eines Suchbaums verzichten.

Wichtige Erkenntnisse

  • Wähle eine Strategie anhand des gewünschten Ziels, der Kostenstruktur, des Speichers und der Lösungstiefe.
  • Bidirektionale Suche braucht ein Ziel als Ausgangspunkt und eine Möglichkeit, Vorgänger zu erzeugen.
  • Ein frühes Zusammentreffen ist keine sichere Abbruchregel bei einer Suche mit unterschiedlichen Kosten.
  • Bei gleichen Aktionskosten stimmen der Pfad mit den wenigsten Aktionen und der günstigste Pfad überein.
3

Suche mit Heuristiken: gierige Bestensuche und A*

Eine Heuristik schätzt den noch nötigen Aufwand, um ein Ziel zu erreichen. Die gierige Suche folgt dieser Schätzung direkt; A* kombiniert sie mit den bereits angefallenen Kosten. Ein Vergleich ihrer Abläufe zeigt, warum Orientierung Expansionen sparen kann und warum eine falsche Schätzung eine günstige Route verbergen kann. Wenn gewöhnliches A* zu viel Zeit oder Speicher benötigt, wägen seine Varianten Lösungsqualität, Speicherbedarf und wiederholte Arbeit unterschiedlich gegeneinander ab.

3.1 Nutze eine Heuristik bei der gierigen Bestensuche

Eine Heuristik weist einem Zustand eine Schätzung der geringsten verbleibenden Kosten bis zu einem Ziel zu. Schreibe sie als h(n) für den Zustand im Knoten n. Sie hängt vom Zustand ab, nicht vom Pfad, auf dem er erreicht wurde, und ist an einem Ziel null.

Schätze den verbleibenden Aufwand

Die Luftlinienentfernung schätzt die verbleibende Straßenentfernung. In einem Gitter mit horizontalen und vertikalen Zügen der Länge eins addiert die Manhattan-Distanz die Koordinatendifferenzen:

h=∣x1−x2∣+∣y1−y2∣.

Von Zelle (1, 1) zu (4, 5) ergibt das 3+4=7 Züge. Die Luftlinienentfernung zwischen denselben Koordinaten beträgt 32+42=5. Die Schätzungen beantworten unterschiedliche Fragen zu relaxierten Bewegungsmöglichkeiten. Eine Heuristik muss zu den Einheiten der Kosten passen, die sie schätzt; Kilometer schätzen ohne ein geeignetes Umrechnungsmodell nicht unmittelbar die Reisezeit.

Informierte Suche nutzt eine Schätzung, um die Expansion zu steuern. Die Schätzung muss dem Algorithmus nicht sagen, welche Aktion er ausführen soll. Sie bewertet die Zustände, die durch die zulässigen Aktionen entstehen, und die Regel für die Suchfront entscheidet, welcher ausstehende Pfad als Nächstes untersucht wird.

Folge der kleinsten Schätzung

Die gierige Bestensuche setzt f(n)=h(n). Ihre Prioritätswarteschlange entnimmt den Zustand, der dem Ziel am nächsten zu liegen scheint, und ignoriert die bereits angefallenen Kosten.

Verwende die Straßen in beide Richtungen S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 und D–G 2 km. Die heuristischen Schätzungen bis G betragen für S 8, A 7, B 5, C 4, D 2 und G 0 km.

  1. Expandiere S. Die Suchfront enthält A mit Schätzung 7, B mit 5 und D mit 2.
  2. Entnimm D, weil 2 am kleinsten ist. Beim Expandieren von D entsteht G mit Schätzung 0. Die Pfadkosten bis G betragen 9+2=11 km.
  3. Entnimm G und gib S–D–G zurück.

Nur S und D wurden expandiert. Die 9 km lange Route S–B–C–G war verfügbar, aber die Schätzung 5 für B sah schlechter aus als die 2 für D. Die gierige Suche bezog die bereits bis D zurückgelegten 9 km nie in ihren Vergleich ein.

Unterscheide Orientierung und Garantien

Selbst eine Heuristik, die nie überschätzt, macht die gierige Suche nicht kostenoptimal. Die Schätzungen im Beispiel sind zulässig, dennoch ist die zurückgegebene Route zu teuer. Die gierige Suche nutzt nur die verbleibende Schätzung und kann daher zu viel bezahlen, bevor sie einen vielversprechenden Zustand erreicht.

Graphensuche ist in einem endlichen Zustandsraum vollständig, wenn sie Duplikate richtig behandelt. Baumartige gierige Suche kann bei attraktiv erscheinenden wiederholten Zuständen in eine Schleife geraten, und ein unendlicher Raum kann immer wieder irreführende niedrige Schätzungen bieten. Zeit- und Speicherkomplexität im schlechtesten Fall betragen O(bm), obwohl eine nützliche Schätzung einen tatsächlichen Ablauf kurz halten kann.

Ein Ort kann in Luftlinie nahe an einem Ziel liegen, aber einen langen Umweg um einen Fluss erfordern. Kleine heuristische Werte garantieren keine guten Gesamtrouten. Auch die Berechnung der Heuristik benötigt Zeit: Weniger Expansionen helfen nur, wenn die Berechnung der Schätzungen die Einsparung nicht aufzehrt.

Wichtige Erkenntnisse

  • Eine Heuristik schätzt verbleibende Kosten und hängt vom Zustand ab.
  • Die gierige Bestensuche ordnet nach h und ignoriert die bisher angefallenen Kosten.
  • Selbst eine zulässige Heuristik macht die gierige Suche nicht kostenoptimal.
  • Graphensuche in endlichen Räumen behandelt Duplikate; baumartige gierige Suche kann in eine Schleife geraten.

3.2 Finde mit der A*-Suche optimale Pfade

A* bewertet die gesamte vorgeschlagene Reise: die bereits angefallenen Kosten plus eine Schätzung der verbleibenden Kosten. Seine Priorität ist

f(n)=g(n)+h(n).

Verwende eine Prioritätswarteschlange, ersetze teurere Pfade und prüfe ein Ziel beim Entnehmen. An einem Ziel gilt h=0, sodass seine Priorität seinen tatsächlichen Pfadkosten entspricht.

Vollziehe die Regel aus Kosten und Schätzung nach

Die Straßen in beide Richtungen sind S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 und D–G 2 km. Die heuristischen Schätzungen bis G sind S 8, A 7, B 5, C 4, D 2 und G 0. Löse Gleichstände alphabetisch auf.

Entnommener KnotenWas sich ändert
S, f=8Füge B mit 3+5=8, A mit 2+7=9 und D mit 9+2=11 hinzu
B, f=8Füge C mit 4+4=8 hinzu; D über B ist nicht günstiger
C, f=8Füge G mit 9+0=9 hinzu
A, f=9C über A kostet 6 und ist damit schlechter als die gespeicherte 4
G, f=9Gib S–B–C–G mit Kosten von 9 km zurück

A wird wegen der Gleichstandsregel vor G entnommen. A* expandiert vier Nichtzielknoten und nie D. Die uniforme Kostensuche auf derselben Karte expandiert auch D. Setzte man alle heuristischen Schätzungen auf null, entfiele diese Orientierung und man erhielte die uniforme Kostensuche.

Erkläre, warum eine optimistische Schätzung funktioniert

Eine zulässige Heuristik übersteigt nie die tatsächlichen Restkosten h∗(n). Für A* mit Wiederöffnen garantiert Zulässigkeit Kostenoptimalität; baumartiges A* hat unter den Suchbedingungen mit positiven Kosten dieselbe Garantie.

Angenommen, ein schlechteres Ziel mit Kosten C>C∗ stünde kurz vor der Entnahme. Ein Knoten auf einem optimalen Pfad muss noch ausstehen. Für seinen Anfangsabschnitt auf dem optimalen Pfad gilt:

f(n)=g(n)+h(n)≤g(n)+h∗(n)=C∗<C.

Die Warteschlange muss diesen Knoten vor dem schlechteren Ziel auswählen. Das widerspricht dem angenommenen Abbruchzeitpunkt. Das Wiederöffnen ist wichtig, weil ein später entdeckter günstigerer Anfangsabschnitt durch einen bereits expandierten Zustand weiterverfolgt werden können muss.

Eine konsistente Heuristik sorgt dafür, dass f entlang von Pfaden monoton nicht fällt. Sie stellt sicher, dass bei der ersten Expansion eines Zustands ein günstigster Pfad dorthin verwendet wird. A* kann expandierte Zustände dann dauerhaft abschließen. Bei bloßer Zulässigkeit kann eine dauerhafte abgeschlossene Menge eine entscheidende Verbesserung verwerfen.

Verstehe die Beschneidung und ihre Grenzen

Bei Konsistenz expandiert A* jeden relevanten Knoten, für den f<C∗ gilt, möglicherweise Knoten mit dem gleichen Wert C∗ und vor der Rückgabe keine oberhalb dieses Werts. Die Priorität 11 von D übersteigt die Lösungskosten 9, sodass D nicht expandiert wird. In der Klasse vorwärts Pfade aufbauender Algorithmen, die dieselbe heuristische Information nutzen, ist A* abgesehen von Gleichständen optimal effizient. Dies ist ein Vergleich notwendiger Expansionen und keine Aussage, dass sein Programmcode immer am schnellsten läuft.

Überschätzung kann das Argument entkräften. Ändere die Schätzung für B auf 9, obwohl seine tatsächlichen Restkosten 6 betragen. B hat nun Priorität 12. A* folgt S, A, C und D und gibt S–A–C–G zu Kosten von 11 zurück, während B noch wartet.

A* hat weiterhin einen exponentiellen schlechtesten Fall und speichert erzeugte Suchinformationen.

Wichtige Erkenntnisse

  • A* ordnet Pfade nach g+h und prüft Ziele beim Entnehmen.
  • Zulässigkeit garantiert Kostenoptimalität für A*, das verbesserte Zustände wiederöffnet.
  • Konsistenz erlaubt das dauerhafte Abschließen nach der ersten Expansion eines Zustands.
  • Überschätzung kann die optimale Route verzögern, bis ein schlechteres Ziel zurückgegeben wurde.
  • Gleichstände bei den optimalen Kosten können die Anzahl der Expansionen beeinflussen.
  • A* mit einer Heuristik von null ist uniforme Kostensuche; gewöhnliches A* kann erheblichen Speicher benötigen.

3.3 Wäge Optimalität gegen Laufzeit oder Speicherbedarf ab

Wenn die Suchfront nicht mehr in den Speicher passt oder eine Antwort zu langsam eintrifft, wähle, welche Ressource oder Garantie du eintauschen möchtest. Auf Geschwindigkeit ausgelegte Varianten ändern Prioritäten oder verwerfen Kandidaten. Auf Speicherersparnis ausgelegte Varianten erzeugen Pfade erneut, die sie nicht speichern konnten.

Gewichte die Schätzung stärker

Gewichtetes A* verwendet f=g+Wh mit W>1. Es bevorzugt normalerweise stärker den Fortschritt in Richtung eines Ziels. Mit einer zulässigen Heuristik sowie den Aktualisierungen bei besseren Pfaden und dem Wiederöffnen des allgemeinen Verfahrens betragen die zurückgegebenen Kosten höchstens WC∗. Diese Schranke erlaubt eine schlechtere Lösung, verlangt sie aber nicht.

Verwende auf der Straßenkarte aus den Beispielen die Schätzungen S 8, A 7, B 5, C 4, D 2 und G 0 sowie das Gewicht 2. Von S aus sind die Prioritäten B 13, D 13 und A 16. Bei alphabetischer Auflösung des Gleichstands wird B gewählt. Sein Kindknoten C hat 4+2(4)=12; C erzeugt dann G mit Priorität 9. Die Route mit Kosten von 9 wird nach drei Expansionen von Nichtzielknoten zurückgegeben. Die Garantie erlaubt bis zu 18 km, obwohl dieser Durchlauf das Optimum findet.

In derselben Formel ergibt Gewicht 0 die uniforme Kostensuche und Gewicht 1 A*. Mit wachsendem Gewicht dominiert die Schätzung die Vergleiche zunehmend und das Verhalten nähert sich der gierigen Suche an.

Die Strahlsuche behält nur die besten k ausstehenden Knoten und verwirft den Rest. Die gespeicherte Suchfront ist beschränkt, aber ein verworfener Kandidat kann die einzige Lösung enthalten. Daher gibt das Verfahren weder eine Vollständigkeits- noch eine Optimalitätsgarantie.

Vertiefe anhand eines Schwellenwerts für geschätzte Kosten

IDA* führt eine Tiefensuche mit einem Schwellenwert für f=g+h durch. Der erste Schwellenwert ist der Wert der Wurzel. Beschneide jeden Knoten oberhalb des Schwellenwerts und halte den kleinsten überschrittenen Wert fest. Dieser wird zum nächsten Schwellenwert; er ist nicht unbedingt der alte Schwellenwert plus 1. Verwende Zyklusprüfungen entlang des Pfads.

Für die Beispielkarte beträgt der erste Schwellenwert 8. A bei 9 und D bei 11 werden beschnitten; B und C bei 8 werden untersucht, aber G bei 9 wird beschnitten. Der nächste Schwellenwert ist 9. In dieser Iteration erzeugt der Pfad über A den Knoten C bei 10 und wird beschnitten. Der Pfad S–B–C–G bleibt innerhalb von 9 und führt zum Erfolg.

Bei Zulässigkeit erhält IDA* die Kostenoptimalität und benötigt nur Speicher für einen Pfad wie bei der Tiefensuche. Die wiederholten Durchläufe können aufwendig sein, wenn die Kosten viele verschiedene Schwellenwerte ergeben. Kleine ganzzahlige Kosten machen die Anzahl der Schwellenwerte oft besser beherrschbar.

Nutze beschränkten Speicher gezielter

Die rekursive Bestensuche (RBFS) speichert auf jeder Ebene die beste alternative Priorität. Sie folgt dem vielversprechendsten Zweig, bis diese Alternative besser wird, und geht dann zurück. Sie benötigt linearen Speicher, kann aber vergessene Zweige erneut erzeugen.

SMA* nutzt den verfügbaren Speicher, verwirft bei vollem Speicher das schlechteste Blatt der Suchfront und überträgt dessen Wert zurück an seinen Elternknoten. Dieser Eintrag erlaubt eine spätere erneute Erzeugung. Mit einer zulässigen Heuristik ist das Verfahren kostenoptimal, wenn ein optimaler Lösungspfad in den Speicher passt. Andernfalls kann es eine schlechtere Lösung zurückgeben oder scheitern, wenn kein Lösungspfad hineinpasst.

Wähle A* für eine optimale Antwort, wenn der Speicher ausreicht. Wähle IDA* oder eine geeignete speicherbeschränkte Variante, wenn Optimalität wichtig ist, aber die Suchfront nicht hineinpasst. Gewichtetes A* bietet eine numerische Qualitätsschranke; die Strahlsuche bietet starke Beschneidung ohne diese Schranke.

Wichtige Erkenntnisse

  • Gewichtetes A* verwendet g+Wh und kann unter seiner Garantie bei zulässiger Heuristik eine Lösung mit Kosten bis zu WC∗ zurückgeben.
  • Die Strahlsuche verwirft Kandidaten und kann die einzige Lösung verlieren.
  • IDA* erhöht seinen Schwellenwert auf den kleinsten überschrittenen f-Wert.
  • RBFS und SMA* können vergessene Arbeit erneut ausführen, um den Speicherbedarf zu begrenzen.
  • SMA* benötigt genügend Speicher für einen optimalen Lösungspfad, um Optimalität zu garantieren.
4

Entwickle und bewerte Heuristiken

Eine nützliche Heuristik muss sowohl zum Problem als auch zur benötigten Garantie passen. Zulässigkeit vergleicht ihre Schätzung mit den tatsächlichen Restkosten; Konsistenz vergleicht benachbarte Schätzungen für jede Aktion. Das Aufheben von Beschränkungen bietet eine praktische Möglichkeit, diese Eigenschaften zu beweisen, ohne das ursprüngliche Problem zu lösen. Dominanz und effektiver Verzweigungsfaktor helfen anschließend beim Vergleich der Orientierung durch die Heuristiken, während Zeitmessungen ihren Berechnungsaufwand zeigen.

4.1 Prüfe Heuristiken auf Zulässigkeit und Konsistenz

Eine Heuristik kann insgesamt optimistisch sein und sich dennoch zwischen benachbarten Zuständen zu stark ändern. Zulässigkeit und Konsistenz erfassen diese unterschiedlichen Prüfungen, und jede Eigenschaft stützt eine andere Version von A*.

Vergleiche Schätzungen mit tatsächlichen Kosten

Eine zulässige Heuristik erfüllt in jedem Zustand 0≤h(n)≤h∗(n). An einem Ziel sind die tatsächlichen Restkosten null, also muss auch seine Schätzung null sein. Zulässig bedeutet nicht genau: Überall null ist sicher, gibt aber keine Richtung vor.

Auf der Straßenkarte aus den Beispielen sind die Schätzungen und exakten günstigsten Restentfernungen bis G:

ZustandSchätzungTatsächliche Restkosten
S89
A79
B56
C45
D22
G00

Jede Schätzung ist höchstens so groß wie die tatsächlichen Kosten. Bei einem großen Problem kann die Berechnung dieser exakten Kosten genauso schwer sein wie die ursprüngliche Suche. Ein Beweis anhand der Struktur des Problems ist dann nützlicher als eine vollständige Tabelle.

Prüfe jede Aktion

Konsistenz, auch Monotonie genannt, verlangt für jede Aktion h(n)≤c(n,a,n′)+h(n′) sowie null an Zielen. Die aktuelle Schätzung darf die Kosten eines Schritts plus die Schätzung des Nachfolgers nicht übersteigen.

Auf der Straßenkarte ergibt A→C die Ungleichung 7≤4+4, C→B ergibt 4≤1+5 und D→G ergibt 2≤2+0. Straßen in beide Richtungen erfordern die Prüfung beider Richtungen. Alle 16 gerichteten Prüfungen sind für diese Schätzungen erfüllt.

Addiert man die Ungleichungen entlang eines Pfads zu einem Ziel, heben sich die dazwischenliegenden Schätzungen auf. Auf einem optimalen Pfad ergibt sich h(n)≤h∗(n), also folgt aus Konsistenz die Zulässigkeit. Außerdem ergibt sich

f(n′)=g(n)+c(n,a,n′)+h(n′)≥g(n)+h(n)=f(n).

Prioritäten können entlang eines Pfads nicht fallen. Die erste Expansion eines Zustands erfolgt daher auf einem günstigsten Pfad, selbst wenn seine erste Erzeugung teurer war.

Erkenne, warum bloße Zulässigkeit das Wiederöffnen erfordert

Betrachte Straßen in beide Richtungen S–A 1, A–C 1, S–B 1, B–C 2 und C–G 3. Die Schätzungen seien S 0, A 4, B 1, C 1 und G 0. Sie übersteigen die tatsächlichen Kosten S 5, A 4, B 5, C 3 und G 0 nicht und sind daher zulässig. Aber A→C verletzt die Konsistenz: 4>1+1.

A* expandiert S, dann B mit Priorität 2 und dann C, das zu Kosten von 3 mit Priorität 4 erreicht wurde. Anschließend expandiert es A mit Priorität 5 und entdeckt einen günstigeren Pfad zu C mit Kosten von 2. Wird C dauerhaft verworfen, weil es abgeschlossen ist, bleibt ein Ziel mit Kosten von 6. Das Wiederöffnen von C gibt die Verbesserung weiter und ergibt das Optimum mit Kosten von 5.

Passe die Heuristik an das Bewegungsmodell an

Die Manhattan-Distanz ist für horizontale und vertikale Züge der Länge eins zulässig und konsistent. Kosten auch diagonale Züge 1, benötigt die Reise von (0, 0) nach (3, 3) nur drei Züge, während die Manhattan-Distanz 6 angibt. Für dieses Bewegungsmodell ergibt max⁡(∣Δx∣,∣Δy∣) die Entfernung ohne Hindernisse. Die Garantie einer Heuristik gilt für ein bestimmtes Aktionsmodell.

Wichtige Erkenntnisse

  • Zulässigkeit beschränkt eine Schätzung durch die tatsächlichen Restkosten.
  • Konsistenz prüft jede gerichtete Aktion und verlangt null an Zielen.
  • Aus Konsistenz folgt Zulässigkeit; aus Zulässigkeit folgt keine Konsistenz.
  • Konsistente Heuristiken sorgen dafür, dass f entlang eines Pfads monoton nicht fällt.
  • Zulässige, aber inkonsistente Heuristiken erfordern für die allgemeine A*-Garantie das Wiederöffnen.
  • Eine Änderung der erlaubten Züge kann eine Heuristik ungültig machen.

4.2 Leite zulässige Heuristiken aus relaxierten Problemen ab

Um eine sichere Schätzung zu entwickeln, löse eine einfachere Version des Problems. Ein relaxiertes Problem entfernt Aktionsbeschränkungen, sodass jede ursprüngliche Lösung weiterhin verfügbar ist. Seine geringsten Kosten können die geringsten ursprünglichen Kosten nicht übersteigen.

Entferne Beschränkungen gezielt

Exakte Kosten des relaxierten Problems ergeben eine zulässige Heuristik. Sie ist auch konsistent, wenn die ursprünglichen Aktionen mit ihren Kosten verfügbar bleiben: Ein ursprünglicher Schritt und danach eine optimale relaxierte Route ergeben eine mögliche relaxierte Route, sodass das relaxierte Optimum nicht mehr kosten kann.

Beim 8-Puzzle kann eine Kachel nur dann auf ein benachbartes Feld ziehen, wenn dieses Feld leer ist. Entfernt man die Bedingung des leeren Feldes, können Kacheln durch besetzte Felder hindurchziehen. Jede nummerierte Kachel benötigt dann mindestens ihre horizontale plus ihre vertikale Entfernung zu ihrem Ziel. Die Summe ergibt die Manhattan-Distanz h2.

Entfernt man auch die Bedingung der Nachbarschaft, kann jede falsch platzierte Kachel in einem Zug direkt zu ihrem Ziel springen. Die entstehenden Kosten sind die Anzahl der falsch platzierten Kacheln h1. Beide lassen sich leicht berechnen, ohne das ursprüngliche Puzzle zu durchsuchen.

Berechne beide Schätzungen

Betrachte für das Ziel „1 2 3 / 4 5 6 / 7 8 leer“ den Zustand „5 1 3 / 4 leer 2 / 7 8 6“. Nummeriere Zeilen und Spalten ab 1.

KachelAktuelle PositionZielpositionEntfernung
5(1, 1)(2, 2)2
1(1, 2)(1, 1)1
2(2, 3)(1, 2)2
6(3, 3)(2, 3)1

Die anderen nummerierten Kacheln liegen bereits richtig. Vier sind falsch platziert, also gilt h1=4. Ihre Entfernungen ergeben zusammen 2+1+2+1=6, also gilt h2=6. Die optimale Lösung benötigt 12 Züge; die Relaxationen ignorieren Wechselwirkungen, die zusätzliche Arbeit verursachen.

Zähle das leere Feld nicht mit. Einen Zug vom Ziel entfernt sind eine nummerierte Kachel und das leere Feld beide verschoben. Würde man beide zählen, ergäbe sich 2 bei tatsächlichen Kosten von 1. Das leere Feld ermöglicht Züge; es ist keine zusätzliche Kachel, für die Kosten anfallen.

Speichere gelöste Teilprobleme

Eine Musterdatenbank erfasst exakte Kosten für ein ausgewähltes Teilproblem, etwa die korrekte Platzierung der Kacheln 1 bis 4, während andere Kacheln als austauschbar behandelt werden. Erstelle die Tabelle einmal durch Rückwärtssuche vom Ziel aus. Schlage während einer neuen Suche den Wert nach, statt das Teilproblem erneut zu lösen.

Das Teilproblem benötigt nicht mehr Arbeit als das vollständige Problem und liefert damit eine untere Schranke. Das Addieren zweier gewöhnlicher Musterkosten kann jedoch denselben realen Zug doppelt anrechnen. Die Addition ist bei disjunkten Mustern sicher, wenn jede Datenbank nur Züge ihrer eigenen Kacheln zählt. Disjunkte Kachelnamen allein begründen diese Regel der Kostenrechnung nicht.

Kombiniere sichere Schätzungen

Das Maximum zulässiger Schätzungen ist zulässig:

h(n)=max⁡{h1(n),…,hk(n)}.

Jeder Kandidat bleibt unter den tatsächlichen Restkosten oder ist gleich groß, also gilt das auch für ihr Maximum. Es ist mindestens so aussagekräftig wie jede einzelne Schätzung. Eine einfache Summe bietet diesen Schutz nicht.

Eine aus gelösten Beispielen gelernte Heuristik kann die Restkosten im Durchschnitt gut vorhersagen. Durchschnittliche Genauigkeit begründet keine untere Schranke für jeden Zustand. Sie erhält die Garantie von A* für zulässige Heuristiken nur, wenn nachgewiesen wird, dass ihre Schätzungen nie überschätzen.

Wichtige Erkenntnisse

  • Die exakten Kosten eines relaxierten Problems sind eine untere Schranke der ursprünglichen Kosten.
  • Die Anzahl falsch platzierter Kacheln und die Manhattan-Distanz stammen aus unterschiedlichen Relaxationen des 8-Puzzles.
  • Lass das leere Feld bei der Berechnung beider Puzzleheuristiken weg.
  • Musterdatenbanken tauschen Vorberechnung und Tabellenspeicher gegen schnelles Nachschlagen ein.
  • Addiere Musterkosten nur bei einer Kostenrechnung, die das doppelte Zählen von Zügen verhindert.
  • Das Maximum zulässiger Heuristiken ist zulässig.
  • Das Lernen einer Heuristik beweist für sich genommen keine Zulässigkeit.

4.3 Vergleiche Heuristiken anhand von Dominanz und effektivem Verzweigungsfaktor

Eine genauere Schätzung kann die Exploration verringern, doch eine aufwendige Schätzung kann die Suche trotzdem verlangsamen. Vergleiche sowohl die gelieferten Informationen als auch den gesamten erforderlichen Rechenaufwand.

Weise Dominanz für jeden Zustand nach

Eine zulässige Heuristik h2 dominiert die zulässige Heuristik h1, wenn überall h2(n)≥h1(n) gilt. Ein günstiges Brett allein reicht nicht aus, um diese Beziehung zu beweisen.

Die Manhattan-Distanz dominiert beim 8-Puzzle die Anzahl falsch platzierter Kacheln. Jede falsch platzierte Kachel muss sich mindestens ein Feld bewegen, sodass ihr Beitrag zur Manhattan-Distanz mindestens die 1 beträgt, die die schwächere Heuristik zählt. Eine richtig platzierte Kachel trägt zu beiden null bei.

Mit konsistenten Schätzungen muss A* Pfade mit g+h<C∗ expandieren. Wird eine sichere Schätzung erhöht, fallen einige Pfade aus diesem zwingend zu expandierenden Bereich heraus. Eine dominierende konsistente Heuristik expandiert abgesehen von Unterschieden bei Gleichständen nicht mehr Knoten. Eine unzulässige Schätzung kann noch größer sein, verliert aber die Optimalitätsgarantie und kommt für diesen Dominanzvergleich nicht infrage.

Fasse den Suchaufwand zusammen

Der effektive Verzweigungsfaktor b∗ beschreibt die Breite eines entsprechenden gleichmäßigen Baums. Zähle N erzeugte Knoten unterhalb der Wurzel und sei d die Lösungstiefe. Löse

N+1=1+b∗+(b∗)2+⋯+(b∗)d.

Die zusätzliche 1 berücksichtigt die Wurzel. Eine einheitliche Zählweise ist wichtig: Wenn eine Messung die Wurzel bereits enthält, addiere sie nicht ein zweites Mal.

Für 52 erzeugte Knoten unterhalb der Wurzel und die Lösungstiefe 5 beträgt die Gesamtzahl 53 und es gilt b∗≈1,92. Für 1.000 erzeugte Knoten und Tiefe 8 gilt b∗≈2,20. Bestimme diese Werte numerisch, indem du einen Versuchswert erhöhst oder verringerst, bis seine geometrische Summe mit der Gesamtzahl der Knoten übereinstimmt.

Ein Wert nahe 1 weist auf eine schmale Suche hin. Vergleiche Ergebnisse über repräsentative Instanzen hinweg mit derselben Zählregel und vergleichbaren Lösungstiefen. Der effektive Verzweigungsfaktor kann helfen, die Skalierung zu schätzen, aber eine ungewöhnlich einfache Instanz ist keine verlässliche Vorhersage für eine ganze Problemfamilie.

Miss die Zeit für die gesamte Berechnung

Angenommen, ein Knoten benötigt 10 Mikrosekunden, einschließlich 1 Mikrosekunde zur Berechnung der alten Heuristik. Ein Ersatz halbiert die Knotenzahl, benötigt aber 100 Mikrosekunden pro Berechnung. Die übrige Arbeit kostet weiterhin 9 Mikrosekunden, sodass die neuen Gesamtkosten pro Knoten 109 betragen. Das Verhältnis der Gesamtzeiten ist

0,5×10910=5,45.

Die Suche ist etwa 5,5-mal langsamer, obwohl sie weniger Knoten besucht. Benötigt die neue Berechnung nur 2 Mikrosekunden, steigt die Gesamtzeit pro Knoten auf 11 und das Zeitverhältnis beträgt 0,5×11/10=0,55. Das ist etwa 1,8-mal schneller.

Auch eine Musterdatenbank verursacht Erstellungskosten. Viele Suchen mit demselben Ziel können sich diese Investition teilen; eine kleine Suche allein macht sie möglicherweise nicht wett. Miss Vorverarbeitung, Nachschlagezeit, erzeugte Knoten und Speicher getrennt, damit weniger Expansionen nicht mit einer automatischen Beschleunigung verwechselt werden.

Wichtige Erkenntnisse

  • Dominanz erfordert zwei zulässige Heuristiken und eine Ungleichung, die in jedem Zustand gilt.
  • Eine dominierende konsistente Heuristik verringert abgesehen von Gleichständen die notwendigen A*-Expansionen.
  • Der effektive Verzweigungsfaktor bestimmt einen gleichmäßigen Baum passend zu Knotenzahl und Lösungstiefe.
  • Zähle die Wurzel bei Verwendung der Gleichung für die geometrische Summe einmal.
  • Die Gesamtlaufzeit umfasst die Berechnung der Heuristik und jede Vorberechnung.
5

Nutze lokale Suche für sehr große Zustandsräume

Manche Probleme verlangen eine gute Anordnung, keinen Weg dorthin. Lokale Suche arbeitet direkt mit vollständigen Kandidaten und speichert nur sehr wenig Suchverlauf. Die Herausforderung verlagert sich von der Verwaltung einer Suchfront zur Bewegung durch eine Landschaft mit lokalen Optima, flachen Bereichen und Graten. Bergsteigen, Neustarts, simulierte Abkühlung und populationsbasierte Verfahren unterscheiden sich darin, wie sie weiter vorankommen, wenn keine unmittelbare Verbesserung verfügbar ist.

5.1 Beschreibe lokale Suche und die Landschaft des Zustandsraums

Lokale Suche verändert wiederholt einen vollständigen Lösungskandidaten. Sie eignet sich für Aufgaben, bei denen die endgültige Konfiguration zählt und die Folge der Schritte zu ihrer Ermittlung verworfen werden kann.

Stelle einen vollständigen Kandidaten dar

Setze beim 8-Damen-Problem eine Dame in jede Spalte. Stelle den Zustand durch die acht Zeilennummern dar und lies die Spalten von links nach rechts. Jeder Zustand enthält alle acht Damen, auch Zustände mit Konflikten. Bei einem Nachbarn wird eine Dame in eine andere Zeile ihrer eigenen Spalte bewegt.

Es gibt 88=16.777.216 Zustände und 8×7=56 Nachbarn pro Zustand. Eine feste Anzahl aktueller Zustände ersetzt die große Suchfront und die Elternverweise der Pfadsuche. Der Speicherbedarf hängt weiterhin von der Größe eines Zustands ab; ein Tupel mit acht Einträgen zu speichern ist weniger aufwendig als ein riesiger Stundenplan.

Stundenplanung, Chipentwurf und die Wahl einer vollständigen Rundreise durch Städte folgen demselben allgemeinen Muster: Jeder Zustand ist ein vollständiger Vorschlag. Eine Rundreise ist selbst eine mögliche Anordnung, obwohl ihr Inhalt eine Reise beschreibt. Lokale Suche muss die Folge der Änderungen zur Verbesserung dieser Rundreise nicht bewahren.

Definiere, was besser bedeutet

Eine Zielfunktion gibt jedem Zustand einen zu maximierenden Wert. Gleichwertig kannst du zu minimierende Kosten definieren. Beim n-Damen-Problem zähle mit h die Paare von Damen, die einander angreifen. Zähle jedes Paar einmal, einschließlich Angriffen entlang von Zeilen oder Diagonalen, selbst wenn eine andere Dame dazwischenliegt. Für eine Lösung gilt h=0.

Bei vier Spalten setzt das Tupel (1, 2, 3, 4) alle Damen auf eine Diagonale. Alle seine (42)=6 Paare greifen einander an. Das Tupel (2, 1, 3, 4) hat zwei angreifende Paare, während (2, 4, 1, 3) keine hat. Hier sind niedrigere Werte besser; der Buchstabe h bezeichnet Zielfunktionskosten, keine von A* verwendete Schätzung verbleibender Pfadkosten.

Interpretiere die Landschaft

Stelle dir die Qualität eines Zustands als Höhe vor. Für die Maximierung gilt:

  • Ein globales Maximum hat den besten Wert im gesamten Raum.
  • Ein lokales Maximum ist besser als seine Nachbarn, kann aber schlechter als ein weit entfernter Zustand sein.
  • Ein Plateau ist ein zusammenhängender flacher Bereich. Es kann ein flaches lokales Maximum ohne aufwärtsführenden Ausgang oder eine Schulter sein, von der aus Seitwärtsschritte einen aufwärtsführenden Ausgang erreichen können.
  • Ein Grat kann in eine Richtung ansteigen, der die verfügbaren einzelnen Züge nicht folgen können. Jede unmittelbare Wahl kann schlechter aussehen.

Bei der Kostenminimierung kehre die Höhe um: Die Suche sucht Minima und Täler. Ein lokales Minimum ist kein Beweis dafür, dass anderswo kein Zustand mit niedrigeren Kosten existiert. Die Nachbarschaft bestimmt, welche Zustände in einem Schritt verglichen werden können. Eine Änderung der erlaubten Bearbeitung kann daher verändern, wo die Suche stecken bleibt.

Prüfe, ob der Pfad ignoriert werden kann

Ein Agent zur Wegfindung muss zulässige Aktionen von seinem tatsächlichen Start aus zurückgeben. Ein gutes Ziel allein genügt nicht. Lokale Suche gibt im Allgemeinen nur den Kandidatenzustand zurück, ohne eine Elternkette durch alle früheren Änderungen.

Ein vollständiges lokales Suchverfahren fände ein Ziel, wann immer eines existiert; ein optimales fände das globale Optimum. Einfache lokale Verfahren bieten keine dieser allgemeinen Garantien. Ihr Vorteil ist, dass sie schnell gute Kandidaten erreichen können, wenn die Speicherung eines systematischen Suchbaums nicht praktikabel ist.

Wichtige Erkenntnisse

  • Lokale Suche verändert vollständige Kandidatenzustände und verwirft meist den Pfad der Änderungen.
  • Eine Zielfunktion definiert, welche benachbarten Zustände besser sind.
  • Ein lokales Optimum kann schlechter sein als ein entferntes globales Optimum.
  • Eine Schulter hat einen aufwärtsführenden Ausgang, der durch Züge zu gleichwertigen Zuständen erreichbar ist.
  • Die Nachbarschaft beeinflusst sowohl die Suchlandschaft als auch die Stellen, an denen der Fortschritt endet.

5.2 Gelange durch Bergsteigen zu besseren Zuständen

Bergsteigen führt die beste unmittelbar auffindbare Verbesserung aus. Bei einem zu maximierenden Wert wählt Bergsteigen mit steilstem Anstieg den Nachbarn mit dem höchsten Wert. Bei zu minimierenden Kosten wählt es den Nachbarn mit den niedrigsten Kosten. Es hält an, wenn keine strikte Verbesserung existiert.

Verfolge einen Durchlauf mit vier Damen

Ein Zustand gebe die Zeile der Dame in jeder Spalte an und h zähle angreifende Paare. Beginne mit (1, 2, 3, 4), dessen Kosten 6 betragen.

  1. Bewerte die Züge mit jeweils einer Dame. Ein bester Nachbar ist (2, 2, 3, 4) mit Kosten von 4.
  2. Von dort ist ein bester Nachbar (2, 1, 3, 4) mit Kosten von 2.
  3. Kein Nachbar, der durch den Zug einer Dame entsteht, hat Kosten unter 2. Das strikte Bergsteigen hält an.

Die Anordnung (2, 4, 1, 3) mit Kosten von null existiert, kann aber vom erreichten Zustand aus nicht durch einen unmittelbar verbessernden Zug erreicht werden. Dies ist eine Folge der lokalen Regel und kein Beleg dafür, dass das Programm Konflikte falsch gezählt hat.

Erlaube nützliche Seitwärtsbewegungen

Ein Seitwärtsschritt behält denselben Wert bei. Er kann eine Schulter zu einem verbessernden Ausgang überqueren, aber auch auf einem flachen lokalen Optimum umherwandern. Beschränke aufeinanderfolgende Seitwärtsschritte, um endlose Zyklen zu vermeiden.

In dem von Russell und Norvig beschriebenen Experiment zum 8-Damen-Problem ist Bergsteigen mit steilstem Anstieg von zufälligen Starts aus in etwa 14 % der Fälle erfolgreich und benötigt bei Erfolg etwa 4 Schritte und beim Steckenbleiben 3. Erlaubt man bis zu 100 aufeinanderfolgende Seitwärtsschritte, steigt der berichtete Erfolg auf etwa 94 %, mit etwa 21 Schritten pro Erfolg und 64 pro Misserfolg. Dies sind Ergebnisse dieses Experiments, keine allgemeinen Erfolgsraten für Bergsteigen.

Ändere die Auswahl eines Nachbarn

Stochastisches Bergsteigen wählt zufällig einen verbessernden Nachbarn aus und kann dabei größere Verbesserungen bevorzugen. Bergsteigen mit erster Verbesserung zieht Nachbarn einzeln und nimmt die erste Verbesserung. So vermeidet es, vor jedem Zug eine riesige Nachbarschaft auszuwerten. Beide lehnen weiterhin schlechtere Züge ab.

Bergsteigen mit zufälligem Neustart beginnt nach einem fehlgeschlagenen Durchlauf einen neuen Durchlauf von einem neu zufällig gezogenen Zustand aus. Bei unabhängigen Durchläufen mit Erfolgswahrscheinlichkeit p beträgt die erwartete Anzahl der Durchläufe bis einschließlich zum ersten Erfolg 1/p. Für p=0,14 sind das etwa 7 Durchläufe. Mit den berichteten Schrittzahlen beträgt die erwartete Gesamtzahl der Schritte

4+0,860,14×3≈22.

Auch die fehlgeschlagenen Durchläufe verursachen Arbeit. Bei positiver Erfolgswahrscheinlichkeit und unabhängigen Neustarts nähert sich die Wahrscheinlichkeit eines späteren Erfolgs mit wachsender Anzahl der Durchläufe der 1 an.

Lass mehrere Kandidaten Entdeckungen teilen

Die lokale Strahlsuche behält k Zustände, erzeugt ihre Nachbarn gemeinsam und behält die besten k aus dieser zusammengefassten Auswahl. Ein vielversprechender Elternknoten kann mehrere verbleibende Zustände beitragen, während ein anderer keinen beiträgt. Dieses Teilen unterscheidet das Verfahren von unabhängigen Neustarts.

Das Zusammenfassen kann auch dazu führen, dass sich alle Kandidaten in einer Region häufen. Die stochastische Strahlsuche zieht verbleibende Zustände mit einer Wahrscheinlichkeit, die mit der Qualität steigt, um mehr Vielfalt zu erhalten. Die Wahl zwischen Seitwärtsschritten, Neustarts und Vielfalt in der Population hängt davon ab, warum der Fortschritt ausbleibt: wegen einer nahe gelegenen Brücke aus gleichwertigen Zuständen, einer ungünstigen Startregion oder zu vieler Kandidaten, die denselben Bereich erkunden.

Wichtige Erkenntnisse

  • Bergsteigen mit steilstem Anstieg akzeptiert die beste strikte Verbesserung und hält andernfalls an.
  • Seitwärtsschritte können Schultern überqueren, brauchen aber in flachen Bereichen eine Beschränkung.
  • Bergsteigen mit erster Verbesserung zieht Nachbarn, bis es eine Verbesserung findet.
  • Unabhängige Neustarts mit Erfolgswahrscheinlichkeit p benötigen durchschnittlich 1/p Durchläufe.
  • Lokale Strahlsuche wählt aus zusammengefassten Nachbarn aus, sodass Kandidaten ihren Fortschritt teilen.
  • Eine Häufung der Population kann die Exploration verringern, selbst wenn mehrere Zustände behalten werden.

5.3 Entkomme lokalen Optima mit simulierter Abkühlung und genetischen Algorithmen

In manchen Landschaften muss vorübergehend eine Verschlechterung in Kauf genommen werden, bevor ein besserer Zustand erreichbar wird. Simulierte Abkühlung erlaubt solche Züge mit einer kontrollierten Wahrscheinlichkeit. Genetische Algorithmen erkunden den Raum dagegen durch die Auswahl und Kombination vollständiger Kandidaten.

Akzeptiere gelegentlich einen schlechteren Zug

Die simulierte Abkühlung zieht einen zufälligen Nachbarn. Akzeptiere einen verbessernden Zug. Schreibe für eine zu maximierende Zielfunktion ihre Änderung als ΔE. Gilt ΔE<0, akzeptiere den schlechteren Zug mit der Wahrscheinlichkeit

P=eΔE/T,T>0.

Bei der Kostenminimierung sei Δ der Anstieg der Kosten. Für einen schlechteren Zug gilt dann Δ>0 und die Akzeptanzwahrscheinlichkeit ist e−Δ/T. Züge zu einem Zustand mit gleichem Wert haben nach beiden Formeln die Wahrscheinlichkeit 1. Temperatur und Änderungen der Zielfunktion müssen eine zueinander passende numerische Skala verwenden.

Ein Rückgang des Werts um 2 wird bei Temperatur 10 mit einer Wahrscheinlichkeit von etwa 0,819 akzeptiert, bei Temperatur 1 mit 0,135 und bei Temperatur 0,5 mit 0,018. Bei Temperatur 10 hat ein größerer Rückgang um 5 die Wahrscheinlichkeit von etwa 0,607. Die Temperatur steuert also die Toleranz, während bei gleicher Temperatur weiterhin die Größe der Verschlechterung zählt.

Senke die Temperatur

Ein Abkühlungsplan legt die Temperatur über die Zeit fest. Geometrische Abkühlung verwendet Tk+1=αTk mit einem Faktor nahe 1, etwa 0,95. Bei hoher Temperatur werden viele schlechtere Züge akzeptiert und die Exploration ähnelt einem Zufallsweg. Nahe null werden schlechtere Züge selten und das Verhalten ähnelt dem Bergsteigen.

Zu schnelles Abkühlen kann die Suche festhalten, bevor sie einer ungünstigen Region entkommt. Sehr langsames Abkühlen erhöht den Rechenaufwand. Das asymptotische Ergebnis zum globalen Optimum erfordert ausreichend langsames Abkühlen und die übliche Möglichkeit, Zustände über die Nachbarschaft zu erreichen; ein gewöhnlicher endlicher geometrischer Durchlauf garantiert keinen globalen Erfolg. Das Verfahren wird seit den 1980er-Jahren für Chipentwurf und Ablaufplanung eingesetzt. Sein Name stammt vom Erhitzen und langsamen Abkühlen von Metall, sodass es eine energieärmere Struktur annimmt.

Erzeuge eine neue Population

Ein genetischer Algorithmus stellt Kandidaten als Zeichenketten dar. Jede Generation bewertet ihre Fitness, wählt Eltern unter Bevorzugung höherer Fitness aus, erzeugt Nachkommen durch Rekombination und wendet gelegentlich Mutationen an.

Beim 8-Damen-Problem beschreiben acht Zeilenziffern je eine Dame pro Spalte. Die Fitness kann die Anzahl der sich nicht angreifenden Paare zählen, wobei 28 das Maximum ist. Schneide die Elternzeichenketten „64751517“ und „64278273“ nach der vierten Ziffer. Die Kombination der jeweils anderen Hälften ergibt „64758273“ und „64271517“.

Die Eltern haben die Fitnesswerte 23 und 24; die Nachkommen haben die Fitnesswerte 27 und 21. Ein Nachkomme verbessert sich gegenüber beiden Eltern, während der andere schlechter ist. Rekombination bietet neue Kombinationen, garantiert aber keine Verbesserung. Sie ist nützlich, wenn gute Bausteine bei ihrer Kombination tendenziell ihren Wert behalten. Mutation verändert gelegentlich eine Position und hilft, über diese Kombinationen hinaus Vielfalt einzubringen.

Selektion, Rekombination und Mutation haben unterschiedliche Aufgaben: Selektion bevorzugt nützliche Kandidaten, Rekombination kombiniert sie neu und Mutation verändert einzelne Positionen. Wie die stochastische Strahlsuche verwaltet das Verfahren eine Population, aber neue Kandidaten können Material von zwei Eltern beziehen. Weder ein Elternteil mit hoher Fitness noch eine niedrige Endtemperatur allein beweist, dass das globale Optimum gefunden wurde.

Wichtige Erkenntnisse

  • Die simulierte Abkühlung zieht einen Nachbarn und akzeptiert schlechtere Züge mit einer temperaturabhängigen Wahrscheinlichkeit.
  • Bei einem Kostenanstieg Δ>0 beträgt die Akzeptanzwahrscheinlichkeit e−Δ/T.
  • Abkühlung verringert die Exploration; zu schnelles Abkühlen kann die Suche in einem lokalen Optimum festhalten.
  • Genetische Algorithmen kombinieren fitnessbasierte Selektion, Rekombination und Mutation.
  • Rekombination kann sowohl bessere als auch schlechtere Nachkommen erzeugen.

Uninformierte und informierte Suche: Beispiele

5 Interaktive Lektionen

1

Formuliere ein Problem als Suche

13 Schritte
Formuliere ein Puzzle, unterscheide Zustände von Pfaden und bestimme die Größe einer Suche.
  1. 1
    EinführungVon Wahlmöglichkeiten zu einer Lösung

    Ein Suchalgorithmus erhält keine Anweisung wie „Löse das irgendwie“. Er erhält ein Modell möglicher Situationen (Zustände) und zulässiger Aktionen.

    Erstelle dieses Modell anhand eines Schiebepuzzles und verfolge dann die dabei entstehenden Sucheinträge, die Knoten heißen. Das Modell beschreibt die Welt; die Einträge beschreiben die betrachteten Pfade. Diese Unterscheidung erklärt, warum zwei Knoten in einem Zustand enden können und warum das Speichern jedes möglichen Pfads aufwendig werden kann.

  2. 2
    BeispielSpezifiziere das Puzzle

    Beim 8-Puzzle führt ein Zustand die Positionen von acht nummerierten Kacheln und dem leeren Feld auf. Der Anfangszustand ist das vorgegebene Brett.

    Die Zielanordnung ist „1 2 3 / 4 5 6 / 7 8 leer“. Zulässige Aktionen bewegen das leere Feld nach links, rechts, oben oder unten, ohne das Brett zu verlassen. Der Übergang vertauscht es mit einer benachbarten Kachel. Jede Aktion kostet 1. Diese Festlegungen spezifizieren das Problem, bevor eine Suche beginnt.

  3. 3
    ErklärungGib Aktionen zurück, nicht nur ein Ziel

    Der Zieltest erkennt ein erfolgreiches Brett. Eine Pfadlösung benötigt weiterhin die zulässigen Züge, die vom Anfangsbrett dorthin führen.

    Wenn jeder Zug 1 kostet, kostet ein Pfad mit sechs Zügen 6. Bei unterschiedlichen Straßenkosten addiere stattdessen die Kantenkosten, statt Aktionen zu zählen. Ein Zielzustand sagt dir, wo du enden möchtest; die Lösung sagt dir, wie du dorthin gelangst, und die Pfadkosten sagen dir, was dieser Weg kostet.

  4. 4
    HerausforderungBehalte die Einzelheit, die Aktionen verändert

    Ein Routenplaner modelliert einen Roboter anhand seines aktuellen Raums. Manche Türen erfordern einen Schlüssel, den der Roboter mit sich führen kann. Kann der Planer gefahrlos weglassen, ob der Roboter den Schlüssel hat?

    ---reveal---

    Nein. Der Besitz des Schlüssels verändert die zulässigen Aktionen aus demselben Raum. Der Zustand muss ihn erfassen, andernfalls kann eine abstrakte Route das Durchqueren einer Tür enthalten, das der Roboter nicht ausführen kann. Die Lackfarbe des Roboters kann weggelassen werden, wenn sie weder Aktionen noch Kosten verändert.

  5. 5
    KernaussageErzeuge einen großen Raum nach Bedarf

    Ein impliziter Raum ist eine Vorschrift für Nachfolger, keine gespeicherte Liste jedes Zustands. Das ist selbst bei klein wirkenden Puzzles wichtig: Das 8-Puzzle hat 181.440 erreichbare Zustände, während das 15-Puzzle etwa 1,05×1013 hat.

    Die Suche erzeugt den Teil, den sie benötigt. Eine bessere Repräsentation kann auch diesen Teil verkleinern: Wird jede Dame nur in die nächste freie Spalte gesetzt, entfallen viele redundante Platzierungsreihenfolgen.

  6. 6
    ErklärungSpeichere in jedem Knoten einen Pfad

    Ein Zustand ist eine Situation. Ein Knoten ist ein Pfadeintrag, der diesen Zustand, seinen Elternknoten, die eingehende Aktion und die bisher angefallenen Kosten g enthält.

    Die Routen „S, A, C“ und „S, B, C“ erzeugen unterschiedliche Knoten, die bei C enden. Die Karte enthält ein C, aber der Suchbaum kann beide Ankünfte enthalten. Folgt man den Elternverweisen von einem zurückgegebenen Ziel aus und kehrt die Aktionen um, erhält man dessen konkrete Route.

  7. 7
    BeispielUnterscheide ausstehende und erreichte Einträge

    Auf der Karte mit Straßen in beide Richtungen hat S Straßen nach A für 2 km, B für 3 km und D für 9 km. Das Expandieren von S erzeugt drei Knoten mit Elternknoten S.

    Die Suchfront enthält nun A, B und D, die auf ihre Auswahl warten. Die Tabelle der erreichten Zustände enthält neben diesen drei Zuständen auch S. Sie merkt sich erzeugte Zustände, nicht nur expandierte, sodass eine andere Route nicht unbemerkt ein unnötiges Duplikat eines ausstehenden Zustands hinzufügen kann.

  8. 8
    ErklärungGib eine Verbesserung weiter

    Angenommen, C wird zuerst über A zu Kosten von 6 erreicht. Später bietet B eine Route zu C mit Kosten von 4. Ersetze den besten Eintrag für C einschließlich seines Elternknotens, sodass spätere Routen den günstigeren Anfangsabschnitt übernehmen.

    Wenn C bereits expandiert wurde, müssen manche Algorithmen es wieder öffnen, um die Verbesserung weiterzugeben. Enthält ein Heap noch den alten Eintrag mit Kosten von 6, überspringe diesen veralteten Eintrag beim Entnehmen; er repräsentiert nicht mehr den besten Pfad zu C.

  9. 9
    HerausforderungStelle die richtige Route wieder her

    Ein Zielknoten Z hat den Elternknoten M. Der beste Knoten für M hat den Elternknoten K und der Elternknoten von K ist die Wurzel R. Ein älterer Knoten für M hatte den Elternknoten P. Welche Route soll zurückgegeben werden?

    ---reveal---

    Gib R–K–M–Z zurück, indem du der tatsächlichen Elternkette des zurückgegebenen Knotens rückwärts folgst und sie dann umkehrst. Der ältere Knoten für M beschreibt einen anderen Pfad. Würde sein Elternknoten mit den verbesserten Kosten vermischt, stimmte die angegebene Route nicht mit ihrem eigenen Sucheintrag überein.

  10. 10
    ErklärungStelle vier getrennte Fragen

    Vollständig bedeutet, eine Lösung zu finden, wann immer eine existiert. Kostenoptimal bedeutet, die günstigste Lösung zurückzugeben. Ein unlösbarer unendlicher Raum muss nicht zu einer abschließenden Misserfolgsmeldung führen.

    Zeit misst erzeugte oder expandierte Knoten; Speicher misst die maximal gespeicherte Information. Ein Verfahren kann vollständig sein und dennoch eine teure Route zurückgeben oder die günstigste Route zurückgeben und dabei zu viel Speicher benötigen, um bei einer größeren Instanz praktikabel zu sein.

  11. 11
    BeispielBeobachte das Wachstum der Schichten

    Bei Verzweigungsfaktor 10 enthalten die Schichten bis Tiefe 5 insgesamt 1, 10, 100, 1.000, 10.000 und 100.000 Knoten. Zusammen enthalten sie 111.111 Knoten.

    Die meisten liegen in der letzten Schicht. Deshalb ist eine zusätzliche Tiefenstufe so bedeutsam: Sie fügt vor Duplikatprüfungen weitere 1.000.000 Pfade hinzu. Bei 1 Kilobyte pro Knoten kann eine breite Exploration eine Speicherschranke erreichen, selbst wenn die Knotenerzeugung selbst schnell ist.

  12. 12
    HerausforderungVerwechsle einen kurzen Pfad nicht mit einem günstigen

    Ein vollständiger Algorithmus gibt immer eine Route mit zwei Aktionen und Kosten von 17 Einheiten zurück, obwohl eine Route mit vier Aktionen 10 kostet. Ist er kostenoptimal, und beantwortet seine Vollständigkeit diese Frage?

    ---reveal---

    Er ist nicht kostenoptimal, weil eine günstigere Lösung existiert. Vollständigkeit stellt fest, dass er eine Lösung findet, nicht welche Lösung er auswählt. Die zusätzlichen Aktionen machen die Route mit vier Aktionen nicht schlechter, wenn die Gesamtkosten das Ziel sind.

  13. 13
    ZusammenfassungInterpretiere einen Suchablauf zielgerichtet

    Halte drei Ebenen auseinander: die Zustände und Aktionen des Problems, die als Knoten gespeicherten Pfade und die Regel zur Auswahl des nächsten Knotens der Suchfront. Frage dann, ob der zurückgegebene Pfad das gewünschte Ziel erfüllt.

    Bestimme für Ressourcenvergleiche Verzweigungsfaktor, Lösungstiefe und maximale Tiefe. Prüfe neben dem, was expandiert wird, auch, was gespeichert wird; zwei Strategien können dasselbe Ziel mit sehr unterschiedlichem Speicherbedarf suchen.

2

Vollziehe uninformierte Suche auf einer Karte nach

16 Schritte
Vergleiche die Ordnung nach Warteschlange, Kosten und Stapel und wähle dann eine Strategie unter Beschränkungen von Speicher und Umkehrbarkeit.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungEine Karte, mehrere Suchreihenfolgen
  2. 2
    BeispielBeginne die Warteschlange der Breitensuche
  3. 3
    BeispielLass das erste Ziel erscheinen
  4. 4
    HerausforderungInterpretiere das Ergebnis der Breitensuche
  5. 5
    TippVerwende die passende Schranke für die Breitensuche
  6. 6
    BeispielOrdne nach bereits angefallenen Kosten
  7. 7
    BeispielEntnimm das Ziel zu minimalen Kosten
  8. 8
    HerausforderungWarte auf die günstigere unvollständige Route
  9. 9
    KernaussageBeschränke die Kosten endloser Tiefe
  10. 10
    BeispielFolge dem Zweig der Tiefensuche
  11. 11
    ErklärungUnterscheide eine Schranke von Misserfolg
  12. 12
    BeispielZahle einen kleinen Preis für weniger Speicher
  13. 13
    HerausforderungWähle eine Tiefenstrategie
  14. 14
    ErklärungTriff auf eine Suche vom Ziel aus
  15. 15
    HerausforderungWähle anhand von Kosten und rückwärtigem Zugriff
  16. 16
    ZusammenfassungStimme die Garantie auf die Aufgabe ab
3

Steuere eine Suche mit Schätzungen

15 Schritte
Vollziehe gierige Suche und A* nach und untersuche dann die Abwägungen gängiger Varianten bei Geschwindigkeit und Speicherbedarf.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungSchätze den noch ausstehenden Weg
  2. 2
    ErklärungGib der Schätzung eine Bedeutung
  3. 3
    BeispielLass die scheinbare Nähe entscheiden
  4. 4
    HerausforderungWähle zwischen einem günstigen Anfangsabschnitt und einer kleinen Schätzung
  5. 5
    BeispielAddiere die beiden Kosten
  6. 6
    BeispielLöse den letzten Gleichstand auf
  7. 7
    KernaussageHalte eine optimale Route konkurrenzfähig
  8. 8
    ErklärungErkenne, wann ein abgeschlossener Zustand geschlossen bleibt
  9. 9
    HerausforderungDiagnostiziere eine fehlende Verbesserung
  10. 10
    BeispielBetone den Fortschritt zum Ziel
  11. 11
    ErklärungErhöhe eine Kostenkontur, statt eine Suchfront zu speichern
  12. 12
    BeispielVerschiebe den Schwellenwert von acht auf neun
  13. 13
    TippEntscheide, ob vergessene Pfade zurückkehren können
  14. 14
    HerausforderungWähle eine Garantie bei begrenztem Speicher
  15. 15
    ZusammenfassungUnterscheide Ordnung, Abbruch und Speicher
4

Entwickle und prüfe eine sichere Heuristik

15 Schritte
Prüfe Schranken für Zustände und Kanten, leite Puzzleschätzungen ab und vergleiche ihren rechnerischen Nutzen.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungBeweise, dass die Schätzung sicher ist
  2. 2
    ErklärungPrüfe die Schranke der tatsächlichen Kosten
  3. 3
    BeispielPrüfe einen gerichteten Schritt
  4. 4
    HerausforderungUnterscheide eine optimistische von einer gleichmäßig verlaufenden Schätzung
  5. 5
    VerbindungLass die Züge die Entfernung bestimmen
  6. 6
    ErklärungErzeuge gezielt ein einfacheres Problem
  7. 7
    BeispielRelaxiere zwei Beschränkungen des Puzzles
  8. 8
    BeispielZähle die verschobenen nummerierten Kacheln
  9. 9
    HerausforderungVermeide, einen Zug doppelt zu zählen
  10. 10
    ErklärungBerechne untere Schranken vor und kombiniere sie
  11. 11
    ErklärungVergleiche Schätzungen überall
  12. 12
    BeispielBestimme einen entsprechenden Baum
  13. 13
    BeispielBerücksichtige die Kosten der Heuristikberechnung
  14. 14
    HerausforderungNutze zwei Schätzungen ohne Dominanzbehauptung
  15. 15
    ZusammenfassungBeurteile Sicherheit und Nutzen getrennt
5

Verbessere vollständige Kandidaten

16 Schritte
Verfolge Bergsteigen bei der Damenplatzierung und nutze dann Neustarts, simulierte Abkühlung und Rekombination, um über unmittelbare Verbesserungen hinaus zu suchen.

Speichere diese Einheit, um jede Interaktive Lektion Schritt für Schritt durchzugehen.

  1. 1
    EinführungSuche nach einer Anordnung
  2. 2
    BeispielNimm jede Dame in den Zustand auf
  3. 3
    BeispielZähle angreifende Paare
  4. 4
    ErklärungStelle dir die Fallen vor
  5. 5
    HerausforderungEntscheide, ob der Änderungsverlauf wichtig ist
  6. 6
    BeispielFolge den besten unmittelbaren Zügen
  7. 7
    ErklärungProbiere Seitwärtsschritte oder einen Neustart
  8. 8
    HerausforderungBerücksichtige den erfolgreichen Durchlauf
  9. 9
    VerbindungTeile Fortschritt, ohne jede Alternative zu verlieren
  10. 10
    ErklärungAkzeptiere eine vorübergehende Verschlechterung
  11. 11
    BeispielHalte die Verschlechterung fest und senke die Temperatur
  12. 12
    HerausforderungHalte die Vorzeichen einheitlich
  13. 13
    TippKühle in einem geeigneten Tempo ab
  14. 14
    BeispielKombiniere zwei Elternzeichenketten
  15. 15
    HerausforderungDiagnostiziere eine stagnierende Population
  16. 16
    ZusammenfassungWähle einen Weg am Hindernis vorbei

Uninformierte und informierte Suche: Übungsaufgaben

50 Übungsfragen in 5 Sets

Set 1: Zustände, Suchfronten und uninformierte Suche10 Übungsfragen

Frage 1 von 10

Ein Routenplaner gibt nur den Namen des Zielorts zurück. Was muss er zurückgeben, um eine Pfadlösung zu liefern?
  1. Die Schätzung der am Zielort verbleibenden Entfernung.
  2. Die Aktionen, die vom Start zum Zielort führen.
  3. Die Liste aller während der Suche erzeugten Orte.
  4. Die Aktion mit den geringsten Kosten auf der Karte.
Antwort zeigenAntwort ausblenden
Antwort: B
Eine Pfadlösung ist eine Folge zulässiger Aktionen vom Anfangszustand zu einem Ziel. Der Zielort benennt einen erfolgreichen Endzustand, lässt aber die Route offen. Auch eine Liste aller erzeugten Orte genügt nicht: Viele davon können zu verworfenen Zweigen statt zu einer zusammenhängenden Route gehören.

Frage 2 von 10

Ein Knoten wurde erzeugt und in die Suchfront gelegt, aber noch nicht expandiert. Wo wird sein Zustand bei der Graphensuche erfasst?
  1. Nur in der abgeschlossenen Menge, vor der Expansion.
  2. In der Tabelle der erreichten Zustände erst nach der Expansion.
  3. Nur im Elternknoten, bis er expandiert wird.
  4. In der Tabelle der erreichten Zustände, schon vor der Expansion.
Antwort zeigenAntwort ausblenden
Antwort: D
Die Tabelle der erreichten Zustände erfasst Zustände beim Erzeugen und enthält daher sowohl Zustände in der Suchfront als auch expandierte Zustände. Wartet man bis zur Expansion, können mehrere Eltern denselben Zustand in die Warteschlange aufnehmen. Eine abgeschlossene Menge erfasst meist expandierte Zustände und hat damit eine engere Aufgabe als die Tabelle der erreichten Zustände.

Frage 3 von 10

Ein vollständiger Suchbaum hat den Verzweigungsfaktor 3 und reicht bis zur Tiefe 4. Wie viele Knoten enthält er einschließlich der Wurzel?
  1. 121 Knoten
  2. 81 Knoten
  3. 120 Knoten
  4. 364 Knoten
Antwort zeigenAntwort ausblenden
Antwort: A
Zähle jede Schicht: Die Wurzel trägt 1 bei, danach tragen die Schichten 3, 9, 27 und 81 bei. Ihre Summe ist 121. Der Wert 81 zählt nur die tiefste Schicht, während 120 alle erzeugten Knoten unterhalb der Wurzel zählt, aber die in der Frage verlangte Wurzel auslässt.

Frage 4 von 10

Gerichtete Kanten sind R→K, R→M, K→N, M→Z und N→Z. Die Breitensuche startet bei R und sucht Z, wobei sie Nachbarn alphabetisch erzeugt. Welchen Pfad gibt sie zurück?
  1. R–K–N–Z
  2. R–K–M–Z
  3. R–M–Z
  4. R–M–N–Z
Antwort zeigenAntwort ausblenden
Antwort: C
Nach dem Expandieren von R enthält die Warteschlange K und M. Das Expandieren von K fügt N hinter M an; das Expandieren von M erzeugt dann Z und der frühe Zieltest gibt R–M–Z zurück. Würde man K unmittelbar über N folgen, entspräche das einer Tiefensuche und würde die Lösung mit geringerer Tiefe und zwei Kanten verfehlen.

Frage 5 von 10

Eine gerichtete Karte hat P→Q 5 km, P→R 2 km, R→Q 1 km und Q→Z 4 km. Welche Route und welche Kosten gibt die uniforme Kostensuche von P nach Z zurück?
  1. P–Q–Z, 9 km
  2. P–R–Q–Z, 6 km
  3. P–Q–Z, 7 km
  4. P–R–Q–Z, 7 km
Antwort zeigenAntwort ausblenden
Antwort: D
Die uniforme Kostensuche expandiert zuerst R zu Kosten von 2 und verbessert Q von Kosten 5 auf Kosten 3. Q erzeugt dann Z zu Kosten von 7, was P–R–Q–Z ergibt. Würde die erste Ankunft bei Q beibehalten, ergäbe sich die Route mit Kosten von 9; die Graphensuche muss einen teureren ausstehenden Pfad ersetzen, wenn sie einen günstigeren entdeckt.

Frage 6 von 10

Eine tiefenbeschränkte Suche endet bei der Beschränkung 6 mit einem Abbruch wegen Tiefenbeschränkung. Was stellt dieses Ergebnis fest?
  1. Die Beschränkung verhinderte, dass die Suche ausgeschöpft wurde.
  2. Der erreichbare Zustandsraum enthält in keiner Tiefe ein Ziel.
  3. Das Ziel mit geringster Tiefe muss genau sieben Aktionen entfernt sein.
  4. Der erreichbare Zustandsraum hat die maximale Tiefe sechs.
Antwort zeigenAntwort ausblenden
Antwort: A
Ein Abbruch wegen Tiefenbeschränkung meldet, dass die Tiefenschranke weitere Exploration verhindert hat. Er lässt sowohl die Möglichkeit einer tiefer liegenden Lösung als auch die Möglichkeit offen, dass keine Lösung existiert. Er lokalisiert kein Ziel in der nächsten Tiefe; nur eine weitere Suche könnte feststellen, wo ein Ziel erreichbar ist.

Frage 7 von 10

Ein Puzzle mit endlichem Verzweigungsfaktor hat gleiche Zugkosten, unbekannte Zieltiefe und zu wenig Speicher für eine breite Suchfront. Welches uninformierte Verfahren findet eine Lösung mit geringster Tiefe und benötigt dabei den Speicher einer Tiefensuche?
  1. Uniforme Kostensuche
  2. Suche mit iterativer Vertiefung
  3. Gierige Bestensuche
  4. Tiefensuche
Antwort zeigenAntwort ausblenden
Antwort: B
Die Suche mit iterativer Vertiefung probiert steigende Tiefenbeschränkungen, sodass die erste erfolgreiche Iteration eine Lösung mit geringster Tiefe erreicht und dabei den Speicher einer Tiefensuche benötigt. Gewöhnliche Tiefensuche kann bei einer tieferen Lösung anhalten und bietet diese Garantie nicht. Die uniforme Kostensuche garantiert die günstigsten Kosten, speichert aber eine möglicherweise breite Prioritätswarteschlange, was der Speicherbeschränkung widerspricht.

Frage 8 von 10

Ein System kann Nachfolger aufzählen, aber keine Vorgänger. Es hat ein explizites Ziel. Was verhindert die übliche bidirektionale Suche?
  1. Die Vorwärtssuche kann den Zielzustand nicht erkennen.
  2. Die beiden Richtungen müssen unterschiedliche Kantenkosten haben.
  3. Die Rückwärtssuche kann ihre nächsten Zustände nicht erzeugen.
  4. Das Ziel muss mehrere akzeptable Zustände beschreiben.
Antwort zeigenAntwort ausblenden
Antwort: C
Die rückwärtige Hälfte benötigt Vorgänger: Zustände, die zu ihrem aktuellen Zustand führen können. Das bekannte Ziel liefert ihren Ausgangspunkt, aber nicht diese umgekehrten Übergänge. Ein explizites Ziel allein reicht daher nicht aus; die gewöhnliche Erzeugung vorwärts gerichteter Nachfolger liefert nicht unbedingt eine nutzbare Rückwärtssuche.

Frage 9 von 10

Eine Suche kann in jedem Zustand aus endlich vielen Aktionen wählen. Ein Zweig ist unendlich, und ein anderer erreicht in vier Aktionen ein Ziel. Was lässt sich über Breitensuche und baumartige Tiefensuche mit Zyklusprüfungen entlang des Pfads folgern?
  1. Die Breitensuche findet ein Ziel; die Tiefensuche kann auf dem unendlichen Zweig bleiben.
  2. Beide finden ein Ziel, weil jeder Zustand endlich viele Aktionen hat.
  3. Die Tiefensuche findet ein Ziel; die Breitensuche kann in einer unendlichen Schicht geringer Tiefe bleiben.
  4. Keine findet ein Ziel, weil der Zustandsraum unendlich ist.
Antwort zeigenAntwort ausblenden
Antwort: A
Der endliche Verzweigungsfaktor macht jede Schicht der Breitensuche endlich, sodass sie schließlich Tiefe vier erreicht. Die Tiefensuche kann den unendlichen Zweig über verschiedene Zustände immer weiter verlängern, ohne eine Zyklusprüfung entlang des Pfads auszulösen. Die Zyklusprüfung entfernt wiederholte Vorgänger, aber eine unendliche Kette neuer Zustände bleibt ein Hindernis für die Vollständigkeit der Tiefensuche.

Frage 10 von 10

Die uniforme Kostensuche durchsucht einen unendlichen Graphen mit endlichem Verzweigungsfaktor. Jeder Schritt kostet mehr als null, aber es gibt keine positive untere Schranke der Schrittkosten. Eine unendliche Kette hat aufsummierte Kosten, die sich 2 annähern, während ein direkt erreichbares Ziel 3 kostet. Was kann geschehen?
  1. Die Suche muss das Ziel zurückgeben, weil jeder Schritt positive Kosten hat.
  2. Die Suche kann die Kette ewig expandieren, bevor sie das Ziel entnimmt.
  3. Die Suche muss Misserfolg melden, nachdem die Kettenkosten 2 erreichen.
  4. Die Suche gibt irgendwo entlang der Kette ein günstigeres Ziel zurück.
Antwort zeigenAntwort ausblenden
Antwort: B
Jeder endliche Anfangsabschnitt der Kette kostet weniger als 2 und hat daher Vorrang vor dem Ziel mit Kosten von 3. Die uniforme Kostensuche kann ewig einen weiteren günstigeren Knoten der Suchfront finden. Strikt positive Einzelkosten reichen für dieses Vollständigkeitsargument im unendlichen Raum nicht aus; eine einheitliche positive untere Schranke würde unendlich viele Schritte unterhalb fester Kosten verhindern.
Set 2: Heuristiken, A* und Speicherbeschränkungen10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Die gierige Bestensuche hat die Knoten L mit bisher angefallenen Kosten von 2 und Schätzung 8, M mit Kosten von 9 und Schätzung 1 sowie N mit Kosten von 4 und Schätzung 3 in der Suchfront. Was entnimmt sie als Nächstes?
  1. L
  2. N
  3. M
  4. L und N zusammen
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

A* hat die Knoten J mit bisher angefallenen Kosten von 4 und Schätzung 6, K mit Kosten von 7 und Schätzung 2 sowie L mit Kosten von 2 und Schätzung 8 in der Suchfront. Welcher Knoten hat den niedrigsten Prioritätswert?
  1. K
  2. J
  3. L
  4. J und L zusammen
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Eine gierige Suche verwendet eine zulässige Heuristik und gibt eine Route mit Kosten von 18 zurück, obwohl eine Route mit Kosten von 13 existiert. Warum ist dieses Ergebnis mit ihrer Regel vereinbar?
  1. Eine zulässige Schätzung muss in jedem Zustand den Restkosten entsprechen.
  2. Sie ordnet nach bisher angefallenen Kosten ohne Restschätzungen.
  3. Eine zulässige Schätzung erlaubt an jedem Ziel eine positive Schätzung.
  4. Sie ordnet nach Restschätzungen ohne die Kosten des bereits zurückgelegten Pfads.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Eine gerichtete Karte hat R→T 3, R→U 6, T→Z 9 und U→Z 2. Die Schätzungen sind R 5, T 4, U 2 und Z 0. Welche Zielkosten gibt A* zurück?
  1. 12
  2. 8
  3. 7
  4. 11
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Gewichtetes A* verwendet eine zulässige Heuristik, Wiederöffnen und das Gewicht 1,5. Die optimalen Kosten betragen 20. Welche obere Schranke setzt seine Garantie für die zurückgegebenen Kosten?
  1. 20
  2. 30
  3. 21,5
  4. 40
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Eine IDA*-Iteration verwendet den Schwellenwert 14. Die oberhalb des Schwellenwerts beschnittenen Werte sind 17, 19, 17 und 24. Welcher Schwellenwert wird als Nächstes verwendet?
  1. 17
  2. 15
  3. 19
  4. 24
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

A* hat ein Ziel mit Kosten von 16 und einen Nichtzielknoten mit Priorität 14 in seiner Suchfront. Was muss es als Nächstes tun, wenn alle anderen Prioritätswerte größer sind?
  1. Den bereits erzeugten Zielknoten zurückgeben.
  2. Das Ziel entnehmen und seinen Pfad für optimal erklären.
  3. Den Nichtzielknoten mit der niedrigeren Priorität verwerfen.
  4. Den Nichtzielknoten entnehmen und die Suche fortsetzen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Eine endliche Suche benötigt einen optimalen Pfad. Ihre Heuristik ist zulässig, die Kosten nehmen nur wenige ganzzahlige Werte an und gewöhnliches A* erschöpft den Speicher für die Suchfront. Ein Lösungspfad passt problemlos in den Speicher. Welches Verfahren erhält die Optimalität durch Tiefensuchdurchläufe?
  1. Strahlsuche
  2. Gewichtetes A* mit Gewicht 2
  3. IDA*
  4. Gierige Bestensuche
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Eine gerichtete Karte hat S→A 2, S→B 1, B→A 2 und A→G 4. Die Schätzungen sind S 0, A 0, B 7 und G 0. A* prüft Ziele beim Entnehmen. Welche Kosten gibt es zurück, und welcher Mangel der Heuristik erklärt das Ergebnis?
  1. 6; B überschätzt, aber die zurückgegebene Route ist trotzdem optimal.
  2. 7; B überschätzt und verbirgt die günstigere Route über A.
  3. 6; alle Schätzungen sind zulässig, daher ist Optimalität garantiert.
  4. 7; A ist inkonsistent, weil seine Schätzung null ist.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

SMA* hat eine zulässige Heuristik. Sein Speicher kann einen vollständigen Lösungspfad mit Kosten von 25 aufnehmen, aber jeder optimale Pfad mit Kosten von 19 benötigt mehr Speicher als verfügbar. Welche Garantie bleibt für die zurückgegebenen Kosten?
  1. Es muss weiterhin die optimalen Kosten von 19 zurückgeben.
  2. Es muss Misserfolg melden und darf keinen Pfad zurückgeben.
  3. Es muss höchstens das 1,5-Fache von 19 zurückgeben.
  4. Es kann 25 zurückgeben; Kosten von 19 sind nicht garantiert.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 3: Prüfe, konstruiere und vergleiche Heuristiken10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

In einem Zustand mit tatsächlichen geringsten Restkosten von 11 ergibt eine Heuristik den Wert 13. Welche Eigenschaft wird in diesem Zustand verletzt?
  1. Vollständigkeit
  2. Positive Kosten
  3. Endliche Tiefe
  4. Zulässigkeit
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Zwei zulässige Schätzungen in einem Zustand sind 7 und 10. Welchen Wert verwendet ihre Kombination durch das Maximum?
  1. 7
  2. 17
  3. 10
  4. 3
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Eine gerichtete Kante X→Y kostet 3. Die Schätzungen sind 8 bei X und 4 bei Y. Was stellt diese Kante über die Konsistenz fest?
  1. Sie ist verletzt, weil 8 größer als 3 + 4 ist.
  2. Sie ist erfüllt, weil beide Werte positiv sind.
  3. Sie ist erfüllt, weil die Schätzungen um 4 fallen.
  4. Sie ist verletzt, weil 4 kleiner als 3 + 8 ist.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Das Ziel des 8-Puzzles ist „1 2 3 / 4 5 6 / 7 8 leer“. Wie lauten für „1 2 3 / 4 5 6 / leer 7 8“ die Schätzungen anhand der Anzahl falsch platzierter Kacheln und der aufsummierten Manhattan-Distanz?
  1. 3 und 4
  2. 2 und 2
  3. 2 und 4
  4. 3 und 2
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Eine Suche erzeugt 30 Knoten unterhalb ihrer Wurzel und findet eine Lösung in Tiefe 4. Welcher effektive Verzweigungsfaktor passt genau zu dieser Knotenzahl?
  1. 2
  2. 3
  3. 4
  4. 1,5
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Eine Person entfernt beim Entwurf eine Aktionsbeschränkung, lässt aber jede ursprüngliche Aktion zu ihren ursprünglichen Kosten verfügbar. Warum sind die exakten relaxierten Kosten eine sichere untere Schranke?
  1. Jede relaxierte Lösung muss im ursprünglichen Problem zulässig bleiben.
  2. Jede relaxierte Lösung muss weniger Aktionen als jede ursprüngliche Lösung verwenden.
  3. Jede ursprüngliche Lösung bleibt im relaxierten Problem verfügbar.
  4. Jede ursprüngliche Aktion muss nun strikt niedrigere numerische Kosten haben.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Eine gerichtete Karte hat R→X 2, R→Y 1, Y→X 2 und X→Z 5. Die Schätzungen sind R 0, X 0, Y 6 und Z 0. Ist die Heuristik zulässig und konsistent?
  1. Konsistent, aber unzulässig.
  2. Sowohl zulässig als auch konsistent.
  3. Weder zulässig noch konsistent.
  4. Zulässig, aber inkonsistent.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Zwei Musterdatenbanken verwenden disjunkte Kachelmengen, aber jede Tabelle berechnet eine Einheit für jeden Puzzlezug, einschließlich der Züge anderer Kacheln. Ein einzelner Zug kann beide Teilprobleme voranbringen. Welche Kombination ist garantiert zulässig?
  1. Die Summe, weil die Kachelmengen disjunkt sind.
  2. Das Maximum der beiden Tabellenwerte.
  3. Das Doppelte des größeren Tabellenwerts.
  4. Die Summe minus eins für jeden Puzzlezustand.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Eine bisherige Suche bewertet 80.000 Knoten mit jeweils 12 Mikrosekunden, darunter 2 für ihre Heuristik. Eine neue Heuristik benötigt 8 Mikrosekunden und verringert die Knotenzahl auf 48.000; die übrige Arbeit pro Knoten bleibt gleich. Wie verhält sich die neue Gesamtzeit zur bisherigen?
  1. 60 % der bisherigen Zeit
  2. 120 % der bisherigen Zeit
  3. 90 % der bisherigen Zeit
  4. 150 % der bisherigen Zeit
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Die zulässigen Heuristiken H und J ergeben im Zustand X die Werte 4 und 7 und im Zustand Y die Werte 9 und 6. Was lässt sich über Dominanz und ihr Maximum folgern?
  1. Keine dominiert; ihr Maximum ist zulässig.
  2. J dominiert H; ihr Maximum ist zulässig.
  3. H dominiert J; ihr Maximum kann überschätzen.
  4. Keine dominiert; ihre Summe ist immer zulässig.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 4: Landschaften, Neustarts und populationsbasierte Suche10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Ein Stundenplanoptimierer gibt einen vollständigen Plan zurück und verwirft die Folge der Vertauschungen, mit denen er gefunden wurde. Was macht lokale Suche für diese Aufgabe geeignet?
  1. Die endgültige Anordnung ist die benötigte Antwort.
  2. Die Vertauschungen müssen den günstigstmöglichen Pfad bilden.
  3. Jeder mögliche Stundenplan muss gleiche Qualität haben.
  4. Die vollständige Menge der Stundenpläne muss in den Speicher passen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein Zustand der lokalen Suche für das 6-Damen-Problem hat eine Dame pro Spalte. Ein Zug versetzt eine Dame in eine andere Zeile ihrer Spalte. Wie viele Nachbarn hat jeder Zustand?
  1. 36
  2. 25
  3. 30
  4. 12
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Ein strikt kostenminimierendes Bergsteigen befindet sich bei Kosten von 7. Die Nachbarkosten sind 9, 7, 8 und 10. Was tut es?
  1. Seitwärts gehen.
  2. Zu Kosten von 8 gehen.
  3. Zufällig neu starten.
  4. Bei Kosten von 7 anhalten.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Unabhängige Durchläufe des Bergsteigens sind mit Wahrscheinlichkeit 0,25 erfolgreich. Wie hoch ist die erwartete Anzahl der Durchläufe bis einschließlich zum ersten Erfolg?
  1. 3 Durchläufe
  2. 4 Durchläufe
  3. 5 Durchläufe
  4. 0,25 Durchläufe
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein Zug der simulierten Abkühlung erhöht bei Temperatur 6 zu minimierende Kosten um 3. Wie hoch ist seine Akzeptanzwahrscheinlichkeit ungefähr?
  1. 0,223
  2. 0,607
  3. 0,500
  4. 1,000
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Eltern eines genetischen Algorithmus sind „253142“ und „461325“. Eine Rekombination schneidet nach der dritten Ziffer und vertauscht die Endstücke. Wie lauten die Nachkommen?
  1. „253142“ und „461325“
  2. „251325“ und „463142“
  3. „253461“ und „142325“
  4. „253325“ und „461142“
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Eine maximierende lokale Suche startet bei P mit Wert 10. Erlaubte Änderungen sind P→Q (10), P→R (9), Q→V (10), Q→W (8), V→U (13) und V→Q (10). Ein Ziel benötigt den Wert 13. Wie klein darf die Beschränkung aufeinanderfolgender Seitwärtsschritte sein, damit ein Ziel ohne Verschlechterung erreichbar ist, und welches Landschaftsmerkmal bilden P, Q und V?
  1. 2; eine Schulter
  2. 1; eine Schulter
  3. 2; ein flaches lokales Maximum
  4. 3; ein striktes lokales Maximum
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Jeder unabhängige Neustart ist mit Wahrscheinlichkeit 0,2 erfolgreich. Ein fehlgeschlagener Durchlauf benötigt 6 Züge und ein erfolgreicher 10. Wie hoch ist die erwartete Gesamtzahl der Züge bis einschließlich zum ersten Erfolg?
  1. 30 Züge
  2. 40 Züge
  3. 34 Züge
  4. 50 Züge
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

Zwei Durchläufen der simulierten Abkühlung werden Kostenanstiege vorgeschlagen. Bei Durchlauf X beträgt der Anstieg 4 bei Temperatur 8; bei Durchlauf Y beträgt der Anstieg 2 bei Temperatur 2. Wie verhalten sich ihre Akzeptanzwahrscheinlichkeiten zueinander?
  1. X etwa 0,368; Y etwa 0,607.
  2. Beide etwa 0,607, weil beide Züge die Kosten verschlechtern.
  3. Beide etwa 0,368, weil beide Temperaturen positiv sind.
  4. X etwa 0,607; Y etwa 0,368.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Die lokale Strahlsuche behält drei Zustände. Von A aus haben die Nachfolger die Werte A1 11 und A2 7; von B aus B1 10 und B2 9; von C aus C1 8 und C2 6. In der nächsten Runde erzeugt A1 die Werte 13 und 5; B1 erzeugt 12 und 11; B2 erzeugt 10 und 9. Wie viele der nach zwei Runden der Auswahl der drei Besten verbleibenden Zustände stammen jeweils von den ursprünglichen Zuständen A, B und C ab?
  1. 2, 1 und 0
  2. 1, 2 und 0
  3. 1, 1 und 1
  4. 0, 3 und 0
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Set 5: Wähle und diagnostiziere Suchverfahren10 Übungsfragen

Speichere diese Einheit, um jede Antwort zu sehen und jedes Set zu üben.

Frage 1 von 10

Jeder Zug in einem endlichen Puzzle kostet 4 Einheiten. Was minimiert eine Lösung mit geringster Tiefe?
  1. Die Laufzeit der Heuristik und die Anzahl der Züge.
  2. Die erreichbaren Zustände und die Anzahl der Züge.
  3. Den maximalen Verzweigungsfaktor und die Anzahl der Züge.
  4. Die gesamten Pfadkosten und die Anzahl der Züge.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 2 von 10

Ein Puzzle mit beweglichen Feldern erlaubt eine besondere Drehung nur, bevor ein einmalig nutzbarer Riegel gezogen wurde. Sein Zustand erfasst derzeit nur die Positionen der Felder. Welche zusätzliche Zustandsinformation wird benötigt?
  1. Die Anzahl der Knoten, die aktuell in der Suchfront stehen.
  2. Ob der einmalig nutzbare Riegel bereits gezogen wurde.
  3. Die alphabetische Reihenfolge zur Auflösung von Gleichständen.
  4. Die Anzahl der bereits vom Planer ausprobierten Routen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 3 von 10

Zwei Routen erreichen ein Ziel: Eine hat 2 Aktionen mit Gesamtkosten von 14; eine andere hat 4 Aktionen mit Kosten von 8. Eine Heuristik ist nicht verfügbar. Welche Strategie garantiert im Modell mit positiven Kosten minimale Kosten?
  1. Uniforme Kostensuche
  2. Breitensuche
  3. Tiefensuche
  4. Tiefenbeschränkte Suche mit Beschränkung 2
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 4 von 10

Bei der kostenminimierenden simulierten Abkühlung senkt ein Vorschlag die Kosten um 5, während die Temperatur 0,1 beträgt. Wie wird dieser Vorschlag behandelt?
  1. Mit Wahrscheinlichkeit 0,007 akzeptieren.
  2. Wegen der niedrigen Temperatur ablehnen.
  3. Mit Wahrscheinlichkeit 1 akzeptieren.
  4. Nur nach einem Neustart akzeptieren.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 5 von 10

Ein Roboter bewegt sich horizontal, vertikal oder diagonal zu Kosten von eins. Von (2, 1) aus sucht er (7, 4) in einem Gitter ohne Hindernisse. Wie hoch sind die exakten Restkosten und welchen Status hat die Manhattan-Distanz in diesem Zustand?
  1. Kosten 8; die Manhattan-Distanz ist exakt.
  2. Kosten 5; die Manhattan-Distanz überschätzt.
  3. Kosten 3; die Manhattan-Distanz unterschätzt.
  4. Kosten 5; die Manhattan-Distanz ist hier zulässig.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 6 von 10

Gerichtete Kanten sind R→P 4, R→Q 1, Q→P 1 und P→Z 4. Die Schätzungen sind R 0, P 0, Q 5 und Z 0. Gleichstände werden alphabetisch aufgelöst. Welche Kosten geben A* ohne Wiederöffnen und A* mit Wiederöffnen zurück?
  1. 8 ohne Wiederöffnen; 6 mit Wiederöffnen.
  2. 6 ohne Wiederöffnen; 6 mit Wiederöffnen.
  3. 8 ohne Wiederöffnen; 8 mit Wiederöffnen.
  4. 6 ohne Wiederöffnen; 8 mit Wiederöffnen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 7 von 10

Ein Baum ist eine einzelne Kette mit seinem ersten Ziel in Tiefe 5. Zähle die erzeugten Knoten unterhalb der Wurzel über alle abgeschlossenen Durchläufe hinweg. Wie viele erzeugt die Suche mit iterativer Vertiefung bis einschließlich zu ihrem erfolgreichen Durchlauf im Vergleich zur Breitensuche?
  1. Iterative Vertiefung 5; Breitensuche 5.
  2. Iterative Vertiefung 20; Breitensuche 5.
  3. Iterative Vertiefung 15; Breitensuche 5.
  4. Iterative Vertiefung 15; Breitensuche 6.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 8 von 10

Eine Tabelle liefert eine zulässige Schätzung der Restkosten. Eine zweite Tabelle ist für eine andere Relaxation exakt und manchmal größer, manchmal kleiner. Optimalität ist erforderlich und die Tabellen können dieselben Züge zählen. Wie lassen sich beide Schätzungen sicher verwenden?
  1. Dort addieren, wo unterschiedliche Tabellen gewinnen.
  2. Ihre Summe abzüglich der Pfadkosten verwenden.
  3. Die größere plus die Hälfte der kleineren verwenden.
  4. In jedem Zustand ihr Maximum nehmen.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 9 von 10

A* verwendet eine konsistente Heuristik. Das Optimum kostet 12. Die ausstehenden Knoten X, Y und Z haben die Prioritäten 10, 12 und 15; ihre Werte bleiben unverändert. Was lässt sich über ihre Expansion folgern, bevor das optimale Ziel zurückgegeben wird?
  1. X muss expandiert werden; Y möglicherweise; Z nicht.
  2. X und Y müssen expandiert werden; Z möglicherweise.
  3. Nur X wird möglicherweise expandiert; Y und Z nicht.
  4. X, Y und Z müssen alle vor der Rückgabe expandiert werden.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Frage 10 von 10

Ein Durchlauf der simulierten Abkühlung verwendet die Temperatur eins und steht vor einem Kostenanstieg um 3. Die Zielfunktion wird so skaliert, dass alle Kosten mit 100 multipliziert werden. Welche Temperatur erhält die Akzeptanzwahrscheinlichkeit dieses Zugs, und warum?
  1. 1, weil eine Änderung der Einheiten den Exponenten nie ändert.
  2. 100, weil das Verhältnis von Anstieg zu Temperatur gleich bleibt.
  3. 0,01, weil die Temperatur die Kosten durch Division ausgleichen muss.
  4. 300, weil die Temperatur dem neuen Kostenanstieg entsprechen muss.
Antwort zeigenAntwort ausblenden

Speichere diese Einheit, um diese Antwort zu sehen.

Hängst du bei deiner eigenen Aufgabe fest? Hausaufgabenhilfe

Schlüsselbegriffe

84 Schlüsselbegriffe, jeweils mit Definition

A

A*-Suche
Die A-Suche* ordnet ausstehende Pfade nach bisher angefallenen Kosten plus geschätzten Restkosten und gibt ein Ziel zurück, wenn es die kleinste Priorität der Suchfront hat.
Die A*-Suche kann einen teuren Seitenzweig unexpandiert lassen, wenn seine Schätzung über den optimalen Zielkosten liegt.
Abbruch wegen Tiefenbeschränkung
Ein Abbruch wegen Tiefenbeschränkung ist ein Ergebnis der tiefenbeschränkten Suche, das anzeigt, dass die Schranke weitere Exploration verhindert hat und tiefer liegende Möglichkeiten ungeklärt bleiben.
Ein Abbruch wegen Tiefenbeschränkung in Tiefe 3 verlangt eine größere Beschränkung, wenn die Suche Routen mit vier Schritten untersuchen soll.
Abkühlungsplan
Ein Abkühlungsplan legt fest, wie sich die Temperatur bei der simulierten Abkühlung über die Zeit verändert. Meist senkt er sie, sodass schlechtere Züge seltener werden.
Ein geometrischer Abkühlungsplan multipliziert die Temperatur bei jeder Aktualisierung mit einem Faktor wie 0,95.
Abstraktion
Eine Abstraktion entfernt Einzelheiten aus einer Problemrepräsentation und erhält dabei die Ausführbarkeit der vorgeschlagenen Lösungen.
Eine Routenabstraktion kann die Farbe des Autos weglassen, wenn die Farbe weder den Zugang zu Straßen noch die Reisekosten verändert.
Additive Musterheuristik
Eine additive Musterheuristik summiert Teilproblemkosten, deren Zuordnung von Zugkosten verhindert, dass dieselbe Arbeit mehr als einmal angerechnet wird.
Eine additive Musterheuristik kann disjunkte Kachelmuster kombinieren, wenn jedes nur Züge seiner eigenen Kacheln anrechnet.
Aktionskosten
Aktionskosten sind die numerischen Kosten eines einzelnen Übergangs, etwa die Entfernung einer Straße oder eine Einheit für einen zulässigen Puzzlezug.
Die Aktionskosten einer Straße können 6 km betragen, selbst wenn ihre Nutzung nur als ein Suchschritt zählt.
Anfangszustand
Der Anfangszustand ist die Situation, von der eine Suche ausgeht, bevor eine Aktion der vorgeschlagenen Lösung ausgeführt wurde.
Bei einem Schiebepuzzle ist die vorgegebene Kachelanordnung der Anfangszustand, auch wenn viele andere Bretter möglich sind.

B

Backtracking-Suche
Eine Backtracking-Suche untersucht jeweils einen Nachfolger und kehrt zu früheren Entscheidungen zurück, wenn ein Zweig endet. Dabei speichert sie nur einen Pfad von Zuständen.
Die Backtracking-Suche vermeidet, alle Geschwisterknoten gleichzeitig zu speichern, wenn ein Zustand viele mögliche Nachfolger hat.
Baumsuche
Eine Baumsuche untersucht Pfade ohne globale Tabelle der erreichten Zustände und prüft manchmal nur, ob sich Zustände auf dem aktuellen Pfad wiederholen.
Eine Baumsuche kann eine Kreuzung über eine neue Route erneut erreichen, nachdem die frühere Route aufgegeben wurde.
Berechnungsaufwand der Heuristik
Der Berechnungsaufwand der Heuristik ist der Rechenaufwand, um eine Schätzung für einen Zustand zu erhalten. Er trägt zur gesamten Suchzeit bei.
Ein höherer Berechnungsaufwand der Heuristik kann eine starke Verringerung der Anzahl expandierter Zustände aufwiegen.
Bergsteigen
Bergsteigen wählt wiederholt einen besseren Nachbarn und hält an, wenn seine Regel keine Verbesserung erlaubt, ohne eine vollständige Route durch den Raum zu planen.
Striktes Bergsteigen hält bei Kosten von 4 an, wenn alle Nachbarn mindestens 4 kosten, selbst wenn ein entfernter Zustand null kostet.
Bergsteigen mit erster Verbesserung
Bergsteigen mit erster Verbesserung zieht Nachbarn einzeln und akzeptiert die erste Verbesserung, wodurch die Bewertung der gesamten Nachbarschaft entfällt.
Bergsteigen mit erster Verbesserung ist nützlich, wenn ein Kandidat Tausende möglicher kleiner Änderungen zur Prüfung hat.
Bewertungsfunktion
Eine Bewertungsfunktion weist die Priorität zur Auswahl ausstehender Suchknoten zu, etwa g bei der uniformen Kostensuche oder g + h bei A*.
Die Änderung der Bewertungsfunktion von h auf g + h macht einen teuren gierigen Umweg weniger attraktiv.
Bidirektionale Suche
Eine bidirektionale Suche untersucht den Raum vorwärts vom Start und rückwärts von einem Ziel und sucht eine Verbindung zwischen den beiden Suchen.
Die bidirektionale Suche kann auf einer Karte mit Straßen in beide Richtungen Arbeit sparen, wenn jede Suche ungefähr die halbe Tiefe der Route erreicht.
Breitensuche
Die Breitensuche expandiert zuerst den ausstehenden Knoten mit der geringsten Tiefe und findet durch Exploration in Tiefenreihenfolge eine Lösung mit den wenigsten Aktionen.
Die Breitensuche findet eine Netzwerkroute mit den wenigsten Zwischenstationen, wenn jede Verbindung als eine Aktion zählt.

D

Dominanz
Dominanz liegt vor, wenn eine zulässige Heuristik in jedem Zustand mindestens so groß ist wie eine andere und damit durchgehend eine stärkere untere Schranke liefert.
Die Manhattan-Distanz dominiert die Anzahl falsch platzierter Kacheln, weil jede verschobene Kachel mindestens einen Zug benötigt.
Dreiecksungleichung
Die Dreiecksungleichung für eine Suchheuristik beschränkt die aktuelle Schätzung durch die Kosten eines Schritts plus die Schätzung des nächsten Zustands.
Eine Kante mit Kosten von 2 von einer Schätzung von 7 zu einer Schätzung von 3 verletzt die für Konsistenz verwendete Dreiecksungleichung.

E

Effektiver Verzweigungsfaktor
Der effektive Verzweigungsfaktor ist der Verzweigungsfaktor eines gleichmäßigen Baums, der bei der Lösungstiefe zu einer gemessenen Knotenzahl der Suche passt.
Ein effektiver Verzweigungsfaktor nahe 1 beschreibt eine viel schmalere Exploration als eine breite uninformierte Suche.
Expansion
Bei einer Expansion werden alle zulässigen Aktionen auf den Zustand eines Knotens angewandt und Kindknoten erzeugt, die die entstehenden erweiterten Pfade repräsentieren.
Die Expansion einer Eckposition im 8-Puzzle erzeugt zwei Kindknoten, weil das leere Feld zwei Züge hat.

F

FIFO-Warteschlange
Eine FIFO-Warteschlange entnimmt Einträge in der Reihenfolge ihrer Ankunft, sodass neue Suchknoten hinter älteren, bereits in der Suchfront befindlichen Einträgen warten.
Eine FIFO-Warteschlange hält bei der Breitensuche neu erzeugte Knoten der Tiefe zwei hinter den verbleibenden Knoten der Tiefe eins.
Fitnessfunktion
Eine Fitnessfunktion bewertet einen Kandidaten eines genetischen Algorithmus, sodass die Selektion erfolgreichere Mitglieder der Population bevorzugen kann.
Eine Fitnessfunktion, die sich nicht angreifende Damenpaare zählt, weist einem gelösten Brett des 8-Damen-Problems den Wert 28 zu.
Früher Zieltest
Ein früher Zieltest prüft einen Knoten beim Erzeugen und erlaubt der Breitensuche, nach Prüfung der Wurzel beim ersten neu erzeugten Ziel anzuhalten.
Ein früher Zieltest lässt die Breitensuche anhalten, bevor sie das Ziel expandiert oder eine tiefere Schicht erzeugt.

G

Genetischer Algorithmus
Ein genetischer Algorithmus sucht mit einer Population kodierter Kandidaten, indem er wiederholt Eltern auswählt, sie kombiniert und ihre Nachkommen mutiert.
Ein genetischer Algorithmus kann die Zeile einer Dame pro Spalte als Zeichenkette mit acht Positionen kodieren.
Gewichtetes A*
Gewichtetes A* verwendet g + Wh mit einem Gewicht W größer als 1, um die Restschätzung stärker zu betonen und exakte Optimalität gegen eine Kostenschranke einzutauschen.
Gewichtetes A* mit Gewicht 2 und einer zulässigen Heuristik kann eine optimale Route zurückgeben, obwohl seine Garantie das Doppelte der Kosten erlaubt.
Gierige Bestensuche
Die gierige Bestensuche expandiert den Knoten mit der kleinsten Restkostenschätzung und ignoriert die bereits angefallenen Pfadkosten.
Die gierige Bestensuche kann ein nahe erscheinendes Ziel bevorzugen, das erst nach einem teuren Umweg erreicht wird.
Graphensuche
Eine Graphensuche merkt sich erreichte Zustände, um redundante Pfade zu vermeiden und einen Zustand zu aktualisieren, wenn ein besserer Pfad entdeckt wird.
Auf einer Straßenkarte mit vielen Zyklen vermeidet die Graphensuche, Rückkehrschritte zu einer bereits erreichten Stadt bei gleichen Kosten zu expandieren.
Grat
Ein Grat ist ein ansteigendes Landschaftsmerkmal, dessen Richtung mit den verfügbaren einzelnen lokalen Zügen schwer zu folgen ist.
Ein Grat kann Bergsteigen blockieren, wenn jeder erlaubte unmittelbare Zug den Wert senkt, obwohl voraus bessere Zustände liegen.

H

Heuristik der falsch platzierten Kacheln
Die Heuristik der falsch platzierten Kacheln zählt nummerierte Puzzlekacheln außerhalb ihrer Zielfelder, schließt das leere Feld aus und ignoriert, wie weit jede Kachel bewegt werden muss.
Die Heuristik der falsch platzierten Kacheln ergibt für eine einzelne verschobene nummerierte Kachel unabhängig von ihrer Entfernung zum Ziel den Wert 1.
Heuristische Funktion
Eine heuristische Funktion schätzt die geringsten Restkosten von einem Zustand zu einem Ziel und liefert Fachwissen über das Problemgebiet, um Suchprioritäten zu steuern.
Eine heuristische Funktion kann Luftlinienkilometer als Schätzung einer unteren Schranke der verbleibenden Straßenentfernung angeben.

I

IDA*
IDA* wiederholt Tiefensuchen mit einer Schranke für geschätzte Gesamtkosten und erhöht jeden Schwellenwert auf den kleinsten Wert, der oberhalb des vorherigen Schwellenwerts beschnitten wurde.
IDA* kann vom Schwellenwert 8 zum Schwellenwert 11 übergehen, wenn 11 die kleinste ausgeschlossene Priorität war.
Impliziter Zustandsraum
Ein impliziter Zustandsraum wird durch einen Anfangszustand und Regeln zur Erzeugung von Nachfolgern statt durch eine gespeicherte Liste aller Zustände festgelegt.
Das 15-Puzzle verwendet einen impliziten Zustandsraum, weil das Auflisten aller erreichbaren Bretter enormen Speicher benötigen würde.

K

Konsistente Heuristik
Eine konsistente Heuristik ist an Zielen null und übersteigt für jede gerichtete Aktion nie die Kosten eines Schritts plus die Schätzung des Nachfolgers.
Eine konsistente Heuristik erlaubt A*, einen Zustand nach der Expansion seines günstigsten Pfads dauerhaft abzuschließen.
Kostenkontur der optimalen Lösung
Eine Kostenkontur der optimalen Lösung markiert eine Priorität in Höhe der Kosten der optimalen Lösung und trennt Pfade mit niedrigeren Prioritätswerten von teureren Schätzungen.
Bei Konsistenz expandiert A* Pfade unterhalb der Kostenkontur der optimalen Lösung und möglicherweise einige Pfade mit gleichem Wert auf der Kontur.
Kostenoptimalität
Kostenoptimalität ist die Garantie, dass eine zurückgegebene Lösung unter allen Lösungen des Suchproblems die geringsten gesamten Pfadkosten hat.
Die Breitensuche ist bei Zügen mit Kosten von eins kostenoptimal, kann aber bei unterschiedlichen Straßenentfernungen eine teure Route wählen.
Kostenschranke
Eine Kostenschranke begrenzt, wie teuer eine zurückgegebene Lösung sein darf, ohne zu verlangen, dass ihre Kosten dem Optimum oder der Schranke selbst entsprechen.
Die Kostenschranke W mal C* bei gewichtetem A* erlaubt weiterhin, dass ein Durchlauf das exakte Optimum findet.

L

LIFO-Stapel
Ein LIFO-Stapel entnimmt den zuletzt hinzugefügten Eintrag zuerst, sodass neu erzeugte Kindknoten vor älteren ausstehenden Alternativen verfügbar sind.
Ein LIFO-Stapel lässt die Tiefensuche in einem Kindzweig fortfahren, während die anderen Kinder der Wurzel ausstehen.
Lokale Strahlsuche
Eine lokale Strahlsuche fasst die Nachbarn mehrerer gespeicherter Zustände zusammen und wählt eine neue Gruppe daraus aus, sodass Kandidaten ihren Fortschritt teilen.
Die lokale Strahlsuche kann mehrere Kindzustände eines vielversprechenden Elternzustands und keinen eines anderen behalten.
Lokale Suche
Eine lokale Suche verbessert einen oder einige wenige Kandidatenzustände durch kleine Änderungen und verwirft üblicherweise die Folge der Änderungen, die sie erzeugt haben.
Lokale Suche kann einen vollständigen Stundenplan verbessern und dabei nur eine kleine Anzahl von Kandidatenplänen speichern.
Lokales Optimum
Ein lokales Optimum ist ein Zustand, dessen benachbarte Alternativen keinen besseren Wert bieten, obwohl anderswo ein besserer Zustand existieren kann.
Bergsteigen kann an einem lokalen Optimum mit zwei Damenkonflikten anhalten, während eine konfliktfreie Anordnung existiert.
Lösung mit geringster Tiefe
Eine Lösung mit geringster Tiefe benötigt die wenigsten Aktionen, um ein Ziel zu erreichen, ohne bei unterschiedlichen Aktionskosten unbedingt die geringste Kostensumme zu haben.
Eine Lösung mit geringster Tiefe und zwei langen Straßen kann mehr Kilometer kosten als eine Route mit drei kurzen Straßen.
Lösungstiefe
Die Lösungstiefe ist die Anzahl der Aktionen von der Wurzel zu einem Zielknoten; die geringste Lösungstiefe wird üblicherweise als d bezeichnet.
Eine Lösungstiefe von 3 beschreibt drei Aktionen, unabhängig davon, ob diese Aktionen 3 oder 30 Einheiten kosten.
Luftlinienentfernung
Die Luftlinienentfernung zwischen zwei Positionen misst ihren direkten Abstand und ignoriert Routenbeschränkungen wie Straßen oder Wände.
Die Luftlinienentfernung unterschätzt die Straßenentfernung, wenn eine reisende Person einer kurvenreichen Straße um einen See folgen muss.

M

Manhattan-Distanz
Die Manhattan-Distanz addiert die absoluten horizontalen und vertikalen Differenzen und ergibt eine Entfernung ohne Hindernisse für horizontale und vertikale Züge der Länge eins.
Für eine Kachel, die zwei Zeilen und drei Spalten von ihrem Ziel entfernt ist, trägt die Manhattan-Distanz fünf zur Puzzleschätzung bei.
Menge der erreichten Zustände
Eine Menge der erreichten Zustände erfasst erzeugte Zustände und ihre besten bekannten Knoten, einschließlich der Zustände in der Suchfront und bereits expandierter Zustände.
Die uniforme Kostensuche prüft die Menge der erreichten Zustände, wenn eine zweite Route zu einer Stadt deren gespeicherte Kosten verbessern könnte.
Musterdatenbank
Eine Musterdatenbank speichert exakte Kosten ausgewählter Teilprobleme, die im Voraus berechnet werden, sodass eine vollständige Suche untere Schranken nachschlagen kann.
Eine Musterdatenbank kann die Kacheln 1 bis 4 verfolgen und dabei andere nummerierte Kacheln als austauschbar behandeln.
Mutation
Eine Mutation verändert eine einzelne Position in der Kodierung eines Kandidaten und ergänzt die durch Rekombination vererbten Kombinationen um Variation.
Eine Mutation kann die kodierte Zeile einer Dame verändern und die anderen sieben Spalteneinträge unverändert lassen.

N

Nachbarschaft
Eine Nachbarschaft ist die Menge der durch eine erlaubte lokale Änderung erreichbaren Zustände und bestimmt die unmittelbaren Alternativen, die eine Suche vergleichen kann.
Das Verschieben einer Dame innerhalb ihrer Spalte definiert für einen Kandidaten des 8-Damen-Problems eine Nachbarschaft von 56 Zuständen.

O

Optimale Effizienz
Optimale Effizienz beschreibt den Vorteil von A* bei notwendigen Expansionen gegenüber vergleichbaren Vorwärtssuchen mit derselben konsistenten Heuristik, abgesehen von Gleichständen.
Optimale Effizienz bedeutet nicht, dass A* immer die kürzeste Laufzeit hat, wenn die Berechnung der Heuristik aufwendig ist.

P

Pfadkosten
Pfadkosten sind die Summe der Aktionskosten entlang eines Pfads. Mit ihnen werden während der Suche vollständige und unvollständige Routen verglichen.
Eine Route aus drei Straßen mit Aktionskosten von 2, 3 und 4 km hat Pfadkosten von 9 km.
Plateau
Ein Plateau ist ein zusammenhängender Bereich mit gleichem Zielfunktionswert, der keinen verbessernden Ausgang haben oder eine Schulter mit einem solchen Ausgang sein kann.
Seitwärtsschritte können ein Plateau überqueren, aber auch gleichwertige Zustände erneut besuchen, ohne Fortschritt zu machen.
Positive untere Kostenschranke
Eine positive untere Kostenschranke ist ein fester Wert über null, den keine Aktionskosten unterschreiten. Sie begrenzt die Anzahl der Schritte bei beschränkten Pfadkosten.
Eine positive untere Kostenschranke von 2 bedeutet, dass ein Pfad mit Kosten von höchstens 10 höchstens fünf Aktionen enthalten kann.
Prioritätswarteschlange
Eine Prioritätswarteschlange wählt einen Eintrag mit dem besten Prioritätswert aus und ermöglicht so einer kostenbasierten Suche, den günstigsten ausstehenden Pfad zu wählen.
Eine Prioritätswarteschlange kann bei der uniformen Kostensuche eine neu eingefügte Route mit Kosten von 3 vor einer älteren Route mit Kosten von 8 entnehmen.

R

Rekombination
Eine Rekombination kombiniert Teile zweier Elternkodierungen zu Nachkommen und kann dabei nützliche Bausteine erhalten und neue Kombinationen erzeugen.
Eine Rekombination nach Position vier verbindet die ersten vier Damenzeilen eines Elternteils mit den letzten vier des anderen.
Rekursive Bestensuche
Die rekursive Bestensuche verwendet Speicher in der Größenordnung eines Pfads und gespeicherte alternative Prioritäten, um zu entscheiden, wann sie zurückgeht und einen anderen Zweig erneut besucht.
Die rekursive Bestensuche kann einen aufgegebenen Teilbaum erneut erzeugen, nachdem dessen gespeicherte Alternative zur vielversprechendsten Route geworden ist.
Relaxiertes Problem
Ein relaxiertes Problem entfernt Beschränkungen der ursprünglichen Aktionen und hält ursprüngliche Lösungen verfügbar, sodass sein Optimum eine sichere untere Schranke ist.
Das Ignorieren von Wänden erzeugt ein relaxiertes Problem für einen Gitterroboter, der sich weiterhin jeweils eine horizontale oder vertikale Zelle bewegt.

S

Seitwärtsschritt
Ein Seitwärtsschritt verändert den aktuellen Zustand, ohne seinen Zielfunktionswert zu verändern, und erlaubt einer lokalen Suche, sich über einen flachen Bereich zu bewegen.
Eine Strategie mit begrenzten Seitwärtsschritten kann Bergsteigen helfen, eine Schulter zu überqueren, ohne ewig umherzuwandern.
Simulierte Abkühlung
Die simulierte Abkühlung zieht lokale Züge und akzeptiert manchmal einen schlechteren. Diese Wahrscheinlichkeit wird durch die Größe der Verschlechterung und die Temperatur gesteuert.
Die simulierte Abkühlung kann ein lokales Minimum verlassen, indem sie einen vorübergehenden Kostenanstieg eines Plans akzeptiert.
SMA*
SMA* nutzt den verfügbaren Speicher für die Suche, verwirft bei vollem Speicher die schlechtesten Blätter der Suchfront und speichert ihre zurückübertragenen Werte für eine spätere erneute Erzeugung.
SMA* benötigt Platz für einen optimalen Lösungspfad, um seine Optimalitätsgarantie bei zulässiger Heuristik zu erhalten.
Später Zieltest
Ein später Zieltest prüft einen Knoten, wenn er aus der Suchfront entnommen wird, und erhält bei der Abbruchentscheidung die Ordnung der Warteschlange.
Der späte Zieltest verhindert, dass die uniforme Kostensuche ein teures direktes Ziel akzeptiert, bevor ein günstigerer Umweg untersucht wurde.
Speicherkomplexität
Die Speicherkomplexität einer Suche beschreibt die maximal gespeicherte Information, einschließlich ausstehender Pfade und etwaiger gespeicherter Einträge zu erreichten Zuständen.
Die Speicherkomplexität der Breitensuche wird aufwendig, wenn eine breite letzte Schicht Millionen von Knoten in der Suchfront hält.
Stochastisches Bergsteigen
Stochastisches Bergsteigen wählt zufällig unter verbessernden Zügen und kann größeren Verbesserungen dabei eine höhere Auswahlwahrscheinlichkeit geben.
Stochastisches Bergsteigen kann eine kleinere Verbesserung wählen, selbst wenn ein Nachbar mit steilerer Verbesserung verfügbar ist.
Strahlsuche
Eine Strahlsuche behält nur eine begrenzte Anzahl vielversprechender Kandidaten und verwirft den Rest, wodurch sie einen notwendigen Lösungszweig verlieren kann.
Eine Strahlsuche mit Breite 3 kann den viertbesten Pfad verwerfen, selbst wenn sich dieser später als einzige Route zu einem Ziel erweist.
Suche mit iterativer Vertiefung
Die Suche mit iterativer Vertiefung wiederholt tiefenbeschränkte Exploration mit steigenden Beschränkungen, um Lösungen mit geringster Tiefe mit dem Speicherbedarf der Tiefensuche zu verbinden.
Die Suche mit iterativer Vertiefung kann ein Puzzle mit gleichen Kosten lösen, ohne die gesamte Suchfront einer Breitensuche zu speichern.
Suchfront
Die Suchfront ist die Sammlung erzeugter Knoten, die darauf warten, zur Expansion ausgewählt zu werden. Sie wird auch Randmenge genannt.
Nach der Expansion des Startknotens enthält die Suchfront dessen neu erzeugte Nachfolger, die auf ihre Auswahl warten.
Suchknoten
Ein Suchknoten repräsentiert einen bestimmten Pfad zu einem Zustand und speichert den Zustand, den Elternknoten, die eingehende Aktion und die bisher angefallenen Pfadkosten.
Zwei Suchknoten können in derselben Stadt enden und dabei unterschiedliche Routen und Kosten erfassen.

T

Tatsächliche Restkosten
Die tatsächlichen Restkosten sind die geringsten tatsächlichen Kosten, um von einem Zustand aus ein beliebiges Ziel zu erreichen. Sie bilden den Referenzwert für die Zulässigkeit.
Ein Heuristikwert von 9 überschätzt, wenn die tatsächlichen Restkosten 7 betragen, selbst wenn die meisten anderen Schätzungen genau sind.
Temperatur
Die Temperatur ist der positive Parameter, der die Toleranz für schlechtere Züge bei der simulierten Abkühlung steuert. Höhere Werte erlauben mehr Exploration.
Bei einem festen Kostenanstieg macht eine Senkung der Temperatur von 10 auf 1 die Akzeptanz viel weniger wahrscheinlich.
Tiefenbeschränkte Suche
Die tiefenbeschränkte Suche ist eine Tiefensuche, die Ziele erkennt, aber Knoten jenseits einer festgelegten Tiefenschranke nicht expandiert.
Eine tiefenbeschränkte Suche mit Beschränkung 4 kann kein Ziel erreichen, das mindestens sechs Aktionen von der Wurzel entfernt ist.
Tiefensuche
Die Tiefensuche folgt einem tiefen ausstehenden Pfad, bevor sie Alternativen ausprobiert, und steuert die Auswahl mit einem Stapel oder rekursivem Backtracking.
Die Tiefensuche kann einen langen Zweig untersuchen, bevor sie zu einem Ziel zurückkehrt, das nur zwei Schritte vom Start entfernt ist.

Ü

Übergangsmodell
Ein Übergangsmodell gibt den Zustand an, der entsteht, wenn eine zulässige Aktion auf einen bestimmten aktuellen Zustand angewandt wird.
Bei einem Schiebepuzzle vertauscht das Übergangsmodell das leere Feld mit der Kachel daneben, wenn sich das leere Feld nach links bewegt.

U

Uniforme Kostensuche
Die uniforme Kostensuche expandiert den Knoten mit den kleinsten bisher angefallenen Pfadkosten und gibt ein Ziel zurück, wenn es aus der Suchfront entnommen wird.
Die uniforme Kostensuche kann den Eintrag einer ausstehenden Stadt verbessern, nachdem sie eine günstigere Route über eine andere Stadt entdeckt hat.
Uninformierte Suche
Eine uninformierte Suche nutzt die zulässigen Aktionen, Ziele und Kosten des Problems, ohne die geringsten Restkosten zu einem Ziel zu schätzen.
Die uniforme Kostensuche ist eine uninformierte Suche, obwohl sie Pfade sorgfältig nach ihren bisher angefallenen Kosten ordnet.

V

Verzweigungsfaktor
Der Verzweigungsfaktor ist die Anzahl der an einem Knoten verfügbaren Nachfolger, wobei Schranken für den schlechtesten Fall die größte solche Anzahl verwenden.
Ein Verzweigungsfaktor von 4 kann 16 Pfade der Tiefe zwei erzeugen, bevor Duplikatprüfungen Überschneidungen entfernen.
Vollständige Zustandsformulierung
Eine vollständige Zustandsformulierung macht jeden Zustand zu einem vollständigen Lösungskandidaten, einschließlich solcher Kandidaten, die noch Konflikte oder eine geringe Qualität haben.
Eine vollständige Zustandsformulierung des 8-Damen-Problems platziert alle acht Damen, bevor ein verbessernder Zug betrachtet wird.
Vollständigkeit
Vollständigkeit ist die Garantie, dass ein Algorithmus unter den angegebenen Bedingungen für seinen Suchraum eine Lösung findet, wann immer eine existiert.
Die Breitensuche ist bei endlichem Verzweigungsfaktor vollständig, weil jede Schicht endlicher Tiefe schließlich erreicht wird.
Vorberechnung
Vorberechnung erledigt wiederverwendbare Arbeit vor einzelnen Suchen und tauscht anfängliche Zeit und Speicher gegen schnellere spätere Schätzungen ein.
Die Vorberechnung einer Musterdatenbank lässt sich leichter rechtfertigen, wenn viele Puzzles dieselbe Zielanordnung haben.
Vorgänger
Ein Vorgänger eines Zustands ist ein Zustand, von dem aus eine Aktion diesen Zustand erreichen kann. Vorgänger liefern die für die Rückwärtssuche benötigten umgekehrten Übergänge.
Auf einer gerichteten Karte hat ein Vorgänger der Stadt Z eine Straße nach Z, selbst wenn keine Straße von Z zurückführt.

W

Wiederöffnen
Das Wiederöffnen berücksichtigt einen expandierten Zustand erneut, nachdem ihn ein günstigerer Pfad erreicht hat, sodass diese Verbesserung spätere Pfade beeinflussen kann.
A* benötigt möglicherweise das Wiederöffnen, wenn eine zulässige, aber inkonsistente Heuristik eine bessere Route spät erkennen lässt.

Z

Zielfunktion
Eine Zielfunktion weist einem Kandidatenzustand eine numerische Qualität zu und legt fest, ob die lokale Suche ihren Wert maximieren oder minimieren soll.
Eine Zielfunktion, die Damenkonflikte zählt, wird minimiert, während eine Funktion, die sichere Paare zählt, maximiert wird.
Zieltest
Ein Zieltest entscheidet, ob ein Zustand die geforderte Bedingung erfüllt, die einen bestimmten Zustand oder eine Eigenschaft vieler Zustände beschreiben kann.
Der Zieltest bei der Damenplatzierung prüft, ob sich kein Damenpaar angreift, und lässt mehrere Endanordnungen zu.
Zufälliger Neustart
Ein zufälliger Neustart beginnt einen neuen lokalen Suchdurchlauf von einem neu gezogenen Zustand aus und gibt eine weitere Chance, eine nützliche Suchregion zu erreichen.
Ein zufälliger Neustart kann aus einem ungünstigen Einzugsgebiet herausführen, nachdem striktes Bergsteigen an einem lokalen Optimum angehalten hat.
Zulässige Heuristik
Eine zulässige Heuristik ist eine nichtnegative Schätzung, die nie die tatsächlichen geringsten Restkosten übersteigt und daher an einem Ziel null ist.
Eine zulässige Heuristik mit dem Wert null ist für A* sicher, bietet aber über die uniforme Kostensuche hinaus keine Orientierung.
Zustand
Ein Zustand beschreibt eine mögliche Situation in einem Problem und enthält die Informationen, die nötig sind, um zulässige Aktionen und ihre Ergebnisse zu bestimmen.
Der Zustand eines Roboters kann sowohl seinen Standort als auch die Information enthalten, ob er den zum Öffnen einer Tür benötigten Schlüssel trägt.
Zyklusprüfung im aktuellen Pfad
Eine Zyklusprüfung im aktuellen Pfad verwirft einen Nachfolger, der bereits zu den Vorgängern des aktuellen Knotens gehört, und verhindert so, dass ein Suchpfad sich selbst erneut besucht.
Eine Zyklusprüfung im aktuellen Pfad blockiert S–A–S, erlaubt aber weiterhin, dass ein anderer Zweig A später über eine andere Route erreicht.

Über diese Einheit

Von StudeliFehler melden

Erstelle deine eigenen Lernmaterialien

Mach aus deinen Notizen, Folien und Dokumenten Lernleitfäden, Übungsfragen, Karteikarten und 6 weitere Tools.

Jetzt starten