Giriş
Algoritmalarda, hayatta olduğu gibi, olumsuzluk bir engel olabilir.
Bir grafik üzerindeki iki nokta arasındaki en kısa yolu bulma problemini düşünün — bağlantılar veya kenarlarla birbirine bağlanan düğümlerden oluşan bir ağ. Çoğu zaman, bu kenarlar birbirinin yerine kullanılamaz: Bir grafik, bazı yolların diğerlerinden daha yavaş olduğu veya daha yüksek ücretli olduğu bir yol haritasını temsil edebilir. Bilgisayar bilimcileri bu farklılıkları, her bir kenarı, o segmentte hareket etmenin maliyetini ölçen bir "ağırlık" ile eşleştirerek açıklıyor - bu maliyet ister zamanı, ister parayı veya başka bir şeyi temsil etsin. 1950'lerden beri, tüm ağırlıkların pozitif sayılar olduğunu varsayarak, en kısa yolları teorik olarak mümkün olduğu kadar hızlı bulmayı biliyorlar.
Ancak bazı grafiklerde ağırlıklar negatif olabilir; bir segment boyunca ilerlemek, diğerini geçmenin maliyetini dengeleyebilir. Örneğin, benzin ve otoyol ücretlerini (pozitif ağırlıklarla temsil edilir) nakliye paketlerinden elde edilen gelirle (negatif ağırlıklarla temsil edilir) dengelemesi gereken bir teslimat şoförünü düşünün. Bu gibi durumlarda bilinen en hızlı en kısa yol algoritması çalışmaz. Onlarca yıldır, negatif ağırlıklı grafiklerde en kısa yolları bulmak için hızlı algoritmalar zordu.
Şimdi üç bilgisayar bilimcisi bu uzun süredir devam eden sorunu çözdü. onların yeni algoritmaBelirli bir "kaynak" düğümden diğer tüm düğümlere giden bir grafik boyunca en kısa yolları bulan , pozitif ağırlıklı algoritmaların çok uzun zaman önce ulaştığı hıza neredeyse eşittir.
Dahası, yeni yaklaşım, modern grafik teorisi araştırmalarına hakim olan daha karmaşık yöntemlerden kaçınarak onlarca yıllık matematiksel teknikleri kullanıyor.
"Böylesine basit bir algoritmanın var olduğuna inanamadım" dedi Maximilian Probst Gutenberg, İsviçre Federal Teknoloji Enstitüsü Zürih'te bir bilgisayar bilimcisi. "40 yıldır hepsi orada. Her şeyin işe yaraması için birinin gerçekten zeki ve kararlı olması yeterliydi.”
Açgözlülüğün Sınırları
Hikaye 1956'da Hollandalı bilgisayar bilimcisi Edsger Dijkstra'nın yalnızca pozitif ağırlıklarla bir grafikte en kısa yolları bulmak için hızlı bir algoritma geliştirmesiyle başlıyor. Bunu anlamak için, kaynaktan başlayıp grafiği her seferinde bir düğüm olarak keşfettiğinizi, ilerledikçe yeni keşfedilen kenarların ağırlıklarını not ettiğinizi hayal edin. Bir düğümü her ziyaret ettiğinizde, kaynaktan yeni düğümün komşularına giden en kısa yolların ön tahminlerini yapın ve daha kısa yeni bir yol bulduysanız mevcut tahminleri güncelleyin. Daha sonra hangi keşfedilmemiş düğümün ziyaret edileceğine karar vermek için, açgözlü strateji denilen şeyi kullanın: Mevcut tahmininize göre kaynağa en yakın olana gidin.
Pozitif ağırlıklarla, Dijkstra'nın algoritmasının her düğümü ilk kez ziyaret etmek için izlediği yol gerçekten en kısa olanıdır. Bunun ilk adım için doğru olduğunu görmek en kolayı. Ağırlığı 2 olan bir kenarla birbirine bağlı iki düğüm A ve B düşünün. A kaynak düğümse ve ona dokunan diğer tüm kenarların ağırlığı daha büyükse, A'dan B'ye giden doğrudan yol, bu iki noktayı birleştiren mümkün olan en kısa yol olmalıdır. , çünkü başka herhangi bir yolun ilk bölümü zaten daha uzun olacaktır. Benzer muhakeme her adımda çalışır. Algoritma hiçbir zaman geriye bakmak zorunda kalmaz, bu nedenle grafiği bir kez geçtikten sonra bitirmesi garanti edilir - onu bu kadar hızlı yapan da budur.
Ancak negatif ağırlıklar, Dijkstra'nın açgözlü stratejisi için sorun yaratır. Teslimat şoförümüzü tekrar düşünün. A'dan B'ye küçük bir kâr sağlayan doğrudan bir rota, bir yerlerde büyük getirisi olan dolambaçlı bir yoldan daha az para kazandırabilir. “Yalnızca yerel bilgilere dayanarak karar veremezsiniz” dedi Sanjeev Khanna, Pennsylvania Üniversitesi'nde bir bilgisayar bilimcisi. "Nihayet gerçek bir ödül almak için görünüşte uygun olmayan birkaç hamle yapmanız gerekebilir."
Onlarca yıldır, negatif ağırlıklı grafikler üzerinde çalışan bilgisayar bilimciler, Dijkstra'nın algoritmasının hızını benzer "birleştirici" algoritmalarla eşleştirmeye çalıştılar. Bunlar, altta yatan grafiğin ayrık yapısını yansıtan ayrı işlemleri (olasılıkları sayma, ağırlıkları değiştirme ve kenarları seçerek silme gibi) içerir. Ancak ilerleme 1990'larda yavaşladı. Daha yakın zamanlarda araştırmacılar, kalkülüsten hileler ödünç alan "sürekli optimizasyon" algoritmalarını kullandılar. Ne yazık ki, ortaya çıkan hızlandırmalar sınırlıydı ve genellikle basitlik pahasına gerçekleşti.
Döngüyü kır
2021 yazında, Kopenhag Üniversitesi'nde meslektaş olacak iki bilgisayar bilimcisi — Danupon Nanongkai ve Christian Wulff-Nilsen — ortak bir araştırma projesi için bir konu arıyorlardı. Şu anda Almanya, Saarbrucken'deki Max Planck Enformatik Enstitüsü'nde çalışan Nanongkai, "Christian, 'Bu arada, tatildeydim ve bu nedenle çok iddialı bir şey düşünmeye çalışıyordum' dedi," dedi. Negatif ağırlıklı en kısa yollar probleminde karar kıldılar ve Harun Bernstein Rutgers Üniversitesi'nden onlara katılmak için.
Her üç araştırmacı da diğer problemler için kombinatoryal grafik algoritmalarında uzmandı ve bu nispeten eski yaklaşımların onları ne kadar ileri götürebileceğini görmek istediler. Bernstein, "Aslında iddialı ve uzun süredir açık olan bir sorun üzerinde çalışırken belirli bir özgürlük var" dedi.
Üçlü, olası grafiklerin bir alt kümesini geçici olarak göz ardı ederek başladı: negatif döngüler içerenler. Bunlar, ağırlıkları toplamı negatif bir sayı olan bir dizi kenardan geçtikten sonra başladıkları yere geri dönen yollardır. Başlangıç noktasından ulaşılabilen negatif döngülere sahip bir grafikte, en kısa yol kavramı bozulur, çünkü daha önce negatif döngü etrafında tekrarlanan turlar atarak herhangi bir düğüme olan mesafeyi istediğiniz kadar negatif (veya karlı) yapabilirsiniz. gideceğiniz yere doğru yola çıkıyorsunuz.
Araştırmacılar, sorunu zorlaştırmaktan esas olarak uzun olumsuz yolların sorumlu olduğundan şüpheleniyorlardı. Böylece, herhangi bir uzun negatif yol içeremeyen yakın düğümlerin sıkı kümelerine odaklanmaya başladılar: Bunun nedeni, iki nokta kısa bir pozitif yolla birbirine bağlanırsa, aralarına uzun bir negatif yol eklemek negatif bir döngü yaratacaktır. Bernstein, dar bir küme içinde, "olumlu anlamda herkesin birbirine yakın olması aslında size olumsuz taraflar hakkında da yararlı bilgiler veriyor" dedi. "Size işlerin çok olumsuz olamayacağını söylüyor."
Grafiklerin çoğu, birbirine yalnızca zayıf bir şekilde bağlı olan bu tür sıkı sıkıya bağlı kümeler içerir. Araştırmacılar tüm kümeleri tam olarak saptayabilirlerse, her biri içinde en kısa yolları hızlı bir şekilde bulmanın bir yolunu geliştirebileceklerinden şüpheleniyorlardı. Oradan, bireysel kümeleri birbirine bağlamak ve orijinal grafikteki en kısa yolları bulmak daha kolay olabilir. Ancak bu, düğümlerin birbirine yakın olduğu herhangi bir grafiğin bölgelerini hızlı bir şekilde tespit etmeyi gerektirir - nasıl yapacaklarını bilmedikleri bir şey. Anahtarın, tamamen farklı bir grafik teorisi dalından kaynaklanan bir teknik olduğu ortaya çıktı.
Grafikleri Kesmek
1980'lerde bilgisayar bilimcileri, bir grafikteki sıkı kümeleri seçmek ve bu kümeleri ayırmak için silinecek kenarları belirlemek için düşük çaplı ayrıştırma adı verilen bir teknik geliştirdiler. Bu teknik, grafikleri bağımsız bölümlere ayırmanın bir yolunu sunar. Hesaplamaların bir grafiğin farklı bölümlerinde paralel olarak yürütüldüğü "dağıtılmış" algoritmaları kolaylaştırmak için icat edildi, bu nedenle bu özelliğe sahip olmayan en kısa yol algoritmaları için daha az kullanışlıydı.
Bernstein, Nanongkai ve Wulff-Nilsen, düşük çaplı ayrıştırmanın, çok fazla yoğun olumsuzluk olmadan kümeleri belirlemelerine yardımcı olabileceğini fark ettiler. Ne yazık ki, standart düşük çaplı ayrıştırma algoritmaları yalnızca yönsüz grafikler üzerinde çalışır - her kenarın her iki yönde de geçilebildiği grafikler. Bu arada negatif ağırlıklı en kısa yollar problemi, yalnızca her kenarın tek yönlü bir yol olduğu yönlendirilmiş grafiklerde anlamlıdır. (Aksi takdirde, yönlendirilmemiş tek bir negatif kenar, o kenar boyunca tekrarlanan ileri geri atlamalardan oluşan bir negatif döngü yaratırdı.) Araştırmacılar düşük çaplı ayrıştırma kullanmak isteselerdi, onu uyarlamaları gerekirdi.
Yeni gazetelerinde yaptıkları buydu. İlham alan geçmiş iş Bernstein ve Wulff-Nilsen'in Probst Gutenberg ile işbirliği yaptıkları, yönlendirilmiş grafikler için düşük çaplı ayrışmaya benzer bir kırılma prosedürü geliştirdiler. Prosedür, rastgele yönlendirilmiş bir grafiği, yalnızca bir avuç kenarı silmek için rastgele bir işlem kullanarak bir dizi sıkı örülmüş kümeye böler. Daha sonra, bu kümeler, tüm kenarların aynı yönü gösterdiği daha seyrek bir ağ ile birbirine bağlanır. Bu tür bir ağa yönlendirilmiş asiklik grafik veya DAG denir.
Bir DAG'ı, suyun farklı yollardan aşağı akabileceği bir nehir gibi düşünün: Bazı yollar farklı kaynaklardan akar, diğerleri farklı yönlere yayılır ve yine de diğerleri ayrılıp tekrar bir araya gelebilir. Ama hiçbir şey asla geriye doğru akmaz, dolayısıyla döngü yoktur; bu, DAG'lerle çalışmayı çok daha kolaylaştırır.
Araştırmacılar, negatif ağırlıklarla bile DAG'lerde en kısa yolları nasıl hızla bulacaklarını uzun zamandır biliyorlar. Böylece kırılma tekniği, üç araştırmacının herhangi bir yönlendirilmiş grafiği, her birinin kullanımı kolay olan iki özel durumun (DAG'ler ve sıkı kümeler) bir kombinasyonuna indirgemesini sağladı.
Yeni en kısa yollar algoritması, bir grafiği bir DAG ile birbirine sıkı sıkıya bağlı kümelere bölmek için parçalama prosedürünü tekrar tekrar kullanır. Daha sonra bu kümeleri daha da fazla parçalara ayırır. Sürecin sonunda, en içteki seviyedeki kümeler mümkün olduğu kadar yakından bağlantılıdır. Algoritmanın bu kadar hızlı olmasının bir nedeni, çok büyük bir grafiği bile tamamen parçalamak için çok fazla yineleme gerektirmemesidir, tıpkı büyük bir sayıyı tekrar tekrar bölerseniz makul bir boyuta indirmenin uzun sürmemesi gibi. yarıda.
Grafik bu şekilde tamamen parçalandığında, araştırmacılar grafiğin her bölümünde en kısa yolları hızla bulabildiler. İç içe geçmiş grafik yapısının en iç seviyesindeki sıkı kümeler için bu kolaydı - neredeyse hiç olumsuzlukları kalmamıştı. Ve araştırmacılar, onları birleştiren DAG bölümlerinde en kısa yolları nasıl bulacaklarını zaten biliyorlardı.
Son olarak, algoritma, kırma işlemi tarafından elenen kenarları geri ekler ve bunların en kısa yollar üzerindeki etkilerini hesaplar. Araştırmacılar, kenarları rasgele silme işlemlerinin, DAG'lerini büyük döngülere sahip bir grafiğe dönüştürecek türden "geriye doğru" kenarları ortadan kaldırmak için neredeyse her zaman yalnızca birkaç silme işlemi gerektirdiğini kanıtladı. Bu, herhangi bir en kısa yolun bu tür çok sayıda geriye doğru parçadan geçmesini son derece olası kılıyordu, böylece bu zorlu son adımı 1950'lerden iki ders kitabı yöntemini birleştirerek çözebildiler: Dijkstra'nın algoritması ve negatif ağırlıklı grafikler için geliştirilen ilk algoritma.
Khanna, "Bu fikirlerin son derece zekice bir bileşimi," dedi. Algoritma, "doğruya yakın" sürede çalışan negatif ağırlıklı grafikler için ilktir - bu, çalışma süresinin, mümkün olan en hızlı şekilde tüm kenarları saymak için gereken zamanla neredeyse orantılı olduğu anlamına gelir.
Ve araştırmacıların başlangıçta göz ardı etmeye karar verdiği negatif döngülere sahip grafikler ne olacak? En kısa yol algoritmalarına son rötuşları yaptıktan sonra, negatif döngüleri saptamak için hızlı bir algoritma olarak da çalışabileceğini gösterdiler. Neredeyse hiçbir grafik erişiminin ötesinde değildi.
Paralel Yollar
Bernstein, ekibin sonucunu 2022 Bilgisayar Biliminin Temelleri konferansında sundu ve burada yeni algoritmayı açıklayan el yazmaları en iyi iki makaleden biri olarak kabul edildi. bu diğer kağıt ayrıca grafik teorisinde uzun süredir devam eden bir sorunu çözmek için yeni bir doğrusal zamana yakın algoritmayı tanımladı.
Probst Gutenberg ve diğer beş araştırmacı tarafından geliştirilen bu algoritma, minimum maliyetli akış adı verilen daha genel bir sorunu ele aldı; burada amaç, paralel olarak birçok yol boyunca taşımayı optimize etmektir ve her kenarın bir maksimum kapasitenin yanı sıra ilişkili bir maliyeti vardır. . En kısa yol problemleri, minimum maliyetli akışın özel bir durumudur, bu nedenle, radikal olarak farklı bir yaklaşımla da olsa, yeni minimum maliyetli akış algoritması, negatif ağırlıklı en kısa yollar problemini doğrusala yakın zamanda çözmek için de kullanılabilir.
Minimum maliyetli akış üzerinde çalışan ekip, genel amaçlı hızlı algoritmasını, en azından şu anda pratikte hantal hale getiren kombinatoryal ve sürekli optimizasyon tekniklerinin karmaşık bir sentezini kullanarak geliştirdi. Bernstein ve meslektaşlarının kombinatoryal algoritması, daha spesifik bir problemle sınırlı olsa da, basitlikten ödün vermeden neredeyse doğrusal çalışma zamanına ulaşıyor.
Probst Gutenberg, "Bu makalenin şaşırtıcı yanı da bu," dedi. “Bir lisans öğrencisine anlatabilirsin, bilgisayarına da uygulayabilirsin.”
Sonuç olarak, bu yeni algoritma, grafik teorisindeki diğer problemlere kombinatoryal yaklaşımlara olan ilgiyi yeniden canlandırdı. Tamamen kombinatoryal algoritmalar kullanılarak hangi problemlerin hızla çözülebileceği ve hangilerinin gerçekten son 20 yılda geliştirilen sürekli teknikleri gerektirdiği görülecektir.
Nanongkai, "Bu, anlamaya çalıştığım felsefi bir soru," dedi. "Bu en kısa yol problemi biraz umut veriyor."
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- Plato blok zinciri. Web3 Metaverse Zekası. Bilgi Güçlendirildi. Buradan Erişin.
- Kaynak: https://www.quantamagazine.org/finally-a-fast-algorithm-for-shortest-paths-on-negative-graphs-20230118/
- 20 yıl
- 2021
- 2022
- a
- Hakkımızda
- Göre
- Hesap
- elde
- karşısında
- aslında
- asiklik
- uyarlamak
- Ekler
- Sonra
- karşı
- algoritma
- algoritmalar
- Türkiye
- zaten
- her zaman
- hırslı
- Eski
- ve
- Başka
- ayrı
- yaklaşım
- yaklaşımlar
- etrafında
- ilişkili
- Arka
- Bakiye
- merkezli
- Çünkü
- müşterimiz
- önce
- başladı
- Inanmak
- Bernstein
- İYİ
- arasında
- Ötesinde
- Büyük
- ödünç almak
- şube
- mola
- sonları
- Kırık
- hesaplar
- denilen
- Kapasite
- dava
- durumlarda
- belli
- BDT
- Kapanış
- yakından
- Küme
- işbirliği
- arkadaşları
- kombinasyon
- birleştirme
- nasıl
- hesaplamalar
- bilgisayar
- Bilgisayar Bilimleri
- Konsantre
- Konferans
- bağlı
- bağlantı
- Düşünmek
- oluşan
- sürekli
- Ücret
- olabilir
- yaratmak
- akım
- Şu anda
- kesim
- döngüleri
- DAG
- yıl
- karar
- kararlar
- teslim
- tanımlamak
- hedef
- kararlı
- geliştirmek
- gelişmiş
- DID
- farklılıkları
- farklı
- zor
- direkt
- yön
- keşfetti
- mesafe
- Değil
- Dont
- aşağı
- sürücü
- Flemenkçe
- her
- kazanmak
- kolay
- kolay
- kenar
- etkileri
- gidermek
- elimine
- etkin
- Baştan sona
- esasen
- tahmin
- tahminleri
- Hatta
- hİÇ
- herkes
- mevcut
- var
- uzmanlara göre
- Açıklamak
- Keşfetmek
- son derece
- kolaylaştırmak
- fan
- HIZLI
- hızlı
- Federal
- az
- son
- Nihayet
- bulmak
- bulma
- bulur
- Ad
- ilk kez
- akış
- Akışları
- odak
- bulundu
- Temeller
- Freedom
- itibaren
- tamamen
- daha fazla
- GAZ
- genel
- genel amaçlı
- Almanya
- almak
- verilmiş
- verir
- Go
- gol
- grafik
- grafikler
- Açgözlü
- garanti
- Gutenberg
- Yarım
- avuç
- sap
- olmuş
- Başlık
- yardım et
- daha yüksek
- umut
- Ne kadar
- Nasıl Yapılır
- Ancak
- HTML
- HTTPS
- fikirler
- belirlemek
- uygulamak
- in
- Gelir
- bağımsız
- bireysel
- bilgi
- ilham
- örnek
- Enstitü
- faiz
- İcat edildi
- dahil
- IT
- yineleme
- kaydol
- birleştirme
- anahtar
- Nezaket.
- Bilmek
- bilinen
- büyük
- büyük
- seviye
- hayat
- Sınırlı
- sınırları
- bağlantılar
- yerel
- Uzun
- uzun zaman
- sürüncemede kalan
- uzun
- Bakın
- yapılmış
- yapmak
- YAPAR
- Yapımı
- tavır
- çok
- harita
- Maç
- matematiksel
- maksimum
- maksimum
- anlamına geliyor
- Bu arada
- gitmek
- yöntemleri
- olabilir
- Modern
- para
- Daha
- hamle
- hareketli
- neredeyse
- negatif
- komşular
- Ağlar
- ağ
- yeni
- sonraki
- düğüm
- düğümler
- kavram
- numara
- sayılar
- ofset
- ONE
- açık
- Operasyon
- optimizasyon
- optimize
- orijinal
- kökenli
- Diğer
- Diğer
- aksi takdirde
- paketler
- eşleştirme
- kâğıt
- kâğıtlar
- Paralel
- Bölüm
- parçalar
- Geçen
- geçmiş
- yol
- Pensilvanya
- seçmek
- Platon
- Plato Veri Zekası
- PlatoVeri
- Nokta
- noktaları
- pozitif
- olanakları
- mümkün
- pratikte
- uygulama
- sundu
- Sorun
- sorunlar
- süreç
- Kâr
- kârlı
- Ilerleme
- proje
- özellik
- kanıtladı
- sağlar
- yalnızca
- koymak
- Quanta dergisi
- soru
- hızla
- kökünden
- rasgele
- hızla
- ulaşmak
- gerçek
- fark
- neden
- makul
- geçenlerde
- azaltmak
- yansıtmak
- bölgeler
- Nispeten
- kalmıştır
- kalıntılar
- tekrarlanan
- DEFALARCA
- temsil etmek
- temsil
- temsil
- gerektirir
- gereklidir
- araştırma
- Araştırmacılar
- sorumlu
- kısıtlı
- sonuç
- Ortaya çıkan
- Ödüllendirmek
- yol
- Rota
- koşmak
- koşu
- Rutgers Üniversitesi
- feda
- Adı geçen
- aynı
- Bilim
- bilim adamı
- bilim adamları
- arama
- bölümler
- bölüm
- segmentler
- duyu
- Dizi
- Yerleşik
- birkaç
- kısa
- benzer
- Basit
- basitlik
- beri
- tek
- beden
- küçük
- So
- ÇÖZMEK
- Çözme
- biraz
- Birisi
- bir şey
- bir yerde
- sofistike
- Kaynak
- kaynaklar
- özel
- özel
- hız
- HARF HARF KODLAMAK
- bölmek
- standart
- başlama
- başladı
- XNUMX dakika içinde!
- adım
- Yine
- Öykü
- Stratejileri
- dere
- sokak
- yapı
- Öğrenci
- böyle
- yaz
- İsviçre
- Bizi daha iyi tanımak için
- alır
- alma
- takım
- teknikleri
- Teknoloji
- anlatır
- ders kitabı
- The
- Grafik
- Kaynak
- ve bazı Asya
- işler
- üç
- İçinden
- zaman
- için
- birlikte
- çok
- konu
- dokunaklı
- taşıma
- Seyahat
- sorun
- gerçek
- DÖNÜŞ
- Dönük
- altında yatan
- anlamak
- üniversite
- güncellenmesi
- kullanım
- tatil
- fiilen
- aranan
- Su
- webp
- ağırlık
- Ne
- olup olmadığını
- hangi
- DSÖ
- içinde
- olmadan
- İş
- çalışma
- çalışır
- olur
- yıl
- Sen
- zefirnet
- Zürih