Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2012, 07:43   #1
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию Игра Жизнь

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

Что скажите господа, бредовая идея или стоит попробовать?
Еще хотелось бы сделать имитацию слуха, чтоб живность могла общаться друг с другом, но никак не могу сообразить как бы это реализовать. Сложность в том что животных много и "говорить они могут одновременно, и нужно как то все это передать на один или группу нейронов каждого животного.
gusluk вне форума Ответить с цитированием
Старый 03.05.2012, 08:35   #2
Warn
Форумчанин
 
Аватар для Warn
 
Регистрация: 03.11.2011
Сообщений: 230
По умолчанию

Цитата:
Что скажите господа, бредовая идея или стоит попробовать?
В рамках экспериментального геймплея нет, не бредовая) хотя куда там его включить тоже вопрос) по-моему такого рода (игры) имитации давно в сети есть, где красные квадратики пожирают зелененьких) Помню, была такая игра - Evolva там тоже что-то генетически наследовалось и странные существа бегали
Warn вне форума Ответить с цитированием
Старый 03.05.2012, 08:44   #3
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию

Да подобных игр куча. Если с квадратиками, то скорее всего это клеточные автоматы, хотя есть и что то подобное тому что предложил я. Но на НС подобного ничего не видел.
По поводу геймплея вопрос хороший, по идее тут у игрока только возможность влиять на условия игрового мира да на жизнь конкретных животных, типа захотел пристрелил, захотел покормил, что то еще придумать сложно.
gusluk вне форума Ответить с цитированием
Старый 03.05.2012, 09:45   #4
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Цитата:
что то еще придумать сложно
Божественным образом создал пару увядающей без любви зверушке
А вообще было бы интересно посмотреть. В сети то оно может и есть, но когда сам реализуешь что-то подобное - уже другой разговор. По сему желаю удачи )
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 15.05.2012, 07:27   #5
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию

Наконец то появилось не много свободного времени чтоб начать проект.
Вчера набросал первый экспериментальный вариант игры. Это очень упрощенный мир в котором существуют три вида существ два "травоядных" один "хищный", у всех существ НС состоит из 300 нейронов. Зеленым обозначается травка которую можно кушать, черным - препятствия за выход на которые отнимается какое то количество жизни существа. Задача данного варианта игры в том чтобы проверить работоспособность некоторых алгоритмов и идеи вообще. Т.е. будут ли существа хоть как то приспосабливаться, или же так и будут хаотично ползать пока все не сдохнут. Если все же развиваться будут, то насколько быстро это будет происходить. Какой баланс еда/жизни/территория наиболее устойчив. ну и так далее. Поскольку это тестовый вариант, алгоритмы не оптимизированы, могут встречаться ошибки, так что сильно не пинайте. Еще к тому же кривой вывод графики, потому тормозит, полная загрузка проца эт нормально, так и должно быть.

Если кто захочет потестить:
кнопки Start/Stop запускают/останавливают "жизнь".
сохраняются/загружаются только отмеченные существа
кнопки An.1, An.2, An.3 генерируют соответствующее существо
border - рисует рамку ограничивающую передвижения по миру
кнопочки с черным, зеленым, и белым квадратиками позволяют нарисовать квадратик с препятствием, травкой, или пустой.
Вложения
Тип файла: rar test.rar (188.7 Кб, 46 просмотров)
gusluk вне форума Ответить с цитированием
Старый 15.05.2012, 08:51   #6
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

У меня все дохнут. Хищники наплевали на травоядных и просто ходят мимо, травоядные ходят мимо травы. В результате все мрут с голоду. Если рядом с толпой поставить черную точку, то вся толпа начинает об нее тереться до смерти.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 15.05.2012, 09:10   #7
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию

Чтоб все сразу не сдохли я запускаю пргу, тыкаю старт, и жду пока поле не заполнится зеленым хотяб процентов на 20, затем уже создаю животных.
Забыл написать в предыдущем посте, что если убрать галку с out graph графика выводиться не будет и это увеличит скорость игры.
gusluk вне форума Ответить с цитированием
Старый 15.05.2012, 13:08   #8
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Не, ну какая то эволюция у них конечно есть. Но это в никуда эволюция.
Изначально базовые зверюшки просто по кругу бегают. Пока не скушают всё вокруг и не вымрут. Но среди них иногда появляются, те кто выходит за рамки этой беготни по кругу. Вот они по всей видимости и есть следующий этап эволюции, но так как они убегают далеко от "базы", то именно они и не размножаются. Т.е. как раз те, кто мог бы как то передать свой "жизненный" опыт в размножении и не участвуют. Либо я как то механизм размножения неправильно понял.
С хищниками всё сложнее. Хищник изначально должен быть гораздо умнее травоядного. Способ питания хищника впринципе не может быть случайным и/или пассивным. Хищник изначально активно целеноправленно добывает пищу (охотится). Он не может просто пастись на лужке, он должен выследить, догнать и победить свою "пищу". А тут им даже среда мешает это сделать. Они мало того что медленнее травоядных, так ещё и за кусты постоянно цепляются.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 15.05.2012, 13:44   #9
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Ознакомьтесь, http://forum.codeby.net/topic38541.html там и исходники есть (с лазаруса думаю переведёте на д7), мб поможет улучшить.
phomm вне форума Ответить с цитированием
Старый 15.05.2012, 14:38   #10
gusluk
Форумчанин
 
Аватар для gusluk
 
Регистрация: 16.10.2008
Сообщений: 205
По умолчанию

phomm, спасибо, посмотрю на досуге.
Ulex, зверушки могут размножаться как "половым путем" т.е. участвуют двое, так и "бесполым" участвует только один. Половой предпочтительней для зверушек, т.к. тратится меньше "жизненной силы", но в начальных условиях добиться этого сложно, поэтому и был сделан бесполый. При нем у зверушки тратятся почти все ресурсы, но в начальных условиях он гораздо проще, т.к. для него нужно всего лишь дожить до определенного возраста, и набрать определенный вес (съесть какое то количество пищи).
gusluk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра жизнь Fi11eR Общие вопросы C/C++ 8 22.05.2014 16:52
Клеточный автомат (Игра Жизнь) в Delphi nitroes Фриланс 4 12.03.2012 13:11
Возможна ли жизнь с девушкой, будущей женой без детей всю жизнь? + Ипотечная тема :) Kasper1 Свободное общение 68 11.01.2012 00:54
Игра Жизнь VovanZ Софт 14 02.02.2010 16:46