Υλοποίηση ενός απλού επιλύτη για Sudoku με χρήση μεθόδων τοπικής συνέπειας

14-10-2013


Τα προβλήματα Sudoku μπορούν πολύ εύκολα να μοντελοποιηθούν ως προβλήματα ικανοποίησης περιορισμών. Κάθε τετράγωνο μπορεί να αντιστοιχιστεί σε μια μεταβλητή. Όλες οι μεταβλητές έχουν 9 πιθανές τιμές. Σε κάποιες από τις μεταβλητές έχει γίνει ανάθεση τιμής. Οι περιορισμοί εκφράζουν τους κανόνες του παιχνιδιού (π.χ. όλες οι μεταβλητές στην ίδια στήλη πρέπει να έχουν διαφορετικές τιμές). Στόχος της διπλωματικής είναι η κατασκευή ενός επιλύτη για Sudoku ο οποίος θα χρησιμοποιεί μεθόδους τοπικής συνέπειας (π.χ. συνέπεια τόξου και συνέπεια μονοπατιού – arc και path consistency). Με τη χρήση τέτοιων μεθόδων μπορεί, στην καλύτερη περίπτωση να επιλύεται πλήρως ένα πρόβλημα, ή σε άλλες περιπτώσεις απλά να αποδίδονται τιμές σε κάποιες από τις μεταβλητές (δηλ. αριθμοί σε κάποια από τα τετράγωνα).

Απαιτούμενες γνώσεις: Προγραμματισμός (π.χ. C ή Java), Αλγόριθμοι και Δομές Δεδομένων, Τεχνητή Νοημοσύνη (Προβλήματα Ικανοποίησης Περιορισμών).

Επιβλέπων Καθηγητής: Κώστας Στεργίου