20,309 research outputs found
Composite repetition-aware data structures
In highly repetitive strings, like collections of genomes from the same
species, distinct measures of repetition all grow sublinearly in the length of
the text, and indexes targeted to such strings typically depend only on one of
these measures. We describe two data structures whose size depends on multiple
measures of repetition at once, and that provide competitive tradeoffs between
the time for counting and reporting all the exact occurrences of a pattern, and
the space taken by the structure. The key component of our constructions is the
run-length encoded BWT (RLBWT), which takes space proportional to the number of
BWT runs: rather than augmenting RLBWT with suffix array samples, we combine it
with data structures from LZ77 indexes, which take space proportional to the
number of LZ77 factors, and with the compact directed acyclic word graph
(CDAWG), which takes space proportional to the number of extensions of maximal
repeats. The combination of CDAWG and RLBWT enables also a new representation
of the suffix tree, whose size depends again on the number of extensions of
maximal repeats, and that is powerful enough to support matching statistics and
constant-space traversal.Comment: (the name of the third co-author was inadvertently omitted from
previous version
Provably Correct Floating-Point Implementation of a Point-In-Polygon Algorithm
The problem of determining whether or not a point lies inside a given polygon occurs in many applications. In air traffic management concepts, a correct solution to the point-in-polygon problem is critical to geofencing systems for Unmanned Aerial Vehicles and in weather avoidance applications. Many mathematical methods can be used to solve the point-in-polygon problem. Unfortunately, a straightforward floating- point implementation of these methods can lead to incorrect results due to round-off errors. In particular, these errors may cause the control flow of the program to diverge with respect to the ideal real-number algorithm. This divergence potentially results in an incorrect point-in- polygon determination even when the point is far from the edges of the polygon. This paper presents a provably correct implementation of a point-in-polygon method that is based on the computation of the winding number. This implementation is mechanically generated from a source- to-source transformation of the ideal real-number specification of the algorithm. The correctness of this implementation is formally verified within the Frama-C analyzer, where the proof obligations are discharged using the Prototype Verification System (PVS)
Patrolling a Street Network is Strongly NP-Complete but in P for Tree Structures
We consider the following problem: Given a finite set of straight line
segments in the plane, determine the positions of a minimal number of points on
the segments, from which guards can see all segments. This problem can be
interpreted as looking for a minimal number of locations of policemen, guards,
cameras or other sensors, that can observe a network of streets, corridors,
tunnels, tubes, etc. We show that the problem is strongly NP-complete even for
a set of segments with a cubic graph structure, but in P for tree structures
Drawing Arrangement Graphs In Small Grids, Or How To Play Planarity
We describe a linear-time algorithm that finds a planar drawing of every
graph of a simple line or pseudoline arrangement within a grid of area
O(n^{7/6}). No known input causes our algorithm to use area
\Omega(n^{1+\epsilon}) for any \epsilon>0; finding such an input would
represent significant progress on the famous k-set problem from discrete
geometry. Drawing line arrangement graphs is the main task in the Planarity
puzzle.Comment: 12 pages, 8 figures. To appear at 21st Int. Symp. Graph Drawing,
Bordeaux, 201
- …