Γράφοι. κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές) οι οποίες
|
|
- Ισίδωρος Καραμανλής
- 6 χρόνια πριν
- Προβολές:
Transcript
1 Ενότητα 11 Γράφοι (ή γραφήµατα) ΗΥ240 - Παναγιώτα Φατούρου 1 Γράφοι Ένας γράφος αποτελείται από ένα σύνολο από σηµεία (που λέγονται κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές) οι οποίες συνδέουν ζεύγη κόµβων. Εφαρµογές Μοντελοποίηση πολλών προβληµάτων: Αεροπορικές πτήσεις µεταξύ κάποιων πόλεων. Συνηθίζεται στη δηµιουργία χαρτών να ζωγραφίζονται γειτονικές χώρες (νοµοί) µε διαφορετικό χρώµα. Το πρόβληµα αυτό µπορεί να µοντελοποιηθεί σαν ένα πρόβληµα γράφων. Πολλά παιχνίδια µπορούν να µοντελοποιηθούν µε χρήση γράφων. Traveling Salesman Problem (Πρόβληµα περιπλανώµενου πωλητή): εδοµένου ενός συνόλου από πόλεις και της απόστασης µεταξύ κάθε ζεύγους πόλεων, βρείτε τη συντοµότερη διαδροµή που επισκέπτεται κάθε πόλη (δηλαδή εκείνη στην οποία διανύεται η µικρότερη απόσταση). ΗΥ240 - Παναγιώτα Φατούρου 2
2 Παραδείγµατα Γράφων ΗΥ240 - Παναγιώτα Φατούρου 3 Χρήσιµη Ορολογία Ένας γράφος G χαρακτηρίζεται από δύο σύνολα V και E. Το σύνολο V είναι ένα πεπερασµένο σύνολο, που περιέχει ως στοιχεία τις κορυφές (vertices) ή κόµβους (nodes) ή σηµεία (points) του γράφου. Το σύνολο Ε περιέχει τα ζεύγη κορυφών του γράφου, τα οποία ορίζουν τις ακµές (edges) ή τόξα (arcs) ή συνδέσµους (links) του. Οι κορυφές ή οι ακµές ενός γράφου χαρακτηρίζονται από ένα µοναδικό όνοµα που ονοµάζεται ετικέτα (label). V(G) ή V: το σύνολο των κόµβων ενός γράφου G E(G) ή E: το σύνολο των ακµών ενός γράφου G G(V,E): γράφος µε σύνολο κόµβων V και σύνολο ακµών Ε Παραδείγµατα V(G 1 ) = {1,2,3,4, E(G 1 ) = {(1,2),(1,3),(1,4),(2,3),(2,4),(3,4) V(G 2 ) = {1,2,3,4,5,6,7, E(G 2 ) = {(1,2), (1,3), (2,4), (2,5), (3,6), (3,7) Γράφος µε βάρη στις ακµές (weighted graph) λέγεται ένας γράφος, όπου µε κάθε ακµή του έχει συσχετισθεί ένας αριθµός που ονοµάζεται βάρος (weight). ΗΥ240 - Παναγιώτα Φατούρου 4
3 Χρήσιµη Ορολογία Ένας γράφος είναι µη κατευθυνόµενος αν τα ζεύγη των κορυφών που ορίζουν τις ακµές του στερούνται διάταξης, π.χ., τα ζεύγη (υ 1, υ 2 ) και (υ 2, υ 1 ) αναφέρονται στην ίδια ακµή. Στους κατευθυνόµενους γράφους κάθε ακµή συµβολίζεται µε το κατευθυνόµενο ζεύγος <υ 1, υ 2 >, όπου υ 1 είναι η ουρά (tail) και υ 2 είναι η κεφαλή (head) της ακµής (έτσι, οι ακµές <υ 1, υ 2 > και <υ 2, υ 1 > είναι δυο διαφορετικές ακµές). Ένας µη κατευθυνόµενος γράφος µπορεί να θεωρηθεί ως ένας συµµετρικός κατευθυνόµενος γράφος. Παράδειγµα Οι γράφοι G και G3 είναι κατευθυνόµενοι ενώ ο γράφος του σχήµατος (a) είναι µη-κατευθυνόµενος. V(G 3 ) = {1,2,3, E(G 3 ) = {<1,2>,<2,1>,<2,3> V(G) = {u,v,w,x,y, E(G) = {<u,w>, <w,u>, <w,y>, <x,w>, <y,v>,<v,u>. G ΗΥ240 - Παναγιώτα Φατούρου 5 Χρήσιµη Ορολογία Αν (υ 1, υ 2 ) Ε(G), τότε οι κορυφές υ 1 και υ 2 λέγονται διπλανές (adjacent) ή γειτονικές (neighboring) και η ακµή (υ 1, υ 2 ) ονοµάζεται προσκείµενη στις κορυφές υ 1 και υ 2. Αν δύο κορυφές υ 1 και υ 2 δεν συνδέονται µεταξύ τους µε ακµή λέγονται ανεξάρτητες (independent). Αν (υ 1, υ 2 ) είναι µια ακµή τότε η κορυφή υ 1 λέγεται διπλανή (adjacent) της υ 2. Επίσης, οι κορυφές υ 1, υ 2 λέγονται και γειτονικές. Αν <υ 1,υ 2 > είναι µια ακµή ενός κατευθυνόµενου γράφου, τότε ο κόµβος υ 1 είναι γειτονικός του κόµβου υ 2, αλλά το αντίστροφο ισχύει µόνο αν και η ακµή <υ 2, υ 1 > υπάρχει επίσης στον κατευθυνόµενο γράφο. Ένας γράφος µε πολλές ακµές λέγεται πυκνός (συνήθως µε Θ(nlogn) ή περισσότερες ακµές). Ένας γράφος µε λίγες ακµές (συνήθως λιγότερες από O(n)) λέγεται αραιός. ΗΥ240 - Παναγιώτα Φατούρου 6
4 Θεµιτές Λειτουργίες σε Γράφους MakeGraph(V): επιστρέφει έναν γράφο µε σύνολο κορυφών V και καµία ακµή. Vertices(G): επιστρέφει V(G), το σύνολο των κορυφών του G. Εdges(G): επιστρέφει Ε(G), το σύνολο των ακµών του G. Neighbors(v,G): επιστρέφει το σύνολο των κορυφών που είναι γειτονικές του κόµβου v στον G. AddVertex(v,G): Προσθέτει ένα νέο κόµβο µε ετικέτα v στον G. AddDirectedEdge(u,v,G): προσθέτει µια νέα (κατευθυνόµενη) ακµή <u,v> που συνδέει τους κόµβους u και v στον G. AddUndirectedEdge(u,v,G): προσθέτει τη νέα ακµή (u,v) που συνδέει τους κόµβους u και v στον G. DeleteVertex(v,G): διαγράφει τον κόµβο v από τον G, µαζί µε όλες τις ακµές που πρόσκεινται σε αυτόν. DeleteEdge(u,v,G): διαγράφει την ακµή που συνδέει τους κόµβους u και v στον G. ΗΥ240 - Παναγιώτα Φατούρου 7 Αναπαράσταση Γράφων Παραδείγµατα Έστω ένας γράφος G του οποίου οι κόµβοι έχουν αριθµηθεί από το 1 ως το V κατά αυθαίρετο τρόπο. Ο πίνακας γειτνίασης Α του G είναι ένας V x V πίνακας µε στοιχεία: 1 αν (i,j) E A[ i, j] = 0 διαφορετικά Ορίζουµε ως ανάστροφο ενός πίνακα γειτνίασης Α τον πίνακα Α Τ = {a ijt, όπου a ijt = a ji, για κάθε i,j {1,.., V. Ο πίνακας γειτνίασης ενός µη-κατευθυνόµενου γράφου ισούται µε τον ανάστροφό του. Για κάθε εγγραφή A[i,j] του πίνακα που είναι ίση µε 1, η εγγραφή Α[j,i] ισούται επίσης µε 1. Κατευθυνόµενος γράφος G 1 Πίνακας γειτνίασης του G 1 ΗΥ240 - Παναγιώτα Φατούρου 8
5 Θετικά & Αρνητικά Πινάκων Γειτνίασης Θετικά Αν δεν χρειάζεται να αποθηκευτούν επιπρόσθετες πληροφορίες για κάθε κόµβο του γράφου, η µέθοδος είναι πολύ ελκυστική. Κάθε κόµβος χαρακτηρίζεται από έναν ακέραιο και οι ακέραιοι αυτοί χρησιµοποιούνται για διευθυνσιοδότηση του πίνακα γειτνίασης. Πολλές λειτουργίες υλοποιούνται απλά και αποτελεσµατικά. Αρνητικά Κάθε διαγραφή ή εισαγωγή κόµβου στο γράφο προκαλεί αλλαγή στο µέγεθος του πίνακα. Η µέθοδος πίνακα γειτνίασης είναι απλή, αλλά δεν υποστηρίζει αποτελεσµατικά όλες τις λειτουργίες. Ποια η πολυπλοκότητα της λειτουργίας εύρεσης των γειτονικών κόµβων ενός κόµβου υ? Θα µπορούσαµε να υλοποιήσουµε τη λειτουργία αυτή πιο αποτελεσµατικά αν γνωρίζαµε πως ο κόµβος δεν έχει καθόλου γειτονικούς κόµβους? ΗΥ240 - Παναγιώτα Φατούρου 9 Λίστες Γειτνίασης Οι κόµβοι αποθηκεύονται σε µια λίστα. Σε κάθε κόµβο v της λίστας αποθηκεύεται δείκτης στο πρώτο στοιχείο µιας λίστα που περιέχει τους γειτονικούς κόµβους του κόµβου του γράφου στον οποίο αντιστοιχεί ο v. Η λίστα γειτνίασης είναι µια λίστα από λίστες! Λίστα Γειτνίασης G 1 Λίστα Γειτνίασης G 3 Θετικά Ένας κόµβος µπορεί να εισαχθεί ή να διαγραφεί µε την ίδια ευκολία όπως µια ακµή. Οδηγεί σε καλή χωρική πολυπλοκότητα για την αναπαράσταση αραιών γράφων. Αρνητικά Η χρονική πολυπλοκότητα της λειτουργίας «Εύρεση αν δύο κόµβοι είναι γειτονικοί» είναι µεγαλύτερη από όταν χρησιµοποιείται πίνακας γειτνίασης. Ακριβή µέθοδος ως προς τη χωρική πολυπλοκότητα για πυκνούς γράφους. ΗΥ240 - Παναγιώτα Φατούρου 10
6 Πολυπλοκότητα Αλγορίθµων Γράφων Πρόταση: Το µέγιστο πλήθος ακµών για κάθε µη κατευθυνόµενο γράφο µε n κορυφές είναι E max = n(n-1)/2. Γιατί; Τι ισχύει αν ένας γράφος G είναι κατευθυνόµενος? Ο G µπορεί να έχει το πολύ διπλάσιο πλήθος ακµών από τον αντίστοιχο µη κατευθυνόµενο γράφο. Τι θα ήταν καλύτερο, ένας αλγόριθµος που τρέχει σε χρόνο Θ(n 2 ) ή σε Θ(m)? Αλγόριθµοι µε πολυπλοκότητα Θ(m) συνήθως δεν µπορούν να σχεδιαστούν, αφού αν το E είναι µικρό, δεν αρκεί ο χρόνος ούτε για να εξεταστεί κάθε κόµβος. Πολλές φορές η γνώση του αν ο γράφος είναι πυκνός ή αραιός βοηθάει στο σχεδιασµό αποτελεσµατικών αλγόριθµων. Η χρονική πολυπλοκότητα γράφων είναι συνήθως συνάρτηση τόσο του αριθµού των κόµβων, όσο και του αριθµού των ακµών, π.χ., Θ(n+m). Άλλοι παράγοντες που επηρεάζουν σηµαντικά την πολυπλοκότητα είναι η υλοποίηση (δηλαδή η µέθοδος αναπαράστασης που χρησιµοποιείται). Πως θα µπορούσε να υλοποιηθεί µια εντολή ανακύκλωσης του τύπου για κάθε ακµή e στον G δεδοµένου ότι ο G υλοποιείται µε: Πίνακα γειτνίασης; Λίστες γειτνίασης; ΗΥ240 - Παναγιώτα Φατούρου 11 ένδρα Τα δένδρα (έχουµε ήδη µελετήσει αρκετά) είναι µια σηµαντική κατηγορία γράφων. Ενδιαφέρουσες Παρατηρήσεις Η έννοια της ρίζας δεν σχετίζεται άµεσα µε το αν ένας γράφος είναι δένδρο ή όχι. Σε ένα δένδρο οποιοσδήποτε κόµβος θα µπορούσε να παίξει το ρόλο της ρίζας. Χρήσιµοι Ορισµοί Μονοπάτι (path) ή διαδροµή (route) από τον κόµβο υ p στον κόµβο υ q του γράφου G ορίζεται η ακολουθία των κόµβων υ p,υ i1,υ i2,..., υ in,υ q που έχουν την ιδιότητα ότι οι ακµές (υ p,υ i1 ), (υ i1,υ i2 ),..., (υ in,υ q ) ανήκουν στο Ε(G). Μήκος µονοπατιού (length) είναι το πλήθος των ακµών του µονοπατιού. Απλό µονοπάτι (simple path) λέγεται το µονοπάτι εκείνο όπου όλοι οι κόµβοι εκτός ίσως από τον πρώτο και τον τελευταίο - είναι διαφορετικοί. ΗΥ240 - Παναγιώτα Φατούρου 12
7 ένδρα Κύκλος (cycle) είναι ένα κλειστό µονοπάτι, δηλαδή ένα µονοπάτι στο οποίο ταυτίζεται ο πρώτος και ο τελευταίος κόµβος. Ένας απλός κύκλος είναι ένας κύκλος που ταυτόχρονα είναι ένα απλό µονοπάτι. Ένα δένδρο είναι ένας µη κατευθυνόµενος γράφος Τ για τον οποίο ισχύει η ακόλουθη ιδιότητα: «για κάθε ζεύγος κόµβων u, v του Τ, υπάρχει ένα και µόνο µονοπάτι που είναι απλό µεταξύ των u και v» Σε ένα µη κατευθυνόµενο γράφο G δύο κόµβοι λέγονται συνδεδεµένοι (connected) όταν υπάρχει ένα µονοπάτι από τον έναν κόµβο στον άλλο. Ένας γράφος ονοµάζεται συνδεδεµένος ή συνεκτικός αν για κάθε ζεύγος κόµβων του γράφου υπάρχει τουλάχιστον ένα µονοπάτι που να τους συνδέει. Ένας γράφος που δεν είναι συνεκτικός ονοµάζεται µη-συνεκτικός (disconnected). Ένας γράφος που δεν περιέχει κύκλους ονοµάζεται ακυκλικός (acyclic). ΗΥ240 - Παναγιώτα Φατούρου 13 ένδρα Έστω G και G δυο οποιοιδήποτε γράφοι. Αν ισχύει ότι V(G ) V(G) και Ε(G ) E(G), τότε ο G ονοµάζεται υπογράφος του G. Ένας συνεκτικός υπογράφος G του G ονοµάζεται συνεκτική συνιστώσα (connected component) του G αν δεν υπάρχει συνεκτικός υπογράφος G του G τ.ω ο G να είναι συνεκτικός υπογράφος του G (G is a maximal connected subgraph of G). Λήµµα Ένας συνεκτικός γράφος G µε n κόµβους έχει τουλάχιστον n-1 ακµές. 2. Ένας ακυκλικός γράφος G µε n κόµβους έχει το πολύ n-1 ακµές. Απόδειξη 1. a. Θεωρούµε έναν γράφο G µε n κόµβους και καµία ακµή. β. Προσθέτουµε ακµές µια προς µια στον G. Κάθε ακµή είτε συνενώνει δυο κόµβους της ίδιας συνεκτικής συνιστώσας ή συνενώνει δυο κόµβους διαφορετικών συνεκτικών συνιστωσών. γ. Άρα, το πλήθος των ακµών που πρέπει να εισαχθούν πριν να προκύψει µόνο µια συνεκτική συνιστώσα είναι τουλάχιστον n α. Έστω ότι ο G έχει k 1 συνεκτικές συνιστώσες µε µεγέθη n 1,, n k, αντίστοιχα. β. Κάθε συνιστώσα C i είναι ακυκλική και συνεκτική -> η C i είναι δένδρο -> Η C i έχει n i -1 ακµές. γ. Συνολικό πλήθος ακµών = (n 1-1)+(n 2-1)+ +(n k -1) = n-k n-1, όπως απαιτείται! ΗΥ240 - Παναγιώτα Φατούρου 14
8 ένδρα Θεώρηµα 11.2 Έστω ότι Τ = <V,E> είναι ένα δένδρο. Τότε το Τ έχει τις ακόλουθες ιδιότητες: 1. ο Τ είναι ένας συνδεδεµένος γράφος, 2. ο Τ είναι ένας ακυκλικός γράφος 3. η διαγραφή µιας ακµής από το Τ καθιστά τον γράφο µη συνεκτικό, 4. αν u,v V και e = (u,v) δεν είναι ακµή του Τ, τότε η προσθήκη της e στο Τ δηµιουργεί ένα κύκλο στο γράφο, ο οποίος περιέχει την e, 5. ο Τ έχει ακριβώς n-1 ακµές, όπου n είναι το πλήθος των κόµβων του Τ. Απόδειξη 3. Έστω ότι e = (u,v) είναι οποιαδήποτε ακµή του Τ. Τότε, (u -> v) είναι το µοναδικό µονοπάτι στο δένδρο από τον κόµβο u στον κόµβο v. Αν η (u,v) αφαιρεθεί από το Τ, ο προκύπτον γράφος είναι µη συνεκτικός αφού δεν υπάρχει µονοπάτι από τον κόµβο u στον κόµβο v. Η απόδειξη των υπόλοιπων ιδιοτήτων αφήνεται ως άσκηση για το σπίτι! ΗΥ240 - Παναγιώτα Φατούρου 15 ένδρα Θεώρηµα 11.3 Έστω G ένας µη κατευθυνόµενος γράφος µε n κόµβους. Αν ο G ικανοποιεί οποιαδήποτε από τις ακόλουθες συνθήκες, τότε ο G είναι δένδρο: 1. ο G είναι συνεκτικός και ακυκλικός, 2. ο G είναι συνεκτικός, αλλά η διαγραφή µιας οποιασδήποτε ακµής τον µετατρέπει σε µη-συνεκτικό, 3. ο G δεν είναι πλήρης, και η προσθήκη οποιασδήποτε ακµής δηµιουργεί ένα και µοναδικό κύκλο στο γράφο, 4. ο G είναι συνεκτικός και έχει ακριβώς n-1 ακµές 5. ο G είναι ακυκλικός και έχει ακριβώς n-1 ακµές. Απόδειξη Η απόδειξη των 4 και 5 προκύπτει χρησιµοποιώντας το Λήµµα 1. Η απόδειξη των 1,2 και 3 αφήνεται ως άσκηση για το σπίτι! ΗΥ240 - Παναγιώτα Φατούρου 16
9 (Breath First Search ή BFS) εδοµένων ενός γραφήµατος G=(V,E) και ενός κόµβου s V (κόµβος ρίζα ή κόµβος εκκίνησης), η διάσχιση κατά πλάτος συνίσταται στον εντοπισµό (δηλαδή τη διάσχιση) όλων των κόµβων που είναι προσπελάσιµοι από τον s. Κατά την εκτέλεση µιας διάσχισης κατά πλάτος στον G: δηµιουργείται ένα δένδρο µε ρίζα τον κόµβο s που περιέχει όλους τους κόµβους του G που είναι προσπελάσιµοι από τον s (το δένδρο αυτό ονοµάζεται δένδρο «κατά πλάτος»), υπολογίζεται η απόσταση, δηλαδή το µήκος του συντοµότερου µονοπατιού, από τον s προς οποιονδήποτε κόµβο v (την οποία θα συµβολίζουµε µε δ(s,v)). Η διάσχιση των κόµβων γίνεται «κατά πλάτος»: «Η διάσχιση οποιουδήποτε κόµβου σε απόσταση k+1 από τον s πραγµατοποιείται µόνο όταν όλοι οι κόµβοι σε απόσταση k από τον s έχουν διασχισθεί». ΗΥ240 - Παναγιώτα Φατούρου 17 Σηµαντικότερα σηµεία του αλγορίθµου Ο αλγόριθµος χρωµατίζει κάθε κόµβο του γράφου λευκό, γκρίζο ή µαύρο. Λευκοί κόµβοι: είναι αυτοί που δεν έχουν ακόµη εξερευνηθεί. Ένας κόµβος θεωρείται πως έχει εξερευνηθεί την πρώτη φορά που συναντάται στη διάσχιση, οπότε και καθίσταται µη λευκός. Γκρίζοι κόµβοι: είναι κόµβοι που έχουν εξερευνηθεί αλλά ίσως έχουν γείτονες που δεν έχουν ακόµη εξερευνηθεί (δηλαδή που είναι ακόµη λευκοί). Αποτελούν το σύνορο µεταξύ µαύρων και λευκών κόµβων. Μαύροι κόµβοι: είναι κόµβοι των οποίων όλοι οι γείτονες έχουν εξερευνηθεί (δηλαδή οι γειτονικοί κόµβοι αυτών είναι είτε γκρίζοι ή µαύροι). Ο διαχωρισµός µεταξύ γκρίζων και µαύρων κόµβων γίνεται για να εξασφαλισθεί ότι η διάσχιση των κόµβων θα γίνει «κατά πλάτος». ΗΥ240 - Παναγιώτα Φατούρου 18
10 Βασικές Ιδέες Αλγορίθµου Αρχικά, ο µοναδικός γκρίζος κόµβος είναι ο s. Κάθε χρονική στιγµή, οι γκρίζοι κόµβοι είναι αποθηκευµένοι σε µια ουρά Q (που αρχικά περιέχει µόνο τον s). Επαναληπτικά, εκτελούνται τα εξής: 1. Εξαγωγή ενός γκρίζου κόµβου u από την Q; 2. ιερεύνηση των γειτονικών κόµβων του u και εισαγωγή στην ουρά όσων εξ αυτών είναι λευκοί. 3. Ακριβώς πριν την εισαγωγή στην Q ενός λευκού κόµβου v εκτελούνται τα εξής: το χρώµα του v αλλάζει σε γκρίζο; o u ορίζεται να είναι ο πατρικός κόµβος του v στο «κατά πλάτος» δένδρο που δηµιουργείται και η ακµή (u,v) εισάγεται στο δένδρο (ο u ονοµάζεται προκάτοχος του v στο δένδρο); η απόσταση του v από τον κόµβο εκκίνησης s υπολογίζεται και καταχωρείται σε ένα κατάλληλο πεδίο του struct του κόµβου v. 4. Όταν όλοι οι γειτονικοί κόµβοι του u έχουν εξετασθεί (και οι ενέργειες του βήµατος 3 έχουν εκτελεστεί για όσους εξ αυτών είναι λευκοί), το χρώµα του u αλλάζει σε µαύρο. ΗΥ240 - Παναγιώτα Φατούρου 19 Η διάσχιση «κατά πλάτος» σας θυµίζει κάποια από τις διασχίσεις που έχουν µελετηθεί σε δένδρα; ιάσχιση ένδρου κατά Επίπεδα (κατά πλάτος) Επισκέπτεται τους κόµβους κατά αύξον βάθος και τους κόµβους του ίδιου επιπέδου από τα αριστερά προς τα δεξιά. Χρήση Ουράς Αρχικά η ουρά περιέχει µόνο τη ρίζα. Επαναληπτικά: κάνουµε Deque ένα στοιχείο της ουράς και προσθέτουµε τα παιδιά από αριστερά προς τα δεξιά του στοιχείου αυτού. Procedure LevelOrder(pointer r) { Queue Q; pointer P; MakeEmptyQueue(Q); Enqueue(Q,r); while (! IsEmptyQueue(Q)) { P = Dequeue(Q); Visit(P); foreach child c of P, in order, do Enqueue(c); Παράδειγµα Περιεχόµενα Ουράς Α B, C, D C, D, E, F D, E, F E, F, G F, G G, H, I H, I, J, K I, J, K J, K K, L L <empty> ΗΥ240 - Παναγιώτα Φατούρου 20
11 ιάσχιση «κατά πλάτος» Ο κώδικας υποθέτει ότι ο γράφος G αναπαρίσταται µέσω λίστας γειτνίασης. Σε κάθε κόµβο v του γράφου διατηρούνται διάφορες πληροφορίες: v->c: το χρώµα του κόµβου v v->d: η απόσταση του κόµβου v από τον s v->p: ο πατρικός κόµβος του v στο κατά πλάτος δένδρο Ο αλγόριθµος χρησιµοποιεί µια ουρά Q για τη διαχείριση του συνόλου των γκρίζων κόµβων. Αναλλοίωτη Συνθήκη Κάθε φορά που εκτελείται ο έλεγχος της while, η ουρά Q περιέχει το τρέχον σύνολο των γκρίζων κόµβων. Είναι εύκολο να επιβεβαιωθεί ότι η συνθήκη ισχύει πριν από την πρώτη επανάληψη και διατηρείται σε κάθε επανάληψη! procedure BFS(graph G, node s) { Queue Q; node u, v; foreach node u V(G) {s { u->c = WHITE; u->d = ; u->p = nill; s->c = GRAY; s->d = 0; s->p = nill; MakeEmptyQueue(Q); Enqueue(Q, s); while (!IsEmptyQueue(Q)) { u = Dequeue(Q); // διάσχιση λίστας γειτονικών κόµβων του u foreach v u->adj { if (v->c = WHITE) { v->c = GRAY; v->d = v->d+1; v->p = u; Enqueue(Q,v); u->c = BLACK; ΗΥ240 - Παναγιώτα Φατούρου 21 // αρχικοποίηση // των κόµβων // του V(G)- {s // αρχικοποίηση κόµβου // s και ουράς Q Αναπαράσταση τρόπου λειτουργίας της BFS() σε µη κατευθυνόµενο γράφο. ΗΥ240 - Παναγιώτα Φατούρου 22
12 Χρονική Πολυπλοκότητα ιάσχισης «Κατά πλάτος» Η χρονική πολυπλοκότητα για την αρχικοποίηση των κόµβων του γράφου είναι Ο( V ). Μετά την εκτέλεση της αρχικοποίησης των κόµβων, κανένας κόµβος δεν χρωµατίζεται ποτέ λευκός κάθε κόµβος εισέρχεται στην ουρά το πολύ µια φορά! Αφού η χρονική πολυπλοκότητα των Enqueue() και Dequeue() είναι Ο(1), ο συνολικός χρόνος που αναλώνεται στην εκτέλεση των λειτουργιών της ουράς είναι O( V ). Η λίστα γειτνίασης ενός κόµβου διατρέχεται µόνο όταν αυτός διαγράφεται από την ουρά ηλίστα γειτνίασης κάθε κόµβου διατρέχεται µόνο µια φορά. Τα άθροισµα του πλήθους των στοιχείων όλων των λιστών γειτνίασης είναι Ο( Ε ) ο συνολικός χρόνος διάσχισης όλων αυτών των λιστών είναι Ο( Ε ). Εποµένως, η χρονική πολυπλοκότητα της BFS() είναι Ο( V + E ). procedure BFS(graph G, node s) { Queue Q; node u, v; foreach node u V(G) {s { u->c = WHITE; u->d = ; u->p = nill; s->c = GRAY; s->d = 0; s->p = nill; MakeEmptyQueue(Q); Enqueue(Q, s); while (!IsEmptyQueue(Q)) { u = Dequeue(Q); foreach v u->adj { if (v->c = WHITE) { v->c = GRAY; v->d = v->d+1; v->p = u; Enqueue(Q,v); u->c = BLACK; ΗΥ240 - Παναγιώτα Φατούρου 23 Ένα µονοπάτι µήκους δ(s,v) από τον κόµβο s σε κάποιο κόµβο v ονοµάζεται συντοµότερο µονοπάτι από τον s στον v. Αν δεν υπάρχει µονοπάτι από τον s στον v, τότε δ(s,v) =. Θα αποδειχθεί ότι η BFS() υπολογίζει τα µήκη των συντοµότερων µονοπατιών από τον s προς οποιονδήποτε κόµβο v. Έστω G=(V,E) ένας γράφος (κατευθυνόµενος ή µη) και s Vένας αυθαίρετος κόµβος. Λήµµα 11.4: Για κάθε ακµή (u,v) Ε, ισχύει ότι δ(s,v) δ(s,u) + 1. Απόδειξη: ιακρίνουµε περιπτώσεις: 1. Ο u είναι προσπελάσιµος από τον s. Τότε, ένα από τα µονοπάτια από τον s στον v είναι το µονοπάτι P που αποτελείται από το µονοπάτι από τον s στον u ακολουθούµενο από την ακµή (u,v). Προφανώς, το συντοµότερο µονοπάτι από τον s στον v έχει µήκος µικρότερο ή ίσο του µήκους του P. 2. Ο u δεν είναι προσπελάσιµος από τον s. Τότε, δ(s,u) =. Τότε, ούτε ο v είναι προσπελάσιµος από τον s (αφού αν ήταν θα ήταν και ο v). Έτσι, ισχύει ότι δ(s,v) = και εποµένως ο ισχυρισµός ισχύει. ΗΥ240 - Παναγιώτα Φατούρου 24
13 Λήµµα 11.5: Κατά τον τερµατισµό της BFS() για κάθε κόµβο v V, η τιµή v->d που υπολογίζεται από την BFS() ικανοποιεί τη σχέση v->d δ(s,v) (δηλαδή η v->d αποτελεί άνω φράγµα της δ(s,v)). Απόδειξη: Με επαγωγή ως προς το πλήθος των λειτουργιών Enqueue() που εκτελούνται στην Q. Βάση Επαγωγής (αµέσως µετά την εισαγωγή του κόµβου s στην ουρά): Από αρχικοποίηση, s->d = 0 = δ(s,s) και δ(s,v) =, για κάθε κόµβο v V {s. Άρα, ο ισχυρισµός ισχύει. Επαγωγική Υπόθεση: Μετά από την εκτέλεση k 1 λειτουργιών Enqueue() στην Q, ισχύει ότι, για κάθε κόµβο v V, v->d δ(s,v). Επαγωγικό Βήµα: Θα δείξουµε ότι ο ισχυρισµός ισχύει µετά την εκτέλεση k+1 λειτουργιών Enqueue() στην Q. Έστω v ο λευκός κόµβος που εισάγεται κατά την εκτέλεση της (k+1)-οστής λειτουργίας Enqueue() στην Q και έστω ότι ο v εντοπίστηκε στη λίστα γειτνίασης ενός κόµβου u. Σύµφωνα µε την επαγωγική υπόθεση ισχύει ότι u->d δ(s,u). Από τον κώδικα προκύπτει ότι v->d = u->d+1 δ(s,u)+1 δ(s,v). Στη συνέχεια ο v προστίθεται στην ουρά για µια και µοναδική φορά (αφού ταυτόχρονα χρωµατίζεται γκρίζος) και έτσι το v->d δεν αλλάζει ξανά και άρα η επαγωγική υπόθεση εξακολουθεί να ισχύει. ΗΥ240 - Παναγιώτα Φατούρου 25 Λήµµα 11.6: Έστω ότι σε κάποια χρονική στιγµή της εκτέλεσης της BFS(), η ουρά Q περιέχει τους κόµβους <v 1, v 2, v r >, όπου ο v 1 είναι ο πρώτος κόµβος (κεφαλή) της Q και ο v r είναι ο τελευταίος κόµβος της Q. Τότε, v r ->d v 1 ->d +1 και v 1 ->d v 2 ->d v r-1 ->d (δηλαδή ανά πάσα στιγµή υπάρχουν το πολύ δύο διαφορετικές τιµές στα πεδία d των κόµβων που περιέχονται στην ουρά Q). Απόδειξη: Με επαγωγή στο πλήθος των Enqueue() & Dequeue() που εκτελούνται στην Q. Βάση Επαγωγής: Όταν η ουρά περιέχει µόνο τον κόµβο s, ο ισχυρισµός ισχύει προφανώς. Επαγωγική Υπόθεση: Έστω ότι ο ισχυρισµός ισχύει µετά από την εκτέλεση k λειτουργιών στην Q. Επαγωγικό Βήµα: Θα δείξω ότι ο ισχυρισµός ισχύει µετά από την εκτέλεση k+1 λειτουργιών στην ουρά. ιακρίνω περιπτώσεις: 1. Η (κ+1) λειτουργία στην Q είναι Dequeue() ο κόµβος v 1 διαγράφεται από την Q. Από επαγωγική υπόθεση v 1 ->d v 2 ->d και v r ->d v 1 ->d +1. Εποµένως, v r ->d v 2 ->d+1, ενώ οι υπόλοιπες ανισότητες δεν επηρεάζονται. 2. H (k+1) λειτουργία στην Q είναι Enqueue(). Στην ουρά προστίθεται ένας κόµβος v r+1, ο οποίος έστω ότι βρίσκεται στη λίστα γειτνίασης του κόµβου u. Ο u είναι ο κόµβος που έχει εξαχθεί πιο πρόσφατα από την ουρά και αν v 1 είναι ο τρέχον κόµβος που είναι πρώτος στην ουρά, από την επαγωγική υπόθεση ισχύει ότι u->d v 1 ->d. Εποµένως, v r+1 ->d = u->d + 1 v 1 ->d + 1. Από επαγωγική υπόθεση, v r ->d u->d + 1 = v r+1 ->d. Οι υπόλοιπες ανισότητες δεν επηρεάζονται. ΗΥ240 - Παναγιώτα Φατούρου 26
14 Πόρισµα 11.7: Έστω ότι κατά την εκτέλεση της BFS() προστίθενται στην ουρά οι κόµβοι v i και v j και ότι ο v i προστίθεται στην Q πριν από τον v j. Τότε, τη χρονική στιγµή που προστίθεται ο v j ισχύει ότι v i ->d v j - >d. Ορθότητα της BFS() Θεώρηµα 11.8: (α) Η BFS() διασχίζει όλους τους κόµβους v Vπου είναι προσπελάσιµοι από τον s. Κατά τον τερµατισµό της ισχύει ότι (β) v->d = δ(s,v), για κάθε κόµβο v V και (γ) για κάθε κόµβο v V που είναι προσπελάσιµος από τον s, ένα από τα συντοµότερα µονοπάτια από τον s στον v αποτελείται από το συντοµότερο µονοπάτι από τον s ως τον v->p ακολουθούµενο από την ακµή (v->p, v). ΗΥ240 - Παναγιώτα Φατούρου 27 Ορθότητα της ιάσχισης «Κατά Πλάτος» Απόδειξη Θεωρήµατος 11.8 Έστω ότι για κάποιο κόµβο δεν υπολογίζεται σωστά το d. Έστω v ο κόµβος µε την ελάχιστη δ(s,v) ο οποίος λαµβάνει µια λανθασµένη τιµή d. Προφανώς, v s και επίσης ο v είναι προσπελάσιµος από τον s (αφού διαφορετικά δ(s,v) = > v->d ότι τιµή και να έχει το v->d). Λόγω Λήµµατος 11.5, v->d δ(s,v) v->d > δ(s,v). Έστω u ο αµέσως προηγούµενος κόµβος σε ένα συντοµότερο µονοπάτι από τον s στον v. Άρα, δ(s,v) = δ(s,u)+1. Αφού δ(s,u) < δ(s,v) και λόγω του τρόπου που επιλέχθηκε ο v, θα πρέπει να ισχύει πως u->d = δ(s,u). Εποµένως προκύπτει ότι: v->d > δ(s,v) = u->d + 1 (1) Εξετάζουµε τι συµβαίνει τη χρονική στιγµή που η BFS() διαγράφει τον u από την Q. ιακρίνουµε περιπτώσεις (και αποδεικνύουµε ότι σε κάθε µια από αυτές καταστρατηγείται η ανισότητα (1), το οποίο είναι άτοπο). ΗΥ240 - Παναγιώτα Φατούρου 28
15 Ορθότητα της ιάσχισης «Κατά Πλάτος» Απόδειξη Θεωρήµατος 11.8 (συνέχεια) 1. Ο v είναι λευκός. Τότε, ο v εισάγεται στην ουρά λόγω του u και έτσι v->d = u->d + 1 (το οποίο αντιτίθεται στην (1)). 2. Ο v είναι γκρίζος. Ο v χρωµατίστηκε γκρίζος κατά την αφαίρεση από την ουρά κάποιου κόµβου w, ο οποίος αφαιρέθηκε από την Q νωρίτερα από τον u. Επίσης ισχύει ότι v->d = w->d + 1. Από Πόρισµα 11.7 w->d u->d. Εποµένως, v->d u->d + 1 (το οποίο και πάλι αντιτίθεται στην (1)). 3. Ο v είναι µαύρος. Ο v έχει ήδη αφαιρεθεί από την ουρά. Βάσει Πορίσµατος 11.7 v->d u->d (το οποίο και πάλι αντιτίθεται στην (1)). Συµπεραίνουµε ότι v->d = δ(s,v) για κάθε κόµβο v V. Όλοι οι κόµβοι που είναι προσπελάσιµοι από τον s θα πρέπει να εντοπιστούν (γιατί διαφορετικά v->d = για όσους κόµβους δεν εντοπίζοναι, το οποίο αντιτίθεται στον ισχυρισµό που µόλις δείξαµε). Από κώδικα προκύπτει πως αν v->p = u, τότε v->d = u->d + 1. Εποµένως, αν πάρουµε ένα συντοµότερο µονοπάτι από τον s µέχρι τον u = v->p και προσθέσουµε την ακµή (v->p, v) παίρνουµε ένα συντοµότερο µονοπάτι από τον s µέχρι τον v. ΗΥ240 - Παναγιώτα Φατούρου 29
Ενότητα 10 Γράφοι (ή Γραφήµατα)
Ενότητα 10 Γράφοι (ή γραφήµατα) ΗΥ240 - Παναγιώτα Φατούρου 1 Γράφοι (ή Γραφήµατα) Ένας γράφος αποτελείται από ένα σύνολο από σηµεία (που λέγονται κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές)
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 10 Γράφοι ΗΥ240 - Παναγιώτα Φατούρου 2 Γράφοι (ή Γραφήματα) Ένας γράφος
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 9: Εισαγωγή στους Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι - ορισμοί και υλοποίηση Διάσχιση Γράφων Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)
Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή
Αλγόριθμοι Γραφημάτων
Αλγόριθμοι Γραφημάτων. Γραφήματα. Αναπαράσταση Γραφημάτων 3. Διερεύνηση σε Πρώτα σε Πλάτος (BFS) Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γράφημα Ορισμός: Ένα γράφημα G είναι το διατεταγμένο ζεύγος
ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v.
ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 ένδρα Κόµβοι (nodes) Ακµές (edges) Ουρά και κεφαλή ακµής (tail, head) Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) Μονοπάτι (path) Πρόγονος απόγονος
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το
Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)
Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει
Γράφοι. Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο. Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά.
Γράφοι Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο πλευρές (ακµές) και κορυφές (κόµβους). Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά. Graph Drawing 4 πιθανές αναπαραστάσεις
Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 3 Γραφήµατα v1.0 (2010-05-25) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων
ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,
Γράφοι Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Γράφοι - ορισµοί και υλοποίηση Τοπολογική Ταξινόµηση ιάσχιση Γράφων ΕΠΛ 23 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 26 - Γράφοι Ηπιο
ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1
Γράφοι Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Γράφοι - ορισµοί και υλοποίηση Διάσχιση Γράφων Τοπολογική Ταξινόµηση ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι - Γράφοι Η πιο γενική µορφή δοµής
Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες
ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ. ΗΥ240 - Παναγιώτα Φατούρου 1
ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 ένδρα Κόµβοι (nodes) Ακµές (edges) Ουρά και κεφαλή ακµής (tail, head) Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) Μονοπάτι (path) Πρόγονος απόγονος
Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 9: Γράφοι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Γράφοι - ορισμοί και υλοποίηση - Διάσχιση Γράφων Διδάσκων: Παναγιώτης νδρέου ΕΠΛ035 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ.
Στοιχεία Θεωρίας Γράφων (Graph Theory)
Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,
ΠΛΗ111. Ανοιξη 2005. Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 10 ο Γράφοι Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Γράφοι Ορισµός Αφηρηµένος τύπος δεδοµένων Υλοποίηση Αναζήτηση έντρο
Γράφοι: κατευθυνόμενοι και μη
Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι
Αναζήτηση Κατά Πλάτος
Αναζήτηση Κατά Πλάτος Επιµέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήµατα Μοντελοποίηση πολλών σηµαντικών προβληµάτων (π.χ. δίκτυα
Εισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών
Ενότητα 5: Αλγόριθμοι γράφων και δικτύων
Εισαγωγή στην Επιστήμη των Υπολογιστών ο εξάμηνο ΣΗΜΜΥ Ενότητα : Αλγόριθμοι γράφων και δικτύων Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 3 Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο
Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία
h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα?
Κόκκινα-Μαύρα ένδρα (Red-Black Trees) Ένα κόκκινο-µαύρο δένδρο είναι ένα δυαδικό δένδρο αναζήτησης στο οποίο οι κόµβοι µπορούν να χαρακτηρίζονται από ένα εκ των δύο χρωµάτων: µαύρο-κόκκινο. Το χρώµα της
Αλγόριθµοι Γραφηµάτων
Αλγόριθµοι Γραφηµάτων Παύλος Σπυράκης Πανεπιστήµιο Πατρών Τοµέας Θεµελιώσεων και Εφαρµογών της Επιστήµης των Υπολογιστών Ερευνητικό Ακαδηµαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Γραφήµατα Μοντελοποίηση
Εισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 5 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών
Γράφοι. Αλγόριθμοι και πολυπλοκότητα. Στάθης Ζάχος, Δημήτρης Φωτάκης
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αλγόριθμοι και πολυπλοκότητα Στάθης Ζάχος, Δημήτρης Φωτάκης Γράφοι Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V
Γράφοι Ορολογία γράφος ή γράφηµα (graph) Ορισµός: G = (V, E) όπου V:ένα σύνολο E:µια διµελής σχέση στο V Ορολογία (συνέχεια) κάθε v V ονοµάζεται κορυφή (vertex) ή κόµβος (node) κάθε (v 1, v 2 ) Ε ονοµάζεται
Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες
Ενότητα 7 Ουρές Προτεραιότητας
Ενότητα Ουρές Προτεραιότητας ΗΥ4 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type). Έστω
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 6 Μαΐου 2015 1 / 42 Εύρεση Ελάχιστου Μονοπατιού
Κατανεμημένα Συστήματα Ι
Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax
u v 4 w G 2 G 1 u v w x y z 4
Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E
Αλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση
Γ. Κορίλη Αλγόριθµοι ροµολόγησης
- Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι
Αναζήτηση Κατά Πλάτος
Αναζήτηση Κατά Πλάτος Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα
Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή
Εργαστήριο 10 Γράφηµα (Graph) Εισαγωγή Στην πληροφορική γράφηµα ονοµάζεται µια δοµή δεδοµένων, που αποτελείται από ένα σύνολο κορυφών ( vertices) (ή κόµβων ( nodes» και ένα σύνολο ακµών ( edges). Ενας
ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat
ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (path) o Πρόγονος απόγονος (ancestor, descendant)
6η Διάλεξη Διάσχιση Γράφων και Δέντρων
ΘΕΩΡΙΑ ΓΡΑΦΩΝ 6 η Διάλεξη Διάσχιση Γράφων και Δέντρων Αλγόριθμος αναζήτησης σε Βαθος Αλγόριθμος αναζήτησης κατά Πλάτος Αλγόριθμοι για Δένδρα Εύρεση ελαχίστων Γεννητορικών (Επικαλύπτοντα) Δένδρων Διάσχιση
(elementary graph algorithms)
(elementary graph algorithms) Παύλος Εφραιμίδης 1 περιεχόμενα γραφήματα αναπαραστάσεις οριζόντια διερεύνηση καθοδική διερεύνηση 2 ΓΡΑΦΉΜΑΤΑ 3 αναπαράσταση δύο καθιερωμένοι τρόποι: πίνακας γειτνίασης συλλογή
Θεωρία Γραφημάτων 6η Διάλεξη
Θεωρία Γραφημάτων 6η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 6η Διάλεξη
Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες
Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση
3 Αναδροµή και Επαγωγή
3 Αναδροµή και Επαγωγή Η ιδέα της µαθηµατικής επαγωγής µπορεί να επεκταθεί και σε άλλες δοµές εκτός από το σύνολο των ϕυσικών N. Η ορθότητα της µαθηµατικής επαγωγής ϐασίζεται όπως ϑα δούµε λίγο αργότερα
Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).
Βασικές Δοµές Δεδοµένων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Γραµµικές Δοµές Δεδοµένων Πίνακες Λίστες Στοίβες Ουρές Γράφοι Δέντρα Γραµµικές Δοµές Πίνακας (array) A[0] A[1] A[2] A[ ] A[n-1] Προκαθορισµένη
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν
Wait-free προσοµοιώσεις αυθαίρετων αντικειµένων Έχουµε δει ότι το πρόβληµα της οµοφωνίας δεν µπορεί να επιλυθεί µε χρήση µόνο read/write καταχωρητών. Πολλοί µοντέρνοι επεξεργαστές παρέχουν επιπρόσθετα
Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 3 : Γραφήματα & Αποδείξεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Αναζήτηση Κατά Πλάτος
Αναζήτηση Κατά Πλάτος ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα συνεκτικότητα,
Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.
Κατευθυνόµενα γραφήµατα Απλό κατευθυνόµενο Γράφηµα G είναι διατεταγµένο Ϲεύγος (V, E), µε: Στοιχεία Θεωρίας Γραφηµάτων (1) σύνολο κορυφών / κόµβων V, Ορέστης Τελέλης tllis@unipi.r Τµήµα Ψηφιακών Συστηµάτων,
Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)
Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος των BellmanFord Ο αλγόριθµος του Dijkstra ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 61
Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα
jτο πλήθος των ταξιδιών που κάνει η αεροσυνοδός µέχρι την j ηµέρα. Σχηµατίζω µία ακολουθία που αποτελείται από τα a.
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΙΑΚΡΙΤA ΜΑΘΗΜΑΤΙΚΑ ιδάσκοντες: Φωτάκης, Σούλιου, Θ Λιανέας η Γραπτή Εργασία Θέµα (Αρχή του Περιστερώνα, 8 µονάδες) α)
Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο
Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες
Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε
Οµοφωνία σε σύγχρονο σύστηµα µε αϖοτυχίες κατάρρευσης διεργασιών Παναγιώτα Φατούρου Κατανεµηµένος Υπολογισµός 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash
Κατ οίκον Εργασία 5 Σκελετοί Λύσεων
Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τις δομές: struct hashtable { struct node array[maxsize]; int maxsize; int size; struct node{ int data; int status; Στο πεδίο status σημειώνουμε
Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών
Αναζήτηση στους γράφους Βασικός αλγόριθμος λό - Αναζήτηση κατά πλάτος - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών Διάσχιση (αναζήτηση ) στους γράφους Φεύγοντας
Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 8 Ξένα Σύνολα
ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1
ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα Αναζήτηση κατά βάθος (Depth-first search DFS) Αναζήτηση κατά πλάτος (Breadth-first search BFS) 2 Γράφημα (graph) Αναπαράσταση συνόλου
Κατανεμημένα Συστήματα Ι
Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού
Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε
Οµοφωνία σε σύστηµα µε αϖοτυχίες διεργασιών Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν
Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης.
Μονοπάτια και Κυκλώµατα Eulr Σε γράφηµα G(V, E): Στοιχεία Θεωρίας Γραφηµάτων (3,4) Ορέστης Τελέλης tllis@unipi.r Κύκλωµα Eulr: Απλό κύκλωµα που διασχίζει κάθε ακµή του G. Μονοπάτι Eulr: Απλό µονοπάτι που
(β) Θεωρούµε µια ακολουθία Nθετικών ακεραίων η οποία περιέχει ακριβώς
Θέµα (Αρχή του Περιστερώνα, 8 µονάδες) (α) Επιλέγουµε αυθαίρετα φυσικούς αριθµούς από το σύνολο {,,3,, 3, } Να δείξετε ότι µεταξύ των αριθµών που έχουµε επιλέξει υπάρχει πάντα ένα ζευγάρι όπου ο µεγαλύτερος
ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 2A Σκελετοί Λύσεων
ΕΠΛ 232: λγόριθµοι και Πολυπλοκότητα Κατ οίκον Εργασία 2A Σκελετοί Λύσεων 1. ια τη σαφή διατύπωση του αλγόριθµου απαιτούνται τα εξής: ιατήρηση της ροής που κτίζεται από τον αλγόριθµο. ιατήρηση της περίσσειας
Ελάχιστα Γεννητορικά ένδρα
λάχιστα Γεννητορικά ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος του Prim και ο αλγόριθµος του Kruskal για εύρεση λάχιστων Γεννητορικών ένδρων ΠΛ 23 οµές εδοµένων και Αλγόριθµοι
ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ
Συνεκτικότητα Γραφημάτων 123 ΚΕΦΑΛΑΙΟ 4 ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ 4.1 Τοπική και Ολική Συνεκτικότητα Γραφημάτων 4.2 Συνεκτικότητα Μη-κατευθυνόμενων Γραφημάτων 4.3 Συνεκτικότητα Κατευθυνόμενων Γραφημάτων
Αλγόριθμοι Γραφημάτων
Αλγόριθμοι Γραφημάτων 1. Minimum Spanning Trees 2. Αλγόριθμος Prim 3. Αλγόριθμος Kruskal Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο,
Αναζήτηση Κατά Πλάτος
Αναζήτηση Κατά Πλάτος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 3 Γραφήματα v1.3 (2014-01-30) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισμοί και Εφαρμογές γραφήματα γράφημα G: ένας τρόπος κωδικοποίησης των σχέσεων
Αλγόριθμοι Γραφημάτων
Αλγόριθμοι Γραφημάτων 1. Συντομότατα μονοπάτια 2. Αλγόριθμος Bellman-Ford 3. Αλγόριθμος Dijkstra 4. Floyd-Warshall Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Single-Source Shortest Path Πρόβλημα:
Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε
Οµοφωνία σε σύστηµα µε αϖοτυχίες κατάρρευσης διεργασιών Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 26 Ιουνίου 201 1 / Απληστοι (Greedy) Αλγόριθµοι
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Μαΐου 201 1 / Απληστοι (Greedy) Αλγόριθµοι
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 9 Απριλίου 2009 1 / 0 Παραδείγµατα γράφων
Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)
Μη κατευθυνόµενα γραφήµατα Στοιχεία Θεωρίας Γραφηµάτων (1) Απλό µη κατευθυνόµενο γράφηµα G είναι διατεταγµένο Ϲεύγος (V, E) µε σύνολο κορυφών/κόµβων V Ορέστης Τελέλης tllis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων,
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Dijkstra Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Dijkstra
ΗΥ240 - Παναγιώτα Φατούρου 1
ΕΝΟΤΗΤΑ 3 ΔΕΝΔΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 Δένδρα Ένα δένδρο Τ αποτελείται από ένα σύνολο από κόµβους µεταξύ των οποίων ορίζεται µια σχέση γονέα-παιδιού µε τις εξής ιδιότητες: q Αν το Τ δεν είναι το
m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1
KΕΦΑΛΑΙΟ 8 Προβλήµατα Μεταφοράς και Ανάθεσης 8. ΕΙΣΑΓΩΓΗ Μια ειδική κατηγορία προβληµάτων γραµµικού προγραµµατισµού είναι τα προβλήµατα µεταφοράς (Π.Μ.), στα οποία επιζητείται η ελαχιστοποίηση του κόστους
Συντομότερες Διαδρομές
Συντομότερες Διαδρομές Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Συντομότερη Διαδρομή Κατευθυνόμενο G(V, E, w) με μήκη Μήκος διαδρομής
3η Σειρά Γραπτών Ασκήσεων
1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση
ΠΛΗ20 ΕΝΟΤΗΤΑ 5: ΘΕΩΡΙΑ ΓΡΑΦΗΜΑΤΩΝ/2. Μάθηµα 5.1: Παραστάσεις Γραφηµάτων. ηµήτρης Ψούνης
ΠΛΗ20 ΕΝΟΤΗΤΑ 5: ΘΕΩΡΙΑ ΓΡΑΦΗΜΑΤΩΝ/2 Μάθηµα 5.1: Παραστάσεις Γραφηµάτων ηµήτρης Ψούνης 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήµατος Β.Θεωρία 1. Πίνακας Γειτνίασης 1. Ορισµός για µη κατευθυνόµενα γραφήµατα 2.
Αλγόριθμοι Γραφημάτων
11 Αλγόριθμοι Γραφημάτων Περιεχόμενα Κεφαλαίου 11.1 Βασικές Έννοιες....................... 330 11.2 Εσωτερική Παράσταση Γράφων.............. 333 11.3 Μέθοδοι Διάσχισης...................... 336 11.4 Τοπολογική
Συντομότερες ιαδρομές
Συντομότερες ιαδρομές ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Συντομότερη ιαδρομή Κατευθυνόμενο G(V, E, w) με μήκη Μήκος διαδρομής Απόσταση d(u,
ιαφάνειες παρουσίασης #11
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Θεωρία Γραφημάτων 11η Διάλεξη
Θεωρία Γραφημάτων 11η Διάλεξη Α Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 11η Διάλεξη
Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00
Χρήστος. Ζαρολιάγκης Τεχνολογίες Υλοποίησης Αλγορίθµων : Άσκηση 1 1 Ασκηση 1 [16.03.2016] Παράδοση : Τετάρτη 13.04.2016, 13:00 Η παρούσα άσκηση αφορά στον έλεγχο διµερότητας ενός γραφήµατος. Σκοπός της
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3
Αλγόριθμοι και Πολυπλοκότητα 3η Σειρά Γραπτών και Προγραμματιστικών Ασκήσεων CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Ιανουάριος 2019 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος 2019 1 / 54 Outline 1 Άσκηση
Στοιχεία Θεωρίας Γραφηµάτων (1)
Στοιχεία Θεωρίας Γραφηµάτων (1) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Γραφηµάτων (1) 1 / 23 Μη κατευθυνόµενα γραφήµατα
ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:
Κατανεμημένα Συστήματα Ι
Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα
Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα
Δένδρα Δένδρα Ειδική κατηγορία γραφημάτων: συνεκτικά γραφήματα που δεν περιέχουν απλά κυκλώματα [1857] Arthur Cayley: για απαρίθμηση ορισμένων ειδών χημικών ενώσεων Χρησιμοποιούνται σε πληθώρα προβλημάτων,
... a b c d. b d a c
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΙΑΚΡΙΤA ΜΑΘΗΜΑΤΙΚΑ ιδάσκοντες: Φωτάκης, Σούλιου η Γραπτή Εργασία Θέµα (Αρχή του Περιστερώνα, 8 µονάδες) α) Σε ένα διάστηµα
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 11. Γράφοι 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 23/12/2016 Εισαγωγή Οι γράφοι
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Σχεδίαση Αλγορίθμων Μείωσε και Βασίλευε http://delab.csd.auth.gr/~gounaris/courses/ad auth gounaris/courses/ad Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Μείωσε και Βασίλευε 1. Μειώνουμε
Βασικές Έννοιες Θεωρίας Γραφημάτων
Βασικές Έννοιες Θεωρίας Γραφημάτων ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση
d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Θεωρία Γραφημάτων 5η Διάλεξη
Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη
Συντομότερες ιαδρομές
Συντομότερες ιαδρομές ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό