Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung von Beispielen für die Javascript-Implementierung des A*-Algorithmus

Zusammenfassung von Beispielen für die Javascript-Implementierung des A*-Algorithmus

伊谢尔伦
伊谢尔伦Original
2017-06-12 10:08:532500Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung von JavaScript zur Implementierung des achtstelligen heuristischen A*-Algorithmus-Animationseffekts auf Webseiten vorgestellt. Freunde in Not können sich auf das kürzlich von einem Lehrer für künstliche Intelligenz zugewiesene achtstellige Experiment beziehen Achtstellige Inspirationen gibt es im Internet für den Formel-A*-Algorithmus, aber die meisten davon sind auf der Konsole mit C oder C++ implementiert, also habe ich js verwendet, um einen ähnlichen Algorithmus auf der Webseite zu erstellen. Zunächst ist die achtstellige Zahl ein Neunquadratraster mit einem Leerzeichen darin, und die anderen acht entsprechenden Zahlen sind 1-8, so dass der Endzustand in Ordnung ist, wie unten gezeigt Algorithmus bedeutet, dass beim Lösen die heuristische Funktion verwendet wird, um die Zahlen zu entfernen, die den Regeln nicht entsprechen. Die Lösungsknoten werden entfernt, um den Lösungsraum des Problems zu reduzieren. Der A*-Algorithmus ist ein heuristischer Algorithmus, der eine Bewertungsfunktion verwendet. In diesem Beispiel wird die Anzahl der Gitter, die sich zwischen dem aktuellen Knotenstatus und dem endgültigen Knotenstatus unterscheiden, zur Bewertung der Qualität des Knotens verwendet später erweitert und die unteren Knoten werden verworfen. Um dies über das Web zu erreichen, fügen Sie zunächst neun Eingabetextfelder hinzu, wie in der Abbildung im HTML dargestellt. Der Seitencode ist 1. Einführung in Grafikcode, der JavaScript verwendet, um achtstellige heuristische A*-Algorithmus-Animationseffekte auf Webseiten zu implementieren

Zusammenfassung von Beispielen für die Javascript-Implementierung des A*-Algorithmus

Einführung: In diesem Artikel wird hauptsächlich die Verwendung von JavaScript zur Implementierung des achtstelligen heuristischen A*-Algorithmus-Animationseffekts auf Webseiten vorgestellt kann darauf verweisen

2. HTML5+A*-Algorithmus zur Implementierung der Codefreigabe für die Spielpfadfindung

Zusammenfassung von Beispielen für die Javascript-Implementierung des A*-Algorithmus

Einführung: Funktionsbeschreibung: Eine Wegfindungsdemo, die den A*-Algorithmus und HTML5 kombiniert. Klicken Sie auf einen beliebigen Ort auf der Karte, und der Vogel findet die kürzeste Entfernung zum Ort

3. cocos2dx A* + TiledMap

Einführung: Im vorherigen Kapitel ging es um die Verwendung des A-Stern-Algorithmus In diesem Kapitel geht es um A* in Kombination mit Tiledmap. Das Rendering ist etwas hässlich. Der grüne Block stellt die Laufroute des Charakters dar (das Ergebnis des A*-Algorithmus). Der rote Teil stellt die vom A*-Algorithmus gesuchten Punkte dar (je weniger, desto schneller die Geschwindigkeit). Der schwarze Teil (eigentlich farbloser Block, da der Hintergrund schwarz ist) stellt das Hindernis dar

4.

cocos2dx A*-Algorithmus

Einführung: Kopieren Sie die Header-Datei und die Quelldatei in das Projekt und Sie können es verwenden! Mit cocos2dx 3.2. Die hellblauen Punkte sind die Wege. Die roten Punkte sind die zurückgelegten Wege zum Pfad. Der Dijkstra-Algorithmus findet den kürzesten Pfad, es wurden jedoch viele Pfade durchsucht (die Berechnungsgeschwindigkeit ist langsam).

java - Der Graph der Datenstruktur benötigt einige spezifizierte Kanten, um die optimale Lösung zu finden?

Das obige ist der detaillierte Inhalt vonZusammenfassung von Beispielen für die Javascript-Implementierung des A*-Algorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn