Алгоритм Дикстры
Алгоритм Дикстры — метод нахождения точки из пересечения выпуклых множеств. Является вариантом метода поочерёдного проецирования, известного также как метод проецирования в выпуклые множества. В простейшем варианте метод находит точку из пересечения двух выпуклых множеств путём итеративного проецирования в каждое из них. Метод отличается от метода поочерёдного проецирования наличием промежуточных шагов. Параллельную версия алгоритма разработали Гафке и Матар.
Метод назван именем Ричарда Л. Дикстры, предложившего его в 1980-х годах.
Ключевое отличие между алгоритмом Дикстры и методом стандартного поочерёдного проецирования возникает в случае, когда пересечение двух множеств состоит из более чем одной точки. В этом случае метод поочерёдного проецирования даёт некоторую произвольную точку в пересечении, в то время как алгоритм Дикстры даёт вполне определённую точку — проекцию точки r в пересечение, где r — данная алгоритму начальная точка.
Алгоритм

Алгоритм Дикстры находит для каждой точки единственную точку в , такую что:
- для всех
где являются выпуклыми множествами. Эта задача эквивалентна поиску проекции точки во множество , которую мы обозначим .
Чтобы использовать алгоритм Дикстры, нужно знать, каким образом находить проекцию точки во множества и по отдельности.
Сначала рассмотрим метод поочерёдного проецирования (типа POCS) (который исследовал первоначально для случая, когда множества являются линейными подпространствами, Джон фон НейманШаблон:Sfn). Метод стартует с точки и создаёт последовательность
- .
Алгоритм Дикстры имеет аналогичный вид, но использует дополнительные переменные. Метод начинает с и обновляет переменные по формулам
Последовательность точек сходится к решению исходной задачи. О сходимости и современных модификациях см. статью Комбета и ПескеШаблон:Sfn.
Примечания
Литература
- Шаблон:Книга
- Шаблон:Статья (Репринт лекционных заметок, выпущенных в 1933)
- Шаблон:Статья
- Шаблон:Статья