Qbasicnews.com
October 18, 2019, 11:07:47 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Back to Qbasicnews.com | QB Online Help | FAQ | Chat | All Basic Code | QB Knowledge Base
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: 2005 Xmas holiday AI challenge  (Read 6379 times)
vspickelen
Member
*
Posts: 26



WWW
« on: December 23, 2005, 02:14:12 PM »

2005 Xmas holiday AI challenge

Write a BASIC solver for the well-known tangled net problem.

This is a quite manageable exercise in artificial neural network coding,
see for instance:

http://www.generation5.org/content/2002/kdjava.asp
http://www.generation5.org/content/2004/aiSomPic.asp ( under "1) Grid Layout" )
http://fuzzy.cs.uni-magdeburg.de/~borgelt/doc/somd/somd.html
http://www-ti.informatik.uni-tuebingen.de/~goeppert/KohonenApp/KohonenApp.html
http://www.shef.ac.uk/psychology/gurney/notes/l7/subsection3_3_3.html

Contrary to popular belief, building a neural net in BASIC doesn't
necessarily lead to a twisted mess.

My own skewed FB version is here, the source will be released after
there's been some competition:
http://home.graffiti.net/vspickelen:graffiti.net/doos/wirwar.zip
(sorry, windοws .exe only)


The rules are very plain:

Your program must use Kohonen's self-organizing feature map to
straighten out the net:
http://www.cis.hut.fi/projects/somtoolbox/theory/somalgorithm.shtml

(Of course, any other genius invention that does the job is welcome.)

Kohonen's method supposedly emulates the unsupervised learning of
the brain in an elegant, extremely simple manner.

So in this case, the simplest readable code is regarded the highest.
Ideally, it should run on the qbasic 1.0 interpreter.

If you haven't got clue-one where to begin, or thinkin's too much toil,
this Idiot's Guide to NN has code that only needs to be stitched together:
http://richardbowles.tripod.com/neural/kohonen/kohonen.htm

schene Ferien,
vspickelen
Logged
Anonymous
Guest
« Reply #1 on: December 23, 2005, 02:31:44 PM »

Shocked that makes no sense to me.. but i didnt read any of the docs either ;P

looks kewl tho!
Logged
Torahteen
Ancient Guru
****
Posts: 744



« Reply #2 on: December 27, 2005, 01:41:47 AM »

Sweet! A chance for me to finally learn NNs and show it. If only I knew how. I've been trying to learn these for months. I love that site you pointed me to though. I'll be reading that extensivly.
Logged

quote="Deleter"]judging gameplay, you can adaquately compare quake 4 with pong[/quote]
vspickelen
Member
*
Posts: 26



WWW
« Reply #3 on: December 27, 2005, 02:01:47 PM »

Y're all very welcome of course, but I want some contenders...or else pretenders.
I mean, t'were nice if someone builded a fake solver, posted only the .exe,
it would've been my private challenge to find out if the thing had any brains at all.

Remember guys, this could be your 1st step on the way to mastering true AI!
vspickelen
Logged
Torahteen
Ancient Guru
****
Posts: 744



« Reply #4 on: December 27, 2005, 03:54:14 PM »

I'm very interested. This would be my very first NN. I'll see what I can come up with. Though I'm still confused about the whole SOM thing.
Logged

quote="Deleter"]judging gameplay, you can adaquately compare quake 4 with pong[/quote]
vspickelen
Member
*
Posts: 26



WWW
« Reply #5 on: January 04, 2006, 10:47:03 AM »

Since my holidays are nearly over and I won't be able to monitor the here
proceedings anymore, it's time to close this challenge-with-no-entries.

As a New Years Gift to all would-be contestants out there,
I present this link to some neural networks and cellular automata code
dug up from my deep & dark QB vaults specially for this occasion.
All sources have been freshly updated to utilize the power of mighty FreeBasic.
http://home.graffiti.net/vspickelen:graffiti.net/index.html

The source for the WirWar.exe Tangled Net solver is added to
subdirectory Grids\Kohonen in:
http://home.graffiti.net/vspickelen:graffiti.net/basgrids/Grids.zip

Interested readers may want to follow this enthralling thread, in which
an ambitious young programmer is patiently guided towards producing
a working FreeBasic NN backpropagation program - to sadly falter only
at a pace-length's distance from reaching his goal:
http://forum.qbasicnews.com/viewtopic.php?t=11193

Best wishes,
vspickelen
Logged
Torahteen
Ancient Guru
****
Posts: 744



« Reply #6 on: January 05, 2006, 03:10:21 PM »

I'm still confused about how this works. It may take me another week to get my entry in if that is ok.

I got to ask you for three hints: How many dimensions are being inputed into the SOM, and what is the input supposed to be? What is the output supposed to be?
Logged

quote="Deleter"]judging gameplay, you can adaquately compare quake 4 with pong[/quote]
vspickelen
Member
*
Posts: 26



WWW
« Reply #7 on: January 08, 2006, 01:08:00 PM »

Hulloder,

In this case, both input and output are two-dimensional.
Input is a set of coordinate vectors { (x0,y0), (x1,y1),..., (xn,yn) },
output is the position of each input vector in the SOM-model,
thus another set of coordinates, artfully displayed on the screen.
So there isn't much happening, which is why this is perfect for
judging the performance of your SOM implementation.

Good luck!
vspickelen
Logged
Torahteen
Ancient Guru
****
Posts: 744



« Reply #8 on: January 08, 2006, 01:38:40 PM »

So the input will always be the tangled up net, and the output should slowly become an untangled one? Also, are the coordinates a value between -1 and 1? Or can they be any number?
Logged

quote="Deleter"]judging gameplay, you can adaquately compare quake 4 with pong[/quote]
vspickelen
Member
*
Posts: 26



WWW
« Reply #9 on: January 10, 2006, 01:37:03 PM »

If you feed it random vectors, a well-behaving SOM will distribute them evenly over its 'model space'.
If you feed it grid coordinates, it will do the same, with the additional comfort for the programmer of being able to display the connexions easily.

But whichever method you choose, you must always first normalize the input, i.e. bringing all coordinates in the range [-1, 1].

So, go either way.
vspickelen
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!