Bilgisayar oyunlarında makine öğrenmesi yöntemlerinin kullanılması


Tezin Türü: Yüksek Lisans

Tezin Yürütüldüğü Kurum: Ankara Üniversitesi, Fen Bilimleri Enstitüsü, BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI, Türkiye

Tezin Onay Tarihi: 2022

Tezin Dili: Türkçe

Öğrenci: HAKAN OĞUZ VURAL

Danışman: İman Askerbeyli

Açık Arşiv Koleksiyonu: AVESİS Açık Erişim Koleksiyonu

Özet:

Bu projede evrimsel yapay sinir ağları teknikleri kullanılarak bir bilgisayar oyununu oynamayı sıfırdan, kendi kendine öğrenen bir yapay zekâ geliştirmek amacıyla Yapay Oyuncu Geliştirme Ortamı (YOGO) adı verilen bir sistem oluşturulmuştur. YOGO sayesinde bilgisayar oyunlarını oynayabilen birleşimli bir yapay oyuncu geliştirilmiş ve statik yapay zekalardan daha yüksek performanslı yapay zekalar oluşturmak amaçlanmıştır. Flappy Bird, Google Dino Run ve Cell Rush adlı üç oyunda YOGA sınanmış ardından birtakım testler yardımıyla bu oyunları istenilen seviyede oynayabilecek, başarı kriterlerini sağlayan yapay oyuncular geliştirilmiştir. Her bir yapay oyuncu, oyun dünyasını algılayabilecek sensörlere, oyun dünyası ile etkileşime girecek hareket motor sistemine ve sensör ile motor sistemi arasında veri akışını sağlayacak bir yapay sinir ağına sahiptir. Yapay oyuncuların sahip olduğu yapay sinir ağları sensörden gelen verileri girdi olarak alıp, işleyip ve çıktı üretmektedir. Üretilen çıktı verileri motor sistemine yollanmakta ve motor sistemi aldığı verilere göre yapay oyuncunun hareketlerini gerçekleştirmektedir. Yapay oyuncular performansına göre değerlendirilerek ve genetik algoritma teknikleriyle seçilip, çaprazlanıp, mutasyona uğrayarak bir sonraki jenerasyona aktarılmaktadır. Sadece en iyi yüzde elli çaprazlamalara katılmaktadır. Çaprazlanan bireyler yeni jenerasyonun bir önceki jenerasyonlardan daha iyi olması ümidiyle seçilmektedir. Yapay oyuncular başarı kriteri sağlanana kadar eğitilmekte ve nesilden nesille aktarılmaktadır.