Τυχαιοποιημένοι Αλγόριθμοι

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
Ευχαριστώ!