Situation Calculus: Fundamentals and Applications
By Fouad Sabry
()
About this ebook
What Is Situation Calculus
A logic formalism known as the situation calculus has been developed for the purpose of expressing and reasoning about dynamical domains. John McCarthy was the one who initially proposed it back in 1963. This article's primary presentation of the situational calculus is primarily based on a model that was initially presented by Ray Reiter in the year 1991. After that comes some information regarding McCarthy's revised version from 1986 as well as a logic programming approach.
How You Will Benefit
(I) Insights, and validations about the following topics:
Chapter 1: Situation Calculus
Chapter 2: First-order Logic
Chapter 3: Frame Problem
Chapter 4: Propositional Calculus
Chapter 5: Fluent (artificial intelligence)
Chapter 6: Event Calculus
Chapter 7: Fluent Calculus
Chapter 8: Resolution (logic)
Chapter 9: Circumscription (logic)
Chapter 10: Yale Shooting Problem
(II) Answering the public top questions about situation calculus.
(III) Real world examples for the usage of situation calculus in many fields.
(IV) 17 appendices to explain, briefly, 266 emerging technologies in each industry to have 360-degree full understanding of situation calculus' technologies.
Who This Book Is For
Professionals, undergraduate and graduate students, enthusiasts, hobbyists, and those who want to go beyond basic knowledge or information for any kind of situation calculus.
Read more from Fouad Sabry
Emerging Technologies in Information and Communications Technology
Related to Situation Calculus
Titles in the series (100)
K Nearest Neighbor Algorithm: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsConvolutional Neural Networks: Fundamentals and Applications for Analyzing Visual Imagery Rating: 0 out of 5 stars0 ratingsArtificial Neural Networks: Fundamentals and Applications for Decoding the Mysteries of Neural Computation Rating: 0 out of 5 stars0 ratingsRecurrent Neural Networks: Fundamentals and Applications from Simple to Gated Architectures Rating: 0 out of 5 stars0 ratingsNeuroevolution: Fundamentals and Applications for Surpassing Human Intelligence with Neuroevolution Rating: 0 out of 5 stars0 ratingsNouvelle Artificial Intelligence: Fundamentals and Applications for Producing Robots With Intelligence Levels Similar to Insects Rating: 0 out of 5 stars0 ratingsSupport Vector Machine: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsLogic: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsHopfield Networks: Fundamentals and Applications of The Neural Network That Stores Memories Rating: 0 out of 5 stars0 ratingsRestricted Boltzmann Machine: Fundamentals and Applications for Unlocking the Hidden Layers of Artificial Intelligence Rating: 0 out of 5 stars0 ratingsMultilayer Perceptron: Fundamentals and Applications for Decoding Neural Networks Rating: 0 out of 5 stars0 ratingsLong Short Term Memory: Fundamentals and Applications for Sequence Prediction Rating: 0 out of 5 stars0 ratingsGroup Method of Data Handling: Fundamentals and Applications for Predictive Modeling and Data Analysis Rating: 0 out of 5 stars0 ratingsHybrid Neural Networks: Fundamentals and Applications for Interacting Biological Neural Networks with Artificial Neuronal Models Rating: 0 out of 5 stars0 ratingsRadial Basis Networks: Fundamentals and Applications for The Activation Functions of Artificial Neural Networks Rating: 0 out of 5 stars0 ratingsFeedforward Neural Networks: Fundamentals and Applications for The Architecture of Thinking Machines and Neural Webs Rating: 0 out of 5 stars0 ratingsBackpropagation: Fundamentals and Applications for Preparing Data for Training in Deep Learning Rating: 0 out of 5 stars0 ratingsBio Inspired Computing: Fundamentals and Applications for Biological Inspiration in the Digital World Rating: 0 out of 5 stars0 ratingsSituated Artificial Intelligence: Fundamentals and Applications for Integrating Intelligence With Action Rating: 0 out of 5 stars0 ratingsNaive Bayes Classifier: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsPerceptrons: Fundamentals and Applications for The Neural Building Block Rating: 0 out of 5 stars0 ratingsSubsumption Architecture: Fundamentals and Applications for Behavior Based Robotics and Reactive Control Rating: 0 out of 5 stars0 ratingsEmbodied Cognitive Science: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsAgent Architecture: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsAttractor Networks: Fundamentals and Applications in Computational Neuroscience Rating: 0 out of 5 stars0 ratingsQualification Problem: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsLearning Intelligent Distribution Agent: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsHierarchical Control System: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsHebbian Learning: Fundamentals and Applications for Uniting Memory and Learning Rating: 0 out of 5 stars0 ratingsEmbodied Cognition: Fundamentals and Applications Rating: 0 out of 5 stars0 ratings
Related ebooks
Frame Problem: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsClosed World Assumption: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsMarkov Decision Process: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsEvent Calculus: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsCircumscription Logic: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsSimulated Annealing: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsMotion Field: Exploring the Dynamics of Computer Vision: Motion Field Unveiled Rating: 0 out of 5 stars0 ratingsRule of Inference: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsRandom Optimization: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsModal Logic: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsGenetic Algorithms Rating: 4 out of 5 stars4/5Propositional Logic: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsFrom Simple IO to Monad Transformers Rating: 2 out of 5 stars2/5Belief Revision: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsCombs Method: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsCollision Detection: Understanding Visual Intersections in Computer Vision Rating: 0 out of 5 stars0 ratingsProduction System: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsArtificial Intelligence Diagnosis: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsMicro State Management with React Hooks: Explore custom hooks libraries like Zustand, Jotai, and Valtio to manage global states Rating: 0 out of 5 stars0 ratingsFunctionalism: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsFuzzy Logic: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsMCS-011: Problem Solving and Programming Rating: 0 out of 5 stars0 ratingsArticulated Body Pose Estimation: Unlocking Human Motion in Computer Vision Rating: 0 out of 5 stars0 ratingsLevel Set Method: Advancing Computer Vision, Exploring the Level Set Method Rating: 0 out of 5 stars0 ratingsHierarchical Control System: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsWorkshop Master Revealed Rating: 0 out of 5 stars0 ratingsA Concise Guide to Object Orientated Programming Rating: 0 out of 5 stars0 ratingsSoft Computing: Fundamentals and Applications Rating: 0 out of 5 stars0 ratingsForward Chaining: Fundamentals and Applications Rating: 0 out of 5 stars0 ratings
Intelligence (AI) & Semantics For You
Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 4 out of 5 stars4/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5ChatGPT For Dummies Rating: 4 out of 5 stars4/5Deep Utopia: Life and Meaning in a Solved World Rating: 0 out of 5 stars0 ratingsPrompt Engineering ; The Future Of Language Generation Rating: 3 out of 5 stars3/5101 Midjourney Prompt Secrets Rating: 3 out of 5 stars3/5Algorithms to Live By: The Computer Science of Human Decisions Rating: 4 out of 5 stars4/5Artificial Intelligence: A Guide for Thinking Humans Rating: 4 out of 5 stars4/5Summary of Super-Intelligence From Nick Bostrom Rating: 4 out of 5 stars4/580 Ways to Use ChatGPT in the Classroom Rating: 5 out of 5 stars5/5The Secrets of ChatGPT Prompt Engineering for Non-Developers Rating: 5 out of 5 stars5/5The Alignment Problem: How Can Machines Learn Human Values? Rating: 4 out of 5 stars4/5Midjourney Mastery - The Ultimate Handbook of Prompts Rating: 5 out of 5 stars5/5Regression Analysis: An Intuitive Guide for Using and Interpreting Linear Models Rating: 5 out of 5 stars5/5Impromptu: Amplifying Our Humanity Through AI Rating: 5 out of 5 stars5/5Grokking Artificial Intelligence Algorithms Rating: 0 out of 5 stars0 ratings2084: Artificial Intelligence and the Future of Humanity Rating: 4 out of 5 stars4/5TensorFlow in 1 Day: Make your own Neural Network Rating: 4 out of 5 stars4/5Deep Learning with PyTorch Rating: 5 out of 5 stars5/5Thinking in Algorithms: Strategic Thinking Skills, #2 Rating: 4 out of 5 stars4/5ChatGPT Rating: 3 out of 5 stars3/5The Business Case for AI: A Leader's Guide to AI Strategies, Best Practices & Real-World Applications Rating: 0 out of 5 stars0 ratingsChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5The Roadmap to AI Mastery: A Guide to Building and Scaling Projects Rating: 3 out of 5 stars3/5
Reviews for Situation Calculus
0 ratings0 reviews
Book preview
Situation Calculus - Fouad Sabry
Chapter 1: Situation calculus
A logic framework created for representing and discussing dynamical domains is called the scenario calculus. John McCarthy originally mentioned it in 1963. The situational calculus that is provided in this article is primarily based on Ray Reiter's 1991 invention. It is followed by sections that discuss McCarthy's 1986 version and a formulation for logic programming.
The situation calculus uses a collection of first-order logic formulae to express changing scenarios. The fundamental components of calculus are:
The things that are possible to do in the world
The world's current status is described in eloquent terms.
The situations
A number of equations are used to formalize a domain, including:
Preconditions for each action, one for each action
Axioms of succession for each fluent
Axioms that describe the world in different circumstances
The situation calculus's guiding principles
As a running example, a basic robot environment will be modeled.
There is only one robot and various inanimate items in this universe.
The world is laid out according to a grid so that locations can be specified in terms of (x,y) coordinate points.
The robot could travel anywhere in the world, and to pick up and dispense objects.
Certain objects can be too heavy for the robot to lift, or weak to the point where they crumble when dumped.
The robot can also fix any damaged objects that it is holding.
The actions, fluents, and situations make up the scenario calculus' essential components. Additionally, the description of the world frequently includes a number of objects. The objects category includes everything that is not an action or a situation. The scenario calculus is built on a sorted domain with three sorts: actions, situations, and objects. Each type of variable is usable. Despite the fact that objects, situations, and actions are domain constituents, the fluents are modeled as either predicates or functions.
The behavior is sort of the domain.
You can utilize sort action variables.
Actions may be measured.
In the hypothetical robot world, possible action terms would be move(x,y) to model the robot moving to a new location (x,y) , and pickup(o) to model the robot picking up an object o.
When an action is executable, it is indicated by a unique predicate called Poss.
A dynamic world is depicted in the scenario calculus as moving through a sequence of situations as a result of various activities taken within the world. A circumstance is a timeline of events that have taken place. Contrary to the literal meaning of the term and contrary to the original definition by McCarthy and Hayes, a situation does not reflect a state in the Reiter version of the scenario calculus that is discussed here. Reiter's summary of this idea is as follows::
A circumstance is a limited set of possible outcomes. Period. It is a history rather than a condition or a moment in time.
The situation before any actions have been performed is typically denoted S_{0} and called the initial situation.
The function symbol do is used to indicate the new circumstance that results from the performance of an action (Some other references also use result).
The arguments for this function symbol are a situation and an action, and a resultant circumstance, the latter being the outcome of taking the first action in the first circumstance.
The fact that situations are sequences of actions and not states is enforced by an axiom stating that do(a,s) is equal to do(a',s') if and only if a=a' and s=s' .
If situations were states, then this condition would be absurd, as the same condition can emerge from two separate acts carried out in two different states.
In the hypothetical robot world, if the robot's first action is to move to location (2,3) , the first action is move(2,3) and the resulting situation is do(move(2,3),S_{{0}}) .
If it decides to pick up the ball as its next move, the resulting situation is
do(pickup(Ball),do(move(2,3),S_{{0}})).
Situations terms like do(move(2,3),S_{{0}}) and
do(pickup(Ball),do(move(2,3),S_{{0}}))denote the sequences of executed actions, instead of the description of the condition produced by execution.
Relational fluents, which take a scenario as their final argument, model statements whose truth value may vary. Functional fluents, functions that accept a scenario as their final parameter and return a situation-dependent value, are another possibility. One could consider fluents to be properties of the world.
.
In this instance, the fluent {\displaystyle {\textit {isCarrying}}(o,s)} can be used to indicate that the robot is carrying a particular object in a particular situation.
if the robot doesn't have any initial cargo, {\displaystyle {\textit {isCarrying}}(Ball,S_{0})} is false while
{\displaystyle {\textit {isCarrying}}(Ball,do(pickup(Ball),S_{0}))}is true.
The location of the robot can be modeled using a functional fluent location(s) which returns the location (x,y) of the robot in a particular situation.
Three different types of formulae—formulae about actions (preconditions and effects), formulae about the state of the world, and foundational axioms—are used to encode the description of a dynamic world in second order logics.
In some circumstances, certain acts might not be possible to carry out.
For example, Nothing can be put down until one is actually carrying it.
The restrictions on the performance of actions are modeled by literals of the form {\displaystyle {\textit {Poss}}(a,s)} , where action an is, s a situation, Poss is a unique binary predicate that indicates the executability of actions.
In this instance, Modeling the property that losing an object is only conceivable when carrying it:
{\displaystyle {\textit {Poss}}(drop(o),s)\leftrightarrow {\textit {isCarrying}}(o,s)}The next models illustrate a more complicated case where the robot can only carry one object at a time and some objects are too heavy for the robot to lift (indicated by the predicate heavy):
{\displaystyle {\textit {Poss}}(pickup(o),s)\leftrightarrow (\forall z\ \neg {\textit {isCarrying}}(z,s))\wedge \neg heavy(o)}Certain that an action is conceivable in a given circumstance, one must describe how the action will impact the fluents. The impact axioms achieve this. For instance, it is possible to describe how picking up an object affects the robot to carry it:
{\displaystyle Poss(pickup(o),s)\rightarrow {\textit {isCarrying}}(o,do(pickup(o),s))}Additionally, conditional effects, or effects that are contingent on the current state, can be specified. The following illustrates how dropping some things can cause them to break because they are fragile (as indicated by the predicate fragile) (indicated by the fluent broken):
Poss(drop(o),s)\wedge fragile(o)\rightarrow broken(o,do(drop(o),s))Despite the fact that this formula accurately captures the outcome of the activities, the frame issue prevents it from accurately capturing the action in logic.
The aforementioned formulae appear to be appropriate for deducing the effects of actions, but they have a serious flaw in that they cannot be utilized to determine the non-effects of acts. For instance, it is not possible to infer that the robot's location stays the same after picking up an object. A frame axiom,
sometimes known as a formula like:
The frame problem, or the requirement to establish frame axioms, has long been acknowledged as a challenge in axiomatizing dynamic worlds. Due to the fact that there are typically many such axioms, it is quite simple for the designer to fail to include a crucial frame axiom or to amend all pertinent axioms when a modification to the world description is made.
The situation calculus frame problem is solved
by the successor state axioms.
The following solution, The designer must list all the possible ways to alter the value of a specific fluent as effect axioms.
The effect axioms affecting the value of fluent F(\overrightarrow {x},s) can be written in generalised form as a positive and a negative effect axiom:
Poss(a,s)\wedge \gamma _{{F}}^{{+}}(\overrightarrow {x},a,s)\rightarrow F(\overrightarrow {x},do(a,s))Poss(a,s)\wedge \gamma _{{F}}^{{-}}(\overrightarrow {x},a,s)\rightarrow \neg F(\overrightarrow {x},do(a,s))The formula \gamma _{{F}}^{{+}} describes the conditions under which action a in situation s makes the fluent F become true in the successor situation do(a,s) .
Likewise, \gamma _{{F}}^{{-}} describes the conditions under which performing action a in situation s makes fluent F false in the successor situation.
This pair of axioms can be expressed as a single axiom if they encompass all the ways that fluent F can change value:
Poss(a,s)\rightarrow \left[F(\overrightarrow {x},do(a,s))\leftrightarrow \gamma _{{F}}^{{+}}(\overrightarrow {x},a,s)\vee \left(F(\overrightarrow {x},s)\wedge \neg \gamma _{{F}}^{{-}}(\overrightarrow {x},a,s)\right)\right]In words, Given that doing action an in situation s is possible, this formula reads:, the fluent F would be true in the resulting situation do(a,s) if and only if performing a in s would make it true, Or else, doing an in s would not render it untrue because it is true in s.
By way of illustration, the following successor state axiom provides the value of the fluent broken presented earlier:
Poss(a,s)\rightarrow \left[broken(o,do(a,s))\leftrightarrow a=drop(o)\wedge fragile(o)\vee broken(o,s)\wedge a\neq repair(o)\right]Simply specifying the attributes of the initial state or any other condition as equations will allow them to be stated.
For example, a fact about the initial state is formalized by making assertions about S_{{0}} (which is not a state, but a circumstance).
The sentences that follow demonstrate initially, The robot has no cargo, is at location (0,0) , and there are no damaged items:
{\displaystyle \forall z\,\neg {\textit {isCarrying}}(z,S_{0})}location(S_{{0}})=(0,0)\,\forall o\,\neg broken(o,S_{{0}})The foundational axioms of the situation calculus formalize the idea that situations are histories by having
{\displaystyle do(a,s)=do(a',s')\iff a=a'\land s=s'}.
They also contain other characteristics, including the second order induction on circumstances.
Regression is a technique for demonstrating the situation's effects. calculus.
It is based on expressing a formula containing the situation do(a,s) in terms of a formula containing the action a and the situation s, but not the situation do(a,s) .
By repeating this action, One may arrive at an equivalent formula that simply includes the starting point. S 0.
According to this formula, proving consequences is easier than using the original approach.
GOLOG is a situation-based logic programming language. calculus.
The interpretation of situations is where McCarthy and Hayes' initial situation calculus and the one currently in use diverge. A circumstance is a series of acts in the contemporary formulation of the situational calculus. Situations were initially described as the total state of the universe at a moment in time.
The goal was merely to offer basic comments about situations and draw conclusions from them because it was immediately obvious that such situations could not be fully described. This differs from the fluent calculus approach, which views a state as a possible imperfect representation of the universe made up of a collection of known facts.
In the scenario calculus' initial iteration, Fluents do not become reified.
Alternatively put, Predicates, not functions, reflect situations that can change.
Actually, According to McCarthy and Hayes, a fluent function is one that changes based on the circumstances, however they then went on to always represent fluents with predicates.
For example, the fact that it is raining at place x in the situation s is represented by the literal raining(x,s) .
McCarthy's scenario calculus, published in 1986, Functional fluency is employed.
For example, the position of an object x