The key word is not infinite, it's the word if
i can't believe i want to extend this conversation
any further, but i'll simply say that in mathematics
and computer science it is important to consider
abstract relationships between formally defined
objects without regard to whether or not they
To be quite honest, I have only a vague
understanding of what is
called computational complexity -- but it's clear
enough that,
_even_given_an_infinite_amount_of_storage_ it would
take longer
than the age of the universe to exhaustively search
the game tree,
and it is equally clear that,
I
assume in Go the difference is also a very large
handicap.
i think that this has come up before, but at one
point someone suggested that top pros are only a
few stones' handicap away from perfect play. i
think that komi might be the right way to think about
this at that level, as handicap
And, the right to win all ko fights without
having to fight them
is only worth half a stone.
uh, that depends upon what the kos are for.
and actually, what i meant was that its threats
might be so complicated that they would be
ignored.
s.
A good point to consider - is God actively trying
to confuse his
opponent and complicate things, or is he simply
playing objectively best
moves?
good question. if his goal is to win with zero
handicap, all he has to do is pick a branch that
ends with a win for, say, W. if he is starting
I guess you would simply steer towards positions
where the computer had
lot's of good moves and the opponent had very few
good moves.
this is essentially the same thing -- if you play
in a branch where the highest percentage of moves
lead to a win for you, then this means that your
But a god will win over the
devil, as he will not
fall in any of the traps, but can use the suboptimal
play spent in
setting those up.
actually, whomever is slated to win with perfect play
(1st or 2nd player) will win, because setting up
traps isn't necessarily inefficient -- it just
means
C and Java are in my opinion almost the same
languages. I think the error
rate and nowadays also the speed is very close.
i might agree about the error rate, but speed
isn't even close, in my limited experience.
if you statically allocate all of your ram usage,
this *might* be closer to
I think I disagree
with the statement an evaluation that only
understands final scores will not
make a strong go program depending on what you mean
by random.
here i will interject by agreeing with the
statement that an evaluation that only
understands final scores will not make a
strong
Similarly,
instead of
Foo x = y.clone();
do something like
x.copyDataFrom(y);
where of course you have to write copyDataFrom().
in C you can do something like:
(toward the beginning of your code)
CovZ= (double *)calloc(p*p*K,sizeof(double));
(and then inside some kind
I don't see the
logic why you
can't do in Java something that performance gurus do
in C. Just
because it's Java? Because it makes sense?
the garbage collector might make you a little
bit more afraid of churning through objects,
and the difference between a new() and a malloc()
is
Give me a program that beats a dan level taking less
than a week to process.
I will code it in assembler if necesary to make it
efficient for a competition. (parallel if necesary)
The first part difficult.
The second one is just engineering.
20 minutes or 20 hours is the same in this
I'll bet Mogo would give a dan level player fits at
9x9 if 1 week of
thinking time per move could be compressed enough to
play a 30 minute
game.
you could always get a dan player to volunteer for
such a game. he would promise not to spend more
than 1/2 hour on the game, and mogo would play
not to be overly critical here, but...
Mogo would also have a memory problem.
then the proposed gendankenexperiment (if it could
run for a week in only a few minutes' time) doesn't
even make sense -- if it couldn't make use of all
of the extra time (compressed or otherwise), then
it can't make
I think that humans tend to cheat also against other
humans. When I started
on KGS I was cheated several times very badly and I
have stopped to play. I
thought Go players have better manners than chess
players. This is probably
true in real-live, but on an unpersonal environment
of a
So it's
quite possible that
this sequence dominates the call to rand().
on another note, if the only reason that you
need random numbers is to choose a number from
a list (82, or 362), and the depth is being
constrained to something reasonable, then what
you need is not a super-duper random
I confirm branches are most costly.
Removing 1 not needed if gave me speedup of 5%.
do you mean that the 'if' was never evaluated,
or that it always evaluated the same way, or
that it was handled elsewhere? i'm stunned
that a single 'if' was 5% of the execution time
of your code. it might
if (is_player (color_at[v]))
chain_at[v].find_root ()-inc_lib_cnt ();
I removed the if
chain_at[v].find_root ()-inc_lib_cnt ();
And added some code elsewhere to make it correct.
so it wasn't the is_player?
s.
__
Do You Yahoo!?
Tired
Oh, sorry I forgot.
static bool is_player (t color) { return (color
(~1)) == 0; }
This is 1 CC so I don't think so. :)
:)
i guess that since the entries of color_at
had to be looked up for each v (presumably),
the pred_br_eq (or whatever the x86 version
is called) instruction couldn't
hi,
this might be a counterproductive idea,
but does anyone who mc's also ponder?
s.
__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
___
sorry, i just realized how out of context that was.
in response to X is 50kyu, Y is 300kyu, etc.
30kyu is a good bottom end. the bottom has to be
somewhere, and 30kyu humans are easily beaten by
most anything stronger than random play. more than
39 levels is asking quite a bit of the ranking
one early habit that is good for new go players to learn is
to always fill dame. sometimes groups get ataried this way
that the newer player wouldn't have noticed. it can result
in massive point loss if you're not careful about it, and it's
a good teaching tool (from the japanese rules point of
The Cotsen Open has a cash prize for the best computer program,
which I felt somewhat guilty accepting after loosing all games due
to the bug, but SlugGo was the only program entered this year, and
the cash did help to offset the cost of renting the wheelchair van
with hydraulic ramp that I
The japanese rules have problems and there have been cases where 2
professionals argue about the
outcome of a game. They are not clearly defined for obscure cases. In
addition, they are not simple. Ing
rules and chinese rules are both reasonable sets of rules because there is no
In the diagram, black has a chance to make a live group but
only if white plays stupidly.
there's a nice rule of thumb that says that you should only
play moves whose outcome results in your opponent playing
*what you think is the best move*. there's simply nothing
more irritating than someone
I try this during the opening, the middle game, and the
endgame. The only difference is in YOUR perception.
:)
fair enough.
s.
__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Amazon Elastic Compute Cloud might be cheaper @ $0.10 per instance-hour
consumed.
doesn't the 'amazing amazon elastic waistband' require you to write
all of your code using windows-based hooks? that kind've
turns me off.
s.
__
If 2 perfect players played a game where one
was given the 9 stones, and they played for maximum territory (obviously
it doesn't make sense to play for a win) would the handicapped player
be able to hold some territory at the end of the game?
This is the same as asking if it's
i'm not too sure what the protocol is on this, but it'd
be interesting nonetheless -- the current 'human' KGS
tournament this month is 9x9 -- anyone with a very strong
9x9 player should enter it, if it wouldn't offend anyone (i
can't imagine that it would, since money isn't involved*).
s.
*
i'd like to follow this up by saying that i'm interested
to see if anyone has compared winning percentage
in the following two situations:
i) maximize probability of win
ii) maximize probability of win until p_win 1-eps, then maximize
total score among all moves that give 1-eps probability
playing as a human, if i'm behind by 2.5 points, i'll never
know it, even if there is a zero percent chance that i can
make up those 2.5 points. i just don't count that accurately.
moreover, after watching you pointlessly attempt to fill each
and every one of my eyes one at a time, i'll get
in absolute terms, the time issue doesn't matter until
some piece of code is good enough to beat a dan-level
player on a 19x19 board at *any* physically realistic time
constraint. which hasn't yet been demonstrated. the super
slow motion tournament would be a good way for us to notice
when this
I still don't understand your point. Are you just trying to say
computers have a long way to go to beat really strong humans?
nope -- i'm saying that until extra time makes a measurable
difference in the strength of a program, worrying about how
much time a program spends on any particular
Well then the time is now. Look at the Sylvain's post on the
scalability of Mogo.
if the improvement continues to hold with more doublings, that's
great. i am perhaps under the misguided opinion that there are all
kinds of structural reasons why the best 'scalable' programs can't
arbitrarily
The bus problem is a general one. E.g. modern graphic cards have a very
powerfull GPU. One could use this e.g. for the computation of neural
networks. The theoretic speedup is impressive, but the practical is low or
it even slows down things. The neural-network-computation must - in
Seems like a silly title. Any game of perfect information that has a
clear rule set can be solved. Plus, some would argue that any Go
already is solved (write simple algorithm and wait 1 billion years
while it runs). A better question is, Can Computer Go Surpass Human
Go? But again, clearly it
From what I have read Kasparov's IQ is around 135 so playing Chess doesn't
really
increase a person's IQ.
But Kasparov started at 60.
s.
TV dinner still cooling?
Check out Tonight's Picks
for what it's worth, strong players often spend enormous amounts of time
on moves. professional tournament games are not generally of the
2-second-per-move variety. historically, they have taken days, but i'm not
sure what the standard is now. perhaps someone who has seen a web
simulcast of a
If you guys are correct thinking the nature of the game is such that
humans cannot improve with time, then the computers will pull
ahead more and more at longer time controls.
let's adjust this to avoid the strawman and say that the counter-argument
is that humans cannot improve much
Yes, we heard that argument for years in computer chess and it never
happened.
Do you have some kind of basis for believe that?
i wouldn't argue that future algorithms can't be time-doubled beyond
the existing skill level of people, just that the current evidence is weak
that we already
With 10^170 legal position for 19x19 what would be the size of this table ?
I m afraid we cannot build it with all the matter in visible universe.
it'd also be difficult (time consuming-wise) to *produce* all valid boards. :)
s.
AFAIK this is not a philosophical list about god power,
although (sadly) it is rapidly becoming one.
s.
8:00? 8:25? 8:40? Find a flick in no time
with the Yahoo! Search movie showtime shortcut.
It is ranked 2,323rd in the world and in Europe's top 300.
I have no idea where these numbers come from and what they mean... :-?
you mean you don't know your own world 9x9 ranking?!?
for shame!
s.
has anyone tried writing a C interface to these functions?
any suggestions about how to start? i love the idea of the
library, but do not love the idea of writing C++.
thanks,
s.
- Original Message
From: Ćukasz Lew [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent:
I have been reading this list for nearly a year now and it is very
discouraging to
receive so much criticism for my first post.
it means that you've touched upon an important issue to the readers of the
list. this, in and of itself, means that you are getting valuable information
from
the
The average score can contain a very large proportion of losees if it is
compensated by bigger wins.
yes, it is easy to see how this might cripple the play of an MC player.
that 90% territory win that requires 3 opponent blunders is tempting enough
to ignore the fact that all other
tranforms as the cannonical key. In most cases 8 positions will
IIRC, choosing the smallest may cause some unwanted effects. Not sure...
It's not quite as good as using 64 bits free and clear because there is
compression towards the lower bits.
i must be missing something here -- the
It depends. (though travel light is always a good adagium,
see David Fotlands hilarious compression of a joseki library
into 12 bits/move, IIRC ;-)
this reminds me of an old-school optimized piece of scrabble-playing
code. there was a routine that would take an ascii list of words and
create
here's my first guess at don's question about how this
would affect the game. my intuition is weak here, but
i'll take a stab at it just for fun.
no edges, no corners and no center mean that
you're effectively playing in the middle at all times.
this should mean that life would be harder to make
my favorite line:
In Go all marbles are identical...
s.
- Original Message
From: David Doshay [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org; Chris Garlock [EMAIL
PROTECTED]; Charlie Mc Dowell [EMAIL PROTECTED]
Sent: Wednesday, February 21, 2007 3:45:19 PM
Subject:
I'm not sure I agree with this. I hypothesize that 2d, 3d, 4d, torus,
or any other shape is completely irrelevant with regard to game play.
The only thing that matters is the graph topology.
it is true that the only thing that matters is graph topology. it is
also true that graph topology
If I take a plane, I can draw a 9x9 board on it or a 19x19 board on
it. I can also draw the previously mentioned circular / cylindrical
board on it. Could you explain how you propose to extract the topology
of these, given only the fact that I have drawn them on a plane?
excellent point. :)
Maybe other simple solutions exist,
you might want to check out those distributions that magically
have nice properties with respect to the bayesian integral.
they're called conjugate priors, and lots of distributions have
nice, easy to calculate conjugate priors.
there's a table here:
*: To avoid a bias due to pros recognizing and resigning lost games
earlier, it'd have to be games that were actually scored and the size of
the win was no more than around 4 pts.
i don't think that i've ever seen a 15kyu game that was that close.
s.
Nowhere i find something explaining why it is a good name,
in the sense it is alike what all physicists call temperature (= more
or less global average of underlying agitation*density).
you'll probably be happier just noting that it's an appropriation of the
word 'temperature' in use in a
Well, the assumption that p is estimated from the binomial because we
are counting Bernoulli experiments of constant p is a mathematically
sound method used universally. It does not require go knowledge, that's
what i meant. When n is big enough, the binomial converges to the normal
and
try() and expect() to suffer()
or install() signal_handlers() everywhere().
s.
- Original Message
From: Markus Enzenberger [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent: Saturday, March 3, 2007 12:39:28 PM
Subject: Re: [computer-go] GTPv3
On Saturday 03 March
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
I know a particularly nasty leak in garbage collection was fixed, but not
all code triggered it. If it was triggered you'd run out of memory,
that's not what you like to hear,
s.
Don't get soaked.
I like to think that MoGo deliberately beats such people by
half a point, so as to annoy them more :-)
this isn't uncommon in teaching games -- the idea (i think) is to
give the student opportunities to make good moves, providing them
with opportunities to learn through good play, rather than
.. then of course there were lisp machines
(brain short circuits as sparks fly and magic smoke is released.)
s.
TV dinner still cooling?
Check out Tonight's Picks on Yahoo! TV.
http://tv.yahoo.com/
No, humans are much weaker on 9x9 than on 19x19.
With all due respect, that's absurd. If that were true, then all
we would have to do is move to smaller boards if 19x19 were not
challenging enough.
You've almost gotten it right. In fact, 9x9 go is used to teach people
the rules of the
unprune isn't a word in english (yet), so it might be more natural to
use widening.
you can un a lot of things, but pruning is generally a somewhat
irreversible action.
s.
- Original Message
From: Brian Slesinsky [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent:
some tree heuristics good, some tree heuristics bad.
s.
- Original Message
From: Peter Drake [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent: Thursday, May 24, 2007 12:53:03 PM
Subject: Re: [computer-go] Progressive unpruning in Mango 19x19
This interesting
i'd need to write a C interface for it, then try to maintain compatibility
through new releases. (AKA i'd effectively end up rewriting it). it might
seem like less of a burden for me to just write my code in C++, but
i guess i'm just a caveman who is stuck in his old ways and would rather
1. In Japanese rules when you have no ko threats you pass, then the
opponent connects. In Chinese rules you'd play a dame, and if none you'd
fill in a point of your own territory.
This is creating a 1pt difference in final score. In at least one game
I have it makes the difference in who
byo-yomi is important for go, or at the very least,
canadian time standards.
s.
- Original Message
From: Jeff Nowakowski [EMAIL PROTECTED]
To: [EMAIL PROTECTED]; computer-go computer-go@computer-go.org
Sent: Sunday, June 10, 2007 10:42:50 PM
Subject: Re: [computer-go] Congratulations
hey, you guys are right, java really is as fast as C now.
s.
- Original Message
From: terry mcintyre [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent: Friday, June 15, 2007 1:17:11 PM
Subject: Re: [computer-go] Java hounds salivate over this:
The Vega chip is
not a java advocate, but I thought the whole java speed war ended
when JIT came out? Granted there is some overhead during the initial
start, but once it's running it would be the same speed since, in
essence it IS running native code at that point.
-Josh
On 6/15/07, steve uurtamo [EMAIL PROTECTED
-0700, steve uurtamo wrote:
my last $0.02 on this -- let me know when you've written
a kernel in java, and tell me how fast your operating system
(written entirely in java) runs.
what? that can't be done? :)
Well, in fact that can be done... :-)
http://www.jnode.org/
Hellwig
Also I've found:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=alllang=all
Strict 1/2 C++ speed.
not to mention 10x the memory usage of C.
s.
We won't tell. Get more on shows you hate to
Also I've found:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=alllang=all
Strict 1/2 C++ speed.
more surprising to me, i suppose, is that C is apparently more expressive --
the size of the code is smaller for the C implementations than for java ones.
that's just pure comedy to
i haven't found that i've received any additonal spam as a result of
being a member of (or of posting to) this list.
knock on wood.
s.
- Original Message
From: the Robot Vegetable [EMAIL PROTECTED]
To: computer-go@computer-go.org
Sent: Sunday, June 17, 2007 10:16:44 PM
Subject:
only for the first move or three, really.
s.
- Original Message
From: terry mcintyre [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent: Monday, June 18, 2007 1:09:31 PM
Subject: Re: [computer-go] Opening
Is it possible to recognize and exploit symmetry to improve the
on 9x9 it's easier to see it converge. 19x19 is a beast,
which is why i think that scanning a small slice of the board
for the first two moves might not be such a bad idea.
s.
Fussy? Opinionated?
Don, I like you very much, but when you say that byo-yomi
is unfriendly to humans, I have to say that you clearly haven't
played enough go. Byo-yomi is incredibly friendly to humans.
If you don't like it, try canadian timing, which is also very
friendly to humans.
Please, for the love of god,
how about canadian time?
X moves in Y minutes, where X and Y reset every time
you play X moves. you can choose where to spend your
time, and if things get tight, you only have to survive and
not do anything stupid for X-(current # of moves) and then
you get all of your time back. you can use up
That still has the undesirable characteristic that you can use much less
time than your opponent but still lose on time.
not to be too obtuse, but why is this an undesirable characteristic?
s.
Got
i think that maybe you misunderstand how byo yomi is used in practice.
you have a giant pile of time that should be enough to account for basically
all of the hardest parts of the game.
then you have several (more than 1 !) byo-yomi periods, which are like
grace periods on top of what would
Managing your own time whether in chunks or as a whole _is_ a
sub-game/task either way.
true, and a good point. time management other than attempting
to equally divide remaining time among the expected number of
remaining moves (which itself isn't so easy to estimate) is
complicated.
s.
The right parameters for Fischer time is whatever allows the highest
quality of games in the shortest actual game time and of course these
values can only be estimated or guessed at.I have estimated (perhaps
incorrectly but based on many comments from the group and for other
reasons too)
We felt also, that even if it works, the improvement
measured in Elos would not be very spectacular. The Elo/Effort ratio is low.
I was simply too lazy (or too professional) to give it a try.
it might be fun (even from a non-FPGA point of view) to try it just
to see where it lies versus a
the language of mathematics is perhaps the most universal language for
computer scientists. pseudocode comes in somewhere after that, and well-known
algorithms probably somewhere inbetween. game programming is an application
of computer science, and the language of game programming isn't
There is one other issue I have seen that is similar. Sometimes
Lazarus will play a move that doesn't hurt nor help it's position.
It's not a wasted move because the opponent must respond or else lose.
this sounds a good bit like a ko threat, which is tricky to distinguish
from a good play.
s.
as far as killing moves are concerned, there's a fairly well-understood
set of circumstances for groups with a large blob eyespace under which
death is guaranteed, life is guaranteed if a ko is won, or death is guaranteed
if a ko is lost. i have no idea how to weight the last two, but given that
The attack is easily
refuted with a capture, and when that happens no time was lost. But
the opponent must capture immediately or the threat Lazarus made
actually works.
this, in fact, is a ko threat. if you play it *outside* of a ko, then it's a
wasted ko threat. no big loss if there are
How is this a ko threat? Lazarus threatens a chain of 4 or 5 stones
with a self-atari move. If the opponent captures, where is the ko?
If the opponent doesn't capture, where is the ko?
sorry, this is just terminology on my part -- a 'ko threat' is any threat
that can be used during a ko,
i'd suggest that you need to consider whether what you really mean
is a position chosen from the uniform distribution of all legal go positions,
or if you mean a position from somewhere near the middle game. (i.e. would
you be comfortable with a board with 4 stones on it as one of these uniformly
it's much more likely not to matter on
a real (19x19) board.
s.
--- chrilly [EMAIL PROTECTED] wrote:
New lesson learned. It depends on the rule set if
something is correct or a
blunder.
So far the Go-masters told me, it does not matter,
its practically the same.
Obviously its not. This
my guess is that you are in fact missing something --
it seems unlikely that they enumerated _on disk_ all
possible games and their correct response moves.
anything taking up less space than that would require
something more intelligent (or at least with a better
capacity to collapse situations)
PROTECTED]
To: computer-go computer-go@computer-go.org
Sent: Thursday, July 19, 2007 1:17:59 PM
Subject: Re: [computer-go] Draughts / Checkers solved
On 7/19/07, Chris Fant [EMAIL PROTECTED] wrote:
On 7/19/07, steve uurtamo [EMAIL PROTECTED] wrote:
my guess is that you are in fact missing something
hey, this sounds pretty good to me.
s.
- Original Message
From: Jason House [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent: Monday, July 23, 2007 9:53:26 PM
Subject: [computer-go] [Fwd: Re: Casual attendance of the US Go Congress]
Here is an old e-mail I've found
Both.
Its probably not so difficult to make a simple bot. But it is also not
difficult to make a simple UCT player. But I am sure, that reaching the
level of Polaris is more difficult than writing the best Go-programm. I have
the feeling, that Polaris is a very serious project. Its
There is certainly more money to be made in poker than in go.
Yes, but its also more difficult.
do you mean this in a casual, unsubstantiated way, or in an exact way?
s.
Moody friends. Drama
This is a remarkable result. I think poker is more difficult than Go and of
course chess.
for people, or computers?
poker is a much smaller game than go.
s.
Fussy? Opinionated? Impossible to
(no limit hold 'em example)
if no. of hands can be taken to be # of distinct 2 card hands, mod
suit isomorphism for the first action, and no. of hands is taken to
be # of distinct 3 card hands given the first two cards for the second
action, etc., then it's easy to see that the vast bulk of the
uh, never mind. i should have looked a little more
closely at the situation. :)
s.
- Original Message
From: [EMAIL PROTECTED] [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent: Friday, August 10, 2007 8:34:26 AM
Subject: [computer-go] EGC2007
I organized side event
There are some subtle distinctions to make
when thinking about slack moves, though. Some
strong moves simply solidify a connection enough
to make a large region of the board come under
more influence to be used later. This is really
difficult to measure, because these moves often
can serve
Yeah. An eye point is defined as an empty point where all four
neighbors are the same chain. This prevents weak combos of false eyes,
but does allow it to miss one kind of life.
corner life is worth quite a few points, generally, and doesn't need to satisfy
these conditions. in fact, it
? This sounds like a really very very bad idea. But I may have
misunderstood.
Nah, you understood correctly.
ouch. it seems like you're forcing your eyes to be on the 2nd line
or above and all living groups to have stones on the 3rd
line or above.
right?
s.
1 - 100 of 256 matches
Mail list logo