[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Neural network window placement policy!
From:       Nicolas Brodu <brodun () aston ! ac ! uk>
Date:       1999-12-12 23:29:06
[Download RAW message or body]

I'm studying neural networks here, and as a practical experiment I
implemented a neural network window placement policy.

The idea is:
- Train a network to approximate a 'Smart' placement, to begin with.
- When the user moves a window shortly after it has been displayed, then
train the network on the location the user choosed.

We might then hope that the network will be able to predict more accurately 
the user wishes!

The code works, and you can find and play with it here:
http://www-eleves.iie.cnam.fr/brodu/neural/

Problems:
- The training was difficult, and gave poor results. So 'smart' isn't very 
well approximated. (If someone has a good code to minimize a function in 351 
dimensions, please contact me*). At least it cannot be worse than 'Random'...
- KConfig did corrupt the config file when called from kwin constructor. I
don't know why, but this means that all the parameters are hardcoded for now,
and anything the network learns will be lost the next session.
- On the 29 nov CVS, the kwm control for window placement policy wasn't
ported to kwin (and I don't know if it is, now). So I just changed the
default in options.cpp to 'Neural' instead of 'Smart'.
- Don't expect the network to perfectly match your desires. The training is
a slow process, and after all it remains an approximation. Still, it's quite
fun to see the windows be placed more closely to where you moved them last
time!


Happy computing :-)


Nicolas

*: The training used mainly simulated annealing and gradient descent.
-- 
Life is a sexually transmitted fatal disease. (W. Allen?)

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic