Bounds on the Geometric Mean of Arc Lengths for Bounded- Degree Planar Graphs M. K. Hasan Sung-eui Yoon Kyung-Yong Chwa KAIST, Republic of Korea.

Slides:



Advertisements
Similar presentations
05/11/2005 Carnegie Mellon School of Computer Science Aladdin Lamps 05 Combinatorial and algebraic tools for multigrid Yiannis Koutis Computer Science.
Advertisements

I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton.
Great Theoretical Ideas in Computer Science for Some.
Optimal Fast Hashing Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay (Hebrew Univ., Israel)
Memory-Efficient Sliding Window Progressive Meshes Pavlo Turchyn University of Jyvaskyla.
Polynomial Time Approximation Schemes Presented By: Leonid Barenboim Roee Weisbert.
Mesh Layouts for Block-Based Caches Sung-Eui Yoon Peter Lindstrom Lawrence Livermore National Laboratory.
Chapter 3 The Greedy Method 3.
Ad-Hoc Networks Beyond Unit Disk Graphs
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
The Analysis and Design of Approximation Algorithms for the Maximum Induced Planar Subgraph Problem Kerri Morgan Supervisor: Dr. G. Farr.
Geometric reasoning about mechanical assembly By Randall H. Wilson and Jean-Claude Latombe Henrik Tidefelt.
A New Force-Directed Graph Drawing Method Based on Edge- Edge Repulsion Chun-Cheng Lin and Hsu-Chen Yen Department of Electrical Engineering, National.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
1 -1 Chapter 1 Introduction Why Do We Need to Study Algorithms? To learn strategies to design efficient algorithms. To understand the difficulty.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
Course Review COMP171 Spring Hashing / Slide 2 Elementary Data Structures * Linked lists n Types: singular, doubly, circular n Operations: insert,
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Force Directed Algorithm Adel Alshayji 4/28/2005.
1 On the Benefits of Adaptivity in Property Testing of Dense Graphs Joint work with Mira Gonen Dana Ron Tel-Aviv University.
2 -1 Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
Force Directed Algorithm Adel Alshayji 4/28/2005.
Backtracking Reading Material: Chapter 13, Sections 1, 2, 4, and 5.
1 Separator Theorems for Planar Graphs Presented by Shira Zucker.
Introduction to Boolean Operations on Free-form Solids CS284, Fall 2004 Seung Wook Kim.
The Complexity of Algorithms and the Lower Bounds of Problems
Finding a maximum independent set in a sparse random graph Uriel Feige and Eran Ofek.
Tools for Planar Networks Grigorios Prasinos and Christos Zaroliagis CTI/University of Patras 3 rd Amore Research Seminar – Oegstgeest, The Netherlands,
1 Presenter: Chien-Chih Chen Proceedings of the 2002 workshop on Memory system performance.
15-853Page :Algorithms in the Real World Separators – Introduction – Applications.
1 A Novel Page-Based Data Structure for Interactive Walkthroughs Behzad Sajadi Yan Huang Pablo Diaz-Gutierrez Sung-Eui Yoon M. Gopi.
Lecture 33: Chapter 5 Today’s topic –Cache Replacement Algorithms –Multi-level Caches –Virtual Memories 1.
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
Data Management Techniques Sung-Eui Yoon KAIST URL:
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
Edge-disjoint induced subgraphs with given minimum degree Raphael Yuster 2012.
The minimum cost flow problem. Simplifying assumptions Network is connected (as an undirected graph). – We can consider each connected component separately.
Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National.
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
Data Structures & Algorithms Graphs
Spectral Sequencing Based on Graph Distance Rong Liu, Hao Zhang, Oliver van Kaick {lrong, haoz, cs.sfu.ca {lrong, haoz, cs.sfu.ca.
CSC-305 Design and Analysis of AlgorithmsBS(CS) -6 Fall-2014CSC-305 Design and Analysis of AlgorithmsBS(CS) -6 Fall-2014 Design and Analysis of Algorithms.
Practical LFU implementation for Web Caching George KarakostasTelcordia Dimitrios N. Serpanos University of Patras.
Speeding Up Enumeration Algorithms with Amortized Analysis Takeaki Uno (National Institute of Informatics, JAPAN)
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
ICS 353: Design and Analysis of Algorithms Backtracking King Fahd University of Petroleum & Minerals Information & Computer Science Department.
12 July 2007Gary Miller Overlay Stitch Meshing 1 Size Competitive Meshing without Large Angles Gary L. Miller Carnegie Mellon Computer Science Joint work.
OR Chapter 4. How fast is the simplex method  Efficiency of an algorithm : measured by running time (number of unit operations) with respect to.
1 CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
LECTURE 2 : fundamentals of analysis of algorithm efficiency Introduction to design and analysis algorithm 1.
Replacement Policy Replacement policy:
Great Theoretical Ideas in Computer Science
Chapter 2 Fundamentals of the Analysis of Algorithm Efficiency
CSE 421: Introduction to Algorithms
Cache-Efficient Layouts of BVHs and Meshes
CSCI206 - Computer Organization & Programming
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 8th ed., by Kenneth H.
Chap 10. Geometric Level of Detail
CSE 589 Applied Algorithms Spring 1999
At the end of this session, learner will be able to:
Clustering.
Cache - Optimization.
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Complexity Theory: Foundations
Presentation transcript:

Bounds on the Geometric Mean of Arc Lengths for Bounded- Degree Planar Graphs M. K. Hasan Sung-eui Yoon Kyung-Yong Chwa KAIST, Republic of Korea

Image Rendering

Two Level I/O Memory Model a c d b f e g h 2-block cache Memory with infinite capacity

Memory Layout a c d b f e g h 2-block cache Memory with infinite capacity abcdefg h …

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacity Not Available In Cache h abcdefg…

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 1 h abcdefg…abc

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 1 h abc defg… Hit ! abc

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 1 h abc defg… Hit ! abc

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 1 h abc defg… Not Available In Cache abc

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 2 h abc defg…abcdef

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 2 h abc defg…abc def

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 2 h abc defg…abc def Hit !

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 2 h abc defg…abc def Hit !

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 2 h abc defg…abc def Not Available In Cache

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 3 h abc defg…abc def hg…

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 3 h defg…abc def hg…

Performance of the Layout a c d b f e g h 2-block cache Memory with infinite capacityNumber of misses: 3 h defg…abc def hg… Hit !

Example of a “Bad Layout” a c d b f e g h a h g c b f d e … 2-block cache Memory with infinite capacityNumber of misses = 4

Cache Parameters In reality we do not know the block size and cache size In the Cache-Oblivious environment our objective is to develop efficient algorithm and/or layout without knowing the cache parameters Reducing the number of cache misses is the only goal. It does not matter how bad the algorithm is (in terms of complexity) as long as it is polynomial.

Cache-Oblivious Mesh Layout Optimization problem: Find the layout of a mesh which minimizes the number of cache misses for a set of applications: –Rendering –Collision Detection –Ray Tracing

We Need a Metric Given a layout –We want to know the number of cache misses for a particular class of applications –How can we get that if we do not know the cache parameters (cache size, block size)? –We need a metric which reflects the expected number of cache misses for the application class –The metric must be related to the layout and must not be dependent on the cache parameters Cache-Obliviousness

Efficient Layout Suppose we have chosen a metric which reflects the expected number of cache misses for our target application. Now, our objective is to develop a layout of the input mesh such that the metric value is minimized

Related Work : Derivation of Metrics [Yoon and Lindstrom(2006)] Consider two types of block size progressions –1, 2, 3, … –2 0, 2 1, 2 2, … The second one is more reasonable choice, e.g., 32 and 128 bytes for L1 and L2 caches and 4KB for the virtual page Based on these progressions we find two metrics –Arithmetic mean of edge spans: –Logarithm of geometric mean of edge spans: a c b d dacb MeshLayout

Related Work : Comparison of Two Metrics [Yoon and Lindstrom(2006)]

Related Work : Multi-level Construction Algorithm [Yoon and Lindstrom(2006)] Algorithm: Partition the input graph using graph partitioning tool. Make the layout of each small component using M g metric Marge the layout of each component to get the layout of the whole graph Average query times for collision detection between the Lucy model and Dragon Model Result: Experimental results show nice performance of multi-level construction algorithm However there is no theoretical bound for the performance and the complexity of the algorithm

Our Contribution We have given an algorithm which gives a layout for bounded-degree planar graph such that the M g value of the layout is within a constant factor of the M g value of the optimal layout (optimal in terms of M g value). Our algorithm is simple and easy to implement. The time complexity of our algorithm is O(n ⅹ log 2 n)

Separator Theorem For Planar Graphs [Lipton and Tarjan(1979)] B A |C|  2 ⅹ 2 1/2 ⅹ n 1/2 No edge between A and B |A|≤2 ⅹ n/3|B|≤2 ⅹ n/3 C Planar Graph with n vertices

Algorithm: Given Bounded-Degree Planar Graph G with n (a power of 2 ) Vertices G

Algorithm: Split G Into Three Parts A, B and C BA C |C|=O(n 1/2 ) |B|≤n/2 |A|≤n/2 Number of external edges = O(n 1/2 ) Number of internal edges = O(n 1/2 ) No edge between A and B

Algorithm: Split C into C 1 and C 2 BA C1C1 |A|+|C 1 |=n/2 C2C2 |B|+|C 2 |=n/2 Each edge is either an external or an internal edge crossing Number of crossing edges = O(n 1/2 )

Algorithm: Combine A,C 1 and B,C 2 |A|+|C 1 |=n/2|B|+|C 2 |=n/2 BA C1C1 C2C2

Algorithm: Recurse on A ’ and B ’ Make Layout of A ’ with 1…n/2 and B ’ with n/2+1…n recursively A ’ = A ∪ C 1 B ’ = B ∪ C

Cost of The Split of a n Vertices Bounded Degree Planar Graph Layout with values [1…n./2] A ’ = A ∪ C 1 B ’ = B ∪ C 2 Number of crossing edges = O(n 1/2 ) Cost of crossing edges = O(n 1/2 log n) Cost Layout with values [n/2…n]

Bounding M G Value …………………………………… l=0 l=1. ………………………… Number of subgraphs Number of crossing edges Cost of each crossing edge

Results Summary Value of M g metric of the layout generated by the recursive algorithm is O(1), where, Lower bound of M g of any layout is Ω (1) under suitable assumptions The recursive algorithm gives a constant approximation factor for M g The upper bound of M g value for any layout is O (log n) The time complexity of our algorithm is O(n ⅹ log 2 n)

Future Works We can extend the algorithm to handle three dimensional mesh For applications like streaming mesh and mesh smoothing, we can develop good metrics and cache-oblivious layouts based on those metrics