by Hippo » Sun Dec 18, 2011 9:09 pm
I use multidimensional symmetry detection. (Using fake symmetry detected while there is no prove it is wrong.)
I use some tricks with bigintegers to detect/filter out false symmetries fast. On small multihill maps I usually use correct symmetries from turn around 40.
The shifts combined with central symmetries / rotations are not problem for my bot. You can see it on a lot of my bot's games.
... my ants randomly shaking, but immediately starting to run for a food the bot cannot see ... (just the symmetry copy was seen).
This is why my strategy is to distribute ants to most of the map, but welcome exchanging ants. When my opponents have ants spread such that they could see the food, I lose the main advantage. I have not implemented "narrow places detection" to guard important places. I gather food by my original nonoptimal algorithm. I have codded faster algorithm, but never got enough time to debug it. My bot often must interrupt thinking due to time problems ... this will be the next step.
I rarely timeout during symmetry detection ... the food planning takes much more time.
I don't use any alpha beta's ... just heuristics to guide me through fight.