fix links and pamac

master
Peter Babič 4 years ago
parent fdb55097f5
commit 35b5dde302
  1. 21
      README.md

@ -1,13 +1,17 @@
# Description
`robocode-svm` is a script to demonstrate Support Vector Machine (SVM) classification on outcomes of the battles of Robocode. You can check the original assignment that led to this work [here](https://github.com/delmadord/robocode_svm/blob/master/extras/assignment.pdf).
`robocode-svm` is a script to demonstrate Support Vector Machine (SVM) classification on outcomes of the battles of Robocode. You can check the original assignment that led to this work [here](extras/assignment.pdf).
# Installation
The script runs under Linux and requires `robocode`, `svm-scale`, `svm-train` and `svm-predict` executables located in the `PATH`. On Arch Linux (or it's derivative, like i.e. Manjaro), this can be achieved by installing [libsvm](https://aur.archlinux.org/packages/libsvm/) and [robocode](https://aur.archlinux.org/packages/robocode/) from AUR (if enabled) by following command (or equivalent):
```
yaourt -S robocode libsvm
pamac install robocode libsvm
```
# Usage
```
Generate the data required for SVM classification and show the accuracy
of the generated SVM model. If coordinates are provided, one visual battle
@ -24,14 +28,17 @@ USAGE: robocode-svm --battle x y [alpha]
```
# Details
The robots on test are **sample.Corners** (starting in center) and **sample.TrackFire** (roaming). The *gun cooling rate* is set to **0.07**. These were obtained by experimenting and provide great outcomes on the battlefied, that can be classified easily.
The robots on test are **sample.Corners** (starting in center) and **sample.TrackFire** (roaming). The _gun cooling rate_ is set to **0.07**. These were obtained by experimenting and provide great outcomes on the battlefied, that can be classified easily.
## SVM kernel parameters
The SVM type used is **C-SVC** (multi-class classification), with the **radial basis** kernel. The *cost* parameter C is **10** and the *sigma* parameter is **2**. You can find more details about these at [libsvm home](https://github.com/cjlin1/libsvm).
The SVM type used is **C-SVC** (multi-class classification), with the **radial basis** kernel. The _cost_ parameter C is **10** and the _sigma_ parameter is **2**. You can find more details about these at [libsvm home](https://github.com/cjlin1/libsvm).
## 2D visualisation
When the third parameter (initial gun orientation) of the roaming robot is omitted, we can generate *sample* visualisation of the result of this classification. Our experiments were indicating, that this parameter has low (about 2%) significance on the outcome of the battle.
![2D visualisation](https://github.com/delmadord/robocode_svm/blob/master/extras/visualize2D.png)
When the third parameter (initial gun orientation) of the roaming robot is omitted, we can generate _sample_ visualisation of the result of this classification. Our experiments were indicating, that this parameter has low (about 2%) significance on the outcome of the battle.
![2D visualisation](extras/visualize2D.png)
The visualisation color shows, which robot is likely to win, when the roaming one starts on given position on the battlefield. You can estimate the coordinates on the image and run script with the `--battle` parameter to prove the classification.
The visualisation color shows, which robot is likely to win, when the roaming one starts on given position on the battlefield. You can estimate the coordinates on the image and run script with the `--battle` parameter to prove the classification.

Loading…
Cancel
Save