11,290 research outputs found
Induction of First-Order Decision Lists: Results on Learning the Past Tense of English Verbs
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
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
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
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
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
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
- ā¦