Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Simple AI Game Improved

Author: Graham Laight

Date: 12:19:00 07/27/03

Go up one level in this thread


On July 27, 2003 at 12:12:05, Tim Foden wrote:

>On July 27, 2003 at 08:34:10, Ricardo Gibert wrote:
>
>>On July 26, 2003 at 18:23:31, Graham Laight wrote:
>>
>>>Finally, I got around to doing what I've been promising to do for a long time.
>>>
>>>Since nearly everyone who plays my matching pennies game chooses to have 49
>>>goes, I've tuned the pattern recogniction algorithm to work best at this level.
>>>You should now find it noticeably harder to beat than it was before.
>>>
>>>http://mysite.freeserve.com/grahamlaight/jscript/GuessWhichHand.htm
>>>
>>>Have fun - and don't forget to post your game records here, please!
>>>
>>>Take care,
>>>-g
>>
>>Such programs try to take advantage of non-random play of the opponent. In order
>>to do so, it must also play in a non-random way. This leaves it vulnerable to a
>>sophisticated opponent. The more aggressive the program is in taking advantage
>>of non-random play, the more non-random its own play must be and the more
>>vulnerable it is.

Ah - but even as you're getting better at learning how to beat the algorithm,
the algorithm is also getting better at learning how to beat you!

The more goes you have, the better the algorithm becomes at anticipating your
moves. In all the games I've analysed (mostly from the CTF forum), people have
scored fewer points in the second half of the game than in the first half.

>>For example, someone posted a link on a usenet group to precisely the same game
>>you tackle. The programmer even dressed it up a bit with a high scores list.
>>This had the desired effect of encouraging participation.
>>
>>Unfortunately, the program was very agressive to the point of being completely
>>deterministic. A number of jokers realized this and worked out the precise
>>sequence required to win with a nearly perfect score! I was one of them, but not
>>as patient as some of the others at working out a really long sequence that won
>>consistently.

My game is not deterministic. If you play the same sequence of 49 moves twice,
you'll get different results.

>>Interestingly, despite this going on, there were enough unsophisticated players
>>to give the program a very comfortable plus score overall. It seems the
>>sophisticated players were too few in number to really hurt it. Kind of the same
>>situation as in Las Vegas and the BlackJack card counters.

I thought they'd implemented mechanisms to prevent counting?

>>I did not do a lot of testing, but I think your program does not seem to be very
>>aggressive. It can't be taken advantage of as ruthlessly as the aforementioned
>>program, but I'm not sure if this is really the best way. Maybe the best way is
>>to rely on the much greater abundance of unsophisticated players.
>>
>>It would be interesting to compare both approaches on a large pool of players.
>>It may be best to be aggressive, but not so aggressive that it becomes easy to
>>join the sophisticated group of players. Ruthlessness should require hard work!
>
>Maybe it would be interesting to have a program that is very aggressive, but
>detects when this is failing (e.g. say, score worse than 3/10), and then
>randomly changes to a less aggressive algorithm (of which it may have more than
>1).

How about the following strategy: you play with a high level of aggression, and
when the opponent is having a winning streak, you automatically start reversing
your guesses before playing? Of course - when the opponent starts winning again,
you revert to normal play again.

-g

>Cheers, Tim.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.