Світ ботів і генетичний алгоритм
Приблизно пів року назад набрів на відео про те, як людина зробила штучний інтелект. І це відео повністю перевернуло моє розуміння того, чого можна домогтися за допомогою ІІ.
І ось я прихворів і вирішив зробити щось схоже. Отже, я теж зробив маленьких синіх ботів, які будуть самостійно виживати в світі. Боти мають мозок - микропрограмму, яка є геномом бота, яка буде створюватися і розвиватися сама. Мозок - 64 комірки пам'яті (чисел). Кожне число - команда.
команди:
- ходити,
- повернутися
- схаватіть їжу або перетворити отруту в їжу,
- подивитися що в сусідній комірці,
- безумовний перехід
- додав далекий зір (посмоотреть на осередок далі сусідніх)
На початку все йчейкі заповнюються випадковими числами, потім боти збожеволіють в світ, де вони можуть за хід виконати 1 команду ходу і до інших 10 команд.
Якщо бот потрапив на їжу, йому додається 10 здоров'я, якщо на отруту - він помирає. Кожен хід бот втрачає 1 здоров'я. Коли здоров'я доходить до 0, бот вмирає.
Після кожної симуляції життя світу нове покоління складають тільки кращі боти з попередньої симуляції і плюс додаються мутації (випадкової зміна декількох осередків пам'яті на випадкові числа).
В результаті боти починають еволюціонувати і з кожним поколінням боти стають розумнішими.
Якщо пройти кілька поколінь (кілька тисяч), то боти вже цілком можуть жити. Для швидкої симуляції великої кількості поколінь - натиснути на кнопку Fast by Generations. Потім можна повернутися на Slow by Step.
В цілому ідея злизана з цього відео і трохи розвинена. Код написаний на TypeScript / JS і викладений на GitHub.
Посилання на демо: SamProfAI Demo