Bir klasik oyunun matematiksel ve stratejik analizi
Mayın Tarlası, 1990'larda Microsoft Windows işletim sistemleriyle popüler hale gelen tek oyunculu bir bulmaca oyunudur. Oyuncunun amacı, mayın içermeyen tüm hücreleri, mayınlara basmadan açmaktır. Her hücre, komşu hücrelerdeki mayın sayısını gösterir ve bu bilgiyi kullanarak oyuncu güvenli hücreleri belirleyebilir.
Algoritmik oyun teorisi açısından bakıldığında, Mayın Tarlası tam bilgili olmayan bir oyundur. Oyuncu, mayınların konumunu bilmez ve oyun boyunca edindiği bilgilerle optimal stratejiler geliştirmelidir.
Mayın Tarlası tek oyunculu bir oyun olduğu için klasik Nash dengesi kavramı doğrudan uygulanamaz. Ancak, oyuncunun mayın konumlarına ilişkin inançları ve bu inançlara göre optimal hareket etmesi bir tür "kendi kendine Nash dengesi" olarak düşünülebilir.
Mayın Tarlası, eksik bilgiye sahip bir oyundur. Oyuncu, mayınların konumlarını bilmez ve her hamle sonucunda yeni bilgiler edinir. Bu bilgi setleri, oyuncunun karar verme sürecini şekillendirir.
Oyuncu, her hamlede mayına basma riskini minimize etmeye çalışır. Bu, olasılık teorisi ve beklenen fayda maksimizasyonu kavramlarıyla modellenebilir. Oyuncu, en yüksek güvenlik olasılığına sahip hücreleri seçer.
Mayın Tarlası çözme algoritmaları, mantıksal çıkarım ve olasılıksal analiz kullanır. İki temel yaklaşım vardır:
Bu yaklaşımda, mevcut bilgilere dayanarak kesin olarak güvenli veya mayınlı olduğu belirlenen hücreler işaretlenir. Örneğin, bir hücrede "1" yazıyorsa ve sadece bir kapalı komşusu varsa, o komşu kesinlikle mayınlıdır.
function deterministicSolve(board) {
for (each revealed cell with number n) {
if (hidden neighbors count == n) {
flag all hidden neighbors as mines
}
if (flagged neighbors count == n) {
reveal all hidden neighbors
}
}
}
Deterministik kuralların yetersiz kaldığı durumlarda, olasılık hesaplamaları kullanılır. Her hücrenin mayın içerme olasılığı hesaplanır ve en düşük olasılığa sahip hücreler açılır.
function probabilisticSolve(board) {
calculate probabilities for all hidden cells
find the cell with minimum probability of containing a mine
if (probability < threshold) {
reveal that cell
} else {
make a guess (game becomes uncertain)
}
}
Mayın Tarlası, bir olasılık uzayı (Ω, F, P) olarak modellenebilir:
Oyuncunun bilgi seti, açılan hücreler ve sayıları tarafından belirlenir. Her hamlede, oyuncu mevcut bilgi setine göre en düşük riskli hamleyi seçer.
Bir hücrenin mayın içerme olasılığı şu şekilde hesaplanır:
P(hücre = mayın | bilgi) = (bilgi ile uyumlu ve hücrenin mayınlı olduğu konfigürasyon sayısı) / (bilgi ile uyumlu tüm konfigürasyon sayısı)
Mayın Tarlası ve benzeri algoritmaların çeşitli gerçek dünya uygulamaları bulunmaktadır: