Advertisement

Artificial life?

Started by April 30, 2000 02:52 PM
159 comments, last by Electron 24 years, 2 months ago
To Anonymous poster:

You thinking, in my opinion, is totaly wrong.

How does the human brain work? I might even go so far that i say that it''s a very advanced computer.
What''s the differents? when computers have bits, the brain has it''s cells! there ARE differences, of course. =)
My point is: artificial life CAN occur in a computer.
If we duplicate the nature so close as we can, a lifeform might one day be born! But that requires that we stay away from the traditional function coding: move, eat, wait, etc.
and let the program itself find a way of doing this.

..And for the visur thing: i think you''ve seen "terminator"
a bit too much. Sure, it MAY occur, but how big is the chance?
the chance of a lifeform to spawn in a computer is nearly minimal, and a lifeform with the evil intention is to kill everything he finds, is not even considerable.

Electron

"Who need more than 640kb of RAM?" -Bill gates -89


--Electron"The truth can be changed simply by the way you accept it.""'General failure trying to read from file' - who is General Failure, and why is he reading my file??"
Slightly off topic but....

...I was wondering what to write my MSc dissertation on (no hurry here, I''m not even starting it until October :-)) and I was thinking about trying to show that catastrophes in an A-Life testbed actually advance the overall level of species by pushing them out of local maxima.

Basically what I''m talking about is that each time a major disaster happens (asteroid, series of mega-volcanoes blocking out the sun etc) and 90% of the world population is wiped out (like 250 and 65 million years ago, in fact on average every 60 million years for the last forever) the next stage in evolution takes the various species to a higher level moving the world into a new stage with more potential to reach a higher maxima.

For those of you who don''t understand the concept of local and global maxima, imagine a 2D graph, just x and y axis. Along this graph is a wavering line that goes up and down. A local maxima is the highest point in a small region, like the top of a hill on the graph. Going left and right will only take you downhill. A global maxima is the highest point on the whole graph. Once you get to a local maxima you are good at surviving in your environment but any changes you make by random mutation only take you down the hill in terms of fitness for survival.

I think it''s only when the majority of creatures are wiped out and the slate is partially wiped clean that a step closer to the global maxima can take place.

Any thoughts?

Mike
Advertisement
Anonymous Poster : I think your wrong, computers can learn and it has been done. If you can write a program thats advanced enough to produce its own routines then artificial life is completely possible, and it has been done. After all that is essentially what animals do when we learn.
"I have realised that maths can explain everything. How it can is unimportant, I want to know why." -Me
He can only do what you tell it to in the begininning, he won''t make your computer grow legs and start walking around causing havoc.
He will still only be able to do the basic functions, but the must be vague enough to let him discover new ways to use it.

A full world with physics is exactly what is needed here. The only problem is, who here has the time to code all the physics of the world?? I mean, man, that would take some time .

Also, I visited a site posted earlier regarding reward-based learning, ie he would execute a set of instructions based on his current state, and a few turns later see if there was a gain in his ''happiness'' (ie food levels ).
He would then have this huge memory of all things good and bad, and based on his state, do a certain set of instructions.
The trade off here is that he would have to do new things every so often, meaning that he could potentially, say, throw all his food away by mistake. At which point let''s say he spawns another creature. Now the parent will realise that ''throwing away food'' reduces your overall wellbeing by ''98%'' and therefore is ''bad''.
The spawn would ''inherit'' this memory from his parent, and obtain a slightly modified version of his parents matrix.

The spawn itself would then be able to distinguish between what he should and shouldn''t do...

And BAM there you have it, a self improving ''species''.

Hmm when I finish my game, I think I just might code this

The_Minister
1C3-D3M0N Interactive
[email=mwronen@mweb.co.za" onmouseOver="window.status='Mail The_Minister'; return true" onmouseOut="window.status=' '; return true]The_Minister[/email]1C3-D3M0N Interactive
MikeD: I don''t think that you would be able to prove that eliminating 90% of a population can reliably force the remaining 10% to converge to a new maximum (or even to the old maximum, for that matter).

Look at 2 ways of emulating a catastrophe:

1)Randomly eliminate 90% of the individuals in the testbed. While this would most accurately depict a species extinction-level event, it would also have the effect of erasing all the search (e.g. Genetic Algorithms are nothing more than random, stochastic parallel searches with clever operators) done to this point in the simulation. It''s almost like pressing the reset button, except this time instead of starting with a randomly seeded testbed, you''ll have remnants of the old local maximum...very likely this will cause your population to converge back to where it was before.

2)Eliminate 90% of the population, starting from the "weakest" and moving up. This method is obviously no good. It defies the whole evolutionary paradigm. All this will achieve is to force your population to make more copies of the individuals holding it at the current local maximum...entrenching it even further.

To be worthy of an MSc dissertation, you would have to prove that a method like this pushes the convergence towards a new maximum (be it higher or lower). You could, of course, find some clever ways to eliminate parts of the population instead of the two simple ones outlined here.

I think that a better way to go would be to maintain (at least) two different populations by arbitrarily splitting the original testbed into parts. After each population has converged to a local maximum, and there is a good chance that each population will have converged to a different maximum, form another testbed by cross-breeding ...a crude but efficient way of getting "the best of both worlds", as it were.

The larger issue here is that the biggest problem facing evolutionary computing is that of premature convergence. Although by their parallel nature they are not easily fooled, it can still happen. In the case of Genetic Algorithms, it is a heavily researched area. Should you choose to pursue it, you''ll find lots of literature written on the subject. Good luck MikeD!
------When thirsty for life, drink whisky. When thirsty for water, add ice.
About that theory of building a whole physical-based world,
I think it''s an exelent idea!

However, i don''t think it would be that difficult. I mean, we just don''t have to stick to "our" laws of physics, for instance. (That''t quite impossible btw, ''cause we haven''t discoveerd everything yet =) the thing is to make A physic-based world. I mean, i we want to build a REALLY good physic world, we must size down all the way to athom size! OK, how many bits of RAM have we got to work on? hmm.... 64mb perhaps? OK! We haven''t even got room for a bacteria in that!

The point is: Why duplicate our own world? we''re not trying to make a human!
As a start, we can stick to a 2d-world and make simple physic methods in that. that makes the physics programming down to a minimum.

Heck, i just realized something!
We can USE this technology in games, if we let the computer work on it for a while!
Follow up!

Say that i want to make a game like "gravity force", a game much like asteroids, but with gravity, so that the ship always fall down. Also, instead of space, you fly around in caves and stuff, so you really must have full control of you ship.

Suppose you want to make an AI for this, a REALLY efficient AI? Then why don''t we let the computer do this for us!
Here we have a VERY simple physic-engine: Gravity, speed and acceleration. The ship has a vector-directed engine, and that''s all!
Let''s use the matrix-example for this example also.
At a beginning, the AI probably won''t have the intelligence to start the engine, so he will immediately crash. When he dies, he respawns, with a slight modification in the matrix.
After a while, it may figure out to start the engine, and therefore avoid to crash. Though, he will soon crash in the roof instead! He dies, and modifications occur.
Eventually, he might "figure out" that setting the engine on and off, so the ship will hover. eureka!
Sadly, the fuel soon will run out, and he will die, so he must figure out how to get to the fuel-depot, and so on....

I know, gravity force AI is not hard to make, But hey! it would be the coolest thing on earth! it would be an AI that really IS an AI - Intelligence spawned by the computer itself!


Electron

"Who need more than 640kb of RAM?" -Bill gates -89


--Electron"The truth can be changed simply by the way you accept it.""'General failure trying to read from file' - who is General Failure, and why is he reading my file??"
Advertisement
Hi, im Gavin Coates, the Annonymus poster.

I still feel that what we will end up creating will not be artificial life but more of a life simulation. I am however interested in participating in the discussion.

I have looked at AL sites in the past, and most of them recommend using the quake engine, (the source code is freely available, dunno where though ;-) ) and developing "bots" that learn in this environment. I suggest we use the quake engine also, as it will give us an instant environment without too much work, all we need to do is create the creatures.

I`ll have a look on the web and see if i can dig up some url`s


G Coates
-------------------------------------------
Software is like sex: better when its free!
Gavin Coates
[size="1"]IT Engineer / Web Developer / Aviation Consultant
[size="1"][ Taxiway Alpha ] [ Personal Home Page ]
quote:
Original post by Chris F

Anonymous Poster : I think your wrong, computers can learn and it has been done.




Can I have a reference for this?? I have been studing AI for the last ten years and have yet to come across a machine that learns. Emultes behavior patterns (i.e. Expert Systems) maybe, but never learn.







Joviex you might want to pick up this book "Brainchildren" by Daniel C. Dennett, it has an example from the 60''s of how they tried to teach a computer to recognize the difference between pictures of a man and a woman, it also has many examples of modern day machine learning with video cameras plus a host of other topics ranging from the frame problem, the turing machine and many others. Also if you can try and pick up "The Mind''s I" by the same author its another excellent book on the whole artifical intellegence field.
"I have realised that maths can explain everything. How it can is unimportant, I want to know why." -Me
AI I believe is not a matter of giving a system intelligence, it is instead a matter of "developing" a system, just as the human brain develops.

Requirements of this system:
a) Being able to morph byte stream to allow for behaviour to change... (RELATIVELY easy)
b) Getting the system to morph byte stream properly (i.e. after development has occured) (RELATIVELY harder)
c) A good deal of base information, i.e. a startup byte stream
d) Coding every individual event that signifies development (RELATIVELY Impossible)

However, why not just set the level designers to set triggers that signify development. This reduces the amount of hardcoded stuff as well as decreasing code complexity.

A large problem with AI is that the human brain is not very random, i.e. why do we forget stuff... (like stuff for tests).

I now am quite inquisitive and am probably going to get around to implementing a maze program or something that uses some of the concepts talked about on this forum.

This topic is closed to new replies.

Advertisement