Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Event Calculus: Fundamentals and Applications
Event Calculus: Fundamentals and Applications
Event Calculus: Fundamentals and Applications
Ebook176 pages2 hours

Event Calculus: Fundamentals and Applications

Rating: 0 out of 5 stars

()

Read preview

About this ebook

What Is Event Calculus


Robert Kowalski and Marek Sergot were the ones who initially developed the event calculus in 1986. It is a logical language for representing events and their effects as well as for thinking about those events and their effects. Murray Shanahan and Rob Miller were the ones responsible for its expansion in the 1990s. The event calculus describes the impacts of actions on fluents in a manner that is comparable to that of other languages for thinking about change. On the other hand, events are not always internal to the system. One is able to express the value of fluents at certain specified time points, as well as the events that take place at those time points, as well as the effects of those events, using the event calculus.


How You Will Benefit


(I) Insights, and validations about the following topics:


Chapter 1: Event calculus


Chapter 2: First-order logic


Chapter 3: Frame problem


Chapter 4: Natural deduction


Chapter 5: Open formula


Chapter 6: Method of analytic tableaux


Chapter 7: Situation calculus


Chapter 8: Fluent (artificial intelligence)


Chapter 9: Atomic formula


Chapter 10: Yale shooting problem


(II) Answering the public top questions about event calculus.


(III) Real world examples for the usage of event calculus in many fields.


(IV) 17 appendices to explain, briefly, 266 emerging technologies in each industry to have 360-degree full understanding of event 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 event calculus.

LanguageEnglish
Release dateJun 30, 2023
Event Calculus: Fundamentals and Applications

Read more from Fouad Sabry

Related to Event Calculus

Titles in the series (100)

View More

Related ebooks

Intelligence (AI) & Semantics For You

View More

Related articles

Reviews for Event Calculus

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Event Calculus - Fouad Sabry

    Chapter 1: Event calculus

    Robert Kowalski and Marek Sergot introduced the event calculus, a logical language for encoding and thinking about events and their effects, in 1986. The event calculus expresses the impacts of actions on fluents in a manner similar to other languages for thinking about change. Events can, however, also occur outside of the system. The value of fluents at specific time points, the events that occur at specific time points, and their impacts can all be specified in the event calculus.

    calculus for eventualities, Reified fluents.

    This means that functions rather than predicates are used to formalize them.

    A different predicate is true. To determine which fluents are active at a specific time, use at.

    For example,

    {\displaystyle {\mathit {HoldsAt}}(on(box,table),t)}

    means that the box is on the table at time t; in this equation, HoldsAt is a predicate while on is a function.

    Events can also be expressed using terminology.

    The predicates initiates and terminates are used to provide the outcomes of events.

    In particular, {\displaystyle {\mathit {Initiates}}(e,f,t)} means that, if the occurrence of the event represented by the word e occurs at time t, then after t, the fluent f will be true.

    The meaning of the Terminates predicate is similar, f will be false after t, which is the only difference.

    The event calculus formalizes the right development of the fluent by formulae that describe the value of each fluent after any arbitrary action has been carried out, similar to other languages for representing actions. The successor state assumptions of the scenario are comparable to how the event calculus resolves the frame problem. Calculus: A fluent is true at time t if and only if it was previously made true and was not subsequently made false.

    {\displaystyle {\mathit {HoldsAt}}(f,t)\leftarrow [{\mathit {Happens}}(e,t_{1})\wedge {\mathit {Initiates}}(e,f,t_{1})\wedge (t_{1}<t)\wedge \neg {\mathit {Clipped}}(t_{1},f,t)]}

    According to this formula, the fluent symbolized by the term f is true at time t if:

    an event e has taken place: {\displaystyle {\mathit {Happens}}(e,t_{1})} ; this took place in the past: {\displaystyle {\mathit {t}}_{1}

    To formalize the converse circumstance, where a fluent is untrue at a specific moment, a similar formula is employed.

    For correctly formalizing fluents before they have been effects of an event, further formulae are also required.

    These formulas resemble the previous formula, but

    {\displaystyle {\mathit {Happens}}(e,t_{1})\wedge {\mathit {Initiates}}(e,f,t_{1})}

    is replaced by {\displaystyle {\mathit {HoldsAt}}(f,t_{1})} .

    As a shortcut, the Clipped predicate, which states that a fluent has been rendered false during an interval, can be axiomatized as follows:

    {\displaystyle {\mathit {Clipped}}(t_{1},f,t_{2})\equiv \exists e,t[{\mathit {Happens}}(e,t)\wedge (t_{1}\leq t<t_{2})\wedge {\mathit {Terminates}}(e,f,t)]}

    The aforementioned axioms link the importance of the predicates HoldsAt to, Initiates and Terminates, However, do not state which fluents are known to be true and which events actually cause fluents to be true or false.

    Using a set of domain-dependent axioms, this is accomplished.

    The known values of fluents are stated as simple literals {\displaystyle {\mathit {HoldsAt}}(f,t)} .

    Formulas linking the effects of events with their preconditions are used to state the impacts of events.

    For example, If the open event causes the isopen fluent to be true, but only if the present state of haskey is true, the event calculus's equivalent formula is:

    {\displaystyle {\mathit {Initiates}}(e,f,t)\equiv [e=open\wedge f=isopen\wedge {\mathit {HoldsAt}}(haskey,t)]\vee \cdots }

    The right-hand expression of this equivalence is made up of a disjunction: for each event and fluent that the event can make true, a disjunct stating that e is actually that event and f is actually that fluent and that the event's prerequisite is satisfied makes up the right-hand expression.

    The formula above specifies the truth value of {\displaystyle {\mathit {Initiates}}(e,f,t)} for every possible event and fluent.

    The result is, Each event's impacts must be incorporated into a single formula.

    This is a difficulty, because changing an existing formula in order to account for a new event is more time-consuming than adding new ones.

    By applying circumscription to a group of equations, each of which specifies one result of one event, this issue can be resolved:

    {\displaystyle {\mathit {Initiates}}(open,isopen,t)\leftarrow {\mathit {HoldsAt}}(haskey,t)}{\displaystyle {\mathit {Initiates}}(break,isopen,t)\leftarrow {\mathit {HoldsAt}}(hashammer,t)}{\displaystyle {\mathit {Initiates}}(break,broken,t)\leftarrow {\mathit {HoldsAt}}(hashammer,t)}

    Compared to the formula above, these formulas are simpler, because each event's effects can be set individually.

    The single formula telling which events e and fluents f make {\displaystyle {\mathit {Initiates}}(e,f,t)} true has been replaced by a set of smaller formulae, each one describing how a particular occurrence affected a fluent.

    However, These equations are not the same as the formula above.

    Indeed, they only specify sufficient conditions for {\displaystyle {\mathit {Initiates}}(e,f,t)} to be true, It should be finished by the realization that Initiates is false in all other scenarios.

    Simply circumscribing the predicate Initiates in the formula above will formalize this fact.

    It's crucial to remember that this circumscription only applies to formulae that specify initiates; it does not apply to axioms that are independent of any particular domain.

    Similar to how Initiates can be defined, the predicate Terminates.

    The Happens predicate can be used in a similar way. This predicate's evaluation can be enforced by formulas that describe more than just when it is true and false:

    {\displaystyle {\mathit {Happens}}(e,t)\equiv (e=open\wedge t=0)\vee (e=exit\wedge t=1)\vee \cdots }

    Circumscription can make this definition simpler by simply allowing the expression of necessary requirements:

    {\displaystyle {\mathit {Happens}}(open,0)}{\displaystyle {\mathit {Happens}}(exit,1)}

    Defining the predicate Occurs, When it is not explicitly stated to be true, this predicate will always be false.

    It is necessary to do this circumscription independently of the circumscription of the other equations.

    Alternatively put, if F is the set of formulae of the kind {\displaystyle {\mathit {Initiates}}(e,f,t)\leftarrow \cdots } , G is the set of formulae {\displaystyle {\mathit {Happens}}(e,t)} , The domain independent axioms are and H, The proper way to express the domain is:

    {\displaystyle {\mathit {Circ}}(F;{\mathit {Initiates}},{\mathit {Terminates}})\wedge Circ(G;Happens)\wedge H}

    The initial form of the event calculus was a set of Horn clauses enhanced with negation as failure, which could be executed as a Prolog program. The completion semantics (in which if is understood as if and only if — see logic programming) and circumscription semantics are two of the many semantics that can be applied to negation as failure.

    The applications to database updates and narratives were the main focus of Kowalski and Sergot's initial event calculus study. Non-deterministic actions, concurrent actions, actions with delayed consequences, progressive changes, actions with duration, continuous changes, and non-inertial fluents can all be formalized using extensions of the event calculus.

    Using constraint logic programming, Kave Eshghi demonstrated how the event calculus may be utilized for planning.

    The Markov Logic Networks-based Event Calculus is another significant extension, There are numerous alternative tools for event calculus reasoning besides Prolog and its variations:

    Planners of Abductive Event Calculus

    Reasoner for Discrete Event Calculus

    Programming for the Event Calculus Answer Set

    Reactive Event Calculus

    Calculating Run-Time Events (RTEC)

    {End Chapter 1}

    Chapter 2: First-order logic

    First-order logic is a set of formal systems that are used in the fields of mathematics, philosophy, linguistics, and computer science. Other names for first-order logic include predicate logic, quantificational logic, and first-order predicate calculus. In first-order logic, quantified variables take precedence over non-logical objects, and the use of sentences that contain variables is permitted. As a result, rather than making assertions such as Socrates is a man, one can make expressions of the form there exists x such that x is Socrates and x is a man, where there exists is a quantifier and x is a variable. In this way, propositional logic may be thought of as the basis for first-order logic.

    A theory pertaining to a subject, such as set theory, a theory for groups, or a formal theory of arithmetic, is typically a first-order logic together with a specified domain of discourse (over which the quantified variables range), finitely many functions from that domain to itself, finitely many predicates defined on that domain, and a set of axioms that are believed to hold about them. Sometimes, in a more academic meaning, theory is believed to refer to nothing more than a collection of words in first-order logic.

    First-order logic may be differentiated from higher-order logic by the use of the word first-order., which involve predicates that take other predicates or functions as input, quantification may be performed over predicates or functions alternatively, or both, are permitted.: 56 In first-order theories, sets and predicates are often seen working together.

    In higher-order theories with their interpretations, It is possible to see predicates as collections of collections.

    There are a lot of different deductive systems for first-order logic, and most of them are both valid and sound, all verifiable propositions are true in all models) and full (i.e.

    It is possible to prove any proposition if it holds true across all models.

    Despite the fact that the link between logical consequences is merely semidecidable, In first-order logic, automated theorem proving has seen significant advancements in recent years.

    Additionally, first-order logic complies with a number of metalogical theorems, which enables it to be examined via the lens of proof theory, such as the Löwenheim–Skolem theorem and the compactness theorem.

    The study of first-order logic, which serves as the industry standard for the formalization of mathematics into axioms, is included in the foundations of mathematical research. The axiomatization of number theory into first-order logic is known as Peano arithmetic, while the axiomatization of set theory into first-order logic is known as Zermelo–Fraenkel set theory. A structure having an infinite domain, such as the natural numbers or the real line, cannot be adequately described by any first-order theory since such a theory lacks the power necessary to do so. Stronger logics, such as second-order logic, make it possible to generate axiom systems that categorically describe both of these structures in their entirety. These are known as categorical axiom systems.

    Gottlob Frege and Charles Sanders Peirce both made significant contributions to the development of first-order logic separately.

    For more information on the development of first-order logic and the reasons it came to predominate formal logic, go here, see José Ferreirós (2001).

    First-order logic, as contrast to propositional logic, is concerned with more straightforward declarative statements, although it also addresses predicates and quantification.

    A predicate is a statement that evaluates to either true or false based on one or more things in the domain of discourse. Think about the fact that both Socrates is a philosopher and Plato is a philosopher are true. These statements are thought to have no connection to one another in propositional logic, and as such, they might be represented by variables such as p and q, for instance. Each of these phrases have the basic structure of a is a philosopher, which means that the predicate is a philosopher appears in both of them. In the first phrase, the variable an is represented by the name Socrates, while in the second sentence, the variable an is represented by the name Plato. In this particular example, the employment of predicates, such as is a philosopher, is permissible within the framework of first-order logic, while propositional logic does not.

    Logical connectives allow one to express the nature of the relationships that exist between predicates. Take for instance the first-order rule that states, if an is a philosopher, then an is a scholar. This formulation is an example of a conditional statement, with the hypothesis being that a is a philosopher, and the conclusion being that a is a scholar. The validity of this equation is contingent not only on the

    Enjoying the preview?
    Page 1 of 1