HACKER Q&A
📣 nanna

Is there any reason to learn GOFAI?


I'm taking time to learn Common Lisp, and I have on my reading list Peter Norvig's Paradigm's of AI Programming (1992), in which he teaches GOFAI. What with the rise of machine learning, are there still practical or academic reasons to learn GOFAI today?


  👤 PaulHoule Accepted Answer ✓
It lives on in some ways.

For instance large-scale distributed databases today are basically what the Japanese Fifth Generation Computing project was working on.

Production rules engines today are niche products but you'll find at least one inside any bank. Today's rule engines are dramatically better than what people used in the 1980s when they were fashionable, both in terms of improved versions of the RETE engine and using hash tables to keep track of facts.

AI search is still a thing for semiconductor layout, chess playing (now with Markov Chain Monte Carlo, etc.) SAT solvers have improved dramatically, even more than production rules engines. The "semantic web" didn't take off in the wider community but ideas from the semantic web are a secret weapon used by many organizations to crush their competitors.

If you like Common LISP you'll like Novig's book. The ideas there are good for other kinds of advanced programming such as compiler writing.


👤 abrax3141
Yes. Statistical AI/ML can only go so far w/o reasoning. The purists believe that once statistical AI/ML is cracked, you'll be able to teach a machine to reason, like you do a child, but (a) we're no where even slightly close to that yet, and (b) even so, you may just end up with human-like reasoning (having been taught by humans). Although GOFAI has limits, and will need to be hybridized with NN-like AI in any real AGI, even actual GOF GOFAI is still widely used and much more efficient than human reasoning. All this said, although I love and can strongly recommend learning Lisp, don't confuse AI (even GOFAI) with Lisp. Although a lot of reasoning can be coded in Lisp, much of even GOFAI was not, and still is not. Many modern reasoners are written in Java and other languages. Learning GOFAI (or any AI) isn't learning to code, it's learning to think in a certain way about problems.

👤 webmaven
Can't really improve on the (excellent) sibling comment except to note that GOFAI is one of the two legs that recent hybrid neuro-symbolic systems stand on. There is probably a lot of interesting advances for NS hidden away in old GOFAI research papers.