Shortcuts For Experts

Description Logics


As we have seen in detail, the science of knowledge representation has, throughout its history, consisted of a compromise between pragmatism, scientific rigor, and accessibility to domain experts- The three core attributes of three separate communities that, as of yet, have not yet been able to benefit from a single set of tools for representing information. As this primer has tried to portray, however, there is a huge potential benefit that could be attained if these three communities could be bridged by a common set of tools. Most likely, the final answer to this puzzle would have to consist of a system that allows description logics (or a more flexible successor) to become friendly enough for lay persons to benefit from- Probably with natural language parsing tools that can lessen the effort required to properly encode in such a strict format. Additionally, other aspects of computer technology have to evolve and adapt to make this change possible. As we have seen, there are already many different attempts by different companies and researcher to tackle this problem from many different angles.

However, the fact that there are currently two distinct communities of software developers exploring the technological landscape is a critical observation: One community is based in the academic realm- It is here were new visions are established and the initial seeds are sown for new ways to represent information. The second community consists of the corporate software development community, a core group of developers that must become engaged in any new ideas for them to achieve ubiquity.

But engaging corporate development, really still most the Guy in the Garage, typically involves a delay- The high emphasis on pragmatism in this community makes them resistant to adopting new principles out of the academic realm. Anyone who spends any time studying early academic work in computer science can attest that even the earliest inventions contain many brilliant ideas that STILL have failed to reach mainstream computer developers. (As one example, not really much related to KR, only about half of the useful ideas in LISP programming systems have yet to be acquired/reinvented by mainstream languages so far- Functional Programming, True Macros, Continuations, Higher Order Programming, Monads, and simple support for Domain Specific Languages are all great ideas still waiting to be adopted by most programmers)

A Tentative Timeline

Might it be possible, by looking at the timeline of previous knowledge revolutions in computer science, to make predictions predictions as to when our new, multidisciplinary knowledge systems might become mature enough to have a similar success, becoming a driver in mainstream computing? Let's look at the numbers:

The First Revolution- The initial vision for this revolution could arguably be assigned to sometime around 1945- In this year, a certain Vannevar Bush published an article in the Atlantic Monthly titled "As We May Think". In it, he observed that much of the tedium in a large company involved complex filing systems, involving paper sheets and index cards, that kept track of inventory- Perhaps, he surmised, the new vacuum tube-based computer systems that were just beginning to be developed could eventually replace such paper systems and lead to productivity gains in such companies? This is exactly what happened, about 25 years later, once banks, airlines, and other industries had widely adopted computer systems for handling exactly this type of information.

The Second Revolution- The initial visionary for the web revolution I think was Doug Englebart. In the 1960s, this engineer illustrated a primitive computer system, for the first time controlled by mouse, that could be used to access documents that are linked to each other via hyperlinks and can easily be navigated between using mouse clicks, along with a networked computer infrastructure to support this. It is this primitive idea that was later made practical by ARPANET and Tim Berners Lee's hypertext protocol, leading eventually to the internet. 35 years later it was inconceivable for a mainstream programmer not to be intimately familiar with HTML, XML, Web Services, etc.

The (possible) Third Revolution- Only time will tell who will be considered the visionary for the third revolution- But I would argue the ideas for this revolution were seeded by Ronald Brachman's early work with semantic nets, along with earlier work with FOL and Frame systems, as well as Tim Berners Lee's later ideas on The Semantic Net- 1975 might be a decent marker for the origins of these ideas. But how could we possibly predict how long it will take for these ideas to become ubiquitous? Since each revolution seems to take longer to mature, maybe 45 years? Could it be possible that in 2020, we will have access to a comprehensive web of information, coded in a compatible and interlocking manner, that can be used effortlessly, in a manner totally unpredictable by the original authors of each element of data? It is impossible to say, but I think it is clear that anyone working on information systems in the next few decades will have a bright future to look forward to.

Interested In Learning More About The Science of KR? I highly recommend the book Knowledge Representation and Reasoning. It covers a lot of the material in this tutorial in greater depth and is easy to understand for a laymen. Despite this, it still covers many of the more challenging aspects of manipulating KR facts within a computer system.