Re: Systems engineering

From: Michael Wilson (
Date: Thu May 19 2005 - 17:46:13 MDT

> Part of why I made the post is to save others from re-inventing
> a methodology that has already been demonstrated to work
> reasonably well on complicated projects.

I agree that the formal methods approach to software engineering
has a lot to teach AGI designers, and indeed I have argued at
length for the SIAI to pay more attention to this field. However
AGI needs considerably more general techniques that can handle
the complex functionality involved. By necessity we're developing
these as we go.

>> Part of the difficulty of AGI design is that it doesn't
>> modularise easily into a set of cleanly seperated components
>> with narrow interfaces and distinct functionality.
> If a design can't be broken down into pieces that are
> understandable, designable and testable by humans, it's probably
> not going to work or do what you wanted it to.

I agree completely, and I wish more AGI designers did. Note that
I said 'modularise easily /and/ cleanly'. You can have one or
the other, though 'easy' is relative; generated any correct and
useful functional decomposition of general intelligence is a hard
thing to do.

> Another design breaks the brain down into some number of
> functional components (in the 10's or 100s) that are distinct
> and separable in their inputs and outputs, and are each
> functionally simple enough to design. Such a design would
> likely be brittle enough not to be able to change itself and
> still function.

This is true only for naive probabilistic self-modification
techniques, and even then with self-modelling and rollbacks it
just slows self-modification down to a crawl due to the low success
rate of trial-and-error. Advanced probabilistic techniques can
work around brittleness and the issue is nearly irrelevant for
deliberative self-modification. If an AGI design actually works, it
should always be able to refactor itself better than the programmers
can (of course for opaque designs this may not be saying much as
they are by definition nearly impossible for the programmers to
refactor once evolved/generated/self-organised/whatever).

> If you do a fuzzy hierarchical spaghetti/gordion knot design, I
> don't see how a human would be able to design it in the first
> place, or if you let it grow and evolve, how you would be able
> to test it safely.

Firsly, you certainly wouldn't catch me using anything 'fuzzy' or
'evolved'. Secondly, workable AGI does look like a Gordian knot,
though the minimum size of that knot is still highly debatable.
Yes, that makes designing (and explaining) AGI very hard. This
should be utterly non-surprising, unless you believe that the
sole reason AGI hasn't been cracked yet is inadequate computing

 * Michael Wilson

How much free photo storage do you get? Store your holiday
snaps for FREE with Yahoo! Photos

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