The best-known fully retroactive priority queue costs $O(\log^2 m \log \log m)$ time per operation, where $m$ is the number of operations performed on the data structure. In contrast, standard (non-retroactive) and partially retroactive priority queues can cost $O(\log m)$ time per operation. So far, it is unknown whether this $O(\log m)$ bound can be achieved for fully retroactive priority queues.
In this work, we study a restricted variant of priority queues known as monotonic priority queues. First, we show that finding the minimum in a retroactive monotonic priority queue is a special case of the range-searching problem. Then, we design a fully retroactive monotonic priority queue with a cost of $O(\log m + T(m))$ time per operation, where $T(m)$ is the maximum between the query and the update time of a specific range-searching data structure with $m$ elements. Finally, we design a fully retroactive monotonic priority queue that costs $O(\log m \log \log m)$ time per operation.
- ID статьи: 2508.09892
- Название: Retroactive Monotonic Priority Queues via Range Searching
- Авторы: Лукас Кастро, Розиане де Фрейтас (Институт вычислений - UFAM, Бразилия)
- Классификация: cs.DS (Структуры данных и алгоритмы), cs.CG (Вычислительная геометрия)
- Дата публикации: препринт arXiv, обновлено 14 октября 2025 г.
- Ссылка на статью: https://arxiv.org/abs/2508.09892
Известно, что оптимальная полностью ретроактивная приоритетная очередь требует O(log2mloglogm) времени на операцию, где m — общее количество операций, выполненных над структурой данных. В сравнении со стандартными (неретроактивными) и частично ретроактивными приоритетными очередями, требующими O(logm) времени на операцию. В настоящее время неясно, может ли полностью ретроактивная приоритетная очередь достичь границы O(logm). В данной работе исследуется ограниченный вариант — монотонная приоритетная очередь. Сначала доказывается, что поиск минимума в ретроактивной монотонной приоритетной очереди является частным случаем задачи поиска по диапазонам. Затем разработана полностью ретроактивная монотонная приоритетная очередь с временем O(logm+T(m)) на операцию. Наконец, реализована полностью ретроактивная монотонная приоритетная очередь с временем O(logmloglogm) на операцию.
Традиционные структуры данных могут работать только с "текущим" состоянием и не могут запрашивать или изменять прошлые состояния. Ретроактивные структуры данных, введённые Demaine и др., позволяют изменять прошлые состояния и распространять последствия этих изменений на текущее состояние. В зависимости от функциональности они делятся на:
- Частично ретроактивные: можно изменять прошлое, но можно запрашивать только текущее состояние
- Полностью ретроактивные: можно как изменять прошлое, так и запрашивать состояние в любой момент времени
- Разрыв в эффективности: значительный разрыв во временной сложности между полностью ретроактивной приоритетной очередью и стандартной/частично ретроактивной версией
- Теоретический вызов: неясно, может ли полностью ретроактивная приоритетная очередь достичь теоретической нижней границы O(logm)
- Практическое применение: монотонные приоритетные очереди имеют важное значение в сценариях, таких как алгоритм Дейкстры
- Оптимальная полностью ретроактивная приоритетная очередь имеет временную сложность O(log2mloglogm)
- Значительный разрыв со сложностью стандартной приоритетной очереди O(logm)
- Отсутствие специализированных исследований ограниченных вариантов (например, монотонных приоритетных очередей)
- Теоретическое открытие: доказано, что поиск минимума в ретроактивной монотонной приоритетной очереди эквивалентен задаче поиска по диапазонам
- Универсальная схема: разработана полностью ретроактивная монотонная приоритетная очередь с временной сложностью O(logm+T(m)), где T(m) — время запроса/обновления структуры данных для поиска по диапазонам
- Конкретная реализация: на основе двумерного дерева диапазонов реализована полностью ретроактивная монотонная приоритетная очередь с временной сложностью O(logmloglogm)
- Геометрическая перспектива: предоставлена новая геометрическая точка зрения на понимание ретроактивных приоритетных очередей
Разработка полностью ретроактивной монотонной приоритетной очереди, поддерживающей следующие операции:
Insert(insert(x), t): вставить элемент x в момент времени tDelete(insert(x), t): удалить операцию вставки в момент времени tInsert(extract-min, t): вставить операцию извлечения минимума в момент времени tDelete(extract-min, t): удалить операцию извлечения в момент времени tGetMin(t): вернуть минимальный элемент в момент времени t
Ограничение монотонности: извлекаемые элементы должны образовывать неубывающую последовательность.
В монотонной приоритетной очереди элемент x существует в момент времени t тогда и только тогда, когда:
insertionTime(x) ≤ tx > lastExtracted(t)
Это избегает необходимости хранения времени извлечения для каждого элемента, упрощая сложность ретроактивных операций.
Ключевое наблюдение: в монотонной приоритетной очереди k-й наименьший элемент val[k] может быть извлечен только k-й операцией извлечения em[k].
Алгоритм:
- Найти предшественника времени t в дереве времен извлечения
- Определить порядковый номер k этой операции
- Вернуть k-й наименьший элемент
Временная сложность: O(logm)
Представление монотонной приоритетной очереди как набора точек на двумерной плоскости:
- Каждый элемент e представляется как точка
(insertionTime(e), e) - Запрос
GetMin(t) преобразуется в поиск точки с минимальной координатой y в прямоугольнике R(t)=(−∞,t]×(lastExtracted(t),∞)
Это представление полностью преобразует задачу запроса приоритетной очереди в геометрическую задачу поиска по диапазонам.
Три вспомогательные структуры данных:
- Tel: дерево порядковой статистики для хранения всех вставленных элементов
- Tem: дерево порядковой статистики для хранения всех времен извлечения
- Tins: структура данных для поиска по диапазонам с минимумом по y для хранения всех пар
(время вставки, значение элемента)
Реализация операций:
GetMin(t): сначала найти lastExtracted(t), затем запросить прямоугольный диапазон в TinsInsert/Delete(insert(x), t): обновить Tel и TinsInsert/Delete(extract-min, t): обновить Tem
Статья в основном проводит теоретический анализ, проверяя корректность метода следующим образом:
- Математические доказательства: строгое доказательство всех ключевых лемм и теорем
- Анализ сложности: детальный анализ временной и пространственной сложности каждой операции
- Проверка корректности: проверка корректности метода через геометрическую интуицию и логику алгоритма
Выбрано двумерное дерево диапазонов Мельхорна и Нэхера в качестве базовой структуры данных:
- Время обновления: O(lognloglogn) (амортизированное, может быть преобразовано в наихудший случай)
- Время запроса: O(lognloglogn)
- Пространственная сложность: O(nlogn)
Теорема 20 (Универсальная схема):
Существует полностью ретроактивная монотонная приоритетная очередь со следующей сложностью:
- Операции извлечения: O(logm)
- Операции вставки: O(logm+U(m))
- Операции запроса: O(logm+Q(m))
- Пространственная сложность: O(m+S(m))
где U(m), Q(m), S(m) — соответственно временная сложность обновления, запроса и пространственная сложность структуры данных для поиска по диапазонам.
Теорема 21 (Конкретная реализация):
Реализация на основе двумерного дерева диапазонов имеет следующую сложность:
- Операции извлечения: O(logm)
- Операции вставки: O(logmloglogm)
- Операции запроса: O(logmloglogm)
- Пространственная сложность: O(mlogm)
| Тип структуры данных | Временная сложность |
|---|
| Стандартная приоритетная очередь | O(logm) |
| Частично ретроактивная приоритетная очередь | O(logm) |
| Полностью ретроактивная приоритетная очередь (известный оптимум) | O(log2mloglogm) |
| Данная работа: полностью ретроактивная монотонная приоритетная очередь | O(logmloglogm) |
Данная работа достигает значительного улучшения сложности полностью ретроактивной приоритетной очереди (при ограничении монотонности).
- Demaine и др. (2007): первое введение концепции ретроактивных структур данных, разработка частично ретроактивной приоритетной очереди
- Demaine и др. (2015): предложена полностью ретроактивная приоритетная очередь с временной сложностью O(log2mloglogm)
- Chen и др. (2018): доказано, что некоторые полностью ретроактивные структуры данных неизбежно медленнее своих частично ретроактивных версий
- Сценарии применения: алгоритм Дейкстры, планирование событий и т.д.
- Характеристики: извлекаемые элементы образуют неубывающую последовательность, что облегчает оптимизацию по сравнению с общими приоритетными очередями
- Классическая задача: фундаментальная задача в вычислительной геометрии
- Структуры данных: деревья диапазонов, деревья разбиений и другие специализированные структуры данных
- Теоретический вклад: впервые установлена связь между задачей ретроактивной приоритетной очереди и поиском по диапазонам
- Улучшение алгоритма: значительное улучшение эффективности полностью ретроактивной приоритетной очереди при ограничении монотонности
- Универсальная схема: предоставлена универсальная схема проектирования на основе различных структур данных для поиска по диапазонам
- Ограничение области применения: применимо только к монотонным приоритетным очередям, не может быть напрямую расширено на общий случай
- Теоретические результаты: в основном теоретический анализ, отсутствуют практическая реализация и экспериментальная проверка
- Разрыв в сложности: все еще существует разрыв множителя loglogm со стандартной приоритетной очередью
Авторы явно указали три направления исследований:
- Исследование полностью ретроактивных версий других ограниченных вариантов приоритетных очередей
- Исследование верхних границ для общих полностью ретроактивных приоритетных очередей
- Исследование нижних границ для ретроактивных приоритетных очередей
- Высокая инновационность: впервые установлена связь между ретроактивными структурами данных и вычислительной геометрией, новая точка зрения
- Теоретическая строгость: все ключевые результаты имеют строгие математические доказательства, логика ясна
- Практическая ценность: монотонные приоритетные очереди имеют важное значение в практических алгоритмах
- Ясное изложение: использование аналогий с банковской системой и других способов объяснения концепций, легко понять
- Геометрическая интуиция: аналогия с проецированием лучей обеспечивает хорошую геометрическую интуицию
- Ограниченная область применения: применимо только к монотонным приоритетным очередям, ограниченная универсальность
- Отсутствие экспериментов: отсутствуют практическая реализация и тестирование производительности
- Отсутствие анализа нижних границ: не предоставлен соответствующий анализ нижних границ
- Постоянные множители: теоретический анализ не учитывает влияние постоянных множителей
- Теоретический вклад: предоставляет новую геометрическую точку зрения на исследование ретроактивных структур данных
- Методологическая ценность: демонстрирует, как использовать специальную структуру задачи для оптимизации
- Вдохновляющее значение: может вдохновить исследования ретроактивных версий других ограниченных структур данных
- Алгоритм Дейкстры: задачи поиска кратчайшего пути в динамических графах
- Планирование событий: системы планирования, требующие коррекции исторических событий
- Коррекция данных: сценарии приложений, требующие ретроактивной коррекции данных
Статья цитирует 13 связанных работ, включая:
- Demaine et al. (2007) — пионерская работа по ретроактивным структурам данных
- Demaine et al. (2015) — текущий оптимум полностью ретроактивной приоритетной очереди
- Mehlhorn & Näher (1990) — классическая работа по двумерным деревьям диапазонов
- Agarwal (2018) — обзор задач поиска по диапазонам
Общая оценка: это высококачественная статья по теоретической информатике, которая решает важную задачу в области ретроактивных структур данных посредством остроумного геометрического подхода. Хотя результаты применимы только к монотонному случаю, метод является новаторским, теория строгой, и работа предоставляет ценные идеи и инструменты для дальнейших исследований в этой области.