Немного изменив игру для нейросети, например, добавил переменные расстояния от птицы до трубы. Их 3 по 3, так как нам нужно знать высоту каждой трубы(y) и расстояние по х, а на экране не было больше трех пар труб, поэтому и три по три(всего девять). Также после столкновения функция перезапускалась и третьим параметром, который назван rep функции передавалось какой это перезапуск, если он был равен трем, то игра возвращала фитнес функцию в Genetic Algorithm, а если нулю, то мы присуждаем переменной time значение 0. Также я не писал две очень похожие друг на друга функции, а просто проверял, если переменная checkNN равна True, то нужно обновить экран.
а можно в 3 х словах описать?
генетический алгоритм обучает нейросеть - а это действительно эффективно? Ведь нейросети как раз и нужны чтоб обучали себя сами , а иначе зачем они нужны тогда.
Генетические алгоритмы обычно проигрывают нейросетям, тк у них все основано на рандоме, к тому же надо вручную выбирать все эти фитнес функции и тд
Нейросети это попытка создать что-то обучаемое, подобие человеческого мозга, чтобы могла думать. Ее надо учить. Есть три варианта: алгоритм обратного распространения ошибки(когда знаешь, что на получится выходе, вообще всё). Генетический алгоритм(знаешь только размер, здесь известно , какой результат должен выдавать выходной нейрон при всех разных данных?) и NEAT(вообще ничего не знаешь(даже размер) :). Нейросети другую нейросеть самостоятельно не обучают