<<
>>

14.2. Реализация моделей клеточных автоматов на ЭВМ

Чтобы убедить читателя в том, что, используя возможности электронных таблиц Excel, любой начинающий пользователь мо­жет заниматься клеточным моделированием, рассмотрим одну из реализаций игры "Жизнь".

Клетки в исходной таблице Excel слишком велики для на­шей задачи. Поэтому придадим им вид небольших квадратов. В качестве примера возьмем игровое поле 5x5, хотя увеличение размера в несколько раз не требует никаких усилий. Отведем для игры клетки В2 : F6.

Если клетка жива, то в ячейку запишем 1, если мертва, то О. Зададим произвольное начальное состояние. Далее нам понадобят­ся две вспомогательные таблицы. В ячейках Н2 : L6 будет хра­ниться "потенциал" клеток. Для вычисления потенциала клет­ки В2 введем в ячейку Н2 следующую формулу:

= СУММ(А1 : СЗ) - В2 (14.1)

В данном случае подсчитывается число живых клеток в окрест­ности клетки В2 (окрестность по Муру). Закончив ввод этой форму­лы нажатием клавиши Enter, установим курсор на правый ниж­ний угол клетки Н2 и размножим формулу (14.1) сначала до ячейки L2, а затем вниз, заполнив всю таблицу Н2 : L6. (Обратите внима-

266

ние на то, как следует учитывать состояние клеток, граничных с таблицей В2 : F6. В данном случае они остаются пустыми, но воз­можны и более сложные формы задания граничных условий.)

Сложнее всего задать правило поведения клеточного автома­та. Запишем в ячейку BlO правило поведения автомата В2, ис­пользуя логические функции:

= ЕСЛИ (ИЛИ (Н2 >3; Н2 4; 1; 0)

Данная логическая функция вычисляет "потенциал" ячейки В2 — в нашем случае число сторонников республиканцев. Если это число больше 4, то ячейке В2 присваивается 1 (автомат голо­сует за республиканцев), в противном случае присваивается 0 (го­лосование за демократов).

Размножим эту формулу на все ячейки В2:К11. Получим но­вое состояние системы, скопируем его и вставим с помощью ко­манды "Специальная вставка" только "значения" в те же ячейки на листе 1. Запишем процедуру копирования в виде макроса. (Пер­вым шагом при записи макроса должен быть переход с листа 1 на лист 2.) Назначим макросу клавиши быстрого вызова, например Ctrl+e. Теперь переход к следующему временному такту будет про­исходить после каждого нажатия этой комбинации клавиш [4].

Отметим, что для длительного прогона модели не требует­ся много раз нажимать кнопки. Достаточно одного нажатия. В Excel 2000 для выхода в режим редактирования макроса следу­ет в меню "Сервис" выбрать команду "Макрос", затем "Макро­сы..." и "Изменить". На экране вы увидите подпрограмму. Ин­тересно, что вы составили эту программу сами. Точнее, это сделал автоматически Excel, пока вы формировали макрос. Вставим в этот макрос цикл следующим образом. После пер-

269

вой строки (Sub Макрос) вставьте строку For i = 1 То 100, а перед последней строкой (End Sub) вставьте строку Next i. Теперь одно нажатие клавиш Ctrl + е заставит модель проде­лать 100 шагов.

Изложенный подход основан на методологии иконологичес-кого моделирования (см. § 12.1). Отметим, что в данном случае возможности моделирования существенно расширяются за счет использования макросов. Умение слегка скорректировать текст макроса, вставляя операторы цикла и условного перехода, дает возможность пользователю самостоятельно строить сложные ком­пьютерные модели, не прибегая к помощи программистов.

Модели диффузии инноваций.

Индийские ученые предложи­ли следующую модель клеточных автоматов [7]. Каждый индивид соответствует одной клетке, которая может находиться в двух со­стояниях: 1 — новинка принята; О — новинка пока еще не приня­та. Предполагается, что автомат, приняв новинку один раз, ос­тается ей верен до конца.

Автомат принимает решение о принятии новинки, ориенти­руясь на мнение ближайших соседей (используется окрестность Мура). Пусть в окрестности данной клетки имеется т сторонни­ков новинки. Генерируется случайное число р — вероятность принятия новинки. Если рт > г, где г — фиксированное порого­вое значение, то автомат принимает нововведение, в противном случае новинка пока отвергается.

Авторы модели полагают, что вероятность принятия новин­ки со временем должна уменьшаться, так как степень новизны постепенно снижается.

Моделирование проводилось на решетке 10Ox 100. Эволюция системы рассматривалась на временном горизонте в 100 тактов, если вероятность принятия новинки р = 0,1, и 130 тактов при р = 0,05. Для каждого случая осуществлялось 50 прогонов моде­ли. Проводилось также исследование влияния на поведение мо­дели начального распределения сторонников новшества.

Для каждого временного такта t подсчитывалось число авто­матов, принявших инновацию (п(). Приводимые авторами графи­ки функции п( показывают хорошую степень совпадения с моде­лью Фишера — Прея (см. § 9.2).

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

270

принятия новинки. Для этого можно использовать данные со­циологических опросов и материалы фокус-групп. Другое пре­имущество предлагаемого подхода заключается в возможности получения оценок необходимого числа сторонников и их про­странственного распределения в начальный момент кампании.

» • »

Исследования последних лет показывают, что многие физичес­кие и информационные процессы прекрасно описываются кле-точно-автоматными моделями. Оказалось, что если к клетке при­делать часы, то можно получить новые многообещающие формы представления процессов, протекающих в живой и неживой при­роде [1]. Очевидно, что, снабдив клетку даже примитивным искус­ственным интеллектом, можно исследовать более глубокие слои социальной реальности. Весьма перспективным направлением ис­следований является клеточное моделирование процессов коопе­рации и конкуренции с использованием для принятия решений моделей теории игр.

Читателю может показаться, что в данной главе рассматрива­ются разрозненные, ничем не связанные модели из различных об­ластей науки, практики и сферы развлечений. Однако более вни­мательное отношение к рассматриваемым процессам показывает, что они все тесно взаимосвязаны. Игра становится Жизнью, Жизнь уже стала Маркетингом, Маркетинг становится Искус­ством (может быть единственным). И все эти процессы можно и нужно моделировать.

<< | >>
Источник: Ю.М. Плотински. Модели социальных процессо. 2001 {original}

Еще по теме 14.2. Реализация моделей клеточных автоматов на ЭВМ:

  1. 14.2. Реализация моделей клеточных автоматов на ЭВМ
  2. 14.3. Приложения клеточных моделей
  3. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ
  4. Игровые автоматы
  5. «автомат общественного мнения».
  6. 3. Продажа товаров с использованием автоматов
  7. Статья 703. Продажа товаров с использованием автоматов
  8. Н.В.СТРУМПЭ, В.Д.СИДОРОВ. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ЭВМ, 2014
  9. В.Д.СИДОРОВ, Н.В.СТРУМП. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ЭВМ, 2014
  10. 3. Использование программ для ЭВМ, баз данных и топологий ИМС третьими лицами
  11. § 6. Авторско-правовая охрана программ для ЭВМ, баз данных и топологий интегральных микросхем
  12. 1. Понятие программы для ЭВМ, базы данных и топологии интегральной микросхемы и основные правила их охраны
  13. 12.2.2. Правовое регулирование информационных отношений при производстве и распространении программ для ЭВМ и баз данных
  14. Модель личности журналиста: профессиональные, социально-гражданские, нравственные, психологические и социально-демографические характеристики. Модификация общей модели для разных специализаций (репортер, аналитик, расследователь, публицист, ведущий-модератор и т.п.).
  15. Глава 6. Реализация права
  16. 4.2. Реализация
  17. 4. Реализация прав по ипотеке
  18. 3.3. Дальнейшая реализация проекта