The goal of fluent calculus is to solve the inferential frame problem. The frame problem's representative part lists all the actions that don't have any non-effects. 

The inferential part is the problem of figuring out what these non-effects are. The last one has to do with every fluent value needed to prove a theorem in a situation other than the one it was given for or that comes about because of an action or event. Each of these fluent values needs to be carried from where it first appears, through each intermediate situation, to where it is used. It is done by using different examples of the relevant axioms. 

For example, when successor state axioms are used in the Situation Calculus, whether the reasoning is done forward in time or backward, and in the event calculus, when survival needs to be proven separately for each fluent value. The inferential frame problem only increases computing work if all fluent values are required. But a solution to the inferential frame problem can be more valuable because more fluents have to stay the same in many different situations or events.

Purpose

Based on the logic programming formalism, fluent calculus solves the inferential frame problem by describing the effects of actions in terms of how an action changes a state. Applying a single state update axiom is always enough to determine the change the activity in question caused. The Fluent calculus's axiomatization method is based on a function called States, which links a situation 's' to how the world is in that situation. These world states are groups of fluents that are reified, or treated as terms, to reach this goal.

In first-order logic, fluents can be represented by predicates with an argument that depends on time. It is one way to think logically about actions. For example, the condition "the box is on the table" can't be represented if it can change over time. A third argument to the predicate is needed to say when the box is on the table: "the box is on the table at a time." In the situation calculus, this way of thinking about fluents is changed by using the order of actions from the past instead of the present time. A function can also show a fluent if the time argument is left out. For instance, it can mean that the box is on the table, where it is a function and not a predicate. 

Conclusion

The goal of fluent calculus is to solve the problem of the inferential frame. In first-order logic, it is a formal way to talk about domains that change over time. Fluent calculus is similar to situation calculus, but the main difference is that situations are seen as symbols for states. Because of this, fluents that are shown by functions are said to be reified. When you use reified fluents, you need a separate predicate to tell whether a fluency is true. For example, "is on the table at a time" means that the box is on the table at that time. The "predicate" is part of the sentence that says when "is" is true. 

Furthermore, in the event calculus, fluents are shown in this way. Some fluents can be shown in different ways as functions. For instance, a box's position can be demonstrated by a function whose value is the object the box is standing on. For example, functional fluents are terms for conditions that can be shown in this way. Furthermore, in first-order logic, you can make claims about the values of these functions.

Want to publish your content?

Publish an article and share your insights to the world.

Get Published Icon
ALSO EXPLORE

DISCLAIMER

The information provided on this page has been procured through secondary sources. In case you would like to suggest any update, please write to us at support.ai@mail.nasscom.in