Recent from talks
Contribute something
Nothing was collected or created yet.
Frame problem
View on WikipediaIn artificial intelligence, with implications for cognitive science, the frame problem describes an issue with using first-order logic to express facts about a robot in the world. Representing the state of a robot with traditional first-order logic 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 first-order logic system, additional axioms 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.[1]
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.[2]
In philosophy, the frame problem became more broadly construed in connection with 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
[edit]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 and . If these conditions can change, they are better represented by two predicates and 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 [clarification needed] by the following formulae:
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 . In practice, one would have a predicate for specifying when an action is executed and a rule for specifying the effects of actions. 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 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:
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.[clarification needed] 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.; they are explained below. By the end of the 1980s, the frame problem as defined by McCarthy and Hayes was solved[clarification needed]. 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
[edit]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
[edit]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 and . 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.
In general, every action making a condition true or false also makes the corresponding occlusion predicate true. In this case, is true, making the antecedent of the fourth formula above false for ; therefore, the constraint that does not hold for . Therefore, 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 true and makes true; however, has not changed value, as it was true already.
Predicate completion solution
[edit]This encoding is similar to the fluent occlusion solution, but the additional predicates denote change, not permission to change. For example, represents the fact that the predicate will change from time to . 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.
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 if and only if the corresponding change predicate is true at time . 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
[edit]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 and are two conditions used to denote that the action executed at time was to open or close the door, respectively, the running example is encoded as follows.
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 proposed by Ray Reiter.
Fluent calculus solution
[edit]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 . 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 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., means that this is the state at time .
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:
The action of closing the door, which makes a condition false instead of true, is represented in a slightly different way:
This formula works provided that suitable axioms are given about and , e.g., a term containing the same condition twice is not a valid state (for example, is always false for every and ).
Event calculus solution
[edit]The event calculus uses terms for representing fluents, like the fluent calculus, but also has one or more axioms constraining the value of fluents, like the successor state axioms. There are many variants of the event calculus, but one of the simplest and most useful employs a single axiom to represent the law of inertia:
The axiom states that a fluent holds at a time , if an event happens and initiates at an earlier time , and there is no event that happens and terminates after or at the same time as and before .
To apply the event calculus to a particular problem domain, it is necessary to define the and predicates for that domain. For example:
To apply the event calculus to a particular problem in the domain, it is necessary to specify the events that happen in the context of the problem. For example:
- .
- .
To solve a problem, such as which fluents hold at time 5?, it is necessary to pose the problem as a goal, such as:
In this case, obtaining the unique solution:
The event calculus solves the frame problem, eliminating undesired solutions, by using a non-monotonic logic, such as first-order logic with circumscription[3] or by treating the event calculus as a logic program using negation as failure.
Default logic solution
[edit]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:
(if is true in situation , and it can be assumed[4] that remains true after executing action , then we can conclude that 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
[edit]The counterpart of the default logic solution in the language of answer set programming is a rule with strong negation:
(if is true at time , and it can be assumed that remains true at time , then we can conclude that remains true).
Separation logic solution
[edit]Separation logic is a formalism for reasoning about computer programs using pre/post specifications of the form . Separation logic is an extension of Hoare logic 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.[5][6]
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.[7] This leads to the soundness of the most important inference rule of the logic, the frame rule
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
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,[8] eventually deployed industrially to codebases with tens of millions of lines.[9]
There appears to be some similarity between the separation logic solution to the frame problem and that of the fluent calculus mentioned above.[further explanation needed]
Action description languages
[edit]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 makes the door open if not locked is expressed by:
- causes if
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.
See also
[edit]Notes
[edit]- ^ Hayes, Patrick (1973). "The Frame Problem and Related Problems in Artificial Intelligence". University of Edinburgh.
- ^ McCarthy, J; P.J. Hayes (1969). "Some philosophical problems from the standpoint of artificial intelligence". Machine Intelligence. 4: 463–502. CiteSeerX 10.1.1.85.5082.
- ^ Shanahan, M. (1997) Solving the frame problem: A mathematical investigation of the common sense law of inertia. MIT Press.
- ^ i.e., no contradicting information is known
- ^ Reynolds, J.C. (2002). "Separation logic: A logic for shared mutable data structures". Proceedings 17th Annual IEEE Symposium on Logic in Computer Science. Copenhagen, Denmark: IEEE Comput. Soc. pp. 55–74. CiteSeerX 10.1.1.110.7749. doi:10.1109/LICS.2002.1029817. ISBN 978-0-7695-1483-3. S2CID 6271346.
- ^ O'Hearn, Peter (2019-01-28). "Separation logic". Communications of the ACM. 62 (2): 86–95. doi:10.1145/3211968. ISSN 0001-0782.
- ^ O’Hearn, Peter; Reynolds, John; Yang, Hongseok (2001). "Local Reasoning about Programs that Alter Data Structures". In Fribourg, Laurent (ed.). Computer Science Logic. Lecture Notes in Computer Science. Vol. 2142. Berlin, Heidelberg: Springer. pp. 1–19. doi:10.1007/3-540-44802-0_1. ISBN 978-3-540-44802-0.
- ^ Calcagno Cristiano; Dino Distefano; Peter O'Hearn; Hongseok Yang (2011-12-01). "Compositional Shape Analysis by Means of Bi-Abduction". Journal of the ACM. 58 (6): 1–66. doi:10.1145/2049697.2049700. S2CID 52808268.
- ^ Distefano, Dino; Fähndrich, Manuel; Logozzo, Francesco; O'Hearn, Peter (2019-07-24). "Scaling static analyses at Facebook". Communications of the ACM. 62 (8): 62–70. doi:10.1145/3338112.
References
[edit]- Doherty, P.; Gustafsson, J.; Karlsson, L.; Kvarnström, J. (1998). "TAL: Temporal action logics language specification and tutorial". Electronic Transactions on Artificial Intelligence. 2 (3–4): 273–306.
- Gelfond, M.; Lifschitz, V. (1993). "Representing action and change by logic programs". Journal of Logic Programming. 17 (2–4): 301–322. doi:10.1016/0743-1066(93)90035-f.
- Gelfond, M.; Lifschitz, V. (1998). "Action languages". Electronic Transactions on Artificial Intelligence. 2 (3–4): 193–210.
- Hanks, S.; McDermott, D. (1987). "Nonmonotonic logic and temporal projection". Artificial Intelligence. 33 (3): 379–412. doi:10.1016/0004-3702(87)90043-9.
- Levesque, H.; Pirri, F.; Reiter, R. (1998). "Foundations for the situation calculus". Electronic Transactions on Artificial Intelligence. 2 (3–4): 159–178.
- Liberatore, P. (1997). "The complexity of the language A". Electronic Transactions on Artificial Intelligence. 1 (1–3): 13–37.
- Lifschitz, V. (2012). "The frame problem, then and now" (PDF). University of Texas at Austin. Archived (PDF) from the original on 2014-02-11. Presented at Celebration of John McCarthy's Accomplishments, Stanford University, March 25, 2012.
- McCarthy, J.; Hayes, P. J. (1969). "Some philosophical problems from the standpoint of artificial intelligence". Machine Intelligence. 4: 463–502. CiteSeerX 10.1.1.85.5082.
- McCarthy, J. (1986). "Applications of circumscription to formalizing common-sense knowledge". Artificial Intelligence. 28: 89–116. CiteSeerX 10.1.1.29.5268. doi:10.1016/0004-3702(86)90032-9.
- Miller, R.; Shanahan, M. (1999). "The event-calculus in classical logic - alternative axiomatizations". Electronic Transactions on Artificial Intelligence. 3 (1): 77–105.
- Pirri, F.; Reiter, R. (1999). "Some contributions to the metatheory of the Situation Calculus". Journal of the ACM. 46 (3): 325–361. doi:10.1145/316542.316545. S2CID 16203802.
- Reiter, R. (1980). "A logic for default reasoning" (PDF). Artificial Intelligence. 13 (1–2): 81–132. CiteSeerX 10.1.1.250.9224. doi:10.1016/0004-3702(80)90014-4.
- Reiter, R. (1991). "The frame problem in the situation calculus: a simple solution (sometimes) and a completeness result for goal regression". In Lifschitz, Vladimir (ed.). Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy. New York: Academic Press. pp. 359–380. CiteSeerX 10.1.1.137.2995.
- Sandewall, E. (1972). "An approach to the Frame Problem and its Implementation". Machine Intelligence. 7: 195–204.
- Sandewall, E. (1994). Features and Fluents. Vol. (vol. 1). New York: Oxford University Press. ISBN 978-0-19-853845-5.
- Sandewall, E.; Shoham, Y. (1995). "Non-monotonic Temporal Reasoning". In Gabbay, D. M.; Hogger, C. J.; Robinson, J. A. (eds.). Handbook of Logic in Artificial Intelligence and Logic Programming. Vol. (vol. 4). Oxford University Press. pp. 439–498. ISBN 978-0-19-853791-5.
- Sandewall, E. (1998). "Cognitive robotics logic and its metatheory: Features and fluents revisited". Electronic Transactions on Artificial Intelligence. 2 (3–4): 307–329.
- Shanahan, M. (1997). Solving the frame problem: A mathematical investigation of the common sense law of inertia. MIT Press. ISBN 9780262193849.
- Thielscher, M. (1998). "Introduction to the fluent calculus". Electronic Transactions on Artificial Intelligence. 2 (3–4): 179–192.
- Toth, J.A. (1995). "Book review. Kenneth M. and Patrick J. Hayes, eds". Reasoning Agents in a Dynamic World: The Frame Problem. Artificial Intelligence. 73 (1–2): 323–369. doi:10.1016/0004-3702(95)90043-8.
- Turner, H. (1997). "Representing actions in logic programs and default theories: a situation calculus approach" (PDF). Journal of Logic Programming. 31 (1–3): 245–298. doi:10.1016/s0743-1066(96)00125-2.
External links
[edit]- Zalta, Edward N. (ed.). "The Frame Problem". Stanford Encyclopedia of Philosophy.
- Some Philosophical Problems from the Standpoint of Artificial Intelligence; the original article of McCarthy and Hayes that proposed the problem.
Frame problem
View on GrokipediaOrigins and Definition
Historical Context
The frame problem originated in artificial intelligence research as a challenge in formalizing how actions affect the world without explicitly accounting for every unchanged aspect. John McCarthy and Patrick J. Hayes first articulated it in their 1969 paper "Some Philosophical Problems from the Standpoint of Artificial Intelligence," where they introduced the situation calculus as a formalism for representing changing situations and actions.[1] In this context, the problem emerged from the need to prove the correctness of action sequences, requiring axioms to specify that irrelevant fluents—such as ownership of objects—remain unaffected by unrelated operations like looking up a phone number.[1] McCarthy and Hayes illustrated the issue by noting that for m fluents and n actions, up to mn conditions might be needed to assert persistence, stating: "If we had a number of actions to be performed in sequence we would have quite a number of conditions to write down that certain actions do not change the values of certain fluents."[1] In the 1970s, early planning systems like the STRIPS (Stanford Research Institute Problem Solver) planner, developed by Richard Fikes and Nils Nilsson in 1971, addressed action effects through explicit add and delete lists that modified only specified predicates, implicitly assuming the frame—everything else—stayed constant.[6] This mechanism allowed efficient state updates in robotic domains, such as Shakey's navigation, by defining operator effects as "a list of wffs that must be added to the model and a list of wffs that are no longer true and therefore must be deleted."[6] However, the approach proved problematic, as its reliance on unstated persistence assumptions became unwieldy in complex environments, highlighting the frame problem's practical limitations without a fully rigorous solution.[7] The frame problem evolved significantly in the 1980s amid debates at AI conferences, where it became a central topic in knowledge representation and commonsense reasoning.[8] McCarthy further elaborated on it in 1980 through his work on situation calculus, proposing circumscription as a non-monotonic reasoning method to minimize explicit frame axioms by defaulting to minimal change.[9] In "Circumscription—A Form of Non-Monotonic Reasoning," he emphasized the core difficulty: formalizing that fluents hold in the resulting situation unless an abnormality alters them, such as via the axiom schema ∀f, e, s: Holds(f, s) ∧ ¬abnormal(f, e, s) ⇒ Holds(f, result(e, s)).[9] These discussions, including exchanges in forums like the 1987 collection The Robot's Dilemma, underscored the problem's philosophical and computational depth, influencing subsequent AI methodologies.[8]Core Definition
In artificial intelligence, particularly in knowledge representation and reasoning, the frame problem refers to the challenge of formally specifying the effects of actions in a way that captures only the intended changes to the world while avoiding the need to explicitly enumerate all unaffected aspects, which would otherwise result in an impractically large or incomplete set of axioms.[1] This issue arises because actions in dynamic environments typically alter only a small subset of properties, yet logical formalisms require precise delineation to prevent erroneous inferences about what persists unchanged.[10] Central to this problem is the concept of fluents, which are predicates or functions whose truth values or outputs can vary across different states of the world.[1] Fluents represent time-varying properties, such as the location of an object or the status of a switch, and their values must be updated selectively following each action to reflect the evolving situation without inadvertently assuming global changes. The frame problem was first articulated by John McCarthy and Patrick Hayes in their foundational work on situation calculus.[1] A basic logical framework for addressing this is the situation calculus, which models the world using two key sorts: actions and situations . Situations capture complete snapshots of the world's state at particular points in history, with the initial situation denoted and subsequent situations obtained via the function , which applies action to situation to yield a new situation.[10] Fluents are then evaluated relative to these situations, e.g., for a predicate , but defining action effects demands axioms that specify both changes and non-changes, exacerbating the frame problem's combinatorial explosion.[1] In contrast to formal AI systems, human reasoning intuitively resolves this by defaulting to the assumption that most aspects of the world remain stable unless relevant evidence indicates otherwise, thereby ignoring irrelevant potential changes without exhaustive specification.[11] This selective focus enables efficient cognition in complex, real-world scenarios, highlighting a key gap in early logical approaches to AI.[11]Key Challenges and Variants
Representational Frame Problem
The representational frame problem arises in formal logics for artificial intelligence, particularly when modeling dynamic environments where actions alter only specific aspects of the world while leaving most unchanged. In monotonic logics, such as classical first-order logic, once a fact is established as true in a knowledge base, it persists indefinitely unless explicitly contradicted; however, actions typically affect only a subset of fluents (state variables), requiring additional axioms to affirm that unaffected fluents remain unchanged after each action. This stems from the inability of monotonic systems to automatically retract or ignore irrelevant implications, forcing knowledge engineers to enumerate non-effects exhaustively to avoid erroneous persistence or inconsistency.[1][12] A key challenge is the combinatorial explosion of such frame axioms: for a domain with fluents and actions, up to non-effect axioms may be needed, one for each combination where an action does not alter a fluent, rendering knowledge bases unwieldy and maintenance-intensive even for modest domains. This representational burden hampers scalable AI planning and reasoning systems, as the axioms must be hand-crafted and verified for completeness. Unlike the computational frame problem, which concerns the efficiency of inference engines in exploring vast search spaces without fixating on irrelevant possibilities, the representational variant focuses solely on the succinct encoding of persistence in the logical formalism itself.[1][12] In the situation calculus, a foundational formalism for reasoning about actions and change, the representational frame problem manifests through the necessity of frame axioms that explicitly link fluent values across situations. For an action that does not affect a fluent , a typical frame axiom takes the form: where denotes the possibility of performing in situation , and yields the successor situation. These axioms ensure that persists unless an effect axiom specifies otherwise, but their proliferation underscores the core representational difficulty in monotonic frameworks. Successor-state axioms, introduced later, address this by consolidating effect and frame conditions into a single axiom per fluent, mitigating the explosion while preserving monotonicity.[1][12]Qualification and Ramification Problems
The qualification problem and the ramification problem represent key variants of the representational frame problem in artificial intelligence, focusing on challenges in specifying action preconditions and propagating effects beyond direct outcomes.[13] These issues arise in formal systems for reasoning about actions and change, where complete enumeration of conditions or consequences is impractical due to the open-ended nature of real-world domains.[14] The qualification problem refers to the difficulty of listing all possible conditions under which an action can successfully occur, as exceptions or disqualifying factors are potentially infinite and unforeseeable.[13] John McCarthy first articulated this problem in 1977, emphasizing the need to formalize actions such that they succeed by default unless abnormal circumstances intervene.[13] For instance, in describing a boat's ability to cross a river, one cannot exhaustively specify all potential preventions (e.g., storms, leaks, or mechanical failures) in advance; instead, the formalism must allow conjecturing success absent evidence of abnormality.[13] In the situation calculus, this is formalized using the Poss(a, s) predicate, which denotes the preconditions for action a in situation s, but such specifications remain incomplete without mechanisms like circumscription to assume minimal exceptions. The ramification problem, in contrast, concerns the propagation of indirect consequences from an action, where effects cascade through domain dependencies without explicit enumeration.[15] First characterized by Michael Finger in his 1987 PhD thesis, it highlights how actions trigger secondary changes that must be inferred from general laws rather than listed per action.[15] A representative example is an electrical circuit domain: toggling a switch directly alters its state, but the ramification—such as a connected light turning on—follows from the circuit's wiring constraints, potentially leading to further effects like powering an appliance.[16] Without adequate handling, formal theories risk either under- or over-specifying these chains, complicating predictions in complex environments. In situation calculus terms, while direct effects update fluents via successor state axioms, ramifications require additional causal rules to ensure consistency across interdependent states, underscoring the incompleteness of precondition-focused predicates like Poss(a, s).Illustrative Examples
Yale Shooting Scenario
The Yale shooting scenario, presented by Steve Hanks and Drew McDermott in their 1987 paper "Nonmonotonic Logic and Temporal Projection," provides a simple example to demonstrate issues in non-monotonic reasoning for action representation.[17] In this scenario, the gun is initially unloaded and the turkey is alive. The sequence of actions is: load the gun (making it loaded), wait (no intended change), and shoot the turkey. The expected outcome is that the turkey remains alive after loading, the gun remains loaded after waiting, and the turkey dies after shooting (provided the gun is still loaded).[17] The frame problem arises because, without suitable axioms, a reasoning system fails to infer that the gun remains loaded after the wait action, potentially leading to incorrect predictions about the turkey's death. Although this toy example uses only two fluents (gun loaded and turkey alive), it highlights the general challenge of specifying persistence for numerous fluents in more complex domains, where thousands may need explicit frame axioms to avoid combinatorial explosion.[17] The example also illustrates the qualification problem: the shoot action terminates the turkey's life only if the gun is loaded, but abnormal events (such as the gun becoming unloaded during the wait) could prevent the expected effect without additional mechanisms to handle exceptions.[17]Blocks World Domain
The Blocks World domain is a foundational benchmark in artificial intelligence planning, featuring a flat table surface and a collection of distinct, often colored blocks of uniform size that can be stacked atop one another or placed directly on the table, with the constraint that only one block can rest on any given block or table position at a time. A robotic arm or hand serves as the manipulator, capable of handling at most one block simultaneously, and the objective is to achieve a specified configuration of block positions through a sequence of actions. The domain employs predicates such as On(b1, b2) to indicate block b1 is directly on b2, Ontable(b) for a block on the table, Clear(b) for a block or table position with nothing atop it, Holding(h, b) for the hand h grasping block b, and Handempty(h) for an unoccupied hand.[18] The core actions in this domain are PickUp(b), which lifts a clear block b from the table into the empty hand; PutDown(b), which releases a held block b onto the table; Stack(b1, b2), which places a held block b1 onto a clear block b2; and Unstack(b1, b2), which removes a clear block b1 from atop b2 into the empty hand, provided the preconditions for each are satisfied.[18] These actions exemplify the challenges of representing change in logical planning systems.[19] The frame problem manifests prominently in the Blocks World, as actions affect only specific aspects of the state, leaving many others unchanged; for instance, after executing Stack(A, B), explicit frame axioms are required to affirm that unrelated elements persist, such as On(C, Table) for an uninvolved block C, the Clear status of other blocks not adjacent to A or B, and the overall table occupancy excluding the involved positions.[7] Without these axioms, a theorem prover cannot deduce the continuity of unaffected fluents, leading to incomplete or erroneous reasoning about post-action states.[7] This domain originated in the STRIPS (Stanford Research Institute Problem Solver) system, where Fikes and Nilsson introduced a simplified variant in 1971 to demonstrate operator-based planning in a manipulable environment.[6] It gained further prominence in subsequent early planners, such as ABSTRIPS, which extended STRIPS with abstraction hierarchies and frequently employed Blocks World examples to test hierarchical planning.[20] In larger-scale instances, like those with 10 blocks, the representational demands escalate, necessitating over 100 frame axioms per action to capture all persistent fluents amid the quadratic growth in possible relationships (e.g., On pairs).[7]Axiomatic and Logical Solutions
Successor State Axioms
Successor state axioms provide a compact method for encoding the frame assumptions in the situation calculus by specifying how the value of each fluent changes—or persists—following an action. These axioms define the successor state, or the state resulting from performing an action in situation , denoted as , for each fluent . Rather than enumerating all non-effects for every action, successor state axioms explicitly capture both the positive and negative effects of actions on fluents, ensuring that unaffected fluents persist by default.[21] This approach was introduced by Raymond Reiter in 1991 as a solution to the representational frame problem in the situation calculus.[21] For a fluent , the successor state axiom takes the general form: Here, represents the conditions under which action in situation makes true, and represents the conditions under which makes false; the axiom assumes the action is possible, often conjoined with a precondition .[21] This formulation ensures that holds in the successor state if the action causes it to become true or if it already held and the action does not cause it to become false. The primary advantages of successor state axioms lie in their efficiency and explicit handling of persistence. In domains with fluents and actions, a naive frame axiom approach requires axioms to specify non-changes, whereas successor state axioms reduce this to , one per fluent, by focusing solely on effects and default persistence.[21] This not only minimizes the axiomatization size but also facilitates automated reasoning and planning tasks, such as goal regression, by providing a complete and sound basis for inferring state transitions.[21]Predicate Completion
Predicate completion addresses the frame problem by applying Keith Clark's 1978 completion axiom to the logical definitions of predicates in action descriptions, particularly within the situation calculus. Under this approach, a predicate is assumed to hold if and only if its defining formula is satisfied, effectively treating the definitions as if-then-else statements that exhaustively specify when the predicate is true. This minimizes the models by assuming a closed world where unspecified conditions do not hold, thereby inferring persistence of fluents without explicit frame axioms.[22] In the context of actions, predicate completion is used to specify the causes of change for fluents. If effect axioms enumerate the only conditions under which a fluent changes, the completion axiom implies that the fluent remains unchanged otherwise, solving the representational frame problem by defaulting to persistence. For instance, consider the action of loading a gun in the situation calculus. The effect axiom states that the gun becomes loaded after the action:Assuming the action always succeeds with no preconditions, Clark's completion yields the biconditional:
Non-effects on other fluents, such as the gun's location or the agent's position, are inferred via completion of their cause predicates, assuming no unmentioned causes alter them.[23][22] This method relies on a closed-world assumption, where all relevant facts are known and encoded, limiting its applicability to domains with complete knowledge. John McCarthy critiqued such completion-based approaches for struggling with partial or incomplete information, as adding new facts can disrupt the exhaustive biconditionals without non-monotonic mechanisms to revise inferences.[9]
Fluent and Event-Based Solutions
Fluent Calculus
The Fluent Calculus is a non-situational formalism for modeling actions and change in artificial intelligence, particularly designed to tackle the frame problem by integrating concepts of causation and state transitions without relying on explicit situation terms. Developed primarily by Michael Thielscher in the late 1990s, it builds on earlier logic programming approaches to action representation and was formalized as a solution to the inferential frame problem through state update axioms derived from successor state axioms.[24] The approach emphasizes the commonsense law of inertia, ensuring that fluents persist unless explicitly altered by an action, thus avoiding the proliferation of frame axioms required in other formalisms. Central to the Fluent Calculus is the treatment of fluents—time-varying properties of the world—as terms within a functional language, where states are represented as collections or terms composed from these fluents. Actions induce transitions in these fluents via causation axioms, which specify the precise effects of actions on states. The key formalism employs an equivalence relation for fluent values post-action: for a fluent , if the action causes a change in from state , or otherwise if no such cause of change exists. This is captured in state update axioms of the form , where denotes preconditions and defines the resultant state modification by adding positive effects and removing negative ones. By focusing solely on caused changes, this mechanism efficiently resolves the frame problem, as all non-effects are implicitly handled through persistence without additional axioms.[24][25] Unlike the situation calculus, which models world histories as explicit situations via the Do function and requires successor state axioms for each fluent to delineate changes, the Fluent Calculus eschews such situational structures altogether. Instead, it leverages direct manipulation of fluent terms for state compositionality, enabling more concise specifications and reducing the axiomatic burden—for instance, a single state update axiom per action suffices where situation calculus might demand hundreds for complex domains. This directness facilitates reasoning about action sequences and supports applications in planning and agent systems, with implementations like the FLUX logic programming language demonstrating its practicality.[24][25] It shares similarities with event-based formalisms like the Event Calculus for handling temporal narratives.[4]Event Calculus
The event calculus is a logic programming formalism designed for representing and reasoning about actions, events, and their effects on the state of a domain over time, providing a solution to the frame problem by explicitly modeling the persistence of fluents unless interrupted by terminating events. Originally introduced by Robert Kowalski and Marek Sergot in 1986 for applications in legal reasoning, such as formalizing regulations in the British Nationality Act, the framework was subsequently adapted for use in artificial intelligence planning to handle narrative-based descriptions of dynamic systems. In this context, it enables efficient inference about state changes without enumerating irrelevant frame axioms for each action, focusing instead on event occurrences and their causal impacts. At its core, the event calculus employs key predicates to describe temporal dynamics: Happens(a, t) asserts that action or event a occurs at time point t; Initiates(a, f, t) indicates that event a at time t causes fluent f (a state property, such as "door is open") to become true; and Terminates(a, f, t) specifies that event a at t causes f to become false. These predicates form the basis for deriving the truth value of fluents at specific times via the HoldsAt(f, t) predicate, which holds if an initiating event for f has occurred prior to t and no subsequent terminating event has intervened. This addresses the frame problem through a principle of inertial persistence: fluents remain unchanged (i.e., true or false) between events unless explicitly terminated, avoiding the need to state what does not change for every action. For instance, to query whether a fluent f holds at time t2 given it held at t1 (with t1 < t2), one can infer HoldsAt(f, t2) from HoldsAt(f, t1) and the absence of any Terminates(a, f, t) for t1 ≤ t < t2, leveraging the logic program's query mechanism for efficient deduction. This event-based approach emphasizes discrete timestamps for events and abductive or deductive querying to reconstruct narratives, distinguishing it from more functional representations like the fluent calculus, which treat state transitions as direct computations with less explicit temporal structure. In the 1990s, Murray Shanahan extended the event calculus to accommodate continuous change, introducing predicates such as Trajectory(f, i, t1, t2) to model gradual variations (e.g., an object's position over an interval) while preserving the core frame-solving mechanism of default persistence.[26] These extensions have influenced implementations in areas like robotics and narrative understanding, where hybrid discrete-continuous domains are common.[27] As of 2025, the Event Calculus continues to be extended, for example, in integrating with large language models for runtime event processing in activity recognition and optimizing temporal specifications for efficiency.[28][29]Non-Monotonic and Declarative Solutions
Default Logic
Default logic, introduced by Raymond Reiter in 1980, offers a non-monotonic formalism for reasoning under incomplete information, directly applicable to the frame problem by encoding persistence assumptions as defeasible defaults.90014-4) In this approach, the stability of fluents across actions is presumed unless contradicted by evidence of exceptions, thereby circumventing the need to explicitly specify all non-effects of actions.[30] The core mechanism employs default rules structured as , where is the prerequisite, is a consistency condition (indicating that is possibly true), and is the conclusion.90014-4) For the frame problem, this manifests in rules like , where denotes that action abnormally affects fluent , and asserts that remains unchanged after .[30] Such defaults generate extensions—consistent sets of beliefs—by minimally assuming abnormality only when necessary to resolve conflicts with action effects.90014-4) This method elegantly handles frame assumptions in domains like planning, where most properties intuitively persist; for instance, in a blocks world, stacking one block on another defaults to non-interference with unrelated fluents unless proven otherwise via .[30] Reiter's framework thus promotes computational efficiency by focusing on changes rather than invariants.90014-4) A key limitation arises from the potential for multiple extensions in theories with interacting defaults, which can introduce ambiguity in predicting post-action states, particularly in complex scenarios involving concurrent or indirect effects.[30]Answer Set Programming
Answer set programming (ASP) is a declarative programming paradigm grounded in non-monotonic logic, providing a computational framework for knowledge representation and reasoning tasks, including the frame problem in AI planning.[31] Developed based on the stable model semantics introduced by Gelfond and Lifschitz, ASP allows programmers to specify problems using logic rules, choice constructs, and constraints, with solutions computed as stable models by specialized solvers.[31] This approach inherently supports commonsense reasoning by minimizing unnecessary changes to the world state, directly addressing the frame problem's challenge of efficiently representing what remains unchanged after actions.[32] In ASP encodings of planning domains, the frame problem is handled through choice rules to model potential changes to fluents and constraints or default rules to enforce inertia for unaffected aspects. For fluents expected to change due to specific action effects, choice rules such as{change(F)} = 1. non-deterministically select the change within the scope of those actions, ensuring only relevant modifications are considered.[32] Inertia for other fluents is then captured via integrity constraints or rules like :- not change(F), not caused_false(F)., which prevent invalid states where a fluent persists without justification or is unexplainedly altered, thereby avoiding the need to enumerate all non-effects explicitly.[32] This mechanism leverages the stable model semantics to prefer models with minimal unexplained changes, aligning with the commonsense law of inertia.[31]
A representative example of ASP in planning involves encoding actions via causal laws that define state transitions, such as rules specifying when a fluent holds at the next time step based on preconditions and effects. For instance, in a simple domain like blocks world, actions like move(B, From, To) can be represented with choice rules for executable actions at each time point, causal rules for resulting fluent updates (e.g., caused(holds(B, To), T+1) :- move(B, _, To), T.), and inertia constraints to maintain other positions unless explicitly changed.[32] These programs are solved using ASP solvers like Clingo, which ground the rules into a propositional program and compute stable models corresponding to valid plans. Clingo's integration of grounding and solving enables efficient handling of temporal reasoning and optimization in such encodings.
Post-2000 developments have extended ASP to integrate with Planning Domain Definition Language (PDDL) for non-monotonic planning, incorporating features like indirect effects, preferences, and continuous processes through constraint ASP (CASP). These extensions, such as those in PDDL+ via CASP, allow ASP to model complex domains with durative actions and numerical fluents while preserving non-monotonic frame handling, achieving competitive performance on international planning benchmarks. This has positioned ASP as a robust tool for knowledge-intensive planning applications, from robotics to configuration tasks.
