Wikipedia sagt auf A * Komplexität der folgenden (link here):Warum ist die Komplexität von A * exponentiell im Speicher?
Problematischer als die Zeit Komplexität ist A * s Speichernutzung. In der schlimmste Fall, muss auch eine exponentielle Anzahl von Knoten erinnern.
ich nicht das ist zu sehen, richtig, weil:
sagen, dass wir den Knoten A erkunden, mit Nachfolger B, C und D. Dann fügen wir B, C und D in der Liste des offenen Knoten, jeweils mit einem Verweis auf A, und wir bewegen A von den offenen Knoten zu den geschlossenen Knoten.
Wenn wir irgendwann einen anderen Pfad zu B finden (zB über Q), der besser ist als der Pfad durch A, dann muss nur B auf A umgestellt werden, um auf Q zu zeigen und seine Aktualität zu aktualisieren Kosten, g (und logisch f).
Wenn wir also in einem Knoten seinen Namen, seinen Namen und die g-, h- und f-Werte speichern, ist die maximale Anzahl der gespeicherten Knoten die tatsächliche Anzahl der Knoten im Diagramm es? Ich kann wirklich nicht verstehen, warum der Algorithmus zu irgendeinem Zeitpunkt eine Menge von Knoten im Speicher speichern müsste, die exponentiell zur Länge des optimalen (kürzesten) Pfads ist.
Könnte jemand bitte erklären?
bearbeiten Wie ich jetzt verstehe Ihre Antworten zu lesen, war ich von der falschen Sicht des Problems Argumentation. Ich nahm eine gegeben Grafik vorausgesetzt, während die exponentielle Komplexität bezieht sich auf eine konzeptionelle Grafik, die ausschließlich durch einen "Verzweigungsfaktor" definiert ist.
Kurz, prägnant, und es ließ mich meinen Fehler sofort verstehen. Gute Antwort. – Paul
Tatsächlich lautet der Text auf Wikipedia jetzt "Im schlimmsten Fall ist die Anzahl der expandierten Knoten exponentiell in der Länge der Lösung (der kürzeste Weg)". –
@ziggystar Ich arbeite mit dem A * -Algorithmus und bin mir nicht sicher, wie ich die Laufzeitkomplexität des Algorithmus finde. Ich habe ein 2D Gitter mit Hindernissen und suche den kürzesten Weg zwischen zwei Punkten. Hier sind die Details http://stackoverflow.com/questions/16141678/how-to-compute-the-running-time-of-a-star-algorithm. Woher weiß ich die Laufzeit von A-star? Vielen Dank. – Kraken