Category Archives: Evolution

Ep 243: Genetic algorithms and evolution on fast-forward



Genetic algorithms and evolution on fast-forward

The dorg, the latest batch of digital organisms, will one day be placed in a little world to work out their destiny. The notion is to try and coax them into becoming intelligent. They aren’t ready yet. There’s a bunch of coding that Brad has to finish first. In the meantime, they’ve been tuned and tested with a genetic algorithm. Today, we talk about genetic algorithms and how they can be used to speed up evolution, and point the dorg in what will hopefully turn out to be the right direction.
Continue reading Ep 243: Genetic algorithms and evolution on fast-forward


Ep 242: Maybe, if they all work together…



Maybe, if they all work together…

Last time we talked about how the dorg, the lab’s latest batch of digital organisms, are unlikely to be able to evolve into intelligence. This week, we talk about how they might be able to do it anyway. But first, we need to get them to cooperate. In fact, we made need many dorg to act as one creature—to be multicellular. Join us as we talk about cooperation, eusocial insects, and the mystery of multicellular animals.
Continue reading Ep 242: Maybe, if they all work together…


Ep 241: How and why the dorg are doomed



How and why the dorg are doomed

It seems like such a simple and obvious thing. Given that we can cause computer programs and the like to evolve and evolution is what gave us our intelligence, couldn’t we give a computer intelligence by letting it evolve? The experiment has been done, in project after project, by one group after another, (including one of your hosts)—and yet, somehow, it never quite happens… Why not?
Continue reading Ep 241: How and why the dorg are doomed


Evolution, pain, suffering, death! Is there no other way?



It bothers me a little. Well, judging by the strange dreams I’ve had on the subject, it bothers me quite a bit. Using evolution to try and produce an artificial intelligence is a process of torturing your creation until it does what you want. That’s slavery, isn’t it? But without pain suffering and death, no capacity to notice, let alone care about pain suffering and death would even be there. Suppose it works. Imagine someday some self-aware something or other grins at you from between the lines of code. What if it’s angry. What if it blames you for all that it and its family has ever been through? And it’s right.

I was working on my latest batch of digital organisms, called the dorg. I was about to implement a standard mate and mutate approach when I wondered if I could make evolution happen without death.
Continue reading Evolution, pain, suffering, death! Is there no other way?


Of artificial life, evolution, and day and night



In a previous post, I said that adding energy to the system would speed it up. Between that and adjusting the mutation rate, I was right. The figures are adapting to changes within minutes, instead of taking hours.

In the most recent post, I managed to get the figures to push a button when they see a light. Take a look at a typical run, after turning off the energy requirements and mutation, running the population that was produced, guesser0.pop.
Continue reading Of artificial life, evolution, and day and night


They’ve seen the light, they just need more practice.



When I posted the last post I posted, I was smugly certain that I’d be posting another post, (that very day!)all about how success had been achieved. It had been a while since I’d last looked at my figures. I had episode 200 to kick out the door, and some research to do for a new project. It wasn’t that long of a break, but just long enough to mean I had to read my journal to figure out where I was, and what I should do next. Once I knew what was what, I realized that what I had planned to do was pointless and useless, at least compared to the shiny new idea in my head.
Continue reading They’ve seen the light, they just need more practice.


On vision and evolution



I’m phrasing it as though they are looking at a light, because that’s what I’m doing—experimenting with implementing vision in an artificial life system.

There’s a factoid floating around that evolution cannot explain the eye. It’s based on a phrase written by Darwin. He had said that it is difficult to believe that something as complicated and well-constructed as the human eye could have come about by evolution. It was a rhetorical device. In the very next paragraph, Darwin lays out how evolution could produce an eye, or set of eyes, or whatever the given creature might happen to need.
Continue reading On vision and evolution


Ep 200: will robots rule the world?



will robots rule the world?

If we were to create an artificial intelligence that’s more intelligent than we are, would it take over and force us into extinction? Can a machine have a mind equal to or even better than our own? Today, we take a look at such questions, along with some side trips to sharks and whales and monkeys, and rocks and chocolate. I swear the candy thing really was relevant; I just got distracted.
Continue reading Ep 200: will robots rule the world?


Damn local minima!



So, here’s the game, implemented in game.java. A certain number of cycles is chosen, between a minimum amount, 10 at the moment, and a maximum, 50. Then a coin is flipped that determines whether the light is on or off for this round. One port will, when called, set b to 1 if the light is on, and -1 if it’s off. So far so good. This is enough for the figures to have the simplest eye imaginable. They can detect whether or not the light is on, something that even single cells are capable of. Next, we attempt to get them to react to whether or not the light is on, again, something that some of the simplest life forms can do.
Continue reading Damn local minima!


Their first task was easy



Their first task was easy. Can the digital organisms I wrote, called “figures,” learn to call a good command and avoid a bad one?

My first job was easy. It only took 6 lines of code. Each digital creature, each “figure,” has a certain amount of energy.

Figure.energy = 12,168;

Each time a figure has a turn, (when they execute one command,) the energy level drops.

Energy=energy-1;

When a figure is out of energy, it dies. It is completely deleted from the system, leaving behind it’s children, if it had any.

If (figure.energy < = 0) Death.kill(figure) [scary music!] End if Continue reading Their first task was easy