Sunday, May 20, 2012

AI evolution sim idea

Create a program with a series of trivia question "gates". These gates may transmit and receive bits, as well as signals for ending a transmission. In addition to gates, there are virtual entities with a food counter, and an internal algorithm, written in a simple assembly-like language, including one of several actions:
  • Poll a gate
    1. If the entity has not completed the previous gate a certain number of times, reduce the request to their max gate
    2. Send the entity a stream of bits
    3. Give the entity a certain timespan in which to start responding. If it fails, score 0 and return
    4. Once the above timespan has elapsed, entities may not stop sending bits for more than a certain amount of time, or they score 0
    5. If an entity exceeds the number of bits, they score 0
    6. A correct answer yields points based on the gate's difficulty, an incorrect answer gets 0
  • Try to send an entity data
  • Try to listen for signals being sent
  • Transfer food to another entity
  • Various boolean algebra
  • Jump to another code location if the top stack element is negative
  • Reproduce
  • Read and write from their memory space (one space for both code and data)
Different actions cost differing amounts of food to execute - reproduction costs vary based on algorithm length. Visualizations can be done to show how the population is progressing as a whole on different scales (questions solved per organism, food per organism, average code length, average answer speed, amount of communications sent/received..)

No comments:

Post a Comment