Re: [computer-go] Go hardware?

2007-03-11 Thread steve uurtamo
interestingly, this is the premise upon which i
wrote my genetic board evaluator.  for what it's
worth, writing good go programs using a specialized
'go instruction set' isn't any easier or more
intuitive than using, say, 80386 instructions.  it
just makes certain operations take less 'instruction
lines' of code to complete.  that's all.  not clock
cycles.  this will reduce the search space for a
genetically-evolved system, which is nice, but 
(obviously) doesn't change the speed.

now, when my board evaluator is good enough to
actually do something meaningful, i'll be happy
to have someone drop it into an ASIC to see how
much differently it performs.

:)

if you don't have the board-evaluation function
written in advance, having access to specialized
hardware that performs go functions faster won't
make your code any better.  just maybe a little
bit faster.

s.


 

Never miss an email again!
Yahoo! Toolbar alerts you the instant new Mail arrives.
http://tools.search.yahoo.com/toolbar/features/mail/
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] March KGS bot tournament results

2007-03-11 Thread compgo123
The problem in Computer Go is the search of the best move that can be found.
 
First, Since a computer prgram, or a player cannot consider every possible 
moves, they usually has a move selecting function which select a sub set of the 
all possible moves. The moves for consideration selected by a computer program, 
by a player, or by a pro player may not contain the true best move. In general, 
the move selected is not the true best move even by a pro player. Thus, on 
average a move selected has a probability associated with it. This probability 
tells how good the move selection is. Let's call it the move merit probability. 
It's higher for pro players and lower for lower rank players. The population 
distribution of moves with different merit probability is not uniform. The 
lower is the merit probability, the larger is the number of moves. The move 
selecting function has its own merit probability. Let's call it the function 
merit probability.
 
The second reason the elected move may not be the true best move is that the 
evaluation function used by a computer program, a player, or a pro player is 
not perfect. Otherwise, the Go game is solved. Here, again, the evaluation 
function has a merit probability, a third one. let's call it the evaluation 
merit probability.  
 
Thus, one starts with an imperfect subset of moves and an imperfect evaluation 
function and feed them to a search algorithm (alpha-beta, for example). In 
general, the higher are the merit probabilities, the more effective is the 
search.
 
Here one faces a question. How much search should be performed? In general, 
more search means better probability of findng the best move available in this 
scope. The merit probability function of the selected move is just the move 
merit probability.
 
Thus, the move merit probablility is a function of three variables: the 
function merit probability, the evaluation merit probability, and the serach 
scope (or search time). 
 
Postulation: For a given function merit probability and a given evaluation 
merit probability the move merit probability function approaches a constant 
value for large enough search scope.
 
That is beyond certain value of the search scope, the move merit probabability 
function won't improve anymore.
 
Above discussion should be able to be formulated in a complete mathematical 
form. The exact mathematical form of the move merit probability function can be 
derived.
 
 
It's possible that the MC-UCT method is based on this statistical nature of Go 
game. It's success is due to its suitability for such a statistical process. 
This last sentence may be wrong. 
 
 
Daniel Liu

AOL now offers free email to everyone.  Find out more about what's free from 
AOL at AOL.com.
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] when to stop searching

2007-03-11 Thread compgo123
 If it's true, it's an indication of the properties of the game tree 
distrubution. If a first move is good, it leads to a favorable geometric 
position. Starting from a geometricaly favorable position more good random 
playing lines exist than bad random playing line(the number of the good random 
playing lines plus the number of the bad random playing lines equal to the 
total number of all possible playing lines). Actually the ladder may not be an 
exception. At each step of a ladder there are only two possible moves. One good 
and one may not be good. The chance is 50% or larger.
 
Daniel Liu

-Original Message-
From: [EMAIL PROTECTED]
To: computer-go@computer-go.org
Sent: Sun, 11 Mar 2007 2:03 PM
Subject: [computer-go] when to stop searching


On 3/11/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: 
 
But to pick the best move, it's only necessary to recognize the 
weaknesses in all the other moves. In many cases these weaknesses can 
be recognized using move sequences that are far less than perfect 
play. The tricky part seems to be sequences can only be evaluated 
with perfect play for many moves such as ladders. It's unclear how 
often such perfection is required to pick the best move. 
 
 Thus, one starts with an imperfect subset of moves and an imperfect 
 evaluation function and feed them to a search algorithm (alpha-beta, for 
 example). In general, the higher are the merit probabilities, the more 
 effective is the search. 
 
With UTC, if I understand correctly, it would eventually try every 
possible sequence, but of course not within the time limit, so it 
isn't clear that it starts with an imperfect subset of moves that is 
separate from the other factors. 
 

AOL now offers free email to everyone.  Find out more about what's free from 
AOL at AOL.com.
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

RE: [computer-go] when to stop searching

2007-03-11 Thread David Fotland

I would add 4.  The program tries to identify good moves, and only tries 
moves that it thinks might be good.  If it is goal-directed, the good moves
are good for a reason, and if the reason is not satisfied, they are
discarded.

This is the way Many Faces works.  It's very similar to 3, but it's a
different 
way of thinking about the problem (adding good moves rather than deleting
bad ones).

You are correct that this approach is inadmissible, and is self limiting.

I like it because when I add new knowledge I know I'm making the program
stronger.  
I don't like tuning parameters or algorithms and then playing hundreds of
games
to get statistically significant data on the better value.  I'm not saying
my approach
better, just that I prefer it :)

David

 
   3.  selective in the true sense.  Such a program tries to 
   identify bad moves and prune them from the tree, but they
   are pruned permanently.  NO matter how deep or long you 
   search they will never be considered.   
 
 I think true selective programs, unless the pruning 
 criteria is fully admissible,  is self limiting.  You can 
 probably build a strong program but you will be bound 
 strictly to the quality
 of your selective algorithm.   Such an algorithm would play
 imperfectly even on an infinte speed computer.
 
 UCT is admissible - it will ALWAYS find a winning move if you 
 are in a winning position.
 
 - Don
 
 
 ___
 computer-go mailing list
 computer-go@computer-go.org 
 http://www.computer-go.org/mailman/listinfo/computer-go/
 


___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/