Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Opponent-modeling in computer chess

Author: Jay Scott

Date: 13:08:01 07/14/05

Go up one level in this thread


On July 14, 2005 at 14:55:00, Mathieu Pagé wrote:

>I was wondering do someone know of an engine that do some opponent modeling? Has
>it ever been tried? Is there paper/documentation about such an experimentation ?

There's not much. If you're interested in inventing new ideas, you have a wide
open field to play in.

Mainstream chess programs often have a limited ability to play differently
against different opponents. "Am I playing against a computer or a human?"

There are some old papers by Carmel and Markovitch about opponent modeling in
games. Here's a starting point.

  http://citeseer.ist.psu.edu/carmel95opponent.html

Opponent modelling is part of agent modeling in general, which there is
literature on. Most agent modeling findings have little application to games,
but you may want to scan around to see if you can glean some ideas. If you want
to do original research, you should learn about agent modeling so that you can
place your research in its broader context.

One way to look at opponent modeling is this: The performance program has a
general game model, "in this situation, do that." When nothing is known about
the opponent, rely on the general model. An opponent model is a set of tweaks to
the general model. When more is known about the opponent, larger tweaks can be
justified. An opponent can be an individual player (Crafty) or a class of
players (humans vs. computers). The opponent model may be hierarchical: If we
know nothing about the opponent, use the general model; if we know the opponent
is a computer, use the computer tweaks to the model; if we know the opponent is
Shredder, use the Shredder tweaks to the computer model.

Opponent modeling can have different purposes. Some are:

- To play better. In this case, the model needs to try to identify the
opponent's strengths to avoid and weaknesses to exploit. If the opponent learns
over time, the model may have to take that into account.

- To help the opponent improve. An opponent model that finds exploitable
weaknesses could be used to help a human or another program improve its play.

- To reproduce a given style. "Play like Botvinnik."

  Jay



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.