Frame problem
   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 ...
, the frame problem describes an issue with using
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 ...
(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 imply that things in the environment do not change arbitrarily. For example, Hayes describes a " block world" with rules about stacking blocks together. In a FOL system, additional
axiom An axiom, postulate, or assumption is a statement that is taken to be true, to serve as a premise or starting point for further reasoning and arguments. The word comes from the Ancient Greek word (), meaning 'that which is thought worthy or ...
s are required to make inferences about the environment (for example, that a block cannot change position unless it is physically moved). The frame problem is the problem of finding adequate collections of axioms for a viable description of a robot environment. John McCarthy and Patrick J. Hayes defined this problem in their 1969 article, ''Some Philosophical Problems from the Standpoint of Artificial Intelligence''. In this paper, and many that came after, the formal mathematical problem was a starting point for more general discussions of the difficulty of knowledge representation for artificial intelligence. Issues such as how to provide rational default assumptions and what humans consider common sense in a virtual environment. Later, the term acquired a broader meaning in
philosophy Philosophy (from , ) is the systematized study of general and fundamental questions, such as those about existence, reason, knowledge, values, mind, and language. Such questions are often posed as problems to be studied or resolved. ...
, where it is formulated as the problem of limiting the beliefs that have to be updated in response to actions. In the logical context, actions are typically specified by what they change, with the implicit assumption that everything else (the frame) remains unchanged.


Description

The frame problem occurs even in very simple domains. A scenario with a door, which can be open or closed, and a light, which can be on or off, is statically represented by two
proposition In logic and linguistics, a proposition is the meaning of a declarative sentence. In philosophy, " meaning" is understood to be a non-linguistic entity which is shared by all sentences with the same meaning. Equivalently, a proposition is the no ...
s \mathrm and \mathrm. If these conditions can change, they are better represented by two
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 \mathrm(t) and \mathrm(t) that depend on time; such predicates are called fluents. A domain in which the door is closed and the light off at time 0, and the door opened at time 1, can be directly represented in logic by the following formulae: :\neg \mathrm(0) :\neg \mathrm(0) :\mathrm(1) The first two formulae represent the initial situation; the third formula represents the effect of executing the action of opening the door at time 1. If such an action had preconditions, such as the door being unlocked, it would have been represented by \neg \mathrm(0) \implies \mathrm(1). In practice, one would have a predicate \mathrm(t) for specifying when an action is executed and a rule \forall t . \mathrm(t) \implies \mathrm(t+1) for specifying the effects of actions. The article on 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 ...
gives more details. While the three formulae above are a direct expression in logic of what is known, they do not suffice to correctly draw consequences. While the following conditions (representing the expected situation) are consistent with the three formulae above, they are not the only ones. : Indeed, another set of conditions that is consistent with the three formulae above is: : The frame problem is that specifying only which conditions are changed by the actions does not entail that all other conditions are not changed. This problem can be solved by adding the so-called “frame axioms”, which explicitly specify that all conditions not affected by actions are not changed while executing that action. For example, since the action executed at time 0 is that of opening the door, a frame axiom would state that the status of the light does not change from time 0 to time 1: :\mathrm(0) \iff \mathrm(1) The frame problem is that one such frame axiom is necessary for every pair of action and condition such that the action does not affect the condition. In other words, the problem is that of formalizing a dynamical domain without explicitly specifying the frame axioms. The solution proposed by McCarthy to solve this problem involves assuming that a minimal amount of condition changes have occurred; this solution is formalized using the framework of
circumscription Circumscription may refer to: *Circumscribed circle * Circumscription (logic) *Circumscription (taxonomy) *Circumscription theory, a theory about the origins of the political state in the history of human evolution proposed by the American anthrop ...
. The Yale shooting problem, however, shows that this solution is not always correct. Alternative solutions were then proposed, involving predicate completion, fluent occlusion, successor state axioms, etc.; they are explained below. By the end of the 1980s, the frame problem as defined by McCarthy and Hayes was solved. Even after that, however, the term “frame problem” was still used, in part to refer to the same problem but under different settings (e.g., concurrent actions), and in part to refer to the general problem of representing and reasoning with dynamical domains.


Solutions

The following solutions depict how the frame problem is solved in various formalisms. The formalisms themselves are not presented in full: what is presented are simplified versions that are sufficient to explain the full solution.


Fluent occlusion solution

This solution was proposed by Erik Sandewall, who also defined a
formal language In logic, mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules. The alphabet of a formal language consists of sym ...
for the specification of dynamical domains; therefore, such a domain can be first expressed in this language and then automatically translated into logic. In this article, only the expression in logic is shown, and only in the simplified language with no action names. The rationale of this solution is to represent not only the value of conditions over time, but also whether they can be affected by the last executed action. The latter is represented by another condition, called occlusion. A condition is said to be ''occluded'' in a given time point if an action has been just executed that makes the condition true or false as an effect. Occlusion can be viewed as “permission to change”: if a condition is occluded, it is relieved from obeying the constraint of inertia. In the simplified example of the door and the light, occlusion can be formalized by two predicates \mathrm(t) and \mathrm(t). The rationale is that a condition can change value only if the corresponding occlusion predicate is true at the next time point. In turn, the occlusion predicate is true only when an action affecting the condition is executed. :\neg \mathrm(0) :\neg \mathrm(0) :\mathrm(1) \wedge \mathrm(1) :\forall t . \neg \mathrm(t) \implies (\mathrm(t-1) \iff \mathrm(t)) :\forall t . \neg \mathrm(t) \implies (\mathrm(t-1) \iff \mathrm(t)) In general, every action making a condition true or false also makes the corresponding occlusion predicate true. In this case, \mathrm(1) is true, making the antecedent of the fourth formula above false for t=1; therefore, the constraint that \mathrm(t-1) \iff \mathrm(t) does not hold for t=1. Therefore, \mathrm can change value, which is also what is enforced by the third formula. In order for this condition to work, occlusion predicates have to be true only when they are made true as an effect of an action. This can be achieved either by
circumscription Circumscription may refer to: *Circumscribed circle * Circumscription (logic) *Circumscription (taxonomy) *Circumscription theory, a theory about the origins of the political state in the history of human evolution proposed by the American anthrop ...
or by predicate completion. It is worth noticing that occlusion does not necessarily imply a change: for example, executing the action of opening the door when it was already open (in the formalization above) makes the predicate \mathrm true and makes \mathrm true; however, \mathrm has not changed value, as it was true already.


Predicate completion solution

This encoding is similar to the fluent occlusion solution, but the additional predicates denote change, not permission to change. For example, \mathrm(t) represents the fact that the predicate \mathrm will change from time t to t+1. As a result, a predicate changes if and only if the corresponding change predicate is true. An action results in a change if and only if it makes true a condition that was previously false or vice versa. :\neg \mathrm(0) :\neg \mathrm(0) :\neg \mathrm(0) \implies \mathrm(0) :\forall t. \mathrm(t) \iff (\neg \mathrm(t) \iff \mathrm(t+1)) :\forall t. \mathrm(t) \iff (\neg \mathrm(t) \iff \mathrm(t+1)) The third formula is a different way of saying that opening the door causes the door to be opened. Precisely, it states that opening the door changes the state of the door if it had been previously closed. The last two conditions state that a condition changes value at time t if and only if the corresponding change predicate is true at time t. To complete the solution, the time points in which the change predicates are true have to be as few as possible, and this can be done by applying predicate completion to the rules specifying the effects of actions.


Successor state axioms solution

The value of a condition after the execution of an action can be determined by the fact that the condition is true if and only if: # the action makes the condition true; or # the condition was previously true and the action does not make it false. A successor state axiom is a formalization in logic of these two facts. For example, if \mathrm(t) and \mathrm(t) are two conditions used to denote that the action executed at time t was to open or close the door, respectively, the running example is encoded as follows. : \neg \mathrm(0) : \neg \mathrm(0) : \mathrm(0) : \forall t . \mathrm(t+1) \iff \mathrm(t) \vee (\mathrm(t) \wedge \neg \mathrm(t)) This solution is centered around the value of conditions, rather than the effects of actions. In other words, there is an axiom for every condition, rather than a formula for every action. Preconditions to actions (which are not present in this example) are formalized by other formulae. The successor state axioms are used in the variant to 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 ...
proposed by
Ray Reiter Raymond Reiter (; June 12, 1939 – September 16, 2002) was a Canadian computer scientist and logician. He was one of the founders of the field of non-monotonic reasoning with his work on default logic, model-based diagnosis, closed world r ...
.


Fluent calculus solution

The fluent calculus is a variant of the situation calculus. It solves the frame problem by using first-order logic terms, rather than predicates, to represent the states. Converting predicates into terms in first-order logic is called 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 \mathrm \circ \mathrm. 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 \mathrm \circ \mathrm 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., \mathrm(\mathrm \circ \mathrm, 10) means that this is the state at time 10. 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: : \mathrm(s \circ \mathrm, 1) \iff \mathrm(s,0) The action of closing the door, which makes a condition false instead of true, is represented in a slightly different way: : \mathrm(s, 1) \iff \mathrm(s \circ \mathrm, 0) This formula works provided that suitable axioms are given about \mathrm and \circ, e.g., a term containing the same condition twice is not a valid state (for example, \mathrm(\mathrm \circ s \circ \mathrm, t) is always false for every s and t).


Event calculus solution

The event calculus uses terms for representing fluents, like the fluent calculus, but also has axioms constraining the value of fluents, like the successor state axioms. In the event calculus, inertia is enforced by formulae stating that a fluent is true if it has been true at a given previous time point and no action changing it to false has been performed in the meantime. Predicate completion is still needed in the event calculus for obtaining that a fluent is made true only if an action making it true has been performed, but also for obtaining that an action had been performed only if that is explicitly stated.


Default logic solution

The frame problem can be thought of as the problem of formalizing the principle that, by default, "everything is presumed to remain in the state in which it is" (
Leibniz Gottfried Wilhelm (von) Leibniz . ( – 14 November 1716) was a German polymath active as a mathematician, philosopher, scientist and diplomat. He is one of the most prominent figures in both the history of philosophy and the history of ma ...
, "An Introduction to a Secret Encyclopædia", ''c''. 1679). This default, sometimes called the ''commonsense law of inertia'', was expressed by Raymond Reiter in
default logic Default logic is a non-monotonic logic proposed by Raymond Reiter to formalize reasoning with default assumptions. Default logic can express facts like “by default, something is true”; by contrast, standard logic can only express that something ...
: : \frac (if R(x) is true in situation s, and it can be assumed that R(x) remains true after executing action a, then we can conclude that R(x) remains true). Steve Hanks and Drew McDermott argued, on the basis of their Yale shooting example, that this solution to the frame problem is unsatisfactory. Hudson Turner showed, however, that it works correctly in the presence of appropriate additional postulates.


Answer set programming solution

The counterpart of the default logic solution in the language of
answer set programming Answer set programming (ASP) is a form of declarative programming oriented towards difficult (primarily NP-hard) search problems. It is based on the stable model (answer set) semantics of logic programming. In ASP, search problems are reduced ...
is a rule with strong negation: :r(X,T+1) \leftarrow r(X,T),\ \hbox\sim r(X,T+1) (if r(X) is true at time T, and it can be assumed that r(X) remains true at time T+1, then we can conclude that r(X) remains true).


Separation logic solution

Separation logic is a formalism for reasoning about computer programs using pre/post specifications of the form \\ \mathrm\ \. Separation logic is an extension of
Hoare logic Hoare logic (also known as Floyd–Hoare logic or Hoare rules) is a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programs. It was proposed in 1969 by the British computer scientist and l ...
oriented to reasoning about mutable data structures in computer memory and other dynamic resources, and it has a special connective *, pronounced "and separately", to support independent reasoning about disjoint memory regions. Separation logic employs a ''tight'' interpretation of pre/post specs, which say that the code can ''only'' access memory locations guaranteed to exist by the precondition. This leads to the soundness of the most important inference rule of the logic, the ''frame rule'' \frac The frame rule allows descriptions of arbitrary memory outside the footprint (memory accessed) of the code to be added to a specification: this enables the initial specification to concentrate only on the footprint. For example, the inference \frac captures that code which sorts a list ''x'' does not unsort a separate list ''y,'' and it does this without mentioning ''y'' at all in the initial spec above the line. Automation of the frame rule has led to significant increases in the scalability of automated reasoning techniques for code, eventually deployed industrially to codebases with tens of millions of lines. There appears to be some similarity between the separation logic solution to the frame problem and that of the fluent calculus mentioned above.


Action description languages

Action description language In artificial intelligence, action description language (ADL) is an automated planning and scheduling system in particular for robots. It is considered an advancement of STRIPS. Edwin Pednault (a specialist in the field of data abstraction and mod ...
s elude the frame problem rather than solving it. An action description language is a formal language with a syntax that is specific for describing situations and actions. For example, that the action \mathrm makes the door open if not locked is expressed by: : \mathrm causes \mathrm if \neg \mathrm The semantics of an action description language depends on what the language can express (concurrent actions, delayed effects, etc.) and is usually based on transition systems. Since domains are expressed in these languages rather than directly in logic, the frame problem only arises when a specification given in an action description logic is to be translated into logic. Typically, however, a translation is given from these languages to
answer set programming Answer set programming (ASP) is a form of declarative programming oriented towards difficult (primarily NP-hard) search problems. It is based on the stable model (answer set) semantics of logic programming. In ASP, search problems are reduced ...
rather than first-order logic.


See also

* Binding problem *
Common sense ''Common Sense'' is a 47-page pamphlet written by Thomas Paine in 1775–1776 advocating independence from Great Britain to people in the Thirteen Colonies. Writing in clear and persuasive prose, Paine collected various moral and political arg ...
*
Commonsense reasoning In artificial intelligence (AI), commonsense reasoning is a human-like ability to make presumptions about the type and essence of ordinary situations humans encounter every day. These assumptions include judgments about the nature of physical objec ...
*
Defeasible reasoning In philosophical logic, defeasible reasoning is a kind of reasoning that is rationally compelling, though not deductive reasoning, deductively valid. It usually occurs when a rule is given, but there may be specific exceptions to the rule, or su ...
*
Linear logic Linear logic is a substructural logic proposed by Jean-Yves Girard as a refinement of classical and intuitionistic logic, joining the dualities of the former with many of the constructive properties of the latter. Although the logic has also ...
* Separation logic *
Non-monotonic logic A non-monotonic logic is a formal logic whose conclusion relation is not monotonic. In other words, non-monotonic logics are devised to capture and represent defeasible inferences (cf. defeasible reasoning), i.e., a kind of inference in which re ...
*
Qualification problem In philosophy and AI (especially, knowledge-based systems), the qualification problem is concerned with the impossibility of listing ''all'' the preconditions required for a real-world action to have its intended effect. It might be posed as ''h ...
*
Ramification problem In philosophy and artificial intelligence (especially, knowledge based systems), the ramification problem is concerned with the indirect consequences of an action. It might also be posed as ''how to represent what happens implicitly due to an action ...
*
Symbol grounding In cognitive science and semantics, the symbol grounding problem concerns how it is that words ( symbols in general) get their meanings, and hence is closely related to the problem of what meaning itself really is. The problem of meaning is i ...
* Yale shooting problem


Notes


References

* * * * * * * Presented at ''Celebration of John McCarthy's Accomplishments'',
Stanford University Stanford University, officially Leland Stanford Junior University, is a private research university in Stanford, California. The campus occupies , among the largest in the United States, and enrolls over 17,000 students. Stanford is conside ...
, March 25, 2012. * * * * * * * * * * * * * *


External links

*
Some Philosophical Problems from the Standpoint of Artificial Intelligence
the original article of McCarthy and Hayes that proposed the problem. {{John McCarthy Artificial intelligence Knowledge representation Epistemology Logic programming Philosophical problems 1969 introductions