gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] address@hidden: Re: GNU go and Artificial Intelligence


From: Paul Pogonyshev
Subject: Re: [gnugo-devel] address@hidden: Re: GNU go and Artificial Intelligence?]
Date: Wed, 29 Sep 2004 02:50:24 -0200
User-agent: KMail/1.4.3

> Earlier, I have been speaking with John McCarthy, professor emeritus from
> Stanford University, and he told me that go sometimes is characterized as
> 'the fruit fly of artificial intelligence’, thereby referring to the area
> of genetics where researches have used fruit flies as a research object.
> There aim here was obviously not to create the perfect fruit fly, but to
> contribute to the progress in the field of genetics.

There is a branch of programming called ``genetic programming.''
Generally it looks like this: you have a problem that is not solvable
by standard algorithms.  You write a parametrizeable set of algorithms
that aim to ``more or less solve'' your problem, i.e. work
heuristically.  Then a ``population'' of these algortihms is generated
and they are interbred and mutated, with the algortihms showing better
results having higher probabity to ``survive.''  This is not so easy
as explained, though, since it is usually quite difficult to encode
algorithms so that their crossing produces another valid algorithm and
not a meaningless string.  Another problem is that if your set of
algorithms doesn't contain a good enough solution to begin with, there
is no way for genetic procedure to create one.  And finally, this all
usually takes lots of time.

Having said that, I believe there is no way one can use genetic
programming to create a strong Go program.  Maybe for some small
subtasks---yes,---but nothing larger.

So, I bet he meant that since Go is difficult to program, various
approaches and algorithms are tried.  And those which give stronger
programs ``survive'' and can spread to other programs.  In this
respect term ``genetics'' can be applied to every complicated field
as this is just the normal course of development.

> Since my article is for a popular science journal, I am hoping to make my
> readers relate to the go-subject by using some real world examples on where
> this kind of techniques could be applicable some time in the future. In the
> fruit fly-example from before, it is of course hard to determine the exact
> future usage, but it is not difficult to guess on using genetics for e.g.
> curing diseases, inventing medicine, developing crops etc. etc.

Well, in this case GNU Go doesn't seem like a good pick.  I don't
think any of the techniques used in GNU Go are particularly useful for
anything else but another game-playing program.

One can speculate about how pattern matching is close to ``computer
vision'' problems (but it is not.)  Or that war is just another game
(military needs pushed game theory development at some stage)---but
war is a bad game, better stick to Go.

So, I cannot frankly suggest such a potential connection.  GNU Go is
written just to play the game of Go and I'm not aware of Pentagon,
NASA or WHO paying particular attention to it. ;) The only interesting
thing GNU Go is linked to is the game of Go, as far as I can tell.

> If you should try to think about computer-go in the same way, what do you
> think could possibly be the usage of the techniques described?

Computer-go is probably not much better in this respect.  I can recall
only one technique used in computer go that is substantially different
from what you can see in GNU Go: neural networks.  (But then, I may
not know something.)

Again, I don't think that computer-go creates a demand for
sophisticated general-purpose algorithms or that it pushes development
in any other field.  I know that at least some search algorithms were
developed specifically with Go in mind, but search algorithms are
useful in game programming and hardly anywhere else.  From what I saw,
computer-go mainly capitalizes on existing methods and algorithms,
rather than creating anything really new.

Let's hope someone can give you an answer better suited to your needs.

Paul





reply via email to

[Prev in Thread] Current Thread [Next in Thread]