Frame problem

In artificial intelligence, the frame problem was initially formulated as the problem of expressing a dynamical domain in logic without explicitly specifying which conditions "are not" affected by an action. John McCarthy and Patrick J. Hayes defined this problem in their 1969 article, "Some Philosophical Problems from the Standpoint of Artificial Intelligence". Later, the term acquired a broader meaning in philosophy, where it is formulated as the problem of limiting the beliefs that have to be updated in response to actions.

The name "frame problem" derives from a common technique used by animated cartoon makers called framing where the currently moving parts of the cartoon are superimposed on the "frame," which depicts the background of the scene, which does not change. In the logical context, actions are typically specified by what they change, with the implicit assumption that everything else (the frame) remains unchanged.

The frame problem in artificial intelligence

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 propositions "open" and "on". If these conditions can change, they are better represented by two predicates "open(t)" and "on(t)" that depend on time; such predicates are called fluents. A domain in which the door is closed, the light is off, and the door is opened at time 1 can be directly represented in logic by the following formulae:

: eg open(0): eg on(0):true ightarrow open(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 must not be locked, it would have been represented by eg locked(0) ightarrow open(1); this is not needed for this exposition. This is a simplified formalization in which the effects of actions are specified directly in the time points in which the actions are executed. In practice, one would have a predicate execute_open(t) for specifying when an action is executed and a rule forall t . execute_open(t) wedge true ightarrow open(t+1) for specifying the effects of actions; this is also not needed for this exposition (the article on the situation calculus 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 do not allow, in logic, to conclude 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:

:on(0) equiv on(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. 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. 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 to the frame problem

In the following, how the frame problem is solved in various formalisms is shown. The formalisms themselves are not presented in full: what is presented are simplified versions that are however sufficient to show how the frame problem is solved.

The fluent occlusion solution

This solution was proposed by Erik Sandewall, who also defined a formal language 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 occlude_open(t) and occlude_on(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 predidate is true only when an action affecting the condition is executed.

: eg open(0): eg on(0):true ightarrow open(1) wedge occlude_open(1):forall t . ( eg occlude_open(t)) ightarrow (open(t-1) equiv open(t)):forall t . ( eg occlude_on(t)) ightarrow (on(t-1) equiv on(t))

In general, every action making a condition true or false also makes the corresponding occlusion predicate true. In this case, occlude_open(1) is true, making the antecedent of the fourth formula above false for t=1; therefore, the constraint that open(t-1) equiv open(t) does not hold for t=1. Therefore, open 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 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 occlude_open true and makes open true; however, open has not changed value, as it was true already.

The predicate completion solution

This encoding is similar to the fluent occlusion solution, but the additional predicates denote change, not permission to change. For example, change_open(t) represents the fact that the predicate open 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.

: eg open(0): eg on(0): eg open(0) wedge true ightarrow change_open(0):forall t.change_open(t) equiv(open(t) otequiv open(t+1)):forall t . change_on(t) equiv(on(t) otequiv on(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.

The successor state axioms solution

The value of a condition after the execution of an action can be determined bythe fact that the condition is true if and only if:

# the action makes the condition true;
# 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. Forexample, if open_door(t) and close_door(t) are twoconditions used to denote that the action executed at time t wasto open or close the door, respectively, the running example is encoded asfollows.

: eg open(0): eg on(0): open_door(0): forall t . open(t+1) equiv open_door(0) vee (open(t) wedge eg close_door(t))

This solution is centered around the value of conditions, rather than theeffects of actions. In other words, there is an axiom for every condition,rather than a formula for every action. Preconditions to actions (which are notpresent in this example) are formalized by other formulae. The successor stateaxioms are used in the variant to the situation calculus proposed by
Ray Reiter.

The 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. Convertingpredicates into terms in first order logic is called reification; thefluent calculus can be seen as a logic in which predicates representing thestate 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 represent 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 open circ on. 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 open circ on 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., state(open circ on, 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:

: state(s circ open, 1) equiv state(s,0)

The action of closing the door, which makes a condition false instead of true, is represented in a slightly different way:

: state(s, 1) equiv state(s circ open, 0)

This formula works provided that suitable axioms are given about state and circ, e.g., a term containing two times the same condition is not a valid state (for example, state(open circ s circ open, t) is always false for every s and t).

The 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.

The 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, "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:

: frac{R(x,s) : R(x,do(a,s))}{R(x,do(a,s))}

(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.

The answer set programming solution

The counterpart of the default logic solution in the language of answer set programming is a rule with strong negation:

:r(X,T+1) leftarrow r(X,T), hbox{not }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).

Action description languages

Action description languages 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 open_door makes the door open if not locked is expressed by:

: open_door causes open if eg locked

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 rather than first-order logic.

Related problems

According to J. van Brakel, some other problems that are related to, or more specific versions of, the frame problem include the following:

* extended prediction problem
* holism problem
* inertia problem
* installation problem
* planning problem
* persistence problem
* qualification problem
* ramification problem
* relevance problem
* temporal projection problem

The frame problem in philosophy

In philosophy, the frame problem is about rationality in general, rather thanformal logic in particular. The frame problem in philosophy is therefore theproblem of how a rational agent bounds the set of beliefs to change when anaction is performed.

ee also

* Circumscription (logic)
* Common sense
* Default logic
* Defeasible reasoning
* Event calculus
* Non-monotonic logic
* Situation calculus


* J. McCarthy and P. J. Hayes (1969). [ Some philosophical problems from the standpoint of artificial intelligence] . "Machine Intelligence", 4:463-502.

* E. Sandewall (1972), An approach to the Frame Problem and its Implementation, "Machine Intelligence", 7:195–204.

* J. McCarthy (1986). [ Applications of circumscription to formalizing common-sense knowledge] . "Artificial Intelligence", 28:89-116.

* S. Hanks and D. McDermott (1987). Nonmonotonic logic and temporal projection. "Artificial Intelligence", 33(3):379-412.

* R. Reiter (1991). The frame problem in the situation calculus: a simple solution (sometimes) and a completeness result for goal regression. In Vladimir Lifschitz, editor, "Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy", pages 359-380. Academic Press, New York.

* M. Gelfond and V. Lifschitz (1993). Representing action and change by logic programs. "Journal of Logic Programming", 17:301-322.

* E. Sandewall (1994), [ Features and Fluents] , Oxford University Press.

* E. Sandewall and Y. Shoham (1995), [ Non-monotonic Temporal Reasoning] , in D. M. Gabbay, C. J. Hogger and J. A. Robinson eds., "Handbook of Logic in Artificial Intelligence and Logic Programming", vol. 4, ch. 7, p. 439–498, Oxford University Press.

* J.A. Toth (1995). Book review. Kenneth M. and Patrick J. Hayes, eds., "Reasoning agents in a dynamic world: The frame problem. Artificial Intelligence," 73:323-369.

* P. Liberatore (1997). [ The complexity of the language A] . "Electronic Transactions on Artificial Intelligence", 1(1-3):13-37.

* E. Sandewall (1998). [ Cognitive robotics logic and its metatheory: Features and fluents revisited] . "Electronic Transactions on Artificial Intelligence", 2(3-4):307-329.

* M. Gelfond and V. Lifschitz (1998). [ Action languages] . "Electronic Transactions on Artificial Intelligence", 2(3-4):193-210.

* H. Levesque, F. Pirri, and R. Reiter (1998). [ Foundations for the situation calculus] . "Electronic Transactions on Artificial Intelligence", 2(3-4):159-178.

* P. Doherty, J. Gustafsson, L. Karlsson, and J. Kvarnström (1998). [ TAL: Temporal action logics language specification and tutorial] . "Electronic Transactions on Artificial Intelligence", 2(3-4):273-306.

* M. Thielscher (1998). [ Introduction to the fluent calculus] . "Electronic Transactions on Artificial Intelligence", 2(3-4):179-192.

* R. Miller and M. Shanahan (1999). [ The event-calculus in classical logic - alternative axiomatizations] . "Electronic Transactions on Artificial Intelligence", 3(1):77-105.

* R. Reiter (1980). A logic for default reasoning. "Artificial Intelligence", 13:81-132.

* H. Turner (1997) [ Representing actions in logic programs and default theories: a situation calculus approach] . "Journal of Logic Programming", 31:245-298.

External links

* [ The Frame Problem] at the Stanford Encyclopaedia of Philosophy.
* [ Some Philosophical Problems from the Standpoint of Artificial Intelligence] ; the original article of McCarthy and Hayes that proposed the problem.
* [ Robotics and the common sense informatic situation] presents solution to the frame problem
* [ The History of the Frame Problem] covers the history of the frame problem up to 2001.

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • frame problem — A fundamental problem in artificial intelligence research, first identified by John McCarthy and Pat Hayes (‘Some Philosophical Problems from the Standpoint of Artificial Intelligence’, Machine Intelligence, 1969). A common sense appreciation of… …   Philosophy dictionary

  • Frame problem (philosophy) — This article is about the frame problem in philosophy; for the artificial intelligence problem, see frame problem In philosophy, the frame problem is the problem of how a rational agent bounds the set of beliefs to change when an action is… …   Wikipedia

  • Frame language — is a metalanguage. It applies the frame concept to the structuring of language properties. Frame languages are usually software languages. Frame languages are rather focused on the recognition and description of objects and classes , and… …   Wikipedia

  • Frame — A frame is a structural system that supports other components of a physical construction. Frame may also refer to:Engineering construction* Framing (construction), a building term known as light frame construction * Frame (vehicle), to which… …   Wikipedia

  • Problem Frames Approach — Problem Analysis or the Problem Frames Approach is an approach to software requirements analysis. It was developed by British software consultant Michael A. Jackson. The Problem Frames Approach was first sketched by Jackson in his book Software… …   Wikipedia

  • Frame analysis — is a multi disciplinary social science research method used to analyze how people understand situations and activities. The concept is generally attributed to the work of Erving Goffman and his 1974 book Frame analysis: An essay on the… …   Wikipedia

  • Frame rate — Frame rate, or frame frequency, is the measurement of the frequency (rate) at which an imaging device produces unique consecutive images called frames. The term applies equally well to computer graphics, video cameras, film cameras, and motion… …   Wikipedia

  • Problem Solved — is a controversial slogan on a t shirt designed by Route 66 Attitude, a clothing line sold by major U.S. department store Kmart. The shirt depicts two cells of a male and a female stick figures arguing in the first frame (captioned Problem ), and …   Wikipedia

  • Problem solving — forms part of thinking. Considered the most complex of all intellectual functions, problem solving has been defined as higher order cognitive process that requires the modulation and control of more routine or fundamental skills (Goldstein Levin …   Wikipedia

  • Frame of reference — A frame of reference in physics, may refer to a coordinate system or set of axes within which to measure the position, orientation, and other properties of objects in it, or it may refer to an observational reference frame tied to the state of… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”