3 Degree Centrality. 4 Closeness Centrality. Degree: (out-degree). In-Degree: Out-Degree: c D (v) = deg(v) c Din (v) = deg (v) c Dout (v) = deg + (v)



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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Αλγόριθμοι Γραφημάτων

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

Κεφάλαιο 3. Γραφήματα. ver. 21/12/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Κεφάλαιο 3. Γραφήµατα v1.1 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ιαφάνειες παρουσίασης #11

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Δομές Δεδομένων (Data Structures)

Αλγόριθμοι Γραφημάτων

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Γράφοι: κατευθυνόμενοι και μη

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

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

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

Αναζήτηση Κατά Πλάτος

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

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

Βασικές Έννοιες Δοµών Δεδοµένων

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Συντομότερες ιαδρομές

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

Συντομότερες Διαδρομές

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

Αναζήτηση Κατά Πλάτος

Διδάσκων: Παναγιώτης Ανδρέου

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση

Αναζήτηση Κατά Πλάτος

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

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

Αλγόριθµοι Γραφηµάτων

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

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

Συντομότερες ιαδρομές

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων

Αναζήτηση Κατά Πλάτος

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

Network Science. Θεωρεία Γραφηµάτων (2)

Συντομότερες ιαδρομές

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

Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths)

e 2 S F = [V (H), V (H)]. 3-1 e 1 e 3

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V

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

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

Ενότητα 4. Πρωτόκολλα ροµολόγησης: Αρχές Λειτουργίας του OSPF (Open Shortest Path First)

Αλγόριθμοι Eλάχιστα μονοπάτια

Ενότητα 10 Γράφοι (ή Γραφήµατα)

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Alternative to Balanced Trees, Comms of the ACM, 33(6), June 1990,

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

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

Βασικές Δομές Δεδομένων

Θεωρία Γράφων Αλγόριθμοι BFS, Prim, Dijkstra, Bellman-Ford

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Αλγόριθμοι Τυφλής Αναζήτησης

Συντομότερες Διαδρομές

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

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

Συνεκτικότητα Γραφήματος

Outline 1 Άσκηση 1: Εφαρμογές BFS DFS 2 Άσκηση 2: Μια Συνάρτηση Κόστους σε Κατευθυνόμενα Γραφήματα 3 Άσκηση 3: Ανάλυση Ασφάλειας 4 Άσκηση 4: Το Σύνολο

Transcript:

Centrality Measures Θεωρία Γράφων Πίσκας Γεώργιος - ΑΕΜ 2087 4 Ιουνίου 2013 1 Γενικά Τα Centrality Measures είναι ενα σύνολο από μετρικές που διευκολύνουν την εξαγωγή στατιστικών για γράφους. Ουσιαστικά, χρησιμοποιούνται για να να επεξηγηθεί η σχετική «κρισιμότητα» ενός κόμβου εντός ενός γράφου. Το σκεπτικό των μετρικών αυτών έχει ρίζες από την επιστήμη της κοινωνιολογίας, όπου εξακολουθούν να έχουν ευρεία εφαρμογή. Σήμερα, οι μετρικές αυτές αποτελούν επίσης αναπόσπαστο εργαλείο της θεωρίας γράφων και της ανάλυσης δικτύων. Τέλος, αξίζει να σημειωθεί πως έχουν αναπτυχθεί αρκετά επιστημονικά πακέτα εργαλείων, με κορυφαίο το Pajek, το οποίο προσφέρει ποικιλία εργαλείων και διευκολύνσεων στον χρήστη. Για να κατανοήσει ο αναγνώστης την δύναμη που προσφέρουν οι μετρικές, δίνονται τα παρακάτω παραδείγματα σε μορφή ερωτήσεων. Εάν πρόκειται να προσλάβω 10 άτομα για την νέα μου επιχείρηση, ποιούς να λάβω υπ όψιν; Εάν θέλω να στείλω ένα μήνυμα σε τρία άτομα, τα οποία στη συνέχεια θα το στείλουν στο δικό τους «δίκτυο» γνωριμιών, ποιούς να επιλέξω; Εάν θέλω να κατηγοριοποιήσω τα άτομα μίας παρέας ώς πρός πόσο «σημαντικό» είναι κάποιο μέσα σε αυτή, πώς θα το έκανα; Εάν πρέπει να επιλέξω τον αρχηγό σε μια ομάδα των 500 ατόμων, με τι κριτήρια θα το έκανα; Προφανώς, οι απαντήσεις στα παραπάνω ερωτήματα δέν είναι απλοί συμπερασμοί, αλλά προκύπτουν με τις προαναφερθείσες μετρικές. 2 Οι Τρείς Βασικές Μετρικές Για να επεξηγήσουμε τις μετρικές, θα χρησιμοποιήσουμε το δίκτυο του σχήματος 1, δηλαδή ενα γράφο τοπολογίας αστέρα με 5 κόμβους. Σε αυτό το σημείο, πρέπει να αποσαφηνιστεί 1

πως θα ασχοληθούμε μόνο με συνεκτικούς, μή κατευθυνόμενους γράφους για εκπαιδευτικούς λόγους, εκτός εάν αναφέρεται το αντίθετο. Σχήμα 1: Πλήρης διμερής γράφος K 1,5. Εύκολα παρατηρείται πως ο μεσσαίος κόμβος έχει τρία πλεονεκτήματα ένατνι των υπόλοιπων κόμβων. 1. Εχει περισσότερες συνδέσεις. 2. Εχει άμεση πρόσβαση στους υπόλοιπους κόμβους. 3. Ελέγχει την ροή μεταξύ των υπόλοιπων κόμβων. Με βάση αυτά τα τρία χαρακτηρηστικά προκύπτουν οι αντίστοιχες τρείς βασικότερες μετρικές. Degree, Closeness και Betweenness Centrality. Η μετρική Degree είναι ο αριθμός των κόμβων στις οποίες ενας κόμβος συνδέεται. Ουσιαστικά, βαθμολογεί το κατά πόσο είναι ένας κόμβος δραστήριος στο δίκτυο. Το πλεονέκτημά της μετρικής αυτής είναι η απλότητά της, καθώς η μόνη γνώση που χρειάζεται είναι οι γείτονες ενος κόμβου. Ταυτόχρονα όμως, το γεγονός οτι η μετρική δέν λαμβάνει υπ όψιν την συνολική δομή του δικτύου αποτελεί σοβαρό μειονέκτημα. Για παράδειγμα, παρόλο που κάποιος κόμβος ίσως έχει πολλές συνδέσεις, μπορεί να βρίσκεται σε τέτοια θέση στο δίκτυο ώστε να μήν έχει γρήγορη πρόσβαση σε πόρους, όπως για παράδειγμα πληροφορία. Για την αποφυγή αυτού του προβλήματος, ορίζεται η μετρική Closeness ως το ανεστραμμένο άθροισμα των κοντινότερων μονοπατιών πρός όλους τους άλλους κόμβους εκτός του επιλεγμένου. Τέλος, η μετρική Betweenness αξιολογεί τον βαθμό κατά τον οποίο ένας κόμβος βρίσκεται στο κοντινότερο μονοπάτι μεταξύ δύο άλλων κόμβων. Ουσιαστικά μετράει τον βαθμό της ροής που διέρχεται από τον εν λόγω κόμβο. Επιπλέον, μια υποκατηγορία της μετρικής αυτής είναι η μετρική Edge Betweenness, η οποία αξιολογεί με ένα παρόμοιο κριτήριο τις ακμές ενός γράφου. 2

3 Degree Centrality «Ενας σημαντικός κόμβος αλληλεπιδρά με μεγάλο αριθμό άλλων.» Η πιό απλοϊκή των μετρικών είναι ο βαθμός (Degree) c D (v) ενός κόμβου v που ορίζεται όπως παρακάτω για μή κατευθυνόμενους γράφους. Degree: c D (v) = deg(v) Στην περίπτωση που ο γράφος είναι κατευθυνόμενος, υπάρχουν δύο ορισμοί της μετρικής. Η πρώτη αναφέρεται στις εισερχόμενες ακμές (in-degree) και η δεύτερη στις εξερχόμενες (out-degree). In-Degree: Out-Degree: c Din (v) = deg (v) c Dout (v) = deg + (v) Η μετρική αυτή παρουσιάζει ενδιαφέρον και εφαρμόζεται σε γράφους οι οποίοι συνήθως περιγράφουν μια στατική κατάσταση, όπως μια ψηφοφορία. Πιο συγκεκριμένα, ενδιαφερόμαστε για τον κόμβο εκείνο που έχει τους περισσότερους άμεσους ψηφοφόρους ή μπορεί να ψηφίσει τους περισσότερους κόμβους με άμεσο τρόπο. Πρόκειται για μια μετρική που τη χαρακτηρίζει η τοπικότητα, καθώς η τιμή της επηρεάζεται αποκλειστικά από τους γείτονες ενός κόμβου. Παρακάτω παρουσιάζονται μερικές ιδιαίτερες περιπτώσεις εφαρμογής της μετρικής, όπου οι κόμβοι έχουν χρώμα αντίστοιχο της μέτρησής τους. Σχήμα 2: Χρωματική κλίμακα: μπλέ < λευκό < κίτρινο < κόκκινο. 4 Closeness Centrality «Ενας σημαντικός κόμβος είναι σχετικά κοντά στους υπόλοιπους κόμβους του δικτύου και μπορεί να επικοινωνεί γρήγορα με αυτούς.» 3

Στους συνεκτικούς γράφους, υπάρχει μια σχέση μεταξύ όλων των ζευγών κόμβων που ορίζεται από την μεταξύ τους συντομότερη διαδρομή. Το κατά πόσο ενας κόμβος v είναι απομακρυσμένος σε σχέση με τους υπόλοιπους (farness) ορίζεται από το άθροισμα των αποστάσεων d των μεταξύ τους συντομότερων μονοπατιών. Συνεπώς, το πόσο κοντά βρίσκεται ο κόμβος v σε σχέση με τους υπόλοιπους (closeness) είναι το αντίθετο του βαθμού απομάκρυνσης. Farness: c F (v) = u V d(v, u) Closeness: c C (v) = c F (v) 1 = 1 d(v, u) u V Ετσι, όσο πιο κεντρικός είναι ένας κόμβος, τόσο μικρότερη είναι η συνολική του απόσταση από τους υπόλοιπους κόμβους. Εναλλακτικά, η μετρική closeness μπορεί να θεωρηθεί ώς μέτρηση του χρόνου που θα χρειαστεί μια πληροφορία να μεταδοθεί από τον κόμβο v διαδοχικά σε όλο το δίκτυο. Υπάρχουν πολλές μέθοδοι υπολογισμού της μετρικής, αλλά, σύμφωνα με την κλασσική προσέγγιση, χρησιμοποιούνται τα συντομότερα μονοπάτια. Αυτό σημαίνει πως πρέπει να λύσουμε το πρόβλημα εύρεσης των συντομότερων μονοπατιών για κάθε πηγή (single source shortest paths) και παράλληλα να κάνουμε τις απαραίτητες μετρήσεις. Στο πρώτο άκουσμα, εικάζουμε πως το πρόβλημα έχει κυβική πολυπλοκότητα, αλλά αποδεδειγμένα ισχύει το παρακάτω πόρισμα. Πόρισμα 1 Δεδομένου ενός κόμβου πηγή και ενός γράφου με n κόμβους και m ακμές, μπορούμε, χρησιμοποιώντας μια παραλλαγή του αλγορίθμου Bfs για γράφους χωρίς βάρη ή τον αλγόριθμο του Dijkstra για γράφους με βάρη, να υπολογίσουμε τόσο τον αριθμό όσο και το μήκος των συντομότερων μονοπατιών σε χρόνο O(m) και O(m + nlogn) αντίστοιχα. Ετσι, δεδομένου του πορίσματος 1, μπορούμε συναθροιστικά να υπολογίσουμε για όλους τους κόμβους τον αριθμό και το μήκος των συντομότερων μονοπατιών σε χρόνο O(nm) και O(nm + n 2 logn) αντίστοιχα. Παρακάτω παρουσιάζονται μερικές ιδιαίτερες περιπτώσεις εφαρμογής της μετρικής, όπου οι κόμβοι έχουν χρώμα αντίστοιχο της μέτρησής τους. 4

Σχήμα 3: Χρωματική κλίμακα: μπλέ < λευκό < κίτρινο < κόκκινο. 5 Betweenness Centrality «Ενας σημαντικός κόμβος θα συμπεριλαμβάνεται σε ενα μεγάλο αριθμό από όλα τα συντομότερα μονοπάτια μεταξύ άλλων κόμβων.» 5.1 Node Betweenness Ο βασικός λόγος που διατυπώθηκε η μετρική αυτή ήταν για να ξεπεραστεί το πρόβλημα του υπολογισμού της μετρικής closeness σε μή συνεκτικούς γράφους. Ομως, πέρα από βελτιωτικό σκοπό, προσφέρει χρήσιμες μετρήσεις ώς πρός το πόσο σημαντικός είναι ένας κόμβος όταν βρίσκεται μέσα σε συντομότερα μονοπάτια άλλων. Εστω ότι με δ st (v) συμβολίζεται το κλάσμα των συντομότερων μονοπατιών μεταξύ των κόμβων s και t που περιέχουν τον κόμβο v. Η ποσότητα αυτή ονομάζεται εξάρτηση ζεύγους (pair dependency) και ορίζεται ως εξής. Node Pair Dependency: δ st (v) = σ st(v) σ st Στην παραπάνω σχέση, ο όρος σ st υποδηλώνει τον αριθμό όλων τον συντομότερων μονοπατιών μεταξύ των κόμβων s και t. Ο όρος σ st (v) είναι υποσύνολο του σ st και συμπεριλαμβάνει μόνο τα μονοπατια που περιέχουν τον κόμβο v. Μια στατιστική επεξήγηση που μπορεί να δοθεί στην εξάρτηση ζεύγους είναι να ορισθεί ώς η πιθανότητα του κόμβου v να συμμετέχει σε κάποια επικοινωνία μεταξύ των s και t, θεωρώντας πως η επικοινωνία επιτυγχάνεται πάντα μέσα από κάποιο εκ των συντομότερων μονοπατιών. Ετσι, με βάση τα παραπάνω, προκύπτει ο ορισμός της μετρικής Node Betweenness. Node Betweenness: c B (v) = s v t V δ st (v) = s v t V σ st (v) σ st Για τον υπολογισμό των σ st (v) και σ st προφανώς πρέπει και πάλι να υπολογίσουμε τα συντομότερα μονοπάτια από κάθε κόμβο προς κάθε άλλο. Ετσι, σύμφωνα με το Πόρισμα 1, η διαδικασία είναι αποδοτική. Επίσης, εφόσον οι δύο μετρικές centrality και betweenness χρησιμοποιούν τον ίδιο αλγόριθμο, μπορούν να υπολογιστούν ταυτόχρονα χωρίς επιλέον χρονική επιβάρυνση. 5

Παρακάτω παρουσιάζονται μερικές ιδιαίτερες περιπτώσεις εφαρμογής της μετρικής, όπου οι κόμβοι έχουν χρώμα αντίστοιχο της μέτρησής τους. Σχήμα 4: Χρωματική κλίμακα: μπλέ < λευκό < κίτρινο < κόκκινο. 5.2 Edge Betweenness Με όμοιο τρόπο μπορούμε να ορίσουμε τις εξαρτήσεις ζεύγους δ st (e) και για τις ακμές e ενός γράφου. Συνεπώς, ορίζεται και η μετρική Betweenness όσον αφορά τις ακμές. Edge Pair Dependency: δ st (e) = σ st(e) σ st Edge Betweenness: c B (e) = δ st (e) = s t V s t V σ st (e) σ st Η φυσική σημασία της μετρικής αυτής είναι η βαθμολόγηση μια ακμής, η οποία αποτελεί μέρος ενός ή περισσότερων συντομότερων μονοπατιών, σύμφωνα με το ποσοστό της ροής που διέρχεται από αυτή. Συσχετίζεται πλήρως, δηλαδή, με τη μετρική Node Betweenness και γι αυτό έχει εξίσου σημαντική πρακτική εφαρμογή. Παρακάτω παρουσιάζονται μερικές ιδιαίτερες περιπτώσεις εφαρμογής της μετρικής, όπου οι ακμές έχουν χρώμα αντίστοιχο της μέτρησής τους. Σχήμα 5: Χρωματική κλίμακα: μπλέ < λευκό < κίτρινο < κόκκινο. 6 Προγραμματιστική Προσέγγιση Σε αυτό το σημείο δίνεται μια αποδοτική υλοποίηση ταυτόχρονου υπολογισμού των μετρικών Closeness (C C ), Node Betweenness (C Bn ) και Edge Betweenness (C Be ). Επειδή, όπως αναφέρθηκε, όλα τα προβλήματα βασίζονται στο πρόβλημα εύρεσης των συντομότερων μονοπατιών για κάθε κόμβο πηγή (σ s ), η υλοποίηση είναι τεμαχισμένη σε τρία μέρη, τα δύο εκ των οποίων είναι παραλλαγές των αλγορίθμων Bfs (Αλγόριθμος 1) και Dijkstra (Αλγόριθμος 2). Το τρίτο μέρος (Αλγόριθμος 3) είναι η βασική ρουτίνα υπολογισμού. 6

Ο Bfs χρησιμοποιείται σε γράφους χωρίς βάρη, ενώ ο Dijkstra με βάρη. Αποτελούν παραλλαγές των αυθεντικών καθώς, εκτός από το να υπολογίζουν τα εν λόγω συντομότερα μονοπάτια, επιστρέφουν επιλέον απαραίτητα δεδομένα στην βασική ρουτίνα για τον υπολογισμό των C Bn και C Be μετρικών. Πρέπει να σημειωθεί πως η μετρική C C υπολογίζεται ταυτόχρονα με τον υπολογισμό των συντομότερων μονοπατιών και επιστρέφεται μαζί μετα υπόλοιπα δεδομένα. Τα δεδομένα αυτά είναι τα εξής: Η μετρική 1 C C src για τον κόμβο πηγή. Ενας πίνακας σ s, ο οποίος περιέχει τον αριθμό των συντομότερων μονοπατιών, μέσω των οποίων μπορούμε να καταλήξουμε από τον κόμβο s σε εναν άλλο κόμβο v V. Οι υπόλοιποι κόμβοι είναι αντιστοιχισμένοι στους δείκτες των θέσεων του πίνακα. Ενας πίνακας λιστών P, εντός των οποίων αποθηκεύονται οι άμεσοι πρόγονοι ενός κόμβου. Και πάλι, υπάρχει αντιστοιχία κόμβων σε δείκτες του πίνακα. Μια στοίβα S, η οποία διατηρεί τα βήματα που ακολούθησε ο αλγόριθμος, δηλαδή τη σειρά με την οποία επισκέφθηκε τους κόμβους του γράφου. Προφανώς, όταν προσπελάσουμε τα στοιχεία από τη στοίβα, θα ξεκινήσουμε από τους πιο απομακρυσμένους κόμβους προς τους πλησιέστερους σε σχέση με τη πηγή. Το δεύτερο μέρος της βασικής ρουτίνας αποτελείται από την άθροιση των εξαρτήσεων ζευγών. Η σημαντική παρατήρηση που πρέπει να γίνει σε αυτή τη διαδικασία είναι πως υπάρχει μια ανδρομική σχέση που διέπει τις εξαρτήσεις. Αυτή βασίζεται στο πως οι κόμβοι και οι ακμές όλων τον συντομότερων μονοπατιών μεταξύ του κόμβου πηγή και των υπόλοιπων σχηματίζουν μια δενδροειδή μορφή. Σχήμα 6: Κλάσματα των εξαρτήσεων σε απογόνους της πηγής συναθροίζονται στους ακρογονιαίους κόμβους. Μέσω της παραπάνω ιδιότητας υπολογίζεται πώς η μετρική Node Betweenness ορίζεται ώς εξής: σ sv C Bn s = (1 + δ s (w)) σ sw w v P s(w) Με παρόμοιο τρόπο υπολογίζεται και η μετρική Edge Betweenness. Ακολουθεί ο ψευδοκώδικας της υλοποίησης. 7

Αλγόριθμος 1: Ταυτόχρονος υπολογισμός Closeness, Node & Edge Betweenness. Πολυπλοκότητα: O(nm) για γράφους χωρίς βάρη και O((nm + n 2 )logn) με βάρη. Require: Connected & undirected graph G with verticles V and edges E. function centrality measures(graph G) C C [v] 0, v V ; C Bn [v] 0, v V ; C Be [v] 0, e E; σ[t], t V ; list P [w], w V ; stack S; Closeness centraluty Node betweenness centraluty Edge betweenness centraluty Shortest paths count Predecessors Visit stack for all (src V ) do if (G is weighted) then Shortest Paths part {C C [src], σ, P, S} dijkstra spss(src); Algorithm 2 else {C C [src], σ, P, S} bfs spss(src); Algorithm 3 δ[v] 0, v V ; while (S not empty) do pop w S; for (v P [w]) do c σ[v] σ[w] (1 + δ[w]); C Be [(v, w)] C Be [(v, w)] + c; δ[v] δ[v] + c; end for if (w src) then C Bn [w] C Bn [w] + δ[w]; end while Pair dependencies accumulation part end for return {C C, C Bn, C Be }; end function 8

Αλγόριθμος 2: Παραλαγή του Dijkstra για επίλυση του προβλήματος SSSP. Πολυπλοκότητα: O((m + n)logn) για γράφο με n κόμβους και m ακμές. function dijkstra spss(source node src) C C src 0; S empty stack; P [w] empty list, w V ; σ[t] 0, t V ; σ[s] 1; d[t], t V ; d[s] 0; Q empty queue; enqueue src Q; while (Q not empty) do C C src C C src + d[v]; dequeue v Q; push v S; for (each neighbor w of v) do newdist d[v] + weight(v, w); if (newdist < d[w]) then enqueue w Q; d[w] newdist; σ[w] 0; clearp [w]; w found for the first time? if (newdist = d[w]) then shortest path to w via v? append v P [w]; σ[w] σ[w] + σ[v]; end for end while 1 return {, σ, P, S}; C C src end function 9

Αλγόριθμος 3: Παραλαγή του BFS για επίλυση του προβλήματος SSSP. Πολυπλοκότητα: O(m) για γράφο με n κόμβους και m ακμές. function bfs spss(source node src) C C src 0; S empty stack; P [w] empty list, w V ; σ[t] 0, t V ; σ[s] 1; d[t] 1, t V ; d[s] 0; Q empty queue; enqueue src Q; while (Q not empty) do C C src C C src + d[v]; dequeue v Q; push v S; for (each neighbor w of v) do if (d[w] < 0) then enqueue w Q; d[w] d[u] + 1; w found for the first time? if (d[w] = d[v] + 1) then shortest path to w via v? σ[w] σ[w] + σ[v]; append v P [w]; end for end while 1 return {, σ, P, S}; C C src end function 10

Αναφορές [1] Ulrik Brandes A Faster Algorithm for Betweenness Centrality. Journal of Mathematical Sociology 25(2), 163-177 2001. [2] Tore Opsahl, Filip Agneessens, John Skvoretz Node centrality in weighted networks: Generalizing degree and shortest paths. Social Networks 32, pp. 245-251 2010. [3] Ulrik Brandes On variants of shortest-path betweenness centrality and their generic computation. Social Networks 30, 136?145 2008. [4] Dirk Koschschutzki, Katharina Anna Lehmann, Leon Peeters, Stefan Richter, Dagmar Tenfelde-Podehl, Oliver Zlotowski Centrality Indices. Network Analysis, LNCS 3418, pp. 16?61 2005. [5] Vladimir Batagelj, Andrej Mrvar Pajek Analysis and visualisation of large networks. ISSN 1318-4865 2003. 11