Αλγόριθμοι Αναζήτησης Εργασία Τοπική Αναζήτηση ΤΜΗΜΑ ΜΠΕΣ
Το πρόβλημα n-queens Το πρόβλημα n-queens αποτελείται από μια nxn σκακιέρα και n βασίλισσες. Ο στόχος είναι να τοποθετηθούν όλες οι βασίλισσες στη σκακιέρα έτσι ώστε καμία να μην επιτίθεται σε καμία άλλη. Π.χ. μια λύση για το 8-queens πρόβλημα φαίνεται παραπάνω. ΤΜΗΜΑ ΜΠΕΣ
Εργασία - Τοπική Αναζήτηση Υλοποιήστε πρόγραμμα που επιλύει το n-queens πρόβλημα χρησιμοποιώντας τις εξής μεθόδους τοπικής αναζήτησης: Greedy hill-climbing with sideways moves (άπληστη αναρρίχηση λόφων με πλάγιες κινήσεις ) Greedy Hill-climbing with sideways moves and restarts (αναρρίχηση λόφων με πλάγιες κινήσεις και επανεκκινήσεις) First-choice hill-climbing with restarts (αναρρίχηση λόφων πρώτης επιλογής με επανεκκινήσεις) Stochastic hill-climbing with restarts (στοχαστική αναρρίχηση λόφων με επανεκκινήσεις) Η αποτίμηση των καταστάσεων γίνεται σύμφωνα με το πλήθος των συγκρούσεων (δηλ. το πλήθος των ζευγαριών βασιλισσών όπου η μια επιτίθεται στην άλλη) ΤΜΗΜΑ ΜΠΕΣ
Εργασία - Τοπική Αναζήτηση Το πρόγραμμα σας πρέπει να δέχεται από τον χρήστη 1) την τιμή του n που προσδιορίζει το μέγεθος του προβλήματος, 2) το πλήθος x των στιγμιότυπων που θα δημιουργηθούν και θα επιλυθούν, 3) το όριο κινήσεων που μπορούν να κάνουν οι 4 μέθοδοι, 4) το όριο επανεκκινήσεων που μπορούν να κάνουν οι 3 τελευταίες μέθοδοι. 5) το όριο των πλάγιων κινήσεων που επιτρέπονται Για κάθε στιγμιότυπο πρέπει να κατασκευάζεται μια τυχαία αρχική κατάσταση (τυχαία τοποθέτηση των βασιλισσών στη σκακιέρα έτσι ώστε να υπάρχει μια σε κάθε γραμμή ή σε κάθε στήλη ) και να επιλύεται το πρόβλημα που προκύπτει με τις 4 μεθόδους. ΤΜΗΜΑ ΜΠΕΣ
Εργασία - Τοπική Αναζήτηση Αφού ολοκληρωθούν και οι 4 πρέπει να τυπώνεται το πλήθος των κινήσεων που εκτέλεσαν (δηλ. το πλήθος μετακινήσεων βασιλισσών) και το πλήθος των συγκρούσεων που υπάρχουν στην τελική κατάσταση που βρήκαν. Αν το πλήθος αυτό είναι 0 τότε έχει βρεθεί λύση. Μετά την επίλυση των x προβλημάτων να τυπώνεται το μέσο πλήθος κινήσεων που εκτέλεσε ο κάθε αλγόριθμος, καθώς και το πλήθος των προβλημάτων στα οποία ο κάθε αλγόριθμος βρήκε λύση. Η υλοποίηση μπορεί να γίνει σε μια γλώσσα όπως η Java, η C, και η C++ Η εργασία είναι ατομική και δίνει 2 μονάδες bonus Προθεσμία παράδοσης άσκησης: 10/01/2010. Τρόπος παράδοσης: με email -> konsterg@aegean.gr και με παρουσίαση σε εργαστήριο. Να σημειωθεί ότι η παρουσίαση στο εργαστήριο είναι υποχρεωτική. ΤΜΗΜΑ ΜΠΕΣ
Θέματα Υλοποίησης Πως θα αναπαρασταθεί η αρχική κατάσταση? μονοδιάστατος ή δυσδιάστατος πίνακας? Πως θα αναπαρασταθούν οι υπόλοιπες καταστάσεις? παρομοίως? θυμηθείτε ότι μόνο μια κατάσταση διατηρείται στη μνήμη Πως γίνεται η επέκταση μιας κατάστασης? πρέπει να ελέγξετε όλες τις καταστάσεις που προκύπτουν από τη μετακίνηση μιας βασίλισσας και να επιλέξετε μια (ή καμία) σύμφωνα με τον αλγόριθμο Πως θα υλοποιηθεί το τεστ στόχου? πρέπει να ελέγξετε αν το πλήθος των συγκρούσεων είναι 0 ή όχι Μας ενδιαφέρει πως θα υλοποιηθούν οι κόμβοι του δέντρου αναζήτησης και το μέτωπο αναζήτησης? ΟΧΙ! Δεν χρειάζονται! Οι αλγόριθμοι τοπικής αναζήτησης δεν διατηρούν μέτωπο αναζήτησης ΤΜΗΜΑ ΜΠΕΣ