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.
- It treats both Tangible and Intangible object equally.
- 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.
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...:)