project

22
UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 Project Project

Upload: lobo

Post on 05-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010. Project. Project Deliverables. Deliverable Due Date Grade %. Proposal & Lead Class Discussion 4/15 10% on Related Paper Status Report 4/296% - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Project

UMass Lowell Computer Science 91.504 Advanced Algorithms

Computational Geometry Prof. Karen Daniels

Spring, 2010

UMass Lowell Computer Science 91.504 Advanced Algorithms

Computational Geometry Prof. Karen Daniels

Spring, 2010

ProjectProject

Page 2: Project

Project DeliverablesProject Deliverables

Proposal & Lead Class Discussion Proposal & Lead Class Discussion 4/154/15 10%10%

on Related Paperon Related Paper

Status ReportStatus Report 4/294/29 6%6%

Final Project Report & Class PresentationFinal Project Report & Class Presentation** 5/13 5/13 19%19%

** in OS 311 in OS 311

35% of course grade35% of course grade

Deliverable Deliverable Due Date Due Date Grade %Grade %

Page 3: Project

Project Guidelines: ProposalProject Guidelines: Proposal

ObjectiveObjective: State the goal of the project: State the goal of the project State topic/research questionState topic/research question Provide motivation: why do you find this topic interesting?Provide motivation: why do you find this topic interesting? Scope it to be doable in approximately one monthScope it to be doable in approximately one month

PlanPlan: List the tasks you need to accomplish: List the tasks you need to accomplish ResourcesResources: What do you need?: What do you need?

Specialized equipment, language, OS?Specialized equipment, language, OS? Specialized software/libraries?Specialized software/libraries? Additional research papers, books?Additional research papers, books? More background in some area?More background in some area?

Assessment ChecklistAssessment Checklist: Characterize your project : Characterize your project (see next 2 (see next 2 slides)slides)

Page 4: Project

Guidelines: Proposal (continued)Guidelines: Proposal (continued)

Assessment ChecklistAssessment Checklist::

Characterize your project’s theoretical aspects:Characterize your project’s theoretical aspects:Algorithmic Paradigm DesignAlgorithmic Paradigm DesignAnalysis Technique DesignAnalysis Technique DesignAlgorithm DesignAlgorithm DesignData Structure DesignData Structure DesignAlgorithm and/or Data Structure AnalysisAlgorithm and/or Data Structure Analysis

correctnesscorrectness running time and/or spacerunning time and/or space

Observations/ConjecturesObservations/Conjectures

DifficultyDifficulty

CreativityCreativity

ClarityClarity

OrganizationOrganization

CorrectnessCorrectness

ScopeScope

ImpactImpact

Page 5: Project

Guidelines: Proposal (continued)Guidelines: Proposal (continued)

Assessment ChecklistAssessment Checklist: : Characterize your project’s implementation Characterize your project’s implementation

aspects:aspects:Reuse of existing Code/LibrariesReuse of existing Code/LibrariesNew CodeNew CodeExperimental DesignExperimental DesignTest SuitesTest SuitesDegenerate/boundary casesDegenerate/boundary casesNumerical robustnessNumerical robustness

CreativityCreativity

ClarityClarity

ImpactImpact

DifficultyDifficulty

OrganizationOrganization

CorrectnessCorrectness

ScopeScope

Page 6: Project

Guidelines: Class DiscussionGuidelines: Class Discussion

20 minutes per student20 minutes per student Briefly state your project’s topic/research questionBriefly state your project’s topic/research question Present (with slides) some interesting aspect of what Present (with slides) some interesting aspect of what

you’ve learned so far from background/related work you’ve learned so far from background/related work investigationinvestigation

Prepare several questions or observations to use as Prepare several questions or observations to use as discussion pointsdiscussion points

Lead a class discussion Lead a class discussion Provide handouts: copies of relevant paper from the Provide handouts: copies of relevant paper from the

literatureliterature Send to me prior to class (preferably several days in advance) and Send to me prior to class (preferably several days in advance) and

I will have copies madeI will have copies made

Page 7: Project

Guidelines: Final ReportGuidelines: Final Report

AbstractAbstract Introduction Introduction Theoretical ResultsTheoretical Results AlgorithmAlgorithm ImplementationImplementation Results Results Summary & ConclusionSummary & Conclusion Future Work Future Work ReferencesReferences

Well- written final submissions with research content may be eligible for Well- written final submissions with research content may be eligible for publishing as UMass Lowell CS technical reports. With some additional work publishing as UMass Lowell CS technical reports. With some additional work

(beyond class) some projects could be polished into CCCG conference (beyond class) some projects could be polished into CCCG conference submissions.submissions.

Page 8: Project

Guidelines: Final Report (continued)Guidelines: Final Report (continued)

AbstractAbstract: Concise overview (at most 1 page): Concise overview (at most 1 page) IntroductionIntroduction: :

Motivation: Why did you choose this project?Motivation: Why did you choose this project? State Topic / research questionState Topic / research question Background people need in order to understand projectBackground people need in order to understand project Related Work: Context with respect to literatureRelated Work: Context with respect to literature

Conference, journal papers, web sitesConference, journal papers, web sites Summary of Results Summary of Results Overview of paper’s organizationOverview of paper’s organization

Page 9: Project

Guidelines: Final Report (continued)Guidelines: Final Report (continued)

Theoretical Results:Theoretical Results: Clear, concise statements of definitions, lemmas, theorems and proofsClear, concise statements of definitions, lemmas, theorems and proofs Notation guidelinesNotation guidelines

AlgorithmAlgorithm:: High-level algorithm description (& example)High-level algorithm description (& example) Algorithmic paradigmAlgorithmic paradigm Data structuresData structures PseudocodePseudocode Analysis:Analysis:

CorrectnessCorrectness Solutions generated by algorithm are correctSolutions generated by algorithm are correct account for degenerate/boundary/special account for degenerate/boundary/special

casescases If a correct solution exists, algorithm finds itIf a correct solution exists, algorithm finds it Control structures (loops, recursions,...) terminate correctly Control structures (loops, recursions,...) terminate correctly

Asymptotic Running Time and Space UsageAsymptotic Running Time and Space Usage

Page 10: Project

Guidelines: Final Report (continued)Guidelines: Final Report (continued)

Experimental Design & ImplementationExperimental Design & Implementation:: Enough of the right kind of information to allow other researchers to duplicate Enough of the right kind of information to allow other researchers to duplicate

your workyour work Resources & environment: Resources & environment:

What language did you code in?What language did you code in? What existing code did you use? (What existing code did you use? (software libraries, etcsoftware libraries, etc.).) What equipment did you use? (What equipment did you use? (machine (& processor speed), OS, compiler)machine (& processor speed), OS, compiler)

AssumptionsAssumptions Parameter valuesParameter values Treatment of special issues, such as numerical robustnessTreatment of special issues, such as numerical robustness How did you decide what kinds of measurements would be meaningful?How did you decide what kinds of measurements would be meaningful? Randomness: statistical significanceRandomness: statistical significance Test casesTest cases

Representative examplesRepresentative examples Controlled tests to establish correctnessControlled tests to establish correctness Boundary/extreme casesBoundary/extreme cases Benchmarks, if availableBenchmarks, if available

Page 11: Project

Guidelines: Final Report (continued)Guidelines: Final Report (continued)

ResultsResults:: Experimental analysisExperimental analysis

Randomness: statistical analysisRandomness: statistical analysis Test casesTest cases

TablesTables FiguresFigures Graphs and ChartsGraphs and Charts Comparison with benchmarksComparison with benchmarks

Meaningful measurements:Meaningful measurements: CPU time?CPU time? Combinatorial size of output?Combinatorial size of output?

Effect of decisions on issues, such as numerical robustnessEffect of decisions on issues, such as numerical robustness Drawing appropriate conclusionsDrawing appropriate conclusions

Subjective?Subjective? Objective?Objective?

Were the results what you expected?Were the results what you expected?

Page 12: Project

Guidelines: Final Report (continued)Guidelines: Final Report (continued)

SummarySummary: : Summarize what you didSummarize what you did

ConclusionConclusion:: Summarize results & impactSummarize results & impact

Future WorkFuture Work:: What would you do if you had more time?What would you do if you had more time?

ReferencesReferences: Bibliography : Bibliography Papers, books, web sites that you usedPapers, books, web sites that you used Consistent formatConsistent format All work not your own must be cited!All work not your own must be cited! Others’ exact words must be quoted!Others’ exact words must be quoted!

Page 13: Project

Guidelines: Final PresentationGuidelines: Final Presentation

20 minute class presentation20 minute class presentation Explain to the class what you did.Explain to the class what you did. Structure it any way you like. Structure it any way you like. Some ideas: Some ideas:

slides slides (electronic or transparency)(electronic or transparency)

demosdemos handouts handouts

Page 14: Project

Project TopicsProject Topics

Page 15: Project

Sample Prior Project TopicsSample Prior Project Topics

Multiple robotic arm reachability implementationMultiple robotic arm reachability implementation Coreset algorithm implementation for approximate clusteringCoreset algorithm implementation for approximate clustering Geometric modeling implementation: Marching CubesGeometric modeling implementation: Marching Cubes 2D polygonal covering implementation:2D polygonal covering implementation:

Constrained triangulation for improved subdivisionConstrained triangulation for improved subdivision Recursive algorithm for 2-contact group generationRecursive algorithm for 2-contact group generation Orthotopes in 2D and higher dimensionsOrthotopes in 2D and higher dimensions

Algorithms for approximate 3D convex hull constructionAlgorithms for approximate 3D convex hull construction Parallel coordinates for high-dimensional visualizationParallel coordinates for high-dimensional visualization Thrackle reduction theoretical resultsThrackle reduction theoretical results Splines: convex hull of planar splinesSplines: convex hull of planar splines Creating skeletons for complex Chinese characters using stable medial Creating skeletons for complex Chinese characters using stable medial

axis methodaxis method New “glow clustering” heuristic inspired by physics of light and New “glow clustering” heuristic inspired by physics of light and

images of spiral galaxiesimages of spiral galaxies Real-time map labelling for mobile applicationsReal-time map labelling for mobile applications Motion planning through a set of static obstaclesMotion planning through a set of static obstacles Implementation of a convex polygon intersection algorithmImplementation of a convex polygon intersection algorithm

Page 16: Project

Project Topics (some possibilities)Project Topics (some possibilities)

Extend a Part I assignment Extend a Part I assignment (or a deBerg (or a deBerg et alet al. exercise). exercise)

Work on a problem from an “open problems” listWork on a problem from an “open problems” list Open Problem Project (O’Rourke, Demaine, Mitchell)Open Problem Project (O’Rourke, Demaine, Mitchell)

http://maven.smith.edu/~orourke/TOPP/

Many conference, journal papers pose open problemsMany conference, journal papers pose open problems Symposium on Computational GeometrySymposium on Computational Geometry Computational Geometry: Theory and ApplicationsComputational Geometry: Theory and Applications Journal of Experimental AlgorithmicsJournal of Experimental Algorithmics Algorithm Engineering and ExperimentsAlgorithm Engineering and Experiments

Some conferences hold open problem sessionsSome conferences hold open problem sessions Canadian Conference on Computational GeometryCanadian Conference on Computational Geometry

Page 17: Project

Project Topics (some possibilities)Project Topics (some possibilities)

Investigate a topic not covered in classInvestigate a topic not covered in class ““Parallel” Computational Geometry (or multiple threads)Parallel” Computational Geometry (or multiple threads)

Reference: Reference: Parallel Computational GeometryParallel Computational Geometry by Akl, Lyons, 1993 by Akl, Lyons, 1993 Parallel 3D meshingParallel 3D meshing

Randomized Computational Geometry algorithmsRandomized Computational Geometry algorithms Reference: Reference: Computational Geometry: An Introduction Through Randomized Computational Geometry: An Introduction Through Randomized

AlgorithmsAlgorithms by Mulmuley, 1994 by Mulmuley, 1994 Dynamic Computational GeometryDynamic Computational Geometry

Reference: Reference: Kinetic Data Structures: A State-of-the-Art ReportKinetic Data Structures: A State-of-the-Art Report by Guibas, Proc. by Guibas, Proc. 33rdrd Workshop on Algorithmic Foundations of Robotics, 1998 Workshop on Algorithmic Foundations of Robotics, 1998

Specialized Computational Geometry Application Areas:Specialized Computational Geometry Application Areas: Nanomanufacturing: Lattice packingsNanomanufacturing: Lattice packings Video Games: GraphicsVideo Games: Graphics

CGAL library: Add a new feature or experiment with a complex existing CGAL library: Add a new feature or experiment with a complex existing feature.feature.

Page 18: Project

Covering: 2D B-Spline Covering [CORS/INFORMS2004, UMass Lowell Student Research Symposium 2004, Computers Graphics Forum, 2006]

Covering: 2D B-Spline Covering [CORS/INFORMS2004, UMass Lowell Student Research Symposium 2004, Computers Graphics Forum, 2006]

With graduate student C. NeacsuWith graduate student C. Neacsu

Supported under NSF/DARPA CARGO programSupported under NSF/DARPA CARGO program

S

E T1

T2

Out

In

I

Page 19: Project

Covering: Box Covering[12th WSEAS Int. Conf. on Computers, 2008]

Covering: Box Covering[12th WSEAS Int. Conf. on Computers, 2008]

GoalGoal: Translate boxes to cover another box: Translate boxes to cover another box Orthotope (box) covering in 2D, 3D, …Orthotope (box) covering in 2D, 3D, …

With Masters student B. EnglandWith Masters student B. England

Partial cover (red part uncovered)Partial cover (red part uncovered) Full coverFull cover

2D views 2D views of 3D of 3D coveringcovering

Supported under NSF/DARPA CARGO programSupported under NSF/DARPA CARGO program

Page 20: Project

Geometric Modeling: Mesh Generation for Finite Element Modeling [Research Note for 17th Int.

Meshing Roundtable, 2008; also presented at 2009 Fall CG Workshop]

Geometric Modeling: Mesh Generation for Finite Element Modeling [Research Note for 17th Int.

Meshing Roundtable, 2008; also presented at 2009 Fall CG Workshop]

Doctoral student S. YeDoctoral student S. Ye

Needed for signal integrity in printed circuit board interconnect Needed for signal integrity in printed circuit board interconnect routingrouting

2D constrained Delaunay triangulation is extruded into 3D to 2D constrained Delaunay triangulation is extruded into 3D to form triangular prism meshform triangular prism mesh

Courtesy of Cadence Design SystemsCourtesy of Cadence Design Systems

Page 21: Project

Computational Geometry: Thrackle Extensibility [CCCG 2006]

Computational Geometry: Thrackle Extensibility [CCCG 2006]

Thrackle:Thrackle: Drawing of a simple graph on the Drawing of a simple graph on the

plane:plane: each edge drawn as a smooth arc with each edge drawn as a smooth arc with

distinct end-points,distinct end-points, every two edges have exactly one every two edges have exactly one

common point,common point, endpoints of each edge are two vertices;endpoints of each edge are two vertices; no edge crosses itself.no edge crosses itself.

Conway’s thrackle conjecture:Conway’s thrackle conjecture: Number of edges for Number of edges for nn vertices is at vertices is at

most most n.n.

With graduate student W. Li and Math Prof. RybnikovWith graduate student W. Li and Math Prof. Rybnikov

Page 22: Project

Sample Future Packing and Covering TopicsSample Future Packing and Covering Topics

Packing/Layout:Packing/Layout: 3D translational lattice packings for groups of shapes3D translational lattice packings for groups of shapes 3D containment using extensions to CGAL3D containment using extensions to CGAL 3D constrained layout/packing of rectilinear objects3D constrained layout/packing of rectilinear objects

Covering:Covering: Explore “phase transitions” for 2D translational coveringExplore “phase transitions” for 2D translational covering Rotational 2D coveringRotational 2D covering Union formulation:Union formulation:

Target shape does not intersect complement of union of covering shapesTarget shape does not intersect complement of union of covering shapes Combinatorial union equivalence for pairwise Minkowski “difference”Combinatorial union equivalence for pairwise Minkowski “difference” Regions of Minkowski “difference” that maintain coverageRegions of Minkowski “difference” that maintain coverage

Useful for dynamic covering?Useful for dynamic covering? Convex relaxation & linear programming?Convex relaxation & linear programming?

Necessary but not sufficient condition for coverage:Necessary but not sufficient condition for coverage: Target inside complement of convex hull of unionTarget inside complement of convex hull of union