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

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

Jan 01, 2016

Download

Documents

nell-downs

Πιθανοκρατικοί Αλγόριθμοι. Ειδικά Θέματα Υπολογισμού και Πολυπλοκότητας Σπυριδούλα Γραβάνη 31/05/2012. Τι είναι πιθανοκρατικός αλγόριθμος; (1). Random numbers. Τι είναι πιθανοκρατικός αλγόριθμος; (2). Χρησιμοποιεί το αποτέλεσμα μιας τυχαίας διεργασίας σε κάποια υπολογιστικά βήματα. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Πιθανοκρατικοί Αλγόριθμοι

Ειδικά Θέματα Υπολογισμού και Πολυπλοκότητας

Σπυριδούλα Γραβάνη

31/05/2012

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

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

2

Input Algorithm Output

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

Random numbers

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

3

Χρησιμοποιεί το αποτέλεσμα μιας τυχαίας διεργασίας σε κάποια υπολογιστικά βήματα.

Η έξοδος αποτελεί μια τυχαία μεταβλητή, δηλαδή μπορεί να διαφέρει σε διαφορετικές εκτελέσεις του αλγορίθμου πάνω στην ίδια είσοδο.

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

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

4

Ντετερμινιστικοί αλγόριθμοι για την επίλυση ενός προβλήματος βρίσκουν τη βέλτιστη λύση σε απαγορευτικά μεγάλο χρόνο.

Προσεγγιστικοί αλγόριθμοι τερματίζουν σε μικρότερο χρόνο αλλά βρίσκουν υποβέλτιστη λύση.

Γιατί; (1)

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

5

Οι πιθανοκρατικοί αλγόριθμοι είναι αλγόριθμοι που τερματίζουν σε μικρό χρόνο με μεγάλη πιθανότητα.

Βρίσκουν τη βέλτιστη λύση με μεγάλη πιθανότητα.

Συνήθως είναι απλοί και εύκολοι στην υλοποίηση τους.

Γιατί; (2)

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

6

Δεν πρέπει να συγχέονται με την πιθανοτική ανάλυση του μέσου χρόνου εκτέλεσης ενός ντετερμινιστικού αλγόριθμου.

Στην περίπτωση αυτή η είσοδος προέρχεται από πιθανοτική κατανομή.

Στόχος είναι ο υπολογισμός του αναμενόμενου χρόνου εκτέλεσης.

Προσοχή:

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

7

Monte Carlo: Τερματίζει σε ντετερμινιστικό (πολυωνυμικό) χρόνο, πιθανώς με λανθασμένη έξοδο.

Las Vegas: Παράγει πάντοτε τη σωστή έξοδο. Ο χρόνος τερματισμού του ωστόσο αποτελεί μια τυχαία μεταβλητή με φραγμένη αναμενόμενη τιμή.

Τύποι πιθανοκρατικών αλγορίθμων

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

8

Θεωρούμε τον εξής πιθανοκρατικό αλγόριθμο για το πρόβλημα SAT:“Ξεκίνα με οποιαδήποτε τιμοδοσία Τ και επανέλαβε ταεπόμενα r φορές: Αν επαληθεύονται όλες οι προτάσεις, τότε απάντησε:

“ ο τύπος είναι αληθεύσιμος” και σταμάτα. Αλλιώς, σε μια πρόταση που δεν επαληθεύεται,

διάλεξε τυχαία μια από τις μεταβλητές τις και δώσε την αντίθετη τιμοδοσία σε αυτή.

Μετά από r φορές τερμάτισε , απαντώντας: “ ο τύπος δεν

ικανοποιείται με μεγάλη πιθανότητα”. ”

Παράδειγμα: Τυχαίος Περίπατος (1)

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

9

Θεωρούμε το πρόβλημα: 2-SAT = { <φ> | ο φ είναι ένας αληθεύσιμος τύπος σε 2CNF }

Θεώρημα: Αν εφαρμόσουμε τον Τυχαίο Περίπατο για

βήματα σε οποιοδήποτε αληθές στιγμιότυπο του 2-SAT με n μεταβλητές, τότε με πιθανότητα τουλάχιστον ίση

με½ θα προκύψει αληθής τιμοδοσία.

Παράδειγμα: Τυχαίος Περίπατος (2)

𝒓= 𝟐𝒏𝟐

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

10

Υπάρχει πεπερασμένη πιθανότητα λάθους. Αυτή η πιθανότητα ωστόσο , μπορεί να γίνει αυθαίρετα μικρή με επαναληπτική εκτέλεση της τυχαιότητας.

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

Η ανάλυση του χρόνου εκτέλεσης, καθώς και της πιθανότητας σωστής εξόδου μπορεί να είναι δύσκολη.

Μειονεκτήματα

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

11

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

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

12

Μη ντετερμινιστική μηχανή Turing στην οποία κάθε βήμα λέγεται κερματοριπτικό και έχει δύο αποδεκτές επόμενες κινήσεις.

Σε κάθε κλάδο b του υπολογισμού της για είσοδο w αποδίδουμε πιθανότητα:

όπου k: το πλήθος των κερματοριπτικών βημάτων κατά μήκος του b.

Πιθανότητα αποδοχής της w από τη μηχανή:

Πιθανοκρατική Μηχανή Turing (1)

𝐏𝐫ሾ𝒃ሿ= 𝟐−𝒌

𝐏𝐫ሾ𝒂𝒄𝒄𝒆𝒑𝒕ሿ= 𝐏𝐫 [𝒃]𝝄 𝜿𝝀ά�𝜹𝝄𝝇 𝒃 𝜺ί�𝝂𝜶𝜾 𝜶𝝅𝝄𝜹𝜺𝜿𝝉𝜾𝜿ό�𝝇

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

13

Πιθανότητα απόρριψης της w από τη μηχανή:

Για , η μηχανή διαγιγνώσκει τη γλώσσα L με πιθανότητα σφάλματος ε όταν ισχύουν οι εξής συνθήκες:

Δηλαδή η πιθανότητα λάθους κατά την προσομοίωση της μηχανής δεν πρέπει να υπερβαίνει την ποσότητα ε.

Πιθανοκρατική Μηχανή Turing (2)

𝐏𝐫ሾ𝐫𝐞𝐣𝐞𝐜𝐭ሿ= 𝟏 − 𝐏𝐫ሾ𝒂𝒄𝒄𝒆𝒑𝒕ሿ 𝟎≤ 𝜺 < 𝟏𝟐

𝛢𝜈 𝑥∈ 𝐿 →Prሾ 𝑎𝑐𝑐𝑒𝑝𝑡ሿ≥ 1− 𝜀 𝛢𝜈 𝑥 ∉𝐿 →Prሾ𝑟𝑒𝑗𝑒𝑐𝑡ሿ ≥ 1− 𝜀.

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

14

Μια γλώσσα L ανήκει στην RP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε

να ισχύουν τα εξής:

Ένας RP αλγόριθμος είναι Monte Carlo.

Λάθος έξοδος μπορεί να προκύψει μόνο αν

Η πιθανότητα λάθους μπορεί να γίνει εκθετικά μικρή εκτελώντας ανεξάρτητες επαναλήψεις του αλγορίθμου.

Κλάση RP(Randomized Polynomial Time)

𝒙 ∈ 𝜮∗

𝑥 ∈ 𝐿 →Prሾ 𝑀ሺ𝑥ሻ𝑎𝑐𝑐𝑒𝑝𝑡𝑠ሿ≥ 12

𝑥 ∉ 𝐿 →Prሾ 𝑀ሺ𝑥ሻ𝑎𝑐𝑐𝑒𝑝𝑡𝑠ሿ= 0.

𝒙 ∈𝑳 .

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

15

Συμπληρωματική κλάση της RP

Μια γλώσσα L ανήκει στην coRP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε

να ισχύουν τα εξής:

Ένας coRP αλγόριθμος είναι Monte Carlo.

Λάθος έξοδος μπορεί να προκύψει μόνο αν

Κλάση coRP

𝒙 ∈ 𝜮∗

𝑥 ∈ 𝐿 →Prሾ 𝑀ሺ𝑥ሻ𝑎𝑐𝑐𝑒𝑝𝑡𝑠ሿ= 1 𝑥 ∈𝐿 →Prሾ 𝑀ሺ𝑥ሻ𝑎𝑐𝑐𝑒𝑝𝑡𝑠ሿ ≠ 0.

𝒙 ∈𝑳

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

16

Μια γλώσσα L ανήκει στην κλάση ZPP αν και μόνο αν:

Ένα πρόβλημα που ανήκει στην κλάση ZPP έχει αλγόριθμο που δεν κάνει ποτέ λάθος, δηλαδή έναν αλγόριθμο Las Vegas.

Κλάση ZPP(Zero Error Probabilistic Polynomial Time)

𝑳 ∈𝑹𝑷∩𝒄𝒐𝑹𝑷

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

17

Μια γλώσσα L ανήκει στην PP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε

να ισχύει το εξής:

Μια τέτοια μηχανή Μ αποφασίζει την L “βάσει πλειοψηφίας” .

Κλάση PP(Probabilistic Polynomial Time)

𝒙 ∈ 𝜮∗

𝒙 ∈ 𝑳 →𝐏𝐫ሾ 𝑴ሺ𝒙ሻ𝒂𝒄𝒄𝒆𝒑𝒕𝒔ሿ> 𝟏𝟐

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

18

Μια γλώσσα L ανήκει στην BPP αν και μόνο αν υπάρχει πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ τέτοια ώστε για κάθε

να ίσχουν τα εξής:

Μια τέτοια μηχανή Μ αποδέχεται “βάσει καθαρής πλειοψηφίας” ή απορρίπτει “βάσει καθαρής μειοψηφίας”.

Κλάση BPP(Bounded-Probability Polynomial Time)

𝒙 ∈ 𝜮∗

𝑥 ∈ 𝐿 →Prሾ 𝑀ሺ𝑥ሻ𝑎𝑐𝑐𝑒𝑝𝑡𝑠ሿ≥ 34

𝑥 ∈𝐿 →Prሾ 𝑀ሺ𝑥ሻ𝑎𝑐𝑐𝑒𝑝𝑡𝑠ሿ≤ 14.

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

19

Οι βασικοί εγκλεισμοί είναι:

Ο δεύτερος ισχύει καθώς μια μηχανή που αποφασίζει με “καθαρή” πλειοψηφία, σίγουρα αποφασίζει και με “απλή”.Πιο αυστηρά , από τους ορισμούς, η BPP έχει πιθανότητα λάθους μικρότερη από 0.25 ενώ η PP επιτρέπει πιθανότητα λάθους αυθαίρετα κοντά στο 0.5.

Εγκλεισμοί Κλάσεων (1)

𝑹𝑷 ⊆ 𝑩𝑷𝑷 ⊆ 𝑷𝑷

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

20

Για τον πρώτο εγκλεισμό, σκεφτόμαστε ως εξής: Έστω

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

Εγκλεισμοί Κλάσεων (2)

𝑳 ∈𝑹𝑷 ⇒ ∃ 𝝅𝜾𝜽𝜶𝝂𝝄𝜿𝝆𝜶𝝉𝜾𝜿ή� 𝝁𝜼𝝌𝜶𝝂ή� 𝑻𝒖𝒓𝒊𝒏𝒈 𝜧 𝝅𝝄𝝀𝝊𝝎𝝂𝝊𝝁𝜾𝜿𝝄ύ� 𝝌𝝆ό�𝝂𝝄𝝊∶ ∀ 𝒙∈ 𝜮∗ 𝝂𝜶 𝜾𝝈𝝌ύ�𝝄𝝊𝝂 𝝉𝜶 𝜺𝝃ή�𝝇: 𝒙 ∈ 𝑳 →𝐏𝐫ሾ 𝑴ሺ𝒙ሻ𝒂𝒄𝒄𝒆𝒑𝒕𝒔ሿ≥ 𝟏𝟐

𝒙 ∉𝑳 →𝐏𝐫ሾ 𝑴ሺ𝒙ሻ𝒂𝒄𝒄𝒆𝒑𝒕𝒔ሿ= 𝟎

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

21

Αν τότε η Μ(x) δε θα αποδεχθεί, συνεπώς δε θα αποδεχθεί ούτε η M’(x)

Αν τότε εξ’ ορισμού: συνεπώς:

Συνεπώς:

Εγκλεισμοί Κλάσεων (3) 𝒙∉𝑳

𝒙 ∈𝑳 𝐏𝐫ሾ 𝑴ሺ𝒙ሻ 𝒓𝒆𝒋𝒆𝒄𝒕𝒔 ሿ< 𝟏𝟐

𝐏𝐫ሾ 𝑴′(𝒙)𝒓𝒆𝒋𝒆𝒄𝒕𝒔 ሿ< 𝟏𝟐∗ 𝟏𝟐 ⇔ 𝐏𝐫ሾ 𝑴′ሺ𝒙ሻ𝒂𝒄𝒄𝒆𝒑𝒕𝒔 ሿ ≥ 𝟑𝟒

⇒𝐏𝐫ሾ 𝑴′ሺ𝒙ሻ 𝒂𝒄𝒄𝒆𝒑𝒕𝒔 ሿ= 0 ≤ 𝟏𝟒

𝑳 ∈𝑩𝑷𝑷

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

22

Ένας τελευταίος εγκλεισμός είναι ο εξής:

Έστω μια γλώσσα L στo NP η οποία διαγιγνώσκεται από μια μη ντετερμινιστική μηχανή Ν.

Ορίζουμε μια νέα μηχανή N’ , πανομοιότυπη με την Ν εκτός από μια νέα αρχική κατάσταση και μια μη ντετερμινιστική επιλογή από αυτή.

Η μια πιθανή κίνηση οδηγεί στον αρχικό υπολογισμό της N πάνω στην ίδια είσοδο.

Η δεύτερη επιλογή πάντα σε κατάσταση αποδοχής.

Εγκλεισμοί Κλάσεων (4)𝑵𝑷 ⊆ 𝑷𝑷

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

23

Έστω μια λέξη x. Αν η Ν με είσοδο x χρειάζεται p(|x|) βήματα και παράγει μονοπάτια υπολογισμού, τότε η N’ παράγει μονοπάτια.

Από αυτά τουλάχιστον τα μισά θα τερματίσουν σε κατάσταση αποδοχής (αυτά που ανταποκρίνονται στα μισά μονοπάτια αποδοχής της N’).

Έτσι, η πλειοψηφία των υπολογισμών της N’ αποδέχεται αν και μόνο αν υπάρχει τουλάχιστον ένα μονοπάτι υπολογισμού της N(x) που καταλήγει σε αποδοχή, δηλαδή αν και μόνο αν

.

Συνεπώς η Ν’ αποδέχεται την L με πλειοψηφία και .

Εγκλεισμοί Κλάσεων (5)

𝒙 ∈𝑳

𝑳 ∈𝑷𝑷

𝟐𝒑(ȁo𝒙ȁo) 𝟐𝒑ሺȁo𝒙ȁoሻ+𝟏

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

24

Η εισαγωγή τυχαιότητας οδηγεί σε απλότητα και αποτελεσματικότητα κατά τη λύση ενός προβλήματος.

Προϋποθέτει την ύπαρξη μιας αμερόληπτης γεννήτριας ανεξάρτητων τυχαίων αριθμών.

Η πρόσβαση σε τέτοιες ακολουθίες αριθμών είναι ακριβή, γι’αυτό πρέπει να χρησιμοποιείται με φειδώ όπως ο χώρος και ο χρόνος.

Υπάρχουν τρόποι να μειωθεί η τυχαιότητα από τους αλγόριθμους, διατηρώντας την αποδοτικότητα σχεδόν σταθερή.

Συμπεράσματα

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

25

Η σχέση μεταξύ των κλάσεων BPP και NP παραμένει άγνωστη. Αν , τότε: .

Ένας τέτοιος εγκλεισμός μοιάζει απίθανος , καθώς θα σήμαινε πως υπάρχουν πρακτικές λύσεις για NP-Πλήρη προβλήματα.

Γνωρίζουμε πως το RP είναι υποσύνολο του BPP και το BPP είναι υποσύνολο του PP , αλλά δεν γνωρίζουμε αν είναι γνήσια υποσύνολα.

Ανοιχτά Ζητήματα

𝑵𝑷 ⊆ 𝑩𝑷𝑷 𝑵𝑷= 𝑹𝑷

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

26

Απορίες

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

Ευχαριστώ!