Minimum spanning tree on Networks : basic concept and something else Seung-Woo Son Complex System and Statistical Physics Lab. KAIST 산돌광수체 2003.9.27.

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Graph Theory Arnold Mesa. Basic Concepts n A graph G = (V,E) is defined by a set of vertices and edges v3 v1 v2Vertex (v1) Edge (e1) A Graph with 3 vertices.
Weighted graphs Example Consider the following graph, where nodes represent cities, and edges show if there is a direct flight between each pair of cities.
22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Great Theoretical Ideas in Computer Science for Some.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013.
Chapter 8, Part I Graph Algorithms.
Data Structures Using C++
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Graphs. Graph A “graph” is a collection of “nodes” that are connected to each other Graph Theory: This novel way of solving problems was invented by a.
Discrete Mathematics Lecture 9 Alexander Bukharovich New York University.
Data Structures Using C++ 2E
Data Structures and Algorithms Graphs Minimum Spanning Tree PLSD210.
IS 2610: Data Structures Graph April 5, 2004.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
WEIGHTED GRAPHS. Weighted Graphs zGraph G = (V,E) such that there are weights/costs associated with each edge Õw((a,b)): cost of edge (a,b) Õrepresentation:
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Lecture 12-2: Introduction to Computer Algorithms beyond Search & Sort.
Chapter 2 Graph Algorithms.
0 Course Outline n Introduction and Algorithm Analysis (Ch. 2) n Hash Tables: dictionary data structure (Ch. 5) n Heaps: priority queue data structures.
1 ELEC692 Fall 2004 Lecture 1b ELEC692 Lecture 1a Introduction to graph theory and algorithm.
Chapter 6 Graph Theory R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 20.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Fundamental Data Structures and Algorithms (Spring ’05) Recitation Notes: Graphs Slides prepared by Uri Dekel, Based on recitation.
Introduction to Graph Theory
Data Structures & Algorithms Graphs
Lecture19: Graph III Bohyung Han CSE, POSTECH CSED233: Data Structures (2014F)
Chapter 14 Section 4 - Slide 1 Copyright © 2009 Pearson Education, Inc. AND.
Graphs. Graphs Similar to the graphs you’ve known since the 5 th grade: line graphs, bar graphs, etc., but more general. Those mathematical graphs are.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
CSC2100B Tutorial 10 Graph Jianye Hao.
CSCI2100 Data Structures Tutorial 12
Graphs Upon completion you will be able to:
Lecture 16: Graph Theory III Discrete Mathematical Structures: Theory and Applications.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Graph Revisited Fei Chen CSCI2100B Data Structures Tutorial 12 1.
Minimum Spanning Trees Text Read Weiss, §9.5 Prim’s Algorithm Weiss §9.5.1 Similar to Dijkstra’s Algorithm Kruskal’s Algorithm Weiss §9.5.2 Focuses on.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Graphs. What is a graph? In simple words, A graph is a set of vertices and edges which connect them. A node (or vertex) is a discrete position in the.
Kruskal’s Algorithm for Computing MSTs Section 9.2.
Graphs Chapter 20.
Minimum Spanning Trees
Minimum Spanning Trees
C.Eng 213 Data Structures Graphs Fall Section 3.
Introduction to Graphs
CS120 Graphs.
Short paths and spanning trees
Graph Algorithm.
Discrete Mathematics for Computer Science
Minimum Spanning Tree.
Minimum Spanning Trees
Graph Algorithm.
Minimum Spanning Tree.
Minimum Spanning Tree.
Modeling and Simulation NETW 707
Graphs Chapter 13.
Minimum Spanning Trees
CSCI2100 Data Structures Tutorial
Minimum spanning trees
Minimum Spanning Trees (MSTs)
GRAPHS.
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

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=