Стартовая страница сайта: www.zhenilo.narod.ru

Программа ZLifeApplication.exe

Назначение программы

Давным-давно Гарднер написал несколько замечательных книжек, посвященных математическим играм и головоломкам. В одной из них он описал интересную игру «Жизнь», в которую играло много поколений студентов. Играли, несмотря на то, что эта игра требовала чудовищного терпения, много времени и огромного количества бумаги в клеточку. (На лекциях по философии или истории КПСС этого ресурса было предостаточно).

Правила игры просты. В каждой клеточке на поле могла находиться или нет одна «живая клетка». Она продолжала «жить», если по соседству с ней «жили» не более 4-х и не менее 1-ой клетки. Если это условие не выполнялось, то она погибала (из-за отсутствия рядом «живого существа» или из-за перенаселения). В любой пустой клетке могла зародиться новая «жизнь» лишь при одном условии, что в ближайшем окружении расположены ровно 3 «живые клетки».

В начале игры клеточное поле произвольно заполнялось «живыми клетками». Затем с каждым шагом игры (в дискретном времени) зарождались новые и гибли старые «живые клетки».

Гарднер показал, что в ходе развития «жизней» на поле, рано или поздно, появлялись устойчивые структуры. Одни из этих структур (маленьких колоний «жизни») замирали навсегда, не сдвигаясь с места. Другие пульсировали. А третьи даже перемещались в пространстве, норовя вылететь за ограниченное пространство листа в клеточку. Более того, Гарднер привел пример такой структуры «живых клеток», которую он назвал «ружьём», которая, пульсируя, выстреливала движущиеся структуры, которые оп назвал «планерами». Эти «планеры» перемещались в пространстве по диагонали (относительно клетчатой структуры игрового поля).

Поведение «жизни» было очень интересным, но трудно предсказуемым.
Чтобы дать возможность экспериментально изучать поведение описанной системы, и была написана эта программа ZLifeApplication.exe

Но…
Не это послужило главное причиной написания этой программы. Главную пользу эта программа принесёт исследователям искусственных нейросетей. Дело в том, что условия игры «Жизнь» можно переформулировать так, что игра «Жизнь» превратится в модель «Нейрожизни». Для этого пусть каждая клетка на поле – это отдельный нейрон, связанный с соседними 8-мью близлежащими нейронами. То есть, изначально все клетки поля – это отдельные нейроны. А нейрон может находиться в двух состояниях: возбуждения или релаксации. Состояние возбуждения – это в старой игре «Жизнь» наличие жизни в клетке поля. А состояние релаксации нейрона – это отсутствие жизни в клетке поля. Возбудив случайным образом часть нейронов в таком модельном мозге, можно наблюдать за движением «нейроволн».

Через некоторое время первоначальная хаотичная структура возбужденных нейронов обязательно стабилизируется. Хаос прекращается. И это время можно назвать временем сна, необходимого для упорядочивания «познаний» (да простят меня непримиримые оппоненты).

Если присмотреться ко многим исследованиям свойств искусственных нейросистем, то многие из них конструируются по очень похожим таким же правилам.
Но…
Мне ещё не встречалась ни одна научная работа (может быть потому, что это не главный мой научный интерес), в которой бы нейрону было бы добавлено обязательное свойство реальных живых нейронов мозга – конечность срока его пребывания в возбужденном состоянии. Бесконечно долго находиться в возбужденном состоянии любой нейрон не может. И как бы не «уговаривали» соседние нейроны остаться данный нейрон в состоянии возбуждения, он «отказывается» это делать и релаксирует.
Можно предположить, что реализовать это свойство в искусственных нейросистемах сложно. И ещё сложнее предсказать их поведение.

Но, экспериментируя с программой ZLifeApplication, можно убедиться, что при разных максимальных сроках «жизни» одной клетки (или максимально допустимого времени состояния возбуждения нейрона), устойчивые структуры «жизни» после «сна» оказываются разными.

Например, если время жизни ограничить 5-тью тактами времени (в программе эти такты времени названы годами), то могут появляться устойчивые перемещающиеся структуры (нейроволны), отличные от обычных планеров, описанных Гарднером. И такие структуры могут появиться только при условии времени жизни, равном 5. Если в ходе игры сменить время жизни с 5 на 6, то такая структура разрушается (см. пример в файлах «5.zlf» и «5-2.zlf»).
А при длине жизни в 7 лет, могут появиться стоящие на месте подвижные по форме структуры, периодически разбрасывающие в четыре стороны летающие планеры (см. файл «7.zlf»).
Мне очень понравилась большая летающая структура при длительности жизни 11 лет (см. файл «11.zlf»). Она устойчива к некоторым столкновениям с другими простейшими устойчивыми структурами, которые пропадают, а наша летящая структура – нет. И, что тоже немаловажно, при удлинении жизни клеток этой летящей структуры она не разрушается, а продолжает жить.
И просмотрите на другую совсем уж крупную летящую структуру (когда я увидел её в первый раз, не успев сохранить, я назвал её птицей), которая может образоваться при максимальном времени возбуждения нейрона в 32 года.

Здесь я нарочно перемешиваю терминологии игр «Жизнь» и «Нейрожизнь», чтобы подчеркнуть их эквивалентность.

Команды

Программа ZlifeApplication.exe тоже написана на скорую руку. Поскольку времени на «вылизывание» интерфейса вечно не хватает. Поэтому приведу лишь некоторые правила работы с ней.

  1. Запустив программу, в ней автоматически генерируется случайным образом структура "жизней", которая тут же начинает развиваться. По умолчанию длина жизни клетки равна 32-м годам. Справа с статусбаре видно это время жизни клетки и текущее время развития жизни.
  2. В процессе развития жизни можно увеличивать или уменьшать время жизни одной клетки (на панели инструментов клавиши +L и –L). Это же можно делать и с помощью клавишей «+» и «-» на калькуляторной части клавиатуры. На панели инструментов можно нажать клавишу «бесконечность» и тогда система превратится с чисто гарднеровскую, когда клетка бессмертна (если позволяет окружение).
  3. Нажав кнопку «Новый документ» игра инициализируется с новым текущим (установленным до инициализации) временем жизни одной клетки.
  4. Если нажать на клавишу <пробел>, то в нижнем ряду поля появятся новые "живые клетки", колонии которых начнут расползаться вверх и вниз. Но поскольку внизу поле заканчивается, то они начнут появляться сверху.
    Забыл сказать следующее. Поскольку сделать поле без границ практически очень сложно, а наличие границ существенно меняет процесс моделирования развития "жизни", то всё поле организовано на торе (бублике), который границ не имеет. Поверхность тора на экране монитора показана следующим образом. Сначала тор один раз разрезан так, чтобы срез имел форму круга. Затем получившаяся фигура развернута в цилиндр, у которого плоские грани отсутствуют. После чего цилиндр тоже ещё один раз разрезан по прямой линии и расстелен на поверхности экрана. Можно было бы поле сделать не на торе, а на шаре, покрытом сетью параллелей и меридианов, образующих клетки поля, но тогда возникает другая проблема - по каким правилам должна развиваться "жизнь" на полюсах шара.
  5. В любой момент можно сохранить текущую игру в файле-документе «*.zlf». Но следует учесть, что пока работает диалоговое окно сохранения файла - игра продолжается. И лишь после команды «Сохранить» в файл-документ уйдет текущая в момент команды структура игры.
  6. В любой момент можно дать команду «Открыть старый документ» и открыть старую сохраненную игру. Старая игра продолжится с того момента, когда она была сохранена.

Перспективы

В данной версии программы учтено лишь свойство реальных живых нейронов – максимально возможное время нахождения в состоянии возбуждения. Но совершенно не учитывается время, необходимое для отдыха нейрона (время релаксации). Введя это свойство, наверняка, всё поведение этой совершенно примитивной нейросети существенно изменится. Но это отдельный разговор.

Для установки программы "ZLifeApplication.exe" на своем компьютере следует разархивировать файл ZLifeApplication.zip (размер файла - 210 412 bytes).

Отзывы и предложения направляйте по адресу:
Zhenilo@narod.ru
или
Zhenilo@yandex.ru

Желаю успехов!

Женило В.Р.

P.S.
Один студент пятикурсник подсказал мне, что в мире существует компьютерная программа, аналогичная описанной выше, которая уже давно развивается и работа которой даёт ещё лучшее представление об информационных волновых структурах в нейросистемах (нейросетях). Вот ссылка на эту компьютерную программу:
"Бессмертная нейрожизнь"
Если Вы не найдёте точку загрузки программы, то можете скачать её отсюда: "Зархивированная ala-бессмертная нейрожизнь - Golly".
:-)



Hosted by uCoz