Περιεχόμενα. Πρόλογος Προκαταρκτικά Βασικές ιδιότητες των ακεραίων Ισοτιμίες Υπολογισμοί με μεγάλους ακεραίους...

Σχετικά έγγραφα
Αριθμοθεωρητικοί Αλγόριθμοι

* * * ( ) mod p = (a p 1. 2 ) mod p.

Ε Μέχρι 18 Μαΐου 2015.

a b b < a > < b > < a >.

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

a = a a Z n. a = a mod n.

Ποιες από τις παρακάτω προτάσεις είναι αληθείς; Δικαιολογήστε την απάντησή σας.

ΚΕΦΑΛΑΙΟ 1: Πρότυπα. x y x z για κάθε x, y, R με την ιδιότητα 1R. x για κάθε x R, iii) υπάρχει στοιχείο 1 R. ii) ( x y) z x ( y z)

Υπολογιστικά & Διακριτά Μαθηματικά

Ε Μέχρι 31 Μαρτίου 2015.

G 1 = G/H. I 3 = {f R : f(1) = 2f(2) ή f(1) = 3f(2)}. I 5 = {f R : f(1) = 0}.

ΜΕΓΙΣΤΙΚΟΣ ΤΕΛΕΣΤΗΣ 18 Σεπτεμβρίου 2014

Δακτύλιοι και Πρότυπα Ασκήσεις 2. όπου a (4 i) (1 2 i), b i. Στη συνέχεια βρείτε κάθε τέτοιο d. b. Δείξτε ότι [ i] (4 i)

Εφαρμοσμένη Κρυπτογραφία Ι

Τυχαία μεταβλητή (τ.μ.)

s G 1 ). = R, Z 2 Z 3 = Z6. s, t G) s t = st. 1. H = G 4. [G : H] = a G ah = Ha.

f(t) = (1 t)a + tb. f(n) =

Εφαρμοσμένη Κρυπτογραφία Ι

Κεφάλαιο 1 Πρότυπα. Στο κεφάλαιο αυτό εισάγουμε την έννοια του προτύπου πάνω από δακτύλιο.

Pr(10 X 15) = Pr(15 X 20) = 1/2, (10.2)

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Μαθηματικά Πληροφορικής Πιθανοτικά Εργαλεία. Υποπροσθετικότητα. Η Πιθανοτική Μέθοδος (The Probabilistic Method)

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ ΠΡΩΤΟ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΣΥΝΟΛΩΝ ΚΑΙ ΣΥΝΔΥΑΣΤΙΚΗΣ ΑΝΑΛΥΣΗΣ

Τυχαιότητα (Randomness) I

Δακτύλιοι και Πρότυπα Ασκήσεις 6. Η ύλη των ασκήσεων αυτών είναι η Ενότητα6, Εφαρμογές Θεωρημάτων Δομής στη Γραμμική Αλγεβρα.

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

ΚΕΦΑΛΑΙΟ 8: Εφαρμογή: Το θεώρημα του Burnside

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

ΚΕΦΑΛΑΙΟ 4: Ριζικό του Jacobson

Βασική Άλγεβρα. Ασκήσεις (εκδοχή )

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

Δώδεκα Αποδείξεις του. Θεμελιώδους Θεωρήματος της Άλγεβρας

ΚΕΦΑΛΑΙΟ 6: Κεντρικές Απλές Άλγεβρες

Θεωρία Galois. Πρόχειρες σημειώσεις (εκδοχή )

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9

Τυχαιοκρατικοί Αλγόριθμοι

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

(a + b) + c = a + (b + c), (ab)c = a(bc) a + b = b + a, ab = ba. a(b + c) = ab + ac

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΔΙΟΙΚΗΣΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΟΧΑΣΤΙΚΑ ΜΟΝΤΕΛΑ

ΚΕΦΑΛΑΙΟ 2: Ηµιαπλοί ακτύλιοι

Βασική Άλγεβρα. Ασκήσεις (εκδοχή )

viii 20 Δένδρα van Emde Boas 543

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Εισαγωγή Η Θεωρία Πιθανοτήτων παίζει μεγάλο ρόλο στη μοντελοποίηση και μελέτη συστημάτων των οποίων δεν μπορούμε να προβλέψουμε ή να παρατηρήσουμε την

Υπολογιστικά & Διακριτά Μαθηματικά

2 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ ΑΛΓΕΒΡΙΚΕΣ ΔΟΜΕΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ - ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ. Εισαγωγικές εξετάσεις για το Μεταπτυχιακό Πρόγραμμα - Μέρος 2ο

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

Στοχαστικές Στρατηγικές

ΑΝΑΛΥΣΗ 1 ΤΕΤΑΡΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

ΑΝΑΛΥΣΗ 1 ΠΕΜΠΤΟ ΜΑΘΗΜΑ, Μ. Παπαδημητράκης.

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Φυσικής Σημειώσεις Ανάλυσης Ι (ανανεωμένο στις 5 Δεκεμβρίου 2012)

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές 3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους

ΚΕΦΑΛΑΙΟ 6: Κεντρικές Απλές Άλγεβρες

Υπολογιστικά & Διακριτά Μαθηματικά

Μέρος ΙΙ. Τυχαίες Μεταβλητές

f(y) dy = b a dy = b a x f(x) dx = b a dx = x 2 = b2 a 2 2(b a) b a dx = = (a2 + ab + b 2 )(b a) 3(b a)

sup(a + B) = sup A + sup B inf(a + B) = inf A + inf B.

B = {x A : f(x) = 1}.

Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ

Δακτύλιοι και Πρότυπα Ασκήσεις 3. Στις παρακάτω ασκήσεις κάθε δακτύλιος είναι μη τετριμμένος μεταθετικός δακτύλιος. N ( a)

,..., v n. W πεπερασμένα παραγόμενοι και dimv. Τα ακόλουθα είναι ισοδύναμα f είναι ισομορφιμός. f είναι 1-1. f είναι επί.

Αριθμητική Ανάλυση και Εφαρμογές

2ογελ ΣΥΚΕΩΝ 2ογελ ΣΥΚΕΩΝ ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Β Λυκει(ου ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ

Υπολογιστικά & Διακριτά Μαθηματικά

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

Αριθμητική Ανάλυση και Εφαρμογές

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 7. Τυχαίες Μεταβλητές και Διακριτές Κατανομές Πιθανοτήτων

ΔΕΣΜΕΥΜΕΝΕΣ Ή ΥΠΟ ΣΥΝΘΗΚΗ ΠΙΘΑΝΟΤΗΤΕΣ

h(x, y) = card ({ 1 i n : x i y i

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

Εθνικό Μετσόβιο Πολυτεχνείο

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Γραμμική Αλγεβρα ΙΙ Διάλεξη 1 Εισαγωγή Χρήστος Κουρουνιώτης Πανεπισ τήμιο Κρήτης 19/2/2014 Χ.Κουρουνιώτης (Παν.Κρήτης) Διάλεξη 1 19/2/ / 13

Περιεχόμενα. Πρόλογος 3

1.3 Ιδεώδη και Περιοχές κυρίων Ιδεωδών 1.3. Ι Π Ι. Για το σύμβολο δεχόμαστε ότι n N {0}, < n καθώς και ότι:

Υπολογιστικά & Διακριτά Μαθηματικά

Αλγεβρικές Δομές ΙΙ. 1 Ομάδα I. Ά σ κ η σ η 1.1 Έστω R ένας δακτύλιος. Δείξτε ότι το σύνολο

Τίτλος Μαθήματος: Θεωρία Ομάδων. Ενότητα: Ευθέα Γινόμενα Ομάδων. Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης. Τμήμα: Μαθηματικών

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

ProapaitoÔmenec gn seic.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΠΟΣΟΤΙΚΕΣ ΜΕΘΟΔΟΙ στη Ναυτιλία και τις Μεταφορές

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Θεωρία αριθμών Αλγεβρικές δομές. Χρήστος Ξενάκης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Εφαρμοσμένη Κρυπτογραφία Ι

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

Transcript:

Περιεχόμενα Πρόλογος... 11 Προκαταρκτικά... 15 1 Βασικές ιδιότητες των ακεραίων...19 1.1 Διαιρετότητα και πρώτοι αριθμοί...19 1.2 Ιδεώδη και μέγιστοι κοινοί διαιρέτες...22 1.3. Μερικές συνέπειες της κατά μοναδικό τρόπο παραγοντοποίησης...26 2 Ισοτιμίες...31 2.1 Ορισμοί και βασικές ιδιότητες...31 2.2 Επίλυση γραμμικών ισοτιμιών...34 2.3 Κλάσεις καταλοίπων...39 2.4 Η συνάρτηση φι του Euler...43 2.5 Το μικρό θεώρημα του Fermat...44 2.6 Αριθμητικές συναρτήσεις και αντιστροφή Möbius...46 3 Υπολογισμοί με μεγάλους ακεραίους...53 3.1 Ασυμπτωτικοί συμβολισμοί...53 3.2 Μοντέλα μηχανής και θεωρία πολυπλοκότητας...56 3.3 Βασική αριθμητική ακεραίων...59 3.4 Υπολογισμοί στο Z n...69 3.5 Ταχύτερη αριθμητική ακεραίων ( )...72 3.6 Σημειώσεις...73 4 Ο αλγόριθμος του Ευκλείδη...77 4.1 Ο βασικός Ευκλείδειος αλγόριθμος...77 4.2 O διευρυμένος Ευκλείδειος αλγόριθμος...80 5

6 Περιεχόμενα 4.3 Υπολογισμός modular αντιστρόφων και Κινέζικων υπολοίπων...84 4.4 Επιτάχυνση της εκτέλεσης των αλγορίθμων μέσω modular υπολογισμών...85 4.5 Ανακατασκευή ρητού και εφαρμογές...88 4.6 Σημειώσεις...95 5 H κατανομή των πρώτων...97 5.1 Το θεώρημα του Chebyshev για την πυκνότητα των πρώτων...97 5.2 Αξίωμα του Bertrand...102 5.3 To Θεώρημα του Merten...104 5.4 Tο κόσκινο του Ερατοσθένη...109 5.5 To θεώρημα των πρώτων αριθμών και παραπέρα...110 5.6 Σημειώσεις...119 6 Πεπερασμένες και διακριτές κατανομές πιθανότητας... 121 6.1 Πεπερασμένες κατανομές πιθανότητας: βασικοί ορισμοί...121 6.2 Δεσμευμένη πιθανότητα και ανεξαρτησία...124 6.3 Τυχαίες μεταβλητές...130 6.4 Αναμενόμενη τιμή και διακύμανση...137 6.5 Μερικά χρήσιμα φράγματα...143 6.6 Το παράδοξο των γενεθλίων...147 6.7 Συναρτήσεις κατακερματισμού...151 6.8 Στατιστική απόσταση...157 6.9 Μέτρα τυχαιότητας και το εναπομείναν λήμμα κατακερματισμού (*)...163 6.10 Διακριτές κατανομές πιθανότητας...168 6.11 Σημειώσεις...174 7 Πιθανοτικοί αλγόριθμοι... 175 7.1 Βασικοί ορισμοί...175 7.2 Προσέγγιση συναρτήσεων...182 7.3 Ρίψη νομίσματος μέχρι να εμφανιστεί κορώνα...185 7.4 Παραγωγή τυχαίου αριθμού από ένα δεδομένο διάστημα...187 7.5 Παραγωγή ενός τυχαίου πρώτου...190 7.6 Παραγωγή τυχαίας μη αύξουσας ακολουθίας...195 7.7 Παραγωγή τυχαίου παραγοντοποιημένου αριθμού...198 7.8 Το κρυπτοσύστημα RSA...202 7.9 Σημειώσεις...206 8 Αβελιανές ομάδες... 209 8.1 Ορισμοί, βασικές ιδιότητες και παραδείγματα...209 8.2 Υποομάδες...214

Περιεχόμενα 7 8.3 Σύμπλοκα και ομάδες πηλίκα...219 8.4 Ομομορφισμοί και ισομορφισμοί ομάδων...223 8.5 Κυκλικές ομάδες...232 8.6 Η δομή των πεπερασμένων αβελιανών ομάδων (*)...238 9 Δακτύλιοι... 243 9.1 Ορισμοί, βασικές ιδιότητες και παραδείγματα...243 9.2 Δακτύλιοι Πολυωνύμων...253 9.3 Ιδεώδη και δακτύλιοι πηλίκα...263 9.4 Ομομορφισμοί και ισομορφισμοί δακτυλίων...269 10 Πιθανοτικός έλεγχος για πρώτο... 277 10.1 Δοκιμαστική διαίρεση...277 10.2. Η δομή της Z n...278 10.3 Ο έλεγχος Miller-Rabin...280 10.4 Παραγωγή τυχαίων πρώτων με χρήση του ελέγχου Miller-Rabin...285 10.5 Έλεγχος τέλειας δύναμης και παραγοντοποίηση σε δυνάμεις πρώτων...294 10.6 Παραγοντοποίηση και υπολογισμός της συνάρτησης φι του Euler...296 10.7 Σημειώσεις...299 11 Εύρεση γεννητόρων και διακριτών λογαρίθμων στο Z p... 303 11.1 Εύρεση γεννήτορα του Z p...303 11.2 Υπολογισμός διακριτών λογαρίθμων στο Z p...305 11.3 Το πρωτόκολλο εδραίωσης κλειδιών Diffie-Hellman...311 11.4 Σημειώσεις...316 12 Τετραγωνικά κατάλοιπα και τετραγωνική αντιστροφή... 319 12.1 Τετραγωνικά κατάλοιπα...319 12.2 Το σύμβολο Legendre...321 12.3 Το σύμβολο Jacobi...324 12.4 Σημειώσεις...326 13 Υπολογιστικά προβλήματα σχετικά με τα τετραγωνικά κατάλοιπα... 327 13.1 Υπολογισμός του συμβόλου Jacobi...327 13.2 Έλεγχος της τετραγωνικής υπολειμματικότητας...328 13.3 Υπολογισμός modular τετραγωνικών ριζών...329 13.4 Η υπόθεση τετραγωνικής υπολειμματικότητας...334 13.5 Σημειώσεις...335

8 Περιεχόμενα 14 Modules και διανυσματικοί χώροι... 337 14.1 Ορισμοί, βασικές ιδιότητες και παραδείγματα...337 14.2 Υπο-modules και modules πηλίκα...339 14.3 Ομομορφισμοί και ισομορφισμοί module...341 14.4 Γραμμική ανεξαρτησία και βάσεις...344 14.5 Διανυσματικοί χώροι και διάσταση...347 15 Πίνακες... 355 15.1 Βασικοί ορισμοί και ιδιότητες...356 15.2 Πίνακες και γραμμικές απεικονίσεις...359 15.3 Ο αντίστροφος ενός πίνακα...362 15.4 Απαλοιφή Gauss...364 15.5 Εφαρμογές της απαλοιφής Gauss...368 15.6 Σημειώσεις...375 16 Διακριτοί λογάριθμοι υποεκθετικού χρόνου και παραγοντοποίηση... 377 16.1 Λείοι αριθμοί...377 16.2 Ένας αλγόριθμος για διακριτούς λογαρίθμους...379 16.3 Ένας αλγόριθμος για την παραγοντοποίηση ακεραίων...385 16.4 Πρακτικές βελτιώσεις...393 16.5 Σημειώσεις...398 17 Περισσότεροι δακτύλιοι... 401 17.1 Άλγεβρες...401 17.2 Το σώμα κλασμάτων μιας ακέραιας περιοχής...405 17.3 Παραγοντοποίηση πολυωνύμων κατά μοναδικό τρόπο...408 17.4 Πολυωνυμικές ισοτιμίες...413 17.5 Άλγεβρες πηλίκα πολυωνύμων...416 17.6 Γενικές ιδιότητες των σωμάτων επέκτασης...419 17.7 Τυπικές δυναμοσειρές και σειρές Laurent...421 17.8 Περιοχές μοναδικής παραγοντοποίησης (*)...426 17.9 Σημειώσεις...440 18 Αριθμητική πολυωνύμων και εφαρμογές... 441 18.1 Βασική αριθμητική...441 18.2 Υπολογισμός ελάχιστων πολυωνύμων στο F [X]/(f) (I)...444 18.3 Ο αλγόριθμος του Ευκλείδη...445 18.4. Υπολογισμός modular αντιστρόφων και Κινέζικων υπολοίπων...448 18.5 Ανακατασκευή ρητής συνάρτησης και εφαρμογές...453

Περιεχόμενα 9 18.6 Ταχύτερη αριθμητική πολυωνύμων (*)...458 18.7 Σημειώσεις...465 19 Γραμμικώς παραγόμενες ακολουθίες και εφαρμογές... 467 19.1 Βασικοί ορισμοί και ιδιότητες...467 19.2 Υπολογισμός ελάχιστων πολυωνύμων: μια ειδική περίπτωση...472 19.3 Υπολογισμός ελάχιστων πολυωνύμων: μια πιο γενική περίπτωση...473 19.4 Επίλυση αραιών γραμμικών συστημάτων...479 19.5 Υπολογισμός ελάχιστων πολυωνύμων στο F[X]/(f) (II)...483 19.6 Η άλγεβρα των γραμμικών μετασχηματισμών (*)...484 19.7 Σημειώσεις...491 20 Πεπερασμένα σώματα... 493 20.1 Εισαγωγικά...493 20.2 Η ύπαρξη των πεπερασμένων σωμάτων...495 20.3 Η δομή υποσώματος και η μοναδικότητα των πεπερασμένων σωμάτων...499 20.4 Συζυγή, στάθμες και ίχνη...501 21 Αλγόριθμοι για πεπερασμένα σώματα... 509 21.1 Έλεγχος και κατασκευή ανάγωγων πολυωνύμων...509 21.2 Υπολογισμός ελάχιστων πολυωνύμων στο F[X]/(f ) (III)...513 21.3 Παραγοντοποίηση πολυωνύμων: ο αλγόριθμος Cantor-Zassenhaus...514 21.4 Παραγοντοποίηση πολυωνύμων: ο αλγόριθμος του Berlekamp...523 21.5 Ντετερμινιστικοί αλγόριθμοι παραγοντοποίησης ( )...531 21.6 Ταχύτερη αποσύνθεση ελεύθερη τετραγώνου ( )...533 21.7 Σημειώσεις...535 22 Ντετερμινιστικός έλεγχος για πρώτο... 539 22.1 Η βασική ιδέα...539 22.2 O αλγόριθμος και η ανάλυσή του...540 22.3 Σημειώσεις...551 Παράρτημα: Μερικές χρήσιμες προτάσεις... 553 Βιβλιογραφία... 557 Ευρετήριο συμβόλων... 563 Ευρετήριο... 565

7 Πιθανοτικοί αλγόριθμοι Μερικές φορές είναι χρήσιμο να δώσουμε στον αλγόριθμό μας τη δυνατότητα να παράγει τυχαίους αριθμούς. Για να απλοποιήσουμε τα πράγματα, θεωρούμε μόνο αλγορίθμους που παράγουν τυχαία bit. Από πού προέρχονται πραγματικά αυτά τα τυχαία bit δεν θα μας απασχολήσει και πολύ εδώ. Σε μια πρακτική υλοποίηση, θα χρησιμοποιούσε κάποιος μια ψευδοτυχαία γεννήτρια bit η οποία θα παρήγαγε bit τα οποία για όλους τους πρακτικούς σκοπούς θα ήταν τόσο καλά όσο τα τυχαία. Ενώ υπάρχει μια καλά ανεπτυγμένη θεωρία της παραγωγής ψευδοτυχαίων bit (μέρος της οποίας θεμελιώνεται πάνω στις ιδέες της 6.9), δεν θα ασχοληθούμε εδώ με αυτή. Επιπλέον, οι ψευδοτυχαίες γεννήτριες bit που χρησιμοποιούνται στην πράξη, δεν βασίζονται σ αυτή τη γενική θεωρία και είναι πολύ περισσότερο βασισμένες ειδικώς στη σχεδίαση. Έτσι, παρόλο που θα παρουσιάσουμε μια αυστηρή επίσημη θεωρία των πιθανοτικών αλγορίθμων, η εφαρμογή αυτής της θεωρίας στην πράξη είναι τελικά λιγάκι ευρετική. 7.1 Βασικοί ορισμοί Μιλώντας τυπικά, θα προσθέσουμε ένα νέο τύπο εντολής στη μηχανή μας τυχαίας προσπέλασης (που περιγράψαμε στην 3.2): τυχαίο bit (random bit) Αυτός ο τύπος εντολής (instruction) είναι της μορφής α RAN- DOM, όπου το α παίρνει την ίδια μορφή όπως στις αριθμητικές εντολές. Η εκτέλεση αυτού του τύπου εντολής αναθέτει στο α μια τιμή που έχει επιλεγεί σαν δείγμα από την ομοιόμορφη κατανομή στο {0, 1}, ανεξάρτητα από την εκτέλεση όλων των άλλων εντολών τυχαίου bit. Κατά την περιγραφή των αλγορίθμων σε ένα υψηλό επίπεδο, θα γράφουμε b R {0, 1} για να συμβολίζουμε την ανάθεση ενός τυχαίου bit στη μεταβλητή b και s R {0, 1} l για να συμβολίζουμε την ανάθεση μιας τυχαίας δυαδικής συμβολοσειράς μήκους l στη μεταβλητή s. 175

176 Πιθανοτικοί αλγόριθμοι Κατά την περιγραφή της συμπεριφοράς ενός τέτοιου πιθανοτικού (probabilistic) ή τυχαιοποιημένου (randomized) αλγορίθμου A, για οποιαδήποτε δεδομένα εισόδου x, βλέπουμε το χρόνο εκτέλεσής του και την έξοδό του σαν τυχαίες μεταβλητές που συμβολίζονται με Τ A (x) και Α(x), αντιστοίχως. Ο αναμενόμενος χρόνος εκτέλεσης του Α με είσοδο x ορίζεται ως η αναμενόμενη τιμή Ε[Τ Α (x)] της τυχαίας μεταβλητής Τ A (x). Σημειώστε ότι στον ορισμό του αναμενόμενου χρόνου εκτέλεσης, δεν θεωρούμε την είσοδο να επιλέγεται τυχαία από κάποια κατανομή πιθανότητας. Θα μπορούσε κάποιος, φυσικά, να ορίσει μια τέτοια έννοια όμως, δεν είναι πάντα εύκολο να έχουμε μια κατανομή στο χώρο των δεδομένων εισόδου που να μοντελοποιεί ικανοποιητικά μια συγκεκριμένη κατάσταση του πραγματικού κόσμου. Δεν θα αναφερθούμε περισσότερο σ αυτό το θέμα εδώ. Λέμε ότι ένας πιθανοτικός αλγόριθμος Α εκτελείται σε αναμενόμενο πολυωνυμικό χρόνο αν υπάρχουν σταθερές c, d τέτοιες ώστε για όλα τα n 0 και όλες τις εισόδους x μήκους n, να έχουμε Ε[Τ Α (x)] n c + d. Λέμε ότι ο Α εκτελείται σε αυστηρά πολυωνυμικό χρόνο αν υπάρχουν σταθερές c, d τέτοιες ώστε για όλα τα n και όλες τις εισόδους x μήκους n, ο Α πάντα τερματίζεται για είσοδο x μέσα σε χρόνο n c + d, ανεξάρτητα από τις τυχαίες επιλογές του. Το να ορίσουμε τις κατανομές των Τ A (x) και Α(x) είναι λίγο δύσκολο. Τα πράγματα είναι αρκετά απλά αν ο Α τερματίζεται πάντα για είσοδο x μετά από ένα πεπερασμένο πλήθος βημάτων, ανεξάρτητα από τα αποτελέσματα των τυχαίων επιλογών του: σε αυτή την περίπτωση, μπορούμε φυσικά να δούμε τις Τ A (x) και Α(x) σαν τυχαίες μεταβλητές με ομοιόμορφη κατανομή πάνω σε δυαδικές συμβολοσειρές κάποιου συγκεκριμένου μήκους μια τέτοια τυχαία δυαδική συμβολοσειρά μπορεί να χρησιμοποιηθεί σαν πηγή τυχαίων bit για τον αλγόριθμο. Όμως, αν δεν υπάρχει εκ των προτέρων φράγμα στο πλήθος των βημάτων, τα πράγματα γίνονται πιο σύνθετα: σκεφτείτε έναν αλγόριθμο που παράγει τυχαία bit, ένα κάθε φορά, μέχρι να παράγει, ας πούμε 1 bit ακριβώς όπως στο Παράδειγμα 6.29, δεν προσπαθούμε να μοντελοποιήσουμε αυτό σαν μια κατανομή πιθανότητας στο μη μετρήσιμο σύνολο των άπειρων δυαδικών συμβολοσειρών, αλλά αντίθετα, ορίζουμε απευθείας μια κατάλληλη διακριτή κατανομή πιθανότητας που μοντελοποιεί την εκτέλεση του Α με είσοδο x. 7.1.1 Ορισμός της κατανομής πιθανότητας Προειδοποίηση στον αναγνώστη: το υπόλοιπο αυτής της ενότητας είναι λίγο τεχνικό και μπορεί να θελήσετε να περάσετε στην 7.2 κατά την πρώτη ανάγνωση, αν είστε πρόθυμοι να εμπιστευτείτε τη διαίσθησή σας σχετικά με τους πιθανοτικούς αλγορίθμους. Για να δικαιολογήσουμε τον ορισμό μας, ο οποίος μπορεί αρχικά να φαίνεται λίγο περίεργος, θεωρούμε ξανά το Παράδειγμα 6.29. Θα μπορούσαμε να δούμε το δειγματικό χώρο εκείνου του παραδείγματος ως το σύνολο όλων των δυαδικών συμβολοσειρών αποτελούμενων από μηδέν ή περισσότερα 0 bit, ακολουθούμενα από ένα 1 bit και σε κάθε

7.1 Βασικοί ορισμοί 177 τέτοια δυαδική συμβολοσειρά σ αυτής της ειδικής μορφής, να αναθέσουμε την πιθανότητα 2 σ, όπου σ συμβολίζει το μήκος της σ. Το τυχαίο πείραμα που έχουμε στο μυαλό μας είναι να παράγουμε τυχαία bit, ένα κάθε φορά, μέχρι να παραχθεί μια από αυτές τις ειδικές συμβολοσειρές τερματισμού. Κατά τη διατύπωση του ορισμού της κατανομής πιθανότητας ενός πιθανοτικού αλγορίθμου, απλά θεωρούμε πιο γενικά σύνολα από συμβολοσειρές τερματισμού, καθορισμένα από τον αλγόριθμο και την είσοδό του. Για να απλοποιήσουμε τα πράγματα, υποθέτουμε ότι η μηχανή παράγει μια σειρά από τυχαία bit, ένα με κάθε εντολή που εκτελείται και αν η εντολή τυχαίνει να είναι μια εντολή τυχαίου-bit, τότε αυτό είναι το bit που χρησιμοποιεί. Για μια δυαδική συμβολοσειρά σ, μπορούμε να εκτελέσουμε τον Α με είσοδο x μέχρι σ βήματα, χρησιμοποιώντας τη σ για το ρεύμα τυχαίων bit και παρατηρούμε τη συμπεριφορά του αλγορίθμου. Ο αναγνώστης μπορεί να θέλει να απεικονίσει τη σ σαν μια πεπερασμένη διαδρομή σε ένα άπειρο δυαδικό δέντρο, όπου η εκκίνηση γίνεται από τη ρίζα, με μια διακλάδωση προς τα αριστερά αν το επόμενο bit της σ είναι 0 και μια διακλάδωση προς τα δεξιά αν το επόμενο bit της σ είναι ένα 1 bit. Σε αυτά τα πλαίσια, καλούμε τη σ διαδρομή εκτέλεσης (execution path). Κάποια επιπλέον ορολογία θα είναι χρήσιμη: Αν ο Α τερματίζεται σε σ το πολύ βήματα, τότε καλούμε τη σ πλήρη διαδρομή εκτέλεσης αν ο Α τερματίζεται σε σ ακριβώς βήματα, τότε καλούμε τη σ ακριβή διαδρομή εκτέλεσης αν ο Α δεν τερματίζεται σε λιγότερα από σ βήματα, τότε καλούμε τη σ μερική διαδρομή εκτέλεσης. O δειγματικός χώρος S της κατανομής πιθανότητας που σχετίζεται με τον Α με είσοδο x αποτελείται από όλες τις ακριβείς διαδρομές εκτέλεσης. Προφανώς, ο S είναι ελεύθερος προθέματος (prefix free) δηλαδή, καμιά συμβολοσειρά στον S δεν είναι ένα γνήσιο πρόθεμα μιας άλλης. Θεώρημα 7.1. Αν S είναι ένα ελεύθερο προθέματος σύνολο δυαδικών συμβολοσειρών, σ τότε σ S 2 1. Απόδειξη. Αρχικά ισχυριζόμαστε ότι το θεώρημα ισχύει για κάθε πεπερασμένο ελεύθερο προθέματος σύνολο S. Μπορούμε να υποθέσουμε ότι το S είναι μη κενό, διότι διαφορετικά, ο ισχυρισμός είναι τετριμμένος. Αποδεικνύουμε τον ισχυρισμό με επαγωγή στο ά- θροισμα των μηκών των στοιχείων του S. Η βασική περίπτωση είναι όταν το S περιέχει μόνο την κενή συμβολοσειρά, στην οποία περίπτωση ο ισχυρισμός είναι προφανής. Αν το S περιέχει μη κενές συμβολοσειρές, έστω τ μια συμβολοσειρά του S μέγιστου μήκους και έστω τ το πρόθεμα μήκους τ 1 της τ. Τώρα, αφαιρέστε από το S όλες τις συμβολοσειρές που έχουν το τ σαν πρόθεμα (υπάρχουν μία ή δύο τέτοιες συμβολοσειρές) και προ-

178 Πιθανοτικοί αλγόριθμοι σθέστε στο S τη συμβολοσειρά τ. Είναι εύκολο να δούμε (επαληθεύστε) ότι το σύνολο S που παίρνουμε σαν αποτέλεσμα είναι επίσης ελεύθερο προθέματος και ότι σ S σ σ 2 2. σ S' Ο ισχυρισμός τώρα προκύπτει με επαγωγή. Για τη γενική περίπτωση, έστω σ 1, σ 2, μια συγκεκριμένη απαρίθμηση του S και θεωρούμε τα μερικά αθροίσματα i 1 2 σ j S i = j= για i = 1, 2,. Από τον παραπάνω ισχυρισμό, καθένα από αυτά τα μερικά αθροίσματα είναι το πολύ 1, από το οποίο έπεται ότι limi Si 1. Από το παραπάνω θεώρημα, αν S είναι ένας δειγματικός χώρος που σχετίζεται με τον αλγόριθμο Α με είσοδο x, έχουμε S σ S σ 2 1. Υποθέτουμε ότι S = 1. Τότε λέμε ότι ο Α τερματίζεται με πιθανότητα 1 για είσοδο x και ορίζουμε την κατανομή D A,x που σχετίζεται με τον Α με είσοδο x να είναι η κατανομή στο S που αναθέτει την πιθανότητα 2 σ σε κάθε δυαδική συμβολοσειρά σ S. Ορίζουμε επίσης τις Τ Α (x) και Α(x) σαν τυχαίες μεταβλητές στην κατανομή D A,x με το φυσικό τρόπο: για κάθε σ S, ορίζουμε την Τ Α (x) να είναι σ και την Α(x) να είναι η έξοδος που παράγεται από τον Α με είσοδο x χρησιμοποιώντας τη σ να οδηγεί την εκτέλεσή του. Όλοι οι παραπάνω ορισμοί υπέθεσαν ότι ο Α τερματίζεται με πιθανότητα 1 για είσοδο x και όντως, θα ενδιαφερθούμε μόνο για αλγορίθμους που τερματίζουν με πιθανότητα 1 για όλες τις εισόδους. Όμως, για να αναλύσουμε έναν δεδομένο αλγόριθμο, πρέπει ακόμη να αποδείξουμε ότι τερματίζεται με πιθανότητα 1 για όλες τις εισόδους πριν χρησιμοποιήσουμε αυτούς τους ορισμούς και να εξασκήσουμε όλα τα μέσα της θεωρίας της διακριτής πιθανότητας. Τέλος, είναι χρήσιμο να μελετήσουμε διάφορες κατανομές πεπερασμένης πιθανότητας που σχετίζονται με την εκτέλεση του Α με είσοδο x. Για κάθε ακέραιο k 0, ας θεωρήσουμε την ομοιόμορφη κατανομή στις δυαδικές συμβολοσειρές μήκους k και για ( k) κάθε j = 0,, k, ορίζουμε το Hj να είναι το ενδεχόμενο ότι μια τέτοια τυχαία k-bit συμβολοσειρά έχει σαν αποτέλεσμα ο Α με είσοδο x να τερματίζεται μέσα σε j βήματα. Παραθέτουμε ορισμένες παρατηρήσεις. Πρώτον, αν S είναι το σύνολο όλων των ακριβών διαδρομών εκτέλεσης του Α με είσοδο x, τότε έχουμε (επαληθεύστε) ( k) σ P [ Hj ] = 2. σ S σ j Από αυτό προκύπτει ότι για όλους τους μη αρνητικούς ακεραίους j, k, k με j min{k, k }, έχουμε

7.1 Βασικοί ορισμοί 179 ( k) ( k) j ( k ) j P[ H ] = P[ H ]. Ορίζοντας Η k P [ H k ], προκύπτει επίσης ότι η ακολουθία { H k } k 0 είναι μη-φθίνουσα και άνω φραγμένη από το 1, και ότι ο Α τερματίζεται με πιθανότητα 1 για είσοδο x, αν και μόνο αν lim H = 1. k Μια απλή αναγκαία συνθήκη για το σταμάτημα με πιθανότητα 1 για δοθείσα είσοδο είναι ότι για όλες τις μερικές διαδρομές εκτέλεσης, υπάρχει κάποια επέκταση που είναι μια ολοκληρωμένη διαδρομή εκτέλεσης. Διαισθητικά, αν αυτό δεν ισχύει, τότε με κάποια μη-μηδενική πιθανότητα, ο αλγόριθμος πέφτει σε έναν ατέρμονα βρόχο. Πιο επίσημα, αν υπάρχει μια μερική διαδρομή εκτέλεσης μήκους j που δεν μπορεί να επεκταθεί σε μια ο- λοκληρωμένη διαδρομή εκτέλεσης, τότε για όλα τα k j έχουμε k H k 1 2 j. Αυτό, όμως, δεν εγγυάται το σταμάτημα με πιθανότητα 1. Μια απλή ικανή συνθήκη είναι η εξής: Υπάρχει ένα φράγμα l (ενδεχομένως εξαρτώμενο από την είσοδο) τέτοιο, ώστε για κάθε μερική διαδρομή εκτέλεσης σ, να υπάρχει μια πλήρης διαδρομή εκτέλεσης που επεκτείνει την σ και της οποίας το μήκος είναι το πολύ σ + l. Για να δούμε γιατί αυτή η συνθήκη συνεπάγεται ότι ο Α τερματίζεται με πιθανότητα 1, παρατηρούμε ότι αν o A εκτελείται για kl βήματα χωρίς να τερματίζεται, τότε η πιθανότητα ότι δεν τερματίζεται μέσα σε (k + 1)l βήματα είναι το πολύ 1 2 l. Πιο επίσημα, ας ορίσουμε H 1 Η k και σημειώστε ότι για όλα τα k 0, έχουμε k (( k 1) ) (( k 1) ) (( k 1) ) H( 1) + l + l + l k + l = P H( k + 1) l H k l P H k l [ ] [ ] l (( k+ 1) l) kl (1 2 ) P [ H ] l = (1 2 ) Hk και συνεπώς (με επαγωγή στο k), έχουμε από το οποίο προκύπτει ότι l l (1 2 ) k H k l, lim H = 1. k k

180 Πιθανοτικοί αλγόριθμοι Είναι συνήθως αρκετά απλό να επαληθεύσουμε την ιδιότητα αυτή για έναν συγκεκριμένο αλγόριθμο δια παρατηρήσεως. Παράδειγμα 7.1. Θεωρούμε τον εξής αλγόριθμο: repeat b R {0, 1} until b = 1 Αφού κάθε βρόχος είναι απλά ένα σταθερό πλήθος εντολών και αφού υπάρχει περίπτωση να τερματίζεται με κάθε επανάληψη του βρόχου, ο αλγόριθμος τερματίζεται με πιθανότητα 1. Παράδειγμα 7.2. Θεωρούμε τον εξής αλγόριθμο: i 0 repeat i i + 1 s R {0,1} i i until s = 0 Για θετικό ακέραιο n, θεωρούμε την πιθανότητα p n της εκτέλεσης τουλάχιστον n επαναλήψεων βρόχου (κάθε p n ορίζεται χρησιμοποιώντας μια κατάλληλη πεπερασμένη κατανομή πιθανότητας). Έχουμε n n 1 n 1 + i 1 n 2 i i 2 2 0 2 (1 2 ) i=, p = e = e e i= 1 i= 1 όπου έχουμε κάνει χρήση της εκτίμησης (iii) της Α1. Αφού η p n δεν τείνει στο μηδέν καθώς n, μπορούμε να συμπεράνουμε ότι ο αλγόριθμος δεν τερματίζεται με πιθανότητα 1. Σημειώστε ότι κάθε μερική διαδρομή εκτέλεσης μπορεί να επεκταθεί σε πλήρη διαδρομή εκτέλεσης, αλλά το μήκος της επέκτασης δεν είναι φραγμένο. Οι παρακάτω τρεις ασκήσεις αναπτύσσουν εργαλεία τα οποία απλοποιούν την ανάλυση των πιθανοτικών αλγορίθμων. AΣΚΗΣΗ 7.1. Θεωρούμε έναν πιθανοτικό αλγόριθμο Α που τερματίζεται με πιθανότητα 1 για είσοδο x και θεωρούμε την κατανομή πιθανότητας D A,x στο σύνολο S των ακριβών διαδρομών εκτέλεσης. Έστω τ μια σταθερή, μερική διαδρομή εκτέλεσης και έστω B S το ενδεχόμενο που αποτελείται από όλες τις ακριβείς διαδρομές εκτέλεσης που επεκτείνουν την τ. Δείξτε ότι P[B] = 2 τ. AΣΚΗΣΗ 7.2. Θεωρούμε έναν πιθανοτικό αλγόριθμο Α που τερματίζεται με πιθανότητα 1 για είσοδο x και θεωρούμε την κατανομή πιθανότητας D A,x στο σύνολο S των ακριβών

7.1 Βασικοί ορισμοί 181 διαδρομών εκτέλεσης. Για μια δυαδική συμβολοσειρά σ και έναν ακέραιο k 0, έστω ότι με {σ} k συμβολίζουμε την τιμή της σ αποκομμένη στα πρώτα k bit. Υποθέτουμε ότι B S είναι ένα ενδεχόμενο της μορφής B = {σ S : φ({σ} k )} για κάποιο κατηγόρημα φ και κάποιον ακέραιο k 0. Διαισθητικά, αυτό σημαίνει ότι το B είναι τελείως προσδιορισμένο από τα πρώτα k bit της διαδρομής εκτέλεσης. Τώρα θεωρούμε την ομοιόμορφη κατανομή στο {0,1}. Ας ορίσουμε ένα ενδεχόμενο B σε αυτή k την κατανομή ως εξής. Για σ {0,1} k, ας εκτελέσουμε τον Α με είσοδο x χρησιμοποιώντας τη διαδρομή εκτέλεσης σ για k βήματα ή μέχρι ο Α να τερματίσει (όποιο από τα δύο συμβεί πρώτο). Αν το πλήθος των βημάτων που θα εκτελεστούν είναι t (όπου t k), τότε βάζουμε τη σ στο B, αν και μόνο αν φ({σ} t ). Δείξτε ότι η πιθανότητα ότι το ενδεχόμενο B πραγματοποιείται (ως προς την κατανομή D A,x ) είναι η ίδια με την πιθανότητα ότι το B k πραγματοποιείται (ως προς την ομοιόμορφη κατανομή { 0,1} ). Υπόδειξη: χρησιμοποιήστε την Άσκηση 7.1. Η παραπάνω άσκηση είναι πολύ χρήσιμη στην απλοποίηση της ανάλυσης των πιθανοτικών αλγορίθμων. Τυπικά, μπορεί κάποιος να ανάγει την ανάλυση ενός ενδεχομένου που μας ενδιαφέρει στην ανάλυση μιας συλλογής ενδεχομένων, καθένα από τα οποία προσδιορίζεται από τα πρώτα k bit της διαδρομής εκτέλεσης για κάποιο σταθερό k. Η πιθανότητα ενός ενδεχομένου το οποίο προσδιορίζεται από τα πρώτα k bit της διαδρομής εκτέλεσης μπορεί μετά να υπολογιστεί αναλύοντας τη συμπεριφορά του αλγορίθμου σε μια τυχαία k-bit διαδρομή εκτέλεσης. AΣΚΗΣΗ 7.3. Υποθέτουμε ότι ο αλγόριθμος Α καλεί τον αλγόριθμο Β σαν μια υπορουτίνα. Στην κατανομή πιθανότητας D A,x, θεωρούμε μια συγκεκριμένη μερική διαδρομή εκτέλεσης τ που οδηγεί τον Α σε ένα σημείο όπου ο Α καλεί τον αλγόριθμο Β με μια συγκεκριμένη είσοδο y (καθορισμένη από τα x και τ). Θεωρούμε τη δεσμευμένη κατανομή πιθανότητας με δεδομένο ότι τ είναι ένα πρόθεμα της πραγματικής διαδρομής εκτέλεσης του Α. Μπορούμε να ορίσουμε μια τυχαία μεταβλητή Χ σε αυτή τη δεσμευμένη κατανομή της οποίας η τιμή είναι η υποδιαδρομή που ακολουθείται από την κλήση της υπορουτίνας Β. Δείξτε ότι η κατανομή της Χ είναι η ίδια με την D Β,y. Υπόδειξη: χρησιμοποιήστε την Άσκηση 7.1. Η παραπάνω άσκηση είναι επίσης πολύ χρήσιμη στην απλοποίηση της ανάλυσης των πιθανοτικών αλγορίθμων, με το ότι μας επιτρέπει να αναλύσουμε μια υπορουτίνα απομονωμένη και να χρησιμοποιήσουμε τα αποτελέσματα στην ανάλυση ενός αλγορίθμου που καλεί την υπορουτίνα αυτή. AΣΚΗΣΗ 7.4. Έστω Α ένας πιθανοτικός αλγόριθμος και για μια είσοδο x και ακέραιο k 0, θεωρούμε το πείραμα στο οποίο επιλέγουμε μια τυχαία διαδρομή εκτέλεσης μήκους k και εκτελούμε τον Α με είσοδο x μέχρι k βήματα χρησιμοποιώντας την επιλεγμένη δια-

182 Πιθανοτικοί αλγόριθμοι δρομή εκτέλεσης. Αν ο Α τερματίζεται μέσα σε k βήματα, ορίζουμε Α k (x) να είναι η έξοδος που παράγεται από τον Α και TA k ( x ) να είναι το πραγματικό πλήθος βημάτων που εκτελούνται από τον Α διαφορετικά, ορίζουμε Α k (x) να είναι η διακεκριμένη τιμή και T ( x) να είναι ο k. A k (α) Δείξτε ότι αν ο Α τερματίζεται με πιθανότητα 1 για είσοδο x, τότε για όλες τις δυνατές εξόδους y, P[ A( x) = y] = lim P [ A ( x) = y]. k (β) Δείξτε ότι αν ο Α τερματίζεται με πιθανότητα 1 για είσοδο x, τότε E[ T ( x)] = lim E [ T ( x)]. A A k k AΣΚΗΣΗ 7.5. Μπορεί κάποιος να γενικεύσει την έννοια μιας διακριτής, στοχαστικής διαδικασίας, ως εξής. Έστω Γ ένα πεπερασμένο ή μετρήσιμα άπειρο σύνολο. Έστω f μια συνάρτηση που απεικονίζει ακολουθίες ενός ή περισσοτέρων στοιχείων του Γ στο [0, 1], έτσι ώστε να ισχύει η παρακάτω ιδιότητα: για όλες τις πεπερασμένες ακολουθίες (γ 1,, γ i 1 ), όπου i 1, η f (γ 1,, γ i 1, γ) είναι μη μηδενική για το πολύ ένα πεπερασμένο πλήθος από γ Γ και γ Γ f( γ,..., γ, γ) = 1. 1 i 1 Θεωρούμε τώρα ένα ελεύθερο προθέματος σύνολο S των πεπερασμένων ακολουθιών στοιχείων του Γ. Για σ = (γ 1,, γ n ) S, ορίζουμε n P[σ] f( γ1,..., γi ). i= 1 Δείξτε ότι σ S P [ σ] 1. Έτσι μπορούμε να ορίσουμε μια κατανομή πιθανότητας στο S χρησιμοποιώντας τη συνάρτηση πιθανότητας P[ ] αν αυτό το άθροισμα είναι 1. H ιδέα είναι ότι μοντελοποιούμε μια διαδικασία κατά την οποία αρχίζουμε με κενή διαμόρφωση (configuration) σε κάθε βήμα, αν είμαστε στη διαμόρφωση (γ 1,, γ i 1 ), τερματίζουμε αν αυτή είναι μια διαμόρφωση τερματισμού, δηλαδή ένα στοιχείο του S και διαφορετικά, προχωράμε στη διαμόρφωση (γ 1,, γ i 1, γ) με πιθανότητα f (γ 1,, γ i 1, γ). k 7.2 Προσέγγιση συναρτήσεων Υποθέτουμε ότι f είναι μια συνάρτηση που απεικονίζει δυαδικές συμβολοσειρές σε δυαδικές συμβολοσειρές. Μπορεί να έχουμε έναν αλγόριθμο Α που υπολογίζει προσεγγιστικά την f

7.2 Προσέγγιση συναρτήσεων 183 με την εξής έννοια: υπάρχει μια σταθερά ε, με 0 ε < 1/2, τέτοια, ώστε για όλες τις εισόδους x, P[A(x) = f (x)] 1 ε. Η τιμή ε είναι ένα φράγμα στην πιθανότητα σφάλματος η οποία ορίζεται ως P[A(x) f (x)]. 7.2.1 Ελάττωση της πιθανότητας σφάλματος Υπάρχει ένα καθιερωμένο τρικ με το οποίο μπορεί κάποιος να κάνει την πιθανότητα σφάλματος πολύ μικρή δηλαδή, εκτελεί τον Α με είσοδο x ένα πλήθος, ας πούμε, t φορών και παίρνει την πλειοψηφούσα έξοδο σαν απάντηση. Χρησιμοποιώντας το φράγμα Chernoff (Θεώρημα 6.13), η πιθανότητα σφάλματος για την επαναλαμβανόμενη εκδοχή του Α είναι φραγμένη από το exp[ (1/2 ε) 2 t/2] και έτσι η πιθανότητα σφάλματος μειώνεται εκθετικά ως προς το πλήθος των επαναλήψεων. Αυτό το φράγμα παράγεται ως εξής. Για i = 1,, t, έστω X i μια τυχαία μεταβλητή που αναπαριστά το αποτέλεσμα της i-οστής επανάληψης του Α ακριβέστερα, Χ i = 1 αν Α(x) f(x) στην i-οστή επανάληψη και Χ i = 0, διαφορετικά. Έστω ε x η πιθανότητα ότι Α(x) f(x). Η πιθανότητα ότι η πλειοψηφούσα έξοδος είναι εσφαλμένη είναι ίση με την πιθανότητα ότι ο μέσος δείγματος των X 1,, X t υπερβαίνει τον μέσο ε x τουλάχιστον κατά 1/2 ε x. Το τμήμα (i) του Θεωρήματος 6.13 λέει ότι αυτό συμβαίνει με πιθανότητα το πολύ 2 2 (1/ 2 ε ) (1/ 2 ) x t ε t exp 2(1 εx ) 2 exp. 7.2.2 Αυστηρά πολυωνυμικός χρόνος Αν έχουμε έναν αλγόριθμο Α που εκτελείται σε αναμενόμενο πολυωνυμικό χρόνο και ο οποίος υπολογίζει προσεγγιστικά μια συνάρτηση f, τότε μπορούμε εύκολα να τον μετατρέψουμε σε έναν νέο αλγόριθμο Α που εκτελείται σε αυστηρά πολυωνυμικό χρόνο και επίσης, προσεγγίζει την f, ως εξής. Υποθέτουμε ότι ε < 1/2 είναι ένα φράγμα στην πιθανότητα σφάλματος και Τ(n) είναι ένα πολυωνυμικό φράγμα στον αναμενόμενο χρόνο εκτέλεσης για εισόδους μήκους n. Τότε ο Α εκτελεί τον Α για το πολύ tt(n) βήματα, όπου t είναι μια σταθερά επιλεγμένη έτσι ώστε ε + 1/t < 1/2 αν ο Α δεν τερματίζεται μέσα σ αυτό το φράγμα χρόνου, τότε ο Α απλά τερματίζεται με μια αυθαίρετη έξοδο. Η πιθανότητα ότι ο Α σφάλλει είναι το πολύ η πιθανότητα ότι ο Α σφάλλει συν την πιθανότητα ότι ο Α εκτελείται για περισσότερα από tt(n) βήματα. Από την ανισότητα του Markov (Θεώρημα 6.11), η τελευταία πιθανότητα είναι το πολύ 1/t και συνεπώς ο Α προσεγγίζει την f επίσης, αλλά με μια πιθανότητα σφάλματος φραγμένη από το ε + 1/t.

184 Πιθανοτικοί αλγόριθμοι 7.2.3 Αναγνώριση Lagrange Μια σημαντική ειδική περίπτωση προσεγγιστικού υπολογισμού συνάρτησης είναι όταν η έξοδος της συνάρτησης f είναι 0 ή 1 (ή ισοδύναμα false ή true). Στην περίπτωση αυτή, μπορούμε να δούμε την f σαν τη χαρακτηριστική συνάρτηση της γλώσσας L {x : f(x) = 1}. (Είναι παράδοση της θεωρίας της υπολογιστικής πολυπλοκότητας να καλούμε γλώσσες σύνολα δυαδικών συμβολοσειρών.) Υπάρχουν διάφορες «αποχρώσεις» πιθανοτικών αλγορίθμων για τον προσεγγιστικό υπολογισμό της χαρακτηριστικής συνάρτησης f μιας γλώσσας L που θεωρούνται παραδοσιακά για τους σκοπούς αυτών των ορισμών, μπορούμε να περιοριστούμε στους αλγορίθμους που έχουν έξοδο 0 ή 1: Καλούμε έναν πιθανοτικό αλγόριθμο αναμενόμενου πολυωνυμικού χρόνου, αλγόριθμο Atlantic City για την αναγνώριση της L αν υπολογίζει προσεγγιστικά την f με πιθανότητα σφάλματος φραγμένη από μια σταθερά ε < 1/2. Καλούμε έναν πιθανοτικό αλγόριθμο αναμενόμενου πολυωνυμικού χρόνου, αλγόριθμο Monte Carlo για την αναγνώριση της L αν για κάποια σταθερά δ > 0, έχουμε: για κάθε x L, P[A(x) = 1] δ και για κάθε x L, P[A(x) = 1] = 0. Καλούμε έναν πιθανοτικό αλγόριθμο αναμενόμενου πολυωνυμικού χρόνου, αλγόριθμο Las Vegas για την αναγνώριση της L αν υπολογίζει την f σωστά για όλες τις εισόδους x. Λέει επίσης κάποιος ότι ένας αλγόριθμος Atlantic City έχει αμφίπλευρο σφάλμα (two-sided error), ένας αλγόριθμος Monte Carlo έχει μονόπλευρο σφάλμα (one-sided error) και ένας αλγόριθμος Las Vegas έχει μηδενικό-πλευρο σφάλμα (zero-sided error). AΣΚΗΣΗ 7.6. Δείξτε ότι κάθε γλώσσα που αναγνωρίζεται από έναν αλγόριθμο Las Vegas, αναγνωρίζεται επίσης από έναν αλγόριθμο Monte Carlo και ότι κάθε γλώσσα που αναγνωρίζεται από έναν αλγόριθμο Monte Carlo, αναγνωρίζεται επίσης από έναν αλγόριθμο Atlantic City. AΣΚΗΣΗ 7.7. Δείξτε ότι αν η L αναγνωρίζεται από έναν αλγόριθμο Atlantic City που ε- κτελείται σε αναμενόμενο πολυωνυμικό χρόνο, τότε αναγνωρίζεται από έναν αλγόριθμο Atlantic City που εκτελείται σε αυστηρά πολυωνυμικό χρόνο και του οποίου η πιθανότητα σφάλματος είναι το πολύ 2 n με δεδομένα εισόδου μήκους n. AΣΚΗΣΗ 7.8. Δείξτε ότι αν η L αναγνωρίζεται από έναν αλγόριθμο Monte Carlo που ε- κτελείται σε αναμενόμενο πολυωνυμικό χρόνο, τότε αναγνωρίζεται από έναν αλγόριθμο Monte Carlo που εκτελείται σε αυστηρά πολυωνυμικό χρόνο και του οποίου η πιθανότητα σφάλματος είναι το πολύ 2 n με δεδομένα εισόδου μήκους n.

7.3 Ρίψη νομίσματος μέχρι να εμφανιστεί κορώνα 185 AΣΚΗΣΗ 7.9. Δείξτε ότι μια γλώσσα αναγνωρίζεται από έναν αλγόριθμο Las Vegas, αν και μόνο αν η γλώσσα και το συμπλήρωμά της αναγνωρίζονται από αλγορίθμους Monte Carlo. AΣΚΗΣΗ 7.10. Δείξτε ότι αν μια γλώσσα αναγνωρίζεται από έναν αλγόριθμο Las Vegas που εκτελείται σε αυστηρά πολυωνυμικό χρόνο, τότε η L μπορεί να αναγνωρίζεται σε ντετερμινιστικό πολυωνυμικό χρόνο. AΣΚΗΣΗ 7.11. Υποθέτουμε ότι για μια δεδομένη γλώσσα L, υπάρχει πιθανοτικός αλγόριθμος Α που εκτελείται σε αναμενόμενο πολυωνυμικό χρόνο και πάντα έχει έξοδο 0 ή 1. Επιπλέον, υποθέτουμε ότι για κάποιες σταθερές α και c, όπου α είναι ένας ρητός αριθμός με 0 α < 1, και c είναι ένας θετικός ακέραιος, και για όλους τους αρκούντως μεγάλους n και όλα τα δεδομένα εισόδου x μήκους n, έχουμε αν x L, τότε P[A(x) = 1] α, και αν x L, τότε P[A(x) = 1] α + 1/n c. (α) Δείξτε ότι υπάρχει αλγόριθμος Atlantic City για την L. (β) Δείξτε ότι αν α = 0, τότε υπάρχει αλγόριθμος Monte Carlo για την L. 7.3 Ρίψη νομίσματος μέχρι να εμφανιστεί κορώνα Σε αυτή και τις επόμενες ενότητες του κεφαλαίου αυτού εξετάζουμε ένα πλήθος συγκεκριμένων πιθανοτικών αλγορίθμων. Ας αρχίσουμε με τον εξής απλό αλγόριθμο (ο οποίος ήδη παρουσιάστηκε στο Παράδειγμα 7.1) που ουσιαστικά ρίχνει ένα νόμισμα μέχρι να εμφανιστεί κορώνα: repeat b R {0, 1} until b = 1 Έστω Χ μια τυχαία μεταβλητή που αναπαριστά το πλήθος των επαναλήψεων βρόχου που κάνει ο αλγόριθμος. Θα πρέπει να είναι αρκετά εμφανές ότι η Χ έχει γεωμετρική κατανομή, όπου η σχετική πιθανότητα επιτυχίας είναι 1/2 (βλ. Παράδειγμα 6.30). Όμως, ας παράγουμε αυτό το γεγονός από πιο βασικές αρχές. Ορίζουμε τυχαίες μεταβλητές Β 1, Β 2,, όπου Β i αναπαριστά την τιμή του bit που ανατέθηκε στο b στην i-οστή επανάληψη του βρόχου, αν Χ i και διαφορετικά. Είναι φανερό ότι ακριβώς ένα Β i θα πάρει την τιμή 1, στην οποία περίπτωση η Χ παίρνει την τιμή i. Προφανώς, για κάθε i 1, αν ο αλγόριθμος στην πραγματικότητα εισέρχεται στην i- οστή επανάληψη του βρόχου, τότε η Β i κατανέμεται ομοιόμορφα πάνω στο {0, 1} και διαφορετικά Β i =. Δηλαδή:

186 Πιθανοτικοί αλγόριθμοι Από αυτό βλέπουμε ότι P[Β i = 0 X i] = 1/2, P[Β i = 1 X i] = 1/2, P[Β i = X < i] = 1. P[X 1] = 1, P[X 2] = P[Β 1 = 0 X 1]P[X 1] = 1/2, και με επαγωγή στο i βλέπουμε ότι P[X 3] = P[Β 2 = 0 X 2]P[X 2] = (1/2)(1/2) = 1/4, P[X i] = P[Β i 1 = 0 X i 1]P[X i 1] = (1/2)(1/2 i 2 ) = 1/2 i 1, από το οποίο προκύπτει (βλ. Άσκηση 6.54) ότι η Χ έχει γεωμετρική κατανομή με σχετική πιθανότητα επιτυχίας 1/2. Τώρα θεωρούμε την αναμενόμενη τιμή Ε[Χ]. Από όσα είπαμε στο Παράδειγμα 6.35, έχουμε Ε[Χ] = 2. Αν Υ συμβολίζει το συνολικό χρόνο εκτέλεσης του αλγορίθμου, τότε Υ cx για κάποια σταθερά c και συνεπώς Ε[Υ] cε[x] = 2c και καταλήγουμε ότι ο αναμενόμενος χρόνος εκτέλεσης του αλγορίθμου είναι μια σταθερά, η ακριβής τιμή της οποίας εξαρτάται από τις λεπτομέρειες της υλοποίησης. [Οι αναγνώστες που προσπέρασαν την 7.1.1 μπορεί να θέλουν να προσπεράσουν και την παράγραφο αυτή.] Όπως είπαμε στο Παράδειγμα 7.1, ο παραπάνω αλγόριθμος τερματίζεται με πιθανότητα 1. Για να κάνουμε το παραπάνω επιχείρημα τελείως αυστηρό, θα πρέπει τυπικά να δικαιολογήσουμε τον ι- σχυρισμό ότι η δεσμευμένη κατανομή της Β i, με δεδομένο ότι Χ i, είναι ομοιόμορφη στο {0, 1}. Δεν θέλουμε να υποθέσουμε ότι οι τιμές της Β i τοποθετούνται σε προκαθορισμένες θέσεις της διαδρομής εκτέλεσης αντιθέτως, θα υιοθετήσουμε μια πιο εφαρμόσιμη γενικά τακτική. Για i 1, θα δεσμεύσουμε σε μια συγκεκριμένη μερική διαδρομή εκτέλεσης τ που οδηγεί τον αλγόριθμο στο σημείο όπου είναι απλά να δειγματίσουμε για το bit B i και θα δείξουμε ότι σε αυτή τη δεσμευμένη κατανομή πιθανότητας η Β i κατανέμεται ομοιόμορφα πάνω στο {0, 1}. Για να το κάνουμε αυτό αυστηρά, στο τυπικό πλαίσιό μας, ας ορίσουμε το ενδεχόμενο A τ να είναι το ενδεχόμενο ότι τ είναι ένα πρόθεμα της διαδρομής εκτέλεσης. Αν τ = l, τότε τα ενδεχόμενα A τ, A τ (Β i = 0) και A τ (Β i = 1) προσδιορίζονται από τα πρώτα l + 1 bit της διαδρομής εκτέλεσης. Μπορούμε τότε να θεωρήσουμε αντίστοιχα ενδεχόμενα σε ένα πιθανοτικό πείραμα στο οποίο παρατηρούμε τη συμπεριφορά του αλγορίθμου σε μια τυχαία (l + 1)-bit διαδρομή εκτέλεσης (βλ. Άσκηση 7.2). Στο τελευταίο πείραμα, είναι προφανές ότι η δεσμευ-

7.4 Παραγωγή τυχαίου αριθμού από ένα δεδομένο διάστημα 187 μένη κατανομή πιθανότητας της Β i, με δεδομένο ότι τα πρώτα l bit της πραγματικής διαδρομής εκτέλεσης σ συμφωνούν με το τ, είναι ομοιόμορφη στο {0, 1}, και έτσι, το ίδιο ισχύει για την αρχική κατανομή πιθανότητας. Αφού αυτό ισχύει για όλα τα σχετικά τ, έπεται (από μια διακριτή εκδοχή της Άσκησης 6.13) ότι ισχύει με τη δέσμευση ότι Χ i. Έχουμε αναλύσει τον παραπάνω αλγόριθμο με πολύ λεπτομέρεια. Kαθώς προχωράμε, πολλές από αυτές τις λεπτομέρειες θα συντμηθούν, αφού όλες μπορούν να αντιμετωπιστούν με πολύ παρόμοια (και εντελώς συνηθισμένα) επιχειρήματα. 7.4 Παραγωγή τυχαίου αριθμού από ένα δεδομένο διάστημα Υποθέτουμε ότι θέλουμε να παραγάγουμε έναν αριθμό n στην τύχη ομοιόμορφα από το διάστημα {0,, Μ 1}, για δεδομένο ακέραιο Μ 1. Αν ο Μ είναι μια δύναμη του 2, ας πούμε Μ = 2 k, τότε αυτό μπορούμε να το κάνουμε απευθείας ως εξής: παράγουμε μια τυχαία k-bit συμβολοσειρά s και μετατρέπουμε την s στον ακέραιο I(s) του οποίου η αναπαράσταση ως προς βάσης 2 είναι s δηλαδή, αν s = b k 1 b k 2 b 0, όπου τα b i είναι bit, τότε Ι(s) k 1 i bi 2. i= 0 Στη γενική περίπτωση, δεν έχουμε ευθύ τρόπο για να το κάνουμε αυτό, αφού απευθείας μπορούμε μόνο να παράγουμε τυχαία bit. Όμως, υποθέτουμε ότι ο Μ είναι ένας k-bit αριθμός, έτσι ώστε 2 k 1 M < 2 k. Τότε ο παρακάτω αλγόριθμος μας εξυπηρετεί: Αλγόριθμος RN: repeat s R {0,1} k n I(s) until n < M έξοδος n Έστω ότι με Χ συμβολίζουμε το πλήθος των επαναλήψεων βρόχου αυτού του αλγορίθμου, με Υ το χρόνο εκτέλεσής του και με Ν την έξοδό του. Σε κάθε επανάληψη του βρόχου, ο n κατανέμεται ομοιόμορφα πάνω στο {0,, 2 k 1} και το ενδεχόμενο n < M πραγματοποιείται με πιθανότητα Μ/2 k επιπλέον, δεσμεύοντας στο τελευταίο ενδεχόμενο, ο n είναι ομοιόμορφα κατανεμημένος πάνω στο {0,, Μ 1}. Έπεται ότι η Χ έχει γεωμετρική κατανομή με μια σχετική πιθανότητα επιτυχίας p M/2 k 1/2 και ότι ο Ν είναι ομοιόμορφα κατανεμημένος πάνω στο {0,, Μ 1}. Έχουμε Ε[Χ] = 1/p 2 (βλ. Παράδειγμα 6.35) και Υ ckx για κάποια ανεξάρτητη της υλοποίησης σταθερά c, από το οποίο προκύπτει ότι