The Rise and Fall of GOFAI
billwadge.com
billwadge.com
There are many "GOFAI" domains explored, the author does not seem to know one. Planning/Scheduling, Natural Language Processing, Diagnosis, Software/Hardware Verification, ...
There are also examples for Machine Translation applications, though the author does not know any. An early example was Metal. https://dl.acm.org/doi/pdf/10.1145/114669.114673
A report about Metal from the early 1990s: https://aclanthology.org/www.mt-archive.info/90/EW-1990-META... Bonus: one of the rare applications deployed on a Lisp Machine, here as a translation server and for grammar development.
The part about games is also very weird. The machine that beat Kasparov was Deep Blue, not Big Blue (a nickname for IBM itself), and it was almost entirely brute force search IIRC.
Modern chess engines do incorporate statistical methods in the form of NNUE nets, but they would be completely worthless without traditional tree search straight out of the Russel-Norvig.
Exactly the same goes for Go, Shogi, etc.
I'm also confused about why the whole issue of undecidability is relevant. Surely this is a limitation for anything running on a computer, including statistical approaches, why would that favor an approach over the other?
As for Russell-Norvig, it has maybe 2 or 3 pages on alpha-beta, and nothing on the almost 70 years of developments that have actually made it fast, able to use multiple threads, etc.
I think the idea is that we were supposed to encode "cats have 4 legs" and every other problem space, and the machines would magically be smart.
To me this seemed sort of naive like "Give your spouse a MYSQL server, and they will finally be organized, forever".
1- ML approach is also inherently based on mathematical foundations like Linear Algebra and Statistical methods. Any natural limitations in GOFAI also applies here.
2- Do we even know how ML/DL methods really work? There is a Geoffrey Hinton interview about this and he seems to suggest that NN methods are actually a black box. So in this regard, NN-based methods are even less "confidence-inspiring" than symbolic reasoning.
1. we don’t know which one; and,
2. you can only use fuzzy reasoning, not synthesize and compute results.
I think the next breakthrough will be using statistical models to build effective type theories for the data we show them, but extracting them so we can “reason” explicitly.
For example, a statement like "totally beyond the reach of purely symbolic computation" needs to be followed by a lot more clarification, given that all of these algorithms that have supposedly superseded symbolic computation are themselves implemented using systems that are equivalent to symbolic computation. And that means the author stops short of getting to the really interesting insights. No, really, why has symbolic AI fallen out of favor?
As someone who started their career doing symbolic NLP and has since moved on to machine learning methods, I'd argue that it's a practicality problem. Symbolic methods require humans to figure out the rules and then program them into the system. And as the system gets bigger and more complex, it becomes increasingly difficult to make any change without creating a sort of butterfly effect that destabilizes some other portion of the system.
I have a hunch that one of the most (popularly) underappreciated aspects of deep neural networks is that they've come up with some good mechanisms for mitigating that problem. If you squint and turn your head, that's what regularization and dropout are really about - trying to minimize the number of truly critical dependencies among different parts of the model, so that it can continue to grow without becoming unstable.
By contrast, GOFAI practitioners tend to actively create such critical dependencies, because doing so limits the number of items we need to keep in our working memory when we're writing the code. Unfortunately, and rather ironically, that seems to work out about as well as greedy search ever does.
So it is not surprising that models that use approximated neural type information processing, are better able to model something that is naturally implemented with that category of computation.
And the reverse is true. Neural models, like humans, don't naturally perform well on many step exact calculations, much less complex exact reasoning.
(Unless models are reduced to modules that are equivalent to primitive symbolic operations. But that is essentially symbolic design on top of a substrate whose details have been intentionally abstracted away, with the extra costs of using an arbitrary non-optimal substrate.)
Large scale models prove computers are very good interpolators. They also make evident they lack common sense.
Every time there is a new release of ChatGPT, Copilot, Bard/Gemini, etc. I challenge them with a simple non-computable problem like an example of the PCP. Every time they fail trying to nail down a correct solution. And worse, they try to convince me they can solve the problem and their answer is correct, showing that a computer is still behind pulling the strings.
A human certainly cannot solve a non-computable problem by "playing" computer. However the insight that is created by trying to solve (or invent, in Post's case) something like the PCP, and then the ability to intuit and then prove there cannot be a solution by a non-human, is still an open question. Penrose has his quantic processes inside microtubules explanation which seems a very up your sleeve answer. I don't know if that would be too different to a massively parallel machine with true stochastic non-determinism.
In any case attempting to compare the brain to a computer and calculating the maximum number of states in terms of bits for me is not fair. There are certainly hard physical limits but that pertains the question of consciousness tangentially.
What definition of GOFAI are you using here? Wikipedia states:
> In the philosophy of artificial intelligence, GOFAI ("Good old fashioned artificial intelligence") is classical symbolic AI, as opposed to other approaches, such as neural networks, situated robotics, narrow symbolic AI or neuro-symbolic AI. The term was coined by philosopher John Haugeland in his 1985 book Artificial Intelligence: The Very Idea.
> Thus, Haugeland's GOFAI does not include "good old fashioned" techniques such as cybernetics, perceptrons, dynamic programming or control theory or modern techniques such as neural networks or support vector machines.
It has no clear, stable definition, and I think that that might actually be its entire point. If we ever settled on a concrete, operationalizable definition, that would bring a quick end to the arguments about how many angels can dance on the head of a pin.
Is monte-carlo and similar really a GOFAI? My impression is that GOFAI is mostly some rule based systems like prolog, and other algorithms are not necessary in this category.
I would say LISP is at best loosely based on the λ calculus.
David Turner discusses LISP in Section 2 of [1]. The subsection "Some Myths about LISP" debunks the link between LISP and lambda calculus. McCarthy added LAMBDA to LISP without an understanding of the lambda calculus, and a result got scoping wrong (dynamic). Eventually, LISP did adopt the correct lexical scoping.
[1] https://www.cs.kent.ac.uk/people/staff/dat/tfp12/tfp12.pdf
Somehow, we've hit the point where AIs can write sonnets and play jazz, but proving simple theorems is still science fiction.
I just want my computer to solve logic puzzles without waiting for the heat death of the universe as I scale them up. I'm sure language models would make for fantastic heuristics, it just seems like nobody cares and the whole field is just rotting away.
This is the natural consequence of bulk of money in tech going to webdev, from engagement attraction to big data for ads.
It's interesting that this seems to be a return to conventional ideas of what is difficult. I remember that people used to comfort themselves with statements like "yes, computers are very good at things like chess and mathematics, but they will never be able to compose music or write a poem" implying that those things were the real hard things and that math and chess were comparatively easy.
Math and logic is not a _natural_ thing that humans can do. It's something they have to be trained to do, and most humans throughout history did not know how to do it.
People need to stop thinking of an AI system is only a neural network. In reality any usable AI system is going to be a collection of specialized components, some of which might be GOFAI, along with more general components (like generative ai).
did it?
People love to repeat that "stochastic parrots" argument which, I mean sure I get why. But what does it say about GOFAI when even basic "black boxes" outperform almost everything GOFAI can do? And often with much less overfitting. Not just in language models, but also vision, classification, anomaly detection etc. There's a reason why current techniques are, well, current.
I guess I just don't see how it led to any actual insights if it hasn't been able to reproduce any part of it. Now maybe real GOFAI just hasn't been tried enough, or we did it wrong, and we just need to try going back to classical techniques and theories (ie. trying to replicate human thinking)... but people are free to do that! and I'm sure most researchers would be delighted if someone came up with a way to make it work and outperform the current "black box" driven approach. It's just that it never happens, but it "sounds" good and "feels" better for some to think it will, eventually.
I was involved in an AI project funded by the EU Esprit programme in the early 90s, developing an Expert System Builder. Our goal was definitely not to gain insights into thinking and reasoning, but to help commercialise an academic technology by providing tools that allowed domain experts to build reasoning systems. That could be sold.
It went about as well as you can expect given the limitations of the expert-system approach, although two of the companies involved did manage to produce novel, vaguely useful in-house tools that were used in demos to senior customers to show that the companies were forward looking.
Yes, in the sense of using rules / heuristics in the way that human experts were believed to. One classic architecture involved a black-board of facts. Rules were triggered when the facts matched their pre-conditions and could update the blackboard with new facts, and so on. The rules looked like a mass of if-then statements, but the order in which they were fired was driven by the contents of the knowledge base and the behaviour of the inference engine.
In my experience, once you reached a certain number of rules / level of complexity, it became harder and harder to add new rules, and the lack of traditional programmatic approaches to structuring and control compromised the purely 'knowledge based' approach. As a traditional programmer myself (in Lisp), I increasingly encountered situations where I just wanted to call a proper function. There were also more theoretical issues, such as non-monotonic reasoning, where you discover that a previously asserted fact was misleading / incorrect, and you needed to retract subsequent assertions, etc. Comedy example here is where you have knowledge that Tweety is a bird, and use rules to design an aviary for him. You then discover that Tweety is a penguin, so a completely different habitat is required. There were also comedy examples where people used a medical expert system to diagnose their car's problems and it would determine that the rust was a bad case of measles.
I think it did lead to improved understanding of mathematical logic-based systems, but didn't feed back into an understanding of human cognition.
wondering what exactly you includes in "everything"? Maybe you can provide specific example?
I'm curious about where gofai is still outperforming modern techniques in complex tasks. As in, genuinely curious, because I want to be wrong on this!
I think most/all of this was not target of GOFAI.
> I'm curious about where gofai is still outperforming modern techniques in complex tasks. As in, genuinely curious, because I want to be wrong on this!
theorem proving, equation solving as example. NN still suck in deep symbolic math and reasoning.
Though I think that a lot of those (certainly image classification, face recognition, TTS, etc) were tasks that were very important in the field back in the 1970/80/90s. A lot of resources were spent on AI specifically for those purposes.
Maybe, it is hard for me to see how you came to such conclusion. But discussion is about specific term GOFAI. I would look at following as source of truth:
- wiki definition, which explicitly states that GOFAI is symbolic AI(rule based reasoning, like prolog, cog, cyc).
- table of content of 2nd edition of Norvig book: https://aima.cs.berkeley.edu/2nd-ed/contents.html which has very little about what you described, but mostly focuses on search, discrete algos and reasoning.