Bölüm 9: Anarşinin Bedeli

Algoritmik Oyun Kuramı
PoA ve PoSPigou ağı4/3 sınırıPürüzsüzlükBraess ağında PoAYük dengelemeİstikrarın BedeliTıkanıklık ücreti
Sercan KÜLCÜ · Giresun Üniversitesi · Bilgisayar Mühendisliği

Temel Kavramlar

Oyunla Başlangıç: Yük Dengeleme Oyunu

Oyunun kuralı

İşler sırayla gelir ve A, B, C sunucularından birine yerleşir; bir işin bitiş süresi, sunucunun toplam yükünün sunucu hızına bölümüdür.

Merak sorusu
  • Her iş kendi bitiş süresini en aza indirirse sistemin toplam maliyeti de en küçük olur mu?
  • Bencil işlerin dengesi en iyi atamadan en çok ne kadar kötü olabilir?

Yük Dengeleme oyunu →

A (hız 2)süre 4 / 2 = 2B (hız 1)süre 2 / 1 = 2C (hız 1)süre 1 / 1 = 1yeni iş: A, B, C?Bitiş süresi = sunucunun toplam yükü ÷ hızı

Temel Kavramlar

Öğ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.

Temel Kavramlar

Anarş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.
  • Maliyet problemlerinde sosyal optimum toplam maliyeti en aza indirir.
  • Trafik ağında kullanıcılar kendi yolculuk sürelerini azaltmaya çalışırken toplam gecikme artabilir.
  • Kavramı Koutsoupias ve Papadimitriou (1999) “koordinasyon oranı” adıyla tanımladı; “anarşinin bedeli” adını Papadimitriou (2001) verdi: merkezî bir “diktatör” yerine herkesin kendi başına karar vermesinin (anarşi) bedeli.
Örnek: iki yollu ağda Wardrop dengesi 75.000, sistem optimumu 71.250 araç·dk (oran 75.000 / 71.250 ≈ 1,053); Braess ağında yeni yol süreyi 65'ten 80 dk'ya çıkardı. Anarşinin Bedeli bu farkları tek bir sayıyla ölçer ve sınırlar.

Temel Kavramlar

Nash Dengesi ve Sosyal Optimum

Nash dengesi (bireysel)

  • Hiçbir oyuncu tek taraflı strateji değiştirerek kendi sonucunu iyileştiremez.
  • Bireysel teşvikleri temsil eder.
  • Birden fazla olabilir (iyi ve kötü dengeler).

Sosyal optimum (sistem)

  • Toplam maliyeti en aza indirir veya sosyal refahı en yükseğe çıkarır.
  • Sistemin ortak hedefini temsil eder.
  • Çoğu zaman bir denge değildir: birileri sapmak ister.
Neden ayrışırlar? Bireysel rasyonellik (herkes kendi faydasına bakar), dışsallıklar (başkasına yüklenen maliyet hesaba katılmaz) ve bilgi eksikliği. Bu iki sonuç arasındaki oran Anarşinin Bedeli ile ölçülür.

Temel Kavramlar

Tanımlar: PoA ve PoS

Anarşinin Bedeli
PoA = maxs ∈ NE C(s) / C(OPT)
en kötü denge: kötümser garanti
İstikrarın Bedeli (Price of Stability)
PoS = mins ∈ NE C(s) / C(OPT)
en iyi denge: iyimser senaryo

NE: oyunun Nash dengeleri; C(s): s durumundaki toplam maliyet; OPT: toplam maliyeti en küçük durum (sosyal optimum). PoA = en kötü dengenin maliyeti ÷ optimumun maliyeti; PoS = en iyi dengenin maliyeti ÷ optimumun maliyeti.

OPTsosyal optimumen iyi NE→ PoSen kötü NE→ PoAmaliyet →
  • Her zaman 1 ≤ PoS ≤ PoA. Tek denge varsa ikisi eşittir.
  • Fayda (refah) problemlerinde oran ters çevrilir: C(OPT) yerine SW(OPT) / SW(denge) (SW: sosyal refah); böylece büyük değer yine daha kötü verimlilik demektir.

Temel Kavramlar

Verimlilik Ölçütleri ve Okuma

  • Toplam maliyet: tüm kullanıcıların gecikme veya kaynak kullanım maliyetlerinin toplamı.
  • 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.
  • Oran büyüdükçe stratejik davranışın oluşturduğu kayıp artar.
PoAAnlamıÖrnek
1kayıp yokBraess, yeni yol öncesi
4/3%33 fazla maliyetPigou, doğrusal sınır
2 − 2/(m+1)< 2 katyük dengeleme
sınırsızgaranti yokdik gecikme (xp)
Neden en kötü durum? PoA, oyuncuların hangi dengeye gideceğini bilmeden verilebilecek bir garantidir: “Ne olursa olsun kayıp en fazla bu kadar.” Algoritmalardaki yaklaşım oranı fikrinin oyun kuramındaki karşılığıdır.

Temel Kavramlar

İki Kötü Durum Oranı: Neyin Eksikliği?

OranOptimuma ulaşmayı engelleyenPay / payda
Yaklaşım oranıhesaplama gücü: polinom zamanda çözülemeyen (NP-zor) problemhızlı bir algoritmanın bulduğu çözüm ÷ optimum
Anarşinin Bedelikoordinasyon: merkezî otorite yok, herkes kendi çıkarına bakaren kötü denge / optimum
Aynı problem, iki kayıp

Özdeş m makinede en büyük yük: Graham'ın açgözlü liste algoritması en çok 2 − 1/m kat kötü; bencil işlerin saf dengesi en çok 2 − 2/(m+1) kat. m = 2 için 3/2 ve 4/3.

Analizin sınırları

Gerçek oyuncular yalnız bencil değildir: güven, sosyal normlar, itibar ve tekrarlanan etkileşim işbirliğini artırabilir. PoA bu yüzden kötümser bir garantidir, tahmin değil.

Pigou Ağı

Adım Adım: Pigou Ağında Anarşinin Bedeli

stℓ(x) = xℓ(x) = 11 birim trafik0,50,75100,250,50,751x (üst yoldaki pay)toplam maliyet C(x)

Kurulum (Pigou, 1920): 1 birim trafik, çok sayıda küçük sürücü. Üst yol: gecikme x (üstteki pay); alt yol: her zaman 1.

stℓ(x) = xℓ(x) = 1üst: 1alt: 00,50,75100,250,50,751x (üst yoldaki pay)toplam maliyet C(x)denge: 1

Denge: üst yol hiçbir zaman alttan yavaş değil (x ≤ 1) → herkes üste geçer. x = 1, herkes 1 dk: C(denge) = 1.

stℓ(x) = xℓ(x) = 1üst: 1alt: 00,50,75100,250,50,751x (üst yoldaki pay)toplam maliyet C(x)C(x) = x² − x + 1denge: 1

Toplam maliyet: x pay üstte x dk, 1 − x pay altta 1 dk → C(x) = x·x + (1 − x)·1 = x² − x + 1.

stℓ(x) = xℓ(x) = 1üst: 0,5alt: 0,50,50,75100,250,50,751x (üst yoldaki pay)toplam maliyet C(x)C(x) = x² − x + 1denge: 1optimum: 3/4

En küçük değer: C′(x) = 2x − 1 = 0 → x = 1/2. Trafiğin yarısı “feda edilip” alta gönderilir.

stℓ(x) = xℓ(x) = 1üst: 0,5alt: 0,50,50,75100,250,50,751x (üst yoldaki pay)toplam maliyet C(x)C(x) = x² − x + 1denge: 1optimum: 3/4

C(1/2) = 1/4 + 1/2 = 3/4. Üsttekiler 1/2 dk, alttakiler 1 dk; alttakiler üste geçmek ister → optimum denge değil.

stℓ(x) = xℓ(x) = 1üst: 1alt: 00,50,75100,250,50,751x (üst yoldaki pay)toplam maliyet C(x)C(x) = x² − x + 1denge: 1optimum: 3/4

PoA = C(denge) / C(optimum) = 1 / (3/4) = 4/3 ≈ 1,33: bencil yönlendirme %33 daha fazla toplam gecikme üretir.

Pigou Ağı

Neden Farklı? Özel ve Marjinal Maliyet

00,511,5200,51x (üst yoldaki pay)dkdengeoptimum2x (marjinal)x (özel)alt yol: 1
  • Sürücü özel maliyetine bakar: x = 1 ile karşılaştırır → x = 1.
  • Toplum marjinal maliyete bakar: üst yolun toplam maliyeti x·x, türevi 2x; 2x = 1 → x = 1/2.
  • Aradaki fark x·ℓ′(x): bir sürücünün diğerlerine yüklediği gecikme (dışsallık).
Genel ilke: dengede kullanılan yolların gecikmeleri eşitlenir. Optimumda ise “kendi gecikmem + benim yüzümden ötekilere eklenen gecikme” eşitlenir. Bir yolda f araç varsa ve gecikme ℓ(f) ise eklenen gecikme f·ℓ′(f)'dir (ℓ′: gecikmenin türevi). Bu fark, tıkanıklık ücretinin dayanağıdır.

Doğrusal Gecikme ve Braess

Gecikme Dikleşince PoA Büyür

00,5100,51xℓ(x)xx¹⁶
p (ℓ = xp)xOPTC(OPT)PoA
10,50,751,333
20,5770,6151,626
40,6690,4652,151
80,760,3253,081
160,8380,2124,727
Denge her durumda herkesi üst yola yollar (maliyet 1). Gecikme dikleştikçe (p büyüdükçe) optimum iyileşir ve PoA yavaş ama sınırsız büyür: p = 16'da yaklaşık 4,7. Yani 4/3 evrensel değildir; doğrusal gecikmeye özgüdür.

Doğrusal Gecikme ve Braess

Pigou Ağında Gecikme Üssü ve PoA

Üst yol xp, alt yol 1  ·  C(x) = xp+1 + (1 − x)  ·  C′(x) = 0 ⇒ x* = (p + 1)−1/p  ·  PoA = 1 / C(x*)

Gecikme fonksiyonu dikleştikçe optimum iyileşir, denge maliyeti 1'de kalır ve PoA sınırsız büyür; doğrusal gecikmede (p = 1) PoA = 4/3'tür.

Doğrusal Gecikme ve Braess

Kod İzleme: pigou_poa(p)

00,5100,51x →C(x) = x2 + (1 − x)dengep = 1xOPT = 0,5

p = 1 (Pigou): C(x) = x² + 1 − x, C′(x) = 2x − 1 = 0 ⇒ xOPT = 2−1 = 0,5.

00,5100,51x →C(x) = x2 + (1 − x)dengep = 1xOPT = 0,5C(OPT) = 0,75PoA = 1 / C(OPT) = 1,333

C(OPT) = 0,25 + 0,5 = 0,75 ⇒ PoA = 4/3: Pigou'nun bilinen sonucu.

00,5100,51x →C(x) = x3 + (1 − x)dengep = 2xOPT = 0,577

p = 2: C(x) = x·x2 + (1 − x)·1, C′(x) = 3x2 − 1 = 0 ⇒ xOPT = 3−1/2 ≈ 0,577.

00,5100,51x →C(x) = x3 + (1 − x)dengep = 2xOPT = 0,577C(OPT) = 0,615PoA = 1 / C(OPT) = 1,626

Eğri dikleşti: optimum 0,615'e indi, denge yine 1 ⇒ PoA 1,626.

00,5100,51x →C(x) = x5 + (1 − x)dengep = 4xOPT = 0,669

p = 4: C(x) = x·x4 + (1 − x)·1, C′(x) = 5x4 − 1 = 0 ⇒ xOPT = 5−1/4 ≈ 0,669.

00,5100,51x →C(x) = x5 + (1 − x)dengep = 4xOPT = 0,669C(OPT) = 0,465PoA = 1 / C(OPT) = 2,151

p = 4: optimumda trafiğin %67'si üstte; PoA 2,151 > 2.

00,5100,51x →C(x) = x9 + (1 − x)dengep = 8xOPT = 0,76

p = 8: C(x) = x·x8 + (1 − x)·1, C′(x) = 9x8 − 1 = 0 ⇒ xOPT = 9−1/8 ≈ 0,76.

00,5100,51x →C(x) = x9 + (1 − x)dengep = 8xOPT = 0,76C(OPT) = 0,325PoA = 1 / C(OPT) = 3,081

PoA 3,081: artış yavaş ama sınırsız.

00,5100,51x →C(x) = x17 + (1 − x)dengep = 16xOPT = 0,838

p = 16: C(x) = x·x16 + (1 − x)·1, C′(x) = 17x16 − 1 = 0 ⇒ xOPT = 17−1/16 ≈ 0,838.

00,5100,51x →C(x) = x17 + (1 − x)dengep = 16xOPT = 0,838C(OPT) = 0,212PoA = 1 / C(OPT) = 4,727

p = 16: PoA 4,727. 4/3 garantisi yalnız doğrusal gecikme içindir.

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))

Doğrusal Gecikme ve Braess

Doğrusal Gecikmede 4/3 Üst Sınırı

Teorem (Roughgarden–Tardos, 2002). Gecikmeler doğrusal (ℓe(x) = aex + be, a, b ≥ 0) ise her ağda, her talepte: C(denge) ≤ 4/3 · C(optimum).
Gösterim. fe: dengede e yolundaki trafik; feOPT: optimumdaki trafik. Toplam gecikme, her yolda “trafik × gecikme” toplamıdır: C(f) = Σ ℓe(fe)·fe.
1. Denge koşulu. Dengede herkes en kısa yolu kullanır. Gecikmeleri dondurup sürücüleri optimumdaki yollara taşısak kimse daha kısa yol bulamaz: Σ ℓe(fe)·fe ≤ Σ ℓe(fe)·feOPT.
Sol yan dengenin gerçek maliyeti C(f). Sağ yan bir düşünce deneyi: yollar dengedeki kadar yavaş, ama trafik optimumdaki gibi dağılmış. Geriye bu sağ yanı C(fOPT) ile sınırlamak kalıyor.

Doğrusal Gecikme ve Braess

4/3 Sınırı: Kenar Eşitsizliği ve Toplama

2. Kenar eşitsizliği. Her yol için: ℓe(fe)·feOPT ≤ ℓe(feOPT)·feOPT + ¼·ℓe(fe)·fe. Sözle: düşünce deneyindeki bedel, optimumun kendi bedelini en çok dengenin bedelinin dörtte biri kadar aşar.
Neden doğru? ℓ = ax + b yerine konur. b'li terimler: solda b·fOPT, sağda b·fOPT + ¼·b·f; sağ yan büyük. a'lı terimler: a·f·fOPT ≤ a·(fOPT)² + a·f²/4 gerekir. Her şey sağa toplanınca a·(fOPT − f/2)² ≥ 0 çıkar: bir karenin negatif olmaması.
Örnek (Pigou, ℓ = x yolu): f = 1, fOPT = ½. Sol: 1·½ = ½. Sağ: ½·½ + ¼·1·1 = ½. İki yan eşit.
3. Topla. 2. adımı tüm yollar için topla ve 1. adımla birleştir: C(f) ≤ C(fOPT) + ¼·C(f). ¼·C(f)'yi sola geçir: ¾·C(f) ≤ C(fOPT) → C(f) / C(fOPT) ≤ 4/3.
Pigou'da eşitlik olur: sınır sıkıdır. Üstelik en kötü örnek her zaman Pigou gibi iki bağlantılıdır (Roughgarden, 2003): ağın karmaşıklığı PoA'yı büyütmez.

Doğrusal Gecikme ve Braess

4/3 Sınırını Sınayalım

ÖrnekDengeOptimumBu örnekte gözlenenKuramsal üst sınır
Pigou (x ve 1)13/44/3 (sınıra eşit)4/3
Braess (4.000 araç)320.000258.75080 / 64,69 ≈ 1,2374/3
Braess, normalleştirilmiş (x, 1, 1, x, 0)23/24/3 (sınıra eşit)4/3
İki yol, 3.000 araç75.00071.2501,0534/3
20.000 rastgele doğrusal paralel ağ——en büyük 1,334/3
Yük Dengeleme Oyunu, Seviye 2 (toplam süre)1312,51,045/2 (atomik oyuncular)
Kuramsal üst sınır, bir sınıftaki (ör. doğrusal gecikmeli tüm ağlar) en kötü durumdur; belirli bir örnekte gözlenen oran çoğu zaman daha küçüktür. Betik 2–4 bağlantılı, rastgele a, b ve talep değerli 20.000 ağda dengeyi ve optimumu hesapladı: oran hiçbir örnekte 4/3'ü aşmadı, Pigou benzeri örneklerde 4/3'e yaklaştı.

Doğrusal Gecikme ve Braess

Tek Bir Reçete: Pürüzsüzlük (Smoothness)

Düşünce deneyi. s bir durum (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 maliyeti”dir.
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.
Tanım (Roughgarden, 2009). λ > 0 ve 0 ≤ μ < 1 iki sabit olsun. Her s ve sOPT için Σi Ci(siOPT, s−i) ≤ λ·C(sOPT) + μ·C(s) ise oyun (λ, μ)-pürüzsüzdür.
Sözle: deneme maliyetlerinin toplamı, optimumun maliyetinin λ katı ile s'nin maliyetinin μ katının toplamını aşmaz. λ ve μ küçüldükçe elde edilen sınır iyileşir.

Doğrusal Gecikme ve Braess

Pürüzsüzlükten PoA Sınırına: Dört Adım

1. Denge. s bir Nash dengesi: kimse tek başına sapmakla kazanmaz. Her i için Ci(s) ≤ Ci(siOPT, s−i).
2. Topla. Bu eşitsizlikleri tüm oyuncular için topla: C(s) ≤ Σi Ci(siOPT, s−i).
3. Pürüzsüzlüğü uygula. Sağ yan en çok λ·C(sOPT) + μ·C(s) olduğundan C(s) ≤ λ·C(sOPT) + μ·C(s).
4. Düzenle. μ·C(s)'yi sola geçir: (1 − μ)·C(s) ≤ λ·C(sOPT). İki yanı (1 − μ)·C(sOPT)'ye böl: C(s) / C(sOPT) ≤ λ / (1 − μ). s herhangi bir denge olduğundan PoA ≤ λ / (1 − μ).
Tanıdık örnekler. 4/3 ispatının kenar eşitsizliği λ = 1, μ = ¼ demektir: 1 / (1 − ¼) = 4/3. Atomik (bölünemez oyunculu) doğrusal tıkanıklık oyunlarında λ = 5/3, μ = 1/3: (5/3) / (2/3) = 5/2.
Neden önemli? İspat yalnız “kimse tek başına sapmaz” koşulunu kullanır; bu yüzden aynı sınır daha gevşek denge türlerinde de (ör. karışık dengelerde) geçerlidir: sağlam PoA (robust PoA).

Doğrusal Gecikme ve Braess

Atomik Tıkanıklık Oyunları: PoA ≤ 5/2

z (dengedeki yük)y(sOPT)01234500149162512002612214965693362822181616468574841363351109684746660

Hücre: 3 × (sağ yan − sol yan), kesirsiz olsun diye. Negatif hücre yok: eşitsizlik doğru (betik y, z ≤ 60 denedi); turuncu 0'larda (ör. y = 1, z = 1 ya da 2) iki yan eşit.

  • Her oyuncu bir birim yük; kenar maliyeti ce(x) = aex + be.
  • ze: dengede e kenarını kullanan kişi sayısı; ye: optimumda kullanan kişi sayısı. Tek başına optimumdaki yoluna geçen oyuncu e'de en çok ze + 1 kişi bulur.
  • Anahtar eşitsizlik (tamsayılar): y(z + 1) ≤ 5/3·y² + 1/3·z². c(x) = x iken sol yan e'deki deneme maliyetleri; y² ve z² e'nin optimum ve denge maliyeti.
  • ⇒ (5/3, 1/3)-pürüzsüz ⇒ PoA ≤ (5/3)/(2/3) = 5/2; sınır sıkıdır (Awerbuch–Azar–Epstein; Christodoulou–Koutsoupias, 2005).
Bölünebilir trafikte 4/3, bölünemez oyuncularda 5/2: oyuncunun kendi eklediği gecikme (z + 1'deki "+1") kaybı büyütür.

Doğrusal Gecikme ve Braess

Adım Adım: Braess Ağında PoA

x/1004.000 araç450 araç450 araçx/1004.000 araç04.000 araçsABtYeni yollu ağda dengeherkes s→A→B→t: 80 dkC(denge) = 4.000 · 80= 320.000 araç·dk

A→B yolu açılınca herkes zikzağa geçer, kişi başı 80 dk. Toplam 320.000 araç·dk.

x/1002.000 araç452.000 araç452.000 araçx/1002.000 araç00 araçsABtYeni yol öncesi: 65 dk80 / 65 ≈ 1,231Bu “Braess kaybı”dır;PoA değil: payda başka ağ

Sık yapılan kıyas 80/65 ≈ 1,23. Ama PoA'nın paydası aynı ağın optimumudur; yeni ağda 65'ten iyisi olabilir mi?

x/1002.000 araç452.000 araç452.000 araçx/1002.000 araç00 araçsABtz = 0'da marjinal maliyetler:zikzak: 2·20 + 2·20 = 80eski yol: 2·20 + 45 = 85→ biraz zikzak iyi!

s→A'da 2.000 araçla gecikme 20 dk; marjinal maliyet ℓ + x·ℓ′ = 20 + 2.000·(1/100) = 40 dk. Zikzak bu türden iki kenar kullanır: 40 + 0 + 40 = 80; eski yol 40 + 45 = 85. 80 < 85: planlayıcı bile birkaç aracı zikzağa yollar.

x/1002.250 araç451.750 araç451.750 araçx/1002.250 araç0500 araçsABtSimetrik: a araç her eski yoldaC(a) = 2(4000 − a)²/100 + 90aC′ = 0 → a = 1.750, z = 500C(opt) = 258.750

Optimum: her eski yolda 1.750, zikzakta 500 araç (marjinal maliyetler 90'da eşit). Ortalama ≈ 64,69 dk; betik tüm dağılımları taradı.

x/1002.250 araç451.750 araç451.750 araçx/1002.250 araç0500 araçsABtPoA = 320.000 / 258.750≈ 1,237≤ 4/3 ✓normalleştirilmiş: tam 4/3

PoA = 320.000 / 258.750 ≈ 1,237 ≤ 4/3. Klasik normalleştirilmiş Braess ağında (x, 1, 1, x, 0) oran tam 2 / (3/2) = 4/3.

Yük Dengeleme

Yük Dengeleme (Load Balancing) Oyunu

  • n iş (oyuncu), m özdeş makine; iş j'nin boyu wj.
  • Her iş bir makine seçer; maliyeti o makinenin toplam yüküdür (bitiş süresi).
  • Sosyal maliyet: en büyük yük (makespan), yani tüm işlerin bitiş anı.
  • Uygulama: sunucu kümeleri, bulut görev yerleştirme, işlemci çekirdekleri. Koutsoupias–Papadimitriou PoA'yı ilk kez bu modelde (1999) tanımladı.
i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2en büyük yük = 4i3, i4 maliyeti: 2
Saf Nash dengesi her zaman vardır: bir iş daha az yüklü makineye geçtiğinde, yükler büyükten küçüğe sıralanınca liste “küçülür” (ilk farklı yerde daha küçük sayı gelir). Bu sonsuza dek süremez; süreç bir Nash dengesinde durur.

Yük Dengeleme

Adım Adım: Yük Dengeleme Oyununda PoA

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 24 iş: boylar 2, 2, 1, 12 özdeş makineİşin maliyeti: makinesinin yüküSosyal maliyet: en büyük yük

Yük dengeleme oyunu: her iş (oyuncu) bir makine seçer; kendi bitiş süresini, yani makinesinin toplam yükünü küçültmek ister.

i1: 2i2: 2i3: 1i4: 1M1: 3M2: 3en büyük yük 3Optimum: {2, 1} | {2, 1}yükler 3 ve 3en büyük yük = 3

Sosyal optimum: toplam iş 6, iki makine → en iyi olasılık 3 ve 3. En büyük yük 3.

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2en büyük yük 4Atama: {2, 2} | {1, 1}yükler 4 ve 2en büyük yük = 4

Başka bir atama: iki büyük iş M1'de (yük 4), iki küçük iş M2'de (yük 2). Bu bir denge olabilir mi?

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2en büyük yük 4i1 (2) M2'ye geçerse:2 + 2 = 4, şimdi 4→ kazanmazi3 (1) M1'e geçerse: 4 + 1 = 5 > 2

Sapma kontrolü: büyük iş M2'ye geçse yine 4 bekler; küçük iş M1'e geçse 5 bekler. Kimse kazanmaz → Nash dengesi.

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2en büyük yük 4En kötü denge: 4En iyi denge: 3 (optimum da denge)PoA = 4/3, PoS = 1Betik: 16 atamanın 6'sı denge

Bu örnekte PoA = 4/3 ve PoS = 1: optimum da bir denge, ama kötü bir denge de var.

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2en büyük yük 4Özdeş m makine, saf dengeler:PoA = 2 − 2/(m + 1)m = 2 → 4/3 (bu örnek sıkı)Karışık dengeler: m ile çok yavaş büyür

Genel sonuç (Finn–Horowitz, 1979; Koutsoupias–Papadimitriou, 1999): saf dengede PoA = 2 − 2/(m+1) < 2. Karışık dengede PoA m ile çok yavaş ama sınırsız büyür (Koutsoupias–Mavronicolas–Spirakis, 2003; Czumaj–Vöcking, 2002).

Yük Dengeleme

Kod İzleme: nash_mi(boy, atama, m)

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2i1, i2 → M1; i3, i4 → M2

Çağrı: iş boyları ve her işin makinesi (0 = M1, 1 = M2).

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2yuk = [0, 0]

Yük dizisi sıfırlanır.

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2yuk = [2, 0]

j = 0: i1 (boy 2) M1'e eklenir → yuk = [2, 0].

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2yuk = [4, 0]

j = 1: i2 (boy 2) M1'e eklenir → yuk = [4, 0].

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2yuk = [4, 1]

j = 2: i3 (boy 1) M2'ye eklenir → yuk = [4, 1].

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2yuk = [4, 2]

j = 3: i4 (boy 1) M2'ye eklenir → yuk = [4, 2].

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2yuk[1] + boy[0] = 4yuk[0] = 4 → kaçmaz

j = 0, h = 1: i1 M2'ye geçerse 2 + 2 = 4; şimdiki 4. 4 < 4? Hayır.

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2yuk[1] + boy[1] = 4yuk[0] = 4 → kaçmaz

j = 1, h = 1: i2 M2'ye geçerse 2 + 2 = 4; şimdiki 4. 4 < 4? Hayır.

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2yuk[0] + boy[2] = 5yuk[1] = 2 → kaçmaz

j = 2, h = 0: i3 M1'e geçerse 4 + 1 = 5; şimdiki 2. 5 < 2? Hayır.

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2yuk[0] + boy[3] = 5yuk[1] = 2 → kaçmaz

j = 3, h = 0: i4 M1'e geçerse 4 + 1 = 5; şimdiki 2. 5 < 2? Hayır.

i1: 2i2: 2i3: 1i4: 1M1: 4M2: 2en büyük yük 4nash_mi → True

Hiçbir iş kârlı bir makineye kaçamadı → True: {2, 2} | {1, 1} bir Nash dengesidir (en büyük yük 4).

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çmaz

h = k (kendi makinesi) için koşul hep yanlıştır; adımlarda yalnız h ≠ k gösterildi.

Yük Dengeleme

Kaba Kuvvet: 16 Atamanın Hepsi

Bölüşüm (M1 | M2, simetrik)Atama sayısıEn büyük yükNash?
{2, 1} | {2, 1}43✓ denge
{2, 1, 1} | {2}44✗
{2, 2} | {1, 1}24✓ denge
{2, 2, 1} | {1}45✗
{2, 2, 1, 1} | { }26✗
Betik 24 = 16 atamanın hepsini tarayıp her birinde her işin sapmasını denedi. 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 bu oyunda her zaman bir dengede durur: her kârlı geçiş, sıralanmış yük listesini küçültür. Varılan denge başlangıca ve hamle sırasına bağlıdır.

Yük Dengeleme

Kod İzleme: Tüm Atamaları Tarayarak PoA ve PoS

i1:2i2:2i3:1i4:1M1yük 6M2yük 01/16 atama = (0, 0, 0, 0)en büyük yük 6 · Nash? ✗opt = 6 · dengeler = []

(0, 0, 0, 0): hepsi M1'de, yükler [6, 0]; i1 M2'ye geçince 2 < 6 ⇒ denge değil. opt şimdilik 6.

i1:2i2:2i3:1i4:1M1yük 5M2yük 12/16 atama = (0, 0, 0, 1)en büyük yük 5 · Nash? ✗opt = 5 · dengeler = []

(0, 0, 0, 1): yükler [5, 1]; i1 öteki makineye geçince 3 < 5 ⇒ denge değil.

i1:2i2:2i3:1i4:1M1yük 5M2yük 13/16 atama = (0, 0, 1, 0)en büyük yük 5 · Nash? ✗opt = 5 · dengeler = []

(0, 0, 1, 0): yükler [5, 1]; i1 öteki makineye geçince 3 < 5 ⇒ denge değil.

i1:2i2:2i3:1i4:1M1yük 4M2yük 24/16 atama = (0, 0, 1, 1)en büyük yük 4 · Nash? ✓opt = 4 · dengeler = [4]

(0, 0, 1, 1): yükler [4, 2], kimse kaçamaz ⇒ denge, en büyük yük 4 listeye eklenir.

i1:2i2:2i3:1i4:1M1yük 4M2yük 25/16 atama = (0, 1, 0, 0)en büyük yük 4 · Nash? ✗opt = 4 · dengeler = [4]

(0, 1, 0, 0): yükler [4, 2]; i3 öteki makineye geçince 3 < 4 ⇒ denge değil.

i1:2i2:2i3:1i4:1M1yük 3M2yük 36/16 atama = (0, 1, 0, 1)en büyük yük 3 · Nash? ✓opt = 3 · dengeler = [4, 3]

(0, 1, 0, 1): yükler [3, 3], kimse kaçamaz ⇒ denge, en büyük yük 3 listeye eklenir.

i1:2i2:2i3:1i4:1M1yük 3M2yük 37/16 atama = (0, 1, 1, 0)en büyük yük 3 · Nash? ✓opt = 3 · dengeler = [4, 3, 3]

(0, 1, 1, 0): yükler [3, 3], kimse kaçamaz ⇒ denge, en büyük yük 3 listeye eklenir.

i1:2i2:2i3:1i4:1M1yük 2M2yük 48/16 atama = (0, 1, 1, 1)en büyük yük 4 · Nash? ✗opt = 3 · dengeler = [4, 3, 3]

(0, 1, 1, 1): yükler [2, 4]; i3 öteki makineye geçince 3 < 4 ⇒ denge değil.

i1:2i2:2i3:1i4:1M1yük 4M2yük 29/16 atama = (1, 0, 0, 0)en büyük yük 4 · Nash? ✗opt = 3 · dengeler = [4, 3, 3]

(1, 0, 0, 0): yükler [4, 2]; i3 öteki makineye geçince 3 < 4 ⇒ denge değil.

i1:2i2:2i3:1i4:1M1yük 3M2yük 310/16 atama = (1, 0, 0, 1)en büyük yük 3 · Nash? ✓opt = 3 · dengeler = [4, 3, 3, 3]

(1, 0, 0, 1): yükler [3, 3], kimse kaçamaz ⇒ denge, en büyük yük 3 listeye eklenir.

i1:2i2:2i3:1i4:1M1yük 3M2yük 311/16 atama = (1, 0, 1, 0)en büyük yük 3 · Nash? ✓opt = 3 · dengeler = [4, 3, 3, 3, 3]

(1, 0, 1, 0): yükler [3, 3], kimse kaçamaz ⇒ denge, en büyük yük 3 listeye eklenir.

i1:2i2:2i3:1i4:1M1yük 2M2yük 412/16 atama = (1, 0, 1, 1)en büyük yük 4 · Nash? ✗opt = 3 · dengeler = [4, 3, 3, 3, 3]

(1, 0, 1, 1): yükler [2, 4]; i3 öteki makineye geçince 3 < 4 ⇒ denge değil.

i1:2i2:2i3:1i4:1M1yük 2M2yük 413/16 atama = (1, 1, 0, 0)en büyük yük 4 · Nash? ✓opt = 3 · dengeler = [4, 3, 3, 3, 3, 4]

(1, 1, 0, 0): yükler [2, 4], kimse kaçamaz ⇒ denge, en büyük yük 4 listeye eklenir.

i1:2i2:2i3:1i4:1M1yük 1M2yük 514/16 atama = (1, 1, 0, 1)en büyük yük 5 · Nash? ✗opt = 3 · dengeler = [4, 3, 3, 3, 3, 4]

(1, 1, 0, 1): yükler [1, 5]; i1 öteki makineye geçince 3 < 5 ⇒ denge değil.

i1:2i2:2i3:1i4:1M1yük 1M2yük 515/16 atama = (1, 1, 1, 0)en büyük yük 5 · Nash? ✗opt = 3 · dengeler = [4, 3, 3, 3, 3, 4]

(1, 1, 1, 0): yükler [1, 5]; i1 öteki makineye geçince 3 < 5 ⇒ denge değil.

i1:2i2:2i3:1i4:1M1yük 0M2yük 616/16 atama = (1, 1, 1, 1)en büyük yük 6 · Nash? ✗opt = 3 · dengeler = [4, 3, 3, 3, 3, 4]

(1, 1, 1, 1): yükler [0, 6]; i1 öteki makineye geçince 2 < 6 ⇒ denge değil.

i1:2i2:2i3:1i4:1M1yük 0M2yük 616/16 atama = (1, 1, 1, 1)en büyük yük 6 · Nash? ✗opt = 3 · dengeler = [4, 3, 3, 3, 3, 4]

Dengeler [4, 3, 3, 3, 3, 4] ⇒ PoA = 4/3, PoS = 3/3 = 1. mn atama: büyük oyunlarda üstel.

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])

Yük Dengeleme

Farklı Hızlı (İlişkili) Makineler

  • Makine i'nin hızı si; bir işin bitiş süresi, makinesinin toplam yükünün si'ye bölümüdür. Saf Nash dengesi yine her zaman vardır.
  • Örnek: hızlar A = 2, B = 1, C = 1; iş boyları 2, 1, 1. Sosyal maliyet: en büyük bitiş süresi.
AtamaSüreler (A, B, C)En büyükNash?
A {2}, B {1}, C {1}1, 1, 11evet (optimum)
A {1, 1}, B {2}, C { }1, 2, 02evet

İkinci atamada 2'lik iş A'ya geçse (2 + 2)/2 = 2, C'ye geçse 2/1 = 2 bekler; 1'lik iş C'ye geçse yine 1 bekler: kimse kazanmaz. Oran 2/1 = 2, özdeş üç makinenin sınırı 2 − 2/4 = 1,5'ten büyük.

Özdeş makinelerde saf dengenin kaybı hep 2 katın altında kalır (2 − 2/(m+1)). Hızlar farklıysa kayıp, makine sayısı arttıkça (çok yavaş da olsa) sınırsız büyür (Czumaj–Vöcking, 2002). Yük Dengeleme oyununun 2. ve 3. seviyeleri bu modeli kullanır.

Yük Dengeleme

Oyuna Dönüş: Yük Dengeleme Oyunu

Oyunun ölçüsü farklı

Oyunda sosyal maliyet en büyük yük değil, tüm işlerin bitiş sürelerinin toplamıdır. Seviye 2, CPU Scheduling: 7 birim iş, hızlar 2, 1, 1.

Yükler (A, B, C)Toplam süreNash?
(3, 2, 2)3·1,5 + 2·2 + 2·2 = 12,5evet (optimum)
(4, 2, 1)4·2 + 2·2 + 1·1 = 13evet (en kötü)

PoA = 13 / 12,5 = 1,04. (4, 2, 1)'de A'daki iş C'ye geçse yine 2 bekler: kimse kazanmaz. Simetriği (4, 1, 2) de aynı maliyetle (13) bir dengedir.

Bencil yerleşim nereye varır?

Her iş geldiği anda, kendi bitiş süresi en kısa olacak sunucuyu seçerse (eşitlikte alfabede önce gelen sunucu) sıra A, A, B, C, A, A, B olur ve sonuç tam olarak en kötü dengelerden (4, 2, 1) çıkar. Oyundaki bencil denge gösterimi (Selfish equilibrium) bu açgözlü yerleşimle kurulur.

Seviye 1'de (6 iş, özdeş sunucular) tek denge (2, 2, 2) optimumdur: PoA = 1. Kayıp, sunucular farklılaşınca ortaya çıkar.

{2, 2, 1, 1} örneğindeki 4/3 en büyük yükü, oyun toplam süreyi ölçer: PoA'nın değeri ölçülen sosyal maliyete bağlıdır.

İstikrarın Bedeli

Aynı Oyunda PoA ≠ PoS

stA: 2 TLB: 6 TL1234bağlantı bedeli kullananlarcaeşit bölünür

4 oyuncu s'den t'ye bağlantı kiralar: A 2 TL, B 6 TL; bedeli kullananlar eşit böler (adil maliyet paylaşımı). Kalınlık: bağlantıdaki oyuncu sayısı.

stA: 2 TLB: 6 TL1234herkes A: kişi başı 0,5 TLB'ye tek başına geçen: 6 TLtoplam 2 = optimum

Herkes A'da: her biri 0,5 öder; B'ye tek başına geçen 6 öderdi ⇒ kimse geçmez. Denge, toplam 2 = optimum.

stA: 2 TLB: 6 TL1234herkes B: kişi başı 1,5 TLA'ya tek başına geçen: 2 TLtoplam 6

Herkes B'de: her biri 1,5 öder; A'ya tek başına geçen 2 öderdi (2 > 1,5) ⇒ kimse geçmez. Bu da denge, toplam 6.

stA: 2 TLB: 6 TL1234A'daki 1 kişi: 2 TLB'deki 3 kişi: 2 TLB'den A'ya geçen: 1 TL ⇒ kaçar

Karışık profil (1 A, 3 B): B'deki bir oyuncu A'ya geçerse 1 öder < 2 ⇒ denge değil. Betik 16 profilin hepsini taradı: yalnız "hepsi A" ve "hepsi B" denge.

stA: 2 TLB: 6 TL1234PoA = 6/2 = 3PoS = 2/2 = 1

PoA = 6/2 = 3 (en kötü denge), PoS = 1 (en iyi denge). Koordinasyon sorunu: oyuncular iyi dengeye yönlendirilebilirse kayıp yok; PoS bu iyimser senaryonun ölçüsüdür.

İstikrarın Bedeli

Adım Adım: İstikrarın Bedeli (Hn Örneği)

11/21/31/41,11234vtoyuncuyolöder1ortak0,2752ortak0,2753ortak0,2754ortak0,275toplam1,1

Her oyuncu t'ye iki yoldan biriyle gider: yalnız kendisinin kullandığı 1/i bedelli yol ya da herkesin ortak kullandığı, bedeli 1 + ε = 1,1 olan yol (ε: küçük bir ek bedel); ortak yolun bedeli kullananlarca eşit bölünür. Optimum: herkes ortakta, toplam 1,1, kişi başı 0,275.

11/21/31/41,11234vtoyuncuyolöder1ortak0,3672ortak0,3673ortak0,3674kendi0,25toplam1,35

Oyuncu 4: kendi yolu 1/4 = 0,25 < 0,275 → ayrılır. Kalan üç kişi artık 1,1/3 ≈ 0,367 öder.

11/21/31/41,11234vtoyuncuyolöder1ortak0,552ortak0,553kendi0,3334kendi0,25toplam1,683

Oyuncu 3: 1/3 ≈ 0,333 < 0,367 → ayrılır. Kalan iki kişi 0,55 öder.

11/21/31/41,11234vtoyuncuyolöder1ortak1,12kendi0,53kendi0,3334kendi0,25toplam2,183

Oyuncu 2: 1/2 = 0,5 < 0,55 → ayrılır. Oyuncu 1 ortak yolu tek başına öder: 1,1.

11/21/31/41,11234vtoyuncuyolöder1kendi12kendi0,53kendi0,3334kendi0,25toplam2,083

Oyuncu 1: kendi yolu 1 < 1,1 → ayrılır. Herkes kendi yolunda: 1 + 1/2 + 1/3 + 1/4 = 25/12 ≈ 2,083.

11/21/31/41,11234vtoyuncuyolöder1kendi12kendi0,53kendi0,3334kendi0,25toplam2,083

Betik: 16 profilin tek dengesi bu → PoS = PoA = (25/12) / 1,1 = 125/66 ≈ 1,894. ε → 0 iken n oyuncuda PoS → Hn = 1 + 1/2 + … + 1/n.

İstikrarın Bedeli

Neden PoS ≤ Hn? Potansiyel ve Maliyet

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; ör. H(1) = 1, H(4) = 25/12 ≈ 2,08. Hn = H(n). Toplam maliyet C(s): kullanılan bağlantıların bedelleri toplamı.
Rosenthal potansiyeli. Oyuncular bağlantıya tek tek eklenmiş gibi düşün: 1. kişi ce, 2. kişi ce/2, …, k. kişi ce/k yazar. Bağlantının katkısı ce·H(ne) olur: Φ(s) = Σe ce·H(ne).
Örnek (Hn örneği, dört oyuncu). Herkes ortak yolda: C = 1,1 ve Φ = 1,1·H(4) = 1,1·25/12 ≈ 2,29. Herkes kendi yolunda: her yolu 1 kişi kullanır, H(1) = 1, yani Φ = C = 25/12 ≈ 2,08.
Potansiyel, maliyetin en az 1, en çok Hn katıdır. Kullanılan her bağlantıda 1 ≤ H(ne) ≤ Hn (en çok n kullanıcı var). Her terimi ce ile çarpıp topla: her s için C(s) ≤ Φ(s) ≤ Hn·C(s).

İstikrarın Bedeli

PoS ≤ Hn: Optimumdan Bir Dengeye Yürümek

1. Optimumdan başla. sOPT profilinde en iyi tepki dinamiğini çalıştı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. Profil sayısı sonlu olduğundan dinamik bir s dengesinde durur ve Φ(s) ≤ Φ(OPT).
3. Zinciri kur. C(s) ≤ Φ(s) (potansiyel maliyetten küçük değil) ≤ Φ(OPT) (2. adım) ≤ Hn·C(OPT) (potansiyel maliyetin en çok Hn katı). Örnekte: 2,08 ≤ 2,08 ≤ 2,29 ≤ 2,29.
En az bir dengenin maliyeti optimumun en çok Hn katıdır: PoS ≤ Hn (Anshelevich vd., 2004). Hn çok yavaş büyür (H100 ≈ 5,19; yaklaşık ln n). Hn örneği sınırın sıkı olduğunu gösterir. PoA ise n kadar büyük olabilir.

PoA'yı Azaltma

Adım Adım: Tıkanıklık Ücreti Dengeyi Kaydırır

1020304001.0002.0003.000x₁dkℓ₁ + τℓ₂x₁ = 2.000 araçtoplam gecikme C (bin araç·dk)τ = 075τ = 2,5τ = 5τ = 7,5τ = 10optimum 71,25(çubuklar 70.000'den başlar)

İki yollu ağ: ℓ₁ = 5 + x₁/100, ℓ₂ = 20 + x₂/200, toplam 3.000 araç. Ücret yok (τ = 0): denge ℓ₁ = ℓ₂ → x₁ = 2.000, toplam 75.000 araç·dk. Ücret sürücü için dakika cinsinden ek maliyet sayılır.

1020304001.0002.0003.000x₁dkℓ₁ + τℓ₂x₁ ≈ 1.833 araçtoplam gecikme C (bin araç·dk)τ = 075τ = 2,572,92τ = 5τ = 7,5τ = 10optimum 71,25(çubuklar 70.000'den başlar)

τ = 2,5: Yol 1 eğrisi yukarı kayar; kesişim sola gider: x₁ ≈ 1.833, toplam ≈ 72.917. Ücret bir transferdir, toplam gecikmeye eklenmez.

1020304001.0002.0003.000x₁dkℓ₁ + τℓ₂x₁ ≈ 1.667 araçtoplam gecikme C (bin araç·dk)τ = 075τ = 2,572,92τ = 571,67τ = 7,5τ = 10optimum 71,25(çubuklar 70.000'den başlar)

τ = 5: x₁ ≈ 1.667, toplam ≈ 71.667. Her artış bir kısım sürücüyü geniş Yol 2'ye iter.

1020304001.0002.0003.000x₁dkℓ₁ + τℓ₂x₁ = 1.500 araçtoplam gecikme C (bin araç·dk)τ = 075τ = 2,572,92τ = 571,67τ = 7,571,25τ = 10optimum 71,25(çubuklar 70.000'den başlar)

τ = 7,5: x₁ = 1.500 → sistem optimumu (71.250) artık bir denge. Marjinal maliyet ücretleri Yol 1'e x₁ℓ′₁ = 15, Yol 2'ye x₂ℓ′₂ = 7,5 dk; önemli olan fark: 7,5.

1020304001.0002.0003.000x₁dkℓ₁ + τℓ₂x₁ ≈ 1.333 araçtoplam gecikme C (bin araç·dk)τ = 075τ = 2,572,92τ = 571,67τ = 7,571,25τ = 1071,67optimum 71,25(çubuklar 70.000'den başlar)

τ = 10: fazla ücret aşırıya kaçar: x₁ ≈ 1.333, toplam yine ≈ 71.667. Doğru ücret dışsallığa eşit olandır, “ne kadar çok o kadar iyi” değil.

PoA'yı Azaltma

Adım Adım: Tıkanıklık Ücreti Pigou'yu Düzeltir

stℓ(x) = xℓ(x) = 11 birim trafik00,511,5200,250,50,751x (üst yoldaki pay)sürücünün gördüğü maliyetalt: 1xeski denge x = 1

Başlangıç: ücret yok, herkes üst yolda (x = 1), toplam gecikme 1. Amaç: optimumu (x = 1/2) denge yapmak.

stℓ(x) = x + ücret xℓ(x) = 11 birim trafik00,511,5200,250,50,751x (üst yoldaki pay)sürücünün gördüğü maliyetalt: 1xx + ücret

Marjinal maliyet ücreti τe = fe·ℓ′e(fe): üst yolda ℓ′ = 1 → τ = x; alt yolda ℓ′ = 0 → ücret yok. Sürücü üstte x + x = 2x görür.

stℓ(x) = x + ücret xℓ(x) = 1üst: 0,5alt: 0,500,511,5200,250,50,751x (üst yoldaki pay)sürücünün gördüğü maliyetalt: 1xx + ücretyeni denge x = 1/2

Yeni denge: 2x = 1 → x = 1/2. Bencil sürücüler kendiliğinden optimum dağılımı seçer; gecikme 3/4.

stℓ(x) = x + ücret xℓ(x) = 1üst: 0,5alt: 0,500,511,5200,250,50,751x (üst yoldaki pay)sürücünün gördüğü maliyetalt: 1xx + ücretyeni denge x = 1/2

Toplanan ücret: 1/2 · 1/2 = 1/4. Sürücülerin ödediği toplam 3/4 + 1/4 = 1: gelir geri dağıtılmazsa sürücüler kazanmaz, kazanç topluma geçer.

stℓ(x) = x + ücret xℓ(x) = 1üst: 0,5alt: 0,500,511,5200,250,50,751x (üst yoldaki pay)sürücünün gördüğü maliyetalt: 1xx + ücretyeni denge x = 1/2

Aynı sonucu sabit ücret de verir: üst yola τ = 1/2 → x + 1/2 = 1 → x = 1/2. Genel teorem: marjinal maliyet ücreti her ağda optimumu denge yapar.

PoA'yı Azaltma

PoA'yı Azaltmanın Diğer Yolları

Tıkanıklık fiyatlandırması

Kullanıcıların başkalarına yüklediği dışsal maliyeti karara dahil eder (Londra, Stockholm, Singapur uygulamaları).

Merkezî (Stackelberg) yönlendirme

Trafiğin bir kısmını merkez yönlendirir, gerisi bencil seçer; kontrol edilen pay arttıkça oran 1'e yaklaşır.

Kapasite planlama

Roughgarden–Tardos: r birim trafiğin bencil dengesi, 2r birim trafiğin en iyi yönlendirilmesinden daha pahalı değildir. Kapasiteyi artırmak ücretin yerini tutabilir.

Rota önerisi ve bilgi

Öneriler dengeyi daha düşük toplam maliyete yönlendirebilir; ama uyum gönüllüdür.

Mekanizma tasarımı

Kuralları, iyi sonuç tek denge olacak biçimde kurmak.

Maliyeti hesaba katmak

Müdahalenin bilgi, uygulama ve adalet maliyetleri elde edilen verimlilik kazancıyla birlikte değerlendirilmelidir.

PoA'yı Azaltma

Gerç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?

Tartışma soruları

  • Bireysel çıkarlar neden her zaman sosyal optimuma ulaşmaz? Pigou örneğinde hangi dışsallık var?
  • PoA'yı azaltmak için hangi teşvikler uygulanabilir (ücret, bonus, merkezî yönlendirme)? Hangisi daha adil?
  • Braess paradoksu günlük hayatta nerede görülebilir? Bir yolu kapatmak ne zaman mantıklıdır?

Değerlendirme

Özet

ÖrnekDengeOptimumOran
İki yol, 3.000 araç75.00071.250PoA ≈ 1,053
Pigou (x ve 1)13/4PoA = 4/3
Doğrusal gecikme, her ağ——PoA ≤ 4/3 (sıkı)
Pigou, ℓ = xp1→ 0PoA → ∞
Atomik tıkanıklık, doğrusal——PoA ≤ 5/2 (sıkı)
Braess, 4.000 araç320.000258.750PoA ≈ 1,237
Yük dengeleme {2, 2, 1, 1}4 (en kötü)3PoA = 4/3, PoS = 1
Adil paylaşım, Hn örneği25/121,1PoS ≈ 1,894 (≤ Hn)
Pigou + ücret τ = x3/43/41

Değerlendirme

Örnek Problemler

  1. Pigou ağında üst yolun gecikmesi x² olsun. Denge maliyeti, optimum ve PoA nedir?
  2. İş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 bulun.
  3. 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?
  4. Hn örneğini n = 3 için kurun (ε küçük). PoS kaça yaklaşır?
  5. Üst yol 2x, alt yol 1 olan Pigou ağında PoA ve optimumu denge yapan sabit ücret nedir?
Cevapları göster
  1. Denge 1 (herkes üstte). C(x) = x³ + 1 − x → xOPT = 1/√3 ≈ 0,577, C(OPT) ≈ 0,615 → PoA ≈ 1,626.
  2. Optimum 6 ({3, 3} | {2, 2, 2}). Denge: {3, 2, 2} | {3, 2} → 7 ve 5; 2'lik iş geçerse 5 + 2 = 7, kazanmaz; 3'lük geçerse 8 → denge. Oran 7/6.
  3. Denge: herkes zikzak, 1 + 0 + 1 = 2. Optimum: yarı yarıya, 1/2 + 1 = 3/2. PoA = 4/3.
  4. H3 = 1 + 1/2 + 1/3 = 11/6 ≈ 1,83; optimum 1 + ε → PoS → 11/6.
  5. Denge x = 1/2 (2x = 1), C = 1. Optimum C = 2x² + 1 − x → x = 1/4, C = 7/8 → PoA = 8/7. Ücret: 2·(1/4) + τ = 1 → τ = 1/2.

Değerlendirme

Alıştırmalar: İzlemeler ve Yeni Konular

  1. pigou_poa(3) kaç döndürür? (xOPT = 4−1/3)
  2. 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. Bu en iyi tepki dinamiği hangi en büyük yükte durur? Optimum kaçtır?
  3. Bir oyun (1, ½)-pürüzsüz ise PoA için ne söylenebilir? Pigou'nun (1, ¼) değeriyle karşılaştırın.
  4. PoA ≠ PoS oyununda A 3 TL, B 8 TL olsun (4 oyuncu). Dengeler hangileri, PoA ve PoS kaçtır?
  5. y = 2, z = 3 için y(z + 1) ≤ 5/3·y² + 1/3·z² eşitsizliğini doğrulayın.
  6. poa_pos([3, 2, 2, 1], 2) ne döndürür?
Cevapları göster
  1. xOPT ≈ 0,63, C(OPT) ≈ 0,528 ⇒ PoA ≈ 1,896 (p = 2 ile 4 arasında).
  2. 4'lük iş M2'ye geçer (yükler 8, 4), sonra 3'lük iş (5, 7); artık kimse kazanmaz: en büyük yük 7. Optimum 6 ({4, 2} | {3, 3}) ⇒ oran 7/6.
  3. PoA ≤ 1/(1 − ½) = 2; Pigou tipi (1, ¼) ise 4/3 verir. μ küçüldükçe sınır iyileşir.
  4. Hepsi A (kişi başı 0,75; B'ye geçen 8 öder) ve hepsi B (kişi başı 2; A'ya geçen 3 öder). PoA = 8/3, PoS = 1.
  5. Sol 8, sağ 20/3 + 3 = 29/3 ≈ 9,67 ⇒ sağlanır (fark 5/3).
  6. (1.25, 1.0): optimum 4 ({3, 1} | {2, 2}), ama {3, 2} | {2, 1} (yükler 5 ve 3) de denge ⇒ PoA = 5/4, PoS = 1.

Değerlendirme

Etkileşimli Oyunlar

Yük Dengeleme ve PoA

İşlerin makinelere dağılımı: denge, optimum ve aradaki oran.

Bencil Yönlendirme

Wardrop dengesi, sistem optimumu ve aradaki oran (PoA).

Değerlendirme

Kaynaklar

  • T. Roughgarden, Twenty Lectures on Algorithmic Game Theory, Cambridge University Press, 2016 (Ders 11–15).
  • N. Nisan, T. Roughgarden, É. Tardos, V. Vazirani (ed.), Algorithmic Game Theory, Cambridge University Press, 2007 (Bölüm 17–20).
  • E. Koutsoupias, C. Papadimitriou, “Worst-case Equilibria”, STACS, 1999.
  • T. Roughgarden, É. Tardos, “How Bad Is Selfish Routing?”, Journal of the ACM, 2002.
  • T. Roughgarden, “The Price of Anarchy Is Independent of the Network Topology”, J. Computer and System Sciences, 2003.
  • E. Anshelevich vd., “The Price of Stability for Network Design with Fair Cost Allocation”, FOCS, 2004.
  • T. Roughgarden, “Intrinsic Robustness of the Price of Anarchy”, STOC, 2009.
  • G. Christodoulou, E. Koutsoupias, “The Price of Anarchy of Finite Congestion Games”, STOC, 2005.
  • B. Awerbuch, Y. Azar, A. Epstein, “The Price of Routing Unsplittable Flow”, STOC, 2005.
  • A. C. Pigou, The Economics of Welfare, Macmillan, 1920.
  • A. R. Karlin, Y. Peres, Game Theory, Alive, AMS, 2017 (Bölüm 8: Anarşinin Bedeli); D. Easley, J. Kleinberg, Networks, Crowds, and Markets, Cambridge, 2010 (Bölüm 8: trafik ve Braess).
  • Ders sayfası: T. Roughgarden, CS364A (Stanford, 2013), Ders 11–15 notları.

Değerlendirme

Kaynaklar (2/2)

  • C. Papadimitriou, “Algorithms, Games, and the Internet”, STOC, 2001.
  • R. L. Graham, “Bounds for Certain Multiprocessing Anomalies”, Bell System Technical Journal 45(9), 1966.
  • G. Finn, E. Horowitz, “A Linear Time Approximation Algorithm for Multiprocessor Scheduling”, BIT 19, 1979.
  • E. Koutsoupias, M. Mavronicolas, P. Spirakis, “Approximate Equilibria and Ball Fusion”, Theory of Computing Systems 36(6), 2003.
  • A. Czumaj, B. Vöcking, “Tight Bounds for Worst-Case Equilibria”, SODA, 2002.
  • T. Roughgarden, “Stackelberg Scheduling Strategies”, SIAM Journal on Computing 33(2), 2004.

Son

Bölüm 9: Anarşinin Bedeli
Sonraki bölüm: Bölüm 10: Çoklu Ajan Sistemleri
Çalışma soruları · Terim sözlüğü
1 / 1 Sercan KÜLCÜ, Tüm hakları saklıdır.