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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 2.4 Matrix Algorithms

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή Ορισμός 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 ) με κάθε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1 ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελών ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ Μάθημα 2ο Βελών - 1ο Τ.Ε.Ε. Κατερίν Καθηγητής Πληροφορικής ΠΕ20 2-1 Τεχνολογίες Μεταγωγής Δεδομένων Δίκτυα Μεταγωγής Βελών Βελών Δίκτυα Μεταγωγής Δίκτυα Μεταγωγής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Ενότητα 3 Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet Εισαγωγή στις βασικές έννοιες του στρώµατος Ζεύξης (Data Link Layer) στα δίκτυα ΗΥ Γενικές Αρχές Λειτουργίας ηµιουργία Πλαισίων Έλεγχος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τυχαίοι γράφοι Η διάμετρος του G(n, 2 ln n/n) Ioannis Giotis Τυχαίοι γράφοι Η διάμετρος του G(n, 2 ln n/n) Ioannis Giotis Θεώρημα για σφαίρες Θα δείξουμε ότι το γράφημα G(n, 2 ln n n 1 ) έχει μικρή διάμετρο Θα ξεκινήσουμε με ένα θεώρημα για το μέγεθος μιας σφαίρας

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

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

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

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

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

ΔΙΚΤΥΑ (13) Π. Φουληράς ΔΙΚΤΥΑ (13) Π. Φουληράς Τεχνολογίες WAN και Δρομολόγηση LAN Επεκτείνεται μόνον σε ένα κτίριο ή ομάδα κτιρίων WAN (Wide Area Network) Επεκτείνονται σε μεγάλες περιοχές MAN Ενδιάμεσο ως προς το μέγεθος της

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

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

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του

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

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

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

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

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος? Μετάδοση Δεδομένων Δίκτυα Υπολογιστών 68 Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της Απάντηση : Στα δίκτυα μεταγωγής κυκλώματος (circuit switching networks), η μετάδοση των

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

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

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

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

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Βυζαντινά Σφάλματα Τι θα δούμε σήμερα Κάτω Φράγμα για Αλγόριθμους Συμφωνίας με Βυζαντινά Σφάλματα: n > 3f Αλγόριθμος Συμφωνίας

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

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

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

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

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

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

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

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

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

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

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ.

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ. Παραδείγματα Απαρίθμησης Γνωστό: P (M 2 M τρόποι επιλογής υποσυνόλου του M Τεχνικές Απαρίθμησης Πχ M {A, B, C} P (M 2 3 8 #(Υποσυνόλων με 2 στοιχεία ( 3 2 3 #(Διατεταγμένων υποσυνόλων με 2 στοιχεία 3 2

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

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

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

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα αναζήτησης είναι ένα πρόβλημα στο

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

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

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

2 ) d i = 2e 28, i=1. a b c

2 ) d i = 2e 28, i=1. a b c ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΓΡΑΦΩΝ (1) Εστω G απλός γράφος, που έχει 9 κορυφές και άθροισμα βαθμών κορυφών μεγαλύτερο του 7. Αποδείξτε ότι υπάρχει μια κορυφή του G με βαθμό μεγαλύτερο ή ίσο του 4. () Αποδείξτε ότι

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

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

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

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

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

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

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Τι είναι επικοινωνία; Είναι η διαδικασία αποστολής πληροφοριών από ένα πομπό σε κάποιο δέκτη. Η Τηλεπικοινωνία είναι η επικοινωνία από απόσταση (τηλε-).

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες Τι θα κάνουμε σήμερα Εισαγωγικά (2.3) Το Λήμμα της Άντλησης για ασυμφραστικές γλώσσες (2.3.1) Παραδείγματα 1 Πότε μια

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

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

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

Φροντιστήριο 8 Λύσεις

Φροντιστήριο 8 Λύσεις Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1

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

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

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

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

Επίπεδο Δικτύου: Διαδικτύωση

Επίπεδο Δικτύου: Διαδικτύωση Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει

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

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

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

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 4: Εισαγωγή / Σύνολα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ Συνεκτικότητα Γραφημάτων 123 ΚΕΦΑΛΑΙΟ 4 ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ 4.1 Τοπική και Ολική Συνεκτικότητα Γραφημάτων 4.2 Συνεκτικότητα Μη-κατευθυνόμενων Γραφημάτων 4.3 Συνεκτικότητα Κατευθυνόμενων Γραφημάτων

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

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

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

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

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Βασικές έννοιες και εφαρμογές Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή

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

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

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

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

ΑΣΚΗΣΗ 3 ΑΣΚΗΣΗ 4 ΑΣΚΗΣΗ 5

ΑΣΚΗΣΗ 3 ΑΣΚΗΣΗ 4 ΑΣΚΗΣΗ 5 ΑΣΚΗΣΗ Μία εταιρεία διανομών διατηρεί την αποθήκη της στον κόμβο και μεταφέρει προϊόντα σε πελάτες που βρίσκονται στις πόλεις,,,7. Το οδικό δίκτυο που χρησιμοποιεί για τις μεταφορές αυτές φαίνεται στο

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

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

Προσεγγιστικοί Αλγόριθμοι Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)

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

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

ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, Κεφάλαιο 4 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 4) 1 Θέματα

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

d(v) = 3 S. q(g \ S) S

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

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

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

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

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

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

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

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

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Διάλεξη 2: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Βραχύτερα Μονοπάτια σε γράφους - Ο αλγόριθμος Dijkstra για εύρεση της βραχύτερης απόστασης

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