----- Original Message ----- 
From: "rooftop8000" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Saturday, March 24, 2007 4:26 AM
Subject: Re: [agi] My proposal for an AGI agenda


> -so it will need to have different parts that can be developed (and run?)
independently.

An AGI would be huge.  Working on different parts and synchronizing them on
a regular basis would be the most efficient method of development.

> -won't "anything goes" direct itself towards things that work? (ie. people
building things
> on top of the parts that already give the best results).

I think group discussions of some form (wiki?) would have to take place so
that the overall project would have a single direction.  I don't think
everyone would automatically agree what "already give the best results"
means.

> -what other kind of direction could you put in the system?

I believe that things shouldn't be set in stone.  If reason dictates a new
direction then go with flow.  This approach necessitates a very flexible
design.

> It might give a big overhead, but won't it also make the system
> more fault-tolerant ? All the different parts can be designed by different
people ...
> Do Movement and AIR already do this? (I'm not familiar with them)

People are free to create their own AGI right now.  They can make
communications with other designs if they wish right now.  If a more
cooperative scheme is desired then multi languages and different operating
systems probably won't work.

> Maybe there are better ways than socket communication?

Someone mentioned using TCP but I don't see much difference.  The socket
overhead over TCP doesn't look like much to me but I don't know all the
details (I don't pretend to be a network specialist).  Socket communications
can be made within a single computer and to anywhere over the internet.  If
you want to include Web browsers in your communications, then sockets are
necessary.

> This is probably the biggest problem. How to divide it so people can
design
> their own parts, in their own preferred language? And how to run them/
have
> easy communication between them.
> I'm sure a lot of research has been done into this?

I don't know how much research has been done on this but mutual planning
using something like a Wiki would be my preferred approach.

> what kind of results? I think making existing ones
> work in a framework would be a really good result by itself. (If other
> people can easily build on it and expand it in some way)

I don't know what "existing ones" you refer to but trying to get something
like SOAR or others integrated into a single system would probably be
impossible and net very little if it was.  If the intelligence of an AI
system is only in the phrases built in by some user, then the resulting
intelligence will never exceed a small subset of that person's intelligence.
SOAR has a single deductive algorithm that uses a set of "production rules"
that a user types in.  If there is any intelligence in that system then it
comes only from the user who produced the "rules".  In Searle's Chinese room
experiment (I don't agree with this test or it's conclusions) the person who
can't speak Chinese is obviously not showing any intelligent and I believe
that any rule based system won't be either for the same reasons.

> maybe the framework should  focus on "easily modifiable" by humans, not
> the system itself. (So people can design their own self-modifiable parts,
but it
> wouldn't be required)

"If no self-modification then you have to build all the intelligence into
the data or people have to program the entire AGI by hand."  You don't seem
to refute this point that I made in my last post.  I never said *all* code
needed to be self generated just that some *should* be.  If you start with a
system (C++ for example), no self modification can be made *at all*.
Strictly typed procedural languages like C++ and Java are edited and then
run, not both at the same time.  Program creation (in the native language)
and introspection are impossible in these languages.  My language is just a
C++ program that has a fast built in language.  Any of my internal programs
can never modify the C++ program at all, only it's own internal language.

> It could use KBs as tools (like humans would use them),
> For example, query opencyc for more information on cats, and use that
> in some way.

My previous response was that you have no way of knowing how *good* the
information is (in using foreign KBs in a direct way).  I think words should
be stored and manipulated in context so no normal dictionary would be of
much good.  It would just be words without meaning.

-- David Clark


-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?list_id=303

Reply via email to