HOME

TheInfoList



OR:

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 re ...
, 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 premises ...
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 quantifie ...
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, o ...
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 \mathrm(\mathrm,\mathrm); a third argument is necessary to the predicate \mathrm to specify the time: \mathrm(\mathrm,\mathrm,t) means that the box is on the table at time t. 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 on(box,table), where on is a function and not a predicate. In first order logic, converting predicates to functions is called reification; 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, HoldsAt(on(box,table),t) means that the box is actually on the table at time t, where the predicate HoldsAt 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 l ...
, in the
fluent calculus The fluent calculus is a formalism for expressing dynamical domains in first-order logic. It is a variant of the situation calculus; the main difference is that situations are considered representations of states. A binary function symbol \circ is u ...
, and in the
features and fluents logic Feature may refer to: Computing * Feature (CAD), could be a hole, pocket, or notch * Feature (computer vision), could be an edge, corner or blob * Feature (software design) is an intentional distinguishing characteristic of a software ite ...
s. Some fluents can be represented as functions in a different way. For example, the position of a box can be represented by a function on(box,t) whose value is the object the box is standing on at time t. 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 on(box,t)=table. 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 l ...
*
Fluent calculus The fluent calculus is a formalism for expressing dynamical domains in first-order logic. It is a variant of the situation calculus; the main difference is that situations are considered representations of states. A binary function symbol \circ is u ...
*
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