Pekiştirmeli öğrenme tabanlı robotlar ile yeni bir robocode savaş stratejisi
A new battle strategy for robocode based on reinforcement learning
Yazar: HAKAN KAYAKÖKÜ
Danışman: DOÇ. DR. MEHMET SERDAR GÜZEL
Ankara Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
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 ; Takviyeli öğrenme = Reinforced learning ; Yapay sinir ağları = Artificial neural networks ; Yapay zeka = Artificial intelligence

Özet:
Son yıllarda yapay zeka, makine öğrenmesi ve robotik konularındaki araştırmalar teknolojinin  gelişmesi ve sektörün istekleri ile birlikte önceki senelere göre dikkate değer gelişmeler göstermiştir.  Literatürde bahsi geçen konular üzerine yapılan araştırmalarda görülmüştür ki, yapay zeka  uygulamalarının en önemli uygulama alanlarından birisi de yapay zeka birimlerinin dışarıdan  herhangi bir müdahale olmadan hareket edebilmesi anlamı gelen otomatik kontroldür. Bu kavrama  çözüm niteliğinde geliştirilen pekiştirmeli öğrenme, davranış biliminden ilham alınan, ajanların  tanımlı bir çevrede en yüksek ödül miktarına ulaşabilmesi için hangi eylemleri yapması gerektiği  bilgisini ajana sunan oldukça başarılı bir makine öğrenmesi modelidir.  

Bu çalışmada makine öğrenmesi konusu kapsamında geliştirilen pekiştirmeli öğrenme tabanlı  algoritmaların RoboCode adı verilen 2001 yılında tasarlanmış, Java programlama dili tabanlı,  içerisindeki sanal robotların programlanarak yönlendirilebildiği bir ortam sunan simülasyon  içerisinde geliştirilmesini konusu incelenmiştir. Yapay zeka alanındaki gelişmeler ile birlikte  RoboCode simülasyonu yapay zeka algoritmalarının uygulandığı, kendi kendine öğrenebilen  robotların savaştırıldığı, geliştirilen yapay zekâ algoritmalarının güçlerinin ölçüldüğü bir ortam haline  gelmiştir. Simülasyon, literatürde geliştirilen yapay zeka algoritmaların sonuçlarının görülmesi ve  diğer algoritmalara sahip robotlar ile savaştırılarak algoritma analizi yapılabilmesi açısından büyük  önem taşımaktadır.  

Önerilen tez konusunun amacı RoboCode simülasyonunda geliştirilecek evrişimsel sinirsel ağ  destekli pekiştirmeli öğrenme algoritması ile hedef robotu arena üzerinde eğitmek ve eğitilen robotun  arenada diğer robotlara karşı galip gelmesidir. Bu kapsamda, arenadan elde edilen görüntüler dinamik  olarak oluşturulmuş ve geliştirilen robot bu görüntüler vasıtasıyla eğitilmiştir. Eğitilen model,  önceden tanımlı rakip robotlar ile birebir olarak savaştırılmış ve bu savaşlar sonucunda rakip robotlara  karşı elde edilen skorlar ile modelin önemli ölçüde başarılı olduğu gözlemlenmiştir.

Abstract:
In the last decade, researches on artificial intelligence, machine learning and robotics have shown  remarkable improvements compared to previous years with the development of technology and the  demands of the sector. Researches on the subjects mentioned in the literature have shown that one of  the most important application areas of artificial intelligence applications is the automatic control,  which means that artificial intelligence units can move without any external intervention.  Reinforcement learning, developed as a solution to this concept, is a highly successful model of  machine learning, inspired by behavioral science, which provides the agent with information on what  actions agents must take to achieve the highest amount of rewards in a defined environment.  

In this study, reinforcement learning based algorithms examined in the scope of machine learning for  RoboCode simulation, which is designed in 2001 and based on Java programming language which  provides an environment for virtual robots that can be programmed and controlled with program. In  the simulation, robots with different characters are fought in an arena provided by the simulation.  With the developments in the field of artificial intelligence, RoboCode simulation has become an  environment where artificial intelligence algorithms are applied. Using RoboCode, self-learning  robots are fought and the power of artificial intelligence algorithms is measured. This simulation is  great importance in order to see the results of artificial intelligence algorithms developed in the  literature and to perform algorithm analysis by combating robots with other algorithms.  

This thesis proposed to train the target robot on the arena with the convolutional neural network  supported reinforcement learning algorithm to be developed in RoboCode simulation and train the  robot to win over the other robots in the arena. In this context, the images obtained from the arena  were created dynamically and the developed robot was trained by these images. The trained model  was battled one-on-one with the pre-defined rival robots, and as a result of these battles the scores  obtained against the rival robots were observed to be significantly successful.