Algoritmik Oyun Kuramı · Ders Notu
Bölüm 9: Anarşinin Bedeli
Trafikte her sürücü kendi yolunu seçer, bir sunucu kümesinde her iş kendi makinesini seçer, bir ağda her kullanıcı kendi bağlantısını kiralar. Hiçbiri sistemin toplam maliyetini düşünmez. Bu bencil seçimlerin sonucu, merkezi bir planlayıcının kuracağı en iyi düzenden ne kadar kötü olabilir? Anarşinin Bedeli bu kaybı tek bir oranla ölçer; İstikrarın Bedeli aynı soruyu iyimser yönden sorar. Bu not, iki kavramı tanımlarından başlayarak Pigou ağına, doğrusal gecikmede 4/3 sınırına ve pürüzsüzlük yöntemine, Braess ağına, yük dengeleme oyununa, adil maliyet paylaşımındaki Hn sınırına ve kaybı azaltan tıkanıklık ücretine kadar adım adım anlatır.
Öğrenme çıktıları
- Tanımlamak
- Anarşinin Bedeli (PoA) ve İstikrarın Bedeli'ni (PoS) tanımlamak; aralarındaki farkı örnekle göstermek.
- Hesaplamak
- Pigou, Braess ve yük dengeleme örneklerinde denge ve optimum maliyetini bulup oranı hesaplamak.
- Sınırı açıklamak
- Doğrusal gecikmede PoA ≤ 4/3 sınırının sezgisel ispatını ve sıkılığını açıklamak.
- İyileştirmek
- Tıkanıklık ücretinin optimumu nasıl dengeye dönüştürdüğünü iki yollu ağda ve Pigou ağında göstermek.
9.1Temel kavramlar
Oyun kuramının temel denge kavramı olan Nash dengesi bir kararlılık tanımıdır: dengede kimse tek başına seçimini değiştirmek istemez. Bu tanım dengenin iyi bir sonuç olduğunu söylemez. Mahkûmun İkilemi'nde iki oyuncu da ihanet eder ve ikisi birden sessiz kalsalardı alacakları sonuçtan daha kötüsünü alırlar. Bu bölüm, “denge ne kadar kötü olabilir?” sorusunu sayıya çevirir. Önce soruyu küçük bir oyunla somutlaştırıyoruz, sonra ölçütü tanımlıyoruz.
9.1.1Bir oyunla başlangıç: yük dengeleme
Bir sunucu kümesinde üç sunucu vardır: A, B ve C. Sunucuların hızları farklıdır; A'nın hızı 2, B ile C'nin hızı 1'dir. İşler sırayla gelir ve her iş sunuculardan birine yerleşir. Bir işin bitiş süresi, yerleştiği sunucunun toplam yükünün sunucu hızına bölümüdür. Örneğin A'da 4 birim iş varsa A'daki her iş 4 / 2 = 2 birim sürede biter. B'de 2 birim iş varsa B'deki işler 2 / 1 = 2 sürede, C'de 1 birim iş varsa C'deki iş 1 / 1 = 1 sürede biter.
Şekil 9.1'de yeni bir iş gelmiştir. İş yalnız kendi bitiş süresini düşünür. A'ya giderse A'nın yükü 5 olur ve iş 5/2 = 2,5 sürede biter. B'ye giderse 3/1 = 3, C'ye giderse 2/1 = 2 sürede biter. Bencil iş C'yi seçer. Bu seçim o iş için en iyisidir; ama sistemin toplam maliyeti için en iyisi olmak zorunda değildir. Oyun iki soru sorar:
- Her iş kendi bitiş süresini en aza indirirse sistemin toplam maliyeti de en küçük olur mu?
- Olmuyorsa, bencil işlerin vardığı denge en iyi atamadan en çok ne kadar kötü olabilir?
Birinci sorunun cevabı genelde “hayır”dır. İkinci sorunun cevabı ise oyuna göre değişen bir sayıdır ve bu bölümün asıl konusudur. Aynı oyun 9.4.8'de ayrıntılı olarak çözülür: orada en kötü dengenin toplam süresi 13, en iyi atamanınki 12,5 çıkar ve oran 1,04 olur.
9.1.2Anarşinin Bedeli: bencilliğin faturası
Anarşinin Bedeli (Price of Anarchy, PoA), bencil davranışın oluşturduğu en kötü denge ile sosyal optimum arasındaki verimlilik kaybını ölçer. Bu tanımdaki iki kavram şunlardır:
- Sosyal optimum (social optimum), sistemin ortak hedefi açısından en iyi sonuçtur. Maliyet problemlerinde sosyal optimum toplam maliyeti en aza indiren durumdur. Trafikte bu, bütün sürücülerin toplam yolculuk süresinin en küçük olduğu dağılımdır.
- Denge, herkesin kendi maliyetine bakarak seçim yaptığı ve kimsenin tek başına seçimini değiştirmek istemediği durumdur.
Trafik ağı iki kavram arasındaki gerilimi iyi gösterir. Her sürücü kendi yolculuk süresini azaltmaya çalışır. Ancak bir sürücünün yola girmesi o yoldaki herkesi biraz yavaşlatır ve sürücü bu etkiyi hesaba katmaz. Sonuçta herkes kendi açısından akıllıca davranırken toplam gecikme gereğinden büyük olabilir.
Kavramın tarihi kısadır. Elias Koutsoupias ve Christos Papadimitriou 1999'da paralel makinelere iş dağıtan bencil oyuncuları incelerken en kötü dengenin optimuma oranını “koordinasyon oranı” (coordination ratio) adıyla tanımladılar (Koutsoupias ve Papadimitriou, 1999). “Anarşinin bedeli” adını Papadimitriou 2001'de verdi (Papadimitriou, 2001). Ad bir karşılaştırmayı anlatır: her şeye karar veren merkezi bir “diktatör” yerine herkesin kendi başına karar vermesinin, yani anarşinin, bedeli.
Bu bölümde iki sayısal örnek sık sık karşımıza çıkar. Birincisi iki yollu bir ağdır: 3.000 araç iki yol arasında bölünür; bencil dengede toplam gecikme 75.000 araç·dk, en iyi dağılımda 71.250 araç·dk'dır. Oran 75.000 / 71.250 ≈ 1,053'tür; yani bencillik toplam gecikmeyi yaklaşık %5 artırır. İkincisi Braess ağıdır: 4.000 aracın kullandığı bir ağa yeni bir yol eklenince herkesin yolculuk süresi 65 dakikadan 80 dakikaya çıkar. Anarşinin Bedeli bu tür farkları tek bir sayıyla ölçer ve daha önemlisi, bütün bir oyun sınıfı için bu sayıya bir üst sınır koyar.
9.1.3Nash dengesi ve sosyal optimum
Oran iki ayrı sonucu karşılaştırır. Önce bu iki sonucu yan yana koymak yararlıdır.
| Nash dengesi (bireysel) | Sosyal optimum (sistem) | |
|---|---|---|
| Tanım | Hiçbir oyuncu tek taraflı strateji değiştirerek kendi sonucunu iyileştiremez. | Toplam maliyeti en aza indirir ya da sosyal refahı en yükseğe çıkarır. |
| Temsil ettiği | Bireysel teşvikler | Sistemin ortak hedefi |
| Kaç tane? | Birden fazla olabilir (iyi ve kötü dengeler). | Değeri tektir; aynı değeri veren birden çok durum olabilir. |
| Kararlı mı? | Evet, tanım gereği. | Çoğu zaman hayır: birileri sapmak ister. |
Nash dengesinin tanımını kısaca hatırlayalım. n oyuncu vardır. Her oyuncu i bir si stratejisi seçer; seçimlerin tamamı s = (s1, …, sn) bir strateji profilidir. Oyuncu i'nin bu profildeki maliyeti Ci(s) ile gösterilir. s−i, i dışındaki oyuncuların stratejileridir. Bir s profili, her oyuncu i ve her alternatif si′ için Ci(s) ≤ Ci(si′, s−i) sağlanıyorsa bir Nash dengesidir. Sözle: ötekiler yerinde dururken hiçbir oyuncu kendi seçimini değiştirerek maliyetini düşüremez. Bu bölümde oyuncular kazanç değil maliyet taşır; bu yüzden eşitsizlik “küçük ya da eşit” yönündedir.
Dengenin optimumdan ayrışmasının üç tipik nedeni vardır:
- Bireysel rasyonellik. Herkes kendi faydasına bakar. Sistemin toplam maliyeti kimsenin amaç fonksiyonunda yer almaz.
- Dışsallıklar. Bir oyuncunun seçimi başkalarının maliyetini değiştirir, ama oyuncu bu etkiyi hesaba katmaz. Yola giren sürücü ötekileri yavaşlatır; bu yavaşlama sürücünün kendi faturasında görünmez. Başkasına yüklenen ve karar verenin hesaba katmadığı bu maliyete dışsallık (externality) denir.
- Bilgi eksikliği. Oyuncular sistemin bütününü görmeyebilir; en iyi düzeni bilseler bile ona uymak için güvence yoktur.
Bu iki sonuç arasındaki oran Anarşinin Bedeli ile ölçülür. Oranın payında denge, paydasında optimum vardır.
9.1.4Tanımlar: PoA ve PoS
Bir oyunda birden çok Nash dengesi olabilir. Bu durumda “dengenin maliyeti” tek bir sayı değildir. İki doğal seçim vardır: en kötü dengeye bakmak ya da en iyi dengeye bakmak. İlki Anarşinin Bedeli'ni, ikincisi İstikrarın Bedeli'ni verir. Gösterim şöyledir: NE, oyunun Nash dengelerinin kümesidir; C(s), s durumundaki toplam maliyettir; OPT, toplam maliyeti en küçük durumdur (sosyal optimum).
Bir maliyet oyununun Anarşinin Bedeli (Price of Anarchy), en kötü Nash dengesinin maliyetinin optimumun maliyetine oranıdır:
PoA = maxs ∈ NE C(s) / C(OPT)
İstikrarın Bedeli (Price of Stability), en iyi Nash dengesinin maliyetinin optimumun maliyetine oranıdır:
PoS = mins ∈ NE C(s) / C(OPT)
İki tanım yalnız bir sözcükte ayrılır: max ya da min. PoA kötümser bir garantidir: oyuncular hangi dengeye giderse gitsin kayıp en çok bu kadardır. PoS ise iyimser bir senaryodur: biri oyuncuları en iyi dengeye yönlendirebilirse kayıp bu kadara iner. PoS'un adındaki “istikrar”, sonucun kararlı (dengede) olma şartından gelir: optimumun kendisi kararlı değilse, kararlı sonuçların en iyisi optimumdan ne kadar uzaktır?
Şekil 9.2 tanımı bir eksen üzerinde gösterir. Maliyet sağa doğru artar. Optimum tanım gereği en soldadır, çünkü hiçbir durum ondan ucuz olamaz. Dengeler optimumun sağında ya da tam üstündedir. En soldaki denge PoS'u, en sağdaki denge PoA'yı belirler. Bu resimden doğrudan şu sonuç okunur:
Dengesi olan her maliyet oyununda 1 ≤ PoS ≤ PoA'dır. Oyunun tek bir dengesi varsa PoS = PoA'dır.
Her denge bir durumdur ve optimum bütün durumların en ucuzudur; bu yüzden her denge s için C(s) ≥ C(OPT)'dır. Maliyetler pozitif olduğundan iki yan C(OPT)'ye bölünebilir ve her dengenin oranı en az 1 olur; en iyi dengeninki de dahil, yani PoS ≥ 1. Bir kümenin en küçük elemanı en büyük elemanından büyük olamaz; bu yüzden min C(s) ≤ max C(s) ve PoS ≤ PoA'dır. Tek denge varsa en küçük ve en büyük eleman aynı elemandır ve iki oran eşittir. □
İki özdeş makineye boyları 2, 2, 1 ve 1 olan dört iş yerleşecek; sosyal maliyet en büyük yüktür. Bu oyunun dengeleri 9.4.4'te tek tek bulunur. Burada sonucu kullanalım: dengelerin en büyük yükleri 3 ve 4'tür, optimum ise 3'tür.
- En kötü denge: en büyük yükü 4 olan denge. PoA = 4 / 3 ≈ 1,333.
- En iyi denge: en büyük yükü 3 olan denge. PoS = 3 / 3 = 1.
- Denetim: 1 ≤ 1 ≤ 4/3; sıralama teoremi sağlanır. PoS = 1 olması, optimumun kendisinin de bir denge olduğunu söyler.
Fayda problemlerinde oran ters çevrilir. Bazı oyunlarda oyuncular maliyet değil fayda taşır ve sistem hedefi sosyal refahı (social welfare, kısaca SW) en büyük yapmaktır. Bu durumda en kötü denge, refahı en küçük olan dengedir. Oran SW(OPT) / SW(denge) olarak yazılır; yani optimum paya geçer. Böylece oran yine 1'den büyük ya da 1'e eşit olur ve “büyük değer daha kötü verimlilik demektir” kuralı korunur. Örneğin optimumun refahı 100, en kötü dengenin refahı 80 ise PoA 100/80 = 1,25'tir.
9.1.5Verimlilik ölçütleri ve oranın okunması
Oranın anlamı, sosyal maliyetin nasıl tanımlandığına bağlıdır. Bu bölümde iki ölçüt kullanılır:
- Toplam maliyet: tüm kullanıcıların gecikme ya da kaynak kullanım maliyetlerinin toplamı. Trafik örneklerinde ölçüt budur; birimi araç·dk'dır (her aracın dakika cinsinden süresi toplanır).
- En büyük yük (makespan): bir iş dağıtımında en yüklü makinenin yükü, yani tüm işlerin bitiş anı. Yük dengelemede kullanılan klasik ölçüt budur.
Maliyet problemlerinde PoA, en kötü denge maliyetinin sosyal optimum maliyetine oranıdır. PoA'nın 1 olması verimlilik kaybı bulunmadığını gösterir: en kötü denge bile optimum kadar iyidir. Oran büyüdükçe stratejik davranışın oluşturduğu kayıp artar. Oran yüzdeye kolayca çevrilir: PoA = 1,25 ise en kötü denge optimumdan %25 daha pahalıdır.
| PoA | Anlamı | Örnek |
|---|---|---|
| 1 | kayıp yok | Braess ağı, yeni yol açılmadan önce |
| 4/3 | %33 fazla maliyet | Pigou ağı; doğrusal gecikmenin sınırı |
| 2 − 2/(m + 1) | 2 kattan az | yük dengeleme, m özdeş makine |
| sınırsız | garanti yok | dik gecikme (xp) |
Neden en kötü durum? İlk bakışta en kötü dengeye bakmak fazla karamsar görünebilir. Ama PoA'nın değeri tam da buradan gelir. Oyuncuların hangi dengeye gideceğini çoğu zaman bilemeyiz: başlangıç durumuna, hamle sırasına ve rastlantıya bağlıdır. PoA bu bilgiye gerek duymayan bir garanti verir: “Ne olursa olsun kayıp en fazla bu kadar.” Bir ağ tasarımcısı PoA'nın küçük olduğunu biliyorsa merkezi bir denetime yatırım yapmadan da sistemin makul çalışacağından emin olabilir. Bu fikir, algoritmalardaki yaklaşım oranı fikrinin oyun kuramındaki karşılığıdır.
9.1.6İki kötü durum oranı: PoA ve yaklaşım oranı
Algoritma derslerinde NP-zor problemler için yaklaşım algoritmaları incelenir. Böyle bir problemde optimumu polinom zamanda bulmak (bilinen yöntemlerle) mümkün değildir; bunun yerine hızlı bir algoritma iyi bir çözüm bulur. Algoritmanın kalitesi yaklaşım oranı (approximation ratio) ile ölçülür: algoritmanın bulduğu çözümün maliyeti ile optimumun maliyeti arasındaki en kötü durum oranı. Anarşinin Bedeli de bir en kötü durum oranıdır. İkisinin farkı, optimuma ulaşmayı neyin engellediğindedir.
| Oran | Optimuma ulaşmayı engelleyen | Pay / payda |
|---|---|---|
| Yaklaşım oranı | hesaplama gücü: polinom zamanda çözülemeyen (NP-zor) problem | hızlı bir algoritmanın bulduğu çözüm ÷ optimum |
| Anarşinin Bedeli | koordinasyon: merkezi otorite yok, herkes kendi çıkarına bakar | en kötü denge ÷ optimum |
İki oran aynı problem üzerinde karşılaştırılabilir. Özdeş m makineye işleri dağıtıp en büyük yükü küçültmek NP-zor bir problemdir. Ronald Graham'ın 1966'da incelediği açgözlü liste algoritması işleri verilen sırayla alır ve her işi o anda en az yüklü makineye koyar (Graham, 1966). Bu algoritmanın bulduğu en büyük yük optimumun en çok 2 − 1/m katıdır. Aynı problemde işler bencil oyuncular olursa, saf Nash dengelerinin en büyük yükü optimumun en çok 2 − 2/(m + 1) katıdır (Finn ve Horowitz, 1979). m = 2 için iki sayı 3/2 ve 4/3'tür.
İki özdeş makine ve boyları sırasıyla 1, 1, 2 olan üç iş olsun. Liste algoritması işleri bu sırayla yerleştirir.
- 1'lik iş: iki makine de boş, M1'e gider. Yükler (1, 0).
- İkinci 1'lik iş: en az yüklü makine M2'dir. Yükler (1, 1).
- 2'lik iş: iki makine eşit yüklü, M1'e gider. Yükler (3, 1); en büyük yük 3.
- Optimum: 2'lik iş tek başına bir makinede, iki 1'lik iş ötekinde: (2, 2); en büyük yük 2.
Oran 3 / 2 = 2 − 1/2'dir; Graham sınırı bu örnekte tam olarak gerçekleşir. Aynı üç iş için (3, 1) atamasının Nash dengesi olmadığına dikkat edilmelidir: M1'deki 1'lik iş M2'ye geçerse 1 + 1 = 2 < 3 bekler ve kazanır. Bencil işler bu kötü atamada kalmaz. Liste algoritmasının kaybı hesaplamanın kısıtından, bencil dengenin kaybı ise koordinasyon eksikliğinden gelir.
Analizin sınırları. PoA, oyuncuları tamamen bencil ve rasyonel kabul eder. Gerçek oyuncular yalnız bencil değildir: güven, sosyal normlar, itibar ve tekrarlanan etkileşim işbirliğini artırabilir. Bu yüzden PoA bir tahmin değil, kötümser bir garantidir. Gözlenen kayıp çoğu zaman PoA'nın verdiği sınırdan küçüktür; ama sınırın aşılmayacağı bilinir.
9.1.7Tanımlarda sık hatalar
- PoA ile PoS'u karıştırmak: PoA en kötü dengeye, PoS en iyi dengeye bakar. “Bir dengenin optimuma oranı” her zaman PoA değildir; yalnız en kötü dengeninki PoA'dır.
- Oranı ters yazmak: Maliyet probleminde optimum paydadadır; oran hiçbir zaman 1'den küçük çıkmaz. 0,75 gibi bir değer bulunduysa oran ters çevrilmiştir.
- Fark ile oranı karıştırmak: “En kötü denge − optimum” bir farktır ve birime bağlıdır (araç·dk, saniye). PoA birimsiz bir orandır; farklı ölçekteki sistemler bu sayede karşılaştırılabilir.
- Tek dengede PoS = 1 sanmak: Tek denge kötü olabilir. Pigou ağında tek denge vardır ve PoA = PoS = 4/3'tür.
- PoA'yı bir tahmin sanmak: PoA, belirli bir örnekte ne olacağını değil, en kötü durumda ne olabileceğini söyler.
9.2Pigou ağı
Anarşinin Bedeli'ni gösteren en küçük örnek, İngiliz iktisatçı Arthur Cecil Pigou'nun 1920'de verdiği iki yollu ağdır (Pigou, 1920). Örnek o kadar sadedir ki bütün hesap bir kâğıda sığar; ama doğrusal gecikmeli ağlardaki en kötü durumu tam olarak yakalar. Bu kesimde önce bölünebilir trafiğin dengesini tanımlıyoruz, sonra Pigou ağında dengeyi ve optimumu bulup oranı hesaplıyoruz.
9.2.1Kurulum: bölünebilir trafik ve Wardrop dengesi
Trafik ağları bir çizge ile modellenir: düğümler kavşaklar, kenarlar (bağlantılar) yollardır. Her kenarın bir gecikme fonksiyonu (latency function) vardır: ℓe(x), e kenarından x miktarda trafik geçerken o kenarı kullanan her sürücünün harcadığı süredir. Gecikme trafikle artar ya da sabit kalır; yoğun yol yavaştır. Sürücüler bir başlangıç düğümü s'den bir hedef düğümü t'ye gider ve her biri bir yol (ardışık kenarlar dizisi) seçer. Bir yolun gecikmesi üzerindeki kenarların gecikmelerinin toplamıdır.
Pigou ağında ve trafik örneklerinin çoğunda sürücü sayısı çok büyüktür ve tek bir sürücünün etkisi yok sayılacak kadar küçüktür. Bu durumda trafik bölünebilir (nonatomic) kabul edilir: toplam trafik 1 birim ise bu bir, sonsuz çok küçük sürücüden oluşan bir “akışkan” gibi düşünülür ve istenen oranda bölünebilir. Örneğin trafiğin 0,3'ü bir yolda, 0,7'si ötekinde olabilir. Tek bir sürücü yol değiştirdiğinde yolların gecikmeleri değişmez; çünkü bir sürücünün payı sıfıra yakındır.
Bölünebilir trafikte bir akış dağılımı, trafik taşıyan her yolun gecikmesi kullanılabilecek her yolun gecikmesinden büyük değilse bir Wardrop dengesidir (Wardrop equilibrium). Eşdeğer olarak: kullanılan bütün yolların gecikmesi eşittir ve kullanılmayan hiçbir yol daha kısa değildir.
Bu tanım, Nash dengesinin bölünebilir trafikteki karşılığıdır. Bir sürücü daha yavaş bir yoldaysa daha hızlı yola geçerek kazanırdı; dengede böyle bir sürücü yoktur. Tanım, İngiliz ulaştırma mühendisi John Glen Wardrop'un 1952'de ifade ettiği ilkeden adını alır. Wardrop'un ikinci ilkesi ise sistem optimumudur: toplam gecikmenin en küçük olduğu dağılım. Bu bölümde sistem optimumu ile sosyal optimum aynı şeydir.
Toplam gecikme şöyle hesaplanır. fe, e kenarındaki trafik olsun. Bu kenardaki her sürücü ℓe(fe) süre harcar ve kenarda fe kadar trafik vardır; kenarın toplam maliyete katkısı “trafik × gecikme”dir:
C(f) = Σe ℓe(fe) · fe
9.2.2Pigou ağında denge
Pigou ağında s'den t'ye 1 birim trafik gider ve iki yol vardır. Trafiğin üst yoldaki payı x, alt yoldaki payı 1 − x olsun.
- Üst yol: gecikme ℓ(x) = x. Yol boşken hızlıdır, doldukça yavaşlar; herkes üstteyse gecikme 1'dir. Dar bir şehir içi yolu düşünülebilir.
- Alt yol: gecikme her zaman 1. Ne kadar araç girerse girsin süre değişmez. Geniş ama uzun bir çevre yolu düşünülebilir.
Dengeyi bulmak için bir sürücünün gözünden bakılır. Alt yolda süre 1'dir. Üst yolda süre x'tir ve x bir pay olduğundan hiçbir zaman 1'i aşmaz. Demek ki üst yol hiçbir zaman alttan yavaş değildir. Alt yolda bir sürücü varsa ve x < 1 ise o sürücü üste geçip kazanır. Bu geçişler x = 1'e kadar sürer. x = 1'de üst yolun gecikmesi 1 olur ve alt yolla eşitlenir; artık kimse geçerek kazanamaz.
- Aday: x = 1/2. Üstte 1/2 dk, altta 1 dk. Alttaki bir sürücü üste geçerse yaklaşık 1/2 dk bekler ve kazanır. Denge değil.
- Aday: x = 0,9. Üstte 0,9 dk, altta 1 dk. Alttakiler yine kazanır. Denge değil.
- Aday: x = 1. Herkes üstte, süre 1 dk. Üstteki bir sürücü alta geçse yine 1 dk bekler; kazancı yoktur. Alt yol boştur ama üst yoldan daha kısa değildir. Wardrop koşulu sağlanır: denge.
- Maliyet: C(denge) = 1 · 1 + 0 · 1 = 1. Herkes 1 dk bekler.
Dengenin tek olduğu da bu akıl yürütmeden çıkar: x < 1 olan her dağılımda alttaki sürücüler kaçar.
9.2.3Sosyal optimum: toplam maliyetin en küçüğü
Şimdi merkezi bir planlayıcının gözünden bakılır. Planlayıcı x'i seçer ve toplam gecikmeyi en küçük yapmak ister. Üst yolda x kadar trafik, her biri x dk; alt yolda 1 − x kadar trafik, her biri 1 dk bekler:
C(x) = x · x + (1 − x) · 1 = x2 − x + 1
Bu fonksiyonun en küçük değeri türev yardımıyla bulunur. Türev, bir eğrinin her noktadaki eğimidir. Bir çukurun en alt noktasında eğim sıfırdır: noktanın solunda eğri iner (eğim eksi), sağında çıkar (eğim artı). Bu bölümde gereken türev kuralları şunlardır: xk'nın türevi k · xk−1'dir (örneğin x2'nin türevi 2x); c · x'in türevi c'dir; sabit sayının türevi 0'dır; toplamın türevi türevlerin toplamıdır. Türev C′(x) ile gösterilir.
- Türevi al. C(x) = x2 − x + 1; x2'nin türevi 2x, −x'in türevi −1, 1'in türevi 0. Sonuç: C′(x) = 2x − 1.
- Sıfıra eşitle. 2x − 1 = 0 ⇒ x = 1/2.
- Çukur mu, tepe mi? x < 1/2 iken C′(x) < 0 (eğri iniyor), x > 1/2 iken C′(x) > 0 (eğri çıkıyor). Nokta bir çukurdur.
- Değeri hesapla. C(1/2) = 1/4 − 1/2 + 1 = 3/4. Aynı sonuç “trafik × gecikme” toplamından da çıkar: üstte 1/2 · 1/2 = 1/4, altta 1/2 · 1 = 1/2; toplam 3/4.
- Uçları denetle. C(0) = 1 (herkes altta) ve C(1) = 1 (herkes üstte). İkisi de 3/4'ten büyüktür ✓.
Optimumda trafiğin yarısı alt yola “feda edilir”. Bu sürücüler 1 dk bekler; üsttekiler ise yalnız 1/2 dk bekler. Optimum adil değildir ve kararlı değildir: alttaki sürücüler üste geçmek ister, çünkü orada yarım dakika beklerlerdi. Merkezi bir zorlama olmadan bu dağılım kendiliğinden ortaya çıkmaz.
Şekil 9.3 iki sonucu aynı grafikte gösterir. Sağdaki parabolün sağ ucu dengedir (kırmızı nokta, maliyet 1); en alt noktası optimumdur (mavi nokta, maliyet 3/4). Denge, eğrinin en kötü noktalarından birine oturmuştur.
9.2.4Oran: PoA = 4/3
Pigou ağının tek dengesi vardır; bu yüzden en kötü denge ile en iyi denge aynıdır ve PoA ile PoS eşittir:
PoA = C(denge) / C(optimum) = 1 / (3/4) = 4/3 ≈ 1,33
Bencil yönlendirme, merkezi planlamaya göre %33 daha fazla toplam gecikme üretir. Bu sayı küçük bir örnekten çıktı, ama önemi büyüktür: doğrusal gecikmeli her ağda, her trafik miktarında oranın 4/3'ü aşmadığı ispatlanmıştır (9.3.4). Pigou ağı bu sınıfın en kötü örneğidir.
9.2.5Özel maliyet ve marjinal maliyet
Denge ve optimum neden farklı yerlere düşer? Cevap, sürücünün baktığı maliyet ile toplumun baktığı maliyetin farklı olmasıdır.
- Sürücü özel maliyetine bakar. Üst yolda kendi gecikmesi x'tir; bunu alt yolun 1'iyle karşılaştırır. x < 1 olduğu sürece üstü seçer. Sonuç x = 1'dir.
- Toplum marjinal maliyete bakar. Üst yolun toplam maliyeti x · x = x2'dir. Üst yola küçük bir trafik eklenince bu toplam ne kadar artar? Türevi kadar: 2x. Alt yolun toplam maliyeti (1 − x) · 1'dir ve oraya eklenen her birim toplamı tam 1 artırır. Planlayıcı iki artışı eşitler: 2x = 1 ⇒ x = 1/2.
Gecikme fonksiyonu ℓ(f) olan ve f trafik taşıyan bir kenarın marjinal maliyeti (marginal cost), kenarın toplam maliyeti f · ℓ(f)'nin türevidir:
(f · ℓ(f))′ = ℓ(f) + f · ℓ′(f)
Birinci terim, eklenen sürücünün kendi gecikmesidir (özel maliyet). İkinci terim f · ℓ′(f), o sürücünün kenardaki diğer herkese eklediği gecikmedir (dışsallık).
Tanımdaki formül çarpımın türevi kuralından gelir, ama sözle de anlaşılabilir. Bir kenarda f araç varken bir araç daha girer. Bu araç kendisi ℓ(f) kadar bekler. Ayrıca kenarın gecikmesi ℓ′(f) kadar artar ve bu artış kenardaki f aracın her birine yansır; toplam ek yük f · ℓ′(f)'dir.
Şekil 9.4 iki kesişimi gösterir. Kırmızı doğru ile düz mavi doğrunun kesiştiği yer dengedir; kırmızı doğru ile kesikli doğrunun kesiştiği yer optimumdur. İki mavi doğru arasındaki dikey uzaklık x · ℓ′(x) = x · 1 = x'tir: bir sürücünün diğerlerine yüklediği gecikme. Sürücü bu farkı görmez; bu yüzden fazla sayıda sürücü üst yola girer.
Bu gözlem genelleşir:
- Dengede kullanılan yolların gecikmeleri eşitlenir.
- Optimumda kullanılan yolların marjinal maliyetleri eşitlenir; yani “kendi gecikmem + benim yüzümden ötekilere eklenen gecikme” eşitlenir.
İki koşul arasındaki fark tam olarak f · ℓ′(f) terimidir. Bu fark, PoA'yı azaltmanın en doğrudan aracı olan tıkanıklık ücretinin dayanağıdır: sürücüye bu dışsallık kadar ücret ödetilirse sürücünün gördüğü maliyet marjinal maliyete eşit olur ve bencil seçim optimumla çakışır (9.6.2).
9.2.6İki yollu ağ: 3.000 araç
Aynı iki koşul daha gerçekçi bir ağda da uygulanabilir. 3.000 araç iki yol arasında bölünür. Yol 1 kısa ama dardır: ℓ1 = 5 + x1/100 dk. Yol 2 uzun ama geniştir: ℓ2 = 20 + x2/200 dk. Burada x1 + x2 = 3.000'dir. Gecikmeler doğrusaldır: ax + b biçimindedir; b boş yoldaki süre, a her ek aracın getirdiği yavaşlamadır.
Denge (gecikmeler eşit).
- x2 = 3.000 − x1 yazılır: 5 + x1/100 = 20 + (3.000 − x1)/200.
- Kesirlerden kurtulmak için iki yan 200 ile çarpılır: 1.000 + 2x1 = 4.000 + 3.000 − x1.
- 3x1 = 6.000 ⇒ x1 = 2.000, x2 = 1.000.
- Gecikmeler: ℓ1 = 5 + 20 = 25, ℓ2 = 20 + 5 = 25 ✓. Herkes 25 dk bekler: C(denge) = 3.000 · 25 = 75.000 araç·dk.
Optimum (marjinal maliyetler eşit). Yol 1'in marjinal maliyeti ℓ1 + x1 · ℓ1′ = 5 + x1/100 + x1/100 = 5 + x1/50; Yol 2'ninki 20 + x2/100'dür.
- 5 + x1/50 = 20 + (3.000 − x1)/100. İki yan 100 ile çarpılır: 500 + 2x1 = 2.000 + 3.000 − x1.
- 3x1 = 4.500 ⇒ x1 = 1.500, x2 = 1.500.
- Gecikmeler: ℓ1 = 5 + 15 = 20, ℓ2 = 20 + 7,5 = 27,5. Optimum yine adil değildir: Yol 2'dekiler 7,5 dk daha fazla bekler.
- Toplam: 1.500 · 20 + 1.500 · 27,5 = 30.000 + 41.250 = 71.250 araç·dk.
Oran: PoA = 75.000 / 71.250 = 20/19 ≈ 1,053. Bencillik toplam gecikmeyi yaklaşık %5 artırır; bu, 4/3 sınırının çok altındadır.
Bu örnek iki şey gösterir. Birincisi, gerçekçi ağlarda kayıp çoğu zaman en kötü durum sınırından küçüktür. İkincisi, optimum dağılım her zaman bazı kullanıcıları daha uzun beklemeye zorlar. Bu sürücülerin optimuma gönüllü uyması beklenemez; onları yönlendirmek için ücret gibi bir teşvik gerekir. Aynı ağdaki ücret hesabı 9.6.1'de yapılır.
9.2.7Pigou ağında sık hatalar
- Dengede iki yolu eşit paylaştırmak: “İki yol var, trafik yarı yarıya bölünür” düşüncesi yanlıştır. Denge, gecikmelerin eşitlendiği yerdir; Pigou'da bu herkesin üstte olduğu x = 1'dir. Yarı yarıya bölünme optimumdur.
- Sürücünün marjinal maliyete baktığını sanmak: Sürücü yalnız kendi gecikmesini görür. Marjinal maliyete bakan, toplamı düşünen planlayıcıdır.
- Toplam maliyette yalnız gecikmeleri toplamak: C = ℓ1 + ℓ2 yazmak yanlıştır. Her yolun gecikmesi o yoldaki trafikle çarpılır: C = x1ℓ1 + x2ℓ2. Pigou dengesinde alt yol boştur ve katkısı 0'dır, 1 değil.
- Optimumu denge sanmak: x = 1/2'de alttakiler üste geçmek ister; optimum kararlı değildir.
9.3Doğrusal gecikme ve Braess
Pigou ağında oran 4/3 çıktı. Bu sayı tesadüf müdür, yoksa genel bir yasanın parçası mı? Bu kesim üç soruyu cevaplar. Gecikme fonksiyonu değişince oran nasıl değişir? Doğrusal gecikmede oran neden hiçbir ağda 4/3'ü aşmaz? Aynı ispat fikri başka oyunlara nasıl taşınır? Kesim, ünlü Braess ağında PoA hesabıyla kapanır.
9.3.1Gecikme dikleşince PoA büyür
Pigou ağında üst yolun gecikmesini ℓ(x) = x yerine ℓ(x) = xp alalım; p ≥ 1 bir tamsayıdır. Alt yolun gecikmesi yine 1'dir. p büyüdükçe eğri “dikleşir”: x 1'den küçükken xp çok küçüktür, x 1'e yaklaşınca birden 1'e çıkar. Örneğin 0,51 = 0,5, ama 0,54 = 0,0625. Bu tür gecikme, kapasitesine yaklaşana kadar neredeyse boş gibi davranan, sonra aniden tıkanan bir yolu anlatır.
Denge değişmez. 0 ≤ x ≤ 1 iken xp ≤ 1'dir; üst yol yine hiçbir zaman alttan yavaş değildir. Herkes üste geçer ve herkes 1 dk bekler: C(denge) = 1.
Optimum iyileşir. Toplam maliyet C(x) = x · xp + (1 − x) · 1 = xp+1 + 1 − x'tir. Optimumu bulmak için türev sıfıra eşitlenir:
- xp+1'in türevi (p + 1)xp, 1 − x'in türevi −1'dir: C′(x) = (p + 1)xp − 1.
- (p + 1)xp = 1 ⇒ xp = 1/(p + 1).
- İki yanın p'inci kökü alınır: xOPT = (p + 1)−1/p. Negatif üs “bir bölü” demektir; kesirli üs 1/p ise p'inci köktür. Örneğin p = 2 için 3−1/2 = 1/√3 ≈ 0,577.
- Optimum maliyet sadeleşir: xp = 1/(p + 1) olduğundan xp+1 = x/(p + 1) ve C(OPT) = x/(p + 1) + 1 − x = 1 − x · p/(p + 1).
| p | xOPT | C(OPT) | PoA = 1 / C(OPT) |
|---|---|---|---|
| 1 | 0,5 | 0,75 | 1,333 |
| 2 | 0,577 | 0,615 | 1,626 |
| 4 | 0,669 | 0,465 | 2,151 |
| 8 | 0,76 | 0,325 | 3,081 |
| 16 | 0,838 | 0,212 | 4,727 |
Tablo 9.4 bir eğilimi gösterir. Gecikme dikleştikçe planlayıcı üst yola daha çok trafik koyabilir, çünkü üst yol kapasitesine yaklaşana kadar çok hızlıdır. Optimumda üst yoldaki pay artar (0,5'ten 0,838'e), optimum maliyet düşer (0,75'ten 0,212'ye). Denge ise yerinde durur: herkes üstte, herkes 1 dk. Oran bu yüzden büyür.
Büyüme yavaştır ama sınırsızdır. p sonsuza giderken xOPT 1'e yaklaşır ve C(OPT) sıfıra iner; payda sıfıra yaklaşınca oran sınırsız büyür. Sayısal olarak p = 10'da PoA yaklaşık 3,51, p = 100'de yaklaşık 18,3'tür. Oran kabaca p / ln p hızında büyür. Buradan çıkan ders şudur: 4/3 evrensel bir sabit değildir; doğrusal gecikmeye özgüdür. Sınırı belirleyen ağın biçimi değil, gecikme fonksiyonlarının ne kadar “dik” olabileceğidir.
9.3.2Etkileşimli: gecikme üssü ve PoA
Şekil 9.6 aynı hesabı canlı yapar. Kaydırıcı üs p'yi 1'den 10'a kadar değiştirir. Soldaki grafik PoA'nın p'ye göre nasıl büyüdüğünü, sağdaki çubuklar dengede ve optimumda trafiğin iki yola nasıl bölündüğünü gösterir. Altta dört sayı yazılıdır: x* = (p + 1)−1/p, C(OPT), C(denge) = 1 ve PoA.
Grafikte 4/3 düzeyi kesikli bir çizgiyle işaretlidir. Yalnız p = 1 noktası bu çizginin üstündedir; diğer bütün noktalar onun üzerindedir. Kaydırıcı sağa çekildikçe dengedeki çubuk değişmez (trafiğin %100'ü üstte), optimumdaki çubukta üst yolun payı büyür. Dengenin “katılığı” ile optimumun “esnekliği” arasındaki fark, oranın büyümesinin kaynağıdır.
9.3.3Kod izleme: pigou_poa(p)
Tablodaki sayılar kısa bir Python fonksiyonuyla üretilir. Fonksiyon p'yi alır ve Pigou ağının PoA'sını döndürür.
def pigou_poa(p): # üst yol x**p, alt yol 1
x = (p + 1) ** (-1 / p) # C'(x) = 0 noktası
opt = x ** (p + 1) + (1 - x)
return 1 / opt # denge maliyeti 1
for p in [1, 2, 4, 8, 16]:
print(p, round(pigou_poa(p), 3))Kod satır satır şöyle çalışır:
x = (p + 1) ** (-1 / p): türevin sıfır olduğu nokta, yani optimumdaki üst yol payı. Python'da**üs alma işlecidir;-1 / pkesirli bir üstür.opt = x ** (p + 1) + (1 - x): bu noktadaki toplam maliyet. Birinci terim üst yolun katkısı (x · xp), ikinci terim alt yolun katkısıdır.return 1 / opt: denge maliyeti her p için 1 olduğundan oran 1 / C(OPT)'dir.- Son iki satır fonksiyonu p = 1, 2, 4, 8, 16 için çağırır ve sonucu üç basamağa yuvarlayarak yazar.
| p | x = (p+1)−1/p | xp+1 | 1 − x | opt | çıktı |
|---|---|---|---|---|---|
| 1 | 2−1 = 0,5 | 0,25 | 0,5 | 0,75 | 1.333 |
| 2 | 3−1/2 ≈ 0,5774 | 0,1925 | 0,4226 | 0,6151 | 1.626 |
| 4 | 5−1/4 ≈ 0,6687 | 0,1337 | 0,3313 | 0,4650 | 2.151 |
| 8 | 9−1/8 ≈ 0,7598 | 0,0844 | 0,2402 | 0,3246 | 3.081 |
| 16 | 17−1/16 ≈ 0,8377 | 0,0493 | 0,1623 | 0,2116 | 4.727 |
Her satırda xp+1 = x/(p + 1) özdeşliği de denetlenebilir. Örneğin p = 4 için 0,6687 / 5 ≈ 0,1337 ✓. Çıktı sütununda ondalık ayırıcı noktadır, çünkü Python sayıları İngilizce yazımla basar.
9.3.4Doğrusal gecikmede 4/3 üst sınırı
Pigou ağında oranın tam 4/3 olduğunu gördük. Tim Roughgarden ve Éva Tardos 2002'de bunun bir rastlantı olmadığını gösterdiler: doğrusal gecikmeli hiçbir ağda oran 4/3'ü aşmaz (Roughgarden ve Tardos, 2002).
Gecikmeler doğrusal ise, yani her kenar için ℓe(x) = aex + be ve ae, be ≥ 0 ise, her ağda ve her trafik talebinde bölünebilir trafiğin dengesi için
C(denge) ≤ 4/3 · C(optimum)
sağlanır. Sınır sıkıdır: Pigou ağında eşitlik olur.
İspat üç adımdır ve her adım küçük bir fikre dayanır. Gösterim şöyledir: fe dengede e kenarındaki trafik, feOPT optimumdaki trafiktir. Toplam gecikme her kenarda “trafik × gecikme” toplamıdır: C(f) = Σe ℓe(fe) · fe.
1. adım: denge koşulu. Dengede herkes o anki gecikmelere göre en kısa yolu kullanır. Bir düşünce deneyi yapalım: gecikmeleri dengedeki değerlerinde “donduralım” ve sürücüleri optimumdaki yollara taşıyalım. Dondurulmuş gecikmelerle hiçbir sürücü dengedeki yolundan daha kısa bir yol bulamaz; çünkü dengedeki yolu zaten en kısasıdır. Bu yüzden optimumun dağılımı, dondurulmuş gecikmelerle ölçülünce dengenin kendisinden ucuz olamaz:
Σe ℓe(fe) · fe ≤ Σe ℓe(fe) · feOPT
Sol yan dengenin gerçek maliyeti C(f)'dir. Sağ yan bir düşünce deneyidir: yollar dengedeki kadar yavaş, ama trafik optimumdaki gibi dağılmış. Geriye bu sağ yanı optimumun gerçek maliyeti C(fOPT) ile sınırlamak kalır. Bunu 2. adım her kenar için ayrı ayrı yapar.
Pigou ağında denge f = (1, 0) (üst, alt), optimum fOPT = (1/2, 1/2)'dir. Dengedeki gecikmeler: üst yol ℓ(1) = 1, alt yol 1.
- Sol yan: 1 · 1 + 1 · 0 = 1, dengenin maliyeti.
- Sağ yan: dondurulmuş gecikmeler (1 ve 1) optimumdaki trafikle çarpılır: 1 · 1/2 + 1 · 1/2 = 1.
- 1 ≤ 1 ✓. Dengede iki yolun gecikmesi eşit olduğundan, trafiğin nasıl dağıldığı dondurulmuş maliyeti değiştirmez.
9.3.5Kenar eşitsizliği ve toplama
2. adım: kenar eşitsizliği. Doğrusal gecikmeli her kenar için şu eşitsizlik doğrudur:
ℓe(fe) · feOPT ≤ ℓe(feOPT) · feOPT + ¼ · ℓe(fe) · fe
Sözle: düşünce deneyindeki bedel (sol yan), optimumun o kenardaki kendi bedelini en çok dengenin o kenardaki bedelinin dörtte biri kadar aşar.
Neden doğru? Kenar indisini bırakıp kısaca f ve fOPT yazalım ve ℓ(x) = ax + b'yi yerine koyalım. İfadeler iki gruba ayrılır:
- b'li terimler. Solda b · fOPT, sağda b · fOPT + ¼ · b · f vardır. Sağdaki ek terim negatif olamaz (b, f ≥ 0); sağ yan büyüktür.
- a'lı terimler. Solda a · f · fOPT, sağda a · (fOPT)2 + a · f2/4 vardır. Gereken eşitsizlik a · f · fOPT ≤ a · (fOPT)2 + a · f2/4'tür. Her şey sağa toplanırsa 0 ≤ a · ((fOPT)2 − f · fOPT + f2/4) = a · (fOPT − f/2)2 çıkar. Bir karenin negatif olmaması ve a ≥ 0 yeterlidir.
Son adımdaki tam kare açılımla denetlenebilir: (u − v)2 = u2 − 2uv + v2; burada u = fOPT, v = f/2 alınırsa 2uv = f · fOPT ve v2 = f2/4 olur. Eşitlik ancak fOPT = f/2 iken (ya da a = 0 ve b · f = 0 iken) sağlanır. ¼ sabiti bu tam karenin katsayısından gelir.
Pigou'nun üst yolu (ℓ = x, yani a = 1, b = 0): f = 1, fOPT = ½.
- Sol: ℓ(1) · ½ = 1 · ½ = ½.
- Sağ: ℓ(½) · ½ + ¼ · ℓ(1) · 1 = ½ · ½ + ¼ = ½.
- İki yan eşittir, çünkü fOPT = f/2'dir. Pigou ağı eşitsizliği tam sınırında kullanır; 4/3'ün sıkı olmasının nedeni budur.
Eşitlik olmayan bir kenar (a = 1, b = 0, f = 2, fOPT = ½): sol 2 · ½ = 1; sağ ½ · ½ + ¼ · 2 · 2 = ¼ + 1 = 5/4. 1 ≤ 5/4 ✓; fark (½ − 1)2 = ¼'tür.
3. adım: topla. 2. adımdaki eşitsizlik bütün kenarlar için toplanır. Sol yanların toplamı 1. adımdaki sağ yandır. Sağ yanların toplamı C(fOPT) + ¼ · C(f)'dir. 1. adımla birleştirilince:
C(f) ≤ Σe ℓe(fe) feOPT ≤ C(fOPT) + ¼ · C(f)
¼ · C(f) sola geçirilir: ¾ · C(f) ≤ C(fOPT). İki yan ¾ · C(fOPT)'ye bölünür: C(f) / C(fOPT) ≤ 4/3. □
Pigou ağında eşitlik olduğu için sınır sıkıdır (tight bound): 4/3'ten küçük bir sayı yazılamaz. Üstelik Roughgarden 2003'te daha güçlü bir şey gösterdi: bir gecikme sınıfında en kötü örnek her zaman Pigou gibi iki paralel bağlantılı bir ağdır (Roughgarden, 2003). Yani ağın karmaşıklığı PoA'yı büyütmez; PoA'yı yalnız gecikme fonksiyonlarının sınıfı belirler. Doğrusal sınıf için bu 4/3, xp gibi polinomlar için Tablo 9.4'teki değerlerdir.
9.3.6Sınırın sayısal sınanması
Bir sınırın ne söylediğini anlamanın iyi yolu, onu bilinen örneklerle karşılaştırmaktır. Tablo 9.6 bu bölümün örneklerini bir araya getirir.
| Örnek | Denge | Optimum | Bu örnekte gözlenen | Kuramsal üst sınır |
|---|---|---|---|---|
| Pigou (x ve 1) | 1 | 3/4 | 4/3 (sınıra eşit) | 4/3 |
| Braess (4.000 araç) | 320.000 | 258.750 | 80 / 64,69 ≈ 1,237 | 4/3 |
| Braess, normalleştirilmiş (x, 1, 1, x, 0) | 2 | 3/2 | 4/3 (sınıra eşit) | 4/3 |
| İki yol, 3.000 araç | 75.000 | 71.250 | 1,053 | 4/3 |
| 20.000 rastgele doğrusal paralel ağ | — | — | en büyük 1,33 | 4/3 |
| Yük Dengeleme Oyunu, Seviye 2 (toplam süre) | 13 | 12,5 | 1,04 | 5/2 (atomik oyuncular) |
Kuramsal üst sınır, bir sınıftaki (örneğin doğrusal gecikmeli bütün ağlardaki) en kötü durumdur. Belirli bir örnekte gözlenen oran çoğu zaman daha küçüktür. Tablodaki rastgele deneyde bir betik 2–4 paralel bağlantılı, gecikme katsayıları a, b ve trafik talebi rastgele seçilmiş 20.000 ağda dengeyi ve optimumu hesapladı. Oran hiçbir örnekte 4/3'ü aşmadı; Pigou'ya benzeyen örneklerde (bir bağlantı neredeyse sabit, öteki sıfırdan başlayan doğrusal) 4/3'e yaklaştı. Bu notun hesaplarında yinelenen deney de en büyük oranı yaklaşık 1,333 buldu.
Son satırdaki örnek farklı bir sınıftandır. Oradaki oyuncular bölünebilir trafik değil, tek tek işlerdir; bu tür oyunların sınırı 5/2'dir ve 9.3.9'da ele alınır.
9.3.7Tek bir reçete: pürüzsüzlük
4/3 ispatının yapısına dikkatle bakılırsa yalnız iki malzeme kullanıldığı görülür: dengenin tanımı ve her kenarda geçerli bir eşitsizlik. Roughgarden 2009'da bu yapıyı bir reçeteye dönüştürdü (Roughgarden, 2009). Reçetenin adı pürüzsüzlüktür (smoothness) ve birçok oyunun PoA sınırı aynı kalıpla ispatlanabilir.
Düşünce deneyi. s bir durum olsun (her oyuncunun bir stratejisi var), sOPT optimum. Ötekiler s'de kalırken yalnız oyuncu i, sOPT'deki stratejisine geçseydi ne öderdi? Bu, i'nin deneme maliyetidir.
Gösterim. s−i: i dışındaki oyuncuların stratejileri. Ci(siOPT, s−i): i'nin deneme maliyeti. C(s) = Σi Ci(s): toplam maliyet.
λ > 0 ve 0 ≤ μ < 1 iki sabit olsun. Her s ve sOPT için
Σi Ci(siOPT, s−i) ≤ λ · C(sOPT) + μ · C(s)
sağlanıyorsa oyun (λ, μ)-pürüzsüzdür ((λ, μ)-smooth).
Sözle: deneme maliyetlerinin toplamı, optimumun maliyetinin λ katı ile s'nin maliyetinin μ katının toplamını aşmaz. Eşitsizlik her durum s için istenir; yalnız dengeler için değil. Bu, koşulu güçlü ama kullanışlı yapar. λ ve μ küçüldükçe elde edilen sınır iyileşir.
4/3 ispatındaki kenar eşitsizliği tam olarak bir pürüzsüzlük koşuludur. Sol yanı “dengedeki gecikmelerle, optimumdaki trafiğin bedeli”dir; bölünebilir trafikte bu, deneme maliyetlerinin toplamıdır. Sağ yanı 1 · C(fOPT) + ¼ · C(f)'dir. Demek ki doğrusal gecikmeli bölünebilir yönlendirme (1, ¼)-pürüzsüzdür.
9.3.8Pürüzsüzlükten PoA sınırına
(λ, μ)-pürüzsüz bir maliyet oyununda her Nash dengesi s için C(s) ≤ λ / (1 − μ) · C(sOPT); yani PoA ≤ λ / (1 − μ).
1. Denge. s bir Nash dengesidir: kimse tek başına sapmakla kazanmaz. Özel olarak hiçbir oyuncu optimumdaki stratejisine geçerek de kazanmaz: her i için Ci(s) ≤ Ci(siOPT, s−i).
2. Topla. Bu eşitsizlikler bütün oyuncular için toplanır. Sol yanların toplamı toplam maliyettir: C(s) ≤ Σi Ci(siOPT, s−i).
3. Pürüzsüzlüğü uygula. Sağ yan, tanım gereği en çok λ · C(sOPT) + μ · C(s)'dir. Böylece C(s) ≤ λ · C(sOPT) + μ · C(s).
4. Düzenle. μ · C(s) sola geçirilir: (1 − μ) · C(s) ≤ λ · C(sOPT). μ < 1 olduğundan 1 − μ pozitiftir ve iki yan (1 − μ) · C(sOPT)'ye bölünebilir: C(s) / C(sOPT) ≤ λ / (1 − μ). s herhangi bir denge olduğundan sınır en kötü denge için de geçerlidir: PoA ≤ λ / (1 − μ). □
Tanıdık örnekler. 4/3 ispatının kenar eşitsizliği λ = 1, μ = ¼ demektir: 1 / (1 − ¼) = 1 / (3/4) = 4/3. Atomik (bölünemez oyunculu) doğrusal tıkanıklık oyunlarında λ = 5/3, μ = 1/3 alınabilir: (5/3) / (2/3) = 5/2.
Bir oyunun (1, ½)-pürüzsüz olduğu biliniyor. Sınır 1 / (1 − ½) = 2'dir. Aynı λ ile μ = ¼ olsaydı sınır 4/3 olurdu. μ'nün etkisi büyüktür: μ 1'e yaklaştıkça 1 − μ sıfıra yaklaşır ve sınır patlar. Bu yüzden tanımda μ < 1 şartı vardır; μ = 1 olsaydı 4. adımda sıfıra bölmek gerekirdi ve hiçbir sınır çıkmazdı.
Neden önemli? İspat yalnız “kimse tek başına sapmaz” koşulunu, üstelik yalnız tek bir sapma için (optimumdaki stratejiye geçiş) kullanır. Bu koşul daha gevşek denge türlerinde de ortalama olarak sağlanır. Örneğin oyuncuların olasılıklı seçim yaptığı karışık dengelerde 1. adım beklenen değerlerle yazılabilir ve aynı sınır çıkar. Pürüzsüzlükle elde edilen ve bu şekilde geniş denge türlerine taşınan sınıra sağlam PoA (robust Price of Anarchy) denir.
9.3.9Atomik tıkanıklık oyunları: PoA ≤ 5/2
Bölünebilir trafikte tek bir sürücünün etkisi yok sayılır. Oysa birçok sistemde oyuncu sayısı azdır ve her oyuncu kaynağı fark edilir ölçüde yükler: birkaç büyük veri aktarımı, birkaç sunucu işi. Bu tür oyunlara atomik (atomic) tıkanıklık oyunları denir. Model şöyledir:
- Her oyuncu bir birim yük taşır ve bir kenar kümesi (yol) seçer.
- Kenar maliyeti doğrusaldır: kenarı x oyuncu kullanıyorsa her biri ce(x) = aex + be öder.
- ze: dengede e kenarını kullanan kişi sayısı; ye: optimumda kullanan kişi sayısı.
Fark tek bir noktadadır. Bölünebilir trafikte yol değiştiren sürücü yeni yolun gecikmesini değiştirmez. Atomik oyunda tek başına optimumdaki yoluna geçen bir oyuncu, e kenarında en çok ze + 1 kişi bulur: dengede orada olan ze kişi ve kendisi. Bu “+1”, oyuncunun kendi eklediği gecikmedir.
Anahtar eşitsizlik. c(x) = x olan bir kenar için deneme maliyetlerinin toplamı en çok y(z + 1)'dir: optimumda kenarı kullanan y oyuncunun her biri en çok z + 1 öder. Optimumun o kenardaki maliyeti y · y = y2, dengenin maliyeti z2'dir. Gereken pürüzsüzlük eşitsizliği, her y, z ≥ 0 tamsayısı için:
y(z + 1) ≤ 5/3 · y2 + 1/3 · z2
Şekil 9.8 eşitsizliği küçük değerlerde tek tek sınar. Hücre değeri 3 · (5/3 · y2 + 1/3 · z2 − y(z + 1)) = 5y2 + z2 − 3y(z + 1)'dir. Hiçbir hücre negatif değildir; bir betik y, z ≤ 60 için bütün değerleri denedi ve negatif değer bulmadı. Turuncu 0'lar eşitlik noktalarıdır: (y, z) = (0, 0), (1, 1) ve (1, 2).
- (y, z) = (1, 2): sol 1 · 3 = 3; sağ 5/3 · 1 + 1/3 · 4 = 5/3 + 4/3 = 3. Eşitlik; hücre değeri 0.
- (y, z) = (2, 3): sol 2 · 4 = 8; sağ 5/3 · 4 + 1/3 · 9 = 20/3 + 3 = 29/3 ≈ 9,67. Sağlanır; fark 5/3, hücre değeri 3 · 5/3 = 5.
- (y, z) = (1, 0): sol 1 · 1 = 1; sağ 5/3. Sağlanır; hücre değeri 5 − 3 = 2.
- Sonuç: eşitsizlik her kenarda geçerlidir; kenarlar toplanınca oyun (5/3, 1/3)-pürüzsüz olur ve PoA ≤ (5/3)/(2/3) = 5/2.
Genel doğrusal maliyet a x + b için de aynı sonuç çıkar: a'lı kısım yukarıdaki eşitsizliğin a katıdır, b'li kısım ise (sabit maliyet kalabalıktan etkilenmediği için) b · y ≤ 5/3 · b · y biçiminde kendiliğinden sağlanır. 5/2 sınırı da sıkıdır; bunu Awerbuch, Azar ve Epstein ile Christodoulou ve Koutsoupias 2005'te birbirinden bağımsız gösterdiler (Awerbuch vd., 2005; Christodoulou ve Koutsoupias, 2005).
Karşılaştırma öğreticidir: bölünebilir trafikte sınır 4/3, bölünemez oyuncularda 5/2'dir. Aradaki farkın kaynağı z + 1'deki “+1”dir: oyuncunun kendi eklediği gecikme. (y, z) = (1, 1)'de sol yan 2'dir; daha küçük bir λ ile, örneğin (1, 1/3) ile, sağ yan 1 + 1/3 = 4/3 < 2 olurdu ve eşitsizlik bozulurdu. Bu yüzden büyük oyuncuların oyunlarında kayıp daha büyük olabilir.
9.3.10Braess ağında PoA
Braess paradoksu bencil yönlendirmenin en şaşırtıcı sonucudur: bir ağa yeni bir yol eklemek herkesin yolculuk süresini artırabilir. Alman matematikçi Dietrich Braess 1968'de bu olguyu gösterdi. Bu notta paradoksun PoA açısından nasıl okunacağı incelenir.
Ağda s'den t'ye 4.000 araç gider. Dört eski bağlantı vardır: s→A ve B→t trafiğe bağlıdır (x/100 dk), A→t ve s→B sabittir (45 dk). Yeni yol açılmadan önce iki rota vardır ve simetri nedeniyle trafik eşit bölünür: her rotada 2.000 araç, süre 2.000/100 + 45 = 65 dk. Bu dağılım hem denge hem optimumdur; PoA = 1'dir.
Şimdi A→B arasına gecikmesi 0 olan bir yol açılır. Artık üçüncü bir rota vardır: s→A→B→t (zikzak).
Denge. Şekil 9.9'da herkes zikzaktadır. Denetleyelim: s→A ve B→t'de 4.000'er araç vardır, her biri 4.000/100 = 40 dk'dır. Zikzak 40 + 0 + 40 = 80 dk sürer. Eski rotaya geçen bir sürücü 40 + 45 = 85 dk bekler; 85 > 80 olduğundan kimse geçmez. Denge maliyeti 4.000 · 80 = 320.000 araç·dk'dır. Yeni yol herkesin süresini 65'ten 80 dakikaya çıkarmıştır.
Sık yapılan kıyas: 80/65 ≈ 1,23. Bu oran yeni ağın dengesini eski ağın dengesiyle karşılaştırır ve Braess kaybını ölçer. Ama PoA'nın paydası aynı ağın optimumudur. Soru şudur: yeni yollu ağda planlayıcı 65 dakikadan daha iyi bir ortalama elde edebilir mi?
Planlayıcı zikzağı kullanır mı? Eski dağılımda (her eski rotada 2.000, zikzak boş) marjinal maliyetlere bakılır. s→A'da 2.000 araç vardır ve gecikme 20 dk'dır. Marjinal maliyet ℓ + x · ℓ′ = 20 + 2.000 · (1/100) = 40 dk'dır. Zikzak bu türden iki kenar kullanır: 40 + 0 + 40 = 80. Eski rota ise 40 + 45 = 85'tir (sabit kenarın marjinal maliyeti kendi gecikmesine eşittir). 80 < 85: planlayıcı bile birkaç aracı zikzağa yollar.
Simetri nedeniyle optimumda her eski rotada a araç, zikzakta z = 4.000 − 2a araç olduğu varsayılır.
- Kenar yükleri. s→A kenarını s→A→t rotasındaki a araç ve zikzaktaki z araç kullanır: a + z = 4.000 − a. Simetriden B→t de öyledir.
- Toplam maliyet. İki değişken kenarın her biri (4.000 − a) araç × (4.000 − a)/100 dk katkı verir; iki sabit kenarın her biri a · 45; yeni yolun katkısı 0'dır: C(a) = 2(4.000 − a)2/100 + 90a.
- Türev. (4.000 − a)2'nin a'ya göre türevi −2(4.000 − a)'dır. C′(a) = −4(4.000 − a)/100 + 90 = 0 ⇒ 4.000 − a = 2.250 ⇒ a = 1.750, z = 500.
- Maliyet. C(1.750) = 2 · 2.2502/100 + 90 · 1.750 = 101.250 + 157.500 = 258.750 araç·dk. Ortalama süre 258.750 / 4.000 ≈ 64,69 dk; 65'ten biraz iyidir.
- Denetim: marjinal maliyetler eşit mi? s→A'da 2.250 araç, gecikme 22,5 dk, marjinal maliyet 22,5 + 22,5 = 45. Zikzak: 45 + 0 + 45 = 90. Eski rota: 45 + 45 = 90. Eşit ✓. Bir betik simetrik olmayanlar dahil bütün dağılımları taradı ve aynı optimumu buldu.
- Oran. PoA = 320.000 / 258.750 ≈ 1,237 ≤ 4/3.
Şekil 9.10 optimum dağılımı gösterir. Yeni yol optimumu biraz iyileştirmiştir (260.000'den 258.750'ye), ama dengeyi çok kötüleştirmiştir (260.000'den 320.000'e). PoA bu iki etkiyi aynı ağın içinde ölçer.
Normalleştirilmiş Braess ağı. Ders kitaplarında ağ genellikle 1 birim trafikle ve sade gecikmelerle verilir: s→A: x, A→t: 1, s→B: 1, B→t: x, A→B: 0. Dengede herkes zikzaktadır: 1 + 0 + 1 = 2; eski rotaya geçen 1 + 1 = 2 bekler ve kazanmaz. Optimum, zikzağı kapatıp trafiği yarı yarıya bölmektir: her sürücü 1/2 + 1 = 3/2 bekler. Oran 2 / (3/2) = 4/3'tür: bu ağ da 4/3 sınırına tam olarak ulaşır. 4.000 araçlı ağda sabit ve değişken kenarların süreleri bu kadar uyumlu değildir; bu yüzden oran sınırın altında, 1,237'de kalır.
9.3.11Sınırlarda sık hatalar
- 4/3'ü evrensel sanmak: Sınır doğrusal gecikme ve bölünebilir trafik içindir. xp gecikmesinde PoA sınırsız büyür; atomik oyuncularda sınır 5/2'dir.
- Karmaşık ağda oranın büyüyeceğini sanmak: Roughgarden'ın sonucuna göre en kötü örnek her zaman iki paralel bağlantılıdır; ağ yapısı oranı büyütmez.
- Braess'te paydaya eski ağı koymak: 80/65 Braess kaybıdır, PoA değildir. PoA'nın paydası aynı ağın optimumudur (258.750).
- Pürüzsüzlüğü yalnız dengede denetlemek: Tanım her s durumu için istenir; ispat bu genelliği kullanır.
- μ'yü 1 ya da daha büyük almak: 1 − μ ≤ 0 olursa bölme yapılamaz ya da işaret değişir; sınır çıkmaz.
9.4Yük dengeleme
Anarşinin Bedeli ilk kez trafik ağlarında değil, paralel makinelere iş dağıtan bir modelde tanımlandı (Koutsoupias ve Papadimitriou, 1999). Bu model bugün sunucu kümelerinde, bulutta görev yerleştirmede ve işlemci çekirdeklerine iş dağıtmada karşımıza çıkar. Trafikten iki farkı vardır: oyuncular bölünemez (her iş tek bir makineye gider) ve sosyal maliyet çoğu zaman toplam değil, en büyük yüktür.
9.4.1Yük dengeleme oyunu
Yük dengeleme oyununda (load balancing game) n iş (oyuncu) ve m özdeş makine vardır; iş j'nin boyu wj'dir. Her iş bir makine seçer. Bir makinenin yükü, ona yerleşen işlerin boyları toplamıdır. Bir işin maliyeti, seçtiği makinenin yüküdür (o makinedeki işlerin hepsi makinenin yükü kadar sürede biter). Sosyal maliyet, makinelerin en büyük yüküdür (makespan), yani tüm işlerin bitiş anıdır.
Bu modelde iş j, k makinesinden h makinesine geçerse yeni maliyeti yük(h) + wj olur; çünkü h'deki mevcut yüke kendi boyunu ekler. Geçiş, bu sayı şimdiki maliyeti yük(k)'dan küçükse kârlıdır. Bir atama, hiçbir iş için kârlı bir geçiş yoksa Nash dengesidir:
her j ve her h için: yük(h) + wj ≥ yük(kj)
Burada kj, j'nin şu anki makinesidir. Kendi makinesine “geçiş” anlamsızdır: h = kj iken sol yan yük(kj) + wj olur ve sağ yandan hep büyüktür.
Saf Nash dengesi her zaman vardır. Bu, her oyunda doğru değildir; örneğin Taş-Kâğıt-Makas'ta saf denge yoktur. Yük dengelemede ise şu akıl yürütme dengenin varlığını gösterir. Herhangi bir atamadan başlanır. Bir dengede değilsek kârlı bir geçiş vardır: iş j, k'den h'ye geçer ve yük(h) + wj < yük(k)'dır. Geçişten sonra k'nin yükü azalır, h'nin yükü artar; ama h'nin yeni yükü k'nin eski yükünden küçüktür. Makine yükleri büyükten küçüğe sıralanıp bir liste yapılırsa, bu liste geçişten sonra “küçülür”: iki liste soldan karşılaştırıldığında ilk farklı yerde yeni listede daha küçük bir sayı vardır. Sözlükteki sıralamaya benzeyen bu karşılaştırmada liste sonsuza dek küçülemez, çünkü işlerin makinelere dağılımı sonlu sayıdadır ve hiçbir liste tekrar edemez. Demek ki kârlı geçişler bir yerde biter; bittiği yer bir Nash dengesidir.
Boyları 2, 2, 1, 1 olan işler başta hepsi M1'de olsun. Yükler (6, 0), sıralı liste [6, 0].
- i1 (boy 2) M2'ye geçer: 0 + 2 = 2 < 6. Yükler (4, 2), sıralı liste [4, 2]. İlk eleman 6'dan 4'e indi: liste küçüldü.
- i3 (boy 1) M2'ye geçer: 2 + 1 = 3 < 4. Yükler (3, 3), liste [3, 3]. Yine küçüldü.
- Artık hiçbir iş kazanamaz: 2'lik iş öteki makinede 3 + 2 = 5, 1'lik iş 3 + 1 = 4 bekler. Süreç (3, 3) dengesinde durur.
9.4.2Adım adım: {2, 2, 1, 1} örneği
Dört iş (boylar 2, 2, 1, 1) ve iki özdeş makine. Her iş kendi bitiş süresini, yani makinesinin toplam yükünü küçültmek ister. Sosyal maliyet en büyük yüktür.
- Sosyal optimum. Toplam iş 2 + 2 + 1 + 1 = 6'dır. İki makine olduğundan en büyük yük en az 6/2 = 3'tür. {2, 1} | {2, 1} ataması yükleri 3 ve 3 yapar ve bu alt sınıra ulaşır. OPT = 3.
- Başka bir atama. İki büyük iş M1'de (yük 4), iki küçük iş M2'de (yük 2). En büyük yük 4. Bu bir denge olabilir mi?
- Büyük işin sapması. i1 (boy 2) M2'ye geçerse 2 + 2 = 4 bekler; şimdi de 4 bekliyor. Kazanç yok. i2 için de aynısı geçerlidir.
- Küçük işin sapması. i3 (boy 1) M1'e geçerse 4 + 1 = 5 bekler; şimdi 2 bekliyor. Daha kötü. i4 için de aynısı.
- Sonuç. Kimse kazanmaz: {2, 2} | {1, 1} bir Nash dengesidir ve en büyük yükü 4'tür.
- Oranlar. Optimum da bir dengedir (3 | 3'te 2'lik iş geçerse 5, 1'lik iş geçerse 4 bekler). En kötü denge 4, en iyi denge 3: PoA = 4/3, PoS = 1.
Bu örnekte kötü dengenin oluşma nedeni Şekil 9.12'de görülür. M1 fazla yüklüdür, ama oradaki işler büyüktür; M2'ye geçince kendi boyları yüzünden yine 4 beklerler. M2'deki küçük işler ise M1'e gitmek için hiçbir neden görmez. Kimse “yükü dengelemek” için kendini feda etmez. Eşitlikte (4 < 4 yanlış) iş yerinde kalır; bu kural tanımdaki kesin küçüklükten gelir.
9.4.3Kod izleme: nash_mi()
Bir atamanın denge olup olmadığını denetleyen fonksiyon şöyledir. boy iş boylarının listesi, atama her işin makine indisidir (0 = M1, 1 = M2), m makine sayısıdır.
def nash_mi(boy, atama, m):
yuk = [0] * m
for j, k in enumerate(atama):
yuk[k] += boy[j]
for j, k in enumerate(atama):
for h in range(m):
if yuk[h] + boy[j] < yuk[k]:
return False # j kaçar
return True # kimse kaçmazFonksiyon iki aşamada çalışır:
- Yükleri hesapla.
yuk = [0] * m,mtane sıfırdan oluşan bir liste kurar. İlk döngüdeenumerate(atama)her iş için indisijve makinesinikverir; işin boyu o makinenin yüküne eklenir. - Sapmaları dene. İkinci döngü her iş
jve her makinehiçinyuk[h] + boy[j] < yuk[k]koşulunu sınar. Koşul doğruysa işjh'ye geçerek kazanır; fonksiyon hemenFalsedöndürür. Hiçbir sapma kârlı değilseTruedöner.
nash_mi([2, 2, 1, 1], (0, 0, 1, 1), 2) çağrısının izlemesi Tablo 9.7'de verilmiştir. h = k (kendi makinesi) için koşul hep yanlıştır, çünkü yuk[k] + boy[j] < yuk[k] olamaz; tabloda yalnız h ≠ k adımları gösterilir.
| Adım | Değişkenler | İşlem | Sonuç |
|---|---|---|---|
| 1 | — | yuk = [0, 0] | [0, 0] |
| 2 | j = 0, k = 0 | i1 (boy 2) M1'e | [2, 0] |
| 3 | j = 1, k = 0 | i2 (boy 2) M1'e | [4, 0] |
| 4 | j = 2, k = 1 | i3 (boy 1) M2'ye | [4, 1] |
| 5 | j = 3, k = 1 | i4 (boy 1) M2'ye | [4, 2] |
| 6 | j = 0, h = 1 | 2 + 2 < 4? | hayır |
| 7 | j = 1, h = 1 | 2 + 2 < 4? | hayır |
| 8 | j = 2, h = 0 | 4 + 1 < 2? | hayır |
| 9 | j = 3, h = 0 | 4 + 1 < 2? | hayır |
| 10 | — | döngü bitti | True |
Hiçbir iş kârlı bir makineye kaçamadı; fonksiyon True döndürür: {2, 2} | {1, 1} bir Nash dengesidir. Aynı fonksiyon (0, 0, 0, 1) atamasıyla çağrılsaydı yükler [5, 1] olurdu ve ilk sapma denemesinde (i1 için 1 + 2 = 3 < 5) False dönerdi. Fonksiyonun maliyeti n iş ve m makine için O(nm) karşılaştırmadır.
9.4.4Kaba kuvvet: 16 atamanın hepsi
Dört işin her biri iki makineden birini seçebildiğinden 24 = 16 atama vardır. Makineler özdeş olduğu için M1 ile M2'nin yer değiştirmesi aynı bölüşümü verir; bu yüzden 16 atama beş bölüşüme ayrılır.
| Bölüşüm (M1 | M2) | Atama sayısı | En büyük yük | Nash? |
|---|---|---|---|
| {2, 1} | {2, 1} | 4 | 3 | ✓ denge |
| {2, 1, 1} | {2} | 4 | 4 | ✗ |
| {2, 2} | {1, 1} | 2 | 4 | ✓ denge |
| {2, 2, 1} | {1} | 4 | 5 | ✗ |
| {2, 2, 1, 1} | { } | 2 | 6 | ✗ |
Atama sayıları şöyle bulunur. {2, 1} | {2, 1} için 2'lik işlerden biri (2 yol) ve 1'lik işlerden biri (2 yol) M1'e gider: 2 · 2 = 4. {2, 2} | {1, 1} için büyükler ya M1'de ya M2'de: 2. Toplam 4 + 4 + 2 + 4 + 2 = 16 ✓.
Dengesiz bölüşümlerin her birinde kaçan bir iş vardır. {2, 1, 1} | {2}'de M1'deki 1'lik iş M2'ye geçerse 2 + 1 = 3 < 4 bekler. {2, 2, 1} | {1}'de 2'lik iş geçerse 1 + 2 = 3 < 5. Hepsi tek makinede ise herhangi bir iş boş makineye geçerek kazanır. Dengeler en büyük yükü 3 ve 4 olanlardır: PoA = 4/3 (en kötü denge), PoS = 1 (en iyi denge = optimum).
En iyi tepki dinamiği. Oyuncuların sırayla kârlı geçiş yaptığı sürece en iyi tepki dinamiği (best-response dynamics) denir. Bu oyunda dinamik her zaman bir dengede durur, çünkü her kârlı geçiş sıralanmış yük listesini küçültür (9.4.1). Ama varılan denge başlangıca ve hamle sırasına bağlıdır. Örnek 9.11'deki sıra (3, 3)'e vardı; başta büyük işler M1'de, küçükler M2'deyse süreç hiç başlamaz ve (4, 2)'de kalır.
9.4.5Kod izleme: poa_pos()
Tablo elle kuruldu; aynı işi bütün atamaları tarayan bir fonksiyon yapar. Fonksiyon, nash_mi'yi her atama için çağırır.
from itertools import product
def poa_pos(boy, m):
opt, dengeler = float("inf"), []
for atama in product(range(m), repeat=len(boy)):
yuk = [0] * m
for j, k in enumerate(atama):
yuk[k] += boy[j]
opt = min(opt, max(yuk))
if nash_mi(boy, atama, m): # denge testi
dengeler.append(max(yuk))
return max(dengeler) / opt, min(dengeler) / opt
r = poa_pos([2, 2, 1, 1], 2)
print(round(r[0], 3), r[1])product(range(m), repeat=len(boy)), her işe bir makine indisi veren bütün demetleri sırayla üretir: (0, 0, 0, 0), (0, 0, 0, 1), …, (1, 1, 1, 1). Dört iş ve iki makinede 16 demet vardır.- Her demet için yükler hesaplanır ve
opt, şimdiye kadar görülen en küçük en büyük yük olarak güncellenir.float("inf")sonsuz büyük bir başlangıç değeridir; ilk karşılaştırmada mutlaka yerini gerçek bir sayıya bırakır. - Atama dengeyse en büyük yükü
dengelerlistesine eklenir. - Sonunda en kötü dengenin ve en iyi dengenin optimuma oranı döndürülür:
(PoA, PoS).
| Atama | Yükler | Kaçan | Denge? | opt |
|---|---|---|---|---|
| (0, 0, 0, 0) | [6, 0] | i1: 0 + 2 = 2 < 6 | hayır | 6 |
| (0, 0, 0, 1) | [5, 1] | i1: 1 + 2 = 3 < 5 | hayır | 5 |
| (0, 0, 1, 0) | [5, 1] | i1: 1 + 2 = 3 < 5 | hayır | 5 |
| (0, 0, 1, 1) | [4, 2] | yok | evet, 4 | 4 |
| (0, 1, 0, 0) | [4, 2] | i3: 2 + 1 = 3 < 4 | hayır | 4 |
| (0, 1, 0, 1) | [3, 3] | yok | evet, 3 | 3 |
| (0, 1, 1, 0) | [3, 3] | yok | evet, 3 | 3 |
| (0, 1, 1, 1) | [2, 4] | i3: 2 + 1 = 3 < 4 | hayır | 3 |
| (1, 0, 0, 0) | [4, 2] | i3: 2 + 1 = 3 < 4 | hayır | 3 |
| (1, 0, 0, 1) | [3, 3] | yok | evet, 3 | 3 |
| (1, 0, 1, 0) | [3, 3] | yok | evet, 3 | 3 |
| (1, 0, 1, 1) | [2, 4] | i3: 2 + 1 = 3 < 4 | hayır | 3 |
| (1, 1, 0, 0) | [2, 4] | yok | evet, 4 | 3 |
| (1, 1, 0, 1) | [1, 5] | i1: 1 + 2 = 3 < 5 | hayır | 3 |
| (1, 1, 1, 0) | [1, 5] | i1: 1 + 2 = 3 < 5 | hayır | 3 |
| (1, 1, 1, 1) | [0, 6] | i1: 0 + 2 = 2 < 6 | hayır | 3 |
Tarama bitince dengeler = [4, 3, 3, 3, 3, 4] ve opt = 3'tür. Fonksiyon (4/3, 3/3) = (1.333…, 1.0) döndürür; son satır bunu 1.333 1.0 olarak yazar. Yöntemin bedeli yüksektir: n iş ve m makinede mn atama vardır. 30 iş ve 2 makinede bu sayı bir milyarı aşar. Kaba kuvvet küçük örnekleri doğrulamak için iyidir; büyük oyunlarda PoA'yı analizle sınırlamak gerekir.
9.4.6Genel sonuç: 2 − 2/(m + 1)
{2, 2, 1, 1} örneğinde PoA 4/3 çıktı. Bu, iki makine için olabilecek en kötü değerdir. Genel sonuç şudur (Finn ve Horowitz, 1979; Koutsoupias ve Papadimitriou, 1999):
m özdeş makinede, sosyal maliyet en büyük yük iken saf Nash dengelerinin Anarşinin Bedeli
PoA = 2 − 2/(m + 1)
'dir ve bu değer sıkıdır.
Değerler: m = 1 için 1 (tek makinede seçim yoktur), m = 2 için 4/3, m = 3 için 3/2, m = 9 için 1,8. m büyüdükçe oran 2'ye yaklaşır ama hiçbir zaman 2'ye ulaşmaz. Bencil iş dağılımı, makine sayısı ne olursa olsun, en iyi dağılımın iki katından kötü olamaz.
Sınırın neden 2'nin altında kaldığı kısa bir akıl yürütmeyle görülür. Bir dengede en yüklü makinenin yükü L olsun. O makinede tek iş varsa L bu işin boyudur ve optimum da bu işi bir makineye koymak zorundadır; oran 1'dir. Birden çok iş varsa oradaki en küçük işin boyu w olsun. Dengede bu iş başka bir makineye geçmek istemez: her makine h için yük(h) + w ≥ L, yani her makinenin yükü en az L − w'dir. Toplam iş miktarı bu yüzden en az L + (m − 1)(L − w)'dir. Optimum, toplam işin makine sayısına bölümünden (ortalama yükten) küçük olamaz: OPT ≥ L − w(m − 1)/m. Ayrıca en yüklü makinede en az iki iş ve en küçüğü w olduğundan w ≤ L/2'dir. İkinci bilgi birinciye konunca OPT ≥ L − (L/2)(m − 1)/m = L · (m + 1)/(2m) çıkar. İki yan düzenlenince L / OPT ≤ 2m/(m + 1) = 2 − 2/(m + 1) elde edilir. Örnek 9.13 bu sınıra ulaşıldığını, yani sınırın sıkı olduğunu gösterir.
Üç özdeş makine ve boyları 3, 3, 3, 1, 1, 1 olan altı iş. Sınır 2 − 2/4 = 3/2'dir. Bu örnek sınıra ulaşır.
- Optimum. Toplam iş 12, üç makine: en büyük yük en az 4. {3, 1} | {3, 1} | {3, 1} bunu sağlar: OPT = 4.
- Kötü atama. {3, 3} | {3} | {1, 1, 1}: yükler 6, 3, 3.
- M1'deki 3'lük iş: M2'ye geçerse 3 + 3 = 6, M3'e geçerse 3 + 3 = 6 bekler; şimdi de 6 bekliyor. Kazanmaz.
- M2'deki 3'lük iş: şimdi 3 bekliyor; M3'e geçse 6, M1'e geçse 9. Kazanmaz.
- M3'teki 1'lik iş: şimdi 3 bekliyor; M2'ye geçse 4, M1'e geçse 7. Kazanmaz.
- Sonuç. Atama bir dengedir ve oran 6/4 = 3/2'dir. Bütün 36 = 729 atamayı tarayan bir betik, dengelerin en büyük yüklerinin 4 ve 6 olduğunu doğruladı.
Karışık dengeler. İşler makineyi olasılıkla seçebilirse (karışık strateji) durum değişir. Bu durumda sosyal maliyet olarak beklenen en büyük yük kullanılır ve PoA artık sabit bir sayıyla sınırlanamaz: m ile çok yavaş ama sınırsız büyür. Büyüme hızı log m / log log m düzeyindedir (Koutsoupias vd., 2003; Czumaj ve Vöcking, 2002). Bu, “toplar ve kutular” problemine benzer: m top m kutuya rastgele atılınca en dolu kutuda beklenenden fazla top birikir. Rastgelelik, dengede bile şanssız çakışmalara yol açar.
9.4.7Farklı hızlı (ilişkili) makineler
Gerçek sunucular aynı hızda değildir. İlişkili makineler (related machines) modelinde makine i'nin hızı si'dir ve bir işin bitiş süresi, makinesinin toplam yükünün si'ye bölümüdür. Hızlı makine aynı yükü daha kısa sürede bitirir. Bu modelde de saf Nash dengesi her zaman vardır (aynı “sıralı liste küçülür” fikri bitiş süreleriyle çalışır).
Hızlar A = 2, B = 1, C = 1; iş boyları 2, 1, 1. Sosyal maliyet en büyük bitiş süresidir.
- Optimum. A {2}, B {1}, C {1}: süreler 2/2 = 1, 1/1 = 1, 1/1 = 1. En büyük süre 1. Bu en iyisidir, çünkü 2'lik iş en hızlı makinede bile 1 sürer.
- Kötü atama. A {1, 1}, B {2}, C { }: süreler 2/2 = 1, 2/1 = 2, 0. En büyük süre 2.
- 2'lik işin sapması. Şimdi 2 bekliyor. A'ya geçerse (2 + 2)/2 = 2, C'ye geçerse 2/1 = 2. Kazanmaz.
- 1'lik işin sapması. Şimdi 1 bekliyor. C'ye geçerse 1/1 = 1, B'ye geçerse 3/1 = 3. Kazanmaz.
- Sonuç. İkinci atama da bir dengedir. Oran 2/1 = 2.
| Atama | Süreler (A, B, C) | En büyük | Nash? |
|---|---|---|---|
| A {2}, B {1}, C {1} | 1, 1, 1 | 1 | evet (optimum) |
| A {1, 1}, B {2}, C { } | 1, 2, 0 | 2 | evet |
Oran 2'dir ve bu, özdeş üç makinenin sınırı 2 − 2/4 = 1,5'ten büyüktür. Özdeş makinelerde saf dengenin kaybı hep 2 katın altında kalır. Hızlar farklıysa kayıp, makine sayısı arttıkça (çok yavaş da olsa) sınırsız büyür; büyüme log m / log log m düzeyindedir (Czumaj ve Vöcking, 2002). Yük Dengeleme oyununun 2. ve 3. seviyeleri bu modeli kullanır.
9.4.8Oyuna dönüş: toplam bitiş süresi
Bölümün başındaki Yük Dengeleme oyununun ölçüsü farklıdır. Oyunda sosyal maliyet en büyük yük değil, bütün işlerin bitiş sürelerinin toplamıdır. Seviye 2'de (CPU Scheduling) boyu 1 olan 7 iş vardır ve sunucu hızları A = 2, B = 1, C = 1'dir. Bir sunucuda L iş varsa her biri L / s sürede biter; o sunucunun toplama katkısı L · L / s'dir.
| Yükler (A, B, C) | Toplam süre | Nash? |
|---|---|---|
| (3, 2, 2) | 3 · 1,5 + 2 · 2 + 2 · 2 = 12,5 | evet (optimum) |
| (4, 2, 1) | 4 · 2 + 2 · 2 + 1 · 1 = 13 | evet (en kötü) |
- (4, 2, 1) denge mi? A'daki bir iş 2 bekler; C'ye geçerse (1 + 1)/1 = 2, B'ye geçerse 3 bekler. Kazanmaz. B'deki bir iş 2 bekler; C'ye geçerse 2, A'ya geçerse 5/2 = 2,5. Kazanmaz. C'deki iş 1 bekler; en iyisi zaten odur. Denge ✓.
- (3, 2, 2) denge mi? A'daki iş 1,5 bekler; B ya da C'ye geçse 3. B'deki iş 2 bekler; A'ya geçse 4/2 = 2 (eşit, kazanmaz), C'ye geçse 3. Denge ✓.
- Oran. PoA = 13 / 12,5 = 1,04. Simetriği (4, 1, 2) de aynı maliyetle (13) bir dengedir. Bütün yük dağılımlarını tarayan bir betik, dengelerin toplam sürelerinin yalnız 12,5 ve 13 olduğunu ve en küçük toplamın 12,5 olduğunu doğruladı.
Bencil yerleşim nereye varır? Oyunda işler sırayla gelir. Her iş, geldiği anda kendi bitiş süresi en kısa olacak sunucuyu seçerse (eşitlikte alfabede önce gelen) ne olur? Tablo 9.12 bu süreci adım adım izler.
| İş | A'ya giderse | B'ye giderse | C'ye giderse | Seçim | Yükler |
|---|---|---|---|---|---|
| 1 | 1/2 = 0,5 | 1 | 1 | A | (1, 0, 0) |
| 2 | 2/2 = 1 | 1 | 1 | A (eşitlik) | (2, 0, 0) |
| 3 | 3/2 = 1,5 | 1 | 1 | B (eşitlik) | (2, 1, 0) |
| 4 | 1,5 | 2 | 1 | C | (2, 1, 1) |
| 5 | 1,5 | 2 | 2 | A | (3, 1, 1) |
| 6 | 4/2 = 2 | 2 | 2 | A (eşitlik) | (4, 1, 1) |
| 7 | 5/2 = 2,5 | 2 | 2 | B (eşitlik) | (4, 2, 1) |
Sıra A, A, B, C, A, A, B olur ve sonuç tam olarak en kötü dengelerden biri olan (4, 2, 1)'dir. Oyundaki bencil denge gösterimi (Selfish equilibrium) bu açgözlü yerleşimle kurulur. Açgözlü yerleşim her adımda yeni iş için en iyisini seçer, ama sonradan gelen işlerin etkisini öngöremez; 6. işin A'ya gitmesi, 7. iş için A'yı pahalı hâle getirir.
Seviye 1'de (6 iş, özdeş üç sunucu) tek denge (2, 2, 2)'dir ve bu optimumdur: PoA = 1. Kayıp, sunucular farklılaşınca ortaya çıkar. Son olarak bir karşılaştırma: {2, 2, 1, 1} örneğindeki 4/3 en büyük yükü ölçer, oyun ise toplam süreyi ölçer. PoA'nın değeri ölçülen sosyal maliyete bağlıdır; “bu oyunun PoA'sı” denirken hangi maliyetin kastedildiği her zaman belirtilmelidir.
9.4.9Yük dengelemede sık hatalar
- Sapmada kendi boyunu eklememek: İş h'ye geçince yük(h) değil, yük(h) + wj bekler. {2, 2} | {1, 1}'de büyük iş M2'yi 2 yüklü görüp “2 < 4, kaçar” demek yanlıştır; geçince 4 bekler.
- Eşitlikte kaçmak: Tanımdaki koşul kesin küçüklüktür (<). Eşit maliyetli bir geçiş kârlı değildir; iş yerinde kalır.
- Optimumu en iyi denge sanmak: Bu örnekte optimum bir dengedir (PoS = 1), ama her oyunda böyle değildir; Pigou ağında optimum denge değildir.
- Ölçütü karıştırmak: En büyük yük ile toplam süre farklı PoA değerleri verir. Hesaba başlamadan sosyal maliyet açıkça yazılmalıdır.
- Karışık dengelerin sınırını saf dengelere taşımak: 2 − 2/(m + 1) saf dengeler içindir; karışık dengelerde oran m ile yavaşça büyür.
9.5İstikrarın Bedeli
Şimdiye kadarki örneklerin çoğunda PoA ile PoS aynıydı ya da PoS 1'di. Bu kesimde iki oranın çok farklı olabildiği bir oyun ailesi incelenir: oyuncuların bağlantı kiralayıp bedeli kullananlar arasında eşit böldüğü ağ tasarımı oyunları. Bu oyunlarda en kötü denge çok kötü olabilir, ama her zaman iyi bir denge de vardır. İyi dengenin ne kadar iyi olduğunu gösteren araç, potansiyel fonksiyonudur.
9.5.1Aynı oyunda PoA ≠ PoS
Adil maliyet paylaşımlı (fair cost sharing) ağ tasarımı oyununda her bağlantının sabit bir bedeli ce vardır. Her oyuncu kendi başlangıç ve hedef düğümleri arasında bir yol seçer. Bir bağlantıyı ne oyuncu kullanıyorsa her biri ce / ne öder. Toplam maliyet, kullanılan bağlantıların bedelleri toplamıdır.
Bu oyunda tıkanıklığın tersi bir etki vardır: bir bağlantıyı ne kadar çok kişi kullanırsa kişi başı bedel o kadar düşer. Oyuncular birbirini itmez, çeker. Bu yüzden oyuncuların aynı bağlantıda toplanması iyidir; sorun hangi bağlantıda toplanacaklarıdır.
4 oyuncu s'den t'ye bağlantı kiralar. İki seçenek vardır: A bağlantısı 2 TL, B bağlantısı 6 TL. Bedeli kullananlar eşit böler.
- Herkes A'da. Her biri 2/4 = 0,5 TL öder. B'ye tek başına geçen 6 TL öderdi. Kimse geçmez: denge. Toplam 2 TL, bu aynı zamanda optimumdur (en ucuz bağlantı kullanılmıştır).
- Herkes B'de. Her biri 6/4 = 1,5 TL öder. A'ya tek başına geçen 2 TL öderdi; 2 > 1,5 olduğundan kimse geçmez. Bu da bir dengedir; toplam 6 TL.
- Karışık profil (1 A, 3 B). A'daki oyuncu 2 TL, B'dekiler 6/3 = 2 TL öder. B'deki bir oyuncu A'ya geçerse A'yı iki kişi paylaşır ve 2/2 = 1 TL öder; 1 < 2, kaçar. Denge değil.
- Bütün profiller. 24 = 16 profilin hepsi tarandığında yalnız “hepsi A” ve “hepsi B” denge çıkar. 2 A, 2 B profilinde B'deki oyuncu 3 TL öder, A'ya geçerse 2/3 TL öderdi; 3 A, 1 B'de B'deki 6 TL öder, A'ya geçerse 0,5.
- Oranlar. PoA = 6/2 = 3 (en kötü denge), PoS = 2/2 = 1 (en iyi denge).
Şekil 9.13 ile Şekil 9.14 aynı oyunun iki dengesidir. Kötü dengede herkes birlikte A'ya geçse herkes kazanırdı (1,5 yerine 0,5 TL). Ama tek başına geçen 2 TL öder ve kaybeder. Sorun bir koordinasyon sorunudur: oyuncuların hepsi aynı anda hareket edebilse kayıp ortadan kalkar. PoS, bu iyimser senaryonun ölçüsüdür. Biri oyunculara “hepiniz A'yı kullanın” derse ve bu öneri bir denge olduğu için kimse ondan sapmak istemezse kayıp yoktur. PoA ise öneri yapılmazsa ne kadar kaybedilebileceğini söyler.
PoA ne kadar büyük olabilir? Aynı yapı daha uç sayılarla kurulabilir. n oyuncu, bedeli 1 olan bir bağlantı ve bedeli n olan bir bağlantı olsun. Herkes pahalı bağlantıdaysa her biri n/n = 1 öder. Ucuz bağlantıya tek başına geçen de 1 öderdi; geçiş kârlı değildir. Bu profil bir dengedir ve toplam maliyeti n'dir; optimum 1'dir. Demek ki adil paylaşım oyunlarında PoA n kadar büyük olabilir. Oyuncu sayısı arttıkça en kötü denge sınırsız kötüleşir.
9.5.2Adım adım: Hn örneği
PoA kötü olabildiğine göre soru PoS'a döner: en iyi denge her zaman optimuma yakın mıdır? Cevap “evet, ama tam değil”dir. Aşağıdaki örnek, en iyi dengenin bile optimumdan belirli bir oranda kötü olmak zorunda kaldığını gösterir. Örnekte harmonik sayı (harmonic number) ortaya çıkar:
Hn = 1 + 1/2 + 1/3 + … + 1/n
Örneğin H1 = 1, H2 = 3/2, H3 = 11/6 ≈ 1,83, H4 = 25/12 ≈ 2,08'dir. Hn çok yavaş büyür ve yaklaşık ln n'dir; H100 ≈ 5,19'dur.
Kurulum. 4 oyuncu vardır ve her biri t'ye iki yoldan biriyle gider: yalnız kendisinin kullandığı, bedeli 1/i olan yol (oyuncu 1 için 1, oyuncu 2 için 1/2, oyuncu 3 için 1/3, oyuncu 4 için 1/4) ya da herkesin ortak kullanabildiği, bedeli 1 + ε = 1,1 olan yol. Burada ε küçük bir ek bedeldir (0,1). Ortak yolun bedeli kullananlarca eşit bölünür.
Optimum. Herkes ortak yolu kullanırsa toplam 1,1'dir. Herkes kendi yolunu kullanırsa toplam 1 + 1/2 + 1/3 + 1/4 = 25/12 ≈ 2,083'tür. Karışık seçimler de denenebilir, ama ortak yol kullanılıyorsa bedeli bir kez ödenir ve kendi yollarını ekleyenler toplamı yalnızca artırır. Optimum herkesin ortak yolda olduğu durumdur: toplam 1,1, kişi başı 0,275.
Optimumdan başlanır ve en iyi tepki dinamiği izlenir: her adımda kendi yoluna geçerek kazanacak bir oyuncu varsa geçer.
- Oyuncu 4. Ortak yolda 0,275 öder; kendi yolu 1/4 = 0,25 < 0,275. Ayrılır. Kalan üç kişi artık 1,1/3 ≈ 0,367 öder.
- Oyuncu 3. Kendi yolu 1/3 ≈ 0,333 < 0,367. Ayrılır. Kalan iki kişi 1,1/2 = 0,55 öder.
- Oyuncu 2. Kendi yolu 1/2 = 0,5 < 0,55. Ayrılır. Oyuncu 1 ortak yolu tek başına öder: 1,1.
- Oyuncu 1. Kendi yolu 1 < 1,1. Ayrılır.
- Son durum. Herkes kendi yolunda. Kimse ortak yola dönmek istemez: tek başına dönen 1,1 öderdi ve 1,1 her oyuncunun kendi yolundan pahalıdır. Toplam 1 + 1/2 + 1/3 + 1/4 = 25/12 ≈ 2,083.
Tek denge. Ortak yolda k ≥ 1 kişi varsa bunların en büyük numaralısının numarası en az k'dir; onun kendi yolu 1/i ≤ 1/k < 1,1/k olduğundan ayrılır. Demek ki ortak yolu kullanan hiçbir profil denge değildir ve tek denge “herkes kendi yolunda”dır. 16 profili tarayan bir betik de bunu doğruladı.
Oran. Tek denge olduğundan PoS = PoA = (25/12) / 1,1 = 125/66 ≈ 1,894.
Örnekteki çözülme bir zincir tepkimedir. Ortak yoldan en ucuz alternatifi olan oyuncu ayrılır; bu, kalanların payını artırır ve bir sonrakini ayrılmaya iter. ε sıfıra yaklaşırken n oyunculu aynı yapıda PoS Hn = 1 + 1/2 + … + 1/n'ye yaklaşır: optimum 1'e, tek denge Hn'ye gider. Dört oyuncuda bu sınır 25/12 ≈ 2,08'dir; ε = 0,1 ile 1,894 bulduk.
9.5.3Rosenthal potansiyeli
Hn örneği PoS'un en az Hn'ye yaklaşabildiğini gösterdi. Bunun bir üst sınır olduğunu, yani hiçbir adil paylaşım oyununda PoS'un Hn'yi aşmadığını göstermek için bir yardımcı fonksiyon gerekir.
Gösterim. ce: e bağlantısının bedeli; ne: e'yi kullanan oyuncu sayısı (her biri ce/ne öder). H(k) = 1 + 1/2 + … + 1/k ve H(0) = 0; Hn = H(n). Toplam maliyet C(s): kullanılan bağlantıların bedelleri toplamı.
Adil paylaşım oyununda Rosenthal potansiyeli (Rosenthal potential) şöyle tanımlanır:
Φ(s) = Σe ce · H(ne)
Tanım bir hayalî sayımdan gelir. Oyuncular bir bağlantıya tek tek eklenmiş gibi düşünülür: 1. kişi tek başına olduğu için ce yazar, 2. kişi ce/2, …, k'ıncı kişi ce/k yazar. Bu sayıların toplamı ce · (1 + 1/2 + … + 1/k) = ce · H(k)'dir. Her kişi “geldiği andaki” payını yazmıştır; potansiyel bu payların bütün bağlantılar üzerinden toplamıdır.
Potansiyelin anahtar özelliği. Bir oyuncu yolunu değiştirdiğinde, kendi maliyetindeki değişim potansiyeldeki değişime tam olarak eşittir. Nedeni şudur: oyuncu bir e bağlantısından ayrılınca o bağlantının sayısı ne'den ne − 1'e iner ve potansiyelden tam olarak ce/ne düşer (toplamın son terimi), bu da oyuncunun orada ödediği paydır. Oyuncu yeni bir e′ bağlantısına katılınca o bağlantının sayısı bir artar ve potansiyele ce′/(ne′ + 1) eklenir; bu da oyuncunun orada ödeyeceği yeni paydır. Bu yüzden sapan oyuncu kazanıyorsa (maliyeti düşüyorsa) potansiyel de aynı miktarda düşer. Böyle bir fonksiyonu olan oyunlara potansiyel oyun (potential game) denir.
Her s profili için C(s) ≤ Φ(s) ≤ Hn · C(s).
Kullanılan bir bağlantıda en az bir, en çok n kullanıcı vardır; bu yüzden 1 = H(1) ≤ H(ne) ≤ H(n) = Hn'dir. Her terim ce ≥ 0 ile çarpılır: ce ≤ ce · H(ne) ≤ Hn · ce. Kullanılmayan bağlantılarda H(0) = 0 olduğundan katkıları hem maliyette hem potansiyelde sıfırdır. Bütün bağlantılar üzerinden toplanınca sol taraf C(s), orta Φ(s), sağ taraf Hn · C(s) olur. □
Hn örneğinde (dört oyuncu, ε = 0,1):
- Herkes ortak yolda. Kullanılan tek bağlantı ortak yoldur ve 4 kullanıcısı vardır. C = 1,1, Φ = 1,1 · H(4) = 1,1 · 25/12 ≈ 2,29. C ≤ Φ; ayrıca Φ = H4 · C: üst sınıra eşit, çünkü bağlantı en çok kullanıcıya sahiptir.
- Herkes kendi yolunda. Her yolu tek kişi kullanır; H(1) = 1. Φ = C = 25/12 ≈ 2,08: alt sınıra eşit.
- Bir hamlenin etkisi. Optimumdan oyuncu 4 ayrılınca maliyeti 0,275 − 0,25 = 0,025 düşer. Potansiyel: ortak yol 1,1 · H(3) = 1,1 · 11/6 ≈ 2,017, oyuncu 4'ün yolu 1/4 · H(1) = 0,25; toplam ≈ 2,267. Eski potansiyel ≈ 2,292; düşüş ≈ 0,025 ✓.
9.5.4PoS ≤ Hn: optimumdan bir dengeye yürümek
n oyunculu her adil maliyet paylaşımlı ağ tasarımı oyununda PoS ≤ Hn'dir ve sınır sıkıdır.
1. Optimumdan başla. sOPT profilinde en iyi tepki dinamiği çalıştırılır: her adımda bir oyuncu kendisi için daha ucuz bir yola geçer.
2. Φ her hamlede azalır. Potansiyel oyununda sapan oyuncunun maliyet değişimi Φ'nin değişimine eşittir; oyuncu kazanıyorsa Φ düşer. Φ her adımda kesin olarak düştüğü için aynı profile iki kez dönülemez. Profil sayısı sonlu olduğundan dinamik bir s profilinde durur. Durduğu yerde kimse kazançlı bir geçiş bulamaz; s bir Nash dengesidir ve Φ(s) ≤ Φ(sOPT)'dir.
3. Zinciri kur.
C(s) ≤ Φ(s) ≤ Φ(sOPT) ≤ Hn · C(sOPT)
Birinci eşitsizlik Teorem 9.5'in sol yanıdır (potansiyel maliyetten küçük değil). İkincisi 2. adımdır. Üçüncüsü yine Teorem 9.5'in sağ yanıdır (potansiyel maliyetin en çok Hn katı). Demek ki en az bir dengenin maliyeti optimumun en çok Hn katıdır: PoS ≤ Hn. Sıkılık Hn örneğinden gelir. □
Hn örneğinde zincirin sayıları şöyledir: C(s) ≈ 2,08, Φ(s) ≈ 2,08, Φ(OPT) ≈ 2,29, H4 · C(OPT) = 25/12 · 1,1 ≈ 2,29. Yani 2,08 ≤ 2,08 ≤ 2,29 ≤ 2,29. Birinci ve üçüncü eşitsizlikler eşitlikle sağlanır; örneğin sınırı neredeyse tam kullanması bu yüzdendir.
İspatın gücü, hangi dengeye varılacağını bilmeye gerek duymamasıdır. Yalnız “potansiyel düşer” bilgisi yeter. Aynı yöntem PoA için çalışmaz: en kötü denge, optimumdan dinamikle ulaşılamayan bir yerde olabilir ve potansiyeli optimumunkinden büyük olabilir. Nitekim bu oyunlarda PoA n'ye kadar çıkabilirken PoS en çok Hn ≈ ln n'dir. 100 oyuncuda bu fark 100'e karşı yaklaşık 5,19'dur.
9.5.5İstikrarın Bedeli'nde sık hatalar
- Optimumun hep denge olduğunu sanmak: A/B örneğinde optimum bir dengeydi; Hn örneğinde değildir. PoS = 1 ancak optimum bir dengeyse olur.
- Adil paylaşımı tıkanıklıkla karıştırmak: Burada kalabalık kişi başı bedeli düşürür. Tıkanıklık oyununda kalabalık gecikmeyi artırır. Sapma hesabında payda ne + 1 (yeni gelen dahil) olmalıdır.
- Potansiyeli maliyetle karıştırmak: Φ bir hesap aracıdır, kimsenin ödediği bir bedel değildir. Toplam maliyet her bağlantı için ce, potansiyel ce · H(ne) katkı verir.
- PoS sınırını PoA'ya taşımak: Hn yalnız en iyi denge için bir garantidir. En kötü denge optimumun n katı olabilir.
9.6PoA'yı azaltma
PoA'yı ölçmek ilk adımdır; ikinci adım onu küçültmektir. Kayıp dışsallıktan geliyorsa çözüm, dışsallığı oyuncunun kendi hesabına sokmaktır. Bu kesimde en doğrudan araç olan tıkanıklık ücreti iki ağda adım adım incelenir, ardından diğer araçlar özetlenir.
9.6.1Tıkanıklık ücreti dengeyi kaydırır
9.2.6'daki iki yollu ağ ele alınır: ℓ1 = 5 + x1/100, ℓ2 = 20 + x2/200, toplam 3.000 araç. Ücret yokken denge x1 = 2.000, toplam 75.000 araç·dk; optimum x1 = 1.500, toplam 71.250 araç·dk'dır.
Şimdi Yol 1'e bir tıkanıklık ücreti (congestion toll) τ konur. Hesabı basit tutmak için ücret, sürücü için dakika cinsinden bir ek maliyet sayılır: τ = 2,5, sürücünün gözünde 2,5 dakikalık ek gecikmeyle aynıdır. Sürücü artık Yol 1'de ℓ1 + τ görür ve dengede ℓ1 + τ = ℓ2 olur:
- 5 + τ + x1/100 = 20 + (3.000 − x1)/200.
- İki yan 200 ile çarpılır: 1.000 + 200τ + 2x1 = 7.000 − x1.
- 3x1 = 6.000 − 200τ ⇒ x1 = (6.000 − 200τ)/3.
| τ | x1 | x2 | Toplam gecikme (araç·dk) |
|---|---|---|---|
| 0 | 2.000 | 1.000 | 75.000 |
| 2,5 | ≈ 1.833 | ≈ 1.167 | ≈ 72.917 |
| 5 | ≈ 1.667 | ≈ 1.333 | ≈ 71.667 |
| 7,5 | 1.500 | 1.500 | 71.250 (optimum) |
| 10 | ≈ 1.333 | ≈ 1.667 | ≈ 71.667 |
Şekil 9.17'de ücretin etkisi iki biçimde görülür. Soldaki grafikte Yol 1'in eğrisi τ kadar yukarı kayar ve iki eğrinin kesişimi (denge) sola gider: daha az sürücü Yol 1'i seçer. Sağdaki çubuklar toplam gecikmeyi gösterir. Ücret arttıkça bazı sürücüler geniş Yol 2'ye geçer ve toplam düşer.
τ = 7,5'te optimum bir denge olur. x1 = (6.000 − 1.500)/3 = 1.500, tam optimumun dağılımıdır. 7,5 sayısı rastgele değildir. Marjinal maliyet ücreti her yola o yoldaki dışsallığı koyar: Yol 1'e x1 · ℓ1′ = 1.500 · 1/100 = 15 dk, Yol 2'ye x2 · ℓ2′ = 1.500 · 1/200 = 7,5 dk. Bu iki ücret konursa sürücü Yol 1'de 20 + 15 = 35, Yol 2'de 27,5 + 7,5 = 35 görür; eşittir, yani optimum dengedir. Ama sürücünün kararını yalnız iki yol arasındaki fark etkiler: 15 − 7,5 = 7,5. Bu yüzden yalnız Yol 1'e konan 7,5 dk'lık ücret aynı sonucu verir.
Ücret bir transferdir. Ücret sürücüden toplanıp başka bir yere (belediyeye, yol yapımına) gider; kimsenin süresini uzatmaz. Bu yüzden tablodaki toplam gecikmeye eklenmez. Ama sürücülerin gözünden durum farklıdır: τ = 7,5'te Yol 1'deki 1.500 sürücü toplam 1.500 · 7,5 = 11.250 dk'lık ücret öder. Sürücülerin “gecikme + ücret” toplamı 71.250 + 11.250 = 82.500'dür ve ücretsiz dengedeki 75.000'den büyüktür. Toplanan gelir sürücülere geri dağıtılmazsa sürücüler bir bütün olarak kaybeder; kazanç topluma (gelirin kullanıldığı yere) geçer.
Fazla ücret aşırıya kaçar. τ = 10'da x1 ≈ 1.333'e iner ve Yol 2 gereğinden fazla dolar; toplam gecikme yine yaklaşık 71.667'ye çıkar. Doğru ücret, dışsallığa eşit olandır; “ne kadar çok o kadar iyi” değildir.
9.6.2Marjinal maliyet ücreti Pigou'yu düzeltir
Pigou ağında amaç, optimumu (x = 1/2) bir denge yapmaktır. Ücretsizken herkes üst yoldadır ve toplam gecikme 1'dir.
Marjinal maliyet ücreti (marginal-cost toll), her kenara o kenarın dışsallığı kadar ücret koyar: τe = fe · ℓe′(fe). Sürücünün gördüğü maliyet ℓe(fe) + τe olur; bu, kenarın marjinal maliyetidir.
- Ücretleri hesapla. Üst yolda ℓ(x) = x, ℓ′ = 1; ücret τ = x · 1 = x. Alt yolda ℓ = 1 sabittir, ℓ′ = 0; ücret yoktur.
- Sürücünün gördüğü. Üstte x + x = 2x, altta 1.
- Yeni denge. Gördükleri maliyetler eşitlenir: 2x = 1 ⇒ x = 1/2. Bencil sürücüler kendiliğinden optimum dağılımı seçer. Gecikme toplamı 3/4'tür.
- Toplanan ücret. Üstteki 1/2 trafik, her biri τ = 1/2 öder: 1/2 · 1/2 = 1/4.
- Sürücülerin bedeli. Gecikme + ücret = 3/4 + 1/4 = 1. Sürücüler ücretsiz dengedekiyle (1) aynı toplamı öder; gelir geri dağıtılmazsa sürücüler kazanmaz, kazanç topluma geçer.
Sabit ücret de yeter. Ücretin trafikle değişmesi gerekmez. Üst yola sabit τ = 1/2 konursa sürücü üstte x + 1/2 görür; denge x + 1/2 = 1 ⇒ x = 1/2. Sabit ücretin doğru değeri, optimumdaki marjinal maliyet ücretinin değeridir. Bu sonuç genelleşir:
Bölünebilir trafikli bir ağda gecikmeler artan ve türevlenebilir, her kenarın toplam maliyeti x · ℓe(x) de konveks (çukur biçimli) ise (doğrusal ve xp gecikmeler böyledir), her kenara optimumdaki dışsallığı kadar ücret (τe = feOPT · ℓe′(feOPT)) konduğunda sistem optimumu bir Wardrop dengesi olur.
Optimumda trafik taşıyan bütün yolların marjinal maliyetleri eşittir ve kullanılmayan yolların marjinal maliyeti daha küçük değildir (9.2.5). Ücretler optimumdaki değerlerinde sabitlenince sürücünün optimumda bir kenarda gördüğü maliyet ℓe(feOPT) + feOPT · ℓe′(feOPT)'dir; bu tam olarak kenarın marjinal maliyetidir. Bir yolun gördüğü maliyet kenarlarının toplamı olduğundan, sürücülerin gördüğü yol maliyetleri optimumdaki marjinal yol maliyetleriyle aynıdır. Demek ki optimumda kullanılan bütün yollar sürücünün gözünde eşit ve en ucuzdur: Wardrop koşulu sağlanır. □
Ücretin adı da Pigou'dan gelir: dışsallığı fiyatlandıran vergiye Pigou vergisi denir. Uygulamada zorluk ücretin hesaplanmasında değil, dışsallığın ölçülmesindedir: gecikme fonksiyonlarını ve trafiği bilmek gerekir.
9.6.3PoA'yı azaltmanın diğer yolları
Ücret tek araç değildir. Literatürde ve uygulamada kullanılan başlıca araçlar şunlardır:
- Tıkanıklık fiyatlandırması
- Kullanıcıların başkalarına yüklediği dışsal maliyeti karara dahil eder. Londra (2003), Stockholm (2006'da deneme, 2007'den beri kalıcı) ve Singapur (1975'ten beri) şehir merkezlerine girişi ücretlendirir.
- Merkezi (Stackelberg) yönlendirme
- Trafiğin bir kısmını bir merkez yönlendirir, gerisi bencil seçer. Merkez önce hareket eder, bencil kullanıcılar onun seçimini görerek tepki verir; bu “önce lider, sonra izleyiciler” yapısı Stackelberg oyunlarından adını alır. Kontrol edilen pay arttıkça oran 1'e yaklaşır (Roughgarden, 2004).
- Kapasite planlama
- Roughgarden ve Tardos şunu da gösterdi: r birim trafiğin bencil dengesi, 2r birim trafiğin en iyi yönlendirilmesinden daha pahalı değildir. Sonuç doğrusal olmayanlar dahil her artan gecikme için geçerlidir. Başka bir okuyuşla, her bağlantıyı iki kat hızlandırmak koordinasyonun yerini tutar: kapasiteyi artırmak ücretin yerini tutabilir.
- Rota önerisi ve bilgi
- Navigasyon uygulamalarının önerileri dengeyi daha düşük toplam maliyete yönlendirebilir; ama uyum gönüllüdür. Öneri bir dengeyse (kimse sapmak istemiyorsa) uyum kendiliğinden olur.
- Mekanizma tasarımı
- Kuralları, iyi sonuç tek denge olacak biçimde kurmak. Örneğin A/B bağlantı oyununda B'nin kiralanmasını yasaklamak ya da A'ya katılana küçük bir indirim vermek kötü dengeyi ortadan kaldırır.
- Maliyeti hesaba katmak
- Müdahalenin bilgi, uygulama ve adalet maliyetleri, elde edilen verimlilik kazancıyla birlikte değerlendirilmelidir. %5'lik bir kaybı gidermek için kurulan ücret sistemi kendisi %5'ten pahalıysa anlamsızdır.
Kapasite sonucu Pigou ağında sınanabilir. 1 birim trafiğin dengesi 1'dir. 2 birim trafiğin optimumu için üst yoldaki miktar x (0 ≤ x ≤ 2) seçilir: C(x) = x · x + (2 − x) · 1, C′(x) = 2x − 1 = 0 ⇒ x = 1/2, C(1/2) = 1/4 + 3/2 = 7/4. 1 ≤ 7/4 ✓: bir birimlik bencil denge, iki birimin en iyi yönlendirilmesinden ucuzdur.
9.6.4Gerçek hayat ve tartışma
Trafik ağlarında ücretli şeritler, internette ağlar arası rota seçimi, enerji şebekesinde zamana bağlı tarifeler: üçünde de soru aynıdır. Bencil denge ne kadar kötü, hangi müdahale onu optimuma yaklaştırır? İnternette her ağ işletmecisi trafiği kendi maliyetine göre yönlendirir; bu, bencil yönlendirmenin büyük ölçekli bir örneğidir. Enerji şebekesinde tüketiciler elektriği en ucuz saatte kullanır; zamana bağlı tarife, şebekenin yoğun saatlerdeki dışsallığını fiyata yansıtır.
Bu bölümün kavramları birkaç tartışma sorusuyla pekişir:
- Bireysel çıkarlar neden her zaman sosyal optimuma ulaşmaz? Pigou örneğinde hangi dışsallık var? Pigou'da üst yola giren sürücü oradaki herkesi ℓ′ = 1 oranında yavaşlatır; bu ek gecikme (x · ℓ′ = x) onun hesabında yoktur. Optimumun kendisi de kararlı değildir: alttakiler üste geçmek ister.
- PoA'yı azaltmak için hangi teşvikler uygulanabilir? Hangisi daha adil? Ücret verimli ama gerileyici olabilir: aynı ücret düşük gelirli sürücüye daha ağır gelir. Bonus (alt yolu kullanana ödeme) aynı dağılımı sağlayabilir, ama bir bütçe gerektirir. Merkezi yönlendirme bazılarını uzun yola “zorlar”. Adalet tartışması, verimlilik kazancının kimin cebine gittiği sorusuna dayanır.
- Braess paradoksu günlük hayatta nerede görülebilir? Bir yolu kapatmak ne zaman mantıklıdır? Yeni bir bağlantının herkesi aynı darboğaza yönlendirdiği her ağda görülebilir. Seul'de Cheonggyecheon üzerindeki otoyolun 2003'te başlayan yıkımından sonra kent trafiğinin beklendiği kadar kötüleşmemesi sık anılan bir örnektir. Bir yolu kapatmak, dengeyi optimuma yaklaştırıyorsa mantıklıdır; bunu anlamak için denge ve optimum birlikte hesaplanmalıdır.
9.6.5Ücretlendirmede sık hatalar
- Ücreti toplam gecikmeye eklemek: Ücret bir transferdir; toplumun toplam gecikmesini değiştirmez. Sürücülerin “gecikme + ücret” toplamı ise ayrı bir sayıdır.
- “Ne kadar çok o kadar iyi” sanmak: τ = 10, τ = 7,5'ten kötüdür. Doğru ücret dışsallığa eşittir.
- Marjinal ücretlerin farkını unutmak: İki yollu ağda iki yolun ücretleri 15 ve 7,5'tir; tek yola konacak ücret farklarıdır (7,5).
- Toplanan geliri ücret sanmak: Pigou'da kişi başı ücret τ = x = 1/2'dir; 1/4 ise toplanan toplam gelirdir.
- Sabit gecikmeli yola ücret koymak: Alt yolda ℓ′ = 0'dır; orada dışsallık yoktur ve marjinal maliyet ücreti sıfırdır.
9.7Çözümlü problemler
Bu kesimdeki problemler bölümün bütün yöntemlerini bir arada kullanır: Pigou tipi ağlarda türevle optimum, yük dengelemede sapma denetimi, Braess ağında denge, Hn örneği, pürüzsüzlük ve kod izleme. Her çözüm ara adımlarıyla verilir.
9.7.1Örnek problemler
Problem. Pigou ağında üst yolun gecikmesi x2 olsun (alt yol 1). Denge maliyeti, optimum ve PoA nedir?
Çözüm. x2 ≤ 1 olduğundan üst yol hiç yavaş değildir; denge herkesin üstte olduğu durumdur ve maliyeti 1'dir. Optimum için C(x) = x · x2 + (1 − x) = x3 − x + 1, C′(x) = 3x2 − 1 = 0 ⇒ xOPT = 1/√3 ≈ 0,577. C(OPT) = 1 − 2/(3√3) ≈ 0,615. PoA ≈ 1/0,615 ≈ 1,626; Tablo 9.4'teki p = 2 satırıyla aynıdır.
Problem. İşler {3, 3, 2, 2, 2}, 2 özdeş makine. Optimum en büyük yük nedir? En büyük yükü 7 olan bir Nash dengesi var mıdır?
Çözüm. Toplam 12, optimum en az 6; {3, 3} | {2, 2, 2} bunu sağlar: OPT = 6. {3, 2, 2} | {3, 2} atamasında yükler 7 ve 5'tir. M1'deki 2'lik iş M2'ye geçerse 5 + 2 = 7 bekler; şimdiki 7'den küçük değil, kazanmaz. M1'deki 3'lük iş geçerse 8 bekler. M2'deki işler M1'e geçerse 9 ya da 10 bekler. Kimse kazanmaz: denge, oran 7/6.
Problem. Normalleştirilmiş Braess ağında (s→A: x, A→t: 1, s→B: 1, B→t: x, A→B: 0; 1 birim trafik) PoA nedir?
Çözüm. Denge: herkes zikzakta, 1 + 0 + 1 = 2; eski rotaya geçen de 2 bekler, kazanmaz. Optimum: zikzak kapalı, trafik yarı yarıya; her sürücü 1/2 + 1 = 3/2. PoA = 2 / (3/2) = 4/3.
Problem. Hn örneği n = 3 için kurulursa (ε küçük) PoS kaça yaklaşır?
Çözüm. Kendi yolları 1, 1/2, 1/3; ortak yol 1 + ε. Aynı çözülme zinciriyle tek denge herkesin kendi yolunda olduğu durumdur: H3 = 1 + 1/2 + 1/3 = 11/6 ≈ 1,83. Optimum 1 + ε olduğundan ε → 0 iken PoS → 11/6.
Problem. Üst yol 2x, alt yol 1 olan Pigou ağında PoA nedir ve optimumu denge yapan sabit ücret kaçtır?
Çözüm. Denge: 2x = 1 ⇒ x = 1/2; iki yolda da gecikme 1, C = 1. Optimum: C(x) = 2x2 + 1 − x, C′ = 4x − 1 = 0 ⇒ x = 1/4, C = 1/8 + 3/4 = 7/8. PoA = 8/7. Ücret: optimumda üstteki sürücü 2 · 1/4 = 1/2 bekler; 1/2 + τ = 1 ⇒ τ = 1/2. Marjinal maliyet ücreti de aynıdır: x · ℓ′ = 1/4 · 2 = 1/2.
9.7.2İzlemeler ve yeni konular
Problem. pigou_poa(3) kaç döndürür?
Çözüm. x = 4−1/3 ≈ 0,63; x4 ≈ 0,1575, 1 − x ≈ 0,37; C(OPT) ≈ 0,528. Fonksiyon 1/0,528 ≈ 1,896 döndürür; değer p = 2 (1,626) ile p = 4 (2,151) arasındadır.
Problem. Dört iş (4, 3, 3, 2) başta hepsi M1'de. Her adımda kârlı sapan ilk iş en az yüklü makineye geçer. Dinamik hangi en büyük yükte durur? Optimum kaçtır?
Çözüm. Yükler (12, 0). 4'lük iş M2'ye geçer (0 + 4 < 12): (8, 4). Sonra 3'lük iş geçer (4 + 3 = 7 < 8): (5, 7). Artık M2'deki 4'lük iş M1'e geçse 9, 3'lük iş geçse 8 bekler (ikisi de 7'den büyük); M1'dekiler M2'ye geçse 10 ya da 9 bekler. Dinamik en büyük yük 7'de durur. Optimum {4, 2} | {3, 3} = 6 | 6; oran 7/6.
Problem. PoA ≠ PoS oyununda A 3 TL, B 8 TL olsun (4 oyuncu). Dengeler hangileri, PoA ve PoS kaçtır?
Çözüm. Hepsi A: kişi başı 0,75; B'ye geçen 8 öder, denge. Hepsi B: kişi başı 2; A'ya geçen 3 öder, denge. Karışık profillerde B'dekiler A'ya geçerek kazanır (örneğin 1 A, 3 B'de B'deki oyuncu 8/3 öder, A'ya geçerse 1,5). PoA = 8/3, PoS = 1.
Problem. poa_pos([3, 2, 2, 1], 2) ne döndürür?
Çözüm. Toplam 8; {3, 1} | {2, 2} = 4 | 4 optimumdur. {3, 2} | {2, 1} (yükler 5 ve 3) de bir dengedir: 3'lük iş geçerse 6, 2'lik iş geçerse 3 + 2 = 5 (eşit, kazanmaz); M2'dekiler geçerse 7 ya da 6. Dengelerin en büyük yükleri 4 ve 5: fonksiyon (1.25, 1.0) döndürür, yani PoA = 5/4, PoS = 1.
Pürüzsüzlükle ilgili iki alıştırma, (1, ½)-pürüzsüz oyunun sınırı (2) ve (y, z) = (2, 3) için anahtar eşitsizliğin denetimi (8 ≤ 29/3), Örnek 9.8 ve Örnek 9.9'da çözülmüştür.
9.8Özet
- Anarşinin Bedeli en kötü Nash dengesinin maliyetini sosyal optimumun maliyetine böler: PoA = maxs∈NE C(s) / C(OPT). İstikrarın Bedeli aynı oranı en iyi denge için yazar. Her zaman 1 ≤ PoS ≤ PoA; tek denge varsa ikisi eşittir. Fayda problemlerinde oran ters çevrilir.
- PoA, hangi dengeye varılacağını bilmeden verilen kötümser bir garantidir. Yaklaşım oranının oyun kuramındaki karşılığıdır: yaklaşım oranında hesaplama gücü, PoA'da koordinasyon eksiktir.
- Pigou ağında (üst yol x, alt yol 1) denge herkesi üste yollar ve maliyeti 1'dir; optimum trafiği yarıya böler ve maliyeti 3/4'tür: PoA = 4/3.
- Dengede yolların gecikmeleri, optimumda marjinal maliyetleri (ℓ + f · ℓ′) eşitlenir. Aradaki f · ℓ′ terimi, bir sürücünün ötekilere yüklediği dışsallıktır.
- Gecikme xp gibi dikleşince PoA sınırsız büyür (p = 16'da ≈ 4,73). Doğrusal gecikmede her ağda ve her talepte PoA ≤ 4/3'tür (Roughgarden–Tardos); ispat denge koşulu, kenar eşitsizliği ve toplamadan oluşur; sınır Pigou'da sıkıdır.
- (λ, μ)-pürüzsüz oyunlarda PoA ≤ λ/(1 − μ); bölünebilir doğrusal trafik (1, ¼) ile 4/3, atomik doğrusal tıkanıklık oyunları (5/3, 1/3) ile 5/2 verir. Sınır karışık dengelere de taşınır (sağlam PoA).
- Braess ağında (4.000 araç) denge 320.000, aynı ağın optimumu 258.750 araç·dk'dır: PoA ≈ 1,237. 80/65 Braess kaybıdır, PoA değildir.
- Yük dengeleme oyununda saf denge her zaman vardır. {2, 2, 1, 1} örneğinde PoA = 4/3, PoS = 1; m özdeş makinede sıkı değer 2 − 2/(m + 1)'dir. Farklı hızlı makinelerde ve karışık dengelerde oran m ile yavaşça büyür. PoA'nın değeri ölçülen sosyal maliyete bağlıdır.
- Adil maliyet paylaşımında PoA n'ye kadar çıkabilir, ama Rosenthal potansiyeli Φ = Σ ce H(ne) sayesinde PoS ≤ Hn ≈ ln n'dir; Hn örneği sınırın sıkı olduğunu gösterir.
- Marjinal maliyet ücreti τe = fe · ℓe′(fe) optimumu denge yapar (Pigou'da τ = x ya da sabit 1/2; iki yollu ağda Yol 1'e 7,5 dk). Ücret bir transferdir; fazla ücret yeniden kayıp yaratır. Stackelberg yönlendirme, kapasite artırımı, bilgi ve mekanizma tasarımı diğer araçlardır.
| Örnek | Denge | Optimum | Oran |
|---|---|---|---|
| İki yol, 3.000 araç | 75.000 | 71.250 | PoA ≈ 1,053 |
| Pigou (x ve 1) | 1 | 3/4 | PoA = 4/3 |
| Doğrusal gecikme, her ağ | — | — | PoA ≤ 4/3 (sıkı) |
| Pigou, ℓ = xp | 1 | → 0 | PoA → ∞ |
| Atomik tıkanıklık, doğrusal | — | — | PoA ≤ 5/2 (sıkı) |
| Braess, 4.000 araç | 320.000 | 258.750 | PoA ≈ 1,237 |
| Yük dengeleme {2, 2, 1, 1} | 4 (en kötü) | 3 | PoA = 4/3, PoS = 1 |
| Adil paylaşım, Hn örneği | 25/12 | 1,1 | PoS ≈ 1,894 (≤ Hn) |
| Pigou + ücret τ = x | 3/4 | 3/4 | 1 |
9.9Kavram listesi
Terimlerin İngilizce karşılıkları ve öteki bölümlerdeki kullanımları terim sözlüğünde bulunur.
- Anarşinin Bedeli Price of Anarchy (PoA)
- İstikrarın Bedeli Price of Stability (PoS)
- koordinasyon oranı coordination ratio
- en kötü denge worst-case equilibrium
- sosyal optimum social optimum
- sosyal maliyet social cost
- verimlilik kaybı efficiency loss
- yaklaşım oranı approximation ratio
- sıkı sınır tight bound
- Pigou ağı Pigou network
- gecikme fonksiyonu latency function
- bölünebilir (atomik olmayan) nonatomic
- atomik atomic
- Wardrop dengesi Wardrop equilibrium
- sistem optimumu system optimum
- bencil yönlendirme selfish routing
- marjinal maliyet marginal cost
- dışsallık externality
- tıkanıklık oyunu congestion game
- pürüzsüzlük, (λ, μ)-pürüzsüz oyun smoothness
- sağlam PoA robust Price of Anarchy
- Braess paradoksu Braess's paradox
- yük dengeleme load balancing
- en büyük yük makespan
- ilişkili (farklı hızlı) makineler related machines
- en iyi tepki dinamiği best-response dynamics
- adil maliyet paylaşımı fair cost sharing
- ağ tasarımı network design
- harmonik sayı Hn harmonic number
- potansiyel oyun potential game
- Rosenthal potansiyeli Rosenthal potential
- tıkanıklık ücreti congestion toll
- marjinal maliyet ücreti marginal-cost toll
- tıkanıklık fiyatlandırması congestion pricing
- Pigou vergisi Pigouvian tax
- Stackelberg yönlendirme Stackelberg routing
- kapasite artırımı capacity augmentation
9.10Kendini Dene
1 birim trafik iki paralel yol arasında bölünür: Yol 1'in gecikmesi ℓ1(x) = x, Yol 2'ninki ℓ2(x) = x + 1/2. Wardrop dengesi, sosyal optimum ve PoA nedir?
Cevap
Denge: gecikmeler eşit, x1 = (1 − x1) + 1/2 ⇒ x1 = 3/4, x2 = 1/4; herkes 3/4 bekler, C = 3/4. Optimum: marjinal maliyetler eşit, 2x1 = 2x2 + 1/2 ve x1 + x2 = 1 ⇒ x1 = 5/8, x2 = 3/8. C = (5/8)2 + (3/8)(3/8 + 1/2) = 25/64 + 21/64 = 23/32. PoA = (3/4)/(23/32) = 24/23 ≈ 1,043, 4/3'ün çok altında.
Pigou ağında (üst yol x, alt yol 1; burada x üst yoldaki trafik miktarıdır) toplam trafik r = 1/2 ve r = 2 olsun. Her iki durumda PoA nedir?
Cevap
r = 1/2: üst yolun gecikmesi en çok 1/2'dir, herkes üsttedir; C = 1/2 · 1/2 = 1/4. Optimum C(x) = x2 + (1/2 − x), türev 2x − 1 aralıkta hep ≤ 0 olduğundan en küçük değer x = 1/2'de: yine 1/4. PoA = 1; az trafikte dışsallık önemsizdir. r = 2: denge üst yolda 1 birim (gecikme 1), altta 1 birim; C = 1 + 1 = 2. Optimum C(x) = x2 + 2 − x, x = 1/2, C = 7/4. PoA = 8/7 ≈ 1,143.
Kenar eşitsizliği ℓ(f) · fOPT ≤ ℓ(fOPT) · fOPT + ¼ · ℓ(f) · f için ℓ(x) = x ve f = 1 alınsın. fOPT = 1/4 için iki yan nedir? Hangi fOPT değerinde eşitlik olur?
Cevap
Sol 1 · 1/4 = 1/4; sağ 1/16 + 1/4 = 5/16. 1/4 ≤ 5/16 ✓; fark (1/4 − 1/2)2 = 1/16. Fark her zaman (fOPT − f/2)2'dir; eşitlik yalnız fOPT = f/2 = 1/2'de olur. Pigou ağı tam bu noktayı kullanır.
Bir oyunun (2, 1/3)-pürüzsüz olduğu biliniyor. PoA için hangi sınır çıkar? Aynı oyun (1, 1)-pürüzsüz olsaydı bu bilgi işe yarar mıydı?
Cevap
PoA ≤ 2/(1 − 1/3) = 2/(2/3) = 3. (1, 1) tanımda izin verilen bir çift değildir (μ < 1 gerekir). İspatın 4. adımında (1 − μ) · C(s) ≤ λ · C(OPT) eşitsizliği 0 ≤ C(OPT)'ye döner; bu her zaman doğrudur ve hiçbir sınır vermez.
İşler {5, 4, 3, 2}, 2 özdeş makine, sosyal maliyet en büyük yük. Optimum nedir? {5, 4} | {3, 2} bir Nash dengesi midir? PoA ve PoS nedir?
Cevap
Toplam 14, en büyük yük en az 7; {5, 2} | {4, 3} = 7 | 7: OPT = 7. {5, 4} | {3, 2}'de yükler 9 ve 5. 5'lik iş geçerse 5 + 5 = 10, 4'lük iş geçerse 5 + 4 = 9 (eşit, kazanmaz) bekler; M2'dekiler geçerse 12 ya da 11. Denge ✓, en büyük yük 9. 16 atamanın taranması dengelerin en büyük yüklerinin 7, 8 ve 9 olduğunu gösterir: PoA = 9/7 ≈ 1,286 ≤ 4/3, PoS = 1 (7 | 7 de denge).
3 oyuncu s'den t'ye bağlantı kiralar: A 1 TL, B 2 TL; bedeli kullananlar eşit böler. Saf dengeler hangileridir? PoA ve PoS kaçtır?
Cevap
Hepsi A: kişi başı 1/3; B'ye geçen 2 öder, denge. Hepsi B: kişi başı 2/3; A'ya geçen 1 öder (1 > 2/3), denge. 1 A, 2 B: B'deki 1 öder, A'ya geçerse 1/2; kaçar. 2 A, 1 B: B'deki 2 öder, A'ya geçerse 1/3; kaçar. Dengeler “hepsi A” (toplam 1 = OPT) ve “hepsi B” (toplam 2): PoA = 2, PoS = 1.
Hn örneği iki oyuncuyla kurulur: kendi yolları 1 ve 1/2, ortak yol 1,2 (ε = 0,2). Optimum, tek denge ve PoS nedir? Φ(OPT) ile Φ(denge) nasıl ilişkilidir?
Cevap
Optimum: ikisi ortakta, toplam 1,2 (diğer seçenekler 1,5, 1,7 ve 2,2). Optimumdan: oyuncu 2 ortakta 0,6 öder, kendi yolu 0,5 < 0,6, ayrılır; oyuncu 1 ortak yolu tek başına 1,2'ye öder, kendi yolu 1 < 1,2, ayrılır. Denge: herkes kendi yolunda, C = 1,5. PoS = 1,5/1,2 = 1,25 ≤ H2 = 1,5. Potansiyel: Φ(OPT) = 1,2 · H(2) = 1,8, Φ(denge) = 1 + 1/2 = 1,5; dinamik boyunca potansiyel 1,8'den 1,5'e düşmüştür.
2.000 araç iki yol arasında bölünür: ℓ1 = 10 + x1/100, ℓ2 = 15 + x2/100 (dk). Denge ve optimum toplam gecikmesi nedir? Yol 1'e hangi sabit ücret optimumu denge yapar?
Cevap
Denge: 10 + x1/100 = 15 + (2.000 − x1)/100 ⇒ x1 = 1.250, herkes 22,5 dk; toplam 45.000 araç·dk. Optimum: 10 + x1/50 = 15 + x2/50 ⇒ x1 − x2 = 250, x1 = 1.125, x2 = 875; gecikmeler 21,25 ve 23,75; toplam 1.125 · 21,25 + 875 · 23,75 = 44.687,5. PoA ≈ 1,007. Ücret: 21,25 + τ = 23,75 ⇒ τ = 2,5 dk; marjinal ücretlerin farkıyla aynıdır (11,25 − 8,75 = 2,5).
9.11İleri okuma
- T. Roughgarden, Twenty Lectures on Algorithmic Game Theory (2016), Ders 11–15: Pigou ve Braess örneklerinden pürüzsüzlüğe ve ağ tasarımında Hn sınırına kadar bu bölümün bütün konularını kısa ve açık derslerle anlatır.
- N. Nisan, T. Roughgarden, É. Tardos, V. Vazirani (ed.), Algorithmic Game Theory (2007), Bölüm 17–20: yük dengeleme, bencil yönlendirme, ağ oluşturma ve İstikrarın Bedeli için kapsamlı başvuru bölümleridir.
- D. Easley ve J. Kleinberg, Networks, Crowds, and Markets (2010), Bölüm 8: trafikte denge ve Braess paradoksunu matematik bilgisi az olan okur için örneklerle anlatır.
- A. R. Karlin ve Y. Peres, Game Theory, Alive (2017), Bölüm 8: Anarşinin Bedeli'ni potansiyel oyunlar ve tıkanıklık oyunlarıyla birlikte öğrenci düzeyinde ispatlarla verir.
9.12Kaynaklar
- E. Anshelevich vd., “The Price of Stability for Network Design with Fair Cost Allocation”, IEEE FOCS, 2004.
- B. Awerbuch, Y. Azar, A. Epstein, “The Price of Routing Unsplittable Flow”, ACM STOC, 2005.
- D. Braess, “Über ein Paradoxon aus der Verkehrsplanung”, Unternehmensforschung 12, 258–268, 1968.
- G. Christodoulou, E. Koutsoupias, “The Price of Anarchy of Finite Congestion Games”, ACM STOC, 2005.
- A. Czumaj, B. Vöcking, “Tight Bounds for Worst-Case Equilibria”, ACM-SIAM SODA, 2002.
- D. Easley, J. Kleinberg, Networks, Crowds, and Markets, Cambridge, 2010 (Bölüm 8: trafik ve Braess).
- G. Finn, E. Horowitz, “A Linear Time Approximation Algorithm for Multiprocessor Scheduling”, BIT 19, 1979.
- R. L. Graham, “Bounds for Certain Multiprocessing Anomalies”, Bell System Technical Journal 45(9), 1966.
- A. R. Karlin, Y. Peres, Game Theory, Alive, AMS, 2017 (Bölüm 8: Anarşinin Bedeli).
- E. Koutsoupias, M. Mavronicolas, P. Spirakis, “Approximate Equilibria and Ball Fusion”, Theory of Computing Systems 36(6), 2003.
- E. Koutsoupias, C. Papadimitriou, “Worst-case Equilibria”, STACS, 1999.
- N. Nisan, T. Roughgarden, É. Tardos, V. Vazirani (ed.), Algorithmic Game Theory, Cambridge University Press, 2007 (Bölüm 17–20).
- C. Papadimitriou, “Algorithms, Games, and the Internet”, ACM STOC, 2001.
- A. C. Pigou, The Economics of Welfare, Macmillan, 1920.
- T. Roughgarden, “The Price of Anarchy Is Independent of the Network Topology”, Journal of Computer and System Sciences, 2003.
- T. Roughgarden, “Stackelberg Scheduling Strategies”, SIAM Journal on Computing 33(2), 2004.
- T. Roughgarden, “Intrinsic Robustness of the Price of Anarchy”, ACM STOC, 2009.
- T. Roughgarden, Twenty Lectures on Algorithmic Game Theory, Cambridge University Press, 2016 (Ders 11–15).
- T. Roughgarden, É. Tardos, “How Bad Is Selfish Routing?”, Journal of the ACM, 2002.
- J. G. Wardrop, “Some Theoretical Aspects of Road Traffic Research”, Proceedings of the Institution of Civil Engineers 1(3), 325–362, 1952.
Ders sayfası: Roughgarden CS364A (Stanford, 2013), Ders 11–15 notları · © Sercan Külcü. Tüm hakları saklıdır.