2,922 research outputs found

    Slime mould computes planar shapes

    Full text link
    Computing a polygon defining a set of planar points is a classical problem of modern computational geometry. In laboratory experiments we demonstrate that a concave hull, a connected alpha-shape without holes, of a finite planar set is approximated by slime mould Physarum polycephalum. We represent planar points with sources of long-distance attractants and short-distance repellents and inoculate a piece of plasmodium outside the data set. The plasmodium moves towards the data and envelops it by pronounced protoplasmic tubes

    Finding Convex Hulls Using Quickhull on the GPU

    Full text link
    We present a convex hull algorithm that is accelerated on commodity graphics hardware. We analyze and identify the hurdles of writing a recursive divide and conquer algorithm on the GPU and divise a framework for representing this class of problems. Our framework transforms the recursive splitting step into a permutation step that is well-suited for graphics hardware. Our convex hull algorithm of choice is Quickhull. Our parallel Quickhull implementation (for both 2D and 3D cases) achieves an order of magnitude speedup over standard computational geometry libraries.Comment: 11 page

    Decomposition Methods for Large Scale LP Decoding

    Full text link
    When binary linear error-correcting codes are used over symmetric channels, a relaxed version of the maximum likelihood decoding problem can be stated as a linear program (LP). This LP decoder can be used to decode error-correcting codes at bit-error-rates comparable to state-of-the-art belief propagation (BP) decoders, but with significantly stronger theoretical guarantees. However, LP decoding when implemented with standard LP solvers does not easily scale to the block lengths of modern error correcting codes. In this paper we draw on decomposition methods from optimization theory, specifically the Alternating Directions Method of Multipliers (ADMM), to develop efficient distributed algorithms for LP decoding. The key enabling technical result is a "two-slice" characterization of the geometry of the parity polytope, which is the convex hull of all codewords of a single parity check code. This new characterization simplifies the representation of points in the polytope. Using this simplification, we develop an efficient algorithm for Euclidean norm projection onto the parity polytope. This projection is required by ADMM and allows us to use LP decoding, with all its theoretical guarantees, to decode large-scale error correcting codes efficiently. We present numerical results for LDPC codes of lengths more than 1000. The waterfall region of LP decoding is seen to initiate at a slightly higher signal-to-noise ratio than for sum-product BP, however an error floor is not observed for LP decoding, which is not the case for BP. Our implementation of LP decoding using ADMM executes as fast as our baseline sum-product BP decoder, is fully parallelizable, and can be seen to implement a type of message-passing with a particularly simple schedule.Comment: 35 pages, 11 figures. An early version of this work appeared at the 49th Annual Allerton Conference, September 2011. This version to appear in IEEE Transactions on Information Theor

    Convex Hulls: Surface Mapping onto a Sphere

    Full text link
    Writing an uncomplicated, robust, and scalable three-dimensional convex hull algorithm is challenging and problematic. This includes, coplanar and collinear issues, numerical accuracy, performance, and complexity trade-offs. While there are a number of methods available for finding the convex hull based on geometric calculations, such as, the distance between points, but do not address the technical challenges when implementing a usable solution (e.g., numerical issues and degenerate cloud points). We explain some common algorithm pitfalls and engineering modifications to overcome and solve these limitations. We present a novel iterative method using support mapping and surface projection to create an uncomplicated and robust 2d and 3d convex hull algorithm
    • 

    corecore