Download PPT - Complex Systems and Statistical Physics Lab. Hawoong Jeong

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
산돌광수체
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
G  (V , E )
vertices, nodes
v1
V  {v1, v 2, v3, v4, v5}
E  {e1, e2, e3, e4}
edges, links
In real world
e1
v2
v5
e3
e2
v3
e4
v4
광수는 철수와 영희에게 돈을 빌려 줬고, 민수는 광수
에게 돈을 빌려줬다. 민수는 희영이에게 돈을 빌렸다.
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
With equation
Graphically
G  (V , E )
V  {a, b, c, d , e}
E  {ab, bc, bd , be, cd , de}
b
e
c
With table
a
b
c
d
e
a
-
1
0
0
0
b
1
-
1
1
1
c
0
1
-
1
0
d
0
1
1
-
1
e
0
1
0
1
-
a
d
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
G[5][5] =
-1
1
0
0
0
1
-1
1
1
1
0
1
-1
1
0
0
1
1
-1
1
0
1
0
1
-1
Adjacency Matrix
weight
d
linked-list
a
b
c
e
Adjacency List
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 treeweighted 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)를 찾는 문제와는 다른 문제.
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 tree
a minimum-weight edge that does not complete a cycle
a
7
4
6
b
4
2
f
d
7
c
8
9
1
e
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)를
수시로 동적으로 만들어 준다.
Applications of MST(2)
Windstar Aerospace Company
$150
2
$100
4
$85
$75
$40
1
$85
$80
5
$90
3
$50
$65
6
Nodes represent computers in a local area network.
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” 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
Clustering Coefficient
A knows B
A
A knows C
B
C
C=
# of links between neighbor
# of possible neighbor pair
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
Clustering Coefficient
A clique or a community
C=1
C=0
Clustering Coefficient
‘Triangle’  the building block.
Alternative definition of
clustering coefficient
C=
3 x # of triangle
# of connected triples
Related documents