David Levy
Uluslararası Usta
c/o Prentice-Hall, Inc.
Englewood Cliffs, NJ 07632
Bilgisayar satrancının en tartışmalı yönlerinden biri, bir bilgisayar programının sonunda (insan) Dünya Satranç Şampiyonu’ndan daha güçlü olup olamayacağı sorusudur.
David Levy tarafından yazılan ve Prentice-Hall, Inc., Englewood Cliffs, NJ 07632 tarafından 1984’te yayımlanan, 129 sayfalık The Joy of Computer Chess adlı eserden seçmelerden oluşmakta olup, izin alınarak yeniden basılmıştır.
Editoryal Not:
Bu, krallar oyunu satrancı oynayan herkes ve mikro bilgisayarına bir satranç programı yükleyebilen herkes için son derece ilgi çekici bir kitaptır.
İçindekiler
Bölüm 1 Konumun Gösterimi ve Hamle Üretimi
- Hamle Üretimi
Bölüm 2 Konumun Değerlendirilmesi
- Materyal — Hareketlilik — Gelişim ve Rok — Merkez Kontrolü — Şah Atağı — Şah Güvenliği — Piyon Yapısı — Taş Hücumu ve Taş Savunması
- Oyun Sonu Özellikleri — Ağırlıkların Nasıl Ayarlanacağı
Bölüm 3 Ağaç Arama
- Minimax Yöntemi — Alpha-Beta Algoritması — Killer Sezgiseli — Alpha-Beta Penceresi — Yinelemeli Derinleştirme
Bölüm 4 Arama Stratejileri
- Shannon Tip-A Stratejisi — Takas Sonlandırma — Shannon Tip-B Stratejisi — İleri Budama — Transpozisyon Tabloları
Bölüm 5 En İyi Bilgisayar Oyunları
- CHESS 4.6 – Michael Stean — CHESS 4.6 – Hans Berliner — CHESS 4.6 – Lawrence Day — CHESS 4.6 – Zvonko Vranesic
- Walter Browne – CHESS 4.6 — BLITZ 6.5 – BELLE — SAVANT – CHESS CHAMPION MK V
- FIDELITY EXPERIMENTAL – PHILIDOR EXPERIMENTAL
Bölüm 6 Bilgisayarlar Ne Kadar Güçlü Olabilir?
- Satranç Problemleri — Neden Bir Dünya Şampiyonu Olmasın? — Zugzwang — Ufuk Etkisi
- "Asla" Kavramı — Çok Benzer Konumlar
Bölüm 7 Satranç Programlarına Karşı Nasıl Oynanır
- Bilgisayar Programlarına Karşı Kazanmak İçin Nasıl Oynanır — CHESS 4.7 – David Levy — David Levy – CHESS 4.7
- Satranç Nasıl Geliştirilir — Açılışlar — Oyun Ortası — Oyun Sonu
- Programınızı Kullanarak Kendinizi Nasıl Derecelendirirsiniz — Satranç Programınızdan Nasıl Keyif Alırsınız
Bölüm 8 Bir Satranç Bilgisayarında Nelere Dikkat Edilmeli
Sözlük
Kaynakça
Dizin
Oyuncu Dizini
Önsöz
Bu kitap satranç meraklıları, bilgisayar meraklıları ve her şeyden önce bilgisayarlı satranç meraklıları içindir. Satranç oyuncusu, oyunları oynayarak incelemekten keyif alacak ve bilgisayar programlarının satranç nasıl oynadıkları, nasıl "düşündükleri", güçlü ve zayıf yönlerinin neler olduğu ve bir satranç oynayan programın en iyi şekilde nasıl kullanılacağı ve bundan nasıl keyif alınacağı konusunda pek çok ayrıntı öğrenecektir.
Kendi bilgisayarı için bir program yazmakla ilgilenen bilgisayar meraklısı, bu kitapta böyle bir görevi baştan sona yerine getirebilmesini sağlayacak yeterli bilgiyi ve saatlerce sürecek keyifli denemelere olanak tanıyacak yeterli sayıda fikri bulacaktır. Bilgisayarlı satranç meraklısı ise kitabın tadını pek çok farklı nedenden dolayı çıkaracaktır.
Birkaç yıl içinde, uygar dünyanın neredeyse her evinde bir kişisel bilgisayar ve/veya bir satranç meraklısı bulunacaktır ve bu kitabın ele aldığı konular o zaman evrensel bir ilgi alanı hâline gelecektir. Metni, bilgisayar hakkında hiçbir bilgisi olmayan satranç meraklıları ile satranç kurallarından fazlasını bilmeyen bilgisayar okuryazarları için kolay anlaşılır kılmaya çalıştım. Bu kitabı yazmaktaki amacım, satrancın ne kadar harika bir oyun olduğunun farkında olan milyonlarca insana ve kendi bilgisayarına sahip olan ya da bir tane almayı düşünen milyonlara bilgisayarlı satrancın keyfini taşımaktır. Bu amaca ulaşmayı içtenlikle umuyorum.
Bölüm 1
Konumun Gösterimi ve Hamle Üretimi
Bir bilgisayara satranç oynatacak bir program tasarlamayı planlarken aşılması gereken ilk sorun, bilgisayara satrancın ne olduğunu nasıl anlatacağınızdır. Bir insanın satranç tahtasına bakıp taşların nerede bulunduğunu görmesi ve çeşitli taşlar arasındaki ilişkileri anlaması bir şeydir; ancak bir bilgisayar yalnızca sayıları depolayabilen ve işleyebilen bir aygıttır. O hâlde, bir bilgisayara satrancın tam olarak neyle ilgili olduğunu nasıl öğretiriz?
İnsan, satranç taşlarını şekillerine ve boyutlarına göre tanır. Piyonlar en küçük, şahlar ve vezirler ise en büyük taşlardır. Bir oyuncunun taşları bir renkte, rakibinin taşları başka bir renktedir. Tüm bunların, bilgisayarın taşların tahtada nerede olduğunu anlayabilmesi ve taşların hangi hamleleri yapabileceğini hesaplayabilmesi için ona aktarılması gerekir. Bu, her taş türüne farklı bir sayı atanarak gerçekleştirilir.
Basit bir düzenleme, piyon için 1, at için 2, fil için 3, kale için 4, vezir için 5 ve şah için 6 sayısını atayabilir. Beyaz bir taş pozitif bir sayı ile, siyah bir taş negatif bir sayı ile ve boş bir kare sıfır ile gösterilebilir. Bu taş gösterim yöntemi kullanıldığında, bir satranç oyununun başlangıç konumu şu şekilde görünür:
Siyah
-4 -2 -3 -5 -6 -3 -2 -4
-1 -1 -1 -1 -1 -1 -1 -1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
4 2 3 5 6 3 2 4
Beyaz
Yukarıdaki diyagram incelendiğinde, programın belirli bir karenin dolu olup olmadığını ve doluysa hangi taş tarafından (ve hangi renkte) işgal edildiğini, ilgili konumda saklanan sayıyı test ederek her zaman saptayabildiğini anlamak zor değildir.
Yukarıdaki gösterim mümkün olan en basit gösterimdir, ancak konum hakkında bilmek isteyebileceğimiz her şeyi aktarmakta yetersiz kalır.
Bölüm 5
En İyi Bilgisayar Oyunları
Bu bölümde bilgisayar programları tarafından oynanmış bir dizi oyun bulunmaktadır. Bunların bazıları bilgisayar turnuvalarında oynanmıştır ve dolayısıyla her iki oyuncu da programdır. Bazı oyunlar güçlü insan oyunculara karşı oynanmıştır. Oyunların bir kısmı ana bilgisayarlarda (milyonlarca sterline mal olan büyük bilgisayarlar) çalışan programlar tarafından, diğerleri ise yalnızca birkaç yüz sterline mal olan mikro bilgisayar sistemlerinde oynanmıştır.
Okuyucuya bilgisayar programlarının tam olarak neler yapabildiğini gösterecek oyunları seçtim ve bazı durumlarda, yazıldığı sırada beş yıl veya daha eski olan bu oyunlar, bilgisayarların birkaç yıldır çok güçlü insan oyunculara karşı şaşırtıcı sonuçlar üretebilme yeteneğine sahip olduğunu göstermektedir.
Yıldırım temposunda oynanan oyunlar söz konusu olduğunda, kurallar insanlara karşı oynanan yıldırım oyunlarında kullanılanlardan biraz farklıdır. İnsan oyuncunun tüm hamlelerini yapmak için beş dakikası vardır; ancak hamle iletim süresindeki ek yük ve bir insanın taşları fiziksel olarak hareket ettirmesi nedeniyle, programa genellikle hamle başına ortalama beş saniyelik işlemci süresiyle 60 hamle yapma izni verilir. Eğer 60. hamleye mat olmadan ulaşırsa, insan zaman aşımıyla kazanır.
Beyaz: CHESS 4.6
Siyah: Michael Stean (Uluslararası Büyükusta)
Yıldırım Oyunu, Londra, Eylül 1977
Owen Savunması
Bu noktada her iki taraf için de sonraki 22 hamle, yorumlarla birlikte verilir ve ardından bir oyuncunun yorumu yer alır:
"Lanet olası demir canavar," diye haykırdı Stean; ancak şimdi vezirinin matı önlemek için gerekli olduğunu fark edebilmişti.
Daha sonra 23’ten 27’ye kadar olan hamleler verilir ve:
"Bu bilgisayar bir dâhi," dedi Stean.
Ardından 28’den 39’a kadar olan hamleler verilir ve Stean terk eder.
Bölümün geri kalanı, oyuncuların birinin ya da her ikisinin bir bilgisayar programı olduğu yedi oyun hakkında raporlardan oluşur.
Bölüm 6
Bilgisayarlar Ne Kadar Güçlü Olabilir?
Bilgisayarlı satrancın en tartışmalı yönlerinden biri, bir bilgisayar programının sonunda (insan) Dünya Satranç Şampiyonu’ndan daha güçlü olup olamayacağı sorusudur. Yapay Zekâ alanındaki bazı uzmanlar, 1968 gibi erken bir tarihte bunun yalnızca bir zaman meselesi olduğunu ve üstelik çok da uzun bir zaman olmadığını öngörmüşlerdi.
Gerçekte, bu alandaki dünyanın önde gelen iki otoritesi olan Donald Michie ve John McCarthy, 1968’de benimle, 10 yıl içinde bir bilgisayar programına karşı bir maç kaybedeceğim yönünde bir iddiaya girdiler. Bahsin miktarı arttı, programlar güçlendi, ben zayıfladım, ama yine de Eylül 1978’de bahsi kazandım.
Bu bahsin süresi sona ererken ve benim kazanmamın muhtemel olduğu açıkça görülürken, bilgisayarlı satranç alanındaki dünyanın önde gelen uzmanlarından biri olan Monty Newborn, 1984’e kadar en iyi bilgisayar programlarına karşı koyabilecek bir insan oyuncu kalmayacağına dair birkaç yüz dolarlık bir bahis oynadı. Dahası, Newborn 1979 gibi yakın bir tarihte şu öngörüyü yazılı olarak dile getirdi: "... 1984’e kadar programların Usta düzeyinde, 1988’e kadar Büyükusta düzeyinde ve 1992’ye kadar herhangi bir insandan daha iyi satranç oynayacaklarının son derece muhtemel olduğu. (Bunlar ihtiyatlı tahminlerdir!)"
Kazancımı topladıktan sonra (sözünü tutmayan belirli bir kişi hariç), yeni bir bahse hazır başkaları da vardı ve Bilgisayar Makineleri Birliği’nin eski başkanı Dan MacCracken ile, 1984’ün başında en güçlü programa karşı bir maçta ayakta kalabileceğime dair 1.000 dolarlık bir bahsim bulunmaktadır.
Bu bahisler, bilgisayar biliminin çeşitli dallarında dünyanın önde gelen uzmanları arasında yer alan son derece zeki birçok kişinin, Usta, Büyükusta ve hatta Dünya Şampiyonu düzeyindeki satrancın yarının bilgisayarlarının kapsamı içinde olduğuna inandığını göstermektedir. Tek soru, yarının ne zaman geleceğidir.
Bu sorunun cevabını kimse bilmiyor. Benim kendi görüşüm, bir bilgisayar programının turnuva koşulları altında güçlü bir Büyükusta düzeyinde oynayabilmesinin 1995 ile 2000 yılları arasında gerçekleşeceği yönündedir. Bu tahminin gerekçeleri sezgiseldir ve bir programın Bobby Fischer kadar iyi ne zaman oynayacağını tahmin etmek için bilimsel bir yöntem belirlemenin açıkça zor olduğu ortadadır; ancak son on yıl ya da biraz daha uzun süredeki eğilimlerin neler olduğuna bakalım.
En azından bir açıdan, satranç programlarının zaten zeki olduğu söylenebilir. Ünlü Britanyalı matematikçi Alan Turing, bilgisayarlardaki zekâ için bir test geliştirmiştir; bu teste göre bir insanın, bir teleprinter aracılığıyla bir programı sorgulamasına izin verilir. Eğer insan, bir süre "sohbet" ettikten sonra teleprinter’ın başka bir insana mı yoksa bir bilgisayara mı bağlı olduğunu ayırt edemezse, hattın diğer ucunda bir bilgisayar varsa, o bilgisayar zeki olarak kabul edilebilir.
En iyi satranç programları, güçlü bir insan oyuncunun hattın diğer ucunda ne olduğunu anlayamamasını sağlayacak kadar iyi oynayabildikleri için, satranç alanında Turing Testi’ni zaten geçmişlerdir. Bu varsayımı sınamak için Batı Almanya’daki bir televizyon kanalı, Hamburg’da Uluslararası Büyükusta Helmut Pfleger tarafından verilen bir simultane gösteri sırasında ilginç bir deney gerçekleştirdi.
Simultane gösteride "oynayan" insanlardan üçü kulaklarında küçük kulaklıklarla oturuyordu. Oyun salonunun balkonunda başka insanlar dürbünlerle oyunları izliyor ve Pfleger’in hamlelerini bilgisayar programlarına giriyordu. Programlar karşılık verdiğinde, hamleleri kulaklıklar aracılığıyla ilgili insana iletiliyordu.
Pfleger hiçbir şeyden şüphelenmedi ve gösteri sona erdikten sonra rakiplerinden üçünün bilgisayar programı olduğu kendisine söylendiğinde bile buna inanmakta zorlandı; özellikle de programlardan birinin, Ken Thompson’ın BELLE’inin, iyi oynanmış bir çarpışmada başarılı rakibi olduğunu öğrendiğinde. Dolayısıyla en azından BELLE, Turing Testi’ni geçmiştir.