94 research outputs found
A graph rewriting programming language for graph drawing
This paper describes Grrr, a prototype visual graph drawing tool. Previously there were no visual languages for programming graph drawing algorithms despite the inherently visual nature of the process. The languages which gave a diagrammatic view of graphs were not computationally complete and so could not be used to implement complex graph drawing algorithms. Hence current graph drawing tools are all text based. Recent developments in graph rewriting systems have produced computationally complete languages which give a visual view of graphs both whilst programming and during execution. Grrr, based on the Spider system, is a general purpose graph rewriting programming language which has now been extended in order to demonstrate the feasibility of visual graph drawing
Estudo da estrategia de busca orientada por restrições em plantas multiproposito operando em batelada
Orientadores: Maria Teresa Moreira Rodrigues, Luis Gimeno LatreDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia QuimicaResumo: O problema abordado é o de programação de produção {scheduling) em plantas operando em batelada.Considera-se problemas de curto prazo (short-term) com restrições fortes sobre a capacidade de produção da planta e de armazenagem de produtos intermediários, situação que ocorre na indústria de processos com freqüência. A abordagem proposta visa a utilização da informação sobre gargalos de capacidade dos equipamentos como forma de orientar o procedimento de busca pela solução, através da sucessiva redução do espaço de busca. Para esse fim, foram implementadas as principais técnicas de propagação de restrições sobre recursos unitários existentes na literatura, e é proposta uma estratégia de propagação de restrições baseada nas restrições de armazenagem de produtos intermediários. Também foram propostas estratégias de identificação e avaliação das restrições do problema, de modo melhor a orientar o procedimento de busca pela solução. A abordagem proposta identifica as restrições e avalia quais são mais duras, ou seja, mais propensas a serem violadas, e toma decisões sobre as varáveis envolvidas nessas restrições que permitam resolver o problema de programação de produção mantendo a maior liberdade possÃvel para as decisões restantes, de forma que as restrições não sejam violadas. Os resultados mostram um ganho de eficiência na busca por uma solução no sentido de um menor número de nós visitados na árvore de busca para atingir uma solução final, assim como menor número de nós infactÃveis visitados (soiuções parciais que não podem ser completadas). Esse ganho resulta em menor gasto de tempo e recursos computacionais empregados em elementos de pouca influência sobre a resolução do problemaAbstract: The problem considered is short term scheduling of batch chemical plants. Constraints over plant capacity are taken as well as intermediate storage constraints since they are frequent in the process industries area. The proposed approach utilizes a constraint based search technique based on bottlenecks identification to guide the search procedure and reduce the search space. To reach this goal, the usual constraint propagation techniques over unitary resources are implemented, and it is proposed a new intermediate storage constraints propagation technique. New bottlenecks identification and measurement strategies are proposed to have a more efficient search procedure. The search procedure identifies the hardest constraints, and takes decisions that keep the greater flexibility for the remaining variables. The results show a big efficiency gain in the search procedure by reaching a complete solution with less visited nodes in the search tree, as well as visiting fewer infeasible nodes. The result is a reduction of computational time and resourcesMestradoSistemas de Processos Quimicos e InformaticaMestre em Engenharia QuÃmic
Stream Processing using Grammars and Regular Expressions
In this dissertation we study regular expression based parsing and the use of
grammatical specifications for the synthesis of fast, streaming
string-processing programs.
In the first part we develop two linear-time algorithms for regular
expression based parsing with Perl-style greedy disambiguation. The first
algorithm operates in two passes in a semi-streaming fashion, using a constant
amount of working memory and an auxiliary tape storage which is written in the
first pass and consumed by the second. The second algorithm is a single-pass
and optimally streaming algorithm which outputs as much of the parse tree as is
semantically possible based on the input prefix read so far, and resorts to
buffering as many symbols as is required to resolve the next choice. Optimality
is obtained by performing a PSPACE-complete pre-analysis on the regular
expression.
In the second part we present Kleenex, a language for expressing
high-performance streaming string processing programs as regular grammars with
embedded semantic actions, and its compilation to streaming string transducers
with worst-case linear-time performance. Its underlying theory is based on
transducer decomposition into oracle and action machines, and a finite-state
specialization of the streaming parsing algorithm presented in the first part.
In the second part we also develop a new linear-time streaming parsing
algorithm for parsing expression grammars (PEG) which generalizes the regular
grammars of Kleenex. The algorithm is based on a bottom-up tabulation algorithm
reformulated using least fixed points and evaluated using an instance of the
chaotic iteration scheme by Cousot and Cousot
Hidden Markov models and neural networks for speech recognition
The Hidden Markov Model (HMMs) is one of the most successful modeling approaches for acoustic events in speech recognition, and more recently it has proven useful for several problems in biological sequence analysis. Although the HMM is good at capturing the temporal nature of processes such as speech, it has a very limited capacity for recognizing complex patterns involving more than first order dependencies in the observed data sequences. This is due to the first order state process and the assumption of state conditional independence between observations. Artificial Neural Networks (NNs) are almost the opposite: they cannot model dynamic, temporally extended phenomena very well, but are good at static classification and regression tasks. Combining the two frameworks in a sensible way can therefore lead to a more powerful model with better classification abilities. The overall aim of this work has been to develop a probabilistic hybrid of hidden Markov models and neural networks and ..
The refitting of plans by a human expert
During the course of the development of a Case-Oriented Expert System for situated applications additional cases were needed. The required cases were obtained by having a human expert refit old solutions to new problems and the structural relations between source and target cases were analyzed: A higher degree of reuse of the old cases was found when the expert could apply derivational reasoning and a uniform design rationale (i.e. the solution of the source was generated by the expert himself) than when the expert could only analyze structural relationships (i.e. the source solution was constructed by some one else). Except with very obvious cases, it was also found, that different experts perceive different cases as the most similar source to a given target problem. The results also indicate for user-situated applications of expert systems
An Abstract Machine for Unification Grammars
This work describes the design and implementation of an abstract machine,
Amalia, for the linguistic formalism ALE, which is based on typed feature
structures. This formalism is one of the most widely accepted in computational
linguistics and has been used for designing grammars in various linguistic
theories, most notably HPSG. Amalia is composed of data structures and a set of
instructions, augmented by a compiler from the grammatical formalism to the
abstract instructions, and a (portable) interpreter of the abstract
instructions. The effect of each instruction is defined using a low-level
language that can be executed on ordinary hardware.
The advantages of the abstract machine approach are twofold. From a
theoretical point of view, the abstract machine gives a well-defined
operational semantics to the grammatical formalism. This ensures that grammars
specified using our system are endowed with well defined meaning. It enables,
for example, to formally verify the correctness of a compiler for HPSG, given
an independent definition. From a practical point of view, Amalia is the first
system that employs a direct compilation scheme for unification grammars that
are based on typed feature structures. The use of amalia results in a much
improved performance over existing systems.
In order to test the machine on a realistic application, we have developed a
small-scale, HPSG-based grammar for a fragment of the Hebrew language, using
Amalia as the development platform. This is the first application of HPSG to a
Semitic language.Comment: Doctoral Thesis, 96 pages, many postscript figures, uses pstricks,
pst-node, psfig, fullname and a macros fil
The ciao system
Abstract is not available
Which Regular Expression Patterns are Hard to Match?
Regular expressions constitute a fundamental notion in formal language theory
and are frequently used in computer science to define search patterns. A
classic algorithm for these problems constructs and simulates a
non-deterministic finite automaton corresponding to the expression, resulting
in an running time (where is the length of the pattern and is
the length of the text). This running time can be improved slightly (by a
polylogarithmic factor), but no significantly faster solutions are known. At
the same time, much faster algorithms exist for various special cases of
regular expressions, including dictionary matching, wildcard matching, subset
matching, word break problem etc.
In this paper, we show that the complexity of regular expression matching can
be characterized based on its {\em depth} (when interpreted as a formula). Our
results hold for expressions involving concatenation, OR, Kleene star and
Kleene plus. For regular expressions of depth two (involving any combination of
the above operators), we show the following dichotomy: matching and membership
testing can be solved in near-linear time, except for "concatenations of
stars", which cannot be solved in strongly sub-quadratic time assuming the
Strong Exponential Time Hypothesis (SETH). For regular expressions of depth
three the picture is more complex. Nevertheless, we show that all problems can
either be solved in strongly sub-quadratic time, or cannot be solved in
strongly sub-quadratic time assuming SETH.
An intriguing special case of membership testing involves regular expressions
of the form "a star of an OR of concatenations", e.g., . This
corresponds to the so-called {\em word break} problem, for which a dynamic
programming algorithm with a runtime of (roughly) is known. We
show that the latter bound is not tight and improve the runtime to
Using graphical style and visibility constraints for a meaningful layout in visual programming interfaces
In the expanding field of visual applications, layout design and graphical editing tasks are crucial points. In this paper, we address the incorporation of AI aspects in the visual software design process and the automatic layout and beautification of informational graphics such as visual programs and chart diagrams. Since layout in dynamic settings frequently requires a direct manipulation responsiveness, an incremental redesign of the generated visual material is necessary. Following our previous work on constraint-based multimodal design, we show how powerful constraint processing techniques, such as constraint hierarchies and dynamic constraint satisfaction, can be applied to visual programming environments in order to maintain graphical style and consistency for a meaningful layout. We describe InLay, a system for constraint-based presenting and editing visual programs. Finally, we will have a short look at some extensions with regard to advanced interaction and visualization techniques
- …