www.wikidata.de-de.nina.az
Bestensuche engl best first search ist ein Algorithmus zum Durchsuchen eines Graphen bei dem in jeder Iteration der vielversprechendste Knoten gewahlt wird bewertet nach einer gewissen Heuristik Damit zahlt er zu den informierten Such Algorithmen Judea Pearl beschrieb die Bestensuche als das Abschatzen der Kosten eines Knotens n nach einer heuristischen Bewertungsfunktion f n displaystyle f n die im Allgemeinen abhangig von der Beschreibung von n ist der Beschreibung des Ziels den vom Algorithmus bis zu diesem Zeitpunkt gesammelten Informationen und vor allem vom Zusatzwissen uber die Problemdomane selbst 1 Um den vielversprechendsten Folgeknoten zu bestimmen wird in konkreten Implementierungen oftmals eine Vorrangwarteschlange verwendet Ein bekanntes Beispiel fur die Bestensuche ist der A Algorithmus Zur Wegfindung wird Bestensuche auch oftmals in der kombinatorischen Optimierung eingesetzt Inhaltsverzeichnis 1 Pseudo Code 2 Siehe auch 3 Einzelnachweise 4 WeblinksPseudo Code BearbeitenOPEN Ausgangszustand while OPEN nicht leer do 1 Nimm besten Knoten aus OPEN nenne ihn n 2 Wenn n der Zielzustand ist bestimme Pfad zu n anhand gemerkter Elternknoten und gib ihn zuruck 3 Expandiere Nachfolger von n 4 Bewerte jeden Nachfolger mithilfe der Heuristik fuge ihn zu OPEN hinzu und merke n als Elternknoten done Diese Version des Algorithmus ist allerdings nicht vollstandig d h der gegebene Pseudo Code findet nicht zu jeder moglichen Kombination von Start und Zielknoten einen Weg auch wenn dieser existiert Beispielsweise verfangt sich der Algorithmus in einer Endlosschleife sobald ein betrachteter Knoten keine Nachfolger mehr hat ausser dem Elternknoten selbst In diesem Fall wurde der Elternknoten erneut auf die OPEN Liste gestellt und daraufhin erneut betrachtet werden was in einer endlosen Rekursion resultiert Die folgende Version erweitert den Algorithmus um eine zusatzliche CLOSED Liste die alle bereits bewerteten Knoten beinhaltet Da somit kein Knoten zweimal besucht wird werden hierdurch Endlosschleifen verhindert OPEN Ausgangszustand CLOSED while OPEN nicht leer do 1 Nimm besten Knoten aus OPEN nenne ihn n fuge ihn zu CLOSED hinzu 2 Wenn n der Zielzustand ist bestimme Pfad zu n anhand gemerkter Elternknoten und gib ihn zuruck 3 Expandiere Nachfolger von n 4 Fur jeden Nachfolger a Wenn nicht bereits in CLOSED bewerte ihn mithilfe der Heuristik fuge ihn zu OPEN hinzu und merke n als Elternknoten b Sonst Aktualisiere gemerkten Elternknoten des Nachfolgers wenn neuer Weg uber n kostengunstiger ist als vorheriger done 2 Siehe auch BearbeitenGreedy Algorithmus A Algorithmus Dijkstra AlgorithmusEinzelnachweise Bearbeiten Pearl J Heuristics Intelligent Search Strategies for Computer Problem Solving Addison Wesley 1984 Seite 48 http wiki roblox com index php Best first search Pseudo CodeWeblinks BearbeitenWikibooks Artificial Intelligence Best First Search Abgerufen von https de wikipedia org w index php title Bestensuche amp oldid 218310470