Εισαγωγή στους Γράφους

37
Εισαγωγή στους Γράφους Graph Theory

description

Εισαγωγή στους Γράφους. Graph Theory. Ιστορικά. Οι γέφυρες του Koenigsberg. Μία σχηματική αναπαράσταση. Μπορούμε να διασχίσουμε όλες τις γέφυρες ακριβώς μία φορά? (Euler). Αναπαράσταση σε γράφο. Μπορούμε να διασχίσουμε όλες τις γραμμές ακριβώς μία φορά? - PowerPoint PPT Presentation

Transcript of Εισαγωγή στους Γράφους

Page 1: Εισαγωγή στους Γράφους

Εισαγωγή στους Γράφους

Graph Theory

Page 2: Εισαγωγή στους Γράφους

Ιστορικά

Οι γέφυρες του Koenigsberg Μία σχηματική

αναπαράσταση

Μπορούμε να διασχίσουμε όλες τις γέφυρες ακριβώς μία φορά? (Euler)

Page 3: Εισαγωγή στους Γράφους

Αναπαράσταση σε γράφο.

Μπορούμε να διασχίσουμε όλες τις γραμμές ακριβώς μία φορά?

(eulerian path: 0 or 2 odd degree vertices)

(eulerial circuit: 0 odd degree vertices)

Page 4: Εισαγωγή στους Γράφους

Ορισμοί 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)

Page 5: Εισαγωγή στους Γράφους

2ο Παράδειγμα

  Bob Carol Ted Alice

Bob --- 1 1 0

Carol 0 --- 1 0

Ted 1 1 --- 1

Alice 0 0 1 ---

ΠίνακαςΚατευθυνόμενος Γράφος

Περισσότερη πληροφορία???

Page 6: Εισαγωγή στους Γράφους

Ισόμορφοι γράφοι

ƒ(a) = 1ƒ(b) = 6ƒ(c) = 8ƒ(d) = 3ƒ(g) = 5ƒ(h) = 2ƒ(i) = 4ƒ(j) = 7

Page 7: Εισαγωγή στους Γράφους

Δυάδες, τριάδες (μη κατευθυνόμενα)

Πιθανές τριάδες (η 3η είναι «απαγορευμένη» σε πραγματικά δεδομένα (Granovetter)

Δυάδα: Ανάμεσα σε δύο κόμβους, είτε θα υπάρχει σύνδεσμος είτε όχι.

Πιθανές τριάδες (η 3η είναι «απαγορευμένη» σε πραγματικά δεδομένα (Granovetter)

Page 8: Εισαγωγή στους Γράφους

Επιπλέον Ορισμοί Βαθμός κορυφής (degree), d(ni),

• Το πλήθος των γραμμών που προσπίπτουν στον ni

• Όμοια, το πλήθος των γειτονικών κορυφών της ni (σε απλούς γράφους)

Παράδειγμα: Γάμοι στη Φλωρεντία (15ος αιώνας)

Μέσος βαθμός:

Variance:

Page 9: Εισαγωγή στους Γράφους

Πυκνότητα (density)

Page 10: Εισαγωγή στους Γράφους

Τοπική Πυκνότητα (ego density)

Page 11: Εισαγωγή στους Γράφους

Υπογραφήματα (subgraphs)

Page 12: Εισαγωγή στους Γράφους

Κλίκες (clique)

Page 13: Εισαγωγή στους Γράφους

Κλίκες υπογραφήματα

Page 14: Εισαγωγή στους Γράφους

Walks, trails, paths, cycles

Reachability – connected graphs - components

Page 15: Εισαγωγή στους Γράφους

Geodesics, distance, eccentricity, diameter

Eccentricity: maxjd(i, j)

Πχ. Η εκκεντρότητα του n2 είναι 2

Page 16: Εισαγωγή στους Γράφους

cut points, bridges

Page 17: Εισαγωγή στους Γράφους

Node connectivity (=2 στο παράδειγμα)

Page 18: Εισαγωγή στους Γράφους

Κύκλοι, δένδρα, δάση

Page 19: Εισαγωγή στους Γράφους

Affiliation network (bipartite graph)

Actors = {n1, n2}, Affiliations = {n3, n4, n5}

Παράγωγα γραφήματα (δύο για κάθε διμερές γράφημα) !

Page 20: Εισαγωγή στους Γράφους

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

Page 21: Εισαγωγή στους Γράφους

Spanning tree of a graph

Page 22: Εισαγωγή στους Γράφους

Παράδειγμα

Στο 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

Page 23: Εισαγωγή στους Γράφους

Centrality

Τοπική (local): Ο βαθμός κάθε κορυφής• Το άθροισμα των γραμμών του πίνακα γειτονικότητας

Τοπική με απόσταση Δ: (Το πλήθος των κορυφών που βρίσκονται σε απόσταση Δ από μια κορυφή).

Σχετικοποιημένη τοπική: Ο βαθμός κάθε κορυφής προς το μέγιστο πιθανό βαθμό • di/(n-1)

Page 24: Εισαγωγή στους Γράφους

Παράδειγμα:

Page 25: Εισαγωγή στους Γράφους

Ολική (global centrality)

Για κάθε κορυφή v: Το άθροισμα των αποστάσεων από την v προς όλες τις υπόλοιπες κορυφές• Απαραίτητος υπολογισμός: ο πίνακας

απόστασης όλων των κορυφών

• Όσο μικρότερη τόσο καλύτερη

Page 26: Εισαγωγή στους Γράφους

Betweenness centrality

Κατά πόσο μία κορυφή είναι «ανάμεσα» στις υπόλοιπες κορυφές, δηλαδή βρίσκεται πάνω στα περισσότερα συντομότερα μονοπάτια. (gatekeeper)

Structural holes: Υπάρχουν όταν λείπουν γραμμές εκεί όπου θα μπορούσαν να υπάρχουν.

Page 27: Εισαγωγή στους Γράφους

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)

Page 28: Εισαγωγή στους Γράφους

Οπτικά – 6 degrees of separation

Page 29: Εισαγωγή στους Γράφους

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

Page 30: Εισαγωγή στους Γράφους

Μοντέλο watts-strogatz

Page 31: Εισαγωγή στους Γράφους

 Num. Nodes

Num. Edges

Clustering Coefficient

Avg. Length of Shortest Paths

Diameter

Query Network 989 4846 0.3495 2.52 7

Erdos-Renyi Network

989 4837 0.0106 2.34 6

 

Page 32: Εισαγωγή στους Γράφους

World trade network

Page 33: Εισαγωγή στους Γράφους
Page 34: Εισαγωγή στους Γράφους

Enron 2004 emails

Page 35: Εισαγωγή στους Γράφους

Customers who bought this item also bought...

Page 36: Εισαγωγή στους Γράφους

Sexual network (high school)

Page 37: Εισαγωγή στους Γράφους

biblical names in the same chapter ofthe New Testament