Limits to expressibility in Cyc, or similar knowledge-base projects?

454 Views Asked by At

What are the limits to expressibility, in Cyc or similar knowledge-base projects.

Are there certain concepts that can't be expressed? Is there any project that can express any concept?

I don't understand Cyc's syntax yet, but here is one example:

 (forAll ?CAT 
  (implies 
    (isa ?CAT DomesticCat) 
    (eatsWillingly ?CAT Meat)))

(I think what it means, is: domestic cats are cats, and cats willingly eat meat!)

So, assuming the person answering this question knew Cyc's language fully, my question to him, would be "What concepts can't be expressed in cyc".

For example this concept:

"How can someone fall so far, without realising it".

Is there any knowledge-representation language that can fully represent this statement?

But my real question is... is there any knowledge-representation language, that can express any concept. As far as I'm aware, there is no project yet (whether cyc, wordnet, prolog, or anything else) that can represent every kind of concept. But I don't know Cyc well enough to say that for sure.

2

There are 2 best solutions below

2
On

Knowledge it's a multi faceted theme, and an old maxim I recall it's something like 'to have knowledge of a body, you need a body to reason about'.

What this means it's that so much of our knowledge isn't expressible in logical terms, but require an interdisciplinary approach.

If you want to approach with something of practical in the natural language domain, you could study (i.e. read docs, install and play with) Attempto. It's a 'controlled English' language, with some reasoner you can study.

The restricted language, actively developed as a knowledge representation medium, make it a very interesting technology to use.

0
On

The statement above actually only means "all domestic cats willingly eat meat". The variable is just a variable (despite its name).

As for the expressiveness of CycL, in principle, just about anything is expressible, seeing as it is an nth order language (but locally rarely exceeds second order) and fully extensible. One can always create the necessary vocabulary and "imbue" it with the requisite semantics to express even the question "How can someone fall so far, without realising it?". That said, the bread and butter of the Cyc project is inference based on these representation. To this end, everything may be permissible, but not all things are beneficial. So, building out a knowledge base with enough vocabulary and rules to reason about public figures falling from grace (for example) might take a while and involve considerably more than just representing that single statement.

Also, it is worth noting that CycL is intended as a language capable of representing the concepts with which we engage in speech, but not necessarily in a manner analogous to the way we speak about them. So "How can someone fall so far, without realising it?" would likely not be represented in CycL with all of its metaphorical baggage. One would most likely use vocabulary involving social position (or spatial, if the question is meant literally) and vocabulary involving an individual's awareness of their own social (spatial) situation. This could be accomplished in CycL. Furthermore, Cyc could provide a satisfactory, explanatory answer to such a question (provided the right rules, etc., are in place).