l o g o jieyi long, hai zhou, and seda ogrenci memik dept. of eecs, northwestern univ. an o(nlogn)...

41
L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An An O O ( ( n n log log n n ) Edge-Based ) Edge-Based Algorithm for Obstacle- Algorithm for Obstacle- Avoiding Rectilinear Avoiding Rectilinear Steiner Tree Construction Steiner Tree Construction

Post on 22-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

L o g o

Jieyi Long, Hai Zhou, and Seda Ogrenci MemikDept. of EECS, Northwestern Univ.

An An OO((nnloglognn) Edge-Based ) Edge-Based Algorithm for Obstacle- Algorithm for Obstacle-

Avoiding Rectilinear Steiner Avoiding Rectilinear Steiner Tree ConstructionTree Construction

Page 2: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Outline

Introduction1

Problem Formulation2

Edge-Based OARST Algorithm3

Experimental Results4

Conclusions5

Page 3: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Outline

Introduction1

Problem Formulation2

Edge-Based OARST Algorithm3

Experimental Results4

Conclusions5

Page 4: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Introduction

Steiner Steiner RoutingRoutingSteiner Steiner RoutingRouting

Existing Work: Mostly assumes obstacle-free

routing plane

Modern Modern VLSI VLSI ChipChip

Modern Modern VLSI VLSI ChipChip

Obstacles: IP cores, macro blocks, pre-route nets

Page 5: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Contents

Introduction1

Problem Formulation2

Edge-Based OARST Algorithm3

Experimental Results4

Conclusions5

Page 6: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Steiner points

Problem Formulation

OARSMT

Obstacle-Avoiding Rectilinear Steiner Minimal Tree

m terminals

k rectilinear obstacles

rectilinear tree

minimum length

connects all tmls

GIVEN GOAL

avoids obstacles

NP-NP-HardHard

Page 7: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Contents

Introduction1

Problem Formulation2

Edge-Based OARST Algorithm3

Experimental Results4

Conclusions5

Page 8: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Algorithm Overview

OASG MTST OARST Tmls, Obsts

Page 9: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Algorithm Overview

OASG MTST OARST Tmls, Obsts

Page 10: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Algorithm Overview

OASG MTST OARST Tmls, Obsts

Page 11: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Algorithm Overview

OASG MTST OARST Tmls, Obsts

Page 12: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

OASGTmls, Obsts

Step 1: OASG Generation

Spanning Spanning GraphGraph

Spanning Spanning GraphGraph

• Octal partition

• Minimum Spanning Tree (MST) embedded

Obstacle-Avoiding Spanning Graph (OASG)

On a obstacle-free routing plane [ Zhou et al.]

OObstacle-bstacle-AAvoiding voiding SSpanning panning

GGraphraph

OObstacle-bstacle-AAvoiding voiding SSpanning panning

GGraphraph

• How to define SG when there are obstacles?• How to construct OASG efficiently?

• Is MST still embedded?

What if there are obstacles…

Page 13: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Step 1: OASG GenerationObstacle-Avoiding Spanning Graph (OASG)

Q1: How to Define SG when there are obstacles?

A: 1. Connect the terminals and corners - Intuition: when blocked, shortest paths going through corners

2. Quadrant partition only - easier to handle, does not degrade the solution quality much

OASGTmls, Obsts

Page 14: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Step 1: OASG GenerationObstacle-Avoiding Spanning Graph (OASG)

Q2: How to construct OASG efficiently?

A: Sweeping Line Algorithm (Quad1)

+ order the vertices by x+y;

+ sweep from the first vertex in the order;

+ Active Set (vertices in red circles): contain all the swept vertices whose closest vertex is to be discovered;

+ blockage checking…

OASGTmls, Obsts

Page 15: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Step 1: OASG GenerationObstacle-Avoiding Spanning Graph (OASG)

Blockage Checking

Lemma 1: (u, v) intersects with a horizontal edge if and only if:

1) The edge is intersecting with the sweeping line

2) The y-coordinate of the edge is between those of u and v

u

v

Use balanced BST to store y-coordinate of the edges, ensuring O(logn) query time

OASGTmls, Obsts

Page 16: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Step 1: OASG GenerationObstacle-Avoiding Spanning Graph (OASG)

Data Structure for the Active Set

Balanced BST (x as the keys)

No Obstacle

x

y

O(logn) query, insertion,

deletion time

Hierarchical Balanced Binary Search Tree

OASGTmls, Obsts

Page 17: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Step 1: OASG GenerationObstacle-Avoiding Spanning Graph (OASG)

Q3: Does the OASG contain the MST connecting all the terminals?

A: Unfortunately no, but we can extract a structure called MTST from OASG as the starting point for refinement

OASGTmls, Obsts

Page 18: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

• Map an OASG to a Complete Graph CG + a vertex for each terminal

+ edge length equals the shortest path length between the two end vertices on the OASG

MMTTSSTT

MMTTSSTT p1

p2

p31

1

1

1

3 3 3

32

2

p1

p2

p3

1

5

4

Page 19: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

• Generate MST(CG)

• Map MST(CG) to MTST(OASG)

MMTTSSTT

MMTTSSTT p1

p2

p31

1

1

1

3 3 3

32

2

p1

p2

p3

1

5

4The definition gives a trivial algorithm to generate MTST. However, its complexity is at

least O(n2logn)

Page 20: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

Can we do better than Can we do better than OO((nn22loglognn)?)?Can we do better than Can we do better than OO((nn22loglognn)?)?

Extreme Cases

All vertices are terminals: MTST degenerated to MST, which can be found using Kruskal’s algorithm in O(nlogn) time

Only two terminals: MTST degenerated to shortest path between these two terminals, which can be found by Dijkstra’s algorithm in O(nlogn) time

It is reasonable to assume that certain

combination of Dijkstra’s and

Kruskal’s alg. can generate MTST in

O(nlogn) time

Page 21: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

1. Add a dummy node and zero-weighted edges

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

Can we do better than Can we do better than OO((nn22loglognn)?)?Can we do better than Can we do better than OO((nn22loglognn)?)?

1

p1

p2

p3

p4

c1

c2

c3

c4

c5

c6

c7

c8

c9

c102

2

1 6

4

8 3 1

33

5

7

1

1

1

24

53

2

1

4

5

00

0

0

Page 22: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

1p4

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

Can we do better than Can we do better than OO((nn22loglognn)?)?Can we do better than Can we do better than OO((nn22loglognn)?)?

1

p1

p2

p3

c1

c2

c3

c4

c5

c6

c7

c8

c9

c102

2

1 6

4

8 3 1

33

5

7

1

1

1

24

53

2

4

5

00

0

0

1. Add a dummy node and zero-weighted edges

2. Construct shortest pathtree using Dijkstra’s Alg.

Page 23: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

1p4

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

Can we do better than Can we do better than OO((nn22loglognn)?)?Can we do better than Can we do better than OO((nn22loglognn)?)?

1

p1

p2

p3

c1

c2

c3

c4

c5

c6

c7

c8

c9

c102

2

1 6

4

8 3 1

33

5

7

1

1

1

24

53

2

4

5

1. Add a dummy node and zero-weighted edges

2. Construct shortest pathtree using Dijkstra’s Alg.

3. Remove the dummy node and edges

Page 24: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

1p4

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

Can we do better than Can we do better than OO((nn22loglognn)?)?Can we do better than Can we do better than OO((nn22loglognn)?)?

1

p1

p2

p3

c1

c2

c3

c4

c5

c6

c7

c8

c9

c102

2

1 6

4

8 3 1

33

5

7

1

1

1

24

53

2

4

5

1. Add a dummy node and zero-weighted edges

2. Construct shortest pathtree using Dijkstra’s Alg.

3. Remove the dummy node and edges4. Treat each tree as a super node and apply Kruskal’s Alg.

Page 25: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

1p4

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

Can we do better than Can we do better than OO((nn22loglognn)?)?Can we do better than Can we do better than OO((nn22loglognn)?)?

1

p1

p2

p3

c1

c2

c3

c4

c5

c6

c7

c8

c9

c102

2

1 6

4

8 3 1

33

5

7

1

1

1

24

53

2

4

5

1. Add a dummy node and zero-weighted edges

2. Construct shortest pathtree using Dijkstra’s Alg.

3. Remove the dummy node and edges4. Treat each tree as a super node and apply Kruskal’s Alg.

Page 26: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

1p4

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

Can we do better than Can we do better than OO((nn22loglognn)?)?Can we do better than Can we do better than OO((nn22loglognn)?)?

1

p1

p2

p3

c1

c2

c3

c4

c5

c6

c7

c8

c9

c102

2

1 6

4

8 3 1

33

5

7

1

1

1

24

53

2

4

5

1. Add a dummy node and zero-weighted edges

2. Construct shortest pathtree using Dijkstra’s Alg.

3. Remove the dummy node and edges4. Treat each tree as a super node and apply Kruskal’s Alg.

Page 27: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

1p4

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

Can we do better than Can we do better than OO((nn22loglognn)?)?Can we do better than Can we do better than OO((nn22loglognn)?)?

1

p1

p2

p3

c1

c2

c3

c4

c5

c6

c7

c8

c9

c102

2

1 6

4

8 3 1

33

5

7

1

1

1

24

53

2

4

5

1. Add a dummy node and zero-weighted edges

2. Construct shortest pathtree using Dijkstra’s Alg.

3. Remove the dummy node and edges4. Treat each tree as a super node and apply Kruskal’s Alg.

Page 28: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

p4

OASG MTST

Step 2: MTST ConstructionMinimum Terminal Spanning Tree (MTST)

Can we do better than Can we do better than OO((nn22loglognn)?)?Can we do better than Can we do better than OO((nn22loglognn)?)?

p1

p2

p3

c1

c2

c3

c4

c5

c6

c7

c8

c9

c10

5

6 4

6

9

14

6

9

Time Complexity: O(nlogn)• Dijkstra’s and Kruskal’s Alg. on a sparse graph

8

Page 29: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

MTST OARST

Step 3: Edge-Based RefinementObstacle-Avoiding Rectilinear Steiner Tree (OARST)

From MTST to OARST

• Obstacle-Free: - consider vertex-edge pairs for tree length reduction (O(n2) pairs) [Borah et al.]

Page 30: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

MTST OARST

Step 3: Edge-Based RefinementObstacle-Avoiding Rectilinear Steiner Tree (OARST)

Handling Obstacles

u

v

pathlongest

pathMTST

path’MTST

• Consider each neighboring vertex-edge pair (u, e) where e is on the MTST

e

• Find out v, the closest on-MTST vertex to u (Extended-Dijkstra in Step 2 can be reused here to identify all such <u, v> pairs)• Add Steiner points, connect path <u, v>

• Remove e and pathlongest (pathlongest for all (u, e) pair can be identified by Tarjan’s offline least common ancestor alg. )

Page 31: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

MTST OARST

Step 3: Edge-Based RefinementObstacle-Avoiding Rectilinear Steiner Tree (OARST)

Handling Obstacles

Q: Do the newly added edges intersect with the obstacles?

No. Because there should not

be any vertex within the yellow

area

u

p

qe = (p, q)

Page 32: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Obstacle-Avoiding Rectilinear Steiner Tree (OARST)

Complexity of the Algorithm

MTST Construction: Dijkstra’s and Kruskal’s Alg. on sparse graphs (O(nlogn))

OASG Generation: Sweeping line alg. with efficient active set implementation (O(nlogn))

Edge-Based Refinement: Consider only O(n) vertex-edge pairs (O(nlogn))

MTST OARST

Time Complexity AnalysisTime Complexity AnalysisTime Complexity AnalysisTime Complexity Analysis

Step 1: Step 1: OO((nnloglognn))Step 1: Step 1: OO((nnloglognn))

Step 2: Step 2: OO((nnloglognn))Step 2: Step 2: OO((nnloglognn))

Step 3: Step 3: OO((nnloglognn))Step 3: Step 3: OO((nnloglognn))

Entire Alg.: Entire Alg.: OO((nnloglognn))

Page 33: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Contents

Introduction1

Problem Formulation2

Edge-Based OARST Algorithm3

Experimental Results4

Conclusions5

Page 34: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Experimental Results

Page 35: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Experimental Results

Page 36: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Experimental Results

Page 37: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Experimental Results

Page 38: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Experimental Results

Tree Length

m k Feng’s Lin’s Ours Impr%

IND03 10 50 - 623 633 -1.63%

IND04 25 79 - 1121 1131 -0.89%

IND05 33 71 - 1392 1379 -1.10%

RC10 500 100 198010 171519 168859 1.07%

RC11 1000 100 250570 237794 235795 0.35%

RC12 1000 10000 1723990 803483 852401 -8.02%

Running Time (sec)

Feng’s Lin’s Ours Speedup

0.01 0.01 0.01 1X

0.02 0.02 0.02 1X

0.02 0.02 0.02 1X

0.03 0.71 0.08 7.8X

0.04 0.33 0.15 8.5X

2.82 1.10 5.93 13.4X

Commonly Used Test CasesCommonly Used Test CasesCommonly Used Test CasesCommonly Used Test Cases

Page 39: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Experimental Results

Tree Length

m k Feng’s Lin’s Ours Impr%

RL01 5000 5000 - 492865 504887 -2.44%

RL02 10000 500 - 648508 641445 1.09%

RL03 10000 100 - 652241 644616 1.17%

RL04 10000 10 - 709904 701088 1.24%

RL05 10000 0 - 741697 731790 1.34%

Running Time (sec)

Feng’s Lin’s Ours Speedup

- 161.06 5.18 31.1X

- 218.73 2.28 95.9X

- 204.61 2.04 100.3X

- 256.81 1.85 138.8X

- 284.26 1.84 154.5X

Large Test CasesLarge Test CasesLarge Test CasesLarge Test Cases

Across a larger set of test cases, compared to Lin et al.’s heuristic, our algorithm achieves 25.8X speedup on average, while the length

of the resulting OARSTs is only 1.58% larger on average

Page 40: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

www.themegallery.comwww.themegallery.com Company LogoCompany Logo

L o g o

Conclusions

Problem FormulationProblem Formulation Problem FormulationProblem Formulation

Three-Step Three-Step OO((nnloglognn) OARST Algorithm) OARST Algorithm Three-Step Three-Step OO((nnloglognn) OARST Algorithm) OARST Algorithm

OASG Generation O(nlogn)

MTST Construction O(nlogn)

Edge-Based Refinement O(nlogn)

Experimental Results Illustrate the Experimental Results Illustrate the Effectiveness and Efficiency of Our ApproachEffectiveness and Efficiency of Our Approach

Experimental Results Illustrate the Experimental Results Illustrate the Effectiveness and Efficiency of Our ApproachEffectiveness and Efficiency of Our Approach

Page 41: L o g o Jieyi Long, Hai Zhou, and Seda Ogrenci Memik Dept. of EECS, Northwestern Univ. An O(nlogn) Edge-Based Algorithm for Obstacle- Avoiding Rectilinear

L o g o