We revisit the 3SUM problem in the \emph{preprocessed universes} setting. We present an algorithm that, given three sets $A$, $B$, $C$ of $n$ integers, preprocesses them in quadratic time, so that given any subsets $A' \subseteq A$, $B' \subseteq B$, $C' \subseteq C$, it can decide if there exist $a \in A'$, $b \in B'$, $c \in C'$ with $a+b=c$ in time $O(n^{1.5} \log n)$.
In contrast to both the first subquadratic $\tilde{O}(n^{13/7})$-time algorithm by Chan and Lewenstein (STOC 2015) and the current fastest $\tilde{O}(n^{11/6})$-time algorithm by Chan, Vassilevska Williams, and Xu (STOC 2023), which are based on the Balog--Szemerédi--Gowers theorem from additive combinatorics, our algorithm uses only standard 3SUM-related techniques, namely FFT and linear hashing modulo a prime. It is therefore not only faster but also simpler.
Just as the two previous algorithms, ours not only decides if there is a single 3SUM solution but it actually determines for each $c \in C'$ if there is a solution containing it. We also modify the algorithm to still work in the scenario where the set $C$ is unknown at the time of preprocessing. Finally, even though the simplest version of our algorithm is randomized, we show how to make it deterministic losing only polylogarithmic factors in the running time.
- ID de l'article : 2410.16784
- Titre : 3SUM in Preprocessed Universes: Faster and Simpler
- Auteurs : Shashwat Kasliwal (IIT Delhi), Adam Polak (Bocconi University), Pratyush Sharma (IIT Delhi)
- Classification : cs.DS (Structures de Données et Algorithmes)
- Date de publication/Conférence : TheoretiCS Volume 4 (2025), Article 24 (Article invité de SOSA 2025)
- Lien de l'article : https://arxiv.org/abs/2410.16784
Cet article réexamine le problème 3SUM dans le cadre des univers prétraités. Il propose un algorithme qui, étant donné trois ensembles A, B, C contenant n entiers chacun, les prétraite en temps quadratique, permettant de déterminer en temps O(n^1.5 log n) si, pour des sous-ensembles arbitraires A' ⊆ A, B' ⊆ B, C' ⊆ C, il existe a ∈ A', b ∈ B', c ∈ C' tels que a+b=c. Comparé au premier algorithme sous-quadratique O(n^13/7) de Chan et Lewenstein et à l'algorithme actuellement le plus rapide O(n^11/6) de Chan et al. (basé sur le théorème de Balog-Szemerédi-Gowers en combinatoire additive), l'algorithme proposé n'utilise que des techniques standard liées à 3SUM (FFT et hachage linéaire modulo un nombre premier), le rendant non seulement plus rapide mais aussi plus simple.
Le problème 3SUM est l'un des trois problèmes centraux de la théorie de la complexité à grain fin (aux côtés d'APSP et SAT). Étant donné trois ensembles A, B, C contenant n entiers chacun, il faut déterminer s'il existe un triplet (a,b,c) ∈ A × B × C tel que a + b = c. La méthode classique des manuels a une complexité temporelle de O(n²), et l'algorithme le plus rapide connu ne fournit qu'une amélioration de log²n/(log log n)².
- Signification théorique de la complexité : Il est largement conjecturé qu'aucun algorithme 3SUM avec complexité temporelle O(n^(2-ε)) n'existe, et de nombreuses bornes inférieures conditionnelles reposent sur cette hypothèse
- Valeur de l'étude des variantes : L'étude des variantes de 3SUM pour lesquelles existent réellement des algorithmes fortement sous-quadratiques aide à mieux comprendre la complexité de 3SUM
- Considérations pratiques : La variante univers prétraité a une importance significative dans les applications réelles, permettant un traitement efficace de multiples requêtes
- Algorithme Chan-Lewenstein : Basé sur le théorème complexe de Balog-Szemerédi-Gowers, difficile à implémenter
- Algorithme Chan-Vassilevska Williams-Xu : Bien que plus rapide, dépend toujours de la théorie profonde de la combinatoire additive
- Les deux manquent de simplicité, avec une complexité d'implémentation pratique élevée
- Amélioration de l'efficacité de l'algorithme : Propose un algorithme avec temps de requête O(n^1.5 log n), significativement meilleur que le précédent O(n^11/6)
- Simplification technique : N'utilise que des techniques standard comme FFT et hachage linéaire, évitant les outils complexes de combinatoire additive
- Complétude fonctionnelle : Non seulement détermine l'existence d'une solution, mais identifie aussi si chaque c ∈ C' participe à une solution
- Extension de scénarios : Traite le cas où l'ensemble C est inconnu au moment du prétraitement
- Version déterministe : Fournit un algorithme déterministe avec perte d'un facteur polylogarithmique
Entrée : Trois ensembles A, B, C contenant n entiers chacun
Prétraitement : Prétraiter ces ensembles en temps O(n²)
Requête : Étant donné des sous-ensembles A' ⊆ A, B' ⊆ B, C' ⊆ C, déterminer en temps O(n^1.5 log n) pour chaque c ∈ C' s'il existe a ∈ A', b ∈ B' tels que a + b = c
Phase de prétraitement :
- Choisir uniformément au hasard un nombre premier p dans l'intervalle [n^1.5, 2n^1.5)
- Calculer l'ensemble des faux positifs : B := {(a,b,c) ∈ A × B × C : a + b ≡ c (mod p) ∧ a + b ≠ c}
- Nombre attendu de faux positifs : E|B| ≤ O(n^1.5 log n)
Phase de requête :
- Utiliser FFT pour calculer le multiensemble de (A' + B') mod p en temps O(p log p)
- Créer une table de hachage H stockant le nombre de solutions modulo p pour chaque c ∈ C'
- Parcourir l'ensemble des faux positifs B, soustrayant les faux positifs de l'instance actuelle
- Pour chaque c ∈ C', répondre « oui » si Hc > 0, sinon « non »
Phase de prétraitement :
- Calculer l'ensemble des sommes A + B
- Pour chaque x ∈ A + B, stocker l'ensemble des témoins Wx := {(a,b) ∈ A × B : a + b = x}
- Choisir un nombre premier aléatoire m ∈ [n^1.5, 2·n^1.5)
- Pour chaque résidu r ∈ m, préparer la liste Lr := {x ∈ A + B : x ≡ r (mod m)}
Phase de requête :
- Utiliser FFT pour calculer (A' + B') mod m
- Pour chaque c ∈ C' :
- Vérifier si c est dans A + B
- Utiliser l'identité pour calculer le nombre réel de solutions : nombre de solutions modulo m moins le nombre de faux positifs
- Calculer les faux positifs en parcourant les éléments x ≠ c dans Lc mod m
- Utilisation astucieuse du hachage : Choisir une taille appropriée du modulo premier pour équilibrer l'efficacité de FFT et le nombre de faux positifs
- Contrôle des faux positifs : Utiliser le Lemme 2.2 pour contrôler le nombre attendu de faux positifs à O(n^1.5 log n)
- Optimisation FFT : Transformer le problème 3SUM en multiplication polynomiale, exploitant la complexité O(m log m) de FFT
- Conversion déterministe : Utiliser une stratégie combinant plusieurs moduli pour réaliser une version déterministe
Cet article effectue principalement une analyse théorique, adoptant la méthode standard d'analyse de complexité à grain fin :
Modèle de calcul :
- Modèle RAM standard avec mots de O(log n) bits
- Limite des nombres d'entrée : n^O(1)
- Opérations arithmétiques en temps constant
Analyse de complexité :
- Complexité temporelle : Prétraitement O(n²), requête O(n^1.5 log n)
- Complexité spatiale : Version C connu O(n^1.5 log n), version C inconnu O(n²)
- Aléatoire : Algorithme Las Vegas (bornes de temps attendu)
- Chan-Lewenstein (STOC 2015) : Temps de requête O(n^13/7)
- Chan-Vassilevska Williams-Xu (STOC 2023) : Temps de requête O(n^11/6)
- Algorithme 3SUM standard : Temps O(n²) (sans prétraitement)
| Algorithme | Temps de prétraitement | Temps de requête | Complexité spatiale | Déterministe |
|---|
| Chan-Lewenstein | O(n²) | O(n^13/7) ≈ O(n^1.857) | O(n^13/7) | Prétraitement O(n^ω) requis |
| Chan et al. | O(n²) | O(n^11/6) ≈ O(n^1.833) | O(n² log n) | Temps de requête O(n^1.891) |
| Cet article (C connu) | O(n²) | O(n^1.5 log n) | O(n^1.5 log n) | Perte d'un facteur polylogarithmique |
| Cet article (C inconnu) | O(n²) | O(n^1.5 log n) | O(n²) | Théorème 5.1 |
- Amélioration du temps de requête : De O(n^11/6) ≈ O(n^1.833) à O(n^1.5), réduction d'exposant d'environ 0.333
- Complexité d'implémentation : Évite le théorème de Balog-Szemerédi-Gowers, ne nécessite que FFT et hachage
- Complétude fonctionnelle : Maintient la capacité All-Numbers 3SUM
Prouvée par analyse probabiliste rigoureuse :
- Borne du nombre attendu de faux positifs : E|B| ≤ O(n^1.5 log n) (Lemme 2.2)
- Propriété Las Vegas : Garantit une borne de temps d'exécution déterministe via mécanisme de redémarrage
- Complétude : Toutes les solutions réelles sont correctement identifiées
- 3SUM classique : Introduit par Gajentaan-Overmars, algorithme standard O(n²)
- Améliorations mineures : Baran-Demaine-Pătraşcu réalisent des améliorations polylogarithmiques
- Étude des variantes :
- 3SUM petit univers : Méthode FFT, temps O(n + U log U)
- Indexation 3SUM : Modes de prétraitement différents
- Version RAM réel : Travaux d'adaptation de Fischer et al.
- Bansal-Williams : Première introduction du concept d'univers prétraité
- Chan-Lewenstein : Premier algorithme sous-quadratique, basé sur le théorème BSG
- Chan et al. : Algorithme actuellement le plus rapide, preuve directe du corollaire BSG
- Application de FFT à 3SUM : Méthode classique pour le cas petit univers
- Hachage linéaire : Technique standard pour le contrôle des faux positifs
- Techniques déterministes : Outils de dérandomisation de Fischer-Kaliciak-Polak
- Percée en efficacité : Réalise un temps de requête O(n^1.5 log n), significativement meilleur que les résultats précédents
- Succès de la simplification : Évite la combinatoire additive complexe, n'utilisant que des outils fondamentaux
- Amélioration de la praticité : Fournit une version déterministe et traite le scénario C inconnu
- Complexité spatiale : La version C inconnu nécessite O(n²) d'espace pour stocker l'ensemble complet des sommes
- Limitations du modèle : Suppose que les nombres d'entrée sont bornés, les applications réelles peuvent nécessiter un traitement supplémentaire
- RAM réel : Il reste incertain si cela peut s'adapter au modèle RAM réel
- Facteurs constants : L'analyse théorique ne considère pas les frais généraux des facteurs constants dans l'implémentation réelle
- Adaptation RAM réel : Explorer la faisabilité dans le modèle RAM réel
- Optimisation spatiale : Réduire les besoins spatiaux du scénario C inconnu
- Recherche de bornes inférieures : Explorer les bornes inférieures théoriques pour 3SUM en univers prétraité
- Implémentation pratique : Développer des implémentations d'algorithmes pratiques et efficaces
- Contribution théorique significative : Amélioration du temps de requête de O(n^1.833) à O(n^1.5), ampleur d'amélioration importante
- Innovation technique ingénieuse :
- Stratégie de sélection de nombres premiers équilibrant l'efficacité FFT et le contrôle des faux positifs
- Méthode multi-moduli pour la conversion déterministe possédant une applicabilité générale
- Valeur pratique élevée : Algorithme simple et facile à implémenter, évitant les outils complexes de combinatoire mathématique
- Analyse rigoureuse : Analyse probabiliste complète et preuve de complexité fiable
- Rédaction claire : Description technique précise, description d'algorithme facile à comprendre
- Degré d'innovation : Principalement une combinaison ingénieuse de techniques existantes, originalité relativement limitée
- Absence de vérification expérimentale : Travail purement théorique, manque de tests de performance réels
- Portée d'application :
- L'hypothèse de nombres d'entrée bornés peut être trop restrictive en pratique
- L'adaptabilité au RAM réel reste inconnue
- Efficacité spatiale : Le besoin d'espace O(n²) de la version C inconnu peut limiter les applications pratiques
- Valeur académique : Fournit une nouvelle voie technique pour la théorie de la complexité à grain fin
- Potentiel pratique : L'algorithme simplifié est plus facile à déployer dans les systèmes réels
- Signification inspirante : Démontre que la combinaison de techniques standard peut surpasser les outils théoriques complexes
- Recherche ultérieure : Peut inspirer des améliorations similaires pour d'autres problèmes géométriques/combinatoires
- Requêtes de base de données : Optimisation des requêtes de triplets sur de grands ensembles de données
- Géométrie computationnelle : Accélération du prétraitement pour les problèmes géométriques connexes
- Applications cryptographiques : Optimisation des protocoles basés sur la difficulté de 3SUM
- Concours d'algorithmes : Implémentation efficace dans les concours de programmation réels
L'article cite 16 travaux connexes, incluant principalement :
- 3 Baran, Demaine, Pătraşcu : Améliorations classiques de 3SUM
- 5 Chan, Lewenstein : Premier algorithme sous-quadratique en univers prétraité
- 6 Chan, Vassilevska Williams, Xu : Algorithme actuellement le plus rapide
- 8 Fischer, Kaliciak, Polak : Techniques 3SUM déterministes
- 16 Vassilevska Williams : Synthèse de la complexité à grain fin
Évaluation Globale : Ceci est un article de haute qualité en informatique théorique, réalisant une percée théorique significative sur la variante univers prétraité du problème 3SUM. Bien que l'innovation technique soit relativement incrémentale, sa contribution à simplifier les algorithmes complexes tout en améliorant les performances possède une valeur importante. L'analyse théorique de l'article est rigoureuse, la rédaction est claire, et elle fournit des outils et des perspectives précieuses au domaine connexe.