Πιθανοκρατικοί Αλγόριθμοι Ειδικά Θέματα Υπολογισμού και Πολυπλοκότητας Σπυριδούλα Γραβάνη 31/05/2012
Τι είναι πιθανοκρατικός αλγόριθμος; (1) Input Algorithm Output Random numbers
Τι είναι πιθανοκρατικός αλγόριθμος; (2) Χρησιμοποιεί το αποτέλεσμα μιας τυχαίας διεργασίας σε κάποια υπολογιστικά βήματα. Η έξοδος αποτελεί μια τυχαία μεταβλητή, δηλαδή μπορεί να διαφέρει σε διαφορετικές εκτελέσεις του αλγορίθμου πάνω στην ίδια είσοδο.
Γιατί; (1) Ντετερμινιστικοί αλγόριθμοι για την επίλυση ενός προβλήματος βρίσκουν τη βέλτιστη λύση σε απαγορευτικά μεγάλο χρόνο. Προσεγγιστικοί αλγόριθμοι τερματίζουν σε μικρότερο χρόνο αλλά βρίσκουν υποβέλτιστη λύση.
Γιατί; (2) Οι πιθανοκρατικοί αλγόριθμοι είναι αλγόριθμοι που τερματίζουν σε μικρό χρόνο με μεγάλη πιθανότητα. Βρίσκουν τη βέλτιστη λύση με μεγάλη πιθανότητα. Συνήθως είναι απλοί και εύκολοι στην υλοποίηση τους.
Προσοχή: Δεν πρέπει να συγχέονται με την πιθανοτική ανάλυση του μέσου χρόνου εκτέλεσης ενός ντετερμινιστικού αλγόριθμου. Στην περίπτωση αυτή η είσοδος προέρχεται από πιθανοτική κατανομή. Στόχος είναι ο υπολογισμός του αναμενόμενου χρόνου εκτέλεσης.
Τύποι πιθανοκρατικών αλγορίθμων Monte Carlo: Τερματίζει σε ντετερμινιστικό (πολυωνυμικό) χρόνο, πιθανώς με λανθασμένη έξοδο. Las Vegas: Παράγει πάντοτε τη σωστή έξοδο. Ο χρόνος τερματισμού του ωστόσο αποτελεί μια τυχαία μεταβλητή με φραγμένη αναμενόμενη τιμή.
Παράδειγμα: Τυχαίος Περίπατος (1) Θεωρούμε τον εξής πιθανοκρατικό αλγόριθμο για το πρόβλημα SAT: “Ξεκίνα με οποιαδήποτε τιμοδοσία Τ και επανέλαβε τα επόμενα r φορές: Αν επαληθεύονται όλες οι προτάσεις, τότε απάντησε: “ ο τύπος είναι αληθεύσιμος” και σταμάτα. Αλλιώς, σε μια πρόταση που δεν επαληθεύεται, διάλεξε τυχαία μια από τις μεταβλητές τις και δώσε την αντίθετη τιμοδοσία σε αυτή. Μετά από r φορές τερμάτισε , απαντώντας: “ ο τύπος δεν ικανοποιείται με μεγάλη πιθανότητα”. ”
Παράδειγμα: Τυχαίος Περίπατος (2) Θεωρούμε το πρόβλημα: 2-SAT = { <φ> | ο φ είναι ένας αληθεύσιμος τύπος σε 2CNF } Θεώρημα: Αν εφαρμόσουμε τον Τυχαίο Περίπατο για βήματα σε οποιοδήποτε αληθές στιγμιότυπο του 2-SAT με n μεταβλητές, τότε με πιθανότητα τουλάχιστον ίση με ½ θα προκύψει αληθής τιμοδοσία.
Μειονεκτήματα Υπάρχει πεπερασμένη πιθανότητα λάθους. Αυτή η πιθανότητα ωστόσο , μπορεί να γίνει αυθαίρετα μικρή με επαναληπτική εκτέλεση της τυχαιότητας. Δεν υπάρχει πραγματική τυχαιότητα αριθμών. Οι αλγόριθμοι χρησιμοποιούν ψευδοτυχαίους αριθμούς , γι’αυτό και η έξοδός τους εξαρτάται από την ποιότητα της γεννήτριας. Η ανάλυση του χρόνου εκτέλεσης, καθώς και της πιθανότητας σωστής εξόδου μπορεί να είναι δύσκολη.
Πιθανοκρατικές Κλάσεις Πολυπλοκότητας
Πιθανοκρατική Μηχανή Turing (1) Σε κάθε κλάδο b του υπολογισμού της για είσοδο w αποδίδουμε πιθανότητα: όπου k: το πλήθος των κερματοριπτικών βημάτων κατά μήκος του b. Πιθανότητα αποδοχής της w από τη μηχανή:
Πιθανοκρατική Μηχανή Turing (2) Πιθανότητα απόρριψης της w από τη μηχανή: Για , η μηχανή διαγιγνώσκει τη γλώσσα L με πιθανότητα σφάλματος ε όταν ισχύουν οι εξής συνθήκες: Δηλαδή η πιθανότητα λάθους κατά την προσομοίωση της μηχανής δεν πρέπει να υπερβαίνει την ποσότητα ε.
Κλάση RP (Randomized Polynomial Time) Μια γλώσσα L ανήκει στην RP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε να ισχύουν τα εξής: Ένας RP αλγόριθμος είναι Monte Carlo. Λάθος έξοδος μπορεί να προκύψει μόνο αν Η πιθανότητα λάθους μπορεί να γίνει εκθετικά μικρή εκτελώντας ανεξάρτητες επαναλήψεις του αλγορίθμου.
Κλάση coRP Συμπληρωματική κλάση της RP Μια γλώσσα L ανήκει στην coRP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε να ισχύουν τα εξής: Ένας coRP αλγόριθμος είναι Monte Carlo. Λάθος έξοδος μπορεί να προκύψει μόνο αν
Κλάση ZPP (Zero Error Probabilistic Polynomial Time) Μια γλώσσα L ανήκει στην κλάση ZPP αν και μόνο αν: Ένα πρόβλημα που ανήκει στην κλάση ZPP έχει αλγόριθμο που δεν κάνει ποτέ λάθος, δηλαδή έναν αλγόριθμο Las Vegas.
Κλάση PP (Probabilistic Polynomial Time) Μια γλώσσα L ανήκει στην PP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε να ισχύει το εξής: Μια τέτοια μηχανή Μ αποφασίζει την L “βάσει πλειοψηφίας” .
Κλάση BPP (Bounded-Probability Polynomial Time) Μια γλώσσα L ανήκει στην BPP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε να ίσχουν τα εξής: Μια τέτοια μηχανή Μ αποδέχεται “βάσει καθαρής πλειοψηφίας” ή απορρίπτει “βάσει καθαρής μειοψηφίας”.
Εγκλεισμοί Κλάσεων (1) Οι βασικοί εγκλεισμοί είναι: Ο δεύτερος ισχύει καθώς μια μηχανή που αποφασίζει με “καθαρή” πλειοψηφία, σίγουρα αποφασίζει και με “απλή”. Πιο αυστηρά , από τους ορισμούς, η BPP έχει πιθανότητα λάθους μικρότερη από 0.25 ενώ η PP επιτρέπει πιθανότητα λάθους αυθαίρετα κοντά στο 0.5.
Εγκλεισμοί Κλάσεων (2) Για τον πρώτο εγκλεισμό, σκεφτόμαστε ως εξής: Έστω Ορίζουμε μια πιθανοκρατική μηχανή M’ ως εξής: “ Για είσοδο x εξομοίωσε την M(x) δύο φορές. Αποδέξου αν και μόνο αν μια από τις δύο εξομοιώσεις κατέληξε σε κατάσταση αποδοχής, διαφορετικά απόρριψε.”
Εγκλεισμοί Κλάσεων (3) Αν τότε η Μ(x) δε θα αποδεχθεί, συνεπώς δε θα αποδεχθεί ούτε η M’(x) Αν τότε εξ’ ορισμού: συνεπώς: Συνεπώς:
Εγκλεισμοί Κλάσεων (4) Ένας τελευταίος εγκλεισμός είναι ο εξής: Έστω μια γλώσσα L στo NP η οποία διαγιγνώσκεται από μια μη ντετερμινιστική μηχανή Ν. Ορίζουμε μια νέα μηχανή N’ , πανομοιότυπη με την Ν εκτός από μια νέα αρχική κατάσταση και μια μη ντετερμινιστική επιλογή από αυτή. Η μια πιθανή κίνηση οδηγεί στον αρχικό υπολογισμό της N πάνω στην ίδια είσοδο. Η δεύτερη επιλογή πάντα σε κατάσταση αποδοχής.
Εγκλεισμοί Κλάσεων (5) Έστω μια λέξη x. Αν η Ν με είσοδο x χρειάζεται p(|x|) βήματα και παράγει μονοπάτια υπολογισμού, τότε η N’ παράγει μονοπάτια. Από αυτά τουλάχιστον τα μισά θα τερματίσουν σε κατάσταση αποδοχής (αυτά που ανταποκρίνονται στα μισά μονοπάτια αποδοχής της N’). Έτσι, η πλειοψηφία των υπολογισμών της N’ αποδέχεται αν και μόνο αν υπάρχει τουλάχιστον ένα μονοπάτι υπολογισμού της N(x) που καταλήγει σε αποδοχή, δηλαδή αν και μόνο αν . Συνεπώς η Ν’ αποδέχεται την L με πλειοψηφία και .
Συμπεράσματα Η εισαγωγή τυχαιότητας οδηγεί σε απλότητα και αποτελεσματικότητα κατά τη λύση ενός προβλήματος. Προϋποθέτει την ύπαρξη μιας αμερόληπτης γεννήτριας ανεξάρτητων τυχαίων αριθμών. Η πρόσβαση σε τέτοιες ακολουθίες αριθμών είναι ακριβή, γι’αυτό πρέπει να χρησιμοποιείται με φειδώ όπως ο χώρος και ο χρόνος. Υπάρχουν τρόποι να μειωθεί η τυχαιότητα από τους αλγόριθμους, διατηρώντας την αποδοτικότητα σχεδόν σταθερή.
Ανοιχτά Ζητήματα Η σχέση μεταξύ των κλάσεων BPP και NP παραμένει άγνωστη. Αν , τότε: . Ένας τέτοιος εγκλεισμός μοιάζει απίθανος , καθώς θα σήμαινε πως υπάρχουν πρακτικές λύσεις για NP-Πλήρη προβλήματα. Γνωρίζουμε πως το RP είναι υποσύνολο του BPP και το BPP είναι υποσύνολο του PP , αλλά δεν γνωρίζουμε αν είναι γνήσια υποσύνολα.
Απορίες
Ευχαριστώ!