Self organizing neural network

Blitz3D Forums/Blitz3D Programming/Self organizing neural network

MusicianKool(Posted 2011) [#1]
Well, it's not a neural network yet but i'm trying out a hypothesis. basically self organizing and self optimizing network. it's full of glitches and is sloppy but it's basically a rough draft of what i want to do. I guess this is more of a preview then anything and it's not much of one.




MusicianKool(Posted 2011) [#2]
updated some things, now works pretty good. Would like it to be faster though.
here is a video of this with some tweaks. but still with a bad frame rate.
http://www.youtube.com/watch?v=441oF-_G2KE


Last edited 2011


Rroff(Posted 2011) [#3]
Ah thats quite cool when you work out what its doing (at first just seemed purely random) and watch it making chains :D


Adam Novagen(Posted 2011) [#4]
Looks very nice so far, Kool, but this really would be better in the code archives than the forum, unless you have a question to ask about it. Or perhaps a worklog.


MusicianKool(Posted 2011) [#5]
I mostly started this for help speeding it up, it was already slow, and got slower the better it got. There are some miner speed increases with the distance calls but other then that I was looking for possible better ways of doing this.


Mr Snidesmin(Posted 2011) [#6]
Interesting. Reminds of the random stuff I used to do.

Much of the speed issues are likely related to 2-d drawing. Try to avoid using functions like Line and Oval to render large numbers of objects.

Each call to line, oval, locks and then unlocks the graphics buffer. Ideally you want to lock a buffer just once and then perform all rendering then unlock and display. You could try using 3d entities to render or using custom functions with writepixelfast etc to render.

Another option that you can do simply is to skip rendering in the loop. For example, just call the draw functions once every 5 or 10 cycles. Of course it will be a lower frame rate, but in this kind of program that doesn't really matter - just needs to refresh every second or two really.

Last edited 2011