1 / 69

The outside world in 1973

The outside world in 1973. Cold war active Watergate scandal would lead to Nixon resignation Trans-Atlantic communication was largely by letters with stamps No Euros PCs Cellphones Email Color monitors. The CS world in 1973. No internet (ARPANET with 37 nodes) Little word processing

lis
Télécharger la présentation

The outside world in 1973

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The outside world in 1973 • Cold war active • Watergate scandal would lead to Nixon resignation • Trans-Atlantic communication was largely by letters with stamps • No • Euros • PCs • Cellphones • Email • Color monitors

  2. The CS world in 1973 • No internet (ARPANET with 37 nodes) • Little word processing • I hired a typist for my dissertation • First Computational Geometry papers were typed by a professional typist onto camera ready model paper. • Xerox, not print • A few CS departments had been around for as long as 10 years • Faculty had PhDs in math, EE, applied math; occasionally computer science • Fast computer was the PDP-10 • 1 MB of RAM • 380 Kips • $150K for the CPU • Department would have 1 for all to share • Connections via 24x80 ascii terminals (black and white) • Was the machine where Bill Gates learned to program

  3. The theory world in 1973 • SWAT (Switching and Automata Theory) started in 1960 • FOCS from 1975 • STOC started in 1969 • ICALP started in 1972 • SIAM J Computing started in 1972 • Occasional workshops or small conferences • Significant interaction with the numerical analysis community • Algorithms at STOC/FOCS; formal languages/semantics at ICALP • No parallel sessions (typically 25-30 papers) • Small program committees (8-10 members) • The founders of these conferences were still their leaders

  4. Significant publications in 1973 • Knuth’s books • Fundamental algorithms (volume 1) 1968 • Data structures • Seminumerical algorithms (volume 2) 1971 • Arithmetic complexity • Sorting and searching (volume 3) 1973 • Some combinatorial algorithms • 1972 conference at IBM (Thatcher and Miller eds.) • Various geometric algorithms • Chand and Kapur gift wrapping 1970 JACM • Graham convex hull in 2d 1972 IPL • Forrest computational geometry Proc Royal Soc London 1971 • Hopcroft and Tarjan – graph isomorphism leading to planarity testing

  5. Complexity of Computer Computations • Pivotal Symposium at IBM 1972 • Table of contents summarized • Numerical Computations • Matrix Multiplication, polynomial evaluation, root finding, … • Combinatorial Computations • NP-completeness (original Karp paper) • Planar graph isomorphism (Hopcroft-Tarjan building on planarity testing work) • Panel discussion • Is there an emerging unity in this field? • Are real computations improved as a result of studies in this field? • What should the field be called? • Computational complexity (had been taken) • Theory of Algorithms • Concrete computational complexity

  6. My Background in 1973 • Grad student at Harvard • Optimal control theory  applied math  theoretical computer science (sort of) • Thesis topic – lower bounds for matrix multiplication • Arithmetic complexity • Applied linear algebra • Computer science courses • Automata theory • Formal language theory • Numerical analysis • A half course in FORTRAN

  7. My first publications • STOC 1973 “On the optimal evaluation of a set of bilinear forms” • Was sufficient to get me a job • FOCS 1973 “On the optimal evaluation of a set of N-linear forms” • Presented when I was already at my job • Occasional presentations at workshops • Traub workshop at CMU on complexity and parallelism.

  8. Yale in 1973 • Computer science department started in 1969 • Hired 3 new assistant professors in 1973 • Dpd • Dick Lipton • Larry Snyder • Also, Stan Eisenstat had been hired a year or two earlier • Graduate students • Had just graduated their first PhDs. • 2nd year class was strong • 1st year class was non-existent • Was a wonderful intellectual environment

  9. Looking at algorithms • Aho, Hopcroft and Ullman book came out in 1974 • Knuth volume 2 (arithmetic), volume 3 (sorting and searching) were not textbooks but encyclopedias • The literature was limited • The population was small • All of theoretical computer science had fewer people than computational geometry did 15 years ago.

  10. On Some Generalizations of Binary Search • Dobkin-Lipton STOC 1974 • Arose from discussions of NP-completeness • Finding if points were on hyperplanes • Generalizations to enumeration methods for solving NP-complete problems. • Used a crude form of visualization • Led to discussions of the post office problem which was in Knuth V3. • Used preprocessing but barely mentioned preprocessing • Never mentions cost in time or space of preprocessing

  11. Main results

  12. Meanwhile • Mike Shamos begins to catalog problems • All geometric calculations in the plane • Many having an OR flavor • Basic structures • Characterizing point sets • Nearest neighbors • Farthest pair • Convex hull • Characterizing polygons • Convex hull • Convex kernels • intersections • Creating circles • Largest empty circle • Smallest empty circle • Shamos circulated copies of his problem book • Shamos and Hoey set about to solve many of the problems • First step towards creating the field

  13. Spring 1975 • Geometric Complexity by Shamos at STOC • On the Complexity of Computations under Varying Sets of Primitives by Lipton and Dobkin

  14. Geometric Complexity • Solved many of the previously stated problems • Separability of planar point sets • Diameter of a set of point sin the plane • Point in convex polygon • Intersection of convex polygons • Kernel of a convex polygon • Mentioned Voronoi diagram

  15. On the Complexity of Computations under Varying Sets of Primitives • First of a series of papers to discuss lower bounds • Linear search trees require log n time to differentiate among n convex regions • Solving the knapsack problem in a linear search tree requires at least O(n2) queries • Element uniqueness requires at least O(n log n) queries. • Given {x1,…,xn} determining if there exist j,k such that xj+xk = 1 requires O(n log n) time.

  16. State of the CG world in 1976 • Voronoi diagram and Delaunay triangulation existed • Lower bound methods based on search trees existed • Algorithms for all but the most basic problems were complex or non-existent. • CG had established itself as existing in the STOC/FOCS world though the number of papers being submitted and/or accepted was small.

  17. CG had established itself as existing in the STOC/FOCS world • Might it have been different? • Numerical analysis world • The algorithms had a numeric flavor and could easily have fit into ongoing work relating sparse matrix computations to graph algorithms • Solid modeling world • Robin Forrest had already used the phrase computational geometry • The Office of Naval Research (through their numerical analysis office) had started to fund computational geometry and encouraged us to work with Robin. • Computer graphics world • Warnock (1969) and Watkins (1970) had produced hidden surface algorithms with computational geometry flavors. • Computer vision world • Bruce Baumgart (1975) had introduced the winged edge data structure • Discrete geometry world • Goodman and Pollack were beginning work here

  18. Why did Computational Geometry survive? • Arithmetic complexity came in the 1960’s and lasted about a decade • Initial buzz was the same as CG • Problem domain seemed (at first) to be as robust • Differences • Everyone likes geometry • Shamos problem collection laid out a number of easy to state, often hard to solve problems • There were applications in the background • There were foundational questions here that spurred work

  19. What else was being published and where? • Papers in 1975 relating to • Image Processing • Graphics • Solid Modeling • Combinatorial Geometry • Bentley et al wrote a sequence of papers on nearest neighbor searching • Fixed radius • Varying metric • K-D trees • None of these (except for solid modeling which owned the title) thought of themselves as computational geometry

  20. But, community began to grow • Lee and Preparata (1976 STOC) on planar point location • Improved O(log n) with quadratic preprocessing to O((log n)2) with O(n log n) preprocessing time and linear space. • Bentley-Ottmann paper on sweep lines built on work in Shamos Hoey • Lipton-Tarjan planar separator theorem • Goodman and Pollack on geometric sorting

  21. CG beyond the STOC/FOCS world • Numerical analysis world • Implementations required libraries and studies of round off error • LEDA to CGAL • Precise calculations • Solid modeling world • Problems at the interface created excitement • Computer graphics world • Joe O’Rourke worked with SIGACT and SIGGRAPH to create SoCG 1 in Baltimore in 1985 • Computer vision world • Discrete geometry world • Ron Graham brought Goodman and Pollack into computational geometry world. • Sessions at AMS meetings • Textbook • Shamos had left the field (for law school!) but Ron Graham brought Mike and Franco Preparata together to work Mike’s thesis into a book which went was wildly popular.

  22. From 1978 to the present • Tracing one set of ideas • Planar subdivision searching • Polyhedral intersection • Initial theoretical questions • Connections, solutions and refinements • Extensions to other fields

  23. Planar subdivision searching • Lipton-Tarjan (1978) came up with an algorithm which showed in theory that optimality was possible • O(n log n) preprocessing • O(n) storage • O(log n) search time • Kirkpatrick (1983) refined this to a practical algorithm that met these bounds

  24. Planar subdivision

  25. Find independent set of vertices

  26. Color them

  27. Remove vertex with context and record color

  28. Remove vertex with context and record color

  29. Remove vertex with context and record color

  30. Remove vertex with context and record color

  31. Retriangulate the holes keeping colors

  32. Label triangles

  33. Result • Result is a hierarchy of planar subdivisions • All fully triangulated • Each one a fraction of the size of the one above • So, logarthmic number of levels • Technical detail • Only remove vertices of low (say less than 12) degree • So, local search can be done in constant time

  34. Point location • Locate at the base – determine color of triangle • If original triangle – done • Else – • Grow the local region up one level (based on color) • Determine color of triangle • Logarithmic number of levels • Constant cost per level

  35. Polyhderal intersection • Start with 2 convex polygons • Intersection can be computed in linear time and this is optimal since output may be linear in size (Shamos 1975) • Algorithm traces about both polygons to do a merge (of what are essentially sorted lists of vertices) • If we only want a YES (here is a point of the intersection) or NO (here is a separating line) answer, this can be done in O(log n) time after linear preprocessing (separately for each polygon) (Chazelle and DPD 1980). • Reduce the possible intersections to a quadrilateral (in which might lie many edges of each polygon) and do a logarithmic merge

  36. But … • The hierarchical approach to planar subdivision also works for convex polyhedra • A polyhedron is just a 2-manifold • Steinitz’s Theorem • A graph G is the edge graph of a polyhedron iff G is a simple planar graph which is 3-connected. • Have to deal with the infinite face • Have to patch holes

  37. Simple applications • Can test whether a point lies in a convex polyhedron in O(log n) time after linear preprocessing (if adjacencies to vertices are given in sorted order) • Dually can test whether a plane intersects a convex polyhedron

  38. Next step • Can we apply hierarchies to polygons/polyhedra to make intersection detection easier? • First approach – use shadows • A polygon is the intersection of 2 open semi-infinite polygons • P = PL PR ; Q = QL QR • Similarly deconstruct a polyhedron into drums (2.5 dimensional structures) and iterate on drums

  39. Ultimately… • Use the full hierarchy to find separation and grow across separation at each iteration.

  40. At each step, we maintain a closest pair, r and s here. At each iteration we update this pair

  41. Once the algorithm is clear • Implement it • Visualize it (w/ Tal) • Extend it • To non-linear faces (w/ Souvaine) • To penetration depth (w/Hershberger, Kirkpatrick, Suri) • To non-convex polyhedra (Meshes) (w/ Lee, Schroeder, Sweldems, Cowsar) • To applications

  42. Visualization of the hierarchy

  43. Visualization of the intersection algorithm

  44. Extension to arbitrary meshes • Lee, Schroeder, Sweldems, Cowsar, DPD, SIGGRAPH 98 • Used for mesh simplification • Can preserve features • Can often operate on base domain • Simplify fine to coarse • Operate on coarse • Translate to fine • Can reparameterize a mesh in more uniform fashion

  45. Mesh Simplification • Build hierarchy independent set removal retriangulation

More Related