From: Ben Goertzel (firstname.lastname@example.org)
Date: Thu Apr 26 2001 - 09:04:15 MDT
Having posted some peripheral stuff to the list lately, I feel obliged to
post something on-topic ;>
This follows up a conversation that Eliezer, Peter Voss and some others and
I had over dinner at the Foresight conference
I proposed the following sequence of events leading up to the Singularity
1) Someone [perhaps Eli, perhaps little old me, perhaps both of us together,
perhaps some unknown hacker from the barren plains of Tadzikistan] creates a
fairly intelligent AI, one that can be taught, conversed with, etc.
2) This AI is taught about programming languages, is taught about algorithms
and data structures, etc.
3) It begins by being able to write and optimize and rewrite simple programs
4) After it achieves a significant level of practical software engineering
experience and mathematical and AI knowledge, it is able to begin improving
itself ... at which point the hard takeoff begins.
My intuition is that, even in this picture, the hard takeoff takes months or
a few years, not minutes. But that's still pretty fast by the standards of
If this is the way it goes, then I have a concrete proposal for two things
that would probably speed up step 2.
The first is the creation of a formalized database of knowledge about
algorithms, programming languages and AI. At www.mizar.org, there is a
formalized database of knowledge about undergraduate and some graduate-level
mathematics. But it's scanty on CS. Now, I am well aware that formalized
theorems and proofs are not the essence of mathematics. But they're an
important component, which a young AI will more easily absorb from
formalized treatments than from journal math articles, which have their own
peculiar social and psychological assumptions underlying them, different
from the patterns underlying the math itself.
The second is the creation of an efficient & scalable programming language
with a purely formal semantics. C# may fulfill this criterion; Peter Voss
is evaluating it for this purpose. Java is formal but not yet efficient and
scalable enough; an improved JVM could solve the problem, particularly a JVM
specialized for large-scale AI. C is efficient and scalable but its use of
pointers means that its formal semantics needs to include a formal model of
heap memory, which makes the task of inference-driven self-modification
MUCH more difficult for a C program. [When I say C I include C++]
I think that this picture of the path to the Singularity is a little
different from that of Eliezer. But I'm not sure. My sense is that he
views self-modification as entering into the picture earlier, perhaps in
stage 1, as the best way of getting to the first "fairly intelligent AI."
I'm not 100% sure this is wrong, but after a lot of thought I have not seen
a good way to do this, whereas I have a pretty clear picture of how to get
to the Singularity according to the steps I've outlined here.
This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:36 MDT