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

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

description

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

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

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

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

31/05/2012

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

2

Input Algorithm Output

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

Random numbers

3

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

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

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

4

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

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

Γιατί; (1)

5

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

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

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

Γιατί; (2)

6

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

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

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

Προσοχή:

7

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

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

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

8

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

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

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

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

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

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

9

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

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

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

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

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

𝒓= 𝟐𝒏𝟐

10

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

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

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

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

11

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

12

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

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

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

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

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

𝐏𝐫ሾ𝒃ሿ= 𝟐−𝒌

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

13

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

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

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

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

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

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

14

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

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

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

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

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

Κλάση RP(Randomized Polynomial Time)

𝒙 ∈ 𝜮∗

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

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

𝒙 ∈𝑳 .

15

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

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

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

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

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

Κλάση coRP

𝒙 ∈ 𝜮∗

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

𝒙 ∈𝑳

16

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

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

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

𝑳 ∈𝑹𝑷∩𝒄𝒐𝑹𝑷

17

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

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

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

Κλάση PP(Probabilistic Polynomial Time)

𝒙 ∈ 𝜮∗

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

18

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

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

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

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

𝒙 ∈ 𝜮∗

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

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

19

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

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

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

𝑹𝑷 ⊆ 𝑩𝑷𝑷 ⊆ 𝑷𝑷

20

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

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

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

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

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

21

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

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

Συνεπώς:

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

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

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

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

𝑳 ∈𝑩𝑷𝑷

22

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

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

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

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

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

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

23

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

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

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

.

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

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

𝒙 ∈𝑳

𝑳 ∈𝑷𝑷

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

24

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

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

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

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

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

25

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

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

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

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

𝑵𝑷 ⊆ 𝑩𝑷𝑷 𝑵𝑷= 𝑹𝑷

26

Απορίες

Ευχαριστώ!