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

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

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

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

Κεφάλαιο 2.4 Matrix Algorithms

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

... Αν ν = 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 Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γνωστό: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τυχαίοι γράφοι Η διάμετρος του 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 ) έχει μικρή διάμετρο Θα ξεκινήσουμε με ένα θεώρημα για το μέγεθος μιας σφαίρας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ 3 η Διάλεξη Μονοπάτια και Κύκλοι Μήκη και αποστάσεις Κέντρο και μέσο γράφου. Ακτίνα και Διάμετρος Δυνάμεις Γραφημάτων Γράφοι Euler.

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

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

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

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

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

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

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα και 12 26 20 10 9 7 17 14 4 Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο)

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μη Ασυμφραστικές Γλώσσες (2.3) Λήμμα Άντλησης για Ασυμφραστικές Γλώσσες Παραδείγματα

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

Επίλυση Προβλημάτων 1

Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης

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

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

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το

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

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο Ουρές προτεραιότητας Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο αριθμός είναι μεγάλος, τόσο οι πελάτες

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Η τακτοποίηση των δεδομένων με ιδιαίτερη σειρά είναι πολύ σημαντική λειτουργία που ονομάζεται

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

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας-Βιβλιοθηκονοµίας, Κέρκυρα Παρασκευή 10 NOE 2006 ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Α Ίδιο τοπικό

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

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε Οµοφωνία σε σύστηµα µε αϖοτυχίες διεργασιών Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

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

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Ημέχρι τώρα περιγραφή των πρωτοκόλλων TCP/IP αποδεικνύει, ότι το πρωτόκολλο IP είναι υπεύθυνο για τη μεταφορά των αυτοδύναμων πακέτων στον προορισμό, που δηλώνεται από τη διεύθυνση προορισμού, αλλά δεν

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

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

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

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

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

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

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

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

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

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

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2013-2014 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013 Λύσεις Πρώτης Προόδου (συνολικά 100 μονάδες) 1. Αντιπαραθέσετε

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης και Βέλτιστου Σχεδιασμού Δικτύων - NETMODE

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

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

Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Εισαγωγή νέου στοιχείου y αμέσως μετά από το στοιχείο x. x y Διαγραφή στοιχείου y. y Έλεγχος της σειράς

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

Ουρά Προτεραιότητας (priority queue)

Ουρά Προτεραιότητας (priority queue) Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες PQinsert : εισαγωγή στοιχείου PQdelmax : επιστροφή του στοιχείου με το μεγαλύτερο* κλειδί και διαγραφή του

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

Εισαγωγή στους Αλγορίθμους Ενότητα 9η

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Εισαγωγή στους Αλγορίθμους Ενότητα 9η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Ελάχιστα Γεννητικά Δένδρα Ελάχιστο Γεννητικό

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

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

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

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

ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 5 η ΟΣΣ 10/05/2014. Νίκος Δημητρίου ΣΕΠ/ΘΕ ΠΛΗ22

ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 5 η ΟΣΣ 10/05/2014. Νίκος Δημητρίου ΣΕΠ/ΘΕ ΠΛΗ22 ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 5 η ΟΣΣ 10/05/2014 Νίκος Δημητρίου ΣΕΠ/ΘΕ ΠΛΗ22 Λύσεις ΓΕ4 ΕΑΠ/ΠΛΗ22/ΑΘΗ.3/5η 2 3 A D 4 1 B 2 3 C 1. Μετάδοση A-D 2. Ο Α αποστέλλει ένα πακέτο με τη MAC address του D 3. O πίνακας του switch

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

1 Η εναλλάσσουσα ομάδα

1 Η εναλλάσσουσα ομάδα Η εναλλάσσουσα ομάδα Η εναλλάσσουσα ομάδα Όπως είδαμε η συνάρτηση g : S { } είναι ένας επιμορφισμός ομάδων. Ο πυρήνας Ke g {σ S / g σ } του επιμορφισμού συμβολίζεται με A περιέχει όλες τις άρτιες μεταθέσεις

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

EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια. Παράδοση: Έως 22/6/2015

EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια. Παράδοση: Έως 22/6/2015 EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας Φυλλάδιο 13 Δ. Τουμπακάρης 30 Μαΐου 2015 EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια Παράδοση:

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

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

Καθυστέρηση επεξεργασίας (processing delay) Έλεγχος επικεφαλίδας Καθορισµός εξερχόµενης ζεύξης 3

Καθυστέρηση επεξεργασίας (processing delay) Έλεγχος επικεφαλίδας Καθορισµός εξερχόµενης ζεύξης 3 Καθυστέρησησεδίκτυα µεταγωγήςπακέτων 2 ο Φροντιστήριο ΗΥ 335 Οι 4 συνιστώσες της καθυστέρησης πακέτων 2 Καθυστέρηση επεξεργασίας (processing delay) Έλεγχος επικεφαλίδας Καθορισµός εξερχόµενης ζεύξης 3

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; ΘΕΜΑΤΑ ΔΕΝΔΡΩΝ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ ΠΛΗ0 ΑΣΚΗΣΗ Για τις ερωτήσεις - θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; Β Ε Α 6 Δ 5 9 8 0 Γ 7 Ζ Η. Σ/Λ Δυο από τα συνδετικά

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

Διάλεξη 6: Εκλογή Προέδρου σε Σύγχρονους Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 6: Εκλογή Προέδρου σε Σύγχρονους Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 6: Εκλογή Προέδρου σε Σύγχρονους Δακτύλιους ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Μη Ομοιόμορφος Αλγόριθμος Εκλογής Προέδρου σε Σύγχρονο Δακτύλιο Ομοιόμορφος Αλγόριθμος Εκλογής Προέδρου

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

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

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

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ethernet Ethernet ΙΕΕΕ CSMA/CD Ethernet Τα τοπικά δίκτυα είναι συνήθως τύπου Ethernet ή λέμε ότι ακολουθούν το πρότυπο ΙΕΕΕ 802.3 Ακολουθούν το μηχανισμό CSMA/CD (Πολλαπλή πρόσβαση με Ακρόαση Φέροντος και Ανίχνευση Συγκρούσεων). Πολλαπλή

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