Algoritmik Oyun Kuramı · Ders Notu
Bölüm 13: Öğrenme ve Adaptasyon
Oyun kuramının klasik sorusu “dengede ne olur?” sorusudur. Bu soru, oyuncuların oyunu bildiğini ve dengeyi hesaplayabildiğini varsayar. Gerçekte oyuncular çoğu zaman kazanç tablosunu bilmez, dengeyi hesaplayacak gücü de yoktur; yalnızca oynar, sonucu görür ve bir sonraki seferde davranışını biraz değiştirir. Bu bölüm, böyle basit güncelleme kurallarının uzun vadede nereye gittiğini inceler. En iyi tepki dinamiği ve kurgusal oyun rakibin geçmişine bakar; Hedge algoritması pişmanlığı küçültür; çok kollu haydut algoritmaları keşif ile sömürü arasında denge kurar; Q-öğrenme ödülü durumlar arasında geriye yayar; replikatör dinamiği başarılı stratejinin nüfusta yayılmasını modeller; tekrarlanan Mahkûmun İkilemi de işbirliğinin nasıl öğrenilip korunabildiğini gösterir.
Öğrenme çıktıları
- Dinamikler
- En 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ık
- Dış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 tekrar
- Replikatör dinamiğini ve tekrarlanan Mahkûmun İkilemi'nde Tit-for-Tat'ın başarısını açıklamak.
13.1Giriş
Denge analizi oyunları çoğunlukla “dışarıdan” çözer: kazanç matrisi verilir, denge hesaplanır ve oyuncuların o dengeyi oynayacağı kabul edilir. Bu bölümde bakış açısı değişir. Oyuncuların kendisi bir algoritmadır. Her turda bir eylem seçer, sonucu gözler ve kuralını günceller. Soru artık “denge nedir?” değil, “bu güncelleme kuralı uzun vadede nereye gider?” sorusudur.
13.1.1Bir oyunla başlangıç: çok kollu haydut
Bölümün açılış oyunu bir kumar makinesidir. Makinenin üç kolu vardır. Her kol, gizli bir olasılıkla 1 puan verir, yoksa 0 verir. Bir kolu çekince yalnızca o kolun sonucu görülür; öteki kolların o turda ne vereceği öğrenilemez. Amaç, belirli sayıda çekişte toplam ödülü en büyük yapmaktır. İngilizcede tek kollu kumar makinesine “tek kollu haydut” denir; bu yüzden birden çok kolu olan probleme çok kollu haydut (multi-armed bandit) adı verilir.
Şekil 13.1'de sekiz çekişten sonraki durum görülür. Kol 1'in gözlenen ortalaması 2/3 ≈ 0,67 ile en yüksektir. Kol 3 ise tek denemede başarısız olmuştur. İki makul düşünce çatışır. Birincisine göre en iyi görünen kol Kol 1'dir ve kalan çekişler ona harcanmalıdır. İkincisine göre Kol 3 hakkında neredeyse hiçbir şey bilinmemektedir; gerçek olasılığı yüksek olsa bile tek bir başarısız deneme şaşırtıcı değildir. Kol 3'ü yeniden denemek bilgi kazandırır, ama bu çekiş o anki en iyi tahminden vazgeçmek demektir.
Bu gerilimin adı keşif–sömürü ikilemidir (exploration–exploitation). Keşif, az bilinen seçenekleri bilgi toplamak için denemektir. Sömürü, o ana kadar en iyi görünen seçeneği kullanmaktır. Yalnızca sömüren bir oyuncu yanlış kola takılabilir; yalnızca keşfeden bir oyuncu ise öğrendiğini hiç kullanmaz. Örneğin yüz çekişlik bir oyunda kaç çekişin keşfe ayrılacağı sorusunun tek bir doğru cevabı yoktur; cevap kolların ne kadar farklı olduğuna ve oyunun ne kadar süreceğine bağlıdır. Bölümün ortasında bu soruya iki algoritmayla (ε-açgözlü ve UCB1) sayısal cevaplar verilir ve açılıştaki durum yeniden ele alınır.
13.1.2Neden öğrenme ve adaptasyon?
Önce iki terimi ayıralım. Öğrenme, geçmiş deneyimden bir strateji geliştirmektir. Adaptasyon (uyum), rakip ya da çevre değişince stratejiyi güncellemektir. İkisi çoğu zaman birlikte görülür: bir teklif algoritması dünkü açık artırmalardan öğrenir, bugün rakipler değişince yeniden uyum sağlar.
Şekil 13.2 bu bölümdeki bütün algoritmaların ortak iskeletini gösterir. Algoritmalar yalnız iki noktada ayrılır: neyi gözledikleri ve gözlemi nasıl kullandıkları. Bu iskeletin neden gerekli olduğunu üç gözlem açıklar.
- Denge hesaplamak zor olabilir. Genel oyunlarda karışık Nash dengesini bulmak PPAD-tam bir problemdir. PPAD-tam, büyük oyunlarda hızlı (çok terimli zamanlı) bir çözüm yolu bilinmeyen bir problem sınıfıdır. Bilgisayarlar bile dengeyi hızlı bulamıyorsa, oyuncuların dengeyi kafadan hesapladığını varsaymak zordur. O hâlde oyuncular dengeyi nasıl “bulur”?
- Oyuncular oyunu bilmiyor olabilir. Kazanç matrisi çoğu zaman bilinmez. Bir reklamveren, rakiplerinin değerlemelerini görmez; bir sürücü, öteki sürücülerin rota seçimlerini görmez. Oyuncu yalnızca oynayıp sonucu görür.
- Asıl soru basit kuralların gücüdür. Basit, yerel güncelleme kuralları uzun vadede dengeye, ya da en azından iyi bir performansa götürür mü? Bu bölüm bu soruya sınıf sınıf cevap verir: bazı kurallar bazı oyunlarda dengeye gider, bazıları döner, bazıları dengeye gitmese bile “pişmanlıksız” olur.
Örnekler günlük hayattan tanıdıktır. Satranç ve poker yapay zekâları kendilerine karşı milyonlarca oyun oynayarak öğrenir. Reklam açık artırmalarındaki teklif algoritmaları her gün sonuçlara bakıp tekliflerini ayarlar. Navigasyon uygulamaları trafiğe göre rota değiştirir; her sürücünün rotası öteki sürücülerin trafiğini etkilediği için bu da bir oyundur.
13.1.3Öğrenme modellerine genel bakış
Bölümde altı öğrenme modeli incelenir. Tablo 13.1 bunları iki soruya göre karşılaştırır: oyuncu neyi gözler ve nasıl günceller?
| Model | Oyuncu neyi gözler? | Nasıl günceller? |
|---|---|---|
| En iyi tepki dinamiği | Rakibin son eylemi | Ona en iyi tepkiyi verir |
| Kurgusal oyun (fictitious play) | Rakibin tüm geçmişi | Frekanslara 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 durum | Q(s, a) değerlerini günceller |
| Replikatör dinamiği | Nüfustaki ortalama başarı | Başarılı strateji yayılır |
Tablo yukarıdan aşağı okunduğunda bir eğilim görülür. İlk iki modelde oyuncu rakibi izler: rakibin ne oynadığını bilir ve buna göre en iyi tepkiyi hesaplar. Bunun için oyuncunun kendi kazanç tablosunu bilmesi gerekir. Hedge'de oyuncu rakibi değil, kendi eylemlerinin kazancını izler; rakibin ne yaptığını bilmesine gerek kalmaz. Haydut ve Q-öğrenmede bilgi daha da azalır: yalnızca seçilen eylemin ödülü görülür. Son satırda ise bakış bireyden nüfusa kayar; tek bir oyuncunun “düşünmesi” yoktur, başarılı davranış çoğalır.
Modeller arasındaki bir başka fark, tam geri bildirim ile kısmi geri bildirim ayrımıdır. Tam geri bildirimde oyuncu, oynamadığı eylemlerin de o turda ne kazandıracağını öğrenir. Örneğin bir yatırımcı hangi hisseyi alırsa alsın akşam bütün hisselerin getirisini görür. Kısmi geri bildirimde yalnızca seçilen eylemin sonucu görülür. Örneğin bir hekim bir hastaya bir ilacı verdiğinde öteki ilacın o hastada ne yapacağını hiçbir zaman öğrenemez. Hedge tam geri bildirim için, haydut algoritmaları kısmi geri bildirim için tasarlanmıştır; keşif gereksinimi bu farktan doğar.
“Öğrenme” sözcüğünü yalnızca yapay sinir ağlarıyla özdeşleştirmek. Bu bölümdeki algoritmaların çoğu birkaç satırlık sayaç ve ağırlık güncellemesidir. Öğrenmeyi tanımlayan şey karmaşıklık değil, davranışın gözlenen sonuçlara göre değişmesidir.
13.2En iyi tepki ve kurgusal oyun
En basit öğrenme kuralları, Nash dengesinin tanımından doğrudan çıkar. Nash dengesi, her oyuncunun ötekilerin seçimine en iyi tepki verdiği profildir. O hâlde oyuncular sırayla en iyi tepki verirse, bir noktada herkesin en iyi tepki verdiği bir profile, yani dengeye varılabilir. Bu bölümde bu fikrin ne zaman işlediği, ne zaman döngüye girdiği ve döngünün geçmişi hatırlayarak nasıl kırılabildiği incelenir.
Bir ön bilgiyi hatırlatalım. Oyuncu i'nin, ötekilerin s−i seçimine en iyi tepkisi (best response), kazancını en yüksek yapan stratejidir: BRi(s−i) = argmaxsi ui(si, s−i). İki kişilik bir matris oyununda satır oyuncusunun en iyi tepkisi, rakibin sütununda ilk sayıların en büyüğünü veren satırdır; sütun oyuncusunun en iyi tepkisi, rakibin satırında ikinci sayıların en büyüğünü veren sütundur. Bir profil, iki oyuncu da birbirine en iyi tepki veriyorsa Nash dengesidir.
13.2.1En iyi tepki dinamiği adım adım
En iyi tepki dinamiği (best-response dynamics): bir başlangıç profilinden başlanır. Oyuncular sırayla, rakiplerinin şu anki eylemine en iyi tepki verecek biçimde kendi eylemlerini değiştirir. Hiçbir oyuncu eylemini değiştirmek istemediğinde dinamik durur.
Dinamik durduğu anda her oyuncu ötekilerin eylemine en iyi tepki vermektedir; bu, Nash dengesinin tanımıdır. Demek ki en iyi tepki dinamiği durursa bir saf Nash dengesinde durur. Asıl soru, dinamiğin durup durmadığıdır. Önce durduğu bir örneğe bakalım.
| X | Y | Z | |
|---|---|---|---|
| A | (4, 3) | (0, 2) | (1, 1) |
| B | (2, 1) | (3, 3) | (0, 2) |
| C | (1, 4) | (2, 0) | (3, 2) |
Tablo 13.2'deki oyunda dinamik (B, Z) profilinden başlasın. Önce satır oyuncusu, sonra sütun oyuncusu hareket etsin.
- Satır oyuncusu Z'ye karşı: Z sütununda ilk sayılar A: 1, B: 0, C: 3'tür. En büyüğü 3 olduğundan satır oyuncusu C'ye geçer. Profil (C, Z) olur.
- Sütun oyuncusu C'ye karşı: C satırında ikinci sayılar X: 4, Y: 0, Z: 2'dir. En büyüğü 4 olduğundan sütun oyuncusu X'e geçer. Profil (C, X) olur.
- Satır oyuncusu X'e karşı: X sütununda ilk sayılar A: 4, B: 2, C: 1'dir. Satır oyuncusu A'ya geçer. Profil (A, X) olur.
- Sütun oyuncusu A'ya karşı: A satırında ikinci sayılar X: 3, Y: 2, Z: 1'dir. Sütun oyuncusu zaten X'i seçmektedir (3 > 2, 1); değiştirmez.
- Satır oyuncusu yeniden X'e karşı: A zaten en iyisidir (4 > 2, 1). Kimse değiştirmek istemez; dinamik (A, X)'te durur ve (A, X) bir Nash dengesidir.
Aynı dinamik (C, Y)'den başlasaydı sonuç farklı olurdu. Satır oyuncusu Y'ye karşı A: 0, B: 3, C: 2 görür ve B'ye geçer. Sütun oyuncusu B'ye karşı X: 1, Y: 3, Z: 2 görür ve Y'de kalır. Dinamik (B, Y) dengesinde durur.
Şekil 13.3'te okların her biri tek bir oyuncunun değişimidir. Dikey oklar satır oyuncusunun (yalnız satır değişir, sütun sabit), yatay oklar sütun oyuncusunun hamlesidir. Örnek iki önemli gözlem verir. Birincisi, dinamik bir dengede durdu; her adımda yalnızca bir oyuncunun yerel bir hesap yapması yetti, kimse dengeyi “çözmedi”. İkincisi, hangi dengeye varıldığı başlangıca bağlıdır. Birden çok denge olan oyunlarda öğrenme kuralı, bir denge seçim mekanizması gibi çalışır: (B, Z)'den başlayan nüfus (A, X)'e, (C, Y)'den başlayan nüfus (B, Y)'ye yerleşir.
- İki oyuncuyu aynı anda güncellemek: Bu örnekte oyuncular sırayla hareket eder. İkisi aynı anda en iyi tepki verseydi farklı bir yol izlenirdi; örneğin (B, Z)'de satır C'ye, sütun da B'ye karşı en iyi tepki olan Y'ye aynı anda geçer ve (C, Y)'ye varılır.
- Yanlış sayıya bakmak: Satır oyuncusu her zaman ilk sayıyı, sütun oyuncusu ikinci sayıyı büyütmek ister. Sütun oyuncusunun hesabında satır oyuncusunun kazancına bakmak en sık hatadır.
13.2.2En iyi tepki dinamiği ne zaman yakınsar?
Her oyunda dinamik durmaz. En basit karşı örnek Yazı-Tura Eşleştirme oyunudur. İki oyuncu aynı anda bir madeni paranın Yazı (Y) ya da Tura (T) yüzünü gösterir. Yüzler aynıysa Eşleştiren kazanır (1 alır, rakip −1); farklıysa Ayrıştıran kazanır.
| Eşl. \ Ayr. | Y | T |
|---|---|---|
| Y | (1, −1) | (−1, 1) |
| T | (−1, 1) | (1, −1) |
- (Y, Y)'de Eşleştiren kazanmaktadır ve memnundur. Ayrıştıran farklı yüz ister ve T'ye geçer: (Y, T).
- (Y, T)'de Ayrıştıran memnundur. Eşleştiren aynı yüzü ister ve T'ye geçer: (T, T).
- (T, T)'de Ayrıştıran Y'ye geçer: (T, Y).
- (T, Y)'de Eşleştiren Y'ye geçer: yeniden (Y, Y). Döngü baştan başlar.
(Y, Y) → (Y, T) → (T, T) → (T, Y) → (Y, Y) → … dizisi sonsuza kadar sürer.
Şekil 13.4'te görüldüğü gibi her adımda bir oyuncu mutlu, öteki mutsuzdur. Oyunun saf Nash dengesi yoktur; dört hücrenin her birinde kaybeden oyuncunun sapma isteği vardır. Bu yüzden dinamik hiçbir hücrede duramaz. Oyunun tek dengesi karışıktır: iki oyuncu da Y ve T'yi ½ olasılıkla oynar. En iyi tepki dinamiği ise yalnızca saf eylemler arasında atlar; hiçbir zaman “yarı yarıya” bir davranış üretmez, bu yüzden karışık dengeye de varamaz.
Hangi oyunlarda dinamiğin durduğu sorusunun iyi bilinen bir cevabı vardır: potansiyel oyunlar (potential games).
Bir oyun, bütün oyuncular için ortak bir Φ fonksiyonu bulunabiliyorsa potansiyel oyundur: herhangi bir oyuncu tek başına eylemini değiştirdiğinde kendi kazancındaki değişim, Φ'deki değişime eşittir.
ui(si′, s−i) − ui(si, s−i) = Φ(si′, s−i) − Φ(si, s−i)
Potansiyel fonksiyonu, bütün oyuncuların bencil hesaplarını tek bir “ortak puan tablosunda” toplar. Bir oyuncunun kârlı sapması, ortak puanı da aynı miktarda artırır. Tıkanıklık oyunları, yani her sürücünün bir yol seçtiği ve yolun maliyetinin onu kullanan sürücü sayısına bağlı olduğu trafik oyunları, potansiyel oyunların en önemli örneğidir (Monderer ve Shapley, 1996).
Sonlu bir potansiyel oyunda en iyi tepki dinamiği (ve daha genel olarak her adımda kazancı kesin artıran herhangi bir tek taraflı değişim dizisi) sonlu sayıda adımda bir saf Nash dengesinde durur.
Dinamikte her adım bir kârlı sapmadır: hareket eden oyuncunun kazancı kesin olarak artar. Potansiyel tanımına göre bu artış Φ'deki artışa eşittir; demek ki her adımda Φ kesin olarak büyür. Oyun sonlu olduğu için strateji profillerinin sayısı sonludur, dolayısıyla Φ'nin alabileceği değerler de sonludur. Kesin artan bir dizi sonlu bir küme içinde sonsuza kadar süremez; aynı profile iki kez dönmek de olanaksızdır, çünkü dönüldüğünde Φ eski değerini alırdı. Bu yüzden dinamik sonlu adımda durur. Durduğu profilde hiçbir oyuncunun kârlı sapması yoktur; bu profil bir saf Nash dengesidir. □
İspattan bir yan sonuç çıkar: Yazı-Tura Eşleştirme potansiyel oyun olamaz. Olsaydı, döngüdeki dört adımın her biri Φ'yi artırırdı ve dört adım sonra aynı profile dönüldüğünde Φ başladığı değerden büyük olurdu; bu bir çelişkidir. Döngüye giren bir dinamik, potansiyel bulunmadığının kanıtıdır.
İki arkadaş aynı yazılımı kullanmak ister. İkisi de A'yı seçerse 2'şer, ikisi de B'yi seçerse 1'er kazanır; farklı seçerlerse 0 alırlar. Bu bir koordinasyon oyunudur ve potansiyeli Φ(A, A) = 2, Φ(B, B) = 1, Φ(A, B) = Φ(B, A) = 0 olarak seçilebilir: her tek taraflı değişimde değişen oyuncunun kazanç farkı Φ farkına eşittir.
- Başlangıç (A, B), Φ = 0. Satır oyuncusu B'ye karşı A'da 0, B'de 1 alır ve B'ye geçer: (B, B), Φ = 1.
- (B, B)'de sütun oyuncusu B'de 1, A'da 0 alır; değiştirmez. Satır oyuncusu da değiştirmez. Dinamik (B, B) dengesinde durur.
Φ 0'dan 1'e çıktı ve orada kaldı. Dinamik daha yüksek potansiyelli (A, A) dengesine gitmedi: yakınsama garantisi bir dengeye varılacağını söyler, en iyi dengeye varılacağını söylemez.
Saf dengesi olmayan oyunlar için çare, yalnız son eyleme değil, rakibin bütün geçmişine tepki vermektir. Bu fikir kurgusal oyunu doğurur.
13.2.3Kurgusal oyun: Yazı-Tura Eşleştirme
Kurgusal oyun (fictitious play): her turda oyuncu, rakibin o ana kadarki eylemlerinin frekanslarını sayar ve rakibin bu frekanslarla oynayan bir karışık strateji kullandığını “kurgular”. Sonra bu karışık stratejiye en iyi tepkiyi oynar.
Adındaki “kurgu”, oyuncunun rakibi hakkında yaptığı basitleştirici varsayımdır: rakip sanki sabit bir zarla oynuyormuş, zarın olasılıkları da geçmiş frekanslar kadarmış gibi davranılır. Örneğin rakip yedi turun beşinde T oynadıysa, onun P(Y) = 2/7, P(T) = 5/7 ile oynadığı varsayılır. En iyi tepki dinamiğinden farkı, tek bir son gözlem yerine bütün geçmişin kullanılmasıdır. Bu yüzden kurgusal oyunun inancı yavaş değişir: bir tek yeni gözlem, uzun bir geçmişin içinde küçük bir ağırlık taşır.
Yazı-Tura Eşleştirme'de bu kural çok sade bir hâl alır. Eşleştiren aynı yüzü istediği için, rakibin geçmişinde hangi yüz çoğunluktaysa onu oynar. Ayrıştıran farklı yüz istediği için, rakibin geçmişindeki çoğunluğun tersini oynar. Eşitlik olursa ikisi de Y oynar. İlk turda geçmiş olmadığı için ikisi de keyfî olarak Y oynar.
“Çoğunluğu eşle” kuralının bir en iyi tepki olduğu beklenen kazançla doğrulanabilir. 8. turda Eşleştiren, Ayrıştıran'ın önceki yedi turda 2 kez Y, 5 kez T oynadığını görür; inancı P(Y) = 2/7'dir.
- Eşleştiren Y oynarsa: 2/7 · 1 + 5/7 · (−1) = −3/7.
- Eşleştiren T oynarsa: 2/7 · (−1) + 5/7 · 1 = 3/7.
- 3/7 > −3/7 olduğundan en iyi tepki T'dir; T, rakip geçmişindeki çoğunluktur.
Genel olarak inanç P(Y) = q ise Y'nin beklenen kazancı 2q − 1, T'ninki 1 − 2q'dur. q > 1/2 ise Y, q < 1/2 ise T daha iyidir; q = 1/2'de ikisi eşittir ve kural Y'yi seçer.
Kural on tur boyunca uygulandığında Tablo 13.4 elde edilir. Sütunları okurken dikkat edilecek nokta şudur: “geçmiş” sütunları o turdan önceki turları sayar, “oran” sütunları ise o turu da içerir.
| t | Ayr. geçmişi Y/T | Eşleştiren | Eşl. geçmişi Y/T | Ayrıştıran | Eşl. Y oranı | Ayr. Y oranı |
|---|---|---|---|---|---|---|
| 1 | 0 / 0 | Y | 0 / 0 | Y | 1,00 | 1,00 |
| 2 | 1 / 0 | Y | 1 / 0 | T | 1,00 | 0,50 |
| 3 | 1 / 1 | Y | 2 / 0 | T | 1,00 | 0,33 |
| 4 | 1 / 2 | T | 3 / 0 | T | 0,75 | 0,25 |
| 5 | 1 / 3 | T | 3 / 1 | T | 0,60 | 0,20 |
| 6 | 1 / 4 | T | 3 / 2 | T | 0,50 | 0,17 |
| 7 | 1 / 5 | T | 3 / 3 | Y | 0,43 | 0,29 |
| 8 | 2 / 5 | T | 3 / 4 | Y | 0,38 | 0,38 |
| 9 | 3 / 5 | T | 3 / 5 | Y | 0,33 | 0,44 |
| 10 | 4 / 5 | T | 3 / 6 | Y | 0,30 | 0,50 |
Tablonun ilk birkaç satırı ayrıntılı okunmaya değer.
- t = 1: Geçmiş yoktur; iki oyuncu da keyfî olarak Y oynar.
- t = 2: Eşleştiren rakip geçmişinde 1 / 0 görür; çoğunluk Y'dir, Y oynar. Ayrıştıran da rakip geçmişinde 1 / 0 görür; çoğunluğun tersi olan T'yi oynar.
- t = 3: Eşleştiren 1 / 1 görür; eşitlikte Y oynar. Ayrıştıran 2 / 0 görür ve T oynar.
- t = 4: Eşleştiren 1 / 2 görür; çoğunluk artık T'dir ve Eşleştiren T'ye geçer. Ayrıştıran 3 / 0 görür, T'de kalır. Eşleştiren'in Y oranı 3/4 = 0,75'e düşer.
- t = 7: Ayrıştıran 3 / 3 görür; eşitlikte Y'ye geçer. Böylece Eşleştiren'in T'ye kaymasına üç tur gecikmeyle cevap verir.
Eylemler hâlâ döner: önce (Y, Y), sonra (Y, T), (T, T) ve (T, Y). Ancak en iyi tepki dinamiğinden önemli bir fark vardır. Her aşama birkaç tur sürer, çünkü inancın tersine dönmesi için geçmişteki çoğunluğun değişmesi gerekir. Oranlar ise sıçramaz, yavaş yavaş değişir: on turun sonunda Eşleştiren'in Y oranı 0,30, Ayrıştıran'ınki 0,50'dir.
- Kendi geçmişine bakmak: Kurgusal oyunda oyuncu rakibin geçmişini sayar. Eşleştiren kendi Y sayısına göre karar vermez.
- Bu turu geçmişe katmak: t. turun kararı, t. turdan önceki turlara dayanır. Bu turun eylemi henüz bilinmemektedir.
- Eylemlerin dengeye gittiğini sanmak: Dengeye yaklaşan şey frekanslardır; her turda oynanan eylem hâlâ saf bir Y ya da T'dir.
13.2.4Kod izleme: fictitious()
Aşağıdaki fonksiyon, Yazı-Tura Eşleştirme'de kurgusal oyunu T tur oynatır. Eylemler sayıyla kodlanır: 0 = Y, 1 = T.
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, naKodun parçaları şöyledir.
nevenasayaç listeleridir.ne[0]Eşleştiren'in o ana kadar kaç kez Y,ne[1]kaç kez T oynadığını tutar;naaynı bilgiyi Ayrıştıran için tutar.avebbu turda oynanacak eylemlerdir; ilk turda ikisi de 0 (Y) olarak başlatılır.- Döngünün başında bu turun eylemleri sayaçlara eklenir; yani tur oynanmış olur.
- Ardından bir sonraki turun eylemleri hesaplanır. Eşleştiren, Ayrıştıran'ın Y sayısı T sayısından küçük değilse (eşitlik dahil) Y oynar:
a = 0 if na[0] >= na[1] else 1. - Ayrıştıran, Eşleştiren'in Y sayısı T sayısından kesin büyükse T oynar, yoksa Y:
b = 1 if ne[0] > ne[1] else 0. Eşitlikte koşul yanlış olur ve Y seçilir; bu, tablodaki “eşitlikte Y” kuralıdır.
Çağrı fictitious(6) olsun. Tablo 13.5 her turun sonunda sayaçların durumunu ve bir sonraki turun kararını gösterir.
| Tur | Oynanan (a, b) | Kazanan | ne | na | Sonraki tur |
|---|---|---|---|---|---|
| 1 | (Y, Y) | Eşleştiren | 1 / 0 | 1 / 0 | (Y, T) |
| 2 | (Y, T) | Ayrıştıran | 2 / 0 | 1 / 1 | (Y, T) |
| 3 | (Y, T) | Ayrıştıran | 3 / 0 | 1 / 2 | (T, T) |
| 4 | (T, T) | Eşleştiren | 3 / 1 | 1 / 3 | (T, T) |
| 5 | (T, T) | Eşleştiren | 3 / 2 | 1 / 4 | (T, T) |
| 6 | (T, T) | Eşleştiren | 3 / 3 | 1 / 5 | — |
İzlemenin kritik anları 2. ve 3. turlardır. 2. tur sonunda Ayrıştıran'ın sayaçları 1 / 1 eşittir; Eşleştiren eşitlikte Y oynamayı sürdürür. 3. tur sonunda Ayrıştıran'ın sayaçları 1 / 2 olur ve Eşleştiren T'ye geçer. Ayrıştıran ise 6. tur sonuna kadar Eşleştiren'in geçmişinde Y çoğunluğunu görür ve T oynamaya devam eder. Fonksiyon ne = [3, 3], na = [1, 5] döndürür. Y oranları 3/6 = 0,50 ve 1/6 ≈ 0,17'dir; bunlar Tablo 13.4'ün 6. satırıyla aynıdır.
fictitious(6) çağrısının sonu. Solda 6. turda oynanan (T, T) hücresi, sağda iki oyuncunun Y/T sayaçları: Eşleştiren 3 / 3 (Y oranı 0,50), Ayrıştıran 1 / 5 (Y oranı 0,17).13.2.5Uzun vade: frekanslar dengeye yakınsar
Kurgusal oyun dört yüz tur boyunca sürdürüldüğünde eylemler döngüler hâlinde değişmeye devam eder: (Y, Y) → (Y, T) → (T, T) → (T, Y) → (Y, Y) … Ancak her döngü bir öncekinden uzundur. Geçmiş büyüdükçe çoğunluğu tersine çevirmek için daha çok tur gerekir. Frekanslar ise karışık dengeye, yani ½'ye yaklaşır: dört yüz turda Eşleştiren'in Y oranı 0,472, Ayrıştıran'ınki 0,492'dir.
Şekil 13.6'da salınımların neden söndüğü sezilebilir. Bir oyuncunun frekansı ½'den uzaklaştığında, rakibin en iyi tepkisi onu cezalandıracak yöne döner ve bu sapma bir süre sonra düzelir. Örneğin Eşleştiren'in Y oranı ½'nin üstündeyken Ayrıştıran T oynar; Eşleştiren de sonunda T'ye geçer ve kendi Y oranını düşürür. Geçmiş uzadıkça tek bir turun frekansa etkisi 1/t kadar küçülür, bu yüzden salınımın genliği de küçülür.
Bu davranış her oyunda görülmez. Kurgusal oyunda frekansların dengeye yakınsaması şu oyun sınıflarında kanıtlanmıştır:
- İki kişilik sıfır toplamlı oyunlar (Robinson, 1951). Yazı-Tura Eşleştirme bu sınıftadır.
- 2×2 oyunlar, yani iki oyuncunun ikişer stratejisi olan oyunlar (Miyasawa, 1961).
- Potansiyel oyunlar (Monderer ve Shapley, 1996).
Buna karşılık Shapley (1964), 3×3'lük genel toplamlı bir oyun kurdu. Bu oyunda eylemler giderek uzayan döngülerle döner ve frekanslar hiçbir dengeye yaklaşmaz. Shapley örneği, “her oyunda öğrenme dengeye götürür” beklentisinin yanlış olduğunu gösteren klasik sonuçtur.
“Frekanslar dengeye yakınsıyor, demek ki oyuncular dengeyi oynuyor” sonucunu çıkarmak. Her turda oynanan eylemler saftır ve döngü sürer; yalnızca uzun dönem ortalaması (½, ½)'ye yaklaşır. Bir gözlemci yalnızca son turlara bakarsa denge değil, uzun bir Y ya da T serisi görür.
13.3Pişmanlık ve Hedge
En iyi tepki dinamiği ve kurgusal oyun, oyuncunun kazanç tablosunu bildiğini ve rakibin eylemlerini gözlediğini varsayar. Bu bölümde varsayım zayıflatılır. Oyuncu rakibi modellemez; yalnızca her turdan sonra kendi eylemlerinin ne kazandırdığını (ya da kazandıracağını) görür. Rakip bir insan, bir algoritma ya da kötü niyetli bir düşman olabilir. Bu koşullarda “iyi oynamak” ne demektir? Cevap, pişmanlık kavramıdır.
13.3.1Dışsal pişmanlık
Gündelik dilde pişmanlık, geriye bakınca “keşke şunu yapsaydım” demektir. Öğrenme kuramındaki tanım bu duygunun sayısal hâlidir. Oyun bittikten sonra geriye bakılır ve şu soru sorulur: baştan sona tek bir eylemi hiç değiştirmeden oynasaydım, en iyi durumda ne kazanırdım? Bu sayı ile gerçekte kazanılan arasındaki fark pişmanlıktır.
T tur boyunca t. turda i eyleminin kazancı gt(i), algoritmanın seçtiği eylem at olsun. Dışsal pişmanlık (external regret), geriye dönük en iyi sabit eylemin toplamı ile algoritmanın toplamı arasındaki farktır:
RT = maxi Σt=1T gt(i) − Σt=1T gt(at)
Algoritma rastgele seçim yapıyorsa ikinci toplam beklenen kazançla hesaplanır. T büyüdükçe RT/T → 0 oluyorsa algoritma pişmanlıksızdır (no-regret).
Tanımın üç ayrıntısı önemlidir. Birincisi, karşılaştırma sabit bir eylemle yapılır; her turda sonradan en iyisini seçen “kâhinle” yapılmaz. Kâhinle karşılaştırma hiçbir algoritmanın kazanamayacağı bir yarış olurdu. İkincisi, en iyi sabit eylem ancak oyun bittikten sonra bilinir; algoritma oyun sırasında bunu bilmez. Üçüncüsü, pişmanlıksızlık ortalama bir ölçüttür. RT büyüyebilir, ama T'den yavaş büyümelidir. Örneğin RT = 2√T ise RT/T = 2/√T sıfıra gider; tur başına kayıp zamanla yok olur. RT = T/2 ise tur başına kayıp ½'de takılı kalır.
İki eylemli üç turluk bir oyunda kazançlar g1 = (1, 0), g2 = (0, 1), g3 = (1, 0) olsun. Bir algoritma sırasıyla B, A, A oynasın.
- Algoritmanın toplamı: 1. turda B ile 0, 2. turda A ile 0, 3. turda A ile 1. Toplam 1.
- Sabit eylemlerin toplamı: hep A ile 1 + 0 + 1 = 2, hep B ile 0 + 1 + 0 = 1. En iyisi 2'dir.
- Dışsal pişmanlık R3 = 2 − 1 = 1.
Her turda en iyisini seçen bir kâhin 3 kazanırdı; ama pişmanlık tanımında bu 3 değil, en iyi sabit eylemin 2'si kullanılır.
13.3.2“Lideri izle” neden başarısız olur?
Pişmanlığı küçültmek için akla gelen ilk kural şudur: o ana kadar toplam kazancı en büyük olan eylemi oyna. Bu kurala lideri izle (follow the leader) denir. Kurgusal oyuna çok benzer; geçmişe en iyi tepkidir. Ne yazık ki kötü seçilmiş bir kazanç dizisine karşı bu kural felakettir. Tablo 13.6 bunun bir örneğidir; eşitlikte A seçilir.
| t | Önceki toplam A / B | g(A) | g(B) | Lideri izle | Kazanç |
|---|---|---|---|---|---|
| 1 | 0,0 / 0,0 | 0,5 | 0,0 | A | 0,5 |
| 2 | 0,5 / 0,0 | 0,0 | 1,0 | A | 0,0 |
| 3 | 0,5 / 1,0 | 1,0 | 0,0 | B | 0,0 |
| 4 | 1,5 / 1,0 | 0,0 | 1,0 | A | 0,0 |
| 5 | 1,5 / 2,0 | 1,0 | 0,0 | B | 0,0 |
| 6 | 2,5 / 2,0 | 0,0 | 1,0 | A | 0,0 |
- t = 1: Toplamlar eşit (0 / 0); eşitlikte A seçilir. A o tur 0,5 verir. Algoritmanın toplamı 0,5.
- t = 2: Lider A'dır (0,5 > 0). Ama bu tur A 0, B 1 verir; algoritma 0 alır.
- t = 3: Toplamlar 0,5 / 1,0; lider B'dir. Bu tur B 0, A 1 verir; algoritma yine 0 alır.
- t = 4, 5, 6: Aynı örüntü sürer. Lider her turda tam o turun kaybedenidir; algoritmanın toplamı 0,5'te kalır.
- Sabit eylemler: hep A ile 0,5 + 0 + 1 + 0 + 1 + 0 = 2,5; hep B ile 0 + 1 + 0 + 1 + 0 + 1 = 3. En iyi sabit eylem B'dir.
- Pişmanlık: R6 = 3 − 0,5 = 2,5, yani yaklaşık T/2.
Dizinin hilesi, ilk turdaki 0,5'lik küçük farktır. Bu fark liderin her turda “bir adım geride” kalmasını sağlar: kazançlar 1 ve 0 arasında gidip geldiği için bir önceki turda öne geçen eylem, bu tur 0 verir. Dizi uzatıldıkça algoritmanın toplamı 0,5'te kalır, en iyi sabit eylemin toplamı ise yaklaşık T/2 olur. Pişmanlık doğrusal büyür: RT/T → 1/2, sıfıra gitmez. Lideri izle pişmanlıksız değildir.
Sorunun kaynağı kuralın deterministik olmasıdır. Kuralı bilen bir rakip, algoritmanın hangi eylemi seçeceğini önceden hesaplayabilir ve o eyleme 0, ötekine 1 kazanç verebilir. Bu durumda algoritma her tur 0 alır. İki eylemin toplam kazancı her turda 1 olduğu için T turda iki eylemin toplamları T eder ve bunlardan büyük olanı en az T/2'dir. Demek ki her deterministik algoritmanın kötü durumda pişmanlığı en az T/2'dir. Pişmanlıksız olmanın tek yolu rastgele oynamaktır: rakip olasılıkları bilse bile hangi eylemin çıkacağını bilemez.
“Geçmişte en iyi olan gelecekte de en iyidir” varsayımı. Kazançlar sabit bir dağılımdan geliyorsa lideri izle iyi çalışır. Ancak kazançları bir rakip seçiyorsa, ve oyunlarda kazançları rakipler belirler, geçmişe tam güvenmek sömürülmeye davetiyedir.
13.3.3Çarpımsal ağırlıklar (Hedge)
Lideri izlemenin iki zayıflığı vardır: kesin seçim yapar ve küçük bir farka tam güvenir. Çarpımsal ağırlıklar (multiplicative weights) algoritması, ya da yaygın adıyla Hedge, iki zayıflığı birden giderir. Liderin seçilme olasılığı yüksektir ama kesin değildir; fark küçükse olasılıklar da birbirine yakın kalır.
Hedge algoritması, n eylemin her birine bir ağırlık atar ve η > 0 öğrenme oranı (learning rate) parametresini kullanır:
- Başlangıçta her eyleme ağırlık ver: wi = 1.
- Her turda olasılıkla oyna: pi = wi / Σj wj.
- Tur sonunda bütün eylemlerin kazancını gör ve güncelle: wi ← wi · eη·gt(i).
Güncelleme kuralı çarpımsaldır: kazancı 1 olan eylemin ağırlığı eη katına çıkar, kazancı 0 olan eylemin ağırlığı değişmez. Örneğin η = ln 2 seçilirse eη = 2 olur ve kazancı 1 olan eylemin ağırlığı tam iki katına çıkar. η = 0,5 için çarpan e0,5 ≈ 1,65'tir.
Güncellemeler üst üste uygulandığında ağırlık, eylemin toplam kazancının üstel bir fonksiyonu olur. Gi, i eyleminin o ana kadarki toplam kazancı ise wi = eη·Gi'dir, çünkü eη·g1 · eη·g2 · … = eη·(g1 + g2 + …)'dir. Bu gösterim Hedge'in “yumuşak” bir lideri izle olduğunu açıkça gösterir. Lider en büyük Gi'ye sahip olduğu için en büyük olasılığı alır. Ama iki eylemin toplamları arasındaki fark Δ ise olasılıklarının oranı eη·Δ'dır; küçük fark küçük üstünlük demektir. η çok büyürse oran sonsuza gider ve Hedge lideri izlemeye dönüşür; η sıfıra yaklaşırsa bütün olasılıklar eşitlenir ve Hedge rastgele oynamaya dönüşür.
Kazançlar [0, 1] aralığında ve n eylem varsa Hedge'in dışsal pişmanlığı
RT ≤ (ln n)/η + η T
ile sınırlıdır. η = √(ln n / T) seçilirse RT ≤ 2√(T ln n) olur; bu yüzden RT/T → 0'dır ve Hedge pişmanlıksızdır.
Sınırdaki ln n, n'nin doğal logaritmasıdır; n = 3 için ln 3 ≈ 1,1'dir. Logaritma çok yavaş büyür: eylem sayısı bin olsa bile ln 1000 ≈ 6,9'dur. Bu, Hedge'in çok sayıda eylem arasında bile hızlı öğrenebildiğini gösterir.
Sınırın iki terimi η'nın iki ayrı etkisini ölçer. İlk terim (ln n)/η, öğrenmenin yavaşlığının bedelidir: η küçükse algoritma en iyi eylemi geç fark eder. İkinci terim ηT, aşırı tepkinin bedelidir: η büyükse algoritma her dalgalanmaya fazla tepki verir ve lideri izle gibi sömürülebilir hâle gelir. En iyi η, iki terimin toplamını en küçük yapan değerdir. Toplam f(η) = (ln n)/η + ηT'nin türevi f′(η) = −(ln n)/η2 + T'dir. Türevi sıfıra eşitlemek η2 = (ln n)/T, yani η = √(ln n / T) verir. Bu değer yerine konunca iki terim de √(T ln n)'ye eşit olur:
(ln n)/√(ln n / T) = √(T ln n) ve √(ln n / T) · T = √(T ln n),
toplamları da 2√(T ln n)'dir.
İki eylem (n = 2, ln 2 ≈ 0,693) ile oynanan iki oyunu karşılaştıralım.
- T = 100: η = √(0,693/100) ≈ 0,083. Sınır 2√(100 · 0,693) = 2√69,3 ≈ 16,7. Tur başına pişmanlık en fazla 16,7/100 ≈ 0,17.
- T = 10.000: η ≈ 0,0083. Sınır 2√6931 ≈ 166,5. Tur başına pişmanlık en fazla 0,017.
Tur sayısı 100 katına çıkınca toplam sınır yalnız 10 katına çıktı (√100 = 10); tur başına sınır ise 10'da birine indi. Pişmanlıksızlığın anlamı budur.
Hedge'in lideri izleyi sömüren diziye karşı ne yaptığına bakmak sınırın somut anlamını gösterir. Tablo 13.6'daki altı turluk dizi η = 0,5 ile Hedge'e verilsin. 1. turda olasılıklar eşittir ve beklenen kazanç 0,5 · 0,5 = 0,25'tir. 2. turda A'nın ağırlığı e0,25 ≈ 1,28, B'ninki 1'dir; p(A) = 1,28/2,28 ≈ 0,56 ve beklenen kazanç 0,44 · 1 ≈ 0,44'tür. Sonraki turlarda olasılıklar 0,56 ile 0,44 arasında gidip gelir ve her tur yaklaşık 0,44 kazanılır. Altı tur sonunda Hedge'in beklenen toplamı yaklaşık 2,44, pişmanlığı 3 − 2,44 ≈ 0,56'dır. Lideri izle aynı dizide 2,5 pişmanlık biriktirmişti. Hedge küçük farka tam güvenmediği için rakibin hilesi işe yaramaz.
Bölümün geri kalanında üç gözlem tekrar tekrar karşımıza çıkar:
- Rastgelelik şart. Lideri izle deterministik olduğu için rakip onu sömürür; Hedge karışık oynar.
- η bir ayar düğmesidir. Büyük η hızlı tepki verir ama gürültüye duyarlıdır; küçük η yavaş ama kararlıdır.
- Oyunlarda denge. Herkes pişmanlıksız oynarsa zaman ortalaması kaba korelasyonlu dengeye, sıfır toplamlı oyunlarda minimaks stratejisine yaklaşır.
13.3.4Kod izleme: hedge()
Aşağıdaki fonksiyon, her turun kazanç vektörünü içeren G listesi ve öğrenme oranı eta ile Hedge'i çalıştırır ve algoritmanın toplam beklenen kazancını döndürür.
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 topwağırlık listesidir; eylem sayısı kadar 1,0 ile başlar.- Her turda önce ağırlıkların toplamı
Whesaplanır, sonra her ağırlıkW'ye bölünerek olasılıklarpbulunur. top, beklenen kazançların toplamıdır. Bu turun beklenen kazancı Σ pi · gi'dir;zip(p, g)iki listeyi eleman eleman eşleştirir.- Son satır güncellemedir: her ağırlık eη·gi ile çarpılır.
Üç uzman (eylem) A, B, C olsun ve η = 0,5 seçilsin. İlk iki turda kazançlar g = [1, 0, 0,5], sonraki üç turda g = [0, 1, 0,5]'tir. Yani ilk iki tur A iyi, sonraki üç tur B iyidir; C her zaman ortadadır. Kullanılan çarpanlar: kazanç 1 için e0,5 ≈ 1,65, kazanç 0,5 için e0,25 ≈ 1,28, kazanç 0 için 1.
| Tur | w (A, B, C) | W | p | g | Σ p·g | top | yeni w |
|---|---|---|---|---|---|---|---|
| 1 | 1; 1; 1 | 3,00 | 0,33; 0,33; 0,33 | 1; 0; 0,5 | 0,50 | 0,50 | 1,65; 1,00; 1,28 |
| 2 | 1,65; 1,00; 1,28 | 3,93 | 0,42; 0,25; 0,33 | 1; 0; 0,5 | 0,58 | 1,08 | 2,72; 1,00; 1,65 |
| 3 | 2,72; 1,00; 1,65 | 5,37 | 0,51; 0,19; 0,31 | 0; 1; 0,5 | 0,34 | 1,42 | 2,72; 1,65; 2,12 |
| 4 | 2,72; 1,65; 2,12 | 6,48 | 0,42; 0,25; 0,33 | 0; 1; 0,5 | 0,42 | 1,84 | 2,72; 2,72; 2,72 |
| 5 | 2,72; 2,72; 2,72 | 8,15 | 0,33; 0,33; 0,33 | 0; 1; 0,5 | 0,50 | 2,34 | 2,72; 4,48; 3,49 |
- Tur 1: W = 3, olasılıklar eşit (0,33). Beklenen kazanç ⅓ · 1 + ⅓ · 0 + ⅓ · 0,5 = 0,50. Güncelleme: A 1 · 1,65, B değişmez, C 1 · 1,28.
- Tur 2: W = 1,65 + 1 + 1,28 = 3,93. p(A) = 1,65/3,93 ≈ 0,42: A'nın payı büyüdü. Beklenen kazanç 0,42 · 1 + 0,33 · 0,5 ≈ 0,58;
top1,08 olur. A'nın ağırlığı 1,65 · 1,65 ≈ 2,72 = e1'e çıkar. - Tur 3: W = 5,37, p(A) ≈ 0,51. Ama bu tur kazanan B'dir: beklenen kazanç 0,19 · 1 + 0,31 · 0,5 ≈ 0,34. Algoritma geçmişe uyduğu için bir tur geç kalır.
- Tur 4: B'nin ve C'nin ağırlıkları artmıştır; p ≈ (0,42; 0,25; 0,33). Beklenen kazanç 0,42. Tur sonunda üç ağırlık da e ≈ 2,72'ye eşitlenir, çünkü her eylemin toplam kazancı 2'dir.
- Tur 5: Olasılıklar yeniden eşittir; beklenen kazanç 0,50,
top2,34. Son ağırlıklar (2,72; 4,48; 3,49) = (e1, e1,5, e1,25).
Sabit eylemlerin toplamları A: 2, B: 3, C: 2,5'tir. En iyi sabit eylem B'dir ve pişmanlık 3 − 2,34 = 0,66'dır.
hedge() izlemesinin sonu. Beş tur sonunda ağırlıklar A: 2,72, B: 4,48, C: 3,49; bir sonraki turun olasılıkları 0,25, 0,42 ve 0,33 olurdu.Şekil 13.7 Hedge'in ağırlıkları nasıl “hatırladığını” gösterir. Son ağırlıklar yalnızca toplam kazançlara bağlıdır: wi = e0,5 · Gi. Sıralama da toplam kazançların sıralamasıyla aynıdır: B (3) > C (2,5) > A (2). Kazançların hangi sırayla geldiği ağırlıkları değiştirmez; yalnızca algoritmanın yol boyunca ne kazandığını değiştirir.
- Ağırlığı olasılık sanmak: 2,72 gibi bir ağırlık olasılık değildir; olasılık, ağırlığın toplam W'ye bölünmesiyle bulunur.
- Kazancı ağırlığa eklemek: Hedge'de güncelleme çarpımsaldır (w · eηg), toplamsal değildir (w + ηg).
- Beklenen kazancı gerçekleşen kazanç sanmak:
topbeklenen kazançların toplamıdır. Gerçek bir oyunda her tur bir eylem çekilir ve gerçekleşen kazanç bu değer çevresinde dalgalanır.
13.3.5Rakip de öğrenirse
Şimdiye kadar kazanç dizisi dışarıdan verildi. Oyunlarda ise kazançları rakibin davranışı belirler ve rakip de öğrenebilir. Bu farkı görmek için Taş-Kağıt-Makas oyununda iki senaryo karşılaştırılır. Kazanan 1, berabere kalan ½, kaybeden 0 alır; böylece kazançlar [0, 1] aralığındadır. Oyuncu 1 Hedge ile öğrenir ve η = 0,1'dir. Her turda iki oyuncu da eylemlerinin beklenen kazancıyla günceller.
Senaryo 1: sabit rakip. Rakip her turda Taş'ı 0,5, Kağıt'ı 0,3, Makas'ı 0,2 olasılıkla oynar. Oyuncu 1'in her eyleminin beklenen kazancı hesaplanabilir.
- Taş: Taş'a karşı berabere (½), Kağıt'a karşı kaybeder (0), Makas'a karşı kazanır (1). Beklenen kazanç 0,5 · ½ + 0,3 · 0 + 0,2 · 1 = 0,25 + 0,20 = 0,45.
- Kağıt: Taş'ı yener, Kağıt'la berabere, Makas'a yenilir: 0,5 · 1 + 0,3 · ½ + 0 = 0,65.
- Makas: Taş'a yenilir, Kağıt'ı yener, Makas'la berabere: 0 + 0,3 · 1 + 0,2 · ½ = 0,40.
- En iyi tepki Kağıt'tır. Her tur Kağıt'ın ağırlığı Taş'ınkinden e0,1 · 0,20, Makas'ınkinden e0,1 · 0,25 kat daha fazla artar. Eşit ağırlıklarla başlayan Hedge'de n güncelleme sonra p(Kağıt) = 1 / (1 + e−0,02 n + e−0,025 n) olur.
- 100. turda bu olasılık yaklaşık 0,82, 300. turda 0,997'dir.
Sabit rakibe karşı Hedge en iyi tepkiye gider. Bu, pişmanlıksızlığın doğal bir sonucudur: rakip değişmiyorsa en iyi sabit eylem en iyi tepkidir ve pişmanlığı küçük tutmanın tek yolu onu giderek daha sık oynamaktır.
Senaryo 2: öğrenen rakip. Şimdi rakip de Hedge kullanır ve iki oyuncu aynı anda günceller. Oyuncu 1 (0,5; 0,3; 0,2) olasılıklarıyla, oyuncu 2 eşit olasılıklarla başlar. Oyuncu 1 Kağıt'a kaydıkça oyuncu 2 için Makas değerlenir; oyuncu 2 Makas'a kaydıkça oyuncu 1 için Taş değerlenir; ve böyle sürer. Hedef sürekli kayar.
| tur | 100 | 200 | 800 | 1000 |
|---|---|---|---|---|
| o turdaki P(Taş) | 0,19 | 0,46 | 0,14 | 0,19 |
| ortalama P(Taş) | 0,35 | 0,31 | 0,33 | 0,34 |
Tablo 13.8 iki farklı davranış gösterir. O turdaki olasılık (son yineleme) dönmeye devam eder: 0,19'dan 0,46'ya çıkar, 0,14'e iner. Bin turda bile durulmaz. Zaman ortalaması ise ⅓'e, yani oyunun tek Nash dengesi olan (⅓, ⅓, ⅓)'ün Taş bileşenine yaklaşır. Öğrenen bir rakibe karşı “hedefe varmak” anlamsızdır, çünkü hedef rakibin davranışıyla birlikte hareket eder. Kararlı olan şey ortalamadır.
13.3.6Hedge kendine karşı
Aynı olgu iki eylemli bir oyunda daha net görülür. Yazı-Tura Eşleştirme'de iki oyuncu da Hedge (η = 0,1) kullansın. Eşleştiren'in başlangıç ağırlıkları (Y, T) = (0,8; 0,2), yani P(Y) = 0,8; Ayrıştıran'ınkiler (0,5; 0,5)'tir. Kazanan 1, kaybeden 0 alır ve her turda iki oyuncu da eylemlerinin beklenen kazancıyla aynı anda günceller.
Şekil 13.8'de mavi eğri dengeye oturmaz; 0,1 ile 0,9 arasında giderek büyüyen salınımlar yapar. Mekanizma kurgusal oyundakine benzer. Eşleştiren Y'ye ağırlık verince Ayrıştıran için T değerlenir; Ayrıştıran T'ye kayınca Eşleştiren için T değerlenir; ve döngü sürer. Kırmızı eğri ise, yani başlangıçtan bu yana P(Y) değerlerinin ortalaması, minimaks stratejisi olan ½'ye yaklaşır: 600 turda 0,498'dir.
Bu gözlemin kuramsal bir karşılığı vardır. İki kişilik sıfır toplamlı bir oyunda iki oyuncu da pişmanlıksız bir algoritma kullanırsa, ortalama stratejileri minimaks stratejilerine, ortalama kazanç da oyunun değerine yaklaşır. von Neumann'ın minimaks teoreminin, yani sıfır toplamlı oyunlarda “maks-min = min-maks” eşitliğinin, öğrenme yoluyla yapılan ispatı bu gözleme dayanır. İspatın fikri şudur: iki oyuncunun da pişmanlığı sıfıra gidiyorsa, ikisi de ortalamada rakibinin ortalama stratejisine karşı en iyi sabit eylem kadar kazanır; bu iki ifade birleştirilince maks-min ile min-maks arasındaki fark sıfıra sıkışır.
“Pişmanlıksız algoritmalar dengeye yakınsar” cümlesini son yineleme için okumak. Kuram yalnızca zaman ortalaması için yakınsama verir. Şekil 13.8'de son yineleme, 600 turda bile denge değerinden çok uzaktır.
13.3.7Pişmanlıktan dengeye
Sıfır toplamlı oyunlar dışında pişmanlıksız öğrenmenin zaman ortalaması nereye gider? Cevap, Nash dengesinden daha geniş iki denge kavramıdır. Bu kavramları anlatmanın en kolay yolu bir öneri makinesi düşünmektir. Makine her turda bir olasılık dağılımından bir eylem profili çeker ve her oyuncuya yalnızca kendi eylemini söyler. Kavşaktaki trafik ışığı böyle bir makinedir: bir sürücüye “geç”, ötekine “dur” der.
Eylem profilleri üzerindeki bir σ dağılımı,
- her oyuncu için, önerisini gördükten sonra öneriye uymak sapmaktan kötü değilse korelasyonlu dengedir (correlated equilibrium, CE);
- her oyuncu için, öneriyi görmeden “önerinin ne olduğuna bakmaksızın hep a′ oynarım” demek beklenen kazancı artırmıyorsa kaba korelasyonlu dengedir (coarse correlated equilibrium, CCE).
İki tanım arasındaki fark sapma anındadır. CE'de oyuncu öneriyi gördükten sonra karar verir; bu yüzden “Kır önerisi gelince Düz git” gibi öneriye bağlı sapmalar da hesaba katılır. CCE'de oyuncu, öneriyi görmeden önce bütünüyle makineden ayrılıp sabit bir eyleme geçmeyi düşünür. CE'nin koşulları her öneri için ayrı ayrı sağlandığından, ortalamada da sağlanır; bu yüzden her CE bir CCE'dir. Tersi doğru değildir: CCE daha zayıf, yani daha geniş bir kavramdır.
Şekil 13.9'daki iç içe yapı şöyle okunur. Her saf Nash dengesi bir karışık Nash dengesidir (olasılıkları 0 ya da 1 olan). Her karışık Nash dengesi bir CE'dir: oyuncular bağımsız zarlar attığında, önerisini gören oyuncu ötekiler hakkında yeni bir şey öğrenmez ve dengede zaten en iyi tepki vermektedir. Her CE de bir CCE'dir. Dışa doğru gidildikçe kavramlar genişler ama hesaplanmaları kolaylaşır: CE ve CCE doğrusal programlamayla hızlı bulunur, karışık Nash dengesi ise PPAD-tamdır.
Bir oyunu tekrar tekrar oynayan bütün oyuncuların dışsal pişmanlığı için RT/T ≤ ε ise, T tur boyunca oynanan profillerin zaman ortalaması dağılımı (her profilin oynanma oranı) bir ε-CCE'dir. Daha güçlü bir pişmanlık türünü, iç pişmanlığı, küçülten algoritmalar CE'ye götürür (Foster ve Vohra, 1997; Hart ve Mas-Colell, 2000; Blum ve Mansour, 2007).
Oynanan profiller s1, …, sT ve σ bunların zaman ortalaması dağılımı olsun: σ'dan bir profil çekmek, 1, …, T arasından rastgele bir tur seçip o turun profilini almak demektir. Oyuncu i'nin t. turdaki kazancı gt(a) = ui(a, s−it)'dir. Pişmanlık koşulu her sabit a′ için
Σt ui(a′, s−it) − Σt ui(st) ≤ RT ≤ εT
der. İki tarafı T'ye bölmek toplamları ortalamaya çevirir. Ortalama ise σ altındaki beklenen değerdir: Es∼σ[ui(a′, s−i)] − Es∼σ[ui(s)] ≤ ε. Bu eşitsizlik, “öneriyi görmeden hep a′ oynamak” sapmasının en fazla ε kazandırdığını söyler; CCE tanımının ε payıyla sağlanmasıdır. □
İç pişmanlık (internal / swap regret), “a oynadığım her turda onun yerine a′ oynasaydım ne kazanırdım?” sorusunu her (a, a′) çifti için ayrı ayrı sorar. Bu, öneriye bağlı sapmanın öğrenme dilindeki karşılığıdır: “makine a dediğinde a′ oyna”. Dışsal pişmanlık bütün turları tek bir sabit eylemle karşılaştırdığı için daha kaba bir ölçüttür ve daha kaba bir dengeye götürür.
Kavşaktaki iki sürücünün Tavuk oyununu düşünelim. Kır (dur) ve Düz (geç) eylemleri vardır; kazançlar (Kır, Kır) = (0, 0), (Kır, Düz) = (−1, 1), (Düz, Kır) = (1, −1), (Düz, Düz) = (−10, −10)'dur. Trafik ışığı yarı yarıya (Kır, Düz) ya da (Düz, Kır) önerir.
- “Kır” önerisini alan sürücü ötekine kesin “Düz” denildiğini bilir. Uyarsa −1, Düz'e saparsa −10 alır. Uymak daha iyidir.
- “Düz” önerisini alan sürücü ötekine kesin “Kır” denildiğini bilir. Uyarsa 1, Kır'a saparsa 0 alır. Uymak daha iyidir.
- İki öneride de uymak en iyisidir: ışık bir korelasyonlu dengedir. Her sürücünün beklenen kazancı ½ · (−1) + ½ · 1 = 0'dır.
- CCE koşulu da kendiliğinden sağlanır. Örneğin “hep Düz” sapması, ötekine yarı yarıya Kır ve Düz denildiği için ½ · 1 + ½ · (−10) = −4,5 verir; bu 0'dan kötüdür. “Hep Kır” sapması ½ · 0 + ½ · (−1) = −0,5 verir; bu da 0'dan kötüdür.
Işığa uymamak kimseye kazanç sağlamaz. Pişmanlıksız öğrenme bu tür dengeleri merkezî bir hesaplayıcı olmadan, yalnızca oyuncuların kendi pişmanlıklarını küçültmesiyle bulur.
- CE ile CCE'yi karıştırmak: Hedge yalnızca dışsal pişmanlığı küçültür ve CCE'ye götürür; CE için iç pişmanlığı küçülten algoritmalar gerekir.
- Ortalama dağılımı her oyuncunun karışık stratejisi sanmak: CCE profiller üzerinde ortak bir dağılımdır; oyuncuların eylemleri birbirine bağlı (korelasyonlu) olabilir. Bu dağılım her zaman iki bağımsız karışık stratejinin çarpımı olarak yazılamaz.
13.4Çok kollu haydut
Hedge her turdan sonra bütün eylemlerin kazancını görür. Bu bölümün başında anlatılan kumar makinesinde ise yalnızca çekilen kolun sonucu görülür. Bu küçük fark büyük bir sonuç doğurur: bilgi artık bedava değildir. Bir kol hakkında bilgi toplamanın tek yolu onu çekmektir; o kol kötüyse bu çekiş ödülden kayıptır. Çok kollu haydut problemi, bu bilgi–ödül alışverişinin en sade modelidir.
13.4.1Problem, pişmanlık ve keşif–sömürü ikilemi
Çok kollu haydut (multi-armed bandit): K kollu bir kumar makinesinde kol i, ortalaması μi olan ve oyuncunun bilmediği bir dağılımdan rastgele ödül verir. Her turda bir kol çekilir ve yalnızca onun ödülü görülür (kısmi geri bildirim). En iyi kolun ortalaması μ* = maxi μi olmak üzere T turdaki pişmanlık
RT = T · μ* − Σt=1T μat
ile ölçülür; burada at, t. turda çekilen koldur.
Bu pişmanlık tanımı Hedge'deki dışsal pişmanlıkla aynı fikri taşır: en iyi sabit seçenekle (burada en iyi kolla) karşılaştırma. Farkı, gerçekleşen ödüllerin değil ortalamaların kullanılmasıdır. Bu sayede şans faktörü ayıklanır: kötü kolu çekip şans eseri 1 almak pişmanlığı azaltmaz, çünkü hesapta o kolun ortalaması kullanılır. Her tur, çekilen kolun en iyi koldan ne kadar geride olduğu, yani μ* − μat kadar pişmanlık ekler.
Problemin bütün zorluğu keşif ve sömürü ikileminde toplanır. Keşif, yeni ya da az denenmiş kollar hakkında bilgi toplar. Sömürü, o ana kadar en iyi görüneni kullanır. Yalnızca sömüren bir algoritma, şanssız bir başlangıçtan sonra yanlış kola takılabilir ve hiçbir zaman kurtulamaz. Yalnızca keşfeden bir algoritma ise bütün kolları eşit çeker ve öğrendiğini hiç kullanmaz; ödülü boşa harcar.
Haydut algoritmaları, her kol için iki sayı tutar: kolun kaç kez çekildiği Ni ve gözlenen ödüllerin ortalaması Qi. Ortalama, her yeni ödül geldiğinde baştan hesaplanmaz; artımlı ortalama formülüyle güncellenir:
Q ← Q + (r − Q)/N
Burada N, yeni ödül de sayıldıktan sonraki çekiş sayısıdır. Formülün doğruluğu kısa bir hesapla görülür. Önceki N − 1 ödülün ortalaması Q ise toplamları (N − 1)Q'dur. Yeni ödül eklenince yeni ortalama ((N − 1)Q + r)/N = (NQ − Q + r)/N = Q + (r − Q)/N olur. Formülün yorumu da açıktır: tahmin, “sürpriz” r − Q yönünde 1/N kadar kayar. Çok çekilmiş bir kolun tahmini tek bir gözlemle az değişir.
Bir kolun ödülleri sırayla 1, 1, 1, 0, 1 olsun.
- N = 1: Q = 0 + (1 − 0)/1 = 1.
- N = 2: Q = 1 + (1 − 1)/2 = 1. N = 3: yine 1.
- N = 4: Q = 1 + (0 − 1)/4 = 0,75.
- N = 5: Q = 0,75 + (1 − 0,75)/5 = 0,75 + 0,05 = 0,80.
Sonuç, beş ödülün doğrudan ortalamasıyla (4/5 = 0,80) aynıdır.
Şekil 13.10 bölümün ikinci algoritmasının temel fikrini önceden gösterir. Az denenen kolun tahmini belirsizdir, bu yüzden güven aralığı geniştir. Aralığın üst ucu, yani “bu kolun olabileceği en iyi değer”, bu kolu yeniden denemeye değer kılar. Tahmini düşük olsa bile kol 1'in üst ucu 1,09'dur ve kol 2'nin 1,18'ine yakındır.
Haydut problemi oyun kuramının da ötesinde geniş bir uygulama alanına sahiptir: hangi reklamın ya da haberin gösterileceğine karar veren öneri sistemleri, web sitelerinde iki tasarımın karşılaştırıldığı A/B testleri, hangi tedavinin daha çok hastaya verileceğinin denemeler sırasında ayarlandığı klinik deneyler ve bir ürünün farklı fiyatlarla denendiği fiyat deneme.
13.4.2Kod izleme: ε-açgözlü
En basit haydut algoritması ε-açgözlüdür (ε-greedy). Her turda küçük bir ε olasılıkla rastgele bir kol çeker (keşif); geri kalan 1 − ε olasılıkla en büyük Q'lu kolu çeker (sömürü). “Açgözlü” adı, sömürü adımının o anki en iyi tahmine körü körüne güvenmesinden gelir.
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, Qmu, kolların gerçek ortalamalarıdır. Algoritma bu listeyi yalnızca ödül üretmek için kullanır; karar verirkenmu'ya bakmaz.rng.random()0 ile 1 arasında bir rastgele sayı üretir. Sayıeps'ten küçükse keşif yapılır verng.randrange(len(mu))ile rastgele bir kol seçilir.- Sömürüde
Q.index(max(Q))en büyük tahmini veren kolu bulur. Eşitlik varsa listedeki ilk kol seçilir. - Ödül, kolun ortalamasıyla belirlenen bir para atışıdır: yeni bir rastgele sayı
mu[a]'dan küçükse ödül 1, değilse 0'dır. - Son iki satır sayaç ve artımlı ortalama güncellemesidir.
Çağrı egreedy([0.3, 0.5, 0.7], 8, 0.2, random.Random(11)) olsun. Kodda kollar 0'dan numaralanır: kol 0, 1, 2, açılış oyunundaki Kol 1, 2, 3'e karşılık gelir. Rastgele sayı üreteci 11 tohumuyla başlatıldığı için çağrı her çalıştırıldığında aynı sonucu verir; aşağıdaki izleme bu yüzden tekrarlanabilir.
| t | Rastgele sayı | Karar | Kol | r | N | Q |
|---|---|---|---|---|---|---|
| 1 | 0,452 | sömürü (eşitlikte ilk) | 0 | 0 | [1, 0, 0] | [0,00; 0,00; 0,00] |
| 2 | 0,924 | sömürü (eşitlikte ilk) | 0 | 0 | [2, 0, 0] | [0,00; 0,00; 0,00] |
| 3 | 0,508 | sömürü (eşitlikte ilk) | 0 | 0 | [3, 0, 0] | [0,00; 0,00; 0,00] |
| 4 | 0,185 | keşif | 2 | 1 | [3, 0, 1] | [0,00; 0,00; 1,00] |
| 5 | 0,614 | sömürü | 2 | 1 | [3, 0, 2] | [0,00; 0,00; 1,00] |
| 6 | 0,447 | sömürü | 2 | 1 | [3, 0, 3] | [0,00; 0,00; 1,00] |
| 7 | 0,539 | sömürü | 2 | 0 | [3, 0, 4] | [0,00; 0,00; 0,75] |
| 8 | 0,634 | sömürü | 2 | 1 | [3, 0, 5] | [0,00; 0,00; 0,80] |
- t = 1–3: Rastgele sayılar 0,2'den büyüktür; üçü de sömürüdür. Bütün tahminler 0 olduğu için eşitlikte ilk kol, yani kol 0 seçilir. Kol 0 üç kez de 0 verir; tahmini 0'da kalır ve eşitlik bozulmaz.
- t = 4: Rastgele sayı 0,185 < 0,2: keşif. Rastgele seçilen kol 2'dir ve 1 verir. N[2] = 1, Q[2] = 1,00.
- t = 5–6: Sömürü; en büyük tahmin artık kol 2'dedir. İki çekiş de 1 verir; Q[2] 1'de kalır.
- t = 7: Kol 2 bu kez 0 verir: Q[2] = 1 + (0 − 1)/4 = 0,75.
- t = 8: Kol 2 1 verir: Q[2] = 0,75 + (1 − 0,75)/5 = 0,80.
Fonksiyon N = [3, 0, 5] döndürür. Sekiz turun pişmanlığı 8 · 0,7 − (3 · 0,3 + 5 · 0,7) = 5,6 − 4,4 = 1,2'dir; bunun tamamı kol 0'a harcanan ilk üç turdan gelir.
İzleme ε-açgözlünün iki yüzünü birden gösterir. Olumsuz yüzü: ilk üç tur kol 0'a takıldı, çünkü hepsi 0 ödül verdi ve eşitlik ilk kolu seçtirdi. Keşif olmasaydı algoritma sonsuza kadar kol 0'da kalabilirdi; kol 0 bir kez 1 verse bile tahmini öteki kolların 0'ından büyük olur ve sömürü onu seçmeye devam ederdi. Olumlu yüzü: tek bir keşif en iyi kolu buldu. Şekil 13.11'de bir eksiklik de görülür: kol 1 hiç denenmedi. Sekiz turda bu önemli değildir, ama ε-açgözlünün keşfi kör bir rastgeleliktir; az bilinen kolları özellikle aramaz.
13.4.3Kod izleme: UCB1
ε-açgözlünün keşfi “kör”dür: keşif turunda her kol eşit olasılıkla seçilir, en iyi olduğu zaten bilinen kol da, hiç denenmemiş kol da. UCB1 (Upper Confidence Bound, üst güven sınırı) keşfi yönlendirir. Her kolun bir puanı vardır:
UCBi = Qi + √(2 ln t / Ni)
Burada t şu anki tur numarası, Ni kolun çekilme sayısıdır. Her turda puanı en büyük kol çekilir. Hiç çekilmemiş bir kolun puanı sonsuz sayılır; bu yüzden ilk turlarda her kol bir kez denenir.
Puanın iki terimi vardır. İlk terim Qi sömürüdür: iyi görünen kol yüksek puan alır. İkinci terim √(2 ln t / Ni) güven payıdır ve keşfi temsil eder. Pay, Ni büyüdükçe küçülür: çok çekilmiş kolun tahminine güvenilir. Pay, t büyüdükçe çok yavaş (logaritmik olarak) büyür: uzun süre çekilmeyen bir kolun payı yavaş yavaş artar ve sonunda kol yeniden denenir. Bu fikre belirsizlik karşısında iyimserlik denir: her kol, verilerle çelişmeyen en iyimser değeriyle değerlendirilir. Kötü bir kol iyimser değerlendirmeyle seçilirse kısa sürede gerçek yüzünü gösterir ve payı küçülür; iyi bir kol ise iyimser değerlendirmeyi hak eder.
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, Qb, her kolun güven payıdır.math.inf, hiç çekilmemiş kolun sonsuz payıdır.max(range(K), key=lambda i: Q[i] + b[i]), Q + b puanı en büyük olan kolu seçer; eşitlikte küçük indisli kol kazanır.- Ödül ve güncelleme ε-açgözlüdeki gibidir.
Çağrı ucb([0.3, 0.5, 0.7], 8, random.Random(3)) olsun. Tablo 13.10 her turdaki payları, puanları ve seçimi verir.
| t | pay b | UCB = Q + b | Kol | r | Q (sonra) | N (sonra) |
|---|---|---|---|---|---|---|
| 1 | ∞, ∞, ∞ | ∞, ∞, ∞ | 0 | 1 | 1,00; 0; 0 | 1, 0, 0 |
| 2 | 1,18; ∞; ∞ | 2,18; ∞; ∞ | 1 | 0 | 1,00; 0,00; 0 | 1, 1, 0 |
| 3 | 1,48; 1,48; ∞ | 2,48; 1,48; ∞ | 2 | 1 | 1,00; 0,00; 1,00 | 1, 1, 1 |
| 4 | 1,67; 1,67; 1,67 | 2,67; 1,67; 2,67 | 0 | 0 | 0,50; 0,00; 1,00 | 2, 1, 1 |
| 5 | 1,27; 1,79; 1,79 | 1,77; 1,79; 2,79 | 2 | 1 | 0,50; 0,00; 1,00 | 2, 1, 2 |
| 6 | 1,34; 1,89; 1,34 | 1,84; 1,89; 2,34 | 2 | 1 | 0,50; 0,00; 1,00 | 2, 1, 3 |
| 7 | 1,39; 1,97; 1,14 | 1,89; 1,97; 2,14 | 2 | 1 | 0,50; 0,00; 1,00 | 2, 1, 4 |
| 8 | 1,44; 2,04; 1,02 | 1,94; 2,04; 2,02 | 1 | 0 | 0,50; 0,00; 1,00 | 2, 2, 4 |
- t = 1, 2, 3: Hiç denenmemiş kolların payı sonsuzdur; kollar sırayla birer kez çekilir. Ödüller 1, 0, 1'dir.
- t = 4: Her kol bir kez çekildi: pay √(2 ln 4 / 1) = √2,77 ≈ 1,67, üç kolda aynıdır. Puanlar 1 + 1,67 = 2,67, 0 + 1,67 = 1,67, 2,67. Kol 0 ile kol 2 eşittir; küçük indisli kol 0 seçilir ve 0 verir. Q[0] = 0,50.
- t = 5: Kol 0 iki kez çekildi: payı √(2 ln 5 / 2) = √1,61 ≈ 1,27. Ötekilerin payı √(2 ln 5) ≈ 1,79. Puanlar 1,77; 1,79; 2,79. Kol 2 seçilir ve 1 verir.
- t = 6, 7: Kol 2 kazanmaya devam eder. Ama her çekişte payı küçülür (1,34 → 1,14), kol 1'in payı ise büyür (1,89 → 1,97).
- t = 8: Kol 1'in payı √(2 ln 8 / 1) = √4,16 ≈ 2,04'e ulaşmıştır; puanı 2,04'tür. Kol 2'nin puanı 1 + √(4,16/4) = 1 + 1,02 = 2,02'dir. Kol 1 kıl payı öne geçer ve yeniden denenir.
Fonksiyon N = [2, 2, 4] döndürür. Kol 1'in tek denemesi 0 vermiş ve tahmini 0'dır; yine de 8. turda yeniden denenir. Keşif ayrı bir parametreye gerek kalmadan, belirsizliğin kendisinden doğar.
İki izlemeyi karşılaştırmak öğreticidir. ε-açgözlü kol 1'i hiç denemedi; UCB1 ise her kolu denedi ve tahmini düşük kolu bile, uzun süre çekilmeyince yeniden ziyaret etti. Sekiz turda UCB1 daha çok keşif yaptığı için daha fazla “kayıp” turu vardır: pişmanlığı 8 · 0,7 − (2 · 0,3 + 2 · 0,5 + 4 · 0,7) = 5,6 − 4,4 = 1,2'dir. Kısa vadede iki algoritma aynı yerdedir; fark uzun vadede ortaya çıkar.
- Payı yanlış t ile hesaplamak: t, şu anki tur numarasıdır (1'den başlar), kolun çekilme sayısı değildir. t = 8'de bütün kolların payında ln 8 kullanılır.
- En büyük Q'yu seçmek: UCB1 en büyük tahmini değil, en büyük üst sınırı seçer. 8. turda en büyük tahmin kol 2'dedir (1,00) ama seçilen kol 1'dir.
- ln yerine log₁₀ kullanmak: Formüldeki ln doğal logaritmadır; ln 8 ≈ 2,08, log10 8 ≈ 0,90'dır.
13.4.4Karşılaştırma: 5000 tur, 100 tekrar
Sekiz turluk izlemeler algoritmaların nasıl çalıştığını gösterir, ama hangisinin daha iyi olduğunu göstermez. Ödüller rastgele olduğu için tek bir deney yanıltıcıdır. Karşılaştırma şöyle yapılır: kollar yine μ = (0,3; 0,5; 0,7)'dir; her algoritma 5000 tur çalıştırılır; deney 0'dan 99'a kadar 100 farklı tohumla tekrarlanır ve birikimli pişmanlıkların ortalaması alınır. ε-açgözlü bu karşılaştırmada ε = 0,1 ile çalışır.
Şekil 13.13 üç farklı büyüme hızı gösterir.
- Yalnız sömürü (ε = 0): bütün tahminler 0 başladığı için ilk tur kol 0'dır. Kol 0 bir kez 1 verirse tahmini pozitif olur ve öteki kollar hiç denenmez; hep 0 verirse de eşitlikte yine kol 0 seçilir. Her seferinde kol 0'a takılır. Her tur 0,7 − 0,3 = 0,4 pişmanlık ekler: RT = 0,4 · T, doğrusal.
- ε-açgözlü: en iyi kolu bulduktan sonra bile turların %10'unda keşif yapar. Keşif turunda kollar eşit olasılıkla seçilir ve ortalama kayıp (0,4 + 0,2 + 0)/3 = 0,2'dir. Demek ki her tur yaklaşık 0,1 · 0,2 = 0,02 pişmanlık ekler; 5000 turda bu yaklaşık 100 eder. Başlangıçtaki öğrenme kayıplarıyla birlikte ortalama 118'dir. Pişmanlık doğrusal büyür, ama eğimi küçüktür.
- UCB1: başta daha çok keşif yapar. Pişmanlığı yaklaşık 270. ile 2.370. tur arasında ε-açgözlününkinden yüksektir. Sonra daha düşük kalır, çünkü UCB1'in pişmanlığı logaritmik, yani çok yavaş büyür (Auer, Cesa-Bianchi ve Fischer, 2002). Kötü bir kolun güven payı √(2 ln t / N) olduğundan, o kolun yeniden denenmesi için N'nin ancak ln t ile orantılı büyümesi gerekir; kötü kollara harcanan çekiş sayısı da bu yüzden yalnızca ln t kadar artar.
Logaritmik büyümenin ne kadar yavaş olduğu sayılarla görülebilir: ln 1000 ≈ 6,9, ln 1.000.000 ≈ 13,8'dir. Tur sayısı bin katına çıkınca logaritma yalnızca iki katına çıkar. Doğrusal pişmanlıkta ise tur sayısı bin katına çıkınca pişmanlık da bin katına çıkar. Uzun oyunlarda bu fark belirleyicidir.
ε bir ayar parametresidir ve bu bölümde üç farklı değer kullanılmıştır: 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. Küçük ε daha az keşif, ama yanlış bir başlangıçtan sonra daha geç düzeltme demektir. Sabit ε'la logaritmik pişmanlık elde edilemez; bunun için ε'un zamanla küçültülmesi gerekir.
Grafikte 1000. turda ε-açgözlünün daha az pişmanlığı olduğunu görüp “ε-açgözlü daha iyi” sonucuna varmak. Karşılaştırmanın yanıtı ufka bağlıdır. Kısa oyunlarda basit bir ε-açgözlü iyi iş görebilir; uzun oyunlarda logaritmik pişmanlık doğrusal pişmanlığı mutlaka geçer.
13.4.5Oyuna dönüş: keşfin bedeli
Açılıştaki oyuna kuramın cevabıyla dönülebilir. Kollar μ = (0,3; 0,5; 0,7) iken 100 turda farklı stratejilerin beklenen ödülü ve pişmanlığı Tablo 13.11'de verilmiştir.
| Strateji | Ödül | Pişmanlık |
|---|---|---|
| hep rastgele (yalnız keşif) | 50 | 20 |
| 0,5'lik kola bağlanmak | 50 | 20 |
| ε-açgözlü, ε = 0,15 (en iyiyi bulduktan sonra) | 67 | 3 |
| hep en iyi kol | 70 | 0 |
- Hep rastgele: Her tur kollar eşit olasılıkla seçilir; tur başına beklenen ödül (0,3 + 0,5 + 0,7)/3 = 0,5. 100 turda 50; pişmanlık 70 − 50 = 20.
- 0,5'lik kola bağlanmak: Tur başına 0,5; yine 50 ve 20.
- ε-açgözlü (ε = 0,15), en iyi kolu bulduktan sonra: Tur başına 0,85 · 0,7 + 0,15 · 0,5 = 0,595 + 0,075 = 0,67. 100 turda 67; pişmanlık 3. Buradaki 0,5, keşif turunda rastgele seçilen kolun beklenen ödülüdür.
- Hep en iyi kol: 70; bu, gerçek ortalamaları bilen birinin ulaşabileceği sınırdır.
Tablo, keşfin bir bedeli olduğunu açıkça gösterir. En iyi kolu bilmek 3 puan değerindedir; ε-açgözlü bu 3 puanı, en iyi kolu bulduktan sonra da keşfe devam ettiği için kaybeder. UCB1 keşfi az denenen kollara yönelttiği için bu bedeli zamanla küçültür; pişmanlığı logaritmik büyür.
Açılıştaki soru. Şekil 13.1'deki durumda Kol 3'ün tek başarısız çekişi çok az bilgi verir. UCB1 burada sıradaki turu (t = 9) şöyle değerlendirir: 2 ln 9 ≈ 4,39'dur.
- Kol 1 (Q = 0,67, N = 3): 0,67 + √(4,39/3) = 0,67 + 1,21 ≈ 1,88.
- Kol 2 (Q = 0,25, N = 4): 0,25 + √(4,39/4) = 0,25 + 1,05 ≈ 1,30.
- Kol 3 (Q = 0, N = 1): 0 + √4,39 ≈ 2,10.
UCB1 Kol 3'ü seçer. Tek bir başarısızlık, bir kolu bir kenara atmak için yeterli kanıt değildir.
İnsanlar nasıl karar verir? 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 açıklandı (Daw vd., 2006). Bu seçim kuralına softmax seçimi denir: bir kolun seçilme olasılığı, tahmini değerinin üstel fonksiyonuyla orantılıdır. Bu kural, Hedge'deki pi ∝ eη·Gi ile aynı biçimdedir.
Tek bir deneyle algoritmaları sıralamak. Ödüller rastgeledir; şanslı bir tohumla ε-açgözlü UCB1'i, şanssız bir tohumla UCB1 ε-açgözlüyü kolayca geçebilir. Karşılaştırma her zaman birçok deneyin ortalamasıyla yapılır.
13.5Pekiştirmeli öğrenme
Haydut probleminde her tur birbirinden bağımsızdır: bugün hangi kol çekilirse çekilsin, yarın makine aynı makinedir. Pek çok gerçek problemde ise bugünkü eylem yarının durumunu değiştirir. Satrançta bir hamle tahtayı değiştirir; bir robotun adımı onun konumunu değiştirir. Bu bölüm, eylemlerin gelecekteki durumu da etkilediği öğrenme problemlerini ele alır.
13.5.1Hayduttan pekiştirmeli öğrenmeye: Q-öğrenme
Haydut, tek durumlu bir problemdir. Pekiştirmeli öğrenmede (reinforcement learning, RL) ise eylem, ödülün yanında bir sonraki durumu da belirler. Durum, ajanın bulunduğu konumdur: tahtadaki dizilim, bir labirentteki hücre ya da bir robotun eklem açıları. Bir eylemin değeri artık yalnızca hemen aldığı ödülle ölçülemez; vardığı durumun gelecekte sağlayacağı ödüller de hesaba katılmalıdır. Hedefe tek adım uzaklıktaki bir durum, ödül vermese bile değerlidir.
Q-öğrenme (Q-learning; Watkins, 1989), her durum–eylem çifti için bir değer tahmini tutar: Q(s, a), “s durumunda a eylemini yapar, sonra en iyi biçimde devam edersem toplam ne kazanırım?” sorusunun cevabıdır. Ajan s durumunda a eylemini yapıp r ödülünü alarak s′ durumuna geçtiğinde tahmini şöyle günceller:
Q(s, a) ← Q(s, a) + α [ r + γ · maxa′ Q(s′, a′) − Q(s, a) ]
α öğrenme oranıdır: yeni bilgiye ne kadar güvenildiğini belirler. γ iskonto faktörüdür: gelecekteki ödülün bugünkü değerini belirler (0 ≤ γ < 1). Köşeli parantezin içindeki ilk iki terim, r + γ · max Q(s′, ·), güncellemenin hedef değeridir.
Formülün yapısı haydutun artımlı ortalamasıyla aynıdır: “yeni tahmin = eski tahmin + adım × (hedef − eski tahmin)”. Fark hedeftedir. Haydutta hedef yalnızca gözlenen ödüldü. Q-öğrenmede hedef, gözlenen ödül ile varılan durumun en iyi değerinin iskontolu toplamıdır. maxa′ Q(s′, a′) terimi, “s′'ne vardıktan sonra en iyi eylemi yaparsam” varsayımını taşır. Bu, Q-öğrenmenin kendi tahminlerini kullanarak öğrenmesi demektir: hedefin bir kısmı da bir tahmindir.
γ'nın anlamı bir örnekle netleşir. γ = 0,9 ise bir adım sonra gelecek 1 puan bugün 0,9, iki adım sonra gelecek 1 puan 0,92 = 0,81 değerindedir. γ sıfıra yakınsa ajan yalnızca hemen gelen ödüle bakar (miyop davranır); 1'e yakınsa uzak geleceği de önemser.
Q(s, a) = 2, r = 1, γ = 0,9, max Q(s′, ·) = 4, α = 0,5 olsun.
- Hedef: r + γ · max Q(s′, ·) = 1 + 0,9 · 4 = 1 + 3,6 = 4,6.
- Fark (hata): 4,6 − 2 = 2,6. Tahmin hedefin altında kalmıştır.
- Güncelleme: Q ← 2 + 0,5 · 2,6 = 2 + 1,3 = 3,3.
Tahmin hedefe doğru yarı yol (α = 0,5) ilerledi. α = 1 olsaydı tahmin doğrudan hedefe (4,6) atlardı; α = 0,1 olsaydı yalnızca 2,26'ya çıkardı.
Çoklu ajan ortamında Q-öğrenmenin önemli bir zayıflığı ortaya çıkar. Tek ajanlı Q-öğrenmenin yakınsama kanıtı, geçişlerin ve ödüllerin zamanla değişmediği, yani durağan bir ortam varsayar. Çoklu ajan ortamında ise bir ajanın gördüğü sonuçlar öteki ajanların davranışına bağlıdır. Öteki ajanlar da öğrendikçe oyunun kuralları ajanın gözünde sürekli değişir: dün iyi olan bir eylem bugün kötü olabilir. Ortam durağan değildir (non-stationary) ve tek ajanlı yakınsama garantileri geçerliliğini yitirir. Bu sorunu yönetmenin bir yolu kendine karşı oyundur (AlphaZero): ajan kendi kopyalarına karşı oynar; böylece rakip de ajanla birlikte gelişir.
13.5.2Kod izleme: q_learn()
Ortam dört hücreli bir koridordur: s0, s1, s2, s3. Her hücrede iki eylem vardır: sol ve sağ. s3 hedeftir; oraya varan geçiş 1 ödül verir ve epizot (bir deneme) biter. Öteki geçişlerin ödülü 0'dır. Fonksiyon, önceden kaydedilmiş epizotları (her biri (s, a, r, s′) dörtlülerinin listesi) sırayla işler.
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 QQ, dört satırlı bir tablodur; her satırda [sol, sağ] eylemlerinin değeri tutulur. Eylem 0 sol, 1 sağdır.best, varılan durumun en iyi değeridir. Hedefe varılmışsa (s2 == 3) epizot biter ve gelecek yoktur; değer 0 alınır.hedef, r + γ · best'tir; son satır Q-öğrenme güncellemesidir.
Çağrı q_learn(ep, 0.5, 0.9) olsun. ep üç epizottan oluşur. İlk ikisinde ajan s0'dan başlayıp üç kez sağa gider. Üçüncüsünde s1'de bir kez sola gider, sonra yeniden sağa ilerler.
| Epizot | Geçiş | r | best | hedef | Güncelleme |
|---|---|---|---|---|---|
| 1 | s0 → sağ → s1 | 0 | 0,000 | 0,000 | Q(s0,sağ) = 0 + 0,5·(0 − 0) = 0,000 |
| 1 | s1 → sağ → s2 | 0 | 0,000 | 0,000 | Q(s1,sağ) = 0,000 |
| 1 | s2 → sağ → s3 | 1 | 0 (hedef) | 1,000 | Q(s2,sağ) = 0 + 0,5·(1 − 0) = 0,500 |
| 2 | s0 → sağ → s1 | 0 | 0,000 | 0,000 | Q(s0,sağ) = 0,000 |
| 2 | s1 → sağ → s2 | 0 | 0,500 | 0,450 | Q(s1,sağ) = 0 + 0,5·(0,450 − 0) = 0,225 |
| 2 | s2 → sağ → s3 | 1 | 0 (hedef) | 1,000 | Q(s2,sağ) = 0,5 + 0,5·(1 − 0,5) = 0,750 |
| 3 | s0 → sağ → s1 | 0 | 0,225 | 0,203 | Q(s0,sağ) = 0 + 0,5·(0,203 − 0) = 0,101 |
| 3 | s1 → sol → s0 | 0 | 0,101 | 0,091 | Q(s1,sol) = 0 + 0,5·(0,091 − 0) = 0,046 |
| 3 | s0 → sağ → s1 | 0 | 0,225 | 0,203 | Q(s0,sağ) = 0,101 + 0,5·(0,203 − 0,101) = 0,152 |
| 3 | s1 → sağ → s2 | 0 | 0,750 | 0,675 | Q(s1,sağ) = 0,225 + 0,5·(0,675 − 0,225) = 0,450 |
| 3 | s2 → sağ → s3 | 1 | 0 (hedef) | 1,000 | Q(s2,sağ) = 0,75 + 0,5·(1 − 0,75) = 0,875 |
- Epizot 1: İlk iki geçişte ödül 0 ve varılan durumların değeri 0'dır; hiçbir şey öğrenilmez. Yalnızca son geçiş ödül 1 getirir ve Q(s2,sağ) = 0,5 olur. Ödül bilgisi şimdilik yalnızca hedefin bir adım öncesine ulaştı.
- Epizot 2: s1'den s2'ye geçişte best = max Q(s2, ·) = 0,5'tir. Hedef 0 + 0,9 · 0,5 = 0,45, güncelleme 0,5 · 0,45 = 0,225. Ödül bir adım daha geriye yayıldı. s0 hâlâ 0'dır, çünkü onun güncellemesi Q(s1, ·) artmadan önce yapıldı.
- Epizot 3, ilk geçiş: best = 0,225, hedef 0,9 · 0,225 ≈ 0,203, Q(s0,sağ) ≈ 0,101. Ödül bilgisi başlangıç hücresine ulaştı.
- Sola sapma: s1'den sola gidilince best = max Q(s0, ·) = 0,101, hedef 0,091, Q(s1,sol) ≈ 0,046. Sola gitmek de biraz değer kazandı, çünkü sol, değeri artık sıfır olmayan s0'a götürür.
- Kalan geçişler: Ajan yeniden sağa ilerler ve her güncelleme değerleri biraz daha artırır: Q(s0,sağ) ≈ 0,152, Q(s1,sağ) = 0,450, Q(s2,sağ) = 0,875.
Şekil 13.14 Q-öğrenmenin temel davranışını özetler: ödül hedeften geriye doğru yayılır. Q(s2,sağ) = 0,875 → Q(s1,sağ) = 0,450 → Q(s0,sağ) = 0,152. Her hücrede Q(sağ) > Q(sol) olduğundan, her durumda en büyük Q'lu eylemi seçen açgözlü politika “hep sağa” der. Ajan bu politikayı ödülü yalnızca son adımda gördüğü hâlde öğrenmiştir.
Aynı epizotlar sonsuza kadar tekrarlansaydı değerler nereye giderdi? Hep sağa gidildiğinde Q(s2,sağ)'nin hedefi her seferinde 1'dir, dolayısıyla Q(s2,sağ) → 1. Q(s1,sağ)'nin hedefi 0,9 · Q(s2,sağ)'dir ve 0,9'a gider. Q(s0,sağ) da 0,92 = 0,81'e gider. Değerler, hedefe uzaklıkla γ'nın kuvvetleri biçiminde azalır: uzaktaki ödül iskonto edilir.
- Hedef durumda max Q kullanmak: Epizot hedefte biter; hedefin geleceği yoktur, best = 0'dır.
- Güncelleme sırasını karıştırmak: Bir epizot içinde güncellemeler geçiş sırasıyla yapılır. s0 güncellenirken Q(s1, ·) henüz o epizodun eski değerindedir; bu yüzden ödül her epizotta yalnızca bir adım geriye yayılır.
- Hedef yerine farkı eklemek: Q ← Q + α · hedef yanlıştır; eklenen, α · (hedef − Q)'dur.
13.5.3Q-öğrenmenin ötesi: yöntemler ve kilometre taşları
Bu bölümdeki algoritmalar, geniş bir ailenin en sade üyeleridir. Ailenin birkaç önemli üyesi şunlardır.
- Thompson örneklemesi (Thompson sampling; Thompson, 1933): haydut için Bayesçi bir yöntemdir. Her kol için “ortalaması şu olabilir” biçiminde bir olasılık dağılımı tutar; bu dağılım gözlemlerle güncellenmiş bir son olasılık dağılımıdır. Her turda her kolun dağılımından bir tahmin çekilir ve en büyük tahmini veren kol çekilir. Belirsiz bir kol bazen yüksek bir tahmin verdiği için kendiliğinden keşfedilir; UCB1'deki iyimserliğin olasılıklı bir karşılığıdır.
- Kazan-kal, kaybet-değiş (Win-Stay Lose-Shift, WSLS; Nowak ve Sigmund, 1993): Mahkûmun İkilemi için bir kuraldır. 3 ya da 5 puan alındıysa aynı hamle tekrarlanır; 0 ya da 1 alındıysa hamle değiştirilir. Tek bir hatadan sonra iki turda işbirliğine döner.
- EXP3: yalnızca çekilen kolun ödülünü gören Hedge'dir; çekişmeli (adversarial) haydut için tasarlanmıştır. Ödülleri kötü niyetli bir rakip seçse bile pişmanlığı T'den yavaş büyür (Auer, Cesa-Bianchi, Freund ve Schapire, 2002).
- SARSA ve DQN: Q-öğrenmenin akrabalarıdır. DQN, Q tablosu yerine bir sinir ağı kullanır; bu sayede tabloya sığmayacak kadar çok durumu olan problemlerde (örneğin ekran görüntüsünden Atari oyunları) çalışır (Mnih vd., 2015).
- CFR (counterfactual regret minimization, karşı-olgusal pişmanlık minimizasyonu): pişmanlığa dayalı bir poker yöntemidir. Oyunun her karar noktasında ayrı bir pişmanlık tutar ve bunları küçültür (Zinkevich vd., 2007).
| Yıl | Sistem | Yöntem |
|---|---|---|
| 1992 | TD-Gammon (tavla) | kendine karşı oyun |
| 2017–19 | Libratus, Pluribus (poker) | CFR (pişmanlık) |
| 2018 | AlphaZero (satranç, Go) | kendine karşı oyun |
Oyunlar pekiştirmeli öğrenme için iyi bir laboratuvardır: kurallar açıktır, ödül nettir (kazanmak ya da kaybetmek), oyun milyonlarca kez tekrarlanabilir. Tablo 13.13 iki yaklaşımın öne çıktığını gösterir. Tam bilgili oyunlarda (tavla, satranç, Go) kendine karşı oyun başarılı oldu. Eksik bilgili oyunlarda, özellikle pokerde, rakibin kartları görülmediği için pişmanlık tabanlı yöntemler öne çıktı. Pokerdeki başarı bu bölümün kuramıyla doğrudan bağlantılıdır: CFR, iki oyunculu sıfır toplamlı bir oyunda pişmanlığı küçülttüğü için zaman ortalaması minimaks stratejisine yaklaşır.
13.6Evrimsel dinamik
Şimdiye kadarki bütün modellerde öğrenen bir birey vardı: sayaç tutan, ağırlık güncelleyen, tahmin yapan bir oyuncu. Evrimsel oyun kuramında birey hiçbir şey öğrenmez. Her birey doğuştan tek bir stratejiye sahiptir ve onu ömrü boyunca oynar. Değişen, nüfusun bileşimidir: başarılı stratejiyi taşıyan bireyler daha çok yavru bırakır ve o strateji yayılır. Rasyonellik yoktur, seçilim vardır. Şaşırtıcı olan, bu “akılsız” sürecin çoğu zaman Nash dengesinin öngördüğü yere varmasıdır.
13.6.1Replikatör dinamiği ve ESS
Model şöyledir. Büyük bir nüfusta bireyler rastgele ikili eşleşir ve aralarında bir oyun oynar. Her birey tek bir strateji oynar ve onu yavrularına aktarır. Bir stratejinin başarısı, onu oynayan bireyin nüfustan rastgele seçilen bir rakibe karşı ortalama kazancıyla ölçülür.
Nüfusta i stratejisinin payı xi olsun. fi, i stratejisinin ortalama kazancıdır ve uygunluk (fitness) adını alır; f̄ = Σj xj fj nüfusun ortalama kazancıdır. Kesikli replikatör dinamiği (replicator dynamics) her nesilde payları şöyle günceller:
yeni pay = eski pay × fi / f̄, yani xi′ = xi · fi / f̄
Formül, yavru sayısının uygunlukla orantılı olduğu varsayımından çıkar. Nüfusta i stratejisini oynayan ni birey olsun ve her biri fi yavru bıraksın. Yeni nesilde ni fi birey i'yi oynar. Yeni pay, bunun toplam yavru sayısına oranıdır: ni fi / Σj nj fj. Pay ve paydayı toplam nüfus n'ye bölmek xi fi / Σj xj fj = xi fi / f̄ verir.
Formülün yorumu tek cümledir: ortalamanın üstünde kazanan strateji yayılır. fi > f̄ ise fi/f̄ > 1 ve pay artar; fi < f̄ ise pay azalır. Paylar her zaman toplamı 1 olan bir dağılım olarak kalır. Formülün anlamlı olması için uygunlukların pozitif olması gerekir: negatif bir uygunluk negatif yavru sayısı demek olurdu. Bu yüzden derste her kazanca sabit bir taban eklenir (burada 3). Tabanın eklenmesi stratejilerin sıralamasını ve dinlenme noktalarını değiştirmez; yalnızca dinamiğin hızını etkiler. (Sürekli zamanlı sürümde ẋi = xi(fi − f̄) yazılır; bu derste kesikli biçim yeterlidir.)
Evrimsel bakışın denge kavramı evrimsel kararlı stratejidir (evolutionarily stable strategy, ESS; Maynard Smith ve Price, 1973).
Bir x stratejisi, nüfusun tamamı x oynarken ortaya çıkan küçük bir mutant grubu (başka bir y stratejisi oynayan) nüfusu istila edemiyorsa evrimsel kararlıdır. Biçimsel olarak her y ≠ x için
u(x, x) > u(y, x) ya da [u(x, x) = u(y, x) ve u(x, y) > u(y, y)]
olmalıdır; burada u(a, b), a oynayan bireyin b oynayan rakibe karşı kazancıdır.
Koşulun iki parçası mutantın neden yayılamadığını açıklar. Mutantlar azken hemen her eşleşmeleri yerleşik x'lerle olur. İlk koşul, mutantın bu eşleşmelerde yerleşiklerden kötü kazandığını söyler; mutant hemen geriler. İlk koşulda eşitlik varsa belirleyici olan seyrek mutant–mutant eşleşmeleridir: ikinci koşul, mutantla karşılaşınca yerleşiğin mutanttan iyi kazandığını söyler. Her ESS bir simetrik Nash dengesidir (ilk koşulun eşitsizliği ≥ olarak her zaman sağlanır); ama her Nash dengesi ESS değildir.
Örnek oyun Şahin–Güvercin'dir. Bireyler değeri V = 4 olan bir kaynak için karşılaşır. Şahin her zaman kavga eder; Güvercin gösteriş yapar ama kavga başlarsa çekilir. Kavga etmenin maliyeti C = 6'dır.
- İki şahin kavga eder: biri kazanır (V), biri yaralanır (−C); ortalama (V − C)/2 = (4 − 6)/2 = −1.
- Şahin güvercine karşı kaynağı alır: V = 4; güvercin 0 alır.
- İki güvercin kaynağı paylaşır: V/2 = 2.
Şekil 13.15'teki oyunda saf strateji ESS değildir. Bütün nüfus güvercinse, bir şahin mutant her eşleşmede 4 alır, güvercinler ise 2 alır; şahinler yayılır. Bütün nüfus şahinse, bir güvercin mutant 0 alır, şahinler ise −1 alır; güvercinler yayılır. İki uçta da azınlıkta olan strateji avantajlıdır. Bu yüzden nüfus bir karışımda dengelenmelidir.
13.6.2Şahin–Güvercin adım adım
Şahin payı x, güvercin payı 1 − x olsun. Bir şahin, rakibi x olasılıkla şahin, 1 − x olasılıkla güvercin olan bir eşleşmeye girer. Taban 3 eklenmiş uygunluklar:
fŞ = 3 + (−1) · x + 4 · (1 − x) = 7 − 5x, fG = 3 + 0 · x + 2 · (1 − x) = 5 − 2x
Nüfus ortalaması f̄ = x · fŞ + (1 − x) · fG, yeni şahin payı x′ = x · fŞ / f̄'dir.
Başlangıçta şahinler nüfusun %10'u olsun (x = 0,100).
- Uygunluklar: fŞ = 7 − 5 · 0,1 = 6,50, fG = 5 − 2 · 0,1 = 4,80.
- Ortalama: f̄ = 0,1 · 6,50 + 0,9 · 4,80 = 0,65 + 4,32 = 4,97.
- Yeni pay: x′ = 0,1 · 6,50 / 4,97 = 0,65 / 4,97 ≈ 0,131.
- fŞ > f̄ olduğu için şahinler arttı. Bir sonraki nesilde x = 0,131 ile aynı hesap yapılır: fŞ = 6,35, fG = 4,74, f̄ ≈ 4,95, x′ ≈ 0,168.
| nesil | x (şahin payı) | fŞ | fG | f̄ | yeni x = x·fŞ/f̄ |
|---|---|---|---|---|---|
| 0 | 0,100 | 6,50 | 4,80 | 4,97 | 0,131 |
| 1 | 0,131 | 6,35 | 4,74 | 4,95 | 0,168 |
| 2 | 0,168 | 6,16 | 4,66 | 4,92 | 0,210 |
| 3 | 0,210 | 5,95 | 4,58 | 4,87 | 0,257 |
| 4 | 0,257 | 5,72 | 4,49 | 4,80 | 0,306 |
| 5 | 0,306 | 5,47 | 4,39 | 4,72 | 0,354 |
| 6 | 0,354 | 5,23 | 4,29 | 4,62 | 0,401 |
| 7 | 0,401 | 5,00 | 4,20 | 4,52 | 0,443 |
Tablo 13.14 iki eğilimi birlikte gösterir. Şahin payı her nesil artar, çünkü her satırda fŞ > f̄'dır. Ama şahinlerin avantajı giderek küçülür: fŞ 6,50'den 5,00'e, fŞ − fG farkı 1,70'ten 0,80'e iner. Şahinler çoğaldıkça birbirleriyle daha sık karşılaşır ve pahalı kavgalara girer. Artış yavaşlar; nüfus bir dinlenme noktasına yaklaşır.
13.6.3Her başlangıçtan ESS'ye
Dinlenme noktası, iki stratejinin eşit kazandığı paydır; o noktada fŞ = fG = f̄ olur ve pay değişmez:
7 − 5x = 5 − 2x ⇒ 2 = 3x ⇒ x* = 2/3
Genel olarak (taban eklenmeden) (V − C)/2 · x + V(1 − x) = (V/2)(1 − x) denklemi x* = V/C verir; burada 4/6 = 2/3'tür. Bu değer, oyunun simetrik karışık Nash dengesiyle aynıdır: karışık dengede bir oyuncunun iki stratejisi arasında kayıtsız olması gerekir, bu da tam olarak fŞ = fG koşuludur.
Dinlenme noktası kararlıdır. x < 2/3 iken 7 − 5x > 5 − 2x, yani şahinler ortalamanın üstünde kazanır ve artar. x > 2/3 iken eşitsizlik tersine döner ve şahinler azalır. Her iki yönden de nüfus 2/3'e itilir.
x* = 2/3 karışımının ESS koşulunu sağladığı (taban eklenmemiş kazançlarla) doğrulanabilir.
- İlk koşul: x*'a karşı şahin ⅔ · (−1) + ⅓ · 4 = 2/3, güvercin ⅔ · 0 + ⅓ · 2 = 2/3 kazanır. Karışık dengede her mutant x*'a karşı aynı kazancı alır: u(y, x*) = u(x*, x*) = 2/3. Eşitlik vardır; ikinci koşula bakılır.
- Şahin mutant: u(x*, Ş) = ⅔ · (−1) + ⅓ · 0 = −2/3, u(Ş, Ş) = −1. −2/3 > −1: sağlanır.
- Güvercin mutant: u(x*, G) = ⅔ · 4 + ⅓ · 2 = 10/3, u(G, G) = 2. 10/3 > 2: sağlanır.
Her iki mutanta karşı da koşul sağlanır; x* = 2/3 bir ESS'dir.
Şekil 13.16 bu oyunda her iç başlangıcın ESS'ye gittiğini gösterir. Her oyun bu kadar uysal değildir. Taş-Kağıt-Makas'ta replikatör dinamiği dengenin etrafında döner: taşlar çoğalınca kağıtlar avantaj kazanır, kağıtlar çoğalınca makaslar, makaslar çoğalınca taşlar; nüfus bir yere yerleşmez. Geyik Avı'nda ise dinamik başlangıca göre iki saf dengeden birine gider: işbirlikçiler (geyik avcıları) başta yeterince çoksa geyik dengesi, azsa tavşan dengesi oluşur.
- Payı uygunlukla çarpıp bölmeyi unutmak: x · fŞ tek başına yeni pay değildir; f̄'ya bölünmeden payların toplamı 1 olmaz.
- f̄'yı iki uygunluğun basit ortalaması sanmak: f̄ = x · fŞ + (1 − x) · fG ağırlıklı bir ortalamadır; (fŞ + fG)/2 değildir.
- “Şahin her eşleşmede kazanıyor, öyleyse herkes şahin olur” demek: Şahin güvercine karşı kazanır, ama şahinler çoğaldıkça şahin–şahin kavgaları ortalamayı düşürür. Uygunluk nüfusun bileşimine bağlıdır.
13.7Tekrarlanan oyunlar
Mahkûmun İkilemi tek seferlik bir oyun olarak oyun kuramının en karamsar sonuçlarından birini verir: iki oyuncu da ihanet eder ve ikisi de işbirliğinden kötü durumda kalır. Oysa gerçek hayatta aynı kişilerle, aynı firmalarla, aynı komşularla tekrar tekrar karşılaşırız. Bu bölümde tekrarın işbirliğini nasıl mümkün kıldığı, hangi stratejilerin başarılı olduğu ve öğrenen bir nüfusta işbirliğinin nasıl yayıldığı incelenir.
13.7.1Tekrarlanan Mahkûmun İkilemi ve kinci tetik
Bu bölümde Mahkûmun İkilemi puanlarla yazılır ve yüksek puan iyidir. S (sessiz kalmak) işbirliği, İ ihanettir.
Şekil 13.17'deki dört sayının adları vardır: cazibe 5 (rakip işbirliği yaparken ihanet etmek), karşılıklı işbirliği 3, karşılıklı ihanet 1, enayi 0 (rakip ihanet ederken işbirliği yapmak). Sıralama cazibe 5 > karşılıklı işbirliği 3 > karşılıklı ihanet 1 > enayi 0'dır. İhanet baskın stratejidir: rakip S oynarsa İ 5, S 3 verir; rakip İ oynarsa İ 1, S 0 verir.
Sonlu ve bilinen sayıda tekrar sonucu değiştirmez. Oyunun tam 10 tur süreceğini iki oyuncu da biliyorsa, son tur bir tek seferlik oyundur ve iki taraf da ihanet eder. 9. turda oyuncular son turun ne olacağını bilir; 9. turdaki davranış 10. turu etkilemez, o hâlde 9. tur da tek seferlik oyun gibidir ve ihanet edilir. Bu geriye doğru çıkarım ilk tura kadar sürer: her turda ihanet.
Durum, oyunun ne zaman biteceği bilinmediğinde değişir. Oyun her turdan sonra δ olasılıkla bir tur daha sürsün (ve 1 − δ olasılıkla bitsin). δ'ya iskonto faktörü denir; bir sonraki turun bugünkü değerini ölçer. Bu duruma geleceğin gölgesi de denir: gelecek ne kadar olasıysa, bugünkü davranışın üzerine o kadar uzun bir gölge düşer. Oyunun beklenen süresi 1/(1 − δ) turdur; örneğin δ = 0,9 için ortalama 10 tur.
Kinci tetik stratejisi (grim trigger, Grim): ilk turda işbirliği yap; rakip bir kez bile ihanet ederse, o andan itibaren sonsuza kadar ihanet et.
İki oyuncu da kinci tetik oynarken birinin sapmaya değip değmeyeceği hesaplanabilir. Hesapta geometrik seri kullanılır. S = a + aδ + aδ2 + … toplamında her terim bir öncekinin δ katıdır; bu yüzden S = a + δS yazılabilir ve S = a/(1 − δ) bulunur (0 ≤ δ < 1 iken).
Puanlar cazibe 5, karşılıklı işbirliği 3, karşılıklı ihanet 1 iken iki oyuncunun da kinci tetik oynaması bir dengedir ancak ve ancak δ ≥ 1/2'dir. Genel olarak cazibe c ise eşik δ* = (c − 3)/(c − 1)'dir.
Uymak: İki taraf da kinci tetiğe uyarsa her tur karşılıklı işbirliği oynanır ve oyuncu her tur 3 alır. Beklenen toplam 3 + 3δ + 3δ2 + … = 3/(1 − δ)'dir.
Sapmak: Oyuncu bu tur ihanet ederse cazibe 5'i alır. Rakip kinci tetik oynadığı için sonraki her turda ihanet eder; o turlarda oyuncunun en iyi tepkisi de ihanettir ve karşılıklı ihanetle 1 alır. Toplam 5 + δ + δ2 + … = 5 + δ · 1/(1 − δ) = 5 + δ/(1 − δ)'dir. (Daha sonraki bir turda sapmak aynı hesabı o turdan başlatır; sonuç değişmez.)
Karşılaştırma: Uymak ≥ sapmak koşulu 3/(1 − δ) ≥ 5 + δ/(1 − δ)'dır. İki taraf pozitif (1 − δ) ile çarpılınca eşitsizlik yön değiştirmez: 3 ≥ 5(1 − δ) + δ = 5 − 4δ. Buradan 4δ ≥ 2, yani δ ≥ 1/2 = (5 − 3)/(5 − 1) çıkar. Cazibe c ile aynı adımlar 3 ≥ c(1 − δ) + δ, yani δ(c − 1) ≥ c − 3 verir.
Cezanın kendisi: Sapmadan sonra iki tarafın da hep ihanet etmesi, tek turluk oyunun Nash dengesi olan (İ, İ)'nin tekrarıdır. Ceza evresinde hiçbir oyuncunun tek başına S'ye dönmesi kârlı değildir (1 yerine 0 alır); bu yüzden ceza tehdidi inandırıcıdır. □
- δ = 0,9: uymak 3/0,1 = 30; sapmak 5 + 0,9/0,1 = 5 + 9 = 14. 30 > 14: işbirliği sürer.
- δ = 0,3: uymak 3/0,7 ≈ 4,29; sapmak 5 + 0,3/0,7 ≈ 5 + 0,43 = 5,43. Sapmak daha iyidir: ihanet.
- Eşikte, δ = 0,5: uymak 3/0,5 = 6; sapmak 5 + 0,5/0,5 = 6. İki seçenek eşittir.
Bu sonuç çok daha genel bir olgunun özel hâlidir. Halk teoremi (folk theorem) şunu söyler: δ yeterince büyükse, her oyuncuya ihanetle garantileyebileceğinden (burada 1'den) fazlasını veren pek çok ortalama kazanç, tekrarlanan oyunun bir dengesinde sürdürülebilir. Adı, sonucun kimin tarafından ilk kanıtlandığının bilinmemesinden, “halk arasında” bilinmesinden gelir. Teoremin iyi ve kötü bir yüzü vardır. İyi yüzü: işbirliği mümkündür. Kötü yüzü: çok sayıda denge vardır ve kuram hangisinin oynanacağını söylemez.
13.7.2İşbirliği hangi δ'da sürer?
Eşiğin cazibeye nasıl bağlı olduğu, cazibeyi değiştirerek görülebilir. Uymak 3/(1 − δ), sapmak cazibe + δ/(1 − δ) değerindedir; uymak ≥ sapmak ancak ve ancak δ ≥ δ* = (cazibe − 3)/(cazibe − 1).
Şekil 13.18'deki grafikte iki eğri δ = 0'da 3 ve cazibe değerinden başlar. Sapma eğrisi daha yüksekten başlar ama daha yavaş yükselir, çünkü sapan oyuncu gelecekte her tur 3 yerine 1 alır. Gelecek ne kadar değerliyse (δ büyükse) kinci tetik tehdidi o kadar caydırıcıdır. Cazibe arttıkça işbirliği için gereken eşik de yükselir: cazibe 4 iken δ* = 1/3, cazibe 9 iken δ* = 6/8 = 0,75'tir. İhanetin anlık kazancı büyüdükçe, onu caydırmak için geleceğin daha olası olması gerekir.
13.7.3On turluk maçlar
Kinci tetik işbirliğini korur ama çok serttir: tek bir ihanet sonsuza kadar cezalandırılır. Daha yumuşak ve çok ünlü bir strateji Tit-for-Tat'tır (TFT, “kısasa kısas”): ilk turda işbirliği yap, sonra rakibin son hamlesini tekrarla. Karşılaştırma için beş strateji tanımlanır:
- Hep İşbirliği (Hep-S) ve Hep İhanet (Hep-İ): rakibe bakmadan hep aynı hamle.
- Tit-for-Tat (TFT): S ile başla, sonra rakibin son hamlesini kopyala.
- Kinci (Grim): S ile başla; rakip bir kez ihanet ederse hep İ.
- Şüpheci TFT (ŞTFT): İ ile başla, sonra rakibin son hamlesini kopyala.
Şekil 13.19'daki maçlar puanlarıyla birlikte okunmalıdır.
- TFT – Hep İşbirliği: TFT işbirliği yapana işbirliğiyle karşılık verir. Her tur (S, S): iki taraf da 10 · 3 = 30.
- TFT – Hep İhanet: İlk tur TFT S, rakip İ: TFT 0, rakip 5. Sonraki dokuz tur TFT rakibin İ'sini kopyalar ve (İ, İ) sürer: her tur 1'er. TFT 0 + 9 = 9, rakip 5 + 9 = 14. TFT ilk turda sömürülür, sonra hep ihanet eder.
- TFT – Şüpheci TFT: Şüpheci TFT ihanetle başlar. İki TFT birbirini “yankılar”: TFT rakibin İ'sini kopyalarken rakip TFT'nin S'sini kopyalar; S/İ dönüşümlü sürer. Her oyuncu beş tur 5, beş tur 0 alır: ikisi de 25.
- Kinci – Şüpheci TFT: 1. tur Kinci S, ŞTFT İ: 0 – 5. 2. tur Kinci affetmez ve İ oynar, ŞTFT Kinci'nin S'sini kopyalar: 5 – 0. Sonraki sekiz tur ikisi de İ: 8'er. Toplam 13 – 13.
- Hep İhanet – Hep İşbirliği: Saf işbirlikçi tamamen sömürülür: 10 · 5 = 50'ye 0.
Bu maçlardan dikkat çekici bir özellik çıkar: TFT bir maçı asla kazanamaz. TFT hiçbir zaman ilk ihaneti yapmaz ve rakibin her ihanetine en fazla bir ihanetle cevap verir; bu yüzden bir maçta rakibinden fazla puan toplayamaz. En iyi durumda berabere kalır. Yine de, birazdan görüleceği gibi, turnuvayı kazanır.
13.7.4Kod izleme: match()
Maçları oynatan kod kısadır. PAY sözlüğü, iki hamlenin birleşimini (örneğin "Sİ") iki oyuncunun puanlarına eşler. Stratejiler, kendi geçmişini ve rakibin geçmişini alan küçük fonksiyonlardır.
PAY = {"SS": (3, 3), "Sİ": (0, 5),
"İS": (5, 0), "İİ": (1, 1)}
tft = lambda ben, rakip: rakip[-1] if rakip else "S"
stft = lambda ben, rakip: rakip[-1] if rakip else "İ"
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, p2tft: rakibin geçmişi boş değilse rakibin son hamlesini (rakip[-1]) döndürür, boşsa"S".stftaynı kuraldır ama boş geçmişte"İ"döndürür.match: her turda iki strateji kendi bakış açısından çağrılır. Birinci oyuncus1(h1, h2), ikinci oyuncus2(h2, h1)ile çağrılır; böylece her strateji önce kendi, sonra rakibin geçmişini alır.PAY[a + b], iki hamle harfini birleştirip puan çiftini bulur. Hamleler geçmişlere eklenir ve puanlar toplanır.
| t | TFT | ŞTFT | Gerekçe | PAY | Puanlar |
|---|---|---|---|---|---|
| 0 | S | İ | geçmiş boş: TFT S, ŞTFT İ ile açar | Sİ = (0, 5) | 0 – 5 |
| 1 | İ | S | ikisi de rakibin son hamlesini kopyalar | İS = (5, 0) | 5 – 5 |
| 2 | S | İ | kopyalama | Sİ = (0, 5) | 5 – 10 |
| 3 | İ | S | kopyalama | İS = (5, 0) | 10 – 10 |
| 4 | S | İ | kopyalama | Sİ = (0, 5) | 10 – 15 |
| 5 | İ | S | kopyalama | İS = (5, 0) | 15 – 15 |
match(tft, stft, 6) sonucu: TFT S İ S İ S İ, Şüpheci TFT İ S İ S İ S; puanlar 15 – 15.Fonksiyon (15, 15) döndürür. Şekil 13.20 bir yankı döngüsünü gösterir: tek bir ilk ihanet, iki kopyalayıcı strateji arasında sonsuza kadar süren bir “Sİ / İS” dönüşümü başlatır. Tur başına ortalama puan (0 + 5)/2 = 2,5'tir; karşılıklı işbirliğinde 3 olurdu. Döngüyü kırabilecek tek şey, iki stratejiden birinin bir kez “affetmesi”dir; TFT ve ŞTFT bunu yapmaz.
13.7.5Mini Axelrod turnuvası
Beş strateji, kendi ikizi dahil herkesle on turluk birer maç yapsın. Tablo 13.16 her satırdaki stratejinin, sütundaki rakibe karşı on turda topladığı puanı verir.
| Strateji \ rakip | Hep-S | Hep-İ | TFT | Kinci | ŞTFT | Toplam | Sıra |
|---|---|---|---|---|---|---|---|
| Hep İşbirliği | 30 | 0 | 30 | 30 | 27 | 117 | 2 |
| Hep İhanet | 50 | 10 | 14 | 14 | 10 | 98 | 4 |
| Tit-for-Tat | 30 | 9 | 30 | 30 | 25 | 124 | 1 |
| Kinci (Grim) | 30 | 9 | 30 | 30 | 13 | 112 | 3 |
| Şüpheci TFT | 32 | 10 | 25 | 13 | 10 | 90 | 5 |
Tablonun iki hücresi ayrıntılı hesaplanabilir.
- Hep İşbirliği – Şüpheci TFT = 27: 1. tur Hep-S S, ŞTFT İ: Hep-S 0 alır. 2. turdan itibaren ŞTFT, Hep-S'nin S'sini kopyalar ve dokuz tur (S, S) oynanır: 9 · 3 = 27. Toplam 0 + 27 = 27. Aynı maçta ŞTFT 5 + 27 = 32 alır; bu, ŞTFT satırının ilk hücresidir.
- Hep İhanet – TFT = 14: 1. tur Hep-İ 5 alır; sonra dokuz tur (İ, İ): 9. Toplam 14. Kinci'ye karşı da aynıdır.
- Toplamlar: TFT 30 + 9 + 30 + 30 + 25 = 124; Hep İhanet 50 + 10 + 14 + 14 + 10 = 98.
Sıralama: Tit-for-Tat (124), Hep İşbirliği (117), Kinci (112), Hep İhanet (98), Şüpheci TFT (90). TFT birinci, hiçbir maçı kazanmadan. Hep İhanet ise her maçı kazanır ya da berabere bitirir, ama sondan ikinci olur. Açıklama, puanların nereden geldiğindedir. Hep İhanet tek tek maçları kazanır ama kazandığı maçlarda az puan toplar: işbirlikçilerle karşılaşınca bir kez sömürür, sonra karşılıklı ihanete düşer ve tur başına 1 alır. TFT ise işbirlikçilerle uzun karşılıklı işbirliği kurar ve tur başına 3 toplar. Turnuva, rakibi yenmeyi değil, toplam puanı ödüllendirir.
Turnuva tablosu evrimsel bir hikâyeye de dönüştürülebilir. Beş strateji nüfusun beşte birer payına sahip olsun ve her stratejinin uygunluğu, nüfustan rastgele seçilen bir rakibe karşı ortalama puanı olsun: TFT 124/5 = 24,8, Hep-S 23,4, Kinci 22,4, Hep-İ 19,6, ŞTFT 18,0. Nüfus ortalaması f̄ = 541/25 = 21,64'tür. Replikatör kuralıyla bir nesil sonra paylar TFT 0,2 · 24,8/21,64 ≈ 0,229, Hep-S ≈ 0,216, Kinci ≈ 0,207, Hep-İ ≈ 0,181, ŞTFT ≈ 0,166 olur. Ortalamanın üstünde kazanan üç “iyi niyetli” strateji yayılır; ihanetle başlayanlar geriler.
13.7.6Axelrod turnuvaları ve dersleri
Mini turnuva gerçek bir deneyin küçük bir kopyasıdır. Siyaset bilimci Robert Axelrod, 1980'de iki bilgisayar turnuvası düzenledi. Oyun kuramcıları, matematikçiler ve bilgisayar programcıları tekrarlanan Mahkûmun İkilemi için program gönderdi: ilk turnuvaya 14, ikincisine 62 program katıldı. İkisini de Anatol Rapoport'un dört satırlık Tit-for-Tat programı kazandı. İkinci turnuvanın katılımcıları ilk turnuvanın sonuçlarını biliyordu ve TFT'yi yenmeye çalıştı; yine de başaramadılar (Axelrod, 1984).
Axelrod başarılı stratejilerin dört ortak özelliğini sıraladı:
- İyi niyetli: İlk ihaneti yapan olma. Mini turnuvada iyi niyetli üç strateji (TFT, Hep-S, Kinci) ilk üç sırayı aldı.
- Misilleme yapan: İhanet cezasız kalmasın. Hep İşbirliği misilleme yapmadığı için Hep İhanet karşısında 0 aldı.
- Affedici: Rakip işbirliğine dönerse sen de dön. Kinci affetmediği için Şüpheci TFT'ye karşı yalnız 13 aldı; TFT 25 aldı.
- Anlaşılır: Rakip kuralını kolayca öğrenebilsin. TFT'nin kuralı birkaç turda anlaşılır; rakip ona karşı işbirliğinin en iyisi olduğunu çabuk öğrenir.
TFT'nin zayıf noktası gürültüdür, yani bir oyuncunun yanlışlıkla istemediği hamleyi yapma olasılığıdır. Gürültülü bir ortamda iki TFT, tek bir hatadan sonra sonsuz bir misilleme döngüsüne girer.
Şekil 13.21'deki maçta ilk üç tur (S, S)'dir: 9'ar puan. 4. turda A yanlışlıkla İ oynar: A 5, B 0 alır. 5. turda B, A'nın İ'sini kopyalar; A ise B'nin S'sini kopyalar: A 0, B 5. Bundan sonra iki oyuncu sırayla birbirine ihanet eder. 4.–10. turlar arasındaki yedi turda A dört kez (4, 6, 8, 10), B üç kez (5, 7, 9) 5 alır. Toplamlar 9 + 20 = 29 ve 9 + 15 = 24'tür; iki oyuncunun toplamı 60'tan 53'e düşer. Hatayı yapan A bile, uzun bir maçta karşılıklı işbirliğinin tur başına 3'ünü kaybeder. Çare olarak cömert TFT (generous Tit-for-Tat) önerilir: rakibin ihanetini bazen (belli bir olasılıkla) affeder ve yankı döngüsünü kırar; gürültülü ortamda TFT'den daha iyi sonuç verir. Kazan-kal, kaybet-değiş (WSLS) de tek hatadan iki turda işbirliğine döner.
Son bir ders: başarı ortama bağlıdır. Hiçbir strateji her rakip havuzunda en iyi değildir. Rakip havuzu değişirse sıralama değişir. Örneğin havuz yalnızca Hep İhanet'lerden oluşsaydı en iyi strateji Hep İhanet olurdu; TFT her maçta ilk turda sömürülürdü. Axelrod bu yüzden evrimsel turnuvalar da düzenledi: her nesilde stratejiler önceki turnuva başarılarıyla orantılı olarak çoğalır (replikatör dinamiği). Bu turnuvalarda saldırgan stratejiler önce, sömürecek saf işbirlikçiler varken çoğalır; kurbanları azalınca kendileri de geriler ve TFT gibi iyi niyetli, misilleme yapan stratejiler nüfusa yerleşir.
- “TFT maçları kazanır” demek: TFT hiçbir maçı kazanamaz; en iyi ihtimalle berabere kalır. Turnuvayı yüksek toplam puanla kazanır.
- Kendi ikiziyle maçı unutmak: Mini turnuvada her strateji kendi ikiziyle de oynar; Hep İhanet'in 10 ve ŞTFT'nin 10 puanı bu maçlardan gelir.
- Sonlu ve bilinen tekrarda işbirliği beklemek: Turnuvadaki 10 tur, stratejilerin “bilmediği” bir sınırdır; programlar sona doğru davranış değiştirmez. Tur sayısı oyunculara bilinseydi geriye doğru çıkarım her turda ihanet önerirdi.
13.8Tartışma: öğrenme, insan ve etik
Bölümün sonuçları üç tartışma sorusu etrafında toplanabilir.
Öğrenme her zaman optimuma götürür mü? Hayır. Bölüm boyunca birçok karşı örnek görüldü. En iyi tepki dinamiği Yazı-Tura'da döner; kurgusal oyun Shapley'nin 3×3 örneğinde yakınsamaz; iki Hedge oyuncusunun son yinelemesi salınmaya devam eder. Çevre ve rakipler de değişir: öğrenen rakip hedefi kaydırır. Yanlış bir model de kötü bir yakınsamaya yol açar: yalnızca sömüren bir haydut algoritması yanlış kola takılır. Bu yüzden öğrenme kuramında güvenilir hedef çoğu zaman “dengeye varmak” değil, pişmanlıksızlıktır: rakip ne yaparsa yapsın, geriye bakınca hiçbir sabit stratejinin çok daha iyi olmayacağı garantisi.
İnsanlar algoritmalar gibi mi öğrenir? Kısmen. Benzerlikler açıktır: insanlar da deneme-yanılmayla öğrenir ve geçmiş deneyimlerine göre davranışlarını değiştirir. Farklar da vardır: insanlar risk algısı, duygular ve sosyal normlarla hareket eder; algoritmalar ise tanımlı bir ödülü izler. Haydut deneyindeki bulgu (Daw vd., 2006), insanların keşif davranışının UCB gibi bir algoritmadan çok softmax seçimine benzediğini göstermiştir.
Uyarlanabilir sistemlerde etik riskler nelerdir? Öğrenen sistemler veriyi olduğu gibi öğrenir. Verideki önyargı, sistemin kararlarına taşınır (veri önyargısı). Tıklama sayısını en büyük yapmayı öğrenen bir öneri sistemi, kullanıcıyı manipüle eden içerikleri öne çıkarabilir (tıklama tuzağı). Kullanıcı davranışından öğrenmek mahremiyet sorunları doğurur. Daha incelikli bir risk de algoritmik fiyat koordinasyonudur: aynı pazarda fiyat belirleyen öğrenen botlar, açıkça anlaşmadan yüksek fiyatlarda “örtük bir anlaşmaya” varabilir. Bu, tekrarlanan Mahkûmun İkilemi'ndeki işbirliğinin tüketici aleyhine çalışan bir hâlidir: kinci tetik benzeri cezalandırma stratejilerini öğrenen botlar, rakibin indirimini fiyat savaşıyla cezalandırarak yüksek fiyatı korur.
13.9Özet
- En iyi tepki dinamiğinde oyuncular sırayla rakibin son eylemine en iyi tepki verir. Dinamik durursa bir saf Nash dengesinde durur; hangi dengeye varıldığı başlangıca bağlıdır. Sonlu potansiyel oyunlarda her kârlı sapma ortak potansiyeli artırdığı için dinamik mutlaka durur. Yazı-Tura Eşleştirme gibi saf dengesi olmayan oyunlarda döner.
- Kurgusal oyunda oyuncu rakibin bütün geçmişinin frekanslarına en iyi tepki verir. Yazı-Tura'da eylemler giderek uzayan döngülerle döner, frekanslar ise (½, ½)'ye yaklaşır (400 turda 0,472 ve 0,492). Yakınsama sıfır toplamlı (Robinson), 2×2 (Miyasawa) ve potansiyel oyunlarda garantilidir; Shapley'nin 3×3 örneğinde yoktur.
- Dışsal pişmanlık, geriye dönük en iyi sabit eylemle algoritma arasındaki toplam farktır: RT = maxi Σ gt(i) − Σ gt(at). RT/T → 0 ise algoritma pişmanlıksızdır. Lideri izle gibi deterministik kurallar sömürülür (pişmanlık ≈ T/2).
- Hedge ağırlıkları wi ← wi · eη·gt(i) ile günceller ve ağırlıklarla orantılı olasılıkla oynar. RT ≤ (ln n)/η + ηT; η = √(ln n / T) ile RT ≤ 2√(T ln n).
- Sabit rakibe karşı Hedge en iyi tepkiye gider; öğrenen rakibe karşı son yineleme döner ama zaman ortalaması dengeye yaklaşır. Herkes pişmanlıksız oynarsa zaman ortalaması kaba korelasyonlu dengeye (CCE), iç pişmanlık küçültülürse korelasyonlu dengeye (CE), sıfır toplamlı oyunlarda minimaksa yaklaşır.
- Çok kollu haydutta yalnızca çekilen kolun ödülü görülür ve keşif–sömürü ikilemi doğar. ε-açgözlü ε olasılıkla rastgele keşfeder; sabit ε ile pişmanlığı doğrusal büyür. UCB1, Q + √(2 ln t / N) puanı en büyük kolu seçer; keşfi az denenen kollara yöneltir ve pişmanlığı logaritmik büyür (5000 turda 84'e 118).
- Q-öğrenme Q(s, a) ← Q(s, a) + α[r + γ · max Q(s′, ·) − Q(s, a)] ile durum–eylem değerlerini günceller; ödül hedeften geriye yayılır. Çoklu ajan ortamında ortam durağan olmadığı için tek ajanlı garantiler geçerliliğini yitirir.
- Replikatör dinamiğinde ortalamanın üstünde kazanan strateji yayılır: xi′ = xi fi / f̄. Şahin–Güvercin'de her iç başlangıç ESS x* = V/C'ye gider; bu, simetrik karışık Nash dengesidir.
- Tekrarlanan Mahkûmun İkilemi'nde kinci tetik işbirliğini δ ≥ (cazibe − 3)/(cazibe − 1) iken korur (puanlar 5, 3, 1, 0 ile δ ≥ 1/2). Mini Axelrod turnuvasında Tit-for-Tat hiçbir maçı kazanmadan birinci olur; başarılı stratejiler iyi niyetli, misilleme yapan, affedici ve anlaşılırdır. Gürültüde cömert TFT ve WSLS daha iyidir.
| Yöntem | Açıklama | Sonuç |
|---|---|---|
| En iyi tepki dinamiği | Son eyleme en iyi tepki | Potansiyel oyunda dengeye; aksi hâlde döngü |
| Kurgusal oyun | Geçmiş frekanslara en iyi tepki | Sıfır toplamlıda frekanslar dengeye |
| Hedge | w ← w · eηg | RT = O(√(T ln n)); zaman ortalaması → CCE |
| ε-açgözlü / UCB | Keşif–sömürü dengesi | UCB: logaritmik pişmanlık |
| Q-öğrenme | Q ← Q + α(r + γ · max Q′ − Q) | Ödül hedeften geriye yayılır |
| Replikatör | Başarılı strateji yayılır | Şahin–Güvercin: x* = V/C |
| Tekrarlanan MI | Geleceğin gölgesi | δ ≥ 1/2 ise işbirliği; TFT güçlü |
13.10Kavram listesi
Terimlerin İngilizce karşılıkları ve öteki bölümlerdeki kullanımları terim sözlüğünde bulunur.
- en iyi tepki dinamiği best-response dynamics
- potansiyel oyun potential game
- kurgusal oyun fictitious play
- dışsal pişmanlık external regret
- iç pişmanlık internal / swap regret
- lideri izle follow the leader
- çarpımsal ağırlıklar (Hedge) multiplicative weights
- öğrenme oranı learning rate
- korelasyonlu denge correlated equilibrium
- kaba korelasyonlu denge coarse correlated equilibrium
- çok kollu haydut multi-armed bandit
- keşif–sömürü exploration–exploitation
- ε-açgözlü ε-greedy
- üst güven sınırı (UCB) upper confidence bound
- Thompson örneklemesi Thompson sampling
- EXP3 (çekişmeli haydut) adversarial bandit
- pekiştirmeli öğrenme reinforcement learning
- Q-öğrenme Q-learning
- iskonto faktörü discount factor
- durağan olmayan non-stationary
- karşı-olgusal pişmanlık minimizasyonu (CFR) counterfactual regret minimization
- replikatör dinamiği replicator dynamics
- uygunluk fitness
- evrimsel kararlı strateji (ESS) evolutionarily stable strategy
- kinci tetik stratejisi grim trigger strategy
- halk teoremi folk theorem
- Tit-for-Tat Tit-for-Tat
- şüpheci / cömert TFT suspicious / generous Tit-for-Tat
- kazan-kal, kaybet-değiş win-stay lose-shift
13.11Kendini Dene
Hücrelerde (u1, u2): (Üst, Sol) = (2, 1), (Üst, Sağ) = (0, 0), (Alt, Sol) = (0, 0), (Alt, Sağ) = (1, 2). Önce satır, sonra sütun oyuncusu hareket eden en iyi tepki dinamiği (Üst, Sağ)'dan başlarsa nerede durur? (Alt, Sol)'dan başlarsa? Bu oyun potansiyel oyun mudur?
Cevap
(Üst, Sağ)'dan: satır oyuncusu Sağ'a karşı Üst 0, Alt 1 görür ve Alt'a geçer: (Alt, Sağ). Sütun oyuncusu Alt'a karşı Sol 0, Sağ 2 görür; Sağ'da kalır. Dinamik (Alt, Sağ)'da durur. (Alt, Sol)'dan: satır oyuncusu Sol'a karşı Üst 2, Alt 0 görür ve Üst'e geçer: (Üst, Sol). Sütun oyuncusu Üst'e karşı Sol 1, Sağ 0 görür; kalır. Dinamik (Üst, Sol)'da durur. Varılan denge başlangıca bağlıdır. Oyun potansiyel oyundur: Φ(Üst, Sol) = 2, Φ(Üst, Sağ) = 1, Φ(Alt, Sol) = 0, Φ(Alt, Sağ) = 2 seçilirse her tek taraflı değişimde değişen oyuncunun kazanç farkı Φ farkına eşittir. Örneğin Sağ sütununda satır oyuncusu Üst'ten Alt'a geçince kazancı 0'dan 1'e, Φ 1'den 2'ye çıkar; Üst satırında sütun oyuncusu Sağ'dan Sol'a geçince kazancı 0'dan 1'e, Φ 1'den 2'ye çıkar.
İki eylemli Hedge'de η = ln 3, başlangıç ağırlıkları 1. Üç turun kazançları (1, 0), (0, 1), (1, 0)'dır. Her turun olasılıklarını, algoritmanın toplam beklenen kazancını ve dışsal pişmanlığı bulun.
Cevap
eln 3 = 3: kazancı 1 olan eylemin ağırlığı üç katına çıkar. Tur 1: w = (1, 1), p = (½, ½), beklenen kazanç 0,5; güncelleme w = (3, 1). Tur 2: p = (3/4, 1/4), kazanç ¼ · 1 = 0,25; w = (3, 3). Tur 3: p = (½, ½), kazanç 0,5; son ağırlıklar (9, 3). Toplam 0,5 + 0,25 + 0,5 = 1,25. Sabit eylemler: A = 2, B = 1. Pişmanlık 2 − 1,25 = 0,75. 2. turda A'ya fazla güvenildi ve kazanan B çıktı.
Dört eylemli (n = 4) bir problemde Hedge 400 tur oynanacaktır. Sınırı en küçük yapan η, pişmanlık sınırı ve tur başına pişmanlık sınırı nedir? Tur sayısı dört katına çıkarsa (1600 tur) bu sayılar nasıl değişir?
Cevap
ln 4 ≈ 1,386. η = √(1,386/400) ≈ 0,059. Sınır 2√(400 · 1,386) = 2√554,5 ≈ 47,1; tur başına 47,1/400 ≈ 0,118. 1600 turda η yarıya iner (≈ 0,029), toplam sınır √4 = 2 katına çıkar (≈ 94,2), tur başına sınır yarıya iner (≈ 0,059).
İki kollu bir haydutta gerçek ortalamalar μ = (0,6; 0,4)'tür. İlk beş turda kol 0 dört kez çekilmiş (Q = 0,8), kol 1 bir kez çekilmiş (Q = 0,5). (a) t = 6'da UCB1 hangi kolu seçer? (b) Seçimden sonra çekiş sayıları N = (4, 2) olursa altı turun pişmanlığı kaçtır?
Cevap
(a) 2 ln 6 ≈ 3,58. Kol 0: 0,8 + √(3,58/4) = 0,8 + 0,95 ≈ 1,75. Kol 1: 0,5 + √3,58 = 0,5 + 1,89 ≈ 2,39. UCB1 kol 1'i seçer: tahmini düşük ama belirsizliği büyüktür. (b) R = 6 · 0,6 − (4 · 0,6 + 2 · 0,4) = 3,6 − 3,2 = 0,4. Pişmanlık gerçek ortalamalarla hesaplanır; gözlenen Q değerleri kullanılmaz.
Q-öğrenmede Q(s, a) = 0,5, r = 2, γ = 0,5, max Q(s′, ·) = 3, α = 0,2'dir. Hedef ve yeni Q(s, a) nedir? s′ bir hedef durum olsaydı (epizot bitseydi) sonuç ne olurdu?
Cevap
Hedef 2 + 0,5 · 3 = 3,5. Yeni değer 0,5 + 0,2 · (3,5 − 0,5) = 0,5 + 0,6 = 1,1. s′ hedef olsaydı gelecek değer 0 alınırdı: hedef 2, yeni değer 0,5 + 0,2 · 1,5 = 0,8.
Şahin–Güvercin'de V = 2, C = 8, taban 3'tür. Şahin payı x iken uygunlukları yazın, ESS'yi bulun ve x = 0,5'ten bir nesil sonraki şahin payını hesaplayın.
Cevap
Kazançlar: ŞŞ (2 − 8)/2 = −3, ŞG 2, GŞ 0, GG 1. fŞ = 3 − 3x + 2(1 − x) = 5 − 5x, fG = 3 + 1 · (1 − x) = 4 − x. Dinlenme noktası 5 − 5x = 4 − x ⇒ x* = 1/4 = V/C. x = 0,5'te fŞ = 2,5, fG = 3,5, f̄ = 3; x′ = 0,5 · 2,5/3 ≈ 0,417. Şahinler ortalamanın altında kazandığı için azalır ve 0,25'e doğru iner. Kavga pahalı olduğunda şahin payı küçüktür.
Bir tekrarlanan Mahkûmun İkilemi'nde puanlar cazibe 7, karşılıklı işbirliği 4, karşılıklı ihanet 2, enayi 0'dır. Kinci tetikle işbirliğinin sürmesi için gereken en küçük δ'yı türetin.
Cevap
Uymak 4/(1 − δ), sapmak 7 + 2δ/(1 − δ). (1 − δ) ile çarpınca 4 ≥ 7(1 − δ) + 2δ = 7 − 5δ, yani 5δ ≥ 3 ve δ ≥ 3/5. Genel kural: δ* = (cazibe − işbirliği)/(cazibe − ihanet) = (7 − 4)/(7 − 2). Karşılıklı ihanetin puanı yükseldiği için ceza daha hafiftir; eşik buna göre ayarlanır.
Kazan-kal, kaybet-değiş (WSLS; ilk turda S, 3 ya da 5 aldıysa aynı hamle, 0 ya da 1 aldıysa değiştir) altı tur boyunca Hep İhanet'e karşı oynuyor. Hamle dizisi ve puanlar nedir? TFT aynı maçta ne alırdı?
Cevap
Tur 1: WSLS S, rakip İ: 0 – 5; WSLS 0 aldığı için değiştirir. Tur 2: İ – İ: 1 – 1; 1 aldığı için yine değiştirir. Dizi S İ S İ S İ olur: WSLS 0 + 1 + 0 + 1 + 0 + 1 = 3, Hep İhanet 5 + 1 + 5 + 1 + 5 + 1 = 18. TFT ilk turdan sonra hep ihanet ederdi: 0 + 5 · 1 = 5'e 5 + 5 = 10. WSLS gürültüye karşı TFT'den güçlüdür ama koşulsuz ihanetçiye karşı her iki turda bir sömürülür.
13.12İleri okuma
- T. Roughgarden, Twenty Lectures on Algorithmic Game Theory (2016), Ders 16–18: pişmanlıksız öğrenme, Hedge'in pişmanlık sınırının ispatı, korelasyonlu dengeler ve minimaks teoreminin öğrenmeyle ispatı bilgisayar bilimi bakışıyla anlatılır.
- T. Lattimore ve C. Szepesvári, Bandit Algorithms (2020): ε-açgözlü, UCB, Thompson örneklemesi ve EXP3 algoritmalarının ayrıntılı analizini veren kapsamlı bir kaynaktır.
- R. Axelrod, The Evolution of Cooperation (1984): bilgisayar turnuvalarının hikâyesini, Tit-for-Tat'ın başarısını ve evrimsel turnuvaları matematik bilgisi gerektirmeden anlatır.
- D. Easley ve J. Kleinberg, Networks, Crowds, and Markets (2010), Bölüm 7: evrimsel oyun kuramını, ESS'yi ve Şahin–Güvercin benzeri örnekleri giriş düzeyinde sunar.
13.13Kaynaklar
- P. Auer, N. Cesa-Bianchi, P. Fischer, “Finite-time analysis of the multiarmed bandit problem”, Machine Learning 47, 2002.
- P. Auer, N. Cesa-Bianchi, Y. Freund, R. E. Schapire, “The nonstochastic multiarmed bandit problem”, SIAM Journal on Computing 32(1), 2002.
- R. Axelrod, The Evolution of Cooperation, Basic Books, 1984.
- A. Blum, Y. Mansour, “From external to internal regret”, JMLR 8, 2007.
- N. Cesa-Bianchi, G. Lugosi, Prediction, Learning, and Games, Cambridge, 2006.
- N. D. Daw, J. P. O’Doherty, P. Dayan, B. Seymour, R. J. Dolan, “Cortical substrates for exploratory decisions in humans”, Nature 441, 2006.
- D. Easley, J. Kleinberg, Networks, Crowds, and Markets, Cambridge, 2010 (Bölüm 7: evrimsel oyun kuramı).
- D. Foster, R. Vohra, “Calibrated learning and correlated equilibrium”, Games and Economic Behavior 21, 1997.
- D. Fudenberg, D. Levine, The Theory of Learning in Games, MIT Press, 1998.
- S. Hart, A. Mas-Colell, “A simple adaptive procedure leading to correlated equilibrium”, Econometrica 68(5), 2000.
- J. Hofbauer, K. Sigmund, Evolutionary Games and Population Dynamics, Cambridge, 1998.
- A. R. Karlin, Y. Peres, Game Theory, Alive, AMS, 2017 (Bölüm 7: evrimsel denge; Bölüm 18: uyarlanabilir karar verme).
- T. Lattimore, C. Szepesvári, Bandit Algorithms, Cambridge, 2020.
- J. Maynard Smith, G. R. Price, “The logic of animal conflict”, Nature 246, 1973.
- K. Miyasawa, “On the convergence of the learning process in a 2×2 non-zero-sum two-person game”, Princeton Research Memo 33, 1961.
- V. Mnih vd., “Human-level control through deep reinforcement learning”, Nature 518, 2015.
- D. Monderer, L. S. Shapley, “Potential games”, Games and Economic Behavior 14(1), 1996.
- N. Nisan, T. Roughgarden, É. Tardos, V. Vazirani (ed.), Algorithmic Game Theory, Cambridge, 2007 (Bölüm 4: öğrenme, pişmanlık ve denge).
- 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.
- J. Robinson, “An iterative method of solving a game”, Annals of Mathematics 54(2), 1951.
- T. Roughgarden, Twenty Lectures on Algorithmic Game Theory, Cambridge, 2016 (Ders 16–18).
- L. S. Shapley, “Some topics in two-person games”, Advances in Game Theory, 1964.
- W. R. Thompson, “On the likelihood that one unknown probability exceeds another in view of the evidence of two samples”, Biometrika 25, 1933.
- C. Watkins, Learning from Delayed Rewards, doktora tezi, Cambridge Üniversitesi, 1989.
- C. Watkins, P. Dayan, “Q-learning”, Machine Learning 8, 1992.
- M. Zinkevich, M. Johanson, M. Bowling, C. Piccione, “Regret minimization in games with incomplete information”, NeurIPS, 2007.
Ders sayfası: Roughgarden CS364A · Araç: Nashpy (kurgusal oyun, replikatör dinamiği) · © Sercan Külcü. Tüm hakları saklıdır.