Graph

advertisement
Εισαγωγή στους Γράφους
Graph Theory
Ιστορικά
Οι γέφυρες του
Koenigsberg
Μία σχηματική
αναπαράσταση
Μπορούμε να διασχίσουμε όλες τις γέφυρες ακριβώς μία
φορά? (Euler)
Αναπαράσταση σε γράφο.
Μπορούμε να διασχίσουμε όλες τις γραμμές ακριβώς μία
φορά?
(eulerian path: 0 or 2 odd degree vertices)
(eulerial circuit: 0 odd degree vertices)
Ορισμοί








G=(N, L), γράφος που αποτελείται από τα σύνολα
• N={n1, n2, ...ng}, το σύνολο των g κορυφών ή κόμβων
• L={l1, l2, ...lL}, το σύνολο των L ακμών ή συνδέσμων
lk=(ni, nj), (ni, nj)=(nj, ni), δεν υπάρχουν (ni, ni) (loops)
Αν (ni, nj)<>(nj, ni) τότε ο γράφος είναι κατευθυνόμενος (directed)
Εάν υπάρχει lk=(ni, nj) τότε τα ni και nj είναι γειτονικά (adjacent)
Εάν υπάρχει lk=(ni, nj) η lk είναι προσπίπτουσα (incident) με τα ni και nj
Εάν g=1 τότε ο γράφος είναι τετριμμένος (trivial)
Εάν L=0 τότε ο γράφος είναι άδειος (empty)
Ένας γράφος μπορεί να σχεδιαστεί με πολλούς τρόπους, η θέση είναι
άσχετη (isomorphic graphs)
2ο Παράδειγμα
Bob
Carol
Ted
Alice
Bob
---
1
1
0
Carol
0
---
1
0
Ted
1
1
---
1
Alice
0
0
1
---
Κατευθυνόμενος
Γράφος
Πίνακας
Περισσότερη
πληροφορία???
Ισόμορφοι γράφοι
ƒ(a) = 1
ƒ(b) = 6
ƒ(c) = 8
ƒ(d) = 3
ƒ(g) = 5
ƒ(h) = 2
ƒ(i) = 4
ƒ(j) = 7
Δυάδες, τριάδες (μη
κατευθυνόμενα)
Δυάδα: Ανάμεσα σε δύο κόμβους, είτε θα υπάρχει
σύνδεσμος είτε όχι.
Πιθανές τριάδες (η 3η είναι «απαγορευμένη» σε
πραγματικά δεδομένα (Granovetter)
Επιπλέον Ορισμοί

Βαθμός κορυφής (degree), d(ni),
•
•
Το πλήθος των γραμμών που
προσπίπτουν στον ni
Όμοια, το πλήθος των γειτονικών
κορυφών της ni (σε απλούς γράφους)

Παράδειγμα: Γάμοι στη Φλωρεντία
(15ος αιώνας)
Μέσος βαθμός:

Variance:

Πυκνότητα (density)
Τοπική Πυκνότητα (ego density)
Υπογραφήματα (subgraphs)
Κλίκες (clique)
Κλίκες υπογραφήματα
Walks, trails, paths, cycles
Reachability – connected graphs - components
Geodesics, distance,
eccentricity, diameter
Eccentricity: maxjd(i, j)
Πχ. Η εκκεντρότητα του
n2 είναι 2
cut points, bridges
Node connectivity
(=2 στο παράδειγμα)
Κύκλοι, δένδρα, δάση
Affiliation network
(bipartite graph)
Actors = {n1, n2}, Affiliations = {n3, n4, n5}
Παράγωγα γραφήματα (δύο για κάθε διμερές γράφημα) !
Shortest paths

Αλγόριθμος Dijkstra

Let the node at which we are starting be called the initial node. Let the distance of node
Y be the distance from th e initial node to Y. Dijkstra's algorithm will assign some initial
distance values and will try to improve them step-by-step.
Assign to every node a distance value. Set it to zero for our initial node and to infinity for all
other nodes.
Mark all nodes as unvisited. Set initial node as current.
For current node, consider all its unvisited neighbors and calculate their distance (from the
initial node). For example, if current node (A) has distance of 6, and an edge connecting it with
another node (B) is 2, the distance to B through A will be 6+2=8. If this distance is less than
the previously recorded distance (infinity in the beginning, zero for the initial node), overwrite
the distance.
When we are done considering all neighbors of the current node, mark it as visited. A visited
node will not be checked ever again; its distance recorded now is final and minimal.
If all nodes have been visited, finish. Otherwise, set the unvisited node with the smallest
distance (from the initial node) as the next "current node" and continue from step 3





Spanning tree of a graph
Παράδειγμα

Στο link.
The algorithm continuously increases the size of a tree, one edge at a time, starting with a
tree consisting of a single vertex, until it spans all vertices.
Input: A non-empty connected weighted graph with vertices V and edges E in which the
weights are non-negative.
Initialize: Vnew = {x}, where x is an arbitrary node (starting point) from V, Enew = {}
Repeat until Vnew = V:
Choose an edge (u, v) with minimal weight such that u is in Vnew and v is not (if there
are multiple edges with the same weight, any of them may be picked)
Add v to Vnew, and (u, v) to Enew
Output: Vnew and Enew describe a minimal spanning tree
Centrality



Τοπική (local): Ο βαθμός κάθε κορυφής
•
Το άθροισμα των γραμμών του πίνακα γειτονικότητας
Τοπική με απόσταση Δ: (Το πλήθος των
κορυφών που βρίσκονται σε απόσταση Δ από
μια κορυφή).
Σχετικοποιημένη τοπική: Ο βαθμός κάθε
κορυφής προς το μέγιστο πιθανό βαθμό
•
di/(n-1)
Παράδειγμα:
Ολική (global centrality)

Για κάθε κορυφή v: Το άθροισμα των
αποστάσεων από την v προς όλες τις
υπόλοιπες κορυφές
• Απαραίτητος υπολογισμός: ο πίνακας
•
απόστασης όλων των κορυφών
Όσο μικρότερη τόσο καλύτερη
Betweenness centrality


Κατά πόσο μία κορυφή είναι «ανάμεσα»
στις υπόλοιπες κορυφές, δηλαδή
βρίσκεται πάνω στα περισσότερα
συντομότερα μονοπάτια. (gatekeeper)
Structural holes: Υπάρχουν όταν λείπουν
γραμμές εκεί όπου θα μπορούσαν να
υπάρχουν.
Six degrees of separation

Small worlds
• Small average shortest path
• Large clustering coefficients
• Power law
• the diameter of the network is growing with
the logarithm of the number of nodes


Bacon number
Real Life !! (random graphs <> watts)
Οπτικά – 6 degrees of
separation
Bacon number !
Kevin Bacon Number # of People
0
1
1
2333
2
236985
3
747329
4
184725
5
12551
6
1123
7
158
8
19
Total number of linkable actors: 1185224
Average Kevin Bacon number: 2.977
Μοντέλο watts-strogatz
Num.
Nodes
Num.
Edges
Clustering
Coefficient
Avg. Length of
Diameter
Shortest Paths
Query Network
989
4846
0.3495
2.52
7
Erdos-Renyi
Network
989
4837
0.0106
2.34
6
World trade network
Enron
2004
emails
Customers who bought this item also bought...
Sexual network (high school)
biblical names in the same chapter of
the New Testament
Download