Deep Blue guy, but without cash, I don't see much to
care about.
May sound unpolite. But Deep Blue reached a very
important step in IA. They will be known for ever.
But, from a research point of view, they didn't much
really. It was mainly a technological/technical
achivement.
Don't trow me
MPI vs Threads,
MPI can be as quick as threads. Only if the
comunication between processing units (threads, or mpi
process), is 0.
Speed: disk mpi shared memory cache
Bare MCGO (no UCT, nothing) can be 99.999% efficient.
Because It doesn't need inter-process communications.
A master
libego is a very optimised library. indeed, very hard
to change. If it fits your needs, go for it. Its
simply the best you can do.
BUT, If you want to try different MCGO approachs with
libego, I'm sure it will be far more hard to change
than using slowish java.
If you want to compare it with
Stunning data.
I suggest list members to look at this papers.
Also I've found:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=alllang=all
Strict 1/2 C++ speed.
--- Peter Drake [EMAIL PROTECTED] escribió:
The JIT compiler can optimize away a lot of these
things.
For those of
If you want compare pure efficiency (without taking
into account development costs, including maintenace
costs, clarity of code, etc.) C will win. period.
Learning curve for the java language is quite small.
(like pascal, thats why they used to use pascal as an
introductory language. Nowadays
What are the specs of the actual cores? Shared
memory or does each core have it's own?
Its a SMP machine. (share memory with same access
speed for every core)
There are more things to take into consideration
than just cores. I've
seen several posts like this in the past, and it
makes
The approach that C supports is chaos: deal with
it.
Is it an approach? or a mere fact of consecuences ?
I mean, people started to build C compilers on every
machine, thats all. The standard library is less
standard than any other thing...
C was one of the first mainstream languages, also was
Is it a new engine nobody knows before ?
--- Sylvain Gelly [EMAIL PROTECTED] escribió:
Hi Magnus,
Congratulations to Steenvreeter.
__
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo!
[EMAIL PROTECTED] escribió:
Hola, Eduardo
Eduardo Sabbatella wrote:
Take a look at:
http://sourceforge.net/projects/javago
I get a This project has not yet created any file
release packages. message at the mentioned URL.
In one of your recent posts you mentioned data
mining
I created the project javago in SourceForge.
(http://sourceforge.net/projects/javago)
I uploaded a bunch of base game classes, gtp, sgf,
gametrees, etc. And a full set of tests (around 200
tests right now).
The most interesting thing, the MC stuff is still not
uploaded. :-D (neither data
No, but soon I will publish to the public a Java Go
engine including a nice and elegant set of go base
classes.
--- George Dahl [EMAIL PROTECTED] escribió:
Does anyone know of any open source Go AI's written
in pure python?
Thanks,
George
___
Alternatively, I wonder if there is some theoretical
way to work it out?
What is the most extreme example of being behind
(either by X stones, or
by some percentage, such as Heikki's 50% above)
I think the bias comes as MCGO needs to finish the
game up to the last stone/point... Killing a
In my experience adding a captured stoned limit per
game biases the results. strongly.
The limit was a constant number. Perhaps it could be
good to define it as a function of current move
number.
In UCT-Suzie I stop also when one side has a big
material advantage
(captured much more
game biases the results. strongly.
In which direction?
I was comparing my engine with GNUGO 3.6 level 1.
It looses more frequently.
I don't make any tests for the first 20 moves.
Thereafter, I resign if
- I have no stones left on board
- I have less than half the number of stones my
My condolences.
--- Nick Wedd [EMAIL PROTECTED] escribió:
I was very sorry to hear of the recent death of
David Elsdon.
I met David over ten years ago, when he was a member
of the Go club here
in Oxford, England. He was also working on his
Go-playing program,
written in Prolog.
My thoughts about average moves is directly related to
the move selection algoritm you use.
Using totally random move generator, I'm sure
everybody should get the same average of moves.
But using diferent heuristics in order to get not 'so'
random moves (i.e. ataries getting double possibility,
--- Jacques Basaldúa [EMAIL PROTECTED] escribió:
I wouldn't understand anyway. I never understood the
need of
Java, much less that of an incompatible clone. I can
For me, time/speed. I'm a full time worked, I can't
affort the X3 or X5 time I will take coding it on
C/C++. Also, I work
I'm downloading it. Its slow.. 100mb.
Please give us some information about it. I would be
glad to now more about it.
Perhaps you can put it on CGOS or KGS.
Many thanks,
Eduardo
--- $B5H0fM5?M(B [EMAIL PROTECTED] escribió:
Hello,
I'm Hiroto Yoshii.
I developed a new Go program Grid
I like the idea, only two thing:
- how do you compare 'similar' boards. This is the
tip of the iceberg.
- You should update the population based on
confidence.
Why do you want 1000 rules ? perhaps 200GB of rules is
better. ;-) (I couldn't get time to try my idea of a
big big big hash)
Yours
nodes will contain information
that will not guide the search in that path (the
normal UCT/MC way of work.)
--- Stuart A. Yeates [EMAIL PROTECTED] escribió:
On 3/8/07, Eduardo Sabbatella
[EMAIL PROTECTED] wrote:
Why do you want 1000 rules ? perhaps 200GB of
rules is
better. ;-) (I couldn't
Regex'like, pattern maching, a lot have been done on
this direction. The most complex pattern db / engine
is not good enough to beat the modest, simple MC
engine.
I'm sure you have some secrets under you arm ;-)
Fair enough
--- Stuart A. Yeates [EMAIL PROTECTED] escribió:
On 3/8/07, Eduardo
Wow!
Looking at this (5 minutes) I looks very promising,
isn't anymore about hacking with the video card.
It have an api, processing model, architecture model,
nice looks good, very good.
So Nvidia is going to sell neo-coprocesors now?
:-)
--- Joshua Nye [EMAIL PROTECTED] escribió:
Has
It would be nice to have a reference implementation.
I can do that on Java (yes Its not C but its reference
implementation and for free, I would do a lot of
JUnits in exchange).
What do you think ?
--- £ukasz Lew [EMAIL PROTECTED] escribió:
Hi,
There are some issues that are not so well
Just an small thought
GTP could implement async commands. Adding commands
like:
CHAT
ABORT
etc.
Its up to the engine to read them as soon as possible,
or wait to read/process them after processing a
get_move command.
I think just adding a couple of new commands that some
engines could
Don,
Perhaps I'm completelly wrong, but pondering is up to
the engine, the controller, nobody outside the engine
will know / have to know if the engine is pondering.
I think in the threads we are confusing the fact that
the engine and the gtp line controller could be in two
different process
. This is a problem
because genmove is
usually not quick to return. Therefore, there is no
way with the current
scheme to be able to issue commands while an engine
is thinking. It would
require a redesign perhaps using polling instead if
GTP is to remain
blocking.
On 3/5/07, Eduardo Sabbatella
Also sometimes it scales but not lineal, thats an
issue to. A big one.
Like raw MC, you can get a very good move with less
than 70k simulations, to get a really good move
perhaps you need 400 billons.
I remember there is a paper about this with a 'oracle'
MC engine and they used it to compare to
if you are currently searching and so is ignored
if
you happen to have stopped at almost the same
instant you recieved the command.
- Don
On Mon, 2007-03-05 at 09:08 -0300, Eduardo
Sabbatella wrote:
Just an small thought
GTP could implement async commands. Adding
Perhaps someone wants to implement MC algoritm in a
small processor and create am array of PICs or
something running MC. :-P (some really cheap PICs runs
up to 200mhz these days...) or those programmables
chips GPUs? I don't remember the name.
MPMC = Massive Parallel Monte Carlo
:-)
--- Richard
interesting question may be how to efficiently free
memory from
entries that become irrelevant in the continuation
of a game (after
the actual moves made have ruled out portions of the
full game-graph),
but this is probably not an issue in the context of
the original
poster's question.
I'm talking about a transposition table storing
win/played values (MC interested values.).
If this ratio becomes tooo low (ex, win ratio below 1%
with 10 games confidence), you can be sure you can
delete all the game tree after this move. All the
transposition tables following this move.
I
://en.wikipedia.org/wiki/Cuckoo_hashing
also.
Lukasz
On 1/19/07, Eduardo Sabbatella
[EMAIL PROTECTED] wrote:
Right now my two main concerns are about:
1) feasability, perhaps even prunning with UCT for
storing usefull games, no more than 5 ply can be
stored on nowadays memory constraints
PROTECTED] escribió:
On Fri, 2007-01-19 at 11:33 +, Eduardo
Sabbatella wrote:
If this ratio becomes tooo low (ex, win ratio
below 1%
with 10 games confidence), you can be sure you
can
delete all the game tree after this move. All the
transposition tables following this move
simple and very fast. Even with only 256 MB of
memory
I have plenty for a pretty long search.
- Don
On Fri, 2007-01-19 at 13:09 -0300, Eduardo
Sabbatella wrote:
I see your point.
I was thinking that after X simulations,
transposition
table could be made 'persistent'. Not before
It seems that you GTP implementation doesn´t implements the
command final_score.
About the passes. I found that pass move is not sent by twogtp.py to the
other player.
So, from a black player point of view, you will receive: genmove black, you
will process and return your move. If you
On Friday 12 January 2007 16:16, Chris Fant wrote:
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,
Hello,
I was thinking about this a few days ago and I decided I will try the
following:
When the engine is searching for best moves there is a game path of 3, 4 or
up to 10 moves that the engine have found to be the best moves so far.
0) Before start the search, based on total available time,
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.
If you think so, go and try it! Its quite important to
know that.
You can play a game with some dan level at
http://itsyourturn.com/
Would you like to share some experiences on tunning up
Java code ?
Yesterday I left my machine profilling the code.
(takes ages with TPTP).
I didn't research too much the results, but as far I
could see, creating objects is almost FORBIDDEN.
The clone method on game class which is used for
C++ should be good. But take it with double care. I
would code a lot of unit tests. If test driven
development is followed, I suppose it will be a good
piece of software, and, at the end of the day, a pro
product.
Test Driven Development, regression tests, profilling,
code coverage, I would
Perhaps your comment is related to something i write
before.
I was not talking about the expressiveness of java
language. In that sense, Ocaml, Lisp, SmallTalk are
far, far away from Java.
Java is a C (almost C++) with garbage collection,
bound checking and variable initialisation. (its a lot
Also, my data shows that if I doubled the time
allowed for playing,
thus using the time gained from faster execution
for doing deeper
lookahead, the results did not improve, but actually
got worse.
Sorry for not adding nothing to usefull to the thread.
But I found this comment very
I'm a full time worker. Before starting my engine (a
couple of months ago) by 3rd or 4th try. I concluded
this:
It will be impossible for me to do anything in C, C++
because I will have to focus on not having memory
leaks, range errors, etc.
My engine nowadays is winning agains gnugo on lower
But...
Which evaluation function for alfa-beta pruning?
Perhaps I'm missing something, but alfa-beta pruning
implies not perfect solution at all, because
evaluation function is not perfect.
--- Don Dailey [EMAIL PROTECTED] escribió:
Start with the low hanging fruit.You haven't
44 matches
Mail list logo