Jump to content

Алгоритм полета

Алгоритм полета — это тип совместной эволюции, основанный на парижском подходе. [1] Алгоритм полета был впервые разработан в 1999 году в рамках применения эволюционных алгоритмов к компьютерному стереозрению . [2] [3] В отличие от классического подхода к стереозрению, основанного на изображениях, который извлекает примитивы изображения, а затем сопоставляет их для получения трехмерной информации, агоритм полета основан на прямом исследовании трехмерного пространства сцены. Муха определяется как трехмерная точка, описываемая ее координатами ( x , y , z ). После того, как случайная популяция мух была создана в пространстве поиска, соответствующем полю обзора камер, для ее эволюции (на основе парадигмы Эволюционной стратегии) ​​использовалась фитнес-функция , которая оценивает, насколько вероятно, что муха лежит на видимой поверхности объект, основанный на согласованности проекций его изображений. С этой целью фитнес-функция использует уровни серого, цвета и/или текстуры рассчитанных проекций мух.

Первой областью применения алгоритма Fly было стереозрение. [2] [3] [4] [5] В то время как классические подходы с приоритетом изображения используют сопоставление функций стереоизображений для построения трехмерной модели, алгоритм Fly непосредственно исследует трехмерное пространство и использует данные изображения для оценки достоверности трехмерных гипотез. Вариант под названием «Динамические мухи» определяет мушку как 6-кратное число ( x , y , z , x' , y' , z' ), включающее скорость мухи. [6] [7] Компоненты скорости явно не учитываются при расчете приспособленности, но используются при обновлении положений мух и подчиняются аналогичным генетическим операторам (мутация, кроссинговер).

Применение мух для обхода препятствий на транспортных средствах [8] использует тот факт, что популяция мух представляет собой совместимое со временем, квазинепрерывно развивающееся представление сцены, чтобы напрямую генерировать сигналы управления транспортным средством от мух. Использование алгоритма полета не ограничивается строго стереоизображениями, поскольку могут быть добавлены другие датчики (например, акустические датчики приближения и т. д.) в качестве дополнительных элементов оптимизируемой фитнес-функции. Информация одометрии также может использоваться для ускорения обновления местоположения мух, и, наоборот, положения мух могут использоваться для предоставления информации о локализации и картографии. [9]

Другая область применения алгоритма Fly — реконструкция эмиссионной томографии в ядерной медицине . Алгоритм Флай успешно применяется в однофотонной эмиссионной компьютерной томографии. [10] и позитронно-эмиссионная томография [11] . [12] Здесь каждая муха считается излучателем фотонов, и ее пригодность основана на соответствии моделируемой освещенности датчиков реальной картине, наблюдаемой на датчиках. В этом приложении функция приспособленности была переопределена для использования новой концепции «предельной оценки». Здесь приспособленность одного человека рассчитывается как его вклад (положительный или отрицательный) в качество населения мира. Он основан на принципе перекрестной проверки с исключением одного . Глобальная функция приспособленности оценивает качество населения в целом; только тогда приспособленность особи (мухи) рассчитывается как разница между глобальными значениями приспособленности популяции с конкретной мухой и без нее, чья индивидуальная функция приспособленности должна быть оценена. [13] [14] В [15] пригодность каждой мухи рассматривается как «уровень уверенности». Он используется в процессе вокселизации для настройки индивидуального следа мухи с помощью неявного моделирования (например, метаболлов ). Это дает более гладкие и более точные результаты.

Совсем недавно его начали использовать в цифровом искусстве для создания мозаичных изображений или распыления краски. [16] Примеры изображений можно найти на YouTube

Парижская эволюция

[ редактировать ]

Здесь популяция людей рассматривается как общество , в котором люди сотрудничают для достижения общей цели. Это реализуется с помощью эволюционного алгоритма, включающего все распространенные генетические операторы (например, мутацию, скрещивание, отбор). Основное отличие заключается в фитнес-функции. Здесь используются два уровня фитнес-функции:

  • Локальная функция пригодности для оценки производительности данного человека (обычно используется в процессе отбора).
  • Глобальная фитнес-функция для оценки производительности всей совокупности. Максимизация (или минимизация в зависимости от рассматриваемой проблемы) этой глобальной приспособленности является целью населения.

Кроме того, необходим механизм разнообразия, чтобы люди не собирались только в нескольких областях поискового пространства. Другое отличие заключается в извлечении решения проблемы после завершения эволюционного цикла. В классических эволюционных подходах решению соответствует лучший экземпляр, а остальная популяция отбрасывается. Здесь все люди (или люди из подгруппы населения) сопоставляются для поиска решения проблемы. Способ построения функций приспособленности и способ извлечения решения, конечно, зависят от задачи.

Примеры приложений Parisian Evolution включают:

Значения

[ редактировать ]

Кооперативная коэволюция — это широкий класс эволюционных алгоритмов , в которых сложная проблема решается путем ее разложения на подкомпоненты, которые решаются независимо. Парижский подход имеет много общего с кооперативным коэволюционным алгоритмом . Парижский подход использует одну популяцию, тогда как в кооперативном коэволюционном алгоритме может использоваться множество видов . Подобные внутренние эволюционные двигатели рассматриваются в классическом эволюционном алгоритме , кооперативном коэволюционном алгоритме и парижской эволюции. Разница между кооперативным коэволюционным алгоритмом и парижской эволюцией заключается в семантике популяции. Кооперативный коэволюционный алгоритм делит большую проблему на подзадачи (группы людей) и решает их отдельно для достижения большой проблемы. [17] Между особями разных субпопуляций нет взаимодействия/размножения, только с особями одной и той же субпопуляции. Однако парижские эволюционные алгоритмы решают целую проблему как большую составляющую. Все особи популяции сотрудничают вместе, чтобы направить всю популяцию к привлекательным областям поискового пространства.

Кооперативная коэволюция и оптимизация роя частиц (PSO) имеют много общего. PSO вдохновлен социальным поведением стаи птиц или стайной рыбы. [18] [19] Первоначально он был представлен как инструмент для реалистичной анимации в компьютерной графике. Он использует сложных людей, которые взаимодействуют друг с другом, чтобы построить визуально реалистичное коллективное поведение путем корректировки правил поведения людей (которые могут использовать генераторы случайных чисел). При математической оптимизации каждая частица роя каким-то образом следует своему собственному случайному пути, ориентированному на лучшую частицу роя. В алгоритме Fly мухи стремятся построить пространственное представление сцены на основе фактических данных датчиков; мухи не общаются и не сотрудничают явно, а также не используют никаких поведенческих моделей.

Оба алгоритма представляют собой методы поиска, которые начинаются с набора случайных решений, которые итеративно корректируются в направлении глобального оптимума. Однако решением проблемы оптимизации в алгоритме Мухи является популяция (или подмножество популяции): мухи неявно сотрудничают для построения решения. В PSO решением является одна частица, имеющая наилучшую приспособленность. Еще одно основное различие между алгоритмом Fly и PSO заключается в том, что алгоритм Fly не основан на какой-либо поведенческой модели, а лишь строит геометрическое представление.

Приложения алгоритма Fly

[ редактировать ]


Пример: реконструкция томографии

[ редактировать ]
синограмма из , что известно.
Пример реконструкции фантома хот-рода с использованием алгоритма полета.

Реконструкция томографии — это обратная задача , которая часто является некорректной из-за отсутствия данных и/или шума. Ответ на обратную задачу не является единственным, а в случае экстремального уровня шума его может вообще не быть. Входные данные алгоритма реконструкции могут быть представлены в виде преобразования Радона или синограммы. данных для восстановления . неизвестно; известно. Сбор данных в томографии можно смоделировать следующим образом:

где - системная матрица или оператор проекции и соответствует некоторому шуму Пуассона . В этом случае реконструкция соответствует обращению преобразования Радона :

Обратите внимание, что может учитывать шум, геометрию сбора данных и т. д. Алгоритм Fly является примером итеративной реконструкции . Итеративные методы томографической реконструкции относительно легко моделировать:

где это оценка , что минимизирует метрику ошибки (здесь 2 -norm , но можно использовать и другие метрики ошибок) между и . Обратите внимание, что можно ввести термин регуляризации , чтобы предотвратить переобучение и сгладить шум, сохраняя при этом края. Итерационные методы могут быть реализованы следующим образом:

Итеративная коррекция в томографической реконструкции.
  (i) The reconstruction starts using an initial estimate of the image (generally a constant image),
  (ii) Projection data is computed from this image,
  (iii) The estimated projections are compared with the measured projections,
  (iv) Corrections are made to correct the estimated image, and
  (v) The algorithm iterates until convergence of the estimated and measured projection sets.

Псевдокод ниже представляет собой пошаговое описание алгоритма Fly для томографической реконструкции . Алгоритм следует установившейся парадигме. В иллюстративных целях используются продвинутые генетические операторы, такие как митоз, двойная мутация и т. д. [22] [23] игнорируются. Реализацию JavaScript можно найти на Fly4PET .


algorithm fly-algorithm is
    input: number of flies (N), 
           input projection data (preference)
    
    output: the fly population (F), 
            the projections estimated from F (pestimated)
            the 3-D volume corresponding to the voxelisation of F (VF)
    
    postcondition: the difference between pestimated and preference is minimal.
    
    START
    
 1.   // Initialisation
 2.   // Set the position of the N flies, i.e. create initial guess
 3.   for each fly i in fly population F do
 4.       F(i)x ← random(0, 1)
 5.       F(i)y ← random(0, 1)
 6.       F(i)z ← random(0, 1)
 7.       Add F(i)'s projection in pestimated
 8.   
 9.   // Compute the population's performance (i.e. the global fitness)
10.   Gfitness(F) ← Errormetrics(preference, pestimated)
11.    
12.   fkill ← Select a random fly of F
13.    
14.   Remove fkill's contribution from pestimated
15.    
16.   // Compute the population's performance without fkill
17.   Gfitness(F-{fkill}) ← Errormetrics(preference, pestimated)
18.    
19.   // Compare the performances, i.e. compute the fly's local fitness
20.   Lfitness(fkill) ← Gfitness(F-{fkill}) - Gfitness(F)
21.    
22.   If the local fitness is greater than 0, // Thresholded-selection of a bad fly that can be killed
23.       then go to Step 26.   // fkill is a good fly (the population's performance is better when fkill is included): we should not kill it
24.       else go to Step 28.   // fkill is a bad fly (the population's performance is worse when fkill is included): we can get rid of it
25.    
26.   Restore the fly's contribution, then go to Step 12.
27.    
28.   Select a genetic operator
29.    
30.   If the genetic operator is mutation,
31.       then go to Step 34.
32.       else go to Step 50.
33.    
34.   freproduce ← Select a random fly of F
35.    
14.   Remove freproduce's contribution from pestimated
37.    
38.   // Compute the population's performance without freproduce
39.   Gfitness(F-{freproduce}) ← Errormetrics(preference, pestimated)
40.    
41.   // Compare the performances, i.e. compute the fly's local fitness
42.   Lfitness(freproduce) ← Gfitness(F-{freproduce}) - Gfitness(F)
43.    
44.   Restore the fly's contribution
45.    
46.   If the local fitness is lower than or equal to 0, // Thresholded-selection of a good fly that can reproduce
47.       else go to Step 34.   // freproduce is a bad fly: we should not allow it to reproduce
48.       then go to Step 53.   // freproduce is a good fly: we can allow it to reproduce
49.    
50.   // New blood / Immigration
51.   Replace fkill by a new fly with a random position, go to Step 57.
52.    
53.   // Mutation
54.   Copy freproduce into fkill
55.   Slightly and randomly alter fkill's position
56.    
57.   Add the new fly's contribution to the population
58.    
59.   If stop the reconstruction,
60.       then go to Step 63.
61.       else go to Step 10.
62.    
63.   // Extract solution
64.   VF ← voxelisation of F
65.    
66.   return VF
   
   END

Пример: цифровое искусство.

[ редактировать ]
Эволюционный поиск.
Изображение реконструировано после оптимизации с использованием набора полос в качестве шаблона для каждой плитки.

В этом примере входное изображение должно быть аппроксимировано набором плиток (например, как в древней мозаике ). Плитка имеет ориентацию (угол θ), три компонента цвета (R, G, B), размер (w, h) и положение (x, y, z). Если есть N плиток, нужно угадать 9 N неизвестных чисел с плавающей запятой. Другими словами, для 5000 плиток нужно найти 45 000 чисел. Используя классический эволюционный алгоритм, в котором ответом на задачу оптимизации является лучший индивидуум, геном индивидуума будет состоять из 45 000 генов. Этот подход будет чрезвычайно дорогостоящим с точки зрения сложности и времени вычислений. То же самое относится и к любому классическому алгоритму оптимизации. Используя алгоритм Fly, каждый человек имитирует плитку, и его можно индивидуально оценить, используя его локальную приспособленность, чтобы оценить ее вклад в производительность популяции (глобальная приспособленность). Здесь у особи 9 генов вместо 9 N , а N. особей Ее можно решить как задачу реконструкции следующим образом:

где это входное изображение, и — координаты пикселей по горизонтальной и вертикальной оси соответственно, и ширина и высота изображения в пикселях соответственно, популяция мух, и — проекционный оператор, создающий изображение из мух. Этот оператор проектирования может принимать множество форм. В своей работе З. Али Абудд [16] использует OpenGL для создания различных эффектов (например, мозаики или аэрозольной краски). Для ускорения оценки фитнес-функций OpenCL также используется . Алгоритм начинается с популяции который генерируется случайным образом (см. строку 3 алгоритма выше). затем оценивается с использованием глобальной пригодности для вычисления (см. строку 10). – это целевая функция, которую необходимо минимизировать.

См. также

[ редактировать ]
  1. ^ Колле, Пьер; Луше, Жан (октябрь 2009 г.). «Искусственная эволюция и парижский подход: применение в обработке сигналов и изображений». В Сиарри, Патрик (ред.). Оптимизация обработки сигналов и изображений . Вили-ИСТЕ. ISBN  9781848210448 .
  2. ^ Jump up to: а б с Луше, Жан (февраль 2000 г.). Алгоритм мухи: стратегия индивидуальной эволюции, применяемая в стереозрении . Распознавание образов и искусственный интеллект (RFIA2000).
  3. ^ Jump up to: а б с Луше, Жан (сентябрь 2000 г.). Стереоанализ с использованием стратегии индивидуальной эволюции . Материалы 15-й Международной конференции по распознаванию образов, 2000 г. (ICPR'00). Барселона, Испания: IEEE. стр. 908–911. дои : 10.1109/ICPR.2000.905580 . ISBN  0-7695-0750-6 .
  4. ^ Jump up to: а б Луше, Жан (июнь 2001 г.). «Использование индивидуальной стратегии развития стереовидения». Генетическое программирование и развивающиеся машины . 2 (2): 101–109. дои : 10.1023/А:1011544128842 . S2CID   8953837 .
  5. ^ Jump up to: а б Бумаза, Амин; Луше, Жан (апрель 2003 г.). «Слияние датчиков мобильного робота с помощью мух». Конспекты лекций по информатике . Европейская конференция по генетическому программированию (EuroGP 2003). Том. 2611. Эссекс, Великобритания: Спрингер. стр. 357–367. дои : 10.1007/3-540-36605-9_33 . ISBN  978-3-540-00976-4 .
  6. ^ Jump up to: а б Луше, Жан; Гийон, Мод; Лесо, Мари-Жанна; Бумаза, Амин (март 2002 г.). «Алгоритм динамического полета: управление роботом посредством искусственной эволюции в реальном времени» (PDF) . В Латто, Клод (ред.). Машинное обучение и искусственная эволюция (на французском языке). Публикации Hermes Sciences. ISBN  978-2746203600 .
  7. ^ Jump up to: а б Луше, Жан; Гийон, Мод; Лесо, Мари-Жанна; Бумаза, Амин (январь 2002 г.). «Dynamic Flies: новый инструмент распознавания образов, применяемый для обработки стереопоследовательностей» (PDF) . Буквы для распознавания образов . 23 (1–3): 335–345. Бибкод : 2002PaReL..23..335L . дои : 10.1016/S0167-8655(01)00129-5 .
  8. ^ Jump up to: а б Бумаза, Амин; Луше, Жан (апрель 2001 г.). «Динамические мухи: использование эволюции в робототехнике в реальном времени». Конспекты лекций по информатике . Искусственная эволюция в анализе изображений и обработке сигналов (EVOIASP2001). Том. 2037. Комо, Италия: Спрингер. стр. 288–297. дои : 10.1007/3-540-45365-2_30 . ISBN  978-3-540-41920-4 .
  9. ^ Jump up to: а б Луше, Жан; Сапен, Эммануэль (2009). «Мухи открывают дверь, чтобы ХЛОПАТЬ». Конспекты лекций по информатике . Приложения эволюционных вычислений (EvoApplications 2009). Том. 5484. Тюбинген, Германия: Шпрингер. стр. 385–394. дои : 10.1007/978-3-642-01129-0_43 .
  10. ^ Jump up to: а б Буске, Орели; Луше, Жан-Мари; Рокчисани, Жан (октябрь 2007 г.). «Полностью трехмерная томографическая эволюционная реконструкция в ядерной медицине» (PDF) . Конспекты лекций по информатике . Материалы 8-й международной конференции по искусственной эволюции (EA'07). Том. 4926. Тур, Франция: Шпрингер, Гейдельберг. стр. 231–242. дои : 10.1007/978-3-540-79305-2_20 . ISBN  978-3-540-79304-5 .
  11. ^ Jump up to: а б Видаль, Франк П.; Лазаро-Понт, Дельфина; Легупиль, Самуэль; Луше, Жан; Луттон, Эвелин; Рокчисани, Жан-Мари (октябрь 2009 г.). «Искусственная эволюция 3D-ПЭТ-реконструкции» (PDF) . Конспекты лекций по информатике . Материалы 9-й международной конференции по искусственной эволюции (EA'09). Том. 5975. Страсбург, Франция: Шпрингер, Гейдельберг. стр. 37–48. дои : 10.1007/978-3-642-14156-0_4 . ISBN  978-3-642-14155-3 .
  12. ^ Jump up to: а б Видаль, Франк П.; Луше, Жан; Луттон, Эвелин; Рокчисани, Жан-Мари (октябрь – ноябрь 2009 г.). «Реконструкция ПЭТ с использованием стратегии кооперативной коэволюции в пространстве ЛОР». Протокол конференции симпозиума по ядерным наукам IEEE (NSS/MIC), 2009 г. Конференция по медицинской визуализации (MIC). Орландо, Флорида: IEEE. стр. 3363–3366. дои : 10.1109/NSSMIC.2009.5401758 .
  13. ^ Jump up to: а б Видаль, Франк П.; Луше, Жан; Рокчисани, Жан-Мари; Латтон, Эвелин (апрель 2010 г.). «Новые генетические операторы в алгоритме Fly: применение к реконструкции медицинских ПЭТ-изображений» (PDF) . Конспекты лекций по информатике . Европейский семинар по эволюционным вычислениям в анализе изображений и обработке сигналов (EvoIASP'10). Том. 6024. Стамбул, Турция: Шпрингер, Гейдельберг. стр. 292–301. дои : 10.1007/978-3-642-12239-2_30 . ISBN  978-3-642-12238-5 .
  14. ^ Jump up to: а б Видаль, Франк П.; Луттон, Эвелин; Луше, Жан; Рокчисани, Жан-Мари (сентябрь 2010 г.). «Пороговый отбор, митоз и двойная мутация в кооперативной коэволюции: применение к медицинской 3D-томографии» (PDF) . Конспекты лекций по информатике . Международная конференция по параллельному решению проблем из природы (PPSN'10). Том. 6238. Краков, Польша: Шпрингер, Гейдельберг. стр. 414–423. дои : 10.1007/978-3-642-15844-5_42 .
  15. ^ Jump up to: а б Али Аббуд, Зайнаб; Лавозель, Жюльен; Луттон, Эвелин; Рокчисани, Жан-Мари; Луше, Жан; Видаль, Франк П. (2017). «Вокселизация в алгоритме 3-D Fly для ПЭТ» (PDF) . Рой и эволюционные вычисления . 36 : 91–105. дои : 10.1016/j.swevo.2017.04.001 . ISSN   2210-6502 .
  16. ^ Jump up to: а б с Али Аббуд, Зайнаб; Амлал, Осман; Видаль, Франк П. (апрель 2017 г.). «Эволюционное искусство с использованием алгоритма полета» (PDF) . Конспекты лекций по информатике . Приложения эволюционных вычислений (EvoApplications 2017). Том. 10199. Амстердам, Нидерланды: Springer. стр. 455–470. дои : 10.1007/978-3-319-55849-3_30 .
  17. ^ Месехо, Пабло; Ибаньес, Оскар; Фернандес-Бланко, Энрике; Седрон, Франциско; Пасос, Алехандро; Порто-Пасос, Ана (2015). «Подход к обучению искусственных нейронов и глиальных сетей, основанный на совместной эволюции» (PDF) . Международный журнал нейронных систем . 25 (4): 1550012. doi : 10.1142/S0129065715500124 . hdl : 2183/17502 . ПМИД   25843127 . S2CID   7653183 .
  18. ^ Кеннеди, Дж; Эберхарт, Р. (1995). Оптимизация роя частиц . Материалы Международной конференции IEEE по нейронным сетям. IEEE. стр. 1942–1948. дои : 10.1109/ICNN.1995.488968 .
  19. ^ Ши, Ю; Эберхарт, Р. (1998). Модифицированный оптимизатор роя частиц . Материалы Международной конференции IEEE по эволюционным вычислениям. IEEE. стр. 69–73. дои : 10.1109/ICEC.1998.699146 .
  20. ^ Аббуд, Зайнаб Али; Видаль, Франк П. (2017). «Базовые, двойственные, адаптивные и направленные операторы мутации в алгоритме Fly». Конспекты лекций по информатике . 13-я биеннале Международная конференция по искусственной эволюции (EA-2017). Париж, Франция. стр. 106–119. ISBN  978-2-9539267-7-4 .
  21. ^ Аббуд, Зайнаб Али; Видаль, Франк П. (октябрь 2017 г.). «Fly4Arts: эволюционное цифровое искусство с алгоритмом полета» . Искусство и наука . 17–1 (1): 1–6. дои : 10.21494/ISTE.OP.2017.0177 .
  22. ^ Видаль, Франк П.; Луттон, Эвелин; Луше, Жан; Рокчисани, Жан-Мари (сентябрь 2010 г.). «Пороговый отбор, митоз и двойная мутация в кооперативной коэволюции: применение к медицинской 3D-томографии» (PDF) . Конспекты лекций по информатике . Параллельное решение проблем из природы - PPSN XI. Том. 6238. Краков, Польша: Springer Berlin / Heidelberg. стр. 414–423. дои : 10.1007/978-3-642-15844-5_42 . ISBN  978-3-642-15843-8 .
  23. ^ Али Аббуд, Зайнаб; Видаль, Франк П. (октябрь 2017 г.). «Базовые, двойственные, адаптивные и направленные операторы мутации в алгоритме Fly». Конспекты лекций по информатике . 13-я биеннале Международная конференция по искусственной эволюции. Париж, Франция: Springer-Verlag.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5817447058b397ec2524649f71516823__1717462500
URL1:https://arc.ask3.ru/arc/aa/58/23/5817447058b397ec2524649f71516823.html
Заголовок, (Title) документа по адресу, URL1:
Fly algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)