background image

32 | 

9 4

 

 

  Node (λέγεται και State) — Ένας κόμβος στον χώρο. 

  Transition — Ο τρόπος με τον οποίο ορίζεται η κίνηση στον χώρο. 

  Starting Node — Αρχικός κόμβος. 

  Goal Node — Τελικός κόμβος. 

  Search Space — Όλοι οι πιθανοί κόμβοι του χώρου. 

  Cost — Αριθμητική τιμή (κόστος) για την μετακίνηση από ένα κόμβο σε έναν άλλο. 

 

𝒈(𝒏)

— είναι το ακριβές κόστος από τον αρχικό κόμβο σε οποιονδήποτε άλλο. 

 

𝒉(𝒏)

—  το  εκτιμώμενο  κόστος  από  οποιονδήποτε  κόμβο  προς  τον  κόμβο  στόχο.  Το 

κόστος  αυτό  δεν  πρέπει  ποτέ  να  υπερεκτιμάται  για  να  λειτουργήσει  σωστά  ο 

αλγόριθμος. 

 

𝒇(𝒏)

— Το συνολικό κόστος. 

Κάθε  φορά  που  A  *  εισέρχεται  σε  έναν  κόμβο,  υπολογίζει  το  κόστος  𝒇(𝒏)  (όπου  n 

είναι ο γειτονικός κόμβος) και στη συνέχεια εισέρχεται στον κόμβο με τη χαμηλότερη τιμή της 

f(n). 

 

Αυτές οι τιμές υπολογίζονται χρησιμοποιώντας τον ακόλουθο τύπο: 

 

𝒇(𝒏) = 𝒈(𝒏) + 𝒉(𝒏)

  

Εξίσωση 1: Τύπος υπόλογισμού του κόστους Α*

 

Για  λόγους  ευκολίας  παρακάτω  θα  δούμε  ένα  παράδειγμα  υλοποίησης  σε  γλώσσα 

Python.  Η  υλοποίηση  αφορά  ένα  πρόβλημα  λαβύρινθου  και  θα  πρέπει  να  βρούμε  τη 

συντομότερη διαδρομή από τον κόμβο έναρξης στον τελικό κόμβο του άκρου.