Ontological Engineering Ontological Engineering: representing abstract concepts of the world. E.g. Actions, Time, Physical Objects, Beliefs. The general framework of concepts: upper ontology. See fig. 10.1
Categories and Objects Categories: organization of objects. –Important because much reasoning takes place at the level of categories. –Serve to simplify and organize knowledge base through inheritance. –Subclass relations organize categories into taxonomy. FOL can be used to state facts: –An object is a member of category –A category is a subclass of another category –All members of a category have some properties –Members of a category can be recognized by some properties –A category as a whole has some properties
Categories and Objects Two or more categories are disjoint if they have no members in common. E.g. males and females are disjoint, but we will not know that an animal that is not a male must be a female, unless males and females constitute an exhaustive decomposition. A disjoint exhaustive decomposition is known as partition.
Physical Composition Use general PartOf relation to say that one thing is part of another. Objects can be grouped into part of hierarchies. Categories of composite objects are often characterized by structural relations among parts. Use BunchOf to define composite objects with definite parts but no particular structure. BunchOf is different from Set that closer related to categories.
Measurements Objects have properties such as height, mass, const, etc. The value assigned to those properties are called measure. Measures can be represented by combining Units Function with a number. Measures are not necessarily particular numbers but more importantly, measures can be ordered.
Actions, Situations and Events Situations are logical terms consisting of the initial situation (S 0 ) and all situations that are generated by applying an action to a situation. Function Result(a,s) names the situation that results when action a is executed in situation s. Fluents are functions and predicates that vary from one situation to the next. E.g.: location of the agent, aliveness of the wumpuss. –E.g. Holding(G 1, S 4 ) says the agent is holding the gold G 1 in the situation S 4. Approach to represent the dynamic environment using above concepts is called situation calculus. Situation calculus also allows logical terms: –temporal or eternal predicates. –actions
Situation calculus agent A situation calculus agent has two kind of tasks: –Projection task: the agent should be able to deduce the outcome of a given sequence of actions; –Planning task: the agent should be able to find a sequence that achieves a desired effect with a suitable constructive inference algorithm.
Situation calculus Simplest version of situation calculus includes two axioms to represent each action: –Possibility axiom that says when it’s possible to execute the action; and –Effect axiom that says what happen when a possible action is executed. Possibility axiom: Preconditions Poss(a,s). Effect axiom: Poss(a,s) Changes that result from taking action
Frame problem Problem: effect axioms say what changes, but do not says what stays the same. Representing all things that stay the same is called the frame problem. –This problem must be solved efficiently because almost everything in the real world stays the same almost all the time. Each action affects only tiny fraction of all fluents.
Representational frame problem One approach to solve frame problem: writing explicit frame axioms that do say what stays the same. –E.g.: agent’s movements leave other objects stationary unless they are held. If there are F fluent predicates and A actions we will need O(AF) frame axioms. On the other hand, if each action has at most E effects, where E is typically much less than F, then the knowledge base can be much smaller of the size O(AE). The latter case is representational frame problem.
Inferential frame problem Closely related to representational frame problem is inferential frame problem. Inferential frame problem is the problem to project the results of a t-step sequence of actions in time O(Et), rather than O(Ft) or O(AEt).
Solving representational frame problem Use successor-state axioms: –Action is possible (Fluent is true in result state IF AND ONLY IF Action’s effect made it true OR It was true before and action left it alone). Also need to say about implicit effect of an action ramification problem Also need to say that inference processes must be able to prove nonidentities use unique names axiom (can be assumed by the theorem prover or written explicitly in the KB).
Solving inferential frame problem Successor-state axioms solve the representational frame problem but not the inferential frame problem. Consider a t-step plan p such that S t = Result(p,S 0 ). To decide which fluents are true in S t, we need to consider oeach the F frame axioms on each of the t time steps. Because the axioms have the average size AE this gives us O(AEt) inferential work. Most of the work involves copying fluents unchanged from one situation to the next.
Solving inferential frame problem Two possibilities to solve this problem: –Discard situation calculus! Invent a new formalism to write axioms fluent calculus. –Or alter the inference mechanism to handle frame axioms more efficiently.
Solving inferential frame problem Poss(a,s) → (F i (Result(a,s)) ↔ (PosEffect(a,F i ) \/ [F i (s) /\ ¬ NegEffect(a,F i )])) PosEffect(A 1,F i ) PosEffect(A 2,F i ) NegEffect(A 3,F i ) NegEffect(A 4,F i )
Solving inferential frame problem To make efficient inference procedure for previous axiom schema, we need to do three things: –Index the PosEffect and NegEffect predicates by their first argument so that when we are given an action that occurs at time t, we can find its effects in O(1) time. –Index the axioms so that once it’s known that F i is an effect of an action, we can find the axiom for F i in O(1) time. Then you need not even consider the axioms for fluents that are not an effect of the action. –Represent each situation as a previous situation plus a delta. If nothing changes from one step to the next then we do no work at all. Thus at each time step, we look at current action, fetch its effects, and update the set of true fluents.
Time and event calculus Situation calculus works well when there is a single agent performing instantaneous, discrete actions. When actions have duration and can overlap with each other, situation calculus becomes awkward. Therefore, use event calculus based on points in time rather than on situations.
Time and event calculus In event calculus, fluents hold at points in time rather than at situations. Reasoning is done over intervals of time. Event calculus’ axiom: a fluent is true at a point in time if the fluent was initiated by an event at some time in the past and was not terminated by an intervening event.
Time and event calculus Initiates (e,f,t) the occurrence of event e at time t causes fluent f to become true. Terminates(w,f,t) at time t, event e the fluent f ceases to be true. Happens(e,t) event e happens at time t. Clipped(f,t,t 2 ) f is terminated by some event sometime between t and t 2.
Generalized events Generalized event is composed from aspects of some “space-time chunk” – a piece of this multidimensional space-time universe. This abstraction generalizes most of the concepts so far, including actions, locations, times, fluents and physical objects. Generalized event can be broken down into subevents, e.g.: –SubEvent(BattleOfBritain, WorldWarII). –SubEvent(WorldWarII, TwentiethCentury).
Generalized events The 20 th century is an interval of time. Intervals are chunks of space-time that include all of space between two time points. –Period(e) smallest interval enclosing the event e –Duration(e) the length of time occupied by an interval. –E.g.: Duration(Period(WorldWarII)) > Years(5)
Generalized events Australia is a place; chunks of space time with some fixed spatial borders. The borders can vary over time, due to geological or political changes. –In(e 1,e 2 ) subevent relation that holds when one event’s spatial projection is part of another’s. –Location(e) the smallest place that encloses the event e.
Processes Process: liquid events (contrast to discrete events). Liquid events describe processes of continuous change and processes of continuous non- change. The latter is called states Fluent Calculus: approach for knowledge representation that reifies combinations of fluents not just individual fluents. Here complex states and events are form by combining primitive ones.
Intervals Representing times: moments and extended intervals. Both form partition of time. –Moments zero duration –Extended intervals non zero duration. Notation: Start, End, Time, Date, Seconds, Meet, Before, After, During, Overlap
Mental Events Believes, Knows, Wants propositional attitudes. Reification: turning a proposition into an object.
Referential transparency In logic it is common to substitute a term freely for an equal term. This property is called referential transparency. Every relation in FOL is referentially transparent. On the other hand, we would like to define propositional attitudes as relations whose 2 nd argument is opaque. It means that one cannot substitute an equal term for that 2 nd argument without changing the meaning.
Referentially opaque relation Achieving a referentially opaque 2 nd argument for propositional attitude is done by: –Modal logic propositional attitudes become modal operator –Syntactic theory of mental objects mental objects are represented by strings.
Syntactic theory Unique string axiom: strings are identical if and only if they consist of identical characters. Need a function that maps a string to the object Den Need a function that maps an object to a string which is the name of a constant that denote the object Name Define inference rules for string representation language. E.g., modus ponens. Final result: answer of the question, “given an agent knows the premises, can it draw the conclusion?” according to axioms, an agent can deduce any consequence of its beliefs infallibly logical omnisience. Example: read subchapter 10.5 Internet Shopping World