Καταδίωξη / Διαφυγή
Οι κανόνες • Ένας «φυγάς», ένας ή περισσότεροι «κυνηγοί» • Κινούνται πάνω σε ένα γράφημα • Στην πιο απλή περίπτωση, μία κίνηση ο καθένας με κυκλική αλλαγή σειράς
• Στόχος των κυνηγών: Να πιάσουν το φυγάδα όσο το δυνατόν γρηγορότερα • Στόχος του φυγάδα: Να μείνει ελεύθερος όσο το δυνατόν περισσότερο • Όλες οι πληροφορίες για τις θέσεις είναι γνωστές Καταδίωξη / Διαφυγή Οι κανόνες
Ας δούμε ένα παράδειγμα!
Μοντελοποίηση του παιχνιδιού • Μπορούμε να χρησιμοποιήσουμε δέντρο κινήσεων; - Τελικοί κόμβοι; - Πόσες διακλαδώσεις για κάθε κόμβο; - Και το μέγιστο βάθος; ΝΤΑΝ ΝΤΑΝ ΝΤΑΝ ΝΤΑΝ ΝΤΑΝ
• Θα αλλάξουμε λίγο την προσέγγισή μας • Οι κινήσεις που μπορεί να γίνουν είναι άπειρες • Οι δυνατές καταστάσεις στις οποίες μπορεί να βρεθεί το παιχνίδι όμως… ; Μοντελοποίηση του παιχνιδιού
• Ν δυνατές θέσεις για τον κάθε κυνηγό, Ν δυνατές θέσεις για τον κάθε φυγάδα • Άρα Ν κ δυνατές καταστάσεις, όπου κ ο συνολικός αριθμός των παικτών • Μας νοιάζει και ποιανού σειρά είναι! • Άρα… κΝ κ δυνατές καταστάσεις • Για την περίπτωση 1 κυνηγού και 1 φυγάδα έχουμε 2Ν 2 δυνατές καταστάσεις Πόσες δυνατές καταστάσεις;
Μια γραφική αναπαράσταση Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Στήλες: Θέση κυνηγού Γραμμές: Θέση φυγάδα
Μια γραφική αναπαράσταση Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Ο κυνηγός βρίσκεται στη θέση 3, ο φυγάς στη θέση 2 και είναι σειρά του κυνηγού
Μια γραφική αναπαράσταση Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Στην επόμενη κίνηση θα παίζει ο φυγάς. Η μετάβαση πρέπει να γίνει σε ένα από τα κελιά του δεύτερου πίνακα
Μια γραφική αναπαράσταση Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Η θέση του φυγάδα πρέπει να παραμείνει. Η μετάβαση περιορίζεται στη δεύτερη γραμμή του δεύτερου πίνακα
Μια γραφική αναπαράσταση Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Ο κόμβος που βρίσκεται ο κυνηγός συνδέεται μόνο με ορισμένους άλλους κόμβους. Από αυτές τις συνδέσεις καθορίζονται οι δυνατές καινούριες καταστάσεις
Μια γραφική αναπαράσταση Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Τα ίδια ισχύουν και για την κίνηση του φυγάδα. Οι δυνατές νέες καταστάσεις περιορίζονται σε κάποια κελιά μιας στήλης του πρώτου πίνακα.
Μια γραφική αναπαράσταση Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Όταν οι θέσεις κυνηγού και φυγάδα ταυτίζονται, το παιχνίδι έχει τελειώσει, ανεξάρτητα από το ποιος έπαιξε τελευταίος
Μια γραφική αναπαράσταση Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Σκοπός του κυνηγού: Να οδηγήσει το παιχνίδι σε έναν κόκκινο κόμβο όσο το δυνατόν γρηγορότερα. Σκοπός του φυγάδα: Να το καθυστερήσει όσο μπορεί!
• Σε λογική min-max • Κατά τη διάρκεια του παιχνιδιού: – Ο κυνηγός επιλέγει (από τις δυνατές κινήσεις) να μεταβεί στην κατάσταση που κάνει το παιχνίδι συντομότερο – Ο φυγάς επιλέγει να μεταβεί στην κατάσταση που κάνει το παιχνίδι μεγαλύτερο • Οι αξίες (μήκος παιχνιδιού) όλων των καταστάσεων υπολογίζονται από την αρχή, δεδομένου του γραφήματος Πώς βρίσκουμε τη βέλτιστη κίνηση για τον καθένα;
Ο αλγόριθμος… γραφικά Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Το μήκος αναφέρεται στις κινήσεις που θα κάνει ο κυνηγός
Ο αλγόριθμος… γραφικά Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς
Ο αλγόριθμος… γραφικά Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς
Ο αλγόριθμος… γραφικά Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς
Ο αλγόριθμος… γραφικά Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς
Ο αλγόριθμος… γραφικά Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Τι σημαίνει αν περισσέψουν κενά τετράγωνα;
Ο αλγόριθμος… γραφικά Καταστάσεις όπου παίζει ο κυνηγός Καταστάσεις όπου παίζει ο φυγάς Σε εμάς όμως δεν περισσεύουν!
• Θέτουμε σε όλες τις καταστάσεις Μήκος = • Θέτουμε στις καταστάσεις όπου οι θέσεις κυνηγού και φυγάδα ταυτίζονται Μήκος =0 • Επαναλαμβάνουμε ώσπου να μην έχουμε αλλαγές { Για κάθε κατάσταση όπου παίζει ο φυγάς: Μήκος = max(Μήκος’) (όλων των καταστάσεων στις οποίες μπορεί να μεταβεί) Για κάθε κατάσταση όπου παίζει ο κυνηγός: Μήκος = 1+ min(Μήκος’) (όλων των καταστάσεων στις οποίες μπορεί να μεταβεί) } Και… με λόγια
Μερικές (άχρηστες) λεπτομέρειες • Αποδεικνύεται ότι κατά την επανάληψη του προηγούμενου αλγορίθμου, δε χρειάζεται να επανεξετάζουμε καταστάσεις όπου το Μήκος είναι ήδη κάτω από άπειρο. • Έτσι η πολυπλοκότητά του είναι Ο(Ν 5 ) • Όλα αυτά σε μια δημοσίευση των Gena Hahn και Gary MacGillivray, μόλις το 2006 (Αν θέλετε να μιλήσετε με το διπλανό σας, κάντε το όσο κρατάει αυτή η διαφάνεια)