David Deutsch (physicist / quantum computing theorist) wrote an article for Aeon Magazine last year: On Artificial Intelligence that got me thinking.

The article assesses and critiques the achievements in AI and articulates criteria one needs to meet to realize strong AI or what he calls Artificial General Intelligence (AGI).

Some key ideas from the article:

  • What is needed is nothing less than a breakthrough in philosophy, a new epistemological theory that explains how brains create explanatory knowledge and hence defines, in principle, without ever running them as programs, which algorithms possess that functionality and which do not.

  • ...the ability to produce new explanations.

  • ...brain in a vat.

  • Because genuine knowledge, though by definition it does contain truth, almost always contains error as well.

  • ...it is simply not true that knowledge comes from extrapolating repeated observations. Nor is it true that ‘the future is like the past’, in any sense that one could detect in advance without already knowing the explanation.

The article inspired a number of discussions among my colleagues. We see a thread of rather obscure work across the entire history of information theory that looks like it addresses many of Deutsch's concerns.

We use this stuff in a variety of sequential decision problems.

Mathematica and AGI

So naturally the question came up:

Can we model AGI in Mathematica?

This is a broad question, however, so below the question will be narrowed down. But first, here are some reasons why I think Mathematica may be suitable for this purpose.

A lot of work in AGI gets programmed in Lisp and other homoiconic and/or functional languages. Homoiconic languages internally represent code and data in the same way. This could provide a program the capability to modify itself, perhaps even to evolve or adapt to a new problem.

Mathematica sees everything as an expression. It has the ability to generate functions.

Wolfram Alpha certainly has some kind of AI calculation/search underpinning it, but I don't see it as attempting AGI.

The question is: Can anyone direct me to:

  • examples of Mathematica used in work on AGI;
  • individuals using Mathematica for work on AGI;
  • resources about using Mathematica for work on AGI;

Also, if anyone has an interest in thinking through this in greater detail, just ping me (email in my profile) and I'll forward more background information on our ideas.

  • 4
    $\begingroup$ Very interesting stuff, but too broad, I fear. $\endgroup$ – Yves Klett Aug 16 '13 at 17:47
  • 2
    $\begingroup$ from what i've gleaned offhandedly, it seems Lisp was used back then because people thought intelligence had something to do with logic... which is, of course, hilariously naive. Lisp being an expression language and having cultural roots in mathematics made it a good choice for logic programming. there's a chapter in one of Paul Graham's books (free online i believe) that builds a Prolog interpreter in Lisp after implementing continuations, if i recall correctly. statistical machine learning and neural networks are the closest we've come so far to "general" AI, and these are language-agnostic $\endgroup$ – amr Aug 16 '13 at 20:36
  • 7
    $\begingroup$ @Murta Agree with the first part (read only the first paragraph in Wikipedia and knew I can stop right there), but if Mr. Wizard were AGI he wouldn't need Mathematica, would he? Or is he implemented in Mathematica -- version 7?? $\endgroup$ – Jens Aug 17 '13 at 0:28
  • 4
    $\begingroup$ As far as anyone knows, computational expressiveness of Mathematica is suitable to make "AGI" work. So is computational expressiveness of stack-machine assembly language or "traditional" Turing machine model with an infinite tape. What is needed to reach "AGI" is the intellectual and conceptual breakthrough. I believe Mathematica, in this regard, can't offer much in taking that giant leap. Surely it's in practice an easier environment than tape-based Turing machine, but nonetheless it's "only" a programming environment - and not actually that different from others. $\endgroup$ – kirma Aug 28 '13 at 16:30
  • 3
    $\begingroup$ I agree with @kirma, the question "Can we model AGI in Mathematica?" for me is the same as "Can we model AGI in a Turing Machine?". My modest opinion is that we really don't know. We do not understand if consciousness is necessary in this kind computational process, and we don't know if we have all the necessary laws of physics to understand consciousness. So, I agree that the question is too broad to our humble Mathematica forum. $\endgroup$ – Murta Aug 29 '13 at 1:31