1. ΕΙΣΑΓΩΓΗ P2P Peers Load Balancing Peers Decentralization Scalability range search) Unstructured P2P συστήματα

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "1. ΕΙΣΑΓΩΓΗ P2P Peers Load Balancing Peers Decentralization Scalability range search) Unstructured P2P συστήματα"

Transcript

1 Περιεχόμενα ΠΡΟΛΟΓΟΣ...2. ΕΙΣΑΓΩΓΗ...2. Κατασκευή και λειτουργία του P-Grid ΣΧΕΤΙΚΕΣ ΕΡΓΑΣΙΕΣ To P-Grid Πινάκες Δρομολόγησης (Routing Tables) Αλγόριθμος Exchange Παράδειγμα Λειτουργίας του Αλγορίθμου Exchange ΠΡΟΣΟΜΟΙΩΣΗ περιγραφή Αποτελέσματα Μια Πρώτη Ερμηνεία των Αποτελεσμάτων Απόδειξη για RefMax= Απόδειξη για RefMax= Συμπεράσματα ΜΕΘΟΔΟΣ ΚΑΤΑΝΟΜΗΣ ΒΑΡΩΝ Εύρεση Τύπου Παράδειγμα Παράδειγμα Απόδειξη Λειτουργίας για Μεμονωμένες Περιπτώσεις Διαδικασία Εύρεσης του Μεγέθους των Υποδέντρων Αποτελέσματα Προσομοίωσης Συμπεράσματα Ταχύτητα Σύγκλισης ΑΝΑΣΚΟΠΗΣΗ-ΤΕΛΙΚΑ ΣΥΜΠΕΡΑΣΜΑΤΑ MΕΛΛΟΝΤΙΚΗ ΔΟΥΛΕΙΑ ΠΑΡΑΠΟΜΠΕΣ...47 σελ.

2 ΠΡΟΛΟΓΟΣ Τα P-Grid δίκτυα είναι P2P συστήματα που ξεχωρίζουν για την αποδοτικότητα και την απλότητα του αλγορίθμου τους. Χρησιμοποιούν έναν Κατανεμημένο Πίνακα Κατακερματισμού (DHT) για την οργάνωση των Peers σε έναν δυαδικό Trie και το χαρακτηριστικό που τα διακρίνει είναι ότι τα Routing Tables τους κατασκευάζονται με απόλυτα τυχαίο και δυναμικό τρόπο κατά την διαδικασία τοπικών μόνο συνδιαλλαγών. Η βέλτιστη λειτουργία ωστόσο του P-Grid βασίζεται στη δυνατότητα των Peers να κατασκευάζουν τα Routing Table τους μέσω μιας δίκαιης επιλογής μεταξύ των υποψηφίων κόμβων. Το πρωτόκολλο το οποίο προτάθηκε αρχικά, αποδεικνύεται στην εργασία αυτή ότι δεν εξασφαλίζει το παραπάνω χαρακτηριστικό όταν η τοπολογία του δικτύου είναι Unbalanced. Για τον λόγο αυτό εισάγουμε έναν επιπλέον μηχανισμό αυτοοργάνωσης στο δίκτυο, ο οποίος επιτρέπει σε κάθε κόμβο να γνωρίζει κάποια χαρακτηριστικά της τοπολογίας ολόκληρου του Trie, και πιο συγκεκριμένα τα μεγέθη των συμπληρωματικών του υποδέντρων. Η πληροφορία αυτή διαχέεται μέσω ενός επιδημικού αλγορίθμου τη λειτουργία του οποίου μελετήσαμε και επιβεβαιώσαμε μέσα από εκτεταμένες δοκιμές. σελ.2

3 . ΕΙΣΑΓΩΓΗ Τα P2P δίκτυα αποτελούν σταθμό στην εξέλιξη των κατανεμημένων συστημάτων, καθώς επιτρέπουν την αποκεντρωμένη και κλιμακωτή διαχείριση μεγάλων ποσοτήτων πληροφορίας με αποδοτικό τρόπο. Σε ένα Ρ2Ρ δίκτυο η πληροφορία είναι διασπαρμένη σε πολυάριθμους κόμβους (Peers) οι οποίοι είναι όμοιοι σε λειτουργικότητα και οργανωμένοι με τέτοιο τρόπο ώστε να μην υπάρχει κεντρικός έλεγχος ή ιεραρχική οργάνωση αλλά η συνολική λειτουργία του συστήματος να προκύπτει μέσα από την αλληλεπίδραση των Peers σε τοπικό μόνο επίπεδο Τα P2P δίκτυα συνήθως καλούνται να αντιμετωπίσουν τα εξής θέματα. Ομοιόμορφη Κατανομή Φορτίου (Load Balancing) Είναι επιθυμητό το κόστος λειτουργίας και διαχείρισης του συνολικού δικτύου να το επωμίζονται όλοι οι Peers του συστήματος ισότιμα. 2. Αποκέντρωση (Decentralization) Η πληροφορία που αφορά τα δεδομένα και τους καταλόγους του συστήματος θα πρέπει να είναι αποκεντρωμένη και ομοιόμορφα κατανεμημένη ανάμεσα σε όλους τους Peers του συστήματος. 3. Κλιμάκωση (Scalability ) Σε ένα P2P δίκτυο είναι επιθυμητό το φορτίο που επωμίζεται κάθε κόμβος όπως επίσης και το κόστος ανάκτησης των δεδομένων, να εξαρτάται όσο το δυνατό λιγότερο από το συνολικό μέγεθος του δικτύου (συνολικός αριθμός των Peers ). Γενικά τα P2P συστήματα λύνουν πολλά προβλήματα του παλιού μοντέλου Client-Server αλλά οδηγούν σε πολύπλοκους Μηχανισμούς οργάνωσης, και αναζήτησης πληροφορίας. Ανοιχτά πεδία έρευνας σε P2P δίκτυα είναι οι δυνατότητα αναζήτησης δεδομένων που ανήκουν σε ένα εύρος τιμών (range search) καθώς και η αναζήτηση κατάλληλων δομών για την αποθήκευση των δεδομένων και των καταλόγων αρχειοθέτησης.στην τελευταία αυτή περίπτωση, έντονο είναι το ενδιαφέρον για την αξιοποίηση ιεραρχικών δομών, όπως είναι τα δέντρα αναζήτησης σε P2P δίκτυα. Τα P2P συστήματα διακρίνονται στις εξής κύριες κατηγορίες: Unstructured P2P συστήματα είναι P2P συστήματα χωρίς αρχειοθέτηση (indexing) των δεδομένων που αποθηκεύονται στο σύστημα. Η πληροφορία κατανέμεται τυχαία ανάμεσα στους Peers, οι οποίοι και χρησιμοποιούν μηχανισμούς broadcasting για την ανάκτησή της.μερικά γνωστά παραδείγματα είναι το Gnuttela [3], το FreeNet [4], FastTrack [], κ.α. To πλεονέκτημα της μεθόδου είναι ότι η πληροφορία είναι τελείως αποκεντρωμένη και οι κόμβοι ανεξάρτητοι μεταξύ τους, με αποτέλεσμα το σύστημα να παρουσιάζει άμεση προσαρμοστικότητα σε αποχωρήσεις ή συνδέσεις νέων κόμβων στο δίκτυο. Το κύριο μειονέκτημα της ωστόσο είναι ότι κάνει μεγάλη σπατάλη πόρων δικτύου (bandwidth) κατά την διάρκεια της ανάκτησης της πληροφορίας. Επίσης τα συστήματα αυτά δεν είναι κλιμακωτά, καθώς οι κόμβοι σύντομα υπερφορτώνονται με την μαζική αύξηση του ρυθμού των αιτήσεων ή την ξαφνική αύξηση του μεγέθους του δικτύου. σελ.3

4 Structured P2P συστήματα Τα συστήματα αυτά διαθέτουν κατανεμημένα αρχεία καταλόγων κάνουν δηλαδή αρχειοθέτηση της πληροφορίας, για γρηγορότερη αναζήτηση και δρομολόγηση των queries Στην περίπτωση αυτή τα δεδομένα αντιστοιχίζονται σε κλειδιά τα οποία αποθηκεύονται στους Peers μαζί με τα δεδομένα. Έτσι υπάρχει διαχωρισμός ανάμεσα στην πληροφορία που αφορά τα πραγματικά δεδομένα, από τις διευθύνσεις των Peers στους οποίους είναι αποθηκευμένα. Κάθε αίτηση για αναζήτηση ή ενημέρωση, φέρει το κλειδί (ή τα κλειδιά) των δεδομένων στα οποία απευθύνεται ώστε να γίνεται γρήγορη εύρεση της πληροφορίας από όποιο σημείο του δικτύου και αν απευθύνεται αρχικά η αίτηση. Λόγω της λειτουργίας δεικτοδότησης τα structured συστήματα είναι πιο αποδοτικά (σε πόρους δικτύου) κατά την διάρκεια αποθήκευσης και ανάκτησης της πληροφορίας, ωστόσο ενδεχομένως σε κάποια από αυτά να είναι απαραίτητο να υπάρχει κάποιου είδους κεντρικού συντονισμού (ανάλογα και με την δομή του εκάστοτε συστήματος αρχειοθέτησης) καθώς και χρήση πολύπλοκων αλγορίθμων δρομολόγησης. Παραδείγματα Structured συστημάτων είναι το Chord [5], Tapestry [7], Pastry [8]. Τα Structured P2P δίκτυα χωρίζονται επιπλέον στις εξής υποκατηγορίες: α) Σε συστήματα που χρησιμοποιούν ιεραρχικές δομές δεδομένων, όπως είναι τα δέντρα αναζήτησης (search trees) για την αποθήκευση και αρχειοθέτηση των δεδομένων. Στην περίπτωση αυτή δίνεται ιδιαίτερη μέριμνα ώστε οι κόμβοι που βρίσκονται στα πρώτα επίπεδα της δομής να μην υπερφορτώνονται σε σχέση με τους κόμβους στα χαμηλότερα επίπεδα. Αυτό αντιμετωπίζεται συνήθως είτε με αντιγραφή (replication) των πρώτων επιπέδων της δομής είτε με τεχνικές "πλευρικής αναζήτησης" (sideways searches), όπως για παράδειγμα στα VBI-Trees[6]. β) Σε συστήματα που χρησιμοποιούν Κατανεμημένο Πίνακα Κατακερματισμού (DHT) για την κατασκευή ευρετηρίου. Στην κατηγορία αυτή έχουμε τεχνικές κατάτμησης χώρου (space partitioning) οι οποίες συνήθως συνδυάζουν ένα κατανεμημένο αρχείο κατακερματισμού (DHT) με μια κατάλληλη μέθοδο αντιστοίχισης του διαστήματος αναζήτησης (search space), στο διάστημα των κλειδιών κατακερματισμού (hash keys). Αν ο χώρος που έχει υιοθετηθεί είναι πολυδιάστατος, τότε συνήθως εφαρμόζεται η μέθοδος space filling curves για την αντιστοίχιση. Ιδιαίτερη έμφαση δίνεται ώστε το αρχείο ευρετηρίου και τα δεδομένα να κατανέμονται ομοιόμορφα ανάμεσα στους Peers. Εξαίρεση στις παραπάνω κατηγορίες P2P συστημάτων είναι το σύστημα P-Grid, το οποίο χρησιμοποιεί έναν κατανεμημένο πίνακα Κατακερματισμού ( DHT) του οποίου η δομή είναι αυτή ενός Binary Trie.Πρόκειται δηλαδή ουσιαστικά για ένα εικονικά κατανεμημένο δέντρο αναζήτησης στο οποίο κάθε ένας Peer συμμετέχει αποθηκεύοντας ένα μόνο μέρος του δέντρου και χρησιμοποιώντας binary strings ως ταυτότητες (IDs) για τον προσδιορισμό των δεδομένων για τα οποία είναι υπεύθυνος Η Trie δομή του P-Grid προσφέρει το πλεονέκτημα του συνδυασμού ενός DHT με ιεραρχικές δομές κατάτμησης χώρου (space partitioning schemes). Η απλότητα του σχήματος αυτού, καθώς και η ικανότητα του να διαχέει την πληροφορία με τυχαίο και ομοιόμορφο τρόπο κάνουν το P-Grid να υπερέχει από πολλά άλλα συστήματα. σελ.4

5 Πιο αναλυτικά τα κύρια χαρακτηριστικά του P-Grid είναι τα εξής:. Πρόκειται για ένα πλήρως κατανεμημένο σύστημα χωρίς καθόλου κεντρική οργάνωση, ενώ οι συνδιαλλαγές (interactions) ανάμεσα στους Peers γίνονται σε τοπικό μόνο επίπεδο. 2. Χρησιμοποιεί αλγορίθμους που διαχέουν ομοιόμορφα και με τυχαίο τρόπο την πληροφορία και το αρχείο ευρετηρίου. 3. Κλιμακώνεται ομαλά με την αύξηση του αριθμού των κόμβων του δικτύου και την ποσότητα της αποθηκευμένης πληροφορίας.. Κατασκευή και λειτουργία του P-Grid Συνοπτικά, όταν δύο Peers συναντηθούν (είτε τυχαία σε κάποιο query, είτε εσκεμμένα για την κατασκευή του συστήματος) κάνουν κατάτμηση του χώρου αναζήτησης (search space) και κρατούν ο ένας την διεύθυνση του άλλου, ώστε να είναι σε θέση να δρομολογούν επιτυχώς τις αιτήσεις αναζήτησης που δεν μπορούν να εξυπηρετήσουν οι ίδιοι. Παράλληλα ανταλλάσσουν διευθύνσεις κόμβων που αφορούν τα υπόλοιπα υποδέντρα του συνολικού Trie. Με τον τρόπο αυτό μπορούν οι Peers να ενημερώνονται για πιθανές αλλαγές στο σύστημα (όπως αποχωρήσεις ή προσθήκες νέων μελών-κόμβων). Οι παραπάνω διευθύνσεις αποθηκεύονται τοπικά σε πίνακες δρομολόγησης (Routing Tables). Έχει αποδειχθεί ([2]) ότι το κόστος αναζήτησης στο σύστημα P-Grid είναι O(logN) όπου Ν :Ο συνολικός αριθμός των Peers του συστήματος. Αν και οι ιδιότητες ενός Binary Trie σε κατανεμημένα δίκτυα δεν έχουν αναλυθεί εκτενώς, ωστόσο ακολουθούν μερικές σημαντικές μελέτες και αποτελέσματα πάνω στο θέμα.. Ο Aberer στο [] αποδεικνύει ότι η αναμενόμενη (μέση) τιμή του πλήθους των ενδιάμεσων κόμβων σε μια λειτουργία αναζήτησης, από κάποιον τυχαίο Peer αφετηρία, προς κάποιον Peer προορισμό (και επομένως το αναμενόμενο κόστος αναζήτησης) είναι λογαριθμικό στο μέγεθος του δικτύου. (Ο(log 2 n)) Το αποτέλεσμα αυτό ισχύει για κάθε trie οποιοδήποτε σχήματος (Balanced ή Unbalanced) ακόμα δηλαδή και για τις εκφυλισμένες περιπτώσεις δέντρων. Το παραπάνω αποτέλεσμα, αν και σημαντικό καθώς μας δίνει μια πρώτη εκτίμηση της απόδοσης του P-Grid, η ισχύς του ωστόσο περιορίζεται μόνο σε περιπτώσεις που έχουμε λειτουργίες αναζήτησης σε μία μόνο διάσταση (Point searches). Δεν μπορούμε να βγάλουμε συμπεράσματα για την απόδοση του P-Grid σε αναζητήσεις πολλαπλών διαστάσεων (Range Search) καθώς μια τέτοια αναζήτηση ενδεχομένως να διακλαδίζεται σε πολλαπλά μονοπάτια και κόμβους -προορισμούς, οπότε και το κόστος αναζήτησης στην περίπτωση αυτή θα είναι η πιο μακρινή από όλες τις διακλαδιζόμενες διαδρομές. Προς την κατεύθυνση λύσης στο παραπάνω πρόβλημα δίνεται στην παρακάτω εργασία: 2. Οι Σαμολαδάς και Αργυρίου, στο [2] απέδειξαν ότι η διάμετρος ενός Binary Trie δικτύου κόμβων, δηλαδή το μήκος της μεγαλύτερης διαδρομής σε κόμβους στο δίκτυο, είναι O(logN) με μεγάλη πιθανότητα (w.h.p.) και ανεξάρτητα από το σχήμα του αντίστοιχου trie. (Με τον όρο Routing Diameter ονομάζουμε την μέγιστη απόσταση σε κόμβους που πρέπει να διανύσει ένα μήνυμα από κάποιον κόμβο αφετηρία προς οποιονδήποτε κόμβο προορισμό του συστήματος), Επίσης στην ίδια εργασία αποδεικνύεται ότι ο μέσος αριθμός μηνυμάτων που περνούν σελ.5

6 διαμέσου ενός κόμβου, όταν όλοι οι άλλοι κόμβοι δρομολογούν τυχαία queries, έχει ένα όριο O(logN) ανεξάρτητα από την θέση του συγκεκριμένου Peer στο δίκτυο. (Το παραπάνω μέγεθος αντιστοιχεί στο congestion factor του συστήματος και μας δείχνει κατά πόσο το συγκεκριμένο δίκτυο υποφέρει από ενδογενή συνωστισμό). Τα συγκεκριμένα αποτελέσματα είναι σημαντικά από μόνα τους καθώς αφενός μας δίνουν μια καλύτερη εκτίμηση της απόδοσης του P-Grid ως σύστημα με DHT ακόμα και για τις περιπτώσεις που έχουμε Range Queries, αφετέρου μας βοηθούν στην κατασκευή πρωτοκόλλων για πολύπλοκες τεχνικές αναζήτησης σε συστήματα των οποίων η δομή είναι αυτή ενός Trie δέντρου, καθώς τα αποδεσμεύουν από θέματα που έχουν να κάνουν με το σχήμα του αντίστοιχου δέντρου. Παρ όλη την σπουδαιότητα τους, τα παραπάνω αποτελέσματα απαιτούν να πληρούνται κάποιες παραδοχές για την εγκυρότητά τους. Μια από αυτές είναι ότι οι Πίνακες Δρομολόγησης των Peers (πίνακες που αποθηκεύουν διευθύνσεις άλλων Peers ώστε να είναι δυνατή η δρομολόγηση των queries στο Trie) κατασκευάζονται με απόλυτα τυχαίο τρόπο. Αυτό σημαίνει ότι όταν κάποιος Peer επιλέγει τις διευθύνσεις των κόμβων στους οποίους θα προωθεί τις αιτήσεις, όταν δεν μπορεί να τις εξυπηρετήσει ο ίδιος, στην επιλογή αυτή πρέπει να συμμετέχουν οι υποψήφιοι κόμβοι με ισότιμο τρόπο, δηλαδή η τελική πιθανότητα εμφάνισης του καθενός να είναι η ίδια. Πειράματα έδειξαν ότι αυτό γενικά δεν ισχύει στον κλασικό αλγόριθμο του P-Grid αν κάποιο η κάποια από τα υποδέντρα του συστήματος δεν είναι επαρκώς ζυγισμένο (Balanced). Στην χειρότερη περίπτωση που το δέντρο είναι εκφυλισμένο (δηλαδή κάθε εσωτερικός του κόμβος έχει ακριβώς ένα φύλο-παιδί) η επιλογή των διευθύνσεων στα Routing Tables, με τον κλασικό αλγόριθμο του P-Grid, γίνεται skewed, (δηλαδή κάποιες διευθύνσεις κόμβων δεν επιλέγονται πρακτικά ποτέ).η λειτουργία του P-Grid δικτύου στην περίπτωση αυτή γίνεται προβληματική, καθώς οι κόμβοι οι οποίοι βρίσκονται στα υψηλότερα επίπεδα του Trie, υπερφορτώνονται δυσανάλογα σε σχέση με τους Peers στα χαμηλότερα. Η παρούσα εργασία στόχο έχει αφενός να καταδείξει το πρόβλημα μέσα από την παρουσίαση αποτελεσμάτων εκτεταμένων δοκιμών και προσομοιώσεων, και αφετέρου να προτείνει μια μέθοδο για την αντιμετώπιση του προβλήματος και την βελτιστοποίηση του συστήματος, χωρίς ωστόσο να αλλοιώνει σημαντικά τον χαρακτήρα και την απλότητα του αρχικού αλγορίθμου. Στο τέλος της εργασίας παρουσιάζονται τα αποτελέσματα από τις προσομοιώσεις που εκτελέστηκαν πριν, καθώς και μετά την εφαρμογή της μεθόδου βελτιστοποίησης, ώστε να φανούν ξεκάθαρα τα πλεονεκτήματά της. 2. ΣΧΕΤΙΚΕΣ ΕΡΓΑΣΙΕΣ 2. To P-Grid 2.. Τοπολογία Η τοπολογία ενός δικτύου αναφέρεται συνήθως στην υπερκείμενη οργάνωση των peers. Στο P-Grid οι peers είναι οργανωμένοι πάνω σε ένα δυαδικό trie χωρίς απαραίτητα να είναι ζυγισμένο. σελ.6

7 Ο όρος binary trie αναφέρεται σε ένα πλήρες δυαδικό δέντρο (full binary tree) δηλαδή ένα δυαδικό δέντρο στο οποίο κάθε κόμβος που δεν είναι φύλλο (εσωτερικός) έχει ακριβώς δύο παιδιά. Κάθε κόμβος n του trie (εσωτερικός ή εξωτερικός ) αντιστοιχίζεται σε ένα binary string I(n) με τον εξής τρόπο:στην ρίζα του δέντρου αντιστοιχίζεται η κενή συμβολοσειρά, και για κάθε άλλο κόμβο έστω u, με πατέρα τον κόμβο υ, εάν είναι αριστερό παιδί του τότε Ι u = I υ,αλλιώς Ι u = I υ ( το σύμβολο ( ) συμβολίζει την συνένωση δύο συμβολοσειρών).ένα binary trie μπορεί να περιγραφεί πλήρως από το σετ με τα IDs των φύλλων τα οποία συνιστούν ένα κώδικα ελεύθερου προθέματος (prefix free code) Παρακάτω παρουσιάζεται ένα παράδειγμα ενός trie Στην περίπτωση του P-Grid κάθε trie με n φύλλα αντιστοιχεί σε ένα δίκτυο με n peers, όπου κάθε peer συσχετίζεται με ένα μοναδικό φύλλο. Επομένως οι peers βρίσκονται πάντα στα φύλλα του δέντρου και έτσι δεν υπάρχει συνωστισμός κοντά στην ρίζα του δέντρου. Οι εσωτερικοί κόμβοι του trie είναι εικονικοί από την άποψη ότι δεν περιέχουν κλειδιά, ούτε χρησιμοποιούνται από τους peers. Επίσης κάθε εσωτερικός κόμβος έχει ακριβώς 2 κόμβους-παιδιά σε αντίθεση με τους εξωτερικούς (φύλλα) που δεν έχουν παιδιά. Κάθε peer αντιπροσωπεύει μόνο ένα μέρος του συνολικού δέντρου, και χαρακτηρίζεται με ένα μοναδικό bitstring, (μια συμβολοσειρά δηλαδή που περιέχει μόνο και ) το οποίο ονομάζεται PeerID (ή PathID). Το PeerID προσδιορίζει με μοναδικό τρόπο την θέση ενός peer στο δέντρο και αναπαριστά το κομμάτι εκείνο του trie (καθώς και τα δεδομένα του ) για το οποίο είναι υπεύθυνος ο συγκεκριμένος Peer. Στην ρίζα του δέντρου αντιστοιχίζεται η κενή συμβολοσειρά ε στην οποία αντιστοιχεί ολόκληρος ο χώρος δεδομένων. Αν ένας κόμβος έχει PeerID=pid και έχει παιδιά, τότε τα παιδιά του θα έχουν PeerIDs pid, pid.πρέπει να τονίσουμε ότι το P-Grid δεν συσχετίζει άμεσα το PeerID ενός peer με τα δεδομένα που αποθηκεύει Κατασκευή Η κατασκευή του P-Grid στηρίζεται σε τοπικές μόνο συνδιαλλαγές (interactions) μεταξύ των Peers και εγγυάται ότι οι Πίνακες Δρομολόγησης που υπάρχουν στον καθέναν, παρέχουν πάντα μία τουλάχιστον διαδρομή από τον peer που λαμβάνει μια αίτηση αναζήτησης, προς κάποιον από τους peers που έχουν την ζητούμενη πληροφορία, οπότε κάθε query μπορεί να εξυπηρετηθεί ανεξάρτητα σελ.7

8 από το σε ποιόν κόμβο προωθείται αρχικά. Τα Routing Tables επίσης κρατούν πολλαπλές αναφορές για κάθε επίπεδο -υποδέντρο και ο αλγόριθμος δρομολόγησης επιλέγει κάποια από αυτές τυχαία. Η ανταλλαγή πληροφορίας και η διαδικασία κατασκευής των Routing Tables γίνεται με την βοήθεια του αλγορίθμου exchange. Πιο αναλυτικά όταν δύο peers συναντηθούν είτε τυχαία είτε εσκεμμένα (για παράδειγμα στο πλαίσιο μιας αναζήτησης είτε μιας ενημέρωσης κάποιων δεδομένων), διαιρούν το διάστημα αναζήτησης (search space) στα δύο, και καθένας παίρνει υπ ευθύνη του το ένα μισό ενώ αποθηκεύει την διεύθυνση του άλλου peer για να καλύψει το άλλο μισό κομμάτι του διαστήματος. Επομένως ο peer μπορεί να εγγυηθεί την δρομολόγηση ενός μηνύματος σε οποιονδήποτε peer του δέντρου. Παρακάτω φαίνεται ένα παράδειγμα από την κατασκευή ενός P-Grid δικτύου. σελ.8

9 2..3 Λειτουργία του P-Grid Αρχικά θα εξετάσουμε την δομή και λειτουργία των Πινάκων Δρομολόγησης (Routing Tables) των Peers μιας και σημαντικό κομμάτι στην λειτουργία του συστήματος έχει να κάνει με εισαγωγή και εξαγωγή πληροφορίας από και προς το Routing Table κάποιων κόμβων. 2.2 Πινάκες Δρομολόγησης (Routing Tables) Οι πίνακες δρομολόγησης είναι κατάλογοι στους οποίους κάθε peer αποθηκεύει τοπικά τις διευθύνσεις άλλων κόμβων, ώστε να μπορεί να δρομολογεί αιτήσεις, με ακρίβεια, προς το υπόλοιπο δέντρο, όταν δεν μπορεί να τις εξυπηρετήσει ο ίδιος. Η δρομολόγηση με την χρήση των Routing Tables εγγυάται ένα κόστος Ο(logN), (N:μέγεθος συστήματος) από ενδιάμεσους κόμβους -σταθμούς, μέχρι την εύρεση του τελικού προορισμού Δομή των Routing Tables Η δομή του Routing Table ενός τυχαίου κόμβου, έστω Α, είναι ένας πίνακας διευθύνσεων, με πλήθος γραμμών όσο και το μέγεθος σε bits της συμβολοσειράς που αντιστοιχεί στην διεύθυνση του αντίστοιχου Peer (pathid A ). Τις γραμμές αυτές τις ονομάζουμε επίπεδα του Routing Table, Αν επομένως κάποιος Peer έχει pathid με μήκος ίσο με m bits, τότε το Routing Table έχει ακριβώς m επίπεδα, ένα για καθένα από τα bits της διεύθυνσης του. Ορίζουμε ως Υποδέντρο κάποιου κόμβου (έστω Α) στο m-οστό επίπεδο, το σύνολο εκείνο όλων των κόμβων (εσωτερικών ή φύλλων) του δικτύου, των οποίων η διεύθυνση (pathid) έχει κοινά τα πρώτα m- bits, με αυτά του κόμβου Α, και διαφορετικό το m-οστό bit. Το σύνολο αυτό των κόμβων συνιστά όντως ένα υποδέντρο του συνολικού Trie, η ρίζα του οποίου έχει PathID τα m- πρώτα bits της συμβολοσειράς της διεύθυνσης του Peer Α, και το συμπληρωματικό του m-οστού bit του PathID Α. Για παράδειγμα στο τρίτο επίπεδο του κόμβου με pathid :"" αντιστοιχεί το υποδέντρο με ρίζα το ID "", και κόμβους με IDs της μορφής * (π.χ.,, κτλ.). Αν λοιπόν κάποιος Peer έχει m ακριβώς bits στο PathID του, τότε θα έχει και m ακριβώς υποδέντρα, όσα δηλαδή και τα επίπεδα του Routing Table του Σε κάθε επίπεδο του Routing Table ενός κόμβου, υπάρχει αποθηκευμένη η διεύθυνση τουλάχιστον ενός Peer από το αντίστοιχο υποδέντρο στο οποίο αναφέρεται το επίπεδο αυτό. Παράδειγμα X Peer X SubTree Adresses Routing Table of Peer X "" N, "" 4,5 "" 2,3 "" 2,3 "" 5 "",2 "" "" 4,5 "" "" 3 "" 4,5 "" "" 2 σελ.9

10 Το παραπάνω Trie αποτελείται από 5 Peers, και εικονίζονται οι Πίνακες Δρομολόγησης για καθέναν απ' αυτούς.παρατηρούμε ότι για παράδειγμα ο Peer 3 ("") έχει PathID με μήκος ίσο με τρία (3) bits, επομένως τόσα θα είναι και τα επίπεδα στο Routing Table του. Συγκεκριμένα σε κάθε επίπεδο αντιστοιχούν τα εξής υποδέντρα (με την παρακάτω σειρά) Επίπεδο ο :(Υποδέντρο ""), Επιλεγμένοι Peers {4,5} Επίπεδο 2ο : (Υποδέντρο ""), Επιλεγμένοι Peers {} Επίπεδο 3ο : (Υποδέντρο ""), Επιλεγμένοι Peers {2} O μέγιστος αριθμός των διευθύνσεων από Peers που αποθηκεύονται σε κάθε επίπεδο του Routing Table (RefMax ) είναι σταθερός, ίδιος για κάθε υποδέντρο, και μεγαλύτερος του ένα. Με τον τρόπο αυτό αυξάνεται η αξιοπιστία του συστήματος, αφού εξασφαλίζονται με τον τρόπο αυτό εναλλακτικές διαδρομές, σε περίπτωση που κάποιοι από τους Peers βγούν εκτός συστήματος, είτε ηθελημένα, είτε λόγω κάποιας βλάβης. Ωστόσο, η παραπάνω μέγιστη τιμή (RefMax ), δεν μπορεί να είναι αυθαίρετα μεγάλη, καθώς αυξάνεται ανάλογα και το κόστος (overhead ) της διατήρησης, και ενημέρωσης των λιστώνδιευθύνσεων για κάθε Peer Λειτουργία των Routing Tables Κάθε αίτηση για αναζήτηση (ανάκτηση ή ενημέρωση) δεδομένων, φέρει μαζί της το "κλειδί" σύμφωνα με το οποίο γίνεται ο εντοπισμός των δεδομένων στα οποία απευθύνεται η αίτηση. Με το συγκεκριμένο κλειδί, μπορεί κάθε Peer με την χρήση μιας προκαθορισμένης hash-function να κάνει αντιστοίχιση ανάμεσα στο χώρο διευθύνσεων των δεδομένων και το χώρο διευθύνσεων των κόμβων του συστήματος, μπορεί δηλαδή να εντοπίσει, αν ο ίδιος δεν είναι υπεύθυνος για τα δεδομένα που αναζητούνται, ποιο είναι το pathid του Peer ο οποίος είναι υπεύθυνος για την συγκεκριμένη πληροφορία (δηλαδή του Peer -προορισμού). Ενώ λοιπόν αρχικά τα queries απευθύνονται προς το σύστημα συνολικά και φτάνουν σε Peers που συνήθως δεν έχουν σχέση με την περιοχή (και τα δεδομένα) αναζήτησης στα οποία απευθύνεται η αίτηση, δεν υπάρχει κίνδυνος σύγχυσης ή απόρριψης της αίτησης αφού οι κόμβοι μπορούν να επαναδρομολογήσουν την αίτηση προς κάποιον κόμβο πλησιέστερο στον Peer -προορισμό, ή και στον ίδιο ακόμα, αν υπάρχει η διεύθυνσή του στο Routing Table. Η επαναδρομολόγηση ενός query γίνεται ως εξής:. Αρχικά από το κλειδί της αίτησης, εξάγεται το PathID του κόμβου -προορισμού, και συγκρίνεται bit προς bit με το PathID του κόμβου που δέχθηκε την αίτηση. 2. Αν το αποτέλεσμα της σύγκρισης είναι θετικό (δηλαδή τα pathids είναι τα ίδια), αυτό σημαίνει ότι ο Peer στον οποίο έφτασε η αίτηση είναι ο Peer -προορισμός, δηλαδή είναι ο ίδιος υπεύθυνος για τα δεδομένα στα οποία απευθύνεται η αίτηση, και επομένως μπορεί να εξυπηρετήσει την αίτηση χωρίς να χρειαστεί επαναδρομολόγηση. 3. Διαφορετικά, αν τα δύο pathids διαφέρουν έστω στο m-οστό bit από το πρώτο, τότε επιλέγεται από τον Πίνακα Δρομολόγησης με τυχαίο τρόπο μία από τις διευθύνσεις που είναι καταχωρημένες για το m-οστό επίπεδο (υποδέντρο) και χρησιμοποιείται η διεύθυνση αυτή για την προώθηση της αίτησης προς τον επόμενο Peer- σταθμό. Αν ωστόσο η αίτηση δεν μπορεί να σταλεί στον Peer που επιλέχτηκε, (π.χ. λόγω βλάβης του) τότε επιλέγεται και πάλι τυχαία, κάποια από τους εναπομείναντες διευθύνσεις που υπάρχουν στο Routing Table, (στο ίδιο πάντοτε επίπεδο) και επιχειρείτε εκ νέου να δρομολογηθεί η αίτηση.. σελ.

11 Η ίδια διαδικασία επαναλαμβάνεται μέχρι να βρεθεί ο πρώτος λειτουργικός Peer προς τον οποίο μπορεί να προωθηθεί η αίτηση. Με τον αλγόριθμο που περιγράφηκε παραπάνω, ο Peer ο οποίος λαμβάνει μια αίτηση από κάποιον μη σχετικό με αυτήν θα βρίσκεται πλησιέστερα στον κόμβο αναζήτησης τουλάχιστον κατά bit (στο pathid) σε σχέση με τον προηγούμενο.με αυτόν τον τρόπο επιτυγχάνεται λογαριθμικός χρόνος μέχρι να φτάσει η αίτηση στον τελικό αποδέκτη της Ενημέρωση των Routing Tables Η ενημέρωση του Routing Table ενός Peer, γίνεται όταν επικοινωνήσει ο ίδιος με κάποιον άλλο Peer του συστήματος, είτε τυχαία στα πλαίσια προώθησης μιας αίτησης, είτε εσκεμμένα στο πλαίσιο κατασκευής του συστήματος. Στο στάδιο αυτό ενεργοποιείται η διαδικασία με το όνομα Exchange ο οποία είναι υπεύθυνη αφενός για την κατασκευή του Binary Trie (μέσω splitting των ήδη υπαρχόντων κόμβων) αφετέρου, για την ανταλλαγή πληροφορίας ανάμεσα στα Routing Tables των κόμβων που παίρνουν μέρος στην ανταλλαγή. Ας δούμε όμως πιο αναλυτικά πως δουλεύει ο αλγόριθμος Exchange. 2.3 Αλγόριθμος Exchange Ο αλγόριθμος Exchange βρίσκεται στον "πυρήνα" λειτουργίας του συστήματος P-Grid. Στον αλγόριθμο αυτό στηρίζει την οργάνωση των peers σε ένα κανονικό (prefix free) Trie καθώς και την κατασκευή των πινάκων δρομολόγησης. Παρακάτω παρουσιάζεται ο αρχικός κώδικας, για τον αλγόριθμο, όπως παρουσιάζεται στο [4] σελ.

12 Η συνάρτηση Exchange καλείται κάθε φορά που συναντιούνται δύο Peers. Στο σημείο αυτό δεν μας ενδιαφέρει για ποιο λόγο μπορεί να συναντηθούν. Η συνάρτηση Exchange αναγκάζει τα δύο φύλλα να ανταλλάξουν τις εξερχόμενες διευθύνσεις με τυχαίο τρόπο και να ανανεώσουν αντίστοιχα τους πίνακες δρομολόγησης τους. Με αυτό το τρόπο οι δύο Peers για τους οποίους καλείται η συνάρτηση Exchange, μαθαίνουν και ενημερώνονται για νέους Peers που ενδεχομένως έχουν εισέλθει στο σύστημα σε υποδέντρα προς τα οποία διατηρούν ήδη πληροφορία στο Routing Table τους. Πιο αναλυτικά, εξετάζουμε την λειτουργία του αλγορίθμου με ένα παράδειγμα. Έστω ότι οι δύο Peers για τους οποίους καλείται η συνάρτηση Exchange, είναι οι PeerA: και PeerΒ:. Αρχικά ο αλγόριθμος ελέγχει αν οι δύο κόμβοι έχουν κοινό πρόθεμα στο ID τους.στο παράδειγμά μας το κοινό πρόθεμα είναι το. (Θα χρησιμοποιήσουμε την τελεία (.) για να διαχωρίσουμε το κοινό τους πρόθεμα από το υπόλοιπο μέρος του pathid τους. ) Για κάθε ένα από τα υποδέντρα του κοινού προθέματος για τα οποία πρέπει να κρατούν εξερχόμενες διευθύνσεις, (δηλαδή για τα *, *, *, *) ανταλλάσσονται διευθύνσεις γι' αυτά ακριβώς τα υποδέντρα. Η επιλογή γίνεται με τυχαίο τρόπο, ως εξής :από το σύνολο των διευθύνσεων για ένα υποδέντρο που είναι γνωστοί σε έναν ή και στους δύο Peers, διαλέγονται ακριβώς RefΜax αναφορές ξεχωριστά από την μεριά του καθενός από τους δύο Peers, ώστε να "αντιπροσωπεύσουν" το συγκεκριμένο υποδέντρο. Αν η ένωση των δύο συνόλων έχει μικρότερο από refμax αριθμό διευθύνσεων τότε επιλέγονται όλες. Ενδεχομένως κάποιοι από τους κόμβους οι οποίοι τελικά επιλέγονται για ένα υποδέντρο, να είναι οι ίδιοι που υπήρχαν στα Routing Tables και πριν την διαδικασίας της ανταλλαγής. Γενικά είναι επιθυμητό η διαδικασία επιλογής των διευθύνσεων των κόμβων για κάποιο υποδέντρο να καταλήγει στην ομοιόμορφη κατανομή τους στα Routing Tables.Δηλαδή η πιθανότητα εμφάνισης καθενός από τους "υποψηφίους" κόμβους για κάποια θέση του Routing Table ενός Peer, να είναι ίδια, και να μην εξαρτάται από την δομή του trie. Κάτι τέτοιο δεν ισχύει με τον "κλασσικό" αλγόριθμο του P-Grid και είναι ακριβώς αυτό το σημείο στο οποίο εστιάζεται η παρούσα εργασία. Στην συνέχεια για τα επόμενα υποδέντρα του διαφορετικού pathid των δύο Peers, δηλαδή για τον πρώτο, το υποδέντρο.* και για τον δεύτερο το υποδέντρο.*, επιλέγουμε τυχαία RefMax από τα references που βρίσκονται στο Routing Table του άλλου Peer, και που ανήκουν στο συγκεκριμένο υποδέντρο. Δηλαδή για το υποδέντρο.* του κόμβου θα επιλεγούν τυχαία RefMax referneces από αυτά που γνωρίζει ο PeerΒ για τα υποδέντρα.*,.*,.*,..το τελευταίο υποψήφιο δέντρο περιέχει μόνο τον κόμβο με τον οποίο γίνεται το exchange. Ομοίως για τον κόμβο και για το επίπεδο (υποδέντρο).* θα επιλεγούν RefMax από τα references που κρατά ο PeerA για τα υποδέντρα.*,.*,.*,.. σελ.2

13 Στο παρακάτω σχήμα βλέπουμε σχηματικά την διαδικασία ενημέρωσής των Routing Tables των κόμβων PeerA: και PeerB: Routing Table of PeerA * * * * * Exchange Random Exchange Random Exchange Random Exchange Random End of Common subtrees Routing Table of PeerB * * * * * * * * Choose Random of.. * * Choose Random of.. * +Peer A +Peer B Εικόνα : Exchanging Function σελ.3

14 2.3. Παράδειγμα Λειτουργίας του Αλγορίθμου Exchange 4 Το διπλανό Trie αποτελείται από 8 κόμβους Θα παρουσιάσουμε αναλυτικά την πορεία κατασκευής των Routing Tables του βήμα προς βήμα.στο σύστημα έχουμε επιλέξει RefMax=2, δηλαδή επιτρέπονται το πολύ δύο εγγραφές για κάθε επίπεδο του Routing Table σε κάθε Peer Στους πίνακες που ακολουθούν καταγράφονται όλα τα references που υπάρχουν σε όλα τα Routing Tables όλων των κόμβων, ως εξής: Οι οριζόντιες γραμμές αντιστοιχούν στους κόμβους που υπάρχουν στο Routing Tables του εξεταζόμενου κόμβου. Οι στήλες αντιστοιχούν στους κόμβους οι οποίοι έχουν αποθηκευμένο κάποιο δείκτη, στον εξεταζόμενο κόμβο. Παρακάτω παρουσιάζονται τα 8 πρώτα βήματα εκτέλεσης του αλγορίθμου και οι αντίστοιχες αλλαγές στα Routing Tables όλων των Peers. INITIAL STATE Nodes/ Nodes SUM EXCHANGE NODES 2,3 Nodes/ Nodes SUM σελ.4

15 Αρχικά έχουμε Exchange ανάμεσα στους Peers 2 ("") και 3 (""). Το κοινό τους πρόθεμα είναι το "" το οποίο αντιστοιχεί στα δύο πρώτα επίπεδα των Πινάκων Δρομολόγησης. Η διαδικασία ανταλλαγής references, απαιτεί για καθένα από τα δύο πρώτα αυτά επίπεδα οι δύο Peers να σχηματίσουν την ένωση των αναφορών που έχουν καταχωρημένες και οι δύο, και στην συνέχεια, να επιλέξει ο καθένας ανεξάρτητα από τον άλλο, RefMax αναφορές για κάθε υποδέντρο. Στο παράδειγμά μας λοιπόν θα έχουμε:. Για το υποδέντρο του πρώτου επιπέδου, ( πρόθεμα ""), οι Peers 2 και 3 θα επιλέξουν δύο αναφορές (RefMax) από τις συνολικά τρείς αποθηκευμένες στο Routing Table και των δύο. Συγκεκριμένα έχουν να επιλέξουν ανάμεσα στις διευθύνσεις των Peers {5,6,7}. Όπως βλέπουμε στον 2ο πίνακα, ο Peer 2, επέλεξε τους {5,6} ενώ ο Peer 3 τους {5,7} Θα πρέπει να τονιστεί ότι οι επιλογές γίνονται ανεξάρτητα από τις αναφορές που είναι ήδη καταχωρημένες. Βλέπουμε για παράδειγμα ότι ενώ αρχικά ο Peer 2 είχε αποθηκευμένη την διεύθυνση του Peer 7 ("") μετά το Exchange με τον Peer, η καταχώρηση αυτή σβήνεται και στην θέση της έχουμε μια καινούρια καταχώρηση, αυτή του Peer 5 (""). Ομοίως και με τον Peer 3, ενώ αρχικά είχε την διεύθυνση του Peer 6 (""), μετά το Exchange με τον Peer 2, σβήνεται, και στην θέση της αποθηκεύεται η διεύθυνση του Peer 7 (""), όπως φαίνεται και στον δεύτερο πίνακα. 2. Για το δεύτερο επίπεδο (υποδέντρο "") παρατηρούμε ότι το μέγεθος του υποδέντρου είναι, μικρότερο από RefMax. αφού μόνο ο Peer βρίσκεται σ' αυτό. Eπομένως θα πρέπει υποχρεωτικά να επιλεγεί ξανά η διεύθυνση του Peer για να αντιπροσωπεύσει το συγκεκριμένο υποδέντρο και για τους δύο Peers. 3. Το 3ο επίπεδο (υποδέντρο "" για τον Peer2 και "" για τον Peer 3), αντιστοιχεί στο bit στο οποίο διαφέρουν τα path IDs των δύο Peers.Εφόσον δεν υπάρχουν υποδέντρα πέραν του Common Prefix + και για τους δύο Peers, θα εξακολουθήσουν και οι δύο να κρατούν καταχωρημένη ο ένας την διεύθυνση του άλλου για το συγκεκριμένο επίπεδο. Γενικά η πιθανότητα επιλογής ενός συγκεκριμένου κόμβου για κάποιο επίπεδο i, κατά το στάδιο S RefMax ανταλλαγής των references στον αλγόριθμο Exchange, είναι : P= S RefMax = RefMax, S όπου με S συμβολίζουμε το πλήθος των διευθύνσεων απ 'τις οποίες γίνεται η επιλογή για ένα συγκεκριμένο υποδέντρο.( S= ). Στο συγκεκριμένο παράδειγμα, η πιθανότητα επιλογής για refs i το πρώτο επίπεδο ενός από τους υποψήφιους συνδέσμους, είναι P = 2 ενώ για το δεύτερο και 3 τρίτο επίπεδο είναι P 2 =P 3 =. Ακολουθούν τα παραδείγματα από έξι ακόμα Exchanges ανάμεσα σε τυχαία επιλεγμένους Peers. σελ.5

16 (Όλες οι αλλαγές που γίνονται στα Routing Tables σε κάθε Exchange έχουν κυκλωθεί ώστε να διευκολυνθεί ο εντοπισμός τους. ) EXCHANGE NODES,4 Nodes/ Nodes SUM EXCHANGE NODES 4,3 Nodes/ Nodes SUM EXCHANGE NODES 8,4 Nodes/ Nodes SUM EXCHANGE NODES,2 Nodes/ Nodes SUM EXCHANGE NODES,7 Nodes/ Nodes SUM EXCHANGE NODES,8 Nodes/ Nodes SUM σελ.6

17 3. ΠΡΟΣΟΜΟΙΩΣΗ 3. περιγραφή Το αντικείμενό μας σε πρώτη φάση ήταν να προσομοιώσουμε την κατασκευή και λειτουργία ενός δικτύου P-Grid, εστιάζοντας περισσότερο στην κατασκευή και ενημέρωση των πινάκων δρομολόγησης των Peers, όταν αυτοί συμμετέχουν σε κάποιο exchange. Υπενθυμίζουμε ότι οι Πίνακες Δρομολόγησης (Routing Tables) είναι τοπικοί πίνακες -κατάλογοι στους οποίους κάθε Peer αποθηκεύει τις διευθύνσεις κάποιων από τους Peers υπεύθυνων για τα υπόλοιπα υποδέντρα του trie. Με την βοήθεια της πληροφορίας που βρίσκεται στα Routing Tables, κάθε Peer είναι σε θέση να προωθεί αιτήσεις αναζήτησης δεδομένων προς τους σωστούς κόμβους, όταν δεν μπορεί να τις εξυπηρετήσει ο ίδιος, Οι προσομοιώσεις έγιναν για διάφορες τιμές των παραμέτρων που αφορούν το συνολικό πλήθος των κόμβων του συστήματος (Ν), το μέγιστο αριθμό από references σε κάθε επίπεδο του Routing Table (RefMax) καθώς και την δομή του αντίστοιχου trie (Balancing). Η κύρια μεταβλητή ενδιαφέροντος ήταν η κατανομή των διευθύνσεων των Peers στους πίνακες δρομολόγησης, και ιδιαίτερα όταν οι διευθύνσεις αυτές αναφέρονται σε Peers που ανήκουν σε μη ζυγισμένα υποδέντρα του trie. Για να εξάγουμε την πληροφορία αυτή στο στάδιο της προσομοίωσης, ελέγχαμε και καταγράφαμε για όλα τα επίπεδα του Πίνακα Δρομολόγησης ενός Peer, και για όλες τις πιθανές διευθύνσεις για το συγκεκριμένο επίπεδο, το ποσοστό των exchanges στα οποία εμφανιζόταν η συγκεκριμένη διεύθυνση στο Routing Table. Με βάση τις τιμές αυτές μπορέσαμε να βγάλουμε στατιστικά συμπεράσματα για την κατανομή των διευθύνσεων, και πιο συγκεκριμένα να βρούμε την μέση τιμή και διασπορά του αριθμού εμφάνισης κάθεμιάς από τις υποψήφιες διευθύνσεις ως προς τον συνολικό αριθμό από exchanges στα οποία συμμετείχε ο Peer. Με βάση την πληροφορία αυτή μπορέσαμε να εξάγουμε τις τιμές του fairness για κάθε Peer. Το fairness (Jain's Fairness Index [9]) είναι ένα στατιστικό μέγεθος στο εύρος [ ] το οποίο μας δείχνει πόσο balanced είναι τα υπό εξέταση δεδομένα. Ο ορισμός της είναι : f = μ2, όπου μ 2 σ 2 μ: μέση τιμή του δείγματος, και σ: η τυπική απόκλιση του δείγματος. Όσο περισσότερο πλησιάζει η τιμή του fairness την μονάδα ( f ) τόσο πιο ομοιόμορφη είναι η κατανομή του προς εξέταση δείγματος αφού στην οριακή αυτή περίπτωση, η τυπική απόκλιση είναι ίση με το μηδέν. Αντιθέτως καθώς f σημαίνει ότι αντίστοιχα η τιμή της τυπική απόκλισης είναι μεγάλη και άρα η κατανομή παύει να είναι ομοιόμορφη. Αν για παράδειγμα σε κάποιο επίπεδο του Routing Table ενός Peer Α, υπάρχουν K δυνατές καταχωρίσεις διευθύνσεων, και η καθεμία εμφανίζεται συνολικά n i φορές, στον συνολικό αριθμό των exchanges που έχει πραγματοποιήσει ο Α, (συμπεριλαμβανομένων και των περιπτώσεων εκείνων όπου οι διευθύνσεις υπήρχαν ήδη στο Routing Table), τότε f A = μ2 μ 2 σ 2 = E [n i ] 2 E [n i ] 2 E [n 2 i ] E [n i ] = E [n i ] 2 2 = K n K i = E [n 2 K i i ] K i= n i 2 2 σελ.7

18 3.2 Αποτελέσματα Στα παρακάτω διαγράμματα φαίνονται τα αποτελέσματα της προσομοίωσης, όσον αφορά την κατανομή του fairness. Όπως μπορούμε να παρατηρήσουμε, ενώ για την περίπτωση των Balanced δέντρων, η τιμές του fairness προσεγγίζουν την μονάδα, και επομένως η κατανομή των διευθύνσεων στα Routing Tables είναι ομοιόμορφη (και άρα ο αλγόριθμος Exchange δουλεύει καλά) όταν περνάμε στην περίπτωση τυχαίων δέντρων εμφανίζονται αποκλίσεις από την τιμή της μονάδας για την τιμή του fairness και μάλιστα οι αποκλίσεις αυτές γίνονται πολύ έντονες, όταν το αντίστοιχο trie εκφυλίζεται σε λίστα.. Περίπτωση Balanced Trie Παρακάτω φαίνονται μερικές από τιμές του Fairness, καθώς και το αντίστοιχο ιστόγραμμα των τιμών αυτών για τρεις τιμές του RefMax. Το Simulation έγινε για Balanced Tries κόμβων και για N 2 = αριθμό βημάτων (Exchanges). Η κατασκευή των ιστογραμμάτων έγινε ώς εξής:στον άξονα -Χ έχουμε χωρίσει το διάστημα [ ] σε υποδιαστήματα εύρους Δx=..Για καθένα από αυτά τα υποδιαστήματα μετρήσαμε το πλήθος των τιμών fairness που ανήκουν σ' αυτό, και η τιμή που βρέθηκε κανονικοποιήθηκε στον συνολικό αριθμό των τιμών του fairness. Είναι εμφανές ότι στην περίπτωση που έχουμε Balanced Trie, ο αλγόριθμος του P-Grid δουλεύει ικανοποιητικά μιάς και όλες οι τιμές του Fairness είναι συγκεντρωμένες στο διάστημα.98 έως..,6,5,4,3,2,, Fairness Distribution (RefMax=5) xe-2 Ενδεικτικές Τιμες του Fairness NodeID: NodeID: NodeID: NodeID: NodeID: Fairness Distribution (RefMax=3),2,,8,6,4,2,,45,4,35,3,25,2,5,,5, Fairness Distribution (RefMax=) σελ.8

19 2 Περίπτωση Random Trie Παρακάτω φαίνονται οι τιμές του Fairness, για τυχαίο Trie, κόμβων, για refmax = 5,3, Χρησιμοποιήθηκαν Τυχαία Tries μεγέθους κόμβων, και στο καθένα από αυτό δοκιμάστηκε ο αλγόριθμος για N 2 = αριθμό βημάτων Στην συνέχεια πήραμε την μέση τιμή από τα αυτά αποτελέσματα για να εξάγουμε το ιστόγραμμα των τιμών του Fairness. Παρατηρούμε ότι οι τιμές του Fairness είναι συγκεντρωμένες στο διάστημα.9 έως. και υπάρχει μια διακύμανση των τιμών αυτών, η οποία δεν υπήρχε στην περίπτωση του Balanced Trie. 6,E-4 5,E-4 4,E-4 3,E-4 2,E-4,E-4 Fairness Distribution (RefMax=5) Ενδεικτικές Τιμες του Fairness NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: ,E xe-2 Fairness Distribution (RefMax=3) 4,E-3 3,5E-3 3,E-3 2,5E-3 2,E-3,5E-3,E-3 5,E-4,E xe-2 Fairness Distribution (RefMax=) 4,E-3 3,5E-3 3,E-3 2,5E-3 2,E-3,5E-3,E-3 5,E-4,E xe-2 σελ.9

20 3 Περίπτωση Unbalanced Trie Παρακάτω φαίνονται οι τιμές του Fairness, για Unbalanced Trie, 28 κόμβων, για τιμές του refmax 5,3 και,και αριθμό βημάτων N 2 =6384.Στον άξονα -Χ έχουμε χωρίσει το διάστημα [ ] σε υποδιαστήματα εύρους Δx=..Για καθένα από αυτά τα υποδιαστήματα μετρήσαμε το πλήθος των τιμών fairness που ανήκουν σ'αυτό. Έχουμε βρει δηλ το ιστόγραμμα των τιμών του fairness. Παρατηρούμε ότι υπάρχει έντονη διακύμανση των τιμών του fairness, και οι μεγαλύτερες τιμές του βρίσκονται στην περιοχή.4 έως.6.στην περίπτωση αυτή λοιπόν ο αλγόριθμος Exchange έχει την χειρότερη επίδοση όσον αφορά την κατανομή των διευθύνσεων στα Routing Tables. Fairness Distribution (RefMax=5),4E-3,2E-3,E-3 8,E-4 6,E-4 4,E-4 2,E-4,E x E-2 Ενδεικτικές Τιμες του Fairness NodeID:, NodeID:2,, NodeID:3,,, NodeID:4,,,, NodeID:5,,,,, NodeID:6,,,,,, NodeID:7,,,,,,, NodeID:8,,,,,,,, NodeID:9,,,,,,,,, NodeID:,,,,,,,,,, Fairness Distribution (RefMax=3) 4,5E-4 4,E-4 3,5E-4 3,E-4 2,5E-4 2,E-4,5E-4,E-4 5,E-5,E xe-2 Fairness Distribution (RefMax=) 3,5E-4 3,E-4 2,5E-4 2,E-4,5E-4,E-4 5,E-5,E xe-2 σελ.2

21 3.3 Μια Πρώτη Ερμηνεία των Αποτελεσμάτων Στην Unbalanced δομή του Trie έχουμε μεγάλες αποκλίσεις από την μονάδα για τις τιμές του Fairness. Για να εξηγήσουμε γιατί συμβαίνει αυτό παίρνουμε ως παράδειγμα το παρακάτω εκφυλισμένο Trie Nodes/ ROUTING TABLE REFERENCES Nodes SUM: Εικόνα 3: Reference Table Εικόνα 2: Unbalanced Trie Στο δεξιό σχήμα έχουμε το In-Degree για κάθε κόμβο: οι οριζόντιες γραμμές δείχνουν τις διευθύνσεις των κόμβων που κρατά ο αναφερόμενος κόμβος στο Πίνακα δρομολόγησης του, ενώ σε κάθε στήλη έχουμε τους κόμβους που κρατούν στο Routing Table τους τον αναφερόμενο κόμβο. Έτσι βλέπουμε για παράδειγμα ότι ο αριθμός των κόμβων που έχουν αποθηκεύσει την διεύθυνση του κόμβου είναι 7, του κόμβου 2 είναι 6, κτλ. Παρατηρούμε ότι οι κόμβοι στα ανώτερα επίπεδα του δέντρου, βρίσκονται υποχρεωτικά στα Routing Tables όλων των υπερκείμενων κόμβων τους, για παράδειγμα ο κόμβος (ID:'') βρίσκεται υποχρεωτικά σε όλους τους υπόλοιπους κόμβους, αφού είναι ο μοναδικός κόμβος στο υποδέντρο με πρόθεμα "", και επομένως πρέπει να συμπεριληφθεί σε όλα τα Routing Tables ώστε να μπορούν όλοι οι κόμβοι κάτω από αυτόν, να δεικτοδοτήσουν το συγκεκριμένο κομμάτι του δικτύου. Ομοίως παρατηρούμε ότι ο κόμβος 2 βρίσκεται υποχρεωτικά στα Routing Tables των κόμβων 3,4,5,6,7,8. Απ' την άλλη μεριά ο κόμβος 7 θα πρέπει να βρίσκεται υποχρεωτικά μόνο στο Routing Table του κόμβου 8, αφού δεν υπάρχουν άλλοι υπερκείμενοι κόμβοι σε αυτόν. Τα παραπάνω πρακτικά σημαίνουν ότι η συχνότητα εμφάνισης για παράδειγμα του 2 στα exchanges θα είναι αναγκαστικά μεγαλύτερη απ' ότι του 7 επομένως αυξάνει και η πιθανότητα για τον κόμβο 2 να επιλεγεί και να βρίσκεται σε κάποιο Routing Table κόμβων μεγαλύτερων επιπέδων (π.χ. του ). Επομένως υπάρχει μεγάλη ανομοιομορφία όσον αφορά τις πιθανότητες εμφάνισης των Peers στα Routing Tables (άρα και χαμηλή τιμή του Fairness) και μάλιστα η ανομοιομορφία αυτή γίνεται μεγαλύτερη όσο ανεβαίνουμε επίπεδο στο δέντρο αφού αντίστοιχα θα αυξάνει και η διαφορά ανάμεσα στις πιθανότητες προτίμησης των κόμβων στα υψηλότερα επίπεδα έναντι των κόμβων σελ.2

22 που βρίσκονται στα χαμηλότερα. Στα παρακάτω παραδείγματα παρουσιάζουμε αναλυτικά τις πιθανότητες επιλογής των διευθύνσεων, στα Routing Tables, για μεμονωμένες περιπτώσεις μικρών δικτύων, ώστε να φανεί καλύτερα το πρόβλημα λειτουργίας του αλγορίθμου Exchange. 3.4 Απόδειξη για RefMax=. Παρακάτω παρουσιάζεται η απόδειξη για την μη ομοιόμορφη επιλογή των References στα Routing Tables, κατά την λειτουργία του "κλασσικού" αλγόριθμου P-Grid, για μεμονωμένες περιπτώσεις δικτύων Συγκεκριμένα εξετάζονται οι απλές περιπτώσεις με RefMax= και μέγεθος Trie N=3,4 Όλες οι περιπτώσεις αφορούν Unbalanced δέντρα. Συμβολισμοί : ' Συμβολίζουμε με P k n την πιθανότητα στο επόμενο βήμα (exchange) που θα κάνει ο Peer -k, να καταχωρίσει στο Routing Table του την διεύθυνση του Peer -n.δηλαδή ο (n) είναι ένας από τους "υποψήφιους" κόμβους για κάποιο υποδέντρο του (k) και στόχος μας είναι να εξάγουμε την πιθανότητα επιλογής του, έναντι των υπολοίπων "υποψήφιων" για το ίδιο υποδέντρο. α) Περίπτωση Ν=3, RefMax=, Unbalanced Trie (τετριμμένη περίπτωση) Στην απλή περίπτωση που έχουμε μόνο τρείς κόμβους, και RefMax=, προφανώς θα ισχύει : P ' 2 =P ' 3 = αφού σε κάθε exchange που κάνει ο Peer, με τους 2, 3 2 έχει να επιλέξει από το σύνολο {,2}. Άλλωστε οι Peers 2 και 3 είναι συμμετρικοί και ότι ισχύει για τον έναν ισχύει και για τον άλλο, οπότε P ' 2 =P ' 3 β) Περίπτωση Ν=4, RefMax=, Unbalanced Trie Για τον Peer 2, θα ισχύει το αποτέλεσμα που βρήκαμε στην προηγούμενη περίπτωση με Ν=3, δηλαδή P 2 ' 3 =P 2 ' 4 = 2, αφού θεωρούμε ότι δεν "μαθαίνει" τίποτα παραπάνω για το υποδέντρο του "*" από τον Peer-. Για τον Peer, πρέπει να βρούμε τα $. $2πειδή όμως P ' 3 =P ' 4 (λόγω συμμετρίας) αρκεί να βρούμε το P ' 4 οπότε θα ισχύει P ' 2 = 2 P ' 4 σελ.22

23 . Εύρεση P ' 4 Για τον Peer υπάρχουν τρείς επιλογές για exchanges: i) exchange (,3), σύνολο επιλογής {3,4,2} P ' 4 = P ' 3 = 3 ii)exchange (,4), σύνολο επιλογής {3,4,2} P ' 4 = P ' 3 = 3 ii)exchange (,2) παίρνουμε όλους τους δυνατούς συνδυασμούς.. P ' 4 =P 2 P P 4 P P 4 P P 3 P σύνολα επιλογής για κάθε όρο είναι τα {4,2}, {4,3,2}, {4,2}, {3,4,2} αφού τα αντίστοιχα Αν στην παραπάνω εξίσωση αντικαταστήσουμε : P 3 =P 4 (λόγω συμμετρίας ), P 2 = 2 P 4 P 2 3 =P 2 4 = 2 θα έχουμε τελικά ότι P ' 4 = 4 2 P 4. Επειδή όλα τα Exchanges θεωρούμε ότι είναι τυχαία και γίνονται με την ίδια πιθανότητα, /3, θα έχουμε τελικά.. P ' 4 = P 4 P ' 4 = 36 P 4 36 (αναδρομική εξίσωση) Για να λύσουμε την αναδρομή, θεωρώ ότι για t= όλες οι επιλογές είναι ισοπίθανες, δηλαδή P 4 / t = =P 3 / t= = P 2 / t = = 3 Επίλυση Αναδρομής έστω f n = f n, f = 3, f n = f = n f =...= n 2 k 36 i = 36 i 36 k f n k η αναδρομή τερματίζει όταν n k= n=k, οπότε f n = n 36 i= 36 n i 36 n f,και επειδή i= 36 = 36n i n, f = 3,θα έχουμε τελικά.. σελ.23

24 f n = n. Άρα λοιπόν βρήκαμε ότι P ' 4 =P ' 3 = n, επομένως μετά από μεγάλο αριθμό βημάτων, n, θα έχουμε : P 4 =P 3 = 35.και P 2 = 2 P 4 = 3 35 (οριακές πιθανότητες) Παρατηρούμε ότι P 4 P 3 P 2 = όπως άλλωστε αναμενόταν ως άθροισμα όλων των πιθανοτήτων για την επιλογή στο Routing Table του Peer. 3.5 Απόδειξη για RefMax=2. Στην συνέχεια παρουσιάζονται περιπτώσεις Unbalanced δικτύων P-Grid, όπου RefMax=2.Θα αποδείξουμε ότι για τις μεμονωμένες αυτές περιπτώσεις ο αλγόριθμος Exchange δεν επιλέγει με ομοιόμορφο τρόπο τις καταχωρήσεις στα Routing Tables Συγκεκριμένα εξετάζονται οι απλές περιπτώσεις με μέγεθος Trie N=3,4,5 α) Περίπτωση Ν=3, RefMax=2, Unbalanced Trie (τετριμμένη περίπτωση) Στην απλή περίπτωση που έχουμε μόνο τρείς κόμβους, και RefMax=2, 2 3 προφανώς θα ισχύει : P ' 2 =P ' 3 = αφού σε κάθε exchange που κάνει ο Peer, με τους 2, 3 πρέπει να επιλέξει και τις δύο αναφορές από το σύνολο {,2}. β) Περίπτωση Ν=4, RefMax=2, Unbalanced Trie Για τον Peer 2, θα ισχύει το αποτέλεσμα που βρήκαμε στην προηγούμενη περίπτωση με Ν=3, δηλαδή P ' 2 3 =P ' 2 4 = Για τον Peer, αρχικά θα βρούμε τα: P 2,3, P 3,4, P 2,4 Μπορούμε στην συνέχεια να βρούμε τις μεμονωμένες πιθανότητες ώς εξής: P 4 =P 3,4 P 2,4 Παρατηρούμε ότι για όλα τα Exchanges που κάνει ο Peer, το σύνολο των διευθύνσεων που σχηματίζεται είναι το {2,3,4}, επομένως σε κάθε μεμονωμένο Exchange θα ισχύει: P ' 2,3 =P ' 2,4 =P ' 3,4 = 3. Επειδή όμως όλα τα Exchanges πραγματοποιούνται με την ίδια πιθανότητα, /3, θα έχουμε τελικά σελ.24

25 ότι P ' 2,3 = P ' 2,4 =P ' 3,4 = 3 3 3= 3.Επομένως για τις πιθανότητες μεμονωμένων κόμβων θα έχουμε : P 4 =P 3,4 P 2,4 = 3 3 = 2 3, P 3 =P 3,4 P 2,3 = 3 3 = 2 3 και τέλος P 2 =P 3,2 P 2,4 = 3 3 = 2 3. γ) Περίπτωση Ν=5, RefMax=2, Unbalanced Trie Για τον Peer 2, θα ισχύει το αποτέλεσμα που βρήκαμε στην προηγούμενη περίπτωση με Ν=4, δηλαδή P 2 3,4 =P 2 3,5 =P 2 4,5 = 3 Για τον Peer 3, θα ισχύει το αποτέλεσμα που βρήκαμε στην περίπτωση με Ν=3, δηλαδή P 3 4 =P 3 5 = Πρέπει στην συνέχεια να βρούμε τις πιθανότητες P ' 2,3, P ' 2,4, P ' 2,5, P ' 3,5, P ' 3,4, P ' 4,5.Για να συμπεριλάβουμε όλες τις περιπτώσεις, φτιάχνουμε πίνακα με όλους τους δυνατούς συνδυασμούς ζευγαριών Peers που μπορούν να συμμετέχουν στα Exchanges. Για τον Peer υπάρχουν τέσσερις επιλογές για exchanges: i) exchange (,3), σύνολο επιλογής {2,3,4,5}.Επομένως για αυτήν την περίπτωση Exchange,θα έχουμε: P ' 2,3 =P ' 2,4 =P ' 2,5 =P ' 3,4 = P ' 3,5 =P ' 4,5 = 6 ii) exchange (,4), σύνολο επιλογής {2,3,4,5}.Ομοίως με την περίπτωση i), θα έχουμε P ' 2,3 =P ' 2,4 =P ' 2,5 =P ' 3,4 = P ' 3,5 =P ' 4,5 = 6 iii) exchange (,5), σύνολο επιλογής {2,3,4,5}.Ομοίως με τις περιπτώσεις i) και ii), θα έχουμε P ' 2,3 =P ' 2,4 =P ' 2,5 =P ' 3,4 = P ' 3,5 =P ' 4,5 = 6 iv) exchange (,2) Στον παρακάτω πίνακα φαίνονται όλα τα δυνατά σύνολα επιλογής Peer 2 / Peer {3,4} {3,5} {4,5} {2,3} {2,3,4} {2,3,5} {2,3,4,5} {2,4} {2,3,4} {2,3,4,5} {2,4,5} {2,5} {2,3,4,5} {2,3,5} {2,4,5} {3,4} {3,4}+{2} {3,4,5}+{2} {3,4,5}+{2} {3,5} {3,4,5}+{2} {3,5}+{2} {3,4,5}+{2} {4,5} {3,4,5}+{2} {3,4,5}+{2} {4,5}+{2} σελ.25

26 γνωρίζοντας ότι P 2 3,4 =P 2 3,5 =P 2 4,5 = 3,θα έχουμε: P ' 2,3 = 5 8 P 2,3 6 P 2,4 6 P 2,5 2 9 P 3,4 2 9 P 3,5 9 P 4,5 P ' 2,4 = 6 P 2,3 5 8 P 2,4 6 P 2,5 2 9 P 3,4 9 P 3,5 2 9 P 4,5 P ' 2,5 =P ' 2,4 (λόγω συμμετρίας) P ' 3,4 = 6 P 2,3 6 P 2,4 8 P 2,5 2 9 P 3,4 9 P 3,5 9 P 4,5 P ' 3,5 =P ' 3,4 (λόγω συμμετρίας) P ' 4,5 = 8 P 2,3 6 P 2,4 6 P 2,5 9 P 3,4 9 P 3,5 2 9 P 4,5 Επειδή όλα τα Exchanges θεωρούμε ότι είναι ισοδύναμα με πιθανότητα /4, θα έχουμε τελικά P ' 2,3 = P 2,3 6 P 2,4 6 P 2,5 2 9 P 3,4 2 9 P 3,5 9 P 4,5 P ' 2,4 = P 2,3 5 8 P 2,4 6 P 2,5 2 9 P 3,4 9 P 3,5 2 9 P 4,5 P ' 3,4 = P 2,3 6 P 2,4 8 P 2,5 2 9 P 3,4 9 P 3,5 9 P 4,5 P ' 4,5 = P 2,3 6 P 2,4 6 P 2,5 9 P 3,4 9 P 3,5 2 9 P 4,5 P ' 3,5 =P ' 3,4 (λόγω συμμετρίας) P ' 2,5 =P ' 2,4 (λόγω συμμετρίας) Στην συνέχεια για να μετασχηματίσουμε το σύστημα των αναδρομικών εξισώσεων,σε αλγεβρικό σύστημα, χρησιμοποιούμε την μέθοδο του Μετασχηματισμού Ζ. Ισχύει ότι F z = f n z n,όπου το z είναι μιγαδική μεταβλητή στο διάστημα z. n = Ισχύουν οι ακόλουθες ιδιότητες του Μετασχηματισμού : αν f n F z τότε : F z f f n,και z z. Επίσης μπορούμε να χρησιμοποιήσουμε το Θεώρημα Τελικής Τιμής: lim z να αποφύγουμε την εύρεση του αντίστροφου μετασχηματισμού. Με βάση τα παραπάνω, παίρνουμε τελικά: P 2,3 =P 2,4 =P 2,5 = 37 23,και P 3,4 =P 3,5 =P 4,5 = Οι πιθανότητες για μεμονωμένους κόμβους βρίσκονται εύκολα ως εξής: z F z = f,ώστε P 5 =P 2,5 P 4,5 P 3,5 = 35 7, P 4 =P 5 = 35 7,(λόγω συμμετρίας) σελ.26

27 ενώ P 2 =P 2,5 P 2,4 P 2,3 = 37 7, P 3 =P 2,3 P 3,4 P 3,5 = Συμπεράσματα Αποδείξαμε λοιπόν ότι στις παραπάνω μεμονωμένες περιπτώσεις που έχουμε εκφυλισμένο Trie, με RefMax = και 2, ο αλγόριθμος του P-Grid δεν επιλέγει "ισοδίκαια" τα References (εκτός από τις τετριμμένες περιπτώσεις). Στην περίπτωση για παράδειγμα που είχαμε Ν=4 και RefMax=, βρήκαμε ότι η πιθανότητα επιλογής των δύο τελευταίων κόμβων (3,4) από τον πρώτο (Peer ), είναι ίση με /35 σε αντίθεση με την επιλογή του κόμβου 2, η οποία γίνεται με πιθανότητα 3/35. Ομοίως όταν έχουμε RefMax=2 και Ν=5, οι Peers {3,4,5} έχουν πιθανότητα επιλογής 35/7 από τον Peer, ενώ ο Peer {2} έχει πιθανότητα επιλογής ίση με 37/7. Φυσικά με εντελώς ανάλογη διαδικασία μπορούμε να αποδείξουμε ότι ο αλγόριθμος Exchange παρουσιάζει το πρόβλημα της μη-δίκαιης επιλογής των διευθύνσεων στα Routing Tables όταν το Trie είναι Unbalanced, για οποιαδήποτε τιμή μεγέθους δικτύου καθώς και RefMax. σελ.27

28 4. ΜΕΘΟΔΟΣ ΚΑΤΑΝΟΜΗΣ ΒΑΡΩΝ Η μέθοδος που αναπτύξαμε και δοκιμάσαμε, για την αντιμετώπιση του προβλήματος της δίκαιης κατανομής των Διευθύνσεων στους Πίνακες Δρομολόγησης, στηρίζεται στην απόδοση βαρών σε καθέναν από τους υποψήφιους Peers για την κάλυψη κάποιας θέσης του Routing Table Ο αλγόριθμος αυτός επαναλαμβάνεται κάθε φορά που εκτελείτε κάποιο Exchange ανάμεσα σε δύο τυχαίους Peers. Συγκεκριμένα η διαδικασία που ακολουθείται για την ανταλλαγή των διευθύνσεων ανάμεσα σε δύο τυχαίους Peers, έστω Α και Β, είναι ή παρακάτω:. Αρχικά οι δύο Peers βρίσκουν το κοινό πρόθεμα στο PathID τους. (Το αναφέρουμε ώς Common Prefix) 2. Για όλα τα υποδέντρα που αντιστοιχούν στο κοινό τους πρόθεμα ακολουθείται η διαδικασία που εφαρμόζεται και στον "κλασικό" αλγόριθμο ανταλλαγής του P-Grid, δηλαδή για καθένα από αυτά σχηματίζεται η ένωση των διευθύνσεων των Peers που είναι γνωστοί στον Α και στον Β για το συγκεκριμένο (κοινό) υποδέντρο τους. Από το σύνολο αυτό επιλέγονται στη συνέχεια τυχαία και ξεχωριστά ακριβώς RefMax διευθύνσεις για να αποθηκευτούν στις αντίστοιχες θέσεις του Routing Table καθενός από τους δύο Peers Α και Β. 3. Για το υποδέντρο εκείνο που αντιστοιχεί στο επίπεδο Common Prefix + του Α, λαμβάνεται από τον Peer Β όλη η πληροφορία εκείνη που αφορά το συγκεκριμένο υποδέντρο του Α, και αντιστοιχεί στα επίπεδα του Β από το Common Prefix +2 έως και το τελευταίο του υποδέντρο. Η πληροφορία που λαμβάνεται από τον Β, εκτός από τις μεμονωμένες διευθύνσεις (PathIDs) των Peers, περιλαμβάνει και το μέγεθος των υποδέντρων στα οποία αναφέρονται η καθεμία από τις διευθύνσεις. Όλη η πληροφορία που λαμβάνεται από τον Β για το συγκεκριμένο υποδέντρο του Α, συνδυάζεται με ήδη υπάρχουσα στον Α. Δηλαδή στο σύνολο των διευθύνσεων που θα σχηματιστεί για το υποδέντρο του Α, θα συμπεριληφθούν και οι διευθύνσεις τις οποίες είχε ήδη αποθηκευμένες ο Α για αυτό το υποδέντρο. Η επιλογή στην συνέχεια των RefMax κόμβων, γίνεται αντιστοιχίζοντας πιθανότητες-βάρη για καθέναν από τους Peers του συνόλου. Από το μέγεθος του καθενός υποδέντρου στο οποίο ανήκει κάθε διεύθυνση, όπως επίσης και από τον συνολικό αριθμό των γνωστών διευθύνσεων για το συγκεκριμένο υποδέντρο μπορεί να εξαχθεί η κατάλληλη πιθανότηταβάρος για την επιλογή καθεμίας από τις διευθύνσεις, όπως θα δούμε και παρακάτω. Φυσικά η παραπάνω διαδικασία επαναλαμβάνεται με αντίστοιχο τρόπο και από την μεριά του Peer Β. Πρέπει να σημειωθεί ότι μετά από κάθε μία από τις συνολικά RefMax επιλογές, ο υπολογισμός των βαρών για τις εναπομείναντες διευθύνσεις, επαναλαμβάνεται εκ νέου. Επίσης, όπως προαναφέρθηκε ο παραπάνω αλγόριθμος απαιτεί την εύρεση του μεγέθους καθενός υποδέντρου ενός Peer για την εύρεση των πιθανοτήτων -βαρών. Στο παρακάτω σχήμα φαίνεται παραστατικά η μέθοδος αντιστοίχισης βαρών για δύο Peers (Peer Α:, Peer Β:) σελ.28

29 Routing Table of PeerA Routing Table of PeerB * * * * * Exchange Random Exchange Random Exchange Random Exchange Random End of Common subtrees Weighted Choice Weighted Choice * * * * * * Size of * Size of * * * Size of * Size of * * * Size of * Weight Calculations.. Size of * * +Peer A Size= Size= +Peer B Εικόνα 4: Αλγόριθμος Κατανομής Βαρών σελ.29

30 4. Εύρεση Τύπου Συντομεύσεις RM: RefMax S: Άθροισμα των Μεγεθών όλων των υποδέντρων L i :Μέγεθος υποδέντρου i M i : Πλήθος κόμβων στο Routing Table, στην θέση i Ιδανικά θα θέλαμε η επιλογή καθενός από τους κόμβους να είναι τυχαία, και όπως θα γινόταν αν είχαμε ένα σύνολο απο κόμβους και επιλέγαμε τυχαία. Η επιλογή των κόμβων για τις θέσεις στα Routing Tables γίνεται διαδοχικά, έτσι ώστε: Για να επιλέξουμε τον ο (από τους RefMax κόμβους) θέλουμε η επιλογή ενός S RM! RM συγκεκριμένου κόμβου, έστω Α, να γίνει με πιθανότητα ίση με S = RM RM! S επομένως η πιθανότητα επιλογής του Α, σε μια οποιαδήποτε θέση (από τις RefMax που απομένουν ) πρέπει να είναι ίση με S. Αν αν η πρώτη θέση έχει ήδη καταληφθεί από κάποιον κόμβο έστω Α, και πρέπει να επιλέξουμε τον κόμβο (έστω Β) για την επόμενη θέση, η επιλογή αυτή πρέπει να είναι ισοδύναμη με την επιλογή ενός κόμβου τυχαία από ένα σύνολο από S '=S L A M A κόμβους και για οποιαδήποτε από τις RM- εναπομείναντες θέσεις, αφού κάθε κόμβος που επιλέγεται μειώνει το εικονικό σύνολο κατά ένα παράγοντα ίσο με πιθανότητα επιλογής θα πρέπει να είναι ίση με S ' RM 2! RM RM 2 RM RM = = S ' RM RM! S ' S L A M A L Α M A. Επομένως η Προχωρώντας αναδρομικά, αν έχουν ήδη επιλεγεί οι κόμβοι για τις k- θέσεις, και αναζητούμε τον κόμβο για την θέση k, η επιλογή θα πρέπει να γίνει με τέτοιο τρόπο, ώστε η επιλογή του καθενός από τους κόμβους που απομένουν, για τις θέσεις που απομένουν, να RM k P k = είναι ισοδύναμη και με πιθανότητα ίση με S L k,όπου οι μεταβλητές M k L k, M k συμβολίζουν το μέγεθος του υποδέντρου, και τον αντίστοιχο αριθμό από "εκπροσώπους" του, και στα δύο Routing Tables, για τον κόμβο που επιλέχτηκε στο προηγούμενο βήμα. Αφού έχουμε βρει ποιες πρέπει να είναι οι πιθανότητες επιλογής, αναζητούμε πιθανότητες -βάρη j W i (i:δείχτης για τον κόμβο, j: δείχτης για την θέση) τέτοιες ώστε αν οι θέσεις έως κ- είναι ήδη κατειλημμένες τότε RM j=k W i j M i L i = RM k k S i= k L i,θέτοντας S k =S i = M i L i M i,έχουμε σελ.3

31 RM W M j i i = j=k L i RM k S k RM W j i = L i RM k. j=k M i S k Μια προφανής τιμή για τις πιθανότητες βάρη W i j L i ώστε να ισχύει η τελευταία ισότητα, είναι να επιλέξουμε W j i =,οπότε έχουμε και το ζητούμενο. M i S k Άρα τελικά οι πιθανότητες με τις οποίες πρέπει να επιλεγούν οι κόμβοι, ώστε να έχουν όλοι δίκαιη αντιμετώπιση κατά την λειτουργία του αλγορίθμου Exchange, είναι ίση με : L i W j i = = M i S k M i L i S k i= L i i M,όταν η επιλογή γίνεται για την κ-οστή θέση (οι προηγούμενες κ- θέσεις έχουν ήδη καταληφθεί) και RefMax συνολικά επιλογές για το κάθε υποδέντρο. L i :Μέγεθος υποδέντρου στο οποίο ανήκει ο κόμβος i Μ ι : Πλήθος κόμβων που εμφανίζονται στα Routing Tables και των δύο κόμβων που συμμετέχουν στο exchange, και που ανήκουν στο ίδιο υποδέντρο στο οποίο ανήκει και ο κόμβος i. S : Συνολικό Μέγεθος όλων των υποδέντρων δηλαδή S= L i i σελ.3

32 4.. Παράδειγμα Έστω ότι γίνεται στο παραπάνω δίκτυο P-Grid κάποιο Exchange ανάμεσα στους κόμβους 9 (με path ID:"") και (path ID:""), και ότι RefMax=2. Έστω επίσης τα σύνολα των γνωστών διευθύνσεων για όλα τα υποδέντρα που "ενδιαφέρουν" τον κόμβο, είναι τα παρακάτω: Nodes Sub Tree ID Sub Tree Size (L n ) Sub Tree Nodes Present (M n ) 9 "" 4 "" 5,8 "" 4 2 "" 3 αντίστοιχα έστω ότι τα σύνολα των γνωστών διευθύνσεων στο συγκεκριμένο Exchange, που σελ.32

33 "ενδιαφέρουν" τον Peer 9 για το υποδέντρο του "" είναι τα ακόλουθα: Nodes Sub Tree ID Sub Tree Size (L n ) Sub Tree Nodes Present (M n ) "" 2,3 "" 2 2 α)διαδικασία Επιλογής Διευθύνσεων για τον Peer η επιλογή O κόμβος πρέπει να επιλέξει ανάμεσα στους κόμβους 9,4,5,8, για την η θέση του Routing Table του. To συνολικό μέγεθος όλων των υποδέντρων είναι S= L n =9, και επομένως η n κατανομή των βαρών στους κόμβους θα είναι η ακόλουθη: Για τον κόμβο 4: W 4 = L 4 M 4 S W 4= 9 = 9. Για τον κόμβο 5: W 5 = L 5 M 5 S W 5= = 2 9. Για τον κόμβο 8: W 8 = L 8 M 8 S W 8= = 2 9. Για τον κόμβο : W = L M S W = 3 9 = 3. Για τον κόμβο 9: W 9 = L 9 M 9 S W 9= 9 = 9. Παρατηρούμε ότι W n = n=9,4,5,8, =,όπως άλλωστε αναμενόταν, ως άθροισμα όλων των πιθανοτήτων για την συγκεκριμένη θέση. 2η επιλογή Ας υποθέσουμε ότι για την πρώτη θέση επιλέχτηκε τελικά ο κόμβος 4.Θα πρέπει για την επόμενη επιλογή να επαναλάβουμε την παραπάνω διαδικασία, κάνωντας όμως τις απαραίτητες αλλαγές. Nodes Sub Tree ID Sub Tree Size (L n ) Sub Tree Nodes Present (M n ) 9 "" "" 3 5,8 "" 4 2 Το συνολικό μέγεθος S' για όλα τα υποδέντρα που πρέπει να πάρουμε αυτήν τη φορά είναι S '=S L 4 S ' =9 S '=8. Επομένως για τις κατανομές των βαρών θα έχουμε τώρα: M 4 W 2 5 = = 2 6, W 2 8 = = 2 6, W 2 = 3 8 = 3 8, W 2 9 = 8 = 8. σελ.33

34 Παρατηρούμε ότι και πάλι W 2 n = 2 n=9,5,8, = β)διαδικασία Επιλογής Διευθύνσεων για τον Peer 9 η επιλογή O Peer 9 πρέπει να επιλέξει ανάμεσα στους κόμβους,2,3 για την η θέση του Routing Table του. (Υποδέντρο "*"). To συνολικό μέγεθος όλων των υποδέντρων είναι S= L n =3, και n επομένως η κατανομή των βαρών στους κόμβους θα είναι η ακόλουθη: Για τον κόμβο : W = L M S W = 3 = 3. Για τον κόμβο 2: W 2 = L 2 M 2 S W 2= = 3. Για τον κόμβο 3: W 3 = L 3 M 3 S W 3= = 3. Παρατηρούμε ότι W n = n=,2, =,όπως άλλωστε αναμενόταν, ως άθροισμα όλων των πιθανοτήτων για την συγκεκριμένη θέση. 2η επιλογή Ας υποθέσουμε ότι για την πρώτη θέση επιλέχτηκε τελικά ο κόμβος 2.Θα πρέπει για την επόμενη επιλογή να επαναλάβουμε την παραπάνω διαδικασία, κάνοντας όμως τις απαραίτητες αλλαγές. Nodes Sub Tree ID Sub Tree Size (L n ) Sub Tree Nodes Present (M n ) "" 3 "" 2 2 Το συνολικό μέγεθος S' για όλα τα υποδέντρα που πρέπει να πάρουμε αυτήν τη φορά είναι S '=S L 2 S ' =3 2 S '=2. Επομένως για τις κατανομές των βαρών θα έχουμε τώρα: M 2 2 W 2 = 2 = 2, W 2 3 = = 2 Παρατηρούμε ότι και πάλι W 2 n = n=,3 2 2 =,όπως αναμενόταν. σελ.34

35 4..2 Παράδειγμα 2 Θα εξετάσουμε αυτή τη φορά την διαδικασία επιλογής των διευθύνσεων από όλα τα υποδέντρα που υπάρχουν στο Routing Table, του Peer 4, από κάποιον άλλο τυχαίο (εικονικό) Peer. H αρχική κατάσταση του Routing Table του Peer 4 παρουσιάζεται στον παρακάτω πίνακα. Επιλογή η Nodes Sub Tree ID Sub Tree Size (L n ) Sub Tree Nodes Present (M n ) 2,3 "" 3 2,7 "" "" Για την η επιλογή είναι S= L n =2,επομένως n W 2 = = 8, W 3 =W 2 = 8, W 7 = = 4 2 = 3 W 2 n = n=7,,4,2, = W =W 7 = 3, W 4 = 2 = 2, Επιλογή 2η Έστω ότι για την η θέση επιλέχτηκε ο κόμβος 2, τότε θα έχουμε S '=S L 2 S '=2 3 2 W 2 S '=,οπότε 3 = 3 M = 3 W 2 2, = = 8 2, 2 2 W 2 4 = 2 = 2 W 2 2, 7 = = 8 2. Για επαλήθευση ελέγχουμε και πάλι: 2 2 W 2 n = 3 n=7,,4, = Επιλογή 3η Έστω ότι για την 2η θέση επιλέχτηκε ο κόμβος 3, για την τελευταία επιλογή, θα έχουμε : S ' ' =S '' L 3 S ' ' = 2 M S' ' =9,οπότε W 3 = = 4 9, W 3 4 = 9, W 3 7 = = 4 9 Επαλήθευση: W 3 n = 4 n=7,, = σελ.35

36 4.2 Απόδειξη Λειτουργίας για Μεμονωμένες Περιπτώσεις Για μεγαλύτερη Επαλήθευση των Αποτελεσμάτων, προχωράμε στην εύρεση των πιθανοτήτων επιλογής διευθύνσεων στα Routing Tables, για μεμονωμένες περιπτώσεις δικτύων (RefMax= και N=3,4,5) και τα αντιπαραβάλουμε με τα αποτελέσματα που είχαμε βρεί με τον "κλασσικό" αλγόριθμο του P-Grid. Συμβολισμοί : ' Συμβολίζουμε όπως και προηγούμενα με P k n την πιθανότητα στο επόμενο βήμα (exchange) που θα κάνει ο Peer -k, να καταχωρίσει στο Routing Table του την διεύθυνση του Peer -n.δηλαδή ο (n) είναι ένας από τους "υποψήφιους" κόμβους για κάποιο υποδέντρο του (k) και στόχος μας είναι να εξάγουμε την πιθανότητα επιλογής του, έναντι των υπολοίπων "υποψήφιων" για το ίδιο υποδέντρο. Επίσης συμβολίζουμε με L i το μέγεθος του υποδέντρου από το οποίο προέρχεται ο κόμβος i, με M i το σύνολο των Links που είναι γνωστά για το υποδέντρο από το οποίο προέρχεται και ο κόμβος i, και τέλος με S το συνολικό μέγεθος όλων των υποδέντρων : S= L i i α) Περίπτωση Ν=3, RefMax=, Unbalanced Trie (τετριμμένη περίπτωση) Στην απλή περίπτωση που έχουμε μόνο τρείς κόμβους, και RefMax=, προφανώς θα ισχύει : 2 3 P ' 2 =P ' 3 = αφού σε κάθε exchange που κάνει ο Peer, με τους 2, 3. 2 Στο ίδιο αποτέλεσμα προκύπτει φυσικά και χωρίς την εφαρμογή της μεθόδου Κατανομής Βαρών. β) Περίπτωση Ν=4, RefMax=, Unbalanced Trie Για τον Peer 2, θα ισχύει το αποτέλεσμα που βρήκαμε στην προηγούμενη περίπτωση με Ν=3, δηλαδή P ' 2 3 =P ' 2 4 = 2,αφού θεωρούμε ότι δεν "μαθαίνει" τίποτα παραπάνω για το υποδέντρο του "*" από τον Peer-. Για τον Peer, πρέπει να βρούμε τα P ' 2, P ' ' 3, P 4. Επειδή όμως P ' 3 =P ' 4 (λόγω συμμετρίας) αρκεί να βρούμε το P ' 4 οπότε θα ισχύει P ' 2 = 2 P ' 4 σελ.36

37 . Εύρεση P ' 4 Για τον Peer υπάρχουν τρείς επιλογές για exchanges: i) exchange (,3), σύνολο επιλογής {3,4,2}, L 4 =, M 4 =, S=3, επομένως P ' 3 =P ' 4 = L 4 M 4 S = 3 ii)exchange (,4), σύνολο επιλογής {3,4,2} L 4 =, M 4 =, S=3, επομένως P ' 3 =P ' 4 = L 4 M 4 S = 3 iii)exchange (,2) L 4 =2, Μ 4 =(μεταβλητό), L 2 =, Μ 2 =, S=3 όπως και πριν παίρνουμε όλους τους δυνατούς συνδυασμούς.. P ' 4 = P 2 P P 4 P P 4 P P 3 P αντίστοιχα σύνολα επιλογής για κάθε όρο είναι τα {4,2}, {4,3,2}, {4,2}, {3,4,2} Αν στην παραπάνω εξίσωση αντικαταστήσουμε ότι : P 3 =P 4 (λόγω συμμετρίας ), P 2 = 2 P 4 και ότι αφού τα P 2 3 =P 2 4 = 2,(όπως είχαμε βρει στην περίπτωση με Ν=3 κόμβους) θα έχουμε τελικά ότι P ' 4 = 2 3 P 4 3 P 2 = 2 3 P 4 3 [ 2 P 4 ]= 3 Επειδή όλα τα Exchanges είναι ισοπίθανα με πιθανότητα /3, θα έχουμε: P 4 =P 3 =3 3 3 = 3.. Άρα και P 2 = 2 P 4 = 3 Επομένως προκύπτει τελικά ότι P 4 =P 3 =P 2 =,δηλαδή με τον αλγόριθμο 3 Κατανομής Βαρών έχουμε απολύτως ομοιόμορφη επιλογή των διευθύνσεων για Ν=4 και RefMax=, σε αντίθεση με τον "κλασικό" αλγόριθμο για τον οποίο είχαμε βρει ότι : P 3 = P 4 = 35 και P 2 = 3 35 (μη ομοιόμορφη επιλογή). σελ.37

38 4.3 Διαδικασία Εύρεσης του Μεγέθους των Υποδέντρων Για να λειτουργεί ο αλγόριθμος κατανομής βαρών που παρουσιάσαμε πιο πάνω απαραίτητη προϋπόθεση είναι η γνώση των μεγεθών των υποδέντρων. Ο αλγόριθμος που αναπτύξαμε για τον σκοπό αυτό βρίσκει ντετερμινιστικά τα μεγέθη όλων των υποδέντρων κάθε κόμβου, σταδιακά, μέσα από την ανταλλαγή πληροφορίας στην φάση του Exchange για όλους τους Peers. Η λειτουργία για την εύρεση των μεγεθών των υποδέντρων είναι η εξής: Σε κάθε Peer κρατάμε μια λίστα με μέγεθος ίσο με το πλήθος των υποδέντρων του συγκεκριμένου Peer, την οποία την ονομάσαμε SubTreeList. Οι δυνατές τιμές για κάθε καταχώριση της λίστας είναι δύο: αν ο Peer γνωρίζει το μέγεθος του αντίστοιχου υποδέντρου, τότε η τιμή στην λίστα είναι ακριβώς ίση με το μέγεθος του υποδέντρου. Διαφορετικά η τιμή για την συγκεκριμένη θέση είναι μηδέν. Η ενημέρωση της λίστας γίνεται κατά την διάρκεια της διαδικασίας Exchange και για τους δύο Peers που συμμετέχουν σε αυτή. Συγκεκριμένα οι Peers που συμμετέχουν στο Exchange εκτός από την καθιερωμένη ενημέρωση των Routing Tables τους, εκτελούν και τις ακόλουθες ενέργειες:. Για όλα τα επίπεδα του κοινού τους προθέματος (Common Prefix), αν είναι γνωστό το μέγεθος του αντίστοιχου υποδέντρου σε κάποιον από τους δύο Peers, γνωστοποιεί την τιμή αυτή και στον έτερο Peer αν τυχόν δεν την γνωρίζει. Αν κανείς από τους δύο δεν γνωρίζει το μέγεθος κάποιου από τα κοινά υποδέντρα τους, τότε η αντίστοιχή καταχώρηση στην SubTreeList παραμένει μηδενική. 2. Για την θέση Common Prefix + καθενός από τους δύο Peers, αν δεν υπάρχει τιμή στην αντίστοιχη θέση του SubTreeLists, τότε αθροίζονται όλα τα μεγέθη των υποδέντρων του άλλου κόμβου για τα επίπεδα Common Prefix 2,μέχρι και το τελευταίο επίπεδο.αν κάποια από τις τιμές που αθροίζονται είναι μηδενική, (δηλ. δεν είναι γνωστή η τιμή του αντίστοιχου υποδέντρου) τότε η διαδικασία σταματάει και η τιμή που επιστρέφεται στον αρχικό κόμβο είναι μηδενική. Διαφορετικά επιστρέφεται και καταχωρείται στον αρχικό κόμβο η τιμή του αθροίσματος + (για να προσμετρηθεί και το υποδέντρο του ίδιου του Peer που έκανε την καταμέτρηση). Αν συμβαίνει ο δεύτερος κόμβος να μην έχει υποδέντρα να μετρήσει, (δηλ η τιμή Common Prefix 2 ξεπερνά τον αριθμό των υποδέντρων του ) τότε επιστρέφεται και καταχωρείται απλώς η τιμή. Η λειτουργία του παραπάνω αλγορίθμου θα φανεί όμως καλύτερα με ένα παράδειγμα: σελ.38

39 Στο παραπάνω Trie έχουν προστεθεί οι πίνακες SubTreeLists για κάθε κόμβο. Όπως είναι φυσικό αρχικά όλες οι καταχωρήσεις είναι ίσες με το μηδέν. Παρακάτω θα δούμε πως μεταβάλλονται οι καταχωρίσεις τους με τυχαία Exchanges : Exchanging Peer, Peer 3 SubTreeList for Peer ("") SubTreeList for Peer 3("") Index Sub-Tree Path Sub-Tree Size Index Sub-Tree Path Sub-Tree Size "" "" 2 "" 2 "" 3 "" Common Prefix :"" Εφόσον το Common Prefix των δύο κόμβων είναι, η πρώτη θέση και των δύο SubTreeList θα παραμείνει μηδενική και θα αναζητηθούν τιμές των μεγεθών των υποδέντρων για το δεύτερο επίπεδο και για τους δύο κόμβους. Συγκεκριμένα για την δεύτερη θέση του Peer, ο Peer 3 έχει να αθροίσει μόνο την 3η καταχώρηση η οποία είναι μηδενική, επομένως δεν θα γίνει καμιά αλλαγή στο SubTreeList του Peer. Για την δεύτερη θέση όμως του Peer 3, εφόσον ο Peer δεν έχει υποδέντρα να μετρήσει (οι θέσεις στην λίστα είναι μόνο δύο, και το Common Prefix length+2=3) επομένως θα καταχωρηθεί η τιμή στην 2η θέση του Peer 3 όπως φαίνεται και παρακάτω. SubTreeList for Peer ("") SubTreeList for Peer 3("") Index Sub-Tree Path Sub-Tree Size Index Sub-Tree Path Sub-Tree Size "" "" 2 "" 2 "" και το αντίστοιχο δέντρο.. 3 "" σελ.39

40 Exchanging Peer 5, Peer 4 (Common Prefix ="") SubTreeList for Peer 5 ("") SubTreeList for Peer 4("") Index Sub-Tree Path Sub-Tree Size Index Sub-Tree Path Sub-Tree Size "" "" 2 "" 2 "" Οι πρώτη θέση και στις δύο λίστες είναι μηδέν, επομένως θα γίνει μόνο καταμέτρηση των υποδέντρων για την εύρεση της 2ης τιμής του SubTreeList. Εφόσον ο Peer 4 δεν έχει υποδέντρα να μετρήσει, θα επιστρέψει μόνο την τιμή για το δικό του υποδέντρο δηλ. την τιμή. Η τιμή αυτή θα καταχωρηθεί στην 2η θέση του Peer 5. Το ίδιο ακριβώς θα γίνει και για την 2η θέση του Peer 4. SubTreeList for Peer 5 ("") SubTreeList for Peer 4("") Index Sub-Tree Path Sub-Tree Size Index Sub-Tree Path Sub-Tree Size "" "" 2 "" 2 "" σελ.4

41 Επαναλαμβάνοντας την ίδια διαδικασία σε κάθε Exchange, έχουμε τις ακόλουθεςδιαδοχικές μορφοποιήσεις.. Exchanging Node 2 with Node 3 Exchanging Node 3 with Node Exchanging Node with Node 3 Exchanging Node 2 with Node σελ.4

42 4.5 Αποτελέσματα Προσομοίωσης Παρακάτω φαίνονται τα αποτελέσματα που προέκυψαν κατά την εφαρμογή της μεθόδου κατανομής βαρών (Για σύγκριση παρουσιάζονται μαζί και τα αποτελέσματα που προκύπτουν δίχως την εφαρμογή της μεθόδου) Όλα τα Simulations έγιναν για Peers και για RefMax=5. Η διάρκεια εκτέλεσης ήταν N 2 = Exchanges. Περίπτωση Unbalanced Trie a) Αλγόριθμος P-Grid,4E-3,2E-3,E-3 8,E-4 6,E-4 4,E-4 2,E-4,E+ Fairness Distribution x E-2 Ενδεικτικές Τιμές του Fairness NodeID:, NodeID:2,, NodeID:3,,, NodeID:4,,,, NodeID:5,,,,, NodeID:6,,,,,, NodeID:7,,,,,,, NodeID:8,,,,,,,, NodeID:9,,,,,,,,, NodeID:,,,,,,,,,, b) Αλγόριθμος Κατανομής Βαρών,6E-2,4E-2,2E-2,E-2 8,E-3 6,E-3 4,E-3 2,E-3,E+ Fairness Distribution Ενδεικτικές Τιμές του Fairness NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: Σχόλια Παρατηρούμε ότι ο αλγόριθμος κατανομής Βαρών βελτιώνει πάρα πολύ την απόδοση του συστήματος. Αρχικά οι τιμές του Fairness είχαν μεγάλη διακύμανση, και κάλυπταν ένα εύρος από.35 έως. Μετά την εφαρμογή της μεθόδου όλες οι τιμές συγκεντρώνονται στην περιοχή.98 έως. σελ.42

43 Περίπτωση Random Trie a) Αλγόριθμος P-Grid 6,E-4 5,E-4 4,E-4 3,E-4 2,E-4,E-4 Fairness Distribution Ενδεικτικές Τιμές του Fairness NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: ,E xe-2 b).αλγόριθμος Κατανομής Βαρών 3,5E-2 3,E-2 2,5E-2 2,E-2,5E-2,E-2 5,E-3,E+ Fairness Distribution Ενδεικτικές Τιμές του Fairness NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: Σχόλια Παρατηρούμε και σ 'αυτή την περίπτωση αισθητή βελτίωση, αν και λιγότερη σε σύγκριση με την περίπτωση του Unbalanced Trie. Συγκεκριμένα, πριν την εφαρμογή της μεθόδου κατανομής Βαρών, οι τιμές του Fairness είχαν σημαντική διακύμανση στο διάστημα.9 έως, ενώ μετά την εφαρμογή της μεθόδου, παρατηρούμε ότι σχηματίζεται ένας μόνο παλμός πολύ κοντά στην τιμή. σελ.43

44 Περίπτωση Balanced Trie a) Αλγόριθμος P-Grid,6,5,4,3,2,, Fairness Distribution xe-2 Ενδεικτικές Τιμές του Fairness NodeID: NodeID: NodeID: NodeID: NodeID: b).αλγόριθμος Κατανομής Βαρών,9,8,7,6,5,4,3,2, Fairness Distribution Ενδεικτικές Τιμές του Fairness NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: NodeID: Σχόλια Στην περίπτωση αυτή έχουμε την μικρότερη βελτίωση σε σύγκριση με τις άλλες δύο περιπτώσεις (Balanced και Random) καθώς και οι δύο αλγόριθμοι πετυχαίνουν πολύ καλά αποτελέσματα, όσον αφορά την ομοιόμορφη κατανομή των διευθύνσεων. Παρόλα αυτά, και σε αυτήν την περίπτωση παρατηρούμε και πάλι μια μικρή βελτίωση της απόδοσης, καθώς οι τιμές του Fairness προσεγγίζουν περισσότερο την μονάδα μετά την εφαρμογή της μεθόδου κατανομής βαρών. σελ.44

45 4.6 Συμπεράσματα Από τα παραπάνω διαγράμματα προκύπτουν συνολικά τα εξής συμπεράσματα: Αν το Trie είναι Unbalanced, τότε η βελτίωση που πετυχαίνεται με την μέθοδο Κατανομής Βαρών, είναι θεαματική. Χωρίς την εφαρμογή της μεθόδου, η διασπορά των τιμών του Fairness είναι μεγάλη, καλύπτοντας ένα φάσμα από.3 έως, με τις μεγαλύτερες τιμές (παλμοί) να εμφανίζονται κοντά στο.4. Αντιθέτως, μετά την εφαρμογή της μεθόδου όλες οι τιμές του Fairness περιορίζονται στο διάστημα από.9 έως, με τις περισσότερες να είναι πολύ κοντά στην μονάδα. Πρέπει να σημειώσουμε εδώ, ότι από τις τιμές του Fairness που παρουσιάζονται στα διαγράμματα έχουν παραλειφθεί οι τετριμμένες τιμές που προκύπτουν για υποδέντρα μεγέθους ένα (), ώστε να μην "κρύβουν" τα υπόλοιπα αποτελέσματα. Στην περίπτωση που το Trie έχει τυχαίο σχήμα (Random), παρατηρούμε επίσης σημαντική βελτίωση. Αρχικά, χωρίς την εφαρμογή της μεθόδου κατανομής Βαρών, οι τιμές του Fairness εμφανίζουν έντονη διακύμανση στην περιοχή τιμών από.8 έως, ενώ με την εφαρμογή της μεθόδου, προκύπτει στην ουσία ένας παλμός πολύ κοντά στην μονάδα. Τέλος στην περίπτωση που το σχήμα του Trie είναι ζυγισμένο (balanced) παρατηρούμε ότι η διαφορά στην απόδοση είναι λιγότερο αισθητή απ 'ότι στις δύο προηγούμενες περιπτώσεις (Random, Unbalanced) αφού τόσο ο κλασσικός αλγόριθμος, όσο και η μέθοδος κατανομής βαρών δίνουν τιμές του Fairness πολύ κοντά στην μονάδα και επομένως πετυχαίνουν και οι δύο ικανοποιητική απόδοση. σελ.45

46 4.7 Ταχύτητα Σύγκλισης Στο παρακάτω διάγραμμα απεικονίζεται η ταχύτητα σύγκλισης του αλγορίθμου κατανομής Βαρών, ως προς τον συνολικό αριθμό των κόμβων στο σύστημα. Συγκεκριμένα για κάθε τιμή του N (μέγεθος δικτύου), μετρήθηκε ο αριθμός βημάτων (Exchanges) που απαιτούνται, ώστε η πιθανότητα η τιμή του Fairness να είναι μικρότερη από ένα "κατώφλι" (threshold) να είναι πολύ μικρή. Όπως βλέπουμε ο χρόνος σύγκλισης είναι ικανοποιητικός, τουλάχιστον για μέγεθος δικτύου που δεν ξεπερνά τους κόμβους. Παρατηρούμε επίσης ότι όσο το δέντρο τείνει να γίνει εκφυλισμένο αυξάνεται ο απαιτούμενος αριθμός βημάτων για να έχουμε σύγκλιση. σελ.46

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

f(x) = και στην συνέχεια

f(x) = και στην συνέχεια ΕΡΩΤΗΣΕΙΣ ΜΑΘΗΤΩΝ Ερώτηση. Στις συναρτήσεις μπορούμε να μετασχηματίσουμε πρώτα τον τύπο τους και μετά να βρίσκουμε το πεδίο ορισμού τους; Όχι. Το πεδίο ορισμού της συνάρτησης το βρίσκουμε πριν μετασχηματίσουμε

Διαβάστε περισσότερα

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

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ο Κεφάλαιο: Στατιστική ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Πληθυσμός: Λέγεται ένα σύνολο στοιχείων που θέλουμε να εξετάσουμε με ένα ή περισσότερα χαρακτηριστικά. Μεταβλητές X: Ονομάζονται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Ενότητα 11: Τεχνικές Κατακερματισμού Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. Να βρείτε τις ασύμπτωτες της γραφικής παράστασης της συνάρτησης f με τύπο

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. Να βρείτε τις ασύμπτωτες της γραφικής παράστασης της συνάρτησης f με τύπο ΚΕΦΑΛΑΙΟ 3ο: ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ ΕΝΟΤΗΤΑ : ΑΣΥΜΠΤΩΤΕΣ - ΚΑΝΟΝΕΣ DE L HOSPITAL - ΜΕΛΕΤΗ ΣΥΝΑΡΤΗΣΗΣ [Κεφ..9: Ασύμπτωτες Κανόνες de l Hospital Μέρος Β του σχολικού βιβλίου]. ΠΑΡΑΔΕΙΓΜΑΤΑ Παράδειγμα. ΘΕΜΑ

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα Δύο κύριοι τρόποι παρουσίασης δεδομένων Παράδειγμα Με πίνακες Με διαγράμματα Ονομαστικά δεδομένα Εδώ τα περιγραφικά μέτρα (μέσος, διάμεσος κλπ ) δεν έχουν νόημα Πήραμε ένα δείγμα από 25 άτομα και τα ρωτήσαμε

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΘΕΜΑ 1 ο (2,5 μονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Τελικές εξετάσεις Πέμπτη 21 Ιουνίου 2012 16:30-19:30 Υποθέστε ότι θέλουμε

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

Διαβάστε περισσότερα

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Παρατηρήσεις για τη χρήση ενός κυκλικού διαγράμματος

Παρατηρήσεις για τη χρήση ενός κυκλικού διαγράμματος Παρατηρήσεις για τη χρήση ενός κυκλικού διαγράμματος Χρησιμοποιείται μόνο όταν οι τιμές της μεταβλητής έχουν ένα σταθερό άθροισμα (συνήθως 100%, όταν μιλάμε για σχετικές συχνότητες) Είναι χρήσιμο μόνο

Διαβάστε περισσότερα

A. ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

A. ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ 8Α ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ A ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ Πότε μια συνάρτηση λέγεται συνεχής σε ένα σημείο του πεδίου ορισμού o της ; Απάντηση : ( ΟΜΟΓ, 6 ΟΜΟΓ, 9 Β, ΟΜΟΓ, 5 Έστω μια συνάρτηση και ένα σημείο του πεδίου

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες ως εξής P 1 K 1 P

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

Διαβάστε περισσότερα

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium iv

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium iv Σ ΤΑΤ Ι Σ Τ Ι Κ Η i Statisticum collegium iv Στατιστική Συμπερασματολογία Ι Σημειακές Εκτιμήσεις Διαστήματα Εμπιστοσύνης Στατιστική Συμπερασματολογία (Statistical Inference) Το πεδίο της Στατιστικής Συμπερασματολογία,

Διαβάστε περισσότερα

A. ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

A. ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ 8Α ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ A ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ Πότε μια συνάρτηση λέγεται συνεχής σε ένα σημείο του πεδίου ορισμού o της ; Απάντηση : ( ΟΜΟΓ, 6 ΟΜΟΓ, 9 Β, ΟΜΟΓ, 5 Έστω μια συνάρτηση και ένα σημείο του πεδίου

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ δείκτες

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ (Kεφ. 10) ΡΟΜΟΛΟΓΗΣΗ Χαρακτηριστικά Στρατηγικές ροµολόγησης Παραδείγµατα Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings, 6/e, 2000. ΕΥ - κεφ.10 (2/3)

Διαβάστε περισσότερα

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

Συστήματα Peer To Peer (P2P Systems) Γαλάνης Δημήτριος Παπαδημητρίου Χριστίνα

Συστήματα Peer To Peer (P2P Systems) Γαλάνης Δημήτριος Παπαδημητρίου Χριστίνα Συστήματα Peer To Peer (P2P Systems) Γαλάνης Δημήτριος Παπαδημητρίου Χριστίνα Τα Peer-To-Peer προσελκύουν το ενδιαφέρον Ακαδημαϊκά Προσπάθειες International Workshop on P2P Computing Global and P2P Computing

Διαβάστε περισσότερα

Διαχρονικές δομές δεδομένων

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

Διαβάστε περισσότερα

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά:

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά: Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013 Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr Εισαγωγικά: Η υλοποίηση του project έχει γίνει σε python [2.7]. Τα python modules είναι αυτόνομα

Διαβάστε περισσότερα

Search and Replication in Unstructured Peer-to-Peer Networks

Search and Replication in Unstructured Peer-to-Peer Networks Search and Replication in Unstructured Peer-to-Peer Networks Presented in P2P Reading Group in 11/10/2004 Abstract: Τα µη-κεντρικοποιηµένα και µη-δοµηµένα Peer-to-Peer δίκτυα όπως το Gnutella είναι ελκυστικά

Διαβάστε περισσότερα

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

Σ ΤΑΤ Ι Σ Τ Ι Κ Η ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ Σ ΤΑΤ Ι Σ Τ Ι Κ Η i ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ Κατανομή Δειγματοληψίας του Δειγματικού Μέσου Ο Δειγματικός Μέσος X είναι μια Τυχαία Μεταβλητή. Καθώς η επιλογή και χρήση διαφορετικών δειγμάτων από έναν

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

7.1 Επίπεδο δικτύου. Ερωτήσεις. λέξεις κλειδιά:

7.1 Επίπεδο δικτύου. Ερωτήσεις. λέξεις κλειδιά: 7.1 Επίπεδο δικτύου Ερωτήσεις 1. Με ποιες ενέργειες ασχολείται το επίπεδο δικτύου; Ποιες συσκευές συμμετέχουν σε αυτές τις ενέργειες; 2. Ποιο είναι το χαμηλότερο επίπεδο στο μοντέλο OSI που ασχολείται

Διαβάστε περισσότερα

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n. Πρώτο Σύνολο Ασκήσεων 2014-2015 Κατερίνα Ποντζόλκοβα, 5405 Αθανασία Ζαχαριά, 5295 Ερώτημα 1 Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n. Ο αλγόριθμος εύρεσης

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι - Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται

Διαβάστε περισσότερα

Δρομολόγηση (Routing)

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση

Διαβάστε περισσότερα

Σημειωματάριο Δευτέρας 4 Δεκ. 2017

Σημειωματάριο Δευτέρας 4 Δεκ. 2017 Σημειωματάριο Δευτέρας 4 Δεκ. 2017 Ο αλγόριθμος Floyd-Warshall για την έυρεση όλων των αποστάσεων σε ένα γράφημα με βάρη στις ακμές Συνεχίσαμε σήμερα το θέμα της προηγούμενης Τετάρτης. Έχουμε ένα γράφημα

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 8. Συνεχείς Κατανομές Πιθανοτήτων Η Κανονική Κατανομή ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΤΡΑΣ Εργαστήριο Λήψης Αποφάσεων & Επιχειρησιακού Προγραμματισμού Καθηγητής Ι. Μητρόπουλος ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

Διαβάστε περισσότερα

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Με τον όρο μη γραμμικές εξισώσεις εννοούμε εξισώσεις της μορφής: f( ) 0 που προέρχονται από συναρτήσεις f () που είναι μη γραμμικές ως προς. Περιέχουν δηλαδή

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

Διαβάστε περισσότερα

Κεφάλαιο 9. Έλεγχοι υποθέσεων

Κεφάλαιο 9. Έλεγχοι υποθέσεων Κεφάλαιο 9 Έλεγχοι υποθέσεων 9.1 Εισαγωγή Όταν παίρνουμε ένα ή περισσότερα τυχαία δείγμα από κανονικούς πληθυσμούς έχουμε τη δυνατότητα να υπολογίζουμε στατιστικά, όπως μέσους όρους, δειγματικές διασπορές

Διαβάστε περισσότερα

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

Διαβάστε περισσότερα

ΗΥ360 Αρχεία και Βάσεις εδοµένων

ΗΥ360 Αρχεία και Βάσεις εδοµένων ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Tutorial B-Trees, B+Trees Μπαριτάκης Παύλος 2018-2019 Ιδιότητες B-trees Χρήση για μείωση των προσπελάσεων στον δίσκο Επέκταση των Binary Search Trees

Διαβάστε περισσότερα

ΔΙΚΤΥΑ (18-19) Π. Φουληράς

ΔΙΚΤΥΑ (18-19) Π. Φουληράς ΔΙΚΤΥΑ (18-19) Π. Φουληράς IP: Διευθύνσεις του Πρωτοκόλλου Διαδικτύου Οι διευθύνσεις IP είναι αφηρημένες (εικονικές κατά κάποιον τρόπο) και οπωσδήποτε διαφορετικές από τις φυσικές Οι χρήστες, εφαρμογές

Διαβάστε περισσότερα

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

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

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Cuckoo Hashing Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο β Πολυτεχνείο Πρόβλημα (ADT) Λεξικού υναμικά μεταβαλλόμενη συλλογή αντικειμένων που αναγνωρίζονται με «κλειδί» (π.χ.

Διαβάστε περισσότερα

ΟΙ πιο πάνω έννοιες εκφράζουν όπως λέμε τη μονοτονία της συνάρτησης.

ΟΙ πιο πάνω έννοιες εκφράζουν όπως λέμε τη μονοτονία της συνάρτησης. 3 Μονοτονία συναρτήσεων 3 Μονοτονία συναρτήσεων 3Α Μονοτονία συνάρτησης Έστω f μία συνάρτηση με πεδίο ορισμού Γνησίως αύξουσα συνάρτηση Η συνάρτηση f λέγεται γνησίως αύξουσα στο Δ αν για κάθε, Δ, με

Διαβάστε περισσότερα

Θεώρημα Βolzano. Κατηγορία 1 η. 11.1 Δίνεται η συνάρτηση:

Θεώρημα Βolzano. Κατηγορία 1 η. 11.1 Δίνεται η συνάρτηση: Κατηγορία η Θεώρημα Βolzano Τρόπος αντιμετώπισης:. Όταν μας ζητούν να εξετάσουμε αν ισχύει το θεώρημα Bolzano για μια συνάρτηση f σε ένα διάστημα [, ] τότε: Εξετάζουμε την συνέχεια της f στο [, ] (αν η

Διαβάστε περισσότερα

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

ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ - ΠΡΟΣΟΜΟΙΩΣΗ ΚΕΦΑΛΑΙΟ 11 ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ - ΠΡΟΣΟΜΟΙΩΣΗ ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ Θα εισαγάγουμε την έννοια του τυχαίου αριθμού με ένα παράδειγμα. Παράδειγμα: Θεωρούμε μια τυχαία μεταβλητή με συνάρτηση πιθανότητας η οποία σε

Διαβάστε περισσότερα

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1 Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών

Διαβάστε περισσότερα

ΔΕΟ13 - Επαναληπτικές Εξετάσεις 2010 Λύσεις

ΔΕΟ13 - Επαναληπτικές Εξετάσεις 2010 Λύσεις ΔΕΟ - Επαναληπτικές Εξετάσεις Λύσεις ΘΕΜΑ () Το Διάγραμμα Διασποράς εμφανίζεται στο επόμενο σχήμα. Από αυτό προκύπτει καταρχήν μία θετική σχέση μεταξύ των δύο μεταβλητών. Επίσης, από το διάγραμμα φαίνεται

Διαβάστε περισσότερα

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι

Διαβάστε περισσότερα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1

Διαβάστε περισσότερα

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά

Διαβάστε περισσότερα

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης 1. Στόχος του εργαστηρίου Στόχος του δέκατου εργαστηρίου

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

Εισαγωγή στην Κανονική Κατανομή. Παιδαγωγικό Τμήμα ημοτικής Εκπαίδευσης ημοκρίτειο Πανεπιστήμιο Θράκης Αλεξανδρούπολη

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

Διαβάστε περισσότερα

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Διαχείριση Βάσης Δεδομένων (dbadmin) > Αρχεία Αρχεία Εισαγωγή από αρχείο ASCII Με την εργασία αυτή έχετε την δυνατότητα να εισάγετε

Διαβάστε περισσότερα

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

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear

Διαβάστε περισσότερα

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος HY240 : Δομές Δεδομένων Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος Εισαγωγή Στο 2 ο μέρος της εργασίας θα πρέπει να γίνουν τροποποιήσεις στο πρόγραμμα που προέκυψε κατά την υλοποίηση του

Διαβάστε περισσότερα

Διαχείριση Βάσης Δεδομένων (dbadmin)

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

Διαβάστε περισσότερα

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2015-2016 Δεύτερη Προγραμματιστική Εργασία Γενική περιγραφή Στη δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε ένα διομότιμο σύστημα (Peer-to-

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

Διαβάστε περισσότερα

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

Σ ΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΚΑΙ ΕΡΜΗΝΕΙΑ ΑΠΟΤΕΛΕΣΜΑΤΩΝ Σ ΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΚΑΙ ΕΡΜΗΝΕΙΑ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΤΩΝ ΕΞΕΤΑΣΕΩΝ Μ ΑΪΟΥ 2002 2004 Δ ΕΥΤΕΡΟ ΜΕΡΟΣ Π ΕΡΙΛΗΨΗ: Η μελέτη αυτή έχει σκοπό να παρουσιάσει και να ερμηνεύσει τα ευρήματα που προέκυψαν από τη στατιστική

Διαβάστε περισσότερα

Παντελής Μπουμπούλης, M.Sc., Ph.D. σελ. 2 math-gr.blogspot.com, bouboulis.mysch.gr

Παντελής Μπουμπούλης, M.Sc., Ph.D. σελ. 2 math-gr.blogspot.com, bouboulis.mysch.gr VI Ολοκληρώματα Παντελής Μπουμπούλης, MSc, PhD σελ mth-grlogspotcom, ououlismyschgr ΜΕΡΟΣ Αρχική Συνάρτηση Ορισμός Έστω f μια συνάρτηση ορισμένη σε ένα διάστημα Δ Αρχική συνάρτηση ή παράγουσα της στο Δ

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

Διαβάστε περισσότερα

1 x-μ - 2 σ. e σ 2π. f(x) =

1 x-μ - 2 σ. e σ 2π. f(x) = Κανονική κατανομή Η πιο σημαντική κατανομή πιθανοτήτων της στατιστικής είναι η κανονική κατανομή. Η κανονική κατανομή είναι συνεχής κατανομή, σε αντίθεση με την διωνυμική που είναι διακριτή κατανομή. Τα

Διαβάστε περισσότερα

Δροµολόγηση (Routing)

Δροµολόγηση (Routing) Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση

Διαβάστε περισσότερα

ΑΣΥΜΜΕΤΡΙΑ Ας υποθέσουμε, ότι κατά την μελέτη της κατανομής δύο μεταβλητών, καταλήγουμε στα παρακάτω ιστογράμματα.

ΑΣΥΜΜΕΤΡΙΑ Ας υποθέσουμε, ότι κατά την μελέτη της κατανομής δύο μεταβλητών, καταλήγουμε στα παρακάτω ιστογράμματα. ΑΣΥΜΜΕΤΡΙΑ Ας υποθέσουμε, ότι κατά την μελέτη της κατανομής δύο μεταβλητών, καταλήγουμε στα παρακάτω ιστογράμματα. Στα παραπάνω ιστογράμματα, παρατηρούμε, ότι αν και υπάρχει διαφορά στη διασπορά των τιμών

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ Ακαδ. Έτος 08-09 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Επικ. Καθηγητής v.koutras@fme.aegea.gr Τηλ: 7035468 Εκτίμηση Διαστήματος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

Διαβάστε περισσότερα

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

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων Bit Διανύσματα Τεχνικές Κατακερματισμού & Συναρτήσεις

Διαβάστε περισσότερα

0x2 = 2. = = δηλαδή η f δεν. = 2. Άρα η συνάρτηση f δεν είναι συνεχής στο [0,3]. Συνεπώς δεν. x 2. lim f (x) = lim (2x 1) = 3 και x 2 x 2

0x2 = 2. = = δηλαδή η f δεν. = 2. Άρα η συνάρτηση f δεν είναι συνεχής στο [0,3]. Συνεπώς δεν. x 2. lim f (x) = lim (2x 1) = 3 και x 2 x 2 ΚΕΦΑΛΑΙΟ ο: ΣΥΝΑΡΤΗΣΕΙΣ - ΟΡΙΟ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ ΕΝΟΤΗΤΑ 8: ΘΕΩΡΗΜΑ BOLZANO - ΠΡΟΣΗΜΟ ΣΥΝΑΡΤΗΣΗΣ - ΘΕΩΡΗΜΑ ΕΝΔΙΑΜΕΣΩΝ ΤΙΜΩΝ - ΘΕΩΡΗΜΑ ΜΕΓΙΣΤΗΣ ΚΑΙ ΕΛΑΧΙΣΤΗΣ ΤΙΜΗΣ - ΣΥΝΟΛΟ ΤΙΜΩΝ ΣΥΝΕΧΟΥΣ ΣΥΝΑΡΤΗΣΗΣ

Διαβάστε περισσότερα

ΦΥΣΙΚΗ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Α ΛΥΚΕΙΟΥ

ΦΥΣΙΚΗ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Α ΛΥΚΕΙΟΥ ΦΥΣΙΚΗ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Α ΛΥΚΕΙΟΥ Ευθύγραμμη Ομαλή Κίνηση Επιμέλεια: ΑΓΚΑΝΑΚΗΣ.ΠΑΝΑΓΙΩΤΗΣ, Φυσικός https://physicscorses.wordpress.com/ Βασικές Έννοιες Ένα σώμα καθώς κινείται περνάει από διάφορα σημεία.

Διαβάστε περισσότερα

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

ΣΤΑΤΙΣΤΙΚΗ ΠΙΘΑΝΟΤΗΤΕΣ 9/10/009 ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Η/Υ ΣΤΑΤΙΣΤΙΚΗ ΠΙΘΑΝΟΤΗΤΕΣ 3o ΜΑΘΗΜΑ Ι ΑΣΚΩΝ ΒΑΣΙΛΕΙΑ ΗΣ ΓΕΩΡΓΙΟΣ Emal: gasl@math.auth.gr Ιστοσελίδα Μαθήματος: users.auth.gr/gasl

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΕΤΡΙΑ. Παπάνα Αγγελική

ΟΙΚΟΝΟΜΕΤΡΙΑ. Παπάνα Αγγελική ΟΙΚΟΝΟΜΕΤΡΙΑ Ενότητα 2: Ανασκόπηση βασικών εννοιών Στατιστικής και Πιθανοτήτων Παπάνα Αγγελική Μεταδιδακτορική ερευνήτρια, ΑΠΘ E-mail: angeliki.papana@gmail.com, agpapana@auth.gr Webpage: http://users.auth.gr/agpapana

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k )) Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

Διαβάστε περισσότερα

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7 Οι σημειώσεις που ακολουθούν περιγράφουν τις ασκήσεις που θα συναντήσετε στο κεφάλαιο 7. Η πιο συνηθισμένη και βασική άσκηση αναφέρεται στο IP Fragmentation,

Διαβάστε περισσότερα

Όριο συνάρτησης στο x. 2 με εξαίρεση το σημείο A(2,4) Από τον παρακάτω πίνακα τιμών και τη γραφική παράσταση του παραπάνω σχήματος παρατηρούμε ότι:

Όριο συνάρτησης στο x. 2 με εξαίρεση το σημείο A(2,4) Από τον παρακάτω πίνακα τιμών και τη γραφική παράσταση του παραπάνω σχήματος παρατηρούμε ότι: Όριο συνάρτησης στο Στα παρακάτω θα προσεγγίσουμε την διαισθητικά με τη βοήθεια γραφικών παραστάσεων και πινάκων τιμών. 4 4 Έστω η συνάρτηση f με τύπο f ) = και πεδίο ορισμού το σύνολο ) ) η οποία μπορεί

Διαβάστε περισσότερα

ΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

ΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες: Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι

Διαβάστε περισσότερα

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα Δένδρα Δένδρα Ειδική κατηγορία γραφημάτων: συνεκτικά γραφήματα που δεν περιέχουν απλά κυκλώματα [1857] Arthur Cayley: για απαρίθμηση ορισμένων ειδών χημικών ενώσεων Χρησιμοποιούνται σε πληθώρα προβλημάτων,

Διαβάστε περισσότερα

Κεφάλαιο 9. Έλεγχοι υποθέσεων

Κεφάλαιο 9. Έλεγχοι υποθέσεων Κεφάλαιο 9 Έλεγχοι υποθέσεων 9.1 Εισαγωγή Όταν παίρνουμε ένα ή περισσότερα τυχαία δείγμα από κανονικούς πληθυσμούς έχουμε τη δυνατότητα να υπολογίζουμε στατιστικά, όπως μέσους όρους, δειγματικές διασπορές

Διαβάστε περισσότερα

Κεφάλαιο 3 Πολυπλεξία

Κεφάλαιο 3 Πολυπλεξία Κεφάλαιο 3 Πολυπλεξία Μάθημα 3.1: Μάθημα 3.2: Μάθημα 3.3: Πολυπλεξία επιμερισμού συχνότητας χρόνου Συγκριτική αξιολόγηση τεχνικών πολυπλεξίας Στατιστική πολυπλεξία Μετάδοση Δεδομένων Δίκτυα Υπολογιστών

Διαβάστε περισσότερα

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

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

Διαβάστε περισσότερα

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

ΕΡΩΤΗΣΕΙΣ ΚΛΕΙΣΤΟΥ Ή ΑΝΤΙΚΕΙΜΕΝΙΚΟΥ ΤΥΠΟΥ ΕΡΩΤΗΣΕΙΣ ΚΛΕΙΣΤΟΥ Ή ΑΝΤΙΚΕΙΜΕΝΙΚΟΥ ΤΥΠΟΥ Με τις ερωτήσεις του τύπου αυτού καλείται ο εξεταζόμενος να επιλέξει την ορθή απάντηση από περιορισμένο αριθμό προτεινόμενων απαντήσεων ή να συσχετίσει μεταξύ

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Κατακερματισμός Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Λεξικό Dictionary Ένα λεξικό (dictionary) είναι ένας αφηρημένος τύπος δεδομένων (ΑΤΔ) που διατηρεί

Διαβάστε περισσότερα

Η ΙΣΧΥΣ ΕΝΟΣ ΕΛΕΓΧΟΥ. (Power of a Test) ΚΕΦΑΛΑΙΟ 21

Η ΙΣΧΥΣ ΕΝΟΣ ΕΛΕΓΧΟΥ. (Power of a Test) ΚΕΦΑΛΑΙΟ 21 ΚΕΦΑΛΑΙΟ 21 Η ΙΣΧΥΣ ΕΝΟΣ ΕΛΕΓΧΟΥ (Power of a Test) Όπως είδαμε προηγουμένως, στον Στατιστικό Έλεγχο Υποθέσεων, ορίζουμε δύο είδη πιθανών λαθών (κινδύνων) που μπορεί να συμβούν όταν παίρνουμε αποφάσεις

Διαβάστε περισσότερα

Κινητά και Διάχυτα Συστήματα. Ενότητα # 6: Εφαρμογές DHT Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κινητά και Διάχυτα Συστήματα. Ενότητα # 6: Εφαρμογές DHT Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κινητά και Διάχυτα Συστήματα Ενότητα # 6: Εφαρμογές DHT Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε

Διαβάστε περισσότερα

(18 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ - ΙI: «διάμεσος &θεσιακή επιλογή στοιχείου»

(18 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ - ΙI: «διάμεσος &θεσιακή επιλογή στοιχείου» (8 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΑΓΩΓΗ - ΙI: «διάμεσος &θεσιακή επιλογή στοιχείου» Το πρόβλημα του διαμέσου στοιχείου: ένα θεμελιακό πρόβλημα Συναντήσαμε ήδη αρκετές φορές το πρόβλημα του να «κόψουμε» ένα σύνολο στοιχείων

Διαβάστε περισσότερα

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου

Διαβάστε περισσότερα