In
artificial intelligence
Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech r ...
, a fluent is a condition that can change over time. In
logic
Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the science of deductively valid inferences or of logical truths. It is a formal science investigating how conclusions follow from premis ...
al approaches to reasoning about actions, fluents can be represented in
first-order logic
First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quanti ...
by
predicate
Predicate or predication may refer to:
* Predicate (grammar), in linguistics
* Predication (philosophy)
* several closely related uses in mathematics and formal logic:
**Predicate (mathematical logic)
**Propositional function
**Finitary relation, ...
s having an argument that depends on time. For example, the condition "the box is on the table", if it can change over time, cannot be represented by
; a third argument is necessary to the predicate
to specify the time:
means that the box is on the table at time
. This representation of fluents is modified in the
situation calculus The situation calculus is a logic formalism designed for representing and reasoning about dynamical domains. It was first introduced by John McCarthy in 1963. The main version of the situational calculus that is presented in this article is based o ...
by using the sequence of the past actions in place of the current time.
A fluent can also be represented by a function, dropping the time argument. For example, that the box is on the table can be represented by
, where
is a function and not a predicate. In first order logic, converting predicates to functions is called
reification
Reification may refer to:
Science and technology
* Reification (computer science), the creation of a data model
* Reification (knowledge representation), the representation of facts and/or assertions
* Reification (statistics), the use of an id ...
; for this reason, fluents represented by functions are said to be reified. When using reified fluents, a separate predicate is necessary to tell when a fluent is actually true or not. For example,
means that the box is actually on the table at time
, where the predicate
is the one that tells when fluents are true. This representation of fluents is used in the
event calculus The event calculus is a logical language for representing and reasoning about events and their effects first presented by Robert Kowalski and Marek Sergot in 1986. It was extended by Murray Shanahan and Rob Miller in the 1990s. Similar to other ...
, in the
fluent calculus The fluent calculus is a formalism for expressing dynamical domains in first-order logic
First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in ma ...
, and in the
features and fluents logics.
Some fluents can be represented as functions in a different way. For example, the position of a box can be represented by a function
whose value is the object the box is standing on at time
. Conditions that can be represented in this way are called ''functional fluents''. Statements about the values of such functions can be given in first order logic with equality using literals such as
. Some fluents are represented this way in the
situation calculus The situation calculus is a logic formalism designed for representing and reasoning about dynamical domains. It was first introduced by John McCarthy in 1963. The main version of the situational calculus that is presented in this article is based o ...
.
Naive physics
From a historical point of view, fluents were introduced in the context of qualitative reasoning. The idea is to describe a process model not with mathematical equations but with natural language. That means an action is not only determined by its trajectory, but with a symbolic model, very similar to a text adventure. Naive physics stands in opposition to a numerical physics engine and has the obligation to predict the outcome of actions. The fluent realizes the common sense grounding between the robot's motion and the task description in natural language.
From a technical perspective, a fluent is equal to a parameter that is parsed by the naive physics engine. The parser converts between natural language fluents and numerical values measured by sensors.
As a consequence, the human-machine interaction is improved.
See also
*
Event calculus The event calculus is a logical language for representing and reasoning about events and their effects first presented by Robert Kowalski and Marek Sergot in 1986. It was extended by Murray Shanahan and Rob Miller in the 1990s. Similar to other ...
*
Fluent calculus The fluent calculus is a formalism for expressing dynamical domains in first-order logic
First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in ma ...
*
Frame problem
In artificial intelligence, the frame problem describes an issue with using first-order logic (FOL) to express facts about a robot in the world. Representing the state of a robot with traditional FOL requires the use of many axioms that simply impl ...
*
Situation calculus The situation calculus is a logic formalism designed for representing and reasoning about dynamical domains. It was first introduced by John McCarthy in 1963. The main version of the situational calculus that is presented in this article is based o ...
References
Logic in computer science
{{plt-stub