11,290 research outputs found

    Induction of First-Order Decision Lists: Results on Learning the Past Tense of English Verbs

    Full text link
    This paper presents a method for inducing logic programs from examples that learns a new class of concepts called first-order decision lists, defined as ordered lists of clauses each ending in a cut. The method, called FOIDL, is based on FOIL (Quinlan, 1990) but employs intensional background knowledge and avoids the need for explicit negative examples. It is particularly useful for problems that involve rules with specific exceptions, such as learning the past-tense of English verbs, a task widely studied in the context of the symbolic/connectionist debate. FOIDL is able to learn concise, accurate programs for this problem from significantly fewer examples than previous methods (both connectionist and symbolic).Comment: See http://www.jair.org/ for any accompanying file

    Stepping Stones to Inductive Synthesis of Low-Level Looping Programs

    Full text link
    Inductive program synthesis, from input/output examples, can provide an opportunity to automatically create programs from scratch without presupposing the algorithmic form of the solution. For induction of general programs with loops (as opposed to loop-free programs, or synthesis for domain-specific languages), the state of the art is at the level of introductory programming assignments. Most problems that require algorithmic subtlety, such as fast sorting, have remained out of reach without the benefit of significant problem-specific background knowledge. A key challenge is to identify cues that are available to guide search towards correct looping programs. We present MAKESPEARE, a simple delayed-acceptance hillclimbing method that synthesizes low-level looping programs from input/output examples. During search, delayed acceptance bypasses small gains to identify significantly-improved stepping stone programs that tend to generalize and enable further progress. The method performs well on a set of established benchmarks, and succeeds on the previously unsolved "Collatz Numbers" program synthesis problem. Additional benchmarks include the problem of rapidly sorting integer arrays, in which we observe the emergence of comb sort (a Shell sort variant that is empirically fast). MAKESPEARE has also synthesized a record-setting program on one of the puzzles from the TIS-100 assembly language programming game.Comment: AAAI 201

    Program transformations using temporal logic side conditions

    Get PDF
    This paper describes an approach to program optimisation based on transformations, where temporal logic is used to specify side conditions, and strategies are created which expand the repertoire of transformations and provide a suitable level of abstraction. We demonstrate the power of this approach by developing a set of optimisations using our transformation language and showing how the transformations can be converted into a form which makes it easier to apply them, while maintaining trust in the resulting optimising steps. The approach is illustrated through a transformational case study where we apply several optimisations to a small program

    Effects of energy storage systems grid code requirements on interface protection performances in low voltage networks

    Get PDF
    The ever-growing penetration of local generation in distribution networks and the large diffusion of energy storage systems (ESSs) foreseen in the near future are bound to affect the effectiveness of interface protection systems (IPSs), with negative impact on the safety of medium voltage (MV) and low voltage (LV) systems. With the scope of preserving the main network stability, international and national grid connection codes have been updated recently. Consequently, distributed generators (DGs) and storage units are increasingly called to provide stabilizing functions according to local voltage and frequency. This can be achieved by suitably controlling the electronic power converters interfacing small-scale generators and storage units to the network. The paper focuses on the regulating functions required to storage units by grid codes currently in force in the European area. Indeed, even if such regulating actions would enable local units in participating to network stability under normal steady-state operating conditions, it is shown through dynamic simulations that they may increase the risk of unintentional islanding occurrence. This means that dangerous operating conditions may arise in LV networks in case dispersed generators and storage systems are present, even if all the end-users are compliant with currently applied connection standards

    Objectives, stimulus and feedback in signal control of road traffic

    Get PDF
    This article identifies the prospective role of a range of intelligent transport systems technologies for the signal control of road traffic. We discuss signal control within the context of traffic management and control in urban road networks and then present a control-theoretic formulation for it that distinguishes the various roles of detector data, objectives of optimization, and control feedback. By reference to this, we discuss the importance of different kinds of variability in traffic flows and review the state of knowledge in respect of control in the presence of different combinations of them. In light of this formulation and review, we identify a range of important possibilities for contributions to traffic management and control through traffic measurement and detection technology, and contemporary flexible optimization techniques that use various kinds of automated learning

    A formally verified compiler back-end

    Get PDF
    This article describes the development and formal verification (proof of semantic preservation) of a compiler back-end from Cminor (a simple imperative intermediate language) to PowerPC assembly code, using the Coq proof assistant both for programming the compiler and for proving its correctness. Such a verified compiler is useful in the context of formal methods applied to the certification of critical software: the verification of the compiler guarantees that the safety properties proved on the source code hold for the executable compiled code as well
    • ā€¦
    corecore