32 |
9 4
Node (λέγεται και State) — Ένας κόμβος στον χώρο.
Transition — Ο τρόπος με τον οποίο ορίζεται η κίνηση στον χώρο.
Starting Node — Αρχικός κόμβος.
Goal Node — Τελικός κόμβος.
Search Space — Όλοι οι πιθανοί κόμβοι του χώρου.
Cost — Αριθμητική τιμή (κόστος) για την μετακίνηση από ένα κόμβο σε έναν άλλο.
𝒈(𝒏)
— είναι το ακριβές κόστος από τον αρχικό κόμβο σε οποιονδήποτε άλλο.
𝒉(𝒏)
— το εκτιμώμενο κόστος από οποιονδήποτε κόμβο προς τον κόμβο στόχο. Το
κόστος αυτό δεν πρέπει ποτέ να υπερεκτιμάται για να λειτουργήσει σωστά ο
αλγόριθμος.
𝒇(𝒏)
— Το συνολικό κόστος.
Κάθε φορά που A * εισέρχεται σε έναν κόμβο, υπολογίζει το κόστος 𝒇(𝒏) (όπου n
είναι ο γειτονικός κόμβος) και στη συνέχεια εισέρχεται στον κόμβο με τη χαμηλότερη τιμή της
f(n).
Αυτές οι τιμές υπολογίζονται χρησιμοποιώντας τον ακόλουθο τύπο:
𝒇(𝒏) = 𝒈(𝒏) + 𝒉(𝒏)
Εξίσωση 1: Τύπος υπόλογισμού του κόστους Α*
Για λόγους ευκολίας παρακάτω θα δούμε ένα παράδειγμα υλοποίησης σε γλώσσα
Python. Η υλοποίηση αφορά ένα πρόβλημα λαβύρινθου και θα πρέπει να βρούμε τη
συντομότερη διαδρομή από τον κόμβο έναρξης στον τελικό κόμβο του άκρου.