I write software. Mostly in object oriented c-like languages and javascript. I'm keeping a web log of my activities.
Wednesday, August 01, 2007
Minor Update
I have made steps towards a neural network for solving sudoku, but I hit a snag when I came to generating test sudoku on the fly, then I got distracted with other AI research I'm doing and updating my website and stuff going on in my non-digital life.
I haven't got beyond my snag, so I have no real update, other than to say I have created a simple class for single layer neural networks
My other AI research has lead me to investigate Information Theory. I'm finding it very complicated so far, not having a degree in mathematics, but I'm sure I'll figure it out in time.
For now, you'll have to wait, while I decide if I should use canned sudoku grids or work to finish my generator.
Monday, April 09, 2007
New Mini Project
I've finally come up with a small enough project that I should be able to do over a few weeks.
My main project: finishing the robot football AI, will be put on hold while I get back into the swing of C++ and Linux (slackware).
This mini project is a very simple neural network that will be limited to two layers (no need for complex learning algorithms). I will train the network to recognise sudoku puzzles, and hopefully I'll be able to get it to fill in novel puzzles.
The network code will be a lot simpler than the code I used for my Masters' thesis, with two one dimensional arrays of doubles for the input and output, and a single two dimensional array of doubles for the connections.
I'll post the code as bits get completed.
Saturday, October 21, 2006
3D thing source
Unveiling
It's not quite how I said it would be. There are no collisions, but everything else is there. All the nodes have the same mass, so there was no need to include that in the model.
To download the finished product goto http://www.geocities.com/griffle_the_waffle/ppi and click on the products link in the left hand menu. The first product is the one you want, although you might want to try out the others too.
I'll post links to the source in a bit.
Saturday, October 14, 2006
Warm up exercises
Right, today I'm going to start a simpler project:
I'm going to try to make an l-system style programme, but without any branches. Also each node will be of a certain type, that will be attracted to one type and repel its self from another. The attraction/repulsion will cause acceleration based on the mass of the nodes.
The l-system part will be how I control the number of nodes - each type will beget two of two other types. You will be able to increase and decrease the number of nodes as whole layers, in a binary way i.e. 1, +2, +4, +8, etc.
I know I'm meant to be making AI software, but this idea excites me more than thoroughly designing a neural network designer.The idea struck me after conversing with Baz of Elitebastards fame. He introduced me to an l-system that used repelling to form its shape. It looked pretty cool, so much so I wanted to do something like it.
Friday, September 22, 2006
Starting afresh
This is the start of my blog. I'm creating a blog about developing AI software. If you have no interest in AI software, or me, turn back now. This will only make you turn blind.
Since this is the first post, I will tell you what I shall be developing first: An Artificial Neural Network Designer.
I have already taken the first steps, I have decided what it will be able to do:
- Load a network
- Save/save as
- Create a new network
- Add a neuron
- Remove a neuron
- Edit neuron properties
- Add a neuron group
- Remove a neuron group
- Edit group properties
- Add a neuron to a group
- Remove a neuron from a group
- Add connections: N->N, N->G, G->N, G->G
- Removing connections
- Create activation functions (AFs)
- Edit AF properties
- Remove AFs
- Set network bias
Anyway, wish me luck.