Welcome, Guest. Please Login or Register.
Jul 26th, 2017, 1:29pm

Home Home Help Help Search Search Members Members Login Login Register Register
Arimaa Forum Personalized Play / Opponent Modeling


   Arimaa Forum
   Arimaa
   Bot Development
(Moderator: supersamu)
   Personalized Play / Opponent Modeling
« Previous topic | Next topic »
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: Personalized Play / Opponent Modeling  (Read 1269 times)
Rednaxela
Forum Senior Member
****



Arimaa player #4674

   


Gender: male
Posts: 34
Personalized Play / Opponent Modeling
« on: Sep 6th, 2010, 6:33pm »
Quote Quote Modify Modify

For a while I've been wondering if there was a reasonable way for bots to 'personalize' their play to their current opponent. It's something I haven't come across a thread about before here.
 
Recently in the "Global Algebric Material Evaluator" thread, I had run a few queries and found that it seemed like the gameroom data supported the notion that FAME and DAPE had a bias to be in favor of the way their respective authors played. This seems like a fairly logical result I think, but the fact that I seemed to be able to see this in the gameroom data gave me an idea: What about having a bot that tweaks an evaluation function to be similar to it's guess of the opponent's perception?
 
The way it could be implemented is as follows:
- Look up the player's username and go through their gameroom data, picking out the material evaluators and and other parts that seem to best represent the player.
  - Don't assume the opponent is weak. In other words, don't allow the resulting evaluation function to be weak, merely biased towards the opponent's tendencies.
  - Probably run this in the ponder-time during the opponent's first couple moves.

- If the opponent is unknown or only has played a small number of games, assume they'll play with some similarity to people who use the same moves in the first two turns, perhaps factoring in other metrics of play-style as well if one wants to get fancy.  
- During the alpha-beta search, when it's time to calculate a score, instead calculate two scores. One for your own evaluation, and another that uses the evaluation that's biased towards the current opponant's tendencies.
- During the search, use your own evaluation score during your own turns, and use the tweaked evaluation score during the opponent's turns.
 
Really, I think this process is very similar to what human players do when facing an opponant they've either faced before or have seen the history of. Bot bashing for instance, tends to take advantage of weaknesses of certain bots. Also when I was browsing "2009 One vs TheMob" it seemed notable to me that both sides were attempting to consider historical behavior of the opponant. It struck me that that's really something humans do all the time but bots currently, to my knowledge, don't do.
 
Any thoughts on either this specific method of adapting to the opponant, or the principal of having a bot do so in general? Smiley
« Last Edit: Sep 7th, 2010, 1:10am by Rednaxela » IP Logged
Isaac Grosof
Forum Guru
*****



Longtime Arimaa Fan

   


Gender: male
Posts: 175
Re: Personalized Play
« Reply #1 on: Sep 7th, 2010, 12:03am »
Quote Quote Modify Modify

It seems this could be exploited, by initially playing in a way that would cause the bot to play in a way that they could beat. However, I'm sure this could be counteracted. Good idea!
IP Logged

Sorry about that one thing.
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1014
Re: Personalized Play
« Reply #2 on: Sep 7th, 2010, 12:55am »
Quote Quote Modify Modify

Just a quick note, if I correctly understand what you're describing this is generally called "Opponent Modeling".
 
Janzert
IP Logged
Rednaxela
Forum Senior Member
****



Arimaa player #4674

   


Gender: male
Posts: 34
Re: Personalized Play / Opponent Modeling
« Reply #3 on: Sep 7th, 2010, 1:21am »
Quote Quote Modify Modify

Thanks Janzert, that is indeed mostly what I mean. I imagined there would be such a term but didn't know what it was. I've changed the subject and I'll probably be looking at literature regarding it... haha.
 
One thing I did have in mind, was rather than trying to model the opponent entirely, 'restricting' the model to only consist of tweaks to a known-strong evaluation function. The idea is that such a tweaked model would remain strong and thus not be as exploitable as modeling the opponent in a more unrestricted way.
« Last Edit: Sep 7th, 2010, 1:22am by Rednaxela » IP Logged
rbarreira
Forum Guru
*****



Arimaa player #1621

   


Gender: male
Posts: 605
Re: Personalized Play / Opponent Modeling
« Reply #4 on: Sep 7th, 2010, 3:46am »
Quote Quote Modify Modify

That's an interesting suggestion, it would be cool to see a bot adapting to different opponents throughout time.
 
Another (perhaps more controversial) form of opponent modeling that I've thought about is to exploit known bugs of other bots, for example bomb's lack of knowledge about the repetition rule. But I don't think I would actually waste time with this form of opponent modeling.
IP Logged
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« Previous topic | Next topic »

Arimaa Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB 2000-2003. All Rights Reserved.