scispace - formally typeset
Search or ask a question

Showing papers by "Michael T. Goodrich published in 2017"


Proceedings ArticleDOI
09 May 2017
TL;DR: New dynamic set intersection data structures, which are called 2-3 cuckoo filters and hash tables, are introduced, demonstrating the utility of these structures by using them in improved algorithms for listing triangles and answering set intersection queries in internal or external memory.
Abstract: We introduce new dynamic set intersection data structures, which we call 2-3 cuckoo filters and hash tables. These structures differ from the standard cuckoo hash tables and cuckoo filters in that they choose two out of three locations to store each item, instead of one out of two, ensuring that any item in an intersection of two structures will have at least one common location in both structures. We demonstrate the utility of these structures by using them in improved algorithms for listing triangles and answering set intersection queries in internal or external memory. For a graph G of n vertices and m edges, our internal-memory triangle listing algorithm runs in O(m⌈(α(G)log w)/w⌉ + k) expected time, where α(G) is the arboricity of G, w is the number of bits in a machine word, and k is the number of output triangles. Our external-memory algorithm uses O(sort(n,α(G))+ sort(m⌈(α(G)log w)/w⌉) + sort(k)) expected number of I/Os.

27 citations


Posted Content
TL;DR: This work builds secure fingerprint alignment and matching protocols in both the two- party setting using garbled circuit evaluation and in the multi-party setting using secret sharing techniques, and designs a number of secure sub-protocols for complex operations such as sine, cosine, arctangent, square root, and selection.
Abstract: We present three private fingerprint alignment and matching protocols, based on what are considered to be the most precise and efficient fingerprint recognition algorithms, which use minutia points. Our protocols allow two or more honest-but-curious parties to compare their respective privately-held fingerprints in a secure way such that they each learn nothing more than an accurate score of how well the fingerprints match. To the best of our knowledge, this is the first time fingerprint alignment based on minutiae is considered in a secure computation framework. We build secure fingerprint alignment and matching protocols in both the two-party setting using garbled circuit evaluation and in the multi-party setting using secret sharing techniques. In addition to providing precise and efficient secure fingerprint alignment and matching, our contributions include the design of a number of secure sub-protocols for complex operations such as sine, cosine, arctangent, square root, and selection, which are likely to be of independent interest.

12 citations


Posted Content
TL;DR: The problem of defining geographic districts in road networks that are equitable, in that every district has the same number of vertices and the assignment is stable in terms of geographic distance, can be solved in O(n √ n log n) time.
Abstract: We introduce a novel method for defining geographic districts in road networks using stable matching. In this approach, each geographic district is defined in terms of a center, which identifies a location of interest, such as a post office or polling place, and all other network vertices must be labeled with the center to which they are associated. We focus on defining geographic districts that are equitable, in that every district has the same number of vertices and the assignment is stable in terms of geographic distance. That is, there is no unassigned vertex-center pair such that both would prefer each other over their current assignments. We solve this problem using a version of the classic stable matching problem, called symmetric stable matching, in which the preferences of the elements in both sets obey a certain symmetry. In our case, we study a graph-based version of stable matching in which nodes are stably matched to a subset of nodes denoted as centers, prioritized by their shortest-path distances, so that each center is apportioned a certain number of nodes. We show that, for a planar graph or road network with $n$ nodes and $k$ centers, the problem can be solved in $O(n\sqrt{n}\log n)$ time, which improves upon the $O(nk)$ runtime of using the classic Gale-Shapley stable matching algorithm when $k$ is large. Finally, we provide experimental results on road networks for these algorithms and a heuristic algorithm that performs better than the Gale-Shapley algorithm for any range of values of $k$.

9 citations


Proceedings ArticleDOI
07 Nov 2017
TL;DR: In this article, the authors define geographic districts in road networks using stable matching, where each geographic district is defined in terms of a center, which identifies a location of interest, such as a post office or polling place, and all other network vertices must be associated with the center to which they are associated.
Abstract: We introduce a novel method for defining geographic districts in road networks using stable matching. In this approach, each geographic district is defined in terms of a center, which identifies a location of interest, such as a post office or polling place, and all other network vertices must be labeled with the center to which they are associated. We focus on defining geographic districts that are equitable, in that every district has the same number of vertices and the assignment is stable in terms of geographic distance. That is, there is no unassigned vertex-center pair such that both would prefer each other over their current assignments. We solve this problem using a version of the classic stable matching problem, called symmetric stable matching, in which the preferences of the elements in both sets obey a certain symmetry. We show that, for a planar graph or road network with n nodes and k centers, the problem can be solved in O(n √ n log n) time, which improves upon the O(nk) runtime of using the classic Gale--Shapley stable matching algorithm when k is large. Finally, we provide experimental results on road networks for these algorithms and a heuristic algorithm that performs better than the Gale--Shapley algorithm for any range of values of k.

8 citations


Book ChapterDOI
19 Jun 2017
TL;DR: In this article, a discrete version of the stable k-means problem is studied, in which points in the plane are matched to cluster centers, as prioritized by their distances, so that each cluster center is apportioned a set of points of equal area.
Abstract: We study a discrete version of a geometric stable marriage problem originally proposed in a continuous setting by Hoffman, Holroyd, and Peres, in which points in the plane are stably matched to cluster centers, as prioritized by their distances, so that each cluster center is apportioned a set of points of equal area. We show that, for a discretization of the problem to an \(n\times n\) grid of pixels with k centers, the problem can be solved in time \(O(n^2 \log ^5 n)\), and we experiment with two slower but more practical algorithms and a hybrid method that switches from one of these algorithms to the other to gain greater efficiency than either algorithm alone. We also show how to combine geometric stable matchings with a k-means clustering algorithm, so as to provide a geometric political-districting algorithm that views distance in economic terms, and we experiment with weighted versions of stable k-means in order to improve the connectivity of the resulting clusters.

7 citations


Proceedings ArticleDOI
01 Jan 2017
TL;DR: This work introduces and study the online house numbering problem, where houses are added arbitrarily along a road and must be assigned labels to maintain their ordering along the road, and provides several algorithms that achieve interesting tradeoffs between upper bounds on the number of maximum relabels per element and theNumber of bits used by labels.
Abstract: We introduce and study the online house numbering problem, where houses are added arbitrarily along a road and must be assigned labels to maintain their ordering along the road. The online house numbering problem is related to classic online list labeling problems, except that the optimization goal here is to minimize the maximum number of times that any house is relabeled. We provide several algorithms that achieve interesting tradeoffs between upper bounds on the number of maximum relabels per element and the number of bits used by labels.

2 citations


Posted Content
TL;DR: A discrete version of a geometric stable marriage problem originally proposed in a continuous setting, in which points in the plane are stably matched to cluster centers, so that each cluster center is apportioned a set of points of equal area, is studied.
Abstract: We study a discrete version of a geometric stable marriage problem originally proposed in a continuous setting by Hoffman, Holroyd, and Peres, in which points in the plane are stably matched to cluster centers, as prioritized by their distances, so that each cluster center is apportioned a set of points of equal area. We show that, for a discretization of the problem to an $n\times n$ grid of pixels with $k$ centers, the problem can be solved in time $O(n^2 \log^5 n)$, and we experiment with two slower but more practical algorithms and a hybrid method that switches from one of these algorithms to the other to gain greater efficiency than either algorithm alone. We also show how to combine geometric stable matchings with a $k$-means clustering algorithm, so as to provide a geometric political-districting algorithm that views distance in economic terms, and we experiment with weighted versions of stable $k$-means in order to improve the connectivity of the resulting clusters.

2 citations


Proceedings ArticleDOI
24 Jul 2017
TL;DR: This work uses multi-level parallelism and a new type of data structures, known as 2-3 cuckoo filters, to answer set intersection queries faster than previous methods, with applications to improved sparse Boolean matrix multiplication.
Abstract: We use multi-level parallelism and a new type of data structures, known as 2-3 cuckoo filters, to answer set intersection queries faster than previous methods, with applications to improved sparse Boolean matrix multiplication.

2 citations