1 / 27

Πιθανοκρατικοί Αλγόριθμοι

Πιθανοκρατικοί Αλγόριθμοι. Ειδικά Θέματα Υπολογισμού και Πολυπλοκότητας Σπυριδούλα Γραβάνη 31/05/2012. Τι είναι πιθανοκρατικός αλγόριθμος; (1). Random numbers. Τι είναι πιθανοκρατικός αλγόριθμος; (2). Χρησιμοποιεί το αποτέλεσμα μιας τυχαίας διεργασίας σε κάποια υπολογιστικά βήματα.

nell-downs
Download Presentation

Πιθανοκρατικοί Αλγόριθμοι

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Πιθανοκρατικοί Αλγόριθμοι Ειδικά Θέματα Υπολογισμού και Πολυπλοκότητας Σπυριδούλα Γραβάνη 31/05/2012

  2. Τι είναι πιθανοκρατικός αλγόριθμος; (1) Random numbers

  3. Τι είναι πιθανοκρατικός αλγόριθμος; (2) • Χρησιμοποιεί το αποτέλεσμα μιας τυχαίας διεργασίας σε κάποια υπολογιστικά βήματα. • Η έξοδος αποτελεί μια τυχαία μεταβλητή, δηλαδή μπορεί να διαφέρει σε διαφορετικές εκτελέσεις του αλγορίθμου πάνω στην ίδια είσοδο.

  4. Γιατί; (1) • Ντετερμινιστικοί αλγόριθμοι για την επίλυση ενός προβλήματος βρίσκουν τη βέλτιστη λύση σε απαγορευτικά μεγάλο χρόνο. • Προσεγγιστικοί αλγόριθμοι τερματίζουν σε μικρότερο χρόνο αλλά βρίσκουν υποβέλτιστη λύση.

  5. Γιατί; (2) • Οι πιθανοκρατικοί αλγόριθμοι είναι αλγόριθμοι που τερματίζουν σε μικρό χρόνο με μεγάλη πιθανότητα. • Βρίσκουν τη βέλτιστη λύση με μεγάλη πιθανότητα. • Συνήθως είναι απλοί και εύκολοι στην υλοποίηση τους.

  6. Προσοχή: • Δεν πρέπει να συγχέονται με την πιθανοτική ανάλυση του μέσου χρόνου εκτέλεσης ενός ντετερμινιστικού αλγόριθμου. • Στην περίπτωση αυτή η είσοδος προέρχεται από πιθανοτική κατανομή. • Στόχος είναι ο υπολογισμός του αναμενόμενου χρόνου εκτέλεσης.

  7. Τύποι πιθανοκρατικών αλγορίθμων • Monte Carlo: Τερματίζει σε ντετερμινιστικό (πολυωνυμικό) χρόνο, πιθανώς με λανθασμένη έξοδο. • Las Vegas: Παράγει πάντοτε τη σωστή έξοδο. Ο χρόνος τερματισμού του ωστόσο αποτελεί μια τυχαία μεταβλητή με φραγμένη αναμενόμενη τιμή.

  8. Παράδειγμα: Τυχαίος Περίπατος (1) • Θεωρούμε τον εξής πιθανοκρατικό αλγόριθμο για το πρόβλημα SAT: “Ξεκίνα με οποιαδήποτε τιμοδοσία Τ και επανέλαβε τα επόμενα r φορές: • Αν επαληθεύονται όλες οι προτάσεις, τότε απάντησε: “ ο τύπος είναι αληθεύσιμος” και σταμάτα. • Αλλιώς, σε μια πρόταση που δεν επαληθεύεται, διάλεξε τυχαία μια από τις μεταβλητές τις και δώσε την αντίθετη τιμοδοσία σε αυτή. Μετά από r φορές τερμάτισε , απαντώντας: “ ο τύπος δεν ικανοποιείται με μεγάλη πιθανότητα”. ”

  9. Παράδειγμα: Τυχαίος Περίπατος (2) • Θεωρούμε το πρόβλημα: 2-SAT = { <φ> | ο φ είναι ένας αληθεύσιμος τύπος σε 2CNF } • Θεώρημα: Αν εφαρμόσουμε τον Τυχαίο Περίπατο για βήματα σε οποιοδήποτε αληθές στιγμιότυπο του 2-SAT με n μεταβλητές, τότε με πιθανότητα τουλάχιστον ίση με ½ θα προκύψει αληθής τιμοδοσία.

  10. Μειονεκτήματα • Υπάρχει πεπερασμένη πιθανότητα λάθους. Αυτή η πιθανότητα ωστόσο , μπορεί να γίνει αυθαίρετα μικρή με επαναληπτική εκτέλεση της τυχαιότητας. • Δεν υπάρχει πραγματική τυχαιότητα αριθμών. Οι αλγόριθμοι χρησιμοποιούν ψευδοτυχαίους αριθμούς , γι’αυτό και η έξοδός τους εξαρτάται από την ποιότητα της γεννήτριας. • Η ανάλυση του χρόνου εκτέλεσης, καθώς και της πιθανότητας σωστής εξόδου μπορεί να είναι δύσκολη.

  11. Πιθανοκρατικές Κλάσεις Πολυπλοκότητας

  12. Πιθανοκρατική Μηχανή Turing (1) • Μη ντετερμινιστική μηχανή Turing στην οποία κάθε βήμα λέγεται κερματοριπτικό και έχει δύο αποδεκτές επόμενες κινήσεις. • Σε κάθε κλάδο b του υπολογισμού της για είσοδο w αποδίδουμε πιθανότητα: όπου k: το πλήθος των κερματοριπτικών βημάτων κατά μήκος του b. • Πιθανότητα αποδοχής της w από τη μηχανή:

  13. Πιθανοκρατική Μηχανή Turing (2) • Πιθανότητα απόρριψης της w από τη μηχανή: • Για , η μηχανή διαγιγνώσκει τη γλώσσα L με πιθανότητα σφάλματος εόταν ισχύουν οι εξής συνθήκες: • Δηλαδή η πιθανότητα λάθους κατά την προσομοίωση της μηχανής δεν πρέπει να υπερβαίνει την ποσότητα ε.

  14. Κλάση RP(Randomized Polynomial Time) • Μια γλώσσα L ανήκει στην RP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε να ισχύουν τα εξής: • Ένας RP αλγόριθμος είναι Monte Carlo. • Λάθος έξοδος μπορεί να προκύψει μόνο αν • Η πιθανότητα λάθους μπορεί να γίνει εκθετικά μικρή εκτελώντας ανεξάρτητες επαναλήψεις του αλγορίθμου.

  15. Κλάση coRP • Συμπληρωματική κλάση της RP • Μια γλώσσα L ανήκει στην coRP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε να ισχύουν τα εξής: • Ένας coRP αλγόριθμος είναι Monte Carlo. • Λάθος έξοδος μπορεί να προκύψει μόνο αν

  16. Κλάση ZPP(Zero Error Probabilistic Polynomial Time) • Μια γλώσσα L ανήκει στην κλάση ZPP αν και μόνο αν: • Ένα πρόβλημα που ανήκει στην κλάση ZPP έχει αλγόριθμο που δεν κάνει ποτέ λάθος, δηλαδή έναν αλγόριθμο Las Vegas.

  17. Κλάση PP(Probabilistic Polynomial Time) • Μια γλώσσα L ανήκει στην PP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε να ισχύει το εξής: • Μια τέτοια μηχανή Μ αποφασίζει την L“βάσει πλειοψηφίας” .

  18. Κλάση BPP(Bounded-Probability Polynomial Time) • Μια γλώσσα L ανήκει στην BPP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε να ίσχουν τα εξής: • Μια τέτοια μηχανή Μ αποδέχεται “βάσει καθαρής πλειοψηφίας” ή απορρίπτει “βάσει καθαρής μειοψηφίας”.

  19. Εγκλεισμοί Κλάσεων (1) • Οι βασικοί εγκλεισμοί είναι: • Ο δεύτερος ισχύει καθώς μια μηχανή που αποφασίζει με “καθαρή” πλειοψηφία, σίγουρα αποφασίζει και με “απλή”. Πιο αυστηρά , από τους ορισμούς, η BPP έχει πιθανότητα λάθους μικρότερη από 0.25 ενώ η PP επιτρέπει πιθανότητα λάθους αυθαίρετα κοντά στο 0.5.

  20. Εγκλεισμοί Κλάσεων (2) • Για τον πρώτο εγκλεισμό, σκεφτόμαστε ως εξής:Έστω • Ορίζουμε μια πιθανοκρατική μηχανή M’ ως εξής:“ Για είσοδο x εξομοίωσε την M(x) δύο φορές. Αποδέξου αν και μόνο αν μια από τις δύο εξομοιώσεις κατέληξε σε κατάσταση αποδοχής, διαφορετικά απόρριψε.”

  21. Εγκλεισμοί Κλάσεων (3) • Αν τότε η Μ(x) δε θα αποδεχθεί, συνεπώς δε θα αποδεχθεί ούτε η M’(x) • Αν τότε εξ’ ορισμού: συνεπώς: • Συνεπώς:

  22. Εγκλεισμοί Κλάσεων (4) • Ένας τελευταίος εγκλεισμός είναι ο εξής: • Έστω μια γλώσσα L στo NP η οποία διαγιγνώσκεται από μια μη ντετερμινιστική μηχανή Ν. • Ορίζουμε μια νέα μηχανή N’ , πανομοιότυπη με την Ν εκτός από μια νέα αρχική κατάσταση και μια μη ντετερμινιστική επιλογή από αυτή. • Η μια πιθανή κίνηση οδηγεί στον αρχικό υπολογισμό της N πάνω στην ίδια είσοδο. • Η δεύτερη επιλογή πάντα σε κατάσταση αποδοχής.

  23. Εγκλεισμοί Κλάσεων (5) • Έστω μια λέξη x. Αν η Ν με είσοδο x χρειάζεται p(|x|) βήματα και παράγει μονοπάτια υπολογισμού, τότε η N’ παράγει μονοπάτια. • Από αυτά τουλάχιστον τα μισά θα τερματίσουν σε κατάσταση αποδοχής (αυτά που ανταποκρίνονται στα μισά μονοπάτια αποδοχής της N’). • Έτσι, η πλειοψηφία των υπολογισμών της N’ αποδέχεται αν και μόνο αν υπάρχει τουλάχιστον ένα μονοπάτι υπολογισμού της N(x) που καταλήγει σε αποδοχή, δηλαδή αν και μόνο αν . • Συνεπώς η Ν’ αποδέχεται την L με πλειοψηφία και .

  24. Συμπεράσματα • Η εισαγωγή τυχαιότητας οδηγεί σε απλότητα και αποτελεσματικότητα κατά τη λύση ενός προβλήματος. • Προϋποθέτει την ύπαρξη μιας αμερόληπτης γεννήτριας ανεξάρτητων τυχαίων αριθμών. • Η πρόσβαση σε τέτοιες ακολουθίες αριθμών είναι ακριβή, γι’αυτό πρέπει να χρησιμοποιείται με φειδώ όπως ο χώρος και ο χρόνος. • Υπάρχουν τρόποι να μειωθεί η τυχαιότητα από τους αλγόριθμους, διατηρώντας την αποδοτικότητα σχεδόν σταθερή.

  25. Ανοιχτά Ζητήματα • Η σχέση μεταξύ των κλάσεων BPP και NP παραμένει άγνωστη. Αν , τότε: . • Ένας τέτοιος εγκλεισμός μοιάζει απίθανος , καθώς θα σήμαινε πως υπάρχουν πρακτικές λύσεις για NP-Πλήρη προβλήματα. • Γνωρίζουμε πως το RP είναι υποσύνολο του BPP και το BPP είναι υποσύνολο του PP , αλλά δεν γνωρίζουμε αν είναι γνήσια υποσύνολα.

  26. Απορίες

  27. Ευχαριστώ!

More Related