Алгоритм оценки распределения

Алгоритм оценки распределения (англ. Estimation of distribution algorithm, EDA[1]) — это класс стохастических оптимизационных методов, направленных на поиск оптимума путём построения и выборки явных вероятностных моделей перспективных кандидатных решений. Оптимизация здесь рассматривается как последовательность инкрементальных обновлений вероятностной модели: начальное распределение кодирует неинформативное априорное знание о допустимых решениях, а финальное распределение — генерирует лишь глобальные оптимумы[2][3][4].

Алгоритмы оценки распределения относятся к классу эволюционных алгоритмов. Главное отличие EDA от большинства традиционных эволюционных алгоритмов в том, что новые кандидатные решения порождаются не неявным распределением, определяемым вариационными операторами, а явным вероятностным распределением, кодируемым Байесовской сетью, многомерным нормальным распределением либо другой моделью. Как и другие эволюционные алгоритмы, EDA применимы для оптимизации задач в различных представлениях — от векторов до S-выражений в стиле LISP, а качество решений обычно оценивается одной или несколькими целевыми функциями.

Общая схема работы EDA следующая:

t := 0
инициализировать модель M(0) равномерным распределением по допустимым решениям
пока (критерий завершения не достигнут) делать
    P := сгенерировать N>0 кандидатов путём выборки из M(t)
    F := вычислить значения целевых функций для всех кандидатов из P
    M(t + 1) := adjust_model(P, F, M(t))
    t := t + 1

Использование явных вероятностных моделей позволяет EDA эффективно решать сложные задачи оптимизации, труднопреодолимые для классических эволюционных алгоритмов, например, задачи с высокой эпистазией. Кроме того, важным преимуществом EDA является то, что последовательность построенных моделей предоставляет пользователю большое количество информации о структуре решаемой задачи. Эти сведения могут быть использованы при проектировании специализированных эвристик для локального поиска, при дальнейшем применении EDA для схожих задач или для создания эффективной вычислительной модели задачи.

Например, если популяция представлена битовыми строками длины 4, EDA может моделировать вероятности появления 1 в каждом бите через вектор (p1, p2, p3, p4), где pi — вероятность наличия 1 на i-м месте. Используя этот вектор вероятностей, можно генерировать сколь угодно много новых решений.

Алгоритмы оценки распределения (EDA)

В этом разделе описаны вероятностные модели, используемые в различных известных EDA разной степени сложности. Во всех случаях предполагается популяция на поколении , оператор выбора , оператор построения модели и оператор генерации .

Одномерные факторизации

Простейшие EDA предполагают независимость переменных, то есть . Соответственно, одномерные EDA используют только одномерную статистику, а многомерное распределение представляется произведением одномерных вероятностных распределений:

Такие факторизации применяются во многих различных EDA, далее приведены отдельные из них.

Алгоритм одномерного маргинального распределения (UMDA)

UMDA[5] — это простой EDA, где оператор оценивает маргинальные вероятности по выбранной популяции . Пусть содержит элементов, тогда вычисляет вероятности:

Каждый шаг UMDA можно описать так:

Популяционно-инкрементальное обучение (PBIL)

PBIL[6] представляет популяцию неявно через её модель, из которой выполняется выборка новых решений и обновление самой модели. На каждом поколении выбирается индивидов и из них отбирается . Эти индивиды используются для обновления модели по формуле:

где — параметр скорости обучения; маленькое значение означает минимальные изменения текущей модели при добавлении новых решений. PBIL можно записать так:

Компактный генетический алгоритм (cGA)

CGA[7] также использует неявно определяемые популяции через одномерные распределения. На каждом поколении берутся две особи , , их сортируют по убыванию приспособленности, лучшая обозначается , худшая — . Оценка одномерных вероятностей производится так:

где — постоянная, обычно . CGA определяется так:

Двумерные факторизации

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

Двумерные и многомерные распредления, как правило, отображаются в виде вероятностных графических моделей, где рёбра соответствуют зависимостям (условным вероятностям), а вершины — переменным. Для обучения структуры графа из данных используется linkage-learning.

Кластеризация входов с максимизацией взаимной информации (MIMIC)

MIMIC[8] факторизует совместное распределение вероятностей как цепочку зависимостей между переменными. Находится перестановка переменных, минимизирующая дивергенцию Кульбака — Лейблера, то есть . Итоговое распределение:

Новые решения генерируются последовательно слева направо по цепочке переменных. Так как распределение пересчитывается на каждом поколении, работа MIMIC выражается так:

Алгоритм двумерного маргинального распределения (BMDA)

BMDA[9] разбивает совместное распределение на несколько двумерных. Сначала случайно выбранная переменная включается как узел в граф, далее по мере обхода к имеющимся узлам добавляются наиболее зависимые переменные из ещё не включённых, пока не останется неродственных. Итоговая модель представляет собой лес из деревьев, где корневые переменные формируют независимые компоненты, остальные — условные.

Каждый шаг BMDA:

Многомерные факторизации

Дальнейшее развитие EDA опирается на многомерные факторизации. Совместное распределение разлагается на компоненты ограниченного размера :

Построение и обучение многомерных графических моделей трудозатратно, поэтому часто используют приближение многомерной статистики на основе двумерной. Это обеспечивает вычислимость за полиномиальное время, но ограничивает универсальность.

Расширенный компактный генетический алгоритм (eCGA)

ECGA[10] — один из первых EDA с явной многомерной факторизацией, учитывающий высокоуровневые зависимости между переменными. Здесь совместное распределение представлено произведением многомерных маргинальных, для кластера (linkage set) , :

ECGA популяризировал термин linkage-learning — процедуры определения зависимостей. Обучение связываний опирается исключительно на две меры: сложность модели (MC) и степень компрессии популяции (CPC):

где — совместная энтропия группы переменных . Модель связываний строится путём последовательного объединения кластеров, максимизирующих прирост метрики , до тех пор пока дальнейшие улучшения невозможны. Ход ECGA:

Байесовский алгоритм оптимизации (BOA)

BOA[11][12][13] использует байесовские сети для построения и выборки перспективных решений. Байесовские сети — ориентированные ациклические графы, где узлы — переменные, а рёбра — условные вероятности. Максимальная размерность условного множества — переменных. BOA строит графическую модель вероятностной факторизации, параметры которой (условные вероятности) оцениваются по выбранной популяции методом максимального правдоподобия:

Структура самой сети настраивается итеративно, на каждом шаге добавляя рёбра, максимизирующие некую меру качества (например, BIC либо метрика Бая–Дирихле)[14]. После построения сети BOA генерирует решения в упорядочении по предшественникам: каждая переменная выбирается условно по "родителям". Формально:

Генетический алгоритм с деревом связей (LTGA)

LTGA[15] отличается тем, что не строит явное вероятностное распределение, а лишь модель связей — семейство подмножеств (FOS):

Обучение дерева связей — определение иерархической кластеризации: на каждом шаге объединяются два "ближайших" кластера, в поддеревья, которые и сохраняются как подмножества .

LTGA использует для процедуры "оптимального смешивания" (революционный модифицированный оператор рекомбинации), обозначаемой : перенос блоков генетического материала только если улучшение качества. Формально:

   Вход: семейство подмножеств  и популяция 
   Выход: популяция .
   для каждого  в  делать
       для каждого  в  делать
           выбрать случайный 
            := 
           := 
           если  то
               
   вернуть 

В LTGA нет классического оператора отбора — отбор интегрирован в процедуру смешивания. Подобные идеи широко используются в локальных поисковых эвристиках; таким образом, LTGA — гибридный подход. Один шаг LTGA:

Другие варианты

  • Probability collectives (PC)[16][17]
  • Hill climbing with learning (HCwL)[18]
  • Estimation of multivariate normal algorithm (EMNA)
  • Estimation of Bayesian networks algorithm (EBNA)
  • Стохастический подъём на холм с обучением по векторам нормальных распределений (SHCLVND)[19]
  • Real-coded PBIL
  • Selfish Gene Algorithm (SG)[20]
  • Compact Differential Evolution (cDE)[21] и её варианты[22][23][24][25][26]
  • Компактный рой частиц (cPSO)[27]
  • Компактная бактериальная поисковая оптимизация (cBFO)[28]
  • Вероятностная инкрементальная эволюция программ (PIPE)[29]
  • Estimation of Gaussian networks algorithm (EGNA)
  • Estimation multivariate normal algorithm with thresheld convergence[30]
  • Genetic Algorithm with Matrix of Dependences (DSMGA)[31][32]

Примечания

  1. Pelikan, Martin (21 февраля 2005). “Hierarchical Bayesian Optimization Algorithm”. Studies in Fuzziness and Soft Computing [англ.]. Springer Berlin Heidelberg. 170: 13—30. DOI:10.1007/978-3-540-32373-0_2. ISBN 9783540237747. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  2. Pedro Larrañaga. Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation / Pedro Larrañaga, Jose A. Lozano. — Boston : Springer US, 2002. — ISBN 978-1-4615-1539-5.
  3. Jose A. Lozano. Towards a New Evolutionary Computation: Advances in the Estimation of Distribution Algorithms / Jose A. Lozano, P. Larrañaga, I. Inza … [и др.]. — Berlin : Springer, 2006. — ISBN 978-3-540-32494-2.
  4. Pelikan, Martin. Scalable Optimization via Probabilistic Modeling: From Algorithms to Applications; with 26 tables / Martin Pelikan, Kumara Sastry, Erick Cantú-Paz. — Berlin : Springer, 2006. — ISBN 978-3540349532.
  5. Mühlenbein, Heinz (1 сентября 1997). “The Equation for Response to Selection and Its Use for Prediction”. Evol. Computation. 5 (3): 303—346. DOI:10.1162/evco.1997.5.3.303. ISSN 1063-6560. PMID 10021762. S2CID 2593514. Дата обращения 2024-06-28.
  6. Baluja, Shummet (1 января 1994). “Population-Based Incremental Learning: A Method for Integrating Genetic Search Based Function Optimization and Competitive Learning”. Carnegie Mellon University. Дата обращения 2024-06-28.
  7. Harik, G.R.; Lobo, F.G.; Goldberg, D.E. (1999). “The compact genetic algorithm”. IEEE Transactions on Evolutionary Computation. 3 (4): 287—297. DOI:10.1109/4235.797971. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  8. Bonet, Jeremy S. De; Isbell, Charles L.; Viola, Paul (1 января 1996). “MIMIC: Finding Optima by Estimating Probability Densities”. Advances in Neural Information Processing Systems: 424. CiteSeerX 10.1.1.47.6497. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  9. Pelikan, Martin. The Bivariate Marginal Distribution Algorithm // Advances in Soft Computing / Martin Pelikan, Heinz Muehlenbein. — 1999. — P. 521–535. — ISBN 978-1-85233-062-0. — doi:10.1007/978-1-4471-0819-1_39.
  10. Harik, Georges Raif (1997). Learning Gene Linkage to Efficiently Solve Problems of Bounded Difficulty Using Genetic Algorithms (phd). University of Michigan. Дата обращения 2024-06-28.
  11. Pelikan, Martin; Goldberg, David E.; Cantu-Paz, Erick (1 января 1999). “BOA: The Bayesian Optimization Algorithm”. Morgan Kaufmann: 525—532. CiteSeerX 10.1.1.46.8131. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  12. Pelikan, Martin. Hierarchical Bayesian Optimization Algorithm: Toward a New Generation of Evolutionary Algorithms. — 1-е. — Berlin : Springer, 2005. — ISBN 978-3-540-23774-7.
  13. Wolpert, David H.; Rajnarayan, Dev (1 января 2013). “Using Machine Learning to Improve Stochastic Optimization”. Proceedings of the 17th AAAI Conference on Late-Breaking Developments in the Field of Artificial Intelligence. Aaaiws'13-17: 146—148. Дата обращения 2024-06-28.
  14. Larrañaga, Pedro; Karshenas, Hossein; Bielza, Concha; Santana, Roberto (21 августа 2012). “A review on probabilistic graphical models in evolutionary computation”. Journal of Heuristics. 18 (5): 795—819. DOI:10.1007/s10732-012-9208-4. S2CID 9734434. Дата обращения 2024-06-28.
  15. Thierens, Dirk. The Linkage Tree Genetic Algorithm // Parallel Problem Solving from Nature, PPSN XI. — Springer, 11 сентября 2010. — P. 264–273. — ISBN 978-3-642-15843-8. — doi:10.1007/978-3-642-15844-5_27.
  16. Wolpert, David H.; Strauss, Charlie E. M.; Rajnarayan, Dev (декабрь 2006). “Advances in Distributed Optimization Using Probability Collectives”. Advances in Complex Systems. 9 (4): 383—436. CiteSeerX 10.1.1.154.6395. DOI:10.1142/S0219525906000884. Дата обращения 2024-06-28. Проверьте дату в |date= (справка на английском); |access-date= требует |url= (справка)
  17. Pelikan, Martin; Goldberg, David E.; Lobo, Fernando G. (2002). “A Survey of Optimization by Building and Using Probabilistic Models”. Computational Optimization and Applications. 21 (1): 5—20. DOI:10.1023/A:1013500812258. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  18. Rudlof, Stephan; Köppen, Mario (1997). “Stochastic Hill Climbing with Learning by Vectors of Normal Distributions” [англ.]: 60—70. CiteSeerX 10.1.1.19.3536. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  19. Rudlof, Stephan; Köppen, Mario (1997). “Stochastic Hill Climbing with Learning by Vectors of Normal Distributions”: 60––70. CiteSeerX 10.1.1.19.3536. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  20. Corno, Fulvio. The selfish gene algorithm: a new evolutionary optimization strategy / Fulvio Corno, Matteo Sonza Reorda, Giovanni Squillero. — ACM, 27 февраля 1998. — P. 349–355. — ISBN 978-0897919692. — doi:10.1145/330560.330838.
  21. Mininno, Ernesto; Neri, Ferrante; Cupertino, Francesco; Naso, David (2011). “Compact Differential Evolution”. IEEE Transactions on Evolutionary Computation [англ.]. 15 (1): 32—54. DOI:10.1109/tevc.2010.2058120. ISSN 1089-778X. S2CID 20582233. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  22. Iacca, Giovanni; Caraffini, Fabio; Neri, Ferrante (2012). “Compact Differential Evolution Light: High Performance Despite Limited Memory Requirement and Modest Computational Overhead”. Journal of Computer Science and Technology [англ.]. 27 (5): 1056—1076. DOI:10.1007/s11390-012-1284-2. ISSN 1000-9000. S2CID 3184035. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  23. Mallipeddi, Rammohan. Ensemble strategies in Compact Differential Evolution // 2011 IEEE Congress of Evolutionary Computation (CEC) : [] / Rammohan Mallipeddi, Giovanni Iacca, Ponnuthurai Nagaratnam Suganthan … [и др.]. — IEEE, 2011. — P. 1972–1977. — ISBN 9781424478347. — doi:10.1109/cec.2011.5949857.
  24. Neri, Ferrante; Iacca, Giovanni; Mininno, Ernesto (2011). “Disturbed Exploitation compact Differential Evolution for limited memory optimization problems”. Information Sciences. 181 (12): 2469—2487. DOI:10.1016/j.ins.2011.02.004. ISSN 0020-0255. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  25. Iacca, Giovanni. Global supervision for compact Differential Evolution // 2011 IEEE Symposium on Differential Evolution (SDE) : [] / Giovanni Iacca, Rammohan Mallipeddi, Ernesto Mininno … [и др.]. — IEEE, 2011. — P. 1–8. — ISBN 9781612840710. — doi:10.1109/sde.2011.5952051.
  26. Iacca, Giovanni. Super-fit and population size reduction in compact Differential Evolution // 2011 IEEE Workshop on Memetic Computing (MC) : [] / Giovanni Iacca, Rammohan Mallipeddi, Ernesto Mininno … [и др.]. — IEEE, 2011. — P. 1–8. — ISBN 9781612840659. — doi:10.1109/mc.2011.5953633.
  27. Neri, Ferrante; Mininno, Ernesto; Iacca, Giovanni (2013). “Compact Particle Swarm Optimization”. Information Sciences. 239: 96—121. DOI:10.1016/j.ins.2013.03.026. ISSN 0020-0255. Дата обращения 2024-06-28. |access-date= требует |url= (справка)
  28. Iacca, Giovanni. Compact Bacterial Foraging Optimization // Swarm and Evolutionary Computation : [англ.] / Giovanni Iacca, Ferrante Neri, Ernesto Mininno. — Springer, 2012. — P. 84–92. — ISBN 9783642293528. — doi:10.1007/978-3-642-29353-5_10.
  29. Salustowicz, R.; Schmidhuber, J. (1997). “Probabilistic incremental program evolution”. Evolutionary Computation [англ.]. 5 (2): 123—141. DOI:10.1162/evco.1997.5.2.123. ISSN 1530-9304. PMID 10021756. S2CID 10759266. Дата обращения 2024-06-28.
  30. Tamayo-Vera, Dania. Estimation multivariate normal algorithm with thresheld convergence // 2016 IEEE Congress on Evolutionary Computation (CEC) : [] / Dania Tamayo-Vera, Antonio Bolufe-Rohler, Stephen Chen. — IEEE, 2016. — P. 3425–3432. — ISBN 9781509006236. — doi:10.1109/cec.2016.7744223.
  31. Yu, Tian-Li. Genetic Algorithm Design Inspired by Organizational Theory: Pilot Study of a Dependency Structure Matrix Driven Genetic Algorithm : [англ.] / Tian-Li Yu, David E. Goldberg, Ali Yassine … [et al.]. — Springer Berlin Heidelberg, 2003. — P. 1620–1621. — ISBN 9783540406037. — doi:10.1007/3-540-45110-2_54.
  32. Hsu, Shih-Huan. Optimization by Pairwise Linkage Detection, Incremental Linkage Set, and Restricted / Back Mixing: DSMGA-II / Shih-Huan Hsu, Tian-Li Yu. — ACM, 11 июля 2015. — P. 519–526. — ISBN 9781450334723. — doi:10.1145/2739480.2754737.

Категории