Jump to content

Дистанционный оракул

В вычислениях оракул расстояний ( DO ) — это структура данных для вычисления расстояний между вершинами графа .

Введение

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

Пусть G ( V , E ) — неориентированный взвешенный граф с n = | В | узлы и m = | Е | края. Нам хотелось бы ответить на запросы вида «каково расстояние между узлами s и t ?».

Один из способов сделать это — просто запустить алгоритм Дейкстры . Это требует времени и не требует дополнительного места (кроме самого графика).

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

Простая структура данных, которая достигает этой цели, представляет собой матрицу , которая определяет для каждой пары узлов расстояние между ними. Эта структура позволяет нам отвечать на запросы в постоянное время. , но требует дополнительное пространство. Его можно инициализировать вовремя используя алгоритм кратчайших путей для всех пар, такой как алгоритм Флойда – Уоршалла .

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

Приблизительный DO

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

Торуп и Цвик [1] описать более 10 различных DO. Затем они предлагают новый DO, который для каждого k требует места. , так что на любой последующий запрос о расстоянии можно приблизительно ответить за время . Возвращенное приблизительное расстояние не превышает максимального значения. , то есть частное, полученное путем деления расчетного расстояния на фактическое расстояние, лежит между 1 и . Время инициализации .

Некоторые особые случаи включают в себя:

  • Для мы получаем простую матрицу расстояний.
  • Для мы получаем структуру, используя пространство, которое отвечает на каждый запрос за постоянное время и с коэффициентом аппроксимации не более 3.
  • Для , мы получаем структуру, используя пространство, время запроса , и растянуть .

Более высокие значения k не улучшают пространство или время предварительной обработки.

DO для общих метрических пространств

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

Оракул состоит из уменьшающегося набора из k +1 наборов вершин:

  • Для каждого : содержит каждый элемент , независимо, с вероятностью . Обратите внимание, что ожидаемый размер является . Элементы называются i-центрами .

Для каждого узла v вычислите его расстояние от каждого из этих наборов:

  • Для каждого : и . то есть является i-центром, ближайшим к v , и это расстояние между ними. Обратите внимание, что при фиксированном v это расстояние слабо увеличивается с i . Также обратите внимание, что для каждого v , и .
  • .

Для каждого узла v вычислите:

  • Для каждого : . содержит все вершины из которые строго ближе к v, чем все вершины в . Частичные союзы s — шары возрастающего диаметра, содержащие вершины с расстояниями до первой вершины следующего уровня.

Для каждого v вычислите его группу :

Можно показать, что ожидаемый размер самое большее .

За каждую связку , создайте хеш-таблицу , содержащую все , расстояние .

Общий размер структуры данных

После инициализации этой структуры следующий алгоритм находит расстояние между двумя узлами u и v :

  • пока :
    • (поменяйте местами два входных узла; это не меняет расстояние между ними, поскольку граф неориентированный).
  • возвращаться

Можно показать, что на каждой итерации расстояние растет максимум на . С , существует не более k -1 итераций, поэтому, наконец, . Теперь по неравенству треугольника , , поэтому возвращаемое расстояние не превышает .

Улучшения

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

Приведенный выше результат позже был улучшен Патраску и Родитти. [2] кто предлагает DO большого размера который возвращает аппроксимацию коэффициента 2.

Сокращение от оракула пересечения множества

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

Если имеется ДО с коэффициентом аппроксимации не более 2, то можно построить оракул пересечения множеств (SIO) со временем запроса. и требования к пространству , где n — количество наборов, а N — сумма их размеров; см. установленное пересечение oracle#Reduction до приблизительного расстояния oracle .

Считается, что проблема SIO не имеет нетривиального решения. Тоесть, это требует пространство, чтобы вовремя отвечать на вопросы , например, используя n на таблицу размером n с пересечением каждых двух наборов. Если эта гипотеза верна, это означает, что не существует ДО с коэффициентом аппроксимации менее 2 и постоянным временем запроса. [2]

  1. ^ Торуп, М .; Цвик, У. (2005). «Приблизительное расстояние оракула». Журнал АКМ . 52 : 1–24. CiteSeerX   10.1.1.295.4480 . дои : 10.1145/1044731.1044732 . S2CID   5425739 .
  2. ^ Jump up to: а б Патраску, М. ; Родитти, Л. (2010). Оракулы расстояния за границей Торупа-Цвика . 2010 51-й ежегодный симпозиум IEEE по основам информатики (FOCS). п. 815. дои : 10.1109/FOCS.2010.83 . ISBN  978-1-4244-8525-3 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 55896ed3421049b4e415b036c1e9a280__1706485680
URL1:https://arc.ask3.ru/arc/aa/55/80/55896ed3421049b4e415b036c1e9a280.html
Заголовок, (Title) документа по адресу, URL1:
Distance oracle - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)