Thursday, June 17, 2010

Evolution

I always dreamed AI would start from some massive body of code, a huge project worked on by thousands of people. But what if a program needs to develop consciousness much the same way we (most probably) did? That it is simply too complicated to develop without evolving to that point itself. What if a single tiny program, set only to copy itself with a small degree of error, is the start of synthetic life?

I threw together a little concept program last night: show code


The very basics required for evolution seem to be present in our virtual environment: bad mutations will not run, or will crash, and will not be capable of reproducing. The different programs would compete over processor time and storage as they populate our virtual world.

Unfortunately, the virtual world isn’t as harsh as ours. It would be very difficult for random mutations to be beneficial in any way. In fact, it’s likely to start at an optimal solution, and any mutation would simply slow down its ability to reproduce.

In the mean time, I’ll unleash these frequently crashing synthetic progeny to do their bidding as I look to introduce hazards and predators to force a better fitness test that yields beneficial mutations.

4 comments:

  1. I wrote a reply to this and it failed and scrapped it, so I'm going to write a TLDR instead.

    For an AI to succeed, it's going to need a substantial amount of parallel programming. Current neural networks in biological beings, intelligent ones, have about 100,000,000 neurons. We currently have at best 8 core processors. I think the estimates are currently that we will have the hardware architecture to create an intelligent conscious being sometime in the late 20's.

    ReplyDelete
  2. That sounded dismissive to your project, so here's an addendum: You should consider getting your little beings to learn how to communicate through trial and error and evolution, then try learning their language. Remember the descolada?

    ReplyDelete
  3. We evolved to use parallel processing as it fit our needs very well. I'm not sure that's necessary to make an intelligent being and that if it were to evolve in an environment where mutli-core processing was not beneficial, we would be more apt to using a few high speed processors instead of a neural network.

    Maybe having that degree of parallel processing is necessary for synthetic life, but I’m not convinced as of yet :).

    ReplyDelete
  4. And no worries on sounding dismissive, I appreciate the input :)

    ReplyDelete