ну короче примерный план работы

Значит, у меня будет мини-локация с травой, водоёмом и источниками еды. Именно в ней будут жить динозаврики.

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

В потребностях у динозавриков будут только еда, которая даёт им энергию. При понижении энергии у динозавриков сначала будут начинаться отрицательные эффекты, а потом и вовсе наступит смерть. Если же энергии у них достаточно - они вольны заниматься всем, чем захотят (об этом ниже).

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

В качестве входов у нейросети будут:

  • Минимальная дальность до основных объектов локации: земля, вода, еда, другие динозаврики, стены
  • Индекс счастья
  • Энергия
  • Множители любимых дел

В качестве выходов:

  • Сила желания движения к каждому из основных объектов
  • Попытки взаимодействия (например, попытаться поесть, если вблизи есть еда)

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

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

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

Вот такие планы я себе построил. Блять. Опять ведь подапридумываю на 100 лет вперёд, а сил хватит только на пару дней. Этому проекту лучше бы начать окупаться по эмоциям уже завтра, а иначе ещё плюс один брошенный проект-призрак, преследующий меня в кошмарах.

2727
30 комментариев

добавь динозавриков @Xtnshyflwfnsq и @k0f0ku или не считается.

8
Ответить

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

4
Ответить

а гладить динозавров можно будет?

5
Ответить

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

6
Ответить

И будет ли динозавр с 500 зубами ?

4
Ответить
7
Ответить

Они все будут иметь один и тот же спрайт, максимум отличаться цветом кожи

5
Ответить