Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Προβλήματα Αναζήτησης. Ν Βασίλισσες στο Σκάκι Ν-Queens Problem Ν=8. Πώς τοποθετούμε 8 βασίλισσες σε μια σκακιέρα χωρίς κάποια βασίλισσα να απειλεί μια.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Προβλήματα Αναζήτησης. Ν Βασίλισσες στο Σκάκι Ν-Queens Problem Ν=8. Πώς τοποθετούμε 8 βασίλισσες σε μια σκακιέρα χωρίς κάποια βασίλισσα να απειλεί μια."— Μεταγράφημα παρουσίασης:

1 Προβλήματα Αναζήτησης

2 Ν Βασίλισσες στο Σκάκι Ν-Queens Problem Ν=8. Πώς τοποθετούμε 8 βασίλισσες σε μια σκακιέρα χωρίς κάποια βασίλισσα να απειλεί μια άλλη; Αναπαραστούμε τις θέσεις των βασιλισσών με μια λίστα των y-συντεταγμένων τους: –[Y1, Y2, Y3,..., Y8] solution (X) :- permutation ([1, 2, 3, 4, 5, 6, 7, 8], X), safe (X). Παράδειγμα "generate and test"

3 Ν Βασίλισσες (συνέχεια) safe ([]) safe ([Queen | Others]) :- safe (Others), noattack (Queen, Others,1). noattack (Queen, [], XPosition). noattack (Y, [Y1 | Rest], Xdist) :- Y1 – Y ≠ Xdist, Y – Y1 ≠ Xdist, Dist = Xdist + 1, noattack (Y, Rest, Dist). permutation ([], []). permutation ([X | L], P) :- permutation (L, L1), insert (X, L1, P).

4 Ν Βασίλισσες (συνέχεια) Αναπαράσταση της θέσης μιας βασίλισσας: –pos (X, Y) – συντεταγμένες Απάντηση/λύση θα είναι μια λίστα: [pos (X1, Y1), pos (X2, Y2), …, pos (X8, Y8)] [pos (1, Y1), pos (2, Y2), …, pos (8, Y8)] correct ([]). correct ([pos ( X, Y) | Rest]) :- correct (Rest), member (Y, [1, 2, 3, 4, 5, 6, 7, 8]), %Choise noattack (pos (X, Y), Rest).

5 Ν Βασίλισσες (συνέχεια) % noattack (QueenPosition, ListQueensPositions) noattack (Queen, []). noattack (pos (X, Y), [post (X1, Y1) | Rest]) :- X ≠ X1, Y ≠ Y1, Y1 – Y ≠ X1 –X, Y – Y1 ≠ X – X1, noattack (pos (X, Y), Rest). solution (X) :- template (X), correct (X). template ([pos (1, Y1), pos (2, Y2), …, pos (8, Y8)]). ? solution (X)

6 Πύργοι της Χανόη (Towers of Hanoi) Κάθε κίνηση μόνο ένα δίσκο. Σε καμμíα κατάσταση δεν μπορούμε να έχουμε δίσκο πάνω από μικρότερο δίσκο. hanoi (s (o), A, B, C, [move (A, B)]). hanoi (s (N), A, B, C, Moves) :- hanoi (N, A, C, B, Moves1), hanoi (N, B, A, C, Moves2), append (Moves1, [move (A, C) | Moves2], Moves). H μεταβλητή Moves κρατά τη λύση σε μια δομή δεδομένων που αποφάσισε ο χρήστης. ABC


Κατέβασμα ppt "Προβλήματα Αναζήτησης. Ν Βασίλισσες στο Σκάκι Ν-Queens Problem Ν=8. Πώς τοποθετούμε 8 βασίλισσες σε μια σκακιέρα χωρίς κάποια βασίλισσα να απειλεί μια."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google