32
The Breakpoint Graph 1 5 - 2 - 4 3

The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Embed Size (px)

Citation preview

Page 1: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

The Breakpoint Graph

1 5 -2 -4 3

Page 2: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

The Breakpoint Graph

• Augment with 0 = n+1

6 1 5 -2 -4 3 0

Page 3: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

The Breakpoint Graph

• Augment with 0 = n+1• Vertices 2i, 2i-1 for each i

6 1 5 -2 -4 3 0

11 2 1 9 10 3 4 8 7 6 5 0

Page 4: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

The Breakpoint Graph

• Augment with 0 = n+1• Vertices 2i, 2i-1 for each i • Blue edges between adjacent vertices

6 1 5 -2 -4 3 0

11 2 1 9 10 3 4 8 7 6 5 0

12,2 1 ii

Page 5: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

The Breakpoint Graph

• Augment with 0 = n+1• Vertices 2i, 2i-1 for each i • Blue edges between adjacent vertices• Red edges between consecutive labels 2i,2i+1

6 1 5 -2 -4 3 0

11 2 1 9 10 3 4 8 7 6 5 0

12,2 1 ii

Page 6: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

11 2 1 9 10 3 4 8 7 6 5 0

11 10 9 8 7 6 5 4 3 2 1 0

into n+1 trivial cycles

Sort a given breakpoint graph

Page 7: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

11 2 1 9 10 3 4 8 7 6 5 0

Sort a given breakpoint graph

Conclusion: We want to increase number of cycles

11 10 9 8 7 6 5 4 3 2 1 0

into n+1 trivial cycles

Page 8: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Def:A reversal acts on two blue edges

cutting them and re-connecting them

11 2 1 9 10 3 4 88 77 6 5 0

11 2 1 9 10 3 4 77 88 6 5 0

Page 9: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

A reversal can either

Act on two cycles, joining them (bad!!)

11 2 1 9 10 3 4 88 77 6 5 0

11 2 1 9 10 3 4 77 88 6 5 0

Page 10: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

A reversal can either

Act on one cycle, changing it (profitless)

11 2 1 9 10 3 4 88 77 6 5 0

11 2 1 5 66 7 8 4 3 10 9 0

Page 11: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

A reversal can either

Act on one cycle, splitting it (good move)

11 2 1 9 10 3 4 88 77 6 5 0

11 10 9 1 2 3 4 88 77 6 5 0

Page 12: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Basic Theorem

)(1)( cnd

Where d=#reversals needed (reversal distance),

and c=#cycles.

Proof: Every reversal changes c by at most 1.

(Bafna, Pevzner 93)

Page 13: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

)(1)( cnd

Where d=#reversals needed (reversal distance),

and c=#cycles.

Proof: Every reversal changes c by at most 1.

Alternative formulation:

where b=#breakpoints, and c ignores short cycles

)()()( cbd

Basic Theorem(Bafna, Pevzner 93)

Page 14: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Right-to-Right

Left-to-Left

Left-to-Right

Right-to-Left

Red edges can be :

Oriented{

Unoriented{

Oriented Edges

Page 15: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Right-to-Right

Left-to-Left

Left-to-Right

Right-to-Left

Red edges can be :

Oriented{

Unoriented{Def:This reversal acts on the red edge

Oriented Edges

Page 16: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Right-to-Right

Left-to-Left

Left-to-Right

Right-to-Left

Red edges can be :

Oriented{

Unoriented{Def:This reversal acts on the red edge

Oriented Edges

Thm: A reversal acting on a red edge is good the edge is oriented

Page 17: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Def: Two red edges are said to be overlapping if they span intersecting intervals which do not contain one another.

Overlapping Edges

Page 18: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Overlapping Edges

Def: Two red edges are said to be overlapping if they span intersecting intervals which do not contain one another The lines intersect

Page 19: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Thm: A reversal acting on a red edge flips the orientation of all edges overlapping it, leaving other orientations unchanged

Overlapping Edges

Def: Two red edges are said to be overlapping if they span intersecting intervals which do not contain one another The lines intersect

Page 20: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Thm: if e,f,g overlap each other, then after applying a reversal that acts on e, f and g do not overlap

Overlapping Edges

Def: Two red edges are said to be overlapping if they span intersecting intervals which do not contain one another The lines intersect

Page 21: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Overlap Graph

Nodes correspond to red edges.Two nodes are connected by an arc if they overlap

Page 22: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Overlap Graph

Def:Unoriented connected components in the overlap graph - all nodes correspond to oriented edges.

Nodes correspond to red edges.Two nodes are connected by an arc if they overlap

Page 23: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Overlap Graph

Def:Unoriented connected components in the overlap graph - all nodes correspond to oriented edges.

Cannot be solved in only good moves

Nodes correspond to red edges.Two nodes are connected by an arc if they overlap

Page 24: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Dealing with Unoriented Components

• A profitless move on an oriented edge, making its component to oriented

Page 25: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Dealing with Unoriented Components

• A profitless move on an oriented edge, making its component to oriented

or:

• A bad move (reversal) joining cycles from different unoriented components, thus merging them flipping the orientation of many components on the way

Page 26: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Merging Unoriented Components

Page 27: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Merging Unoriented Components

Page 28: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Merging Unoriented Components

Page 29: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Merging Unoriented Components

Page 30: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Hurdles

• Def:Hurdle - an unoriented connected component which is consecutive along the cycle

Page 31: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Hurdles

d b c h( ) ( ) ( ) ( )

• Def:Hurdle - an unoriented connected component which is consecutive along the cycle

• Thm: (Hannenhalli, Pevzner 95)

Proof: A hurdle is destroyed by a profitless move, or

at most two are destroyed (merged) by a bad move.

Page 32: The Breakpoint Graph 1 5- 2- 4 3. The Breakpoint Graph Augment with 0 = n+1 6 1 5- 2- 4 3 0

Hurdles

• Def:Hurdle - an unoriented connected component which is consecutive along the cycle

• Thm: (Hannenhalli, Pevzner 95)

Proof: A hurdle is destroyed by a profitless move, or

at most two are destroyed (merged) by a bad move.

• Thm:

d b c h( ) ( ) ( ) ( )

d b c h f f( ) ( ) ( ) ( ) ( ), ( ) { , } 0 1