Goto

Collaborating Authors

 golog


Belle

AAAI Conferences

High-level programming languages are an influential control paradigm for building agents that are purposeful in an incompletely known world. GOLOG, for example, allows us to write programs, with loops, whose constructs refer to an explicit world model axiomatized in the expressive language of the situation calculus. Over the years, GOLOG has been extended to deal with many other features, the claim being that these would be useful in robotic applications. Unfortunately, when robots are actually deployed, effectors and sensors are noisy, typically characterized over continuous probability distributions, none of which is supported in GOLOG, its dialects or its cousins. This paper presents ALLEGRO, a belief-based programming language for stochastic domains, that refashions GOLOG to allow for discrete and continuous initial uncertainty and noise. It is fully implemented and experiments demonstrate that ALLEGRO could be the basis for bridging high-level programming and probabilistic robotics technologies in a general way.


Ray Reiter's Knowledge in Action

AI Magazine

What Ray Reiter has done has taken a set of ideas worked out by him and his collaborators over the last 11 years and recrystallized them into a sustained and consistent presentation. This is not a collection of those papers but a complete rewrite that avoids the usual repetition and notational inconsistency that one might expect. It makes one wish everyone as prolific as Reiter would copy his example--but because that's unlikely, we must be grateful for what he has given us. In case you haven't heard, Reiter and his crew, starting with the publication of Reiter (1991), breathed new life into the situation calculus (Mc-Carthy and Hayes 1969) that had gotten the reputation of being of limited expressiveness. The basic concept of the calculus is, of course, the situation, which we can think of as a state of affairs, that is, a complete specification of the truth values of all propositions (in a suitable logical language), although that's closer to McCarthy's and Hayes's traditional formulation than the analysis Reiter settles on (which I describe later).


ALLEGRO: Belief-Based Programming in Stochastic Dynamical Domains

Belle, Vaishak (KU Leuven) | Levesque, Hector (University of Toronto)

AAAI Conferences

High-level programming languages are an influential control paradigm for building agents that are purposeful in an incompletely known world. GOLOG, for example, allows us to write programs, with loops, whose constructs refer to an explicit world model axiomatized in the expressive language of the situation calculus. Over the years, GOLOG has been extended to deal with many other features, the claim being that these would be useful in robotic applications. Unfortunately, when robots are actually deployed, effectors and sensors are noisy, typically characterized over continuous probability distributions, none of which is supported in GOLOG, its dialects or its cousins. This paper presents ALLEGRO, a belief-based programming language for stochastic domains, that refashions GOLOG to allow for discrete and continuous initial uncertainty and noise. It is fully implemented and experiments demonstrate that ALLEGRO could be the basis for bridging high-level programming and probabilistic robotics technologies in a general way.


Efficiently Implementing GOLOG with Answer Set Programming

Ryan, Malcolm (University of New South Wales)

AAAI Conferences

In this paper we investigate three different approaches to encoding domain-dependent control knowledge for Answer-Set Planning. Starting with a standard imple- mentation of the action description language B, we add control knowledge expressed in the GOLOG logic pro- gramming language. A naive encoding, following the original definitions of Levesque et al., is shown to scale poorly. We examine two alternative codings based on the transition semantics of ConGOLOG. We show that a speed increase of multiple orders of magnitude can be obtain by compiling the GOLOG program into a finite- state machine representation.


A First-Order Interpreter for Knowledge-Based Golog with Sensing based on Exact Progression and Limited Reasoning

Fan, Yi (Sun Yat-sen University) | Cai, Minghui (Sun Yat-sen University) | Li, Naiqi (Sun Yat-sen University) | Liu, Yongmei (Sun Yat-sen University)

AAAI Conferences

While founded on the situation calculus, current implementations of Golog are mainly based on the closed-world assumption or its dynamic versions or the domain closure assumption. Also, they are almost exclusively based on regression. In this paper, we propose a first-order interpreter for knowledge-based Golog with sensing based on exact progression and limited reasoning. We assume infinitely many unique names and handle first-order disjunctive information in the form of the so-called proper+ KBs. Our implementation is based on the progression and limited reasoning algorithms for proper+ KBs proposed by Liu, Lakemeyer and Levesque. To improve efficiency, we implement the two algorithms by grounding via a trick based on the unique name assumption. The interpreter is online but the programmer can use two operators to specify offline execution for parts of programs. The search operator returns a conditional plan, while the planning operator is used when local closed-world information is available and calls a modern planner to generate a sequence of actions.


Action-Based Imperative Programming with YAGI

Ferrein, Alexander (FH Aachen University of Applied Sciences) | Steinbauer, Gerald (Graz University of Technology) | Vassos, Stavros (National and Kapodistrian University of Athens)

AAAI Conferences

Many tasks for autonomous agents or robots are best de- scribed by a specification of the environment and a specifi- cation of the available actions the agent or robot can perform. Combining such a specification with the possibility to imper- atively program a robot or agent is what we call the action- based imperative programming. One of the most successful such approaches is Golog. In this paper, we draft a proposal for a new robot program- ming language YAGI, which is based on the action-based imperative programming paradigm. Our goal is to design a small, portable stand-alone YAGI interpreter. We combine the benefits of a principled domain specification with a clean, small and simple programming language, which does not ex- ploit any side-effects from the implementation language. We discuss general requirements of action-based programming languages and outline YAGI, our action-based language ap- proach which particularly aims at embeddability.


Towards the Integration of Programming by Demonstration and Programming by Instruction using Golog

Fritz, Christian (Information Sciences Institute, University of Southern California) | Gil, Yolanda (Information Sciences Institute, University of Southern California)

AAAI Conferences

We present a formal approach for combining programming by demonstration (PbD) with programming by instruction (PbI) — a largely unsolved problem. Our solution is based on the integration of two successful formalisms: version space algebras and the logic programming language Golog. Version space algebras have been successfully applied to programming by demonstration. Intuitively, a version space describes a set of candidate procedures and a learner filters this space as necessary to be consistent with all given demonstrations of the target procedure. Golog, on the other hand, is a logical programming language defined in the situation calculus that allows for the specification of non-deterministic programs. While Golog was originally proposed as a means for integrating programming and automated planning, we show that it serves equally well as a formal framework for integrating PbD and PbI. Our approach is the result of two key insights: (a) Golog programs can be used to define version spaces, and (b) with only a minor augmentation, the existing Golog semantics readily provides the update-function for such version spaces, given demonstrations. Moreover, as we will show, two or more programs can be symbolically synchronized, resulting in the intersection of two, possibly infinite, version spaces. The framework thus allows for a rather flexible integration of PbD and PbI, and in addition establishes a new connection between two active research areas, enabling cross-fertilization.


Golog.lua: Towards a Non-Prolog Implementation of Golog for Embedded Systems

Ferrein, Alexander (University of Cape Town)

AAAI Conferences

Among many approaches to address the high-level decision making problem for autonomous robots and agents, the robot programming and plan language Golog follows a logic-based deliberative approach, and its successors were successfully deployed in a number of robotics applications over the past ten years. Usually, Golog interpreter are implemented in Prolog, which is not available for our target platform, the bi-ped robot platform Nao. In this paper we sketch our novel prototype implementation of a Golog interpreter in the scripting language Lua. With the example of the elevator domain we discuss how the basic action theory is specified and how we implemented fluent regression or backtracking in Lua. One possible advantage of the availability of a Non-Prolog implementation of Golog could be that Golog becomes available on a larger number of platforms, and also becomes more attractive for roboticists outside the Cognitive Robotics community.


Ray Reiter's Knowledge in Action: A Review

McDermott, Drew

AI Magazine

We can only state these relationships by adding axioms of some sort. Getting the axioms right, and getting algorithms based on them right, has not been easy. As a result, the basic situation calculus lived as a textbook curiosity for several years. Researchers interested in practical applications of temporal reasoning, such as automated planning, kept the basic ontology of the and execution. Haas (1987), Schubert (1990), and not hold true. To express the papers that have given new life to of Reiter (1991), breathed new fact that adopting a person makes the attempt to formalize realistic reasoning life into the situation calculus (Mc-him/her one's child, we might write in temporal contexts.