2025-11-17T04:01:13.190278

Retroactive Monotonic Priority Queues via Range Searching

Castro, de Freitas
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.
academic

Files d'attente de priorité monotones rétroactives via la recherche de plage

Informations de base

  • ID de l'article : 2508.09892
  • Titre : Retroactive Monotonic Priority Queues via Range Searching
  • Auteurs : Lucas Castro, Rosiane de Freitas (Institut d'informatique - UFAM, Brésil)
  • Classification : cs.DS (Structures de données et algorithmes), cs.CG (Géométrie computationnelle)
  • Date de publication : Prépublication arXiv, mise à jour du 14 octobre 2025
  • Lien de l'article : https://arxiv.org/abs/2508.09892

Résumé

Les files d'attente de priorité entièrement rétroactives optimales connues nécessitent O(log2mloglogm)O(\log^2 m \log \log m) temps par opération, où mm est le nombre total d'opérations effectuées sur la structure de données. En comparaison, les files d'attente de priorité standard (non rétroactives) et partiellement rétroactives ne nécessitent que O(logm)O(\log m) temps par opération. Il reste incertain si les files d'attente de priorité entièrement rétroactives peuvent atteindre la limite O(logm)O(\log m). Cet article étudie la variante restreinte des files d'attente de priorité monotones, prouvant d'abord que la recherche du minimum dans une file d'attente de priorité monotone rétroactive est un cas particulier d'un problème de recherche de plage, puis conçoit une file d'attente de priorité monotone entièrement rétroactive avec un temps de O(logm+T(m))O(\log m + T(m)) par opération, et finalement implémente une file d'attente de priorité monotone entièrement rétroactive avec un temps de O(logmloglogm)O(\log m \log \log m) par opération.

Contexte et motivation de la recherche

Définition du problème

Les structures de données traditionnelles ne peuvent opérer que sur l'état « actuel » et ne peuvent pas interroger ou modifier les états passés. Les structures de données rétroactives, introduites par Demaine et al., permettent de modifier les états passés et de propager les modifications à l'état actuel. Selon les fonctionnalités, elles se divisent en :

  • Partiellement rétroactives : peuvent modifier le passé, mais ne peuvent interroger que l'état actuel
  • Entièrement rétroactives : peuvent à la fois modifier le passé et interroger l'état à n'importe quel point dans le temps

Motivation de la recherche

  1. Écart d'efficacité : écart significatif de complexité temporelle entre les files d'attente de priorité entièrement rétroactives et les versions standard/partiellement rétroactives
  2. Défi théorique : incertitude quant à savoir si les files d'attente de priorité entièrement rétroactives peuvent atteindre la limite théorique O(logm)O(\log m)
  3. Applications pratiques : les files d'attente de priorité monotones ont une valeur d'application importante dans des scénarios tels que l'algorithme de Dijkstra

Limitations des approches existantes

  • La complexité temporelle de la file d'attente de priorité entièrement rétroactive optimale est O(log2mloglogm)O(\log^2 m \log \log m)
  • Écart significatif par rapport à la complexité O(logm)O(\log m) de la file d'attente de priorité standard
  • Manque de recherche spécialisée sur les variantes restreintes (telles que les files d'attente de priorité monotones)

Contributions principales

  1. Découverte théorique : preuve que la recherche du minimum dans une file d'attente de priorité monotone rétroactive est équivalente à un problème de recherche de plage
  2. Cadre générique : conception d'une file d'attente de priorité monotone entièrement rétroactive avec une complexité temporelle de O(logm+T(m))O(\log m + T(m)), où T(m)T(m) est le temps de requête/mise à jour de la structure de données de recherche de plage
  3. Implémentation concrète : implémentation basée sur un arbre de plage 2D d'une file d'attente de priorité monotone entièrement rétroactive avec une complexité temporelle de O(logmloglogm)O(\log m \log \log m)
  4. Perspective géométrique : fournit une nouvelle perspective géométrique pour comprendre les files d'attente de priorité rétroactives

Explication détaillée de la méthode

Définition des tâches

Concevoir une file d'attente de priorité monotone entièrement rétroactive supportant les opérations suivantes :

  • Insert(insert(x), t) : insérer l'élément xx au temps tt
  • Delete(insert(x), t) : supprimer l'opération d'insertion au temps tt
  • Insert(extract-min, t) : insérer l'opération d'extraction du minimum au temps tt
  • Delete(extract-min, t) : supprimer l'opération d'extraction au temps tt
  • GetMin(t) : retourner l'élément minimum au temps tt

Contrainte de monotonie : les éléments extraits doivent former une séquence non décroissante.

Fondements théoriques principaux

Condition d'existence (Lemme 14)

Dans une file d'attente de priorité monotone, l'élément xx existe au temps tt si et seulement si :

  1. insertionTime(x) ≤ t
  2. x > lastExtracted(t)

Cela évite de maintenir le temps d'extraction pour chaque élément, simplifiant la complexité des opérations rétroactives.

Recherche efficace du dernier élément extrait (Lemmes 16-17)

Intuition clé : dans une file d'attente de priorité monotone, le kk-ième plus petit élément val[k] ne peut être extrait que par la kk-ième opération d'extraction em[k].

Algorithme :

  1. Trouver l'opération prédécesseur au temps tt dans l'arbre des temps d'extraction
  2. Déterminer le numéro de séquence kk de cette opération
  3. Retourner le kk-ième plus petit élément

Complexité temporelle : O(logm)O(\log m)

Représentation géométrique (Lemme 18)

Représenter la file d'attente de priorité monotone comme des points dans un plan 2D :

  • Chaque élément ee est représenté comme le point (insertionTime(e), e)
  • La requête GetMin(t) se transforme en trouver le point avec la coordonnée yy minimale dans le rectangle R(t)=(,t]×(lastExtracted(t),)R(t) = (-\infty, t] \times (\text{lastExtracted}(t), \infty)

Cette représentation transforme complètement le problème de requête de file d'attente de priorité en un problème géométrique de recherche de plage.

Conception de la structure de données

Trois structures de données auxiliaires :

  1. TelT_{el} : arbre de statistiques d'ordre stockant tous les éléments insérés
  2. TemT_{em} : arbre de statistiques d'ordre stockant tous les temps d'extraction
  3. TinsT_{ins} : structure de données de recherche de plage min-yy stockant tous les paires (temps d'insertion, valeur d'élément)

Implémentation des opérations :

  • GetMin(t) : d'abord trouver lastExtracted(t), puis interroger la plage rectangulaire dans TinsT_{ins}
  • Insert/Delete(insert(x), t) : mettre à jour TelT_{el} et TinsT_{ins}
  • Insert/Delete(extract-min, t) : mettre à jour TemT_{em}

Configuration expérimentale

Cadre d'analyse théorique

Cet article effectue principalement une analyse théorique, vérifiant la correction de la méthode par :

  1. Preuves mathématiques : preuve rigoureuse de tous les lemmes et théorèmes clés
  2. Analyse de complexité : analyse détaillée de la complexité temporelle et spatiale de chaque opération
  3. Vérification de correction : vérification de la correction de la méthode par l'intuition géométrique et la logique algorithmique

Choix de la structure de données de recherche de plage

Sélection de l'arbre de plage 2D de Mehlhorn et Näher comme structure de données sous-jacente :

  • Temps de mise à jour : O(lognloglogn)O(\log n \log \log n) (amorti, convertible en pire cas)
  • Temps de requête : O(lognloglogn)O(\log n \log \log n)
  • Complexité spatiale : O(nlogn)O(n \log n)

Résultats expérimentaux

Résultats théoriques principaux

Théorème 20 (Cadre générique) : Il existe une file d'attente de priorité monotone entièrement rétroactive avec les complexités suivantes :

  • Opérations d'extraction : O(logm)O(\log m)
  • Opérations d'insertion : O(logm+U(m))O(\log m + U(m))
  • Opérations de requête : O(logm+Q(m))O(\log m + Q(m))
  • Complexité spatiale : O(m+S(m))O(m + S(m))

U(m)U(m), Q(m)Q(m), S(m)S(m) sont respectivement les complexités de mise à jour, requête et espace de la structure de données de recherche de plage.

Théorème 21 (Implémentation concrète) : L'implémentation basée sur l'arbre de plage 2D possède les complexités suivantes :

  • Opérations d'extraction : O(logm)O(\log m)
  • Opérations d'insertion : O(logmloglogm)O(\log m \log \log m)
  • Opérations de requête : O(logmloglogm)O(\log m \log \log m)
  • Complexité spatiale : O(mlogm)O(m \log m)

Comparaison des complexités

Type de structure de donnéesComplexité temporelle
File d'attente de priorité standardO(logm)O(\log m)
File d'attente de priorité partiellement rétroactiveO(logm)O(\log m)
File d'attente de priorité entièrement rétroactive (optimale connue)O(log2mloglogm)O(\log^2 m \log \log m)
Cet article : file d'attente de priorité monotone entièrement rétroactiveO(logmloglogm)O(\log m \log \log m)

Cet article réalise une amélioration significative de la complexité de la file d'attente de priorité entièrement rétroactive (sous contrainte de monotonie).

Travaux connexes

Structures de données rétroactives

  • Demaine et al. (2007) : introduction du concept de structures de données rétroactives, conception de files d'attente de priorité partiellement rétroactives
  • Demaine et al. (2015) : proposition d'une file d'attente de priorité entièrement rétroactive avec O(log2mloglogm)O(\log^2 m \log \log m)
  • Chen et al. (2018) : preuve que certaines structures de données entièrement rétroactives sont nécessairement plus lentes que leurs versions partiellement rétroactives

Files d'attente de priorité monotones

  • Scénarios d'application : algorithme de Dijkstra, planification d'événements, etc.
  • Caractéristiques : les éléments extraits forment une séquence non décroissante, plus faciles à optimiser que les files d'attente de priorité générales

Recherche de plage

  • Problème classique : problème fondamental en géométrie computationnelle
  • Structures de données : arbres de plage, arbres de partition et autres structures de données spécialisées

Conclusion et discussion

Conclusions principales

  1. Contribution théorique : première connexion établie entre le problème des files d'attente de priorité rétroactives et la recherche de plage
  2. Amélioration algorithmique : amélioration significative de l'efficacité de la file d'attente de priorité entièrement rétroactive sous contrainte de monotonie
  3. Cadre générique : fournit un cadre de conception générique basé sur différentes structures de données de recherche de plage

Limitations

  1. Restriction de contrainte : applicable uniquement aux files d'attente de priorité monotones, ne peut pas s'étendre directement au cas général
  2. Résultats théoriques : principalement une analyse théorique, manque d'implémentation pratique et de vérification expérimentale
  3. Écart de complexité : écart de facteur loglogm\log \log m subsiste par rapport à la file d'attente de priorité standard

Directions futures

Les auteurs ont explicitement proposé trois directions de recherche :

  1. Étudier les versions entièrement rétroactives d'autres variantes de files d'attente de priorité restreintes
  2. Étudier les bornes supérieures pour les files d'attente de priorité entièrement rétroactives générales
  3. Étudier les bornes inférieures pour les files d'attente de priorité rétroactives

Évaluation approfondie

Avantages

  1. Forte innovativité : première connexion établie entre les structures de données rétroactives et la géométrie computationnelle, perspective novatrice
  2. Rigueur théorique : tous les résultats clés possèdent des preuves mathématiques rigoureuses, logique claire
  3. Valeur pratique : les files d'attente de priorité monotones ont une importance d'application significative dans les algorithmes pratiques
  4. Clarté de rédaction : utilisation d'analogies telles que les systèmes bancaires pour une explication conceptuelle claire et compréhensible
  5. Intuition géométrique : l'analogie de projection de rayons fournit une très bonne intuition géométrique

Insuffisances

  1. Portée d'application : limitée aux files d'attente de priorité monotones, généralité limitée
  2. Absence d'expériences : manque d'implémentation pratique et de tests de performance
  3. Analyse de borne inférieure : pas d'analyse de borne inférieure correspondante
  4. Facteurs constants : l'analyse théorique ne considère pas l'impact des facteurs constants

Impact

  1. Contribution théorique : fournit une nouvelle perspective géométrique pour la recherche sur les structures de données rétroactives
  2. Valeur méthodologique : démontre comment exploiter la structure spéciale d'un problème pour l'optimisation
  3. Signification inspirante : peut inspirer la recherche sur les versions rétroactives d'autres structures de données restreintes

Scénarios d'application

  1. Algorithme de Dijkstra : problèmes de plus court chemin dans les graphes dynamiques
  2. Planification d'événements : systèmes de planification nécessitant la correction d'événements historiques
  3. Correction de données : scénarios d'application nécessitant la correction rétroactive de données

Références

L'article cite 13 références connexes, incluant principalement :

  1. Demaine et al. (2007) - travail fondateur sur les structures de données rétroactives
  2. Demaine et al. (2015) - file d'attente de priorité entièrement rétroactive optimale actuelle
  3. Mehlhorn & Näher (1990) - travail classique sur l'arbre de plage 2D
  4. Agarwal (2018) - synthèse du problème de recherche de plage

Évaluation globale : Ceci est un article de haute qualité en informatique théorique qui résout un problème important dans les structures de données rétroactives grâce à une approche géométrique ingénieuse. Bien que les résultats s'appliquent uniquement au cas monotone, la méthode est novatrice, la théorie rigoureuse, et elle fournit des idées et des outils précieux pour la recherche future dans ce domaine.