SearcharxivSearch

arXiv subjects

David Bremner

Publications and source records attributed to David Bremner.

At least 19 recordsLinked to original sources

OOPredictor: Predicting Object-Oriented Accesses using Static Analysis

Object-oriented Programming has become one of the most dominant design paradigms as the separation of concerns and adaptability of design reduce development and maintenance costs. However, the convenience is not without cost. The added indirection inherent in such designs causes excessive pointer chasing, negatively affecting locality, which in turn degrades the performance of cache structures. Furthermore, modern hardware prefetchers are mostly stride prefetchers that are ill-equipped to handle the unpredictability of access patterns generated by pointer chasing. Most software approaches that seek to address this problem resort to profiling the program as it runs, which comes with a significant run-time overhead or requires data from previous runs. In this paper, we propose the use of compile-time static analysis to predict the most common access patterns displayed by a program during run time. Since Java is one of the most popular object-oriented languages, we implement our prototype within the OpenJ9 JVM, inside the OMR optimizer infrastructure. The outputs of our proposed predictor are Markov chains that model the expected behavior of the program. The effectiveness of the proposed predictor is evaluated by comparing the model with the actual run-time behavior of the program measured using an instrumented interpreter. Our experiments show that the proposed predictor exhibits good accuracy and can be used to inform minimally intrusive load stall mitigation strategies, e.g. informing copying GCs on more locality-friendly copying orders

cs.PL

Efficient Compilation of Algorithms into Compact Linear Programs

Linear Programming (LP) is widely applied in industry and is a key component of various other mathematical problem-solving techniques. Recent work introduced an LP compiler translating polynomial-time, polynomial-space algorithms into polynomial-size LPs using intuitive high-level programming languages, offering a promising alternative to manually specifying each set of constraints through Algebraic Modeling Languages (AMLs). However, the resulting LPs, while polynomial in size, are often extremely large, posing challenges for existing LP solvers. In this paper, we propose a novel approach for generating substantially smaller LPs from algorithms. Our goal is to establish minimum-size compact LP formulations for problems in P having natural formulations with exponential extension complexities. Our broader vision is to enable the systematic generation of Compact Integer Programming (CIP) formulations for problems with exponential-size IPs having polynomial-time separation oracles. To this end, we introduce a hierarchical linear pipelining technique that decomposes nested program structures into synchronized regions with well-defined execution transitions -- functions of compile-time parameters. This decomposition allows us to localize LP constraints and variables within each region, significantly reducing LP size without the loss of generality, ensuring the resulting LP remains valid for all inputs of size $n$. We demonstrate the effectiveness of our method on two benchmark problems -- the makespan problem, which has exponential extension complexity, and the weighted minimum spanning tree problem -- both of which have exponential-size natural LPs. Our results show up to a $25$-fold reduction in LP size and substantial improvements in solver performance across both commercial and non-commercial LP solvers.

cs.PL

Outer approximations of core points for integer programming

For several decades the dominant techniques for integer linear programming have been branching and cutting planes. Recently, several authors have developed core point methods for solving symmetric integer linear programs (ILPs). An integer point is called a core point if its orbit polytope is lattice-free. It has been shown that for symmetric ILPs, optimizing over the set of core points gives the same answer as considering the entire space. Existing core point techniques rely on the number of core points (or equivalence classes) being finite, which requires special symmetry groups. In this paper we develop some new methods for solving symmetric ILPs (based on outer approximations of core points) that do not depend on finiteness but are more efficient if the group has large disjoint cycles in its set of generators.

math.OC

Sparktope: linear programs from algorithms

In a recent paper Avis, Bremner, Tiwary and Watanabe gave a method for constructing linear programs (LPs) based on algorithms written in a simple programming language called Sparks. If an algorithm produces the solution $x$ to a problem in polynomial time and space then the LP constructed is also of polynomial size and its optimum solution contains $x$ as well as a complete execution trace of the algorithm. Their method led us to the construction of a compiler called Sparktope which we describe in this paper. This compiler allows one to generate polynomial sized LPs for problems in P that have exponential extension complexity, such as matching problems in non-bipartite graphs. In this paper we describe Sparktope, the language Sparks, and the assembler instructions and LP constraints it produces. This is followed by two concrete examples, the makespan problem and the problem of testing if a matching in a graph is maximum, both of which are known to have exponential extension complexity. Computational results are given. In discussing these examples we make use of visualization techniques included in Sparktope that may be of independent interest. The extremely large linear programs produced by the compiler appear to be quite challenging to solve using currently available software. Since the optimum LP solutions can be computed independently they may be useful as benchmarks. Further enhancements of the compiler and its application are also discussed.

cs.DS

Approximate Data Depth Revisited

Halfspace depth and $\beta$-skeleton depth are two types of depth functions in nonparametric data analysis. The halfspace depth of a query point $q\in \mathbb{R}^d$ with respect to $S\subset\mathbb{R}^d$ is the minimum portion of the elements of $S$ which are contained in a halfspace which passes through $q$. For $\beta \geq 1$, the $\beta$-skeleton depth of $q$ with respect to $S$ is defined to be the total number of \emph{$\beta$-skeleton influence regions} that contain $q$, where each of these influence regions is the intersection of two hyperballs obtained from a pair of points in $S$. The $\beta$-skeleton depth introduces a family of depth functions that contain \emph{spherical depth} and \emph{lens depth} if $\beta=1$ and $\beta=2$, respectively. The main results of this paper include approximating the planar halfspace depth and $\beta$-skeleton depth using two different approximation methods. First, the halfspace depth is approximated by the $\beta$-skeleton depth values. For this method, two dissimilarity measures based on the concepts of \emph{fitting function} and \emph{Hamming distance} are defined to train the halfspace depth function by the $\beta$-skeleton depth values obtaining from a given data set. The goodness of this approximation is measured by a function of error values. Secondly, computing the planar $\beta$-skeleton depth is reduced to a combination of some range counting problems. Using existing results on range counting approximations, the planar $\beta$-skeleton depth of a query point is approximated in $O(n\;poly(1/\varepsilon,\log n))$, $\beta\geq 1$. Regarding the $\beta$-skeleton depth functions, it is also proved that this family of depth functions converge when $\beta \to \infty$. Finally, some experimental results are provided to support the proposed method of approximation and convergence of $\beta$-skeleton depth functions.

cs.CG

Computing the Planar $\beta$-skeleton Depth

For $\beta \geq 1$, the \emph{$\beta$-skeleton depth} ($\SkD_\beta$) of a query point $q\in \mathbb{R}^d$ with respect to a distribution function $F$ on $\mathbb{R}^d$ is defined as the probability that $q$ is contained within the \emph{$\beta$-skeleton influence region} of a random pair of points from $F$. The $\beta$-skeleton depth of $q\in \mathbb{R}^d$ can also be defined with respect to a given data set $S\subseteq \mathbb{R}^d$. In this case, computing the $\beta$-skeleton depth is based on counting all of the $\beta$-skeleton influence regions, obtained from pairs of points in $S$, that contain $q$. The $\beta$-skeleton depth introduces a family of depth functions that contains \emph{spherical depth} and \emph{lens depth} for $\beta=1$ and $\beta=2$, respectively. The straightforward algorithm for computing the $\beta$-skeleton depth in dimension $d$ takes $O(dn^2)$. This complexity of computation is a significant advantage of using the $\beta$-skeleton depth in multivariate data analysis because unlike most other data depths, the time complexity of the $\beta$-skeleton depth grows linearly rather than exponentially in the dimension $d$. The main results of this paper include two algorithms. The first one is an optimal algorithm that takes $\Theta(n\log n)$ for computing the planar spherical depth, and the second algorithm with the time complexity of $O(n^{\frac{3}{2}+\epsilon})$ is for computing the planar $\beta$-skeleton depth, $\beta >1$. By reducing the problem of \textit{Element Uniqueness}, we prove that computing the $\beta$-skeleton depth requires $\Omega(n \log n)$ time. Some geometric properties of $\beta$-skeleton depth are also investigated in this paper. These properties indicate that \emph{simplicial depth} ($\SD$) is linearly bounded by $\beta$-skeleton depth. Some experimental bounds for different depth functions are also obtained in this paper.

cs.CG

An Optimal Algorithm for Computing the Spherical Depth of Points in the Plane

For a distribution function $F$ on $\mathbb{R}^d$ and a point $q\in \mathbb{R}^d$, the \emph{spherical depth} $\SphD(q;F)$ is defined to be the probability that a point $q$ is contained inside a random closed hyper-ball obtained from a pair of points from $F$. The spherical depth $\SphD(q;S)$ is also defined for an arbitrary data set $S\subseteq \mathbb{R}^d$ and $q\in \mathbb{R}^d$. This definition is based on counting all of the closed hyper-balls, obtained from pairs of points in $S$, that contain $q$. The significant advantage of using the spherical depth in multivariate data analysis is related to its complexity of computation. Unlike most other data depths, the time complexity of the spherical depth grows linearly rather than exponentially in the dimension $d$. The straightforward algorithm for computing the spherical depth in dimension $d$ takes $O(dn^2)$. The main result of this paper is an optimal algorithm that we present for computing the bivariate spherical depth. The algorithm takes $O(n \log n)$ time. By reducing the problem of \textit{Element Uniqueness}, we prove that computing the spherical depth requires $\Omega(n \log n)$ time. Some geometric properties of spherical depth are also investigated in this paper. These properties indicate that \emph{simplicial depth} ($\SD$) (Liu, 1990) is linearly bounded by spherical depth (in particular, $\SphD\geq \frac{2}{3}SD$). To illustrate this relationship between the spherical depth and the simplicial depth, some experimental results are provided. The obtained experimental bound ($\SphD\geq 2\SD$) indicates that, perhaps, a stronger theoretical bound can be achieved.

cs.CG

Monotone Simultaneous Embeddings of Paths in R^d

We study the following problem: Given $k$ paths that share the same vertex set, is there a simultaneous geometric embedding of these paths such that each individual drawing is monotone in some direction? We prove that for any dimension $d \geq 2$, there is a set of $d+1$ paths that does not admit a monotone simultaneous geometric embedding.

cs.CG

Polynomial size linear programs for problems in P

A perfect matching in an undirected graph $G=(V,E)$ is a set of vertex disjoint edges from $E$ that include all vertices in $V$. The perfect matching problem is to decide if $G$ has such a matching. Recently Rothvo{\ss} proved the striking result that the Edmonds' matching polytope has exponential extension complexity. Here for each $n=|V|$ we describe a perfect matching polytope that is different from Edmonds' polytope and define a weaker notion of extended formulation. We show that the new polytope has a weak extended formulation (WEF) $Q$ of polynomial size. For each graph $G$ with $n$ vertices we can readily construct an objective function so that solving the resulting linear program over $Q$ decides whether or not $G$ has a perfect matching. The construction is uniform in the sense that, for each $n$, a single polytope is defined for the class of all graphs with $n$ nodes. The method extends to solve poly time optimization problems, such as the weighted matching problem. In this case a logarithmic (in the weight of the optimum solution) number of optimizations are made over the constructed WEF. The method described in the paper involves construction of a compiler that converts an algorithm given in a prescribed pseudocode into a polytope. It can therefore be used to construct a polytope for any decision problem in {\bf P} which can be solved by a given algorithm. Compared with earlier results of Dobkin-Lipton-Reiss and Valiant our method allows the construction of explicit linear programs directly from algorithms written for a standard register model, without intermediate transformations. We apply our results to obtain polynomial upper bounds on the non-negative rank of certain slack matrices related to membership testing of languages in {\bf P/Poly}.

cs.DM

Necklaces, Convolutions, and X+Y

We give subquadratic algorithms that, given two necklaces each with n beads at arbitrary positions, compute the optimal rotation of the necklaces to best align the beads. Here alignment is measured according to the p norm of the vector of distances between pairs of beads from opposite necklaces in the best perfect matching. We show surprisingly different results for p = 1, p even, and p = \infty. For p even, we reduce the problem to standard convolution, while for p = \infty and p = 1, we reduce the problem to (min, +) convolution and (median, +) convolution. Then we solve the latter two convolution problems in subquadratic time, which are interesting results in their own right. These results shed some light on the classic sorting X + Y problem, because the convolutions can be viewed as computing order statistics on the antidiagonals of the X + Y matrix. All of our algorithms run in o(n^2) time, whereas the obvious algorithms for these problems run in Θ(n^2) time.

cs.DS

Computing symmetry groups of polyhedra

Knowing the symmetries of a polyhedron can be very useful for the analysis of its structure as well as for practical polyhedral computations. In this note, we study symmetry groups preserving the linear, projective and combinatorial structure of a polyhedron. In each case we give algorithmic methods to compute the corresponding group and discuss some practical experiences. For practical purposes the linear symmetry group is the most important, as its computation can be directly translated into a graph automorphism problem. We indicate how to compute integral subgroups of the linear symmetry group that are used for instance in integer linear programming.

math.CO

More bounds on the diameters of convex polytopes

Finding a good bound on the maximal edge diameter $Δ(d,n)$ of a polytope in terms of its dimension $d$ and the number of its facets $n$ is one of the basic open questions in polytope theory \cite{BG}. Although some bounds are known, the behaviour of the function $Δ(d,n)$ is largely unknown. The Hirsch conjecture, formulated in 1957 and reported in \cite{GD}, states that $Δ(d,n)$ is linear in $n$ and $d$: $Δ(d,n) \leq n-d$. The conjecture is known to hold in small dimensions, i.e., for $d \leq 3$ \cite{VK}, along with other specific pairs of $d$ and $n$ (Table \ref{before}). However, the asymptotic behaviour of $Δ(d,n)$ is not well understood: the best upper bound -- due to Kalai and Kleitman -- is quasi-polynomial \cite{GKDK}. In this article we will show that $Δ(4,12)=7$ and present strong evidence for $Δ(5,12)=Δ(6,13)=7$. The first of these new values is of particular interest since it indicates that the Hirsch bound is not sharp in dimension 4.

math.CO

A Branch and Cut Algorithm for the Halfspace Depth Problem

The concept of \emph{data depth} in non-parametric multivariate descriptive statistics is the generalization of the univariate rank method to multivariate data. \emph{Halfspace depth} is a measure of data depth. Given a set $S$ of points and a point $p$, the halfspace depth (or rank) of $p$ is defined as the minimum number of points of $S$ contained in any closed halfspace with $p$ on its boundary. Computing halfspace depth is NP-hard, and it is equivalent to the Maximum Feasible Subsystem problem. In this paper a mixed integer program is formulated with the big-$M$ method for the halfspace depth problem. We suggest a branch and cut algorithm for these integer programs. In this algorithm, Chinneck's heuristic algorithm is used to find an upper bound and a related technique based on sensitivity analysis is used for branching. Irreducible Infeasible Subsystem (IIS) hitting set cuts are applied. We also suggest a binary search algorithm which may be more numerically stable. The algorithms are implemented with the BCP framework from the \textbf{COIN-OR} project.

cs.CG

Edge-Graph Diameter Bounds for Convex Polytopes with Few Facets

We show that the edge graph of a 6-dimensional polytope with 12 facets has diameter at most 6, thus verifying the d-step conjecture of Klee and Walkup in the case of d=6. This implies that for all pairs (d,n) with n-d \leq 6 the diameter of the edge graph of a d-polytope with n facets is bounded by 6, which proves the Hirsch conjecture for all n-d \leq 6. We show this result by showing this bound for a more general structure -- so-called matroid polytopes -- by reduction to a small number of satisfiability problems.

math.CO

The complexity of the envelope of line and plane arrangements

A facet of an hyperplane arrangement is called external if it belongs to exactly one bounded cell. The set of all external facets forms the envelope of the arrangement. The number of external facets of a simple arrangement defined by $n$ hyperplanes in dimension $d$ is hypothesized to be at least $d{n-2 \choose d-1}$. In this note we show that, for simple arrangements of 4 lines or more, the minimum number of external facets is equal to $2(n-1)$, and for simple arrangements of 5 planes or more, the minimum number of external facets is between $\frac{n(n-2)+6}{3}$ and $(n-4)(2n-3)+5$.

math.MG

Polyhedral representation conversion up to symmetries

We give a short survey on computational techniques which can be used to solve the representation conversion problem for polyhedra up to symmetries. We in particular discuss decomposition methods, which reduce the problem to a number of lower dimensional subproblems. These methods have been successfully used by different authors in special contexts. Moreover, we sketch an incremental method, which is a generalization of Fourier-Motzkin elimination, and we give some ideas how symmetry can be exploited using pivots.

math.MG

Sufficiently Fat Polyhedra are not 2-castable

In this note we consider the problem of manufacturing a convex polyhedral object via casting. We consider a generalization of the sand casting process where the object is manufactured by gluing together two identical faces of parts cast with a single piece mold. In this model we show that the class of convex polyhedra which can be enclosed between two concentric spheres of the ratio of their radii less than 1.07 cannot be manufactured using only two cast parts.

cs.CG

Small Strictly Convex Quadrilateral Meshes of Point Sets

In this paper, we give upper and lower bounds on the number of Steiner points required to construct a strictly convex quadrilateral mesh for a planar point set. In particular, we show that $3{\lfloor\frac{n}{2}\rfloor}$ internal Steiner points are always sufficient for a convex quadrilateral mesh of $n$ points in the plane. Furthermore, for any given $n\geq 4$, there are point sets for which $\lceil\frac{n-3}{2}\rceil-1$ Steiner points are necessary for a convex quadrilateral mesh.

cs.CG