Representing Information 1. Representing Information The actual representation of information is rather simple. (every Information has (origin ((must-be-a Entity))) (is-possessed-by ((a Entity))) ;; (content ()) <- Implicit for now. ) Every information consists of three basic components: - origin: Whom, What, or Where the information came from. - is-possessed-by: Who possesses this info. - content: This is the actual knowledge/information. The filler is either a quoted KM expression, which is referred to as "ground knowledge", or another Information. Furthermore, every instance of information denotes an implicit "knows". Thus, the expression "Fred knows that John kissed Mary" can be represented as (*Freds-Knowledge has (instance-of (Information)) (is-possessed-by (*Fred)) (content ('(a Kiss with (agent (*John)) (experiencer (*Mary)))))) This scheme also allows us to say things like "Bill knows that Fred knows that John kissed Mary" which is represented as (*Bills-Knowledge has (instance-of (Information)) (is-possessed-by (*Bill)) (content (*Freds-Knowledge))) If "Ted also knew that Fred knows that John kissed Mary" then we would have (*Teds-Knowledge has (instance-of (Information)) (is-possessed-by (*Ted)) (content (*Freds-Knowledge))) which can be viewed graphically as *Ted *Bill | | possesses possesses | | V V *Teds-Knowledge *Bills-Knowledge \ / content content \ / V V *Freds-Knowledge 2. How to Manipulate Information Like States, the idea is that Information can only be manipulated and changed by a set of Actions that act upon it. There are three top level actions for manipulating Information, and for lack of a better name, they are - Information-Gain: The acquisition of Information. - Information-Loss: The loss of Information. - Information-Update: The update/refinement of Information. Note: This Action can be represented as a compound action composed of an Information-Loss followed by an Information-Gain. The following are the representations of the Information-Gain and Information-Loss. (every Information-Gain has (donor ((must-be-a Entity))) (recipient ((a Entity))) ; (object ()) <- The actual knowledge gained. This can ; be either a quoted KM expression or ; another Information. ; This is a local slot that is to be hidden from ; the world. (the-info ((a Information))) (add-list ((if (has-value (Self donor)) then (:triple (Self the-info) origin (Self donor))) (:triple (Self the-info) is-possessed-by (Self recipient)) (:triple (Self the-info) content (Self object))))) (every Information-Loss has (donor ((a Entity))) ; (object ()) ; This is a local slot that is hidden from the world, and ; it's computed dynamically. (the-info ((allof (the possesses of (the donor of Self)) where ((It isa Information) and ((the content of It) = (the object of Self)))))) (del-list ((forall (the the-info of Self) (:triple It is-possessed-by (the donor of Self)))))) 3. Open issues There are a couple of open issues that remain which deserves some attention. A) Is the use of quoted KM expressions for representing ground knowledge the right way to go? The following are the pros for going this route: - Allows us to talk about knowledge without it being assert into the KB and interfering with existing knowledge. - Allows us to talk about false or contradictory knowledge "without" any repercussion (i.e. KM crashing or complaining). The cons are: - Quoted expressions are not very easy to manipulate in KM (Unless Pete provides us with some KM mechanism for dealing with quoted expressions). - What are the things that needs to be done to SHAKEN inorder for a SME to enter quoted expressions. B) What is the behavior of knowledge dependencies (chains)? As we've seen above, we can express knowledge of the form X1 knows X2 knows ... Xn knows P as in "Bill knows that Fred knows that John kissed Mary." What happens when a portion of the chain becomes falsified (e.g. Fred no longer knows that John kissed Mary)? Under this scheme, if Fred no longer knew that John kissed Mary (a Information-Loss with (donor (*Fred) (object ('(a Kiss with (agent (*John)) (experiencer (*Mary)))))) then Bill will know that Fred does not know that John kissed Mary due to our closed world assumption. Furthermore, this scheme will always give us a consistent KB with respect to who knows or does not know what. The issues here are - Do we really what a consistent KB all the time? - We have a "magic propagation" of states of knowledge. Both of these behaviors are justified and desired in formal systems (e.g. "Knowledge and Common Knowledge in a Distributed Environment" by Halpern and Moses and "How processes learn" by Chandy and Misra). The question is, "Do we want them?"