94 research outputs found

    A graph rewriting programming language for graph drawing

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Which Regular Expression Patterns are Hard to Match?

    Full text link
    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 O(mn)O(mn) running time (where mm is the length of the pattern and nn 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., [a∣ab∣bc]∗[a|ab|bc]^*. This corresponds to the so-called {\em word break} problem, for which a dynamic programming algorithm with a runtime of (roughly) O(nm)O(n\sqrt{m}) is known. We show that the latter bound is not tight and improve the runtime to O(nm0.44…)O(nm^{0.44\ldots})

    Using graphical style and visibility constraints for a meaningful layout in visual programming interfaces

    Get PDF
    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
    • …
    corecore