Эволюция
По полю плавают существа и ищут еду. У каждого три признака: скорость, размер и дальность зрения. Все три стоят энергии, и чем существо быстрее, крупнее и зорче, тем дороже ему обходится каждая секунда жизни.
Как отбор меняет популяцию без заданной цели
Это одна популяция, один вид. Тигров и слонов тут нет: соседи отличаются только тремя числами. Размножаются делением надвое, как бактерии, и потомок повторяет родителя с небольшой ошибкой — это и есть мутация.
Вся жизнь держится на запасе энергии. Съеденная крошка добавляет восемь единиц, каждая секунда отнимает около трёх, а у крупного и резвого все одиннадцать. Запас дошёл до нуля: существо исчезло, это смерть от голода. Накопил девятнадцать — делится надвое и отдаёт половину запаса потомку.
Партнёр для деления не нужен, нужно свободное место рядом: в тесноте оно не состоится. Ещё у каждого есть предел возраста, от 32 до 48 секунд, поэтому даже сытые со временем уходят и освобождают место другим.
Никакой цели в программу не заложено, отбор никого не выбирает нарочно. Он просто убирает тех, кому не хватило энергии, а выжившие передают свои числа дальше. Через десяток поколений средние значения уезжают туда, где выжить проще.
Проверьте сами: убавьте корм до семи единиц в секунду, и за полторы минуты популяция измельчает, средний радиус сползает к 4,5. Верните двадцать четыре — и он поднимается к 6,8. В голод выживает мелкий, ему нужно меньше еды; в сытости выгоднее крупный, он собирает корм с большей площади.
Ровно так бактерии привыкают к антибиотику. Лекарство убивает почти всех, но пара случайно стойких выживает, делится, и через десяток поколений вся колония состоит из их потомков. Поэтому курс таблеток нельзя бросать на середине.
Этим же приёмом пользуются инженеры. Компьютер перебирает случайные варианты конструкции, оставляет лучшие и снова портит их мелкими изменениями. Так в NASA вывели антенну для спутников Space Technology 5, запущенных в 2006 году: она похожа на погнутую скрепку, но работает не хуже нарисованной человеком.
Как читать табло. Все числа — средние по живым, в пикселях экрана: скорость в пикселях за секунду, радиус это половина ширины существа, зрение это расстояние, с которого оно замечает крошку, его видно по тонкому ореолу. Цвет показывает скорость по сравнению с остальными: синие медленнее среднего, малиновые быстрее. Полоса под табло делит живых на четыре разновидности и показывает, кого сейчас больше.