Author |
Topic: Parameter tunning on eval function (Read 997 times) |
|
nbarriga
Forum Guru
Almost retired Bot Developer
Gender:
Posts: 119
|
|
Parameter tunning on eval function
« on: Oct 6th, 2005, 10:51pm » |
Quote Modify
|
Hi, i just wanted to know how are you tunning the parameters on your evaluation function. (hand tuned, TD(0), TD(Lambda), TDLeaf(Lambda), etc) And also, is everybody using linear eval functions or is somebody messing with neural networks or other predictors? And finally, do you use only 1 eval function, or multiple ones, that are automatically changed based on some characteristic of the game( human or bot oponnet, opponent agresiveness, specific eval function for each known oponent, etc) Sorry for all the questions, but the more i think about my bot, more questions i have
|
|
IP Logged |
|
|
|
PMertens
Forum Guru
Arimaa player #692
Gender:
Posts: 437
|
|
Re: Parameter tunning on eval function
« Reply #1 on: Oct 6th, 2005, 11:12pm » |
Quote Modify
|
My virtual (not yet existing) bot is planning to use multiple evals based on opponent and situation. It should for example be a rather easy task to beat bomb with one of the well known and no-brainer anti-bomb tactics (mainly E-H derivates) Loc can easily be beaten by sacrifizing anything to blockade its phant (it will time out then) Clueless has a rather bad trap-control and tends to suicide pieces if given the chance. Gnobot has a bad goal-protection and often overlooks even a simple goal. In addition the eval might be much lighter if only relevant things are considered - and more importantly more precise. Example: rabbit pulling is great, but not needed if you go for immobilization. Apart from that I am desperatly trying to find a efficient way to recognize a position (I do not have a 64MBit Prozessor with 10 GogolBit Main Memory ) Until then my bot stays virtual
|
|
IP Logged |
|
|
|
99of9
Forum Guru
Gnobby's creator (player #314)
Gender:
Posts: 1413
|
|
Re: Parameter tunning on eval function
« Reply #2 on: Oct 7th, 2005, 1:13am » |
Quote Modify
|
Gnbot uses a hand tuned non-linear eval. I basically picked a bunch of features I would look for to gain advantage in a game, and made up an equation for each which I thought represented it fairly well. (eg one of the the elephant -> camel interactions falls off as 1/distance).
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: Parameter tunning on eval function
« Reply #3 on: Oct 7th, 2005, 9:54pm » |
Quote Modify
|
Correct me if I am wrong, but I believe all the bots so far are hand-tuned, including bot_haizhi. Haizhi then implemented TD(lambda) but it resulted in zero improvement in playing strength. My (totally unexpert) guess as to why TD(lambda) failed for bot_haizhi is that there were way too many features. If you aren't going to use your Arimaa knowledge to hand-tune your features, at least use your Arimaa knowledge to sharply limit the number of features available for the bot to self-tune, so it doesn't waste eternity tweaking hundreds of not-very-relevant parameters.
|
|
IP Logged |
|
|
|
nbarriga
Forum Guru
Almost retired Bot Developer
Gender:
Posts: 119
|
|
Re: Parameter tunning on eval function
« Reply #4 on: Oct 8th, 2005, 12:52am » |
Quote Modify
|
Currently bot_weiser's eval funtion has 45 parameters, and i plan to go to about 100. Each feature i add makes the eval function slower, so i have to find a balance between eval function quality and search depth, because i don't think i'll have time to work much on the search algorithm before this year championship.
|
|
IP Logged |
|
|
|
fotland
Forum Guru
Arimaa player #211
Gender:
Posts: 216
|
|
Re: Parameter tunning on eval function
« Reply #5 on: Jan 23rd, 2006, 1:26am » |
Quote Modify
|
bomb is hand-tuned with about 400 constants. Most of the evaluation is linear, with values looked up in tables and summed. Piece values are constant, except for rabbits, whose value depends on the number of remaining rabbits.
|
|
IP Logged |
|
|
|
|