Pull to refresh

Comments 109

Пошел играться.

Кстати, любые выпуклые многоугольники и кружочки, как я понимаю, живут вечно?
А вот скажем заполненный квадрат (3*3 и больше) сразу «выгорает», кроме угловых точек — которые, впрочем, потом тоже умирают от одиночества.

Спасибо за статью, очень интересно!
И чо, кто-то не знает о таких боянах?
Ну, судя по предыдущему комментарию — кто-то не знает. Да и на хабре я статьи об этом не нашел.
Плохо искали, точно была статья, девушка писала про написание игры для Android и в качестве примера как раз была игра «жизнь».
Выросло новое поколение, более привычное к другим игрушкам. Помню как мы с братом Лайф без компа гоняли взяв в качестве доски кучу шашек и клетчатое одеяло.
А правила и условия победы? С учетом некомпьтерности?
Да нет, не против друг-друга, а совместно, чтоб побыстрее обновлять доску. 8-)

Компьютера у нас тогда еще не было.
Помню, на компьютере играл в игрушку, напомниающую классическую Жизнь
Есть поле в клеточку, у каждого игрока свой цвет, есть какие-то начальные зарисованные клетки. А потом по очереди делается ход игроком и происходит «ход» жизни клеток. При этом учитываются все возможных цвета клеток. Условия выживания можно придумать :) Ну и цель, остаться в живых, победив противников.
Думаю, что до написания своего варианта эмулятора Life, рано или поздно доходят многие программисты.
Сам через это прошёл лет 10 назад. Сначала был классический Life с двумя состояниями клеток, затем классический замкнутый, а потом, начитавшись Паутины, захотелось полноцвета… Вот тут и ушло в трубу ...-надцать недель)))
UFO just landed and posted this here
Там же экран маленький.
UFO just landed and posted this here
где то читал что по этой игре даже чемпионаты мира проводят, русские пару лет назад первое место взяли, источник не могу найти
Хм, интересно, какие там условия? Создать самую долгоживующую динамическую модель?
Под динамической я имел в виду не циклическую, а постоянно развивающуюся.
блин, пробелы съело

   Х Х
Х Х 
   Х 
Я когда-то читал, что соревнуются в скорости обработки. В былые времена на 32х битных процессорах был рекорд, кажется, 4.5 клетки за такт процессора за счет обработки элементов группами. На 16ти битных — меньше.
Не слышал про чемпионаты. Есть интернациональное сообщество математиков, которые занимаются изучением Жизни, в нем участвует несколько русских. Но они занимаются поиском новых форм и конструированием сложных клеточных автоматов, вроде элементарного компьютера на «языке» жизни. Не знаю, насколько там все продвинулось, но элементы памяти и некоторые другие механизмы уже пару лет назад были разработаны.
Глайдер в таких машинах является битом. Или электроном. Вообще глайдер самая быстро движущаяся структура. Сейчас точно не помню, но кажется скорость движения глайдера условно считается скоростью света, как самой большой достижимой скоростью.
Если быть точнее, то скорось глайдера равна 0.5 максимальной скорости перемещения (1 клетка за 1 ход).
А если еще точнее, то с/4 :)
Ну не суть важно, я уже не помню терминологии. Можно было бы взять c=1 клетка\ход, а можно и c=0,5 клетка\ход (все равно быстрее ничего нет). Нет смысла брать за скорость света ту скорость с которой ни один объект не способен двигаться.

Кстати, вот что гугл мне сказал по секрету: «Весьма примечательно, что сам Конвэй формально назвал скорость глайдера скоростью света»
Хотя у гугла много мнений, а правильного я уже и не помню.
UFO just landed and posted this here
UFO just landed and posted this here
Увидел картинку с ружьем, — подумал, что на упячку попал =\
UFO just landed and posted this here
кстати хорошее задание для студентов — ключевой момент такую ( лабу а может курсовую ) будет интересно выполнять, и приятно потом поглядеть =)
у нас на матфаке на 1 курсе такая лаба
да, у нас была в универе задача — реализовать эту игру с использованием java.util.concurrent. каждая клетка работала в своем потоке, а мы изучали барьеры для потоков и прочие интересные штуки.
Может это надо было в «антиквариат»? :)
Интересно, сколько человек, из тут присутствующих, собственноручно писали Life?
Ну вот, блин. Думал что-то новое рассказал или хотя бы хорошо забытое старое, а оказалось мало того, что старое, так еще и отлично сохранившееся в памяти )))
Остается загадкой, почему на хабре про это до сих пор не написали? Всё-таки это же не столь очевидные вещи, как, скажем, таблица умножения…
UFO just landed and posted this here
Мда. Так вот пишешь и не знаешь, известная это тема или нет. Прошлый пост писал об indie-играх, которые у меня на компе уж три года валяются. Тоже та еще древность. Ан нет — оказалась очень популярная тема. А тут вот не угадал, видимо.
Сравнили игры 3хлетней давности и 30тилетней :)
Ну хоть кто-то не знает. Статья интересная, и я кое-что новое узнал.
Мне вот только интересно, почему «жизнь» называется игра? Тут процесс наблюдения сплошной. Примерно как костёр игрой называть.
Потому что изначально предлагалось фишки на доске двигать. Ну не работой же это называть?
Это игра — типа игры в куклы, а не соревнования.
Писал лет 20 назад на «Специалисте», это был такой компьютер на 580-ом процессоре. Писал даже не на ассемблере а машинными кодами.
а я в 1990-м для IBM XT писал, на Паскале…
скорее всего большинство. и на всех языках и платформах. например, не так давно здесь проскакивала статья описывающая создание Жизни для Android'a
Ага. Я диплом когда-то бакалаврский писал по этой игре. С распределенными вычислениями больших полей на кластерах и совместным редактированием рабочей области несколькими удаленными клиентами. Игра прикольная, но только как упражнение для мозгов. За пару недель надоедает смертельно — как люди ее годами изучают, я не понимаю.
статья классная ) но она требует продолжения — не слова ни сказано о применении клеточных автоматов в моделировании физических, биологических и социальных систем
Интересно, а кто-нибудь пытался эту игру применять к построению P2P-сетей?
Как это? Ждем статьи от вас
к сожалению, не дождетесь — я заминусован :(
Так это легко исправить :)
Все же было бы интересно увидеть такую статью )
UFO just landed and posted this here
Офигеть, интересно, сколько еще общеизвестных топиков не были освещены на Хабрахабре.
А я пошёл дальше — реализовал «жизнь» в железе на микроконтроллере :)
Вечером выложу фотки, если не забуду.
UFO just landed and posted this here
Май факин шит… *вспоминая эксперименты в 8 классе над к155ид1*
UFO just landed and posted this here
*продолжая ностальгические ози и ахи*
На ТТЛ чипах уже лет 10-20 назад мало что делали, в осноном на КМОП все самоделки делались.
Вот в 10 классе на двух микросхемах 565 серии кажется (генератор + счётчик) придя после школы и заскучав, я за час собрал таймер-детонатор для «бомбы» и запихал это всё в спичечный коробок вместе с батареей. Лампочка с открытой нитью накаливания через 10 тактов поджигала зажигательную смесь (уже не помню какой состав). Короче, бомба успешно рванула раза три :) до сих пор валяется где-то.
UFO just landed and posted this here
КТ3102/КТ3107 :) фактически аналоги, тока в другом корпусе.
У меня получилась нация, которая не вымирает, со временем стабилизируется, и при этом запускает двух космонавтов в свободное плавание )
А вообще жутко затягивает, вспомнил детство, на работе включать нельзя!
в детстве помню подарили мне книгу (что то типо занимательной математики… не помню точно названия) где было рассказано про эту игру… с тех пор постоянно в свободное время (в школе) играл в неё…

у меня были целый тетрадки изрисованные непонятными ( для других людей) фигурками =)
Весьма занимательная «игра» — не знаю как правильно назвать.
Даже в качестве игры — это весьма занимательно и хорошо отнимает время :)
я на паскале это писал в школе, помню =)
правда не написал тогда.
я на паскале это писал в школе, помню =)
правда не написал тогда.
Похоже на немного расширенные правила игры Го
UFO just landed and posted this here
странно — по-моему через Жизнь прошли, наверное, все программисты :)
думал речь про Го пойдет, или ее аналог, названный среди школьников «Точки»

ксо, я — недопрограммист( впервые о чем то подобном слышу…
*«Жизнь» Конвея:
magic.ntl.nnov.ru/flash/Life/Life1.htm

предыдущая ссылка не работает.
Еще до того как прочитал заголовок поста, увидел картинку и вырвалось «о, это ж глайдер!» — и правда, оказался он :)
Эх было время. Еще на старенький 486 скачал эмулятор «жизни» и сотню расстановок и весь вечер открывал, запускал и наслаждался
Не поверите, долго рыскал по инету в поисках фотографии тетрадного листа для оформления. Потом решил что проще самому сфотографировать. Ну и глайдер нарисовал для тех кто в теме ))
Моя первая «большая» программа =)
Это ж мое задание на летнюю практику! )) Забавно получилось: решил отвлечься от кода, зайти на хабр, а тут снова — оно ))

Поделюсь тогда, пожалуй, ссылочками:

www.conwaylife.com/wiki/index.php?title=Main_Page — большая коллекция паттернов
entropymine.com/jason/life/ — еще паттерны: ружья, осцилляторы и т.д.

beluch.boom.ru/lifelex/lexr.htm — перевод словаря Жизни, полезно для ознакомления с терминами

written.ru/programs/life/ — еще один неплохой симулятор Жизни.
Жабы-убийцы против крученых Т-тетсонов II. Мой мозг )))
Стоит добавить, что «Жизнь» является тьюринг-полной, т.е. на ее основе можно реализовать любой алгоритм.
Вооще вот хороший эмулятор онлайн (java) www.conwaylife.com/
Его основной плюс — зум, управление скоростью и большой набор стандартных паттернов для загрузки
писали на курсе втором. В Mathematica. Писали-писали, получился жуткий огромный код. А как оказалось, смысл лабы был освоить одну из фишек. В итоге наваяли всё 3-4 строчками (+5 строк вывод красивой анимации).
Статья, хотья и боянистая, но хорошая, просто потому что описывает такую хорошую вещь как Life.
Можно было бы и побольше информации об игре собрать. С ходу вспомнилось пара моментов:
— Сам Конуэй «устойчивые фигуры» называл «любителями спокойной жизни».
— Была гипотеза (если не ошибаюсь выдвинутая самим Конуэем), что при бесконечном поле невозможно сделать конфигурацию из конечного числа живых клеток, которая бы бесконечно увеличивалась. Опровержением гипотезы стало то самое глайдерное ружье.
— Ничего не сказано про огромное количество интересных конфигураций — «большие глайдеры» (крейсеры и линкоры и необходимость их эскортирования меньшими глайдерами), «осцилографы», «бикфордовы шнуры», «паравозы».
— Ничего нет про «сады Эдема» — конфигурации у которых нет предков.
Мне кажется, что если писать про Life, то статья должна быть очень обширной (балго в инете материала тонны), всеобъемлющей, я бы сказал, фундаментальной. Чтоб даже давно знакомые с этой игрой люди, узнали что-то новое, а «новички» восхитились простотой и гениальностью, красотой и изяществом идеи.
Еще вспомнил про определение «скорости света» в Life — скорость передвижения шахматного короля — 1 клетка в ход. Никакой процесс в Life не может идти быстрее «скорости света». Например, скорость полета глайдера 0,25 «скорости света».
Изначально так и хотел всё это расписать, но потом подумал, что слишком большая получится и неудобно будет читать. Кому уж совсем интересно — я там привел ссылку в конце на другую статью. Там всё это и расписано подробно на 4х страницах.
Хотя, сейчас перечитал. Соглашусь с вами, что на самом интересном месте — описание фигур — она как бы обрывается.
Сделайте цикл статей. И хотя в свое время я много читал про Life, но гарантирую, что как минимум одного благодарного читателя вы получите.
Да и как-то не думал я, что столько людей про нее знают и мало того что знают — сами писали…
Да, очень многие программисты пишут свою версию Life, многим дают задание в школе и вузах. Я тоже писал, правда очень «уродскую» версию на ЭВМ «Агат» и сохранял на кассету.
Маленькая простая штука может уничтожить сложную стабильную структуру — и впрямь все как в жизни!
Давным-давно (лет 10 назад) написал программу (назвал CLife, это была моя первая программа на Visual Studio C++). Даже сделал сайт и выложил ее. Пароли от сайта давно потеряны. Но сайт не закрыли :)
Кому интересно: clife.chat.ru/
Сайт тоже мой самый первый, поэтому юзабилити «на уровне», поэтому поясню: скачать программу можно на странице Download, кликнув по картинке около «CLife v.2.3».
Ага, в таком маштабе поинтереснее наблюдать.
статья из серии «обратимся к истории». спасибо, вспомнил! )
кстати, т.н. «глайдер» когдато давно был символом хакеров, благодаря этой игре
Давно читал в книге, которую взял у отца про жизнь, потом в универе лабораторную писал.
UFO just landed and posted this here
В раннем студенчестве писал эмулятор «жизни» на winapi. Эх… Жаль, что не сохранилось ни исходников, ни самой программы.
Я этими штуками увлекался, когда в ADOM травку выращивал по таким правилам.
Эх, ностальгия…
Так вот какие баяны надо постить на хабре? А я-то думал тут новое должно быть…
Реализация для Drupal: drupal.org/project/conwayslife
Эхххх ))) старый-добрый Лайф)

Как бы то не было, но это одна из немногих «игрушек», которую я люблю))

Автор, спасибо за линк и мемори)
Вам спасибо, что прочитали ))
В универе на практике по лиспу такое изучали :)
я правильно понимаю, что в итоге такая система либо придет в состояние покоя либо уйдет в бесконечный цикл?
Думаю да, либо покой, либо цикл, либо двигающийся цикл
Поскольку на ней можно реализовать машину Тьюринга, то результатом может быть эмуляция любого детерминированного алгоритма
Sign up to leave a comment.

Articles