DeepRTS adalah game strategi Real-Time berkinerja tinggi untuk penelitian Reinforcement Learning. Itu ditulis dalam C++ untuk kinerja, tetapi menyediakan antarmuka python untuk antarmuka yang lebih baik dengan perangkat pembelajaran mesin. Deep RTS dapat memproses game dengan lebih dari 6.000.000 langkah per detik dan 2.000.000 langkah saat merender grafik. Dibandingkan dengan solusi lain, seperti StarCraft, waktu simulasi ini 15.000% lebih cepat saat dijalankan pada Intel i7-8700k dengan Nvidia RTX 2080 TI.
Tujuan Deep RTS adalah menghadirkan solusi yang lebih terjangkau dan berkelanjutan untuk penelitian RTS AI dengan mengurangi waktu komputasi.
Disarankan untuk menggunakan cabang master untuk versi lingkungan terbaru (dan biasanya terbaik). Saya berterima kasih atas masukan apa pun sehubungan dengan perbaikan lingkungan.
Silakan gunakan kutipan berikut saat menggunakan ini dalam pekerjaan Anda!
@INPROCEEDINGS{8490409,
author={P. {Andersen} and M. {Goodwin} and O. {Granmo}},
booktitle={2018 IEEE Conference on Computational Intelligence and Games (CIG)},
title={Deep RTS: A Game Environment for Deep Reinforcement Learning in Real-Time Strategy Games},
year={2018},
volume={},
number={},
pages={1-8},
keywords={computer games;convolution;feedforward neural nets;learning (artificial intelligence);multi-agent systems;high-performance RTS game;artificial intelligence research;deep reinforcement learning;real-time strategy games;computer games;RTS AIs;Deep RTS game environment;StarCraft II;Deep Q-Network agent;cutting-edge artificial intelligence algorithms;Games;Learning (artificial intelligence);Machine learning;Planning;Ground penetrating radar;Geophysical measurement techniques;real-time strategy game;deep reinforcement learning;deep q-learning},
doi={10.1109/CIG.2018.8490409},
ISSN={2325-4270},
month={Aug},}
sudo pip3 install git+https://github.com/cair/DeepRTS.git
git clone https://github.com/cair/deep-rts.git
cd deep-rts
git submodule sync
git submodule update --init
sudo pip3 install .
10x10-2-FFA
15x15-2-FFA
21x21-2-FFA
31x31-2-FFA
31x31-4-FFA
31x31-6-FFA
Deep RTS menampilkan skenario yang merupakan mini-game yang sudah dibuat sebelumnya. Mini-game ini sangat cocok untuk melatih agen dalam tugas tertentu, atau untuk menguji algoritme dalam berbagai pengaturan masalah. Manfaat menggunakan skenario adalah Anda dapat merancang fungsi imbalan dengan mudah menggunakan kriteria yang masing-masing menghasilkan sinyal imbalan/hukuman bergantung pada penyelesaian tugas. Contoh tugasnya adalah:
Deep RTS saat ini menerapkan skenario berikut
GoldCollectFifteen
GeneralAIOneVersusOne
import random
from DeepRTS . python import Config
from DeepRTS . python import scenario
if __name__ == "__main__" :
random_play = True
episodes = 100
for i in range ( episodes ):
env = scenario . GeneralAI_1v1 ( Config . Map . THIRTYONE )
state = env . reset ()
done = False
while not done :
env . game . set_player ( env . game . players [ 0 ])
action = random . randrange ( 15 )
next_state , reward , done , _ = env . step ( action )
state = next_state
if ( done ):
break
env . game . set_player ( env . game . players [ 1 ])
action = random . randrange ( 15 )
next_state , reward , done , _ = env . step ( action )
state = next_state