0% found this document useful (0 votes)
111 views3 pages

Snake Game Playing A.I. Using Q Learning: 1.0 About

info of pdf

Uploaded by

Camden Bickel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views3 pages

Snake Game Playing A.I. Using Q Learning: 1.0 About

info of pdf

Uploaded by

Camden Bickel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Snake Game Playing A.I.

Using Q Learning

Snake Game Playing A.I. Using Q Learning


1.0 About
This project is to create a A.I. Agent that can play Snake Game which uses Approximate Q Learning
algorithm in a neural network.

2.0 Implementation
Here I have used a neural network with six input neurons and one output neuron. The inputs are the x
and y distances to food and three squares around the head of the snake and the square behind the tail of
the snake to see if they are occupied by its own tail (x, y and 1, 2, 3 and 4 in Figure 2.0).

1
y

2
x

3
4
Figure 2.0 inputs of the neural network

x
y
1
2

Q value

3
4

12/24/12

Snake Game Playing A.I. Using Q Learning

Figure 2.1 neural network


And the neural network outputs a approximate Q value of each step (position) which use to calculate
the next best move. And it uses the below equation to update the weights to get better approximation of
Q values.

Q(s, a) Q value for current position and action


Q(s', a') - maximum Q value of calculated for next four moves and actions
R reward for the max move
learning rate
w i i th weight of the input layer of the neural network
f i(s, a) i th input of the neural network
- discount
difference = [R + * Q(s', a')] Q(s, a)
w i w i + * [difference] * f i(s, a)
To give the A.I. a chance to explore new steps this uses exploration rate of 40 % in the beginning of the
game. When the snake is started to score the rate is decreased using this formula,
exploration_rate = exploration_rate / 3

3.0 Compilation and Running


You need 'openGL' and glut to compile . Install them by running,
sudo apt-get install freeglut3-dev
sudo apt-get install libgl1-mesa-dev
on terminal. Then use make commend to compile. Use,
./[executable]
command to execute. The simulator has following keyboard commands.

12/24/12

Snake Game Playing A.I. Using Q Learning

esc exit
p toggle pause
q reset the position of the food
s skip 500 iterations

5.0 More Inf0


Author : Tharindra Galahena
E-mail : [email protected]
Blog : www.inf0warri0r.blogspot.com

6.0 License
Copyright 2012 Tharindra Galahena
This program is free software: you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version. This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with This program. If not,
see http://www.gnu.org/licenses/.

12/24/12

You might also like