Graph Searching and Related Problems
-
Upload
holmes-hatfield -
Category
Documents
-
view
62 -
download
2
description
Transcript of Graph Searching and Related Problems
2005/11/04 中山大學資訊工程研究所
Graph Searching and Graph Searching and Related ProblemsRelated Problems
中央研究院中央研究院資訊科學研究所資訊科學研究所
高明達高明達
Graph Searching ProblemsGraph Searching Problems
Input:Input:
A graph is looked as a system of A graph is looked as a system of contaminatedcontaminated tunnels. tunnels.
Goal:Goal:
To find a To find a strategystrategy using the least using the least number of number of searcherssearchers to clear the to clear the entire graph. entire graph.
Graph Searching ProblemsGraph Searching Problems
• Operations• Place Remove Move
• Clearing rules• move along an edge
• guard the two endpoints of an edge
• Recontamination
a cleared edge connects a contaminated edge by a path with no searcher
• Versions:
OperationsRule
Edge placemove
remove
move
Node placeguard
remove
Mixed placeboth
remove
move
Searching StrategySearching Strategy
Node search number =3
Edge search number = 2
There exists an optimal search strategy without recontamination.
Equivalent ProblemsEquivalent Problems
Node searching problem is Node searching problem is equivalent to equivalent to • Interval thickness problemInterval thickness problem• Gate matrix layout problem Gate matrix layout problem • Vertex separation problem Vertex separation problem • Narrowness problemNarrowness problem• Path-width problemPath-width problem
Interval Thickness ProblemInterval Thickness Problem
Given a graph G=(V, E), find an Given a graph G=(V, E), find an interval graph G’= (V, E’), E interval graph G’= (V, E’), E E’, E’, such that the maximum clique of G’ such that the maximum clique of G’ is minimum. is minimum.
ABCDEF
A
C
B
D
E F
Gate Matrix Layout ProblemGate Matrix Layout Problem
Given a gate matrix, each column Given a gate matrix, each column represents a gate and each row represents a gate and each row represents a net, the problem is to represents a net, the problem is to permute the columns such that the permute the columns such that the nets can be arranged in minimal nets can be arranged in minimal number of tracks. number of tracks.
11000000N
01011000N
00101000N
00100100N
00010110N
00000011N
GGGGGGGG
F
E
D
C
B
A
87654321A
B
C
D
E
F
11000000N
01101000N
00110000N
00010100N
00001110N
00000011N
GGGGGGGG
F
E
D
C
B
A
87465321
A
B
C
D
E
F
A
C
B
D
E F
incompatible graph
ABCDEF
G2 G5
G3
G6
G4
G7
G1G2 G3G5 G6G4 G7G8
11000000N
01011000N
00101000N
00100100N
00010110N
00000011N
GGGGGGGG
F
E
D
C
B
A
87654321
Vertex Separation ProblemVertex Separation Problem
GG=(=(VV, , EE)) Linear layout: Linear layout: LL: : VV {1, 2, …, | {1, 2, …, |VV|}|} VVLL((ii) = ) = {{uu||LL((uu) ) ii, , ww, , LL((ww)>)>ii, (, (uu, , ww))EE}.}. vsvsLL((GG)) = = maxmaxii {|{|VVLL((ii)|})|}
vsvs((GG) = min) = minLL vsvsLL((GG))
b
a
e
d
h
c
f g
a b e d c f g h
V(1) = {a}V(2) = {a, b}V(3) = {a, b, e}V(4) = {a, e, d}V(5) = {d, e}V(6) = {e, f}V(7) = {e, f}V(8) = {}
c a d b e f h g
V(1) = {c}V(2) = {a}V(3) = {d}V(4) = {d}V(5) = {d, e}V(6) = {e, f}V(7) = {e, f}V(8) = {}
a b e d c f g h
c a d b e f h g
Narrowness ProblemNarrowness Problem
Inner
Memory
Outer
MemoryShack
Limited
in-sequence out-sequence
Short term memory constraint: A vertex can be moved from the shack to OM only if all of the vertices connected to it by an arc are also in the shack or already in OM.
Narrowness ProblemNarrowness Problem
e
a
c
d
h
b
f g
In-sequenceb a d e c f h g
b a e d ch fgOut-sequence
In-sequencea b c e d f h g
b ae d ch fgOut-sequence
Path-width ProblemPath-width ProblemPath decompositionPath decomposition of of GG=(=(VV, , EE):): XX={={XX11, , XX22, …, , …, XXnn}, }, XXi i VV, , 1 1 i i n.n. ((aa,, b b))E, E, i i such that {such that {aa,, b b} } XXii.. i < j < k, Xi < j < k, Xii XXk k XXjj..Path-widthPath-width of of G = G = minminXX maxmaxii {{|X|Xii|-|-1}1}
A
C
B
D
E F
X ={{A, B}, {B, C, E}, {C, D, E}, {E, F}}
Tree-width ProblemTree-width ProblemTree decompositionTree decomposition of of GG=(=(VV, , EE):): XX={={XX11, , XX22, …, , …, XXnn}, }, XXi i VV, , 1 1 i i n.n. ((aa,, b b))E, E, i i such that {such that {aa,, b b} } XXii.. XXii, , XXjj,, XXkk,, XXjj is on the path from is on the path from XXii to to XXkk,, XXii
XXk k XXjj..
Tree-widthTree-width of of G = G = minminXX maxmaxii {{|X|Xii|-|-1}1}Tree decomposition is equivalent to the emTree decomposition is equivalent to the em
bedding into a chordal graph. bedding into a chordal graph.
A computing paradigm based on tree deA computing paradigm based on tree decomposition using dynamic programmicomposition using dynamic programming. ng. • Maximum independent set problemMaximum independent set problem• Maximum clique problemMaximum clique problem• Pathwidth problemPathwidth problem• Minimum fill-in problemMinimum fill-in problem• Minimum dominating set problemMinimum dominating set problem• Hamiltonian cycle problemHamiltonian cycle problem• Minimum coloring problemMinimum coloring problem• Minimum edge coloring problemMinimum edge coloring problem• …………………………………………
Maximum Independent SetMaximum Independent Set
X1 X2 X3
X5
X7
X6
X4
I: an independent set of [X7]
{Xi}= subgraph induced by Xi and its descendents.
Ii = I [Xi], i = 5. 6.
{Ii} the MIS containing Ii in {Xi}.
{I} = I {I5} {I6}
Bounded treewidth graphs have Bounded treewidth graphs have linear tilinear timeme algorithm for the decision problem o algorithm for the decision problem of pathwidth problem. f pathwidth problem.
Tree Tree serial-parallel graphsserial-parallel graphs cactus graphscactus graphs partial 2-treepartial 2-tree
Previous ResultsClasses of graphsClasses of graphs ComplexityComplexity
GeneralGeneral NP-completeNP-complete
General, degree General, degree 3 3 NP-completeNP-complete
Planar, degree Planar, degree 3 3 NP-completeNP-complete
chordalchordal NP-completeNP-complete
Chordal dominoChordal domino NP-completeNP-complete
Chordal bipartiteChordal bipartite NP-completeNP-complete
starlikestarlike NP-completeNP-complete
bipartitebipartite NP-completeNP-complete
Bipartite distance-hereditaryBipartite distance-hereditary NP-completeNP-complete
Circle Circle NP-completeNP-complete
Previous Results
Classes of graphsClasses of graphs ComplexityComplexity
k-starlikek-starlike P P OO((mnmnkk))Split Split P P OO((mnmn))Co-chordalCo-chordal PP
Trapezoid Trapezoid PP
Interval Interval P P OO((mm++nn))Permutation Permutation P P OO((nknk))Partial k-treePartial k-tree P P OO((nn))UnicyclicUnicyclic P P O(O(nn))CographCograph PP
TreeTree P P O(O(nn))Block Block P O(bc+c2+n)
Previous Results on TreesPrevious Results on Trees
Search number: O(Search number: O(nn)) Search strategy:O(Search strategy:O(nn log lognn) ) O(O(nn)) Node search: Node search:
• R. H. Moehring 1990, R. H. Moehring 1990, P. Scheffler 1990, P. Scheffler 1990, J. Ellis, I. Sudborough, J. Turner 1994J. Ellis, I. Sudborough, J. Turner 1994
BranchBranch
t v TTtvtv
Three-Branch LemmaThree-Branch Lemma [Pa76,Sc90, EST94, TUK95][Pa76,Sc90, EST94, TUK95] For any tree For any tree TT, , ((TT) ) kk+1+1, k ≧ 2 if and , k ≧ 2 if and
only if there exists a vertex only if there exists a vertex tt with at le with at least three branches ast three branches TTtutu, , TTtvtv,, T Ttwtw such tha such that t ((TTtutu)≧)≧kk, , ((TTtvtv)≧)≧kk, , ((TTtwtw)≧)≧kk. .
kkk
k +1
σ = 3σ = 3
Node Search ExampleNode Search Example
Node search number = 3
σ = 2
AvenueAvenue
[MHGJP88] A path [MHGJP88] A path PP is an is an avenueavenue of of TT if if the following conditions hold:the following conditions hold:• For every path branch For every path branch T T ’ at ’ at PP, , ((T T ’) = ’) = ((TT),),• For every non-path branch For every non-path branch T T ’ at ’ at PP, , ((T T ’) < ’) <
((TT).).
[MHGJP88] [MHGJP88] For any tree For any tree TT, , TT has an has an avenue.avenue. If the length of the avenue is at If the length of the avenue is at least two, then the avenue is least two, then the avenue is uniqueunique..
AvenueAvenue
(T) = k
<k<k
<k
=kk=
Example (Node)Example (Node)
Avenue branchNon-avenue branch
Extended AvenueExtended Avenue
A path A path PP is an is an extended avenueextended avenue of of TT if the following conditions hold:if the following conditions hold:• For every path branch For every path branch T T ’ at ’ at PP, , ((T T ’) ’)
((TT),),• For every non-path branch For every non-path branch T T ’ at ’ at PP, , ((T T ’) ’)
< < ((TT).). An extended avenue must contain An extended avenue must contain
the avenue of the tree. the avenue of the tree.
Extended AvenueExtended Avenue
Avenue SystemAvenue System
If If TT is a basis, then is a basis, then
If If TT is is notnot a basis: a basis:
where where PP is the set of nonpath branch is the set of nonpath branches of P.es of P.
}.{))((
};{)(
TTF
TT
))),'(((}{))((
));'((}{)(
'
'
TFTTF
TPT
P
P
T
T
Avenue System (Node)Avenue System (Node)
Searching Strategy (Node)Searching Strategy (Node)
Avenue Tree Avenue Tree
Avenue TreeAvenue Tree
Let Let P P AA((TT) and ) and TTPP denote the denote the branch in branch in FF((AA((TT)) with P as its main )) with P as its main avenue. avenue.
AA((TT) is the set of nodes of the logical ) is the set of nodes of the logical avenue tree. avenue tree.
PP is the parent of is the parent of QQ if and only if if and only if TTPP is is a non-path branch of a non-path branch of QQ. .
Avenue Tree ConstructionAvenue Tree Construction
Look tree Look tree TT as a rooted tree. as a rooted tree. Labeling algorithmLabeling algorithm Avenue tree constructionAvenue tree construction
Labeling AlgorithmLabeling Algorithm
A vertex A vertex uu is is kk-critical-critical if the subtree rooted if the subtree rooted at at uu is of is of ((TTuu)=)=kk and there exists and there exists exactlyexactly twtwo children o children vv and and ww of of uu such that such that ((TTvv)=)=kk an and d ((TTww)=)=kk..
k k<k <k
vw
u
Labeling AlgorithmLabeling Algorithm
Label Label
pp aaaaaa ...,),,...,,( 2121
puuu ,...,, 21 Critical verticesCritical vertices
up= u
u2 u1 u3
Labeling Algorithm (case 1)Labeling Algorithm (case 1)
If more than
2 children of = k
Then
= (k+1)’
(k+1)’
k k k
Labeling Algorithm (case 2)Labeling Algorithm (case 2)
If exactly
2 children of = k and one of them contains a k-critical vertex
Then
= (k+1)’
k’k
(k+1)’
kk
k
< k
Labeling Algorithm (case 3)Labeling Algorithm (case 3)
If exactly
2 children of = k and none of them contain a k-critical vertex
Then
= k
k’ k’
k
< k< k
Labeling Algorithm (case 4)Labeling Algorithm (case 4)
If exactly
1 children of = k and it contains a k-critical vertex x and (Tu[x]) =k
Then
= (k+1)’
k
(k+1)’
x: k-critical
: Tu[x]
x
kk
k
< k < k
Labeling Algorithm (case 5)Labeling Algorithm (case 5)
If exactly
1 children of = k and it contains a k-critical vertex x and (Tu[x]) < k
Then
= k
k
k
x: k-critical
: Tu[x]
x
kk
k
< k < k
Labeling Algorithm (case 6)Labeling Algorithm (case 6)
If exactly
1 children of = k and it contains no k-critical vertex Then
= k’
k’
k’
< k < k
Running ExampleRunning Example
(8) (4)
(4,2‘)
(8,7,6‘)
(7)
(8,2‘)(7,5,3,2‘)
(4)
(4‘) (4‘)
critical vertex
(3) (5)
Avenue Tree Construction Avenue Tree Construction
Pointer Assignment (before)
(8) (4)
(4,2‘)
(8,7,6‘)
(7)
(8,2‘)
(5)
( 7,5,3,2‘)
(3)
Avenue Tree Construction Avenue Tree Construction
Pointer Assignment (after)
(8) (4)
(4,2‘)
(8,7,6‘)
(7)
(8,2‘)
(5)
( 7,5,3,2‘)
(3)
Notation Notation Let Let uu be the root with children be the root with children vv11, …, , …, vvkk.. = (= (aa11, …, , …, aapp) : the label of ) : the label of uu. . ii : the label of : the label of vvii for for ii = 1, …, = 1, …,kk..ii’: the elements of ’: the elements of ii which is greater than which is greater than aa
pp..bbii : : bbii is the maximal element in is the maximal element in ii no greater t no greater t
han han aapp..uuii: the vertex corresponding to : the vertex corresponding to bbii..ThenThen
.)( '1 pi
ki a
Pointer AssignmentPointer Assignment
aa11 a a22 …… a …… ap-1 p-1 aapp
ww11 w w2 2 …… w…… wp-1 p-1 wwpp
u1 b1
u2 b2
: :
: :
uk bk
Main TheoremMain Theorem
An optimal searching strategy on trees An optimal searching strategy on trees can be constructed in linear time. can be constructed in linear time.
Block Graphs A block graph is a graph in which every
block is a clique.
Block-cut-vertex tree
Recursive CharacterizationFor any block graph G and an integer k 2,
ns(G) k+1 if and only if G has either (1) a vertex x at which there exists at least three branches having search numbers at least k; or (2) a block K on which ns({G}u,v) k for any (u,v) E(K).
k k k
k+1
u
v
G :{G}u,v : Ku v
enclosure subgraph
Recursive Char. (cont.)
For any block graph G and an integer k 2, ns(G) = k if and only if G has
(1) for any vertex x at which there exists at most two branches having maximum search numbers k; and
(2) for any block K there exists (u,v) E(K) such that ns({G}u,v) < k.
Avenue of Length 1A vertex having all branches with search number smaller than ns(G) is called a hub of G.
A block graph may have more than one hub. ns(G) = 4
critical edges
v3
Avenue of Length > 1
v1 v4v2
critical vertices outlet vertices
For any critical edge (u,v) of a block graph G, ns({G}u,v) < ns(G).
ns(G) = 4
G may has more than one avenue, but the set of critical blocks is unique.
Avenue of Length > 1
critical blocks
v3v1 v4v2
ns(G) = 4
Avenue of Length > 1
v3v1 v4v2
ns(G) = 4
Block-cut-vertex tree
Vertex Merge
Block merge
MergeMergeVertex merge is similar to the case in trees.Vertex merge is similar to the case in trees.
Block merge is new. Block merge is new.
Greedy Strategy
K
u
v1 v2
v3 v4
vr
G1G2
Gr
G3G4
L R
3
1
4
2
r
Patterns of Greedy Strategies1. Centralized : L and > R
2. Balanced : L = R
3. Skewed : L > and L > R
L R
L R
L R
ns(G) = .
ns(G) = L.
ns(G) = L or L-1.
Unicyclic GraphsUnicyclic Graphs
Concluding RemarkConcluding Remark Based on concept of Based on concept of avenueavenue we get linea we get linea
r time algorithms and polynomial time ar time algorithms and polynomial time algorithm for node search problem on lgorithm for node search problem on tretrees, unicyclices, unicyclic graphsgraphs and and block graphsblock graphs, re, respectively.spectively.
How to extend the concept of avenue How to extend the concept of avenue to the general case to obtain a linear to the general case to obtain a linear time algorithm. time algorithm.
Cactus graphs Cactus graphs Block graphs Block graphs
2005/11/04 中山大學資訊工程研究所
ENDEND
ABCDEA
C
B D E
A
C
B D E
Narrowness ProblemNarrowness Problem
b
a
e
d
hc
f
g
a b d
a b e df c g h
b d g
d g e
dg
f
gc
gh a
b
b a e f d c gh
a d
d e
df
dg
gc
gh
d
c
b
ae f
d
h
gc
b
a
e
f
hg
a b c c d gb c d d g hc d e f
d
cb
a
e
f
hg