Рубрика «игра жизнь» - 3

Доброго времени чтения, уважаемые участники habrahabr.ru

Игра Жизнь предложена Джоном Конвеем в 1970 году, и неоднократно обсуждалась на habrahabr.ru. Основные использованные теги приведены в метках к данной статье.

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

Читать полностью »

Игру жизнь — клеточный автомат уже кажется писали на всех возможных языках программирования.

Меня же интересует технология ПЛИС — и поэтому когда-то я сделал реализацию life для ПЛИС Альтера Cyclone III. Правда поместилось в чип тогда очень мало: всего 32x16 клеток. На таком маленьком поле довольно трудно испытать сложные фигуры.

Сейчас у меня в руках другая плата: тут уже стоит Altera MAX10 с 50-ю тысячами логических элементов. Было интересно, смогу ли я расширить поле хотя бы в 4 раза? В общем задумал сделать хотя бы 64x32.

Результат представлен на этом видео, я называю эту картину: «ружье Госпера убивает самоё себя».

Ниже подробности реализации.Читать полностью »

первая часть

Прибыв домой, Гарднер тотчас же продемонстрировал Конвею более 20 статей, посвящённых расчёту дня недели для любой даты. Правило Льюиса Кэрролла выглядело лучше остальных. Гарднер повернулся к Конвею и сказал: «Джон, тебе необходимо разработать более простое правило, которым я смогу поделиться с читателями». И, как рассказывает Конвей, длинными зимними ночами, когда мистер и миссис Гарднер у себя дома отправлялись спать (хотя в гости к ним он приезжал исключительно летом), Конвей размышлял над тем, как сделать такой расчёт достаточно простым, чтобы его можно было объяснить среднему человеку с улицы.

Он думал над этим всю дорогу домой, и в общей комнате университета, и наконец додумался до «правила Судного дня». Для работы алгоритму требовались лишь сложение, вычитание и запоминание. Также Конвей придумал мнемоническое правило, помогавшее хранить промежуточные вычисления на пальцах руки. А для наилучшего запоминания информации о дате, Конвей прикусывает свой большой палец.

Следы от зубов должны быть видны! Только так можно это запомнить. Когда я рассказываю студентам об этом методе, я всегда прошу кого-нибудь из первого ряда подтвердить наличие отметок от зубов на пальце. Серьёзных людей так делать не заставишь – они решат, что это детский сад. Но смысл в том, что всё это дело обычно не задерживается у вас в мозгу, и вы забываете дату дня рождения, названную вам человеком. Но большой палец способен запомнить за вас, как далеко эта дата отстоит от ближайшего «Судного дня».

С годами Конвей научил этому алгоритму тысячи людей. Иногда в конференц-зале набирается человек по 600, вычисляющих дни рождения друг друга и прикусывающих свои большие пальцы. А Конвей, как всегда, пытается быть неразумным – он уже неудовлетворён своим простым алгоритмом. С самого момента разработки он пытается его улучшить.
Читать полностью »

Джон Хортон Конвей утверждает, что не работал ни дня в своей жизни. Этот отрывок из биографии «Гений за игрой» показывает, какие серьёзные математические теории, вроде сюрреальных чисел, могут появиться из развлечений и игр.

image

Грызя указательный палец левой руки своими старыми обломанными британскими зубами, с набухшими старческими венами, с задумчиво нахмуренной под давно нестриженными волосами бровью, математик Джон Хортон Конвей без сожаления тратит своё время на раздумья и теоретические изыскания. Хотя он будет утверждать, что ничем не занимается, ленится, и играет в игрушки.

Он работает в Принстоне, хотя славу он обрёл в Кембридже (будучи сначала студентом, а затем профессором с 1957 по 1987 года). Конвей, 77-и лет, утверждает, что не работал ни дня в своей жизни. Он имеет в виду, что тратит почти всё свое время на игры. И в то же время, он профессор Принстона по прикладной и вычислительной математике (сейчас уже почётный). Член Королевского сообщества. И признанный гений. «Титул „гений“ часто неправильно используют»,- говорит Перси Дьяконис, математик из Стэнфорда. – Джон Конвей – гений. При этом он может работать в любой области. И у него чутьё на всякие необычные вещи. Его нельзя поставить в какие-то математические рамки".
Читать полностью »

Иглобрюх и дары «Жизни» - 1

Многие программисты, по крайней мере моего поколения, знают игру «Жизнь», правила которой были предложены британским математиком Джоном Конвеем (John Conway) в 1970 году. Но что знают немногие, так это то, что она до сих пор активно развивается и радует новыми открытиями. Историей одного из таких открытий я хочу поделиться в этой статье.Читать полностью »

В начале нового года хочется еще разок вспомнить то позитивное, что принес старый год. Вот, например, пара занятных фактов:

  1. В ходе исследовательской программы ВВС было установлено, что «если смотреть программы, в которых проверяют эрудицию участников, играть в интеллектуальные настольные игры и принимать душ с закрытыми глазами, то уже через неделю можно поумнеть примерно на 40%».
  2. Когда для одной из ТВ-викторин обычных прохожих попросили назвать самую умную профессию, в списке оказались: сапожник, портной, учитель, учёный, профессор, дворник (да, меня тоже удивило), врач и – вот оно, народное признание! – программист. Ну и еще парочка стереотипов: кто работает в ИТ-компании? Ясное дело, программисты (есть еще вариант «компьютерщики»). А что они делают в свободное время? Играют в компьютерные игры, конечно!

Разрушать стереотипы – отличное занятие. Относительно самой умной профессии, впрочем, этого можно и не делать, а наоборот – попробовать посоревноваться с другими интеллектуалами, да не в компьютерной игре, а лицом к лицу, так сказать, голова к голове. Вдруг удастся победить учёных профессоров или даже самих дворников? Ну а кому не хочется получить звание самого умного среди коллег? Поумнеть – пусть даже не на 40% (не каждый готов принимать душ с закрытыми глазами), а хотя бы на 10-15 — тоже неплохо, хоть и не очень-то я верю этим британским ученым… В общем, мотиваторов для участия в битвах интеллектов оказалось предостаточно, и Veeam Software решила организовать команду знатоков «Что-Где-Когда».

Под катом – рассказ о том, что из этого получилось.

image
Читать полностью »

В этой статье предлагаются правила для двумерного клеточного автомата, который, с одной стороны очень похож на игру Жизнь Джона Конвея (Conway’s Game of Life), а с другой — обладает существенными отличиями. Прежде всего, его отличает увеличенное до трех количество состояний клеток, повышенная способность к самоорганизации, неограниченное время активной эволюции и неограниченное количество движущихся конфигураций.

Для стабильных конфигураций новые правила совпадают с правилами игры Жизнь, поэтому все стабильные конфигурации в игре Жизнь существуют и в новых правилах. В описываемом клеточном автомате существует большой класс движущихся конфигураций, космических кораблей. Все эти конфигурации перемещаются по одному и тому же поступательному механизму, который напоминает движение и шагового экскаватора и человека на костылях. Подобные космические корабли я назвал степпер (stepper), а само правило Steppers. Так его и будем называть в дальнейшем.

В Steppers существует довольно много осцилляторов, причем, некоторые осцилляторы из игры Жизнь работают и в Steppers, что говорит о преемственности правил. И, наконец, знаменитый глайдер Конвея, так же существует в предлагаемых правилах. В статье будет рассмотрена динамика случайным образом заполненных решеток, раскрыт механизм движения степперов, описаны найденные на данный момент осцилляторы и степперы. Так же будут приведены примеры столкновений и сложного функционального поведения.

_r00.png
[00] Пример движущейся конфигурации, генерирующей поток степперов
Читать полностью »

image

Работая над очередным игровым (обучающим) проектом ПЛИС для платы Марсоход2 я столкнулся с тем, что мне явно не хватает места в кристалле. Кажется и проект не очень сложный, но моя реализация такова, что требует много логики. В принципе, это ерунда, дело-то житейское. Ну, если очень будет нужно, то можно выбрать ПЛИС с большей емкостью. Собственно мой проект — это игра «Жизнь», но реализованная в ПЛИС на языке Verilog HDL.

Про логику игры, рассказывать не буду, про нее и так написано уже достаточно.

Идея проекта вот такая: каждая клетка в игровом поле представляет собой самостоятельный вычислитель. В каждом вычислителе есть своя логическая функция и свой регистр, который хранит текущее состояние клетки (живая/не живая). Все пространство для жизни клеток — это двумерный массив вычислителей, вычислители образуют целую сеть. Все вычислители работают синхронно, так как на все регистры подается единая тактовая частота. Рисунок вверху должен прояснить схему проекта.

Так вот. На моей плате стоит ПЛИС Cyclone III EP3C10E144C8 компании Альтера. 10тыс логических элементов. Сперва я думал, что смогу сделать двумерный массив клеток 128x64=8192 клетки. Не помещается. 64x64=4096 — то же не помещается в кристалл. Как же так. Я сумел вместить в ПЛИС только 32x16=512 клеток. Пичалька…

Размышления приводят меня к мысли, что возможно, в будущем, технология ПЛИС перерастет в нечто большее, чем программируемая логика. Вот об этом своем видении я хотел бы рассказать. Искушенному читателю сразу скажу, что многое далее написанное есть просто плод воображения и может быть даже бред.
Однако..Читать полностью »

image Тема игры «Жизнь», не раз поднималась на хабре. Описывались различные модификации игры, я хочу представить еще одну. Модификация игры довольно тривиальна, но дает больше возможности в наблюдении, чем оригинал.

В классических правилах придуманных Джоном Конвеем, каждая клетка игрового поля, может быть только в двух состояниях: либо клетка пуста, либо заполнена фишкой.
Подобно эволюции в природе, где развитие шло от одноклеточных к многоклеточным, логично представить развитие игры «Жизнь», где в клетке может находиться больше одной фишки.
Читать полностью »

В продолжение 30-ти строчного мема, выкладываю реализацию известной игры Жизнь на LiveScript (язык, транслируемый в Javascript).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js