[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Purpose of Neural-Nets?
> I am working on the principle that the better your
> position evaluation, the less you need to use search methods. In a
> perfect world, if your position evaluation is good enough, your search
> need only be 1 ply deep.
I am a strong believer in scalability, the ability to use arbitrarily
faster computers with more and more memory.
There are probably a million ways to do this. One way is to make the
evaluation functions a lot "better." That's the approach you are
using.
The question is, How much can you scale this up? If you had a
computer a zillion times faster with a zillion times more memory,
could you build an evaluation function that utilizes this power?
I think that neural networks scale pretty well, so it might be a
feasible approach. In principle, given enough computing power, you
could build the killer NN that would solve with game without
lookahead. I'm speaking only theoretically here. A big enough
network would reduce to a lookup table with the answers stored in the
network.
Here is a thought experiment:
1. Most good programmers can write a perfect go program, it is
trivial. It would always play the best possible move on the
board, but it would take billions (actually many orders of
magnitude more than this) of years to compute most moves.
2. So for practical purposes, we should think of GO program strength
as being a function of how much WORK and MEMORY is required to
play at an aribtrary strength.
3. There are an infinite number of possible programs, but let's
consider only those programs that run on a pentium and play
bug-free legal GO given some practical amount of memory, say 1
gigabyte. Let's also constrain these programs to being able to
produce a move within a few seconds, let's say 10. There are a
finite number of these possible programs.
4. How good would the best of these programs be? Chances are the
program would be very hard to comprehend, but what would be the
main operating principle? Would some kind of network be
implicitly coded into it? What kind, if any, search would it do?
5. Would the size of such a program (code + data) be significantly
related to it's strength? In other words, would be best 1 meg
program be a lot weaker than the best 1 gig program?
6. Would the speed of the computer be a significant factor in the
strength?
In my opinion, such a program would be quite strong, but still far
from the best human players. I also believe a significantly stronger
program exists (all possible programs exist in the theoretical sense)
on faster computers and/or computers with more memory.
What do you think?
- Don
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go