Minimum spanning tree on Networks : basic concept and something else Seung-Woo Son Complex System and Statistical Physics Lab. KAIST 산돌광수체
Index Basic concept of graphs Various problems in graph theory Minimum spanning tree Algorithm of minimum spanning tree Applications of minimum spanning tree Minimum spanning tree on networks Reference
Basic concept of graphs Mathematics What is the graphs? v1 v2 v3v4 v5 e1 e2 e3 e4 In real world 광수는 철수와 영희에게 돈을 빌려 줬고, 민수는 광수 에게 돈을 빌려줬다. 민수는 희영이에게 돈을 빌렸다. vertices, nodes edges, links
Examples of graphs ancient Greek gods graph chemicals aspirin, C 9 H 8 O 4 vitamin A, C 20 H 30 O
Examples of graphs highway system time and work study Too much arrange them kill you !!
Representation of graphs a b cd e With equationGraphically abcde a-1000 b1-111 c01-10 d011-1 e0101- With table
Approach of the computer scientist Programmer : Graph is one of the data structures. It can be represented with 2 dimensional array or linked-list. a b cd e D matrix - 5x5 array G[5][5] = linked-list abc e Adjacency Matrix Adjacency List weight
Various problems in graph theory Traveling salesperson problem Konigsberg bridge problem : Euler cycle Hamilton cycles problem Shortest path algorithm Isomorphisms of graphs Planar graphs problem Spanning tree & minimum spanning tree Search algorithm Maximal flow problem Chromatic number problem
Minimum spanning tree A graph G = (V,E) with weighted edges. The subset of E of G of minimum weight which forms a tree on V ≡ MST. weighted graph !! - 최소의 비용으로 모든 노드들을 연결하는 방법. (V-1 개의 edge 이용 ) - 두 정점을 연결하는 최소비용경로 (shortest path) 를 찾는 문제와는 다른 문제. 기간도로망, 항공망, 전자회로, 전기전송망 등에서 최소의 비용으로 최대한의 서비스를 하기 위한 방법. - 주어진 노드들에 대해서 유일한 최소신장나무 (MST) 가 얻어진다. - 인접한 정점들 중에 가장 가까운 노드와 연결을 맺는다. 가장 큰 영향을 미치는 노드와 연결된다는 의미를 갖는다.
Algorithm of minimum spanning tree Prim algorithm a bc f de greedy algorithm - O(EV 2 ) complexity. It can be improved to O( E log V ) Kruskal algorithm - use priority queue - find only connected vertices - at each iteration, adds to current tree a minimum-weight edge that does not complete a cycle - O( E log E ) - find MST for all vertices including non-connected part - first sort all edges by weight and add edge that does not complete a cycle Sollin algorithm
Applications of MST(1) IP 멀티케스팅 비디오나 음성 방송처럼 여러 사용자가 똑같은 데이터를 동시에 필요로 할 때 다수의 사용자에게 데이터를 효율적으로 제공하기 위한 방식 라우터는 패킷을 여러 개로 복사하여 전진시키며 네트워크에서 원하는 사용 자에게 효율적으로 패킷을 보급할 수 있도록 스패닝트리 (Spanning Tree) 를 수시로 동적으로 만들어 준다.
Applications of MST(2) $150 $100 $40 $85 $65 $50 $90 $80 $75 $85 Nodes represent computers in a local area network. Windstar Aerospace Company
Applications of MST(3) MST using the correlation of price return and volatility
Minimum spanning tree on networks
Reference Nora Hartsfield, Gerhard Ringel, “ Pearls in Graph Theory : a comprehensive introduction ”, Academic press (1990) Richard Johnsonbaugh, “ Discrete mathematics ” 5 th ed, Prentice Hall (2001) 이재규, “ C 로 배우는 알고리즘 2 ”, 도서출판 세화 (2002) 카일 루든 저, 허욱 역, “ Algorithms with C : C 로 구현한 알고리즘 ”, 한빛미디어 (2001) 자료구조론 그래프 (Graph)
Basic Concepts of Network Nodes Links Degree = 3 A shortest path with path length=3 (Equivalent with 3 clicks in WWW)
Clustering Coefficient A B C A knows B A knows C The probability that B will know C is relatively large Clustering coefficient for a node represent how many links are there between neighbors Clustering coefficient for a network is the average of all nodes ’ s clustering coefficient C= # of links between neighbor # of possible neighbor pair
Clustering Coefficient A clique or a community C=1 C=0
Clustering Coefficient ‘ Triangle ’ the building block. Alternative definition of clustering coefficient 3 x # of triangle # of connected triples C=