1,758 research outputs found
Chain Reduction for Binary and Zero-Suppressed Decision Diagrams
Chain reduction enables reduced ordered binary decision diagrams (BDDs) and
zero-suppressed binary decision diagrams (ZDDs) to each take advantage of the
others' ability to symbolically represent Boolean functions in compact form.
For any Boolean function, its chain-reduced ZDD (CZDD) representation will be
no larger than its ZDD representation, and at most twice the size of its BDD
representation. The chain-reduced BDD (CBDD) of a function will be no larger
than its BDD representation, and at most three times the size of its CZDD
representation. Extensions to the standard algorithms for operating on BDDs and
ZDDs enable them to operate on the chain-reduced versions. Experimental
evaluations on representative benchmarks for encoding word lists, solving
combinatorial problems, and operating on digital circuits indicate that chain
reduction can provide significant benefits in terms of both memory and
execution time
Noncooperative algorithms in self-assembly
We show the first non-trivial positive algorithmic results (i.e. programs
whose output is larger than their size), in a model of self-assembly that has
so far resisted many attempts of formal analysis or programming: the planar
non-cooperative variant of Winfree's abstract Tile Assembly Model.
This model has been the center of several open problems and conjectures in
the last fifteen years, and the first fully general results on its
computational power were only proven recently (SODA 2014). These results, as
well as ours, exemplify the intricate connections between computation and
geometry that can occur in self-assembly.
In this model, tiles can stick to an existing assembly as soon as one of
their sides matches the existing assembly. This feature contrasts with the
general cooperative model, where it can be required that tiles match on
\emph{several} of their sides in order to bind.
In order to describe our algorithms, we also introduce a generalization of
regular expressions called Baggins expressions. Finally, we compare this model
to other automata-theoretic models.Comment: A few bug fixes and typo correction
Run Generation Revisited: What Goes Up May or May Not Come Down
In this paper, we revisit the classic problem of run generation. Run
generation is the first phase of external-memory sorting, where the objective
is to scan through the data, reorder elements using a small buffer of size M ,
and output runs (contiguously sorted chunks of elements) that are as long as
possible.
We develop algorithms for minimizing the total number of runs (or
equivalently, maximizing the average run length) when the runs are allowed to
be sorted or reverse sorted. We study the problem in the online setting, both
with and without resource augmentation, and in the offline setting.
(1) We analyze alternating-up-down replacement selection (runs alternate
between sorted and reverse sorted), which was studied by Knuth as far back as
1963. We show that this simple policy is asymptotically optimal. Specifically,
we show that alternating-up-down replacement selection is 2-competitive and no
deterministic online algorithm can perform better.
(2) We give online algorithms having smaller competitive ratios with resource
augmentation. Specifically, we exhibit a deterministic algorithm that, when
given a buffer of size 4M , is able to match or beat any optimal algorithm
having a buffer of size M . Furthermore, we present a randomized online
algorithm which is 7/4-competitive when given a buffer twice that of the
optimal.
(3) We demonstrate that performance can also be improved with a small amount
of foresight. We give an algorithm, which is 3/2-competitive, with
foreknowledge of the next 3M elements of the input stream. For the extreme case
where all future elements are known, we design a PTAS for computing the optimal
strategy a run generation algorithm must follow.
(4) Finally, we present algorithms tailored for nearly sorted inputs which
are guaranteed to have optimal solutions with sufficiently long runs
Improved Parallel Rabin-Karp Algorithm Using Compute Unified Device Architecture
String matching algorithms are among one of the most widely used algorithms
in computer science. Traditional string matching algorithms efficiency of
underlaying string matching algorithm will greatly increase the efficiency of
any application. In recent years, Graphics processing units are emerged as
highly parallel processor. They out perform best of the central processing
units in scientific computation power. By combining recent advancement in
graphics processing units with string matching algorithms will allows to speed
up process of string matching. In this paper we proposed modified parallel
version of Rabin-Karp algorithm using graphics processing unit. Based on that,
result of CPU as well as parallel GPU implementations are compared for
evaluating effect of varying number of threads, cores, file size as well as
pattern size.Comment: Information and Communication Technology for Intelligent Systems
(ICTIS 2017
Knuthian Drawings of Series-Parallel Flowcharts
Inspired by a classic paper by Knuth, we revisit the problem of drawing
flowcharts of loop-free algorithms, that is, degree-three series-parallel
digraphs. Our drawing algorithms show that it is possible to produce Knuthian
drawings of degree-three series-parallel digraphs with good aspect ratios and
small numbers of edge bends.Comment: Full versio
A Portable High-Quality Random Number Generator for Lattice Field Theory Simulations
The theory underlying a proposed random number generator for numerical
simulations in elementary particle physics and statistical mechanics is
discussed. The generator is based on an algorithm introduced by Marsaglia and
Zaman, with an important added feature leading to demonstrably good statistical
properties. It can be implemented exactly on any computer complying with the
IEEE--754 standard for single precision floating point arithmetic.Comment: pages 0-19, ps-file 174404 bytes, preprint DESY 93-13
Growth and characterization of GaAs nanowires on carbon nanotubes composite films: toward flexible nanodevices
Poly(ethylene imine) functionalized carbon nanotube thin films, prepared
using the vacuum filtration method, were decorated with Au nanoparticles by in
situ reduction of HAuCl4 under mild conditions. These Au nanoparticles were
subsequently employed for the growth of GaAs nanowires (NWs) by the
vapor-liquid-solid process in a gas source molecular beam epitaxy system. The
process resulted in the dense growth of GaAs NWs across the entire surface of
the single-walled nanotube (SWNT) films. The NWs, which were orientated in a
variety of angles with respect to the SWNT films, ranged in diameter between 20
to 200 nm, with heights up to 2.5 um. Transmission electron microscopy analysis
of the NW-SWNT interface indicated that NW growth was initiated upon the
surface of the nanotube composite films. Photoluminescence characterization of
a single NW specimen showed high optical quality. Rectifying asymmetric
current-voltage behavior was observed from contacted NW ensembles and
attributed to the core-shell pn-junction within the NWs. Potential applications
of such novel hybrid architectures include flexible solar cells, displays, and
sensors
Pattern Avoidance in Poset Permutations
We extend the concept of pattern avoidance in permutations on a totally
ordered set to pattern avoidance in permutations on partially ordered sets. The
number of permutations on that avoid the pattern is denoted
. We extend a proof of Simion and Schmidt to show that for any poset , and we exactly classify the posets for which
equality holds.Comment: 13 pages, 1 figure; v2: corrected typos; v3: corrected typos and
improved formatting; v4: to appear in Order; v5: corrected typos; v6: updated
author email addresse
Primality Testing with Artin Symbols
Wetensch. publicati
New Variants of Pattern Matching with Constants and Variables
Given a text and a pattern over two types of symbols called constants and
variables, the parameterized pattern matching problem is to find all
occurrences of substrings of the text that the pattern matches by substituting
a variable in the text for each variable in the pattern, where the substitution
should be injective. The function matching problem is a variant of it that
lifts the injection constraint. In this paper, we discuss variants of those
problems, where one can substitute a constant or a variable for each variable
of the pattern. We give two kinds of algorithms for both problems, a
convolution-based method and an extended KMP-based method, and analyze their
complexity.Comment: 15 pages, 2 figure
- …