Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 3
Регистрация: 12.10.2012
Сообщений: 150
1

Генетические алгоритмы. Формирование хромосом из особей

18.07.2018, 12:00. Показов 1382. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
может не в тот раздел пишу, ну вдруг судьбинушка - и подскажете
Стоит задача "Оптимизация многомерных функций с помощью генетических алгоритмов".
В моем случае поиск минимума функции https://www.cyberforum.ru/cgi-bin/latex.cgi?f(x) = \sum_{i=1}^{n}5*i*{{x}_{i}}^{2}, на заданном интервале
. и тут я зависла на самом наверное.. начальном..
Последовательность выполнения генетического алгоритма я знаю, уже пытаюсь что-то делать..
1. Случайным образом создала начальную популяцию, набор особей на своем интервале
2. Для каждой особи вычислила значение функции приспособленности, соответствующее значению заданной функции
3...
Теперь необходимо на основе начальной популяции сформировать множество хромосом.. и вот тут я забуксовала..

Как правильно сформировать генотип в двоичной системе?????????
вариантов несколько но хочется что
В методичке идет речь только о логарифмическом кодировании, и как то я запуталась, ибо речь идет в нем о том что изначально уже дан какой-то двоичный код.и формула на представление вещественного числа из двоичного кода(
а мне ж наоборот нужно - на основании вещественного числа, значения рассчитать этот код. Это очень сбило, запутало..
может подскажите как это сделать? или как правильнее закодировать еще варианты

вообще речь идет о программной реализации, но для начала хочется понять - разобраться в алгоритме всех действий, используемых формулах
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2018, 12:00
Ответы с готовыми решениями:

Генетические алгоритмы
Здравствуйте. Скажите пожалуйста как составить программу генетические алгоритмы? Какая тема должна ...

Генетические алгоритмы
По программированию курсовая - взяли на свою голову задание по сложнее, преподаватель его еще...

Генетические алгоритмы
Добрый день! Только вот начал изучать предмет генетические алгоритмы и столкнулся с непониманием...

Генетические алгоритмы
Никто не писал про генетические алгоритмы в криптографии? Можете поделиться информацией что это...

2
294 / 265 / 48
Регистрация: 09.04.2013
Сообщений: 1,037
18.07.2018, 13:26 2
Ну, не знаю в какой именно форме требуется реализовывать, но смысл примерно следующий.
Есть "особи популяции" - это какие-то объекты для которых требуется оценить насколько они хороши, для тебя это предполагаемые минимумы функции, т.е. точки N-мерного пространства.
Есть геном отдельной особи - это то что собой особь представляет, т.е. набор данных представляющий решение. В твоем случае в качестве генома я бы выбрал просто массив из координат N-мерной точки, и единичный ген - это одна координата точки. Если это не требуется в строгой форме, то никакого кодирования не требуется, хотя преобразование координат к логарифмической может иметь смысл для некоторых похожих задач.
В качестве мутации, например, можно выбрать произвольный сдвиг координат точки, ограниченный какими-то рамками.
В качестве скрещивания - для новой особи выбор генов - Хi либо от одного либо от другого родителя в произвольном порядке, например.
Выживание - удаление набора особей обладающих наиболее "плохими генами", здесь - сделать список особей, отсортировать по величине функции, и отбросить, например, те которые идут после тысячного номера.
1
1487 / 1414 / 240
Регистрация: 19.02.2010
Сообщений: 3,916
19.07.2018, 13:10 3
Лучший ответ Сообщение было отмечено Маринчик как решение

Решение

Маринчик, поскольку ГА и не гарантирует нахождения абсолютно точного решения (за конечное время) - можно его ещё немного загрубить. А именно - так:
1) Ширину интервала Xmax-Xmin делите на 65535 (число возможных значений 16битового целого) - получаете шаг, соответствующий приращению значения на 1.
2) И при начальной случайной генерации хромосомы, и при мутациях, и при скрещиваниях работаете с 16битовой хромосомой именно как со строкой бит.
3) Перевод хромосомы в плавучку делаете умножением 16битового целого числа (закодированного хромосомой) на найденный в п.1 "шаг" и прибавлением Xmin.
Обратно из плавучки в целое (в 16битовую хромосому) Вам переводить не нужно - но если будет нужно, то из икса вычитает Xmin, делите полученную разность на величину шага (тоже плавучее=дробное число), и уже затем округляете частное до целого числа.

Т.е. в данном рецепте все случайные генерации и мутации не смогут перебрать все возможные значения вещественных чисел на заданном интервале - ограничатся только числами, идущими с некоторым малым шагом.
1
19.07.2018, 13:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2018, 13:10
Помогаю со студенческими работами здесь

Генетические Алгоритмы
Имеется у кого нибудь программа на Eclipse, где реализовано изменение популяции с помощью...

Генетические алгоритмы
Есть проблема в коде генетического алгоритма. Он должен делать следующее: создавать 20 "объектов" с...

Генетические алгоритмы
Привет! Ребят, есть задание: привести пример задачи, которая решается только при помощи...

Генетические алгоритмы. Источник информации
Мне курсовик нужно делать. Так вот препод дал возможность выбрать тему самому(тема "информатика"). ...

Генетические алгоритмы(курсовая работа)
Помогите решить задание, или хотя бы подскажите как его делать, заранее спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru