A better then Maximaizer .

G

Guest

Guest
Archived from groups: comp.ai.games (More info?)

Thanks Guys,

I do have a better Heuristics function I use:

But It is better on a few games only.
So I guess it is still not so good there.
Can you tell me what you think?


Start game is mobility based.
Mid game adds the corners.
End game is only maximizer.

Note that :
------------
* The rounds includes also the depth of search (if I play the 4th move and
search till depth 10 then --> Rounds = 14)

* ParityRegions is only calculated when playing black

* X & C Squers functions returns (OpponentSquares - MySquares)

* When a leaf in the search tree is detected to be an endgame situation (NO
MOVES) the Maximizer is returned.


Here is the function and it's factors.

Start Game (Rounds 0-20):
--------------------------

1 * Mobility +
10 * X squares +
10 * C Squares +



MidGame (Rounds 20 - 63):
-------------------------

1 * Mobility
2 * XSquare
20 * CornerGain //Getting a disk on a corner
2 * CSquareGain
4 * ParityRegions // Only when I play black!!!!!



EndGame (Round 63 - INF):
------------------------
Maximizer only
 
Archived from groups: comp.ai.games (More info?)

Moti ezra a écrit :
> Thanks Guys,
>
> I do have a better Heuristics function I use:
>
> But It is better on a few games only.
> So I guess it is still not so good there.
> Can you tell me what you think?
>
>
> Start game is mobility based.
> Mid game adds the corners.
> End game is only maximizer.
>
> Note that :
> ------------
> * The rounds includes also the depth of search (if I play the 4th move and
> search till depth 10 then --> Rounds = 14)
>
> * ParityRegions is only calculated when playing black
>
> * X & C Squers functions returns (OpponentSquares - MySquares)

One of the problem with this function is that it does not check if the
corner is occupied or not, which drastically changes the value of the X
& C adjacent squares.

[...]

> MidGame (Rounds 20 - 63):
> -------------------------
> 1 * Mobility
> 2 * XSquare
> 20 * CornerGain //Getting a disk on a corner

To me, the corner has more importance when the game starts and less and
less importance afterwards. A gross estimation of its importance, is
(Number of empty squares) * CornerGain.

> 2 * CSquareGain
> 4 * ParityRegions // Only when I play black!!!!!

ParityRegions are only important near the end of the game (the last 10
or 20 moves). I think parity is also important when playing white, as
this is white that should control it.

Maybe you can add a potential mobility function, for example by counting
empty squares adjacent to an opponent disc.

--
Richard