Tuesday, January 23, 2007

KR as a Surrogate

In the First Part of this series; I touched upon briefly what the Knowledge Representation (KR) means and what it reflects. In this post I will be touching upon KR as a surrogate.

Before we dwelve deep into this lets find out what the reasoning is. Reasoning is a process that goes on internally; while most things it wishes to reason about exists only externally. A person who is writing program thinks about Class, Procedures, Functions etc while these things exist in external world only.

If we say that KR is a surrogate it raises couple of questions; (i) About its intended identity and (ii) about the semantics of the representation i.e. some kind of mapping of Surrogate with its real world equivalent. In this we elaborate on what details we publish and what details we omit from the real-world equivalent of the knowledge we are representing. Say we want to map an Employee (Entity) to its real world equivalent (Human Being) then, in this process we omit few details like parents name, place of Birth, time of birth etc of the person.

In this process we are omitting few details of the person object when representing in the system. As far as practicality of the completeness of information about an object is concerned; it is virtually impossible and under no circumstances we can claim that an object (from real-world) can be represented anything else but by itself. An object is true representation of itself rest every other representation is incorrect as they contain some assumptions about the object and some attributes which may or may not exist at all.

While it may not sound the best way to represent a real-world entity as surrogate. But there are few advantages we see for KR as a surrogate.
  1. It treats both Tangible and Intangible object equally.
  2. It allows both the kinds of objects to be reasoned and exist in the same space. It treats both the objects which exist in real world and the objects which exist in beliefs to be reasoned in the same way.
This leads to a conclusion that imperfect surrogates are inevitable. When we talk about this; with reference to what we mentioned earlier. We learnt that in the process of representing real-world entity we omit some details or we abstract a few. Which is different from the original object itself. Which also leads to another conclusion that no matter what reasoning we apply to the object the final result is always going to be incorrect as the entity we are reasoning about is not represented correctly to start with. Here also the level of inaccuracy in the final result may vary depending on various factors either known or unknown. But we always try our best to ensure that the level of inaccuracy is low while representing the entity for the task in which the entity is going to play a role. This takes us to another conclusion that if the reasoning of an object is long enough and broad enough it is guaranteed to result in an error.

Another point to note here is that irrespective of whether the reasoning is sound or unsound we at the best can only ensure that the error in representation is not due to the reasoning mechanism we applied to the object. But that does not leaves us to take the problem in hand casually.

At the end before we choose a representation of an object (from the real-world) we must evaluate the cost and benefit of the representation and the reasoning mechanism applied to it.

While this sounds like an interesting thing to read. But going forward I look for a general mechanism to represent every measurable thing in an object. i.e. developing a structure to represent an object so that we can accommodate all possible attributes of an object which can be seen or measured. While this may sound like a promise but in future post I will be touching upon creating one such framework where the object from the real-world can be represented in machine form.

Until Next Time...:)