Άσκηση – Robot Path Planning

 

Ας θεωρήσουμε το πρόβλημα που φαίνεται στο σχήμα του αρχικού χώρου. Ο χώρος αυτός είναι υπό κάτοψη. Το τρίγωνο παρουσιάζει ένα ειδικό ρομπότ το οποίο μπορεί να μετακινηθεί μόνο μεταφορικά (και όχι να περιστραφεί), και το οποίο πρέπει να φθάσει από την αρχική θέση στη θέση στόχου, αποφεύγοντας τα εμπόδια (δηλ. δίχως να έρθει σε επαφή κάποιο σημείο του με αυτά).

Το πρώτο βήμα γνωστό από θεωρία path planning είναι να προσπαθήσουμε να λύσουμε το πρόβλημα σε ένα χώρο απλούστερο (αλλά συνήθως μεγαλύτερης διάστασης) όπου το ρομπότ μας αντιπροσωπεύεται από ένα σημείο (configuration space). Εδώ είμαστε τυχεροί καθότι είναι δυνατόν να αντικαταστήσουμε το ρομπότ με ένα σημείο και να επιλύσουμε ένα πρόβλημα πάλι σε δύο διαστάσεις (η ευκολία αυτή έγκειται στον περιορισμό κίνησης του ρομπότ καθότι απαγορεύονται περιστροφικές κινήσεις). Ο νέος διδιάστατος χώρος προκύπτει διαστέλλοντας κατάλληλα τα εμπόδια. Η διαστολή γίνεται χρησιμοποιώντας κατάλληλα το (τριγωνικό) σχήμα του ρομπότ.

 

Θα θέλαμε να λύσουμε επίσης το εξής πρόβλημα: να βρούμε μια λύση-κίνηση του ρομπότ από την αρχική στην τελική θέση. Η βέλτιστη λύση εδώ, νοείται σαν η λύση που ελαχιστοποιεί το συνολικό μονοπάτι που ακολουθεί το ρομπότ. Αν και το πρόβλημα αυτό επιδέχεται βέλτιστη λύση (μέσω διαγραμμάτων Voronoi), εντούτοις θα θέλαμε να κάνουμε μια απλούστερη προσέγγιση και μέσω της μεθοδολογίας των έμπειρων συστημάτων. Από το χώρο configuration περνάμε και φτιάχνουμε το γράφο ορατότητας (όπου δημιουργούμε κάποιους κόμβους – συνήθως συμπίπτουν με τις κορυφές των πολυγωνικών εμποδίων), και εντέλει δημιουργείται ο γράφος όλων των δυνατών μονοπατιών.

 

Ας θεωρήσουμε τώρα έναν αλγόριθμο έρευνας A1 με την εξής ευρετική συνάρτηση αποτίμησης του κόστους μετάβασης από τον αρχικό κόμβο (S) στον τελικό (Ε) μέσω ενός ενδιάμεσου κόμβου Ν:

fS,E(N) = gS(N) + hE(N)

όπου η συνάρτηση gS(N) για ένα μονοπάτι όπου πατέρας του Ν είναι ο κόμβος L από την εξής σχέση:

gS(N) = gS(L) + ||N-L||2

ενώ η συνάρτηση hE(N) δίνεται από τη σχέση:

hE(N) = ||E-N||2

 

Επίσης, ας θεωρήσουμε τον αλγόριθμο Α2 παρόμοιο με τον Α1 με τη διαφορά ότι η συνάρτηση gS για αυτόν ορίζεται από τη σχέση:

gS(N) = ||S-N||2

 

i.                     Δείχτε ότι οι αλγόριθμοι έρευνας Α1 και Α2 είναι αλγόριθμοι τύπου Α*.

ii.                   Είναι κάποιος εκ των Α1, Α2 που περιμένουμε θεωρητικά να αναπτύξει λιγότερους κόμβους από τον άλλο;

iii.                  Υπάρχει κάποιος εκ των Α1, Α2 που να ικανοποιεί τη συνθήκη μονοτονικότητας;

 

Λύση

 

i.                     Είναι φανερό από τη μορφή της ευρετικής συνάρτησης ότι οι αλγόριθμοι Α1, Α2 είναι αλγόριθμοι τύπου Α. Τώρα για να αποδείξουμε ότι επιπλέον είναι τύπου Α*, θα πρέπει να δείξουμε ότι hΕ(N)£h*E(N) για κάθε ενδιάμεσο κόμβο Ν.
Η συνάρτηση
h*E(N) δίνεται από τη συνολική απόσταση που θα καλύψει το ρομπότ πηγαίνοντας από τον κόμβο N στον τελικό κόμβο Ε. Εάν περνά από τους κόμβους Ν1, Ν2, ... Νk, τότε από την ανισότητα τριγώνου θα έχουμε:
hΕ(N)=||Ν-Ε||2 £ h*E(N)=||Ν-Ν1||2+||Ν12||2+...||Νk-E||2
Άρα η πρόταση αποδείχτηκε.

ii.                   Οι Α1, Α2 έχουν ακριβώς την ίδια συνάρτηση h άρα κανείς εκ των δύο δεν είναι περισσότερο πληροφορημένος του άλλου. Έτσι, δεν μπορούμε θεωρητικά να πούμε ότι κάποιος εκ των δύο θα είναι ταχύτερος δηλ. θα αναπτύξει λιγότερους κόμβους.

iii.                  Η συνθήκη μονοτονικότητας ισχύει όταν fS,E(N)£fS,E(Nj) για όλους τους απογόνους Nj του ενδιάμεσου κόμβου N.
Για τον Α1 θα έχουμε:
fS,E(Nj)=gS(Nj)+hE(Nj)=gS(N)+||N-Nj||2+hE(Nj)=gS(N)+||N-Nj||2+||Nj-E||2£ gS(N)+||N-E||2
εξαιτίας της ανισότητας τριγώνου. Άρα ο Α1 ικανοποιεί τη συνθήκη μονοτονικότητας.
Για τον Α2 είναι εύκολο να αποδειχθεί με ένα αντιπαράδειγμα και με χρήση πάλι της ανισότητας τριγώνου ότι δεν ισχύει η ανισότητα τριγώνου (πως ακριβώς;).