240 likes | 699 Views
산돌광수체. Minimum spanning tree on Networks. : basic concept and something else. Seung-Woo Son Complex System and Statistical Physics Lab. KAIST. 2003.9.27. Index. Basic concept of graphs Various problems in graph theory Minimum spanning tree Algorithm of minimum spanning tree
E N D
산돌광수체 Minimum spanning tree on Networks : basic concept and something else Seung-Woo Son Complex System and Statistical Physics Lab. KAIST 2003.9.27.
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 What is the graphs? Mathematics vertices, nodes v1 e1 v2 v5 e3 e4 edges, links e2 v3 v4 In real world 광수는 철수와 영희에게 돈을 빌려 줬고, 민수는 광수에게 돈을 빌려줬다. 민수는 희영이에게 돈을 빌렸다.
Examples of graphs ancient Greek gods graph aspirin, C9H8O4 chemicals vitamin A, C20H30O
Examples of graphs highway system time and work study Too much arrange them kill you !!
Representation of graphs a With equation Graphically b e c d With table
e c b a 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 e 2D matrix - 5x5 array c d linked-list G[5][5] = Adjacency List weight Adjacency Matrix
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 weighted graph !! A graph G = (V,E) with weighted edges. The subset of E of G of minimum weight which forms a tree on V ≡ MST . - 최소의 비용으로 모든 노드들을 연결하는 방법. (V-1 개의 edge 이용) 기간도로망, 항공망, 전자회로, 전기전송망 등에서 최소의 비용으로 최대한의 서비스를 하기 위한 방법. - 주어진 노드들에 대해서 유일한 최소신장나무(MST) 가 얻어진다. - 인접한 정점들 중에 가장 가까운 노드와 연결을 맺는다. 가장 큰 영향을 미치는 노드와 연결된다는 의미를 갖는다. - 두 정점을 연결하는 최소비용경로(shortest path)를 찾는 문제와는 다른 문제.
a 7 4 6 b c 4 8 9 2 f 1 7 d e Algorithm of minimum spanning tree Prim algorithm - greedy algorithm - O(EV2) complexity. It can be improved to O( E log V ) - find only connected vertices - at each iteration, adds to current treea minimum-weight edge that does not complete a cycle Kruskal algorithm - use priority queue - 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)를 수시로 동적으로 만들어 준다.
$150 4 2 $100 $85 $75 $40 1 $80 5 $85 $90 3 $50 6 $65 Nodes represent computers in a local area network. Applications of MST(2) Windstar Aerospace Company
Applications of MST(3) MST using the correlation of price return and volatility
Reference • Nora Hartsfield, Gerhard Ringel, “Pearls in Graph Theory : a comprehensive introduction”, Academic press (1990) • Richard Johnsonbaugh, “Discrete mathematics” 5th ed, Prentice Hall (2001) • 이재규, “C로 배우는 알고리즘 2”, 도서출판 세화 (2002) • 카일 루든 저, 허욱 역, “Algorithms with C : C로 구현한 알고리즘”, 한빛미디어 (2001) • 자료구조론 http://kedb.gsnu.ac.kr/kedb/lectures/lecture06/lecture_note.htm • 그래프 (Graph)http://dcss.kunsan.ac.kr/~kmjung/Lectures/DS/chap6.htm • http://cat1.snut.ac.kr/~ykkang/lecture_right_graph1.html
Basic Concepts of Network Degree = 3 Links A shortest path with path length=3 (Equivalent with 3 clicks in WWW) Nodes
# of links between neighbor A knows B C= # of possible neighbor pair A B The probability that B will know C is relatively large C A knows C Clustering Coefficient • 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
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 C= # of connected triples