199,813 research outputs found
Lazy Image Processing: An Investigation into Applications of Lazy Functional Languages to Image Processing
The suitability of lazy functional languages for image processing applications is investigated by writing several image processing algorithms. The evaluation is done from an application programmer's point of view and the criteria include ease of writing and reading, and efficiency. Lazy functional languages are claimed to have the advantages that they are easy to write and read, as well as efficient. This is partly because these languages have mechanisms to improve modularity, such as higher-order functions. Also, they have the feature that no subexpression is evaluated until its value is required. Hence, unnecessary operations are automatically eliminated, and therefore programs can be executed efficiently. In image processing the amount of data handled is generally so large that much programming effort is typically spent in tasks such as managing memory and routine sequencing operations in order to improve efficiency. Therefore, lazy functional languages should be a good tool to write image processing applications. However, little practical or experimental evidence on this subject has been reported, since image processing has mostly been written in imperative languages. The discussion starts from the implementation of simple algorithms such as pointwise and local operations. It is shown that a large number of algorithms can be composed from a small number of higher-order functions. Then geometric transformations are implemented, for which lazy functional languages are considered to be particularly suitable. As for representations of images, lists and hierarchical data structures including binary trees and quadtrees are implemented. Through the discussion, it is demonstrated that the laziness of the languages improves modularity and efficiency. In particular, no pixel calculation is involved unless the user explicitly requests pixels, and consecutive transformations are straightforward and involve no quantisation errors. The other items discussed include: a method to combine pixel images and images expressed as continuous functions. Some benchmarks are also presented
Deterministic stream-sampling for probabilistic programming: semantics and verification
Probabilistic programming languages rely fundamentally on some notion of sampling, and this is doubly true for probabilistic programming languages which perform Bayesian inference using Monte Carlo techniques. Verifying samplers - proving that they generate samples from the correct distribution - is crucial to the use of probabilistic programming languages for statistical modelling and inference. However, the typical denotational semantics of probabilistic programs is incompatible with deterministic notions of sampling. This is problematic, considering that most statistical inference is performed using pseudorandom number generators.We present a higher-order probabilistic programming language centred on the notion of samplers and sampler operations. We give this language an operational and denotational semantics in terms of continuous maps between topological spaces. Our language also supports discontinuous operations, such as comparisons between reals, by using the type system to track discontinuities. This feature might be of independent interest, for example in the context of differentiable programming.Using this language, we develop tools for the formal verification of sampler correctness. We present an equational calculus to reason about equivalence of samplers, and a sound calculus to prove semantic correctness of samplers, i.e. that a sampler correctly targets a given measure by construction
Deterministic stream-sampling for probabilistic programming: semantics and verification
Probabilistic programming languages rely fundamentally on some notion of
sampling, and this is doubly true for probabilistic programming languages which
perform Bayesian inference using Monte Carlo techniques. Verifying samplers -
proving that they generate samples from the correct distribution - is crucial
to the use of probabilistic programming languages for statistical modelling and
inference. However, the typical denotational semantics of probabilistic
programs is incompatible with deterministic notions of sampling. This is
problematic, considering that most statistical inference is performed using
pseudorandom number generators.
We present a higher-order probabilistic programming language centred on the
notion of samplers and sampler operations. We give this language an operational
and denotational semantics in terms of continuous maps between topological
spaces. Our language also supports discontinuous operations, such as
comparisons between reals, by using the type system to track discontinuities.
This feature might be of independent interest, for example in the context of
differentiable programming.
Using this language, we develop tools for the formal verification of sampler
correctness. We present an equational calculus to reason about equivalence of
samplers, and a sound calculus to prove semantic correctness of samplers, i.e.
that a sampler correctly targets a given measure by construction.Comment: Extended version of LiCS 2023 pape
Computer Application for Maintenance Planning and Scheduling of Industrial Plant
Plant maintenance involves all activities carried out on a machine to ensure a zero downtime of operation. Maintenance activities vary from one industry to the other but the basic maintenance activities are mainly to ensure continuous operations of equipment, plant and machineries. Over the past few decades, the various industrial work activities and maintenance operations are performed without a concrete plan (schedule) or are performed via manual paper work. Industrial operations are usually complex and recurrent activities. Analysis has shown that lack or insufficient maintenance coordination, has accounted for the poor performances and inefficiencies of many industries. Thus, it is pertinent to deduce a planned maintenance organizer or a computer aided design for the planning and scheduling of industrial work activities. This becomes important as computer has revolutionalized industrial activities with the development of modern high level computer programming languages such as visual basic by Microsoft among others
Quantifiers on languages and codensity monads
This paper contributes to the techniques of topo-algebraic recognition for
languages beyond the regular setting as they relate to logic on words. In
particular, we provide a general construction on recognisers corresponding to
adding one layer of various kinds of quantifiers and prove a corresponding
Reutenauer-type theorem. Our main tools are codensity monads and duality
theory. Our construction hinges on a measure-theoretic characterisation of the
profinite monad of the free S-semimodule monad for finite and commutative
semirings S, which generalises our earlier insight that the Vietoris monad on
Boolean spaces is the codensity monad of the finite powerset functor.Comment: 30 pages. Presentation improved and details of several proofs added.
The main results are unchange
Eilenberg Theorems for Free
Eilenberg-type correspondences, relating varieties of languages (e.g. of
finite words, infinite words, or trees) to pseudovarieties of finite algebras,
form the backbone of algebraic language theory. Numerous such correspondences
are known in the literature. We demonstrate that they all arise from the same
recipe: one models languages and the algebras recognizing them by monads on an
algebraic category, and applies a Stone-type duality. Our main contribution is
a variety theorem that covers e.g. Wilke's and Pin's work on
-languages, the variety theorem for cost functions of Daviaud,
Kuperberg, and Pin, and unifies the two previous categorical approaches of
Boja\'nczyk and of Ad\'amek et al. In addition we derive a number of new
results, including an extension of the local variety theorem of Gehrke,
Grigorieff, and Pin from finite to infinite words
A connection between concurrency and language theory
We show that three fixed point structures equipped with (sequential)
composition, a sum operation, and a fixed point operation share the same valid
equations. These are the theories of (context-free) languages, (regular) tree
languages, and simulation equivalence classes of (regular) synchronization
trees (or processes). The results reveal a close relationship between classical
language theory and process algebra
Recommended from our members
A general theory of action languages
We present a general theory of action-based languages as a paradigm, for the description, of those computational
systems which include elements of concurrency and networking, and extend this approach
to describe dist.ributed systems and also t,o describe the interaction of a system, with an environment.
As part of this approach we introduce the Action Language as a common model for the class of nondeterministic
concurrent programming languages and define its intensional and interaction semantics
in terrors of continuous transformation of environment behavior. This semantics i.s specialized for
programs with stores, and extended to describe distributed computations
- …