Τυχαιοποιημένοι Αλγόριθμοι
Download
Report
Transcript Τυχαιοποιημένοι Αλγόριθμοι
Ειδικά Θέματα Υπολογισμού και Πολυπλοκότητας
Σπυριδούλα Γραβάνη
31/05/2012
Input
Algorithm
Output
Random
numbers
2
Χρησιμοποιεί το αποτέλεσμα μιας τυχαίας διεργασίας
σε κάποια υπολογιστικά βήματα.
Η έξοδος αποτελεί μια τυχαία μεταβλητή, δηλαδή
μπορεί να διαφέρει σε διαφορετικές εκτελέσεις του
αλγορίθμου πάνω στην ίδια είσοδο.
3
Ντετερμινιστικοί αλγόριθμοι για την επίλυση ενός
προβλήματος βρίσκουν τη βέλτιστη λύση σε
απαγορευτικά μεγάλο χρόνο.
Προσεγγιστικοί αλγόριθμοι τερματίζουν σε μικρότερο
χρόνο αλλά βρίσκουν υποβέλτιστη λύση.
4
Οι πιθανοκρατικοί αλγόριθμοι είναι αλγόριθμοι που
τερματίζουν σε μικρό χρόνο με μεγάλη πιθανότητα.
Βρίσκουν τη βέλτιστη λύση με μεγάλη πιθανότητα.
Συνήθως είναι απλοί και εύκολοι στην υλοποίηση τους.
5
Δεν πρέπει να συγχέονται με την πιθανοτική ανάλυση
του μέσου χρόνου εκτέλεσης ενός ντετερμινιστικού
αλγόριθμου.
Στην περίπτωση αυτή η είσοδος προέρχεται από
πιθανοτική κατανομή.
Στόχος είναι ο υπολογισμός του αναμενόμενου χρόνου
εκτέλεσης.
6
Monte Carlo: Τερματίζει σε ντετερμινιστικό
(πολυωνυμικό) χρόνο, πιθανώς με λανθασμένη έξοδο.
Las Vegas: Παράγει πάντοτε τη σωστή έξοδο. Ο
χρόνος τερματισμού του ωστόσο αποτελεί μια τυχαία
μεταβλητή με φραγμένη αναμενόμενη τιμή.
7
Θεωρούμε τον εξής πιθανοκρατικό αλγόριθμο για το
πρόβλημα SAT:
“Ξεκίνα με οποιαδήποτε τιμοδοσία Τ και επανέλαβε τα
επόμενα r φορές:
Αν επαληθεύονται όλες οι προτάσεις, τότε απάντησε: “ ο
τύπος είναι αληθεύσιμος” και σταμάτα.
Αλλιώς, σε μια πρόταση που δεν επαληθεύεται, διάλεξε
τυχαία μια από τις μεταβλητές τις και δώσε την
αντίθετη τιμοδοσία σε αυτή.
Μετά από r φορές τερμάτισε , απαντώντας: “ ο τύπος δεν
ικανοποιείται με μεγάλη πιθανότητα”. ”
8
Θεωρούμε το πρόβλημα: 2-SAT =
{ <φ> | ο φ είναι ένας αληθεύσιμος τύπος σε 2CNF }
Θεώρημα:
Αν εφαρμόσουμε τον Τυχαίο Περίπατο για 𝒓 = 𝟐𝒏𝟐
βήματα σε οποιοδήποτε αληθές στιγμιότυπο του 2-SAT
με n μεταβλητές, τότε με πιθανότητα τουλάχιστον ίση με
½ θα προκύψει αληθής τιμοδοσία.
9
Υπάρχει πεπερασμένη πιθανότητα λάθους. Αυτή η
πιθανότητα ωστόσο , μπορεί να γίνει αυθαίρετα μικρή
με επαναληπτική εκτέλεση της τυχαιότητας.
Δεν υπάρχει πραγματική τυχαιότητα αριθμών. Οι
αλγόριθμοι χρησιμοποιούν ψευδοτυχαίους αριθμούς ,
γι’αυτό και η έξοδός τους εξαρτάται από την ποιότητα
της γεννήτριας.
Η ανάλυση του χρόνου εκτέλεσης, καθώς και της
πιθανότητας σωστής εξόδου μπορεί να είναι δύσκολη.
10
11
Μη ντετερμινιστική μηχανή Turing στην οποία κάθε
βήμα λέγεται κερματοριπτικό και έχει δύο αποδεκτές
επόμενες κινήσεις.
Σε κάθε κλάδο b του υπολογισμού της για είσοδο w
αποδίδουμε πιθανότητα:
𝐏𝐫 𝒃 = 𝟐−𝒌
όπου k: το πλήθος των κερματοριπτικών βημάτων κατά
μήκος του b.
Πιθανότητα αποδοχής της w από τη μηχανή:
𝐏𝐫 𝒂𝒄𝒄𝒆𝒑𝒕 =
𝐏𝐫
[𝒃]
𝝄 𝜿𝝀ά𝜹𝝄𝝇 𝒃
𝜺ί𝝂𝜶𝜾 𝜶𝝅𝝄𝜹𝜺𝜿𝝉𝜾𝜿ό𝝇
12
Πιθανότητα απόρριψης της w από τη μηχανή:
𝐏𝐫 𝐫𝐞𝐣𝐞𝐜𝐭 = 𝟏 − 𝐏𝐫 𝒂𝒄𝒄𝒆𝒑𝒕
Για 𝟎 ≤ 𝜺 <
𝟏
𝟐
, η μηχανή διαγιγνώσκει τη γλώσσα L με
πιθανότητα σφάλματος ε όταν ισχύουν οι εξής
συνθήκες: 𝛢𝜈 𝑥 ∈ 𝐿 → Pr 𝑎𝑐𝑐𝑒𝑝𝑡 ≥ 1 − 𝜀
𝛢𝜈 𝑥 ∉ 𝐿 → Pr 𝑟𝑒𝑗𝑒𝑐𝑡 ≥ 1 − 𝜀.
Δηλαδή η πιθανότητα λάθους κατά την προσομοίωση
της μηχανής δεν πρέπει να υπερβαίνει την ποσότητα ε.
13
Μια γλώσσα L ανήκει στην RP αν και μόνο αν υπάρχει
πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing Μ
τέτοια ώστε για κάθε 𝒙 ∈ 𝜮
να ισχύουν τα εξής: 𝑥 ∈ 𝐿 → Pr 𝑀 𝑥 𝑎𝑐𝑐𝑒𝑝𝑡𝑠 ≥ 12
∗
𝑥 ∉ 𝐿 → Pr 𝑀 𝑥 𝑎𝑐𝑐𝑒𝑝𝑡𝑠 = 0.
Ένας RP αλγόριθμος είναι Monte Carlo.
Λάθος έξοδος μπορεί να προκύψει μόνο αν 𝒙 ∈ 𝑳 .
Η πιθανότητα λάθους μπορεί να γίνει εκθετικά μικρή
εκτελώντας ανεξάρτητες επαναλήψεις του αλγορίθμου.
14
Συμπληρωματική κλάση της RP
Μια γλώσσα L ανήκει στην coRP αν και μόνο αν υπάρχει
πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing
Μ τέτοια ώστε για κάθε 𝒙 ∈ 𝜮
να ισχύουν τα εξής: 𝑥 ∈ 𝐿 → Pr 𝑀 𝑥 𝑎𝑐𝑐𝑒𝑝𝑡𝑠 = 1
∗
𝑥 ∈ 𝐿 → Pr 𝑀 𝑥 𝑎𝑐𝑐𝑒𝑝𝑡𝑠 ≠ 0.
Ένας coRP αλγόριθμος είναι Monte Carlo.
Λάθος έξοδος μπορεί να προκύψει μόνο αν 𝒙 ∈ 𝑳
15
Μια γλώσσα L ανήκει στην κλάση ZPP αν και μόνο αν:
𝑳 ∈ 𝑹𝑷 ∩ 𝒄𝒐𝑹𝑷
Ένα πρόβλημα που ανήκει στην κλάση ZPP έχει
αλγόριθμο που δεν κάνει ποτέ λάθος, δηλαδή έναν
αλγόριθμο Las Vegas.
16
Μια γλώσσα L ανήκει στην PP αν και μόνο αν υπάρχει
πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing
Μ τέτοια ώστε για κάθε 𝒙 ∈ 𝜮
να ισχύει το εξής: 𝒙 ∈ 𝑳 → 𝐏𝐫 𝑴 𝒙 𝒂𝒄𝒄𝒆𝒑𝒕𝒔 > 𝟏𝟐
∗
Μια τέτοια μηχανή Μ αποφασίζει την L “βάσει
πλειοψηφίας” .
17
Μια γλώσσα L ανήκει στην BPP αν και μόνο αν υπάρχει
πολυωνυμικού χρόνου πιθανοκρατική μηχανή Turing
Μ τέτοια ώστε για κάθε 𝒙 ∈ 𝜮
3
𝑥
∈
𝐿
→
Pr
𝑀
𝑥
𝑎𝑐𝑐𝑒𝑝𝑡𝑠
≥
να ίσχουν τα εξής:
4
1
∗
𝑥 ∈ 𝐿 → Pr 𝑀 𝑥 𝑎𝑐𝑐𝑒𝑝𝑡𝑠 ≤ .
4
Μια τέτοια μηχανή Μ αποδέχεται “βάσει καθαρής
πλειοψηφίας” ή απορρίπτει “βάσει καθαρής
μειοψηφίας”.
18
Οι βασικοί εγκλεισμοί είναι:
𝑹𝑷 ⊆ 𝑩𝑷𝑷 ⊆ 𝑷𝑷
Ο δεύτερος ισχύει καθώς μια μηχανή που αποφασίζει
με “καθαρή” πλειοψηφία, σίγουρα αποφασίζει και με
“απλή”.
Πιο αυστηρά , από τους ορισμούς, η BPP έχει
πιθανότητα λάθους μικρότερη από 0.25 ενώ η PP
επιτρέπει πιθανότητα λάθους αυθαίρετα κοντά στο 0.5.
19
Για τον πρώτο εγκλεισμό, σκεφτόμαστε ως εξής: Έστω
𝑳 ∈ 𝑹𝑷 ⇒ ∃ 𝝅𝜾𝜽𝜶𝝂𝝄𝜿𝝆𝜶𝝉𝜾𝜿ή 𝝁𝜼𝝌𝜶𝝂ή 𝑻𝒖𝒓𝒊𝒏𝒈 𝜧 𝝅𝝄𝝀𝝊𝝎𝝂𝝊𝝁𝜾𝜿𝝄ύ 𝝌𝝆ό𝝂𝝄𝝊
∶ ∀ 𝒙 ∈ 𝜮∗ 𝝂𝜶 𝜾𝝈𝝌ύ𝝄𝝊𝝂 𝝉𝜶 𝜺𝝃ή𝝇:
𝒙 ∈ 𝑳 → 𝐏𝐫 𝑴 𝒙 𝒂𝒄𝒄𝒆𝒑𝒕𝒔 ≥
𝟏
𝟐
𝒙 ∉ 𝑳 → 𝐏𝐫 𝑴 𝒙 𝒂𝒄𝒄𝒆𝒑𝒕𝒔 = 𝟎
Ορίζουμε μια πιθανοκρατική μηχανή M’ ως εξής:
“ Για είσοδο x εξομοίωσε την M(x) δύο φορές. Αποδέξου
αν και μόνο αν μια από τις δύο εξομοιώσεις κατέληξε σε
κατάσταση αποδοχής, διαφορετικά απόρριψε.”
20
Αν 𝒙 ∉ 𝑳 τότε η Μ(x) δε θα αποδεχθεί, συνεπώς δε θα
αποδεχθεί ούτε η M’(x)
𝟏
⇒ 𝐏𝐫 𝑴′ 𝒙 𝒂𝒄𝒄𝒆𝒑𝒕𝒔 = 0 ≤
𝟒
Αν 𝒙 ∈ 𝑳
τότε εξ’ ορισμού:
συνεπώς:
𝐏𝐫 𝑴′ (𝒙)𝒓𝒆𝒋𝒆𝒄𝒕𝒔 <
Συνεπώς:
𝟏
𝐏𝐫 𝑴 𝒙 𝒓𝒆𝒋𝒆𝒄𝒕𝒔 <
𝟐
𝟏 𝟏
∗
⇔ 𝐏𝐫 𝑴′ 𝒙 𝒂𝒄𝒄𝒆𝒑𝒕𝒔
𝟐 𝟐
≥
𝟑
𝟒
𝑳 ∈ 𝑩𝑷𝑷
21
Ένας τελευταίος εγκλεισμός είναι ο εξής:
𝑵𝑷 ⊆ 𝑷𝑷
Έστω μια γλώσσα L στo NP η οποία διαγιγνώσκεται από μια μη
ντετερμινιστική μηχανή Ν.
Ορίζουμε μια νέα μηχανή N’ , πανομοιότυπη με την Ν εκτός από
μια νέα αρχική κατάσταση και μια μη ντετερμινιστική επιλογή
από αυτή.
Η μια πιθανή κίνηση οδηγεί στον αρχικό υπολογισμό της N πάνω
στην ίδια είσοδο.
Η δεύτερη επιλογή πάντα σε κατάσταση αποδοχής.
22
Έστω μια λέξη x. Αν η Ν με είσοδο x χρειάζεται p(|x|) βήματα και
παράγει 𝟐𝒑( 𝒙 ) μονοπάτια υπολογισμού, τότε η N’ παράγει 𝟐𝒑
μονοπάτια.
𝒙 +𝟏
Από αυτά τουλάχιστον τα μισά θα τερματίσουν σε κατάσταση
αποδοχής (αυτά που ανταποκρίνονται στα μισά μονοπάτια
αποδοχής της N’).
Έτσι, η πλειοψηφία των υπολογισμών της N’ αποδέχεται αν και
μόνο αν υπάρχει τουλάχιστον ένα μονοπάτι υπολογισμού της N(x)
που καταλήγει σε αποδοχή, δηλαδή αν και μόνο αν 𝒙 ∈ 𝑳 .
Συνεπώς η Ν’ αποδέχεται την L με πλειοψηφία και
𝑳 ∈ 𝑷𝑷
.
23
Η εισαγωγή τυχαιότητας οδηγεί σε απλότητα και
αποτελεσματικότητα κατά τη λύση ενός προβλήματος.
Προϋποθέτει την ύπαρξη μιας αμερόληπτης γεννήτριας
ανεξάρτητων τυχαίων αριθμών.
Η πρόσβαση σε τέτοιες ακολουθίες αριθμών είναι ακριβή,
γι’αυτό πρέπει να χρησιμοποιείται με φειδώ όπως ο χώρος
και ο χρόνος.
Υπάρχουν τρόποι να μειωθεί η τυχαιότητα από τους
αλγόριθμους, διατηρώντας την αποδοτικότητα σχεδόν
σταθερή.
24
Η σχέση μεταξύ των κλάσεων BPP και NP παραμένει
άγνωστη. Αν 𝑵𝑷 ⊆ 𝑩𝑷𝑷 , τότε: 𝑵𝑷 = 𝑹𝑷 .
Ένας τέτοιος εγκλεισμός μοιάζει απίθανος , καθώς θα
σήμαινε πως υπάρχουν πρακτικές λύσεις για NP-Πλήρη
προβλήματα.
Γνωρίζουμε πως το RP είναι υποσύνολο του BPP και το
BPP είναι υποσύνολο του PP , αλλά δεν γνωρίζουμε αν
είναι γνήσια υποσύνολα.
25
26
Ευχαριστώ!