Fast Algorithms for Bit-Serial Routing on a Hypercube

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

Download "Fast Algorithms for Bit-Serial Routing on a Hypercube"

Transcript

1 Πανεπιστήμιο Πατρών Τμήμα Μηχανικών ΗΥ & Πληροφορικής Παράλληλοι Αλγόριθμοι Fast Algorithms for Bit-Serial Routing on a Hypercube Επιμέλεια: Ιωάννης Δουράτσος Κυριάκος Ισπόγλου Ιωάννα Τζανέτου Επίβλεψη: Εύη Παπαϊωάννου Ιούλιος, 2014

2 CONTENTS CONTENTS Contents 1 Introduction 2 2 Σχετικές Εργασίες 2 3 Oblivious routing 3 4 Μοντέλα switches 3 5 Δρομολόγηση στο μοντέλο ισχυρών switches 4 6 Δρομολόγηση στο μοντέλο αδύναμων switches 4 7 Αντιστοίχιση σε υπερκύβο 7 8 Κάτω φράγμα για oblivious routing 9 1

3 2 ΣΧΕΤΙΚΈΣ ΕΡΓΑΣΊΕΣ 1 Introduction Στο paper το οποίο μελετάμε περιγράφεται ένας αλγόριθμος που βασίζεται στη τυχαιότητα για τη δρομολόγηση πακέτων σε ένα υπερκύβο μέσα σε O(logN) βήματα δρομολόγησης bit. Ο αλγόριθμος αυτός βελτιώνει τον καλύτερο προηγούμενο αλγόριθμο κατά μια λογαριθμική τιμή. Ταυτόχρονα ο ίδιος αλγόριθμος λύνει το πρόβλημα της online circuit switching δρομολόγησης σε ένα O(1) dilated υπερκύβο. Στον υπερκύβο είναι δύσκολη γενικά η υλοποίηση γρήγορων bit-serial αλγορίθμων, κάτι που οφείλεται στο ότι δεδομένου ενός πακέτου μήκους logn bits, το κεφάλι του πακέτου θα βρίσκεται κοντά στον προορισμού πριν καν η ουρά του ξεκινήσει από την αφετηρία, ενώ κατά την διάρκεια της διαδρομής του μέσα στο κανάλι θα χρησιμοποιεί έως και logn καλώδια αποτρέποντας τα άλλα πακέτα από το να τα χρησιμοποιήσουν για τη δρομολόγηση τους. Ο αλγόριθμος ο οποίος παρουσιάζεται είναι βέλτιστος για την δρομολόγηση πακέτων στον υπερκύβο, αφού δρομολογεί ένα πακέτο M bits μέσα σε O(M+logN) βήματα δρομολόγησης bits δηλαδή απαιτεί μόλις ένα βήμα για κάθε bit του πακέτου, αφού μαζί με τα bit που περιέχουν τη πληροφορία για το κόμβο προορισμού του πακέτου, το πακέτο αποτελείται από Μ+logN bits. Το αποτέλεσμα του αλγορίθμου μπορεί να χρησιμοποιηθεί για την on-line δρομολόγηση σε ένα υπερκύβο. Αυτό βελτιώνει τους μέχρι τώρα υπάρχοντες αλγορίθμους, που βασίζονταν στην αντικατάσταση κάθε ακμής του υπερκύβου με τέσσερις κατευθυνόμενες ακμές, οι οποίοι όλοι χρειάζονταν Ω(log 3 N) για να υπολογίσουν τα μονοπάτια που πρέπει να ακολουθήσει κάθε πακέτο. Με τον αλγόριθμο που θα παρουσιαστεί, μπορούν να υπολογιστούν τα κατάλληλα μονοπάτια σε O(logN) βήματα δρομολόγησης bit αν υπάρχουν O(1) αντίγραφα των ακμών του υπερκύβου προς κάθε κατεύθυνση. 2 Σχετικές Εργασίες Όσον αφορα το πρώτο μέρος της εργασίας, δηλαδή την εύρεση ενός αποδοτικού αλγορίθμου δρομολόγησης σε υπερκύβους έχουν γίνει αρκετές προσπάθεις. Η καλύτερη προσπάθεια για έναν ντετερμινιστικό αλγόριθμο δρομολόγησης, έγινε από τους Cypher και Plaxton στην εργασία «Deterministic Sorting in nearly logarithmic time on the hypercube and related computers», με συνολική πολυπλοκότητα: O(logN log 2 logn) Ωστόσο ένας πιθανότικός αλγόριθμος δρομόλογησης θα έδινε καλύτερους χρόνους εκτέλεσης. Οι Leighton, Maggs και Rao στην εργασία τους «Universal packet routing algorithms» προτείναν ένα τυχαιοποιημένο αλγόριθμο που με μεγάλη πιθανότητα έχει πολυπλοκότητα: O(c + D + logn) όπου c είναι η μέγιστη συμφόρηση, D είναι η μέγιστη απόσταση και N ο αριθμός των πακέτων, Τώρα για το δεύτερο σκέλος της εργασίας, δηλαδή την προσπάθεια εύρεσης ενός καλύτερου κάτω φράγματος για πλήθος των βημάτων που απαιτούνται, η μέχρι τώρα καλύτερη τιμή ήταν: Ω( n d 3/2 ) Η οποία δημοσιεύτηκε από τους Borodin και Hopcroft στην εργασία «Routing, mergin, and sorting on parallel models of computation», ενώ αργότερα οι Kaklamanis, Krizanc και Tsantilas με την εργασία «Tight bounds for oblivious routing in the hypercube» δημοσίευσαν ένα καλύτερο φράγμα για την δρομολόγηση οποιασδήποτε μετάθεσης με κάποιον oblivious αλγόριθμο δρομολόγησης: Ω( n d ) Όπου d είναι ο μέγιστος βαθμός του δικτύου. Ακόμα για τον υπερκύβο των Ν κόμβων, υπολογίζεται ένα ακόμα άνω φράγμα, με την εύρεση ενός ντετερμινιστικού oblivious αλγορίθμου ο οποιός δρομολογεί οποιαδήποτε μετάθεση αριθμών σε Θ( n logn ) βήματα, ενώ το μέχρι στιγμής καλύτερο φράγμα ήταν Θ( n). Όπως θα δούμε, τα αποτελέσματα που παρουσιάζονται εδώ είναι αρκετά καλύτερα από τα προηγούμενα. 2

4 4 ΜΟΝΤΈΛΑ SWITCHES 3 Oblivious routing Πολύ σημαντικό για την κατανόηση του περιεχομένου του paper είναι η κατανόηση της έννοιας ενός oblivious αλγορίθμου δρομολόγησης. Κάθε πακέτο περιέχει εκτός από τα data και πληροφορία την οποία χρησιμοποιεί για να επιτευχθεί σωστά η δρομολόγηση του (ticket). Η πληροφορία αυτή αρχικά αποτελείται μόνο από το όνομα του πακέτου και τη διεύθυνση του κόμβου στον οποίο κατευθύνεται, και κατά τη διάρκεια του ταξιδιού του πακέτου μέσα στο δίκτυο η πληροφορία αυτή μπορεί να αλλάξει. Η δρομολόγηση εξαρτάται από τα περιεχόμενα του ticket. Οι oblivious αλγόριθμοι δρομολόγησης είναι αυτοί στους οποίους η αλλαγή δεδομένων μέσα στο ticket ενός πακέτου δεν εξαρτώνται από την ύπαρξη άλλων πακέτων ή από τα tickets των άλλων πακέτων που βρίσκονται στο δίκτυο με κανένα τρόπο. Σε αντίθεση με τους περισσότερους αλγορίθμους δρομολόγησης σε υπερκύβο που βασίζονται στην τυχαιότητα, ο αλγόριθμος που προτείνεται δεν είναι oblivious. Αποδεικνύεται επίσης ότι κάθε oblivious αλγόριθμος δρομολόγησης που βασίζεται στην τυχαιότητα χρειάζεται Ω((M + logn logd ) logn logd+loglogn ) βήματα δρομολόγησης bit με μεγάλη πιθανότητα όπου M το μέγεθος πακέτου χωρίς τα bit που χρησιμοποιούνται για τη διευθυνσιοδότηση και d ο μέγιστος βαθμός των κόμβων του γραφήματος. Όταν αυτό το όριο το εφαρμόσουμε στον υπερκύβο, τότε το κάτω όριο ορίζεται ως Ω( log2 N loglogn ) βήματα δρομολόγησης bit. Για την παρουσίαση του αλγορίθμου χρησιμοποιείται το δίκτυο b-dilated πεταλούδας, το οποίο προκύπτει από το δίκτυο πεταλούδας όταν αντικαταστήσουμε κάθε ακμή του δικτύου με ένα bundle από b ακμές. Με βάση το δίκτυο αυτό παρουσιάζονται δύο αλγόριθμοι, ο πρώτος από τους οποίους είναι απλούστερος αλλά απαιτεί από κάθε switch του δικτύου να μπορεί να ανταπεξέλθει σε logn νέα πακέτα ταυτόχρονα, ενώ ο δεύτερος αν και πιο περίπλοκος στην εκτέλεση του, απαιτεί από κάθε switch τον έλεγχο δύο των πολύ πακέτων σε κάθε βήμα. Αφού οι αλγόριθμοι περιγραφούν στο δίκτυο πεταλούδας που είναι ευκολότερο στην κατανόηση, δείχνεται πως μπορούν να χρησιμοποιηθούν στον υπερκύβο κάνοντας κατάλληλη αντιστοίχηση ανάμεσα στις ακμές και τους κόμβους του υπερκύβου και της b-dilated πεταλούδας. Ας περιγράψουμε τον αλγόριθμο στην b-dilated πεταλούδα. Αρχικά, σε ένα δίκτυο πεταλούδας κάθε κόμβος μπορεί να αναφερθεί από μια δυάδα (r,l) όπου r η γραμμή του κόμβου και l το επίπεδο. Σε ένα δίκτυο πεταλούδας με n επίπεδα, η γραμμή είναι ένας δυαδικός αριθμών των n bits και το επίπεδο είναι ένας ακέραιος από 0 έως n. Για κάθε επίπεδο l < n, κάθε κόμβος (r,l) έχει ακμή προς τον (r, l + 1) και τον (r l+1, l + 1), όπου r l+1 το r όταν το bit l + 1αντιστραφεί. Αν υποθέσουμε ότι οι κόμβοι εισόδου και οι κόμβοι εξόδου αναγνωρίζονται από το ίδιο label τότε σε ένα δίκτυο πεταλούδας n επιπέδων έχουμε N = n 2 n κόμβους. Για την ευκολότερη κατανόηση θα υποθέσουμε επίσης ότι οι κόμβοι είναι κατευθυνόμενοι από αριστερά προς τα δεξιά (καθώς δηλαδή αυξάνει το επίπεδο), οπότε θα καλούμε ακμές εισόδου τις ακμές που κατευθύνονται προς ένα switch ενώ ακμές εξόδου αυτές που φεύγουν από ένα switch. Εφόσον σε κάθε κανονικό δίκτυο πεταλούδας κάθε switch έχει δύο ακμές εισόδου και δύο ακμές εξόδου, τότε είναι πολύ εύκολο να δούμε ότι σε ένα b-dilated δίκτυο όπου θα έχουμε αντικαταστήσει κάθε ακμή με ένα bundle από b ακμές, κάθε switch θα έχει ως είσοδο δύο bundles από b ακμές εισόδου το κάθε ένα και ως έξοδο άλλα δύο bundles από b ακμές εξόδου. 4 Μοντέλα switches Τα switches είναι αυτά που θα καθορίσουν και τη πολυπλοκότητα του αλγορίθμου δρομολόγησης που θα χρησιμοποιήσουμε. Υπάρχουν δύο μοντέλα switches, ανάλογα με το πόσες ακμές εισόδου μπορεί να ελέγχει ένα switch σε κάθε βήμα. Αν θεωρήσουμε ότι κάθε switch μπορεί να ελέγξει όλες τις ακμές που προσπίπτουν σε αυτό μέσα σε ένα βήμα, τότε έχουμε μοντέλο δυνατού switch ενώ αν μπορεί να εξετάσει μόνο μία ακμή από κάθε bundle τότε έχουμε το μοντέλο αδύναμου switch. Σε κάθε περίπτωση, κάθε switch μπορεί να ενώσει μια ακμή εισόδου με μία ακμή εξόδου έτσι ώστε στο μέλλον κάθε bit που θα έρθει στην ακμή εισόδου να μεταφερθεί στην ακμή εξόδου ένα βήμα αργότερα χωρίς να χρειαστεί να το εξετάσει το switch. Η διαφορά έγκειται στο ότι στο μοντέλο δυνατού switch το switch μπορεί να εκτελέσει ένα ταίριασμα ανάμεσα σε οσαδήποτε ζευγάρια ακμών εισόδου-εξόδου, ενώ στο μοντέλο αδύναμου switch περιορίζεται σε ένα ζευγάρι το πολύ. Σε κάθε περίπτωση, κάθε switch μπορεί να δώσει στην έξοδο του το πολύ ένα bit σε κάθε βήμα. Προσπαθώντας να δρομολογήσουμε μεταθέσεις σε ένα δίκτυο πεταλούδα μπορούμε εύκολα να αναγάγουμε το πρόβλημα στην περίπτωση που κάθε είσοδος είναι η αφετηρία n πακέτων και κάθε έξοδος αποτελεί τον προορισμό n πακέτων. Η δρομολόγηση των πακέτων γίνεται σε δύο φάσεις: 3

5 6 ΔΡΟΜΟΛΌΓΗΣΗ ΣΤΟ ΜΟΝΤΈΛΟ ΑΔΎΝΑΜΩΝ SWITCHES 1. Στην πρώτη φάση κάθε πακέτο στέλνεται σε ένα τυχαίο κόμβο εξόδου του επιπέδου n 2. Στη δεύτερη φάση κάθε πακέτο δρομολογείται από τον κόμβο αυτό στο πραγματικό κόμβο προορισμού στο επίπεδο n Με αυτό το τρόπο, εξασφαλίζουμε ότι με μεγάλη πιθανότητα το πολύ Ο(logN) πακέτα θα περάσουν από κάθε switch κατά τη διάρκεια κάθε φάσης. Σε ένα δίκτυο που είναι dilated κατά O(logN) είναι προφανές ότι το πολύ ένα πακέτο θα χρησιμοποιεί κάθε φορά οποιαδήποτε ακμή του δικτύου, κάτι που σημαίνει οτι ο αλγόριθμος αυτός είναι κατάλληλος και για circuit switching. Ο τρόπος με τον οποίο τα πακέτα δρομολογούνται μέσα στο δίκτυο, είναι συγκεκριμένος: στην άκρη κάθε ακμής βρίσκεται μια ουρά η οποία μπορεί να κρατήσει ένα μικρό αριθμό από bits. Συνεπώς, εφόσον κάθε πακέτο θα περιέχει τουλάχιστον n bits (λόγω της πληροφορία που περιέχει για τον προορισμό του), δεν μπορεί να αποθηκευτεί σε μια ακμή, αλλά πρέπει να απλωθεί σε πολλές. Το πακέτο μεταβαίνει από ακμή σε ακμή μόνο όταν το κεφάλι μετακινηθεί σε επόμενη ακμή και αφήσει άδειο χώρο στην ουρά στην οποία μέχρι τότε ήταν αποθηκευμένο. Τότε το επόμενο bit μεταβαίνει στη θέση του κεφαλιού κ.ο.κ ώστε όλο το πακέτο συνολικά να κινηθεί μέσα στο δίκτυο. Στη κορυφή κάθε πακέτου βρίσκεται ένα κομμάτι πληροφορίας που σχετίζεται με τον προορισμό του πακέτου, το οποίο αποτελείται από 2n bits, το οποίο αναλύεται σε n bits πληροφορίας για τον ενδιάμεσο προορισμό του πακέτου και n bits πληροφορίας για το τελικό προορισμό του πακέτου. Κάθε φορά που το πακέτο περνάει από ένα switch, το πιο σημαντικό bit αφαιρείται και χρησιμοποιείται ώστε να αποφασιστεί σε πιο bundle από ακμές εξόδου θα αποσταλεί το πακέτο. 5 Δρομολόγηση στο μοντέλο ισχυρών switches Στο μοντέλο αυτό όπως είπαμε κάθε switch μπορεί να ελέγξει όλες τις ακμές κάθε bundle ταυτόχρονα και μπορεί να ενώσει οσεσδήποτε ακμές εισόδου με ακμές εξόδου μέσα σε ένα βήμα. Για αυτό ακριβώς το λόγο, κανένα πακέτο δεν θα καθυστερήσει, κάτι που κάνει τον αλγόριθμο δρομολόγησης πολύ απλό. Σε κάθε βήμα, κάθε switch ελέγχει τις ακμές εισόδου του για νέα πακέτα. Μόλις βρεί ένα νέο πακέτο, αφαιρεί το αρχικό bit από τον header του πακέτου και ενώνει την ακμή από την οποία προήρθε το πακέτο με μια ακμή εξόδου που δεν χρησιμοποιείται η οποία ανήκει στο bundle ακμών που προσδιορίζεται από το bit που μόλις διάβασε. Λόγω του ότι δουλεύουμε σε δίκτυο πεταλούδας που είναι logn-dilated, ξέρουμε ότι πάντα θα μπορούμε να βρούμε μια τέτοια ακμή σε κάθε bundle και συνεπώς ο αλγόριθμος δρομολόγησης δουλεύει σε κάθε περίπτωση. 6 Δρομολόγηση στο μοντέλο αδύναμων switches Στη περίπτωση των αδύναμων switches ο αλγόριθμος δρομολόγησης γίνεται πολύ πιο περίπλοκος, αφού εμφανίζονται προβλήματα όταν πολλαπλά πακέτα φτάσουν στο ίδιο bundle ακμών εισόδου την ίδια χρονική στιγμή. Όπως αναφέραμε ήδη, ένα switch τότε μπορεί να ελέγξει μόνο μια από αυτές, το οποίο σημαίνει και ότι μπορεί να συνδέσει μόνο μια με κάποια κατάλληλη ακμή εξόδου, δηλαδή τα υπόλοιπα πακέτα θα καθυστερήσουν. Ο αλγόριθμος δρομολόγησης θα πρέπει να εξασφαλίζει ότι η συνολική καθυστέρηση που υφίσταται κάθε πακέτο είναι το πολύ O(log N) βήματα bit. Ο αλγόριθμος δρομολόγησης που προτείνεται εδώ, είναι μια παραλλαγή του αλγορίθμου του Ranade για τη δρομολόγηση πακέτων σε δίκτυα πεταλούδας. Σε αυτόν τον αλγόριθμο, ανατείθεται αρχικά σε κάθε πακέτο μια τυχαία βαθμολογία (κάποιο rank), η οποία αποθηκεύεται μπροστά από την επικεφαλίδα προορισμού. Το σημαντικότερο -που διατηρείται αναλλοίωτο από τον αλγόριθμο- είναι ότι η ροή των πακέτων που φεύγουν από κάθε switch είναι διατεταγμένη σε μια μη-φθίνουσα διάταξη. Προκειμένου να διατηρηθεί αυτή η ροή πακέτων ταξινομημένη, ένα switch δεν στέλνει ποτέ κάποιο πακέτο μέχρι να βεβαιωθεί ότι κανένα άλλο πακέτο με μικρότερη βαθμολογία δεν θα φτάσει αργότερα. Το πρόβλημα με την εφαρμογή του αλγορίθμου του Ranade στο bit μοντέλο είναι ότι παίρνει πολύ χρόνο για να συγκρίνει τις βαθμολογίες δύο πακέτων στο ίδιο switch. Στον αλγόριθμο που παρουσιάζεται εδώ, ανατείθονται τυχαία οι βαθμολογίες των πακέτων ενώ διατηρείται αναλλοίωτο το γεγονός ότι τα πακέτα που φεύγουν από το switch είναι ταξινομημένα ως προς την βαθμολογία τους.η αλλαγή που κάνουμε στο σχήμα είναι ότι τα πακέτα δεν περιέχουν την βαθμολογία τους. Αντί αυτού εισάγεται ένας νέος τύπος πακέτων που ονομάζεται token. Τα tokens χρησιμοποιούνται για να αντιπροσωπεύουν τις βαθμολογίες των πακέτων: από κάθε bundle περνάνε ακριβώς r tokens (από διαφορετικές ακμές) πριν από ένα πακέτο με βαθμολογία r. Ένα token μπορεί να θεωρηθεί ότι έχει και αυτό μια βαθμολογία. Η βαθμολογία του 4

6 6 ΔΡΟΜΟΛΌΓΗΣΗ ΣΤΟ ΜΟΝΤΈΛΟ ΑΔΎΝΑΜΩΝ SWITCHES token ισούται με τον αριθμό των token που έχουν περάσει μέσα από το bundle πριν από αυτό (με άλλα λόγια το i-οστό token που περνάει από το bundle θα έχει βαθμολογία i). Ένα token δεν φέρει καμία άλλη πληροφορία εκτός από το είδος του και για αυτό το λόγο μπορεί να αναπαρασταθεί με O (1) bits. Οι μηχανισμοί του αλγορίθμου είναι αρκετά απλοί. Ένα switch διατηρεί έναν δείκτη σε μια ακμή για κάθε ένα τα τα 2 bundle εισόδου και τα 2 bundle εξόδου. Αυτές οι ακμές καλούνται ως η ενεργή είσοδος και η ενεργή έξοδος αντίστοιχα. Αν και οι δύο ενεργες ακμές εισόδου έχουν token στις ουρές τους, τότε το switch στέλνει ένα token και στις δύο ενεργές ακμές εξόδου, και ενημερώνει και τους 4 δείκτες ακμών. Αν ένα από τα ενεργά άκρα εισόδου έχει ένα token στην ουρά του και το άλλο ένα πακέτο, τότε το switch αφαιρεί από το πρώτο bit της επικεφαλίδας του πακέτου, ενώνει το πακέτο στην τρέχουσα ακμή του bundle εξόδου που καθορίζεται από αυτό το bit, και ενημερώνει τους δείκτες για τα bundles που χρησιμοποιήθηκαν από το πακέτο. Αν και οι δύο από τις ενεργές ακμές εισόδου έχουν πακέτα σε ουρές τους, τότε το switch προωθεί το ένα από αυτά, και ενημερώνει τους δείκτες για τα bundles που χρησιμοποιήθηκαν από αυτό. Εάν οποιαδήποτε από τις ενεργές ακμές εισόδου έχει μια άδεια ουρά, τότε το switch δεν κάνει τίποτα. Για την εκκίνηση του αλγορίθμου, ανατείθεται σε κάθε πακέτο p μια τυχαία βαθμολογία rank(p) από το σύνολο [0,..., w-1], όπου το w=o(logn). Τα switches στο επίπεδο 0 στέλνουν μια ροή πακέτων αναμιγμένη με tokens, έτσι ώστε να προηγούνται r tokens πριν από κάθε πακέτο με βαθμολογία r. Συνολικά αποστέλλονται, w tokens σε κάθε δέσμη. Τα tokens με βαθμό w 1 ακολουθούν όλα τα υπόλοιπα πακέτα και tokens στο δίκτυο. Η φάση δρομολόγησης ολοκληρώνεται όταν κάθε έξοδος έχει λάβει ένα token με βαθμολογία w-1 και από τα 2 bundle εισόδου του. Για ακόμη ευκολότερη υλοποίηση από πλευράς του δικτύου, τα tokens με βαθμολογία w-1 μπορεί να είναι ειδικά μαρκαρισμένα έτσι ώστε οι έξοδοι να μην χρειάζεται να μετρούν τον αριθμό των token που έχουν λάβει. Κατά τη διάρκεια του αλγορίθμου, κάθε ακμή χρησιμοποιείται είναι από ένα πακέτο, ή ένα token, ή και καθόλου. Κατά συνέπεια, η πεταλούδα πρέπει να επεκταθεί περαιτέρω με την προσθήκη w ακμών σε κάθε bundle. Δεδομένου ότι w = O (logn), η πεταλούδα παραμένει επεκτεταμένη κατά O (logn). Η απόδειξη ότι τα heads των πακέτων καταφθάνουν γρήγορα στους προορισισμούς τους χρησιμοποιεί ένα επιχείρημα που βασίζεται στις ακολουθίες καθυστέρησης. Μία k-delay ακολουθία καθυστέρησης αποτελείται από 4 συνιστώσες: 1. Μια διαδρομή προς τα πίσω από μια έξοδο σε μια εισόδου, 2. Μια ακολουθία (όχι απαραίτητα διακριτή) από switches που εμφανίζονται στην διαδρομή με τη σειρά s 1, s 2,...s k, 3. Μια ακολουθία p 1, p 2,...p k διαφορετικών πακέτων, έτσι ώστε το s i να διέρχεται μέσα από p i 4. Μια αλληλουχία r 1, r 2,...r k από μη αύξοντες βαθμολογίες Μια k-delay ακολουθία προκύπτει, εάν rank(p i ) = r i για 1 <= i <= k. Το αν θα συμβεί ή όχι μια καθυστέρηση εξαρτάται αποκλειστικά από τις βαθμολογίες των τυχαίων αριθμών που εκχωρούνται στα πακέτα. Ο χώρος πιθανοτήτων αποτελείται από w N δυνατές αναθέσεις από βαθμολογιών, ενώ μια k-delay ακολουθία καθυστέρησης παρουσιάζεται σε w ( k) από αυτές. Συνεπώς, αυτό συμβαίνει με πιθανότητα 1 w k. Λήμμα 1: Για κάθε d>w, αν κάποιo πακέτο φτάσει στον ενδιάμεσο προορισμό του στο στάδιο n + d, τότε πρέπει να έχει συμβεί μια (d-w)-delay ακολουθία καθυστέρησης. Απόδειξη: Θα κατασκευάσουμε μια ακολουθία καθυστέρησης χαλώντας πόντους καθυστέρησης. Η καθυστέρηση ενός πακέτου στο επίπεδο l τη χρονική στιγμή t είναι t - l. Εάν κάποιo πακέτο φτάσει στον προορισμό του στο βήμα n + d, τότε έχει καθυστέρηση d. Χρησιμοποιούμε αυτά τα d σημεία για την κατασκευή της ακολουθίας. Για κάθε σημείο που ξοδεύεται είτε εισάγουμε ένα πακέτο στην ακολουθία, είτε μειώνουμε τη βαθμολογία του επόμενου πακέτου στην ακολουθία. Μιας και μπορούν να γίνουν το πολύ w μειώσεις στην βαθμολογία, η ακολουθία θα πρέπει να περιέχει τουλάχιστον, d-w πακέτα. Η κατασκευή της ακολουθίας καθυστέρησης ξεκινάει με το τελευταίο πακέτο που πρέπει να φθάσει στον προορισμό του. Ας υποθέσουμε ότι ένα πακέτο p 1 φτάνει στον προορισμό του s 1, σε χρόνο n + d. Πρώτον, 5

7 6 ΔΡΟΜΟΛΌΓΗΣΗ ΣΤΟ ΜΟΝΤΈΛΟ ΑΔΎΝΑΜΩΝ SWITCHES εισάγουμε τα p 1, s 1, και r 1 = rank(p 1 ) στην ακολουθία καθυστέρησης. Στη συνέχεια ακολουθούμε το pl πίσω στο χρόνο μέχρι να γίνει το τελευταίο που θα καθυστερήσει. Η καθυστέρηση παραμένει d σε κάθε βήμα στο μονοπάτι, μέχρι το βήμα στο οποίο το p 1 απέτυχε να προωθηθεί, όπου η καθυστέρηση πέφτει στο d-1. Αν το p 1 είχε καθυστερήσει στο switch s 2 επειδή κάποιο άλλο πακέτο p 2 είχε σταλεί αντ 'αυτού, τότε rank(p 2 ) = rank(p 1 ), και εισάγονται τα p 2, s 2 και r 2 = rank(p 2 ) στην ακολουθία, και ακολουθούμε το p 2 back in time μέχρι να γίνει το τελευταίο που θα καθυστερήσει. Σε αυτήν την περίπτωση έχει εισαχθεί ένα πακέτο με κόστος ένός πόντου καθυστέρησης. Στο δίκτυο πεταλούδας, αν οι διαδρομές των δύο πακέτων αρχίζουν να αποκλίνουν, δεν συναντηθούν ποτέ στο μέλλον. Ετσι, αν το p 2 καθυστερήσει το p 1, τότε το p 2 θα παραμένει μπροστά από p 1 όσο διαδρομές τους τέμνονται. Κατά συνέπεια, κανένα πακέτο δεν εισάγεται εντός της ακολουθίας περισσότερο από μία φορά. Διαφορετικά, υποθέτουμε ότι το p 1 καθυστέρησε επειδή ένα token t 1 στάλθηκε στην θέση του. Στην περίπτωση αυτή είναι rank(t 1 ) = rank(p 1 ) 1. Δεν εισάγουμε τίποτε στην ακολουθία, αλλά αντίθετα ακολουθούμε το t 1 πίσω στο χρόνο μέχρι να γίνει το τελευταίο που θα καθυστερήσει. Σε αυτή την περίπτωση, έχουμε χάσει ένα πόντο καθυστέρησης, αλλά έχουμε μειωσεί επίσης τον βαθμό του επόμενου πακέτου στην ακολουθία κατά τουλάχιστον ένα. Η τρίτη περίπτωση είναι το p 1 να καθυστέρησε επειδή η τρέχουσα ακμή στην άλλη είσοδο του bundle, c, δεν είχε κάτι να στείλει. Σε αυτή την περίπτωση δεν χρειάζεται να εισαχθεί τίποτε στην ακολουθία, αλλά να πάμε πίσω μέσω του c σε ένα switch s στο προηγούμενο επίπεδο στο προηγούμενο χρονικό. Στο προηγούμενο βήμα, το switch s δεν πρέπει να είχε στείλει τίποτα από το bundle c. Αυτό μπορεί να συμβεί για έναν από δύο λόγους: Είτε το s έστειλε ένα πακέτο p 2 σε άλλο bundle, ή ένα από τα bundles εισόδου c' στο s δεν είχε τίποτα να στείλει. Στην πρώτη περίπτωση, τοποθετούμε τα p 2, s2 = s, και r2 = rank(p 2 ) = rank(p 1 ) στην ακολουθία, και ακολουθούμε το p 2 πίσω στο χρόνο μέχρι να γίνει το τελευταίο που θα καθυστερήσει. Στην τελευταία περίπτωση, πάμε πίσω μέσω του c' σε ένα switch s' στο προηγούμενο επίπεδο κατά το προηγούμενο βήμα και να συνεχίζουμε. Συνεχίζοντας με αυτόν τον τρόπο, οφείλουμε τελικά να φτάσουμε σε ένα switch που έστειλε ένα πακέτο. Τώρα που έχουμε αναλύσει τους τρόπους με τους οποίους ένα πακέτο μπορεί να καθυστερήσει, πρέπει να εξετάσουμε τους τρόπους με τους οποίους μπορεί να καθυστερήσει ένα token. Ας υποθέσουμε ότι ακολουθούμε ένα token t 1 πίσω στο χρόνο μέχρι να γίνει το τελευταίο που θα καθυστερήσει σε ένα switch s. Αν το t1 καθυστερήσει επειδή το s έστειλε ένα πακέτο p αντί για αυτό, τότε εισάγουμε τα p 2 = p, s 2 = s, και r s = rank(p) = rank(t 1 ) στην ακολουθία. Διαφορετικά, αν το t 1 καθυστερήσει επειδή το s έστειλε ένα άλλο token t 1 αντί γιαυτό, τότε rank(t 1) = rank(t 1 ) 1, και ακολουθούμε το t1' πίσω στο χρόνο μέχρι να γίνει το τελευταίο που θα καθυστερήσει. Η τελευταία πιθανότητα είναι ότι το t 1 καθυστέρησε εξαιτίας ενός bundle εισόδου c στο s, που δεν είχε τίποτα να στείλει. Σε αυτήν την περίπτωση, πηγαίνουμε πίσω μέσω του c ακρισβώς σαν να είχε καθυστερήσει ένα πακέτο για τον ίδιο λόγο. Η παραπάνω ανάλυση των περιπτώσεων δείχνει ότι για κάθε πόντο καθυστέρησης που σπαταλήθηκε, είτε ένα πακέτο εισάγεται εντός της ακολουθίας καθυστέρησης, ή η βαθμολογία του επόμενου πακέτου στην ακολουθία μειώνεται, συνεπώς η ακολουθία πρέπει να περιέχει τουλάχιστον d - w πακέτα. Θεώρημα 2: Για κάθε σταθερά k 1, υπάρχει μια σταθερά k 2 τέτοια ώστε η πιθανότητα κάποιο πακέτο να μην μπορεί να φτάσει στον ενδιάμεσο προορισμό του σε k 2 logn βήματα είναι το πολύ 1 k 1. Απόδειξη: Προκειμένου να βρούμε ένα φράγμα της πιθανότητας ένα πακέτο να καθυστερήσει πολύ, αρκεί μόνο να βρούμε ένα φράγμα της πιθανότητας να εμφανίστεί κάποια ακολουθία καθυστέρησης. Για να γίνει αυτό, απλά καταγράφουμε τον αριθμό των διαφορετικών ακολουθιών καθυστέρησης, και τον πολλαπλασιάζουμε με την πιθανότητα που έχουν ώστε οποιαδήποτε απο αυτές συμβεί. Η ανάλυση για τη δεύτερη φάση της δρομολόγησης είναι παρόμοια. Αν απαιτείται η πρώτη φάση να ολοκληρωθεί πριν από την έναρξη της δεύτερης φάσης, τότε κάθε μια από αυτές χρειάζεται O(log N) bit βήματα, και άρα ο συνολικός χρόνος είναι O(log N) bit βήματα. Στην πραγματικότητα, είναι δυνατόν να γίνει κάποιο pipelining στις δύο φάσεις, έτσι ώστε ορισμένα πακέτα να ξεκινήσουν την δεύτερη φάση πριν τελειώσει η πρώτη. Το αλγόριθμος που προκύπτει είναι απλούστερος και εξακολουθεί να απαιτεί μόνο O (log N) bit βήματα. Η ανάλυση είναι λίγο πιο περίπλοκη επειδή ένα πακέτο p 1 μπορεί να προκαλέσει την καθυστέρηση ενός άλλου πακέτου p 2 στη πρώτη φάση, και το p 2 να καθυστερήσει τo p 1 στην δεύτερη φάση. Μόλις το head ενός πακέτου φτάσει στον πραγματικό προορισμό του, τα Μ bits δεδομένων που ακολουθούν 6

8 7 ΑΝΤΙΣΤΟΊΧΙΣΗ ΣΕ ΥΠΕΡΚΎΒΟ φθάνουν σταδιακά στον προορισμό σε O(M) bit βήματα. Δεδομένου ότι, με μεγάλη πιθανότητα, όλα τα heads θα φθάσουν στον προορισμό τους σε O (log N) bit βήματα, ο συνολικός χρόνος θα είναι, με μεγάλη πιθανότητα, επίσης Ο(M + log N). 7 Αντιστοίχιση σε υπερκύβο Θυμίζουμε ότι παρόλο που οι αλγόριθμοι που περιγράφονται παραπάνω υλοποιούνται σε δίκτυο πεταλούδας, αρχικό έναυσμα για την ανάπτυξη τους ήταν η ανάγκη για γρήγορη δρομολόγηση σε υπερκύβο. Για αυτό το λόγο, σε αυτή την ενότητα δείχνεται πως ένας υπερκύβος με Ν κόμβους μπορεί να προσομοιώσει τον αλγόριθμο δρομολόγησης που εκτελείται από μια επεκτεταμένη κατά Ο(logN) πεταλούδα Ν κόμβων με σταθερό slow-down. Η ιδέα είναι να χωρίστεί η πεταλούδα στην μέση και να ενσωματωθεί κάθε μισό σε υπερκύβος με σταθερό φορτίο, συμφόρηση, και διαστολή. Τα δύο μισά είναι συνδεδεμένα μεταξύ τους με μια σειρά από μονοπάτών με σταθερή συμφόρησης και διαστολή O(logN) 2. Παρά το γεγονός ότι ένα πακέτο μπορεί να καθυστερήσει για O (log N)-bit βήματα, ενώ ταξιδεύει από το ένα μισό στο άλλο, ο συνολικός χρόνος παραμένει O (log N). Η ενσωμάτωσή αυτή θα βασιστεί κατά το μεγαλύτερο μέρος στην διάσπαση της τοπολογίας αστέρα. Αυτό με τη σειρά του θα βασιστεί τους Κωδικες Διόρθωσης 1 Λαθους με τη χρήση κωδίκων που κατασκευάστηκαν για πρώτη φορά από το Shannon για συμβολοσειρές μήκους 2 r r 1. Πιο συγκεκριμένα, για κάθε. λέξη w μήκους 2 r r 1 υπάρχει μια κωδική λέξη, c(w), μήκους 2 r 1, έτσι ώστε η κάθε συμβολοσειρά μήκους 2 r 1 να έχει απόσταση Hamming το πολύ 1 από ακριβή κωδική λέξη. Όπως γνωρίζουμε, ένας υπερκύβος είναι ένα δίκτυο, όπου ο αριθμός των κόμβων -έστω N- είναι μια δύναμη του δύο, δηλαδή N = 2 s όπου ο εκθέτης s ονομάζεται διάσταση του κύβου. Κάθε κόμβος έχει μια διεύθυνση των s bit και κάθε μη κατευθυνόμενη ακμή συνδέει κόμβους των οποίων η διεύθυνση διαφέρει ακριβώς κατά ένα bit. Έστω ένας υπερκύβος με s = 2 r 1 διαστάσεις. Ένας κόμβος, u είναι ένα κεντρικός αστέρας, εάν το u είναι κωδική λέξη: uϵ{c(w) wϵ(0, 1) 2r r 1 }. Ένας αστέρας ορίζεται ως ο κεντρικός αστέρας μαζί με όλους τους γείτονές του. Ο κόμβος c(w) i διαφέρει από το c(w) στο i-οστό bit και ονομάζεται i-οστό άκρο του αστέρα c(w). Μιας και το c είναι ένας τέλειος κώδικας διόρθωσης 1 λάθους, κάθε κόμβος στον υπερκύβο είναι ακριβώς ένας αστέρας, δηλαδή, οι αστέρες διαχωρίζουν τους κόμβους του υπερκύβου. Μια ακμή ενός υπερκύβου είναι είτε μεταξύ ενός κεντρικού αστέρα και ενός άκρου του ή μεταξύ των άκρων διαφορετικών αστέρων. Έστω n = 2 k 1. Για λόγους απλότητας γίνεται η υπόθεση η πεταλούδα είναι 2n k + 1 από 2 2n k και ότι κάθε νέα ακμή αποτελείται στην πραγματικότητα από n ακμές. Θα δείξουμε πως να την ενσωματώσουμε σε ένα υπερκύβο διάστασης 2n (σημειώνεται ότι ο υπερκύβος έχει περίπου τον διπλάσιο αριθμό κόμβων). Σαν πρώτο βήμα, θα ενσωματωθούν τα επίπεδα 0 έως n της πεταλούδας. Για να γίνει αυτό θα πρέπει πρώτα να δώθεί η ενσωμάτωση των κόμβων της πεταλούδας σε αυτά τα επίπεδα και στη συνέχεια να δωθεί μια αντιστοίχηση των ακμών της πεταλούδας. Ένας κόμβος στα πρώτα n+1 επίπεδα της πεταλούδας μπορεί να περιγραφεί από το ζεύγος (m l, i), όπου mϵ(0, 1) n k και αποτελείται από τα MSB της γραμμής στην οποία ανήκει ο κόμβος, lϵ(0, 1) n και αποτελείται από τα LSbits, και 0 <= i <= n είναι το επίπεδο στο οποίο ανήκει ο κόμβος. Δεδομένου ότι οποιαδήποτε διαδρομή στην πεταλούδα διέρχεται μέσω κόμβων με την ίδια τιμή του m για τα πρώτα n+1 επίπεδα, όλοι οι κόμβοι με την ίδια τιμή του m θα θεωρούνται ως υπο-πεταλούδαb m. Η αντιστοίχηση των κόμβων από τις υπο-πεταλούδες σε κόμβους του υπερκύβου ορίζεται ως εξής: (mol, i) c(m) i l, για 1 <= i <= n. Αντιστοίχισε το (m l, 0) (καθώς επίσης και (m l, n) από πριν) στο c(m) i l. Σημειώνεται ότι, αφού το m αποτελείται από n-k bits, το c(m) θα αποτελείται από n bits και συνεπώς ο υπερκύβος έχει διάσταση 2n. Έστω τότε C l ένας υποκύβος, όπου τα LSbits όλων των κόμβων έχουν τιμή l. Μπορούμε εύκολα να παρατηρήσουμε ότι όλοι οι κόμβοι στη γραμμή l της κάθε υπο-πεταλούδας αντιστοιχίζονται σε έναν αστέρα του C l. Στην πραγματικότητα, το C l διαμερίζεται από τους αστέρες που σχηματίζονται από τη l-οστή γραμμή κάθε υπο-πεταλούδας. Έστω δύο γραμμές της Βm, που διαφέρουν κατά ένα bit, ας πούμε l και l i. Η μια αντιστοιχίζεται στον αστέρα c(m) του C l και η άλλη στον αστέρα c(m) του Cl i, έτσι ώστε τα αντίστοιχα άκρα κάθε αστέρα να διαφέρουν στο i-οστό bit. Η αντιστοίχηση δείχνει ότι μπορούμε να χρησιμοποιήσουμε την i-οστή διάσταση του υπερκύβου για να δρομολογήσουμε τη i-οστή 7

9 7 ΑΝΤΙΣΤΟΊΧΙΣΗ ΣΕ ΥΠΕΡΚΎΒΟ διάσταση (το i-οστό επίπεδο δηλαδή) της πεταλούδας. Τώρα αρκεί να δειχθεί το πώς μπορεί να γίνει η αντιστοίχηση των ακμών της πεταλούδας στις ακμές του υπερκύβου. Έστω η νέα ακμή μεταξύ του (l, i-1) και (l i, i) στην υπο-πεταλούδα B m για 2 <= i <= n (Θα χειριστούμε το (l, 0) (l 1, 1) ξεχωριστά). O πρώτoς κόμβος της ακμής αυτής είναι το i-οστό πρώτο άκρο του αστέρα c(m) στο C l και το άλλο άκρο της ακμής, είναι το i-οστό άκρο του αστέρα c(m) στο Cl i. Θα πρέπει oι νέες ακμές στο m να μοιραστοιύν μεταξύ των n ακμων μεταξύ των άκρων c(m) των αστέρων στους 2 υπο-κύβους. Έστω (m l, i l) j(m l i, i) να είναι η j-οστή από τις νέες ακμές μεταξύ των (m ο l, i-l) και (m l i, i) στην πεταλούδα. Αυτή η ακμή αντιστοιχίζεται στην ακόλουθη διαδρομή στον υπερκύβο. Ξεκινώντας με το c(m) i 1 στο C l θα πρέπει πρώτα να γίνει η μετάβαση στη θέση c(m) j μέσω c(m) i 1,j. Στη συνέχεια επιλέγεται το άκρο το οποίο οδηγεί στο c(m) j από το C l. Τέλος, επιλέγεται το c(m) i μέσω του c(m) i,j από το Cl i. Πιο συνοπτικά: c(m) i 1 l c(m) j l c(m) j l i c(m) i,j l i c(m) i l i Στην συνέχεια πραγματοποιείται η ακόλουθη αλλαγή στην ακμή (l, 0) j(l 1, 1) : c(m) n l c(m) n,j l c(m) j l c(m) j l 1 c(m) 1,j l 1 c(m) 1 l 1 Μια ακμή στο δίκτυο της πεταλούδας (m l, i 1) j(m l, i), 2 <= i <= n, αντιστοιχίζεται με παρόμοιο τρόπο εκτός από το ότι δεν χρειάζεται να αλλάξουμε το i-οστό bit του l: c(m) i 1 l c(m) i 1,j l c(m) j l c(m) i,j l c(m) i l για 2 <= i <= n. Χρειάζεται και εδώ η προφανής αλλαγή για i=1: c(m) n l c(m) n,j l c(m) j l c(m) 1,j l c(m) 1 l Ισχυρισμός 3: Το πολύ 16 ακμές από την πεταλούδες αντιστοιχίζονται μέσω οποιασδήποτε ακμής του υπερκύβου από την προηγούμενη ενσωμάτωση. Απόδειξη: Εκ κατασκευής, γνωρίζουμε ότι οι ακμές της πεταλούδας δρομολογούνται μόνο μέσω ακμών που συνδέουν άκρα από διαφορετικούς αστέρες. Υπάρχουν δύο περιπτώσεις που πρέπει να μελετηθούν, ανάλογα με το αν είναι ή όχι οι αστέρες σε διαφορετικούς υποκύβους Περίπτωση 1: Υπερκύβοι της μορφής:(c(m) j l, c(m) j l i ) : Μια τέτοια ακμή πρέπει να είναι η τρίτη ακμή του υπερκύβου που χρησιμοποιείται ως μια ακμή διέλευσης στην πεταλούδα. Επιπλέον, η ακμή της πεταλούδας πρέπει να είναι της μορφής (m 1, i 1) j(m l i, i) όταν i = i, l = l ή l = l i, j = j και m = m. Ως εκ τούτου, αυτή η ακμή του υπερκύβου χρησιμοποιείται από το πολύ δύο ακμές της επεκτεταμένης πεταλούδας. Περίπτωση 2: Υπερκύβοι της μορφής: (c(m) i l, c(m) (i,j) l): Μια τέτοια ακμή μπορεί να είναι η πρώτη, η δεύτερη, η τέταρτη, ή η πέμπτη ακμή για ένα μονοπάτι από (m l, i l) j(m l i, i), ή οποιαδήποτε άλλη από τις τέσσερις ακμές σε ένα μονοπάτι για το (m l, i 1) j(m l, i). Σε κάθε περίπτωση, υπάρχουν δύο πιθανές επιλογές για τις τιμές των m, l, i, και j, ανάλογα με την κατεύθυνση στην οποία χρησιμοποιείται η ακμή. Ως εκ τούτου, κάθε τέτοια ακμή χρησιμοποιείται το πολύ 16 φορές. Τα υπόλοιπα επίπεδα της επεκτεταμένης πεταλούδας μπορούν να αντιστοιχίζονται στον υπερκύβο κατ' ανάλογο τρόπο. Ειδικότερα, μπορεί να αντιστοιχηθεί το τελευταίο n + 1 επίπεδο, της πεταλούδας στον υπερκύβου χρησιμοποιώντας τον ίδιο αλγόριθμο όπως πριν, εκτός από το ότι ο κόμβος της πεταλούδας (m l, i ) αντιστοιχίζεται στο κόμβο c(l ) ( i n + k) ο m του υπερκύβου όπου m ϵ{0, 1} n, l ϵ{0, 1} n k και n k <= i <= 2n k + 1. (Σημειώνεται ότι απλά αλλάξαμε τους ρόλους των MSbits και των LSbits). Οι ακμές της πεταλούδας αντιστοιχίζονται με ανάλογο τρόπο. Δυστυχώς, η μέθοδος ενσωμάτωσης που μόλις περιγράφηκε αντιστοιχίζει κάθε κόμβο στα μεσαία k + 1 επίπεδα της πεταλούδας σε δύο διαφορετικά μέρη. Μπορούμε να επιλύσουμε αυτό το πρόβλημα χρησιμοποιώντας μόνο τη θέση που προβλέπεται από την πρώτη ενσωμάττωση των κόμβους από τα επίπεδα n k έως n. Μέχρι στιγμής έχει μείνει το πρόβλημα της ενσωμάτωσης των ακμών από το επίπεδο n στο επίπεδο 8

10 8 ΚΆΤΩ ΦΡΆΓΜΑ ΓΙΑ OBLIVIOUS ROUTING n + 1, δεδομένου ότι οι κόμβοι στο επίπεδο n έχουν ενσωματωθεί στα πρώτα n + 1 επίπεδα της πεταλούδας, καθώς και οι κόμβοι στο επίπεδο n + 1 έχουν ενσωματωθεί στα τελευταία n + 1 επίπεδα της πεταλούδας. Όμως, δεν είναι γνωστό πως να ενσωματώθούν αυτές τις ακμές με σταθερή διαστολή, αλλά μπορούν να ενσωματώθούν με σταθερή συμφόρησης και O (logn) διαστολή ως εξής: Υπενθυμίζεται ότι οι κόμβοι στο επίπεδο n της πεταλούδας αντιστοιχίζονται ένας-προς-έναν στα n-οστά άκρα των αστέρων, ενώ οι κόμβοι του επιπέδου n+1 αντιστοιχίζονται ένας-προς-ένας με τα k +1 άκρα των άστέρων. Η διαδρομή για την j-οστή ακμή ξεκινά με μια διαδρομή στο j-οστό άκρο του αστέρα. Αυτό μπορεί να γίνει με O(1) συμφόρηση και διαστολή 2, τόσο για τους κόμβους του επιπέδου n όσο και του επιπέδου n+1 χρησιμοποιώντας τα μονοπάτια ή c(m) n l c(m) n,j l c(m) j l c(m) k+1 l c(m) k+1,j l c(m) j l Μιας και κάθε ένα από αυτά τα άκρα των αστέρων είναι διαφορετικό, οι διαδρομές μπορεί να ολοκληρωθούν σε 0(1) συμφόρηση και O(log N) διαστολή χρησιμοποιώντας την δρομολόγηση του Benes. Ο υπερκύβος μπορεί τώρα εύκολα να προσομοιώσει τους αλγόριθμους δρομολόγησης της ενότητας 2 για δίκτυα πεταλούδας. Κάθε κόμβος του υπερκύβου προσομοιώνει το πολύ 2 κόμβους της πεταλούδας. Επίσης, δεδομένου ότι τα πρώτα n επίπεδα των ακμών της πεταλούδας είναι ενσωματομένα με σταθερή συμφόρηση και διαστολή, ο υπερκύβος μπορεί να προσομοιώσει την μετάδοση σε αυτές τις ακμές με σταθερή καθυστέρηση. Το ίδιο ισχύει και για τα τελευταία n-k-1 επίπεδα των ακμών της πεταλούδας. Μόνο οι ακμές από το επίπεδο n στο n + 1 μπορούν να προκαλέσουν προβλήματα. Δεδομένου ότι αυτές οι ακμές έχουν ενσωματωθεί με διαστολή O(logN), απαιτούνται O (logn) bit βήματα για να προσωμειωθεί η μετάδοση σε αυτές. Ευτυχώς, η αλγόριθμοι δρομολόγησης χρησιμοποιούν τις ακμές της πεταλούδας σε αύξουσα διάσταση από 0 σε 2n - k - 1, οπότε η καθυστέρηση O(log N) βημάτων που δημιουργείται κατά μήκος των ακμών από το επίπεδο n στο n + 1 είναι προσθετική. 8 Κάτω φράγμα για oblivious routing logn (M+ logd Σε αυτή τη φάση θα δειχθεί ότι κάθε oblivious αλγόριθμος δρομολόγησης χρειάζεται Ω( logn (logd+loglogn ) bit βήματα με μεγάλη πιθανότητα για σχεδόν όλες τις μεταθέσεις, όπου M είναι το ελάχιστο μέγεθος του πακέτου, χωρίς σε αυτή να συμπεριλαμβάνονται οι πληροφορίες για την δρομολόγηση του πακέτου. Το αποτέλεσμα επεκτείνει το κλασσικό κάτω φράγμα των Borodin-Hopcroft με δύο τρόπους. Πρώτον, το κάτω φράγμα ισχύει για σχεδόν όλες τις μεταθέσεις, και το δεύτερο, εφαρμόζεται τόσο σε ντετερμινιστικούς όσο και σε βασισμένους στην τυχαιότητα oblivious αλγόριθμους. Η μοναδική υπόθεσή που γίνεται είναι ότι κάθε πακέτο έχει τουλάχιστον Δ bit πληροφοριών διευθυνσιοδότησης, εάν βρίσκεται σε μια απόσταση Δ μακριά από τον προορισμό του. Χωρίς αυτή την υπόθεση, το κάτω φράγμα είναι (MlogN/(logd + log1ogn)) bit βήματα. Με την πρώτη ματιά, αυτό το κατώτερο όριο φαίνεται να είναι σε αντίθεση με αυτό του αλγορίθμου των O (log N) bit βημάτων για την O (log N)-dilated πεταλούδα που περιγράφηκε στην ενότητα 2. Αν και ο αλγόριθμος στην ενότητα 2 είναι node-oblivious, δεν είναι όμως edge-oblivious. Με άλλα λόγια, η επιλογή των ακμών που χρησιμοποιούνται σε μια διαδρομή ενός πακέτου εξαρτάται από τις επιλογές γίνονται από άλλα πακέτα, ακόμη και αν οι κόμβοι στην διαδρομή επιλέγονται με oblivious τρόπο. Όσον αφορά τη δρομολόγηση στον υπερκύβο, δεν υπάρχει διαφορά μεταξύ του edge-oblivious και του node-oblivious αλγόριθμου επειδή δεν υπάρχουν πολλαπλές ακμές. Δεδομένου ότι d = logn για το υπερκύβο και το Μ είναι τυπικά Ω(logN), θα διαπιστωθεί ότι κάθε oblivious αλγόριθμος στον υπερκύβο Ν-κόμβων χρειάζεται Ω(log 2 N/loglogN) bit βήματα με μεγάλη πιθανότητα για τις περισσότερες μεταθέσεις. Για την απόδειξη του φράγματος, κάθε σύνδεση σε ένα δίκτυο με Ν κόμβους αναπαριστάται με δύο κατευθυνόμενες ακμές στον υποκείμενο γράφο. Ένα άνω όριο για τον αριθμό των ακμών είναι επομένως Nd. Έστω p μια ακολουθία ακμών οι οποίες σχηματίζουν ένα μονοπάτι (όχι απαραίτητα απλό) στο γράφημα, και έστω P u,v το σύνολο όλων των μονοπατιών από το u στο v. Για έναν δεδομένο αλγόριθμο δρομολόγηση που βασίζεται στην τυχαιότητα, έστω P u,v η τυχαία μεταβλητή που δηλώνει τη διαδρομή μεταξύ u και v, που επιλέγεται από τον αλγόριθμο. Χρησιμοποιώντας αυτόν τον συμβολισμό, για κάθε κόμβο ή ακμή x και για όλους τους κόμβους u και v ισχύει ότι: 9

11 8 ΚΆΤΩ ΦΡΆΓΜΑ ΓΙΑ OBLIVIOUS ROUTING pϵp u,v P r[p u,v = p] = 1, και P r[xϵp u,v ] = p:xϵp P r[p u,v = p] = 1 Ένας αλγόριθμος δρομολόγησης που βασίζεται στη τυχαιότητα είναι oblivious αν όλες οι διακριτες τυχαίες μεταβλητές P u,v είναι ανεξάρτητες. Για κάθε κόμβο v, οποιοδήποτε σύνολο κόμβων T, και οποιοδήποτε κόμβο ή ακμή x, το βάρος (weight) του x σε σχέση με u και το Τ, ορίζεται ως: W x (v, T ) = tϵt P r[xϵp v,t ]. Η τιμή του W x (v, T ) μπορεί να ερμηνευτεί με πολλούς τρόπους, όμως η ερμηνεία που θα φανεί χτήσιμη σε εμάς είναι ότι εάν επιλέξουμε ένα τυχαίο προορισμό tϵt και ένα τυχαίο μονοπάτι από το v στο t σύμφωνα με την κατανομή P v,t, τότε το x θα πρέπει να περιέχεται στη διαδρομή με πιθανότητα W x(v,t ) T. Ομοίως, αν έχει επιλεγεί μια τυχαία διαδρομή από v σε έναν τυχαία επιλεγμένο προορισμό στο V, τότε το x θα πρέπει να ανήκει στο μονοπάτι με πιθανότητα τουλάχιστον Wx(v,T ) N. Ο στόχος εδώ είναι να δείχθεί ότι υπάρχουν πολλές ακμές e που έχουν πολλούς κόμβους v, για τους οποίους το W e (v, T ) είναι μεγάλο για κάποιο T. Τότε θα είμαστε σε θέση να υποστηρίξουμε ότι πολλές ακμές έχουν τουλάχιστον κάποια πιθανότητα να έχουν πολλά πακέτα που περνούν μέσα από αυτές.στη συνέχεια, θα δείξουμε επίσης ότι τουλάχιστον μια από αυτές τις ακμές έχει υψηλή συμφόρηση με πολύ υψηλή πιθανότητα. Αρχικά αποδεικνύεται ότι για κάθε κόμβο v και κάθε μεγάλο σύνολο Τ, υπάρχουν πολλά u για τα οποία η τιμή του W u (u, T u,v) είναι μεγάλη, όπου T u,v είναι υποσύνολο του T και ο u είναι πολύ μακριά από το T u,v. Στο εξής, θα χρησιμοποιείται ο συμβολισμός dist(x, T) για την ελάχιστη απόσταση μεταξύ του x και κάθε στοιχείου του Τ στο γράφημα. Χωρίς απώλεια της γενικότητας, θα γίνει επίσης η υπόθεση ότι d = N o(1). Λήμμα 4:Για κάθε σύνολο T, με τουλάχιστον 2 κόμβους, και οποιοδήποτε κόμβο u, υπάρχουν τουλάχιστον N 2 κόμβοι u για τους οποίους W d u(v, T u,v ) >= N 4 και dist(u, T d u,v) >= Ω( logn logd ) για κάποιο T u,v υποσύνολο του T. Στην συνέχεια αποδεικνύεται ότι υπάρχει μια ακμή e, για την οποία το W e (u, T e,v ) είναι μεγάλo για πολλλα ν, όπου το T e,v T είναι πολύ μακριά από την e. Λήμμα 5: Για οποιαδήποτε δύο σύνολα S και Τ με τουλάχιστον Ν/2 κόμβους το καθένα, υπάρχει μια ακμή e, και τουλάχιστον N κόμβοι vϵs τέτοιοι ώστε: 4d 3/2 W e (v, T e,v ) N 4d 3/2 όπου T e,v T και dist(e, T e,v ) Ω(logN/logd) Πλέον όλα είναι έτοιμα για την απόδειξη του για την απόδειξη του κάτω φράγματος των oblivious αλγορίθμων. logn (M+ logd Θεώρημα 6: Κάθε oblivious αλγόριθμος δρομολόγησης χρειάζεται Ω( logn (logd+loglogn) bit βήματα με πιθανότητα τουλάχιστον ίση με 1 e N 1/4 για να δρομολογήσει όλα, αλλά ένα e N 1/4 μέρων των Ν! πιθανοί μεταθέσεων. Απόδειξη: Θα δείξουμε ότι για μια τυχαία μετάθεση, η πιθανότητα κάθε ακμή να έχει λιγότερα από c*logn / (log d + log log N) πακέτα που διέρχονται από αυτήν είναι Ω (log N / log d) βήματα μακριά από 1/4 2N τον προορισμό τους είναι το πολύ e για μια αρκετά μικρή σταθερά c. Στην αυτή την περίπτωση, η πιθανότητα λαμβάνεται από την την επιλογή των μεταθέσεων, καθώς και την επιλογή των μονοπατιών. Αυτό απευθείας συνεπάγεται το θεώρημα εάν περισσότερα από ένα e 1/4 μέρη των πιθανών μεταθέσεων τελειώσουν σε λιγότερα από O((Μ + (log N / log d)) c logn / (log d + log log N)) βήματα bit με πιθανότητα που υπερβαίνει τηνe N 1/4 1/4 2N, τότε θα έχει περισσότερες από e ευκαιρίες να ολοκληρώσει σε λιγότερα βήματα με μια τυχαία μετάθεση πράγμα το οποίο δεν είναι δυνατόν. 10

12 8 ΚΆΤΩ ΦΡΆΓΜΑ ΓΙΑ OBLIVIOUS ROUTING Εδώ κατασκευάζεται μια τυχαία μετάθεση προσδιορίζοντας μία διαδρομή κάθε φορά. Κάθε φορά επιλέγεται τυχαία ένα μονοπάτι για κάθε κόμβο v σε μια καθορισμένη ακολουθία, επιλέγοντας μονοπάτι από τις κατανομέςp u,v, όπου το u επιλέχτηκε τυχαία από τους κόμβους που δεν έχουν ήδη οριστεί ώστε να λάβει κάποιο πακέτο. (Ο περιορισμός, της κατασκευής μιας τυχαίας μετάθεσης και όχι ένός τυχαίου προορισμού προϋποθέτει ότι το πολύ ένα πακέτο θα παραδοθεί σε κάποιον κόμβο. Το επιχείρημα για τους τυχαία προορισμούς είναι κάπως πιο εύκολο). Η ανάλυση ξεκινάει επιλέγοντας μια ακμή e και m = N/4d 3 /2 κόμβους u1, u2,...umϵs όπου S =T=V, τέτοιο ώστε για 1 <= i <= m, W e (v i, T e,vi ) N 4d 3/2 όπου T e,vi T και dist(e, T e,vi ) Ω(logN/logd) Σύμφωνα με το Λήμμα 5, μια τέτοια ακμή και ένα τέτοιο σύνολο των κόμβων θα υπάρχει πάντα. Πρώρα επιλέγεται ένας τυχαίος προορισμός t 1 από το Τ και μια τυχαία διαδρομή p 1 από to P u 1, t 1 για τον u1. Δεδομένου ότι τα W e (u1, T ) >= W e (u1, T e, u1), γνωρίζουμε ότι η διαδρομή p1 περιέχει την e και συνεχίζει αργότερα για τουλάχιστον Ω(logN/logd) βήματα με πιθανότητα τουλάχιστον 1/4d 3/2 N. Στην συνέχεια επιλέγουμε ένα τυχαίο προορισμό t 2 από το T - t 1 και μια τυχαία διαδρομή p 2 από το P u 2, t 2 για τον u 2. Αφού: W e (v 2, T t 1 ) W e (v 2, T e,v2 t 1 ) W e (v 2, T e,v2 ) 1 N 1 N 4d 3/2 8d 3/2 γνωρίζουμε ότι η p 2 χρησιμοποιεί την e και συνεχίζει αργότερα για τουλάχιστον Ω(logN/logd) βήματα μέτρα με πιθανότητα τουλάχιστον1/8d 3/2 N. Επιπλέον, γνωρίζουμε ότι αυτή η πιθανότητα είναι ανεξάρτητη της πιθανότητας το p 1 να χρησιμοποιεί την e και να συνεχίζει αργότερα για Ω(logN/logd) βήματα. Mε παρόμοιο τρόπο, μπορεί να δείχθεί ότι τα p 1,...p m/2 χρησιμοποιούν την e και στη συνέχεια για τουλάχιστον Ω(logN/logd) βήματα με πιθανότητα 1/8d 3/2 N, και ότι αυτές οι πιθανότητες είναι ανεξάρτητες. Αφού υπάρχουν N/8d 3/2 μονοπάτια, καθένα από τα οποία χρησιμοποιεί την e και συνεχίζουν μετά γα (logn/logd) βήματα με πιθανότητα 1/8d 3/2 N η πιθανότητα ότι λιγότεροι από το r = clogn / (log d + log log N) διαδρομές να χρησιμοποιούν την e και να συνεχίζουν για Ω(logN/logd) βήματα είναι το πολύ: 1 ( 1 64d 3 r )r = 1 2 O(c logc logn) Επιλέγοντας το c να είναι μια αρκετά μικρή σταθερά, η πιθανότητα αυτή μπορεί να γίνει το πολύ 1 N 1/4. Με άλλα λόγια, τουλάχιστον Ω(( + logn/logd)logn/(logd + loglogn)) bits διέρχονται μέσα από την e από τα πακέτα που ξεκινούν από τους κόμβους u 1, u 2,...u m/2 με πιθανότητα τουλάχιστον N 1/4. Μπορούμε τώρα να αρχίσουμε ξανά από την αρχή, θέτοντας S = V {u 1,.., u m/2 } και = V t 1,..., t m/2. Αφου m = N/4d 3/2, S = T >= N/2 και μπορούμε να χρησιμοοπιήσουμε το Λήμμα 5 για να βρούμε μια ακμή e' και κόμβους u 1,...u m/2ϵs τέτοιο ώστε για 1<=i<=m W e (u i, T e, u i ) n όπου 4d 3/2 e,u T και dist(e, e,u ) >= Ω(logN/logd). Υποστηρίζοντας όπως και πριν I (εκτός από το ότι τώρα το ti είναι επιλέγεται ομοιόμορφα από την T t 1,..., t i 1 = V t 1,..., t m/2, t 1,...t i 1, μπορούμε να αποδείξουμε ότι τουλάχιστον, Ω(( + logn/logd)logn/(logd + loglogn)) bits έχουν περάσει από την e' από τα πακέτα που ξεκινούν από τους κόμβουςu 1,.., u m/2 με πιθανότητα τουλάχιστον 1/4. Τώρα, όλη αυτή τη διαδικασία επαναλάμβανεται (N/2)/(m/2) = 4d 3/2 N φορές, επιλέγοντας κάθε φορά τους προορισμούς και τα μονοπάτια για m/2 περισσότερους κόμβους. Κάθε φορά γίνεται σοβαρή συμφόρηση σε μια ακμή με πιθανότητα τουλάχιστον N 1/4. Αφού αυτές οι πιθανότητες είναι όλες ανεξάρτητες, η πιθανότητα ότι καμία από τις ακμές δεν θα υποστεί σοβαρή συμφόρηση είναι το πολύ (1 N 1/4) 4d3/2 N e 4d3/2 N 1/4 1/4 2N e Ως εκ τούτου, για μια τυχαία μετάθεση και μια τυχαία επιλογή διαδρομής, ο χρόνος θα είναι Ω((M + logn/logd)logn/(logd + loglogn)) με πιθανότητα 1 e 2N 1/4. 11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

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

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

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

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

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

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

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

Θεωρία Γραφημάτων 6η Διάλεξη

Θεωρία Γραφημάτων 6η Διάλεξη Θεωρία Γραφημάτων 6η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 6η Διάλεξη

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

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

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

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

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Graph Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Περιεχόμενα Μεταβατικό Κλείσιμο Συνεκτικές συνιστώσες Συντομότερα μονοπάτια Breadth First Spanning

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

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Το πρωτόκολλο Διαδικτυου (Internet Protocol, ) είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/. Η λειτουργία του βασίζεται στην ιδέα των αυτοδύναμων πακέτων (datagrams), τα οποία μεταφέρονται

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

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

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

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

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

Εισαγωγή Ορισμός Frequency moments The space complexity of approximating the frequency moments Κωστόπουλος Δημήτριος Μπλα Advanced Data Structures June 2007 Εισαγωγή Ορισμός Frequency moments Έστω ακολουθία Α = {a 1,a 2,...,a m ) με κάθε

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

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

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

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

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

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

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

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts) Κ Σ Ι Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS Παναγιώτα Παναγοπούλου 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts) Ο αλγόριθμος LCR είναι ένας αλγόριθμος εκλογής αρχηγού σε ένα

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

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Ερωτήσεις Ασκήσεις Επικοινωνίες Δεδομένων Μάθημα 3 ο Ερωτήσεις 1. Τι είναι το intranet και ποια τα πλεονεκτήματα που προσφέρει; 2. Τι δηλώνει ο όρος «TCP/IP»; 3. Να αναφέρετε τα πρωτόκολλα

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

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

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

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP Άσκηση 1 η : Καθυστερήσεις Θεωρείστε μία σύνδεση μεταξύ δύο κόμβων Χ και Υ. Το εύρος ζώνης του συνδέσμου είναι 10Gbits/sec

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

Κεφάλαιο 2.4 Matrix Algorithms

Κεφάλαιο 2.4 Matrix Algorithms Κεφάλαιο 2.4 Matrix Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική Κατασκευή ΝxNxN Mesh of trees (1/3) Στον ΝxNxN κύβο προσθέτω τους εξής κόμβους:

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

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

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

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

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

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

ροµολόγηση πακέτων σε δίκτυα υπολογιστών

ροµολόγηση πακέτων σε δίκτυα υπολογιστών ροµολόγηση πακέτων σε δίκτυα υπολογιστών Συµπληρωµατικές σηµειώσεις για το µάθηµα Αλγόριθµοι Επικοινωνιών Ακαδηµαϊκό έτος 2011-2012 1 Εισαγωγή Οι παρακάτω σηµειώσεις παρουσιάζουν την ανάλυση του άπληστου

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

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή Επαναληπτικές Ασκήσεις Ρίζου Ζωή email: zrizou@ee.duth.gr Άσκηση 1 Τι πραγματεύεται το θεώρημα Euler; Απάντηση Ψευδογραφήματα που περιέχουν ένα κύκλωμα στο ψευδογραφήματα, των οποίων ο βαθμός κάθε κορυφής

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

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

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

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

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι; Άπληστοι Αλγόριθμοι ΙΙI Αλγόριθμοι γραφημάτων Ελάχιστο Γεννητικό Δένδρο Παράδειγμα Κατασκευή δικτύων Οδικά, επικοινωνίας Έχουμε ένα συνεκτικό γράφημα (V,E) και ένας βάρος we σε κάθε ακμή e. Να βρεθεί υποσύνολο

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

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές

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

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 2 6 20 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 0 με τις ακόλουθες ιδιότητες 9 7 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής:

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

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση. ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ / Γ- ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 21-02- 2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ-Α.ΚΑΤΡΑΚΗ ΘΕΜΑ Α. A1. Να γράψετε το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη

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

Θεωρία Γραφημάτων 5η Διάλεξη

Θεωρία Γραφημάτων 5η Διάλεξη Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Τομέας Μαθηματικών Φεβρουάριος 2017 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη

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

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

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

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

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

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

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

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

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

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

Έξι βαθμοί διαχωρισμού

Έξι βαθμοί διαχωρισμού Έξι βαθμοί διαχωρισμού Βασισμένα στα 1. http://snap.stanford.edu/class/cs224w-readings/kleinberg99smallworld.pdf 2. http://snap.stanford.edu/class/cs224w-readings/kleinberg01smallworld.pdf Το πείραμα του

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

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

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

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

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

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

Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006

Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006 Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία Πέτρος Ποτίκας CoReLab 4/5/2006 Επισκόπηση Ετικέτες σε συνιστώσες (Component labelling) Hough μετασχηματισμοί (transforms) Πλησιέστερος

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

Αλγόριθμοι για αυτόματα

Αλγόριθμοι για αυτόματα Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε

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

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

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

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

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

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

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

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Να βρείτε το σφάλμα στην πιο κάτω απόδειξη. Ισχυρισμός: Όλα τα βιβλία που έχουν γραφτεί στη Θεωρία Υπολογισμού έχουν τον ίδιο

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

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρωτόκολλα Ελέγχου προσπέλασης μέσου Πρόβλημα: ταυτόχρονη μετάδοση δύο ή περισσότερων κόμβων στο ίδιο κανάλι (μήκος κύματος). Ένα τέτοιο γεγονός ονομάζεται σύγκρουση. Ένα πρωτόκολλο MAC έχει συνήθως ως

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

z 1 E(G) 2(k 1) = 2k 3. x z 2 H 1 H 2

z 1 E(G) 2(k 1) = 2k 3. x z 2 H 1 H 2 Διάλεξη :..06 Θεωρία Γραφημάτων Διδάσκων: Σταύρος Κολλιόπουλος Γραφέας: Τζαλάκας Ανδρέας & Σ.Κ.. Εξωεπίπεδα γραφήματα (συνέχεια) Ορισμός. Εστω γράφημα G = (V, E) και S V. S-λοβός (S-lobe) ενάγεται από

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

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

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

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

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

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

E(G) 2(k 1) = 2k 3.

E(G) 2(k 1) = 2k 3. Διάλεξη :..06 Θεωρία Γραφημάτων Διδάσκων: Σταύρος Κολλιόπουλος Γραφέας: Τζαλάκας Ανδρέας & Σ.Κ.. Εξωεπίπεδα γραφήματα (συνέχεια) Ορισμός. Εστω γράφημα G = (V, E) και S V. S-λοβός (S-lobe) ενάγεται από

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

Θεωρία Γραφημάτων 5η Διάλεξη

Θεωρία Γραφημάτων 5η Διάλεξη Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη

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

Δίκτυα ΙΙ. Κεφάλαιο 7

Δίκτυα ΙΙ. Κεφάλαιο 7 Δίκτυα ΙΙ Κεφάλαιο 7 Στο κεφάλαιο αυτό παρουσιάζεται ο τρόπος επικοινωνίας σε ένα δίκτυο υπολογιστών. Το κεφάλαιο εστιάζεται στο Επίπεδο Δικτύου του OSI (το οποίο είδατε στο μάθημα της Β Τάξης). Οι βασικές

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

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

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

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

ΤΣΑΝΤΑΣ ΝΙΚΟΣ 11/26/2007. Νίκος Τσάντας Τμήμα Μαθηματικών Πανεπιστημίου Πατρών, Ακαδημαϊκό έτος Δικτυωτή Ανάλυση

ΤΣΑΝΤΑΣ ΝΙΚΟΣ 11/26/2007. Νίκος Τσάντας Τμήμα Μαθηματικών Πανεπιστημίου Πατρών, Ακαδημαϊκό έτος Δικτυωτή Ανάλυση ΤΣΑΝΤΑΣ ΝΙΚΟΣ // Επιχειρησιακή Έρευνα ικτυωτή Ανάλυση Νίκος Τσάντας Τμήμα Μαθηματικών Πανεπιστημίου Πατρών, Ακαδημαϊκό έτος - Δικτυωτή Ανάλυση Δίκτυο είναι ένα διάγραμμα το οποίο το οποίο αναπαριστά τη

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

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.7 Πρωτόκολλο Μέχρι τώρα έχουμε αναφέρει, ότι, για να μεταδοθούν τα αυτοδύναμα πακέτα στο φυσικό μέσο, πρέπει αυτά να μετατραπούν σε πακέτα φυσικού δικτύου (π.χ. Ethernet). Όμως, δεν έχει ειπωθεί τίποτε

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

Διάλεξη 5: Κάτω Φράγμα για Αλγόριθμους Εκλογής Προέδρου. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 5: Κάτω Φράγμα για Αλγόριθμους Εκλογής Προέδρου. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 5: Κάτω Φράγμα για Αλγόριθμους Εκλογής Προέδρου ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Κάτω Φράγμα στον Αριθμό Μηνυμάτων Ένας οποιοσδήποτε αλγόριθμος εκλογής προέδρου Α ο οποίος 1. Δουλεύει σε ασύγχρονο

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

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP);

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP); 7.5. Πρωτόκολλο IP Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναμα πακέτα που μεταφέρονται ανεξάρτητα

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

Μέγιστη Ροή Ελάχιστη Τομή

Μέγιστη Ροή Ελάχιστη Τομή Μέγιστη Ροή Ελάχιστη Τομή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Δίκτυα και Ροές Δίκτυο : κατευθυνόμενο γράφημα G(V, E). Πηγή, προορισμός, χωρητικότητα ακμής b e. ροή μεγέθους

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

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης. Εισαγωγή Η παρούσα εργαστηριακή άσκηση έχει ως σκοπό την εξοικείωση με τα πρωτόκολλα δρομολόγησης τα οποία χρησιμοποιούνται στα Ad-Hoc δίκτυα, καθώς και την συγκριτική

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

q(g \ S ) = q(g \ S) S + d = S.

q(g \ S ) = q(g \ S) S + d = S. Διάλεξη 9: 9.11.2016 Θεωρία Γραφημάτων Διδάσκων: Σταύρος Κολλιόπουλος Γραφέας: Παναγιωτίδης Αλέξανδρος & Σ. Κ. Θεώρημα 9.1 Εστω γράφημα G = (V, E), υπάρχει τέλειο ταίριασμα στο G αν και μόνο αν για κάθε

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

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

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

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

1. Περιγράψετε τον πιο σημαντικό ρόλο του κάθε επιπέδου της TCP/IP στοίβας (δίνοντας και το όνομα του).

1. Περιγράψετε τον πιο σημαντικό ρόλο του κάθε επιπέδου της TCP/IP στοίβας (δίνοντας και το όνομα του). ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2014-2015 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 20.11.20104 Πρόοδος Οδηγίες: Η κάθε απάντηση θα πρέπει να συνοδεύεται

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

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές

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

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

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

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

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του Ταιριάσματα Γράφημα Ταίριασμα (matching) Σύνολο ακμών τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του Θέλουμε να βρούμε ένα μέγιστο ταίριασμα (δηλαδή με μέγιστο αριθμό ακμών) Ταιριάσματα

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

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg

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

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

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

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

Θεωρία παιγνίων Δημήτρης Χριστοφίδης Εκδοση 1η: Παρασκευή 3 Απριλίου 2015. Παραδείγματα Παράδειγμα 1. Δυο άτομα παίζουν μια παραλλαγή του σκακιού όπου σε κάθε βήμα ο κάθε παίκτης κάνει δύο κανονικές κινήσεις.

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

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε

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

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα Σχετίζεται με τη διαχείριση της κίνησης οχημάτων στους δρόμους Αν δεν υπήρχαν καθυστερήσεις στην κίνηση στις πόλεις Αποφυγή σπατάλης ενέργειας

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

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής

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

Λύσεις 4ης Σειράς Ασκήσεων

Λύσεις 4ης Σειράς Ασκήσεων Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής

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

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

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

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

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα

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

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την

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

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής Στο σημερινό μάθημα ασχολούμαστε με τις έννοιες: Τεχνικές Μεταγωγής o Μεταγωγή κυκλώματος o Μεταγωγή μηνύματος o Μεταγωγή

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

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

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

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

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική Graph Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική Περιεχόμενα minimum weight spanning tree connected components transitive closure shortest paths

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

9. Κόκκινα-Μαύρα Δέντρα

9. Κόκκινα-Μαύρα Δέντρα Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 9. Κόκκινα-Μαύρα Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 9/12/2016 Δέντρα,

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

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

ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ Εύρεση ελάχιστων μονοπατιών Αλγόριθμος του ijkstra Θέματα μελέτης Πρόβλημα εύρεσης ελάχιστων μονοπατιών σε γραφήματα (shortest path problem) Αλγόριθμος

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου Χριστίνα Σπυροπούλου 8η Διάλεξη 8 Δεκεμβρίου 2016 1 Ασύγχρονη κατασκευή BFS δέντρου Στα σύγχρονα συστήματα ο αλγόριθμος της πλημμύρας είναι ένας απλός αλλά

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

Ασκήσεις στους Γράφους. 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα

Ασκήσεις στους Γράφους. 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα Ασκήσεις στους Γράφους 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα Ασκηση 1 η Να αποδείξετε ότι κάθε γράφημα περιέχει μια διαδρομή από μια κορυφή u σε μια κορυφή w αν και

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

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

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

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

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec).

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec). Άσκηση Υπολογίστε τον συνολικό χρόνο που απαιτείται για την μετάδοση ενός αρχείου 500KB πάνω από μια ζεύξη (Link), στις παρακάτω περιπτώσεις, θεωρώντας πως η καθυστέρηση μιας κατεύθυνσης (one way delay)

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

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης

Λύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης Λύσεις Παλιών Θεµάτων Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης Θέµα Φεβρουάριος 2003 1) Έστω ένας υπερκύβος n-διαστάσεων. i. Να βρεθεί ο αριθµός των διαφορετικών τρόπων

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

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

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση Δομές Αναζήτησης χειρότερη περίπτωση μέση περίπτωση εισαγωγή αναζήτηση επιλογή εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένος πίνακας μη διατεταγμένη λίστα δένδρο αναζήτησης

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

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

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

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 11: Κωδικοποίηση Πηγής Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Αλγόριθμοι κωδικοποίησης πηγής Αλγόριθμος Fano Αλγόριθμος Shannon Αλγόριθμος Huffman

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

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS).

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS). Άσκηση 1 Ethernet protocol Δύο H/Y, Α και Β, απέχουν 400 m και συνδέονται με ομοαξονικό καλώδιο (γραμμή μετάδοσης) που έχει χωρητικότητα 100 Mbps και ταχύτητα διάδοσης 2*10 8 m/s. Στην γραμμή τρέχει πρωτόκολλο

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

1η Σειρά Γραπτών Ασκήσεων

1η Σειρά Γραπτών Ασκήσεων 1/20 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 1η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 1 Ασυμπτωτικός Συμβολισμός, Αναδρομικές Σχέσεις 2 3 4 5 2/20

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

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1 I. Παράδειγμα 1: Απόδοση TCP με παράθυρο αποστολέα = 1 a. Ο μηχανισμός όπως έχει περιγραφεί ως τώρα στέλνει μόνο ένα πακέτο και σταματάει να μεταδίδει έως ότου πάρει το ack του πακέτου αυτού (λειτουργία

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

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Περιεχόμενα 14.1 Διωνυμικά Δένδρα... 255 14.2 Διωνυμικές Ουρές... 258 14.1.1 Εισαγωγή στοιχείου σε διωνυμική ουρά... 258 14.1.2 Διαγραφή μεγίστου από διωνυμική

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

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

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

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

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου Συμπίεση Η συμπίεση δεδομένων ελαττώνει το μέγεθος ενός αρχείου : Εξοικονόμηση αποθηκευτικού χώρου Εξοικονόμηση χρόνου μετάδοσης Τα περισσότερα αρχεία έχουν πλεονασμό στα δεδομένα τους Είναι σημαντική

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

Αλγόριθμοι Ταξινόμησης Μέρος 4

Αλγόριθμοι Ταξινόμησης Μέρος 4 Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να

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

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

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

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