Still polishing the paper. Been revising section by section and created a new diagram for the paper.
Need to fix an issue with the citations.
Will make time to try and tweak the experiment for the paper to see if I can get different result.
Created and ran experiment. Noted the results down.
Finished the first draft of the Capstone paper. Currently revising and polishing it.
Built a functioning, testable (not yet accurate) Neural Network that takes in my input of heuristic data and output a direction.
Since the puzzle states were strings, I wanted the output to be the value added to the index of the “_” to move to a new position but negative values cannot be used as targets or labels in neural network so instead I coded them using values 0-3 to represent each move.
I created a function that takes in the output of the neural network and converts it to a move for the puzzle.
Also know which specific layers I need to experiment with make my neural network be accurate.
Managed to have Keras, an open source network library, installed in Jupyter.
Currently focusing on building a sample neural network, adjusting the data into a format that can be used by the network, iterating on the architecture required for the Neural Network and writing a draft of the first few sections of the Capstone paper.
Built a prototype testing agent for the Capstone that should in theory take in a file of problem states and go through them with each Heuristic(Neural Network not yet ready) then output the solution size, number of nodes visited and number of nodes that are waiting for a visit. Haven’t gotten to properly test this one so will need to make time for that.
Tried writing a high level outline of my Capstone.
In terms of implementation, I have created 4 different heuristics functions for my Capstone that take in a state and output a value based on how good the state is. with 4 being inadmissible. Technically 5 as 2 heuristics are additions to a single heuristic.
Modified my admissible heuristic function so it outputs a move (left=-1,right=+1,up=-4,down=+4) based on what move a search algorithm would have performed if it is was taking an action in that state.
Created my training agent function that outputs a file contains vectors of these heuristic outputs. One per state
Did some research into activation functions and Neural Network types to figure out what initial design I should go with for my Network.
First post of Capstone progress. First thing I did was review my Capstone proposal paper to re familiarize myself. Immediately I begun work on the work I outlined for Week 1 in my timeline.
I built a generator for random initial board states for an 11 sliding tile-puzzle. I chose to have each board state be a solved state that was then subjected to a random number of moves. This is ensure that each state is solvable without having to check first. Another choice I made was to have each state be represented as a string with each tile being represented by a hexadecimal number and position represented by its index in string.The blank space is represented by “_”. This was done because a number of states will be generated during the AI’s decision making process so the states should be as small and compact as possible.
I also started to look into the tools for creating the neural network. So far I am looking at Tensorflow, Keras in combination with Python.
After speaking with Dave,I have realized my ideas are not focused enough and I need to inspire confidence.
I will narrow my ideas specifically to:
1.Using neural networks to improve G.O.A.P
2.Neural networks in Intelligent Character.
3.A examination of Case Based Reasoning A.I in Serious Games and RTS
Any project I decided to implement using these ideas will be built using the Unity Engine,As I have experience and familiarity with Unity.
Will find time to discuss with Dave to get his input.