Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Frame problem
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Fluent calculus solution=== The [[fluent calculus]] is a variant of the situation calculus. It solves the frame problem by using first-order logic [[First-order logic#Formation rules|terms]], rather than [[Predicate variable|predicates]], to represent the states. Converting predicates into terms in first-order logic is called [[Reification (knowledge representation)|reification]]; the fluent calculus can be seen as a logic in which predicates representing the state of conditions are reified. The difference between a predicate and a term in first-order logic is that a term is a representation of an object (possibly a complex object composed of other objects), while a predicate represents a condition that can be true or false when evaluated over a given set of terms. In the fluent calculus, each possible state is represented by a term obtained by composition of other terms, each one representing the conditions that are true in state. For example, the state in which the door is open and the light is on is represented by the term <math>\mathrm{open} \circ \mathrm{on}</math>. It is important to notice that a term is not true or false by itself, as it is an object and not a condition. In other words, the term <math>\mathrm{open} \circ \mathrm{on}</math> represent a possible state, and does not by itself mean that this is the current state. A separate condition can be stated to specify that this is actually the state at a given time, e.g., <math>\mathrm{state}(\mathrm{open} \circ \mathrm{on}, 10)</math> means that this is the state at time <math>10</math>. The solution to the frame problem given in the fluent calculus is to specify the effects of actions by stating how a term representing the state changes when the action is executed. For example, the action of opening the door at time 0 is represented by the formula: : <math>\mathrm{state}(s \circ \mathrm{open}, 1) \iff \mathrm{state}(s,0)</math> The action of closing the door, which makes a condition false instead of true, is represented in a slightly different way: : <math>\mathrm{state}(s, 1) \iff \mathrm{state}(s \circ \mathrm{open}, 0)</math> This formula works provided that suitable axioms are given about <math>\mathrm{state}</math> and <math>\circ</math>, e.g., a term containing the same condition twice is not a valid state (for example, <math>\mathrm{state}(\mathrm{open} \circ s \circ \mathrm{open}, t)</math> is always false for every <math>s</math> and <math>t</math>).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)