Γεννήτριες τυχαίων αριθμών Ι

26
Παρασκευή, 24 Ιουνίου 2022 Παρασκευή, 24 Ιουνίου 2022 Τμ. Πληροφορικής, Α.Π.Θ. Τμ. Πληροφορικής, Α.Π.Θ. 1 ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Γεννήτριες τυχαίων αριθμών Ι ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ Έστω a και b με a<b δύο πραγματικοί αριθμοί. Μία κλήση στη συνάρτηση uniform(a,b) επιστρέφει έναν πραγματικό αριθμό x που επιλέγεται τυχαία στο διάστημα ax<b. Οι τιμές του x κατανέμονται ομοιόμορφα στο προαναφερόμενο διάστημα. Διαδοχικές κλήσεις της συνάρτησης αποδίδουν ανεξάρτητες μεταξύ τους τιμές του x. ΕΡΩΤΗΣΗ ΚΡΙΣΕΩΣ: Είναι δυνατό ένας αλγόριθμος (δηλ. διαδικασία με προσδιοριστική εξέλιξη) να παράγει «τυχαίους» αριθμούς; ΑΠΑΝΤΗΣΗ: ΟΧΙ, για το λόγο αυτό χρησιμοποιούνται γεννήτριες ψευδοτυχαίων αριθμών.

description

Γεννήτριες τυχαίων αριθμών Ι. ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ Έστω a και b με a

Transcript of Γεννήτριες τυχαίων αριθμών Ι

Page 1: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 11

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

Γεννήτριες τυχαίων αριθμών Ι

ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝΈστω a και b με a<b δύο πραγματικοί αριθμοί. Μία κλήση στη συνάρτηση uniform(a,b) επιστρέφει έναν πραγματικό αριθμό x που επιλέγεται τυχαία στο διάστημα ax<b.Οι τιμές του x κατανέμονται ομοιόμορφα στο προαναφερόμενο διάστημα.Διαδοχικές κλήσεις της συνάρτησης αποδίδουν ανεξάρτητες μεταξύ τους τιμές του x.

ΕΡΩΤΗΣΗ ΚΡΙΣΕΩΣ: Είναι δυνατό ένας αλγόριθμος (δηλ. διαδικασία με προσδιοριστική εξέλιξη) να παράγει «τυχαίους» αριθμούς;

ΑΠΑΝΤΗΣΗ: ΟΧΙ, για το λόγο αυτό χρησιμοποιούνται γεννήτριες ψευδοτυχαίων αριθμών.

Page 2: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 22

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

Γεννήτριες τυχαίων αριθμών ΙΙ

Μία γεννήτρια ψευδοτυχαίων αριθμών είναι αλγόριθμος (δηλ.

προσδιοριστική διαδικασία) που μπορεί να παράγει σειρά αριθμών που φαίνεται να έχουν τις ιδιότητες σειράς τυχαίων αριθμών. Ο πρώτος «τυχαίος» αριθμός αυτής της σειράς παράγεται με βάση μία αρχική τιμή (παράμετρο του αλγορίθμου) που ονομάζεται σπόρος.

Οι αριθμοί που παράγονται στην πραγματικότητα δεν είναι τυχαίοι: για τον ίδιο σπόρο θα πάρουμε τον ίδιο «τυχαίο» αριθμό, γι αυτό και οι αριθμοί που παράγονται ονομάζονται ψευδοτυχαίοι.

Οι περισσότερες γεννήτριες εκφράζονται από ένα ζεύγος συναρτήσεων S: XX και R: XY, όπου X είναι ένα αρκούντως μεγάλο σύνολο (σπόροι) και Υ είναι το πεδίο τιμών των ψευδοτυχαίων αριθμών. Έστω ένας σπόρος gX. Με τη συνάρτηση S ο σπόρος αυτός ορίζει μία σειρά: x0=g και xi=S(xi-1) για i>0. Ακόμη, η συνάρτηση R επιτρέπει την παραγωγή των αριθμών y0, y1, y2, . . . που δίνονται ως yi=R(xi), i0.

Page 3: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 33

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

Γεννήτριες τυχαίων αριθμών ΙΙI Η σειρά των ψευδοτυχαίων αριθμών είναι σίγουρα περιοδική

(δηλαδή επαναλαμβάνονται), με περίοδο που δεν μπορεί να υπερβαίνει τον αριθμό των στοιχείων του Χ.

Παρόλα αυτά, με κατάλληλη επιλογή των S και R μπορούμε να έχουμε ως αποτέλεσμα πολύ μεγάλη περίοδο και η παραγόμενη σειρά αριθμών μπορεί, για τα περισσότερα πρακτικά προβλήματα, να είναι στατιστικά «ισοδύναμη» με μία σειρά πραγματικά τυχαίων αριθμών.

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

Μία ιδιαίτερα διαδεδομένη γεννήτρια τυχαίων αριθμών είναι αυτή που ορίζεται από τη σχέση

xn=(a xn-1+b) mod m

Page 4: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 44

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

Γεννήτριες τυχαίων αριθμών ΙV Η γεννήτρια αυτή ονομάζεται linear congruential γεννήτρια

ψεδοτυχαίων ακεραίων.

Αν θεωρήσουμε a=5, b=1 και m=16 και σπόρο 5, τότε έχουμε τους αριθμούς . . ., 10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5, 10, 3, 0, . . . με περίοδο 16Μία μεταφέρσιμη υλοποίηση του αλγορίθμου για όλες τις μηχανές που

μπορούν να αναπαραστήσουν ακεραίους στο διάστημα από –231 έως 231-1 είναι όταν m=231-1. Για τη συγκεκριμένη τιμή του m ο συντελεστής a που δίνει τη μέγιστη περίοδο έχει βρεθεί ότι είναι ο a=16807.

Από ψευδοτυχαίους ακεραίους μπορούμε να παράγουμε πραγματικούς στο διάστημα (0,1) αν διαιρέσουμε με 231-1.

Οι ψευδοτυχαίοι πραγματικοί στο (0,1) μπορούν στη συνέχεια αν αυτό είναι επιθυμητό να χρησιμοποιηθούν για δειγματοληψία από τις πιο γνωστές στατιστικές κατανομές όπως π.χ. κανονική, εκθετική κ.α.

Page 5: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 55

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

Γεννήτριες τυχαίων αριθμών V Σήμερα υπάρχουν πιο εξελιγμένες γεννήτριες ψευδοτυχαίων αριθμών με

πολύ βελτιωμένα χαρακτηριστικά.

Τα χαρακτηριστικά ως προς τα οποία μπορούμε να συγκρίνουμε δύο γεννήτριες αριθμών είναι:

τυχαιότητα ταχύτητα: κατά την υλοποίηση θα πρέπει να αποφεύγεται η χρήση

υπολογιστικά ακριβών πράξεων όπως π.χ. αυτή του modulo περίοδος

Ιδιαίτερα εξελιγμένες γεννήτριες ψευδοτυχαίων αριθμών έχουν αποδώσει οι γεννήτριες που βασίζονται στη σχεδίαση Generalized Feedback Shift Register, πιο συχνά αποκαλούμενες ως GFSR γεννήτριες.

Γενικά δεν είναι όλες οι γεννήτριες κατάλληλες για όλες τις εφαρμογές. Κάποιες π.χ. μπορεί να είναι κατάλληλες για κρυπτογραφία και κάποιες όχι.

Στη συνέχεια θα θεωρήσουμε ότι έχουμε στη διάθεσή μας μια γεννήτρια ψευδοτυχαίων αριθμών.

Page 6: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 66

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

Κατηγορίες τυχαιοποιημένων αλγορίθμων Ι Το βασικό χαρακτηριστικό των τυχαιοποιημένων αλγορίθμων

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

Οι τυχαιοποιημένοι αλγόριθμοι διακρίνονται σε 4 κατηγορίες: αριθμητικοί-προσεγγιστικοί, αλγόριθμοι Monte Carlo, αλγόριθμοι Las Vegas και αλγόριθμοι Sherwood.

Σε μερικές πηγές όταν χρησιμοποιείται ο όρος Monte Carlo γίνεται αναφορά και στις τέσσερις περιπτώσεις και σε άλλες στην περίπτωση των αριθμητικών-προσεγγιστικών αλγορίθμων.

Στα πλαίσια του μαθήματος θα υπάρξει σαφής διάκριση μεταξύ των 4 κατηγοριών, ως εξής:

Page 7: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 77

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

Κατηγορίες τυχαιοποιημένων αλγορίθμων ΙΙ Οι αριθμητικοί-προσεγγιστικοί αλγόριθμοι δίνουν πάντα

ένα προσεγγιστικό αποτέλεσμα, που η τιμή του βρίσκεται κοντά στην ακριβή (αναλυτική) λύση του προβλήματος, αν βέβαια αυτή μπορεί να υπολογισθεί. Το προσεγγιστικό αποτέλεσμα είναι τόσο περισσότερο κοντά στην ακριβή λύση, όσο περισσότερο χρόνο έχει εκτελεσθεί ο αλγόριθμος. Δηλαδή για όσο περισσότερο εκτελείται ο αλγόριθμος βελτιώνεται η ακρίβεια της λύσης.

Οι αλγόριθμοι της συγκεκριμένης κατηγορίας χρησιμοποιούνται σε περιπτώσεις που η ακριβής λύση δεν μπορεί να υπολογισθεί με άλλους τρόπους ή κάτι τέτοιο θα έπαιρνε πολύ χρόνο. Συχνά το αποτέλεσμα εκφράζεται με ένα διάστημα εμπιστοσύνης.

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

Page 8: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 88

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

Κατηγορίες τυχαιοποιημένων αλγορίθμων ΙΙΙ Οι αλγόριθμοι Monte-Carlo δίνουν πάντα ένα αποτέλεσμα, που δεν

είναι «προσέγγιση» της ακριβούς λύσης. Το αποτέλεσμα που δίνει ένας αλγόριθμος Monte Carlo μπορεί να μην είναι επιτυχές, αλλά η πιθανότητα επιτυχίας του αλγορίθμου αυξάνεται ανάλογα προς το χρόνο εκτέλεσής του.

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

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

Για οποιαδήποτε περίπτωση προβλήματος το ενδεχόμενο μη λήψης αποτελέσματος μειώνεται περιορίζεται με την εκτέλεση πολλαπλών επαναλήψεων (με διαφορετικούς σπόρους) για την ίδια περίπτωση.

Page 9: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 99

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

Κατηγορίες τυχαιοποιημένων αλγορίθμων ΙV Οι αλγόριθμοι Sherwood δίνουν πάντα ένα αποτέλεσμα και

το αποτέλεσμα είναι σίγουρα σωστό. Χρησιμοποιούνται όταν ένας προσδιοριστικός αλγόριθμος λειτουργεί πολύ ταχύτερα στη μέση περίπτωση από τη χειρότερη. Ενσωματώνοντας τυχαιότητα ο αλγόριθμος Sherwood επιτρέπει τον περιορισμό της διαφοράς μεταξύ των καλών και των χειρότερων περιπτώσεων.

Επειδή ακριβώς οι αλγόριθμοι της συγκεκριμένης κατηγορίας επιδεικνύουν μια πιο ομοιόμορφη συμπεριφορά είναι λιγότερο ευαίσθητοι σε μη αναμενόμενες κατανομές περιπτώσεων μιας εφαρμογής.

Page 10: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1010

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

Αριθμητικοί – προσεγγιστικοί αλγόριθμοι ΙMONTE CARLO ΟΛΟΚΛΗΡΩΣΗΈστω ότι θέλουμε να υπολογίσουμε το

Παίρνουμε δείγματα ομοιόμορφης κατανομής σημείων στο διάστημα [0,1] και μετράμε πόσα από αυτά τα σημεία βρίσκονται στο επίπεδο κάτω από την καμπύλη y=f(x).

function hitormiss(f,n)k0for i1 to n do

xuniform(0,1)yuniform(0,1)if yf(x) then kk+1

return k/n

1

0

)( dxxf

Page 11: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1111

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

Αριθμητικοί – προσεγγιστικοί αλγόριθμοι ΙIMONTE CARLO ΟΛΟΚΛΗΡΩΣΗ (συνέχεια)

Όσα περισσότερα σημεία πάρουμε υπόψη (δηλ. όσο περισσότερο εκτελείται ο αλγόριθμος), τόσο μεγαλύτερη ακρίβεια επιτυγχάνουμε στον υπολογισμό του ολοκληρώματος.

Άλλος τρόπος Monte Carlo ολοκλήρωσης:

function crude(f,n,a,b)sum0for i1 to n do

xuniform(a,b)sumsum+f(x)

return (b-a)*(sum/n)

Page 12: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1212

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

Αριθμητικοί – προσεγγιστικοί αλγόριθμοι ΙIIMONTE CARLO ΟΛΟΚΛΗΡΩΣΗ (συνέχεια)

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

function trapezoidal(f,n,a,b)//υποθέτουμε n2

delta(b-a)/(n-1)sum(f(a)+f(b))/2for xa+delta step delta to b-delta do

sumsum+f(x)return sum*delta

που επειδή δε στηρίζεται σε τυχαία δειγματοληψία γενικά χρησιμοποιεί λιγότερες επαναλήψεις από ότι ο αλγόριθμος Monte Carlo.

Page 13: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1313

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

Αριθμητικοί – προσεγγιστικοί αλγόριθμοι ΙVΟ αλγόριθμος Monte Carlo είναι καλός για υπολογισμό πολλαπλών ολοκληρωμάτων. Για έναν προσδιοριστικό αλγόριθμο, όταν έχουμε υπολογισμό πολλαπλού ολοκληρώματος, ο αριθμός των σημείων που χρειάζεται να υπολογισθούν αυξάνει εκθετικά ως προς τη διάσταση του ολοκληρώματος. Αν για ένα απλό ολοκλήρωμα χρειάζονται 100 σημεία, τότε για το αντίστοιχο διπλό ολοκλήρωμα χρειάζονται 100 Χ 100=10000 σημεία.

Αντίθετα στην ολοκλήρωση Monte Carlo η διάσταση του ολοκληρώματος έχει μικρή επίδραση στην ακρίβεια που επιτυγχάνεται παρόλο που η απαιτούμενη επεξεργασία για κάθε επανάληψη είναι πιθανό να παρουσιάζει μια μικρή αύξηση.

Πρακτικά, η ολοκλήρωση Monte Carlo χρησιμοποιείται για ολοκληρώματα με διάσταση 4 και πάνω.

Page 14: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1414

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

Αριθμητικοί – προσεγγιστικοί αλγόριθμοι VΤΥΧΑΙΟΠΟΙΗΜΕΝΗ ΚΑΤΑΜΕΤΡΗΣΗ

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

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

Γενικά για να επιλέγουν k αντικείμενα από ένα σύνολο n αντικειμένων υπάρχουν n!/(n-k)! διαφορετικοί τρόποι, έχοντας λάβει υπόψη και τη σειρά με την οποία επιλέγονται τα αντικείμενα αυτά.

Για τα ίδια k αντικείμενα υπάρχουν συνολικά nk διαφορετικές σειρές επιλογής τους.

Ανεξαρτήτως σειράς, η πιθανότητα τυχαίας και ομοιόμορφης επιλογής k αντικειμένων είναι n!/((n-k)! nk)

Page 15: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1515

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

Αριθμητικοί – προσεγγιστικοί αλγόριθμοι VIΤΥΧΑΙΟΠΟΙΗΜΕΝΗ ΚΑΤΑΜΕΤΡΗΣΗ (συνέχεια)

Αν Χ είναι ένα σύνολο με n στοιχεία και επιλέγουμε τυχαία, ομοιόμορφα και ανεξάρτητα με επανατοποθέτηση όμως των στοιχείων που επιλέγονται στο σύνολο,έστω k ο αριθμός των επιλογών πριν από την εμφάνιση της πρώτης επανάληψης. Όταν το n είναι μεγάλο έχει βρεθεί ότι η αναμενόμενη τιμή του k τείνει στο

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

n2/

Page 16: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1616

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

Αριθμητικοί – προσεγγιστικοί αλγόριθμοι VIΙΤΥΧΑΙΟΠΟΙΗΜΕΝΗ ΚΑΤΑΜΕΤΡΗΣΗ (συνέχεια)

function count(X: σύνολο)k0Sauniform(X)repeat

kk+1SS {a} auniform(X)

until aSreturn 2k2/π

Page 17: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1717

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

ΠροσομοίωσηΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

Γ ε γ ο ν ό ς X

Ο λ ο κ λ ή ρ ω σ ηε ξ υ π η ρ έ τη σ η ς

U

t 3t 2

Y

t 4

V

t 1

X

t 2 = t 3 < t 4 < t 1

Ε κ τέλεσ ηλογ ικ ή ς

γ εγ ονότος

Α λλα γήκ α τά σ τα σ η ς

δ ικ τύ ου ου ρ ώ ν

Ο υ ρ ά Q n

Ο υ ρ ά Q m

Λ ίσ τ α γ ε γ ο ν ό τ ω ν

χ ρ ό ν ο ς : t1

Γ ε γ ο ν ό ς Υ

Ά φ ιξ η σ τη ν Q m

χ ρ ό ν ο ς : t2

Γ ε γ ο ν ό ς U

Ά φ ιξ η σ τη ν Q n

χ ρ ό ν ο ς : t3

Γ ε γ ο ν ό ς V

χ ρ ό ν ο ς : t4

Ο λ ο κ λ ή ρ ω σ ηε ξ υ π η ρ έ τη σ η ς

Page 18: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1818

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

Αλγόριθμοι Las Vegas I ΧΡΗΣΙΜΟΤΗΤΑ: Ένας αλγόριθμος Las Vegas μπορεί μερικές

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

ΧΑΡΑΚΤΗΙΣΤΙΚΑ: Ακόμη και όταν ο αναμενόμενος χρόνος που απαιτείται για το

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

Οι αλγόριθμοι Las Vegas είναι τυχαιοποιημένοι αλγόριθμοι που είναι πιθανό είτε να αποδίδουν ένα σωστό αποτέλεσμα, είτε εξαιτίας της τυχαίας εξέλιξής τους να οδηγηθούν σε αδιέξοδο. Αν συμβεί το δεύτερο ενδεχόμενο πρέπει ο αλγόριθμος να επαναλάβει επιπλέον εκτελέσεις (άλλοι σπόροι) για την ίδια περίπτωση.

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

Page 19: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 1919

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

Αλγόριθμοι Las Vegas IΙ

Οι αλγόριθμοι Las Vegas συνήθως επιστρέφουν μια τιμή success, που είναι true αν έχει βρεθεί λύση και false σε διαφορετική περίπτωση. Καλούνται ως,

LV(x, y, success)όπου y είναι η παράμετρος στην οποία επιστρέφεται η λύση της περίπτωσης x όταν το success είναι true.

Έστω p(x) η πιθανότητα επιστροφής επιτυχούς λύσης της περίπτωσης x. Έστω επίσης s(x) και e(x) οι αναμενόμενοι χρόνοι εκτέλεσης του αλγορίθμου για την περίπτωση x, στις περιπτώσεις επιτυχίας και αποτυχίας αντίστοιχα.

Page 20: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 2020

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

Αλγόριθμοι Las Vegas IΙΙ Έστω ο αλγόριθμος,

function obstinate(x)repeat LV(x, y, success)until successreturn y

Έστω t(x) ο αναμενόμενος χρόνος για να καταλήξει ο αλγόριθμος obstinate σε μία ακριβή λύση της περίπτωσης x. Τότε

που με επίλυση της αναδρομής δίνει

))()())((1()()()( xtxexpxsxpxt

)()(

)(1)()( xe

xp

xpxsxt

Page 21: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 2121

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

Αλγόριθμοι Las Vegas IV

Αυτό σημαίνει ότι για την ελαχιστοποίηση του t(x) πρέπει τα p(x), s(x) και e(x) να επιλεγούν κατάλληλα.

Αυτό μπορεί για παράδειγμα να σημαίνει ότι θα ήταν επικοδομητικό να δεχθούμε μικρότερη πιθανότητα επιτυχία (p(x)) αν όμως παράλληλα βελτιωνόταν κατά πολύ ο χρόνος e(x) που απαιτείται για τη διαπίστωση αποτυχίας.

ΕΦΑΡΜΟΓΗ ΑΛΓΟΡΙΘΜΟΥ LAS VEGAS: Στο πρόβλημα τοποθέτησης στη σκακιέρα 8 βασιλισσών έτσι ώστε να μην απειλεί η μία την άλλη.

Page 22: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 2222

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

Επιλογή οδηγού (leader) Ι Έστω ένα σύνολο πανομοιότυπων συγχρονισμένων

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

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

Page 23: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 2323

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

Επιλογή οδηγού (leader) ΙΙ Το πρόβλημα αυτό δεν μπορεί να επιλυθεί από κάποιο

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

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

Απαραίτητη προϋπόθεση για να σπάσει η συμμετρία είναι οι γεννήτριες ψευδοτυχαίων που χρησιμοποιούνται από τους επεξεργαστές να εκκινούν με διαφορετικούς σπόρους.

Page 24: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 2424

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

Επιλογή οδηγού (leader) ΙΙΙ

Έστω ότι βρίσκονται στο δακτύλιο n επεξεργαστές. Κατά τη φάση 0 κάθε επεξεργαστής αρχικοποιεί την τοπική τιμή m στη γνωστή τιμή n και μία λογική ένδειξη active στην τιμή true.

Κατά τη φάση k, k>0 κάθε active επεξεργαστής επιλέγει τυχαία, ομοιόμορφα και ανεξάρτητα έναν ακέραιο μεταξύ 1 και m. Οι επεξεργαστές εκείνοι που επιλέγουν 1 το κοινοποιούν στους υπόλοιπους επεξεργαστές περνώντας το μήνυμα μέσω του δακτυλίου. Μετά από n-1 βήματα του ρολογιού όλοι οι επεξεργαστές γνωρίζουν των αριθμό l των επεξεργαστών που επέλεξαν 1.

Υπάρχουν λοιπόν τρεις πιθανότητες:

Page 25: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 2525

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

Επιλογή οδηγού (leader) ΙV

Αν l=0 η k φάση δεν αλλάζει την κατάσταση.

Αν l>1 τότε μένουν active μόνο οι επεξεργαστές που επέλεξαν 1 και θέτουν στην τοπική μεταβλητή m την τιμή l.

Το πρωτόκολλο ολοκληρώνει την εκτέλεσή του όταν l=1 με την επιλογή του επεξεργαστή που επέλεξε το 1.

Page 26: Γεννήτριες τυχαίων αριθμών Ι

Παρασκευή, 21 Απριλίου 2023Παρασκευή, 21 Απριλίου 2023 Τμ. Πληροφορικής, Α.Π.Θ.Τμ. Πληροφορικής, Α.Π.Θ. 2626

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

Επιλογή οδηγού (leader) V

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

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