InterReklama advertising
InterReklama Advertising Network

Генетические алгоритмы

Начало

Научные интересы

Программирование

Нефтяникам

Гостевая книга

Клуб любителей генетического алгоритма (ГА).

Игорь - учится в магистратуре Казанского государственного технического университета имени А.Н. Туполева (ранее КАИ), на факультете технической кибернетики и информатики

Сергей Анисимов - подробнее на странице Programming of Magic Games.

Гончаров Дмитрий Александрович - закончил Тульское высшее артиллерийское инженерное училище, начальник отделения программирования.

Яковенко Олег Юрьевич - 1965 г.р. В настоящее время работаю в Казахстане. ОАО "Алюминий Казахстана" Краснооктябрьский бокситовый рудник. Начальник бюро горного проектирования + ведущий инженер - программист. Образование : горный инженер + пользователь САПР. По опыту работу : инженер-проектировщик ( стаж 3 года ), инженер - программист ( стаж с 1992 года ). Языки : С++ Задачи : горно-геометрическое моделирования. Горно-технологическое моделирование. Оптимизация параметров карьеров. Смежные области : Нейронные сети, генетические алгоритмы, имитационное моделирование.

Дмитрий Горбиков - магистрант 2001 года Ульяновского государственного технического университета. Основная работа - Пенсионный фонд России, системщик.

Анюта - учится в МАИ на факультете "Системы автоматического управления ЛА"., тема диплома "Интеллектуальная многоуровневая система выбора маршрута движущегося объекта, основанная на ГА"

Алтынай - аспирантка, специальность математик, занимается задачей прогнозирования временных рядов, Алма-Ата, Казахстан.

Применение генетического алгоритма.

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

Описание общего генетического алгоритма.

1) Создание структуры решения искомой задачи в виде массива a[i], i=1,...n, где n - максимальное число компонент структуры
Пример: поиск функции y=f(x) наилучшего приближения экспериментальных точек {xi, yi}, j=1,...,m, m - число точек в классе полиномов.
Структура определяется битовым массивом , где каждому элементу массива сопоставлен простейший многочлен типа xi, i=1,...n, где n - максимальная степень полинома.
2) Создание показателя эффективности структуры, заполненной конкретными значе-ниями
Пример: Показателем эффективности для нашего примера будет невязка вида
Ja=I1+I2+..+Im, где Ij=(yj-fa(xj))2,
где fa(x) есть сумма всех элементов вида Baixai при ai = 1, где a - некоторый битовый массив, однозначно определяющий структуру объекта исследования, параметры ai определяются методом наименьших квадратов.
3) Задание некоторого массива различных структур Sk, k=1,...,N, размерностью N, большей чем число компонент n в структуре
Данный массив можно сгенерировать случайно задав нули и единицы в каждой структуре.
4) Расчет показателей эффективности Jk для каждой структуры Sk.
По формуле заданной в пункте 2.
5) "Естественный" отбор структур по некоторому правилу выбора наилучших струк-тур среди заданного массива структур
Пример: можно по правилу вида
J0=M(Jk) - среднее значение Jk, если Jk<J0, то структура остается, иначе "умирает".
Если разница между предыдущим J0 и новым J0 меньше какого-то малого числа, то конец расчета.
6) Замена выбывших структур на новые, "рожденные" от наиболее приспособленных структур с помощью генетических операторов
а) мутация
Замена в структуре одного из значений случайно выбранной компоненты
Пример: из (1, 1, 0, 1, 0, 0, 1, 0) получится (1, 1, 0, 1, 1, 0, 1, 0).
б) инверсия
Перестановка в структуре некоторой ее части наоборот
Пример: из (1, 1, 0, 1, 0, 0, 1, 0) получится (1, 1, 0, 0, 1, 0, 1, 0).
в) кроссинговер
Создание структуры, основанной на двух структурах - заменой одной части первой структуры на ту же область во второй.
Пример: из (A, B, C, D, E) и (a, b, c, d, e) получится (A, B, c, d, E).
7) Повторение этапа 4.

Пример минимизации любой функции.

Задача: min f(x) на [a,b]
Создаем структуру типа (n1, n2, n3, ..., nM), ni - 0 или 1. Вычислим x0 по следующему правилу
Первый бит отвечает за расположение точки в первой или второй половине отрезка [a,b] = [a1, b1]. Второй бит отвечает за расположение точки в первой или второй половине отрезка [a1,b1] и т.д. Итак, по структуре мы можем вычислить аргумент и значение функции и соответственно задав функцию эффективности - решить задачу. Для многомерного случая структура удлиняется на второй и следующие аргументы функции.

Русскоязычные ссылки

Генетические алгоритмы по-русски и многое другое. - Личная страница.

Генетический алгоритм - Личная страница

Англоязычные ссылки

Генетические алгоритмы на Yahoo.com - ссылки на известной поисковой машине Yahoo

The Genetic Algorithms Archive - огромный архив информации про генетические алгоритмы, исходные тексты на C++, Lisp, Fortran, большое количество ссылок на английские ресурсы и ассоциации по ГА

Genetic Java!!!! - генетический алгоритм на Java

genetic-programming.org-Home-Page - организация по генетическим алгоритмам

The Genetic Algorithms Group, George Mason University - ассоциация по ГА

Genetic Algorithms and Artificial Life Resources - ресурсы по ГА и моделирования жизни

Genetic Adaptive Systems LAB (GASLAB) - лаборатория адаптивных систем с помощью ГА

Colorado State Genetic Algorithms Group - исследования по ГА в университете Колорадо

MSU GARAGe home page - исследования по ГА в Мичиганском университете

Digital Genetic Research Group - рабочая группа UI Computer Science в UNIVERSITY OF IDAHO, Moscow, Idaho, USA

Контактная информация.

Пожалуйста, напишите мне или в Гостевую книгу если Вы заинтересовались.

К началу К научным интересам