Re: [fonc] Evolutionary Debugging :.

2014-01-17 Thread Chris Warburton
Martin McClure martin.mccl...@gemtalksystems.com writes:

 On 01/16/2014 10:58 AM, John Carlson wrote:
 What I was thinking was evolving space travel.  If it is a physics
 engine, could it evolve warp drive?  Rockets?

 It'd be fun to see rockets evolve. Should be possible; we understand the
 physics involved. Warp drive -- well, if we simulate a universe in which
 this works, it should be able to evolve. Or teleportation, etc...

Even with a bug-free, sophisticated-enough Physics simulation,
completely open-ended evolution is incredibly inefficient. This issue
comes up in AI circles, where the question is 'we know that intelligence
can evolve, since ours did, so why not evolve our programs the same
way?'.

The problem is that we took billions of years to emerge from a
planet-wide search algorithm; and even so, we're still just a random
anomaly (evolution isn't 'trying' to make intelligence). Simulating this
would take so many resources that you'd be better off simulating a
virtual human brain atom by atom, with enough resources to spare that
you could increase its neuron count and processing speed by many orders
of magnitude.

A similar argument would apply here; if you want advanced technology,
the most efficient way to get it is to spend your resources thinking
about the problem. If you have enough computing capacity to simulate its
evolution, you'd be better off using it to simulate an army of
super-scientists.

Evolution can be a good approach to very targeted problems with a few
degrees of freedom, but it's terrible at anything else. It's only
managed to solve the problems of life via the law of large numbers.

Regards,
Chris
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Evolutionary Debugging :.

2014-01-16 Thread Chris Warburton
John Carlson yottz...@gmail.com writes:

 I'm not sure why evolving explosions is a bug.  You just want to make sure
 you survive afterwards.

It's a great evolutionary strategy. There's no need to survive either;
the situation is basically you will be killed in a few seconds, but the
quicker you move in that time, the greater the chance that I'll clone
you. Exploding doesn't affect their reproduction.

The bug(s) is in the physics engine. It looks like it's naively
approximating Newtonian mechanics by integrating with a finite, constant
dt (rather than infinitesimal dt). This causes large errors in the
position of the creatures legs if they're moved fast enough, allowing
them to self-intersect.

The collision-handling code is then moving these intersecting body parts
apart, which is effectively applying a huge force to them. These forces
are unbalanced, breaking Newton's third law, so there is a net force on
the creatures, which lets them levitate.

If the collision-handler pushes apart one intersection but causes
another, the forces will build up. This rebounding allows the
collision-handler's hack to dominate the simulation and cause the
creatures to explode.

Cheers,
Chris
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Evolutionary Debugging :.

2014-01-16 Thread John Carlson
What I was thinking was evolving space travel.  If it is a physics engine,
could it evolve warp drive?  Rockets?
On Jan 16, 2014 4:27 AM, Chris Warburton chriswa...@googlemail.com
wrote:

 John Carlson yottz...@gmail.com writes:

  I'm not sure why evolving explosions is a bug.  You just want to make
 sure
  you survive afterwards.

 It's a great evolutionary strategy. There's no need to survive either;
 the situation is basically you will be killed in a few seconds, but the
 quicker you move in that time, the greater the chance that I'll clone
 you. Exploding doesn't affect their reproduction.

 The bug(s) is in the physics engine. It looks like it's naively
 approximating Newtonian mechanics by integrating with a finite, constant
 dt (rather than infinitesimal dt). This causes large errors in the
 position of the creatures legs if they're moved fast enough, allowing
 them to self-intersect.

 The collision-handling code is then moving these intersecting body parts
 apart, which is effectively applying a huge force to them. These forces
 are unbalanced, breaking Newton's third law, so there is a net force on
 the creatures, which lets them levitate.

 If the collision-handler pushes apart one intersection but causes
 another, the forces will build up. This rebounding allows the
 collision-handler's hack to dominate the simulation and cause the
 creatures to explode.

 Cheers,
 Chris
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Evolutionary Debugging :.

2014-01-16 Thread Martin McClure
On 01/16/2014 10:58 AM, John Carlson wrote:
 What I was thinking was evolving space travel.  If it is a physics
 engine, could it evolve warp drive?  Rockets?

It'd be fun to see rockets evolve. Should be possible; we understand the
physics involved. Warp drive -- well, if we simulate a universe in which
this works, it should be able to evolve. Or teleportation, etc...

There was a science fiction story I read years ago which involved plants
which had evolved teleportation. This proved so advantageous in
spreading their seeds to optimum locations, or having one part of the
plant located where it got sun and another part of the same plant
located at a good source of water , and so on, that most of the plant
life on this fictional planet ended up with some kind of ability to
teleport. (If anyone recognizes this story, and knows the title and
author, let me know -- I've long forgotten both)

Regards,

-Martin
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Evolutionary Debugging :.

2014-01-15 Thread Christopher Bratlien
Hello,

I stumbled upon this yesterday. It seems relevant to this thread.

*Flexible Muscle-Based Locomotion for Bipedal Creatures*

[video] http://vimeo.com/79098420

[paper]
http://www.cs.ubc.ca/~van/papers/2013-TOG-MuscleBasedBipeds/2013-TOG-MuscleBasedBipeds.pdf





On Fri, Jan 10, 2014 at 12:41 AM, Robert Feldt robert.fe...@gmail.comwrote:

 Thanks a lot for that link, Chris!

 In 1998 I used Genetic Programming to evolve controllers for an embedded
 system (aircraft arrestment) and was using a simulator of the system for
 the evolutionary searches. I also found several bugs in the simulator which
 had already been in heavy use by engineers for several years. Unfortunately
 I did not analyze these bugs in any detail in the paper and don't remember
 all the details any longer:

 http://www.robertfeldt.net/publications/feldt_1998_diverse_sw_with_gp.html

 I have been getting back to search-based software testing recently and
 during 2014 we will release automated testing tools (an extension of our
 GödelTest approach:
 http://www.robertfeldt.net/publications/feldt_2013_godeltest.html ) that
 use different search approaches (some evolutionary, other  deterministic)
 to search for test data and test case for more standard software.

 Cheers,

 Robert


 On Fri, Jan 10, 2014 at 12:51 AM, Chris Warburton 
 chriswa...@googlemail.com wrote:

 It wasn't one of Sims', it's here
 http://www.youtube.com/watch?v=STkfUZtR-Vs
 According to the voiceover there's not as much variation allowed as I
 remember. Still amusing though :)


 On Thu, Jan 9, 2014 at 3:38 PM, Robert Feldt robert.fe...@gmail.comwrote:

 I don't think I remember the exploding myself strategy from Karl Sims
 videos:

 http://www.youtube.com/watch?v=JBgG_VSP7f8

 Do you remember where you saw that, Chris?

 Cheers,

 Robert Feldt


 On Thu, Jan 9, 2014 at 4:29 PM, Chris Warburton 
 chriswa...@googlemail.com wrote:

 Pavel Bažant pbaz...@gmail.com writes:

  I am developing an evolutionary simulation called Evoversum. An
 interesting
  thing I noticed on multiple occasions while developing the program
 was the
  fact that it tends to debug itself. The simulated organisms, as a
  consequence of the Darwinian evolution taking place, are very quick to
  trigger all sorts of bugs, sometimes to their advantage, sometimes
  triggering undefined behavior, destroying their own world. So it seems
  likely that this effect is applicable in other software domains, too.

 Reminds me of a video I saw on YouTube (can't find it at the moment)
 where a genetic algorithm evolved creatures (collections of sticks,
 joints and motors) in a physics simulation. The goal was to move the
 furthest distance, in the hope that they'd walk/crawl/etc. In fact, one
 of them triggers a bug in the simulation which causes it to explode,
 sending its body parts flying in all directions. This immediately
 dominates the population, so all the creatures start exploding.

 I suppose the morals are:

 1) Evolutionary methods are good at finding bugs
 2) Your fitness function is not selecting for what you think it is ;)

 Cheers,
 Chris
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc




 --
 Best regards,

 /Robert Feldt
 --
 Tech. Dr. (PhD), Professor of Software Engineering
 Blekinge Institute of Technology, Software Engineering Research Lab, and
 Chalmers, Software Engineering Dept
 Explanea.com - Igniting your Software innovation
 robert.feldt (a) bth.seorrobert.feldt (a) chalmers.seor
  robert.feldt (a) gmail.com
 Mobile phone: +46 (0) 733 580 580
 http://www.robertfeldt.net http://www.cse.chalmers.se/~feldt

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc



 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc




 --
 Best regards,

 /Robert Feldt
 --
 Tech. Dr. (PhD), Professor of Software Engineering
 Blekinge Institute of Technology, Software Engineering Research Lab, and
 Chalmers, Software Engineering Dept
 Explanea.com - Igniting your Software innovation
 robert.feldt (a) bth.seorrobert.feldt (a) chalmers.seor
  robert.feldt (a) gmail.com
 Mobile phone: +46 (0) 733 580 580
 http://www.robertfeldt.net http://www.cse.chalmers.se/~feldt

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc




-- 
Chris Bratlien
I write code (so you don't have to)
 http://chrisbratlien.com | 1-979-229-5685 | skype: chrisbratlien
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Evolutionary Debugging :.

2014-01-15 Thread John Carlson
I'm not sure why evolving explosions is a bug.  You just want to make sure
you survive afterwards.
On Jan 9, 2014 9:29 AM, Chris Warburton chriswa...@googlemail.com wrote:

 Pavel Bažant pbaz...@gmail.com writes:

  I am developing an evolutionary simulation called Evoversum. An
 interesting
  thing I noticed on multiple occasions while developing the program was
 the
  fact that it tends to debug itself. The simulated organisms, as a
  consequence of the Darwinian evolution taking place, are very quick to
  trigger all sorts of bugs, sometimes to their advantage, sometimes
  triggering undefined behavior, destroying their own world. So it seems
  likely that this effect is applicable in other software domains, too.

 Reminds me of a video I saw on YouTube (can't find it at the moment)
 where a genetic algorithm evolved creatures (collections of sticks,
 joints and motors) in a physics simulation. The goal was to move the
 furthest distance, in the hope that they'd walk/crawl/etc. In fact, one
 of them triggers a bug in the simulation which causes it to explode,
 sending its body parts flying in all directions. This immediately
 dominates the population, so all the creatures start exploding.

 I suppose the morals are:

 1) Evolutionary methods are good at finding bugs
 2) Your fitness function is not selecting for what you think it is ;)

 Cheers,
 Chris
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Evolutionary Debugging :.

2014-01-09 Thread Robert Feldt
I don't think I remember the exploding myself strategy from Karl Sims
videos:

http://www.youtube.com/watch?v=JBgG_VSP7f8

Do you remember where you saw that, Chris?

Cheers,

Robert Feldt


On Thu, Jan 9, 2014 at 4:29 PM, Chris Warburton
chriswa...@googlemail.comwrote:

 Pavel Bažant pbaz...@gmail.com writes:

  I am developing an evolutionary simulation called Evoversum. An
 interesting
  thing I noticed on multiple occasions while developing the program was
 the
  fact that it tends to debug itself. The simulated organisms, as a
  consequence of the Darwinian evolution taking place, are very quick to
  trigger all sorts of bugs, sometimes to their advantage, sometimes
  triggering undefined behavior, destroying their own world. So it seems
  likely that this effect is applicable in other software domains, too.

 Reminds me of a video I saw on YouTube (can't find it at the moment)
 where a genetic algorithm evolved creatures (collections of sticks,
 joints and motors) in a physics simulation. The goal was to move the
 furthest distance, in the hope that they'd walk/crawl/etc. In fact, one
 of them triggers a bug in the simulation which causes it to explode,
 sending its body parts flying in all directions. This immediately
 dominates the population, so all the creatures start exploding.

 I suppose the morals are:

 1) Evolutionary methods are good at finding bugs
 2) Your fitness function is not selecting for what you think it is ;)

 Cheers,
 Chris
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc




-- 
Best regards,

/Robert Feldt
--
Tech. Dr. (PhD), Professor of Software Engineering
Blekinge Institute of Technology, Software Engineering Research Lab, and
Chalmers, Software Engineering Dept
Explanea.com - Igniting your Software innovation
robert.feldt (a) bth.seorrobert.feldt (a) chalmers.seor
 robert.feldt (a) gmail.com
Mobile phone: +46 (0) 733 580 580
http://www.robertfeldt.net http://www.cse.chalmers.se/~feldt
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Evolutionary Debugging :.

2014-01-09 Thread Chris Warburton
It wasn't one of Sims', it's here http://www.youtube.com/watch?v=STkfUZtR-Vs
According to the voiceover there's not as much variation allowed as I
remember. Still amusing though :)


On Thu, Jan 9, 2014 at 3:38 PM, Robert Feldt robert.fe...@gmail.com wrote:

 I don't think I remember the exploding myself strategy from Karl Sims
 videos:

 http://www.youtube.com/watch?v=JBgG_VSP7f8

 Do you remember where you saw that, Chris?

 Cheers,

 Robert Feldt


 On Thu, Jan 9, 2014 at 4:29 PM, Chris Warburton chriswa...@googlemail.com
  wrote:

 Pavel Bažant pbaz...@gmail.com writes:

  I am developing an evolutionary simulation called Evoversum. An
 interesting
  thing I noticed on multiple occasions while developing the program was
 the
  fact that it tends to debug itself. The simulated organisms, as a
  consequence of the Darwinian evolution taking place, are very quick to
  trigger all sorts of bugs, sometimes to their advantage, sometimes
  triggering undefined behavior, destroying their own world. So it seems
  likely that this effect is applicable in other software domains, too.

 Reminds me of a video I saw on YouTube (can't find it at the moment)
 where a genetic algorithm evolved creatures (collections of sticks,
 joints and motors) in a physics simulation. The goal was to move the
 furthest distance, in the hope that they'd walk/crawl/etc. In fact, one
 of them triggers a bug in the simulation which causes it to explode,
 sending its body parts flying in all directions. This immediately
 dominates the population, so all the creatures start exploding.

 I suppose the morals are:

 1) Evolutionary methods are good at finding bugs
 2) Your fitness function is not selecting for what you think it is ;)

 Cheers,
 Chris
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc




 --
 Best regards,

 /Robert Feldt
 --
 Tech. Dr. (PhD), Professor of Software Engineering
 Blekinge Institute of Technology, Software Engineering Research Lab, and
 Chalmers, Software Engineering Dept
 Explanea.com - Igniting your Software innovation
 robert.feldt (a) bth.seorrobert.feldt (a) chalmers.seor
  robert.feldt (a) gmail.com
 Mobile phone: +46 (0) 733 580 580
 http://www.robertfeldt.net http://www.cse.chalmers.se/~feldt

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Evolutionary Debugging :.

2014-01-09 Thread Robert Feldt
Thanks a lot for that link, Chris!

In 1998 I used Genetic Programming to evolve controllers for an embedded
system (aircraft arrestment) and was using a simulator of the system for
the evolutionary searches. I also found several bugs in the simulator which
had already been in heavy use by engineers for several years. Unfortunately
I did not analyze these bugs in any detail in the paper and don't remember
all the details any longer:

http://www.robertfeldt.net/publications/feldt_1998_diverse_sw_with_gp.html

I have been getting back to search-based software testing recently and
during 2014 we will release automated testing tools (an extension of our
GödelTest approach:
http://www.robertfeldt.net/publications/feldt_2013_godeltest.html ) that
use different search approaches (some evolutionary, other  deterministic)
to search for test data and test case for more standard software.

Cheers,

Robert


On Fri, Jan 10, 2014 at 12:51 AM, Chris Warburton chriswa...@googlemail.com
 wrote:

 It wasn't one of Sims', it's here
 http://www.youtube.com/watch?v=STkfUZtR-Vs
 According to the voiceover there's not as much variation allowed as I
 remember. Still amusing though :)


 On Thu, Jan 9, 2014 at 3:38 PM, Robert Feldt robert.fe...@gmail.comwrote:

 I don't think I remember the exploding myself strategy from Karl Sims
 videos:

 http://www.youtube.com/watch?v=JBgG_VSP7f8

 Do you remember where you saw that, Chris?

 Cheers,

 Robert Feldt


 On Thu, Jan 9, 2014 at 4:29 PM, Chris Warburton 
 chriswa...@googlemail.com wrote:

 Pavel Bažant pbaz...@gmail.com writes:

  I am developing an evolutionary simulation called Evoversum. An
 interesting
  thing I noticed on multiple occasions while developing the program was
 the
  fact that it tends to debug itself. The simulated organisms, as a
  consequence of the Darwinian evolution taking place, are very quick to
  trigger all sorts of bugs, sometimes to their advantage, sometimes
  triggering undefined behavior, destroying their own world. So it seems
  likely that this effect is applicable in other software domains, too.

 Reminds me of a video I saw on YouTube (can't find it at the moment)
 where a genetic algorithm evolved creatures (collections of sticks,
 joints and motors) in a physics simulation. The goal was to move the
 furthest distance, in the hope that they'd walk/crawl/etc. In fact, one
 of them triggers a bug in the simulation which causes it to explode,
 sending its body parts flying in all directions. This immediately
 dominates the population, so all the creatures start exploding.

 I suppose the morals are:

 1) Evolutionary methods are good at finding bugs
 2) Your fitness function is not selecting for what you think it is ;)

 Cheers,
 Chris
 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc




 --
 Best regards,

 /Robert Feldt
 --
 Tech. Dr. (PhD), Professor of Software Engineering
 Blekinge Institute of Technology, Software Engineering Research Lab, and
 Chalmers, Software Engineering Dept
 Explanea.com - Igniting your Software innovation
 robert.feldt (a) bth.seorrobert.feldt (a) chalmers.seor
  robert.feldt (a) gmail.com
 Mobile phone: +46 (0) 733 580 580
 http://www.robertfeldt.net http://www.cse.chalmers.se/~feldt

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc



 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc




-- 
Best regards,

/Robert Feldt
--
Tech. Dr. (PhD), Professor of Software Engineering
Blekinge Institute of Technology, Software Engineering Research Lab, and
Chalmers, Software Engineering Dept
Explanea.com - Igniting your Software innovation
robert.feldt (a) bth.seorrobert.feldt (a) chalmers.seor
 robert.feldt (a) gmail.com
Mobile phone: +46 (0) 733 580 580
http://www.robertfeldt.net http://www.cse.chalmers.se/~feldt
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc