Автор работы: Пользователь скрыл имя, 27 Мая 2011 в 11:11, реферат
Природа поражает своей сложностью и богатством проявлений. Среди примеров можно назвать сложные социальные системы, иммунные и нейронные системы, сложные взаимосвязи между видами. Они - всего лишь некоторые из чудес, ставшие очевидными при глубоком исследовании природы вокруг нас. Наука - это одна из систем, которая объясняет окружающее и помогает приспособиться к новой информации, получаемой из внешней среды.
С помощью генетических алгоритмов могут быть найдены решения многих сложных их интересных задач в различных областях. Например, автоматическое создание программ, задачи оптимального управления, регрессионный анализ и эмпирическое прогнозирование, теорияигр, символьное интегрирование и дифференцирование, проектирование мультиагентных систем и клеточных автоматов, моделирование эволюционных процессов, предсказание структуры сложных биологических объектов и создание нейронных сетей.
Примеры применения генетических алгоритмов.
Генетические
алгоритмы в разных формах применяются
к решению многих научных и
технических проблем. Генетические
алгоритмы используются при создании
других вычислительных структур, например,
автоматов или сетей
Тем не менее, возможно популярное применение генетических алгоритмов - оптимизация многопараметрических функций. Большинство реальных задач могут быть сформулированы как поиск оптимального значения, где значение - сложная функция, зависящая от определенных входных параметров. В некоторых случаях, нужно найти те значения параметров, при которых достигается точное значение функции. В других случаях, точный оптимум не нужен - решением может считаться любое значение, лучшее за определенную заданную величину. В этом случае, генетические алгоритмы - приемлемый метод для поиска "приемлемых" значений. Сила генетического алгоритма состоит в его способности манипулировать одновременно многими параметрами, которая используется в сотнях прикладных программ, включая проектирование самолетов, настраивании параметров алгоритмов и поиске стойких состояний систем нелинейных дифференциальных уравнений.
Генетические алгоритмы являются эффективной процедурой поиска, которая конкурирует с другими процедурами. Эффективность генетических алгоритмов сильно зависит от таких деталей, как метод кодирования решений, операторов, настраивания параметров, отдельных критериев успеха.
Генетические и эволюционные алгоритмы оптимизации являются алгоритмами случайно-направленного поиска и применяются в основном там, где сложно или невозможно сформулировать задачу в виде, пригодном для более быстрых алгоритмов локальной оптимизации (например, для градиентных алгоритмов, где возможно, вдобавок, "мгновенное" вычисление градиента представленной в виде нейронной сети функции с помощью алгоритма обратного распространения ошибки), либо если стоит задача оптимизации недифференцируемой функции или задача многоэкстремальной глобальной оптимизации.
В 1994 году Эндрю Кин из университета Саутгемптона использовал генетический алгоритм в дизайне космических кораблей. За основу была взята модель опоры космической станции, спроектированной в NASA из которой после смены 15 поколений, включавших 4.500 вариантов дизайна, получилась модель, превосходящая по тестам тот вариант, что разработали люди.
Аналогичный генетический алгоритм был использован NASA при разработке антенны для спутника.
Джон
Коза из Стэнфорда разработал технологию
генетического
Сейчас плоды электронной эволюции можно найти в самых разных сферах: от двигателя самолета Boeing 777 до новых антибиотиков.
Генетические алгоритмы представляют собой компьютерное моделирование эволюции. Материальное воплощение сконструированных таким образом систем до сих пор была невозможна без участия человека. Однако интенсивно ведутся работы, результатом которых является уменьшение зависимости машинной эволюции от человека.
Основные задачи применения генетических алгоритмов 2, для решения которых 10 лет назад были применены генетические алгоритмы, чтобы показать, что в настоящее время, на гораздо более мощной персональной вычислительной технике, можно с помощью генетических и эволюционных алгоритмов находить околооптимальные решения чуть ли не 99% задач принятия решения.
Первый пример - создание команды роботов для разминирования территории. Генетическим алгоритмом оптимизировалась многослойная нейронная сеть, управляющая движением робота и выдающая, кроме этого, сигнал другим роботам команды. Т.о, кроме параметрической оптимизации нейромодели выполнялось еще и неявное "создание" некоторого языка коммуникации между роботами. Результаты показали преимущество команды однотипных коммуницирующих между собой роботов перед командой не обменивающихся сигналами роботов и перед командой случайно двигающихся роботов.
Второй пример - известное создание нейросетевого игрока в шашки, который достиг мастерского уровня. Внутри поколения генетического алгоритма нейросети особи играли сами с собой, и по итогам игр отбирались лучшие для следующего поколения.
Оба примера требовали довольно долгого вычисления значения фитнес-функции для особи. Для роботов-минеров надо было оценить качество разминирования, достигнутое после моделирования некоторого времени работы и передвижений команды однотипных роботов (а не одного робота - целью ведь было повышение качества от возникновения коммуникаций в команде), для нейроигрока в шашки нужно было сыграть партию, причем каждый делаемый ход выбирался после перебора всех возможных для данной позиции двух полных ходов (двух своих ходов и двух ходов противника), и качество этих возможных ходов как раз и прогнозировалось нейронной сетью. Т.е. время, затрачиваемое на вычисление значения фитнес-функции, было сравнимо с длительностью эпохи обычного обучения нейросети для довольно объемной задачи.
В
настоящее время скорость работы
современных процессоров даже персональных
компьютеров выросла как
Отсюда
можно сделать вывод, что генетические
алгоритмы сейчас можно использовать
практически всюду, препятствий
в виде неприемлемых вычислительных
затрат не осталось.
Сравнение с другими моделями достоинства и недостатки.
Генетический алгоритм - новейший, но не единственно возможный способ решения задач оптимизации. С давних пор известны два основных пути решения таких задач - переборный и локально-градиентный. У этих методов свои достоинства и недостатки, и в каждом конкретном случае следует подумать, какой из них выбрать.
Рассмотрим
достоинства и недостатки стандартных
и генетических методов на примере
классической задачи коммивояжера. Суть
задачи состоит в том, чтобы найти кратчайший
замкнутый путь обхода нескольких городов,
заданных своими координатами. Оказывается,
что уже для 30 городов поиск оптимального
пути представляет собой сложную задачу,
побудившую развитие различных новых
методов (в том числе нейросетей и генетических
алгоритмов).
Каждый
вариант решения (для 30 городов) - это
числовая строка, где на j-ом месте стоит
номер j-ого по порядку обхода города. Таким
образом, в этой задаче 30 параметров, причем
не все комбинации значений допустимы.
Естественно, первой идеей является полный
перебор всех вариантов обхода.
Переборный метод наиболее прост
по своей сути и тривиален в
программировании. Для поиска оптимального
решения (точки максимума целевой
функции) требуется последовательно
вычислить значения целевой функции
во всех возможных точках, запоминая
максимальное из них. Недостатком этого
метода является большая вычислительная
стоимость. В частности, в задаче коммивояжера
потребуется просчитать длины более 1030
вариантов путей, что совершенно нереально.
Однако, если перебор всех вариантов за
разумное время возможен, то можно быть
абсолютно уверенным в том, что найденное
решение действительно оптимально.
Второй популярный способ
основан на методе
Градиентные
методы работают очень быстро,
но не гарантируют
Типичная практическая задача, как правило, мультимодальна и многомерна, то есть содержит много параметров. Для таких задач не существует ни одного универсального метода, который позволял бы достаточно быстро найти абсолютно точное решение.
Однако,
комбинируя переборный и градиентный
методы, можно надеяться получить
хотя бы приближенное решение, точность
которого будет возрастать при увеличении
времени расчета.
Генетический
алгоритм представляет собой именно
такой комбинированный метод. Механизмы
скрещивания и мутации в каком-
На рисунке показано, что такая
комбинация позволяет
Итак, если на некотором множестве задана сложная функция от нескольких переменных, то генетический алгоритм - это программа, которая за разумное время находит точку, где значение функции достаточно близко к максимально возможному. Выбирая приемлемое время расчета, мы получим одно из лучших решений, которые вообще возможно получить за это время.
Перспективы развития генетического алгоритма.
Интересные
перспективы и возможности
Заключение
Мы с вами проделали большой путь, открывая для себя генетические алгоритмы, их, казалось бы, тривиальную и одновременно с этим гениальную идею, взятую из природы. В ходе изучения мы многократно указывали на достоинства и недостатки генетических алгоритмов. Среди наиболее значимых положительных сторон, можно отметить:
Первый случай: когда не известен способ точного решения задачи. Если мы знаем, как оценить приспособленность хромосом, то всегда можем заставить генетический алгоритм решать эту задачу.
Информация о работе Искусственный интелект. Генетические алгоритмы