Akıllı Satranç Uygulaması HAZIRLAYAN: BERKAY ATAMAN DANIŞMAN: DOÇ. DR. FEZA BUZLUCA

Benzer belgeler
Sequence Oyununun Minimaks Algoritması Kullanılarak Tasarlanması ve Geliştirilmesi

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

YAKIN DOĞU ÜNİVERSİTESİ BESYO SATRANÇ DERS NOTLARI SATRANÇ OYUNUNUN TEMEL KURALLARI

Rekabet ortamında Arama (Adversarial Search) Oyunlarda Arama

Örnek Arasınav Soruları Güz 2017

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA

Oyununuzun senaryosunu kısaca tanıtınız/ amacını da belirtiniz:

KOÜ.GÖLCÜK MYO ÜNİVERSİTE SEÇMELİ DERSİ Dersin adı: SATRANÇ Dersin Yürütücüsü:Yrd. Doç. Dr. Fahrettin ÖVEÇ 1.Dersin amacı 2.

Hayali bir oyunun analizi, Hazırlayan Koray Okay,

OYUN GELİŞTİRME AŞAMALARI-I

SATRANÇ OYUNU EĞİTİM KILAVUZU

IDE4DB Veritabanı Geliştirme Platformu Bitirme Projesi Sunumu

OYUN GELİŞTİRME AŞAMALARI-I

Ad-Soyad- No: Emine Hatun AVŞAR-Leyla TABAK / OYUN GELİŞTİRME AŞAMALARI-I

Uygulamadı ki hedef kitlem meslek seçimi arefesindeki ilköğretim 5. Sınıf öğrencileri olacaktır.

SATRANÇ EĞİTİM & BOYAMA KİTABI. Dr. Olgun Kulaç

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

MODÜL BİLGİ SAYFASI İÇERİK

Düzenlemeler ve değişiklikler 01 Ocak 2018 tarihinden itibaren geçerli kılınacaktır.

OYUN GELİŞTİRME AŞAMALARI (ARAYÜZ TASARIMI)

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

LOGO 3 SERİSİ: KULLANICI DENEYİMİNİN BİTMEYEN YOLCULUĞU

OYUN GELİŞTİRME AŞAMALARI-I

Demetleme Yönteminin Y 3-Katmanlı Mimari Yapı ile Gerçeklenmesi. eklenmesi. KalacakYer.com

Genel görüntüsü yandaki gibi olması planalanan oyunun kodu e.py bağlantısından indirilebilir. Basitçe bir text ed

Language: English / Turkish

OSD SATRANÇ DERS NOTLARI

Nesneye Dayalı Yazılım Metrikleri ve Yazılım Kalitesi. Ural ERDEMİR, Umut TEKİN, Feza BUZLUCA

ÖĞRENCİ NUMARASI PUAN DURUM BAŞARILI BAŞARILI BAŞARILI BAŞARILI BAŞARILI


2. KADEME ANTRENÖR KURSU ÖĞRETİM PROGRAMI (TOPLAM: 48 SAAT

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

ÖZET...V ABSTRACT...VII TEŞEKKÜR... IX ŞEKİLLER DİZİNİ... XIV SÖZLÜK... XIX

Satranç, Tavla & Dama

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

KARAR TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

LOGO İş Zekası çözümü ile kurumsal raporlama ve analizler. Cem Yılmaz Genel Müdür LOGOBI Yazılım

OYUN GELİŞTİRME AŞAMALARI-I

Web Madenciliği (Web Mining)

Saha İş Gücü Yönetim Sistemi ve Güzergah Optimizasyonu

TÜRK DAMASI KURALLARI

a b e f g h i SHOG NED R?

SDD Dökümantasyonu Versࠀyon 1.0. Movࠀe Predࠀctࠀon Orhan Özgün Ergen Ahmet Saday Berkay Erken

AKILLI TATIL PLANLAMA SISTEMI

TÜBİTAK-BİDEB YİBO ÖĞRETMENLERİ. (Fen ve Teknoloji - Fizik, Kimya, Biyoloji - ve Matematik) PROJE DANIŞMANLIĞI EĞİTİMİ ÇALIŞTAYI

Zeki Optimizasyon Teknikleri

Wheep Em v B puzzle Oyunu Referans: Passage3 PC Oyunu. Son Güncelleme: Wheep Em. Oyun Tasarım Dokümanı.

Y N G. Kris Burm G I P F

AVRASYA ÜNİVERSİTESİ

SATRANÇTA TEMEL BİLGİLER

YÖNEYLEM ARAŞTIRMASI - III

10 x 10 ÇAPRAZ DAMA PROGRAMI KULLANIM KILAVUZU

TÜRKİYE SATRANÇ FEDERASYONU 1. KADEME YARDIMCI ANTRENÖR YETİŞTİRME KURSU PROGRAMI

Mantıksal çıkarım yapmak. 9 ve üzeri

YZM YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi

YZM 2116 Veri Yapıları

1-Zihinsel kazanýmlar 2-Duyuþsal kazanýmlar 3-Bedensel kazanýmlar

OYUN TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

Kredi Limit Optimizasyonu:

TÜRK DAMASI DAMA PROGRAMI KULLANIM KILAVUZU

YZM 2116 Veri Yapıları

YÖNEYLEM ARAŞTIRMASI - III

OYUN GELİŞTİRME AŞAMALARI-I. Hedef kitleniz? Oyunumuzun hedef kitlesi İlkokul 4.sınıf öğrencileri, Sosyal Bilgiler dersini içermektedir.

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Veri Madenciliği Yaklaşımı ile Mesleki Yönlendirme Sistemi

RENK, MEVYE VE KELİMELER İLE İNGİLİZCE ÖĞRENİMİ OYUN GELİŞTİRME AŞAMALARI

Ürün numarası: Petank seti. Oyun kılavuzu. Tchibo GmbH D Hamburg 95091AB2X3VIII

Daha komplike uygulamalar elektronik ticaret, elektronik kimlik belgeleme, güvenli e-posta,

Takım Oyuncusu Olabilmek FM Alper Efe ATAMAN

FUTBOL SAHASINDA DENKLEM ÇÖZÜMÜNÜN ÖĞRETİMİ

SİSTEM ANALİZİ ve TASARIMI. ÖN İNCELEME ve FİZİBİLİTE

Hızlı Düzey Küme Yöntemine Bağlı Retinal Damar Bölütlemesi. Bekir DİZDAROĞLU. KTÜ Bilgisayar Mühendisliği Bölümü

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ. AKILLI FİYAT ARAMA MOTORU TiLQi.NET

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

OYUN GELİŞTİRME AŞAMALARI-III (ARAYÜZ TASARIMI)

KESİN PROJE RAPORU PROJENİN ADI PROJEYİ HAZIRLAYANLAR BABÜR NEDİM ÇAĞATAY OKUL ADI VE ADRESİ DANIŞMAN ÖĞRETMEN

VERİ MADENCİLİĞİ (Sınıflandırma Yöntemleri) Yrd.Doç.Dr. Kadriye ERGÜN

Tam ve Karma Stratejili Oyunlar. İki Kişili Oyunlar için

OYUN GELİŞTİRME AŞAMALARI-I

Sanal Antrenör düğmesine basıp tüm bu işleri senin için özel antrenörümüzün yapmasını da sağlayabilirsin!

OYUN GELİŞTİRME AŞAMALARI-I

DARÜŞŞAFAKA LİSESİ SALİH ZEKİ LİSE ÖĞRENCİLERİ ARASI MATEMATİK PROJELERİ YARIŞMASI

Zeki Optimizasyon Teknikleri

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

Dijital Dönüşüm ile. Değişen Üretim Süreçleri ve Yeni İş Modelleri. Doç. Dr. Alp ÜSTÜNDAĞ

END. İKTİSADI VE OYUN TEORİSİ (BİRİNCİ ÖDEV)

VT Gerçeklenmesi Ders Notları- #3

Kısıtsız Optimizasyon OPTİMİZASYON Kısıtsız Optimizasyon

ÖZEL ÜLKEM ANAOKULU OCAK-ŞUBAT AYI BÜLTENİ 3 YAŞ

Çizgeler (Graphs) Doç. Dr. Aybars UĞUR

SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı Đlkbahar Dönemi 13 Nisan Ad, Soyad Öğrenci No.

BİR MONTAJ HATTI ÜRETİM SİSTEMİNDE OPTİMAL İŞGÜCÜ DAĞILIMININ ARENA PROCESS ANALYZER (PAN) VE OPTQUEST KULLANILARAK BELİRLENMESİ

Adı Soyadı - No: Aykut ÖZASLAN/

OPC Data Access (DA) Temelleri

STREET BASKETBALL KULLANIM KILAVUZU

Transkript:

Akıllı Satranç Uygulaması HAZIRLAYAN: BERKAY ATAMAN - 150120037 DANIŞMAN: DOÇ. DR. FEZA BUZLUCA

İÇERİK 1. Giriş 2. Analiz 3. Modelleme ve Gerçekleme 4. Yapılan Testler 5. Sonuç 6. Demo

1. GİRİŞ Satranç zekanın ve çabuk düşünmenin etkin olduğu en popüler masa oyunlarından biridir. Sonucunda iki oyuncudan biri kazanır veya beraberlikle sonuçlanır.

Satrancın Zorlukları Nelerdir? Tahtanın bulunduğu durumdan oluşabilecek tüm durumların hesaplanması çok zordur. Yapılacak her hamleden oluşacak duruma göre rakibin yapabileceği hamleler düşünülmelidir ve bu düşünce yapısı katmanlar şeklinde olmalıdır. Galibiyet-mağlubiyet sonucu çoğu senaryoda hesaplanamaz. Onun yerine galibiyet-mağlubiyete yakınlık değerlendirilir.

Kullanılan Teknolojiler Angular.js Ön yüz Dragula Ön yüz.net Arka yüz

2. ANALİZ Kullanıcıya sunulması gereken özellikler nelerdir? Kullanıcı deneyimini iyileştirecek görsel Kullanıcı deneyimini arttırmak için sürükle bırak özelliği Kullanıcının hamlesine karşılık olarak mantıklı bir hamle bulabilmek Karşı hamleyi hızlıca bulmak ve ön yüze aktarmak

Analizler Sonucu Gerekenler Tahta Yapısı (Board Represantation) Arama Fonksiyonu (Search) Değerlendirme Fonksiyonu (Evaluation)

3. MODELLEME ve GERÇEKLEME

State Sınıfı Görevi Oyunun o an ki tüm bilgilerini bulundurur. Tahta(board) nesnesi Tahtayla ilgili çeşitli bilgiler(değerlendirme fonksiyonu için) Hamle sahibinin rengi Tur sayısı Oyun durumu(açılış, gelişme, bitiş durumları) Oyunun durumunu değiştirebilir. GenerateMove() IsKingChekced() Evaluate() Tahta nesnesini bulundurur.

Tahta Yapısı State Sınıfının board nesnesi bir Square dizisidir.

Square Dolu mu boş mu? Hangi taş tarafından dolu? (Piece) Piece (Abstract Class) X, Y koordinatları Rengi Başlangıç pozisyonunda olup olmadığı Her taşın kendine özel hareket edilebilir fonksiyonu PlayableMoves() Bazı taşlara özel fonksiyonlar Şah: Rok hareketi

Tree Sınıfı - Görevi Bulunulan durumdan türeyebilecek durumlarla bir ağaç yapısı kurmak. Derinliğe göre (ply) Ağaçta, değerlendirilmiş durumlardan en mantıklısını seçmek. (Search)

Tree Sınıfı Ağaç Yapısı Ağaç yapısı her hamleden sonra tekrar kurulur. Fakat kurulma aşamasında belirli derinlikte değerlendirme yapılır ve alpha-beta budaması uygulanır. Bu sayede birçok düğümün oluşması engellenir. Zamandan ve hafızadan tasarruf sağlanmış olur. En kötü halde eklenecek düğüm sayısı: 1 + b + b 2 + b 3 Average Space Complexity: O(b 3d/4 ) Alpha-Beta Budaması

Tree Sınıfı En Mantıklı Hamleyi Bulmak Minimax Algoritması (Search) Rakibin her zaman kendisi için en iyi hamleyi yapacağı düşünülür. Kaybı minimize etmeye ve kazancı maksimize etmeye yarar. Kendi hamlesinde en iyi durumu seçip, rakibin hamlesinde kendisi için en kötü durumu seçmelidir.

Alpha-Beta Pruning Ağaç kurulurken, değerlendirilmesine gerek olmayan düğümlerin oluşmasını engeller. α : Alt Sınır β : Üst Sınır α<n<β

Değerlendirme Fonksiyonu(Evaluation) State sınıfının içinde bulunan Evaluate() fonksiyonuyla her durum kendini değerlendirir. Taşların puanları Piyon 100 At 320 Fil 330 Kale - 500 Vezir - 900 İki fil olma durumu 30 Taşların pozisyonları

Değerlendirme Taşların Pozisyonu Taşlar bulunduğu pozisyonlara göre negatif veya pozitif puanlar alır bu sayede belli bir strateji teşvik edilir. Vezir için pozisyon tablosu örneği:

UI Sınıfı Ön yüz ile arka yüz arasındaki iletişim hamle bilgilerinin aktarılmasıyla sağlanır. Hamle bilgisi oynanan taşın koordinatlarını içerir. Kullanıcı tarafından yapılan bir hamle arka yüzde ilk önce hamle doğrulama testine girer ve başarısız olursa hamle ön yüzde geri alınır.

Game Controller Sınıfı State ve Tree nesnelerini bulundurarak oyunu kontrol eder. Ön yüzden gelen veriler burada işlenir. Singleton Design Pattern

İş Akış Diyagramı

4. Yapılan Testler 3 derinlikli oyunda yapılmış bazı hamleler:

5. SONUÇ Başarımlar Rakibin hamlelerine mantıklı karşılıklar verilebildi. Belirli derinliklerde makul süreler elde edildi. Kullanıcı deneyimine uygun görsellik sağlandı. Eksiklikler Yüksek derinliklerde bekleme süresi çok uzadı. Algoritmalar optimize edilerek bunlar aşılabilir. Açılış oyunları veri tabanından alınabilirdi.

6. DEMO

Teşekkürler