Лекция
Сразу хочу сказать, что здесь никакой воды про генетический алгоритм, и только нужная информация. Для того чтобы лучше понимать что такое генетический алгоритм , настоятельно рекомендую прочитать все из категории Реализация генетических алгоритмов.
генетический алгоритм Прыжки Кошки
Генетический алгоритм Прыжки Кошки (Cat Jumping algorithm) - это алгоритм оптимизации, вдохновленный способностью кошек ловко и эффективно прыгать на различные высоты и расстояния.
Алгоритм основан на имитации движений кошки при прыжках на разные расстояния и высоты. Он использует популяцию "кошек", каждая из которых представляет собой решение задачи оптимизации. В процессе эволюции, популяция проходит через генетические операторы, такие как скрещивание и мутация, чтобы получить новые "кошки" с более высокими значениями целевой функции.
В начале работы алгоритма, случайным образом генерируется популяция "кошек". Затем каждая "кошка" оценивается по целевой функции, и выбираются наилучшие решения. На основе выбранных решений выполняются генетические операторы для генерации новых "кошек". Процесс повторяется до тех пор, пока не будет достигнуто заданное условие остановки.
Алгоритм Прыжки Кошки может применяться для различных задач оптимизации, таких как оптимизация весов нейронной сети, поиск наилучшего пути в маршрутных сетях, оптимизация параметров управления в робототехнике и многие другие.
Основным преимуществом генетического алгоритма Прыжки Кошки является его способность находить глобально-оптимальное решение в сложных и многомерных задачах оптимизации. Об этом говорит сайт https://intellect.icu . Кроме того, этот алгоритм не требует знания градиента целевой функции, что делает его применимым в широком спектре задач оптимизации.
Простой генетический алгоритм случайным образом генерирует начальную популяцию. Работа генетический алгоритма представляет собой итерационный процесс, который продолжается до тех пор, пока не выполнятся заданное число поколений или какой-либо иной критерий остановки. На каждом поколении генетический алгоритма реализуется отбор пропорционально приспособленности, одноточечный кроссинговер и мутация. Сначала, пропорциональный отбор назначает каждой структуре вероятность Ps(i) равную отношению ее приспособленности к суммарной приспособленности популяции:
Затем происходит отбор (с замещением) всех n особей для дальнейшей генетической обработки, согласно величине Ps(i). Простейший пропорциональный отбор - рулетка - отбирает особей с помощью n"запусков" рулетки. Колесо рулетки содержит по одному сектору для каждого члена популяции. Размер i-ого сектора пропорционален соответствующей величине Ps(i). При таком отборе члены популяции с более высокой приспособленностью с большей вероятность будут чаще выбираться, чем особи с низкой приспособленностью.
После отбора, n выбранных особей подвергаются кроссинговеру (иногда называемому рекомбинацией) с заданной вероятностью Pc.
n строк случайным образом разбиваются на n/2 пары. Для каждой пары с вероятность Pc может применяться кроссинговер. Соответственно с вероятностью 1-Pc кроссинговер не происходит и неизмененные особи переходят на стадию мутации. Если кроссинговер происходит, полученные потомки заменяют собой родителей и переходят к мутации.
Одноточечный кроссинговер работает следующим образом. Сначала, случайным образом выбирается одна из l-1 точек разрыва. (Точка разрыва - участок между соседними битами в строке.) Обе родительские структуры разрываются на два сегмента по этой точке. Затем, соответствующие сегменты различных родителей склеиваются и получаются два генотипа потомков.
После того, как закончится стадия кроссинговера, выполняются операторы мутации. В каждой строке, которая подвергается мутации, каждый бит с вероятностью Pm изменяется на противоположный. Популяция, полученная после мутации записывает поверх старой и этим цикл одного поколения завершается. Последующие поколения обрабатываются таким же образом: отбор, кроссинговер и мутация.
Статью про генетический алгоритм я написал специально для тебя. Если ты хотел бы внести свой вклад в развитие теории и практики, ты можешь написать коммент или статью отправив на мою почту в разделе контакты. Этим ты поможешь другим читателям, ведь ты хочешь это сделать? Надеюсь, что теперь ты понял что такое генетический алгоритм и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Реализация генетических алгоритмов
Из статьи мы узнали кратко, но содержательно про генетический алгоритм
Комментарии
Оставить комментарий
Реализация генетических алгоритмов
Термины: Реализация генетических алгоритмов