|











Last updated:
Sep 12 2006
Web-Admin
|
Frequently Asked Questions (FAQs)
- What is the advantage of fluent calculus?
The fluent calculus provides the formal underpinnings for an effective and computationally efficient solution to the frame problem:
State update axioms specify the effects of actions in terms of how they affect the state.
This concept of updating (incomplete) states makes the fluent calculus eminently suitable for progression.
State update axioms moreover apply to entire states, so that fluents need not be progressed individually when deriving a successor state.
This leads to a computationally efficient solution to the frame problem in FLUX:
State descriptions are encoded by constraints, and state update amounts to modifying the current contents of the constraint store.
In this way, unaffected state knowledge simply continues to hold in the successor state without further consideration.
- What is the advantage of progression?
Progression means to update a (possibly incomplete) initial world model upon the performance of an action.
In this way, the current world model can always be used directly to decide whether a property holds in the current situation.
This is in contrast to regression, where in order to decide whether a property holds after a sequence of actions, this property is successively regressed through the sequence of actions that led to the current situation.
Progression is particularly useful when executing a high-level agent program, since examining the validity of a property at any time is independent of the length of the history.
But also for planning, progression is generally advantageous when heuristics are used to define plan skeletons which define search trees with low branching factor, that is, which are shallow but deep.
For a detailed discussion of progression versus regression, including some experimental results, consult the article Logic-based agents and the frame problem: A case for progression.
- What is the advantage of Constraint Handling Rules?
The standard principle of negation-as-failure cannot be employed in the presence of incomplete states.
A natural and efficient way of encoding incomplete states is by means of constraints.
Part of FLUX is a constraint solver, which comprises a set of Constraint Handling Rules.
Due to their declarative nature, the rules are easily proved correct against the foundational axioms of the fluent calculus.
Agents reason about the effects of their actions and acquired sensor information on the basis of the Constraint Handling Rules.
Thanks to a restricted expressiveness and incomplete inference engine, FLUX agents are not " logically omniscient " which has the advantage that reasoning is linear in the size of a state representation rather than exponential or even undecidable.
For details on the Constraint Handling Rules for FLUX, consult the article FLUX: A Logic Programming Method for Reasoning Agents.
- Why are strategies formulated by logic programs?
FLUX agent programs are logic programs consisting of three parts: the kernel, a background theory, and a strategy which specifies the task-oriented behavior according to which the agent reasons, plans, and acts.
In this way, the full expressive power of general logic programming can be used to design strategies.
Moreover, the declarative nature of logic programs facilitates formal proofs of the correctness of strategies wrt. a problem-dependent specification.
- What is the difference between executing an action program and planning?
An action program contains a particular strategy according to which an agent
acts. The strategy controls the selection of the next action the agent
executes. This action selection can be as simple as a set of condition effect
rules and as complex as planning a sequence of actions that lead to a goal.
Thus planning is only one part of an action program, that is located at one
end of a whole range of action selection mechanisms.
- What are the advantages/disadvantages of pure action programs wrt. planning?
Action programs can be used to control an agent over extended periods, whereas
planning always requires a limited horizon due to the inherent complexity.
Pure planning is often infeasible if agents have highly incomplete knowledge
of their environment or if unforeseen changes may occur at any time. Action
programs, on the other hand, allow agents to explore their environment in
order to learn more about it using their sensors. Furthermore, action
programs allow agents to adapt to changes that occur during the execution.
Planning allows to search for good or even optimal solutions, where pure
action programs just follow a strategy without the ability to backtrack if
later on one discovers that a decision wasn't optimal.
Furthermore, planning allows to foresee and deal with problems, that would
cause the agent to be stuck or miss its goal if they were recognized too
late.
|