Single wallGeneration 20 · 11 ticks · 0 collisions
1989fitnessAN EXPERIMENT IN PROGRAM SYNTHESIS
Small rules. Smarter robots.
Watch a population of programs learn, fail, and carry its fixes forward.
GENERATION / CURRENT TASK20× 48 candidates
GENERATIONS EVALUATED40
SKILLS BANKED6
CURRICULUM SOLVED2 / 6
Single wall
Obstacle reasoningRobot / goalWallBlockHazard
TICK 0 / 100READY
Sequential curriculum
Candidate program
ORDERED RULE VM01 IF AT_DROP THEN DROP 02 IF HAZARD_AHEAD THEN TURN_LEFT 03 IF WALL_AHEAD THEN TURN_RIGHT 04 IF TARGET_LEFT THEN FORWARD 05 IF TARGET_RIGHT THEN TURN_RIGHT 06 IF TARGET_BEHIND THEN TURN_RIGHT 07 IF ALWAYS THEN FORWARD
Successful candidateFitness —
↳ Inherited knowledge
Skills from the open field seed this population.
Attempt log
40 attemptsSingle wallGeneration 19 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 18 · 100 ticks · 87 collisions
-750fitnessSingle wallGeneration 17 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 16 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 15 · 100 ticks · 87 collisions
-750fitnessSingle wallGeneration 14 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 13 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 12 · 100 ticks · 87 collisions
-750fitnessSingle wallGeneration 11 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 10 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 9 · 100 ticks · 87 collisions
-750fitnessSingle wallGeneration 8 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 7 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 6 · 100 ticks · 94 collisions
-891fitnessSingle wallGeneration 5 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 4 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 3 · 100 ticks · 0 collisions
-330fitnessSingle wallGeneration 2 · 11 ticks · 0 collisions
1989fitnessSingle wallGeneration 1 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 20 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 19 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 18 · 100 ticks · 0 collisions
-330fitnessOpen fieldGeneration 17 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 16 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 15 · 100 ticks · 0 collisions
-330fitnessOpen fieldGeneration 14 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 13 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 12 · 100 ticks · 0 collisions
-330fitnessOpen fieldGeneration 11 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 10 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 9 · 100 ticks · 87 collisions
-750fitnessOpen fieldGeneration 8 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 7 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 6 · 100 ticks · 0 collisions
-330fitnessOpen fieldGeneration 5 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 4 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 3 · 100 ticks · 87 collisions
-750fitnessOpen fieldGeneration 2 · 11 ticks · 0 collisions
1989fitnessOpen fieldGeneration 1 · 11 ticks · 0 collisions
1989fitnessSkill library
VERIFIED IN THE VMEvery skill is a successful program. Open one to inspect the rules the engine can reuse.
Direct approach / 01Solved Open field · 11 ticks
01 IF AT_DROP THEN DROP 02 IF AT_BLOCK THEN GRAB 03 IF HAZARD_AHEAD THEN TURN_LEFT 04 IF WALL_AHEAD THEN TURN_RIGHT 05 IF TARGET_LEFT THEN TURN_LEFT 06 IF TARGET_RIGHT THEN TURN_RIGHT 07 IF TARGET_BEHIND THEN TURN_RIGHT 08 IF ALWAYS THEN FORWARD
Adaptive route / 01Solved Open field · 11 ticks
01 IF AT_DROP THEN DROP 02 IF AT_BLOCK THEN GRAB 03 IF HAZARD_AHEAD THEN TURN_LEFT 04 IF WALL_AHEAD THEN TURN_RIGHT 05 IF TARGET_LEFT THEN FORWARD 06 IF TARGET_RIGHT THEN TURN_RIGHT 07 IF TARGET_BEHIND THEN TURN_RIGHT 08 IF ALWAYS THEN FORWARD
Compact controller / 01Solved Open field · 11 ticks
01 IF AT_DROP THEN DROP 02 IF AT_BLOCK THEN GRAB 03 IF HAZARD_AHEAD THEN TURN_LEFT 04 IF WALL_AHEAD THEN TURN_RIGHT 05 IF TARGET_LEFT THEN TURN_LEFT 06 IF TARGET_RIGHT THEN TURN_RIGHT 07 IF ALWAYS THEN FORWARD
Direct approach / 02Solved Single wall · 11 ticks
01 IF AT_DROP THEN DROP 02 IF AT_BLOCK THEN GRAB 03 IF HAZARD_AHEAD THEN TURN_LEFT 04 IF WALL_AHEAD THEN TURN_RIGHT 05 IF TARGET_LEFT THEN TURN_LEFT 06 IF TARGET_RIGHT THEN TURN_RIGHT 07 IF TARGET_BEHIND THEN TURN_RIGHT 08 IF ALWAYS THEN FORWARD
Adaptive route / 02Solved Single wall · 11 ticks
01 IF AT_DROP THEN DROP 02 IF HAZARD_AHEAD THEN TURN_LEFT 03 IF WALL_AHEAD THEN TURN_RIGHT 04 IF TARGET_LEFT THEN FORWARD 05 IF TARGET_RIGHT THEN TURN_RIGHT 06 IF TARGET_BEHIND THEN TURN_RIGHT 07 IF ALWAYS THEN FORWARD
Compact controller / 02Solved Single wall · 11 ticks
01 IF AT_DROP THEN DROP 02 IF AT_BLOCK THEN GRAB 03 IF HAZARD_AHEAD THEN TURN_LEFT 04 IF WALL_AHEAD THEN TURN_RIGHT 05 IF AT_DROP THEN TURN_LEFT 06 IF TARGET_RIGHT THEN TURN_RIGHT 07 IF ALWAYS THEN FORWARD