418
правок
Изменения
Нет описания правки
== 4.4 Алгоритмическая структура K* ==
Алгоритмический принцип K* следующий. Будем запускать алгоритмы Дейкстры и A* на <tex>G</tex> с чередованием. Сначала, мы запустим выполним A* на <tex>G</tex> , который будет работать до тех, пока вершина <tex>t</tex> не будет выбрана из очереди для рассмотренияраскрытия. Затем, вы запустим алгоритмы алгоритм Дейкстры на доступной части <tex>P(G)</tex>. Каждый узел рассмотрел раскрытый Дейкстрой представляет путь решения. Если точнее, то путь <tex>\sigma</tex> в <tex>P(G)</tex>, по которому Дейкстра достигла этого узла является решением. Путь <tex>s-t</tex> может быть построен из <tex>\sigma</tex> за линейное время путем вычисления последовательности запасных ребер <tex>seq(\sigma)</tex> и затем <tex>s-t</tex> пути из неё. Если Дейкстра находит <tex>k</tex> кратчайших путей, то K* завершается успешно. Иначе, A* возобновляется для исследования большей части <tex>G</tex>. Это приводит к росту <tex>P(G)</tex>, на котором алгоритм Дейкстры затем будет возобновлен. Мы будем повторять этот процесс до тех пор, пока алгоритм Дейкстры не найдет <tex>k</tex> кратчайших путей.
Data: A graph given by its start vertex s ∈ V and its successor function succ and a