Ich weiß, dass eine heuristische Funktion, die die tatsächliche Entfernung zum Ziel nie überschätzt, als zulässig bezeichnet wird. Ich habe in der Praxis eine heuristische Funktion gefunden, aber ich weiß nicht, wie man einen formellen Beweis gibt. Wie kann ich beweisen, dass eine heuristische Funktion zulässig ist? Zum Beispiel: Manhattan Entfernung Heuristik.Wie beweisen Zulässigkeit einer heuristischen Funktion
Antwort
Wenn Sie die tatsächliche Entfernung vom Ziel formell definieren können, können Sie eine Einschränkung einfach eliminieren, um eine zulässige Heuristik zu entwickeln.
Zum Beispiel: Der Manhattan-Abstand von einem Punkt (x1, y1) zu Punkt (x2, y2) gleich | x1-x2 | + | Y1-Y2 |. Sie können einen Begriff einfach eliminieren, um eine Heuristik zu erstellen. Zum Beispiel h = | x1-x2 |. Um zu beweisen, dass dies eine zulässige Heuristik ist, zeigen Sie, dass | x1-x2 | ist kleiner oder gleich | x1-x2 | + | y1-y2 |
... für alle x1, x2, y1, y2.
Eine andere zulässige Heuristik wäre die geradlinige Entfernung, und Sie können beweisen, dass das immer weniger als die Manhattan-Entfernung ist.
Im Allgemeinen werden relaxierende Bedingungen zu zulässigen Heuristiken führen.
Wenn Sie mit Entfernungen arbeiten, wird die gerade Linie immer eine zulässige Heuristik sein, denn das wird niemals eine Überschätzung sein.
Lassen Sie mich wissen, ob dies Ihre Frage beantwortet :)
- 1. IDA * und Zulässigkeit einer Heuristik?
- 2. NULL-Zulässigkeit (Reguläre Ausdrücke)
- 3. Übersetzen von Fitness-Funktion von einem Meta-heuristischen Algorithmus [LOA]
- 4. Zeiger fehlen einer NULL-Zulässigkeit Typspezifizierer
- 5. SQL Server: Spalte NULL-Zulässigkeit Inkonsistenz
- 6. Primitive Operationen in Beweisen
- 7. Wie Snoop Ihre wpf-Anwendung zu beweisen?
- 8. Beweisen Sie die quadratische Antastfunktion
- 9. Wie kann man einen Abtastalgorithmus beweisen?
- 10. Wie benutzt man Devel :: Cover mit beweisen?
- 11. Wie beweisen Dafny Count <Größe
- 12. NULL-Zulässigkeit Regeln für C++ Objekte in Objective-C++
- 13. Erzwingen Sie, dass Google AutoFill den heuristischen Typ verwendet?
- 14. Lineare Konflikte, die Zulässigkeit verletzen und mich verrückt machen
- 15. Beweisen Sie das Transpositions-Theorem
- 16. Beweisen Sie, dass Fowlers Geldallokationsalgorithmus korrekt ist
- 17. Wie können wir beweisen, dass JavaScript-Funktionen Objekte sind?
- 18. Beweisen X vor Y Prolog
- 19. Beweisen, dass Multiplikation ist kommutativ
- 20. Beweisen kein solcher Algorithmus existiert
- 21. Wie eine Kombination von asymptotischen Notationen zu beweisen?
- 22. Objective-C: erzwingen Kompilierungsfehler auf NULL-Zulässigkeit Anmerkung Verletzung
- 23. Warum ist die lokale Funktion in Python schneller und wie zu beweisen?
- 24. Wie kann man eine Annahme beweisen, wenn man von einer induktiven Deklaration ausgeht?
- 25. Beweisen Sie Zeitkomplexität des rekursiven Algorithmus
- 26. NULL setzt den Standardwert oder die NULL-Zulässigkeit?
- 27. Wie beweisen Sie Kollegen, dass Use Cases wichtig sind?
- 28. Wie beweisen, dass Semi-Konfluenz Confluence in Coq impliziert?
- 29. Wie zu beweisen, dass die Hinzufügung einer neuen Variablen zu dem Ausdruck seine Semantik nicht ändert?
- 30. Kann ich die NULL-Zulässigkeit einer Spalte in meinem Spark-Datenrahmen ändern?