SlideShare a Scribd company logo
1 of 100
Download to read offline
Beating the Spread:
Time-Optimal Point Meshing
               Don Sheehy
              Carnegie Mellon
                   (soon: INRIA)


   with Gary Miller and Todd Phillips at CMU
Meshing Points                                   2
   Input: P ⊂ Rd
   Output: M ⊃ P with a “nice” Voronoi diagram
   n = |P |, m = |M |
Meshing Points                                   2
   Input: P ⊂ Rd
   Output: M ⊃ P with a “nice” Voronoi diagram
   n = |P |, m = |M |
Quality Meshes have cells with bounded   3
aspect ratio.




aspect ratio =   R ≤τ
                 r
Quality Meshes have cells with bounded   3
aspect ratio.




aspect ratio =   R ≤τ
                 r
Quality Meshes have cells with bounded   3
aspect ratio.




aspect ratio =   R ≤τ
                 r
Quality Meshes have cells with bounded   3
aspect ratio.




aspect ratio =   R ≤τ
                 r

       τ ≥2+ε
Prior Work   4
Prior Work              4
 Delaunay Refinement:
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)

 Quadtree Methods:
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)

 Quadtree Methods:
 Bern - Eppstein - Gilbert ’94......................QT meshing
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)

 Quadtree Methods:
 Bern - Eppstein - Gilbert ’94......................QT meshing
 Bern - Eppstein - Teng ‘99.....................QTs in Parallel
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)

 Quadtree Methods:
 Bern - Eppstein - Gilbert ’94......................QT meshing
 Bern - Eppstein - Teng ‘99.....................QTs in Parallel

 Hybrid Methods:
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)

 Quadtree Methods:
 Bern - Eppstein - Gilbert ’94......................QT meshing
 Bern - Eppstein - Teng ‘99.....................QTs in Parallel

 Hybrid Methods:
 Har-Peled - Ungor ‘05...................O(n log n + m) in 2D
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)

 Quadtree Methods:
 Bern - Eppstein - Gilbert ’94......................QT meshing
 Bern - Eppstein - Teng ‘99.....................QTs in Parallel

 Hybrid Methods:
 Har-Peled - Ungor ‘05...................O(n log n + m) in 2D
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)

 Quadtree Methods:
 Bern - Eppstein - Gilbert ’94......................QT meshing
 Bern - Eppstein - Teng ‘99.....................QTs in Parallel

 Hybrid Methods:
 Har-Peled - Ungor ‘05...................O(n log n + m) in 2D


  Many Others
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)

 Quadtree Methods:
 Bern - Eppstein - Gilbert ’94......................QT meshing
 Bern - Eppstein - Teng ‘99.....................QTs in Parallel

 Hybrid Methods:
 Har-Peled - Ungor ‘05...................O(n log n + m) in 2D


  Many Others                                                     Our Result
                                                        O(n log n + m)
                                                   for point sets in d dimensions
Prior Work                                                                           4
 Delaunay Refinement:
 Chew ‘89.......................................................................2D
 Ruppert ’95...........................................Optimality in 2D
 Shewchuck ‘98..........................................Ruppert in 3D
 Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)

 Quadtree Methods:
 Bern - Eppstein - Gilbert ’94......................QT meshing
 Bern - Eppstein - Teng ‘99.....................QTs in Parallel

 Hybrid Methods:
 Har-Peled - Ungor ‘05...................O(n log n + m) in 2D


  Many Others                                                     Our Result
                                                        O(n log n + m)
                                                   for point sets in d dimensions

                                             Hides dimension terms
Beating the spread.   5
Beating the spread.                                           5
                                   P
  Let s = |x − y| where (x, y) ∈   2   is the closest pair.
Beating the spread.                                           5
                                   P
  Let s = |x − y| where (x, y) ∈   2   is the closest pair.
                                          diameter(P )
   The spread of P is the ratio ∆ =            s       .
Beating the spread.                                           5
                                   P
  Let s = |x − y| where (x, y) ∈   2   is the closest pair.
                                          diameter(P )
   The spread of P is the ratio ∆ =            s       .


                O(n log ∆ + m)
Beating the spread.                                           5
                                   P
  Let s = |x − y| where (x, y) ∈   2   is the closest pair.
                                          diameter(P )
   The spread of P is the ratio ∆ =            s       .


                O(n log ∆ + m)
                  Point location
Beating the spread.                                           5
                                   P
  Let s = |x − y| where (x, y) ∈   2   is the closest pair.
                                          diameter(P )
   The spread of P is the ratio ∆ =            s       .


                O(n log ∆ + m)
                  Point location           Output sensitive
Beating the spread.                                           5
                                   P
  Let s = |x − y| where (x, y) ∈   2   is the closest pair.
                                          diameter(P )
   The spread of P is the ratio ∆ =            s       .


                O(n log ∆ + m)
                  Point location           Output sensitive


     For some point sets,   m = Ω(n log ∆)
Complexity: How big is the mesh?   6

                      1
        m=
              Ω   lfsP (x)d
Complexity: How big is the mesh?   6
    How many Steiner Points?


                        1
         m=
                Ω   lfsP (x)d
Complexity: How big is the mesh?                             6
    How many Steiner Points?


                        1
         m=
                Ω   lfsP (x)d

         m = O(n) as long as there are no big empty annuli
         with 2 or more points inside [MPS08].
Complexity: How big is the mesh?                             6
    How many Steiner Points?


                        1
         m=
                Ω   lfsP (x)d

         m = O(n) as long as there are no big empty annuli
         with 2 or more points inside [MPS08].

    How many simplices?
Complexity: How big is the mesh?                             6
    How many Steiner Points?


                        1
         m=
                Ω   lfsP (x)d

         m = O(n) as long as there are no big empty annuli
         with 2 or more points inside [MPS08].

    How many simplices?


         Only O(m) simplices.
                       d/2
         Compare to m       for general Delaunay triangulations.
         Constants depend on aspect ratio.
Complexity: How hard is it to compute a mesh?   7
Complexity: How hard is it to compute a mesh?   7
           O(n log n + m)
Complexity: How hard is it to compute a mesh?   7
           O(n log n + m)
           Point Location
Complexity: How hard is it to compute a mesh?   7
           O(n log n + m)
           Point Location    Output Sensitive
Complexity: How hard is it to compute a mesh?          7
           O(n log n + m)
           Point Location           Output Sensitive

          This is optimal in the comparison model.
Complexity: How hard is it to compute a mesh?          7
           O(n log n + m)
           Point Location           Output Sensitive

          This is optimal in the comparison model.



      O(n log n)
Complexity: How hard is it to compute a mesh?              7
               O(n log n + m)
                Point Location          Output Sensitive

              This is optimal in the comparison model.



         O(n log n)
Compute a hierarchical quality mesh.
Complexity: How hard is it to compute a mesh?              7
               O(n log n + m)
                Point Location          Output Sensitive

              This is optimal in the comparison model.



         O(n log n)
Compute a hierarchical quality mesh.

 Key fact: Size is O(n)
Complexity: How hard is it to compute a mesh?              7
               O(n log n + m)
                Point Location          Output Sensitive

              This is optimal in the comparison model.



         O(n log n) + O(m)
Compute a hierarchical quality mesh.

 Key fact: Size is O(n)
Complexity: How hard is it to compute a mesh?                     7
               O(n log n + m)
                Point Location          Output Sensitive

              This is optimal in the comparison model.



         O(n log n) + O(m)
Compute a hierarchical quality mesh.    Finishing post-process.
                                                (easy)
 Key fact: Size is O(n)
The Delaunay Triangulation is the dual   8
of the Voronoi Diagram.




      D-ball
Quality Meshes have several   9
nice properties.
Quality Meshes have several        9
nice properties.


Delaunay balls have constant ply
Quality Meshes have several        9
nice properties.


Delaunay balls have constant ply

Total number of faces is O(m)
Quality Meshes have several                                9
nice properties.


Delaunay balls have constant ply

Total number of faces is O(m)

Intersection graph of Delaunay balls has constant degree
Quality Meshes have several                                9
nice properties.


Delaunay balls have constant ply

Total number of faces is O(m)

Intersection graph of Delaunay balls has constant degree

Insertions only take constant time
Quality Meshes have several                                9
nice properties.


Delaunay balls have constant ply

Total number of faces is O(m)

Intersection graph of Delaunay balls has constant degree

Insertions only take constant time

Voronoi Refinement: If some cell is skinny,
add a Steiner point at its farthest vertex.
We replace quality with hierarchical quality.   10
We replace quality with hierarchical quality.   10
We replace quality with hierarchical quality.   10
We replace quality with hierarchical quality.   10
We replace quality with hierarchical quality.   10




Inside the cage: Old definition of quality.
We replace quality with hierarchical quality.       10




Inside the cage: Old definition of quality.
Outside: Treat the whole cage as a single object.
We replace quality with hierarchical quality.                    10




Inside the cage: Old definition of quality.
Outside: Treat the whole cage as a single object.

Has the same important properties as quality meshes: ply, degree,...
The sparse meshing model:   11
The sparse meshing model:                          11

      1   Build a Voronoi diagram incrementally.
The sparse meshing model:                                  11

      1   Build a Voronoi diagram incrementally.
      2   Interleave input and Steiner point insertions.
The sparse meshing model:                                  11

      1   Build a Voronoi diagram incrementally.
      2   Interleave input and Steiner point insertions.
      3   Recover quality after each input point.
The sparse meshing model:                                  11
     This is how we avoid the worst-case Voronoi bounds.

      1   Build a Voronoi diagram incrementally.
      2   Interleave input and Steiner point insertions.
      3   Recover quality after each input point.
The sparse meshing model:
The New Algorithm                                          11

      1   Build a Voronoi diagram incrementally.
      2   Interleave input and Steiner point insertions.
      3   Recover quality after each input point.
The sparse meshing model:
The New Algorithm                                          11

      1   Build a Voronoi diagram incrementally.
      2   Interleave input and Steiner point insertions.
      3   Recover quality after each input point.

            hierarchical quality
The sparse meshing model:
The New Algorithm                                          11

      1   Build a Voronoi diagram incrementally.
      2   Interleave input and Steiner point insertions.
      3   Recover quality after each input point.

            hierarchical quality

      4 Store uninserted input points in the D-Balls.
The sparse meshing model:
The New Algorithm                                          11

      1   Build a Voronoi diagram incrementally.
      2   Interleave input and Steiner point insertions.
      3   Recover quality after each input point.

            hierarchical quality

      4 Store uninserted input points in the D-Balls.
      5 Order the input points using range space nets.
Point Location in the D-Balls.                           12
     Idea: Store the uninserted points in the D-balls.
           When the balls change, make local updates.
Point Location in the D-Balls.                           12
     Idea: Store the uninserted points in the D-balls.
           When the balls change, make local updates.
Point Location in the D-Balls.                           12
     Idea: Store the uninserted points in the D-balls.
           When the balls change, make local updates.
Point Location in the D-Balls.                           12
     Idea: Store the uninserted points in the D-balls.
           When the balls change, make local updates.
Point Location in the D-Balls.                           12
     Idea: Store the uninserted points in the D-balls.
           When the balls change, make local updates.




                 It’s a history DAG!
Range Nets   13
Range Nets                                       13
    Definition. A range space is a pair (X, R),
    where X is a set (the vertices) and R is a
    collection of subsets (the ranges).
Range Nets                                            13
    Definition. A range space is a pair (X, R),
    where X is a set (the vertices) and R is a
    collection of subsets (the ranges).

       For us X = P and R is the set of open balls.
Range Nets                                            13
    Definition. A range space is a pair (X, R),
    where X is a set (the vertices) and R is a
    collection of subsets (the ranges).

       For us X = P and R is the set of open balls.


    Definition. Given a range space (X, R),
    a set N ⊂ X is a range space ε-net if
    for all ranges r ∈ R that contain at least
    ε|X| vertices, r contains a vertex from N .
Range Nets                                                          13
    Definition. A range space is a pair (X, R),
    where X is a set (the vertices) and R is a
    collection of subsets (the ranges).

         For us X = P and R is the set of open balls.


     Definition. Given a range space (X, R),
     a set N ⊂ X is a range space ε-net if
     for all ranges r ∈ R that contain at least
     ε|X| vertices, r contains a vertex from N .


  Theorem: [Chazelle & Matousek 96] For ε, d fixed constants,
  ε-nets of size O(1) can be computed in O(n) deterministic time.
Ordering the inputs
                               1
                                                                14
    For each D-Ball, select a 2d
                                 -net
                                   of the points it contains.
    Take the union of these nets and call it a round.
    Insert these.
    Repeat.
Ordering the inputs
                               1
                                                                14
    For each D-Ball, select a 2d
                                 -net
                                   of the points it contains.
    Take the union of these nets and call it a round.
    Insert these.
    Repeat.
Ordering the inputs
                               1
                                                                14
    For each D-Ball, select a 2d
                                 -net
                                   of the points it contains.
    Take the union of these nets and call it a round.
    Insert these.
    Repeat.
Ordering the inputs
                               1
                                                                14
    For each D-Ball, select a 2d
                                 -net
                                   of the points it contains.
    Take the union of these nets and call it a round.
    Insert these.
    Repeat.
Ordering the inputs
                               1
                                                                14
    For each D-Ball, select a 2d
                                 -net
                                   of the points it contains.
    Take the union of these nets and call it a round.
    Insert these.
    Repeat.
Ordering the inputs
                               1
                                                                14
    For each D-Ball, select a 2d
                                 -net
                                   of the points it contains.
    Take the union of these nets and call it a round.
    Insert these.
    Repeat.




     Lemma. Let M be a set of vertices. If an open ball B
     contains no points of M , then B is contained in the
     union of d D-balls of M .
Ordering the inputs
                               1
                                                                 14
    For each D-Ball, select a 2d
                                 -net
                                   of the points it contains.
    Take the union of these nets and call it a round.
    Insert these.
    Repeat.
                                                  max |B ∩ P |
                                                D-balls B
                                                Goes down by a factor
                                                of 2 each round.




     Lemma. Let M be a set of vertices. If an open ball B
     contains no points of M , then B is contained in the
     union of d D-balls of M .
Ordering the inputs
                               1
                                                                 14
    For each D-Ball, select a 2d
                                 -net
                                   of the points it contains.
    Take the union of these nets and call it a round.
    Insert these.
    Repeat.
                                                  max |B ∩ P |
                                                D-balls B
                                                Goes down by a factor
                                                of 2 each round.


                                                 => log(n) Rounds


     Lemma. Let M be a set of vertices. If an open ball B
     contains no points of M , then B is contained in the
     union of d D-balls of M .
Ordering the inputs
                               1
                                                                 14
    For each D-Ball, select a 2d
                                 -net
                                   of the points it contains.
    Take the union of these nets and call it a round.
    Insert these.
    Repeat.
                                                  max |B ∩ P |
                                                D-balls B
                                                Goes down by a factor
                                                of 2 each round.


                                                 => log(n) Rounds


     Lemma. Let M be a set of vertices. If an open ball B
     contains no points of M , then B is contained in the
     union of d D-balls of M .

   Note: After k = log 1 rounds, the intermediate mesh is a
   weak -net for the range space of Euclidean balls.
   Size: O 1 , Time: O(nk) = O(n log 1 ).
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
                  Claim: x only gets touched O(1) times per round.
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
                  Claim: x only gets touched O(1) times per round.




    x
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
                  Claim: x only gets touched O(1) times per round.




    x
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
              y   Claim: x only gets touched O(1) times per round.




    x
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
              y   Claim: x only gets touched O(1) times per round.




    x
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
              y   Claim: x only gets touched O(1) times per round.
                     y touches x => y is “close” to x
                     close = 2 hops among D-balls

    x
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
              y   Claim: x only gets touched O(1) times per round.
                     y touches x => y is “close” to x
                     close = 2 hops among D-balls

    x
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
              y   Claim: x only gets touched O(1) times per round.
                     y touches x => y is “close” to x
                     close = 2 hops among D-balls

    x                Only O(1) D-balls are within 2 hops.
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
              y   Claim: x only gets touched O(1) times per round.
                     y touches x => y is “close” to x
                     close = 2 hops among D-balls

    x                Only O(1) D-balls are within 2 hops.




                                         x
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
              y   Claim: x only gets touched O(1) times per round.
                     y touches x => y is “close” to x
                     close = 2 hops among D-balls

    x                Only O(1) D-balls are within 2 hops.




                                         x
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                             15
log n rounds x O(n) time/round = O(n log n)
                  Watch an uninserted point x.
              y   Claim: x only gets touched O(1) times per round.
                     y touches x => y is “close” to x
                     close = 2 hops among D-balls

    x                Only O(1) D-balls are within 2 hops.




                                         x
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                                15
log n rounds x O(n) time/round = O(n log n)
                     Watch an uninserted point x.
                 y   Claim: x only gets touched O(1) times per round.
                        y touches x => y is “close” to x
                        close = 2 hops among D-balls

    x                   Only O(1) D-balls are within 2 hops.




  Only O(1) points are added                x
  to any D-ball in a round.
To complete the analysis, we must show that the
cost of a Round is O(n).
                                                                15
log n rounds x O(n) time/round = O(n log n)
                     Watch an uninserted point x.
                 y   Claim: x only gets touched O(1) times per round.
                         y touches x => y is “close” to x
                         close = 2 hops among D-balls

    x                    Only O(1) D-balls are within 2 hops.




  Only O(1) points are added                 x
  to any D-ball in a round.

  O(n) total work per round.
Meshing Points in (optimal)
   O(n log n + m) time.



   Thank you.

More Related Content

What's hot

Csr2011 june16 15_45_meer
Csr2011 june16 15_45_meerCsr2011 june16 15_45_meer
Csr2011 june16 15_45_meerCSR2011
 
Rao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithms
Rao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithmsRao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithms
Rao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithmsChristian Robert
 
Can we estimate a constant?
Can we estimate a constant?Can we estimate a constant?
Can we estimate a constant?Christian Robert
 
Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...
Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...
Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...Chiheb Ben Hammouda
 
553_Final_Project_Bokser_Litalien
553_Final_Project_Bokser_Litalien553_Final_Project_Bokser_Litalien
553_Final_Project_Bokser_LitalienRory Bokser
 
Hybrid Atlas Models of Financial Equity Market
Hybrid Atlas Models of Financial Equity MarketHybrid Atlas Models of Financial Equity Market
Hybrid Atlas Models of Financial Equity Markettomoyukiichiba
 
Yarn calculations By Samrat Dewan
Yarn calculations By Samrat DewanYarn calculations By Samrat Dewan
Yarn calculations By Samrat DewanSamrat Dewan
 
Bayesian model choice in cosmology
Bayesian model choice in cosmologyBayesian model choice in cosmology
Bayesian model choice in cosmologyChristian Robert
 
comments on exponential ergodicity of the bouncy particle sampler
comments on exponential ergodicity of the bouncy particle samplercomments on exponential ergodicity of the bouncy particle sampler
comments on exponential ergodicity of the bouncy particle samplerChristian Robert
 
Second Order Perturbations During Inflation Beyond Slow-roll
Second Order Perturbations During Inflation Beyond Slow-rollSecond Order Perturbations During Inflation Beyond Slow-roll
Second Order Perturbations During Inflation Beyond Slow-rollIan Huston
 
A Tau Approach for Solving Fractional Diffusion Equations using Legendre-Cheb...
A Tau Approach for Solving Fractional Diffusion Equations using Legendre-Cheb...A Tau Approach for Solving Fractional Diffusion Equations using Legendre-Cheb...
A Tau Approach for Solving Fractional Diffusion Equations using Legendre-Cheb...iosrjce
 

What's hot (20)

Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
 
Csr2011 june16 15_45_meer
Csr2011 june16 15_45_meerCsr2011 june16 15_45_meer
Csr2011 june16 15_45_meer
 
Note 0
Note 0Note 0
Note 0
 
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
 
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
 
Wave diffraction
Wave diffractionWave diffraction
Wave diffraction
 
Slides rmetrics-1
Slides rmetrics-1Slides rmetrics-1
Slides rmetrics-1
 
zeropadding
zeropaddingzeropadding
zeropadding
 
Rao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithms
Rao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithmsRao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithms
Rao-Blackwellisation schemes for accelerating Metropolis-Hastings algorithms
 
Can we estimate a constant?
Can we estimate a constant?Can we estimate a constant?
Can we estimate a constant?
 
Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...
Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...
Hierarchical Deterministic Quadrature Methods for Option Pricing under the Ro...
 
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
QMC Program: Trends and Advances in Monte Carlo Sampling Algorithms Workshop,...
 
Lecture11
Lecture11Lecture11
Lecture11
 
553_Final_Project_Bokser_Litalien
553_Final_Project_Bokser_Litalien553_Final_Project_Bokser_Litalien
553_Final_Project_Bokser_Litalien
 
Hybrid Atlas Models of Financial Equity Market
Hybrid Atlas Models of Financial Equity MarketHybrid Atlas Models of Financial Equity Market
Hybrid Atlas Models of Financial Equity Market
 
Yarn calculations By Samrat Dewan
Yarn calculations By Samrat DewanYarn calculations By Samrat Dewan
Yarn calculations By Samrat Dewan
 
Bayesian model choice in cosmology
Bayesian model choice in cosmologyBayesian model choice in cosmology
Bayesian model choice in cosmology
 
comments on exponential ergodicity of the bouncy particle sampler
comments on exponential ergodicity of the bouncy particle samplercomments on exponential ergodicity of the bouncy particle sampler
comments on exponential ergodicity of the bouncy particle sampler
 
Second Order Perturbations During Inflation Beyond Slow-roll
Second Order Perturbations During Inflation Beyond Slow-rollSecond Order Perturbations During Inflation Beyond Slow-roll
Second Order Perturbations During Inflation Beyond Slow-roll
 
A Tau Approach for Solving Fractional Diffusion Equations using Legendre-Cheb...
A Tau Approach for Solving Fractional Diffusion Equations using Legendre-Cheb...A Tau Approach for Solving Fractional Diffusion Equations using Legendre-Cheb...
A Tau Approach for Solving Fractional Diffusion Equations using Legendre-Cheb...
 

Viewers also liked

New Bounds on the Size of Optimal Meshes
New Bounds on the Size of Optimal MeshesNew Bounds on the Size of Optimal Meshes
New Bounds on the Size of Optimal MeshesDon Sheehy
 
Planar Graphis in 2.5 Dimensions
Planar Graphis in 2.5 DimensionsPlanar Graphis in 2.5 Dimensions
Planar Graphis in 2.5 DimensionsDon Sheehy
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via MeshingDon Sheehy
 
SOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
SOCG: Linear-Size Approximations to the Vietoris-Rips FiltrationSOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
SOCG: Linear-Size Approximations to the Vietoris-Rips FiltrationDon Sheehy
 
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations Don Sheehy
 
Overlay Stitch Meshing
Overlay Stitch MeshingOverlay Stitch Meshing
Overlay Stitch MeshingDon Sheehy
 
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...Don Sheehy
 
Linear Size Meshes
Linear Size MeshesLinear Size Meshes
Linear Size MeshesDon Sheehy
 
Geometry, Topology, and all of Your Wildest Dreams Will Come True
Geometry, Topology, and all of Your Wildest Dreams Will Come TrueGeometry, Topology, and all of Your Wildest Dreams Will Come True
Geometry, Topology, and all of Your Wildest Dreams Will Come TrueDon Sheehy
 
Optimal Meshing
Optimal MeshingOptimal Meshing
Optimal MeshingDon Sheehy
 
Characterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean EmbeddingsCharacterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean EmbeddingsDon Sheehy
 
ATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
ATMCS: Linear-Size Approximations to the Vietoris-Rips FiltrationATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
ATMCS: Linear-Size Approximations to the Vietoris-Rips FiltrationDon Sheehy
 
Centerpoints Theory Lunch Talk
Centerpoints Theory Lunch TalkCenterpoints Theory Lunch Talk
Centerpoints Theory Lunch TalkDon Sheehy
 
On Nets and Meshes
On Nets and MeshesOn Nets and Meshes
On Nets and MeshesDon Sheehy
 
Mesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisMesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisDon Sheehy
 
Minimax Rates for Homology Inference
Minimax Rates for Homology InferenceMinimax Rates for Homology Inference
Minimax Rates for Homology InferenceDon Sheehy
 
Ball Packings and Fat Voronoi Diagrams
Ball Packings and Fat Voronoi DiagramsBall Packings and Fat Voronoi Diagrams
Ball Packings and Fat Voronoi DiagramsDon Sheehy
 
Design and Simulation Microstrip patch Antenna using CST Microwave Studio
Design and Simulation Microstrip patch Antenna  using CST Microwave StudioDesign and Simulation Microstrip patch Antenna  using CST Microwave Studio
Design and Simulation Microstrip patch Antenna using CST Microwave StudioAymen Al-obaidi
 
Microstrip Patch Antenna Design
Microstrip Patch Antenna DesignMicrostrip Patch Antenna Design
Microstrip Patch Antenna DesignAmit Samanta
 

Viewers also liked (19)

New Bounds on the Size of Optimal Meshes
New Bounds on the Size of Optimal MeshesNew Bounds on the Size of Optimal Meshes
New Bounds on the Size of Optimal Meshes
 
Planar Graphis in 2.5 Dimensions
Planar Graphis in 2.5 DimensionsPlanar Graphis in 2.5 Dimensions
Planar Graphis in 2.5 Dimensions
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via Meshing
 
SOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
SOCG: Linear-Size Approximations to the Vietoris-Rips FiltrationSOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
SOCG: Linear-Size Approximations to the Vietoris-Rips Filtration
 
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
 
Overlay Stitch Meshing
Overlay Stitch MeshingOverlay Stitch Meshing
Overlay Stitch Meshing
 
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...
 
Linear Size Meshes
Linear Size MeshesLinear Size Meshes
Linear Size Meshes
 
Geometry, Topology, and all of Your Wildest Dreams Will Come True
Geometry, Topology, and all of Your Wildest Dreams Will Come TrueGeometry, Topology, and all of Your Wildest Dreams Will Come True
Geometry, Topology, and all of Your Wildest Dreams Will Come True
 
Optimal Meshing
Optimal MeshingOptimal Meshing
Optimal Meshing
 
Characterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean EmbeddingsCharacterizing the Distortion of Some Simple Euclidean Embeddings
Characterizing the Distortion of Some Simple Euclidean Embeddings
 
ATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
ATMCS: Linear-Size Approximations to the Vietoris-Rips FiltrationATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
ATMCS: Linear-Size Approximations to the Vietoris-Rips Filtration
 
Centerpoints Theory Lunch Talk
Centerpoints Theory Lunch TalkCenterpoints Theory Lunch Talk
Centerpoints Theory Lunch Talk
 
On Nets and Meshes
On Nets and MeshesOn Nets and Meshes
On Nets and Meshes
 
Mesh Generation and Topological Data Analysis
Mesh Generation and Topological Data AnalysisMesh Generation and Topological Data Analysis
Mesh Generation and Topological Data Analysis
 
Minimax Rates for Homology Inference
Minimax Rates for Homology InferenceMinimax Rates for Homology Inference
Minimax Rates for Homology Inference
 
Ball Packings and Fat Voronoi Diagrams
Ball Packings and Fat Voronoi DiagramsBall Packings and Fat Voronoi Diagrams
Ball Packings and Fat Voronoi Diagrams
 
Design and Simulation Microstrip patch Antenna using CST Microwave Studio
Design and Simulation Microstrip patch Antenna  using CST Microwave StudioDesign and Simulation Microstrip patch Antenna  using CST Microwave Studio
Design and Simulation Microstrip patch Antenna using CST Microwave Studio
 
Microstrip Patch Antenna Design
Microstrip Patch Antenna DesignMicrostrip Patch Antenna Design
Microstrip Patch Antenna Design
 

Similar to Beating the Spread: Time-Optimal Point Meshing

Calculus of variations & solution manual russak
Calculus of variations & solution manual   russakCalculus of variations & solution manual   russak
Calculus of variations & solution manual russakJosé Pallo
 
Introdution to differential forms
Introdution to differential formsIntrodution to differential forms
Introdution to differential formsDunga Pessoa
 
M.Sc_Maths Thesis Pradeep Mishra
M.Sc_Maths Thesis Pradeep MishraM.Sc_Maths Thesis Pradeep Mishra
M.Sc_Maths Thesis Pradeep MishraPradeep Mishra
 
Measures of variation and dispersion report
Measures of variation and dispersion reportMeasures of variation and dispersion report
Measures of variation and dispersion reportAngelo
 
Cramer row inequality
Cramer row inequality Cramer row inequality
Cramer row inequality VashuGupta8
 
Kernel estimation(ref)
Kernel estimation(ref)Kernel estimation(ref)
Kernel estimation(ref)Zahra Amini
 
Unbiased Bayes for Big Data
Unbiased Bayes for Big DataUnbiased Bayes for Big Data
Unbiased Bayes for Big DataChristian Robert
 
Fractal dimensions of 2d quantum gravity
Fractal dimensions of 2d quantum gravityFractal dimensions of 2d quantum gravity
Fractal dimensions of 2d quantum gravityTimothy Budd
 
Caret Package for R
Caret Package for RCaret Package for R
Caret Package for Rkmettler
 
Caret max kuhn
Caret max kuhnCaret max kuhn
Caret max kuhnkmettler
 
Math516 runde
Math516 rundeMath516 runde
Math516 rundesgcskyone
 

Similar to Beating the Spread: Time-Optimal Point Meshing (20)

Calculus of variations & solution manual russak
Calculus of variations & solution manual   russakCalculus of variations & solution manual   russak
Calculus of variations & solution manual russak
 
Notes
NotesNotes
Notes
 
Introdution to differential forms
Introdution to differential formsIntrodution to differential forms
Introdution to differential forms
 
M.Sc_Maths Thesis Pradeep Mishra
M.Sc_Maths Thesis Pradeep MishraM.Sc_Maths Thesis Pradeep Mishra
M.Sc_Maths Thesis Pradeep Mishra
 
factoring
factoringfactoring
factoring
 
Measures of variation and dispersion report
Measures of variation and dispersion reportMeasures of variation and dispersion report
Measures of variation and dispersion report
 
QMC: Operator Splitting Workshop, Proximal Algorithms in Probability Spaces -...
QMC: Operator Splitting Workshop, Proximal Algorithms in Probability Spaces -...QMC: Operator Splitting Workshop, Proximal Algorithms in Probability Spaces -...
QMC: Operator Splitting Workshop, Proximal Algorithms in Probability Spaces -...
 
Chapter 04
Chapter 04Chapter 04
Chapter 04
 
Cramer row inequality
Cramer row inequality Cramer row inequality
Cramer row inequality
 
Kernel estimation(ref)
Kernel estimation(ref)Kernel estimation(ref)
Kernel estimation(ref)
 
Unbiased Bayes for Big Data
Unbiased Bayes for Big DataUnbiased Bayes for Big Data
Unbiased Bayes for Big Data
 
Fractal dimensions of 2d quantum gravity
Fractal dimensions of 2d quantum gravityFractal dimensions of 2d quantum gravity
Fractal dimensions of 2d quantum gravity
 
Caret Package for R
Caret Package for RCaret Package for R
Caret Package for R
 
Caret max kuhn
Caret max kuhnCaret max kuhn
Caret max kuhn
 
MAINPH
MAINPHMAINPH
MAINPH
 
Métodos Numéricos
Métodos NuméricosMétodos Numéricos
Métodos Numéricos
 
Slides univ-van-amsterdam
Slides univ-van-amsterdamSlides univ-van-amsterdam
Slides univ-van-amsterdam
 
ANSWERS
ANSWERSANSWERS
ANSWERS
 
Math516 runde
Math516 rundeMath516 runde
Math516 runde
 
Radius of-curvature
Radius of-curvatureRadius of-curvature
Radius of-curvature
 

More from Don Sheehy

Some Thoughts on Sampling
Some Thoughts on SamplingSome Thoughts on Sampling
Some Thoughts on SamplingDon Sheehy
 
Sensors and Samples: A Homological Approach
Sensors and Samples:  A Homological ApproachSensors and Samples:  A Homological Approach
Sensors and Samples: A Homological ApproachDon Sheehy
 
Persistent Homology and Nested Dissection
Persistent Homology and Nested DissectionPersistent Homology and Nested Dissection
Persistent Homology and Nested DissectionDon Sheehy
 
The Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random ProjectionThe Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random ProjectionDon Sheehy
 
Geometric and Topological Data Analysis
Geometric and Topological Data AnalysisGeometric and Topological Data Analysis
Geometric and Topological Data AnalysisDon Sheehy
 
Geometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic LiftGeometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic LiftDon Sheehy
 
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsA New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsDon Sheehy
 
A Multicover Nerve for Geometric Inference
A Multicover Nerve for Geometric InferenceA Multicover Nerve for Geometric Inference
A Multicover Nerve for Geometric InferenceDon Sheehy
 
Flips in Computational Geometry
Flips in Computational GeometryFlips in Computational Geometry
Flips in Computational GeometryDon Sheehy
 
Learning with Nets and Meshes
Learning with Nets and MeshesLearning with Nets and Meshes
Learning with Nets and MeshesDon Sheehy
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via MeshingDon Sheehy
 
Achieving Spatial Adaptivity while Searching for Approximate Nearest Neighbors
Achieving Spatial Adaptivity while Searching for Approximate Nearest NeighborsAchieving Spatial Adaptivity while Searching for Approximate Nearest Neighbors
Achieving Spatial Adaptivity while Searching for Approximate Nearest NeighborsDon Sheehy
 
The Centervertex Theorem (CCCG)
The Centervertex Theorem (CCCG)The Centervertex Theorem (CCCG)
The Centervertex Theorem (CCCG)Don Sheehy
 
The Centervertex Theorem (FWCG)
The Centervertex Theorem (FWCG)The Centervertex Theorem (FWCG)
The Centervertex Theorem (FWCG)Don Sheehy
 

More from Don Sheehy (14)

Some Thoughts on Sampling
Some Thoughts on SamplingSome Thoughts on Sampling
Some Thoughts on Sampling
 
Sensors and Samples: A Homological Approach
Sensors and Samples:  A Homological ApproachSensors and Samples:  A Homological Approach
Sensors and Samples: A Homological Approach
 
Persistent Homology and Nested Dissection
Persistent Homology and Nested DissectionPersistent Homology and Nested Dissection
Persistent Homology and Nested Dissection
 
The Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random ProjectionThe Persistent Homology of Distance Functions under Random Projection
The Persistent Homology of Distance Functions under Random Projection
 
Geometric and Topological Data Analysis
Geometric and Topological Data AnalysisGeometric and Topological Data Analysis
Geometric and Topological Data Analysis
 
Geometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic LiftGeometric Separators and the Parabolic Lift
Geometric Separators and the Parabolic Lift
 
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsA New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
 
A Multicover Nerve for Geometric Inference
A Multicover Nerve for Geometric InferenceA Multicover Nerve for Geometric Inference
A Multicover Nerve for Geometric Inference
 
Flips in Computational Geometry
Flips in Computational GeometryFlips in Computational Geometry
Flips in Computational Geometry
 
Learning with Nets and Meshes
Learning with Nets and MeshesLearning with Nets and Meshes
Learning with Nets and Meshes
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via Meshing
 
Achieving Spatial Adaptivity while Searching for Approximate Nearest Neighbors
Achieving Spatial Adaptivity while Searching for Approximate Nearest NeighborsAchieving Spatial Adaptivity while Searching for Approximate Nearest Neighbors
Achieving Spatial Adaptivity while Searching for Approximate Nearest Neighbors
 
The Centervertex Theorem (CCCG)
The Centervertex Theorem (CCCG)The Centervertex Theorem (CCCG)
The Centervertex Theorem (CCCG)
 
The Centervertex Theorem (FWCG)
The Centervertex Theorem (FWCG)The Centervertex Theorem (FWCG)
The Centervertex Theorem (FWCG)
 

Beating the Spread: Time-Optimal Point Meshing

  • 1. Beating the Spread: Time-Optimal Point Meshing Don Sheehy Carnegie Mellon (soon: INRIA) with Gary Miller and Todd Phillips at CMU
  • 2. Meshing Points 2 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram n = |P |, m = |M |
  • 3. Meshing Points 2 Input: P ⊂ Rd Output: M ⊃ P with a “nice” Voronoi diagram n = |P |, m = |M |
  • 4. Quality Meshes have cells with bounded 3 aspect ratio. aspect ratio = R ≤τ r
  • 5. Quality Meshes have cells with bounded 3 aspect ratio. aspect ratio = R ≤τ r
  • 6. Quality Meshes have cells with bounded 3 aspect ratio. aspect ratio = R ≤τ r
  • 7. Quality Meshes have cells with bounded 3 aspect ratio. aspect ratio = R ≤τ r τ ≥2+ε
  • 9. Prior Work 4 Delaunay Refinement:
  • 10. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D
  • 11. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D
  • 12. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D
  • 13. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m)
  • 14. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m) Quadtree Methods:
  • 15. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m) Quadtree Methods: Bern - Eppstein - Gilbert ’94......................QT meshing
  • 16. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m) Quadtree Methods: Bern - Eppstein - Gilbert ’94......................QT meshing Bern - Eppstein - Teng ‘99.....................QTs in Parallel
  • 17. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m) Quadtree Methods: Bern - Eppstein - Gilbert ’94......................QT meshing Bern - Eppstein - Teng ‘99.....................QTs in Parallel Hybrid Methods:
  • 18. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m) Quadtree Methods: Bern - Eppstein - Gilbert ’94......................QT meshing Bern - Eppstein - Teng ‘99.....................QTs in Parallel Hybrid Methods: Har-Peled - Ungor ‘05...................O(n log n + m) in 2D
  • 19. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m) Quadtree Methods: Bern - Eppstein - Gilbert ’94......................QT meshing Bern - Eppstein - Teng ‘99.....................QTs in Parallel Hybrid Methods: Har-Peled - Ungor ‘05...................O(n log n + m) in 2D
  • 20. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m) Quadtree Methods: Bern - Eppstein - Gilbert ’94......................QT meshing Bern - Eppstein - Teng ‘99.....................QTs in Parallel Hybrid Methods: Har-Peled - Ungor ‘05...................O(n log n + m) in 2D Many Others
  • 21. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m) Quadtree Methods: Bern - Eppstein - Gilbert ’94......................QT meshing Bern - Eppstein - Teng ‘99.....................QTs in Parallel Hybrid Methods: Har-Peled - Ungor ‘05...................O(n log n + m) in 2D Many Others Our Result O(n log n + m) for point sets in d dimensions
  • 22. Prior Work 4 Delaunay Refinement: Chew ‘89.......................................................................2D Ruppert ’95...........................................Optimality in 2D Shewchuck ‘98..........................................Ruppert in 3D Hudson - Miller - Phillips ‘06..........SVR O(n log Δ + m) Quadtree Methods: Bern - Eppstein - Gilbert ’94......................QT meshing Bern - Eppstein - Teng ‘99.....................QTs in Parallel Hybrid Methods: Har-Peled - Ungor ‘05...................O(n log n + m) in 2D Many Others Our Result O(n log n + m) for point sets in d dimensions Hides dimension terms
  • 24. Beating the spread. 5 P Let s = |x − y| where (x, y) ∈ 2 is the closest pair.
  • 25. Beating the spread. 5 P Let s = |x − y| where (x, y) ∈ 2 is the closest pair. diameter(P ) The spread of P is the ratio ∆ = s .
  • 26. Beating the spread. 5 P Let s = |x − y| where (x, y) ∈ 2 is the closest pair. diameter(P ) The spread of P is the ratio ∆ = s . O(n log ∆ + m)
  • 27. Beating the spread. 5 P Let s = |x − y| where (x, y) ∈ 2 is the closest pair. diameter(P ) The spread of P is the ratio ∆ = s . O(n log ∆ + m) Point location
  • 28. Beating the spread. 5 P Let s = |x − y| where (x, y) ∈ 2 is the closest pair. diameter(P ) The spread of P is the ratio ∆ = s . O(n log ∆ + m) Point location Output sensitive
  • 29. Beating the spread. 5 P Let s = |x − y| where (x, y) ∈ 2 is the closest pair. diameter(P ) The spread of P is the ratio ∆ = s . O(n log ∆ + m) Point location Output sensitive For some point sets, m = Ω(n log ∆)
  • 30. Complexity: How big is the mesh? 6 1 m= Ω lfsP (x)d
  • 31. Complexity: How big is the mesh? 6 How many Steiner Points? 1 m= Ω lfsP (x)d
  • 32. Complexity: How big is the mesh? 6 How many Steiner Points? 1 m= Ω lfsP (x)d m = O(n) as long as there are no big empty annuli with 2 or more points inside [MPS08].
  • 33. Complexity: How big is the mesh? 6 How many Steiner Points? 1 m= Ω lfsP (x)d m = O(n) as long as there are no big empty annuli with 2 or more points inside [MPS08]. How many simplices?
  • 34. Complexity: How big is the mesh? 6 How many Steiner Points? 1 m= Ω lfsP (x)d m = O(n) as long as there are no big empty annuli with 2 or more points inside [MPS08]. How many simplices? Only O(m) simplices. d/2 Compare to m for general Delaunay triangulations. Constants depend on aspect ratio.
  • 35. Complexity: How hard is it to compute a mesh? 7
  • 36. Complexity: How hard is it to compute a mesh? 7 O(n log n + m)
  • 37. Complexity: How hard is it to compute a mesh? 7 O(n log n + m) Point Location
  • 38. Complexity: How hard is it to compute a mesh? 7 O(n log n + m) Point Location Output Sensitive
  • 39. Complexity: How hard is it to compute a mesh? 7 O(n log n + m) Point Location Output Sensitive This is optimal in the comparison model.
  • 40. Complexity: How hard is it to compute a mesh? 7 O(n log n + m) Point Location Output Sensitive This is optimal in the comparison model. O(n log n)
  • 41. Complexity: How hard is it to compute a mesh? 7 O(n log n + m) Point Location Output Sensitive This is optimal in the comparison model. O(n log n) Compute a hierarchical quality mesh.
  • 42. Complexity: How hard is it to compute a mesh? 7 O(n log n + m) Point Location Output Sensitive This is optimal in the comparison model. O(n log n) Compute a hierarchical quality mesh. Key fact: Size is O(n)
  • 43. Complexity: How hard is it to compute a mesh? 7 O(n log n + m) Point Location Output Sensitive This is optimal in the comparison model. O(n log n) + O(m) Compute a hierarchical quality mesh. Key fact: Size is O(n)
  • 44. Complexity: How hard is it to compute a mesh? 7 O(n log n + m) Point Location Output Sensitive This is optimal in the comparison model. O(n log n) + O(m) Compute a hierarchical quality mesh. Finishing post-process. (easy) Key fact: Size is O(n)
  • 45. The Delaunay Triangulation is the dual 8 of the Voronoi Diagram. D-ball
  • 46. Quality Meshes have several 9 nice properties.
  • 47. Quality Meshes have several 9 nice properties. Delaunay balls have constant ply
  • 48. Quality Meshes have several 9 nice properties. Delaunay balls have constant ply Total number of faces is O(m)
  • 49. Quality Meshes have several 9 nice properties. Delaunay balls have constant ply Total number of faces is O(m) Intersection graph of Delaunay balls has constant degree
  • 50. Quality Meshes have several 9 nice properties. Delaunay balls have constant ply Total number of faces is O(m) Intersection graph of Delaunay balls has constant degree Insertions only take constant time
  • 51. Quality Meshes have several 9 nice properties. Delaunay balls have constant ply Total number of faces is O(m) Intersection graph of Delaunay balls has constant degree Insertions only take constant time Voronoi Refinement: If some cell is skinny, add a Steiner point at its farthest vertex.
  • 52. We replace quality with hierarchical quality. 10
  • 53. We replace quality with hierarchical quality. 10
  • 54. We replace quality with hierarchical quality. 10
  • 55. We replace quality with hierarchical quality. 10
  • 56. We replace quality with hierarchical quality. 10 Inside the cage: Old definition of quality.
  • 57. We replace quality with hierarchical quality. 10 Inside the cage: Old definition of quality. Outside: Treat the whole cage as a single object.
  • 58. We replace quality with hierarchical quality. 10 Inside the cage: Old definition of quality. Outside: Treat the whole cage as a single object. Has the same important properties as quality meshes: ply, degree,...
  • 59. The sparse meshing model: 11
  • 60. The sparse meshing model: 11 1 Build a Voronoi diagram incrementally.
  • 61. The sparse meshing model: 11 1 Build a Voronoi diagram incrementally. 2 Interleave input and Steiner point insertions.
  • 62. The sparse meshing model: 11 1 Build a Voronoi diagram incrementally. 2 Interleave input and Steiner point insertions. 3 Recover quality after each input point.
  • 63. The sparse meshing model: 11 This is how we avoid the worst-case Voronoi bounds. 1 Build a Voronoi diagram incrementally. 2 Interleave input and Steiner point insertions. 3 Recover quality after each input point.
  • 64. The sparse meshing model: The New Algorithm 11 1 Build a Voronoi diagram incrementally. 2 Interleave input and Steiner point insertions. 3 Recover quality after each input point.
  • 65. The sparse meshing model: The New Algorithm 11 1 Build a Voronoi diagram incrementally. 2 Interleave input and Steiner point insertions. 3 Recover quality after each input point. hierarchical quality
  • 66. The sparse meshing model: The New Algorithm 11 1 Build a Voronoi diagram incrementally. 2 Interleave input and Steiner point insertions. 3 Recover quality after each input point. hierarchical quality 4 Store uninserted input points in the D-Balls.
  • 67. The sparse meshing model: The New Algorithm 11 1 Build a Voronoi diagram incrementally. 2 Interleave input and Steiner point insertions. 3 Recover quality after each input point. hierarchical quality 4 Store uninserted input points in the D-Balls. 5 Order the input points using range space nets.
  • 68. Point Location in the D-Balls. 12 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates.
  • 69. Point Location in the D-Balls. 12 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates.
  • 70. Point Location in the D-Balls. 12 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates.
  • 71. Point Location in the D-Balls. 12 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates.
  • 72. Point Location in the D-Balls. 12 Idea: Store the uninserted points in the D-balls. When the balls change, make local updates. It’s a history DAG!
  • 74. Range Nets 13 Definition. A range space is a pair (X, R), where X is a set (the vertices) and R is a collection of subsets (the ranges).
  • 75. Range Nets 13 Definition. A range space is a pair (X, R), where X is a set (the vertices) and R is a collection of subsets (the ranges). For us X = P and R is the set of open balls.
  • 76. Range Nets 13 Definition. A range space is a pair (X, R), where X is a set (the vertices) and R is a collection of subsets (the ranges). For us X = P and R is the set of open balls. Definition. Given a range space (X, R), a set N ⊂ X is a range space ε-net if for all ranges r ∈ R that contain at least ε|X| vertices, r contains a vertex from N .
  • 77. Range Nets 13 Definition. A range space is a pair (X, R), where X is a set (the vertices) and R is a collection of subsets (the ranges). For us X = P and R is the set of open balls. Definition. Given a range space (X, R), a set N ⊂ X is a range space ε-net if for all ranges r ∈ R that contain at least ε|X| vertices, r contains a vertex from N . Theorem: [Chazelle & Matousek 96] For ε, d fixed constants, ε-nets of size O(1) can be computed in O(n) deterministic time.
  • 78. Ordering the inputs 1 14 For each D-Ball, select a 2d -net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 79. Ordering the inputs 1 14 For each D-Ball, select a 2d -net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 80. Ordering the inputs 1 14 For each D-Ball, select a 2d -net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 81. Ordering the inputs 1 14 For each D-Ball, select a 2d -net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 82. Ordering the inputs 1 14 For each D-Ball, select a 2d -net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat.
  • 83. Ordering the inputs 1 14 For each D-Ball, select a 2d -net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat. Lemma. Let M be a set of vertices. If an open ball B contains no points of M , then B is contained in the union of d D-balls of M .
  • 84. Ordering the inputs 1 14 For each D-Ball, select a 2d -net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat. max |B ∩ P | D-balls B Goes down by a factor of 2 each round. Lemma. Let M be a set of vertices. If an open ball B contains no points of M , then B is contained in the union of d D-balls of M .
  • 85. Ordering the inputs 1 14 For each D-Ball, select a 2d -net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat. max |B ∩ P | D-balls B Goes down by a factor of 2 each round. => log(n) Rounds Lemma. Let M be a set of vertices. If an open ball B contains no points of M , then B is contained in the union of d D-balls of M .
  • 86. Ordering the inputs 1 14 For each D-Ball, select a 2d -net of the points it contains. Take the union of these nets and call it a round. Insert these. Repeat. max |B ∩ P | D-balls B Goes down by a factor of 2 each round. => log(n) Rounds Lemma. Let M be a set of vertices. If an open ball B contains no points of M , then B is contained in the union of d D-balls of M . Note: After k = log 1 rounds, the intermediate mesh is a weak -net for the range space of Euclidean balls. Size: O 1 , Time: O(nk) = O(n log 1 ).
  • 87. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. Claim: x only gets touched O(1) times per round.
  • 88. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. Claim: x only gets touched O(1) times per round. x
  • 89. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. Claim: x only gets touched O(1) times per round. x
  • 90. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. x
  • 91. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. x
  • 92. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. y touches x => y is “close” to x close = 2 hops among D-balls x
  • 93. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. y touches x => y is “close” to x close = 2 hops among D-balls x
  • 94. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. y touches x => y is “close” to x close = 2 hops among D-balls x Only O(1) D-balls are within 2 hops.
  • 95. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. y touches x => y is “close” to x close = 2 hops among D-balls x Only O(1) D-balls are within 2 hops. x
  • 96. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. y touches x => y is “close” to x close = 2 hops among D-balls x Only O(1) D-balls are within 2 hops. x
  • 97. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. y touches x => y is “close” to x close = 2 hops among D-balls x Only O(1) D-balls are within 2 hops. x
  • 98. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. y touches x => y is “close” to x close = 2 hops among D-balls x Only O(1) D-balls are within 2 hops. Only O(1) points are added x to any D-ball in a round.
  • 99. To complete the analysis, we must show that the cost of a Round is O(n). 15 log n rounds x O(n) time/round = O(n log n) Watch an uninserted point x. y Claim: x only gets touched O(1) times per round. y touches x => y is “close” to x close = 2 hops among D-balls x Only O(1) D-balls are within 2 hops. Only O(1) points are added x to any D-ball in a round. O(n) total work per round.
  • 100. Meshing Points in (optimal) O(n log n + m) time. Thank you.