What is the difference between a mesh and a net?
What is the difference between a metric space epsilon-net and a range space epsilon-net?
What is the difference between geometric divide-and-conquer and combinatorial divide-and-conquer?
In this talk, I will answer these questions and discuss how these different ideas come together to finally settle the question of how to compute conforming point set meshes in optimal time. The meshing problem is to discretize space into as few pieces as possible and yet still capture the underlying density of the input points. Meshes are fundamental in scientific computing, graphics, and more recently, topological data analysis.
This is joint work with Gary Miller and Todd Phillips
Here's a toy problem: What is the SMALLEST number of unit balls you can fit in a box such that no more will fit?
In this talk, I will show how just thinking about a naive greedy approach to this problem leads to a simple derivation of several of the most important theoretical results in the field of mesh generation.
We'll prove classic upper and lower bounds on both the number of balls and the complexity of their interrelationships.
Then, we'll relate this problem to a similar one called the Fat Voronoi Problem, in which we try to find point sets such that every Voronoi cell is fat
(the ratio of the radii of the largest contained to smallest containing ball is bounded).
This problem has tremendous promise in the future of mesh generation as it can circumvent the classic lowerbounds presented in the first half of the talk.
Unfortunately the simple approach no longer works.
In the end we will show that the number of neighbors of any cell in a Fat Voronoi Diagram in the plane is bounded by a constant
(if you think that's obvious, spend a minute to try to prove it).
We'll also talk a little about the higher dimensional version of the problem and its wide range of applications.
This document contains a 30 question mid-semester exam for a data structures and algorithms course. The exam covers topics like asymptotic analysis, sorting algorithms, hashing, binary search trees, and recursion. It provides multiple choice questions to test understanding of algorithm time complexities, worst-case inputs, and recursive functions. Students are instructed to attempt all questions in the 2 hour time limit and notify the proctor if any electronic devices other than calculators are used.
This document contains summaries of solutions to various LeetCode problems in Java. It begins with a 3-sentence summary of the Rotate Array problem and its solutions, followed by shorter 1-sentence summaries of other problems and their solutions, including Evaluate Reverse Polish Notation, Longest Palindromic Substring, Word Break, and more. Dynamic programming and recursion are discussed as approaches for some of the problems.
The document contains 16 multiple choice questions about algorithms, data structures, and graph theory. Each question has 4 possible answers and the correct answer is provided. The maximum number of comparisons needed to merge sorted sequences is 358, and depth first search on a graph represented with an adjacency matrix has a worst case time complexity of O(n^2).
This document contains 38 multiple choice questions related to data structures and algorithms. The questions cover topics such as trees, graphs, hashing, sorting, algorithm analysis, and complexity classes. They assess knowledge of concepts like tree traversals, shortest paths, minimum spanning trees, asymptotic analysis, and resolving collisions in hash tables.
The document contains exercises, hints, and solutions for analyzing algorithms from a textbook. It includes problems related to brute force algorithms, sorting algorithms like selection sort and bubble sort, and evaluating polynomials. The solutions analyze the time complexity of different algorithms, such as proving that a brute force polynomial evaluation algorithm is O(n^2) while a modified version is linear time. It also discusses whether sorting algorithms like selection sort and bubble sort preserve the original order of equal elements (i.e. whether they are stable).
This document provides an overview of clustering techniques including k-means clustering, expectation maximization algorithms, and spectral clustering. It discusses how k-means clustering works by initializing random cluster centers, assigning data points to the closest centers, and adjusting the centers iteratively. Expectation maximization is presented as a way to learn the parameters of a Gaussian mixture model to cluster data. Finally, applications of clustering like document clustering using mixture models are briefly described.
The document discusses binary index trees (also called Fenwick trees) and segment trees, which are data structures that allow efficient querying of array prefixes and intervals. Binary index trees support adding values to array elements and retrieving prefix sums in O(log n) time. Segment trees similarly support adding values and finding maximum/minimum values in intervals in O(log n) time. Both achieve faster query times than naive solutions by representing the array as a tree structure.
Here's a toy problem: What is the SMALLEST number of unit balls you can fit in a box such that no more will fit?
In this talk, I will show how just thinking about a naive greedy approach to this problem leads to a simple derivation of several of the most important theoretical results in the field of mesh generation.
We'll prove classic upper and lower bounds on both the number of balls and the complexity of their interrelationships.
Then, we'll relate this problem to a similar one called the Fat Voronoi Problem, in which we try to find point sets such that every Voronoi cell is fat
(the ratio of the radii of the largest contained to smallest containing ball is bounded).
This problem has tremendous promise in the future of mesh generation as it can circumvent the classic lowerbounds presented in the first half of the talk.
Unfortunately the simple approach no longer works.
In the end we will show that the number of neighbors of any cell in a Fat Voronoi Diagram in the plane is bounded by a constant
(if you think that's obvious, spend a minute to try to prove it).
We'll also talk a little about the higher dimensional version of the problem and its wide range of applications.
This document contains a 30 question mid-semester exam for a data structures and algorithms course. The exam covers topics like asymptotic analysis, sorting algorithms, hashing, binary search trees, and recursion. It provides multiple choice questions to test understanding of algorithm time complexities, worst-case inputs, and recursive functions. Students are instructed to attempt all questions in the 2 hour time limit and notify the proctor if any electronic devices other than calculators are used.
This document contains summaries of solutions to various LeetCode problems in Java. It begins with a 3-sentence summary of the Rotate Array problem and its solutions, followed by shorter 1-sentence summaries of other problems and their solutions, including Evaluate Reverse Polish Notation, Longest Palindromic Substring, Word Break, and more. Dynamic programming and recursion are discussed as approaches for some of the problems.
The document contains 16 multiple choice questions about algorithms, data structures, and graph theory. Each question has 4 possible answers and the correct answer is provided. The maximum number of comparisons needed to merge sorted sequences is 358, and depth first search on a graph represented with an adjacency matrix has a worst case time complexity of O(n^2).
This document contains 38 multiple choice questions related to data structures and algorithms. The questions cover topics such as trees, graphs, hashing, sorting, algorithm analysis, and complexity classes. They assess knowledge of concepts like tree traversals, shortest paths, minimum spanning trees, asymptotic analysis, and resolving collisions in hash tables.
The document contains exercises, hints, and solutions for analyzing algorithms from a textbook. It includes problems related to brute force algorithms, sorting algorithms like selection sort and bubble sort, and evaluating polynomials. The solutions analyze the time complexity of different algorithms, such as proving that a brute force polynomial evaluation algorithm is O(n^2) while a modified version is linear time. It also discusses whether sorting algorithms like selection sort and bubble sort preserve the original order of equal elements (i.e. whether they are stable).
This document provides an overview of clustering techniques including k-means clustering, expectation maximization algorithms, and spectral clustering. It discusses how k-means clustering works by initializing random cluster centers, assigning data points to the closest centers, and adjusting the centers iteratively. Expectation maximization is presented as a way to learn the parameters of a Gaussian mixture model to cluster data. Finally, applications of clustering like document clustering using mixture models are briefly described.
The document discusses binary index trees (also called Fenwick trees) and segment trees, which are data structures that allow efficient querying of array prefixes and intervals. Binary index trees support adding values to array elements and retrieving prefix sums in O(log n) time. Segment trees similarly support adding values and finding maximum/minimum values in intervals in O(log n) time. Both achieve faster query times than naive solutions by representing the array as a tree structure.
This document discusses various greedy algorithms, including Dijkstra's algorithm for finding shortest paths in graphs. It provides details on Dijkstra's algorithm, including its greedy approach, proof of correctness, and efficient implementations using priority queues. It also discusses applications of shortest path algorithms and how the techniques extend to related problems involving closed semirings rather than just numbers.
How to make hash functions go fast inside snarks, aka a guided tour through arithmetisation friendly hash functions (useful for all cryptographic protocols where cost is dominated by multiplications -- e.g. anything using R1CS; secret sharing based multiparty computation protocols; etc)
Tutorial of topological_data_analysis_part_1(basic)Ha Phuong
This document provides an overview of topological data analysis (TDA) concepts, including:
- Simplicial complexes which represent topological spaces and holes of different dimensions
- Persistent homology which tracks the appearance and disappearance of holes over different scales
- Applications of TDA concepts like using persistent homology to analyze protein compressibility.
In this paper, we introduce the concept of residual quotient of intuitionistic fuzzy subsets of ring and module and then define the notion of residual quotient intuitionistic fuzzy submodules , residual quotient intuitionistic fuzzy ideals. We study many properties of residual quotient relating to union, intersection, sum of intuitionistic fuzzy submodules (ideals). Using the concept of residual quotient, we investigate some important characterization of intuitionistic fuzzy annihilator of subsets of ring and module. We also study intuitionistic fuzzy prime submodules with the help of intuitionistic fuzzy annihilators. Many related properties are defined and discussed.
This document is a project report submitted by Shivangi Goel for the degree of Master of Science in Mathematics. The report proposes a secure scheme for secret sharing using graph theory. It involves using a system of linear congruences based on prime numbers to divide a secret into shares and distribute the shares among graph nodes in a way that allows reconstructing the secret using the Chinese Remainder Theorem. The report includes background on secret sharing, linear congruences, and cryptography techniques like RSA. It then describes the proposed scheme which uses specific graph structures like Peterson and Heawood graphs to represent the access structure and distribute shares of the secret.
This document contains four sets of questions for a Design and Analysis of Algorithms exam. The questions cover a range of algorithm and complexity topics, including performance analysis, matrix operations, greedy algorithms, dynamic programming, graph algorithms, NP-completeness, and more. Students must choose 5 of the 16 questions to answer in detail.
The document summarizes various greedy algorithms and optimization problems that can be solved using greedy approaches. It discusses the greedy method, giving the definition that locally optimal decisions should lead to a globally optimal solution. Examples covered include picking numbers for largest sum, shortest paths, minimum spanning trees (using Kruskal's and Prim's algorithms), single-source shortest paths (using Dijkstra's algorithm), activity-on-edge networks, the knapsack problem, Huffman codes, and 2-way merging. Limitations of the greedy method are noted, such as how it does not always find the optimal solution for problems like shortest paths on a multi-stage graph.
This document describes extending the Elgamal cryptosystem to work with the second group of units of Zn and Z2[x]/<h(x)>, where h(x) is an irreducible polynomial. It first reviews the definition and construction of the second group of units U2(Zn) and U2(Z2[x]/<h(x)>). It then presents the key generation, encryption, and decryption algorithms for the Elgamal cryptosystem adapted to these new settings. The document evaluates the accuracy, efficiency and security of the modified cryptographic scheme through implementation and testing.
Processing Reachability Queries with Realistic Constraints on Massive Network...BigMine
Massive graphs are ubiquitous in various application domains, such as social networks, road networks, communication networks, biological networks, RDF graphs, and so on. Such graphs are massive (for example, with hundreds of millions of nodes and edges or even more) and contain rich information (for example, node/edge weights, labels and textual contents). In such massive graphs, an important class of problems is to process various graph structure related queries. Graph reachability, as an example, asks whether a node can reach another in a graph. However, the large graph scale presents new challenges for efficient query processing.
In this talk, I will introduce two new yet important types of graph reachability queries: weight constraint reachability that imposes edge weight constraint on the answer path, and k-hop reachability that imposes a length constraint on the answer path. With such realistic constraints, we can find more meaningful and practically feasible answers. These two reachablity queries have wide applications in many real-world problems, such as QoS routing and trip planning.
The document discusses kernelization, which is a polynomial-time transformation that maps an instance of a parameterized problem to an equivalent instance whose size is bounded by a function of the parameter k. If a problem admits a kernelization algorithm, then it is fixed-parameter tractable. The document introduces kernelization and provides definitions. It also notes that every fixed-parameter tractable problem has a kernelization algorithm.
The document contains solutions to several algorithm problems. For problem 1, it provides two solutions: 1) A divide-and-conquer algorithm that finds the rank of points in O(n log n) time by sorting and merging. 2) A sweep line algorithm using a binary indexed tree that also runs in O(n log n) time. For problem 2, it describes a selection algorithm solution that finds the median in O(n) time and partitions the items around the median, recursively solving in halves. For problem 3, it uses a pigeonhole principle argument to identify good chips in O(n) tests by randomly pairing chips and eliminating inconsistent results.
This week, Luke Pearson (Polychain Capital) and Joshua Fitzgerald (Anoma) present their work on Plonkup, a protocol that combines Plookup and PLONK into a single, efficient protocol. The protocol relies on a new hash function, called Reinforced Concrete, written by Dmitry Khovratovich. The three of them will present their work together at this week's edition of zkStudyClub!
Slides:
---
To Follow the Zero Knowledge Podcast us at https://www.zeroknowledge.fm
To the listeners of Zero Knowledge Podcast, if you like what we do:
- Follow us on Twitter - @zeroknowledgefm
- Join us on Telegram - https://t.me/joinchat/TORo7aknkYNLHmCM
- Support our Gitcoin Grant - https://gitcoin.co/grants/329/zero-knowledge-podcast-2
- Support us on Patreon - https://www.patreon.com/zeroknowledge
International Journal of Research in Engineering and Science is an open access peer-reviewed international forum for scientists involved in research to publish quality and refereed papers. Papers reporting original research or experimentally proved review work are welcome. Papers for publication are selected through peer review to ensure originality, relevance, and readability.
An Introduction to ECDSA and it's use in Bitcoin (1)Hakeem Hunte
This document provides an introduction to ECDSA and its use in Bitcoin. It begins by explaining how Bitcoin uses a blockchain to record transactions and ensure their authenticity through digital signatures. ECDSA is the algorithm used to generate these signatures. The document then discusses public key cryptography and how ECDSA works. It introduces concepts like elliptic curves, finite fields, point addition/doubling, and scalar multiplication which are important to understanding how ECDSA generates public/private key pairs to digitally sign transactions on the Bitcoin blockchain.
Slides from my introductory talk on Lossy Kernelization at the Parameterized Complexity Summer School 2017, co-located with ALGO 2017 and held at TU Wien, Vienna.
An optimal and progressive algorithm for skyline queries slideWooSung Choi
The document presents an optimal and progressive algorithm for processing skyline queries using an R-tree index. It discusses two strategies - recursive nearest neighbor queries and a branch and bound skyline algorithm. The recursive NN query approach requires additional processing to eliminate duplicate results for higher dimensions, while the branch and bound skyline algorithm prunes non-skyline points during traversal to directly generate the skyline without duplicates. The algorithm processes the R-tree in a best-first manner by maintaining a priority queue of tree nodes ordered by their minimum possible skyline size.
1. The document discusses connectivity preservation problems in graph theory and their parameterized complexity.
2. It presents new results showing that the problems of λ-connectivity deletion and biconnectivity deletion are fixed-parameter tractable when parameterized by the size of the edge deletion set k.
3. The key ideas involve showing that if a graph has many "non-critical" edges, then either the problem instance can be answered or reduced in size. Otherwise, the structure of critical edges can be exploited to find an irrelevant edge or solution.
Anomaly detection using deep one class classifier홍배 김
The document discusses anomaly detection techniques using deep one-class classifiers and generative adversarial networks (GANs). It proposes using an autoencoder to extract features from normal images, training a GAN on those features to model the distribution, and using a one-class support vector machine (SVM) to determine if new images are within the normal distribution. The method detects and localizes anomalies by generating a binary mask for abnormal regions. It also discusses Gaussian mixture models and the expectation-maximization algorithm for modeling multiple distributions in data.
In topological inference, the goal is to extract information about a shape, given only a sample of points from it. There are many approaches to this problem, but the one we focus on is persistent homology. We get a view of the data at different scales by imagining the points are balls and consider different radii. The shape information we want comes in the form of a persistence diagram, which describes the components, cycles, bubbles, etc in the space that persist over a range of different scales.
To actually compute a persistence diagram in the geometric setting, previous work required complexes of size n^O(d). We reduce this complexity to O(n) (hiding some large constants depending on d) by using ideas from mesh generation.
This talk will not assume any knowledge of topology. This is joint work with Gary Miller, Benoit Hudson, and Steve Oudot.
This document discusses various greedy algorithms, including Dijkstra's algorithm for finding shortest paths in graphs. It provides details on Dijkstra's algorithm, including its greedy approach, proof of correctness, and efficient implementations using priority queues. It also discusses applications of shortest path algorithms and how the techniques extend to related problems involving closed semirings rather than just numbers.
How to make hash functions go fast inside snarks, aka a guided tour through arithmetisation friendly hash functions (useful for all cryptographic protocols where cost is dominated by multiplications -- e.g. anything using R1CS; secret sharing based multiparty computation protocols; etc)
Tutorial of topological_data_analysis_part_1(basic)Ha Phuong
This document provides an overview of topological data analysis (TDA) concepts, including:
- Simplicial complexes which represent topological spaces and holes of different dimensions
- Persistent homology which tracks the appearance and disappearance of holes over different scales
- Applications of TDA concepts like using persistent homology to analyze protein compressibility.
In this paper, we introduce the concept of residual quotient of intuitionistic fuzzy subsets of ring and module and then define the notion of residual quotient intuitionistic fuzzy submodules , residual quotient intuitionistic fuzzy ideals. We study many properties of residual quotient relating to union, intersection, sum of intuitionistic fuzzy submodules (ideals). Using the concept of residual quotient, we investigate some important characterization of intuitionistic fuzzy annihilator of subsets of ring and module. We also study intuitionistic fuzzy prime submodules with the help of intuitionistic fuzzy annihilators. Many related properties are defined and discussed.
This document is a project report submitted by Shivangi Goel for the degree of Master of Science in Mathematics. The report proposes a secure scheme for secret sharing using graph theory. It involves using a system of linear congruences based on prime numbers to divide a secret into shares and distribute the shares among graph nodes in a way that allows reconstructing the secret using the Chinese Remainder Theorem. The report includes background on secret sharing, linear congruences, and cryptography techniques like RSA. It then describes the proposed scheme which uses specific graph structures like Peterson and Heawood graphs to represent the access structure and distribute shares of the secret.
This document contains four sets of questions for a Design and Analysis of Algorithms exam. The questions cover a range of algorithm and complexity topics, including performance analysis, matrix operations, greedy algorithms, dynamic programming, graph algorithms, NP-completeness, and more. Students must choose 5 of the 16 questions to answer in detail.
The document summarizes various greedy algorithms and optimization problems that can be solved using greedy approaches. It discusses the greedy method, giving the definition that locally optimal decisions should lead to a globally optimal solution. Examples covered include picking numbers for largest sum, shortest paths, minimum spanning trees (using Kruskal's and Prim's algorithms), single-source shortest paths (using Dijkstra's algorithm), activity-on-edge networks, the knapsack problem, Huffman codes, and 2-way merging. Limitations of the greedy method are noted, such as how it does not always find the optimal solution for problems like shortest paths on a multi-stage graph.
This document describes extending the Elgamal cryptosystem to work with the second group of units of Zn and Z2[x]/<h(x)>, where h(x) is an irreducible polynomial. It first reviews the definition and construction of the second group of units U2(Zn) and U2(Z2[x]/<h(x)>). It then presents the key generation, encryption, and decryption algorithms for the Elgamal cryptosystem adapted to these new settings. The document evaluates the accuracy, efficiency and security of the modified cryptographic scheme through implementation and testing.
Processing Reachability Queries with Realistic Constraints on Massive Network...BigMine
Massive graphs are ubiquitous in various application domains, such as social networks, road networks, communication networks, biological networks, RDF graphs, and so on. Such graphs are massive (for example, with hundreds of millions of nodes and edges or even more) and contain rich information (for example, node/edge weights, labels and textual contents). In such massive graphs, an important class of problems is to process various graph structure related queries. Graph reachability, as an example, asks whether a node can reach another in a graph. However, the large graph scale presents new challenges for efficient query processing.
In this talk, I will introduce two new yet important types of graph reachability queries: weight constraint reachability that imposes edge weight constraint on the answer path, and k-hop reachability that imposes a length constraint on the answer path. With such realistic constraints, we can find more meaningful and practically feasible answers. These two reachablity queries have wide applications in many real-world problems, such as QoS routing and trip planning.
The document discusses kernelization, which is a polynomial-time transformation that maps an instance of a parameterized problem to an equivalent instance whose size is bounded by a function of the parameter k. If a problem admits a kernelization algorithm, then it is fixed-parameter tractable. The document introduces kernelization and provides definitions. It also notes that every fixed-parameter tractable problem has a kernelization algorithm.
The document contains solutions to several algorithm problems. For problem 1, it provides two solutions: 1) A divide-and-conquer algorithm that finds the rank of points in O(n log n) time by sorting and merging. 2) A sweep line algorithm using a binary indexed tree that also runs in O(n log n) time. For problem 2, it describes a selection algorithm solution that finds the median in O(n) time and partitions the items around the median, recursively solving in halves. For problem 3, it uses a pigeonhole principle argument to identify good chips in O(n) tests by randomly pairing chips and eliminating inconsistent results.
This week, Luke Pearson (Polychain Capital) and Joshua Fitzgerald (Anoma) present their work on Plonkup, a protocol that combines Plookup and PLONK into a single, efficient protocol. The protocol relies on a new hash function, called Reinforced Concrete, written by Dmitry Khovratovich. The three of them will present their work together at this week's edition of zkStudyClub!
Slides:
---
To Follow the Zero Knowledge Podcast us at https://www.zeroknowledge.fm
To the listeners of Zero Knowledge Podcast, if you like what we do:
- Follow us on Twitter - @zeroknowledgefm
- Join us on Telegram - https://t.me/joinchat/TORo7aknkYNLHmCM
- Support our Gitcoin Grant - https://gitcoin.co/grants/329/zero-knowledge-podcast-2
- Support us on Patreon - https://www.patreon.com/zeroknowledge
International Journal of Research in Engineering and Science is an open access peer-reviewed international forum for scientists involved in research to publish quality and refereed papers. Papers reporting original research or experimentally proved review work are welcome. Papers for publication are selected through peer review to ensure originality, relevance, and readability.
An Introduction to ECDSA and it's use in Bitcoin (1)Hakeem Hunte
This document provides an introduction to ECDSA and its use in Bitcoin. It begins by explaining how Bitcoin uses a blockchain to record transactions and ensure their authenticity through digital signatures. ECDSA is the algorithm used to generate these signatures. The document then discusses public key cryptography and how ECDSA works. It introduces concepts like elliptic curves, finite fields, point addition/doubling, and scalar multiplication which are important to understanding how ECDSA generates public/private key pairs to digitally sign transactions on the Bitcoin blockchain.
Slides from my introductory talk on Lossy Kernelization at the Parameterized Complexity Summer School 2017, co-located with ALGO 2017 and held at TU Wien, Vienna.
An optimal and progressive algorithm for skyline queries slideWooSung Choi
The document presents an optimal and progressive algorithm for processing skyline queries using an R-tree index. It discusses two strategies - recursive nearest neighbor queries and a branch and bound skyline algorithm. The recursive NN query approach requires additional processing to eliminate duplicate results for higher dimensions, while the branch and bound skyline algorithm prunes non-skyline points during traversal to directly generate the skyline without duplicates. The algorithm processes the R-tree in a best-first manner by maintaining a priority queue of tree nodes ordered by their minimum possible skyline size.
1. The document discusses connectivity preservation problems in graph theory and their parameterized complexity.
2. It presents new results showing that the problems of λ-connectivity deletion and biconnectivity deletion are fixed-parameter tractable when parameterized by the size of the edge deletion set k.
3. The key ideas involve showing that if a graph has many "non-critical" edges, then either the problem instance can be answered or reduced in size. Otherwise, the structure of critical edges can be exploited to find an irrelevant edge or solution.
Anomaly detection using deep one class classifier홍배 김
The document discusses anomaly detection techniques using deep one-class classifiers and generative adversarial networks (GANs). It proposes using an autoencoder to extract features from normal images, training a GAN on those features to model the distribution, and using a one-class support vector machine (SVM) to determine if new images are within the normal distribution. The method detects and localizes anomalies by generating a binary mask for abnormal regions. It also discusses Gaussian mixture models and the expectation-maximization algorithm for modeling multiple distributions in data.
In topological inference, the goal is to extract information about a shape, given only a sample of points from it. There are many approaches to this problem, but the one we focus on is persistent homology. We get a view of the data at different scales by imagining the points are balls and consider different radii. The shape information we want comes in the form of a persistence diagram, which describes the components, cycles, bubbles, etc in the space that persist over a range of different scales.
To actually compute a persistence diagram in the geometric setting, previous work required complexes of size n^O(d). We reduce this complexity to O(n) (hiding some large constants depending on d) by using ideas from mesh generation.
This talk will not assume any knowledge of topology. This is joint work with Gary Miller, Benoit Hudson, and Steve Oudot.
An algorithm for producing a linear size superset of a point set that yields a linear size Delaunay triangulation in any dimension. This talk was presented at CCCG 2008.
This document provides a course calendar for a machine learning course with the following contents:
- The course covers topics like Bayesian estimation, Kalman filters, particle filters, hidden Markov models, Bayesian decision theory, principal component analysis, independent component analysis, and clustering algorithms over 13 classes between September and January.
- One lecture plan discusses nonparametric density estimation approaches like histogram density estimation, kernel density estimation, and k-nearest neighbor density estimation. It also covers cross-validation techniques.
- Another document section provides an example of applying kernel density estimation and k-nearest neighbor classification to automatically sort fish based on lightness, including discussing training and test phase classification. It compares different bandwidths and values of k.
New Bounds on the Size of Optimal MeshesDon Sheehy
The document discusses mesh generation, which involves decomposing a domain into simple elements like triangles or tetrahedra. An optimal mesh has good element quality, conforms to the input domain, and uses the minimum number of points needed to make all Voronoi cells sufficiently "fat" or well-shaped according to metrics like radius-edge ratios. The talk presents analysis showing that the optimal mesh size is determined by the "feature size measure" of the input points, which involves the distance to each point's second nearest neighbor.
This document provides an introduction to radial basis function (RBF) interpolation of scattered data. It discusses how RBFs choose basis functions centered at data points to guarantee a well-posed interpolation problem. Common RBF kernels include the multiquadric, inverse multiquadric, and Gaussian functions. While RBF interpolation is guaranteed to have a unique solution, it can still be ill-conditioned depending on the shape parameter choice. Considerations for using RBFs include that the interpolation matrix is dense, requiring optimization of the shape parameter, and interpolation error increases near boundaries.
Support Vector Machines aim to find an optimal decision boundary that maximizes the margin between different classes of data points. This is achieved by formulating the problem as a constrained optimization problem that seeks to minimize training error while maximizing the margin. The dual formulation results in a quadratic programming problem that can be solved using algorithms like sequential minimal optimization. Kernels allow the data to be implicitly mapped to a higher dimensional feature space, enabling non-linear decision boundaries to be learned. This "kernel trick" avoids explicitly computing coordinates in the higher dimensional space.
150424 Scalable Object Detection using Deep Neural NetworksJunho Cho
DeepMultiBox is a scalable object detection method using deep neural networks that detects objects in a class-agnostic manner. It predicts bounding boxes and confidence scores using a single DNN. It formulates object detection as a regression problem to optimize bounding box coordinates and confidences. It was shown to achieve competitive detection results on PASCAL VOC 2007 with faster runtime than other methods.
This document provides an overview of optimization techniques. It defines optimization as identifying variable values that minimize or maximize an objective function subject to constraints. It then discusses various applications of optimization in finance, engineering, and data modeling. The document outlines different types of optimization problems and algorithms. It provides examples of unconstrained optimization algorithms like gradient descent, conjugate gradient, Newton's method, and BFGS. It also discusses the Nelder-Mead simplex algorithm for constrained optimization and compares the performance of these algorithms on sample problems.
Animashree Anandkumar, Electrical Engineering and CS Dept, UC Irvine at MLcon...MLconf
Anima Anandkumar is a faculty at the EECS Dept. at U.C.Irvine since August 2010. Her research interests are in the area of large-scale machine learning and high-dimensional statistics. She received her B.Tech in Electrical Engineering from IIT Madras in 2004 and her PhD from Cornell University in 2009. She has been a visiting faculty at Microsoft Research New England in 2012 and a postdoctoral researcher at the Stochastic Systems Group at MIT between 2009-2010. She is the recipient of the Microsoft Faculty Fellowship, ARO Young Investigator Award, NSF CAREER Award, and IBM Fran Allen PhD fellowship.
1. The document discusses various machine learning classification algorithms including neural networks, support vector machines, logistic regression, and radial basis function networks.
2. It provides examples of using straight lines and complex boundaries to classify data with neural networks. Maximum margin hyperplanes are used for support vector machine classification.
3. Logistic regression is described as useful for binary classification problems by using a sigmoid function and cross entropy loss. Radial basis function networks can perform nonlinear classification with a kernel trick.
The document discusses Kolmogorov complexity and decompression algorithms. It introduces the concepts of decompressors, plain decompressors, and prefix-free decompressors. The main question addressed is whether the domain of every optimal decompressor contains the domain of some optimal prefix-free decompressor. The authors show that the answer is no by constructing a recursive set A that satisfies two properties: 1) A contains the domain of a specific optimal decompressor, and 2) A does not contain the domain of any optimal prefix-free decompressor.
This document introduces the topic of convex optimization. It discusses mathematical optimization problems and notes that certain classes of problems, such as least-squares problems, linear programs, and convex optimization problems, can be solved efficiently and reliably. The document then provides examples of convex optimization problems and discusses how they can be solved. It outlines the goals and topics that will be covered in the course, including convex sets and functions, algorithms, and applications.
The security of the RSA algorithm depends on the difficulty of factoring large numbers. The best known factoring algorithms are trial division, Dixon's algorithm, the quadratic sieve, and the number field sieve. The quadratic sieve and number field sieve are parallelizable algorithms that improve on Dixon's algorithm by using a "sieving" technique to more efficiently find relations between factors. While factoring performance improves incrementally over time, a large key size (over 300 bits) is still considered secure against the best known factoring methods.
- Dimensionality reduction techniques assign instances to vectors in a lower-dimensional space while approximately preserving similarity relationships. Principal component analysis (PCA) is a common linear dimensionality reduction technique.
- Kernel PCA performs PCA in a higher-dimensional feature space implicitly defined by a kernel function. This allows PCA to find nonlinear structure in data. Kernel PCA computes the principal components by finding the eigenvectors of the normalized kernel matrix.
- For a new data point, its representation in the lower-dimensional space is given by projecting it onto the principal components in feature space using the kernel trick, without explicitly computing features.
The document discusses data stream classification and algorithms for handling data streams. It begins with an introduction to data stream characteristics and challenges. It then discusses approximation algorithms for data streams, including maintaining statistics over sliding windows. Classification algorithms for data streams discussed include Naive Bayes classifiers, perceptrons, and Hoeffding trees, which are decision trees adapted for data streams using the Hoeffding bound inequality to determine the optimal split attribute.
This document provides an introduction to kernel density estimation for non-parametric density estimation. It discusses how kernel density estimation works by placing a kernel over each data point and summing the kernels to estimate the probability density function without parametric assumptions. The key steps are: (1) using a kernel function like the Parzen window to determine how many points fall within a region of size h centered on the point x to estimate; (2) the estimate is the sum of the kernel values divided by the sample size N and volume h^D; and (3) the bandwidth h acts as a smoothing parameter, with a wider h producing a smoother estimate.
This document discusses dynamic programming and greedy algorithms. It begins by defining dynamic programming as a technique for solving problems with overlapping subproblems. It provides examples of dynamic programming approaches to computing Fibonacci numbers, binomial coefficients, the knapsack problem, and other problems. It also discusses greedy algorithms and provides examples of their application to problems like the change-making problem, minimum spanning trees, and single-source shortest paths.
This document discusses dynamic programming and greedy algorithms. It begins by defining dynamic programming as a technique for solving problems with overlapping subproblems. Examples provided include computing the Fibonacci numbers and binomial coefficients. Greedy algorithms are introduced as constructing solutions piece by piece through locally optimal choices. Applications discussed are the change-making problem, minimum spanning trees using Prim's and Kruskal's algorithms, and single-source shortest paths. Floyd's algorithm for all pairs shortest paths and optimal binary search trees are also summarized.
In this talk, I address two new ideas in sampling geometric objects. The first is a new take on adaptive sampling with respect to the local feature size, i.e., the distance to the medial axis. We recently proved that such samples acn be viewed as uniform samples with respect to an alternative metric on the Euclidean space. The second is a generalization of Voronoi refinement sampling. There, one also achieves an adaptive sample while simultaneously "discovering" the underlying sizing function. We show how to construct such samples that are spaced uniformly with respect to the $k$th nearest neighbor distance function.
Characterizing the Distortion of Some Simple Euclidean EmbeddingsDon Sheehy
This talk addresses some upper and lower bounds techniques for bounding the distortion between mappings between Euclidean metric spaces including circles, spheres, pairs of lines, triples of planes, and the union of a hyperplane and a point.
Sensors and Samples: A Homological ApproachDon Sheehy
In their seminal work on homological sensor networks, de Silva and Ghrist showed the surprising fact that its possible to certify the coverage of a coordinate free sensor network even with very minimal knowledge of the space to be covered. We give a new, simpler proof of the de Silva-Ghrist Topological Coverage Criterion that eliminates any assumptions about the smoothness of the boundary of the underlying space, allowing the results to be applied to much more general problems. The new proof factors the geometric, topological, and combinatorial aspects of this approach. This factoring reveals an interesting new connection between the topological coverage condition and the notion of weak feature size in geometric sampling theory. We then apply this connection to the problem of showing that for a given scale, if one knows the number of connected components and the distance to the boundary, one can also infer the higher betti numbers or provide strong evidence that more samples are needed. This is in contrast to previous work which merely assumed a good sample and gives no guarantees if the sampling condition is not met.
Persistent Homology and Nested DissectionDon Sheehy
The document discusses using nested dissection and geometric separators to speed up computations of persistent homology. It proposes combining mesh filtrations, geometric separators, nested dissection, and output-sensitive persistence algorithms. This would allow beating the matrix multiplication time bound for computing persistent homology of functions defined on well-spaced point clouds. The technique exploits properties of meshes and separators to allow choosing a pivot order that improves the computation time.
The Persistent Homology of Distance Functions under Random ProjectionDon Sheehy
Given n points P in a Euclidean space, the Johnson-Lindenstrauss lemma guarantees that the distances between pairs of points is preserved up to a small constant factor with high probability by random projection into O(log n) dimensions. In this paper, we show that the persistent homology of the distance function to P is also preserved up to a comparable constant factor. One could never hope to preserve the distance function to P pointwise, but we show that it is preserved sufficiently at the critical points of the distance function to guarantee similar persistent homology. We prove these results in the more general setting of weighted k-th nearest neighbor distances, for which k=1 and all weights equal to zero gives the usual distance to P.
In this talk, I give a gentle introduction to geometric and topological data analysis and then segue into some natural questions that arise when one combines the topological view with the perhaps more well-studied linear algebraic view.
Geometric Separators and the Parabolic LiftDon Sheehy
We present a simplification of the geometric separator algorithm of Miller and Thurston that uses parabolic lifting rather than stereographic projection. The result entirely eliminates the middle phase of that algorithm, which finds a conformal transformation to arrange the points nicely on the sphere.
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsDon Sheehy
We describe a new algorithm for computing the Voronoi diagram of a set of $n$ points in constant-dimensional Euclidean space. The running time of our algorithm is $O(f \log n \log \spread)$ where $f$ is the output complexity of the Voronoi diagram and $\spread$ is the spread of the input, the ratio of largest to smallest pairwise distances. Despite the simplicity of the algorithm and its analysis, it improves on the state of the art for all inputs with polynomial spread and near-linear output size. The key idea is to first build the Voronoi diagram of a superset of the input points using ideas from Voronoi refinement mesh generation. Then, the extra points are removed in a straightforward way that allows the total work to be bounded in terms of the output complexity, yielding the output sensitive bound. The removal only involves local flips and is inspired by kinetic data structures.
The word optimal is used in different ways in mesh generation. It could mean that the output is in some sense, "the best mesh" or that the algorithm is, by some measure, "the best algorithm". One might hope that the best algorithm also produces the best mesh, but maybe some tradeoffs are necessary. In this talk, I will survey several different notions of optimality in mesh generation and explore the different tradeoffs between them. The bias will be towards Delaunay/Voronoi methods.
Output-Sensitive Voronoi Diagrams and Delaunay Triangulations Don Sheehy
Voronoi diagrams and their duals, Delaunay triangulations, are used in many areas of computing and the sciences. Starting in 3-dimensions, there is a substantial (i.e. polynomial) difference between the best case and the worst case complexity of these objects when starting with n points. This motivates the search for algorithms that are output-senstiive rather than relying only on worst-case guarantees. In this talk, I will describe a simple, new algorithm for computing Voronoi diagrams in d-dimensions that runs in O(f log n log spread) time, where f is the output size and the spread of the input points is the ratio of the diameter to the closest pair distance. For a wide range of inputs, this is the best known algorithm. The algorithm is novel in the that it turns the classic algorithm of Delaunay refinement for mesh generation on its head, working backwards from a quality mesh to the Delaunay triangulation of the input. Along the way, we will see instances of several other classic problems for which no higher-dimensional results are known, including kinetic convex hulls and splitting Delaunay triangulations.
Mesh Generation and Topological Data AnalysisDon Sheehy
The document discusses mesh generation as a preprocessing step for topological data analysis (TDA). It describes how mesh generation can be used to decompose a domain into simple elements to approximate functions and compute persistence diagrams. Specifically, generating a quality Voronoi mesh allows the Voronoi filtration to approximate the sublevel filtration of the function and provide a good approximation of the persistence diagram. While meshing may not seem like an obvious approach for TDA, the document argues it can provide the necessary geometric and topological guarantees to make it a valid preprocessing step.
SOCG: Linear-Size Approximations to the Vietoris-Rips FiltrationDon Sheehy
The document describes the Vietoris-Rips filtration, which encodes the topology of a metric space when viewed at different scales. It introduces two tricks to create a linear-size approximation of the Vietoris-Rips filtration: 1) embedding the zigzag filtration in a topologically equivalent standard filtration, and 2) perturbing the metric so that the persistence module does not zigzag. The result is that given a metric space with n points, there exists a zigzag filtration of size O(n) whose persistence diagram approximates that of the Rips filtration. It then describes how to construct this approximating zigzag filtration using net trees and projecting the metric space onto a Delone set.
Linear-Size Approximations to the Vietoris-Rips Filtration - Presented at Uni...Don Sheehy
This document describes a method for approximating the Vietoris-Rips filtration of a finite metric space using a zigzag filtration. The method involves two key steps: 1) embedding the zigzag filtration in a topologically equivalent standard filtration, and 2) perturbing the metric so that the persistence module does not zigzag at the homology level. The result is that given a metric space with n points, there exists a zigzag filtration of size O(n) whose persistence diagram (1+ε)-approximates that of the Rips filtration. This provides a linear-size approximation to compute topological persistence for large data sets.
Often, high dimensional data lie
close to a low-dimensional submanifold and it is of interest to understand the geometry of these submanifolds.
The homology groups of a manifold are important topological invariants that provide an algebraic summary of the manifold.
These groups contain rich topological information, for instance, about the connected components, holes, tunnels and sometimes the dimension of the manifold.
In this paper, we consider the statistical problem of estimating the homology of a manifold from noisy samples under several different noise models.
We derive upper and lower bounds on the minimax risk for this problem.
Our upper bounds are based on estimators which are constructed from a union of balls of appropriate radius around carefully selected points.
In each case we establish complementary lower bounds using Le Cam's lemma.
A Multicover Nerve for Geometric InferenceDon Sheehy
We show that filtering the barycentric decomposition of a Cech complex by the cardinality of the vertices captures precisely the topology of k-covered regions among a collection of balls for all values of k.
Moreover, we relate this result to the Vietoris-Rips complex to get an approximation in terms of the persistent homology.
ATMCS: Linear-Size Approximations to the Vietoris-Rips FiltrationDon Sheehy
1) The paper presents a method to approximate the Vietoris-Rips filtration using a zigzag filtration of linear size.
2) It embeds the zigzag filtration into an equivalent standard filtration and perturbs the metric so that the zigzag does not occur at the homology level.
3) This results in a zigzag filtration of size O(n) whose persistence diagram provides a (1+ε)-approximation of the persistence diagram for the Vietoris-Rips filtration.
In this talk, we will be looking at a basic primitive in computational geometry, the flip. Also known as bistellar flips, edge-flips, rotations, and Pachner moves, this local change operation has been discovered and rediscovered in a variety of fields (thus the many names) and has proven useful both as an algorithmic tool as well as a proof technology. For algorithm designers working outside of computational geometry, one can consider the flip move as a higher dimensional analog of the tree rotations used in binary trees. I will survey some of the most important results about flips with an emphasis on developing a general geometric intuition that has led to many advances.
Beating the Spread: Time-Optimal Point MeshingDon Sheehy
We present NetMesh, a new algorithm that produces a conforming Delaunay mesh for point sets in any fixed dimension with guaranteed optimal mesh size and quality.
Our comparison based algorithm runs in time $O(n\log n + m)$, where $n$ is the input size and $m$ is the output size, and with constants depending only on the dimension and the desired element quality bounds.
It can terminate early in $O(n\log n)$ time returning a $O(n)$ size Voronoi diagram of a superset of $P$ with a relaxed quality bound, which again matches the known lower bounds.
The previous best results in the comparison model depended on the log of the <b>spread</b> of the input, the ratio of the largest to smallest pairwise distance among input points.
We reduce this dependence to $O(\log n)$ by using a sequence of $\epsilon$-nets to determine input insertion order in an incremental Voronoi diagram.
We generate a hierarchy of well-spaced meshes and use these to show that the complexity of the Voronoi diagram stays linear in the number of points throughout the construction.
In topological inference, the goal is to extract information about a shape, given only a sample of points from it. There are many approaches to this problem, but the one we focus on is persistent homology. We get a view of the data at different scales by imagining the points are balls and consider different radii. The shape information we want comes in the form of a persistence diagram, which describes the components, cycles, bubbles, etc in the space that persist over a range of different scales.
To actually compute a persistence diagram in the geometric setting, previous work required complexes of size n^O(d). We reduce this complexity to O(n) (hiding some large constants depending on d) by using ideas from mesh generation.
This talk will not assume any knowledge of topology. This is joint work with Gary Miller, Benoit Hudson, and Steve Oudot.
3. Goals 2
A new meshing algorithm.
O(n log n + m) - Optimal
- Output-sensitive
4. Goals 2
A new meshing algorithm.
O(n log n + m) - Optimal
- Output-sensitive
A more general view of the meshing problem.
5. Goals 2
A new meshing algorithm.
O(n log n + m) - Optimal
- Output-sensitive
A more general view of the meshing problem.
Some nice theory.
6. Meshing 3
Input: P ⊂ Rd
Output: M ⊃ P with a “nice” Voronoi diagram
7. Meshing 3
Input: P ⊂ Rd
Output: M ⊃ P with a “nice” Voronoi diagram
8. Meshing 3
Input: P ⊂ Rd
Output: M ⊃ P with a “nice” Voronoi diagram
Why?
9. Meshing 3
Input: P ⊂ Rd
Output: M ⊃ P with a “nice” Voronoi diagram
Why?
- discretize space
10. Meshing 3
Input: P ⊂ Rd
Output: M ⊃ P with a “nice” Voronoi diagram
Why?
- discretize space
- respect the input density
11. Meshing 3
Input: P ⊂ Rd
Output: M ⊃ P with a “nice” Voronoi diagram
Why?
- discretize space
- respect the input density
- applications: represent functions
12. Meshing 3
Input: P ⊂ Rd
Output: M ⊃ P with a “nice” Voronoi diagram
Why?
- discretize space
- respect the input density
- applications: represent functions
- Finite Element Method
13. Meshing 3
Input: P ⊂ Rd
Output: M ⊃ P with a “nice” Voronoi diagram
Why?
- discretize space
- respect the input density
- applications: represent functions
- Finite Element Method
- Topological Data Analysis
30. Metric Nets 5
“Nets catch everything that’s big.”
Definition 1. Given a metric space X, a metric ε-net
is a set N ⊂ X such that
1. x, y ∈ N ⇒ d(x, y) ≥ ε
2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε
31. Metric Nets 5
“Nets catch everything that’s big.”
Definition 1. Given a metric space X, a metric ε-net
is a set N ⊂ X such that
1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing
2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε
32. Metric Nets 5
“Nets catch everything that’s big.”
Definition 1. Given a metric space X, a metric ε-net
is a set N ⊂ X such that
1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing
2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering
33. Metric Nets 5
“Nets catch everything that’s big.”
Definition 1. Given a metric space X, a metric ε-net
is a set N ⊂ X such that
1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing
2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering
34. Metric Nets 5
“Nets catch everything that’s big.”
Definition 1. Given a metric space X, a metric ε-net
is a set N ⊂ X such that
1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing
2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering
Example: Bounded Euclidean Space
35. Metric Nets 5
“Nets catch everything that’s big.”
Definition 1. Given a metric space X, a metric ε-net
is a set N ⊂ X such that
1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing
2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering
Example: Bounded Euclidean Space
36. Metric Nets 5
“Nets catch everything that’s big.”
Definition 1. Given a metric space X, a metric ε-net
is a set N ⊂ X such that
1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing
2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering
Example: Bounded Euclidean Space
Related to ball packing of radius ε/2.
37. Metric Nets 5
“Nets catch everything that’s big.”
Definition 1. Given a metric space X, a metric ε-net
is a set N ⊂ X such that
1. x, y ∈ N ⇒ d(x, y) ≥ ε Packing
2. x ∈ X ⇒ ∃y ∈ N : d(x, y) ≤ ε Covering
Example: Bounded Euclidean Space
Related to ball packing of radius ε/2.
39. Meshes as Metric Nets 6
The underlying metric is not Euclidean (but it’s close).
40. Meshes as Metric Nets 6
The underlying metric is not Euclidean (but it’s close).
image source: Alice Project, INRIA
41. Meshes as Metric Nets 6
The underlying metric is not Euclidean (but it’s close).
Metric is scaled according the the “feature size”.
image source: Alice Project, INRIA
42. Meshes as Metric Nets 6
The underlying metric is not Euclidean (but it’s close).
Metric is scaled according the the “feature size”.
image source: Alice Project, INRIA
43. Meshes as Metric Nets 6
The underlying metric is not Euclidean (but it’s close).
Metric is scaled according the the “feature size”.
Quality = bounded aspect ratio
image source: Alice Project, INRIA
45. The Greedy Net Algorithm and SVR 7
Add the farthest point from the current set.
Repeat.
46. The Greedy Net Algorithm and SVR 7
Add the farthest point from the current set.
Repeat.
Harder for infinite metric spaces.
- Figure out the metric
- Decide input or Steiner
- Do point location work
47. The Greedy Net Algorithm and SVR 7
Add the farthest point from the current set.
Repeat.
Harder for infinite metric spaces.
- Figure out the metric
- Decide input or Steiner
- Do point location work
Sparse Voronoi Refinement [Hudson, Miller, Phillips 2006]
52. Quality Meshes 9
D-Balls are Constant Ply
Total Complexity is linear in |M|
No D-ball intersects more than O(1) others.
53. Point Location and Geometric D&C 10
Idea: Store the uninserted points in the D-balls.
When the balls change, make local updates.
Lemma (HMP06). A point is touched at most
a constant number of times before the radius of
the largest D-ball containing it goes down by a
factor of 2.
Geometric Divide and Conquer: O(n log ∆)
54. Point Location and Geometric D&C 10
Idea: Store the uninserted points in the D-balls.
When the balls change, make local updates.
Lemma (HMP06). A point is touched at most
a constant number of times before the radius of
the largest D-ball containing it goes down by a
factor of 2.
Geometric Divide and Conquer: O(n log ∆)
55. Point Location and Geometric D&C 10
Idea: Store the uninserted points in the D-balls.
When the balls change, make local updates.
Lemma (HMP06). A point is touched at most
a constant number of times before the radius of
the largest D-ball containing it goes down by a
factor of 2.
Geometric Divide and Conquer: O(n log ∆)
56. Point Location and Geometric D&C 10
Idea: Store the uninserted points in the D-balls.
When the balls change, make local updates.
Lemma (HMP06). A point is touched at most
a constant number of times before the radius of
the largest D-ball containing it goes down by a
factor of 2.
Geometric Divide and Conquer: O(n log ∆)
57. Point Location and Geometric D&C 10
Idea: Store the uninserted points in the D-balls.
When the balls change, make local updates.
Lemma (HMP06). A point is touched at most
a constant number of times before the radius of
the largest D-ball containing it goes down by a
factor of 2.
Geometric Divide and Conquer: O(n log ∆)
62. We replace quality with hierarchical quality. 11
Inside the cage: Old definition of quality.
63. We replace quality with hierarchical quality. 11
Inside the cage: Old definition of quality.
Outside: Treat the whole cage as a single object.
64. We replace quality with hierarchical quality. 11
Inside the cage: Old definition of quality.
Outside: Treat the whole cage as a single object.
All the same properties as quality meshes: ply, degree, etc.
69. With hierarchical meshes, we can add inputs 12
in any order!
Goal: Combinatorial Divide and Conquer
Old: Progress was decreasing the radius by a factor of 2.
70. With hierarchical meshes, we can add inputs 12
in any order!
Goal: Combinatorial Divide and Conquer
Old: Progress was decreasing the radius by a factor of 2.
New: Decrease number of points in a ball by a factor of 2.
71. Range Nets 13
“Nets catch everything that’s big.”
72. Range Nets 13
“Nets catch everything that’s big.”
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).
73. Range Nets 13
“Nets catch everything that’s big.”
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.
74. Range Nets 13
“Nets catch everything that’s big.”
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 .
75. Range Nets 13
“Nets catch everything that’s big.”
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.
76. Ordering the inputs 14
For each D-Ball, select a 1/2d-net of the points it contains.
Take the union of these nets and call it a round.
Insert these.
Repeat.
77. Ordering the inputs 14
For each D-Ball, select a 1/2d-net of the points it contains.
Take the union of these nets and call it a round.
Insert these.
Repeat.
78. Ordering the inputs 14
For each D-Ball, select a 1/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 14
For each D-Ball, select a 1/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 14
For each D-Ball, select a 1/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 14
For each D-Ball, select a 1/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 .
82. Ordering the inputs 14
For each D-Ball, select a 1/2d-net of the points it contains.
Take the union of these nets and call it a round.
Insert these.
Repeat.
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 .
83. The D-Ball Covering Lemma 15
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. The D-Ball Covering Lemma 15
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 .
Proof is constructive using Carathéodory’s Theorem.
85. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
86. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
x
87. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
x
88. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y
x
89. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y
x
90. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y y touches x => y is “close” to x
close = 2 hops among D-balls
x
91. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y y touches x => y is “close” to x
close = 2 hops among D-balls
x
92. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y y touches x => y is “close” to x
close = 2 hops among D-balls
Only O(1) D-balls are within 2 hops.
x
93. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y y touches x => y is “close” to x
close = 2 hops among D-balls
Only O(1) D-balls are within 2 hops.
x
x
94. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y y touches x => y is “close” to x
close = 2 hops among D-balls
Only O(1) D-balls are within 2 hops.
x
x
95. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y y touches x => y is “close” to x
close = 2 hops among D-balls
Only O(1) D-balls are within 2 hops.
x
x
96. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y y touches x => y is “close” to x
close = 2 hops among D-balls
Only O(1) D-balls are within 2 hops.
x
Only O(1) points are added x
to any D-ball in a round.
97. Amortized Cost of a Round is O(n) 16
Watch an uninserted point x.
Claim: x only gets touched O(1) times per round.
y y touches x => y is “close” to x
close = 2 hops among D-balls
Only O(1) D-balls are within 2 hops.
x
Only O(1) points are added x
to any D-ball in a round.
O(n) total work per round.
105. Summary 17
Meshing
Metric Nets
Geometric D&C
Range Nets
Ball Covering
Combinatorial D&C
Amortized Point Location
106. Summary 17
Meshing
Metric Nets
Geometric D&C
Range Nets
Ball Covering
Combinatorial D&C
Amortized Point Location
Finally, O(n log n + m) point meshing
107. Summary 17
Meshing
Metric Nets
Geometric D&C
Range Nets
Ball Covering
Combinatorial D&C
Amortized Point Location
Finally, O(n log n + m) point meshing
Thanks.