Introduction
Dans les algorithmes, comme dans la vie, la négativité peut être un frein.
Considérez le problème de trouver le chemin le plus court entre deux points sur un graphique - un réseau de nœuds reliés par des liens ou des arêtes. Souvent, ces arêtes ne sont pas interchangeables : un graphique peut représenter une carte routière sur laquelle certaines routes sont plus lentes que d'autres ou ont des péages plus élevés. Les informaticiens tiennent compte de ces différences en associant chaque arête à un « poids » qui quantifie le coût de déplacement sur ce segment – que ce coût représente du temps, de l'argent ou autre chose. Depuis les années 1950, ils ont su trouver les chemins les plus courts essentiellement aussi vite que théoriquement possible, en supposant que tous les poids sont des nombres positifs.
Mais sur certains graphiques, les poids peuvent être négatifs - voyager le long d'un segment peut compenser le coût de la traversée d'un autre. Considérons, par exemple, un chauffeur-livreur qui doit équilibrer le coût de l'essence et des péages (représentés par des poids positifs) avec les revenus du transport de colis (représentés par des poids négatifs). Dans de tels cas, l'algorithme de chemin le plus court connu le plus rapide ne fonctionne pas. Pendant des décennies, les algorithmes rapides pour trouver les chemins les plus courts sur les graphiques à poids négatif sont restés insaisissables.
Aujourd'hui, un trio d'informaticiens a résolu ce problème de longue date. Leur nouveau algorithme, qui trouve les chemins les plus courts à travers un graphe d'un nœud "source" donné à tous les autres nœuds, correspond presque à la vitesse que les algorithmes à poids positifs atteignaient il y a si longtemps.
De plus, la nouvelle approche utilise des techniques mathématiques vieilles de plusieurs décennies, évitant les méthodes plus sophistiquées qui ont dominé la recherche moderne sur la théorie des graphes.
"Je ne pouvais tout simplement pas croire qu'un algorithme aussi simple existe", a déclaré Maximilien Probst Gutenberg, informaticien à l'Ecole polytechnique fédérale de Zurich. « Tout cela est là depuis 40 ans. Il a juste fallu que quelqu'un soit vraiment intelligent et déterminé pour que tout fonctionne.
Les limites de la cupidité
L'histoire commence en 1956, lorsque l'informaticien néerlandais Edsger Dijkstra a développé un algorithme rapide pour trouver les chemins les plus courts sur un graphique avec uniquement des poids positifs. Pour le comprendre, imaginez partir de la source et explorer le graphique un nœud à la fois, en notant les poids des arêtes nouvellement découvertes au fur et à mesure. Chaque fois que vous visitez un nœud, faites des estimations préliminaires des chemins les plus courts de la source à chacun des voisins du nouveau nœud, en mettant à jour toutes les estimations existantes si vous avez trouvé un nouveau chemin plus court. Pour décider quel nœud inexploré visiter ensuite, utilisez ce qu'on appelle une stratégie gourmande : allez à celui qui est le plus proche de la source en fonction de votre estimation actuelle.
Avec des poids positifs, le chemin emprunté par l'algorithme de Dijkstra pour visiter chaque nœud pour la première fois est vraiment le plus court. Il est plus facile de voir que cela est vrai pour la toute première étape. Imaginez deux nœuds A et B connectés par une arête de poids 2. Si A est le nœud source et que chaque autre arête qui le touche a un poids plus grand, alors le chemin direct de A à B doit être le chemin le plus court possible reliant ces deux points. , car le premier segment de tout autre chemin serait déjà plus long. Un raisonnement similaire fonctionne à chaque étape. L'algorithme n'a jamais à revenir en arrière, il est donc garanti de se terminer après avoir parcouru le graphique une fois - c'est ce qui le rend si rapide.
Mais les poids négatifs posent problème à la stratégie cupide de Dijkstra. Pensez à nouveau à notre chauffeur-livreur. Un itinéraire direct de A à B qui rapporte un petit bénéfice peut rapporter moins d'argent qu'un chemin détourné qui a un gros gain quelque part. "Vous ne pouvez pas prendre des décisions uniquement sur la base des informations locales", a déclaré Sanjeev Khanna, informaticien à l'Université de Pennsylvanie. "Vous devrez peut-être faire plusieurs mouvements apparemment sous-optimaux pour enfin obtenir une vraie récompense."
Pendant des décennies, des informaticiens travaillant sur des graphes à poids négatifs ont essayé de faire correspondre la vitesse de l'algorithme de Dijkstra avec des algorithmes « combinatoires » similaires. Celles-ci impliquent des opérations discrètes - comme le comptage des possibilités, la modification des poids et la suppression sélective des arêtes - qui reflètent la structure discrète du graphe sous-jacent. Les progrès ont cependant ralenti dans les années 1990. Plus récemment, des chercheurs ont utilisé des algorithmes « d'optimisation continue », qui empruntent des astuces au calcul différentiel. Malheureusement, les accélérations qui en ont résulté ont été limitées et se sont souvent faites au détriment de la simplicité.
Briser le cycle
À l'été 2021, deux informaticiens devenus collègues à l'Université de Copenhague — Danupon Nanongkai ainsi que Christian Wulff-Nilsen — cherchaient un sujet pour un projet de recherche commun. "Christian a dit : "Oh, au fait, j'étais en vacances, et à cause de cela, j'essayais de penser à quelque chose de très ambitieux", se souvient Nanongkai, qui est maintenant à l'Institut Max Planck d'informatique à Sarrebruck, en Allemagne. Ils se sont installés sur le problème des plus courts chemins à poids négatif et ont invité Aaron Bernstein de l'Université Rutgers pour les rejoindre.
Les trois chercheurs étaient des experts en algorithmes de graphes combinatoires pour d'autres problèmes, et ils voulaient voir jusqu'où ces approches relativement anciennes pouvaient les mener. "Il y a en fait une certaine liberté à travailler sur un problème ambitieux et ouvert depuis longtemps", a déclaré Bernstein.
Le trio a commencé par ignorer temporairement un sous-ensemble de graphiques possibles : ceux contenant des cycles négatifs. Ce sont des chemins qui reviennent à leur point de départ après avoir traversé une série d'arêtes dont les poids totalisent un nombre négatif. Dans un graphique avec des cycles négatifs accessibles à partir du point de départ, la notion de chemin le plus court s'effondre, puisque vous pouvez rendre la distance à n'importe quel nœud aussi négative (ou aussi rentable) que vous le souhaitez, en faisant des tours répétés autour du cycle négatif avant en route vers votre destination.
Les chercheurs soupçonnaient que les longs chemins négatifs étaient principalement responsables de la difficulté du problème. Ils ont donc commencé à se concentrer sur des grappes serrées de nœuds proches, qui ne peuvent contenir de longs chemins négatifs : c'est parce que si deux points sont reliés par un court chemin positif, l'ajout d'un long chemin négatif entre eux créerait un cycle négatif. Au sein d'un groupe restreint, "le fait que tout le monde soit proche dans un sens positif vous donne également des informations utiles sur les bords négatifs", a déclaré Bernstein. "Cela vous dit que les choses ne peuvent pas être trop négatives."
La plupart des graphiques contiennent de nombreux groupes de ce type étroitement liés qui ne sont que faiblement connectés les uns aux autres. Si les chercheurs pouvaient identifier tous les clusters, ils soupçonnaient qu'ils pourraient développer un moyen de trouver rapidement les chemins les plus courts dans chacun d'eux. À partir de là, ils pourraient avoir plus de facilité à connecter des clusters individuels et à trouver les chemins les plus courts sur le graphique d'origine. Mais cela nécessiterait de repérer rapidement les régions de n'importe quel graphe dans lequel les nœuds sont proches les uns des autres, ce qu'ils ne savaient pas faire. La clé s'est avérée être une technique issue d'une branche entièrement différente de la théorie des graphes.
Découper des graphiques
Dans les années 1980, des informaticiens ont développé une technique appelée décomposition de faible diamètre pour sélectionner des clusters serrés dans un graphique et identifier les arêtes à supprimer pour séparer ces clusters. Cette technique permet de diviser les graphiques en sections indépendantes. Il a été inventé pour faciliter les algorithmes "distribués", dans lesquels les calculs s'exécutent en parallèle sur différentes parties d'un graphe, il était donc moins utile pour les algorithmes de plus courts chemins, qui n'ont pas cette propriété.
Bernstein, Nanongkai et Wulff-Nilsen ont réalisé que la décomposition à faible diamètre pouvait les aider à identifier les clusters sans trop de négativité concentrée. Malheureusement, les algorithmes de décomposition standard à faible diamètre ne fonctionnent que sur des graphes non orientés - ceux dans lesquels chaque arête peut être parcourue dans les deux sens. Le problème des chemins les plus courts à poids négatif, quant à lui, n'a de sens que sur les graphes orientés, dans lesquels chaque arête est une rue à sens unique. (Sinon, un seul bord négatif non dirigé créerait un cycle négatif composé de sauts répétés d'avant en arrière sur ce bord.) Si les chercheurs voulaient utiliser la décomposition à faible diamètre, ils devraient l'adapter.
C'est ce qu'ils ont fait dans leur nouveau journal. Inspiré par travail passé dans laquelle Bernstein et Wulff-Nilsen avaient collaboré avec Probst Gutenberg, ils ont développé une procédure de fracturation pour les graphes orientés analogue à la décomposition de faible diamètre. La procédure découpe un graphe orienté arbitrairement en une série de clusters étroitement liés en utilisant un processus aléatoire pour supprimer seulement une poignée d'arêtes. Ensuite, ces clusters sont connectés par un réseau plus clairsemé dans lequel tous les bords pointent dans la même direction. Ce type de réseau est appelé graphe acyclique dirigé, ou DAG.
Considérez un DAG comme un ruisseau dans lequel l'eau peut s'écouler par différents chemins : certains chemins affluent de différentes sources, d'autres se déploient dans différentes directions, et d'autres encore peuvent se séparer et fusionner. Mais rien ne revient jamais en arrière, donc il n'y a pas de cycles ; cela rend les DAG beaucoup plus faciles à utiliser.
Les chercheurs savent depuis longtemps comment trouver rapidement les chemins les plus courts sur les DAG, même avec des poids négatifs. Ainsi, la technique de fracturation a permis aux trois chercheurs de réduire tout graphe orienté à une combinaison de deux cas particuliers - les DAG et les clusters serrés - qui étaient chacun faciles à gérer.
Le nouvel algorithme des chemins les plus courts utilise à plusieurs reprises la procédure de fracturation pour diviser un graphique en clusters étroitement liés connectés par un DAG. Il brise ensuite ces clusters de plus en plus loin. À la fin du processus, les clusters au niveau le plus interne sont aussi étroitement connectés que possible. Une partie de la raison pour laquelle l'algorithme est si rapide est qu'il ne faut pas beaucoup d'itérations pour décomposer complètement même un très grand graphique, tout comme il ne faut pas longtemps pour réduire un grand nombre à une taille raisonnable si vous divisez à plusieurs reprises ça en deux.
Avec le graphique entièrement décomposé de cette manière, les chercheurs ont pu trouver rapidement les chemins les plus courts à travers chaque partie du graphique. Pour les clusters serrés au niveau le plus interne de la structure du graphe imbriqué, c'était facile - ils n'avaient pratiquement plus de négativité. Et les chercheurs savaient déjà trouver les chemins les plus courts sur les sections DAG les rejoignant.
Enfin, l'algorithme rajoute les arêtes éliminées par le processus de fracturation et calcule leurs effets sur les chemins les plus courts. Les chercheurs ont prouvé que leur processus de suppression aléatoire des arêtes ne nécessiterait presque toujours que quelques suppressions pour éliminer les arêtes «en arrière» - le type qui transformerait leur DAG en un graphique avec de grands cycles. Cela rendait extrêmement improbable qu'un chemin le plus court passe par trop de segments en arrière, de sorte qu'ils pouvaient résoudre cette étape finale délicate en combinant deux méthodes de manuels des années 1950 : l'algorithme de Dijkstra et le premier algorithme développé pour les graphiques à poids négatif.
"C'est une composition extrêmement intelligente de ces idées", a déclaré Khanna. L'algorithme est le premier pour les graphiques à poids négatif qui s'exécutent en temps "quasi linéaire" - ce qui signifie que son temps d'exécution est presque proportionnel au temps nécessaire pour compter tous les bords, le plus rapidement possible.
Et que dire des graphiques à cycles négatifs, que les chercheurs ont décidé d'ignorer au départ ? Après avoir mis la touche finale à leur algorithme des chemins les plus courts, ils ont montré qu'il pouvait également fonctionner comme un algorithme rapide pour identifier les cycles négatifs. Pratiquement aucun graphique n'était hors de sa portée.
Chemins parallèles
Bernstein a présenté le résultat de l'équipe lors de la conférence 2022 Foundations of Computer Science, où leur manuscrit décrivant le nouvel algorithme a été considéré comme l'un des deux meilleurs articles. Les autre papier est également arrivé à décrire un nouvel algorithme en temps quasi-linéaire pour résoudre un problème de longue date en théorie des graphes.
Cet algorithme, développé par Probst Gutenberg et cinq autres chercheurs, a abordé un problème plus général appelé flux à coût minimum, dans lequel le but est d'optimiser le transport à travers de nombreux chemins en parallèle, et chaque bord a une capacité maximale ainsi qu'un coût associé. . Les problèmes de chemins les plus courts sont un cas particulier de flux à coût minimum, de sorte que le nouvel algorithme de flux à coût minimum pourrait également être utilisé pour résoudre le problème des chemins les plus courts à poids négatif en temps quasi linéaire, bien qu'avec une approche radicalement différente.
L'équipe travaillant sur le flux à coût minimum a développé son algorithme rapide à usage général en utilisant une synthèse complexe de techniques d'optimisation combinatoire et continue qui le rend peu maniable en pratique, du moins actuellement. L'algorithme combinatoire de Bernstein et ses collègues, bien que limité à un problème plus spécifique, atteint son temps d'exécution quasi linéaire sans sacrifier la simplicité.
"C'est ce qui est si étonnant dans cet article", a déclaré Probst Gutenberg. "Vous pouvez l'expliquer à un étudiant de premier cycle et vous pouvez également l'implémenter sur votre ordinateur."
En conséquence, ce nouvel algorithme a ravivé l'intérêt pour les approches combinatoires d'autres problèmes de la théorie des graphes. Reste à savoir quels problèmes peuvent être résolus rapidement à l'aide d'algorithmes purement combinatoires, et lesquels nécessitent réellement les techniques continues développées depuis 20 ans.
"C'est une question philosophique que j'essaie de comprendre", a déclaré Nanongkai. "Ce problème du plus court chemin donne un peu d'espoir."
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://www.quantamagazine.org/finally-a-fast-algorithm-for-shortest-paths-on-negative-graphs-20230118/
- 20 ans
- 2021
- 2022
- a
- Qui sommes-nous
- Selon
- Compte
- atteint
- à travers
- actually
- acyclique
- adapter
- Ajoute
- Après
- à opposer à
- algorithme
- algorithmes
- Tous
- déjà
- toujours
- ambitieux
- Ancien
- ainsi que
- Une autre
- A PART
- une approche
- approches
- autour
- associé
- RETOUR
- Balance
- basé
- car
- devenez
- before
- a commencé
- CROYONS
- Bernstein
- LES MEILLEURS
- jusqu'à XNUMX fois
- Au-delà
- Big
- emprunter
- Branche
- Pause
- pauses
- Cassé
- calcule
- appelé
- Compétences
- maisons
- cas
- certaines
- CIS
- Fermer
- étroitement
- Grappe
- collaboré
- collègues
- combinaison
- combinant
- comment
- calculs
- ordinateur
- Informatique
- Concentré
- Congrès
- connecté
- Connecter les
- Considérer
- Qui consiste
- continu
- Prix
- pourriez
- engendrent
- Courant
- Lecture
- Cut/Taille
- cycles
- JOUR
- décennies
- décidé
- décisions
- page de livraison.
- décrire
- destination
- déterminé
- développer
- développé
- DID
- différences
- différent
- difficile
- direction
- découvert
- distance
- Ne fait pas
- Ne pas
- down
- driver
- Néerlandais
- chacun
- gagner
- plus facilement
- plus facile
- Edge
- les effets
- éliminé
- éliminée
- activé
- entièrement
- essentiellement
- estimation
- estimations
- Pourtant, la
- JAMAIS
- tout le monde
- existant
- existe
- de santé
- Expliquer
- Explorer
- extrêmement
- faciliter
- ventilateur
- RAPIDE
- le plus rapide
- National
- few
- finale
- finalement
- Trouvez
- trouver
- trouve
- Prénom
- première fois
- flux
- Flux
- Focus
- trouvé
- Fondations
- spirituelle
- de
- d’étiquettes électroniques entièrement
- plus
- GAS
- Général
- à usage général
- Allemagne
- obtenez
- donné
- donne
- Go
- objectif
- graphique
- graphiques
- Gourmand
- garantie
- gutenberg
- Half
- poignée
- manipuler
- arrivé
- Titre
- aider
- augmentation
- d'espérance
- Comment
- How To
- Cependant
- HTML
- HTTPS
- et idées cadeaux
- identifier
- Mettre en oeuvre
- in
- passif
- indépendant
- individuel
- d'information
- inspiré
- instance
- Institut
- intérêt
- A inventé
- impliquer
- IT
- itérations
- rejoindre
- joindre
- ACTIVITES
- Genre
- Savoir
- connu
- gros
- plus importantes
- Niveau
- VIE
- limité
- limites
- Gauche
- locales
- Location
- Longtemps
- de longue date
- plus long
- Style
- LES PLANTES
- faire
- FAIT DU
- Fabrication
- manière
- de nombreuses
- Localisation
- Match
- mathématique
- max
- maximales
- veux dire
- En attendant
- aller
- méthodes
- pourrait
- Villas Modernes
- de l'argent
- PLUS
- se déplace
- en mouvement
- presque
- négatif
- voisins
- Nets
- réseau et
- Nouveauté
- next
- nœud
- nœuds
- Notion
- nombre
- numéros
- compenser
- ONE
- ouvert
- Opérations
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- Optimiser
- original
- origine
- Autre
- Autres
- autrement
- Forfaits
- appariement
- Papier
- papiers
- Parallèle
- partie
- les pièces
- En passant
- passé
- chemin
- Pennsylvanie
- en particulier pendant la préparation
- Platon
- Intelligence des données Platon
- PlatonDonnées
- Point
- des notes bonus
- positif
- possibilités
- possible
- pratiquement
- pratique
- présenté
- Problème
- d'ouvrabilité
- processus
- Profit
- rentable
- Progrès
- Projet
- propriété
- prouvé
- fournit
- purement
- Putting
- Quantamamagazine
- question
- vite.
- radicalement
- aléatoire
- rapidement
- nous joindre
- réal
- réalisé
- raison
- raisonnable
- récemment
- réduire
- refléter
- régions
- relativement
- resté
- reste
- répété
- À PLUSIEURS REPRISES
- représentent
- représenté
- représente
- exigent
- conditions
- un article
- chercheurs
- responsables
- limité
- résultat
- résultant
- Récompenser
- routières
- Itinéraire
- Courir
- pour le running
- Rutgers University
- sacrifier
- Saïd
- même
- Sciences
- Scientifique
- scientifiques
- recherche
- les sections
- clignotant
- segments
- sens
- Série
- Établi
- plusieurs
- Shorts
- similaires
- étapes
- simplicité
- depuis
- unique
- Taille
- petit
- So
- RÉSOUDRE
- Résoudre
- quelques
- Quelqu'un
- quelque chose
- quelque part
- sophistiqué
- Identifier
- Sources
- spécial
- groupe de neurones
- vitesse
- ÉPELER
- scission
- Standard
- Commencer
- j'ai commencé
- Commencez
- étapes
- Encore
- Histoire
- de Marketing
- courant
- rue
- structure
- Étudiant
- tel
- été
- environnement
- Prenez
- prend
- prise
- équipe
- techniques
- Technologie
- raconte
- cahier de texte
- Les
- Le graphique
- La Source
- leur
- des choses
- trois
- Avec
- fiable
- à
- ensemble
- trop
- sujet
- touchant
- transport
- Voyages
- difficulté
- oui
- TOUR
- Tourné
- sous-jacent
- comprendre
- université
- la mise à jour
- utilisé
- vacances
- pratiquement
- voulu
- Eau
- webp
- poids
- Quoi
- que
- qui
- WHO
- dans les
- sans
- Activités principales
- de travail
- vos contrats
- pourra
- années
- Vous
- Votre
- zéphyrnet
- Zurich