Скопируем модуль u002_Jungle как u003_Jungle. В u_frmMain заменим uses на u003_Jungle. Старый TPlant оставим, наследуем новый TPlant2.
В GenerateObject расселим только 5 старых TPlant, и новых 5 TPlant2. Для начала TPlant2 сделаем точной копией TPlant1, только высаживать он будет свой вид TPlant2.
Единственные параметры, которыми можно играть с растениями, это алгоритм высаживания, время реакции и продолжительность жизни. Алгоритм высаживания у нас, напомню - случайно в соседнюю свободную клетку. Время реакции - 15-24 итераций. Продолжительность жизни - 1-4 времеми реакции + 3 итерации. То есть за время жизни растение успевает провести 1-4 цикла размножения.
Запустим симулацию (003_Jungle_EqualOpportunities.exe) и посмотрим, как развивается жизнь. От семян островки растительности распространяются примерно одинаково в разные стороны, пока не сливаются со своими сородичами либо натыкаются на другой вид. Далее развитие ситуации происходит достаточно интересно. Два разных вида образуют взаимопроникающие относительно гомогенные полянки. То есть растения не перемешиваются до образования однородной смеси, а образуют слабосмешивающиеся островки. Постоянно происходят попытки внедрения одного вида в толщу другого.
Постепенно один вид (случайно) становится доминирующим. Он равномерно заливает все пространство. Другой живет как бы рассыпанным отдельными колониями среди доминирующего. Рано или поздно наступает момент, когда он снижает свою численность и исчезает. Душераздирающеее зрелище.
Теперь зададимся вопросом, изменения параметров в какую сторону дает преимущество.
Очевидно, что уменьшение времени реакции дает преимущество, так как в среднем растения более быстрого вида чаще занимают освободившиеся места.
Для TPlant2 время реакции укажем 7-9, для TPlant прежниее 15-24. Запускаем симуляцию (003_Jungle_NotEqualOpportunities_faster.exe) и убеждаемся, что более быстрый вид получает преимущество, а медленный вымирает. При этом продолжительность жизни у TPlant2 соответственно меньше. И количество потомкой в среднем то-же самое. То есть у более быстрых, хоть и менее долгоживущих растений преимущество.
Вернем время реакции назад, а у TPlant продолжительност жизни укажем больше - 2-4 периода реакции вместо прежних 1-3. Запустим (003_Jungle_NotEqualOpportunities_Longer.exe) и видим следующее. Скорость роста колоний у разных видов примерно одинакова. У зеленого TPlant чуть-чуть быстрее. Но при заполнении пространства TPlant (более долгоживущий) оказывается более напористым и вытесняет оливковый. Это объяснимо, так как за время жизни TPlant (зеленый) успевает дать больше потомков и реже освобождает место.
Теперь проведем оба изменения. Прежний TPlant дольше живет и делает больше циклов воспроизведения, а TPlant2 будет более быстрым. Запускаем (003_Jungle_NotEqualOpportunities_FasterAndLonger.exe) и видим: более быстрый TPlant2 (оливковый) быстрее занимает свободное пространство, но затем более долгоживущий (TPlant) зеленый вытесняет его с арены.
Далее: Растения с разными стратегиями расселения
Ранее: Размножающееся растение