Chess Backgroiund

THE TURK

The Türk Nedir?

The Turk, Python dili ile geliştirdiğimiz bir Satranç Motorudur. İsmini, 18. yüzyılda Avusturyalı mühendis Wolfgang von Kempelen tarafından tasarlanan sahte satranç robotu olan Mekanik Türk'ten alıyor.

Mekanik Türk, dönemi için oldukça ileri bir fikir olup, "makinelerin stratejik düşünme yetisine sahip olabileceği" fikrini ilk kez gündeme getirmiş ve yapay zekâ tartışmalarının temel taşlarından biri olmuştur. Ancak, o yıllarda bu bir illüzyondan ibaretti. Günümüzde ise, 1957'den itibaren gelişen satranç motorları sayesinde, bilgisayarlar tam otomatik ve üstün stratejik zekâya sahip oyunculara dönüşmüştür.

Biz de The Türk ile bu geleneği modern bir bakış açısıyla devam ettiriyoruz. Python ile geliştirdiğimiz satranç motorumuz, stratejik hamleler yapabilen ve gelişmiş algoritmalarla rakiplerini analiz edebilen gerçek bir yapay zekâ motorudur.

Kullanılan Teknolojiler

  • Satranç Motorumuzu Python dili ile yazıldı. Görsel arayüz ve oyun mekaniklerini oluşturmak için Pygame kütüphanesi kullanıldı.
  • Oyun motoru, en iyi hamleyi seçmek için MiniMax algoritmasının NegaMax Alpha-Beta Pruning versiyonunu kullanıyor.
  • Yapay zekanın hamle hesaplamalarını hızlandırmak için Multiprocessing ile paralel işlem yapısı kullanıldı.
  • Taş hareketleri ve oyun mantığı ChessEngine modülü üzerinden özel olarak kodlandı.
  • Oyunun stratejik kararlarını geliştirmek için taş konumlandırma skorlamaları ve oyun sonucu değerlendirme (mat, beraberlik) hesaplamaları entegre edildi.
Code

Satranç Motorumuzla Nasıl Oynayabilirsiniz?

Öncelikle buraya tıklayarak kaynak kodumuza gidin ve bilgisayarınıza yükleyin.

Daha sonra aşağıdaki adımları takip edip The Türk ile mücadeleye hazırlanın!

Kurulum Talimatları:
Satranç Motorumuzu başarılı bir şekilde çalıştırmak için sisteminizde aşağıdaki bileşenlerin yüklü olması gerekmektedir:

JDK (Java Development Kit) - Bilgisayarınızda bir JDK kurulu olduğundan emin olun. JDK-23’ü indirmek için buraya tıklayın.

Python ve Pygame - Python’un yüklü olduğundan emin olun. Daha sonra, terminal veya komut istemcisine aşağıdaki komutu girerek Pygame kütüphanesini yükleyin: pip install pygame

Nasıl oynanır?
Bilgisayara karşı mı, yerel olarak başka bir oyuncuya karşı mı oynayacağınıza veya motorun kendi kendine oynamasını izlemek isteyip istemediğinize karar verin. Bunun için ChessMain.py dosyasının 52 ve 53. satırlarında uygun ayarları yapabilirsiniz.

player_one = True Eğer beyaz taşları bir insan oynuyorsa, bu değer True (doğru) olmalıdır, aksi takdirde False (yanlış) olarak ayarlayın.

player_two = False Eğer siyah taşları bir insan oynuyorsa, bu değeri True olarak ayarlayın, aksi takdirde False olarak bırakın.

ChessMain.py dosyasını çalıştırın ve oyunun keyfini çıkarın.

z tuşu son hamleyi geri alır.
r tuşu oyunu sıfırlar.

Python Code

The Türk'ün Tarihi

The Türk, 1770 yılında, makinesinin kendi başına satranç oynayabilen bir satranç otomatı olduğunu iddia eden Alman yazar ve mucit Wolfgang von Kempelen tarafından yaratıldı. The Türk'ün ilk gösterisi Avusturya İmparatoriçesi Maria Theresa ve sarayının önünde gerçekleşti.

The Türk kendisine karşı oynayan herkesi mağlup etti. Daha sonra satranç otomatı dünyayı turlayarak, yapay satranç oyuncusunun cesaretini herkese gösterdi. Turne yıllarında, sözde otomat, Napolyon Bonapart ve Benjamin Franklin gibi önde gelen ünlü kişileri mağlup etti. Hatta The Türk, o dönemde dünyanın en iyi satranç oyuncusu olarak kabul edilen ünlü François-Andre Danican Philidor ile karşılaşma şansı da yakaladı. Philidor kazanmasına rağmen, bunun en zorlu maçlarından biri olduğunu belirtti.
* The Türk'ün arkasındaki gizemi merak ediyorsan burayı ziyaret edebilir ve onun yapay zeka ve satranç dünyasındaki önemini daha iyi kavrayabilirsin.

Python Code

Geliştiriciler

Cem Ata Yakut