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: merkezi 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 toplam 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
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 W(OPT) / W(denge); 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

Üç Kötü Durum Oranı: Neyin Eksikliği?

OranOptimuma ulaşmayı engelleyenPay / payda
Yaklaşım oranıhesaplama gücü: polinom zamanda çözülemeyen (NP-zor) problemalgoritmanın çözümü / optimum
Rekabet oranıbilgi: gelecek bilinmeden çevrimiçi karar vermekçevrimiçi algoritma / çevrimdışı optimum
Anarşinin Bedelikoordinasyon: merkezi 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: (x·x)′ = 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: denge ℓe'yi, optimum ℓe + fe·ℓ′e'yi eşitler. 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)x*C*PoAp / ln p
10,50,751,333—
20,5770,6151,6262,89
40,6690,4652,1512,89
80,760,3253,0813,85
160,8380,2124,7275,77
Denge her durumda herkesi üst yola yollar (maliyet 1). Gecikme ne kadar “dik” (yüksek p) olursa optimum o kadar iyi olur ve PoA sınırsız büyür, Θ(p / ln p) hızında; kesin değer PoA = [1 − p·(p+1)−(p+1)/p]−1. Yani 4/3 evrensel değildir; doğrusal gecikmeye özgüdür.

Doğrusal Gecikme ve Braess

Kod İzleme: pigou_poa(p)

00,5100,51x →C(x) = x^2 + (1 − x)dengep = 1x* = 0,5

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

00,5100,51x →C(x) = x^2 + (1 − x)dengep = 1x* = 0,5C* = 0,75PoA = 1 / C* = 1,333

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

00,5100,51x →C(x) = x^3 + (1 − x)dengep = 2x* = 0,577

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

00,5100,51x →C(x) = x^3 + (1 − x)dengep = 2x* = 0,577C* = 0,615PoA = 1 / C* = 1,626

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

00,5100,51x →C(x) = x^5 + (1 − x)dengep = 4x* = 0,669

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

00,5100,51x →C(x) = x^5 + (1 − x)dengep = 4x* = 0,669C* = 0,465PoA = 1 / C* = 2,151

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

00,5100,51x →C(x) = x^9 + (1 − x)dengep = 8x* = 0,76

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

00,5100,51x →C(x) = x^9 + (1 − x)dengep = 8x* = 0,76C* = 0,325PoA = 1 / C* = 3,081

PoA 3,081: artış Θ(p / ln p) hızında, yavaş ama sınırsız.

00,5100,51x →C(x) = x^17 + (1 − x)dengep = 16x* = 0,838

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

00,5100,51x →C(x) = x^17 + (1 − x)dengep = 16x* = 0,838C* = 0,212PoA = 1 / C* = 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).
1. Denge koşulu. f dengede herkes o anki gecikmelere göre en kısa yolda. Gecikmeler sabit tutulup trafik başka bir f* düzenine taşınsa maliyet düşmez: Σ ℓe(fe)·fe ≤ Σ ℓe(fe)·f*e.
2. Kenar eşitsizliği. ℓe(fe)·f*e ≤ ℓe(f*e)·f*e + ¼·ℓe(fe)·fe. Neden: b·f* iki yanda aynı, sağdaki fazladan ¼·b·f ≥ 0; kalan a·f·f* ≤ a·f*² + a·f²/4, yani a(f* − f/2)² ≥ 0.
3. Topla. C(f) ≤ C(f*) + ¼·C(f) → ¾·C(f) ≤ C(f*) → C(f) / C(f*) ≤ 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

ÖrnekDengeOptimumOran
Pigou (x ve 1)13/41,333
Braess (4.000 araç)320.000258.7501,237
Braess, normalleştirilmiş (x, 1, 1, x, 0)23/21,333
İki yol, 3.000 araç75.00071.2501,053
20.000 rastgele doğrusal paralel ağ——en büyük 1,33
Betik 2–4 bağlantılı, rastgele a, b ve talep değerli 20.000 ağda dengeyi ve optimumu (su doldurma yöntemiyle) hesapladı: oran hiçbir örnekte 4/3'ü aşmadı; en büyüğü 1,33 (Pigou benzeri örneklerde 4/3'e yaklaşır). Sınır bir garanti, tipik değer değil.

Doğrusal Gecikme ve Braess

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

Tanım (Roughgarden, 2009). Maliyet oyunu (λ, μ)-pürüzsüzdür, eğer her s ve s* profili için Σi Ci(s*i, s−i) ≤ λ·C(s*) + μ·C(s) (μ < 1). Sol yan: herkes tek başına s*'daki stratejisine geçseydi.
Üç satırlık ispat. s Nash dengesi ⇒ C(s) = Σ Ci(s) ≤ Σ Ci(s*i, s−i) ≤ λ·C(s*) + μ·C(s) ⇒ PoA ≤ λ / (1 − μ).
Tanıdık örnek. 4/3 ispatının kenar eşitsizliği tam olarak λ = 1, μ = ¼ demektir: 1 / (1 − ¼) = 4/3. Atomik (bölünemez oyunculu) doğrusal tıkanıklık oyunlarında λ = 5/3, μ = 1/3 ⇒ 5/2.
Neden önemli? İspat yalnız "sapma yok" koşulunu ortalamada kullanır. Bu yüzden aynı λ/(1 − μ) sınırı karışık, korelasyonlu ve kaba korelasyonlu dengelere, hatta pişmanlıksız öğrenmenin zaman ortalamasına da geçer: sağlam PoA (robust PoA).

Doğrusal Gecikme ve Braess

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

z (dengedeki yük)y(s*)01234500149162512002612214965693362822181616468574841363351109684746660

Hücre: 3·[5/3·y² + 1/3·z² − y(z+1)]; betik y, z ≤ 60 için hiç negatif bulmadı

  • Sonlu sayıda oyuncu, her biri bir birim yük; kenar maliyeti ce(x) = aex + be.
  • Oyuncu s*'ya tek başına geçerse kenarda en çok ze + 1 kişi olur; s*'da kenarı ye kişi kullanır.
  • Anahtar eşitsizlik (tamsayılar): y(z + 1) ≤ 5/3·y² + 1/3·z². Eşitlik (1, 1) ve (1, 2)'de.
  • ⇒ (5/3, 1/3)-pürüzsüz ⇒ PoA ≤ (5/3)/(2/3) = 5/2, ve bu sınır sıkıdır (Awerbuch–Azar–Epstein; Christodoulou–Koutsoupias, 2005).
Bölünebilir trafikte (Pigou) 4/3, bölünemez oyuncularda 5/2: tek bir oyuncunun kenara 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!

Marjinal maliyet (ℓ + x·ℓ′): zikzak 80 < 85. Yani 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çince (büyükten küçüğe sıralı) yük vektörü sözlük sırasında küçülür, süreç sonlanır.

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: Θ(log m / log log m)

Genel sonuç (Finn–Horowitz, 1979; Koutsoupias–Papadimitriou, 1999): saf dengede PoA = 2 − 2/(m+1) < 2. Karışık dengede PoA m ile yavaşça büyür: Θ(log m / log log m) (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.

MakinelerSaf denge PoAKarışık denge PoA
özdeş2 − 2/(m+1)Θ(log m / log log m)
ilişkili (farklı hızlı)Θ(log m / log log m)Θ(log m / log log log m)
Hızlar farklılaşınca saf dengenin kaybı da makine sayısıyla 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?

İşler gelir gelmez en hızlı sunucuyu seçerse (eşitlikte A) 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

Oyuncu i'nin kendi yolu 1/i; ortak yol v→t 1,1 (ε = 0,1), kullananlar eşit böler. 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 Argümanı

Rosenthal potansiyeli adil paylaşımda: ce(k) = ce/k olduğundan Φ(s) = Σe ce·(1 + 1/2 + … + 1/ne) = Σe ce·H(ne).
Sandviç. Kullanılan her kenarda 1 ≤ H(ne) ≤ Hn, dolayısıyla C(s) ≤ Φ(s) ≤ Hn·C(s).
Dinamik. Optimumdan başla, en iyi tepki dinamiğini çalıştır: Φ her hamlede azalır ve bir s dengesinde durur: Φ(s) ≤ Φ(OPT).
C(s) ≤ Φ(s) ≤ Φ(OPT) ≤ Hn·C(OPT) → PoS ≤ Hn ≈ ln n (Anshelevich vd., 2004). Hn örneği bu 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.000toplam gecikme C (bin araç·dk)τ = 075τ = 2,5τ = 5τ = 7,5τ = 10optimum 71,25(çubuk 70b'den)

Ü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.833toplam gecikme C (bin araç·dk)τ = 075τ = 2,572,92τ = 5τ = 7,5τ = 10optimum 71,25(çubuk 70b'den)

τ = 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.667toplam gecikme C (bin araç·dk)τ = 075τ = 2,572,92τ = 571,67τ = 7,5τ = 10optimum 71,25(çubuk 70b'den)

τ = 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.500toplam gecikme C (bin araç·dk)τ = 075τ = 2,572,92τ = 571,67τ = 7,571,25τ = 10optimum 71,25(çubuk 70b'den)

τ = 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.333toplam gecikme C (bin araç·dk)τ = 075τ = 2,572,92τ = 571,67τ = 7,571,25τ = 1071,67optimum 71,25(çubuk 70b'den)

τ = 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ı).

Merkezi / 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: bencil denge, iki katı trafiği optimum biçimde taşımaktan 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, merkezi 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 → x* = 1/√3 ≈ 0,577, C* ≈ 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? (x* = 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. x* ≈ 0,63, C* ≈ 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.