Генетический алгоритм - развить только один объект - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть класс AI, и мы должны делать проекты.Я выбрал генетический алгоритм, и, поскольку я новичок в этой концепции, у меня есть пара вопросов.Я исследовал и понял идею и без проблем следил за видео Coding Train по простому генетическому алгоритму.Однако я видел несколько видео на YouTube, где автомобили развиваются, и я не понимаю, как у них население, скажем, 20, если на экране отображается только одна машина.Я хочу попробовать создать игру, похожую на понг (я буду использовать базовый физический движок), где игрок A - это компьютер, который всегда следует координате Y шара, поэтому не может проиграть, а игрок B должен развиваться с использованием генетического алгоритма.Как бы я развивал Игрока Б каждый раз, когда он проигрывал?Какими были бы хромосомы?Каким будет население?Если вы можете дать мне какой-либо совет, я был бы очень благодарен

1 Ответ

0 голосов
/ 11 декабря 2018

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

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

...