Світ ботів і генетичний алгоритм

Приблизно пів року назад набрів на відео про те, як людина зробила штучний інтелект

Приблизно пів року назад набрів на відео про те, як людина зробила штучний інтелект. І це відео повністю перевернуло моє розуміння того, чого можна домогтися за допомогою ІІ.

І ось я прихворів і вирішив зробити щось схоже. Отже, я теж зробив маленьких синіх ботів, які будуть самостійно виживати в світі. Боти мають мозок - микропрограмму, яка є геномом бота, яка буде створюватися і розвиватися сама. Мозок - 64 комірки пам'яті (чисел). Кожне число - команда.

команди:

  • ходити,
  • повернутися
  • схаватіть їжу або перетворити отруту в їжу,
  • подивитися що в сусідній комірці,
  • безумовний перехід
  • додав далекий зір (посмоотреть на осередок далі сусідніх)

На початку все йчейкі заповнюються випадковими числами, потім боти збожеволіють в світ, де вони можуть за хід виконати 1 команду ходу і до інших 10 команд.

Якщо бот потрапив на їжу, йому додається 10 здоров'я, якщо на отруту - він помирає. Кожен хід бот втрачає 1 здоров'я. Коли здоров'я доходить до 0, бот вмирає.

Після кожної симуляції життя світу нове покоління складають тільки кращі боти з попередньої симуляції і плюс додаються мутації (випадкової зміна декількох осередків пам'яті на випадкові числа).

В результаті боти починають еволюціонувати і з кожним поколінням боти стають розумнішими.

Якщо пройти кілька поколінь (кілька тисяч), то боти вже цілком можуть жити. Для швидкої симуляції великої кількості поколінь - натиснути на кнопку Fast by Generations. Потім можна повернутися на Slow by Step.

В цілому ідея злизана з цього відео і трохи розвинена. Код написаний на TypeScript / JS і викладений на GitHub.

Посилання на демо: SamProfAI Demo