Kodomo

Пользователь

Техническое задание для проекта “Petri Dish”

Симуляция популяции гипотетических одноклеточных организмов на чашке Петри.

Программа предоставляет возможность наблюдать за броуновским движением организмов, их размножением и распространением в популяции мутаций в зависимости от условий, а также влиять на указанные процессы.

Основные понятия:

  1. Клетка (cell) - единица популяции, обладает положением в пространстве, направлением и скоростью движения, продолжительностью жизни; может нести и передавать мутацию.

  2. Чашка Петри (Petri dish) - область движения клеток, выход за ее пределы запрещен.

  3. Бесполое размножение (asexual reproduction) - образование идентичной копии клетки, рядом с делящейся клеткой; при этом, если места рядом нет, деления не происходит.

  4. Половое размножение (sexual reproduction) - образование 4 клеток после слияния двух родительских; происходит с определенной вероятностью при встрече клеток, вероятность растет по мере ухудшения условий (100% при 0 условиях, 0% при 1); аналогично бесполому размножению, при отсутствии места для расположения новых клеток, новые клетки не образуются, либо образуется меньше 4 клеток.

  5. Мутация (mutation) - передается со 100% вероятностью при бесполом размножении и с меньшей вероятностью при половом; изначально возникает спонтанно (т. е. у случайной клетки).

  6. Продолжительность жизни (lifetime) - время от появления клетки в популяции до ее исчезновения.

  7. Внешние условия (environment) - задаются пользователем и измеряются по шкале от 0 до 1: 0 - худшие условия, 1 - лучшие.

  8. Столкновение клеток (collision) - сближение центров двух клеток на расстояние, которое меньше заданного порога столкновения; встреча ведет либо к половому размножению, либо к изменению направления движения клеток.



Постановка задачи и принятые упрощения:


Результат действия программы:


Описание интерфейса:


Задаваемые пользователем начальные параметры:



Документация:


Программа будет написана на языке Python (для ее работы будет требоваться его установка) и оформлена согласно правилам PEP-8.
Язык интерфейса и документации: English
Вернуться к странице Petri dish