Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεTimotheos Lambros Τροποποιήθηκε πριν 9 χρόνια
1
Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ
2
2 Στα περισσότερα παιχνίδια και παζλ που παίζουμε καθημερινά ιδιαίτερο ενδιαφέρον παρουσιάζει ο διαφορετικός βαθμός δυσκολίας επιλυσής τους. Η δυσκολία αυτή μπορεί να αποδειχθεί μαθηματικά με τη μορφή των αποτελεσμάτων της υπολογιστικής πολυπλοκότητας.
3
3 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Γενικά... ένα ΝΡ-πλήρες πρόβλημα μπορεί να θεωρηθεί ως ένα παζλ(π.χ Pearl puzzle,15-puzzle) τα παιχνίδια με 2 παίχτες που παρουσιάζουν μεγαλύτερη πολυπλοκότητα είναι PSPACE-πλήρη(π.χ Othello,Amazons) ή EXPTIME-πλήρη(π.χ Checkers and draughts,Chess).
4
4 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Στα παζλ ψάχνουμε να βρούμε τις κατάλληλες “κινήσεις” που πρέπει να γίνουν για να λυθεί. Εφόσον τα παζλ μπορούν να θεωρηθούν ως ΝΡ-πλήρη προβλήματα: ο παίχτης πρέπει να κάνει μια σειρά απο επιλογές μεταβλητών έτσι ώστε ο τύπος που χαρακτηρίζει το κάθε πρόβλημα να επαληθεύεται.
5
5 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Στο πρόβλημα της αληθευσιμότητας(SAT) ελέγχουμε αν ένας λογικός τύπος είναι αληθεύσιμος. ΑΛΗΘΕΥΣΙΜΟΤΗΤΑ={ | ο φ είναι ένας αληθεύσιμος λογικός τύπος} Στα παζλ μπορεί οι boolean τιμές να αντικατασταθούν με τιμές τύπου Left,Right,Up,Down κτλ.
6
6 Στα παιχνίδια ψάχνουμε να βρούμε αν για όλες τις κινήσεις που κάνει ο αντίπαλος θα υπάρχει τέτοια κίνηση που μπορούμε να κάνουμε ωστε να κερδίζουμε. Τα παιχνίδια συνδέονται στενά με τους ποσοδείκτες(υπαρξιακούς/καθολικούς). Κάθε ποσοδεδειγμένη πρόταση ορίζει ένα αντίστοιχο παιχνίδι και αντιστρόφως ένα παιχνίδι ορίζει συχνά μια αντίστοιχη ποσοδεδειγμένη πρόταση.Η αντιστοιχία αυτή έχει πολλαπλή χρησιμότητα. Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ
7
7 Από τη μία πλευρά,εκφράζοντας μια μαθηματική πρόταση που περιέχει πολλούς ποσοδείκτες μέσω του αντίστοιχου παιχνιδιού,μπορούμε να ενισχύσουμε τη διαίσθηση μας για το νοημά της. Από την άλλη,εκφράζοντας ένα παιχνίδι μέσω της κατάλληλης ποσοδεδειγμένης πρότασης,μπορούμε να κατανοήσουμε καλύτερα την πολυπλοκότητα του παιχνιδιού.
8
8 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Ορίζεται τύπος της μορφής: φ= ∃ x 1 ∃ x 2 ∃ x 3......Qx k [ψ], -το Q αναπαριστά είτε έναν ποσοδείκτη ∀ είτε έναν ποσοδείκτη ∃. Στον τύπο αυτό αντιστοιχίζουμε παιχνίδι 2 παιχτών έστω >, > οι οποίοι επιλέγουν διαδοχικά τις τιμές των μεταβλητών x 1.....x k.O παίχτης Κ επιλέγει τιμές για τις μεταβλητές που είναι δέσμιες των καθολικών ποσοδεικτών,ενώ ο Υ επιλέγει τιμές για τις μεταβλητές που είναι δέσμιες των υπαρξιακών ποσοδεικτών.
9
9 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Όταν οι παίχτες ολοκληρώσουν την απόδοση τιμών,θέτουμε στις διάφορες μεταβλητές τις αντίστοιχες τιμές ποευ έχουν επιλέξει και αν: φ= ∃ x 1 ∃ x 2 ∃ x 3......Qx k [ψ] Αν ο τύπος ψ έχει τιμή ΑΛΗΘΕΣ,έχουμε νικητή τον παίχτη Υ Αν ο τύπος ψ έχει τιμή ΨΕΥΔΕΣ,έχουμε νικητή τον παίχτη Κ
10
10 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Γενικά.... Τα παιχνίδια λογικής είναι PSPACE-πλήρη καθώς συμπίπτουν απολύτως με το πρόβλημα TQBF. TQBF={ | ο φ είναι ένας αληθής ποσοδεδειγμένος λογικός τύπος}
11
11 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ PSPACE-complete: Rush Hour Othello EXPTIME-complete: Chess NP-complete: 15-puzzle Cryptarithms
12
12 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Rush Hour: Στην αρχική του μορφή παίζεται σε ένα πίνακα 6x6,όπου τοποθετούμε τα διάφορα “αυτοκίνητα” στις επιθυμητές θέσεις καθέτως ή οριζοντίως.Σκοπός του παιχνιδιού είναι να μετακινηθεί το “αυτοκίνητο”-στόχος στη θέση- έξοδος που είναι συνήθως στο δεξί άκρο του πίνακα και από την οποία μόνο το “αυτοκίνητο”-στόχος μπορεί να περάσει.
13
13 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Το Rush Ηοur ανήκει στην κατηγορία των παιχνιδιών που είναι δύσκολη η επίλυσή τους.Oι Flake και Baum έχουν γενικεύσει την αρχική έκδοση του παιχνιδιού αφήνοντας έτσι το περιθώριο για επιλογή διαφορετικών διαστάσεων του πίνακα και διαφορετικής θέσης στην έξοδο,δείχνοντας παράλληλα οτι το γενικευμένο Rush Ηοur είναι PSPACE-πλήρες πρόβλημα. Τα αποτελέσματα της απόδειξης της PSPACE-πληρότητας κατά τους Flake και Baum είναι ότι δεν υπάρχουν πολλές πιθανότητες να βρούμε μια λύση ενός δεδομένου στιγμιοτύπου του παιχνιδιού σε πολυωνυμικό χρόνο.Όμως αν ο αριθμός των αυτοκινήτων αλλά και ο αριθμός των επιτρεπόμενων κινήσεων είναι μικρός,το πρόβλημα μπορεί να λυθεί σε πολυωνυμικό χρόνο.
14
14 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Οthello: Παίζεται σε ένα πίνακα 8x8 με λευκούς και μαύρους δίσκους,με αρχική τοποθέτηση 2 μαύρων και 2 λευκών δίσκων στο κέντρο του.Οι παίχτες παίζουν εναλλάξ και κάθε κίνηση αποτελείται από την τοποθέτηση ενός δίσκου σε κάποια θέση του πίνακα με τέτοιο τρόπο ώστε να γίνει απομόνωση κάποιων δίσκων του αντιπάλου.Απομόνωση σημαίνει ότι μια ακολουθία συνεχόμενων δίσκων σε ευθεία(οριζόντια,κάθετα,διαγώνια) να βρεθεί ανάμεσα σε δίσκους αντιπάλου.Οι απομονωμένοι κόμβοι αλλάζουν χρώμα και παίρνουν το χρώμα του παίχτη που μόλις έπαιξε. Ο παίχτης με τους περισσότερους δίσκους του δικού του χρώματος στο τέλος του παιχνιδιού,κερδίζει!
15
15 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Γενικεύοντας το πρόβλημα σε έναν πίνακα nxn με μια αυθαίρετη αρχικοποίηση το παιχνίδι είναι PSPACE-πλήρες γιατί μόνο n 2 - 4 μπορούν γίνουν. Τελικά,όταν είμαστε στο PSPACE τα παιχνίδια μπορούν να παιχτούν στο βέλτιστο βαθμό(να καλυφθούν όλες οι θέσεις,να γίνουν όλες οι κινήσεις),χρησιμοποιώντας ενδεχομένως εκθετικό χρόνο αλλά μόνο πολυωνυμικό χώρο.Επιπλέον,τα παιχνίδια αυτα δεν μπορούν να λυθούν σε πολυωνυμικό χρόνο μόνο αν ισχύει P=PSPACE.
16
16 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Checkers and Draughts: Παίζεται σε έναν πίνακα 8x8.Οι παίχτες κινούν τα πιόνια διαγώνια ένα τετράγωνο τη φορά,διώχνωντας τα πιόνια του αντιπάλου “πηδώντας” διαγωνίως από πάνω τους.Σκοπός του παιχνιδιού να αφήσουμε τον αντίπαλο χωρίς επιπλέον κινήσεις αφαιρόντας του όλα τα πιόνια.
17
17 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Το παιχνίδι είναι EXPTIME-πλήρες και σε ένα πίνακα nxn.Τα παιχνίδια είναι EXPTIME-πλήρη καθώς μπορούν να διαρκέσουν για μια σειρά κινήσεων που είναι εκθετική σε σχέση με το μέγεθος του πίνακα. Υπάρχει και μια ειδική περίπτωση αν βάλουμε κάποιο όριο στον αριθμό των κινήσεων το πρόβλημα ανήκει στο PSPACE.
18
18 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ 15-puzzle: Οι 15 από τις 16 θέσεις σε ένα πίνακα 4x4 αποτελούνται 15 αριθμημένα κουτάκια αφήνοντας 1 κενό.Τα κουτάκια αυτά στο αρχικό στιγμιότυπο δεν είναι στη σειρά και σκοπός του παιχνιδιού ειναι να μπούν στην σειρά.
19
19 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Κάποια παιχνίδια δεν μπορούν εξ'ορισμού να είναι ΝΡ-πλήρη καθώς έχουν μόνο ένα πεπερασμένο αριθμό πιθανών κινήσεων,Σε πολλές περιπτώσεις όμως υπάρχει μια φυσική γενίκευση του προβλήματος- όπως στο πρόβλημα 15-puzzle με πίνακα 4x4 σε n 2 -1-puzzle με nxn πίνακα.
20
20 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ SEND + MORE MONEY 9 5 6 7 +1 0 8 5 1 0 6 5 2 Cryptarithms: Είναι ένα είδος μαθηματικού παζλ,όπου θέλουμα να βρούμε μια 1-1 αντιστοιχία μεταξύ των γραμμάτων και των ψηφίων έτσι ώστε το άθροισμα να είναι σωστό. -Κάθε γράμμα αντιπροσώπευει ένα μοναδικό ψηφίο. -οι αριθμοί δεν πρέπει να ξεκινουν με 0. -η κάθε λύση είναι μοναδική!
21
21 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Αν ασχοληθούμε μόνο με προβλήματα όπου οι αριθμοί είναι δεκαδικοί τα αποτελέσματα δεν παρουσιάζουν ιδιαίτερη δυσκολία αφού υπάρχουν 10! διαφορετικές αναθέσεις στα ψηφία και τα γράμματα. Γενικεύοντας όμως το πρόβλημα: Η βάση αναπαράστασηςτων αριθμών μας είναι μέρος του προβήματός μας(μοναδιαίο ή δυαδικο) και επιτρέπουμε στο πάζλ να περιέχει έναν αυθαίρετο αριθμό διαφορετικών γραμμάτων(μέχρι τη βάση αναπαράστασης).
22
22 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Μια γλώσσα Β είναι ΝΡ-πλήρης αν : 1.Η Β ανήκει στην κλάση ΝΡ. 2.Κάθε γλώσσα ΑєΝΡ ανάγεται στην Β σε πολυωνυμικό χρόνο. Για ένα δεδομένο τύπο 3ΣΚΜ φ,μια ανταιτιοκρατική μηχανή πολυωνυμικού χρόνου μπορεί προφανώς να μαντέψει μια τιμοδοσία στις μεταβλητές του φ και να αποδειχθεί ότι ο τύπος επαληθεύεται. [Η λύση θα είναι όσο και το μήκος της βάσης αναπαράστασης Χ τον αριθμό των γραμμάτων στο παζλ και μια τέτοια λύση μπορεί εύκολα να προσδιοριστεί] Θα κάνουμε αναγωγή με τη βοήθεια του 3SAT[Δεδομένου του τύπου φ το παζλ που κατασκευάζουμε θα έχει λύση αν και μόνο αν ο τύπος ικανοποιείται]
23
23 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Για να παράγουμε αρκετά σύμβολα για τα γράμματα θα χρησιμοποιήσουμε λεκτικούς ανασχηματισμούς.Κάθε μεταβλητή και όρος του τύπου φ θα αντιστοιχίζεται από ένα σύνολο γειτονικών στηλών του πάζλ.Η σειρά αυτών των συνόλων δεν μας ενδιαφέρει αρκεί οι 3 πιο δεξιά στήλες να είναι της μορφής: 0 p 0 1 q 0
24
24 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Για κάθε μεταβλητή ui του τύπου αντιστοιχούμε τις εξής στήλες,στις οποίες τα γράμματα ui και ¬ ui είναι η μεταβλητή και το συμπληρωμά της. d i 0 1 y i 0 c i y i 0 b i y i 0 a i 0 e i 0 d i y i 0 c i y i 0 b i y i 0 a i 0 ¬ u i 0 e i z i 0 d i z i 0 u i z i 0 b i 0 -μας ενδιαφέρουν οι μεταβλητές ui και ¬ ui -bi=2ai ui=2bi+0 ή 1mod4 (εξαρτάται αν το yi+yi μεταφέρουν κρατούμενο) Το ui πρέπει να είναι 0 ή 1mod4(false/true τιμή) Το ¬ui πρέπει να είναι 1 ή 0mod4 Για κάθε όρο του τύπου φ (Ua ˅ Ub ˅ Uc) αντιστοιχούμε U ab 0 U a 0 1 r i 0 g i w i 0 f i 0 U e 0 U b 0 h i r i 0 g i w i 0 f i 0 t i 0 U ab 0 t i s i 0 h i x i 0 g i 0 Αν τα Ua,Ub εμφανίζονται σε παραπάνω από έναν όρο--->Uab Οι στήλες(fi,wi,gi,ri,hi,si) θέτουν το ti να είναι 1,2 ή 3mod4 Οι αριστερότερες στήλες θέτουν ti=Ua+Ub+Uc και αφού το καθένα από αυτό είναι 0 ή 1mod4 το άθροισμα είναι διάφορο του 0mod4---->τουλάχιστον 1 απο τα Uj θα είναι 1mod4
25
25 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ Ta παραπάνω δείχνουν ότι,αν μας έχει δοθεί μια λύση του κρυπτάριθμου,μπορούμε να κάνουμε αντιστοίχιση στις μεταβλητές του τύπου και με άση τους περιορισμούς που ισχύουν στις στήλες που αντιστοιχούν στους όρους προκύπτει ότι κάθε όρος στον τύπο θα έχει τουλάχιστον μία απο τις μεταβλητές στη τιμή ΑΛΗΘΕΙΑ.Έτσι μια λύση του πάζλ μας δίνει μια ικανοποιήσιμη ανάθεση στον τύπο.(Αυτό θα ισχύει ανεξάρτητα στην βάση αναπαράστασης που θα χρησιμοποιείται),αλλά για να ολοκληρώσουμε την απόδειξη για την ΝΡ-πληρότητα θα πρέπει να βρούμε μια βάση που θα μας δώσει το “συμπαν” έτσι ώστε από την ικανοποιήσιμη ανάθεση στον τύπο θα μπορούμε να βρούμε μια λύση στο παζλ. Έχει αποδειχθεί ότι αυτή η βάση είναι η 3072 n 3 Με n τον αριθμό των μεταβλητών στον τύπο.
26
26 Yπολογιστική Πολυπλοκότητα Παιχνιδιών και Παζλ ευχαριστώ πολύ :)
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.