5 research outputs found
A Correctness Result for Synthesizing Plans With Loops in Stochastic Domains
Finite-state controllers (FSCs), such as plans with loops, are powerful and
compact representations of action selection widely used in robotics, video
games and logistics. There has been steady progress on synthesizing FSCs in
deterministic environments, but the algorithmic machinery needed for lifting
such techniques to stochastic environments is not yet fully understood. While
the derivation of FSCs has received some attention in the context of discounted
expected reward measures, they are often solved approximately and/or without
correctness guarantees. In essence, that makes it difficult to analyze
fundamental concerns such as: do all paths terminate, and do the majority of
paths reach a goal state?
In this paper, we present new theoretical results on a generic technique for
synthesizing FSCs in stochastic environments, allowing for highly granular
specifications on termination and goal satisfaction
Combining Proof Plans with Partial Order Planning for Imperative Program Synthesis
The structured programming literature provides methods and a wealth of heuristic knowledge for guiding the construction of provably correct imperative programs. We investigate these methods and heuristics as a basis for mechanizing program synthesis. Our approach combines proof planning with conventional partial order planning. Proof planning is an automated theorem proving technique which uses high-level proof plans to guide the search for proofs. Proof plans are structured in terms of proof methods, which encapsulate heuristics for guiding proof search. We demonstrate that proof planning provides a local perspective on the synthesis task. In particular, we show that proof methods can be extended to represent heuristics for guiding program construction. Partial order planning complements proof planning by providing a global perspective on the synthesis task. This means that it allows us to reason about the order in which program fragments are composed. Our hybrid approach has been implemented in a semi-automatic system called BERTHA. BERTHA supports partial correctness and has been tested on a wide range of non-trivial programming examples