Upload
ellen-lucas
View
220
Download
0
Embed Size (px)
Citation preview
1
The Steiner problem with edge length 1 and 2
Author: Marshall Bern and PaulPlassmann
Reporter: Chih-Ying Lin (林知瑩 )
Source: Information Process Letter 32 (1989)171-176
2
Outline
1. Introduction
2. Problem Definition
3. Preview
4. Algorithm
5. Example
6. Ratio
3
Introduction
• G=(V,E) with edge length 0≧ , and
a set N V of distinguished vertices.• The Steiner problem asks for a minimum length tree
within G that spans all members of N.• NP-complete problem
G=(9,11)
4
• Rayward-Smith’s average distance heuristic (ADH) is a 4/3-approximation algorithm for this problem.
• It is the first proof that a polynomial-time heuristic for an NP-complete Steiner problem achieves an approximation bound better than that given by a minimum spanning tree.
5
Problem Definition• Steiner(1, 2) 1. In complete graph
2. All length 1 or 2
The Steiner(1, 2) asks for a minimum length tree within G that spans all members of N.
6
Preview
7
C
F
D
B
G
H
E
A
2
2
11
1
2
1
1
2
2
Algorithm1.Find a vertex v (optional or terminal) and a set
S of terminals (possibly containing v) that minimize the average distance over all choices of v and S
Su
Svud )1/(),(
v=C S={C, F}
minimize the average distance=[d(C,C)+d(C,F)]/(2-1)=1
8
C
F
D
B
G
H
E
A
2
2
11
1
2
1
1
2
2
2.Replace S {∪ v} by a single terminal vs and
for each vertex u, let d(vs, u) be the minimum distance from u to a vertex of S {∪ v}.
vs D
B
G
H
E
A
2
11
1
2
12
9
Vs1
G
H
E
A
1
1
2
2
C
F
D
B
G
H
E
A
2
2
11
1
2
1
1
2
2
C
F
D
B
G
H
E
A
2
2
11
1
2
1
1
2
2
10
Example
A
G
I
H
D
F
EC
B
I
G=(9,36) and terminal node {C, D, H, I} Bold edge length =1 and unseen edge length=2
11
minimize the average distance={d(H, D)+d(I, H))}/(3-1)=2/2=1
A
G
I
H
D
F
EC
B
I
V=H, S={D, H, I}
A
G
VS1
F
C
B
12
A
G
VS1
F
C
BV=C, S={C, VS1}
minimize the average distance={d(C, VS1)}/(2-1)=2
A
G
VS2
F
B
13
A
G
VS2
F
BA
G
VS1
F
C
B
A
G
VS1
F
C
B A
G
I
H
D
F
EC
B
I
14
Instance
• For an instance I of STEINER(1, 2)
• |I|:=the number of vertices (terminal and optional)
• |N|:=n
• ratio(I)= HEU(I)/ OPT(I)
• HEU(I) and OPT(I) mean tree length.
15
4/3-approximation algorithm for STEINER (1,2)
G(V,H) complete graphSquare:=terminal nodeCircle:=optionalBold edge length is 1,other unseen is 2.
16
ADH=(1+1)/1=2
17
ADH=2/1=2
18
OPT(I)
19
20
21
OPT(I)=12+5=17
22
HEU(I)
23
24
25
HEU(I)=22
Ratio(I)=22/17=1.29…
26
Ratio= HEU(I)/OPT(I)=[1/2(3n-2)]/(2n-2)=4/3
27
4/3-approximation algorithm for STEINER (1,2)
For an instance I of STEINER(1, 2)|I|:=the number of vertices(terminal and optional)n:=|N|HEU(I):=the length of the tree found by ADH assuming a worst possible order of breaking tiesOPT(I):= the length of an optimal Steiner treeratio(I)=HEU(I)/OPT(I)
28
Lemma 1
• A worst-case instance I contains no pair of terminals 1 apart.
29
Lemma 2
• For instance I, the average distance in each reduction is greater than 1.
30
Lemma 3
• If I contains a K-star for K 3,≧ then ratio (I) 4/3. ≦
31
Lemma 4
• OPT(I)≧n +|P| +1
• P:=A minimum-cardinality set of vertices (optional or terminal ) that dominates all terminals in instance I.
32
Lemma 5
• OPT(I) 3/2≧ n- 1/2q-1
• q:= The number of equivalence classes in this partition that contain three terminals.
33
Theorem
• ADH is a 4/3-approximation algorithm for STEINER(1, 2).
3
4
23
424
23
424
121
23
22
)(
)()(
sn
sn
qn
sn
qn
sn
IOPT
IHEUIratio
HEU(I) 2≦ n-s-2OPT(I) 3/2≧ n- 1/2q-1
34
Thank you