Gerçek zamanlı strateji oyunu için mikro yönetim yapay zekası
Micro management artificial intelligence for a real-time strategy game
Yazar: SUAT ÖZCAN
Danışman: DOÇ. DR. AKHAN AKBULUT
İstanbul Kültür Üniversitesi / Lisansüstü Eğitim Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2023
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Derin öğrenme = Deep learning ; Makine öğrenmesi = Machine learning ; Yapay sinir ağları = Artificial neural networks ; Yapay zeka = Artificial intelligence

Özet:
Satranç ve GO oyunlarından daha fazla durum ve eylem alanına sahip gerçek zamanlı strateji oyunlarında uygulanan sabit kodlama ve senaryolu davranış bu alanın yapay zeka ihtiyacını karşılamıyorlar. Başarılı bir yapay zeka yaratmak için farklı yöntemler deneniyor. Bu yöntemlerden biri de yapay öğrenmedir. Gözetimli ve gözetimsiz metotlarla bu geniş durum ve eylem alanında başarılı sonuçlar elde edilmeye başlandı. Gerçek zamanlı strateji oyunlarını oluşturan öznitelikler değerlendirilerek öğrenme modellerine uygun öznitelikler keşfediliyor. Çalışma alanları daraltılıyor ve bu türün bir noktasına odaklanıyor. Bu çalışmada eğitim modellerini eğitecek veri kümesi için öznitelikler sistematik literatür taraması sonucu belirledik. Araştırma ortamını dengeli oyun mekanikleri ile Starcraft seçtik.  Oyundaki durumu ve eylemi net ve açık şekilde kayda alan veri tabanından gerekli öznitelikler çıkardık. Bu özniteliklerin belirlediği her bir durumda Zerg ve Terran oyuncusunun hamlelerini veri kümesine işledik. Bu veri kümeleri ile 3 farklı model eğittik. Bu modeller ileri beslemeli sinir ağı modeli, uzun kısa vadeli hafıza ağlı özyinelemeli model ve 1B konvolüsyonel modelden oluşur. Ardından oyundaki birlikler menzillerine göre sınıflara ayırdık ve modelleri tekrar eğittik. Bulgular sunduk ve karşılaştırdık. Menzil sınıflandırmasının Zerg ırkı için daha başarılı sonuçlar verdiğini gördük. Zerg veri kümesi için yüksek f1 puanları ve AUC alanları sebebi ile uzun kısa vadeli hafıza ağlı özyinelemeli sinir ağı modelinin ve Terran veri kümesi için ileri beslemeli sinir ağı modelinin en iyi model olduğuna karar verdik.

Abstract:
Hard-coded artificial intelligence methods and scripts do not meet the demands of real-time strategy games, which have a larger state and action space than chess and GO games. Various methods are considered to create successful artificial intelligence. One of these methods is machine learning. By utilizing supervised and unsupervised methods, successful results are obtained in this enormous state and action space. The features that construct real-time strategy games are inspected, and the ones that are suitable for particular models are discovered. The research field is narrowed and focuses on a particular part of this genre. In this research, features of the dataset that is going to train machine learning models are decided after performing a systematic literature review. We chose Starcraft as the research environment because of its balanced game mechanics. We extracted the necessary features from the dataset, which contains clearly and precisely recorded states and actions. Each state holds the values of these features in the datasets, and in each of these states, we recorded the actions of Zerg and Terran players. We trained three different machine learning models with the datasets. These models are a feed-forward neural network, a recurrent neural network model with long-short-term memory, and a 1D convolutional model. In addition to this, we classified units in the game according to their ranges, and we trained the models again. We present the discoveries and compare them. We have seen that range classification yields better results for the Zerg race. Because of the high f1 scores and AUC areas, we decided that the recursive neural network model with long short-term memory is the best one for the Zerg dataset, and the feed-forward neural network model is the best model for the Terran dataset.