Метод быстрого марша
Метод быстрого марша [1] — численный метод , созданный Джеймсом Сетианом для решения краевых задач Эйконала уравнения :
Обычно такая задача описывает эволюцию замкнутой поверхности как функцию времени. со скоростью в нормальном направлении в точке на распространяющейся поверхности. Задается функция скорости и время пересечения контуром точки получается решением уравнения. Альтернативно, можно рассматривать как минимальное время, необходимое для достижения начиная с точки . Метод быстрого продвижения использует эту оптимальным управлением интерпретацию проблемы с для построения решения вовне, исходя из «известной информации», то есть граничных значений.
Алгоритм аналогичен алгоритму Дейкстры и использует тот факт, что информация поступает только наружу из области посева. Эта проблема является частным случаем методов набора уровней . Существуют более общие алгоритмы , но они обычно медленнее.
Расширения для решения неплоских (триангулированных) областей
для поверхности и были представлены Роном Киммелом и Джеймсом Сетианом .
- Лабиринт как кратчайший путь функции скорости
- Мультитрафареты карты расстояний со случайными исходными точками
Алгоритм
[ редактировать ]Во-первых, предположим, что область дискретизирована в сетку. Мы будем называть точки сетки узлами. Каждый узел имеет соответствующее значение .
Алгоритм работает так же, как алгоритм Дейкстры, но отличается способом расчета значений узлов. В алгоритме Дейкстры значение узла вычисляется с использованием одного из соседних узлов. Однако при решении УЧП в , между и соседние узлы используются .
Узлы помечены как далекие (еще не посещенные), рассмотренные (посещенные и значение предварительно присвоено) и принятые (посещенные и значение присвоенное постоянно).
- Назначьте каждый узел ценность и отметьте их как можно дальше ; для всех узлов набор и пометить как принято .
- Для каждого дальнего узла , используйте формулу обновления Эйконала , чтобы вычислить новое значение для . Если затем установите и пометить как считается .
- Позволять быть рассматриваемым узлом с наименьшим значением . Этикетка как принято .
- Для каждого соседа из что не принято, рассчитайте ориентировочную стоимость .
- Если затем установите . Если был помечен как «далеко» , обновите ярлык на «рассмотрено» .
- узел существует Если рассматриваемый , вернитесь к шагу 3. В противном случае завершите работу.
См. также
[ редактировать ]Внешние ссылки
[ редактировать ]- Методы Дейкстры для уравнения Эйконала Дж. Н. Цициклис, 1995 г.
- Метод быстрого марша и его применение Джеймс А. Сетиан
- Методы быстрого марша с использованием нескольких трафаретов
- Реализация Multi-Stencils Fast Marching Matlab
- Детали реализации методов быстрого марша
- Обобщенный метод быстрого марша Forcadel et al. [2008] за применение в сегментации изображений.
- Реализация метода быстрого марша на Python
- См. главу 8 в разделе «Проектирование и оптимизация нанооптических элементов путем сопоставления изготовления с оптическим поведением». Архивировано 20 августа 2013 г. на Wayback Machine.