23 research outputs found

    Automated Deduction – CADE 28

    Get PDF
    This open access book constitutes the proceeding of the 28th International Conference on Automated Deduction, CADE 28, held virtually in July 2021. The 29 full papers and 7 system descriptions presented together with 2 invited papers were carefully reviewed and selected from 76 submissions. CADE is the major forum for the presentation of research in all aspects of automated deduction, including foundations, applications, implementations, and practical experience. The papers are organized in the following topics: Logical foundations; theory and principles; implementation and application; ATP and AI; and system descriptions

    The productivity of polymorphic stream equations and the composition of circular traversals

    Get PDF
    This thesis has two independent parts concerned with different aspects of laziness in functional programs. The first part is a theoretical study of productivity for very restricted stream programs. In the second part we define a programming abstraction over a recursive pattern for defining circular traversals modularly. Productivity is in general undecidable. By restricting ourselves to mutually recursive polymorphic stream equations having only three basic operations, namely "head", "tail", and "cons", we aim to prove interesting properties about productivity. Still undecidable for this restricted class of programs, productivity of polymorphic stream functions is equivalent to the totality of their indexing function, which characterise their behaviour in terms of operations on indices. We prove that our equations generate all possible polymorphic stream functions, and therefore their indexing functions are all the computable functions, whose totality problem is indeed undecidable. We then further restrict our language by reducing the numbers of equations and parameters, but despite those constraints the equations retain their expressiveness. In the end we establish that even two non-mutually recursive equations on unary stream functions are undecidable with complexity Π20Π_2^0. However, the productivity of a single unary equation is decidable. Circular traversals have been used in the eighties as an optimisation to combine multiple traversals in a single traversal. In particular they provide more opportunities for applying deforestation techniques since it is the case that an intermediate datastructure can only be eliminated if it is consumed only once. Another use of circular programs is in the implementation of attribute grammars in lazy functional languages. There is a systematic transformation to define a circular traversal equivalent to multiple traversals. Programming with this technique is not modular since the individual traversals are merged together. Some tools exist to transform programs automatically and attribute grammars have been suggested as a way to describe the circular traversals modularly. Going to the root of the problem, we identify a recursive pattern that allows us to define circular programs modularly in a functional style. We give two successive implementations, the first one is based on algebras and has limited scope: not all circular traversals can be defined this way. We show that the recursive scheme underlying attribute grammars computation rules is essential to combine circular programs. We implement a generic recursive operation on a novel attribute grammar abstraction, using containers as a parametric generic representation of recursive datatypes. The abstraction makes attribute grammars first-class objects. Such a strongly typed implementation is novel and make it possible to implement a high level embedded language for defining attribute grammars, with many interesting new features promoting modularity

    The productivity of polymorphic stream equations and the composition of circular traversals

    Get PDF
    This thesis has two independent parts concerned with different aspects of laziness in functional programs. The first part is a theoretical study of productivity for very restricted stream programs. In the second part we define a programming abstraction over a recursive pattern for defining circular traversals modularly. Productivity is in general undecidable. By restricting ourselves to mutually recursive polymorphic stream equations having only three basic operations, namely "head", "tail", and "cons", we aim to prove interesting properties about productivity. Still undecidable for this restricted class of programs, productivity of polymorphic stream functions is equivalent to the totality of their indexing function, which characterise their behaviour in terms of operations on indices. We prove that our equations generate all possible polymorphic stream functions, and therefore their indexing functions are all the computable functions, whose totality problem is indeed undecidable. We then further restrict our language by reducing the numbers of equations and parameters, but despite those constraints the equations retain their expressiveness. In the end we establish that even two non-mutually recursive equations on unary stream functions are undecidable with complexity Π20Π_2^0. However, the productivity of a single unary equation is decidable. Circular traversals have been used in the eighties as an optimisation to combine multiple traversals in a single traversal. In particular they provide more opportunities for applying deforestation techniques since it is the case that an intermediate datastructure can only be eliminated if it is consumed only once. Another use of circular programs is in the implementation of attribute grammars in lazy functional languages. There is a systematic transformation to define a circular traversal equivalent to multiple traversals. Programming with this technique is not modular since the individual traversals are merged together. Some tools exist to transform programs automatically and attribute grammars have been suggested as a way to describe the circular traversals modularly. Going to the root of the problem, we identify a recursive pattern that allows us to define circular programs modularly in a functional style. We give two successive implementations, the first one is based on algebras and has limited scope: not all circular traversals can be defined this way. We show that the recursive scheme underlying attribute grammars computation rules is essential to combine circular programs. We implement a generic recursive operation on a novel attribute grammar abstraction, using containers as a parametric generic representation of recursive datatypes. The abstraction makes attribute grammars first-class objects. Such a strongly typed implementation is novel and make it possible to implement a high level embedded language for defining attribute grammars, with many interesting new features promoting modularity

    Decidability and Undecidability in Dynamical Systems

    Get PDF
    A computing system can be modelized in various ways: one being in analogy with transfer functions, this is a function that associates to an input and optionally some internal states, an output ; another being focused on the behaviour of the system, that is describing the sequence of states the system will follow to get from this input to produce the output. This second kind of system can be defined by dynamical systems. They indeed describe the ``local'' behaviour of a system by associating a configuration of the system to the next configuration. It is obviously interesting to get an idea of the ``global'' behaviour of such a dynamical system. The questions that it raises can be for example related to the reachability of a certain configuration or set of configurations or to the computation of the points that will be visited infinitely often. Those questions are unfortunately very complex: they are in most cases undecidable. This article will describe the fundamental problems on dynamical systems and exhibit some results on decidability and undecidability in various kinds of dynamical systems

    [[alternative]]Linear and Nonlinear Perron-Frobenius Theory(III)

    Get PDF
    計畫編號:NSC94-2115-M032-001研究期間:200508~200607研究經費:1,175,000[[sponsorship]]行政院國家科學委員

    Efficent implementation of high order methods in computational fluid dynamics

    Get PDF
    Traditionally, finite element methods generate progressively higher order accurate solutions by use of higher degree trial space bases for the weak statement construc-tion. This invariably yields matrix equations of greater bandwidth thus increasing implementational and computational costs. A new approach to designing high order - defined here to exceed third - accurate methods has been developed and tested. The systematic construction of progressively higher order spatial approximations is achieved via a modified equation analysis, which allows one to clearly identify correction terms appropriate for a desired accuracy order. The resulting perturbed PDE is shown to be consistent with the Taylor Weak Statement formulation. It confirms the expected high order of spatial accuracy in TWS constructions and provides a highly efficient dispersion error control mechanism whose application is based on the specifics of the solution domain discretization and physics of the problem. A distinguishing desirable property of the developed method is solution matrix bandwidth containment, i.e. bandwidth always remains equal to that of the linear basis (second order) discretization. This permits combining the computational efficiency of the lower order methods with superior accuracy inherent in higher order approximations. Numerical simulations compare performance of the developed method to that of the GWS and TWS formulations. Uniform mesh refinement convergence results con-firm the order of truncation error for each method. High order formulation is shown to require significantly fewer nodes to accurately resolve solution gradients for con-vection dominated problems. Benchmark problem applications for the compressible Euler and incompressible Navier-Stokes equations complete the manuscript. In both cases the developed high order formulation is shown to result in more accurate solu-tions on coarser discretizations, thus preserving the design trends illustrated for the model advection-diffusion equation

    Integration of remotely sensed data with stand-scale vegetation models

    Get PDF

    Doctor of Philosophy in Computer Science

    Get PDF
    dissertationStencil computations are operations on structured grids. They are frequently found in partial differential equation solvers, making their performance critical to a range of scientific applications. On modern architectures where data movement costs dominate computation, optimizing stencil computations is a challenging task. Typically, domain scientists must reduce and orchestrate data movement to tackle the memory bandwidth and latency bottlenecks. Furthermore, optimized code must map efficiently to ever increasing parallelism on a chip. This dissertation studies several stencils with varying arithmetic intensities, thus requiring contrasting optimization strategies. Stencils traditionally have low arithmetic intensity, making their performance limited by memory bandwidth. Contemporary higher-order stencils are designed to require smaller grids, hence less memory, but are bound by increased floating-point operations. This dissertation develops communication-avoiding optimizations to reduce data movement in memory-bound stencils. For higher-order stencils, a novel transformation, partial sums, is designed to reduce the number of floating-point operations and improve register reuse. These optimizations are implemented in a compiler framework, which is further extended to generate parallel code targeting multicores and graphics processor units (GPUs). The augmented compiler framework is then combined with autotuning to productively address stencil optimization challenges. Autotuning explores a search space of possible implementations of a computation to find the optimal code for an execution context. In this dissertation, autotuning is used to compose sequences of optimizations to drive the augmented compiler framework. This compiler-directed autotuning approach is used to optimize stencils in the context of a linear solver, Geometric Multigrid (GMG). GMG uses sequences of stencil computations, and presents greater optimization challenges than isolated stencils, as interactions between stencils must also be considered. The efficacy of our approach is demonstrated by comparing the performance of generated code against manually tuned code, over commercial compiler-generated code, and against analytic performance bounds. Generated code outperforms manually optimized codes on multicores and GPUs. Against Intel's compiler on multicores, generated code achieves up to 4x speedup for stencils, and 3x for the solver. On GPUs, generated code achieves 80% of an analytically computed performance bound

    On large deformations of elastic circular arcs

    Get PDF
    Das Thema dieser Arbeit kommt von einem praktischen Greifersystem, dessen vereinfachter wesentlicher Teil aus zwei eingespannt-freien elastischen kreisförmigen Stäben besteht. Die Bewegung dieses Systems wird durch die Deformationen der elastischen kreisförmigen Stäbe unter der am freien Ende angreifenden Kraft erzeugt. Die Bögen können von jeder möglichen Form sein, von der Geraden bis zum gesamten geschlitzten Ring, und ihre Deformationen können beliebig groß sein. Nach Aufstellung eines mathematischen Modells in Form eines Randwertproblems mit drei Parametern (Kraft, Bogengeometrie) für eine Pendelgleichung wurden Vielfachheit und Stabilität der Lösungen der Pendelgleichung und der entsprechenden Stabkonfigurationen untersucht. Dazu wurde eine leistungsfähige Methode, die "Mannigfaltigkeitsmethode", entwickelt, die auf der Diskussion der Phasenkurven der Pendelgleichung basiert. Mit dieser Methode, gekoppelt mit numerischen Rechnungen, wurden die Bifurkationsdiagramme der Pendelgleichung für verschiedene Kombinationen der Parameter erhalten. Die Bifurkationsdiagramme zeigten Vielfachheit und die Änderungstendenz der Lösungen der Pendelgleichung und der Konfigurationen der verformten Bögen an. Die Bifurkationsdiagramme zeigen für unser Modell turningpoint-, pitchfork- und X-Bifurkationen sowie Hysteresis. Die Kraftparameterebene wurde nach der Zahl der Lösungen in Gebiete unterteilt. Die theoretische Untersuchung des Halbringes mittels elliptischer Integrale wurde durchgeführt, und das Resultat zeigt eine genaue Übereinstimmung mit den Ergebnissen der Mannifaltigkeitsmethode. Für die Stabilitätsuntersuchung versagen klassische Methoden, da das Randwertproblem für die Pendelgleichung keine trivialen Lösungen besitzt. Deshalb wurde die Pendelgleichung in eine parabolische partielle Differentialgleichung eingebettet, die Liapunovstabilität der stationären Lösungen definiert die "P-Stabilität" der Konfiguration des elastischen Stabes. Stabilitätsaussagen werden mit Hilfe der Methode der ersten Näherung und unter Benutzung der Bifurkationsfunktion gewonnen. Zum ursprünglichen praktischen Problem "Feder und Greifer" wurden als Ergebnisse Federcharakteristiken, insbesondere Kraft-Verschiebungs-Kennlinien für kreisbogenförmige Federn gefunden. Für Greifer, die aus zwei symmetrisch angeordneten elastischen Kreisbögen bestehen, wurden Zusammenhänge von Öffnungsweite, Haftreibungskoeffzient und Haltekraft gefunden. Die Methoden, die in dieser Arbeit eingeführt werden, besonders die Mannifaltigkeitsmethode und P-Stabilität, können für die Untersuchung von Bifurkation und Stabilität bei allgemeinen gewöhnlichen Dfferentialgleichungen nützlich sein
    corecore