SÜRÜ 2022
Sürü 2022 yarışması, Pekiştirmeli Öğrenme için geliştirilen strateji oyunu simülasyonunda, yarışmacıların eğittikleri yapay zekaların birbirleriyle ve referans botu ile çarpıştırılmasıyla gerçekleştirilecektir. Oyunun haritaları altıgen ızgara dünyası ile temsil edilmektedir. Haritalar farklı boyutlara, arazilere, kaynaklara, başlangıç üniteleri ve başlangıç konumlarına sahiptir. Harita tasarımı geliştirici veya oyuncu tarafından hızlıca ve kolayca yapılabilmektedir. Oyundaki tarafların amacı, belirlenen tur sayısının sonunda rakipten daha fazla kaynağa sahip olmaktır. Oyun başında taraflar az miktarda kaynakla başlarlar ve haritada bulunan kaynakları toplamaya çalışırlar.
Nasıl Kurulur?
Aşağıdaki Drive linki yardımıyla yarışma ortamının repository'sine ulaşabilirsiniz.
https://drive.google.com/drive/folders/1iW29h7h37fBCvevWBUEYlUWR1Pe2ec1v?usp=sharing
Yarışma ortamı, yani strateji oyunu simülasyonu, Linux tabanlı bilgisayarlar için geliştirilmiştir ve diğer işletim sistemlerinde çalışmamakta ya da düşük performans ile çalışmaktadır. Bu durumun bir sıkıntıya yol açmaması için ana dizindeki `dockerfile` dosyası yardımıyla bir Docker konteynırı oluşturmanızı ve dosyaları Docker konteynırı yardımıyla kullanmanızı öneriyoruz. Eğer bahsedilen `dockerfile` dosyasını kullanmamayı tercih ediyorsanız bu dosyanın içinde bulunan özellikle Python, TensorFlow ve PyTorch olmak üzere bütün kütüphanelerin doğru versiyonlarının kurulduğundan emin olmanız gerekmektedir. Bütün bu gereksinimler yüklendiğinde kodlar kullanıma hazır hale gelmektedir.
Nasıl Çalıştırılır?
`python src/egitimkodu.py "harita" "mavi_takım" "kırmızı_takım"`
Yukarıdaki satır, terminal ekranı yardımıyla oyunun çalıştırılması için gereken argümanları ifade etmektedir. Burada `src/egitimkodu.py` src klasöründeki eğitim kodu dosyasını, `harita` data/config klasörü içindeki haritalardan hangisinin seçileceğini, `mavi_takım` ve `kırmızı_takım` ise karşılıklı çarpıştırılacak botları veya yapay zekaları temsil etmektedir. Örnek eğitim kodları; mavi takım eğitilen yapay zekayı, kırmızı takım ise rakibi temsil edecek şekilde oluşturulmuştur.
Örnek kullanım: `python src/agentsofglory.py ResourceRiver SimpleAgent RandomAgent`
`agentsofglory.py` yerine Stable-baselines3 eğitim örneği için `sb3cadet.py` veya RlLib-Ray eğitim örneği için `traincadet.py` dosyasını kullanabilirsiniz.