Введение в эволюционный

advertisement
Введение в эволюционный
Расчет
(Сентябрь-Декабрь 2008)
Akira Imada
(В процессе редактирования – последнее редактирование производилось 22 октября 2008)
(Современные интеллектуальные информационные методы)
1. Что представляет сбой генетический алгоритм?
Пусть есть набор из N переменных. Нам нужно найти оптимальный ряд состоящий из этих
N переменных. Представим ГА в виде:

Набор строк xi представляет собой популяцию. Каждая из этих строк – хромосома
или, как иногда ещё её называют особь.

Определим значение функции приспособленности по принципу “Насколько
хороша каждая особь?”
Далее выполняется эволюция, которая предполагает улучшение результата от поколения к
поколению:
1. (Инициализация) Генерируем случайным образом начальную популяцию
состоящую из p хромосом
2. (Оценка приспособленности) Определим значение функции приспособленности
для каждой хромосомы и отсортируем их от лучшего значения к худшему.
3. (Скрещивание) Выберем 2 хромосомы.
Например, выбираем случайным образом из лучшей половины
получившейся популяции. (Селекция Усечением - Truncate Selection.)
4. (Репродукция) Производится потомство при помощи двух следующих операций:
- Например Равномерное Скрещивание (Uniform Crossover)
- Мутация
5. Создаём следующее поколение повторяя 3 и 4 шаги n раз
6. Повторяем шаги 2 – 5 пока не получим оптимальный результат или близкий к нему.
2. Как происходит отбор родительских особей?
Чем лучше значение функции приспособленности – тем больше шансов быть выбранным.
Три различных варианта отбора:
 Селекция Усечением - Truncation Selection (Самый простой из трёх)
Выбираются родительские особи из лучших нескольких процентов популяции.

Выбор по принципу «Рулетки»:
Выбирается так, что вероятность выбора той особи больше, у которой большее
значение функции приспособленности.
Например:
Более точно, особи сортируются от меньшего значения к большему, и
рассчитывается кумулятивное значение функции принадлежности для каждой как
показано в таблице:
Затем случайным образом выбираем значение для r от 0 до 1,
Если r< 0.125 то выбираем #1, иначе
Если r< 0.250 то выбираем #2, иначе
Если r< 0.375 то выбираем #3 и так далее…

Турнирная Селекция - Tournament Selection
Предположим, у нас есть μ родительских особей, и их μ потомков. Значение ф.
приспособленности для каждой из 2μ особей, сравнивается с этим же значением
для q особей, которые выбираются случайно из этих 2μ особей на каждом этапе
сравнения. Затем 2μ особей выстраиваются в зависимости от количества побед, и
лучшие μ выживают (q- Турнирная Селекция).
Нужно отметить, что даже те особи, у которых значение ф. приспособленности самое
худшее-могут быть отобраны по принципу «Рулетки», однако, это имеет место, пока в
действие не вступит Селекция Усечением, где у особей с худшим значение ф.
приспособленности просто нет никаких шансов «выжить». Турнирная Селекция так же
может выбирать худших представителей, кроме тех, которые входят в q наихудших.
Изменяя q, можно контролировать возможность выбора худших особей.
3. Как из родительских особей получается потомство?

Скрещивание
Так называемое скрещивание используется для воспроизводства потомства. Тут можно
различить три разных способа скрещивания:

Мутация
Желательно производить мутацию включением новых генов. Это необходимо во
избежание того, чтобы особи популяции сходились в локальный минимум функции
приспособленности. Вероятность мутации невелика – как правило 1/(количество генов).
Точнее,
Если случайно сгенерировано число от 0.0 до 1.0 – и это число меньше чем
вероятность мутации, то ген подвергается мутации, иначе нет.
4. Часто используемые функции.
-Давайте рассмотрим уже известные решения с помощью генетического алгоритма.
Ниже описываются две многомерных тест-функции, глобальные минимумы которых уже
известны. Полезно исследовать эти тест-функции чтобы изучить как теория эволюции
должна работать в компьютерной программе.
 Модель сферы (Sphere model)
Одна из самых простых функций:
Значение
. Эта функция – представление всем известной
2
функции y=x в n-мерной интерпретации. Единственный глобальный минимум находится
в начале координат, и отсутствуют локальные минимумы. Таким образом, она будет
являться хорошим началом для попытки реализовать ГА.
 Функция Shcwefel
Следующая далее функция называется функция Shcwefel, которая имеет большое число
локальных минимумов и единственное значение глобального минимума в начале
координат. Поиск глобального минимума определяется выполняется на интервале
Вы можете попробовать исследовать эту гиперповерхность при n=20 например. Когда
поверхность определена в 20-мерном Евклидовом пространстве. Однако, если вы хотите
представить себе графически как выглядит эта функция, вы можете посмотреть на её
представление в двумерном пространстве на рисунке “Figure 1”.
y = x sin(|x|)

Другие экспериментальные функции:
Rastrigin’s Function F6:
o
(Двумерное графическое представление Shcwefel функции)


Неровность может контролироваться изменением значением A.
Пример двумерного представления (при n=1)
y =3 + x2 − 3 cos(2πx).
o
o
Griewangk Функция F8:
Двумерное представление:
y = x2/4000 − cos x +1.
Ackley Функция F9:
Двумерное представление:
5. Рассмотрим простые двумерные функции
Сейчас рассмотрим более простую функцию, в которой x – одномерная переменная, и
пронаблюдаем поведение хромосомы, если функция имеет два минимума, один из
которых – локальный минимум, а второй – глобальный минимум. Пример:
Где
Экспериментальная функция,
Попробуйте применить генетический алгоритм для поиска минимальных значений у.
6. Нейронные сети для XOR
Рассмотрим простейшие примеры.
Будем считать, что нейроны Маккалоха-Питта (McCulloch-Pitts) принимают значение 1
или 0, тогда Y выходной нейрон получает взвешенную сумму сигналов Xi от N других
нейронов, которая обычно рассчитыватся по формуле:
Где sng(x)=1 если x ≥ 0, иначе 0; wi и θ - вес и порог соответственно. Можно заметить, что
нейрон будет принимать значение -1 или 1, а не 0 и 1, как хотелось бы. Поэтому приведем
уравнение к такому виду:
 Нейронные сети для реализации AND и OR
Рассмотрим НС для реализации AND и OR логических функций.
Эта задача настолько проста, что мы можем определить постоянные значение весовых
коэффициентов.
Например wi=0.5, w2=0.5 и θ=0.5, для AND, и w1=0.5, w2=0.5 и θ=0.5 для OR.
Но почему бы нам не попытаться проверить способность эволюционных вычислений.

НС для реализации XOR
В этом случае необходимо добавить ещё один слой, который называется скрытым.
Причиной этого является……
Упражнение 1. Вычислите значение шести весовых коэффициентов с использованием НС
для XOR.
Упражнение 2. Создайте псевдо код для эволюционных вычислений, чтобы получить
значение шести весовых коэффициентов.
 Большие и сложные Нейронные Сети
Давайте увеличим размерность НС. Например, задача разделения N-мерных точек (N
parity problem).
7. NP-полная Комбинаторная Задача Оптимизация

Задача о рюкзаке.
Это одна из наиболее популярных NP-полных Комбинаторных Задач Оптимизации.
У нас есть n предметов. У каждого из них есть вес wi и коэффициент полезности pi. Для
каждого i-го предмета существует значение неотрицательное xi. Цель заключается в
поиске максимума для выражения:
Причём так, что
Где C – максимально возможный вес рюкзака.
Реализация ГА очень проста. Наши хромосомы будут принимать вид:
(x1x2x3 ··· xn)
где xi определяет количество i-ых предметов помещенных в рюкзак.

Уничтожение непригодных хромосом
Один важный аспект в том, что если хромосома удовлетворяет условию (5), она просто
уничтожается и процедура повторяется с потомством (скрещивание, мутация и т.д.) пока
не получим подходящую хромосому.
Особь-претендент
или
созданный потомок
годный?
Да
Продлить
существование
Нет
Уничтожить
8 Комбинаторная Оптимизация II
8.1 Линейная задача о назначениях (ЛЗН)
8.2 Квадратичная задача о назначениях (КЗН)
8.3 Задача коммивояжера (ЗК)
Если для N городов даны их координаты, тогда Задача Коммивояжера
(ЗК) это задача в которой продавец должен посетить все эти города, при этом в каждом
побывать единожды и стремиться проделать кротчайший путь.
Я обнаружил 13,509 реальных городов в США с известными координатами расположения
на веб-странице:
http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95.
Почему бы не попробовать нам решить эту многообещающую задачу. Графическое
представление этих городов показано на Рисунке 9.
Рисунок 9: Пример из 13509 реальных городов, расположенных в США. Изображено на
основе данных, взятых с
http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95.
Вопрос в том, как сформировать хромосому отображающую путь. Если представить
предполагаемое решение как список городов, которые необходимо посетить в
определенном порядке, такая хромосома пути A-C-F-D-G-E-B имеет вид:
(ACFDGEB)
(7)
Применимы ли тогда результаты скрещивания и мутации? Ответ – Нет! Например,
возможный потомок двух родителей (ACFDGEB) и (AGBFCDE) после применения
одноточечного скрещивания (one-point-crossover) может иметь вид (ACFFCDE) и он не
является пригодным так как C и F встречаются дважды, а B не посещается вообще. Или,
Если применить стандартную мутацию к (ACFDGEB), например,
путем замены 4-го гена на другое выбранное случайно значение города - (ACFAGEB),
такой результат тоже является непригодным.
Тогда, какое представление может быть пригодным согласно результатам скрещивания и
мутаций?
Одна идея заключается в следующем:
Шаг-1. Определим i = 1.
Шаг-2. Ксли i-й ген равен n тогда n-й город в списке является городом, который уже
посещен.
Шаг -3. Удаляем город из списка.
Шаг -4. Определим i = i + 1 и повторим от Шага-2 до Шага-4 пока i ≤ n.
Например, пусть список городов:
{A, B, C, D, E, F, G, H, I }
хромосома: (112141311) определяет путь:
A-B-D-C-H-E-I-F-G.
Попробуем одноточечное скрещивание двух родителей (112141311) и (515553321). Потом,
как рассчитать мутацию? Как насчет, например, определения двух точек случайно и
изменения порядка генов?
Наконец, когда же все-таки необходимо остановить алгоритм? Оптимальное значение не
известно. Ответ – давайте будем наблюдать за изменением значения приспособленности.
Можно предполагать схождение значения к оптимальному или близкому к оптимальному.
Мы изучили решение ЗК при помощи ГА. Но наиболее подходящим путем решения
являются вычисления называемые But there seems to be more direct way of computation
Оптимизация Муравейника - ОМ (Ant Colony Optimization).
ОМ это техника оптимизации, позаимствованная модель способности общества муравьев
к коллективному поведению. Муравьи умеют хорошо находить короткий путь от
муравейника к еде. Когда один из них находит еду он связывается с другими, используя
химическое вещество феромон (pheromon). Если будет время, то мы позже изучим ОМ.
Рисунок 10: Графическое представление вышеупомянутого алгоритма сортировки.
Рисунок 11: Графическое представление вышеупомянутого алгоритма сортировки.
Рисунок 12: Графическое представление вышеупомянутого алгоритма сортировки.
9 Навигация робота в «клетчатом пространстве» (GridWorld).
Представим теперь, что существует агент или робот в «клетчатом пространстве», предполагаемая
хромосома может быть составлена из целочисленных генов от 1 до 4, где 1, 2, 3, и 4 соответствуют
одноклеточному перемещению агента на север, юг, восток и запад. Посмотрите пример ниже:
(1333114114411141322422223)
Рисунок 13: Графическое представление вышеупомянутого алгоритма сортировки.
Чтобы быть более точными, мы рассмотрим две такие задачи.
9.1 Зондирование «клетчатого пространства» с ограниченной
энергией
Поиск пути максимальной Манхэттен-протяженности (Manhattan distance)
Рисунок 14: Графическое представление вышеупомянутого алгоритма сортировки.
Поиск пути от стартовой точки после максимального зондирования.
Это может быть не так сложно для нас людей найти такую дорогу. Но как насчет
компьютера?
Рисунок 15: Графическое представление вышеупомянутого алгоритма сортировки.
Рисунок 16: В «клетчатом пространстве» размерности 96 начиная от клетки (24,24) робот
двигается в направлении цели (72,72), о которой робот не имеет информации заранее.
Слева: Путь минимальной длины из 100 экспериментов путем случайных перемещений.
Справа: Минимальный путь робота найденный после эволюционного обучения как
показано на рисунке 3 (Предельная область опущена.)
Теперь вопрос таков: «Как определить функцию приспособленности?»
Вернемся к этой теме о «составной функции принадлежности» позже.
9.2 Задача Джипа
– От “Верблюда в пустыне” к "Ленд-роуверу на Марсе"
Предположим, есть Джип на базе, которая расположена на границе пустыни. Джип имеет
бак, который может быть заполнен до максимума одной порцией (примем за единицу)
бензина. С единицей бензина джип может переместиться на некоторое единичное
расстояние. Джип может заправляться бензином только на базе. Джип может перевозить
контейнеры и помещать в них бензин в пустыне для будущего использования.
Рисунок 17: Графическое представление вышеупомянутого алгоритма сортировки.
Предположим путь должен начинаться от стартовой линии в пустыне1
Вопрос таков “ Как далеко Джип сможет проникнуть в пустыню по прямой дороге, когда
n единиц бензина доступно на базе.
Например, когда n = 2, наилучшая стратегия – это стартовать с базы с единицей бензина в
баке Джипа и проехать 1/3 единицы расстояния (будет истрачено 1/3 единицы бензина для
достижения данной точки), потом оставить 1/3 единицы бензина в контейнере здесь
(теперь у Джипа осталась 1/3 единицы бензина в баке) и вернуться на базу. Как раз, когда
Джип вернется на базу весь бензин взятый в начале будет использован. Потом Джип
заполнит бак второй единицей бензина и проедет 1/3 единицы расстояния, там заполнит
бак бензином, оставленным ранее и бак будет снова полон, потом проедет вперед, пока
весь бензин в баке не будет израсходован. Таким образом, максимальная дистанция,
которую проедет Джип составит 4/3 единицы расстояния.
Определив максимальную дистанцию для n = 2, мы уже знаем максимальную дистанцию
Dn для n единиц бензина, выраженную как рекурсивное выражение
Dn = Dn−1 + 1/(2n − 1).
Наш интерес заключается в том, смогут ли эволюционные вычисления найти почти
наилучшую стратегию, посчитаем, что при n = 5 максимальная дистанция 1323/945=1.4.
(Если мои вычисления корректны. Попробуйте посчитать самостоятельно).
10 Схема Сортировки
– Каков минимум необходимых сравнений?
Кто умнее? – Человек или Компьютер?
1
Задача впервые была определена как «Верблюд, перевозящий зерно в пустыне» как 52-я задача в «Propositions ad acuendos inventes» (на Латинском)
приписываемая к Alcuin of York (around in B.C. 732–804).
А теперь Джип в пустыне, в будущем, Ленд-роувер на Марсе.
При написании алгоритма, также существует необходимость сортировать набор
элементов, упорядочивая их в соответствии с некоторым критерием. Теперь, пример,
создадим ли мы программу для сортировки 16 целочисленных входных значений в
порядке возрастания? Мы выберем два элемента от одного элемента к следующему,
сравним их, и поменяем местами, если их порядок не удовлетворяет условиям сортировки.
Алгоритм 1 (Алгоритм Сортировки) Предположим, необходимо отсортировать N
численных элементов от меньшего к большему.
• For i = 1 to N-1
_ For j = i+1 to N
· If item(i) < item (j) Then меняем item(i) and item(j)
Теперь представим вышеописанную сортировку графически следующим образом:
Рисунок 18: Графическое представление вышеупомянутого алгоритма сортировки.
Общее количество сравнений в данном случае 120, впрочем это не очень эффективный
способ.
Следующая задача – это какое минимальное количество сравнений при котором любой
произвольный набор из 16 значений будет правильно отсортирован.
Задача (Схема Сортировки) Задание – отсортировать n элементов. С этой целью
сравниваются i-й и j-й элементы и меняются местами, если необходимо. Основная задача
состоит в том, чтобы найти алгоритм, который правильно сортирует все n элементов
с минимальным количеством сравнений.
Возможно, будет интересно рассмотреть маленькую историю по данной теме. В 1960 г. , в
сообществе по компьютерным алгоритмам было состязание на то, какое количество
сравнений, когда скажем (n = 16)? Результаты были:
- 65 сравнений (Bose and Nelson, 1962).
- 63 сравнения (Batcher, Floyd and Knuth, 1964).
- 62 сравнения (Shapiro, 1969)
- 60 сравнений (Green 1969)
Смотрите рисунок ниже.
Batcher сортировка: 63 сравнения (Knuth 1973):
Сравнения в одинаковых столбцах могут быть выполнены параллельно.
Рисунок 19: Предложенная Batcher’ом схема сортировки с 63 сравнениями (1964)
До сих пор, однако, мы не имели доказательств оптимальности алгоритмов. Тогда
позвольте применить Эволюционные Вычисления для поиска данного минимального
количества. Будет ли это работать лучше, чем человек? Hillis (1992) исследовал это.
Нововведения Hillis’а были в том, что он разработал Хромосому Диплоидия (Diploidy
Chromosome) как описано далее. Более детальное описание будет далее. Здесь покажем
простой вариант применения ГА.
Предположим, что одна хромосома соответствует одной схеме сортировки и составляет
140 ген, каждый из которых принимает целочисленное значение от 1 до 16, допуская
повторения, как например:
(12 01 05 04 16 12 04 14 01 02 06 ...... 07 15 08 10)
Где гены с нечетными номерами и следующие за ними, с правой стороны, гены образуют
пары сравнения.
Пример для вышеуказанной хромосомы:
12 <=> 01; 05 <=> 04; 16 <=> 12; ......; 08 <=> 10)
Далее одна хромосома включает 70 сравнений максимум. Почему максимум? Потому что
она может включать одинаковые сравнения многократно. Отсюда, минимальное
количество сравнений равно одному, что, впрочем, очень маловероятно.
11 Развертывание Стратегии — Итеративная Дилемма
Заключонного
Итак, Быть или не быть? – Вот в чем вопрос. Не только работы Шекспира, но и много
других работ посвящены данной дилемме. Опера Puccini «Tosca» одна из таких типичных
примеров2.
11.1 Когда возникает дилемма?
Предположим n персон в следующей игре. Каждый из этих n персон находится в
изолированной кабине, где недоступны коммуникации и они не видят друг друга.
В каждой их этих кабин есть кнопка. Все участники находятся в кабинах в течение одной
минуты. Если никто не нажмет кнопку, то каждый из них получит 100 единиц, с другой
стороны, если кто-то нажмет кнопку, то … и другие не получат никаких денег. Что бы вы
сделали, если бы были одним из этих n людей?
11.1.1 Условия наличия дилеммы
Что если деньги даются в случае, если никто не трогает кнопку в размере 10, в другом
случае первому, кто нажмет кнопку. В такой ситуации не возникнет дилемма. Нажимайте
кнопку немедленно без колебаний.
В сообществе Теории Игр существует задача под названием Дилемма Заключенного3,
которая формулируется следующим образом:
Задача (Дилемма Заключенного). Двоим только что арестованным заключенным A и B
предлагается сделка:
·Если А сознается, а B нет, A будет освобожден, а B получит 5 лет тюрьмы,
и наоборот.
·Если сознаются оба, тогда оба получат по 4 года тюремного заключения.
·Если оба будут молчать, тогда каждый получит по 2 года.
Позвольте подумать над несколькими такими примерами. Первое, поднимает ли
следующий случай дилемму?
A получит B получит
2
Matt Ridley однажды написал свою книгу “The Origin of Virtue – Human Instincts and the Evolution of
Cooperation.” "Пенгуин букс" (Penguin Books, 1996) об этой опере. В ней говорится: В опере Puccini «Tosca»
героиня предстает перед сложной дилеммой. Шеф полиции Scarpia приговорил её любовника Cavaradossi к
смерти, но Scarpia предлагает ей сделку. Если Tosca проведет с ним ночь, то он сохранит жизнь ее
любовнику, сказав производящей расстрел команде использовать холостые заряды. Tosca решает
обмануть Scarpia согласившись на его предложение, но потом убить его ножом после того, как он даст
приказ на использование холостых зарядов. Она делает так, но слишком поздно узнает, что Scarpia решил
тоже ее обмануть. Команда расстрела не использовала холостые заряды: Cavaradossi умирает. Tosca
совершает самоубийство, и все трое заканчивают смертью.
Книга относится к Теории Игр. Автор продолжает: Хотя, они могли не делать такой выбор, Tosca и Scarpia
сыграли в игру, в действительности, самую известную игру из теории игр, эзотерического ответвления
математики, которое представляет странный мост между биологией и экономикой. Игра являлась
центром одного из недавно появившихся научных исследований: не что иное, как непонимание того, почему
люди приятны один другому. Кроме того, Tosca и Scarpia, каждый играл в игру с условием, что теория игр
предсказывает им победу, пренебрегая провальным исходом для каждого. Как это может быть?
3
Предложена
Merrill Flood и Melvin Dresher в 1950 году
A сознается & B молчит
A сознается & B сознается
A молчит & B молчит
A молчит & B сознается
10
30
6
1
1
30
6
10
Ответ «Нет». Заключенный может получить либо 30 либо 10 сознавшись, тогда как 6 либо
1 промолчав. Таким образом, дилеммы нет. Сознавайтесь немедленно! Это гарантирует
наибольший результат, чем если молчать независимо от реакции оппонента.
A получит B получит
A сознается & B молчит
10
1
A сознается & B сознается
6
6
A молчит & B молчит
3
3
A молчит & B сознается
1
10
A получит B получит
A сознается & B молчит
10
1
A сознается & B сознается
3
3
A молчит & B молчит
6
6
A молчит & B сознается
1
10
Подведем итог, вознаграждение, что A/B получат:
B\A
Сотрудничество
Предательство
Сотрудничество
3/3
5/0
Предательство
0/5
1/1
Предательство увеличивает награду того, кто предает, за счет оппонента, тогда как
Сотрудничество увеличивает награду обоих игроков, хотя и не намного. В любом случае
будет лучше предать! Когда «таблица наград» представляется в более общей форме:
B\A
Сотрудничество
Предательство
Сотрудничество
γ1/γ1
γ3/γ2
Предательство
γ2/γ3
γ4/γ4
условия, при которых дилемма возникнет, когда выполняется (Papopurt, 1966):
A получит B получит
A сознается & B молчит
10
1
A сознается & B сознается
2
2
A молчит & B молчит
3
3
A молчит & B сознается
1
10
11.1.2 Итеративная Дилемма Заключенного
Следующий вопрос заключается в том, что если игра повторяется? Так называемая
Итеративная Дилемма Заключенного (ИДК). В данном случае стратегия получить
высокую награду является результатом следующих рассуждений:
Каким было бы следующее оптимальное решение? Например, стратегия «Всегда
Предательство» или стратегия «Услуга за Услугу», когда игроки сотрудничают в первой
игре и впоследствии выбирают такое же действие как оппонент в предыдущей игре.
Здесь, стратегия определяет следующее действие, основываясь на трех предыдущих шагах
обоих игроков как исходных данных. Количество возможных случаев трех предыдущих
игр равно 26 = 64 — 64 комбинации Сотрудничества и Предательства. То есть все
возможные комбинации 6 предыдущих шагов могут быть представлены как 64 битная
бинарная хромосома. Например, если история 6 предыдущих действий оппонента и
игрока есть C-d-D-d-C-d, тогда она выражаетчя в бинарном виде как двоичное число
100010, где “C” и “c” соответствуют 1, и “D” и “d” соответствуют 0, и прописные “C” и
“D” действия оппонента, и строчные “c” и “d” действия игрока: Сотрудничество и
Предательство соответсвенно.
Потом определим следующее действие, если история игры такова (000000), то установить
1-й бит хромосомы в 0 (предательство) либо в 1 (сотрудничество). Все это повторяется,
так следующее действие, когда история игры такова (000001) установить 2-й бит и так
далее. Нет необходимости повторять, что для 3-его бита необходимо выполнить действие
для истории (000010) и 64-ый бит, последний, устанавливается для истории (111111).
Таким образом, мы показали формирование 64-битной бинарной хромосомы, где
пригодность определяется для каждого играющего против каждого из других игроков
(Турнирная Селекция).
12 Визуализация многомерного пространства
Визуализация данных в многомерном пространстве важна. Может быть вы уже изучали
такие методы как Самоорганизующиеся Карты Кохонена (SOM) или Метод Главных
Компонент (PCA)
12.1 Почему необходимо понижать размерность?
Мы, люди, не можем представить мир более чем в трехмерном пространстве. Во многих
сферах науки, однако, критически важно воспринимать картину пространства высокой
размерности. Это не только области науки, но также в реальном мире вокруг нас. Давайте
покажем пример. Теперь представим недавно взятых на службу солдат, которым
необходимо выполнить задание в связи с их проверкой, скажем, по Математике или
Английскому.
Математика
Английский
Таблица 1: Воображаемые результаты двух экзаменов, полученные новобранцами.
Задача классификации солдат будет проще, если визуализировать данные.
Рисунок 20: Визуализация. Просто классифицировать солдат на 5 групп.
Что если добавится одна дополнительная оценка для каждого солдата, скажем, физическая
подготовка. Для решения необходимо классифицировать их по трехмерным данным или
на трехмерном пространстве, если мы захотим представить данные также как
вышеописанный 2-размерный случай.
Кроме того, будет более реально представить, что имеется набор из оценок по 10
различным экзаменам. В таком случае, мы не можем визуализировать уже в обычном
виде.
Итак, визуализация многомерных пространств или же техника понижения размерности
является очень важной темой, и не так давно много таких техник было предложено, в том
числе Самоорганизующиеся Карты Кохонена являются самой популярной из всех.
12.2 Отображение Sammon при помощи ГА
В данном разделе рассматривается Отображение Sammon. Отображение Sammon – это
отображение набора точек из многомерного пространства
в двумерное пространство с сохранением соотношения расстояний настолько, насколько
возможно, либо эквивалентным, так что дистанции в n-мерном пространстве
аппроксимируются в дистанции в двумерном пространстве с минимальной ошибкой.
Данный метод был предложен в 1980 году как задача оптимизации, которая было
приближена к методу Исследования Операций, такому как Наискорейший Спуск, что не
так прост.
С другой стороны применение Эволюционных Вычислений является совершенно
простым. Теперь посмотрим, что собой представляет Отображение Sammon изначально.
Алгоритм (Отображение Sammon)
1. Определим N точек в n-мерном пространсве.
2. Рассчитаем матрицу расстояний R (N Х N) где i-j элемент – Евклидово расстояние
между i-й и j-й точкой.
3. Также определим предполагаемые N точек в двумерном пространстве, что
располагаются случайно на начальном этапе.
4. Матрица расстояний Q высчитывается также как и R.
5. Определяется ошибка, как P = R − Q..
6. Осуществляется поиск N точек в двумерном пространстве таким образом, чтобы
минимизировать суммарное значение элементов P.
Это задача оптимизации, которая теперь может быть решена просто при помощи ЭВ.
Точнее, при помощи создания N точек в двумерном пространстве соответствующих N
точекам из n-мерного пространства с сохранением соотношения расстояний настолько,
насколько возможно, либо эквивалентным, так что дистанции в n-мерном пространстве
аппроксимируются в дистанции в двумерном пространстве с минимальной ошибкой.
В существующей интерпретации Отображения Sammon при помощи ГА, хромосомы
могут быть составлены из n генов, каждый из которых соответствует x−y координате
предполагаемого рещения из n оптимально распределенных в двумерном пространстве
точек. Применяется равномерное скрещивание (Uniform crossover) и время от времени
выполняются мутации путем замены одного гена другой случайной x−y координатой.
Посмотрите на Рисунок 2 и также на рисунок ниже.
Примеры в 492 = 2401 мерном пространстве:
Хромосома:
Рекомбинация с Равномерным Скрещиванием:
Рисунок 21: Представление хромосомы и равномерное скрещивание
Рисунок 22: Шесть примеров Отображения из 2401-мерного пространства в 2-мерное
пространство. Дальнейшее разъяснение показано в тексте.
13 Возвращение к Схемам Сортировок
13.1 Больше биологии — Эксплуатация Диплоидий-хромосом
Рисунок 23: Пример набора Hillis’а из Диплоидий-хромосом.
- Каждая особь включает 15 пар из 32-битных хромосом.
- Каждая хромосома состоит из восьми 4-битных строк (называемых кодонами).
(0001 0010 0101 1000 0000 0100 1111 1001)
(0011 0100 0101 1000 1101 1100 1111 1001)
- Каждый кодон представляет собой целое между 0 и 15, указывающее какой элемент из
16 будет сравниваться, тогда для вышеописанного примера:
(01 02 05 08 00 04 15 09)
(03 04 05 08 13 12 15 09)
- Каждая пара соседних кодонов в хромосоме определяет сравнение между двумя
элементами. Отсюда каждая хромосома кодирует четыре сравнения, например:
(09 08 10 13 14 04 14 03)
определено четыре сравнения.
Рисунок 24: Четыре сравнения хромосом (09 08 10 13 14 04 14 03)
- Пары хромосом определяются слева на право.
- Если два соседних кодона являются одинаковыми в одинаковых позициях пары
хромосом (называемых гомозиготами), то только одна пара чисел вставляется в фенотип.
Если их кодировка различна (гетерозиготы), тогда обе пары вставляются в фенотип.
Тогда предыдущий пример будет выглядеть так:
Теперь получается шесть сравнений:
- Таким образом 15 пар хромосом производят фенотип с 60-120 сравнениями. Чем больше
гомозигот, тем меньше сравнений.
- Когда две особи отобраны, выполняется одноточечное скрещивание для каждой пары
хромосом в каждой особи.
- Для каждой из 15 пар хромосом точка пересечения выбирается случайным образом, и
формируется единственная хромосома (называемая гаметой).
- Таким образом, создаются 15 гамет от каждого родителя.
- Каждая из этих 15 гамет от первого родителя будет соединена в надлежащем порядке с
гаметой от второго родителя, чтобы сформировать одно потомство.
13.2 Стремление к гомозиготности
Пара гомозигот вероятнее выживет, чем пара гетерозигот, то есть, два гена в том же самом
местоположении в паре хромосом вероятнее стремятся к тому же самому результату после
эволюции. Например, вероятность (1, 1) пары, чтобы быть (1, 1) равна 1/2, в то время как
вероятность (1, 0) пары, чтобы быть (1, 0) равна 1/4. Первая вычисляется как 1x ((1/4) x
(1/2) + (1/4) x (1/2) + (1/4) x0), в то время как вторая как (1/2) x ((1/4) x (1/2) + (1/4) x (1/2) +
(1/4) x0).
Следовательно, мы можем ожидать больше гомозиготных генных пар после эволюции
большей продолжительности. Если в нашем случае все пары будут принадлежать одной
хромосоме, то подразумевается, что количество сравнений будет равно 60.
14 Развитие Конечных Автоматов (КА)
14.1 Что такое КА?
Мы – люди, ощущаем в нашей жизни чувства, которые позвольте назвать
СОСТОЯНИЕМ, и которые меняются в зависимости от поступающей информации в
органы чувств, например в глаза, и влекут за собой какие-то действия. Например, когда
мое СОСТОЯНИЕ - несчастный, и ВХОДНЫЕ ДАННЫЕ «водка» от одного из моих
сенсоров, рта, изменяют мое СОСИОЯНИЕ на счастливое, и я начинаю петь как
ДЕЙСТВИЕ.
Таким образом, КА – определено тремя параметрами – состояние, входные данные,
действие. Это начинается с определением состояния, входные данные изменяют мнение о
нём, состояние изменяется, и выходные данные определяют действие. Это - один шаг.
Процедура
(1) Определение состояния согласно входной информации на органы чувств
(2) Выходные данные влекут за собой какое-то действие
повторяется, и создает некоторое поведение КА.
14.2 Задание-пример.
Бегающий по следам муравей
2-мерная пробная сетка, скажем, 32x32
дается 200 шагов
Длина пути 89 - ?, максимальный счет = 89
На любой из граней С Ю З В можно осмотреть только на один шаг вперед.
4 действия: продвинуться вперед, повернуть направо, повернуть налево, ничего не
делать.
14.2.1 Метод НС
14.2.2 Метод КА
Например, КА – 4 состояния
Стратегия, используемая КА, состоит в том, чтобы продвинуться всякий раз, когда
обнаружен квадрат со следом; когда дело доходит до точки, где нет следа в следующем
квадрате, то следует повернуться на право (не перемещаясь) и проверить след там. Если
там след есть, то продвигается вперед и продолжить поиск, но в противном случае
повернуть направо снова. КА повернет направо, в общей сложности 4 раза, разыскивая
след. После этого он остановится в исходном направлении и продвинется так или иначе,
даже если спереди нет никакого следа, и будет снова искать след во всех 4 направлениях.
14.2.3 Скрытый Марковский Процесс (СМП)
От КА, которые являются детерминированными, к СМП, который является недетерминированным.
Рисунок 25: След Джона Мура в 32 × 32 тороидальной сетке
Рисунок 26: Графическое представление алгоритма сортировки выше.
Рисунок 27: Графическое представление алгоритма сортировки выше.
Таблица 2: Пример того, как закодировать таблицу переходов в хромосому
Рисунок 28: Графическое изображение алгоритма сортировки выше.
Рисунок 29: Графическое изображение алгоритма сортировки выше.
15 Много Модальная Проблема – Что, если у нас есть множество
значимых различных решений?
В задаче коммивояжера как результат нас интересует минимальный путь, даже если у нас
есть множество возможных путей. Однако иногда нас интересуют все возможные
решения, полученные в процессе вычислений. Например, когда мы хотим получить ряд
нечетких правил для того, чтобы проектировать нечеткого диспетчера. Тема этого раздела
рассматривает эту проблему. Давайте начнем с простых математических функций.
15.1 Еще одна Тестовая функция
2-мерная функция, но с множеством пиков
Вопрос в том, как мы сформируем хромосомы. В многомерной функции y = f (x1, x2, ···,
xn) гены могли бы быть непрерывными значенями, каждый из которых соответствует
независимой переменной хi (i =1, 2, ··· n), то есть, хромосомы состоят из n генов. С другой
стороны, как мы должны строить наши хромосомы, когда количество независимых
переменных - только одна. Хромосома только с одним геном? Как мы скрестим два
родителя?
Хорошо, мы обычно используем бинарную хромосому в такой ситуации. Любое
(десятичное) реальное значение переменной
может быть закодировано nбитными двойными последовательностями, где a и b представлены (00 ··· 0) и (11 ··· 1),
соответственно, и поэтому точность (или степень детализации) равна (b − a) / (2n−1).
Например, если нас интересует вышеупомянутое
тогда, 10 битов двоичных
последовательностей от 0000000000 до 1111111111 являются выраженными десятичными
числами с точностью 1/1024. Или вы могли бы использовать и сравнивать Код Грея
(циклический двоичный код) где Код Грея a1a2 ··· получается из двоичного числа b1b2 ···
bn, как
где
- деление по модулю 2. В коде Грея пара смежных десятичных чисел отличается с
расстоянием Хемминга в 1, в то время, как в стандартном бинарной кодировке это не
выдерживается. Тестовая функция из предыдущего подраздела - та, в которой
эволюционные вычисления особенно хороши, так как мы можем просто рассматривать
любые большие размерности, определяя количество генов в хромосоме соответственно
размерности.
Тогда, что мы должны сделать, если нас интересует 2-мерная функциея? Например,
y = sin6(5πx)
y = −2((x − 0.2)/0.8)2sin6(5πx)
это интересные функции для наблюдения, как созданные случайным образом хромосомы
в 1-ом поколении развиваются с целью найти пики. Смотрите рисунок 2.
Рисунок 30: Мультипиковая 2-мерная функция и ее изменение
15.2 Мультимодальная оптимизация.
Иногда у нас есть много решений. Но ЭВ обычно сходятся только на одном решении из
всех. Следовательно, чтобы получить это множество решений, мы запускаем алгоритмом
множество раз. Здесь мы изучаем технику, в которой индивидуально сконструированная
среда (условия) и каждая разновидность находят различные решения при запусках.
Для этой цели создается множество разновидностей и сохраняется в популяции. Эти
разновидности независимо ищут пик (мы надеемся, оптимальное решение), строят свою
среду и остаются возле пика во время смещения
Ранее, по существу были предложены следующие три метода. До настоящего временм
предложены следующие методы:
 Fitness sharing (Разделение пригодности) (Goldberg & Richardson, 1987)
Похожие особи делятся пригодностью друг с другом.
 Crowding (Объединение) (De Jong, 1975)
Похожие особи заменяются случайными особями
 Метод Разновидностей
Скрещивание сужается до круга подобных особей.
В настоящее время, на мой взгляд, следующие два метода наиболее популярны среди
других:


Детерминированное Объединение
Последовательное Заполнение
Давайте рассмотрим некоторые аспекты более детально.
Разделение пригодности. Пригодность каждой особи снижается путем деления на
количество подобных особей в популяции. Таким образом, разделенная пригодность Fs(i)
особи :
где F (i) является пригодностью i-й особи; dij - расстояние между особью i и j; Обычно dij
- расстояние Хэмминга; в генотипном пространстве - это Евклидово расстояние; в
фенотипичном пространстве и s (·) называется разделяемой функцией и определяется как:
где σshare интерпретируется как размер ниши, и α определяет форму функции.
Знаменатель называют графом ниши. Вы видите зависимость формы s (dij) на α на
рисунке 15.2.
Рисунок 31: Зависимость формы s (dij) на α.
Быть коротким (не настолько короткий хотя): Подобная особь должна разделить fitness.
Число особей, которые могут остаться вокруг любого из пиков (ниша), ограничено. Число
пребывания особей около любого пика теоретически будет пропорционально высоте пика
Детерминированная Давка: Если родителиьские особи будут заменены или нет своим
потомством, будет определен согласно критериям расстояния между родителями и детьми
Алгоритм получения скрещивания, мутации и Fitness Function:
1. выберите пару родительских особей, p1 и p2, случайным образом так, чтобы
каждый родитель выбирался только 1 раз.
2. Produce two children, c’1 and c’2
3. Мутация потомственных особей c’1 и c’2, скрещивание.
4. Замена родительской особи потомственно – след. образом:
5.
где d (ζ1, ζ2) является расстоянием Hamming между двумя точками (ζ1, ζ2) в образце
место. Процесс производства потомственных особей повторяется для всей популяции.
Затем следует цикл восстановления новой популяции и перезапуска поиска
повторяется, пока все глобальные оптимумы не найдены, или число максимума набора
поколения было достигнуто.
Последовательная Ниша: Единственный пробег повторен последовательно, держа
лучшего человека при каждом движении.
Алгоритм
1.Определим Радиус ниши равным r.
2. Определим модификацию - fitness функции как М(x), приближенно к оригинальному
значению fitness функции f (x)
3. Запускаем GA и выбираем лучшую особь в конце движения.
4. Определяем значение m(x) как
где n - число so-far пробега, sn - лучшая особь в энном пробеге и
это называется высвобождением функции где dxs - расстояние между x и sn, в то
время как m0 - оригинальное значение fitness функции каждой особи.
5, Запускаем GA используя модифицированное значение fitness функции и находим
лучшую особь в результате
6, Обновляем значение модифицированной fitness функции
7, Если сырье fitness лучшей особи превышает порог решения, (См. также ниже), тогда
покажите это как решение.
8. Если все решения не были найдены, то возвратитесь к пункту 5.
 Порог Решения
Понизьте предел fitness для максимумов интереса, предполагая, что мы знаем сколько
пиков. Если это не имеет значения, установите порог равный нулю.
Задание: Как показано на рисунке 15.2 нарисуйте график функции y =(x/r)α , ГД r=1 и α
= 0.5, 1, 2, 4, 8 чтобы узнать как выглядит g(x, sn).
Так же будет интересно попробовать найти значение функций указанных ниже при
помощи мульнимодальной EC:
16 МультиОбьектный Генетический Алгоритм
Пока мы узнавали, как получить возможное решение (я), выполнения одной
объективной функции для проблемы, то есть, цель, максимизирует функцию fitness. В
реальной мировой проблеме, однако, у нас есть обычно многократные цели или
критерии, которые нужно выполнить одновременно.
Эти цели иногда конфликтуют друг с другом. Как "время" и "деньги": Чем больше мы
хотим заработать денег, тем меньше времени остаётся на то чтобы их потратить; или
"надежность" продукта и его "стоимости", чтобы произвести это на фабрике. Или,
предположите, что Оперная Компания пробует нанять одного певца Сопрано.
Критерии - голос, красивый или нет, "тонкий или нет", знание языков (итальянский,
немецкий язык, и т.д). Однако Бог имеет тенденцию не давать нам два таланта за один
раз, увы.
Тогда, в первую очередь когда у нас есть мульти объектная функция, мы должны
определить, важное понятие parate оптимальный или equvalently недоминировало над
решением.
Определение (Частично Оптимальное или Неуправляемое Решение). Принципиальное
Решение называют Неуправляемым, если нет никакого другого лучшего решения w.r.t.
всех целей.
Чтобы быть более конкретным, предположим что у нас есть n объектных функций;
где x - возможное решение. Теперь, если новое возможное решение y улучшает весь
objetives для x, то есть,
Мы утверждаем
y доминирует над x
Когда нет такого y,
“x не доминирована” или “Значение Оптимально.”
Простейший пример: Мы принимаем две объективных функции следующим образом.
· x=0 - оптимальный для f1, но не так хороший для f2.
· x=2 - оптимальный для f2, но не так хороший для f1.
· Любой другой пункт промежуточный является компромиссом и является
оптимальным решением.
· Но решение x=3, например, не является оптимальным, так как этот пункт не лучше
чем решение x = 2 для других объектов
· Если мы рассматриваем область f1-f2, увеличение f1 в некотором месте означает
уменьшение в f2, или наоборот такой импульс, что решения в области - оптимально, в
то время как в другой области увеличение f1 делают f2 (уменьшение). См. рисунок??.
Это место f1-f2 назван Областью Trade-Off.
Рисунок 32: Trade-Off Область для
Эксперимент Мысли: Что, если мы готовим всех людей поколения 0 и, скажем,
поколение 100? Как идет выполнение? Развитие довольно подобно более или менее на
GA с единственной функцией fitness. Самое главное, у нас есть многократная целевая
функция. Следовательно мы сливаем их многократная целевая функция в одну
функцию fitness. В настоящее время много идей были предложены. Среди всех:
• Взвешенный подход суммы.
Функция fitness - считается как
где wi выражает важность i-th целей.
·
Отметьте, что для любого набора веса> 0, оптимум всегда - решение, над
которым недоминируют, но которое не всегда верно.
Минимаксный подход
· Функция fitness - рассчитывается, минимизируя максимум n объективных
функций.
• Приближение Целевого вектора
· Функция fitness - рассчитывается, минимизируя вектор
Срединный/Средний подход ранжирования · Разряд r (xi) из каждого отдельного
Сицзяна в населении w.r.t. i-th объективная функция вычислен. Тогда fitness - defined
как медиана/среднее число этих ri (я =1, ···, n). • Parete, оценивающий подход ·
Ранжирование согласно, "каким количеством людей в населении они являются
юридическим адресом - inated. Мы теперь смотрим на типичный implemetation MOGA.
Алгоритм (Много Объективный GA)
1. Калибруйте население.
2. Выберите людей однородно из населения.
3. Выполните переход и мутацию, чтобы создать ребенка.
4. Вычислите разряд нового ребенка.
5. Найдите человека во всем населении, которое является самым подобным
ребенку. Замените того человека новым ребенком, если ранжирование ребенка лучше,
или если ребенок доминирует над ним
6. Обновите ранжирование населения, если ребенок был введен.
7. Выполните шаги 2-6 согласно популяционному размеру.
8. Если критерию остановки не соответствуют, идут, чтобы ступить 2 и начать
новое поколение.
16.1 Перепосещений Навигации Робота – Исследование Любителя Марса
Download