CS 221 - Yapay Zekâ

Arama optimizasyonu ve Markov karar sürecine sahip durum-temelli modeller

Afshine Amidi ve Shervine Amidi tarafından


Cemal Gurpinar ve Başak Buluz tarafından çevrilmiştir
Star

Arama optimizasyonu

Bu bölümde, $s$ durumunda a eylemini gerçekleştirdiğimizde, $\textrm{Succ}(s,a)$ durumuna varacağımızı varsayıyoruz. Burada amaç, başlangıç durumundan başlayıp bitiş durumuna götüren bir eylem dizisi $(a_1,a_2,a_3,a_4,...)$ belirlenmesidir. Bu tür bir problemi çözmek için, amacımız durum-temelli modelleri kullanarak asgari maliyet yolunu bulmak olacaktır.

Ağaç arama

Bu durum-temelli algoritmalar, olası bütün durum ve eylemleri araştırırlar. Oldukça bellek verimli ve büyük durum uzayları için uygundurlar ancak çalışma zamanı en kötü durumlarda üstel olabilir.

Tree

Arama problemi Bir arama problemi aşağıdaki şekilde tanımlanmaktadır:

Search problem

Amaç, maliyeti en aza indiren bir yol bulmaktır.


Geri izleme araması Geri izleme araması (backtracking search), asgari maliyet yolunu bulmak için tüm olasılıkları deneyen saf (naive) bir özyinelemeli algoritmadır. Burada, eylem maliyetleri pozitif ya da negatif olabilir.


Genişlik öncelikli arama (BFS) Genişlik öncelikli arama (BFS, breadth-first search), seviye seviye arama yapan bir çizge arama algoritmasıdır. Gelecekte her adımda ziyaret edilecek düğümleri tutan bir kuyruk yardımıyla yinelemeli olarak gerçekleyebiliriz. Bu algoritma için, eylem maliyetlerinin belirli bir sabite $c\geqslant0$ eşit olduğunu kabul edebiliriz.

BFS

Derinlik öncelikli arama (DFS) Derinlik öncelikli arama (DFS, depth-first search), her bir yolu olabildiğince derin bir şekilde takip ederek çizgeyi dolaşan bir arama algoritmasıdır. Bu algoritmayı, ziyaret edilecek gelecek düğümleri her adımda bir yığın yardımıyla saklayarak, yinelemeli (recursively) ya da tekrarlı (iteratively) olarak uygulayabiliriz. Bu algoritma için eylem maliyetlerinin 0 olduğu varsayılmaktadır.

DFS

Tekrarlı derinleşme Tekrarlı derinleşme (iterative deepening) hilesi, derinlik-ilk arama algoritmasının değiştirilmiş bir halidir, böylece belirli bir derinliğe ulaştıktan sonra durur, bu da tüm işlem maliyetleri eşit olduğunda en iyiliği (optimal) garanti eder. Burada, işlem maliyetlerinin $c\geqslant0$ gibi sabit bir değere eşit olduğunu varsayıyoruz.


Ağaç arama algoritmaları özeti $b$ durum başına eylem sayısını, $d$ çözüm derinliğini ve $D$ en yüksek (maksimum) derinliği ifade ederse, o zaman:

Algoritma Eylem maliyetleri Arama uzayı Zaman
Geri izleme araması herhangi bir şey $\mathcal{O}(D)$ $\mathcal{O}(b^D)$
Genişlik öncelikli arama $c\geqslant0$ $\mathcal{O}(b^d)$ $\mathcal{O}(b^d)$
Derinlik öncelikli arama 0 $\mathcal{O}(D)$ $\mathcal{O}(b^D)$
DFS-tekrarlı derinleşme $c\geqslant0$ $\mathcal{O}(d)$ $\mathcal{O}(b^d)$

Çizge arama

Bu durum-temelli algoritmalar kategorisi, üssel tasarruf sağlayan en iyi (optimal) yolları oluşturmayı amaçlar. Bu bölümde, dinamik programlama ve tek tip maliyet araştırması üzerinde duracağız.

Çizge Bir çizge, $V$ köşeler (düğüm olarak da adlandırılır) kümesi ile $E$ kenarlar (bağlantı olarak da adlandırılır) kümesinden oluşur.

Graph

Not: çevrim olmadığında, bir çizgenin asiklik (çevrimsiz) olduğu söylenir.


Durum Bir durum gelecekteki eylemleri en iyi (optimal) şekilde seçmek için, yeterli tüm geçmiş eylemlerin özetidir.


Dinamik programlama Dinamik programlama (DP, dynamic programming), amacı $s$ durumundan bitiş durumu olan $s_\textrm{end}$'e kadar asgari maliyet yolunu bulmak olan hatırlamalı (memoization) (başka bir deyişle kısmi sonuçlar kaydedilir) bir geri izleme (backtracking) arama algoritmasıdır. Geleneksel çizge arama algoritmalarına kıyasla üstel olarak tasarruf sağlayabilir ve yalnızca asiklik (çevrimsiz) çizgeler ile çalışma özelliğine sahiptir. Herhangi bir durum için gelecekteki maliyet aşağıdaki gibi hesaplanır:

\[\boxed{\textrm{FutureCost}(s)=\left\{\begin{array}{lc}0 & \textrm{eğer IsEnd}(s)\\\underset{a\in\textrm{Actions}(s)}{\textrm{min}}\big[\textrm{Cost}(s,a)+\textrm{FutureCost(Succ}(s,a))\big] & \textrm{aksi taktirde}\end{array}\right.}\]
Dynamic Programming

Not: yukarıdaki şekil, aşağıdan yukarıya bir yaklaşımı sergilerken, formül ise yukarıdan aşağıya bir önsezi ile problem çözümü sağlar.


Durum türleri Tek tip maliyet araştırması bağlamındaki durumlara ilişkin terminoloji aşağıdaki tabloda sunulmaktadır:

Durum Açıklama
Keşfedilmiş $\mathcal{E}$ En iyi (optimal) yolun daha önce bulunduğu durumlar
Sırada $\mathcal{F}$ Görülen ancak hala en ucuza nasıl gidileceği hesaplanmaya çalışılan durumlar
Keşfedilmemiş $\mathcal{U}$ Daha önce görülmeyen durumlar

Tek tip maliyet araması Tek tip maliyet araması (UCS, uniform cost search) bir başlangıç durumu olan $s_\textrm{start}$, ile bir bitiş durumu olan $s_\textrm{end}$ arasındaki en kısa yolu bulmayı amaçlayan bir arama algoritmasıdır. Bu algoritma $s$ durumlarını artan geçmiş maliyetleri olan $\textrm{PastCost}(s)$'a göre araştırır ve eylem maliyetlerinin negatif olmayacağı kuralına dayanır.

Uniform Cost Search

Not 1: UCS algoritması mantıksal olarak Dijkstra algoritması ile aynıdır.

Not 2: algoritma, negatif eylem maliyetleriyle ilgili bir problem için çalışmaz ve negatif olmayan bir hale getirmek için pozitif bir sabit eklemek problemi çözmez, çünkü problem farklı bir problem haline gelmiş olur.


Doğruluk teoremi $s$ durumu sıradaki (frontier) $\mathcal{F}$'den çıkarılır ve daha önceden keşfedilmiş olan $\mathcal{E}$ kümesine taşınırsa, önceliği başlangıç durumu olan $s_\textrm{start}$'dan, $s$ durumuna kadar asgari maliyet yolu olan $\textrm{PastCost}(s)$'e eşittir.


Çizge arama algoritmaları özeti $N$ toplam durumların sayısı, $n$-bitiş durumu $s_\textrm{end}$'ndan önce keşfedilen durum sayısı ise:

Algoritma Asiklik Maliyetler Zaman/arama uzayı
Dinamik programlama evet herhangi bir şey $\mathcal{O}(N)$
Tek tip maliyet araması değil $c\geqslant0$ $\mathcal{O}(n\log(n))$

Not: karmaşıklık geri sayımı, her durum için olası eylemlerin sayısını sabit olarak kabul eder.


Öğrenme maliyetleri

Diyelim ki, $\textrm{Cost}(s,a)$ değerleri verilmedi ve biz bu değerleri maliyet yolu eylem dizisini, $(a_1, a_2, ..., a_k)$, en aza indiren bir eğitim kümesinden tahmin etmek istiyoruz.

Yapılandırılmış algılayıcı Yapılandırılmış algılayıcı, her bir durum-eylem çiftinin maliyetini tekrarlı (iteratively) olarak öğrenmeyi amaçlayan bir algoritmadır. Her bir adımda, algılayıcı:

Not: algoritmanın birkaç sürümü vardır, bunlardan biri problemi sadece her bir $a$ eyleminin maliyetini öğrenmeye indirger, bir diğeri ise öğrenilebilir ağırlık öznitelik vektörünü, $\textrm{Cost}(s,a)$'nın parametresi haline getirir.


$\textrm{A}^{\star}$ arama

Sezgisel işlev Sezgisel (heuristic), $s$ durumu üzerinde işlem yapan bir $h$ fonksiyonudur, burada her bir $h(s)$, $s$ ile $s_\textrm{end}$ arasındaki yol maliyeti olan $\textrm{FutureCost}(s)$'yi tahmin etmeyi amaçlar.

A star

Algoritma $A^{*}$ $s$ durumu ile $s_\textrm{end}$ bitiş durumu arasındaki en kısa yolu bulmayı amaçlayan bir arama algoritmasıdır. Bahse konu algoritma $\textrm{PastCost}(s) + h(s)$'yi artan sıra ile araştırır. Aşağıda verilenler ışığında kenar maliyetlerini de içeren tek tip maliyet aramasına eşittir:

\[\boxed{\textrm{Cost}'(s,a)=\textrm{Cost}(s,a)+h(\textrm{Succ}(s,a))-h(s)}\]

Not: bu algoritma, son duruma yakın olduğu tahmin edilen durumları araştıran tek tip maliyet aramasının taraflı bir sürümü olarak görülebilir.


Tutarlılık Bir sezgisel $h$, aşağıdaki iki özelliği sağlaması durumunda tutarlıdır denilebilir:


Doğruluk Eğer $h$ tutarlı ise o zaman $A^*$ algoritması asgari maliyet yolunu döndürür.


Kabul edilebilirlik Bir sezgisel $h$ kabul edilebilirdir eğer:

\[\boxed{h(s)\leqslant\textrm{FutureCost}(s)}\]

Teorem $h(s)$ sezgisel olsun ve:

\[\boxed{h(s)\textrm{ tutarlı}\Longrightarrow h(s)\textrm{ kabul edilebilir}}\]

Verimlilik $A^*$ algoritması aşağıdaki eşitliği sağlayan bütün $s$ durumlarını araştırır:

\[\boxed{\textrm{PastCost}(s)\leqslant\textrm{PastCost}(s_{\textrm{end}})-h(s)}\]
Efficiency

Not: $h(s)$'nin yüksek değerleri, bu eşitliğin araştırılacak olan $s$ durum kümesini kısıtlayacak olması nedeniyle daha iyidir.


Rahatlama

Bu tutarlı sezgisel için bir altyapıdır. Buradaki fikir, kısıtlamaları kaldırarak kapalı şekilli (closed-form) düşük maliyetler bulmak ve bunları sezgisel olarak kullanmaktır.


Rahat arama problemi $\textrm{Cost}$ maliyetli bir arama probleminin rahatlaması, $\textrm{Cost}_{\textrm{rel}}$ maliyetli $P_{\textrm{rel}}$ ile ifade edilir ve kimliği karşılar:

\[\boxed{\textrm{Cost}_{\textrm{rel}}(s,a)\leqslant\textrm{Cost}(s,a)}\]

Rahat sezgisel Bir $P_{\textrm{rel}}$ rahat arama problemi verildiğinde, $h(s)=\textrm{FutureCost}_{\textrm{rel}}(s)$ rahat sezgisel (relaxed heuristic) eşitliğini $\textrm{Cost}_{\textrm{rel}}(s,a)$ maliyet çizgesindeki $s$ durumu ile bir bitiş durumu arasındaki asgari maliyet yolu olarak tanımlarız.


Rahat sezgisel tutarlılığı $P_{\textrm{rel}}$ bir rahat problem olarak verilmiş olsun. Teoreme göre:

\[\boxed{h(s)=\textrm{FutureCost}_{\textrm{rel}}(s)\Longrightarrow h(s)\textrm{ tutarlı}}\]

Sezgisel seçiminde ödünleşim Sezgisel seçiminde iki yönü dengelemeliyiz:


En yüksek sezgisel $h_1(s)$ ve $h_2(s)$ aşağıdaki özelliklere sahip iki adet sezgisel olsun:

\[\boxed{h_1(s),\textrm{ }h_2(s)\textrm{ tutarlı}\Longrightarrow h(s)=\max\{h_1(s),\textrm{ }h_2(s)\}\textrm{ tutarlı}}\]

Markov karar süreçleri

Bu bölümde, $s$ durumunda $a$ eyleminin gerçekleştirilmesinin olasılıksal olarak birden fazla durum $s_1',s_2',...$, ile sonuçlanacağını kabul ediyoruz. Başlangıç durumu ile bitiş durumu arasındaki yolu bulmak için amacımız, rastgelelilik ve belirsizlik ile başa çıkabilmek için yardımcı olan Markov karar süreçlerini kullanarak en yüksek değer politikasını bulmak olacaktır.

Gösterimler

Tanım Markov karar sürecinin (MDP, Markov decision process) amacı ödülleri en yüksek seviyeye çıkarmaktır. Markov karar süreci aşağıdaki bileşenlerden oluşmaktadır:

Markov Decision Process

Geçiş olasılıkları Geçiş olasılığı $T(s,a,s')$ $s$ durumundayken gerçekleştirilen $a$ eylemi neticesinde $s'$ durumuna gitme olasılığını belirtir. Her bir $s' \mapsto T(s,a,s')$ aşağıda belirtildiği gibi bir olasılık dağılımıdır:

\[\forall s,a,\quad\boxed{\displaystyle\sum_{s'\in\textrm{ States}}T(s,a,s')=1}\]

Politika Bir $\pi$ politikası her $s$ durumunu bir $a$ eylemi ile ilişkilendiren bir işlevdir:

\[\boxed{\pi : s \mapsto a}\]

Fayda Bir $(s_0, ..., s_k)$ yolunun faydası, o yol üzerindeki ödüllerin indirimli toplamıdır. Diğer bir deyişle,

\[\boxed{u(s_0,...,s_k)=\sum_{i=1}^{k}r_i\gamma^{i-1}}\]
Utility

Yukarıdaki şekil $k=4$ durumunun bir gösterimidir.


Q-değeri $s$ durumunda gerçekleştirilen bir $a$ eylemi için $\pi$ politikasının $Q$-değeri ($Q$-value), $Q_{\pi}(s,a)$ olarak da gösterilir, $a$ eylemini gerçekleştirip ve sonrasında $\pi$ politikasını takiben $s$ durumundan beklenen faydadır. $Q$-değeri aşağıdaki şekilde tanımlanmaktadır:

\[\boxed{Q_{\pi}(s,a)=\sum_{s'\in\textrm{ États}}T(s,a,s')\left[\textrm{Reward}(s,a,s')+\gamma V_\pi(s')\right]}\]

Bir politikanın değeri $s$ durumundaki $\pi$ politikasının değeri, $V_{\pi}(s)$ olarak da gösterilir, rastgele yollar üzerinde $s$ durumundaki $\pi$ politikasını izleyerek elde edilen beklenen faydadır. $s$ durumundaki $\pi$ politikasının değeri aşağıdaki gibi tanımlanır:

\[\boxed{V_\pi(s)=Q_\pi(s,\pi(s))}\]

Not: eğer $s$ bitiş durumu ise $V_\pi(s)$ sıfıra eşittir.


Uygulamalar

Politika değerlendirme Bir $\pi$ politikası verildiğinde, politika değerlendirmesini (policy evaluation), $V_\pi$, tahmin etmeyi amaçlayan bir tekrarlı (iterative) algoritmadır. Politika değerlendirme aşağıdaki gibi yapılmaktadır:

Not: $S$ durum sayısını, $A$ her bir durum için eylem sayısını, $S'$ ardılların (successors) sayısını ve $T$ yineleme sayısını gösterdiğinde, zaman karmaşıklığı $\mathcal{O}(T_{\textrm{PE}}SS')$ olur.


En iyi Q-değeri $s$ durumunda a eylemi gerçekleştirildiğinde bu durumun en iyi $Q$-değeri, $Q_{\textrm{opt}}(s,a)$, herhangi bir politika başlangıcında elde edilen en yüksek $Q$-değeri olarak tanımlanmaktadır. En iyi $Q$-değeri aşağıdaki gibi hesaplanmaktadır:

\[\boxed{Q_{\textrm{opt}}(s,a)=\sum_{s'\in\textrm{ States}}T(s,a,s')\left[\textrm{Reward}(s,a,s')+\gamma V_\textrm{opt}(s')\right]}\]

En iyi değer $s$ durumunun en iyi değeri olan $V_{\textrm{opt}}(s)$, herhangi bir politika ile elde edilen en yüksek değer olarak tanımlanmaktadır. En iyi değer aşağıdaki gibi hesaplanmaktadır:

\[\boxed{V_{\textrm{opt}}(s)=\underset{a\in\textrm{ Actions}(s)}{\textrm{max}}Q_\textrm{opt}(s,a)}\]

En iyi politika En iyi politika olan $\pi_{\textrm{opt}}$, en iyi değerlere götüren politika olarak tanımlanmaktadır. En iyi politika aşağıdaki gibi tanımlanmaktadır:

\[\forall s,\quad\boxed{\pi_{\textrm{opt}}(s)=\underset{a\in\textrm{ Actions}(s)}{\textrm{argmax}}Q_\textrm{opt}(s,a)}\]

Değer tekrarı Değer tekrarı (value iteration) en iyi politika olan $\pi_{\textrm{opt}}$, yanında en iyi değeri $V_{\textrm{opt}}$'ı, bulan bir algoritmadır. Değer tekrarı aşağıdaki gibi yapılmaktadır:

Not: eğer $\gamma < 1$ ya da Markov karar süreci asiklik olursa, o zaman değer tekrarı algoritmasının doğru cevaba yakınsayacağı garanti edilir.


Bilinmeyen geçişler ve ödüller

Şimdi, geçiş olasılıklarının ve ödüllerin bilinmediğini varsayalım.

Model-temelli Monte Carlo Model-temelli Monte Carlo yöntemi, $T(s,a,s')$ ve $\textrm{Reward}(s,a,s')$ işlevlerini Monte Carlo benzetimi kullanarak aşağıdaki formüllere uygun bir şekilde tahmin etmeyi amaçlar:

\[\boxed{\widehat{T}(s,a,s')=\frac{\#\textrm{ kere }(s,a,s')\textrm{ gerçekleşme sayısı}}{\#\textrm{ kere }(s,a)\textrm{ gerçekleşme sayısı}}}\]
ve
\[\boxed{\widehat{\textrm{Reward}}(s,a,s')=r\textrm{ içinde }(s,a,r,s')}\]
Bu tahminler daha sonra $Q_\pi$ ve $Q_\textrm{opt}$'yi içeren $Q$-değerleri çıkarımı için kullanılacaktır.

Not: model-tabanlı Monte Carlo'nun politika dışı olduğu söyleniyor, çünkü tahmin kesin politikaya bağlı değildir.


Model içermeyen Monte Carlo Model içermeyen Monte Carlo yöntemi aşağıdaki şekilde doğrudan $Q_{\pi}$'yi tahmin etmeyi amaçlar:

\[\boxed{\widehat{Q}_\pi(s,a)=\textrm{ortalama }u_t\textrm{, }s_{t-1}=s \textrm{ ve } a_t=a \textrm{ olduğunda}}\]
$u_t$ belirli bir bölümün $t$ anında başlayan faydayı ifade etmektedir.

Not: model içermeyen Monte Carlo'nun politikaya dahil olduğu söyleniyor, çünkü tahmini değer veriyi üretmek için kullanılan $\pi$ politikasına bağlıdır.


Eşdeğer formülasyon Sabit tanımı $\eta=\frac{1}{1+(\#\textrm{güncelleme sayısı }(s,a))}$ ve eğitim kümesinin her bir $(s,a,u)$ üçlemesi için, model içermeyen Monte Carlo'nun güncelleme kuralı dışbükey bir kombinasyon formülasyonuna sahiptir:

\[\boxed{\widehat{Q}_\pi(s,a)\leftarrow(1-\eta)\widehat{Q}_\pi(s,a)+\eta u}\]
olasılıksal bayır formülasyonu yanında:
\[\boxed{\widehat{Q}_\pi(s,a)\leftarrow\widehat{Q}_\pi(s,a) - \eta (\widehat{Q}_\pi(s,a) - u)}\]


SARSA Durum-eylem-ödül-durum-eylem (SARSA, State-Action-Reward-State-Action), hem ham verileri hem de güncelleme kuralının bir parçası olarak tahminleri kullanarak $Q_\pi$'yi tahmin eden bir destekleme yöntemidir. Her bir $(s,a,r,s',a')$ için:

\[\boxed{\widehat{Q}_\pi(s,a)\longleftarrow(1-\eta)\widehat{Q}_\pi(s,a)+\eta\Big[r+\gamma\widehat{Q}_\pi(s',a')\Big]}\]

Not: the SARSA tahmini, tahminin yalnızca bölüm sonunda güncellenebildiği model içermeyen Monte Carlo yönteminin aksine anında güncellenir.


Q-öğrenme $Q$-öğrenme ($Q$-learning), $Q_\textrm{opt}$ için tahmin üreten politikaya dahil olmayan bir algoritmadır. Her bir $(s,a,r,s',a')$ için:

\[\boxed{\widehat{Q}_{\textrm{opt}}(s,a)\leftarrow(1-\eta)\widehat{Q}_{\textrm{opt}}(s,a)+\eta\Big[r+\gamma\underset{a'\in\textrm{ Actions}(s')}{\textrm{max}}\widehat{Q}_{\textrm{opt}}(s',a')\Big]}\]

Epsilon-açgözlü Epsilon-açgözlü politika, $\epsilon$ olasılıkla araştırmayı ve $1-\epsilon$ olasılıkla sömürüyü dengeleyen bir algoritmadır. Her bir $s$ durumu için, $\pi_{\textrm{act}}$ politikası aşağıdaki şekilde hesaplanır:

\[\boxed{\pi_\textrm{act}(s)=\left\{\begin{array}{ll}\underset{a\in\textrm{ Actions}}{\textrm{argmax }}\widehat{Q}_\textrm{opt}(s,a) & \textrm{olasılıkla }1-\epsilon\\\textrm{Actions}(s)\textrm{ eylem kümesi içinden rastgele} & \textrm{olasılıkla }\epsilon\end{array}\right.}\]

Oyun oynama

Oyunlarda (örneğin satranç, tavla, Go), başka oyuncular vardır ve politikamızı oluştururken göz önünde bulundurulması gerekir.

Oyun ağacı Oyun ağacı, bir oyunun olasılıklarını tarif eden bir ağaçtır. Özellikle, her bir düğüm, oyuncu için bir karar noktasıdır ve her bir kökten (root) yaprağa (leaf) giden yol oyunun olası bir sonucudur.


İki oyunculu sıfır toplamlı oyun Her durumun tamamen gözlendiği ve oyuncuların sırayla oynadığı bir oyundur. Aşağıdaki gibi tanımlanır:

Not: oyuncu faydasının işaretinin, rakibinin faydasının tersi olacağını varsayacağız.


Politika türleri İki tane politika türü vardır:


Expectimax Belirli bir $s$ durumu için, en yüksek beklenen değer olan $V_{\textrm{exptmax}}(s)$, sabit ve bilinen bir rakip politikası olan $\pi_{\textrm{opp}}$'a göre oynarken, bir oyuncu politikasının en yüksek beklenen faydasıdır. En yüksek beklenen değer (expectimax) aşağıdaki gibi hesaplanmaktadır:

\[\boxed{V_{\textrm{exptmax}}(s)=\left\{\begin{array}{ll}\textrm{Utility}(s) & \textrm{IsEnd}(s)\\\underset{a\in\textrm{Actions}(s)}{\textrm{max}}V_{\textrm{exptmax}}(\textrm{Succ}(s,a)) & \textrm{Player}(s)=\textrm{agent}\\\displaystyle\sum_{a\in\textrm{Actions}(s)}\pi_{\textrm{opp}}(s,a)V_{\textrm{exptmax}}(\textrm{Succ}(s,a)) & \textrm{Player}(s)=\textrm{opp}\end{array}\right.}\]

Not: en yüksek beklenen değer, MDP'ler için değer yinelemenin analog halidir.

Expectimax

Minimax En küçük-enbüyük (minimax) politikaların amacı en kötü durumu kabul ederek, diğer bir deyişle; rakip, oyuncunun faydasını en aza indirmek için her şeyi yaparken, rakibe karşı en iyi politikayı bulmaktır. En küçük-en büyük aşağıdaki şekilde yapılır:

\[\boxed{V_{\textrm{minimax}}(s)=\left\{\begin{array}{ll}\textrm{Utility}(s) & \textrm{IsEnd}(s)\\\underset{a\in\textrm{Actions}(s)}{\textrm{max}}V_{\textrm{minimax}}(\textrm{Succ}(s,a)) & \textrm{Player}(s)=\textrm{agent}\\\underset{a\in\textrm{Actions}(s)}{\textrm{min}}V_{\textrm{minimax}}(\textrm{Succ}(s,a)) & \textrm{Player}(s)=\textrm{opp}\end{array}\right.}\]

Not: $\pi_{\textrm{max}}$ ve $\pi_{\textrm{min}}$ değerleri, en küçük-en büyük olan $V_{\textrm{minimax}}$'dan elde edilebilir.

Minimax

Minimax özellikleri $V$ değer fonksiyonunu ifade ederse, en küçük-en büyük ile ilgili aklımızda bulundurmamız gereken 3 özellik vardır:

Sonunda, aşağıda belirtildiği gibi bir ilişkiye sahip oluruz:
\[\boxed{V(\pi_{\textrm{exptmax}},\pi_{\textrm{min}})\leqslant V(\pi_{\textrm{max}},\pi_{\textrm{min}})\leqslant V(\pi_{\textrm{max}},\pi)\leqslant V(\pi_{\textrm{exptmax}},\pi)}\]


Minimax hızlandırma

Değerlendirme işlevi Değerlendirme işlevi, alana özgü ve $V_{\textrm{minimax}}(s)$ değerinin yaklaşık bir tahminidir. $\textrm{Eval}(s)$ olarak ifade edilmektedir.

Not: $\textrm{FutureCost}(s)$ arama problemleri için bir benzetmedir.


Alpha-beta budama Alpha-beta budama (alpha-beta pruning), oyun ağacının parçalarının gereksiz yere keşfedilmesini önleyerek en küçük-en büyük algoritmasını en iyileyen (optimize eden) alana-özgü olmayan genel bir yöntemdir. Bunu yapmak için, her oyuncu ümit edebileceği en iyi değeri takip eder (maksimize eden oyuncu için $\alpha$'da ve minimize eden oyuncu için $\beta$'de saklanır). Belirli bir adımda, $\beta < \alpha$ koşulu, önceki oyuncunun emrinde daha iyi bir seçeneğe sahip olması nedeniyle en iyi (optimal) yolun mevcut dalda olamayacağı anlamına gelir.

Alpha beta pruning

TD öğrenme Geçici fark (TD, temporal difference) öğrenmesi, geçiş/ödülleri bilmediğimiz zaman kullanılır. Değer, keşif politikasına dayanır. Bunu kullanabilmek için, oyununun kurallarını, $\textrm{Succ}(s,a)$, bilmemiz gerekir. Her bir $(s,a,r,s')$ için, güncelleme aşağıdaki şekilde yapılır:

\[\boxed{w\longleftarrow w-\eta\big[V(s,w)-(r+\gamma V(s',w))\big]\nabla_wV(s,w)}\]

Eşzamanlı oyunlar

Bu, oyuncunun hamlelerinin sıralı olmadığı sıra temelli oyunların tam tersidir.


Tek-hamleli eşzamanlı oyun Olası hareketlere sahip $A$ ve $B$ iki oyuncu olsun. $V(a,b)$, $A$'nın $a$ eylemini ve $B$'nin de $b$ eylemini seçtiği $A$'nın faydasını ifade eder. $V$, getiri dizeyi (payoff matrix) olarak adlandırılır.


Stratejiler İki tane ana strateji türü vardır:


Oyun değerlendirme Oyuncu $A$ $\pi_A$'yı ve oyuncu $B$ de $\pi_B$'yi izlediğinde, oyun değeri $V(\pi_A,\pi_B)$:

\[\boxed{V(\pi_A,\pi_B)=\sum_{a,b}\pi_A(a)\pi_B(b)V(a,b)}\]

Minimax teoremi $\pi_A$, $\pi_B$'nin karma stratejilere göre değiştiğini belirterek, sonlu sayıda eylem ile eşzamanlı her iki oyunculu sıfır toplamlı oyun için:

\[\boxed{\max_{\pi_A}\min_{\pi_B}V(\pi_A,\pi_B)=\min_{\pi_B}\max_{\pi_A}V(\pi_A,\pi_B)}\]

Sıfır toplamı olmayan oyunlar

Getiri matrisi $V_p(\pi_A,\pi_B)$'yi oyuncu $p$'nin faydası olarak tanımlıyoruz.


Nash dengesi Nash dengesi $(\pi_A^*,\pi_B^*)$ öyle birşey ki hiçbir oyuncuyu, stratejisini değiştirmeye teşvik etmiyor:

\[\boxed{\forall \pi_A, V_A(\pi_A^*,\pi_B^*)\geqslant V_A(\pi_A,\pi_B^*)}\quad\textrm{ve}\quad\boxed{\forall \pi_B, V_B(\pi_A^*,\pi_B^*)\geqslant V_B(\pi_A^*,\pi_B)}\]

Not: sonlu sayıda eylem olan herhangi bir sonlu oyunculu oyunda, en azından bir tane Nash denegesi mevcuttur.