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

Σχετικά έγγραφα
Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

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

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

Advanced Data Indexing

Κεφα λαιο 9 Κατακερματισμός

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

Γραμμικός Προγραμματισμός Μέθοδος Simplex

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Advanced Data Indexing

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Αριθμοθεωρητικοί Αλγόριθμοι

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

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Κατανεμημένα Συστήματα Ι

EukleÐdeiec emfuteôseic: ˆnw frˆgmata

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

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ

Κατακερματισμός (Hashing)

ΚΑΤΑΚΕΡΜΑΤΙΣΜΟΣ HASHING

Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n

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

Δομές Δεδομένων και Αλγόριθμοι

ILP-Feasibility conp

Μία απεικόνιση από ένα διανυσματικό χώρο V στον εαυτό του, L : V V την ονομάζουμε γραμμικό τελεστή στο V (ή ενδομορφισμό του V ). Ορισμός. L : V V γρα

ΜΕΜ251 Αριθμητική Ανάλυση

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

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

Προσεγγιστικοί Αλγόριθμοι

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Δυναμική Διατήρηση Γραμμικής Διάταξης

> ln 1 + ln ln n = ln(1 2 3 n) = ln(n!).

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

ΘΕΩΡΙΑ ΠΙΘΑΝΟΤΗΤΩΝ ΚΑΙ ΣΤΑΤΙΣΤΙΚΗΣ

Ανάκτηση Πληροφορίας

Περιεχόμενα 2ης Διάλεξης 1 Σύνοψη προηγούμενου μαθήματος 2 Αξιωματικός ορισμός και απαρίθμηση 3 Διατάξεις - Συνδυασμοί 4 Παραδείγματα υπολογισμού πιθα

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

Δίαυλος Πληροφορίας. Η λειτουργία του περιγράφεται από:

Δειγματοληψία. Πρέπει να γνωρίζουμε πως πήραμε το δείγμα Το πλήθος n ij των παρατηρήσεων σε κάθε κελί είναι τ.μ. με μ ij συμβολίζουμε την μέση τιμή:

- ΟΡΙΟ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ ΕΝΟΤΗΤΑ 6: ΜΗ ΠΕΠΕΡΑΣΜΕΝΟ ΟΡΙΟ ΣΤΟ

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

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

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 2 : Πληροφορία και Εντροπία Διάλεξη: Κώστας Μαλιάτσος Χρήστος Ξενάκης, Κώστας Μαλιάτσος

Τηλεπικοινωνιακά Συστήματα ΙΙ

Το φασματικό Θεώρημα

Ασκήσεις3 Διαγωνισιμότητα Βασικά σημεία Διαγωνίσιμοι πίνακες: o Ορισμός και παραδείγματα.

Ασκήσεις3 Διαγωνίσιμες Γραμμικές Απεικονίσεις

Εισαγωγή Ορισμός Frequency moments

Κατανεμημένα Συστήματα Ι

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

ΘΕΩΡΙΑ ΠΙΘΑΝΟΤΗΤΩΝ Ι Φεβρουάριος 2018 Σειρά Α Θέματα 3 ως 7 και αναλυτικές (ή σύντομες) απαντήσεις

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Π

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING)

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

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

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

Τυχαία Διανύσματα και Ανεξαρτησία

Βάση και Διάσταση Διανυσματικού Χώρου

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)

2πσ 2 e (x µ)2 /2σ 2 dx = 1. (13.1) e x2 dx. e y2 dy, I = 2. e (y2 +z 2) dy dz.

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

Α Δ Ι. Παρασκευή 15 Νοεμβρίου Ασκηση 1. Να ευρεθεί η τάξη τού στοιχείου a τής ομάδας (G, ), όπου. (4) a = ( 1 + i 3)/2, (G, ) = (C, ),

Ψηφιακές Τηλεπικοινωνίες. Βέλτιστος Δέκτης

Άσκηση 1: Λύση: Για το άθροισμα ισχύει: κι επειδή οι μέσες τιμές των Χ και Υ είναι 0: Έτσι η διασπορά της Ζ=Χ+Υ είναι:

ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ - ΠΡΟΣΟΜΟΙΩΣΗ

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

Μη γράφετε στο πίσω μέρος της σελίδας

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

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

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

1. Για καθένα από τους ακόλουθους διανυσματικούς χώρους βρείτε μια βάση και τη διάσταση. 3. U x y z x y z x y. {(,, ) } a b. c d

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1),

ΒΑΣΙΚΕΣ ΙΑΚΡΙΤΕΣ ΚΑΤΑΝΟΜΕΣ (Συνέχεια)

Το φασματικό Θεώρημα

Approximation Algorithms for the k-median problem

Γραφική Λύση & Πρότυπη Μορφή Μαθηματικού Μοντέλου

Κατανομή συνάρτησης τυχαίας μεταβλητής Y=g(X) Πιθανότητες & Στατιστική 2017 Τμήμα Μηχανικών Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Δ13 ( 1 )

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

P (A B) = P (AB) P (B) P (A B) = P (A) P (A B) = P (A) P (B)

Θεώρημα κωδικοποίησης πηγής

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

Στατιστική Συμπερασματολογία

Ξέρουμε ότι: Συνάρτηση-απεικόνιση με πεδίο ορισμού ένα σύνολο Α και πεδίο τιμών ένα σύνολο Β είναι κάθε μονοσήμαντη απεικόνιση f του Α στο Β.

ΚΕΦΑΛΑΙΟ 4. Ακέραια Πολύεδρα

Y = X 1 + X X N = X i. i=1

ΘΕΩΡΙΑ ΑΠΟΦΑΣΕΩΝ 3 ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΛΥΣΕΙΣ ΤΩΝ ΑΣΚΗΣΕΩΝ

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

Τυχαίοι γράφοι Η διάμετρος του G(n, 2 ln n/n) Ioannis Giotis

Ασκήσεις μελέτης της 8 ης διάλεξης

Στατιστική Συμπερασματολογία

Transcript:

Πίνακες Διασποράς Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση κλειδί k T 0 1 2 3 4 5 6 7 U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους m συνάρτηση διασποράς

Καθολική Διασπορά Για κάθε καθορισμένη συνάρτηση διασποράς μπορούμε να επιλέξουμε κλειδιά που θα δίνουν τη χειρότερη δυνατή επίδοση. Προκειμένου να βελτιώσουμε την κατάσταση μπορούμε να βασιστούμε σε τυχαιοκρατικούς αλγόριθμους: Ορίζουμε μία οικογένεια συναρτήσεων και κατά τη διάρκεια της εκτέλεσης επιλέγουμε τυχαία μία από αυτές τις συναρτήσεις ως συνάρτηση διασποράς. Περιορίζουμε την πιθανότητα εμφάνισης παθολογικών περιπτώσεων.

Καθολική Διασπορά πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με

Καθολική Διασπορά πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με Συνεπώς

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

Καθολική Διασπορά σύμπαν καθολική συλλογή συναρτήσεων διασποράς που αντιστοιχίζει το στο σύνολο αυθαίρετο υποσύνολο του με αυθαίρετο στοιχείο του τυχαία επιλεγμένη συνάρτηση της αριθμός στοιχειών με (τυχαία μεταβλητή) Για κάθε έχουμε δείκτρια τυχαία μεταβλητή Έχουμε Άρα

Καθολική Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία και κάνουμε εισαγωγή κλειδιών σε πίνακα μεγέθους. Έστω. Τότε όπου α = n/m ο συντελεστής πληρότητας. Πόρισμα Ο αναμενόμενος χρόνος εκτέλεσης μίας ακολουθίας πράξεων με πράξεις εισαγωγής είναι Συνεπάγεται από το παραπάνω θεώρημα και την παρατήρηση ότι

Καθολικές Οικογένειες Συναρτήσεων Διασποράς πρώτος αριθμός, μεγαλύτερος από κάθε κλειδί Για και Παράδειγμα

Καθολικές Οικογένειες Συναρτήσεων Διασποράς πρώτος αριθμός, μεγαλύτερος από κάθε κλειδί Για και Περιλαμβάνει συναρτήσεις

Καθολικές Οικογένειες Συναρτήσεων Διασποράς Θα δώσουμε ένα ακόμα παράδειγμα καθολικής οικογένειας συναρτήσεων διασποράς H υποθέτοντας ότι : Το σύνολο των πιθανών κλειδιών περιλαμβάνει U = 2 υ τιμές. Οι συναρτήσεις h H αντιστοιχούν το U σε ένα σύνολο με m = 2 μ τιμές. Άρα ουσιαστικά οι συναρτήσεις της H αντιστοιχούν διανύσματα x (ακολουθίες) των υ bits σε διανύσματα y των μ bits. x 0 1 y υ bits 1 0 1 h 1 1 1 μ bits 0 0 0 1

Καθολικές Οικογένειες Συναρτήσεων Διασποράς Θα δώσουμε ένα ακόμα παράδειγμα καθολικής οικογένειας συναρτήσεων διασποράς H υποθέτοντας ότι : Το σύνολο των πιθανών κλειδιών περιλαμβάνει U = 2 υ τιμές. Οι συναρτήσεις h H αντιστοιχούν το U σε ένα σύνολο με m = 2 μ τιμές. Άρα ουσιαστικά οι συναρτήσεις της H αντιστοιχούν διανύσματα x (ακολουθίες) των υ bits σε διανύσματα y των μ bits. x 0 1 y Μπορούμε να λάβουμε μια τέτοια αντιστοιχία πολλαπλασιάζοντας το x με ένα μ υ πίνακα Α υ bits 1 0 1 0 h 1 1 1 0 μ bits A x = y 0 1

Καθολικές Οικογένειες Συναρτήσεων Διασποράς Θα δώσουμε ένα ακόμα παράδειγμα καθολικής οικογένειας συναρτήσεων διασποράς H υποθέτοντας ότι : Το σύνολο των πιθανών κλειδιών περιλαμβάνει U = 2 υ τιμές. Οι συναρτήσεις h H αντιστοιχούν το U σε ένα σύνολο με m = 2 μ τιμές. Άρα ουσιαστικά οι συναρτήσεις της H αντιστοιχούν διανύσματα x (ακολουθίες) των υ bits σε διανύσματα y των μ bits. Μπορούμε να λάβουμε μια τέτοια αντιστοιχία πολλαπλασιάζοντας το x με ένα Boolean μ υ πίνακα Α, δηλαδή έχουμε y = h(x) = Ax, όπου οι πράξεις γίνονται modulo 2 (δηλαδή 0 + 0 = 1 + 1 = 0 και 0 + 1 = 1 + 0 = 1). Η οικογένεια H ορίζεται από όλους τους 2 μυ Boolean μ υ πίνακες Α.

Καθολικές Οικογένειες Συναρτήσεων Διασποράς Η οικογένεια H ορίζεται από όλους τους 2 μυ Boolean μ υ πίνακες Α. Θεώρημα Η οικογένεια συναρτήσεων διασποράς H είναι καθολική. Απόδειξη Έστω A ένας τυχαίος Boolean μ υ πίνακας και έστω x y διανύσματα του 0,1 υ. Θα δείξουμε ότι η πιθανότητα σύγκρουσης h(x) = h(y) είναι το πολύ 1/m, δηλαδή Pr h H h x = h(y) 1/m. Έστω h(x) = h(y). Θέτουμε z = x y. Έχουμε Ax = Ay A x y = 0 Az = 0, όπου 0 = 0 0 0 το διάνυσμα του 0,1 μ με όλες τις μ συνιστώσες μηδέν. Άρα θέλουμε να δείξουμε ότι Pr h H h z = 0 = Pr h H Az = 0 1/m.

Καθολικές Οικογένειες Συναρτήσεων Διασποράς Η οικογένεια H ορίζεται από όλους τους 2 μυ Boolean μ υ πίνακες Α. Θεώρημα Η οικογένεια συναρτήσεων διασποράς H είναι καθολική. Απόδειξη Άρα θέλουμε να δείξουμε ότι Pr h H h z = 0 = Pr h H Az = 0 1/m. Έστω q = q 1, q 2,, q μ = Az. Η συνιστώσα q i προκύπτει από το εσωτερικό γινόμενο της γραμμής i του A με το διάνυσμα z. A i z = q i Εφόσον z = x y και x y, το z έχει τουλάχιστον μία μη μηδενική συνιστώσα, έστω υ z k = 1. Έχουμε q i = σ j=1 A ij z j = A ik z k + σ j k A ij z j = A ik + σ j k A ij z j.

Καθολικές Οικογένειες Συναρτήσεων Διασποράς Η οικογένεια H ορίζεται από όλους τους 2 μυ Boolean μ υ πίνακες Α. Θεώρημα Η οικογένεια συναρτήσεων διασποράς H είναι καθολική. Απόδειξη Άρα θέλουμε να δείξουμε ότι Pr h H h z = 0 = Pr h H Az = 0 1/m. Έστω q = q 1, q 2,, q μ = Az. Η συνιστώσα q i προκύπτει από το εσωτερικό γινόμενο της γραμμής i του A με το διάνυσμα z. Επομένως, q i = 0 A ik = σ j k A ij z j. Με τι πιθανότητα μπορεί να συμβεί αυτό;

Καθολικές Οικογένειες Συναρτήσεων Διασποράς Η οικογένεια H ορίζεται από όλους τους 2 μυ Boolean μ υ πίνακες Α. Θεώρημα Η οικογένεια συναρτήσεων διασποράς H είναι καθολική. Απόδειξη Άρα θέλουμε να δείξουμε ότι Pr h H h z = 0 = Pr h H Az = 0 1/m. Έστω q = q 1, q 2,, q μ = Az. Η συνιστώσα q i προκύπτει από το εσωτερικό γινόμενο της γραμμής i του A με το διάνυσμα z. Επομένως, q i = 0 A ik = σ j k A ij z j. Με τι πιθανότητα μπορεί να συμβεί αυτό; Αφού ο πίνακας A είναι τυχαίος, κάθε στοιχείο του επιλέγεται ανεξάρτητα. Επομένως, μπορούμε να υποθέσουμε ότι η τιμή (0 ή 1) του στοιχείου A ik επιλέγεται τελευταία. Τη στιγμή που επιλέγουμε αυτήν την τιμή, το άθροισμα c = σ j k A ij z j είναι καθορισμένο, δηλαδή είναι μια σταθερά c 0,1. Συνεπώς η πιθανότητα να επιλέξουμε A ik = c είναι 1/2.

Καθολικές Οικογένειες Συναρτήσεων Διασποράς Η οικογένεια H ορίζεται από όλους τους 2 μυ Boolean μ υ πίνακες Α. Θεώρημα Η οικογένεια συναρτήσεων διασποράς H είναι καθολική. Απόδειξη Άρα θέλουμε να δείξουμε ότι Pr h H h z = 0 = Pr h H Az = 0 1/m. Έστω q = q 1, q 2,, q μ = Az. Η συνιστώσα q i προκύπτει από το εσωτερικό γινόμενο της γραμμής i του A με το διάνυσμα z. Επομένως, q i = 0 A ik = σ j k A ij z j. Η πιθανότητα να συμβεί αυτό είναι 1/2. Το ίδιο ισχύει για κάθε συνιστώσα i {1,2,, μ}, δηλαδή μ Pr h H h x = h(y) = Pr h H Az = 0 = 1 2 = 1 m

Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : O(1) χρόνο χειρότερης περίπτωσης ανά πράξη

Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : O(1) χρόνο χειρότερης περίπτωσης ανά πράξη k 5 k 2 k 5 T 0 Ιδέα: Διασπορά δύο επιπέδων με χρήση καθολικής διασποράς ανά επίπεδο K k 2 k 1 k 4 k 1 k 3 k 4 k 3 m-1

Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : O(1) χρόνο χειρότερης περίπτωσης ανά πράξη k 5 k 2 k 5 T 0 Ιδέα: Διασπορά δύο επιπέδων με χρήση καθολικής διασποράς ανά επίπεδο K k 2 k 1 k 4 k 1 k 3 k 4 k 3 m-1 2 ο επίπεδο : δευτερογενής πίνακας διασποράς για κάθεt[i] 1 ο επίπεδο

Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : O(1) χρόνο χειρότερης περίπτωσης ανά πράξη k 5 k 2 k 5 T 0 Ιδέα: Διασπορά δύο επιπέδων με χρήση καθολικής διασποράς ανά επίπεδο K k 2 k 1 k 4 k 1 k 3 k 4 k 3 m-1 2 ο επίπεδο : δευτερογενής πίνακας διασποράς για κάθεt[i] 1 ο επίπεδο Στο 2 ο επίπεδο αποφεύγουμε τις συμπτώσεις

Πλήρης Διασπορά Παράδειγμα Συνάρτηση διασποράς 1ου επιπέδου : Συνάρτηση διασποράς 2ου επιπέδου : 0 0 10 1 0 1 2 3 4 5 6 7 8 2 60 72 75 3 4 0 5 70 6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 7 40 52 22 37 8

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

Πλήρης Διασπορά Επιλέγουμε την πρωτογενή συνάρτηση διασποράς οικογένεια. από την καθολική Επιλέγουμε κάθε δευτερογενή συνάρτηση διασποράς οικογένεια. από την καθολική

Πλήρης Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε η πιθανότητα να υπάρχει σύγκρουση είναι. Ο αριθμός των πιθανών συγκρούσεων είναι κλειδιών., όσα τα διαφορετικά ζεύγη Από τον τρόπο επιλογής της ζεύγους κλειδιών είναι το πολύ. προκύπτει ότι η πιθανότητα σύγκρουσης ενός Άρα ο αναμενόμενος αριθμός συγκρούσεων είναι Από την ανισότητα του Markov έχουμε

Πλήρης Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε η πιθανότητα να υπάρχει σύγκρουση είναι. Το παραπάνω θεώρημα συνεπάγεται ότι για μπορούμε να βρούμε με λίγες δοκιμές μια συνάρτηση διασποράς που να μην έχει συγκρούσεις για το σύνολο των κλειδιών που αποθηκεύεται στον.

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

Πλήρης Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε Για κάθε μη αρνητικό ακέραιο ισχύει άρα έχουμε Καθώς απομένει να δείξουμε ότι

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

Πλήρης Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε Άρα ο αναμενόμενος χώρος που απαιτείται για την αποθήκευση όλων των δευτερογενών πινάκων είναι Από την ανισότητα του Markov έχουμε Δηλαδή μπορούμε να βρούμε με λίγες δοκιμές μια κατάλληλη πρωτογενή συνάρτηση διασποράς.

Πλήρης Διασπορά Η τεχνική της πλήρους διασποράς μπορεί να επεκταθεί και σε δυναμικά σύνολα [Dietzfelbinger, Karlin, Mehlhorn, Meyer auf der Heide, Rohnert, and Tarjan, 1994] : αντισταθμιστίκο αναμενόμενο κόστος ανά εισαγωγή και διαγραφή.

k-καθολική Διασπορά H = πεπερασμένη συλλογή συναρτήσεων διασποράς U K, U > K = m Η συλλογή H είναι k-καθολική (ή k-ανεξάρτητη) αν για κάθε k διαφορετικά κλειδιά x 1, x 2,, x k και k τιμές a 1, a 2,, a k (όχι απαραίτητα διαφορετικές) ισχύει Pr h H h x 1 = a 1 h x 2 = a 2 h x k = a k 1 m k Ιδιότητες Αν η H είναι k-καθολική τότε είναι και (k 1)-καθολική (και καθολική) Για κάθε x U και a K ισχύει Pr h H h x = a = 1/m

k-καθολική Διασπορά Η οικογένεια H ορίζεται από όλους τους 2 μυ Boolean μ υ πίνακες Α. Θεώρημα Η οικογένεια συναρτήσεων διασποράς H είναι καθολική. Παρατήρηση Η παραπάνω οικογένεια δεν είναι 2-καθολική Π.χ. για x = 0 έχουμε h(x) = Ax = 0 ανεξάρτητα από την επιλογή του A, δηλαδή Pr h H h x = 0 = 1. Μπορούμε όμως να λάβουμε μια 2-καθολική οικογένεια αν θέσουμε h x = Ax + b όπου b ένα τυχαίο διάνυσμα του 0,1 μ.

Φίλτρα Bloom [B. H. Bloom 1970] Απλή δομή δεδομένων η οποία απαντά γρήγορα αν ένα στοιχείο ανήκει σε ένα σύνολο S Βασικές λειτουργίες ανήκει(s, x): ελέγχει αν x S εισαγωγή(s, x): θέτει S S x Ένα φίλτρο Bloom επιτρέπει λανθασμένες θετικές απαντήσεις, δηλαδή μπορεί να επιστρέψει ανήκει(s, x) = true για x S, αλλά με πολύ μικρή πιθανότητα. Γι' αυτό και ονομάζεται «φίλτρο»! (Σε περίπτωση που λάβουμε θετική απάντηση μπορούμε να αναζητήσουμε το x σε μια άλλη δομή η οποία δίνει πάντα τη σωστή απάντηση αλλά μπορεί να είναι πιο αργή.) Τα φίλτρα Bloom χρησιμοποιούνται σε πολλές εφαρμογές κυρίως σε δίκτυα (π.χ. αναφέρεται ότι τα χρησιμοποιεί το Google Chrome), αλλά και αλλού.

Φίλτρα Bloom Η δομή αποτελείται από ένα Boolean πίνακα T μεγέθους m και k συναρτήσεις διασποράς h 1, h 2,, h k U {0,1,, m 1} Για την ανάλυση υποθέτουμε ότι οι συναρτήσεις διασποράς ικανοποιούν την υπόθεση της απλής ομοιόμορφης διασποράς: Υπόθεση απλής ομοιόμορφης διασποράς: κάθε νέο στοιχείο που εισαγάγουμε έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις του πίνακα T Αρχικά θέτουμε T[i] 0 για i = 0,1,, m 1 εισαγωγή(s, x): θέτουμε όλα τα bit T h 1 (x), T h 2 (x),, T h k x να είναι 1 ανήκει(s, x): επιστρέφουμε true αν όλα τα bit T h 1 (x), T h 2 (x),, T h k x είναι 1, διαφορετικά επιστρέφουμε false

Φίλτρα Bloom Αρχικά θέτουμε T[i] 0 για i = 0,1,, m 1 εισαγωγή(s, x): θέτουμε όλα τα bit T h 1 (x), T h 2 (x),, T h k x να είναι 1 T 0 0 0 0 0 0 0 0 0 0 0 0 ανήκει(s, x): επιστρέφουμε true αν όλα τα bit T h 1 (x), T h 2 (x),, T h k x είναι 1, διαφορετικά επιστρέφουμε false

Φίλτρα Bloom Αρχικά θέτουμε T[i] 0 για i = 0,1,, m 1 εισαγωγή(s, x): θέτουμε όλα τα bit T h 1 (x), T h 2 (x),, T h k x να είναι 1 T 0 1 0 0 1 0 0 0 0 1 0 0 h 1 (x) h 2 (x) x h 3 (x) ανήκει(s, x): επιστρέφουμε true αν όλα τα bit T h 1 (x), T h 2 (x),, T h k x είναι 1, διαφορετικά επιστρέφουμε false

Φίλτρα Bloom Αρχικά θέτουμε T[i] 0 για i = 0,1,, m 1 εισαγωγή(s, x): θέτουμε όλα τα bit T h 1 (x), T h 2 (x),, T h k x να είναι 1 T 1 1 0 0 1 0 0 0 0 1 1 0 h 2 (y) h 1 (y) y h 3 (y) ανήκει(s, x): επιστρέφουμε true αν όλα τα bit T h 1 (x), T h 2 (x),, T h k x είναι 1, διαφορετικά επιστρέφουμε false

Φίλτρα Bloom Η δομή αποτελείται από ένα Boolean πίνακα T μεγέθους m και k συναρτήσεις διασποράς h 1, h 2,, h k U {0,1,, m 1} Για την ανάλυση υποθέτουμε ότι οι συναρτήσεις διασποράς ικανοποιούν την υπόθεση της απλής ομοιόμορφης διασποράς: Υπόθεση απλής ομοιόμορφης διασποράς: κάθε νέο στοιχείο που εισαγάγουμε έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις του πίνακα T Έστω ένα αυθαίρετο στοιχείο x U και θέση λ 0,1,, m 1 Τότε Pr h i x λ = 1 1/m. Άρα αν κάνουμε n εισαγωγές, η πιθανότητα να έχουμε T λ = 0 είναι p = 1 1/m kn e kn/m

Φίλτρα Bloom Έστω ένα αυθαίρετο στοιχείο x U και θέση λ 0,1,, m 1 Τότε Pr h i x λ = 1 1/m. Άρα αν κάνουμε n εισαγωγές, η πιθανότητα να έχουμε T λ = 0 είναι p = 1 1/m kn e kn/m Υπολογίζουμε τώρα την πιθανότητα το φίλτρο Bloom να δώσει λάθος θετική απάντηση. Έστω x S αλλά ανήκει(s, x) = true. Τότε T h 1 (x) = = T h k x = 1 το οποίο συμβαίνει με πιθανότητα (1 p) k 1 e kn/m k Π.χ. για m = 8n και k = 4 έχουμε πιθανότητα σφάλματος < 2,5% Βέλτιστο k = ln 2 m/n. Αν θέλουμε πιθανότητα σφάλματος < ε μπορούμε να θέσουμε m 1.44n log 1/ε

Κατανομή Φόρτου Εργασίας Έστω ότι έχουμε n εργασίες οι οποίες πρέπει να εκτελεστούν σε m υπολογιστές. Πως μπορούμε να αναθέσουμε τις εργασίες στους υπολογιστές έτσι ώστε οι υπολογιστές να έχουν περίπου τον ίδιο φορτίο; Αυτό επιτυγχάνεται εύκολα αν έχουμε μια κεντρική εργασία η οποία μπορεί να αναθέτει κάθε νέα εργασία σε κάποιον υπολογιστή, γνωρίζοντας το φορτίο κάθε υπολογιστή. Αν δεν υπάρχει αυτή η δυνατότητα μπορούμε να χρησιμοποιήσουμε συναρτήσεις διασποράς οι οποίες αντιστοιχούν το σύνολο των εργασιών U στους m υπολογιστές.

Κατανομή Φόρτου Εργασίας Ρίψη σφαιριδίων σε κάλπες Έχουμε κάλπες στις οποίες τοποθετούμε σφαιρίδια με τυχαίο τρόπο. Α Β Γ Δ Έστω η πιθανότητα ένα σφαιρίδιο να πάει σε μία συγκεκριμένη κάλπη. Έχουμε. Ρίχνουμε σφαίρες. Ποια η πιθανότητα να πάνε ακριβώς σε μία συγκεκριμένη κάλπη; διωνυμική κατανομή

Κατανομή Φόρτου Εργασίας Ρίψη σφαιριδίων σε κάλπες Έχουμε Έστω κάλπες στις οποίες τοποθετούμε σφαιρίδια με τυχαίο τρόπο. η πιθανότητα ένα σφαιρίδιο να πάει σε μία συγκεκριμένη κάλπη. Έχουμε. Ρίχνουμε σφαίρες. Ποια η πιθανότητα να πάνε ακριβώς σε μία συγκεκριμένη κάλπη; διωνυμική κατανομή τυχαία μεταβλητή αριθμός σφαιριδίων σε μία συγκεκριμένη κάλπη

Κατανομή Φόρτου Εργασίας Ρίψη σφαιριδίων σε κάλπες Έχουμε Έστω κάλπες στις οποίες τοποθετούμε σφαιρίδια με τυχαίο τρόπο. η πιθανότητα ένα σφαιρίδιο να πάει σε μία συγκεκριμένη κάλπη. Έχουμε. Ρίχνουμε σφαίρες. Ποια η πιθανότητα να πάνε ακριβώς σε μία συγκεκριμένη κάλπη; διωνυμική κατανομή τυχαία μεταβλητή αριθμός σφαιριδίων σε μία συγκεκριμένη κάλπη

Κατανομή Φόρτου Εργασίας Ρίψη σφαιριδίων σε κάλπες Έχουμε Έστω κάλπες στις οποίες τοποθετούμε σφαιρίδια με τυχαίο τρόπο. η πιθανότητα ένα σφαιρίδιο να πάει σε μία συγκεκριμένη κάλπη. Έχουμε. Ρίχνουμε σφαίρες. Ποια η πιθανότητα να πάνε ακριβώς σε μία συγκεκριμένη κάλπη; διωνυμική κατανομή τυχαία μεταβλητή αριθμός σφαιριδίων σε μία συγκεκριμένη κάλπη αναμενόμενος αριθμός σφαιριδίων σε μία κάλπη

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

Κατανομή Φόρτου Εργασίας Ρίψη σφαιριδίων σε κάλπες Έχουμε Έστω κάλπες στις οποίες τοποθετούμε σφαιρίδια με τυχαίο τρόπο. η πιθανότητα ένα σφαιρίδιο να πάει σε μία συγκεκριμένη κάλπη. Έχουμε. Ρίχνουμε σφαίρες. τυχαία μεταβλητή αριθμός σφαιριδίων σε μία συγκεκριμένη κάλπη αναμενόμενος αριθμός σφαιριδίων σε μία κάλπη Ο υπολογισμός με τη βοήθεια δεικτριών τυχαίων μεταβλητών είναι πολύ πιο απλός!

Κατανομή Φόρτου Εργασίας Ρίψη σφαιριδίων σε κάλπες Έχουμε Έστω κάλπες στις οποίες τοποθετούμε σφαιρίδια με τυχαίο τρόπο. η πιθανότητα ένα σφαιρίδιο να πάει σε μία συγκεκριμένη κάλπη. Έχουμε. Ρίχνουμε σφαίρες. τυχαία μεταβλητή αριθμός σφαιριδίων σε μία συγκεκριμένη κάλπη η i-οστη σφαίρα δεν πάει στο συγκεκριμένο κουτί η i-οστη σφαίρα πάει στο συγκεκριμένο κουτί Έχουμε

Κατανομή Φόρτου Εργασίας Άρα αν τοποθετήσουμε n εργασίες σε n υπολογιστές με τυχαίο τρόπο τότε το αναμενόμενο φορτίο ανά υπολογιστή είναι 1 εργασία. Ωστόσο μπορούμε να δείξουμε ότι Θεώρημα Το μέγιστο φορτίο ενός υπολογιστή είναι Ο 1 1/n log n log log n με πιθανότητα Σημείωση: Όταν η ανάθεση γίνεται με συνάρτηση διασποράς h, τότε για να ισχύει το παραπάνω θεώρημα πρέπει η h να προέρχεται από k-καθολική log n οικογένεια για k = Ο log log n Μπορούμε να βελτιώσουμε το άνω φράγμα του θεωρήματος με τη βοήθεια περισσότερων συναρτήσεων διασποράς h 1,, h d Κάθε εργασία x αντιστοιχείται σε d 2 υπολογιστές h 1 (x),, h d (x) και τοποθετείται σε αυτόν με το ελάχιστο φορτίο.

Κατανομή Φόρτου Εργασίας Χρησιμοποιούμε συναρτήσεις διασποράς h 1,, h d Κάθε εργασία x αντιστοιχείται σε d 2 υπολογιστές h 1 (x),, h d (x) και τοποθετείται σε αυτόν με το ελάχιστο φορτίο. Θεώρημα 1 Ο 1/n Το μέγιστο φορτίο ενός υπολογιστή είναι ln ln n ln d με πιθανότητα

Διασπορά του Κούκου (Cuckoo Hashing) Μέθοδος κατακερματισμού ανοικτής διευθυνσιοδότησης, η οποία χρησιμοποιεί την ιδέα των 2 επιλογών. Οι συγκρούσεις επιλύονται με «έξωση» του προηγούμενου κλειδιού. Έχουμε δύο πίνακες διασποράς, T 1 και T 2, m θέσεων και αντίστοιχες συναρτήσεις διασποράς h 1, h 2 : U 0,, m 1, από κάποια οικογένεια H. Εισαγωγή κλειδιού x : Αν κάποια από τις θέσεις T 1 h 1 (x) και T 2 h 2 (x) είναι κενή, τοποθετούμε το εκεί το x. Διαφορετικά έστω ότι T 1 h 1 (x) = y. Κάνουμε «έξωση» στο κλειδί y και τοποθετούμε το x στη θέση του. Όταν γίνεται έξωση σε ένα κλειδί z από τη θέση T j h j (z) (για κάποιο j 1,2 ), τοποθετούμε το z στη θέση T 3 j h 3 j (z), κάνοντας ενδεχομένως έξωση σε κάποιο άλλο κλειδί. Αν συμβούν O log n εξώσεις, επιλέγουμε διαφορετικές συναρτήσεις διασποράς και τοποθετούμε από την αρχή όλα τα αντικείμενα.

Διασπορά του Κούκου (Cuckoo Hashing) Μέθοδος κατακερματισμού ανοικτής διευθυνσιοδότησης, η οποία χρησιμοποιεί την ιδέα των 2 επιλογών. Οι συγκρούσεις επιλύονται με «έξωση» του προηγούμενου κλειδιού. Έχουμε δύο πίνακες διασποράς, T 1 και T 2, m θέσεων και αντίστοιχες συναρτήσεις διασποράς h 1, h 2 : U 0,, m 1, από κάποια οικογένεια H. Κάθε κλειδί x βρίσκεται σε μία από τις θέσεις T 1 h 1 (x) και T 2 h 2 (x), άρα η αναζήτηση και η διαγραφή γίνονται σε Ο(1). Για να έχουμε καλή απόδοση στις εισαγωγές πρέπει το m να είναι αρκετά μεγάλο. Θεώρημα Για m 4n, ο αναμενόμενος χρόνος εισαγωγής είναι Ο(1)