[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Go program strength



This thread is interesting as it analyzes the "ethics" of a programmer adjusting
his/her Go program for the particular strengths, weaknesses and styles of an
upcoming opponent.

First, it illuminates an unspoken assumption about the ideal Go program: That the
ideal Go program  should be "blind" to the nature and styles of all opponents, and
should win against all comers with no such pre-game individual adustments.

A consequence of this unspoken assumption is that computer Go would thus become a
game unique in the history and practice of all competitions, games and sports.

Computer-vs.-human chess illuminates this problem very well. After Deep Blue
defeated Gary Kasparov, Kasparov publicly and specifically accused Deep Blue's
programmers of having "tweaked" the program to play against his personal style.
Needless to say, he ladened this with a subtext that for the Deep Blue team to
have done so (assuming they did) was somehow unethical or unfair.

What Kasparov neglected to mention is that all top-level (human) chess competitors
train by obsessively studying the playing style of their upcoming opponents. That
is, they do not spend the months before an important match strengthening their
"generic" chess skills, but specifically strengthening the skills that will be
most relevant against their specific opponent. And if you were a fly on the wall
of Kasparov's hotel room during game breaks, you would have heard Kasparav and his
seconds bent over the chessboard saying "Deep Blue does this in this situation ...
Deep Blue does that in that situation ..."

So do football teams. They spend the week before a game specifically watching
films of their opponents' games and devising strategies useful against the unique
characteristics of their opponent. Baseball pitchers and coaches are vast,
detailed repositories of the strengths and weaknesses of all opponent batters; and
contrariwise about the idiosynchracies of pitchers.

The same with boxers. The same with tennis players. My guess is the only top-level
competitors who do not routinely "tweak" their performance against their known
opponents are runners and swimmers, because the object of these
all-straight-ahead-speed games doesn't depend on anything individual competitors
do or don't do. And yet ... the choice of which events an individual runner or
swimmer enters and which he/she skips has everything to do with the opponent
lineup.

So I think the question of the ethics of "opponent tweaking" has long since been
answered. It's either not unethical in the slightest ... or all competition
indulges in this specific kind of unethical behavior. This is like saying that
breathing is unethical. It may be, but no one's going to stop.

It also suggests, however, that development of a Go program ought actually to
emphasize an important easy-access module for Quick-PreGame-Opponent-Tweaking ...
to make it (by accessing opponent game databases, for example) easier to do
something every programmer was trying to do anyway.

Bob Merkin