DEEP Q NETWORK IMPLEMENTATION FOR FIGHTINGICE GAME - Fathur Rahman, Muhammad
Reinforcement Learning is one of machine learning study where agents try to take action to maximize cumulative rewards. For that purpose, the agent saves the expected reward inside QTable. The need for memory for Q-Table can be replaced by using neural network to predict the Q-Value. This method is called Deep Q Network. FightingICE is a fighting game created using Java. This game is created with the aim for artificial intelligence development. With that aim in the mind, this game is created so that it can help developer to develop their AI with its features. The Deep Q Network that have been created have input state taken from the game such as character information and projectile information. And the output from this network is Q(S, A) value for all available action in State S. This Network have 3 hidden layers with 256 unit within first hidden layer, 128 unit within second hidden layer and 64 unit within third hidden layer. The number of units in input and output layer is 150 unit and 41 unit. Activation function used is ReLU, while hidden layer uses linear activation function. This agent use epsilon greedy policy with 0.9 as its start value and 0.1 as its end value. Double Q-Learning is used for training the policy network. The result from this research is that agent using deep q network can beat random agent that considered as baseline agent. Furthermore, the agent can also compete with JayBot_GM, 3rd ranked agent during 2018 IEEE CIG Fighting Game AI Competition that use Genetic Algorithm and Monte Carlo Tree Search approach.