Μελέτη αλγορίθμων για περιορισμένη συνέπεια μονοπατιού
Abstract
Το αντικείμενο της διπλωματικής εργασίας αυτής είναι η μελέτη και η υλοποίηση των αλγορίθμων AC-3(Arc Consistency-3) και RPC(Restricted Path Consistency), για περιορισμένη συνέπεια μονοπατιού. Η περιορισμένη συνέπεια μονοπατιού είναι μια μέθοδος συνέπειας για προβλήματα ικανοποίησης περιορισμών παρόμοια με την συνέπεια τόξου, αλλά όχι τόσο διαδεδομένη. Ο RPC αλγόριθμος που υλοποιείται, αποτελεί προέκταση του αλγορίθμου συνέπειας τόξου AC-3 σε επίπεδο δομών δεδομένων και τρόπου λειτουργίας.
O στόχος της παρούσας διπλωματικής εργασίας είναι η υλοποίηση των δύο αλγορίθμων AC-3 και RPC και έπειτα η πειραματική τους σύγκριση, καθώς και η στατιστική τους μελέτη. Η υλοποίηση των αλγορίθμων πραγματοποιήθηκε με τη γλώσσα προγραμματισμού MATLAB. Ως δεδομένα εισόδου χρησιμοποιήθηκαν συγκεκριμένα προβλήματα δυαδικών περιορισμών, κυρίως από τον χώρο των graph-coloring προβλημάτων και όχι μόνο . Η υλοποίηση των αλγορίθμων, σε συνδυασμό με τα αποτελέσματα που προέκυψαν από τα εισαγόμενα προβλήματα , δίνουν τη δυνατότητα να εξάγουμε έγκυρα συμπεράσματα.
Τα αποτελέσματα που μας ενδιαφέρουν αφορούν ως επί το πλείστον την αποτελεσματικότητα και την αποδοτικότητα των αλγορίθμων. Ειδικότερα, με τη χρήση διάφορων μετρικών στον κώδικα των αλγορίθμων, όπως για παράδειγμα το πλήθος διαγραφών τιμών από τα πεδία τιμών των μεταβλητών του προβλήματος ή ο χρόνος εκτέλεσης του αλγορίθμου, ανάλογα με το εισαγόμενο πρόβλημα ικανοποίησης περιορισμών, καταλήγουμε σε χρήσιμα συμπεράσματα για τους αλγορίθμους που πραγματεύεται η παρούσα διπλωματική εργασία.
Στα αρχικά κεφάλαια θα πραγματοποιήσουμε θεωρητική εισαγωγή πάνω στις έννοιες της συνέπειας τόξου, καθώς και της συνέπειας μονοπατιού, με τη χρήση παραδειγμάτων για περαιτέρω κατανόηση, διότι αυτές οι δύο έννοιες αποτελούν το θεμέλιο λίθο των αλγορίθμων AC-3 και RPC που μελετούμε και υλοποιούμε. Στην πορεία θα μελετήσουμε την υλοποίηση των αλγορίθμων στη γλώσσα MATLAB και θα αναλύσουμε τις προγραμματιστικές λεπτομέρειες που χρίζουν σχολιασμό. Τέλος, θα καταλήξουμε σε συμπεράσματα από τα στατιστικά των διάφορων εισαγόμενων προβλημάτων που επιλύουν οι αλγόριθμοι AC-3 και RPC.