top | item 37402925

Remembering Doug Lenat and his quest to capture the world with logic

182 points| andyjohnson0 | 2 years ago |writings.stephenwolfram.com

75 comments

order
[+] HarHarVeryFunny|2 years ago|reply
I missed the news of Doug Lenat's passing. He died a few days ago on August 31st.

I'm old enough to have lived thru the hope but ultimate failure of Lenat's baby CYC. The CYC project was initiated in 1984, in the heyday of expert systems which had been successful in many domains. The idea of an expert system was to capture the knowledge and reasoning power of a subject matter expert in a system of declarative logic and rules.

CYC was going to be the ultimate expert system that captured human common sense knowledge about the world via a MASSIVE knowledge/rule set (initially estimated as a 1000 man-year project) of how everyday objects behaved. The hope was that through sheer scale and completeness it would be able to reason about the world in the same way as a human who had gained the same knowledge thru embodiment and interaction.

The CYC project continued for decades with a massive team of people encoding rules according to it's own complex ontology, but ultimately never met it's goals. In retrospect it seems the idea was doomed to failure from the beginning, but nonetheless it was an important project that needed to be tried. The problem with any expert system reasoning over a fixed knowledge set is that it's always going to be "brittle" - it may perform well for cases wholly within what it knows about, but then fail when asked to reason about things where common sense knowledge and associated extrapolation of behavior is required; CYC was hoping to avoid this via scale to be so complete that there were no important knowledge gaps.

I have to wonder if LLM-based "AI's" like GPT-4 aren't in some ways very similar to CYC in that they are ultimately also giant expert systems, but with the twist that they learnt their knowledge, rules and representations/reasoning mechanisms from a training set rather than it having to be laboriously hand entered. The end result is much he same though - an ultimately brittle system who's Achille's heel is that it is based on a fixed set of knowledge rather than being able to learn from it's own mistakes and interact with the domain it is attempting to gain knowledge over. It seems there's a similar hope to CYC of scaling these LLM's up to the point that they know everything and the brittleness disappears, but I suspect that ultimately that will prove a false hope and real AI's will need to learn through experimentation just as we do.

RIP Doug Lenat. A pioneer of the computer age and of artificial intelligence.

[+] nvm0n2|2 years ago|reply
Cyc was ahead of its time in a couple of ways:

1. Recognizing that AI was a scale problem.

2. Understanding that common sense was the core problem to solve.

Although you say Cyc couldn't do common sense reasoning, wasn't that actually a major feature they liked to advertise? IIRC a lot of Cyc demos were various forms of common sense reasoning.

I once played around with OpenCyc back when that was a thing. It was interesting because they'd had to solve a lot of problems that smaller more theoretical systems never did. One of their core features is called microtheories. The idea of a knowledge base is that it's internally consistent and thus can have formal logic be performed on it, but real world knowledge isn't like that. Microtheories let you encode contradictory knowledge about the world, in such a way that they can layer on top of the more consistent foundation.

A very major and fundamental problem with the Cyc approach was that the core algorithms don't scale well to large sizes. Microtheories were also a way to constrain the computational complexity. LLMs work partly because people found ways to make them scale using GPUs. There's no equivalent for Cyc's predicate logic algorithms.

[+] wpietri|2 years ago|reply
> The end result is much he same though - an ultimately brittle system who's Achilles' heel is that it is based on a fixed set of knowledge

I think CYC is a great cautionary tale for LLMs in terms of hope vs reality, but I think it's worse than that. I don't think LLMs have knowledge; they just mimic the ways we're used to expressing knowledge.

[+] TimPC|2 years ago|reply
This fail when asked about cases not wholly within what it knows about is a problem with lots of AI not just expert systems. Neural Nets mostly do awfully on problems outside their training data, assuming they can even generate an answer at all, which isn't always possible. If you train a neural net to order drinks from Starbucks and one of it's orders fails with the server telling it "We are out of Soy Milk" chances are quite high it's subsequent order will also contain Soy Milk.
[+] brundolf|2 years ago|reply
> The CYC project continued for decades with a massive team of people encoding rules according to it's own complex ontology, but ultimately never met it's goals

It's still going! I agree it's become clear that it probably isn't the road to AGI, but it still employs people who are still encoding rules and making the inference engine faster, paying the bills mostly by doing contracts from companies that want someone to make sense of their data warehouses

[+] dragonwriter|2 years ago|reply
> The CYC project continued for decades with a massive team of people encoding rules according to it's own complex ontology, but ultimately never met it's goals.

Cyc has been a commercial project for a long time and is still alive. The more limited Open and Research distributions have been discontinued, though.

[+] golol|2 years ago|reply
Imo LLMs are absolutely the CYC dream come true. Common sense rules are learned from the data instead of hand written.
[+] detourdog|2 years ago|reply
I understand what you are saying. I'm able to see that brittleness as feature. The brittleness must be expressed so that the user of the model understands the limits and why the brittleness exists.

My thinking is that the next generation of computing will rely on the human bridging that brittleness gap.

[+] dekhn|2 years ago|reply
I recommend reading Norvig's thinking about the various cultures.

https://static.googleusercontent.com/media/research.google.c... and https://norvig.com/chomsky.html

In short, Norvig concludes there are several conceptual approaches to ML/AI/Stats/Scientific analysis. One is "top down": teach the system some high level principles that correspond to known general concepts, and the other is "bottom up": determine the structure from the data itself and use that to generate general concepts. He observes that while the former is attractive to many, the latter has continuously produced more and better results with less effort.

I've seen this play out over and over. I've concluded that Norvig is right: empirically based probabilistic models are a cheaper, faster way to answer important engineering and scientific problems, even if they are possibly less satisfying intellectually. Cheap approximations are often far better than hard to find analytic solutions.

[+] jyscao|2 years ago|reply
> One is "top down": teach the system some high level principles that correspond to known general concepts, and the other is "bottom up": determine the structure from the data itself and use that to generate general concepts.

This is the same pattern explaining why bottom-up economic systems, i.e. lassaire faire free markets, flawed as they are, work better than top-down systems like central planning.

[+] jprete|2 years ago|reply
Empirically it's worked out this way.

It's true that it's less satisfying and less attractive, but these subjective adjectives are based on relevant objective truths, namely that LLMs are difficult or impossible to analyze from the outside, and at a coarse level they're the knowledge equivalent of pathological functions. Calling them "intelligent" is to privilege a very limited definition of the word, while ignoring all of the other things that we normally associate with it.

I don't want us to make an AGI or anything like it for both humanist and economic reasons, but if we make one, I think it's very likely that it has to have more internal structure than do LLMs, even if we do not explicitly force a given structure to be there.

(I am not an expert.)

[+] golol|2 years ago|reply
this is the same concept as the bitter lesson, am I correct? I don't see a substantial difference yet.
[+] specialist|2 years ago|reply
Just perfect. So glad I read this. Thanks for sharing.

> In many ways the great quest of Doug Lenat’s life was an attempt to follow on directly from the work of Aristotle and Leibniz.

Such a wonderful, respectful retrospective of Lenat's ideas and work.

> I think Doug viewed CYC as some kind of formalized idealization of how he imagined human minds work: providing a framework into which a large collection of (fairly undifferentiated) knowledge about the world could be “poured”. At some level it was a very “pure AI” concept: set up a generic brain-like thing, then “it’ll just do the rest”. But Doug still felt that the thing had to operate according to logic, and that what was fed into it also had to consist of knowledge packaged up in the form of logic.

I've always wanted CYC, or something like it, to be correct. Like somehow it'd fulfill my need for the universe to be knowable, legible. If human reason & logic could be encoded, then maybe things could start to make sense, if only we try hard enough.

Alas.

Back when SemanticWeb was the hotness, I was a firm ontology partisan. After working on customer's use cases, and given enough time to work thru the stages of grief, I grudgingly accepted the folksonomy worldview is probably true.

Since then, of course, the "fuzzy" strategies have prevailed. (Also, most of us have accepted humans aren't rational.)

To this day, statistics based approaches make me uncomfortable, perhaps even anxious. My pragmatism motivated holistic worldview is always running up against my reductionist impulses. Paradox in a nutshell.

Enough about me.

> Doug’s starting points were AI and logic, mine were ... computation writ large.

I do appreciate Wolfram placing their respective theories in the pantheon. It's a nice reminder of their lineages. So great.

I agree with Wolfram that encoding heuristics was an experiment that had to be done. Negative results are super important. I'm so, so glad Lenat (and crews) tried so hard.

And I hope the future holds some kind of synthesis of these strategies.

[+] patrec|2 years ago|reply
> I agree with Wolfram that encoding heuristics was an experiment that had to be done. Negative results are super important. I'm so, so glad Lenat (and crews) tried so hard.

The problem is that Doug Lenat trying very hard is only useful as a data point if you have some faith in Doug Lenat making something that is reasonably workable work by trying very hard.

Do you have a reason for thinking so? I'm genuinely curious: lots of people have positive reminiscences about Lenat, who seems to have been likeable and smart, but on my (admittedly somewhat shallow attempts) I always keep drawing blanks when looking for anything of substance he produced or some deeper insight he had (even before Cyc).

[+] skissane|2 years ago|reply
> And I hope the future holds some kind of synthesis of these strategies.

Recently I’ve been involved in discussions about using an LLM to generate JSON according to a schema, as in OpenAI’s function calling or Jsonformer-LLMs do okay for generating code in mainstream languages like SQL or Python, but what if you have some proprietary query language? Maybe have a JSON schema for the AST, have the LLM generate JSON conforming to that schema, then serialise the JSON to the proprietary query language syntax?

And it makes me think - what if one used an LLM to generate or evaluate assertions in a Cyc-style ontology language? And that might be a bridge between the logic/ontology approach and the statistical/neural approach

[+] zozbot234|2 years ago|reply
> And I hope the future holds some kind of synthesis of these strategies.

My guess is that by June 19, 2024 we'll be able to take 3596.6 megabytes of descriptive text about President Abraham Lincoln and do something cool with it.

[+] at_a_remove|2 years ago|reply
I really do believe (believe, rather than know) that some sort of synthesis is necessary, that there's some base facts and common sense that would make AI, as it stands, more reliable and trustworthy if had some kind of touchstone, rather than the slipshod "human hands come with thumbs and fingers" output we have now. Something that can look back and say, "Typically, there's just one thumb and there's four fingers. Sometimes not, but that is rare."
[+] cabalamat|2 years ago|reply
> Negative results are super important.

I agree, and this is often overlooked. Knowing what doesn't work (and why) is a massive help in searching for what does work.

[+] dizzystar|2 years ago|reply
I worked at Cycorp as a contractor for a few months. Lenat was, without a doubt, the smartest person I ever met in my life. There are levels of scary smart... his intelligence was downright frightening.

I'm sad to see so many call his work a failure. His work was anything but a failure. I think this perception comes down to the fact that the company worked on many things that aren't public, and he do much publicity and self-promotion.

[+] jmj|2 years ago|reply
I’m working on old fashioned A.I. for my PhD. I wrote Doug a few times, he was very kind and offered very good advice. I was hoping to work with him one day.

I’ll miss you Doug.

[+] richardjam73|2 years ago|reply
I have that issue of Scientific American somewhere, I didn't know Stephen had an article in it too. I'll have reread of it.
[+] ks2048|2 years ago|reply
I wonder if CYC would have had more success if it was open and collaborative. WikiData seems like a successful cousin. I know the goals are a quite different - wikidata doesn't really store "common sense" knowledge, but it seems any rule-based AI system would probably want to use wikidata as a database of facts.
[+] zozbot234|2 years ago|reply
> wikidata doesn't really store "common sense" knowledge

They're actively working on this, with the goal of ultimately building a language-independent representation[0] of ordinary encyclopedic text. Much like a machine translation interlanguage, but something that would be mostly authored by humans, not auto-generated from existing natural-language text. See https://meta.wikimedia.org/wiki/Abstract_Wikipedia for more information.

[0] Of course, there are some very well-known pitfalls to this general idea: what's the true, canonical language-independent representation of nimium saepe valedīxit? So this should probably be understood as mostly language-independent, enough to be practically useful.

[+] creer|2 years ago|reply
I looked into it years ago and adding to, say, opencyc, really did not seem simple. There was a lot of detail in the entity descriptions. Even reading them seemed to required an awful lot of background knowledge of the system.

It may have been possible to at least add lots of parallel items / instances. For example more authors and books and music works and performers, etc. Anyone here built a system around opencyc? Or cyc?

[+] brundolf|2 years ago|reply
If I recall, Cyc did exactly that (imported data from WikiData)

Unfortunately there was much more to it than ingesting large volumes of structured entities

[+] ChaitanyaSai|2 years ago|reply
Great read. Surprised to read Wolfram never actually got to use CYC. Anyone here who has and can talk about its capabilities?
[+] stakhanov|2 years ago|reply
I briefly looked into it many moons ago when I was a Ph.D. student working in the area of computational semantics in 2006-10. This was already well past the hayday of CYC though.

The first stumbling block was that CYC wasn't openly available. Their research group was very insular, and they were very protective of their IP, hoping to pay for their work through licensing deals and industry- or academic collaborations that could funnel money their way.

They had a subset called "OpenCYC" though, which they released more publicly in the hope of drawing more attention. I tried using that, but soon got frustrated with the software. The representation was in a CYC-specific language called "CycL" and the inference engine was CYC-specific as well and based on a weird description logic specifically invented for CYC. So you couldn't just hook up a first-order theorem prover or anything like that. And "description logic" is a polite term for what their software did. It seemed mostly designed as a workaround to the fact that open-ended inferencing of the kind they spoke of to motivate their work would have depended way too frequently on factoids of common sense knowledge that were missing from the knowledge base. I got frustrated with that software very quickly and eventually gave up.

This was a period of AI-winter, and people doing AI were very afraid to even use the term "AI" to describe what they were doing. People were instead saying they were doing "pattern processing with images" or "audio signal processing" or "natural language processing" or "automated theorem proving" or whatever. Any mention of "AI" made you look naive. But Lenat's group called their stuff "AI" and stuck to their guns, even at a time when that seemed a bit politically inept.

From what I gathered through hearsay, CYC were also doing things like taking a grant from the defense department, and suddenly a major proportion of the facts in the ontology were about military helicopters. But they still kept beating the drum about how they were codifying "common sense" knowledge, and, if only they could get enough "common sense" knowledge in there, they would break through a resistance level at some point, where they could have the AI program itself, i.e. use the existing facts to derive more facts by reading and understanding plain text.

[+] nvm0n2|2 years ago|reply
I played with OpenCyc once. It was quite hard to use because you had to learn things like CycL and I couldn't get their natural language processing module to work.

The knowledge base was impressively huge but it also took a lot of work to learn because at the lower levels it was extremely abstract. A lot of the assertions in the KB were establishing very low level stuff that only made sense if you were really into abstract logic or philosophy.

They made bold claims on their website for what it could do, but I could never reproduce them. There was supposedly a more advanced version called ResearchCyc though, which I didn't have access to.

[+] gumby|2 years ago|reply
Some of us who worked on Cyc commented in an earlier post about Doug's decease.
[+] lispm|2 years ago|reply
Wolfram is able to write it in such a way that somehow it is mostly about him. :-(

There is some overlap between Cyc and his Alpha. Cyc was supposed to provide a lot of common sense knowledge, which would be reusable. When Expert Systems were a thing, one of the limiting factor were said to be limited amount of broader knowledge of the world. Knowledge a human learns by experience, interacting with the world. This would involve a lot of facts about the world and also about all kinds of exceptions (Example: a mother typically is older than its child, unless the child was adopted and the mother is younger). Cyc knows a lot of 'facts' and also many ways of logic reasoning plus many logic 'reasoning rules'.

Wolfram Alpha has a lot of knowledge about facts, often in some form of maths or somewhat structured data.

[+] kensai|2 years ago|reply
This is very fascinating. Is there somewhere a review of Cyc regarding its abilities compared to other systems?
[+] rjsw|2 years ago|reply
Maybe read a bit about AM and Eurisko first, that will give an idea of how Cyc was expected to get used.
[+] mycall|2 years ago|reply
I wonder if there is a way to mix ResearchCyc graph with a high feature count vector database so a transformer has a directed acyclic graph instead of requiring gradient descent. I'm not an expert so that might be gibberish.
[+] ansible|2 years ago|reply
Symbolic knowledge representation and reasoning is a quite interesting field. I think the design choices of projects like wikidata.org and CYC severely limit the application of this though.

For example, on the wikidata help page, they talk about the height of Mount Everest:

https://www.wikidata.org/wiki/Help:About_data#Structuring_da...

    Earth (Q2) (item) → highest point (P610) (property) → Mount Everest (Q513) (value)
and

    Mount Everest (Q513) (item) → instance of (P31) (property) → mountain (Q8502) (value)
So that's all fine, but it misses a lot of context. These facts might be true for the real world, right now, but they won't always be true. Even in the not-so-distant past, the height of Everest was lower, because of tectonic plate movement. And maybe in the future it will go even higher due to tectonics, or maybe it will go lower due to erosion.

Context awareness gets even more important when talking about facts like "the iPhone is the best selling phone", for example. That might be true right now, but it certainly wasn't true back in 2006, before the phone was released.

Context also comes in many forms, which can be necessary for useful reasoning. For example, consider the question: "What would be the highest mountain in the world, if someone blew up the peak of Everest with a bomb?" This question isn't about the real world, right here and right now, it is about a hypothetical world that doesn't exist.

Going a little further afield, you may want to ask a question like "Who is the best captain of the Enterprise?". This might be about the actual US Navy CVN-64 ship named "Enterprise", the planned CVN-80, or the older ship CV-6 Enterprise which fought in WW2. Or maybe a relevant context to the question was "Star Trek", and we're in one of several fictional worlds instead, which would result in a completely different set of facts.

I think some ability to deal with uncertainly (as with Probabilistic Graphical Models) is also necessary to deal with practical applications of this technology. We may be dealing with a mix of "objective facts" (well, let's not get into a discussion about the philosophy of science) and other facts that we may not be so certain about.

It seems to me that successful symbolic reasoning system will be very, very large and complex. I'm not at all sure even how such knowledge should be represented, never mind the issue of trying to capture it all in digital form.