[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lojban] Re: An open source AI research & developing project uses lojban



It reminds me of a genetic algorithm experiment I wrote some time ago as a proof of concept to myself.  I created a 3D environment with a lumpy landscape, some basic physics (gravity, Newtonian motion) and placed a target in it that'd move to a new random location if touched.  Then I allowed a population of randomly generated GAs to operate a virtual tank, one at a time, within the environment.  A simple fitness function was chosen to determine the best drivers: the more times the target was hit within a given timeframe, the more chance that that GA's bitstring (its DNA equivalent) would get to "breed" and its offspring would form the next generation.

In generation 1 most of the drivers just sat still, or twitched about, or would spin around in circles, but every now and then, by pure fluke, a driver would hit the gas and haphazardly nail a target.  This went on for a couple more generations, but then amazingly by about the 7th or so there'd be emergent behaviours that really surprised me - drivers that'd hit every target while executing a series of deft manoeuvres and handbrake turns.  All this from artificial evolution alone - albeit in a limited environment.

The mechanics of the driver were very simplistic: just a couple of formulae that were analogous to hard-wired Bayesian networks, and a set of associated weights and thresholds (represented by a bitstring) that the GA supervisor would modify through breeding.  Inputs to the drivers were environmental measurements such as velocity, angle to target, distance to target, height of surface below tank, and the heights of the surface in front, behind and to the sides of the tank.

Breeding was a wheel-of-fortune style selection.  Imagine a vast wheel divided into as many evenly sliced pieces as there were total targets hit for the Nth generation.  Then imagine that for each driver, it has a number of those slices allocated to it that equals the number of targets it hit.  Now to find a breeding pair and generate one offspring, the wheel is spun twice and the two bitstrings indicated (on occasions this meant the same one twice) are merged by randomly selecting between them from one end to the other, with a little random mutation thrown in for good measure.  This is repeated until the N+1th set of bitstrings is ready to roll, and then the fitness evaluation begins again.

Sadly I doubt I have the source any more (I was also checking out DarkBASIC's 3D abilities at the same time, horribly amateur language), but it's relatively trivial to recreate.

Now, relating this to the lojban-speaking AI may be significantly less trivial but still perhaps worth a look.  I have a few ideas for the language interface for example, that utilise neural nets with evolved topologies, and am happy to expand those ideas, but not so eager to do the work involved...

I think the key to good AI isn't so much in worrying about the mechanics of how a robot would reach its goal - it can be tooled up to figure that out for itself - it's how you define a complex goal or set of goals (the fitness function) in the first place.  And no, that goal does not have to default to "kill", that's just laziness :-)

kozmikreis



On 27 Jan 2010, at 20:13, Matt Arnold wrote:

> I have long daydreamed of an idea similar to his, to develop robotic
> sensing and movement systems. The idea is to create a robot with a
> very stable form, such as a quadruped or hexaped, controlled remotely
> by a computer. The computer would try to extrapolate a 3D model of the
> robot's surroundings from the side-mounted cameras. It would then vary
> and evolve its visual recognition software by how well its hypotheses
> hold up when the robot moves to look from a different perspective. It
> would also evolve movement navigation strategies from the robot's
> attempts to move through the environment.
> 
> It's kind of an extension of this idea:
> 
> http://www.youtube.com/watch?v=RZf8fR1SmNY&NR=1
> 
> That having been said, it raises another can of worms about how to
> make sure the AI won't try to kill us. I will hasten to interject that
> disclaimer before Robin does.
> 
> -Eppcott
> 
> 
> On Wed, Jan 27, 2010 at 10:35 AM, Super-User <lojban-out@lojban.org> wrote:
>> 
>> An open source AI research & developing project uses lojban
>> 
>> Author: Super-User
>> 
>> Hi!
>> I started an open source AI research & developing project which aims at making AI that could be finally considered as human. In addition, I'm going to make lojban as AI's first language.
>> If you're interested in it, please visit:
>> http://gpai.cc
>> 
>> 
>> 
>> 
>> To unsubscribe from this list, send mail to lojban-list-request@lojban.org
>> with the subject unsubscribe, or go to http://www.lojban.org/lsg2/, or if
>> you're really stuck, send mail to secretary@lojban.org for help.
>> 
>> 
> 
> 
> To unsubscribe from this list, send mail to lojban-list-request@lojban.org
> with the subject unsubscribe, or go to http://www.lojban.org/lsg2/, or if
> you're really stuck, send mail to secretary@lojban.org for help.
>