|
|
Строка 1: |
Строка 1: |
− | [[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > '''Клеточный автомат''' <HR> | + | #перенаправление [[Клеточный автомат - версии]] |
− | | |
− | | |
− | Здесь вы можете найти различные версии [http://ru.wikipedia.org/wiki/Клеточный_автомат клеточного автомата] на языке JavaScript, а также описание каждой версии.
| |
− | | |
− | == Клеточный автомат v1 ==
| |
− | [[CelAut v1|Программа CelAut v1]]
| |
− | | |
− | Самая первая версия программы.
| |
− | | |
− | * Состояние каждой клетки на следующем шаге зависит от восьми клеток вокруг - это называется "Окрестность Мура". Почитать поподробнее можно [http://ru.wikipedia.org/wiki/Окрестность_Мура здесь].
| |
− | * На краях стоят периодические условия - клетка, находящаяся на краю поля взаимодействует с клетками на противоположном краю. По сути, получается поверхность тора.
| |
− | * Есть кнопка паузы.
| |
− | * Поле генерируется случайным образом.
| |
− | * Развитие жизни в автомате определяется "геномами" '''L''' и '''B'''. Сейчас геном у всех клеток один и тот же, в дальнейшем у каждой клетки будет свой геном, она сможет мутировать и "бороться" с другими клетками за выживаемость.
| |
− | <toggledisplay status=hide showtext="Как это работает↓" hidetext="Убрать↑" linkstyle="font-size:default">
| |
− | Размер генома равен количеству различных вариантов состояний клеток в окрестности рассматриваемой клетки. В окрестности Мура возможно 9 вариантов - от 0 до 8 живых клеток вокруг нашей клетки.
| |
− | ** '''L''' описывает поведение живой клетки на следующем шаге. Например, геном L:110000000 означает, что клетка выживет, если рядом с ней будет находиться 0 или 1 живых клеток.
| |
− | ** '''B''' описывает, зародится ли жизнь в неживой клетке на следующем шаге. Например, геном B:001000000 означает, что в неживой клетке зародится жизнь, если рядом будет находиться 2 живые клетки.
| |
− | </toggledisplay>
| |
− | | |
− | | |
− | ''Примечание:'' При использовании геномов '''L:001100000''' и '''B:000100000''' получается классическая игра [http://ru.wikipedia.org/wiki/Жизнь_(игра) "Жизнь"] Джона Конвея.
| |
− | | |
− | == Клеточный автомат v2 ==
| |
− | | |
− | [[CelAut v2|Программа CelAut v2]]
| |
− | | |
− | * Теперь можно добавлять и убирать клетки мышкой (левая клавиша - добавляем, правая - убираем).
| |
− | * Добавлена кнопка "Следующий шаг" - просчитывает один шаг.
| |
− | * Добавлена кнопка "Очистить", очищающая всё поле.
| |
− | * В коде добавлены функции для удобства управления работой автомата.
| |
− | | |
− | | |
− | == Клеточный автомат v3 ==
| |
− | | |
− | [[CelAut v3|Программа CelAut v3]]
| |
− | | |
− | [[CelAut v3 iFrame|Программа CelAut v3 на iFrame]]
| |
− | | |
− | * Мутации!
| |
− | | |
− | == См. также ==
| |
− | | |
− | *[[JavaScript - Цепь]]
| |
− | *[[JavaScript - Balls]]
| |
− | | |
− | [[Category: Программирование]]
| |
− | [[Category: JavaScript]]
| |