[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4586: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4588: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4589: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
[phpBB Debug] PHP Warning: in file /includes/functions.php on line 4590: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3765)
AI Challenge Forums • View topic - How did you handle ties?

It is currently Thu Apr 27, 2017 8:55 am Advanced search

How did you handle ties?

Share and discuss ideas for your entries here.

How did you handle ties?

Postby EdwardTonai » Sat Feb 27, 2010 3:53 am

My AI (Beatrix) handled ties OK. In my evaluation, for each position my AI was closer to than the opponent, I'd give it 100 points. Ties were worth -100 points + the number of turns it would take to get to the tie. Beatrix would rather have an advantage than tie, but a tie was better than a positional disadvantage, and in the event of a tie Beatrix would try to delay the tie (giving the opponent a chance to screw up).

What was your decision regarding ties?
EdwardTonai
Lieutenant
 
Posts: 10
Joined: Wed Feb 17, 2010 8:04 pm

Re: How did you handle ties?

Postby montanalow » Sat Feb 27, 2010 5:46 am

I rated every territorial square worth 128 (negative for disadvantage), ties were -64. All future states were multiplied by 0.999, so that the further in the future a state was, the less desirable it became. In this evaluation, a draw was worse than an evenly matched territory, but a draw was better than a 1 square disadvantage, and ties further in the future were more desirable than ties in the near future.
montanalow
Lieutenant-Colonel
 
Posts: 42
Joined: Thu Feb 18, 2010 6:50 pm

Re: How did you handle ties?

Postby iouri_ » Sat Feb 27, 2010 2:03 pm

iouri_
Brigadier-General
 
Posts: 105
Joined: Thu Feb 11, 2010 4:16 pm
Location: Toronto, Canada

Re: How did you handle ties?

Postby a1k0n » Sat Feb 27, 2010 7:14 pm

I experimented with adding a fake penalty for drawing earlier in the search vs. drawing later in the search. This draw penalty ended up competing with my territory heuristic enough to cause it to lose games rather than force a draw. ebrahim had a similar problem. Anti-draw is a bad idea IMO.
a1k0n
Colonel
 
Posts: 90
Joined: Fri Feb 12, 2010 3:51 am

Re: How did you handle ties?

Postby analyst74 » Sat Feb 27, 2010 8:43 pm

analyst74
Major
 
Posts: 39
Joined: Wed Feb 17, 2010 7:45 pm

Re: How did you handle ties?

Postby Maxime81 » Sat Feb 27, 2010 9:39 pm

Maxime81
Lieutenant-Colonel
 
Posts: 42
Joined: Sat Feb 13, 2010 10:56 pm
Location: INSA Toulouse, France

Re: How did you handle ties?

Postby dutchflyboy » Sat Feb 27, 2010 11:53 pm

I agree, draws shouldn't be discouraged. If you have to, your evaluation function is probably off. But I used a sort of tri-state program. When it's far from the enemy, it tries to go to the enemy (encourage shorter path) and slightly tries to maximize own space. However, when the bots came close, I used "MySpace-HisSpace" as measure, which meant that my bot would try to tie, but only if it was in spatial disadvantage.
dutchflyboy
Colonel
 
Posts: 57
Joined: Sun Feb 07, 2010 1:08 am

Re: How did you handle ties?

Postby Maxime81 » Sun Feb 28, 2010 4:21 pm

In one of my drafts, I wrote (but forget to implement) this idea : Evaluate the aggressiveness of your opponent to know the probability it might try a move that could lead to a draw. And of course, if our evaluation of the board is positive, we should avoid as possible any draw.
So if my opponent is shy (but not loosing to much because it could be suicidal but that's handled by the minmax anyway), I should not penalize a collision move. But if I want to win and I know he's aggressive, I should penalize the draw... But not too much ! Because a draw is better than loosing...

In facts, I think that penalizing the draw was a bad idea against good bots because a draw is not so bad against them :D. And because, often, there is an important square, shared by the 2 bots (for their next possible move) and if one of them is too shy to take it, the other can win the game...
Maxime81
Lieutenant-Colonel
 
Posts: 42
Joined: Sat Feb 13, 2010 10:56 pm
Location: INSA Toulouse, France

Re: How did you handle ties?

Postby luv2run » Sun Feb 28, 2010 5:45 pm

My bot was tying many games it should've won easily, so I had to start avoiding draws.


Each of my possible moves was given a score. Let MIN be a certain minimum good score.

If the best score/direction is also a potential tie, then we see if the second best score/direction is greater than MIN. If so, choose the second best.
luv2run
Lieutenant
 
Posts: 11
Joined: Sun Feb 28, 2010 4:57 pm

Re: How did you handle ties?

Postby Fritzlein » Tue Mar 02, 2010 4:43 pm

Janzert valued collision draw at -1, compared to a single square of territory being worth 10. Therefore he would rather collide than have one square less of territory, but would rather take any equal position than a collision draw. In chess programming this is called the "contempt factor", because you believe that your opponent will play worse than you if the game continues, i.e. you have contempt for your opponent.

For this contest a contempt factor was essential given the number of boards that an inferior player could draw by collision, but would lose in the endgame if given equal territory. Winning a lot of equal endgames added up big time in the Elo ranking. In fact, the only equal endgame that Janzert lost was to a1k0n. The suggests a slight improvement in the evaluation: when playing a1k0n, reverse the sign on your contempt factor! :D
Fritzlein
Colonel
 
Posts: 81
Joined: Thu Feb 18, 2010 9:20 pm

Next

Return to Strategy

Who is online

Users browsing this forum: No registered users and 1 guest

cron