алгоритм geneti c - фитнес-функция - PullRequest
0 голосов
/ 27 января 2020

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

Функция пригодности дает своего рода оценку каждой мыши, чтобы оценить, как они работают. в пустой комнате расстояние от мыши до сыра было бы хорошим показателем оценки пригодности, потому что они могут «видеть» сыр и должны научиться там go. Но в комнате, заполненной коробками, что будет хорошей фитнес-функцией? расстояние предполагает, что они знают, в каком направлении go, потому что, если я даю оценку тем, кто сокращает расстояние, то в конечном итоге все мыши будут go в этом направлении ... Если я переместу сыр в другое место, они будет go сумасшедшим ... Просто расстояние, которое они продвинули, также не хорошо, потому что тот, кто движется по кругу, будет иметь высокий балл ...

Что было бы хорошей функцией пригодности для этой проблемы?

Ответы [ 2 ]

1 голос
/ 27 января 2020

Вы уверены, что не смешиваете генетические c алгоритмы с традиционными алгоритмами поиска пути? Оба имеют своего рода фитнес-функцию. В случае поиска пути часто называют heuristi c. Для этих алгоритмов «пригодность» должна быть предполагаемой для использования при выполнении алгоритма (или, скорее, для его ускорения).

Функция пригодности в реальных алгоритмах genti c является относительно точным, но это потому, что это обычно больше оценки. Например, вы выполняете симуляцию с текущими значениями и вычисляете, сколько времени потребовалось мышке, чтобы найти сыр. Это время или пройденное расстояние является обратной пригодностью (обратная, потому что большее число означает меньшее соответствие). Если приспособленность была лучше, чем в предыдущих запусках, вы можете использовать новые симуляции с немного отличающимися настройками (сгенерированными с помощью мутации, случайности и т. Д. c.) И каждый раз оценивать, что улучшает приспособленность, а что нет (-> Выживание приспособленный). Если физическая форма была хуже, откажитесь от этой ветки (или, возможно, держите ее только каждый раз, когда XX встречаете плохую ветку; «возможно, она на хорошем пути»).

0 голосов
/ 27 января 2020

Число шагов, необходимых для достижения сыра, возможно?

Обратите внимание, что ваша проблема классически решена с помощью алгоритма A * , который не является эволюционным. Он использует heuristi c, чтобы получить подсказку о том, насколько хорошая позиция.

Однако, фитнес-функция должна быть направлена ​​на оптимизацию вашего конечного результата, но вы не обязательно нужно иметь это «правильное» или «лучшее» значение перед рукой. Просто найдите то, что, как вы знаете, работает на основе «чем больше, тем лучше» или «чем меньше, тем лучше».

...