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.