Maksimum Akışta Kalan Grafik


14

Burada Maksimum Akış Sorunu'nu okuyorum . Artık Grafiğin arkasındaki sezgiyi anlayamadım. Akışı hesaplarken neden arka kenarları düşünüyoruz?

Artık Grafik Grafik kavramını anlamama yardımcı olabilir mi?

Yönlendirilmemiş Grafiklerde Algoritma nasıl değişir?

Yanıtlar:


28

Maksimum akış probleminde kalan grafiğin arkasındaki sezgi bu derste çok iyi bir şekilde sunulmuştur . Açıklama aşağıdaki gibidir.

Aşağıdaki ağ için en akış problemi çözmeye çalıştığı Varsayalım ki G (burada her bir etiket fe/ce O anlamına gelir, her iki akış fe bir kenar boyunca itilir e ve kapasite ce bu kenarın):

Çalışan örnek

Olası açgözlü bir yaklaşım şudur:

  1. Pste(ePfe<ceP
  2. ΔΔPΔ=mineP(cefe)
  3. Arttırma yolu bulunmayana kadar 1. adıma gidin.

Yani, kullanılabilir kapasiteye sahip bir yol bulun, bu yol boyunca akış gönderin ve tekrarlayın.

Olarak , sezgisel bulur üzerinde muhtemel bir uygulama, üç takviye yolları , ve , bu sırada. Bu yollar, toplam 5 akış için sırasıyla 2, 2 ve 1 akış birimini iter:P 1 P 2 P 3GP1P2P3

Maksimum akış için açgözlü yaklaşımın olası uygulaması

Bu sırayla yolların seçilmesi en uygun çözümü sağlar; Seçtiğimiz ancak, ne olur ilk (yani önce ve )?P 1 P 2P3P1P2

Engelleme yolu

Engelleme akışı olarak adlandırılan şeyi elde ederiz : daha fazla artırıcı yol yoktur. Bu durumda, toplam akış 3'tür ve bu optimal değildir. Bu sorun, geri alma işlemlerine izin vererek (yani, akışın tersine gönderilmesine izin vererek, önceki yinelemelerin çalışmasını geri alarak) çözülebilir: 2 birim akışı, köşe aşağıdaki köşe geriye doğru itin :vwv

Geri akış

İzin verilen bu geri alma işlemlerini kodlamak, kalan grafiğin ana hedefidir .

Bir ağ artık grafiği , ile aynı köşe kümesine sahiptir ve her kenar için :G G e = ( u , v ) GRGGe=(u,v)G

  • ise, kapasiteli bir ön kenar .c e - f e c e - f e > 0e=(u,v)cefecefe>0

  • ise kapasiteli bir kenar .e=(v,u)fefe>0

Örneğin , sezgisel ilk önce (yani engelleme akışını elde ettiğinde) açgözlü ilk yinelemesinden sonra elde edilen artık grafiğini düşünün :RP3

Artık grafik

Not bu geri alma ile ilgili akış iter 2 adet bu çalışma için bir ileri (artırmada) yol olarak kodlanır için olarak :wvstR

Kalan grafikte büyütme yolu

Genel olarak:

Kalan grafiğinde bir artırım yolu seçildiğinde :PR

  • de bir ileri kenara karşılık gelen her kenar, mevcut kapasiteye sahip bir kenar kullanarak akışı arttırır.PG
  • de geriye doğru giden bir kenara karşılık gelen her kenar , geçmişte ileri yönde itilen akışı geri alır.PG

Ford-Fulkerson yönteminin arkasındaki ana fikir budur .

Ford-Fulkerson yöntemi, yukarıda açıklanan açgözlü yaklaşımla tamamen aynı şekilde ilerler, ancak yalnızca artık grafikte daha fazla artırıcı yol olmadığında (orijinal ağda değil) durur. Kalan grafik aşağıdaki optimallik koşulunu oluşturduğundan, yöntem doğrudur (yani her zaman maksimum akışı hesaplar) :

Bir ağ verildiğinde , artık grafikte yolu yoksa cinsinden akışı maksimumdur .GfGst


Edmonds-Karp algoritmasında açıklandığı gibi yolların en kısa uzunlukta sıralandığı bir örnek var mı? Karşı örneğinizde ilk yol uzunluk 3'tür, ancak daha kısa (yani 2) bir yol bulunabilir ve Edmonds-Karp yapıyorsak ilk olarak eklenir.
Roy

Orijinal grafikteki tüm yollarının uzunluğunu . Bunu yapmak için, köşe iki ve . Daha sonra, ayrı içine ve . Ayrıca kapasite ile iki kenar ve . Aslen gitti kenar için bundan gidecek için . Başlangıçta kenarı içeren yolu aynı tür engelleme akışını elde edebiliriz .st3vv1v2ww1w2(v1,v2)(w1,w2)2vwv1w2(v1,w2)
Mario Cervera

Örneğiniz mantıklı. Söz konusu kenarın en kısa yollardan birinde olmasını sağlamak için grafiği kesimin diğer kenarlarındaki her zaman uzatabiliriz.
Roy

3

Rezidüel ağın arkasında sezgi bize zaten gelen akışın 2 birimlerini atanan varsa zaten ie akış atanmış bir "iptal" izin vermesidir için o andan itibaren akışın 1 birimini geçerek için bir birim iptal olarak yorumlanır orijinal akış için .ABBAAB

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.