52,451 research outputs found
A Study of Optimal 4-bit Reversible Toffoli Circuits and Their Synthesis
Optimal synthesis of reversible functions is a non-trivial problem. One of
the major limiting factors in computing such circuits is the sheer number of
reversible functions. Even restricting synthesis to 4-bit reversible functions
results in a huge search space (16! {\approx} 2^{44} functions). The output of
such a search alone, counting only the space required to list Toffoli gates for
every function, would require over 100 terabytes of storage. In this paper, we
present two algorithms: one, that synthesizes an optimal circuit for any 4-bit
reversible specification, and another that synthesizes all optimal
implementations. We employ several techniques to make the problem tractable. We
report results from several experiments, including synthesis of all optimal
4-bit permutations, synthesis of random 4-bit permutations, optimal synthesis
of all 4-bit linear reversible circuits, synthesis of existing benchmark
functions; we compose a list of the hardest permutations to synthesize, and
show distribution of optimal circuits. We further illustrate that our proposed
approach may be extended to accommodate physical constraints via reporting
LNN-optimal reversible circuits. Our results have important implications in the
design and optimization of reversible and quantum circuits, testing circuit
synthesis heuristics, and performing experiments in the area of quantum
information processing.Comment: arXiv admin note: substantial text overlap with arXiv:1003.191
Synthesis of Safe, QoS Extendible, Application Specific Schedulers for Heterogeneous Real-Time Systems
We present a new scheduler architecture, which permits adding QoS (quality of service) policies to the scheduling decisions. We also present a new scheduling synthesis method which allows a designer to obtain a safe scheduler for a particular application. Our scheduler architecture and scheduler synthesis method can be used for heterogeneous applications where the tasks communicate through various synchronization primitives. We present a prototype implementation of this scheduler architecture and related mechanisms on top of an open-source OS (operating system) for embedded systems
Synthesising Graphical Theories
In recent years, diagrammatic languages have been shown to be a powerful and
expressive tool for reasoning about physical, logical, and semantic processes
represented as morphisms in a monoidal category. In particular, categorical
quantum mechanics, or "Quantum Picturalism", aims to turn concrete features of
quantum theory into abstract structural properties, expressed in the form of
diagrammatic identities. One way we search for these properties is to start
with a concrete model (e.g. a set of linear maps or finite relations) and start
composing generators into diagrams and looking for graphical identities.
Naively, we could automate this procedure by enumerating all diagrams up to a
given size and check for equalities, but this is intractable in practice
because it produces far too many equations. Luckily, many of these identities
are not primitive, but rather derivable from simpler ones. In 2010, Johansson,
Dixon, and Bundy developed a technique called conjecture synthesis for
automatically generating conjectured term equations to feed into an inductive
theorem prover. In this extended abstract, we adapt this technique to
diagrammatic theories, expressed as graph rewrite systems, and demonstrate its
application by synthesising a graphical theory for studying entangled quantum
states.Comment: 10 pages, 22 figures. Shortened and one theorem adde
A Framework for Program Development Based on Schematic Proof
Often, calculi for manipulating and reasoning about programs can be recast as calculi for synthesizing programs. The difference involves often only a slight shift of perspective: admitting metavariables into proofs. We propose that such calculi should be implemented in logical frameworks that support this kind of proof construction and that such an implementation can unify program verification and synthesis. Our proposal is illustrated with a worked example developed in Paulson's Isabelle system. We also give examples of existent calculi that are closely related to the methodology we are proposing and others that can be profitably recast using our approach
- …