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


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


image


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


Предлагается вариант, при котором горизонтали прямоугольного поля конечного размера замкнуты в цилиндр, а вертикали попарно соединены с шагом в половину размера поля по горизонтали. Таким образом можно получить легкий для расчетов аналог сферы.


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


Предложение 2. Для организмов предлагается добавление уровней сложности, возможностей объединения, генетической модификации и обучения. Каждому организму назначается до 10-ти уровней сложности, каждый уровень представлен как в материальной, так и в абстрактной области.


Уровень сложности в материальной области влияет на максимальную скорость (количество клеток, на которые организм передвигается в одном направлении за один ход). Таким образом, организмы с первым уровнем сложности (индекс массива 0) неподвижны. Целостный организм передвигается целиком.


Уровень сложности в абстрактной области влияет на количество обозреваемых по прямой соседних клеток. Предлагается удвоенный по сравнению с возможностью перемещения радиус обзора: для первого уровня — 1, для второго уровня — 3 и т.д. Видимость определяется от самых крайних клеток организма.


Реализация подобных игр может быть интересна современным студентам, изучающим обработку больших данных и алгоритмы обучения. Собственного варианта реализации на данный момент нет.

Поделиться с друзьями
-->

Комментарии (32)


  1. Sirion
    26.11.2016 23:15
    +6

    Наконец-то кто-то придумал модификацию игры «Жизнь». Респект таким людям!


    1. palexisru
      26.11.2016 23:17
      -4

      Спасибо! Совпали хорошая книга и отпуск :)


      1. AllexIn
        27.11.2016 12:24
        +7

        Я уверен, что это был сарказм.


        1. palexisru
          27.11.2016 12:53
          -3

          А презентацию книги The Master Algorithm просмотреть рекомендую. Добавил в конец статьи.


    1. den_po
      27.11.2016 21:05

      Но ведь есть действительно интересные модификации



      1. Sirion
        28.11.2016 09:58

        Мне нравится вариация Day and Night.


  1. VaalKIA
    26.11.2016 23:23
    +8

    Вообще-то игра Жизнь, настолько элементарна, что её можно даже в тетрадке, в клетку прорисовать. Соответственно когда заходит о ней речь, на ресурсах, связанных с программированием, да ещё и в ключе «смотрите что я придумал», то где картинки поколений разжигающие интерес? Сложность правил, как показывает игра Жизнь, не гарантирует этой самой жизни — вырождение или механические мигалки тому подтверждение. Статья больше похожа на: «мне лень самому или не умею, сделайте мне посмотреть как это будет».
    П.С. про Верховой алгоритм ничего не понял.


    1. palexisru
      26.11.2016 23:38
      -1

      извиняюсь, ответил ниже — промахнулся веткой


    1. ScratchBoom
      27.11.2016 00:04
      +9

      Посмотрите какую неимоверную дичь этот пользователь пишет в других своих постах и сразу всё поймёте.


  1. palexisru
    26.11.2016 23:37
    -8

    Верховный алгоритм (The Master Algorithm) — соединение эволюционного, логического, математического, Байесовского, имитационного подходов. Сделать даже простейшие качественные реализации этих видов алгоритмов на данный момент времени и знаний не хватает, но игру Конвея испробовали во многих модификациях.
    Думаю, будет не справедливо к сообществу, если все будут ждать, когда у меня дойдут руки.

    Да и принцип разделения труда — общество выигрывает, если каждый занимается тем, что у него получается лучше всего.


  1. begemot_sun
    26.11.2016 23:48
    +5

    вся соль жизни в том, что имея простые правила, можно добиться впечатляющих результатов.

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


    1. palexisru
      26.11.2016 23:55
      -2

      Предполагается, что для каждого уровня сложности будут отбираться наиболее эффективные на этом уровне виды обучения. Именно выигрывающие виды обучения и будут исследоваться.


      1. begemot_sun
        27.11.2016 19:52
        +1

        Это называется генетический алгоритм, но никак не игра Жизнь.
        Жизнь может быть только одна — с простыми правила.


        1. palexisru
          27.11.2016 20:15
          -1

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


  1. ScratchBoom
    26.11.2016 23:59
    +19

    Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы… И эльфу раз лесные то сделать так что там густой лес… А движок можно поставить так что вдали деревья картинкой, когда подходиш они преобразовываются в 3-хмерные деревья[1]. Можно покупать и т.п. возможности как в Daggerfall. И враги 3-хмерные тоже, и труп тоже 3д. Можно прыгать и т.п. Если играть за охрану дворца то надо слушаться командира, и защищать дворец от злого (имя я не придумал) и шпионов, партизанов эльфов, и ходит на набеги на когото из этих (эльфов, злого...). Ну а если за злого… то значит шпионы или партизаны эльфов иногда нападают, пользователь сам себе командир может делать что сам захочет прикажет своим войскам с ним самим напасть на дворец и пойдет в атаку. Всего в игре 4 зоны. Т.е. карта и на ней есть 4 зоны, 1 — зона людей (нейтрал), 2- зона императора (где дворец), 3-зона эльфов, 4 — зона злого… (в горах, там есть старый форт...)
    Так же чтобы в игре могли не только убить но и отрубить руку и если пользователя не вылечат то он умрет, так же выколоть глаз но пользователь может не умереть а просто пол экрана не видеть, или достать или купить протез, если ногу тоже либо умреш либо будеш ползать либо на коляске котаться, или самое хорошее… поставить протез. Сохранятся можно…
    P.S. Я джва года хочу такую игру.


    1. palexisru
      27.11.2016 09:03
      -3

      4 — зона злого… (в горах, там есть старый форт...)
      старый форт, похоже, некоторым особенно интересен :)


  1. longclaps
    27.11.2016 00:04
    +2

    Где-то когда-то читал анекдот про изобретателя утюга на жидком топливе.
    И вот опять.


  1. dom1n1k
    27.11.2016 02:47
    +1

    Впервые узнал об игре Жизнь из ещё бумажной «Компьютерры». Уж не помню, сколько это лет прошло, но немало.
    И на бумаге порисовал, и программно свою реализацию писал. Очень быстро перегорел.
    Игра очень переоценена, сейчас уже не понимаю, почему о ней часто пишут с придыханием.
    Затея на пару-тройку вечеров, найти несколько устойчивых комбинаций — и забросить.


    1. palexisru
      27.11.2016 08:38
      -2

      с Декартом в аватарке можно увидеть картезианский дуализм в предлагаемых изменениях :)


  1. michael_vostrikov
    27.11.2016 11:09
    +2

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

    Вы, простите, правила-то читали? Ухудшенные условия это как — «немного живой», «более чем мертвой», или «почти трое соседей»?
    Если бы вы скачали исходники какой-нибудь реализации и поигрались, то вы бы заметили, что при любом изменении констант быстро происходит либо либо статичное зацикливание, либо перенаселенность, либо вымирание. Таких красивых бегающих картинок, как при стандартных параметрах, получить не получится.

    Это просто интересный клеточный автомат, не более того. Не стоит пытаться сделать из него RPG.


    1. palexisru
      27.11.2016 11:55
      -4

      вариант ухудшения условий — наличие 2-х заполненных клеток по соседству для зарождения и 1-й-2-х для жизни (генетические значения берутся от 2-х соседних клеток, например, по их похожести в материальной сложности, и непохожести в абстрактной сложности).
      при выходе из комфортной части потребуется использование встроенных мозгов для выживания и размножения

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


      1. michael_vostrikov
        27.11.2016 16:42

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


        1. palexisru
          27.11.2016 18:27
          -1

          увеличивается чувствительность к тесноте, так что перенаселенность под вопросом


          1. michael_vostrikov
            27.11.2016 18:49

            А вы возьмите и проверьте)


            1. palexisru
              27.11.2016 19:44
              -2

              Да, много еще идей проверить надо. По молодости легче перебирались :)


      1. lair
        27.11.2016 16:42
        -1

        Но никто же не говорит, что сокобан или реверси — модифицированная версия игры "Жизнь"? Вот и в вашем случае то же самое.


        1. palexisru
          27.11.2016 19:51
          -2

          Есть шашки международные, есть русские
          Будем считать, что это русская жизнь :)


  1. S_A
    27.11.2016 15:39
    +2

    Рекомендую ознакомиться с книгой "программирование искуственного интеллекта в приложениях". Кажется 13-го она года. Так вот, там есть глава про моделирование стратегий «жертва-хищник» (моделирование пищевых цепочек), где каждая особь имеет свою нейросеточку, и есть и клетки, и ресурсы на них. Там есть код. И помимо этого там вообще много чего интересного.


  1. Bhudh
    27.11.2016 15:57
    +1

    Я просто оставлю это здесь: https://habrahabr.ru/post/241776


  1. jaiprakash
    29.11.2016 16:16

    А я оставлю это, с вашего позволения.
    Вбивайте свой алгоритм и получайте результат.


    1. palexisru
      29.11.2016 21:43
      -1

      Спасибо всем за дополнения. Да, за современными студентами угнаться будет трудно. Приятно посмотреть, какие инструменты сделало наше поколение ;)


      1. palexisru
        01.12.2016 05:45
        -1

        Вот на работе им придется иметь дело со стандартными инструментами. Или потихоньку развивать стартап.