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

Re: [computer-go] A chess programmer at the Go-Olympiad



I wasn't referring to you, Don :)  I know you understand the difficulty of
computer Go.  I was responding to the string where someone said that
Go programs don't search.

If my Arimaa program is stronger than yours, it's just because I've put a lot
more time into it.  I meant no disrespect to your abilities :)

Regards,

David

At 08:13 PM 12/7/2003 -0500, Don Dailey wrote:

> I've seen many comments from computer chess programmers that imply
> that go programmers are just clueless and haven't bothered to
> understand or apply the lessons from computer chess. This is
> simply not true :)

The lessons from computer chess is that most of us are clueless. Even
the smartest people were saying the stupidest things and we can laugh
at them now. I don't think most of us have learned from this and I
include myself too. The lessons I talk about have nothing to do with
specific programming techniques. It has to do with glib statements
about how wonderful and deep and difficult something is and will
always be.

Now if I thought you were really clueless I wouldn't tell you, I would
show you by writing a much better GO program. But as you know, I
haven't done this.


- Don





X-Sender: fotland%smart-games.com@xxxxxxxxxxxxxxxxx
Date: Sun, 07 Dec 2003 11:29:27 -0800
From: David Fotland <fotland@xxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"; format=flowed
X-BeenThere: computer-go@xxxxxxxxxxxxxxxxx
X-Mailman-Version: 2.1.2
Precedence: list
Reply-To: computer-go <computer-go@xxxxxxxxxxxxxxxxx>
List-Id: computer-go <computer-go.computer-go.org>
List-Unsubscribe: <http://computer-go.org/mailman/listinfo/computer-go>,
<mailto:computer-go-request@xxxxxxxxxxxxxxxxx?subject=unsubscribe>
List-Archive: <http://computer-go.org/pipermail/computer-go>
List-Post: <mailto:computer-go@xxxxxxxxxxxxxxxxx>
List-Help: <mailto:computer-go-request@xxxxxxxxxxxxxxxxx?subject=help>
List-Subscribe: <http://computer-go.org/mailman/listinfo/computer-go>,
<mailto:computer-go-request@xxxxxxxxxxxxxxxxx?subject=subscribe>
Sender: computer-go-bounces@xxxxxxxxxxxxxxxxx


I don't understand the comment that go programs don't use search. Go
programs do a tremendous
amount of search for local tactics and tsumego. They do small searches at
the full board. If you try to
build a go program using full width alpha-beta with all the trimmings, you
will soon find out that it will collapse
tactically against a pretty weak player, and start implementing things like
ladder search in your evaluation,
then string stability search, then connection search, and you will
eventually be where the rest of us
have ended up after many years of development.

Don't think that go programmers don't understand the state of the art in
search algorithms. You can
take a look at arimaa.com and see that my arimaa program is much stronger
than others written
by chess programers. This program uses alpha-beta PVS search with a big
hash table, null move,
selective search extensions, killer and history heuristic for move sorting,
etc. and searches about 300K NPS.

The computer chess techniques are very powerful, and let you make a strong
program for most games in less
than a year (as I did for arimaa). But they don't apply well to computer
go. I've seen many comments from
computer chess programmers that imply that go programmers are just clueless
and haven't bothered to understand
or apply the lessons from computer chess. This is simply not true :)

Regards,

David Fotland

At 02:54 PM 12/7/2003 +0100, Arend Bayer wrote:

>Dear Chrilly Donninger,
>
> > Like every chess programmer I am a believer in search and I do not
> really understand why Go programms do not use it (Martin gave me some
> good reasons, but the believe is too deep that one can be converted while
> drinking one beer). I was therefore deeply impressed by Aya. It seems to
> be one of the first real searchers. GA had not much trouble with Aya on
> 19x19, but it was helpless against the 7 Ply search in 9x9. The same
> holds with NeuroGO. On 19x19 it was a clear-cut win of GA. In 19x19
> NeuroGo searches 1 Ply. In 9x9 the 3 Ply searching NeuroGo was clearly
> better than GA.
>
>I am also a believer in search. But there are a lot of other things that
>I believe one has to do for a go program as well :)
>
> > The node count of Go-programs is unbelievable slow. I also thought that
> the number 620 on Ayas screen means 620 Kilo-Nodes. But Hiroshi explained
> me, its nodes. My impression from looking at the Gnu-Go and the GA code
> is. It is not only the complexity of the game. Go programmers obviously
> do not spend months to save a few nano-seconds in their time critical
> parts (maybe because there is no time critical part).
>
>Of course I cannot tell about GA, in GNU Go, we do care about optimizing
>performance critical parts (which is a pretty small amount of the actual
>code) of GNU Go. We don't care much about speedups of about 1% or so,
>but everything higher than that is us worth some effort.
>(But we are not yet doing global search.)
>
>I would offer you a different bet:
>1. That you will pretty soon give up on the idea of making an
>evaluation function as fast as you are thinking of now. Really the only
>thing you can do without doing some tactical reading is s.th. like
>Benson's algorithm of unconditional life, and this is just not
>sufficient on 9x9.
>2. That you won't beat GNU Go on 19x19 within 2 years.
>3. That after 1 year, I can beat your program on 9x9 giving it a 2 stone
>handicap on 9x9 after 4-5 training games for me. (I am 4d, and 2 stones
>is about the handicap I would give to an 8k.)
>
>Anyway, good luck!
>Arend
>
>P.S.: In case someone hasn't heard about Brutus: It has been a remarkably
>successful project as work on it started AFAIK only 3 years ago, and it's now
>competing with the absolute top programs.
>
>--
>Arend Bayer, Flodelingsweg 27a, 53121 Bonn, 0228-9813803
>arend.bayer@xxxxxxxxxxxxxxxxx
>
>_______________________________________________
>computer-go mailing list
>computer-go@xxxxxxxxxxxxxxxxx
>http://computer-go.org/mailman/listinfo/computer-go


_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go