A* (ausgesprochen „A-Stern“) Suchalgorithmus ist eine weit verbreitete Methode in der Informatik zur Bestimmung des kürzesten Pfads zwischen zwei Knoten in einem gewichteten Graphen.
Er kombiniert Aspekte des Dijkstra-Algorithmus und der gierigen bestmöglichen Suche und nutzt sowohl die tatsächlichen Kosten, um einen Knoten zu erreichen, als auch eine geschätzte Kostenbewertung für das Ziel, um den vielversprechendsten Pfad zu bestimmen.
Seine Effizienz in der Entscheidungsfindung und Problemlösung spielt auch eine entscheidende Rolle für die Funktionsweise von KI-Agenten in verschiedenen Anwendungen.
Wie funktioniert die A*-Suche?

Was ist der kürzeste Weg von Knoten A nach Z mit dem A*-Algorithmus?
A* ist ein bestmöglicher Suchalgorithmus, der den kürzesten Pfad in einem gewichteten Graphen durch die Kombination zweier Schlüsselfaktoren findet:
- Die bekannten Kosten vom Startknoten (bezeichnet als g(n))
- Eine geschätzte Kostenbewertung zum Ziel (bezeichnet als h(n))
Diese Balance macht A* effizient, indem es Suchvorgänge in Richtung der optimalen Lösung lenkt.
Was ist die Formel für die A*-Suche?
A* verwendet eine Bewertungsfunktion zur Beurteilung von Knoten:
f(n)=g(n)+h(n)f(n) = g(n) + h(n)f(n)=g(n)+h(n)
Wobei:
- g(n)g(n)g(n) = Kosten vom Startknoten zum aktuellen Knoten nn(tatsächliche Kosten)
- h(n)h(n)h(n) = Heuristische Funktion zur Schätzung der Kosten von nnbis zum Ziel (geschätzte Kosten)
- f(n)f(n)f(n) = Gesamtkostenbewertung (Summe aus tatsächlichen und geschätzten Kosten)
Der Algorithmus priorisiert den Knoten mit der niedrigsten f(n)f(n)f(n), was bedeutet, dass er die vielversprechendsten Wege auswählt.
Warum ist A* effizient?
A* kombiniert Merkmale des Dijkstra-Algorithmus und der gierigen bestmöglichen Suche. Während Dijkstra den kürzesten Pfad durch die Erkundung aller Routen findet, kann dies zeitaufwendig sein. Gierige bestmögliche Suche ist schneller, findet aber möglicherweise nicht die beste Lösung.
A* findet eine Balance, indem es sowohl die tatsächliche als auch die geschätzte Distanz berücksichtigt. Dadurch ist es besonders effizient in komplexen Umgebungen, in denen unnötige Erkundungen vermieden werden können.
Wie unterscheidet sich A* vom Dijkstra-Algorithmus?
Beide Algorithmen zielen darauf ab, den kürzesten Pfad in einem Graphen zu finden, unterscheiden sich jedoch in ihrer Herangehensweise:
- Dijkstra-Algorithmus: Erkundet alle möglichen Wege vom Startknoten aus, um den kürzesten Pfad zu garantieren, untersucht dabei jedoch möglicherweise viele unnötige Knoten.
- A*-Algorithmus: Nutzt eine Heuristik, um vielversprechende Wege zu priorisieren, was oft schnellere Lösungen ermöglicht, indem es sich auf relevante Bereiche des Graphen konzentriert.
Dieser heuristische Ansatz ermöglicht es A*, den Dijkstra-Algorithmus in Szenarien mit einer effektiven Heuristik zu übertreffen.
Welche Rolle spielt die Heuristik bei A*?
Die heuristische Funktion h(n)h(n) führt A*, indem sie eine Schätzung der verbleibenden Kosten von Knoten nn zum Ziel liefert.
Damit der Algorithmus den kürzesten Pfad garantiert, muss diese Heuristik zulässig sein, das heißt, sie darf die tatsächlichen Kosten nie überschätzen.
Gängige Heuristiken sind:
- Manhattan-Distanz: Wird in gitterbasierten Karten verwendet, wo die Bewegung nur horizontal und vertikal erfolgen kann.
- Euklidische Distanz: Wird angewendet, wenn Bewegungen in jede Richtung möglich sind, was die Luftlinie zwischen zwei Punkten darstellt.
In welchen Anwendungen wird A* häufig verwendet?
Der A*-Suchalgorithmus wird aufgrund seiner Effizienz bei der Bestimmung optimaler Pfade in verschiedenen Bereichen eingesetzt.

Wichtige Anwendungsbereiche des A*-Algorithmus
🎮 Videospiele
A* wird eingesetzt, um die Bewegung von Nicht-Spieler-Charakteren (NPCs) zu steuern, sodass sie sich durch komplexe Umgebungen navigieren und dynamisch auf Spieleraktionen reagieren können. Außerdem wird es in Echtzeit-Strategiespielen (RTS) und Simulationsspielen zur Verbesserung der KI-Entscheidungen verwendet.
🤖 Robotik
A* hilft Robotern, sich durch Umgebungen zu bewegen, indem es kollisionsfreie Wege berechnet und so eine effiziente Navigation ermöglicht. Zudem wird es in der autonomen Fahrzeugnavigation eingesetzt, um eine sichere und optimale Bewegung in dynamischen Umgebungen zu gewährleisten.
🗺️ GPS & Routenplanung
A* treibt Routenplanungsanwendungen an, beispielsweise GPS-Navigationssysteme, die die kürzesten oder schnellsten Wege zwischen zwei Orten berechnen. Es findet auch Anwendung in der Logistik und Lieferwegplanung, um Reisezeit und Kraftstoffverbrauch zu optimieren.
🌍 Geografische Informationssysteme (GIS)
A* unterstützt die Geländenavigation und geospatiale Anwendungen durch die Berechnung optimaler Reiserouten. Es wird auch in der Umweltmodellierung eingesetzt, beispielsweise zur Vorhersage der Ausbreitung von Waldbränden.
📡 Netzwerk-Routing
A* optimiert die Datenpaketweiterleitung in Computernetzwerken, um Leistung und Effizienz zu verbessern.
🧠 KI-gestützte Entscheidungsfindung
A* wird in Planungssystemen zur effizienten Ressourcenverteilung und zur Lösung komplexer Entscheidungsprobleme eingesetzt.
Warum funktioniert A* effizient?

Visualisierung des A*-Algorithmus mit heuristischer Optimierung in der Pfadfindung.
> Es vermeidet unnötige Erkundungen, indem es eine Heuristik verwendet, um sich auf vielversprechende Pfade zu konzentrieren.
> Es garantiert einen optimalen Pfad, wenn eine zulässige Heuristik verwendet wird (die die Kosten nicht überschätzt).
> Es arbeitet schneller als uninformierte Suchen wie der Dijkstra-Algorithmus in Szenarien, in denen eine gute Heuristik verfügbar ist.
Welche Einschränkungen hat der A*-Algorithmus?
Trotz seiner Stärken hat A* einige Einschränkungen:
- Speichernutzung: Es speichert alle erkundeten Knoten, was zu einem hohen Speicherverbrauch führt, insbesondere in großen oder komplexen Graphen.
- Heuristik-Abhängigkeit: Die Effizienz und Genauigkeit von A* hängt stark von der Qualität der Heuristik-Funktion ab. Eine ungeeignete Heuristik kann die Leistung beeinträchtigen.
- Begrenzte Anpassungsfähigkeit: A* hat Schwierigkeiten mit dynamischen Graphen, da es bei Änderungen wie neuen Hindernissen oder variierenden Gewichten erneut ausgeführt werden muss.
Tipp: In solchen Fällen können alternative Algorithmen oder Optimierungsalgorithmen besser geeignet sein.
Erkunde weitere KI-Begriffe!
- Pfadoptimierung – A* wird häufig zur Bestimmung der effizientesten Wege in Navigation und Robotik verwendet.
- Routenplanung – A* spielt eine Schlüsselrolle bei der Bestimmung optimaler Routen in GPS, Robotik und Spiele-KI.
- Indoor-Navigation – Der Algorithmus wird häufig eingesetzt, um autonome Roboter und KI-gestützte Navigation in Innenräumen zu steuern.
- Koordination mehrerer Roboter – A* hilft bei der Koordination mehrerer Roboter, damit sie effizient Aufgaben erledigen und Kollisionen vermeiden.
FAQs
Was ist der A*-Algorithmus in der KI?
Was ist der Unterschied zwischen Dijkstra und A*?
Warum heißt der Algorithmus A*?
Was ist der Beweis für den A*-Algorithmus?
Fazit
Ein Suchalgorithmus* ist ein fundamentales Werkzeug zur Bestimmung kürzester Wege in verschiedenen Anwendungen. Seine Fähigkeit, sowohl aktuelle als auch geschätzte zukünftige Kosten zu kombinieren, macht ihn zu einem wertvollen Algorithmus in der KI und Robotik, um komplexe Probleme effizient zu lösen.
Das Verständnis der Unterschiede zwischen A* und anderen Algorithmen, wie Dijkstra, unterstreicht seine Geschwindigkeit und Praktikabilität. Während sich Suchalgorithmen weiterentwickeln, bleibt A* eine essenzielle Methode zur Navigation durch Daten und zur Findung optimaler Lösungen in realen Szenarien.
Weitere verwandte Begriffe findest du in unserem KI-Glossar.