Re: "Real" programming and seed AI

From: Alan Grimes (
Date: Thu Feb 07 2002 - 15:18:24 MST

Simon McClenahan wrote:
> I just read The Story of Mel, a Real Programmer at
> .

Yes the "story of Mel" is a classic; but not terrably relevant.

> Everyone knows that Real Programmers write in machine code or assembly,
> their code is self modifying and is tightly coupled with the hardware
> and maybe the OS.

This idea of "realness" is a macho thing which has no relevance to
actual computer programming... Its like saying "Real drivers drive

> Modern programmers use higher-level languages such as C, LISP, etc. and
> rely on the compiler to optimize the code. Modern operating systems
> (including MSDOS?) have a memory manager to protect the code section of
> a process from being modified.

DOS will let you get away with anything while also providing services
for guest-oses as well as reasonably modern software... =)

If you look at concurrent systems you see that you must eliminate
self-modifying code because process B might attempt to run code that has
been incompletely modified by process A. Additionally, modern processors
cache data so agressively that a tightly self-modifying program will not
function correctly as the instruction cache is never synchronized with
the data cache...

The obvious way around this is to implement a system that allows the
program to generate new code at runtime, this is then linked in to the
program binary by the OS in a safe way... Other high-level concepts,
such as "functionals" and "macros", provide ways of generating code on
an as-needed basis.

When a code segment is nolonger needed, it is reclaimed by the OS or

> When creating a seed AI, is it still wise to use a component-based
> architecture with an OS that provides memory protection?

Well... the CPU provides memory protection, the OS manages it.
Alternatively, protection could be provided through the compiler with an
unprotected CPU, the OS performing the same function...

If you could show me how component based software is written in LiNuKs,
I would be glad to evaluate it for you... But as far as I know, you

Windows seems to be better in a number of ways demonstrating that it is
not the memory protection but rather how the OS utilizes it.

> Is top-down programming going to give a seed AI any advantage over a
> bottom-up implementation?

Please give an example of each....
Top-Down/Bottom-up generally refer to problem analysis techniques rather
than what the finished software looks like.

If you look at current implementation approaches you will probably
classify them as bottom-up...

> So what if we don't understand it, so long as a few
> people do and they don't all die at the same time, why shouldn't we get
> the latest PC or supercomputer, start hacking in self-modifying
> assembly for the first generation of seed AI?

Not a bad idea!
If you are referring to the previous calculations of $43mil, we wouldn't
want to buy that machine even if we could afford it...

In a few months I expect AMD CPUs with 333mhz (DDR) Front side busses...
We will be able to assemble a development box with that technology for
around $1000. This would be the best choice for an ameture developer...

However, it is my beleif that one could make useful progress on AI with
just paper-and-pencil, and sucessfully demonstrate theories on an
antiquated 486.

My biggest problem is that I don't have an OS that I would consider even
remotely suitable for work in AI.

> Not an easy task I know, but we have hardware emulators or virtual
> machine software to help debug the seed during development.

The hardware isn't the problem, nor is there any evidence that it is...

> I know there are many correlations between self-modifying code and our
> biological DNA programming,

The DNA builds your brain then mostly shuts down....
It contains a meta code for intelligence. It doesn't program your mind
rather it specifies neurological features which behave in desirable

While an effort to reverse-engineer the brain through DNA may prove
fruitful and useful, it is still wrong to say that DNA plays an active
role in your intelligence or that it is self-modifying... Asside from
mutations replication, your DNA is fixed at birth and only self-modifies
in a random fassion during meiosis.

Furthermore, the changes in neural structure that take place througout
your life should be thought of in terms of training and adaptation
rather than self-modification which implies a higher level of


This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:37 MDT