
Surprising Creativity: Anecdotes from Evolutionary Computation - IAmEveryone
https://arxiv.org/abs/1803.03453
======
jeffclune
Hello all. We hope you enjoy the paper.

Here are two fun gifs of clever solutions AI came up with:

[https://twitter.com/jeffclune/status/974718199722795008](https://twitter.com/jeffclune/status/974718199722795008)

[https://twitter.com/jeffclune/status/973605950266331138](https://twitter.com/jeffclune/status/973605950266331138)

Here are some press articles which provide a shorter summary of some fun
anecdotes.

popularmechanics.com/technology/robots/a19445627/the-hilarious-and-terrifying-
ways-algorithms-have-outsmarted-their-creators/

[https://www.newscientist.com/article/8-8-hilarious-ways-
ai-h...](https://www.newscientist.com/article/8-8-hilarious-ways-ai-has-
outsmarted-us-to-get-the-job-done/) (paywalled unfortunately)

------
mring33621
When using evolutionary pressures to guide software, you have to remember that
your stated goal (via fitness functions) often does not truly reflect your
intended goal.

For example, when I was using genetic algorithms to pick stock trades, I tried
to maximize total_net_gain_loss / number_of_trades. The GA quickly figured out
that 0 trades was the best answer. In hindsight, Duh! But I wanted to make
trades!

"The only winning move is not to play"

~~~
sago
That is one kind of problem. The 'Genie' problem: be very specific what you
wish for because the genie will misinterpret you.

But it's not the only kind of problem. There are inherent biases in
evolutionary systems. One example: in systems with varying length genotypes
there is a massive pressure to bloat. Even if you encode 'small' as a strong
requirement in your fitness function, it may not be enough (or it may be
enough to completely defeat whatever your real goal was).

There are inherent biases. In the (simulated) genetics, in the genotype to
phenotype mapping, in the evolutionary operators, even if you get the fitness
function right.

Evolutionary computing as an engineering tool is _hard_.

~~~
fallous
Just picking a nit, but the problem with a genie isn't that it misinterprets
you but that it literally does exactly what you ask for. The mismatch between
"what you wanted" and "what you asked for" isn't the genie's fault but yours.

~~~
todd8
Yes, the genie gives you exactly what you ask for but misinterpretes what you
wish for.

------
dahart
The article's philosophical discussion of "surprise" feels a little klunky and
academic to me, and I think conflates some different kinds of surprise, but
it's still really fun to think about.

Many of the projects here are all inspired by Karl Sims' work in the early
90's.

[http://www.karlsims.com/](http://www.karlsims.com/)

Sims evolved virtual creates by specifying goals to achieve and then running a
physics simulation. He noted at the time that the evolution process was great
at exploiting bugs in the simulation.

[https://www.youtube.com/watch?v=JBgG_VSP7f8](https://www.youtube.com/watch?v=JBgG_VSP7f8)

I was insipred enough by Sims' genetic images
([http://www.karlsims.com/genetic-
images.html](http://www.karlsims.com/genetic-images.html)) that I spent a few
years trying to get surprising and beautiful results of my own, with some
limited success ([https://flic.kr/s/3Xoz](https://flic.kr/s/3Xoz)).

~~~
abecedarius
Nice work! Your inspired-by-Sims collection is the best I've seen in that
genre, I think. I always look when someone links to their genetic images
because I once made some too:
[https://djb.deviantart.com/gallery/](https://djb.deviantart.com/gallery/)
(They were less garish at the original gamma setting, that's how long ago it
was.)

It always felt like there's more potential in this direction. Maybe with a
magic sprinkling of neural nets?

~~~
dahart
Hey thank you!! Yours look great too. I know what you mean about gamma, mine
were probably a little more washed out 15 years ago, I accidentally made them
a bit gamma-proof I think. ;) I’m dying to find the time to do a
JavaScript+WebGL version of this that other people can play with.

The big thing I spent time on was animating cross-fades between evolved
expressions. I’ll send a link to the vid & paper if you’re interested.

~~~
abecedarius
I'd be interested, thanks.

A web version would make a great time-waster. At least as the author I wound
up spending much more time clicking through the space of images than working
on the code; it might perhaps not feel as compelling without the feeling of
getting something for almost nothing when your own program comes to life.

~~~
dahart
Here they are. Yeah, I agree with you, a big piece of the enjoyment was
writing the code, and _then_ being surprised by what happened while exploring
the image space. You definitely don't have as much love for the surprises in
someone else's program, not knowing what it's expected to do or how it works.
At least one year I was working on this I spent more time using it than coding
it, and it was pretty educational and productive to be more of a user.

[https://www.youtube.com/watch?v=kLmtvIt6ihA](https://www.youtube.com/watch?v=kLmtvIt6ihA)

[http://dahart.com/paper/hart_evomusart_2007_paper.pdf](http://dahart.com/paper/hart_evomusart_2007_paper.pdf)

[http://dahart.com/paper/hart_evomusart_2007_slides.pdf](http://dahart.com/paper/hart_evomusart_2007_slides.pdf)

BTW, Karl Sims read this paper and recommended it for Siggraph, but a few
other reviewers were fairly opposed to generative art papers. C'est la vie.

~~~
abecedarius
Wow, the cross-fades really sell it. I never even tried to do anything like
that; my genetic programs were for a kind-of-weird stack machine as the
easiest thing to do.
[https://github.com/darius/tusdl/blob/master/evo.c](https://github.com/darius/tusdl/blob/master/evo.c)

Slightly related to the starting topic of learned exploits: op_hwb_color()
producing most of the colors seems to have suffered from some undefined or
implementation-defined behavior -- I couldn't reproduce old pictures when I
came back to this many years later. Yet that one misbehavior deserves a lot of
the credit for whatever aesthetic value turned up. C'est encore la vie.

------
rripken
Off topic - I find it humorous that arXiv list 49 authors and then ends the
listed author list with: "et al. (1 additional author not shown)"

I know a line has got to be drawn somewhere but in this case, listing the last
author (Jason Yosinksi) would have taken less space than the explanation that
not all the authors are shown.

------
sevensor
Finding where your simulation model breaks down is one of two great features
of evolutionary optimization. The other is its ability to preserve a
population of approximate solutions rather than finding only a single
optimized solution.

------
323454
The article claims that certain popular dance songs from the early 2000s were
in part generated using evolutionary algorithms. Does anyone know which songs
they might be?

------
jcims
I knew it had to be in there and indeed it was. The 'Impossibly Compact
Solutions' case is expanded upon in this article by Alan Bellows:
[https://www.damninteresting.com/on-the-origin-of-
circuits/](https://www.damninteresting.com/on-the-origin-of-circuits/)

I don't know why, but after ten years it remains one of my favorite stories on
the Internet. Worth a read IMHO.

