ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.1 Γεννήτριες τυχαίων αριθμών Ι ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ Έστω a και b με a<b δύο πραγματικοί αριθμοί. Μία κλήση στη συνάρτηση uniform(a,b) επιστρέφει έναν πραγματικό αριθμό x που επιλέγεται τυχαία στο διάστημα a x<b. Οι τιμές του x κατανέμονται ομοιόμορφα στο προαναφερόμενο διάστημα. Διαδοχικές κλήσεις της συνάρτησης αποδίδουν ανεξάρτητες μεταξύ τους τιμές του x. ΕΡΩΤΗΣΗ ΚΡΙΣΕΩΣ: Είναι δυνατό ένας αλγόριθμος (δηλ. διαδικασία με προσδιοριστική εξέλιξη) να παράγει «τυχαίους» αριθμούς; ΑΠΑΝΤΗΣΗ: ΟΧΙ, για το λόγο αυτό χρησιμοποιούνται γεννήτριες ψευδοτυχαίων αριθμών.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.2 Γεννήτριες τυχαίων αριθμών ΙΙ Μία γεννήτρια ψευδοτυχαίων αριθμών είναι αλγόριθμος (δηλ. προσδιοριστική διαδικασία) που μπορεί να παράγει σειρά αριθμών που φαίνεται να έχουν τις ιδιότητες σειράς τυχαίων αριθμών. Ο πρώτος «τυχαίος» αριθμός αυτής της σειράς παράγεται με βάση μία αρχική τιμή (παράμετρο του αλγορίθμου) που ονομάζεται σπόρος. Οι αριθμοί που παράγονται στην πραγματικότητα δεν είναι τυχαίοι: για τον ίδιο σπόρο θα πάρουμε τον ίδιο «τυχαίο» αριθμό, γι αυτό και οι αριθμοί που παράγονται ονομάζονται ψευδοτυχαίοι. Οι περισσότερες γεννήτριες εκφράζονται από ένα ζεύγος συναρτήσεων S: X X και R: X Y, όπου X είναι ένα αρκούντως μεγάλο σύνολο (σπόροι) και Υ είναι το πεδίο τιμών των ψευδοτυχαίων αριθμών. Έστω ένας σπόρος g X. Με τη συνάρτηση S ο σπόρος αυτός ορίζει μία σειρά: x 0 =g και x i =S(x i-1 ) για i>0. Ακόμη, η συνάρτηση R επιτρέπει την παραγωγή των αριθμών y 0, y 1, y 2,... που δίνονται ως y i =R(x i ), i 0.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.3 Γεννήτριες τυχαίων αριθμών ΙΙI Η σειρά των ψευδοτυχαίων αριθμών είναι σίγουρα περιοδική (δηλαδή επαναλαμβάνονται), με περίοδο που δεν μπορεί να υπερβαίνει τον αριθμό των στοιχείων του Χ. Παρόλα αυτά, με κατάλληλη επιλογή των S και R μπορούμε να έχουμε ως αποτέλεσμα πολύ μεγάλη περίοδο και η παραγόμενη σειρά αριθμών μπορεί, για τα περισσότερα πρακτικά προβλήματα, να είναι στατιστικά «ισοδύναμη» με μία σειρά πραγματικά τυχαίων αριθμών. Υπάρχουν περισσότερες από μία γεννήτριες ψευδοτυχαίων αριθμών και αρκετά συχνά είναι ενσωματωμένες στις βιβλιοθήκες των γλωσσών προγραμματισμού που χρησιμοποιούμε. Μία ιδιαίτερα διαδεδομένη γεννήτρια τυχαίων αριθμών είναι αυτή που ορίζεται από τη σχέση x n =(a x n-1 +b) mod m
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.4 Γεννήτριες τυχαίων αριθμών Ι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 Μία μεταφέρσιμη υλοποίηση του αλγορίθμου για όλες τις μηχανές που μπορούν να αναπαραστήσουν ακεραίους στο διάστημα από –2 31 έως είναι όταν m= Για τη συγκεκριμένη τιμή του m ο συντελεστής a που δίνει τη μέγιστη περίοδο έχει βρεθεί ότι είναι ο a= Από ψευδοτυχαίους ακεραίους μπορούμε να παράγουμε πραγματικούς στο διάστημα (0,1) αν διαιρέσουμε με Οι ψευδοτυχαίοι πραγματικοί στο (0,1) μπορούν στη συνέχεια αν αυτό είναι επιθυμητό να χρησιμοποιηθούν για δειγματοληψία από τις πιο γνωστές στατιστικές κατανομές όπως π.χ. κανονική, εκθετική κ.α.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.5 Γεννήτριες τυχαίων αριθμών V Σήμερα υπάρχουν πιο εξελιγμένες γεννήτριες ψευδοτυχαίων αριθμών με πολύ βελτιωμένα χαρακτηριστικά. Τα χαρακτηριστικά ως προς τα οποία μπορούμε να συγκρίνουμε δύο γεννήτριες αριθμών είναι: τυχαιότητα ταχύτητα: κατά την υλοποίηση θα πρέπει να αποφεύγεται η χρήση υπολογιστικά ακριβών πράξεων όπως π.χ. αυτή του modulo περίοδος Ιδιαίτερα εξελιγμένες γεννήτριες ψευδοτυχαίων αριθμών έχουν αποδώσει οι γεννήτριες που βασίζονται στη σχεδίαση Generalized Feedback Shift Register, πιο συχνά αποκαλούμενες ως GFSR γεννήτριες. Γενικά δεν είναι όλες οι γεννήτριες κατάλληλες για όλες τις εφαρμογές. Κάποιες π.χ. μπορεί να είναι κατάλληλες για κρυπτογραφία και κάποιες όχι. Στη συνέχεια θα θεωρήσουμε ότι έχουμε στη διάθεσή μας μια γεννήτρια ψευδοτυχαίων αριθμών.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.6 Κατηγορίες τυχαιοποιημένων αλγορίθμων Ι Το βασικό χαρακτηριστικό των τυχαιοποιημένων αλγορίθμων είναι ότι για την ίδια περίπτωση προβλήματος δίνουν διαφορετικό αποτέλεσμα αν εκτελεσθούν δεύτερη φορά (διαφορετικός σπόρος). Ακόμη, μπορεί να υπάρχει σημαντική διαφορά και στο χρόνο εκτέλεσης του αλγορίθμου. Οι τυχαιοποιημένοι αλγόριθμοι διακρίνονται σε 4 κατηγορίες: αριθμητικοί-προσεγγιστικοί, αλγόριθμοι Monte Carlo, αλγόριθμοι Las Vegas και αλγόριθμοι Sherwood. Σε μερικές πηγές όταν χρησιμοποιείται ο όρος Monte Carlo γίνεται αναφορά και στις τέσσερις περιπτώσεις και σε άλλες στην περίπτωση των αριθμητικών-προσεγγιστικών αλγορίθμων. Στα πλαίσια του μαθήματος θα υπάρξει σαφής διάκριση μεταξύ των 4 κατηγοριών, ως εξής:
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.7 Κατηγορίες τυχαιοποιημένων αλγορίθμων ΙΙ Οι αριθμητικοί-προσεγγιστικοί αλγόριθμοι δίνουν πάντα ένα προσεγγιστικό αποτέλεσμα, που η τιμή του βρίσκεται κοντά στην ακριβή (αναλυτική) λύση του προβλήματος, αν βέβαια αυτή μπορεί να υπολογισθεί. Το προσεγγιστικό αποτέλεσμα είναι τόσο περισσότερο κοντά στην ακριβή λύση, όσο περισσότερο χρόνο έχει εκτελεσθεί ο αλγόριθμος. Δηλαδή για όσο περισσότερο εκτελείται ο αλγόριθμος βελτιώνεται η ακρίβεια της λύσης. Οι αλγόριθμοι της συγκεκριμένης κατηγορίας χρησιμοποιούνται σε περιπτώσεις που η ακριβής λύση δεν μπορεί να υπολογισθεί με άλλους τρόπους ή κάτι τέτοιο θα έπαιρνε πολύ χρόνο. Συχνά το αποτέλεσμα εκφράζεται με ένα διάστημα εμπιστοσύνης. Παραδείγματα είναι οι εφαρμογές προσομοίωσης για τον υπολογισμό π.χ. του μέσου μήκους ουρών αναμονής, σε ένα σύστημα τόσο πολύπλοκο, που δεν είναι εφικτή η αναλυτική του επίλυση.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.8 Κατηγορίες τυχαιοποιημένων αλγορίθμων ΙΙΙ Οι αλγόριθμοι Monte-Carlo δίνουν πάντα ένα αποτέλεσμα, που δεν είναι «προσέγγιση» της ακριβούς λύσης. Το αποτέλεσμα που δίνει ένας αλγόριθμος Monte Carlo μπορεί να μην είναι επιτυχές, αλλά η πιθανότητα επιτυχίας του αλγορίθμου αυξάνεται ανάλογα προς το χρόνο εκτέλεσής του. Παραδείγματα είναι οι εφαρμογές των συγκεκριμένων αλγορίθμων σε προβλήματα λήψης αποφάσεων, π.χ. η τοποθέτηση σε μια σκακιέρα 8 βασιλισσών, χωρίς να υπάρχουν δύο, που να απειλούν η μία την άλλη. Οι αλγόριθμοι Las Vegas δεν επιστρέφουν σε καμία περίπτωση λάθος αποτέλεσμα. Μερικές φορές απλά δεν καταλήγουν σε αποτέλεσμα. Η πιθανότητα επιτυχίας αυξάνεται ανάλογα προς το χρόνο εκτέλεσης του αλγορίθμου. Για οποιαδήποτε περίπτωση προβλήματος το ενδεχόμενο μη λήψης αποτελέσματος μειώνεται περιορίζεται με την εκτέλεση πολλαπλών επαναλήψεων (με διαφορετικούς σπόρους) για την ίδια περίπτωση.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.9 Κατηγορίες τυχαιοποιημένων αλγορίθμων ΙV Οι αλγόριθμοι Sherwood δίνουν πάντα ένα αποτέλεσμα και το αποτέλεσμα είναι σίγουρα σωστό. Χρησιμοποιούνται όταν ένας προσδιοριστικός αλγόριθμος λειτουργεί πολύ ταχύτερα στη μέση περίπτωση από τη χειρότερη. Ενσωματώνοντας τυχαιότητα ο αλγόριθμος Sherwood επιτρέπει τον περιορισμό της διαφοράς μεταξύ των καλών και των χειρότερων περιπτώσεων. Επειδή ακριβώς οι αλγόριθμοι της συγκεκριμένης κατηγορίας επιδεικνύουν μια πιο ομοιόμορφη συμπεριφορά είναι λιγότερο ευαίσθητοι σε μη αναμενόμενες κατανομές περιπτώσεων μιας εφαρμογής.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.10 Αριθμητικοί – προσεγγιστικοί αλγόριθμοι Ι MONTE CARLO ΟΛΟΚΛΗΡΩΣΗ Έστω ότι θέλουμε να υπολογίσουμε το Παίρνουμε δείγματα ομοιόμορφης κατανομής σημείων στο διάστημα [0,1] και μετράμε πόσα από αυτά τα σημεία βρίσκονται στο επίπεδο κάτω από την καμπύλη y=f(x). function hitormiss(f,n) k 0 for i 1 to n do x uniform(0,1) y uniform(0,1) if y f(x) then k k+1 return k/n
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.11 Αριθμητικοί – προσεγγιστικοί αλγόριθμοι ΙI MONTE CARLO ΟΛΟΚΛΗΡΩΣΗ (συνέχεια) Όσα περισσότερα σημεία πάρουμε υπόψη (δηλ. όσο περισσότερο εκτελείται ο αλγόριθμος), τόσο μεγαλύτερη ακρίβεια επιτυγχάνουμε στον υπολογισμό του ολοκληρώματος. Άλλος τρόπος Monte Carlo ολοκλήρωσης: function crude(f,n,a,b) sum 0 for i 1 to n do x uniform(a,b) sum sum+f(x) return (b-a)*(sum/n)
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.12 Αριθμητικοί – προσεγγιστικοί αλγόριθμοι ΙII MONTE CARLO ΟΛΟΚΛΗΡΩΣΗ (συνέχεια) Πάντως, για τον υπολογισμό ολοκληρώματος υπάρχει και ο προσδιοριστικός αλγόριθμος: function trapezoidal(f,n,a,b) //υποθέτουμε n 2 delta (b-a)/(n-1) sum (f(a)+f(b))/2 for x a+delta step delta to b-delta do sum sum+f(x) return sum*delta που επειδή δε στηρίζεται σε τυχαία δειγματοληψία γενικά χρησιμοποιεί λιγότερες επαναλήψεις από ότι ο αλγόριθμος Monte Carlo.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.13 Αριθμητικοί – προσεγγιστικοί αλγόριθμοι ΙV Ο αλγόριθμος Monte Carlo είναι καλός για υπολογισμό πολλαπλών ολοκληρωμάτων. Για έναν προσδιοριστικό αλγόριθμο, όταν έχουμε υπολογισμό πολλαπλού ολοκληρώματος, ο αριθμός των σημείων που χρειάζεται να υπολογισθούν αυξάνει εκθετικά ως προς τη διάσταση του ολοκληρώματος. Αν για ένα απλό ολοκλήρωμα χρειάζονται 100 σημεία, τότε για το αντίστοιχο διπλό ολοκλήρωμα χρειάζονται 100 Χ 100=10000 σημεία. Αντίθετα στην ολοκλήρωση Monte Carlo η διάσταση του ολοκληρώματος έχει μικρή επίδραση στην ακρίβεια που επιτυγχάνεται παρόλο που η απαιτούμενη επεξεργασία για κάθε επανάληψη είναι πιθανό να παρουσιάζει μια μικρή αύξηση. Πρακτικά, η ολοκλήρωση Monte Carlo χρησιμοποιείται για ολοκληρώματα με διάσταση 4 και πάνω.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.14 Αριθμητικοί – προσεγγιστικοί αλγόριθμοι V ΤΥΧΑΙΟΠΟΙΗΜΕΝΗ ΚΑΤΑΜΕΤΡΗΣΗ Έστω ένα πεπερασμένο σύνολο Χ που θέλουμε να κάνουμε καταμέτρηση των στοιχείων του. Έστω επίσης ότι τα στοιχεία του είναι τόσο πολλά που δεν μπορούμε να τα κάνουμε καταμέτρηση ένα προς ένα. Αν είμαστε σε θέση να επιλέξουμε ένα στοιχείο του Χ τυχαία, ομοιόμορφα και ανεξάρτητα τότε μπορούμε να χρησιμοποιήσουμε έναν αλγόριθμο τυχαιοποιημένης καταμέτρησης. Γενικά για να επιλέγουν k αντικείμενα από ένα σύνολο n αντικειμένων υπάρχουν n!/(n-k)! διαφορετικοί τρόποι, έχοντας λάβει υπόψη και τη σειρά με την οποία επιλέγονται τα αντικείμενα αυτά. Για τα ίδια k αντικείμενα υπάρχουν συνολικά n k διαφορετικές σειρές επιλογής τους. Ανεξαρτήτως σειράς, η πιθανότητα τυχαίας και ομοιόμορφης επιλογής k αντικειμένων είναι n!/((n-k)! n k )
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.15 Αριθμητικοί – προσεγγιστικοί αλγόριθμοι VI ΤΥΧΑΙΟΠΟΙΗΜΕΝΗ ΚΑΤΑΜΕΤΡΗΣΗ (συνέχεια) Αν Χ είναι ένα σύνολο με n στοιχεία και επιλέγουμε τυχαία, ομοιόμορφα και ανεξάρτητα με επανατοποθέτηση όμως των στοιχείων που επιλέγονται στο σύνολο, έστω k ο αριθμός των επιλογών πριν από την εμφάνιση της πρώτης επανάληψης. Όταν το n είναι μεγάλο έχει βρεθεί ότι η αναμενόμενη τιμή του k τείνει στο Το παραπάνω αποτέλεσμα μας επιτρέπει τη χρήση του αλγορίθμου που ακολουθεί για τυχαιοποιημένη καταμέτρηση.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.16 Αριθμητικοί – προσεγγιστικοί αλγόριθμοι VIΙ ΤΥΧΑΙΟΠΟΙΗΜΕΝΗ ΚΑΤΑΜΕΤΡΗΣΗ (συνέχεια) function count(X: σύνολο) k 0 S a uniform(X) repeat k k+1 S S {a} a uniform(X) until a S return 2k 2 /π
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.17 Προσομοίωση ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.18 Αλγόριθμοι Las Vegas I ΧΡΗΣΙΜΟΤΗΤΑ: Ένας αλγόριθμος Las Vegas μπορεί μερικές φορές να επιφέρει βελτίωση της αποδοτικότητας σε σχέση με ένα προσδιοριστικό αλγόριθμο, για κάθε περίπτωση του προβλήματος. Συχνά χρησιμοποιείται στην επίλυση προβλημάτων για τα οποία δεν υπάρχει κάποιος γνωστός αποδοτικός αλγόριθμος κλασσικής σχεδίασης. ΧΑΡΑΚΤΗΙΣΤΙΚΑ: Ακόμη και όταν ο αναμενόμενος χρόνος που απαιτείται για το αποτέλεσμα μιας περίπτωσης είναι μικρός και η πιθανότητα να οδηγηθεί ο αλγόριθμος σε μεγάλο χρόνο εκτέλεσης είναι αμελητέα, δεν υπάρχει άνω όριο του χρόνου εκτέλεσης που απαιτείται. Οι αλγόριθμοι Las Vegas είναι τυχαιοποιημένοι αλγόριθμοι που είναι πιθανό είτε να αποδίδουν ένα σωστό αποτέλεσμα, είτε εξαιτίας της τυχαίας εξέλιξής τους να οδηγηθούν σε αδιέξοδο. Αν συμβεί το δεύτερο ενδεχόμενο πρέπει ο αλγόριθμος να επαναλάβει επιπλέον εκτελέσεις (άλλοι σπόροι) για την ίδια περίπτωση. Η συνολική πιθανότητα εύρεσης λύσης αυξάνει ανάλογα με το διαθέσιμο χρόνο για την εκτέλεση του αλγορίθμου.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.19 Αλγόριθμοι Las Vegas IΙ Οι αλγόριθμοι Las Vegas συνήθως επιστρέφουν μια τιμή success, που είναι true αν έχει βρεθεί λύση και false σε διαφορετική περίπτωση. Καλούνται ως, LV(x, y, success) όπου y είναι η παράμετρος στην οποία επιστρέφεται η λύση της περίπτωσης x όταν το success είναι true. Έστω p(x) η πιθανότητα επιστροφής επιτυχούς λύσης της περίπτωσης x. Έστω επίσης s(x) και e(x) οι αναμενόμενοι χρόνοι εκτέλεσης του αλγορίθμου για την περίπτωση x, στις περιπτώσεις επιτυχίας και αποτυχίας αντίστοιχα.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.20 Αλγόριθμοι Las Vegas IΙΙ Έστω ο αλγόριθμος, function obstinate(x) repeat LV(x, y, success) until success return y Έστω t(x) ο αναμενόμενος χρόνος για να καταλήξει ο αλγόριθμος obstinate σε μία ακριβή λύση της περίπτωσης x. Τότε που με επίλυση της αναδρομής δίνει
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.21 Αλγόριθμοι Las Vegas IV Αυτό σημαίνει ότι για την ελαχιστοποίηση του t(x) πρέπει τα p(x), s(x) και e(x) να επιλεγούν κατάλληλα. Αυτό μπορεί για παράδειγμα να σημαίνει ότι θα ήταν επικοδομητικό να δεχθούμε μικρότερη πιθανότητα επιτυχία (p(x)) αν όμως παράλληλα βελτιωνόταν κατά πολύ ο χρόνος e(x) που απαιτείται για τη διαπίστωση αποτυχίας. ΕΦΑΡΜΟΓΗ ΑΛΓΟΡΙΘΜΟΥ LAS VEGAS: Στο πρόβλημα τοποθέτησης στη σκακιέρα 8 βασιλισσών έτσι ώστε να μην απειλεί η μία την άλλη.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.22 Επιλογή οδηγού (leader) Ι Έστω ένα σύνολο πανομοιότυπων συγχρονισμένων επεξεργαστών σε τοπολογία δακτυλίου, έτσι ώστε κάθε επεξεργαστής να επικοινωνεί με τους δύο άμεσα γειτονικούς του. Θεωρούμε ότι κάθε επεξεργαστής εκκινεί από την ίδια κατάσταση με το ίδιο πρόγραμμα και με τα ίδια δεδομένα στη μνήμη. Μία τέτοια διάταξη όπου όλοι οι επεξεργαστές κάνουν την ίδια δουλειά ταυτόχρονα δεν έχει πρακτικό ενδιαφέρον. Θέλουμε ένα πρωτόκολλο που θα επιτρέπει την επιλογή ενός οδηγού με τέτοιο τρόπο ώστε όλοι οι επεξεργαστές να γνωρίζουν το ποιος είναι αυτός.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.23 Επιλογή οδηγού (leader) ΙΙ Το πρόβλημα αυτό δεν μπορεί να επιλυθεί από κάποιο προσδιοριστικό αλγόριθμο. Αυτό συμβαίνει γιατί όλοι οι επεξεργαστές εκτελούν την ίδια επεξεργασία ταυτόχρονα. Αν ένας από αυτούς αποφασίσει να γίνει οδηγός, τότε η ίδια απόφαση λαμβάνεται και από τους άλλους ταυτόχρονα. Αν όμως κάθε επεξεργαστής γνωρίζει εκ των προτέρων τον αριθμό των επεξεργαστών που βρίσκονται συνδεδεμένοι στο δίκτυο, υπάρχει ένας αλγόριθμος Las Vegas που μπορεί να επιλύσει το πρόβλημα με γραμμικά μεταβαλλόμενο κόστος ανάλογα με τον αριθμό των διασυνδεδεμένων επεξεργαστών. Απαραίτητη προϋπόθεση για να σπάσει η συμμετρία είναι οι γεννήτριες ψευδοτυχαίων που χρησιμοποιούνται από τους επεξεργαστές να εκκινούν με διαφορετικούς σπόρους.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.24 Επιλογή οδηγού (leader) ΙΙΙ Έστω ότι βρίσκονται στο δακτύλιο n επεξεργαστές. Κατά τη φάση 0 κάθε επεξεργαστής αρχικοποιεί την τοπική τιμή m στη γνωστή τιμή n και μία λογική ένδειξη active στην τιμή true. Κατά τη φάση k, k>0 κάθε active επεξεργαστής επιλέγει τυχαία, ομοιόμορφα και ανεξάρτητα έναν ακέραιο μεταξύ 1 και m. Οι επεξεργαστές εκείνοι που επιλέγουν 1 το κοινοποιούν στους υπόλοιπους επεξεργαστές περνώντας το μήνυμα μέσω του δακτυλίου. Μετά από n-1 βήματα του ρολογιού όλοι οι επεξεργαστές γνωρίζουν των αριθμό l των επεξεργαστών που επέλεξαν 1. Υπάρχουν λοιπόν τρεις πιθανότητες:
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.25 Επιλογή οδηγού (leader) ΙV Αν l=0 η k φάση δεν αλλάζει την κατάσταση. Αν l>1 τότε μένουν active μόνο οι επεξεργαστές που επέλεξαν 1 και θέτουν στην τοπική μεταβλητή m την τιμή l. Το πρωτόκολλο ολοκληρώνει την εκτέλεσή του όταν l=1 με την επιλογή του επεξεργαστή που επέλεξε το 1.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τετάρτη, 3 Ιουνίου 2015Τμ. Πληροφορικής, Α.Π.Θ.26 Επιλογή οδηγού (leader) V Ο συγκεκριμένος αλγόριθμος δεν υπάρχει περίπτωση να αποτύχει να μας δώσει αποτέλεσμα.Παρόλα αυτά λέμε ότι είναι ένας αλγόριθμος Las Vegas επειδή δεν υπάρχει άνω όριο στο χρόνο εκτέλεσής του. Η λύση που δίνει είναι πάντα σωστή: δεν υπάρχει περίπτωση να τερματίσει χωρίς να έχει γίνει επιλογή οδηγού ή να έχει γίνει επιλογή περισσοτέρων από έναν οδηγών.