Unformatted text preview: UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry
Prof. Karen Daniels
Spring, 2010 Project Project Deliverables
Deliverable Due Date
4/15 4/29 5/13 Grade %
10% 6% 19% Proposal & Lead Class Discussion on Related Paper Status Report Final Project Report & Class Presentation* * in OS 311 35% of course grade Project Guidelines: Proposal Objective: State the goal of the project
State topic/research question Provide motivation: why do you find this topic interesting? Scope it to be doable in approximately one month Plan: List the tasks you need to accomplish Resources: What do you need? Specialized equipment, language, OS? Specialized software/libraries? Additional research papers, books? More background in some area? Assessment Checklist: Characterize your project (see next 2
slides) Guidelines: Proposal (continued) Assessment Checklist:
Characterize your project's theoretical aspects:
Clarity Paradigm Design Difficulty Analysis Technique Design Algorithm Design Scope Creativity Data Structure Design Algorithm and/or Data Structure Analysis correctness Organization Impact running time and/or space Correctness Observations/Conjectures Algorithmic Guidelines: Proposal (continued) Assessment Checklist:
Characterize your project's implementation
Clarity aspects: Reuse Difficulty Scope Creativity Impact of existing Code/Libraries New Code Experimental Design Test Suites Degenerate/boundary cases Numerical robustness Organization Correctness Guidelines: Class Discussion 20 minutes per student Briefly state your project's topic/research question Present (with slides) some interesting aspect of what you've learned so far from background/related work investigation Prepare several questions or observations to use as discussion points Lead a class discussion Provide handouts: copies of relevant paper from the literature Send to me prior to class (preferably several days in advance) and I will have copies made Guidelines: Final Report Abstract Introduction Theoretical Results Algorithm Implementation Results Summary & Conclusion
Well- written final submissions with research content may be eligible for Future Work publishing as UMass Lowell CS technical reports. With some additional work (beyond class) some projects could be polished into CCCG conference References Guidelines: Final Report (continued) Abstract: Concise overview (at most 1 page) Introduction: Motivation: Why did you choose this project? State Topic / research question Background people need in order to understand project Related Work: Context with respect to literature Conference, journal papers, web sites Summary of Results Overview of paper's organization Guidelines: Final Report (continued) Theoretical Results: Clear, concise statements of definitions, lemmas, theorems and proofs Notation guidelines High-level algorithm description (& example) Algorithmic paradigm Data structures Pseudocode Analysis: Algorithm: Correctness Solutions generated by algorithm are correct account for degenerate/boundary/special cases If a correct solution exists, algorithm finds it Control structures (loops, recursions,...) terminate correctly Guidelines: Final Report (continued) Experimental Design & Implementation: Enough of the right kind of information to allow other researchers to duplicate your work Resources & environment: What language did you code in? What existing code did you use? (software libraries, etc.) What equipment did you use? (machine (& processor speed), OS, compiler) Assumptions Parameter values Treatment of special issues, such as numerical robustness How did you decide what kinds of measurements would be meaningful? Randomness: statistical significance Test cases Representative examples Controlled tests to establish correctness Boundary/extreme cases Guidelines: Final Report (continued) Results: Experimental analysis Randomness: statistical analysis Test cases Tables Figures Graphs and Charts Comparison with benchmarks Meaningful measurements: CPU time? Combinatorial size of output? Effect of decisions on issues, such as numerical robustness Guidelines: Final Report (continued) Summary: Summarize what you did Conclusion: Summarize results & impact Future Work: What would you do if you had more time? References: Bibliography Papers, books, web sites that you used Consistent format All work not your own must be cited! Others' exact words must be quoted! Guidelines: Final Presentation
20 minute class presentation Explain to the class what you did. Structure it any way you like. Some ideas: slides (electronic or transparency) demos handouts Project Topics Sample Prior Project Topics Multiple robotic arm reachability implementation Coreset algorithm implementation for approximate clustering Geometric modeling implementation: Marching Cubes 2D polygonal covering implementation: Constrained triangulation for improved subdivision Recursive algorithm for 2-contact group generation Orthotopes in 2D and higher dimensions Algorithms for approximate 3D convex hull construction Parallel coordinates for high-dimensional visualization Thrackle reduction theoretical results Splines: convex hull of planar splines Creating skeletons for complex Chinese characters using stable medial axis method New "glow clustering" heuristic inspired by physics of light and images of spiral galaxies Real-time map labelling for mobile applications Motion planning through a set of static obstacles Implementation of a convex polygon intersection algorithm Project Topics (some possibilities)
Extend a Part I assignment (or a deBerg et al. exercise) Work on a problem from an "open problems" list Open Problem Project (O'Rourke, Demaine, Mitchell) http://maven.smith.edu/~orourke/TOPP/ Symposium on Computational Geometry Computational Geometry: Theory and Applications Journal of Experimental Algorithmics Algorithm Engineering and Experiments Canadian Conference on Computational Geometry Many conference, journal papers pose open problems Some conferences hold open problem sessions Project Topics (some possibilities)
Investigate a topic not covered in class "Parallel" Computational Geometry (or multiple threads) Reference: Parallel Computational Geometry by Akl, Lyons, 1993 Parallel 3D meshing Reference: Computational Geometry: An Introduction Through Randomized Algorithms by Mulmuley, 1994 Reference: Kinetic Data Structures: A State-of-the-Art Report by Guibas, Proc. 3rd Workshop on Algorithmic Foundations of Robotics, 1998 Nanomanufacturing: Lattice packings Video Games: Graphics Randomized Computational Geometry algorithms Dynamic Computational Geometry Specialized Computational Geometry Application Areas: CGAL library: Add a new feature or experiment with a complex existing feature. Covering: 2D B-Spline Covering
[CORS/INFORMS2004, UMass Lowell Student Research Symposium 2004, Computers Graphics Forum, 2006] Supported under NSF/DARPA CARGO program Out T1 I S In E T2 With graduate student C. Neacsu Covering: Box Covering
[12th WSEAS Int. Conf. on Computers, 2008]
Supported under NSF/DARPA CARGO program Goal: Translate boxes to cover another box Orthotope (box) covering in 2D, 3D, ... 2D views of 3D covering Partial cover (red part uncovered) Full cover With Masters student B. England Geometric Modeling: Mesh Generation for Finite Element Modeling [Research Note for 17 Int.
th Meshing Roundtable, 2008; also presented at 2009 Fall CG Workshop] Needed for signal integrity in printed circuit board interconnect routing 2D constrained Delaunay triangulation is extruded into 3D to form triangular prism mesh Courtesy of Cadence Design Systems Doctoral student S. Ye Computational Geometry: Thrackle Extensibility [CCCG 2006] Thrackle: Drawing of a simple graph on the plane: each edge drawn as a smooth arc with distinct end-points, every two edges have exactly one common point, endpoints of each edge are two vertices; no edge crosses itself. Conway's thrackle conjecture: Number of edges for n vertices is at most n.
With graduate student W. Li and Math Prof. Rybnikov Sample Future Packing and Covering Topics Packing/Layout: 3D translational lattice packings for groups of shapes 3D containment using extensions to CGAL 3D constrained layout/packing of rectilinear objects Explore "phase transitions" for 2D translational covering Rotational 2D covering Union formulation: Covering: Target shape does not intersect complement of union of covering shapes Combinatorial union equivalence for pairwise Minkowski "difference" Regions of Minkowski "difference" that maintain coverage Useful for dynamic covering? Necessary but not sufficient condition for coverage: Target inside complement of convex hull of union Convex relaxation & linear programming? ...
View Full Document
- Spring '10
- Algorithms, Delaunay triangulation