Predstavitev
V algoritmih, kot v življenju, je negativnost lahko ovira.
Razmislite o problemu iskanja najkrajše poti med dvema točkama na grafu – mrežo vozlišč, povezanih s povezavami ali robovi. Ti robovi pogosto niso zamenljivi: graf lahko predstavlja zemljevid cest, na katerem so nekatere ceste počasnejše od drugih ali imajo višje cestnine. Računalniški znanstveniki upoštevajo te razlike tako, da združijo vsak rob z "utežjo", ki kvantificira stroške premikanja po tem segmentu - ne glede na to, ali ta strošek predstavlja čas, denar ali kaj drugega. Od petdesetih let 1950. stoletja vedo, kako najti najkrajše poti v bistvu tako hitro, kot je teoretično mogoče, ob predpostavki, da so vse uteži pozitivna števila.
Toda na nekaterih grafih so uteži lahko negativne – potovanje po enem segmentu lahko izravna stroške prečkanja drugega. Vzemite na primer voznika dostave, ki mora uravnotežiti stroške plina in cestnine (predstavljene s pozitivnimi utežmi) z dohodkom od prevoza paketov (predstavljene z negativnimi utežmi). V takih primerih najhitrejši znani algoritem najkrajše poti ne deluje. Že desetletja so hitri algoritmi za iskanje najkrajših poti na grafih z negativno utežjo ostali nedosegljivi.
Zdaj je trojica računalniških znanstvenikov rešila ta dolgoletni problem. Njihovo novo algoritem, ki najde najkrajše poti skozi graf od danega "izvornega" vozlišča do vsakega drugega vozlišča, se skoraj ujema s hitrostjo, ki so jo algoritmi s pozitivno utežjo dosegli tako dolgo nazaj.
Še več, novi pristop uporablja desetletja stare matematične tehnike in se izogiba bolj sofisticiranim metodam, ki so prevladovale v sodobnih raziskavah teorije grafov.
"Preprosto nisem mogel verjeti, da obstaja tako preprost algoritem," je dejal Maksimilijan Probst Gutenberg, računalničar na švicarskem zveznem inštitutu za tehnologijo v Zürichu. »Vse to je tam že 40 let. Potreboval je le nekoga, ki je bil res pameten in odločen, da je vse uspelo.”
Meje pohlepa
Zgodba se začne leta 1956, ko je nizozemski računalničar Edsger Dijkstra razvil hiter algoritem za iskanje najkrajših poti na grafu s samo pozitivnimi utežmi. Da bi ga razumeli, si predstavljajte, da začnete od vira in raziskujete graf eno vozlišče naenkrat ter si sproti zapisujete uteži na novo odkritih robov. Vsakič, ko obiščete vozlišče, naredite predhodne ocene najkrajših poti od vira do vsakega od sosedov novega vozlišča in posodobite vse obstoječe ocene, če ste našli novo krajšo pot. Če se želite odločiti, katero neraziskano vozlišče boste obiskali naslednje, uporabite tako imenovano pohlepno strategijo: pojdite na tisto, ki je najbližje viru glede na vašo trenutno oceno.
S pozitivnimi utežmi je pot, ki jo Dijkstrajev algoritem opravi, da prvič obišče vsako vozlišče, resnično najkrajša. Najlažje je videti, da to velja že pri prvem koraku. Predstavljajte si dve vozlišči A in B, ki ju povezuje rob s težo 2. Če je A izvorno vozlišče in ima vsak drugi rob, ki se ga dotika, večjo težo, mora biti neposredna pot od A do B najkrajša možna pot, ki povezuje ti dve točki , saj bi bil prvi segment katere koli druge poti že daljši. Podobno sklepanje deluje na vsakem koraku. Algoritmu se nikoli ni treba ozreti nazaj, zato je zagotovljeno, da bo končal po enkratnem pregledu grafa – zaradi tega je tako hiter.
Toda negativne uteži pomenijo težave za Dijkstrovo pohlepno strategijo. Ponovno razmislite o našem vozniku dostave. Neposredna pot od A do B, ki prinese majhen dobiček, lahko zasluži manj denarja kot krožna pot, ki se nekje dobro izplača. "Ne morete sprejemati odločitev le na podlagi lokalnih informacij," je rekel Sanjeev Khanna, računalniški znanstvenik na Univerzi v Pensilvaniji. "Morda boste morali narediti več na videz neoptimalnih potez, da končno dobite pravo nagrado."
Desetletja so računalniški znanstveniki, ki so delali na grafih z negativno težo, poskušali uskladiti hitrost Dijkstrinega algoritma s podobnimi "kombinatornimi" algoritmi. Te vključujejo diskretne operacije – kot so možnosti štetja, spreminjanje uteži in selektivno brisanje robov – ki odražajo diskretno strukturo osnovnega grafa. Vendar se je napredek v devetdesetih letih upočasnil. Pred kratkim so raziskovalci uporabili algoritme za "neprekinjeno optimizacijo", ki so si izposodili trike iz računanja. Na žalost so bile posledične pospešitve omejene in pogosto za ceno preprostosti.
Prekinite cikel
Poleti 2021 sta dva računalniška znanstvenika, ki sta postala sodelavca na Univerzi v Kopenhagnu — Danupon Nanongkai in Christian Wulff-Nilsen — so iskali temo za skupno raziskovalno nalogo. »Christian je rekel: 'Oh, mimogrede, bil sem na počitnicah in sem si zato skušal zamisliti nekaj zelo ambicioznega,'« se je spominjal Nanongkai, ki je zdaj na Inštitutu Maxa Plancka za informatiko v Saarbrucku v Nemčiji. Odločili so se za problem najkrajših poti z negativno težo in povabili Aaron Bernstein univerze Rutgers, da se jim pridruži.
Vsi trije raziskovalci so bili strokovnjaki za algoritme kombinatornih grafov za druge probleme in želeli so videti, kako daleč jih lahko pripeljejo ti relativno stari pristopi. "Pravzaprav obstaja določena svoboda pri delu na problemu, ki je ambiciozen in odprt že dolgo časa," je dejal Bernstein.
Trio je začel z začasnim ignoriranjem podmnožice možnih grafov: tistih, ki vsebujejo negativne cikle. To so poti, ki se vrnejo nazaj tja, kjer so se začele po prehodu skozi vrsto robov, katerih uteži seštejejo do negativnega števila. V grafu z negativnimi cikli, ki so dosegljivi z začetne točke, se pojem najkrajše poti pokvari, saj lahko naredite razdaljo do katerega koli vozlišča tako negativno (ali donosno), kot želite, tako da ponavljate kroge okoli negativnega cikla, preden se odpravite na cilj.
Raziskovalci so sumili, da so dolge negativne poti v glavnem odgovorne za otežitev problema. Tako so se začeli osredotočati na tesne skupine bližnjih vozlišč, ki ne morejo vsebovati nobenih dolgih negativnih poti: To je zato, ker če sta dve točki povezani s kratko pozitivno potjo, bi dodajanje dolge negativne poti med njima ustvarilo negativen cikel. Znotraj tesnega grozda "dejstvo, da so vsi blizu skupaj v pozitivnem smislu, dejansko daje koristne informacije tudi o negativnih robovih," je dejal Bernstein. "To vam pove, da stvari ne morejo biti preveč negativne."
Večina grafov vsebuje veliko takšnih tesno povezanih skupin, ki so med seboj le šibko povezane. Če bi raziskovalci lahko natančno določili vse grozde, so domnevali, da bi lahko razvili način za hitro iskanje najkrajših poti znotraj vsakega. Od tam bodo morda lažje povezali posamezne skupine in našli najkrajše poti na izvirnem grafu. Toda to bi zahtevalo hitro odkrivanje regij katerega koli grafa, v katerem so vozlišča blizu skupaj - nekaj, česar niso vedeli, kako narediti. Izkazalo se je, da je ključ tehnika, ki izvira iz povsem druge veje teorije grafov.
Rezanje grafov
V osemdesetih letih prejšnjega stoletja so računalniški znanstveniki razvili tehniko, imenovano dekompozicija z majhnim premerom, da izberejo ozke skupine v grafu in identificirajo robove, ki jih je treba izbrisati, da se te skupine ločijo. Ta tehnika omogoča razdelitev grafov na neodvisne odseke. Izumili so ga za olajšanje "razdeljenih" algoritmov, v katerih izračuni potekajo vzporedno na različnih delih grafa, zato je bil manj očitno uporaben za algoritme najkrajših poti, ki te lastnosti nimajo.
Bernstein, Nanongkai in Wulff-Nilsen so ugotovili, da bi jim razgradnja z majhnim premerom lahko pomagala identificirati grozde brez veliko koncentrirane negativnosti. Na žalost standardni dekompozicijski algoritmi z majhnim premerom delujejo samo na neusmerjenih grafih - tistih, v katerih je mogoče vsak rob prečkati v obe smeri. Problem najkrajših poti z negativno težo je medtem smiseln samo na usmerjenih grafih, v katerih je vsak rob enosmerna ulica. (V nasprotnem primeru bi en sam neusmerjen negativni rob ustvaril negativni cikel, sestavljen iz ponavljajočih se skokov naprej in nazaj čez ta rob.) Če bi raziskovalci želeli uporabiti razgradnjo z majhnim premerom, bi jo morali prilagoditi.
To so storili v svojem novem časopisu. Navdihnjen od preteklo delo pri katerem sta Bernstein in Wulff-Nilsen sodelovala s Probstom Gutenbergom, sta razvila postopek lomljenja za usmerjene grafe, ki je analogen dekompoziciji z majhnim premerom. Postopek razreže poljubno usmerjen graf v vrsto tesno povezanih grozdov z uporabo naključnega postopka za brisanje le peščice robov. Nato so ti grozdi povezani z redkejšo mrežo, v kateri so vsi robovi usmerjeni v isto smer. Takšno omrežje se imenuje usmerjeni aciklični graf ali DAG.
Predstavljajte si DAG kot potok, v katerem lahko voda teče po različnih poteh: nekatere poti tečejo iz različnih virov, druge se raztezajo v različnih smereh, tretje pa se lahko razcepijo in ponovno združijo. Toda nikoli nič ne teče nazaj, zato ni ciklov; zaradi tega je delo z DAG veliko lažje.
Raziskovalci že dolgo vedo, kako hitro najti najkrajše poti na DAG-jih tudi z negativnimi utežmi. Tehnika lomljenja je torej trem raziskovalcem omogočila reduciranje katerega koli usmerjenega grafa na kombinacijo dveh posebnih primerov – DAG in tesnih grozdov – s katerimi je bilo vsako enostavno rokovati.
Novi algoritem najkrajših poti vedno znova uporablja postopek lomljenja, da razdeli graf na tesno povezane skupine, ki jih povezuje DAG. Te grozde nato vse bolj razgrajuje. Na koncu procesa so grozdi na najbolj notranji ravni čim tesneje povezani. Del razloga, zakaj je algoritem tako hiter, je, da ni potrebnih veliko iteracij, da se v celoti razčleni celo zelo velik graf, tako kot ne traja dolgo, da zmanjšate veliko število na razumno velikost, če večkrat delite to na pol.
Z grafom, ki je v celoti razčlenjen na ta način, so lahko raziskovalci hitro našli najkrajše poti skozi vsak del grafa. Za ozke grozde na najgloblji ravni strukture ugnezdenega grafa je bilo to enostavno - praktično niso imeli več negativnosti. In raziskovalci so že vedeli, kako najti najkrajše poti na odsekih DAG, ki se jim pridružujejo.
Nazadnje algoritem doda robove, ki so bili izločeni s postopkom lomljenja, in izračuna njihove učinke na najkrajših poteh. Raziskovalci so dokazali, da bi njihov postopek za naključno brisanje robov skoraj vedno zahteval le nekaj izbrisov za odpravo "nazaj" robov - vrste, ki bi njihov DAG spremenila v graf z velikimi cikli. Zaradi tega je bilo zelo malo verjetno, da bi katera koli najkrajša pot šla skozi preveč takih zaostalih segmentov, zato so lahko rešili ta zapleten zadnji korak s kombiniranjem dveh učbeniških metod iz petdesetih let prejšnjega stoletja: Dijkstrinega algoritma in prvega algoritma, razvitega za grafe z negativno utežjo.
"To je izjemno pametna sestava teh idej," je dejal Khanna. Algoritem je prvi za grafe z negativno težo, ki se izvaja v "skoraj linearnem" času - kar pomeni, da je njegov čas izvajanja skoraj sorazmeren s časom, ki je potreben samo za štetje vseh robov, kar je najhitrejše, kar je lahko.
In kaj je z grafi z negativnimi cikli, ki so se jih raziskovalci že na začetku odločili prezreti? Potem ko so dodelali svoj algoritem najkrajših poti, so pokazali, da lahko deluje tudi kot hiter algoritem za natančno določanje negativnih ciklov. Skoraj noben graf ni bil zunaj njegovega dosega.
Vzporedne poti
Bernstein je predstavil rezultat ekipe na konferenci Fundations of Computer Science leta 2022, kjer je bil njihov rokopis, ki opisuje nov algoritem, ocenjen kot eden izmed dveh najboljših člankov. The drug papir zgodilo se je tudi, da je opisal nov algoritem skoraj linearnega časa za reševanje dolgoletnega problema v teoriji grafov.
Ta algoritem, ki so ga razvili Probst Gutenberg in pet drugih raziskovalcev, je obravnaval bolj splošen problem, imenovan tok z minimalnimi stroški, pri katerem je cilj optimizirati transport po številnih vzporednih poteh, vsak rob pa ima največjo zmogljivost in pripadajoče stroške. . Težave z najkrajšimi potmi so poseben primer toka z minimalnimi stroški, zato bi lahko novi algoritem toka z minimalnimi stroški uporabili tudi za reševanje problema najkrajših poti z negativno utežjo v skoraj linearnem času, čeprav z radikalno drugačnim pristopom.
Skupina, ki se ukvarja s pretokom z minimalnimi stroški, je razvila svoj hitri algoritem splošnega namena z uporabo zapletene sinteze kombinatoričnih in neprekinjenih tehnik optimizacije, zaradi česar je v praksi neroden, vsaj trenutno. Kombinatorni algoritem Bernsteina in njegovih kolegov, čeprav je omejen na bolj specifičen problem, doseže svoj skoraj linearni čas delovanja, ne da bi žrtvoval preprostost.
"To je tisto, kar je tako presenetljivo pri tem dokumentu," je dejal Probst Gutenberg. "Lahko ga razložite dodiplomskemu študentu in ga lahko implementirate tudi v svoj računalnik."
Posledično je ta novi algoritem oživil zanimanje za kombinatorične pristope k drugim problemom v teoriji grafov. Videti je treba, katere probleme je mogoče hitro rešiti s čisto kombinatoričnimi algoritmi in kateri resnično zahtevajo neprekinjene tehnike, razvite v zadnjih 20 letih.
"To je filozofsko vprašanje, ki ga poskušam razumeti," je dejal Nanongkai. "Ta problem najkrajše poti daje nekaj upanja."
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- vir: https://www.quantamagazine.org/finally-a-fast-algorithm-for-shortest-paths-on-negative-graphs-20230118/
- 20 let
- 2021
- 2022
- a
- O meni
- Po
- Račun
- doseže
- čez
- dejansko
- aciklični
- prilagodijo
- Dodaja
- po
- proti
- algoritem
- algoritmi
- vsi
- že
- vedno
- ambiciozni
- Ancient
- in
- Še ena
- narazen
- pristop
- pristopi
- okoli
- povezan
- nazaj
- Ravnovesje
- temeljijo
- ker
- postanejo
- pred
- začel
- Verjemite
- Bernstein
- BEST
- med
- Poleg
- Big
- sposodim
- Branch
- Break
- odmori
- Broken
- izračuna
- se imenuje
- kapaciteta
- primeru
- primeri
- nekatere
- CIS
- Zapri
- tesno
- Grozd
- sodeloval
- sodelavci
- kombinacija
- združevanje
- kako
- izračuni
- računalnik
- Računalništvo
- Zgoščeno
- Konferenca
- povezane
- Povezovanje
- Razmislite
- Sestavljeno
- neprekinjeno
- strošek
- bi
- ustvarjajo
- Trenutna
- Trenutno
- Cut
- ciklov
- DAG
- desetletja
- odločil
- odločitve
- dostava
- opisati
- destinacija
- določi
- Razvoj
- razvili
- DID
- razlike
- drugačen
- težko
- neposredna
- smer
- odkril
- razdalja
- Ne
- dont
- navzdol
- voznik
- Nizozemski
- vsak
- zaslužiti
- lažje
- najlažje
- Edge
- Učinki
- odpravo
- odpraviti
- omogočena
- popolnoma
- v bistvu
- oceniti
- ocene
- Tudi
- VEDNO
- vsi
- obstoječih
- obstaja
- Strokovnjaki
- Pojasnite
- Raziskovati
- izredno
- olajšati
- ventilator
- FAST
- Najhitreje
- Zvezna
- Nekaj
- končna
- končno
- Najdi
- iskanje
- najdbe
- prva
- prvič
- Pretok
- Tokovi
- Osredotočite
- je pokazala,
- Temelji
- Svoboda
- iz
- v celoti
- nadalje
- GAS
- splošno
- glavni namen
- Nemčija
- dobili
- dana
- daje
- Go
- Cilj
- graf
- grafi
- Greedy
- zagotovljena
- gutenberg
- Pol
- peščica
- ročaj
- se je zgodilo
- Postavka
- pomoč
- več
- upam,
- Kako
- Kako
- Vendar
- HTML
- HTTPS
- Ideje
- identificirati
- izvajati
- in
- prihodki
- Neodvisni
- individualna
- Podatki
- navdih
- primer
- Inštitut
- obresti
- Izmišljeno
- vključujejo
- IT
- ponovitve
- pridružite
- pridružil
- Ključne
- Otrok
- Vedite
- znano
- velika
- večja
- Stopnja
- življenje
- Limited
- Meje
- Povezave
- lokalna
- Long
- dolgo časa
- dolgoletni
- več
- Poglej
- je
- Znamka
- IZDELA
- Izdelava
- Način
- več
- map
- Stave
- matematični
- max
- največja
- pomeni
- Medtem
- Spoji
- Metode
- morda
- sodobna
- Denar
- več
- premika
- premikanje
- skoraj
- negativna
- sosedi
- mreže
- mreža
- Novo
- Naslednja
- Vozel
- vozlišča
- Pojem
- Številka
- številke
- odmik
- ONE
- odprite
- operacije
- optimizacija
- Optimizirajte
- izvirno
- izvira
- Ostalo
- drugi
- drugače
- pakete
- seznanjanje
- Papir
- članki
- vzporedno
- del
- deli
- Podaje
- preteklosti
- pot
- Pennsylvania
- kramp
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Točka
- točke
- pozitiven
- možnosti
- mogoče
- praktično
- praksa
- predstavljeni
- problem
- Težave
- Postopek
- Dobiček
- donosno
- Napredek
- Projekt
- nepremičnine
- dokazano
- zagotavlja
- izključno
- Dajanje
- Quantamagazine
- vprašanje
- hitro
- radikalno
- naključno
- hitro
- dosežejo
- pravo
- realizirano
- Razlog
- razumno
- Pred kratkim
- zmanjša
- odražajo
- regije
- relativno
- ostalo
- ostanki
- ponovi
- PONOVNO
- predstavljajo
- zastopan
- predstavlja
- zahteva
- obvezna
- Raziskave
- raziskovalci
- odgovorna
- omejeno
- povzroči
- rezultat
- Nagrada
- cesta
- Pot
- Run
- tek
- Univerza Rutgers
- žrtvovanje
- Je dejal
- Enako
- Znanost
- Znanstvenik
- Znanstveniki
- iskanje
- oddelki
- Segment
- segmentih
- Občutek
- Serija
- Rešeno
- več
- Kratke Hlače
- Podoben
- Enostavno
- preprostost
- saj
- sam
- Velikosti
- majhna
- So
- SOLVE
- Reševanje
- nekaj
- nekdo
- Nekaj
- nekje
- prefinjeno
- vir
- Viri
- posebna
- specifična
- hitrost
- ČAROV
- po delih
- standardna
- Začetek
- začel
- Začetek
- Korak
- Še vedno
- Zgodba
- Strategija
- tok
- ulica
- Struktura
- študent
- taka
- poletje
- Švicarski
- Bodite
- meni
- ob
- skupina
- tehnike
- Tehnologija
- pove
- učbenik
- O
- Graf
- Vir
- njihove
- stvari
- 3
- skozi
- čas
- do
- skupaj
- tudi
- temo
- dotika
- prevoz
- Potovanje
- Težava
- Res
- OBRAT
- Obrnjen
- osnovni
- razumeli
- univerza
- posodabljanje
- uporaba
- počitnice
- praktično
- hotel
- Voda
- webp
- teža
- Kaj
- ali
- ki
- WHO
- v
- brez
- delo
- deluje
- deluje
- bi
- let
- Vi
- Vaša rutina za
- zefirnet
- Zurich