Bölüm 13: Öğrenme ve Adaptasyon

Algoritmik Oyun Kuramı
En iyi tepki dinamiğiKurgusal oyunPişmanlıkHedgeKorelasyonlu dengeε-açgözlü ve UCBPekiştirmeli öğrenmeReplikatörTit-for-Tat
Sercan KÜLCÜ · Giresun Üniversitesi · Bilgisayar Mühendisliği

Giriş

Oyunla Başlangıç: Çok Kollu Haydut

Oyunun kuralı

Her kol gizli bir olasılıkla 1 puan verir; bir kolu çekince yalnızca onun sonucunu görürsünüz ve amaç toplam ödülü en büyük yapmaktır.

Merak sorusu
  • Şimdilik ortalaması en yüksek olan Kol 1'e mi bağlanırdınız, yoksa Kol 3'ü yeniden mi denerdiniz?
  • Yüz çekişin kaçını denemeye (keşfe) ayırırdınız?

Çok Kollu Haydut oyunu →

Kol 13 çekiş2 başarıort. 0,67p = ?Kol 24 çekiş1 başarıort. 0,25p = ?Kol 31 çekiş0 başarıort. 0p = ?Gerçek olasılıklar gizli; her yeni deneyde yeniden çekilir.Kol 3 yalnızca bir kez denendi.

Giriş

Öğrenme Çıktıları

DinamiklerEn iyi tepki dinamiği ve kurgusal oyunu adım adım çalıştırmak; ne zaman dengeye yakınsadıklarını açıklamak.
PişmanlıkDışsal pişmanlığı hesaplamak; çarpımsal ağırlıklar (Hedge) algoritmasının pişmanlıksız olduğunu yorumlamak.
Keşif–sömürüÇok kollu haydut probleminde ε-açgözlü ve UCB algoritmalarını izlemek ve karşılaştırmak.
Evrim ve tekrarReplikatör dinamiğini ve tekrarlanan Mahkûmun İkilemi'nde Tit-for-Tat'ın başarısını açıklamak.

Giriş

Neden Öğrenme ve Adaptasyon?

Eylem seçstrateji / olasılıklarSonucu gözleödül, rakibin eylemiKuralı güncelleağırlık, ortalama, QOyun+ rakipler

Öğrenme: geçmiş deneyimden strateji geliştirmek. Adaptasyon: rakip ve çevre değişince stratejiyi güncellemek.

  • Denge hesaplamak zor olabilir: genel oyunlarda Nash dengesi PPAD-tam. Oyuncular dengeyi nasıl “bulur”?
  • Oyunu bilmiyor olabilirler: kazanç matrisi bilinmez; yalnızca oynayıp sonucu görürler.
  • Soru: basit, yerel güncelleme kuralları uzun vadede dengeye ya da en azından iyi bir performansa götürür mü?
Örnekler: satranç ve poker yapay zekâları kendine karşı oynayarak öğrenir; reklam açık artırmalarında teklif algoritmaları her gün uyum sağlar; navigasyon uygulamaları trafiğe göre rota değiştirir.

Giriş

Öğrenme Modelleri: Genel Bakış

ModelOyuncu neyi gözler?Nasıl günceller?
En iyi tepki dinamiğiRakibin son eylemiOna en iyi tepkiyi verir
Kurgusal oyun (fictitious play)Rakibin tüm geçmişiFrekanslara en iyi tepki
Pişmanlığı en aza indirme (Hedge)Her eylemin kazancıİyi eylemlerin ağırlığını çarpımsal artırır
Çok kollu haydut (ε-açgözlü, UCB)Yalnızca seçtiği eylemin ödülüOrtalama tahmini + keşif
Pekiştirmeli öğrenme (Q-öğrenme)Ödül ve yeni durumQ(s, a) değerlerini günceller
Replikatör dinamiğiNüfustaki ortalama başarıBaşarılı strateji yayılır

Yukarıdan aşağı: gereken bilgi azalır ya da bakış bireyden nüfusa kayar.

En İyi Tepki ve Kurgusal Oyun

En İyi Tepki Dinamiği (Adım Adım)

Sütun oyuncusuSatır oyuncusuXYZABC(4,3)(0,2)(1,1)(2,1)(3,3)(0,2)(1,4)(2,0)(3,2)

Başlangıç profili (B, Z). Oyuncular sırayla, rakibin şu anki eylemine en iyi tepki verir.

Sütun oyuncusuSatır oyuncusuXYZABC(4,3)(0,2)(1,1)(2,1)(3,3)(0,2)(1,4)(2,0)(3,2)

Satır oyuncusu Z'ye karşı en iyi tepkiyi arar: u1 = 1, 0, 3 → C. Profil (C, Z).

Sütun oyuncusuSatır oyuncusuXYZABC(4,3)(0,2)(1,1)(2,1)(3,3)(0,2)(1,4)(2,0)(3,2)

Sütun oyuncusu C'ye karşı: u2 = 4, 0, 2 → X. Profil (C, X).

Sütun oyuncusuSatır oyuncusuXYZABC(4,3)(0,2)(1,1)(2,1)(3,3)(0,2)(1,4)(2,0)(3,2)

Satır oyuncusu X'e karşı: u1 = 4, 2, 1 → A. Profil (A, X).

Sütun oyuncusuSatır oyuncusuXYZABC(4,3)(0,2)(1,1)(2,1)(3,3)(0,2)(1,4)(2,0)(3,2)

Sütun oyuncusu A'ya karşı zaten X'i seçiyor (3 > 2, 1); satır da A'dan ayrılmaz → dinamik (A, X) Nash dengesinde durur.

(C, Y)'den başlansaydı (B, Y) dengesine gidilirdi: varılan denge başlangıca bağlı.

En İyi Tepki ve Kurgusal Oyun

En İyi Tepki Dinamiği Ne Zaman Yakınsar?

AyrıştıranEşleştirenYTYT(1,−1)(−1,1)(−1,1)(1,−1)

Yazı-Tura Eşleştirme: (Y,Y) → (Y,T) → (T,T) → (T,Y) → (Y,Y) … sonsuz döngü

Potansiyel oyunlar: yakınsarHer kârlı sapma ortak bir potansiyel fonksiyonu artırır; sonlu oyunda sonsuza kadar artamaz (Monderer–Shapley 1996; tıkanıklık oyunları).
Saf dengesi olmayan oyunlar: dönerYazı-Tura'da her adım bir oyuncuyu mutlu, diğerini mutsuz eder.
Çare: geçmişi hatırlaYalnızca son eyleme değil, tüm geçmişe tepki ver → kurgusal oyun.

En İyi Tepki ve Kurgusal Oyun

Kurgusal Oyun: Yazı-Tura Eşleştirme

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
2
3
4
5
6
7
8
9
10

1. tur keyfî: ikisi de Y oynar (henüz geçmiş yok).

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
21 / 0Y1 / 0T1,000,50
3
4
5
6
7
8
9
10

Eşleştiren rakip geçmişinde 1 / 0 görür → Y (çoğunluğu eşler, eşitlikte Y). Ayrıştıran 1 / 0 görür → T (çoğunluğun tersi, eşitlikte Y).

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
21 / 0Y1 / 0T1,000,50
31 / 1Y2 / 0T1,000,33
4
5
6
7
8
9
10

Eşleştiren rakip geçmişinde 1 / 1 görür → Y (çoğunluğu eşler, eşitlikte Y). Ayrıştıran 2 / 0 görür → T (çoğunluğun tersi, eşitlikte Y).

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
21 / 0Y1 / 0T1,000,50
31 / 1Y2 / 0T1,000,33
41 / 2T3 / 0T0,750,25
5
6
7
8
9
10

Eşleştiren rakip geçmişinde 1 / 2 görür → T (çoğunluğu eşler, eşitlikte Y). Ayrıştıran 3 / 0 görür → T (çoğunluğun tersi, eşitlikte Y).

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
21 / 0Y1 / 0T1,000,50
31 / 1Y2 / 0T1,000,33
41 / 2T3 / 0T0,750,25
51 / 3T3 / 1T0,600,20
6
7
8
9
10

Eşleştiren rakip geçmişinde 1 / 3 görür → T (çoğunluğu eşler, eşitlikte Y). Ayrıştıran 3 / 1 görür → T (çoğunluğun tersi, eşitlikte Y).

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
21 / 0Y1 / 0T1,000,50
31 / 1Y2 / 0T1,000,33
41 / 2T3 / 0T0,750,25
51 / 3T3 / 1T0,600,20
61 / 4T3 / 2T0,500,17
7
8
9
10

Eşleştiren rakip geçmişinde 1 / 4 görür → T (çoğunluğu eşler, eşitlikte Y). Ayrıştıran 3 / 2 görür → T (çoğunluğun tersi, eşitlikte Y).

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
21 / 0Y1 / 0T1,000,50
31 / 1Y2 / 0T1,000,33
41 / 2T3 / 0T0,750,25
51 / 3T3 / 1T0,600,20
61 / 4T3 / 2T0,500,17
71 / 5T3 / 3Y0,430,29
8
9
10

Eşleştiren rakip geçmişinde 1 / 5 görür → T (çoğunluğu eşler, eşitlikte Y). Ayrıştıran 3 / 3 görür → Y (çoğunluğun tersi, eşitlikte Y).

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
21 / 0Y1 / 0T1,000,50
31 / 1Y2 / 0T1,000,33
41 / 2T3 / 0T0,750,25
51 / 3T3 / 1T0,600,20
61 / 4T3 / 2T0,500,17
71 / 5T3 / 3Y0,430,29
82 / 5T3 / 4Y0,380,38
9
10

Eşleştiren rakip geçmişinde 2 / 5 görür → T (çoğunluğu eşler, eşitlikte Y). Ayrıştıran 3 / 4 görür → Y (çoğunluğun tersi, eşitlikte Y).

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
21 / 0Y1 / 0T1,000,50
31 / 1Y2 / 0T1,000,33
41 / 2T3 / 0T0,750,25
51 / 3T3 / 1T0,600,20
61 / 4T3 / 2T0,500,17
71 / 5T3 / 3Y0,430,29
82 / 5T3 / 4Y0,380,38
93 / 5T3 / 5Y0,330,44
10

Eşleştiren rakip geçmişinde 3 / 5 görür → T (çoğunluğu eşler, eşitlikte Y). Ayrıştıran 3 / 5 görür → Y (çoğunluğun tersi, eşitlikte Y).

tAyrıştıran geçmişi Y/TEşleştirenEşleştiren geçmişi Y/TAyrıştıranEşl. Y oranıAyr. Y oranı
10 / 0Y0 / 0Y1,001,00
21 / 0Y1 / 0T1,000,50
31 / 1Y2 / 0T1,000,33
41 / 2T3 / 0T0,750,25
51 / 3T3 / 1T0,600,20
61 / 4T3 / 2T0,500,17
71 / 5T3 / 3Y0,430,29
82 / 5T3 / 4Y0,380,38
93 / 5T3 / 5Y0,330,44
104 / 5T3 / 6Y0,300,50

Eşleştiren rakip geçmişinde 4 / 5 görür → T (çoğunluğu eşler, eşitlikte Y). Ayrıştıran 3 / 6 görür → Y (çoğunluğun tersi, eşitlikte Y).

En İyi Tepki ve Kurgusal Oyun

Kod İzleme: Kurgusal Oyun (Yazı-Tura, 6 tur)

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirensonraki tur profiliEşleştiren geçmişiY0T0Ayrıştıran geçmişiY0T0

Çağrı fictitious(6). Sayaçlar sıfır; geçmiş olmadığı için 1. turda ikisi de Y oynar.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirenbu turda oynananEşleştiren geçmişiY oranı 1,00Y1T0Ayrıştıran geçmişiY oranı 1,00Y1T0

Tur 1: (Y, Y) oynanır, eşleştiren kazanır. Sayaçlar: eşleştiren Y/T = 1/0, ayrıştıran Y/T = 1/0.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirensonraki tur profiliEşleştiren geçmişiY oranı 1,00Y1T0Ayrıştıran geçmişiY oranı 1,00Y1T0

Sonraki tur: ayrıştıran çoğunlukla Y oynadı → eşleştiren Y; eşleştiren çoğunlukla Y oynadı → ayrıştıran T.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirenbu turda oynananEşleştiren geçmişiY oranı 1,00Y2T0Ayrıştıran geçmişiY oranı 0,50Y1T1

Tur 2: (Y, T) oynanır, ayrıştıran kazanır. Sayaçlar: eşleştiren Y/T = 2/0, ayrıştıran Y/T = 1/1.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirensonraki tur profiliEşleştiren geçmişiY oranı 1,00Y2T0Ayrıştıran geçmişiY oranı 0,50Y1T1

Sonraki tur: ayrıştıranın sayaçları eşit (eşitlikte Y) → eşleştiren Y; eşleştiren çoğunlukla Y oynadı → ayrıştıran T.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirenbu turda oynananEşleştiren geçmişiY oranı 1,00Y3T0Ayrıştıran geçmişiY oranı 0,33Y1T2

Tur 3: (Y, T) oynanır, ayrıştıran kazanır. Sayaçlar: eşleştiren Y/T = 3/0, ayrıştıran Y/T = 1/2.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirensonraki tur profiliEşleştiren geçmişiY oranı 1,00Y3T0Ayrıştıran geçmişiY oranı 0,33Y1T2

Sonraki tur: ayrıştıran çoğunlukla T oynadı → eşleştiren T; eşleştiren çoğunlukla Y oynadı → ayrıştıran T.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirenbu turda oynananEşleştiren geçmişiY oranı 0,75Y3T1Ayrıştıran geçmişiY oranı 0,25Y1T3

Tur 4: (T, T) oynanır, eşleştiren kazanır. Sayaçlar: eşleştiren Y/T = 3/1, ayrıştıran Y/T = 1/3.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirensonraki tur profiliEşleştiren geçmişiY oranı 0,75Y3T1Ayrıştıran geçmişiY oranı 0,25Y1T3

Sonraki tur: ayrıştıran çoğunlukla T oynadı → eşleştiren T; eşleştiren çoğunlukla Y oynadı → ayrıştıran T.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirenbu turda oynananEşleştiren geçmişiY oranı 0,60Y3T2Ayrıştıran geçmişiY oranı 0,20Y1T4

Tur 5: (T, T) oynanır, eşleştiren kazanır. Sayaçlar: eşleştiren Y/T = 3/2, ayrıştıran Y/T = 1/4.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirensonraki tur profiliEşleştiren geçmişiY oranı 0,60Y3T2Ayrıştıran geçmişiY oranı 0,20Y1T4

Sonraki tur: ayrıştıran çoğunlukla T oynadı → eşleştiren T; eşleştiren çoğunlukla Y oynadı → ayrıştıran T.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirenbu turda oynananEşleştiren geçmişiY oranı 0,50Y3T3Ayrıştıran geçmişiY oranı 0,17Y1T5

Tur 6: (T, T) oynanır, eşleştiren kazanır. Sayaçlar: eşleştiren Y/T = 3/3, ayrıştıran Y/T = 1/5.

AyrıştıranYTY(1, −1)(−1, 1)T(−1, 1)(1, −1)Eşleştirenbu turda oynananEşleştiren geçmişiY oranı 0,50Y3T3Ayrıştıran geçmişiY oranı 0,17Y1T5

return ne = [3, 3], na = [1, 5]. Eylemler döngüye girer (YY → YT → TT → TY …); döngüler uzadıkça frekanslar ½'ye yaklaşır (6 turda 0,50 ve 0,17; 400 turda 0,472 ve 0,492).

def fictitious(T):
    ne, na = [0, 0], [0, 0]   # Y/T sayaçları
    a, b = 0, 0               # 1. tur: ikisi de Y
    for t in range(1, T + 1):
        ne[a] += 1            # eşleştirenin geçmişi
        na[b] += 1            # ayrıştıranın geçmişi
        # eşleştiren: ayrıştıranın çoğunluğunu eşle
        a = 0 if na[0] >= na[1] else 1
        # ayrıştıran: eşleştirenin çoğunluğundan ayrış
        b = 1 if ne[0] > ne[1] else 0
    return ne, na

En İyi Tepki ve Kurgusal Oyun

Kurgusal Oyun: Frekanslar Dengeye Yakınsar

110020030040000,51tur tY oynama frekansıEşleştirenAyrıştıranNash: 0,5
  • Eylemler döngüler hâlinde değişir (döngüler giderek uzar), ama frekanslar karışık dengeye (½, ½) yaklaşır: 400 turda 0,472 ve 0,492.
  • Yakınsama garantisi: iki kişilik sıfır toplamlı oyunlar (Robinson 1951), 2×2 oyunlar, potansiyel oyunlar. Shapley (1964): 3×3 bir oyunda frekanslar döner, yakınsamaz.

Pişmanlık ve Hedge

Dışsal Pişmanlık: “Lideri İzle” Neden Başarısız?

Dışsal pişmanlık RT = maxi Σt gt(i) − Σt gt(at): geriye dönük en iyi sabit eylemle fark. RT/T → 0 ise algoritma pişmanlıksızdır.

tÖnceki toplam A / Bg(A)g(B)Lideri izleKazanç
10,0 / 0,00,50,0A0,5
2
3
4
5
6

Lider A (toplam 0,0 / 0,0) → A seçilir; tur kazancı 0,5. Algoritmanın toplamı: 0,5.

tÖnceki toplam A / Bg(A)g(B)Lideri izleKazanç
10,0 / 0,00,50,0A0,5
20,5 / 0,00,01,0A0,0
3
4
5
6

Lider A (toplam 0,5 / 0,0) → A seçilir; tur kazancı 0,0. Algoritmanın toplamı: 0,5.

tÖnceki toplam A / Bg(A)g(B)Lideri izleKazanç
10,0 / 0,00,50,0A0,5
20,5 / 0,00,01,0A0,0
30,5 / 1,01,00,0B0,0
4
5
6

Lider B (toplam 0,5 / 1,0) → B seçilir; tur kazancı 0,0. Algoritmanın toplamı: 0,5.

tÖnceki toplam A / Bg(A)g(B)Lideri izleKazanç
10,0 / 0,00,50,0A0,5
20,5 / 0,00,01,0A0,0
30,5 / 1,01,00,0B0,0
41,5 / 1,00,01,0A0,0
5
6

Lider A (toplam 1,5 / 1,0) → A seçilir; tur kazancı 0,0. Algoritmanın toplamı: 0,5.

tÖnceki toplam A / Bg(A)g(B)Lideri izleKazanç
10,0 / 0,00,50,0A0,5
20,5 / 0,00,01,0A0,0
30,5 / 1,01,00,0B0,0
41,5 / 1,00,01,0A0,0
51,5 / 2,01,00,0B0,0
6

Lider B (toplam 1,5 / 2,0) → B seçilir; tur kazancı 0,0. Algoritmanın toplamı: 0,5.

tÖnceki toplam A / Bg(A)g(B)Lideri izleKazanç
10,0 / 0,00,50,0A0,5
20,5 / 0,00,01,0A0,0
30,5 / 1,01,00,0B0,0
41,5 / 1,00,01,0A0,0
51,5 / 2,01,00,0B0,0
62,5 / 2,00,01,0A0,0

Lider A (toplam 2,5 / 2,0) → A seçilir; tur kazancı 0,0. Algoritmanın toplamı: 0,5. En iyi sabit eylem B: 3. Pişmanlık = 3 − 0,5 = 2,5 ≈ T/2.

Pişmanlık ve Hedge

Çarpımsal Ağırlıklar / Hedge

  1. Her eyleme ağırlık ver: wi = 1.
  2. Her turda olasılıkla oyna: pi = wi / Σj wj.
  3. Tüm eylemlerin kazancını gör, güncelle:
    wi ← wi · eη·gt(i)
Teorem. Kazançlar [0, 1] aralığında ve n eylem varsa RT ≤ (ln n)/η + ηT. η = √(ln n / T) seçilirse RT ≤ 2√(T ln n), yani RT/T → 0.
Rastgelelik şartLideri izle deterministik olduğu için rakip onu sömürür; Hedge karışık oynar.
η: öğrenme oranıBüyük η hızlı tepki ama gürültüye duyarlı; küçük η yavaş ama kararlı.
OyunlardaHerkes pişmanlıksız oynarsa zaman ortalaması kaba korelasyonlu dengeye, sıfır toplamlıda minimaksa yaklaşır.

Pişmanlık ve Hedge

Kod İzleme: Çarpımsal Ağırlıklar

p=0,33Aw=1,00p=0,33Bw=1,00p=0,33Cw=1,00

Üç uzman (eylem) A, B, C; η = 0,5. Başlangıçta ağırlıklar eşit: w = [1, 1, 1].

p=0,33Aw=1,00p=0,33Bw=1,00p=0,33Cw=1,00

Tur 1: W = 3,00, olasılıklar p = [0,33, 0,33, 0,33].

p=0,33Aw=1,00 g=1,0p=0,33Bw=1,00 g=0,0p=0,33Cw=1,00 g=0,5

Kazançlar açıklanır g = [1, 0, 0,5]. Beklenen kazanç Σ p·g = 0,50 → top = 0,50.

p=0,42Aw=1,65 g=1,0p=0,25Bw=1,00 g=0,0p=0,33Cw=1,28 g=0,5

Güncelleme w ← w·e0,5·g: w = [1,65, 1,00, 1,28]. İyi uzmanın payı büyür.

p=0,42Aw=1,65p=0,25Bw=1,00p=0,33Cw=1,28

Tur 2: W = 3,93, olasılıklar p = [0,42, 0,25, 0,33].

p=0,42Aw=1,65 g=1,0p=0,25Bw=1,00 g=0,0p=0,33Cw=1,28 g=0,5

Kazançlar açıklanır g = [1, 0, 0,5]. Beklenen kazanç Σ p·g = 0,58 → top = 1,08.

p=0,51Aw=2,72 g=1,0p=0,19Bw=1,00 g=0,0p=0,31Cw=1,65 g=0,5

Güncelleme w ← w·e0,5·g: w = [2,72, 1,00, 1,65]. İyi uzmanın payı büyür.

p=0,51Aw=2,72p=0,19Bw=1,00p=0,31Cw=1,65

Tur 3: W = 5,37, olasılıklar p = [0,51, 0,19, 0,31].

p=0,51Aw=2,72 g=0,0p=0,19Bw=1,00 g=1,0p=0,31Cw=1,65 g=0,5

Kazançlar açıklanır g = [0, 1, 0,5]. Beklenen kazanç Σ p·g = 0,34 → top = 1,42.

p=0,42Aw=2,72 g=0,0p=0,25Bw=1,65 g=1,0p=0,33Cw=2,12 g=0,5

Güncelleme w ← w·e0,5·g: w = [2,72, 1,65, 2,12]. İyi uzmanın payı büyür.

p=0,42Aw=2,72p=0,25Bw=1,65p=0,33Cw=2,12

Tur 4: W = 6,48, olasılıklar p = [0,42, 0,25, 0,33].

p=0,42Aw=2,72 g=0,0p=0,25Bw=1,65 g=1,0p=0,33Cw=2,12 g=0,5

Kazançlar açıklanır g = [0, 1, 0,5]. Beklenen kazanç Σ p·g = 0,42 → top = 1,84.

p=0,33Aw=2,72 g=0,0p=0,33Bw=2,72 g=1,0p=0,33Cw=2,72 g=0,5

Güncelleme w ← w·e0,5·g: w = [2,72, 2,72, 2,72]. İyi uzmanın payı büyür.

p=0,33Aw=2,72p=0,33Bw=2,72p=0,33Cw=2,72

Tur 5: W = 8,15, olasılıklar p = [0,33, 0,33, 0,33].

p=0,33Aw=2,72 g=0,0p=0,33Bw=2,72 g=1,0p=0,33Cw=2,72 g=0,5

Kazançlar açıklanır g = [0, 1, 0,5]. Beklenen kazanç Σ p·g = 0,50 → top = 2,34.

p=0,25Aw=2,72 g=0,0p=0,42Bw=4,48 g=1,0p=0,33Cw=3,49 g=0,5

Güncelleme w ← w·e0,5·g: w = [2,72, 4,48, 3,49]. İyi uzmanın payı büyür.

p=0,25Aw=2,72p=0,42Bw=4,48p=0,33Cw=3,49

return 2,34. En iyi sabit uzman B: 3. Pişmanlık = 3 − 2,34 = 0,66 (lideri izle 5 turda bundan kötü olabilir).

import math
def hedge(G, eta):
    w = [1.0] * len(G[0])
    top = 0.0
    for g in G:                       # her tur
        W = sum(w)
        p = [x / W for x in w]
        top += sum(pi * gi for pi, gi in zip(p, g))
        w = [x*math.exp(eta*gi) for x, gi in zip(w, g)]
    return top

Pişmanlık ve Hedge

Hedge Kendine Karşı: Yazı-Tura Eşleştirme

115030045060000,51tur tEşleştirenin P(Y)son yinelemezaman ortalaması
  • İki oyuncu da Hedge (η = 0,1) kullanıyor. Başlangıç ağırlıkları: eşleştiren (Y, T) = (0,8; 0,2), yani P(Y) = 0,8; ayrıştıran (0,5; 0,5). Kazanan 1, kaybeden 0 alır; her turda iki oyuncu da eylemlerinin beklenen kazancıyla aynı anda günceller.
  • Son yineleme dengeye oturmaz, etrafında büyük salınımlar yapar; zaman ortalaması minimaks stratejisine (½, ½) yaklaşır (600 turda 0,498). Minimaks teoreminin öğrenme yoluyla ispatı buna dayanır.

Pişmanlık ve Hedge

Pişmanlıksız Öğrenme Hangi Dengeye Gider?

Kaba korelasyonlu denge (CCE)← pişmanlıksız dinamikler (Hedge)Korelasyonlu denge (CE)← iç pişmanlıksız dinamiklerKarışık Nash dengesivar olur ama PPAD-tamSaf Nash dengesiher oyunda olmayabilir
  • Kaba korelasyonlu denge (coarse correlated equilibrium, CCE): oyuncuların ortak dağılımı σ; hiçbir oyuncu σ'yı bırakıp “hep a′ oyna”ya geçerek kazanamaz. Herkes pişmanlıksız oynarsa zaman ortalaması CCE'ye yaklaşır.
  • Korelasyonlu denge (correlated equilibrium, CE): oyuncu kendisine önerilen eylemi gördükten sonra da sapmaz. İç (swap) pişmanlığı küçük algoritmalar CE'ye götürür (Foster–Vohra 1997, Hart–Mas-Colell 2000, Blum–Mansour 2007).
  • CE ve CCE doğrusal programla polinom zamanda hesaplanır; karışık Nash dengesi ise PPAD-tam.
Kavşaktaki trafik ışığı Tavuk oyununda bir korelasyonlu denge önerir: ışığa uymamak kimseye kazanç sağlamaz. Pişmanlıksız öğrenme bu dengeleri merkezî bir hesaplayıcı olmadan bulur (Roughgarden, Ders 17–18).

Çok Kollu Haydut

Çok Kollu Haydut (Multi-Armed Bandit)

  • K kollu kumar makinesi: kol i, ortalaması μi olan (bilinmeyen) rastgele ödül verir.
  • Her turda bir kol çekilir ve yalnızca onun ödülü görülür (Hedge'den farkı: kısmi geri bildirim).
  • Pişmanlık: RT = T·μ* − Σt μat, μ* = en iyi kolun ortalaması.
Keşif ve sömürü ikilemi: keşif yeni kollar hakkında bilgi toplar; sömürü o ana kadar en iyi görüneni kullanır. Yalnız sömürü yanlış kola takılır, yalnız keşif ödülü boşa harcar.
00,511,5UCB 1,13kol 0 · N=9UCB 1,09kol 1 · N=8UCB 1,18kol 2 · N=23● Q ▮ Q ± güven payı - - gerçek μ

UCB1, μ = (0,3; 0,5; 0,7), 40 tur: az denenen kolun aralığı geniştir, bu yüzden yeniden denenir.

Uygulamalar: reklam ve haber önerisi, A/B testi, klinik deneyler, fiyat deneme.

Çok Kollu Haydut

Kod İzleme: ε-Açgözlü (ε = 0,2)

Q=0,00kol 0 · N=0Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

Çağrı: egreedy([0.3, 0.5, 0.7], 8, 0.2, random.Random(11)). Tahminler Q = 0, sayaçlar N = 0. Kodda kollar 0'dan numaralanır: kol 0, 1, 2 = Kol 1, 2, 3.

Q=0,00kol 0 · N=0Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

t = 1: 0,452 ≥ 0,2 → sömürü: en büyük Q'lu kol 0 (eşitlikte ilk indis).

Q=0,00kol 0 · N=1 · r=0Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 0; N[0] = 1, Q[0] = 0,00 (artımlı ortalama).

Q=0,00kol 0 · N=1Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

t = 2: 0,924 ≥ 0,2 → sömürü: en büyük Q'lu kol 0 (eşitlikte ilk indis).

Q=0,00kol 0 · N=2 · r=0Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 0; N[0] = 2, Q[0] = 0,00 (artımlı ortalama).

Q=0,00kol 0 · N=2Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

t = 3: 0,508 ≥ 0,2 → sömürü: en büyük Q'lu kol 0 (eşitlikte ilk indis).

Q=0,00kol 0 · N=3 · r=0Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 0; N[0] = 3, Q[0] = 0,00 (artımlı ortalama).

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

t = 4: rastgele sayı 0,185 < 0,2 → keşif, rastgele kol 2.

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=1,00kol 2 · N=1 · r=1- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 1; N[2] = 1, Q[2] = 1,00 (artımlı ortalama).

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=1,00kol 2 · N=1- - gerçek μ = 0,3 · 0,5 · 0,7

t = 5: 0,614 ≥ 0,2 → sömürü: en büyük Q'lu kol 2.

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=1,00kol 2 · N=2 · r=1- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 1; N[2] = 2, Q[2] = 1,00 (artımlı ortalama).

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=1,00kol 2 · N=2- - gerçek μ = 0,3 · 0,5 · 0,7

t = 6: 0,447 ≥ 0,2 → sömürü: en büyük Q'lu kol 2.

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=1,00kol 2 · N=3 · r=1- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 1; N[2] = 3, Q[2] = 1,00 (artımlı ortalama).

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=1,00kol 2 · N=3- - gerçek μ = 0,3 · 0,5 · 0,7

t = 7: 0,539 ≥ 0,2 → sömürü: en büyük Q'lu kol 2.

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=0,75kol 2 · N=4 · r=0- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 0; N[2] = 4, Q[2] = 0,75 (artımlı ortalama).

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=0,75kol 2 · N=4- - gerçek μ = 0,3 · 0,5 · 0,7

t = 8: 0,634 ≥ 0,2 → sömürü: en büyük Q'lu kol 2.

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=0,80kol 2 · N=5 · r=1- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 1; N[2] = 5, Q[2] = 0,80 (artımlı ortalama).

Q=0,00kol 0 · N=3Q=0,00kol 1 · N=0Q=0,80kol 2 · N=5- - gerçek μ = 0,3 · 0,5 · 0,7

return N = [3, 0, 5]. İlk 3 tur kol 0'a takıldı (hepsi 0 ödül, eşitlikte ilk kol); tek bir keşif en iyi kolu (2) buldu.

def egreedy(mu, T, eps, rng):
    N, Q = [0] * len(mu), [0.0] * len(mu)
    for t in range(1, T + 1):
        if rng.random() < eps:           # keşif
            a = rng.randrange(len(mu))
        else:                            # sömürü
            a = Q.index(max(Q))
        r = 1 if rng.random() < mu[a] else 0
        N[a] += 1
        Q[a] += (r - Q[a]) / N[a]
    return N, Q

Çok Kollu Haydut

Kod İzleme: UCB1 (Üst Güven Sınırı)

Q=0,00kol 0 · N=0Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

Çağrı: ucb([0.3, 0.5, 0.7], 8, random.Random(3)). Tahminler ve sayaçlar sıfır.

Q=0,00kol 0 · N=0Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

t = 1: hiç denenmemiş kolun payı ∞ → ilk denenmemiş kol 0 seçilir (her kol bir kez).

Q=1,00kol 0 · N=1 · r=1Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 1; Q[0] = 1,00, N[0] = 1.

Q=1,00kol 0 · N=1Q=0,00kol 1 · N=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

t = 2: hiç denenmemiş kolun payı ∞ → ilk denenmemiş kol 1 seçilir (her kol bir kez).

Q=1,00kol 0 · N=1Q=0,00kol 1 · N=1 · r=0Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 0; Q[1] = 0,00, N[1] = 1.

Q=1,00kol 0 · N=1Q=0,00kol 1 · N=1Q=0,00kol 2 · N=0- - gerçek μ = 0,3 · 0,5 · 0,7

t = 3: hiç denenmemiş kolun payı ∞ → ilk denenmemiş kol 2 seçilir (her kol bir kez).

Q=1,00kol 0 · N=1Q=0,00kol 1 · N=1Q=1,00kol 2 · N=1 · r=1- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 1; Q[2] = 1,00, N[2] = 1.

2,67Q=1,00kol 0 · N=11,67Q=0,00kol 1 · N=12,67Q=1,00kol 2 · N=1- - gerçek μ = 0,3 · 0,5 · 0,7

t = 4: güven payı √(2 ln t / N) = [1,67, 1,67, 1,67]; UCB = Q + b = [2,67, 1,67, 2,67] → en büyük: kol 0.

Q=0,50kol 0 · N=2 · r=0Q=0,00kol 1 · N=1Q=1,00kol 2 · N=1- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 0; Q[0] = 0,50, N[0] = 2.

1,77Q=0,50kol 0 · N=21,79Q=0,00kol 1 · N=12,79Q=1,00kol 2 · N=1- - gerçek μ = 0,3 · 0,5 · 0,7

t = 5: güven payı √(2 ln t / N) = [1,27, 1,79, 1,79]; UCB = Q + b = [1,77, 1,79, 2,79] → en büyük: kol 2.

Q=0,50kol 0 · N=2Q=0,00kol 1 · N=1Q=1,00kol 2 · N=2 · r=1- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 1; Q[2] = 1,00, N[2] = 2.

1,84Q=0,50kol 0 · N=21,89Q=0,00kol 1 · N=12,34Q=1,00kol 2 · N=2- - gerçek μ = 0,3 · 0,5 · 0,7

t = 6: güven payı √(2 ln t / N) = [1,34, 1,89, 1,34]; UCB = Q + b = [1,84, 1,89, 2,34] → en büyük: kol 2.

Q=0,50kol 0 · N=2Q=0,00kol 1 · N=1Q=1,00kol 2 · N=3 · r=1- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 1; Q[2] = 1,00, N[2] = 3.

1,89Q=0,50kol 0 · N=21,97Q=0,00kol 1 · N=12,14Q=1,00kol 2 · N=3- - gerçek μ = 0,3 · 0,5 · 0,7

t = 7: güven payı √(2 ln t / N) = [1,39, 1,97, 1,14]; UCB = Q + b = [1,89, 1,97, 2,14] → en büyük: kol 2.

Q=0,50kol 0 · N=2Q=0,00kol 1 · N=1Q=1,00kol 2 · N=4 · r=1- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 1; Q[2] = 1,00, N[2] = 4.

1,94Q=0,50kol 0 · N=22,04Q=0,00kol 1 · N=12,02Q=1,00kol 2 · N=4- - gerçek μ = 0,3 · 0,5 · 0,7

t = 8: güven payı √(2 ln t / N) = [1,44, 2,04, 1,02]; UCB = Q + b = [1,94, 2,04, 2,02] → en büyük: kol 1.

Q=0,50kol 0 · N=2Q=0,00kol 1 · N=2 · r=0Q=1,00kol 2 · N=4- - gerçek μ = 0,3 · 0,5 · 0,7

Ödül r = 0; Q[1] = 0,00, N[1] = 2.

Q=0,50kol 0 · N=2Q=0,00kol 1 · N=2Q=1,00kol 2 · N=4- - gerçek μ = 0,3 · 0,5 · 0,7

return N = [2, 2, 4]. Az denenen kolun payı büyük kalır: t = 8'de kol 1 (tek deneme, Q = 0) yeniden denendi — keşif kendiliğinden.

def ucb(mu, T, rng):
    K = len(mu)
    N, Q = [0] * K, [0.0] * K
    for t in range(1, T + 1):
        b = [math.inf if n == 0 else
             math.sqrt(2*math.log(t)/n) for n in N]
        a = max(range(K), key=lambda i: Q[i] + b[i])
        r = 1 if rng.random() < mu[a] else 0
        N[a] += 1
        Q[a] += (r - Q[a]) / N[a]
    return N, Q

Çok Kollu Haydut

Karşılaştırma: 5000 Tur, 100 Tekrar

0100020003000400050000306090120150tur tortalama birikimli pişmanlık← yalnız sömürü: 0,4·T = 2000 (grafik dışına çıkar)ε-açgözlü (0,1): 118UCB1: 84
  • Kollar μ = (0,3; 0,5; 0,7), tohumlar 0–99. Yalnız sömürü her seferinde kol 0'a takılır: pişmanlık 0,4·T, doğrusal.
  • ε-açgözlü hep %10 keşif yaptığı için doğrusal büyür; UCB1 keşfe daha çok tur ayırır (yaklaşık 300.–2.400. turlarda geride), ama pişmanlığı logaritmik (Auer vd., 2002) olduğundan 2.400. turdan sonra öndedir.
  • ε bir ayar parametresidir: kısa izlemede keşif görünsün diye 0,2, uzun karşılaştırmada 0,1, Çok Kollu Haydut oyununda 0,15 seçildi. Küçük ε daha az keşif, daha geç düzeltme demektir.

Çok Kollu Haydut

Oyuna Dönüş: Çok Kollu Haydut

Kuramın cevabı: keşfin bir bedeli var

Kollar μ = (0,3; 0,5; 0,7) iken 100 turda beklenen ödül ve pişmanlık:

StratejiÖdülPişmanlık
hep rastgele (yalnız keşif)5020
0,5'lik kola bağlanmak5020
ε-açgözlü, ε = 0,15 (en iyiyi bulduktan sonra)673
hep en iyi kol700

ε-açgözlü her tur 0,15 olasılıkla keşfe devam eder; UCB1 keşfi az denenen kollara yöneltir, pişmanlığı logaritmik büyür.

Açılıştaki soru

Kol 3'ün tek başarısız çekişi çok az bilgi verir. UCB1 burada Kol 3'ü seçer: puanı 0 + √(2 ln 8 / 1) ≈ 2,04, Kol 1'inki 0,67 + √(2 ln 8 / 3) ≈ 1,84.

Gerçekte: Dört kollu bir haydut deneyinde insan deneklerin seçimleri, belirsizliğe bonus veren (UCB benzeri) keşiften çok, değer farkına göre olasılıklı seçimle (softmax seçimi) açıklandı (Daw vd., 2006).

Tek bir deneyle algoritmaları sıralamak yanıltıcıdır: ödüller rastgeledir, karşılaştırma birçok deneyin ortalamasıyla yapılır.

Pekiştirmeli Öğrenme

Hayduttan Pekiştirmeli Öğrenmeye

  • Haydut = tek durumlu problem. Pekiştirmeli öğrenmede eylem, ödülün yanında bir sonraki durumu da belirler.
  • Q-öğrenme (Watkins, 1989): durum-eylem değerini gözlenen geçişle günceller
Q(s, a) ← Q(s, a) + α [ r + γ · maxa′ Q(s′, a′) − Q(s, a) ]
Sayısal örnekQ(s, a) = 2, r = 1, γ = 0,9, max Q(s′, ·) = 4, α = 0,5:Q ← 2 + 0,5·(1 + 3,6 − 2) = 3,3
Çoklu ajan ortamındaDiğer ajanlar da öğrendiği için ortam durağan değildir; tek ajanlı yakınsama garantileri geçerliliğini yitirir. Kendine karşı oyun (AlphaZero) bir çözüm yoludur.

Pekiştirmeli Öğrenme

Kod İzleme: Q-Öğrenme (α = 0,5, γ = 0,9)

s0← 0,000→ 0,000s1← 0,000→ 0,000s2← 0,000→ 0,000s3 · hedefr = 1, epizot biter

Çağrı q_learn(ep, 0.5, 0.9): s0'dan başlayan 3 epizot. Tüm Q değerleri 0; s3 hedef (+1).

s0← 0,000→ 0,000s1← 0,000→ 0,000s2← 0,000→ 0,000s3 · hedefr = 1, epizot bitersağ, r = 0

Epizot 1: s0 → sağ → s1, r = 0. best = max Q(s1, ·) = 0,000; hedef = 0,000; Q(s0,sağ) = 0,000 + 0,5·(0,000 − 0,000) = 0,000.

s0← 0,000→ 0,000s1← 0,000→ 0,000s2← 0,000→ 0,000s3 · hedefr = 1, epizot bitersağ, r = 0

Epizot 1: s1 → sağ → s2, r = 0. best = max Q(s2, ·) = 0,000; hedef = 0,000; Q(s1,sağ) = 0,000 + 0,5·(0,000 − 0,000) = 0,000.

s0← 0,000→ 0,000s1← 0,000→ 0,000s2← 0,000→ 0,500s3 · hedefr = 1, epizot bitersağ, r = 1

Epizot 1: s2 → sağ → s3, r = 1. s3 hedef → best = 0; hedef = 1,000; Q(s2,sağ) = 0,000 + 0,5·(1,000 − 0,000) = 0,500.

s0← 0,000→ 0,000s1← 0,000→ 0,000s2← 0,000→ 0,500s3 · hedefr = 1, epizot bitersağ, r = 0

Epizot 2: s0 → sağ → s1, r = 0. best = max Q(s1, ·) = 0,000; hedef = 0,000; Q(s0,sağ) = 0,000 + 0,5·(0,000 − 0,000) = 0,000.

s0← 0,000→ 0,000s1← 0,000→ 0,225s2← 0,000→ 0,500s3 · hedefr = 1, epizot bitersağ, r = 0

Epizot 2: s1 → sağ → s2, r = 0. best = max Q(s2, ·) = 0,500; hedef = 0,450; Q(s1,sağ) = 0,000 + 0,5·(0,450 − 0,000) = 0,225.

s0← 0,000→ 0,000s1← 0,000→ 0,225s2← 0,000→ 0,750s3 · hedefr = 1, epizot bitersağ, r = 1

Epizot 2: s2 → sağ → s3, r = 1. s3 hedef → best = 0; hedef = 1,000; Q(s2,sağ) = 0,500 + 0,5·(1,000 − 0,500) = 0,750.

s0← 0,000→ 0,101s1← 0,000→ 0,225s2← 0,000→ 0,750s3 · hedefr = 1, epizot bitersağ, r = 0

Epizot 3: s0 → sağ → s1, r = 0. best = max Q(s1, ·) = 0,225; hedef = 0,203; Q(s0,sağ) = 0,000 + 0,5·(0,203 − 0,000) = 0,101.

s0← 0,000→ 0,101s1← 0,046→ 0,225s2← 0,000→ 0,750s3 · hedefr = 1, epizot bitersol, r = 0

Epizot 3: s1 → sol → s0, r = 0. best = max Q(s0, ·) = 0,101; hedef = 0,091; Q(s1,sol) = 0,000 + 0,5·(0,091 − 0,000) = 0,046.

s0← 0,000→ 0,152s1← 0,046→ 0,225s2← 0,000→ 0,750s3 · hedefr = 1, epizot bitersağ, r = 0

Epizot 3: s0 → sağ → s1, r = 0. best = max Q(s1, ·) = 0,225; hedef = 0,203; Q(s0,sağ) = 0,101 + 0,5·(0,203 − 0,101) = 0,152.

s0← 0,000→ 0,152s1← 0,046→ 0,450s2← 0,000→ 0,750s3 · hedefr = 1, epizot bitersağ, r = 0

Epizot 3: s1 → sağ → s2, r = 0. best = max Q(s2, ·) = 0,750; hedef = 0,675; Q(s1,sağ) = 0,225 + 0,5·(0,675 − 0,225) = 0,450.

s0← 0,000→ 0,152s1← 0,046→ 0,450s2← 0,000→ 0,875s3 · hedefr = 1, epizot bitersağ, r = 1

Epizot 3: s2 → sağ → s3, r = 1. s3 hedef → best = 0; hedef = 1,000; Q(s2,sağ) = 0,750 + 0,5·(1,000 − 0,750) = 0,875.

s0← 0,000→ 0,152s1← 0,046→ 0,450s2← 0,000→ 0,875s3 · hedefr = 1, epizot biter

return Q. Ödül hedeften geriye yayıldı: Q(s2,sağ) = 0,875 → Q(s1,sağ) = 0,450 → Q(s0,sağ) = 0,152. Her hücrede Q(sağ) > Q(sol): açgözlü politika “hep sağa”.

def q_learn(episodes, alpha, gamma):
    Q = [[0.0, 0.0] for s in range(4)]  # [sol, sağ]
    for ep in episodes:
        for s, a, r, s2 in ep:
            best = 0 if s2 == 3 else max(Q[s2])
            hedef = r + gamma * best
            Q[s][a] += alpha * (hedef - Q[s][a])
    return Q

Pekiştirmeli Öğrenme

Q-öğrenmenin Ötesi: Yöntemler ve Kilometre Taşları

  • Thompson örneklemesi (1933): her kolun sonsalından (ör. Beta) örnek çek, en büyük örneğin kolunu oyna; logaritmik pişmanlık.
  • EXP3 (Auer vd., 2002): kısmi geri bildirimli Hedge; ödülleri bir rakip seçse bile (çekişmeli haydut) pişmanlık O(√(T K ln K)).
  • Kazan-kal, kaybet-değiş (Win-Stay Lose-Shift, WSLS; Nowak–Sigmund, 1993): 3 ya da 5 aldıysan aynı hamle, 0 ya da 1 aldıysan değiştir; Mahkûmun İkileminde tek hatadan iki turda işbirliğine döner.
  • SARSA, DQN: hedefte seçilen a′ (SARSA); Q tablosu yerine sinir ağı (Mnih vd., 2015).
  • Pişmanlık eşleştirme (Hart–Mas-Colell, 2000): her eylemi birikmiş pozitif pişmanlığıyla orantılı oyna; poker yapay zekâlarındaki CFR bunu oyun ağacına taşır (Zinkevich vd., 2007).
YılSistemYöntem
1992TD-Gammon (tavla)kendine karşı oyun
2017–19Libratus, Pluribus (poker)CFR (pişmanlık)
2018AlphaZero (satranç, Go)kendine karşı oyun
Oyunlar RL için iyi bir laboratuvardır: kurallar açık, ödül net, oyun milyonlarca kez tekrarlanabilir; pokerde pişmanlık tabanlı yöntemler öne çıktı.

Evrimsel Dinamik

Replikatör Dinamiği

  • Büyük bir nüfusta bireyler rastgele eşleşir; her biri bir strateji “genine” sahiptir. Rasyonellik yok, seçilim var.
  • Ortalamanın üstünde kazanan strateji yayılır:
    ẋi = xi ( fi(x) − f̄(x) )
  • Kesikli zaman: xi′ = xi · fi / f̄ (uygunluklar pozitif olsun diye taban uygunluk 3 eklenir).
  • Evrimsel kararlı strateji (ESS): küçük bir mutant grubu istila edemez (Maynard Smith–Price, 1973).
RakipBireyŞahinGüvercinŞahinGüvercin(−1,−1)(4,0)(0,4)(2,2)

Şahin–Güvercin: kaynak V = 4, kavga maliyeti C = 6

Evrimsel Dinamik

Replikatör Dinamiği Adım Adım: Şahin–Güvercin

nesilx (şahin payı)fŞfGf̄yeni x = x·fŞ/f̄
00,1006,504,804,970,131
1
2
3
4
5
6
7

x = 0,100: fŞ = 3 − x + 4(1−x) = 6,50, fG = 3 + 2(1−x) = 4,80. fŞ > f̄ → şahinler artar.

nesilx (şahin payı)fŞfGf̄yeni x = x·fŞ/f̄
00,1006,504,804,970,131
10,1316,354,744,950,168
2
3
4
5
6
7

x = 0,131: fŞ = 3 − x + 4(1−x) = 6,35, fG = 3 + 2(1−x) = 4,74. fŞ > f̄ → şahinler artar.

nesilx (şahin payı)fŞfGf̄yeni x = x·fŞ/f̄
00,1006,504,804,970,131
10,1316,354,744,950,168
20,1686,164,664,920,210
3
4
5
6
7

x = 0,168: fŞ = 3 − x + 4(1−x) = 6,16, fG = 3 + 2(1−x) = 4,66. fŞ > f̄ → şahinler artar.

nesilx (şahin payı)fŞfGf̄yeni x = x·fŞ/f̄
00,1006,504,804,970,131
10,1316,354,744,950,168
20,1686,164,664,920,210
30,2105,954,584,870,257
4
5
6
7

x = 0,210: fŞ = 3 − x + 4(1−x) = 5,95, fG = 3 + 2(1−x) = 4,58. fŞ > f̄ → şahinler artar.

nesilx (şahin payı)fŞfGf̄yeni x = x·fŞ/f̄
00,1006,504,804,970,131
10,1316,354,744,950,168
20,1686,164,664,920,210
30,2105,954,584,870,257
40,2575,724,494,800,306
5
6
7

x = 0,257: fŞ = 3 − x + 4(1−x) = 5,72, fG = 3 + 2(1−x) = 4,49. fŞ > f̄ → şahinler artar.

nesilx (şahin payı)fŞfGf̄yeni x = x·fŞ/f̄
00,1006,504,804,970,131
10,1316,354,744,950,168
20,1686,164,664,920,210
30,2105,954,584,870,257
40,2575,724,494,800,306
50,3065,474,394,720,354
6
7

x = 0,306: fŞ = 3 − x + 4(1−x) = 5,47, fG = 3 + 2(1−x) = 4,39. fŞ > f̄ → şahinler artar.

nesilx (şahin payı)fŞfGf̄yeni x = x·fŞ/f̄
00,1006,504,804,970,131
10,1316,354,744,950,168
20,1686,164,664,920,210
30,2105,954,584,870,257
40,2575,724,494,800,306
50,3065,474,394,720,354
60,3545,234,294,620,401
7

x = 0,354: fŞ = 3 − x + 4(1−x) = 5,23, fG = 3 + 2(1−x) = 4,29. fŞ > f̄ → şahinler artar.

nesilx (şahin payı)fŞfGf̄yeni x = x·fŞ/f̄
00,1006,504,804,970,131
10,1316,354,744,950,168
20,1686,164,664,920,210
30,2105,954,584,870,257
40,2575,724,494,800,306
50,3065,474,394,720,354
60,3545,234,294,620,401
70,4015,004,204,520,443

x = 0,401: fŞ = 3 − x + 4(1−x) = 5,00, fG = 3 + 2(1−x) = 4,20. fŞ > f̄ → şahinler artar.

Evrimsel Dinamik

Her Başlangıçtan ESS'ye: x* = V/C = 2/3

010203002/31nesilşahin payı xx₀ = 0,05x₀ = 0,40x₀ = 0,95ESS: V/C = 2/3
  • Dinlenme noktası fŞ = fG: 7 − 5x = 5 − 2x ⇒ x* = 2/3 — oyunun simetrik karışık Nash dengesiyle aynı.
  • Taş-Kağıt-Makas'ta replikatör dinamiği dengenin etrafında döner; Geyik Avı'nda başlangıca göre iki saf dengeden birine gider.

Tekrarlanan Oyunlar

Tekrarlanan Mahkûmun İkilemi

Oyuncu 2Oyuncu 1İşbirliğiİhanetİşbirliğiİhanet(3,3)(0,5)(5,0)(1,1)

Puan (yüksek iyi): T = 5 > R = 3 > P = 1 > S = 0. İşbirliği = sessiz kalmak. Buradaki T cazibe kazancıdır; pişmanlıktaki tur sayısı T ile aynı harf, farklı anlam.

  • Tek seferlik oyunda ve sonlu, bilinen sayıda tekrarda (geriye doğru çıkarımla) her turda ihanet.
  • Oyun her turdan sonra δ olasılıkla sürüyorsa (geleceğin gölgesi) kinci strateji (Grim, bir tetik stratejisi) işbirliğini koruyabilir:

Uymak: her tur R = 3 ⇒ 3 + 3δ + … = 3/(1 − δ).

Sapmak: bu tur T = 5, sonra hep P = 1 ⇒ 5 + δ/(1 − δ).

Uymak ≥ sapmak ⇔ 3 ≥ 5(1 − δ) + δ ⇔ δ ≥ (T − R)/(T − P) = 1/2.

δ = 0,9: uymak 30, sapmak 14 ⇒ işbirliği. δ = 0,3: uymak ≈ 4,29, sapmak ≈ 5,43 ⇒ ihanet.

Ceza inandırıcı: (H, H) tek turun dengesidir, iki Grim birlikte alt oyun mükemmel dengedir. Halk teoremi (folk theorem): δ yeterince büyükse bireysel rasyonel pek çok ortalama kazanç dengede elde edilebilir.

Tekrarlanan Oyunlar

10 Turluk Maçlar: Kim Ne Oynar?

Tit-for-Tatİİİİİİİİİİ= 30Hep İşbirliğiİİİİİİİİİİ= 3012345678910

TFT işbirliği yapana işbirliğiyle karşılık verir: iki taraf da 30 puan. (Toplam: 30 – 30)

Tit-for-TatİHHHHHHHHH= 9Hep İhanetHHHHHHHHHH= 1412345678910

TFT ilk turda sömürülür, sonra hep ihanet eder: 9'a 14. TFT bir maçı asla kazanamaz (en fazla berabere). (Toplam: 9 – 14)

Tit-for-TatİHİHİHİHİH= 25Şüpheci TFTHİHİHİHİHİ= 2512345678910

Şüpheci TFT ihanetle başlar; iki TFT birbirini “yankılar” → İ/H dönüşümlü, ikisi de 25. (Toplam: 25 – 25)

Kinci (Grim)İHHHHHHHHH= 13Şüpheci TFTHİHHHHHHHH= 1312345678910

Kinci, tek ihaneti hiç affetmez: ilk turdan sonra karşılıklı ihanet sürer. (Toplam: 13 – 13)

Hep İhanetHHHHHHHHHH= 50Hep İşbirliğiİİİİİİİİİİ= 012345678910

Hep İhanet, saf işbirlikçiyi tamamen sömürür: 50'ye 0. (Toplam: 50 – 0)

İ: işbirliği (yeşil), H: ihanet (kırmızı). TFT: ilk turda işbirliği, sonra rakibin son hamlesini tekrarla.

Tekrarlanan Oyunlar

Kod İzleme: match(tft, stft, 6)

TFT= 0Şüpheci TFT= 0

Çağrı match(tft, stft, 6): geçmişler boş, puanlar 0.

TFT= 0Şüpheci TFT= 0

t = 0: Geçmiş boş: TFT İ, Şüpheci TFT H ile açar.

TFTİ= 0Şüpheci TFTH= 5

PAY["IH"] = (0, 5) → puanlar 0 – 5.

TFTİ= 0Şüpheci TFTH= 5

t = 1: İkisi de rakibin son hamlesini kopyalar: TFT → H, ŞTFT → İ.

TFTİH= 5Şüpheci TFTHİ= 5

PAY["HI"] = (5, 0) → puanlar 5 – 5.

TFTİH= 5Şüpheci TFTHİ= 5

t = 2: İkisi de rakibin son hamlesini kopyalar: TFT → İ, ŞTFT → H.

TFTİHİ= 5Şüpheci TFTHİH= 10

PAY["IH"] = (0, 5) → puanlar 5 – 10.

TFTİHİ= 5Şüpheci TFTHİH= 10

t = 3: İkisi de rakibin son hamlesini kopyalar: TFT → H, ŞTFT → İ.

TFTİHİH= 10Şüpheci TFTHİHİ= 10

PAY["HI"] = (5, 0) → puanlar 10 – 10.

TFTİHİH= 10Şüpheci TFTHİHİ= 10

t = 4: İkisi de rakibin son hamlesini kopyalar: TFT → İ, ŞTFT → H.

TFTİHİHİ= 10Şüpheci TFTHİHİH= 15

PAY["IH"] = (0, 5) → puanlar 10 – 15.

TFTİHİHİ= 10Şüpheci TFTHİHİH= 15

t = 5: İkisi de rakibin son hamlesini kopyalar: TFT → H, ŞTFT → İ.

TFTİHİHİH= 15Şüpheci TFTHİHİHİ= 15

PAY["HI"] = (5, 0) → puanlar 15 – 15.

TFTİHİHİH= 15Şüpheci TFTHİHİHİ= 15

return (15, 15). Tek bir ilk ihanet sonsuz bir “yankı” başlatır: İH/Hİ dönüşümlü, tur başına ortalama 2,5 puan (karşılıklı işbirliğinde 3 olurdu).

PAY = {"II": (3, 3), "IH": (0, 5),
       "HI": (5, 0), "HH": (1, 1)}
tft = lambda ben, rakip: rakip[-1] if rakip else "I"
stft = lambda ben, rakip: rakip[-1] if rakip else "H"
def match(s1, s2, T):
    h1, h2, p1, p2 = [], [], 0, 0
    for t in range(T):
        a, b = s1(h1, h2), s2(h2, h1)
        u, v = PAY[a + b]
        h1.append(a); h2.append(b)
        p1, p2 = p1 + u, p2 + v
    return p1, p2

Tekrarlanan Oyunlar

Mini Axelrod Turnuvası: Adım Adım

Strateji \ rakipHep-İHep-HTFTKinciŞTFTToplamSıra
Hep İşbirliği300303027117
Hep İhanet
Tit-for-Tat
Kinci (Grim)
Şüpheci TFT

Hep İşbirliği herkesle (kendi ikiziyle de) 10 tur oynar: toplam 117; en çok Hep İşbirliği karşısında kazanır (30).

Strateji \ rakipHep-İHep-HTFTKinciŞTFTToplamSıra
Hep İşbirliği300303027117
Hep İhanet501014141098
Tit-for-Tat
Kinci (Grim)
Şüpheci TFT

Hep İhanet herkesle (kendi ikiziyle de) 10 tur oynar: toplam 98; en çok Hep İşbirliği karşısında kazanır (50).

Strateji \ rakipHep-İHep-HTFTKinciŞTFTToplamSıra
Hep İşbirliği300303027117
Hep İhanet501014141098
Tit-for-Tat309303025124
Kinci (Grim)
Şüpheci TFT

Tit-for-Tat herkesle (kendi ikiziyle de) 10 tur oynar: toplam 124; en çok Hep İşbirliği karşısında kazanır (30).

Strateji \ rakipHep-İHep-HTFTKinciŞTFTToplamSıra
Hep İşbirliği300303027117
Hep İhanet501014141098
Tit-for-Tat309303025124
Kinci (Grim)309303013112
Şüpheci TFT

Kinci (Grim) herkesle (kendi ikiziyle de) 10 tur oynar: toplam 112; en çok Hep İşbirliği karşısında kazanır (30).

Strateji \ rakipHep-İHep-HTFTKinciŞTFTToplamSıra
Hep İşbirliği300303027117
Hep İhanet501014141098
Tit-for-Tat309303025124
Kinci (Grim)309303013112
Şüpheci TFT321025131090

Şüpheci TFT herkesle (kendi ikiziyle de) 10 tur oynar: toplam 90; en çok Hep İşbirliği karşısında kazanır (32).

Strateji \ rakipHep-İHep-HTFTKinciŞTFTToplamSıra
Hep İşbirliği3003030271172
Hep İhanet5010141410984
Tit-for-Tat3093030251241
Kinci (Grim)3093030131123
Şüpheci TFT3210251310905

Sıralama: Tit-for-Tat (124), Hep İşbirliği (117), Kinci (Grim) (112), Hep İhanet (98), Şüpheci TFT (90). Tit-for-Tat birinci — hiçbir maçı kazanmadan! Hep İhanet ise sondan ikinci.

Satırdaki stratejinin, sütundaki rakibe karşı 10 turda topladığı puan. Hep-İ: Hep İşbirliği, Hep-H: Hep İhanet, ŞTFT: Şüpheci TFT.

Tekrarlanan Oyunlar

Axelrod Turnuvaları (1980) ve Dersleri

Robert Axelrod iki bilgisayar turnuvası düzenledi (14 ve 62 program). İkisini de Anatol Rapoport'un 4 satırlık Tit-for-Tat'ı kazandı.

İyi niyetliİlk ihaneti yapan olma.
Misilleme yapanİhanet cezasız kalmasın.
AffediciRakip dönerse sen de dön.
AnlaşılırRakip kuralını kolayca öğrenebilsin.
  • Gürültü (yanlış hamle olasılığı) varsa iki TFT sonsuz misilleme döngüsüne girer; cömert TFT ihaneti bazen affeder ve daha iyi sonuç verir.
  • Başarı ortama bağlıdır: rakip havuzu değişirse sıralama değişir — evrimsel turnuvada (replikatör) başarılı stratejiler çoğalır.
TFT (A)İİİHhataİHİHİH= 29TFT (B)İİİİHİHİHİ= 24

İki TFT, 4. turda A'nın tek bir hatası: sonrası sonsuz İ/H yankısı. 10 turda 29 – 24 (hatasız 30 – 30).

Özet

Tartışma: Öğrenme, İnsan ve Etik

Öğrenme her zaman optimuma götürür mü?Hayır. Bazı dinamikler döner (Yazı-Tura, Shapley örneği); çevre ve rakipler değişir; yanlış model kötü yakınsama doğurur. Güvenilir hedef çoğu zaman pişmanlıksızlıktır.
İnsanlar algoritmalar gibi mi öğrenir?Benzer: deneme-yanılma, geçmişten öğrenme. Farklı: insanlar risk algısı, duygular ve sosyal normlarla hareket eder; algoritmalar tanımlı bir ödülü izler.
Uyarlanabilir sistemlerde etik risklerVeri önyargısı, kullanıcıyı manipüle eden öneriler (tıklama tuzağı), mahremiyet, algoritmik fiyat koordinasyonu (öğrenen fiyat botlarının örtük anlaşması).

Özet

Özet

YöntemAna fikirSonuç
En iyi tepki dinamiğiSon eyleme en iyi tepkiPotansiyel oyunda dengeye; aksi hâlde döngü
Kurgusal oyunGeçmiş frekanslara en iyi tepkiSıfır toplamlıda frekanslar dengeye
Hedgew ← w·eηgRT = O(√(T ln n)); zaman ortalaması → CCE
ε-açgözlü / UCBKeşif–sömürü dengesiUCB: logaritmik pişmanlık
Q-öğrenmeQ ← Q + α(r + γ·max Q′ − Q)Ödül hedeften geriye yayılır
ReplikatörBaşarılı strateji yayılırŞahin–Güvercin: x* = V/C
Tekrarlanan MIGeleceğin gölgesiδ ≥ 1/2 ise işbirliği; TFT güçlü

Özet

Örnek Problemler

  1. Hedge'de η = ln 2, iki eylem, ilk iki turda kazançlar (1, 0) ve (1, 0). Üçüncü turda p1 kaçtır?
  2. UCB1, t = 10'da: kol 1 için Q = 0,6, N = 5; kol 2 için Q = 0,2, N = 1. Hangi kol seçilir?
  3. Şahin–Güvercin (V = 4, C = 6, taban 3) oyununda x = 0,5 iken bir sonraki nesilde şahin payı artar mı?
  4. T = 5, R = 3, P = 1 için Grim ile işbirliğini sürdürmek için gereken en küçük δ nedir? T = 7 olsaydı?
  5. Kurgusal oyun ile en iyi tepki dinamiği arasındaki fark nedir? Yazı-Tura'da hangisi dengeye “yaklaşır”?
  6. Q-öğrenmede Q(s, a) = 1, r = 0, γ = 0,9, max Q(s′, ·) = 2, α = 0,1. Güncellemeden sonra Q(s, a) kaç olur?
Cevapları göster
  1. w = (e2 ln 2, 1) = (4, 1) ⇒ p1 = 4/5 = 0,8.
  2. UCB = 0,6 + √(2 ln 10 / 5) ≈ 1,56; 0,2 + √(2 ln 10) ≈ 2,35 ⇒ kol 2 (az denendiği için).
  3. fŞ = 4,50, fG = 4,00, f̄ = 4,25 ⇒ x′ = 0,529 > 0,5: artar (2/3'e doğru).
  4. δ ≥ (5−3)/(5−1) = 1/2; T = 7 ise δ ≥ (7−3)/(7−1) = 2/3.
  5. En iyi tepki yalnız son eyleme bakar ve döner; kurgusal oyun tüm geçmişin frekansına bakar, frekanslar (½, ½)'ye yaklaşır.
  6. Q ← 1 + 0,1·(0 + 0,9·2 − 1) = 1,08: hedef 1,8 eski değerden büyük olduğu için Q artar.

Özet

Etkileşimli Oyunlar ve Laboratuvarlar

Çok Kollu Haydutε-açgözlü, UCB ve elle seçilen stratejiyle kol çekme.
Nashpy (Python kütüphanesi)Herhangi bir kazanç matrisinde kurgusal oyun (fictitious_play) ve replikatör dinamiği (replicator_dynamics).
Tekrarlanan MI TurnuvasıStratejilerin turnuvada yarışı: TFT yenilebilir mi?
Replikatör DinamiğiŞahin–Güvercin, Taş-Kağıt-Makas ve evrimsel laboratuvar.

Özet

Kaynaklar

  • D. Fudenberg, D. Levine, The Theory of Learning in Games, MIT Press, 1998.
  • N. Cesa-Bianchi, G. Lugosi, Prediction, Learning, and Games, Cambridge, 2006.
  • T. Lattimore, C. Szepesvári, Bandit Algorithms, Cambridge, 2020.
  • P. Auer, N. Cesa-Bianchi, P. Fischer, “Finite-time analysis of the multiarmed bandit problem”, Machine Learning 47, 2002.
  • C. Watkins, P. Dayan, “Q-learning”, Machine Learning 8, 1992; A. Blum, Y. Mansour, “From external to internal regret”, JMLR 8, 2007.
  • R. Axelrod, The Evolution of Cooperation, Basic Books, 1984.
  • J. Hofbauer, K. Sigmund, Evolutionary Games and Population Dynamics, Cambridge, 1998.
  • T. Roughgarden, Twenty Lectures on Algorithmic Game Theory, 2016 (Ders 16–18); ders sayfası: CS364A (Stanford, 2013).
  • N. Nisan, T. Roughgarden, É. Tardos, V. Vazirani (ed.), Algorithmic Game Theory, Cambridge, 2007 (Bölüm 4: öğrenme, pişmanlık ve denge).
  • A. R. Karlin, Y. Peres, Game Theory, Alive, AMS, 2017 (Bölüm 7: evrimsel denge; Bölüm 18: uyarlanabilir karar verme); D. Easley, J. Kleinberg, Networks, Crowds, and Markets, 2010 (Bölüm 7: evrimsel oyun kuramı).
  • Araç: Nashpy (kurgusal oyun, replikatör dinamiği).

Özet

Kaynaklar (2/2)

  • J. Robinson, “An iterative method of solving a game”, Annals of Mathematics 54(2), 1951; K. Miyasawa, “On the convergence of the learning process in a 2×2 non-zero-sum two-person game”, Princeton Research Memo 33, 1961; L. S. Shapley, “Some topics in two-person games”, Advances in Game Theory, 1964.
  • D. Monderer, L. S. Shapley, “Potential games”, Games and Economic Behavior 14(1), 1996.
  • D. Foster, R. Vohra, “Calibrated learning and correlated equilibrium”, Games and Economic Behavior 21, 1997; S. Hart, A. Mas-Colell, “A simple adaptive procedure leading to correlated equilibrium”, Econometrica 68(5), 2000.
  • J. Maynard Smith, G. R. Price, “The logic of animal conflict”, Nature 246, 1973.
  • W. R. Thompson, “On the likelihood that one unknown probability exceeds another in view of the evidence of two samples”, Biometrika 25, 1933.
  • P. Auer, N. Cesa-Bianchi, Y. Freund, R. E. Schapire, “The nonstochastic multiarmed bandit problem”, SIAM Journal on Computing 32(1), 2002.
  • N. D. Daw, J. P. O’Doherty, P. Dayan, B. Seymour, R. J. Dolan, “Cortical substrates for exploratory decisions in humans”, Nature 441, 2006.
  • C. Watkins, Learning from Delayed Rewards, doktora tezi, Cambridge Üniversitesi, 1989; V. Mnih vd., “Human-level control through deep reinforcement learning”, Nature 518, 2015.
  • M. Zinkevich, M. Johanson, M. Bowling, C. Piccione, “Regret minimization in games with incomplete information”, NeurIPS, 2007.
  • M. Nowak, K. Sigmund, “A strategy of win-stay, lose-shift that outperforms tit-for-tat in the Prisoner’s Dilemma game”, Nature 364, 1993.

Son

Bölüm 13: Öğrenme ve Adaptasyon
Sonraki bölüm: Bölüm 14: Gelecek Yönelimler
Çalışma soruları · Terim sözlüğü
1 / 1 Sercan KÜLCÜ, Tüm hakları saklıdır.