Re: Re:[computer-go] Time Control for the new CGOS
On Tue, Mar 27, 2007 at 08:43:23PM -0400, Don Dailey wrote: On Tue, 2007-03-27 at 16:02 -0700, Christoph Birk wrote: On Wed, 28 Mar 2007, Heikki Levanto wrote: P.S. How about starting a new round when (say) 75% of the players are free? That introduces a bias towards pairing faster programs against each other. I've really struggled with this one. In the end, scheduling is far easier and has far less side effects if I make them discreet. [...] A little analysis shows that this does not decrease the playing rate much at all for programs that use most of their time. For the really fast programs, you will clearly get scheduled less often. I usually make decisions, where there is an issue, in favor of the stronger programs as long as it doesn't introduce gross unfairness to the weaker programs.In this case I don't want to introduce a scheduling algorithm that encourages random players to play zillions of games. Fair enough, it was just a lose thought - Heikki -- Heikki Levanto In Murphy We Turst heikki (at) lsd (dot) dk ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
RE: [computer-go] Time Control for the new CGOS
From: Don Dailey [EMAIL PROTECTED] I am considering to change the time control when I change over officially to 5 minutes instead of 10. 5 minutes seems more than adequate for the Monte Carlo programs which play quite strongly even at 2 minutes per game. Hello all, I prefer very short time controls, like 1 or 2 minutes for 9x9 and 5 to 10 minutes for 19x19, to obtain faster testing speeds. Isn't it true that most of us will test our (MC based) programs against opponents with fast time controls to get an accurate rating fast enough? And if so, why not extending this fast rates to CGOS? Just my thoughts, maybe I am wrong about what others do. What do the other readers think of this? Edward. _ Geen zin in typen? Praten gaat makkelijker. Nu GRATIS bellen! http://get.live.com/messenger/overview ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
RE: [computer-go] Time Control for the new CGOS
On Wed, 2007-03-28 at 12:25 +0200, Edward de Grijs wrote: From: Don Dailey [EMAIL PROTECTED] I am considering to change the time control when I change over officially to 5 minutes instead of 10. 5 minutes seems more than adequate for the Monte Carlo programs which play quite strongly even at 2 minutes per game. Hello all, I prefer very short time controls, like 1 or 2 minutes for 9x9 and 5 to 10 minutes for 19x19, to obtain faster testing speeds. Isn't it true that most of us will test our (MC based) programs against opponents with fast time controls to get an accurate rating fast enough? And if so, why not extending this fast rates to CGOS? Just my thoughts, maybe I am wrong about what others do. What do the other readers think of this? Edward. One has to strike a balance. CGOS isn't just for pure testing, it can be used to test algorithms that may require time to be realized. Or it can be viewed as a competition like a ladder. Also, the server will be visual soon, allowing users to watch games while they are being played. In this case if the games get too fast they are difficult to digest, at least for weaker players like myself. The quality is also affected by the time control and I think it's desirable to raise the quality of the games. There are many programs which could maintain a 1 minute time control, and these programs would particularly benefit (from a competetive point of view) from faster time controls and scalable algorithms would suffer accordingly. So there are pro's and con's to any time control we might consider and we should strike a reasonable balance. In some sense any time control is arbitrary - but we end up choosing time controls that are comfortable from the human point of view - in other words a human would feel relatively comfortable playing the time control - even though it's our programs playing! But I think that's good since most people develop their programs with the potential goal of playing against people. - Don _ Geen zin in typen? Praten gaat makkelijker. Nu GRATIS bellen! http://get.live.com/messenger/overview ___ 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/
Re: [computer-go] Time Control for the new CGOS
Hi, regarding time controls and the impossibility to please everyone, I'd like to make a suggestion: Let the engines specify a preferred time control and use a scheduler that takes that into account (as a strong recommendation). For example if there are two engines wanting to play at 10 minutes, pair them with higher probability. There could be just a few predefined time limits, maybe 5, 10, 15 minutes for 9x9. IMHO this would be better than using a different server for each time limit or than changing the time limit at intervals (although having a one week rotation between 5 and 10 minutes seems ok). Of course, the scheduling algorithm becomes more complex and it may not be as fair. On the other hand, it may not be very important to achieve fairness on a short scale as long as it is fair enough over a longer period of time. just my 2c best regards, Vlad ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
[computer-go] CGOS GTP
One of the features I want to put into CGOS involves a new gtp command to inform the program of the opponent, game number, etc.I have not decided on the format of this new gtp command and it will of course not be required that you implement it.I will have to read the standard to see if there is already something in place. Any suggestions?Basically I want to inform the program via gtp of the game number and the identity of the black and white players. The name of the players will be in the name(rating) format. I'm thinking something like cgos_pair gameID white black and it would only be sent if the known_commands indicates that it is supported. - Don ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Suppose we had a go problem server?
On a related note, does anyone know of a collection of games, boards or positions with moves annotated with their weights (a la Mathematical Go[1]) ? Or even a format for representing games which allows reliable annotation of the same? cheers stuart [1] http://math.berkeley.edu/~berlek/cgt/gobook.html On 3/28/07, Sanghyeon Seo [EMAIL PROTECTED] wrote: 2007/3/26, Jason House [EMAIL PROTECTED]: There are some freely available regression test suites. Two come to mind: * computer go test collection 2.0 * The regression suite available in gnu go There's also STS-RV, a comprehensive test suite for capturing races. STS-RV stands for Semeai Test Suite by Ricard Vilà. http://gobase.org/reading/preview/Semeai/ -- Seo Sanghyeon ___ 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/
[computer-go] Computer Go with .NET/Computer Go in Argentina
Hi people! I was lurking in this great list, for years. Thanks to all for your sharing of knowledge, this list is a great resource. I'm a software developer from Argentina, South America. I'm preparing an speech about Computer Go, for the Second Congress of Go in Argentina http://www.go.org.ar/page.php?name=congreso2007 (Spanish page) Now, two questions: - Any resources about Computer Go using .NET? The only resource I found is the Grid Cosmos implementation (download from http://go.rintaun.net/Grid_Cosmos_Ver.1.02.zip) - Any developer from Argentina (or Spanish-spoken) working in Computer Go? We have a Yahoo Groups in Spanish at: http://ar.groups.yahoo.com/group/computergo Again, all your resources, pages, links, comments, blogs, great help for my speech, and work on Computer Go! Thanks! (Anyone interested in the result of the speech, I'll publish the presentation, links to resources, in my blogs, I suppose next week). Angel Java Lopez http://www.ajlopez.com/ http://www.msmvps.com/lopez http://ajlopez.wordpress.com/ (I apologize my non-standard-English... Me Tarzan... :-) ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Computer Go with .NET/Computer Go in Argentina
In message [EMAIL PROTECTED], Angel \Java\ Lopez [EMAIL PROTECTED] writes - Any developer from Argentina (or Spanish-spoken) working in Computer Go? We have a Yahoo Groups in Spanish at: http://ar.groups.yahoo.com/group/computergo Joan Pons i Semelis is Spanish and has written a Go-playing program called Turtle. I haven't noticed any activity from it recently. Nick -- Nick Wedd[EMAIL PROTECTED] ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Computer Go with .NET/Computer Go in Argentina
On 3/28/07, Nick Wedd [EMAIL PROTECTED] wrote: In message [EMAIL PROTECTED], Angel \Java\ Lopez [EMAIL PROTECTED] writes - Any developer from Argentina (or Spanish-spoken) working in Computer Go? We have a Yahoo Groupsin Spanish at: http://ar.groups.yahoo.com/group/computergo Joan Pons i Semelis is Spanish and has written a Go-playing program called Turtle. I haven't noticed any activity from it recently. I am Spanish too, and I wrote dimwit, together with John Tromp. Álvaro. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Time Control for the new CGOS
Is 10 minutes a standard and if so it is standard for 19x19 or 9x9? For 19x19 I find it a little too fast. I would prefer fastest: 4 sec/move (x240 moves) = 16 min slowest: 30 sec/move (x240 moves) = 2 hours I would like to try both. Usually fast because, as you pointed, you get useful results earlier, but maybe one week each month, slow. 240 moves is above the average length of a 19x19 game. In my 50K games database it is 212 and games ending before move 100 were removed, but among weak programs it is low. Darren Cook wrote: That summarizes my main argument against short time controls: it limits the choices for experimentation so to meet time controls everyone will end up running very similar MC programs. With more time people have some breathing space to experiment with new ideas and intelligence. I agree even if MC can make very good usage of extra time, it is not the only approach that does. As said, doing *both* is also an option. Jacques. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Help me test CGOS
Hellwig Geisse wrote: I just finished the translation of the old TCL script cgosGtp.tcl to plain C . . . Thanks Hellwig . I will try your program tomorrow. I prefer hacking C than tcl because its more transparent. I see what the tcl sends, but I don't know what details it may hide, and these things often result in a lot of wasted time. This is nothing against tcl, it is just that I don't like learning new languages I don't need ;-) Jacques. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Help me test CGOS
On Tue, 27 Mar 2007, Don Dailey wrote: Would it be possible to publish a little library for others in C? I will have a place on the main page to download goodies like this. Here is the code I am currently using. Christoph /* -- * * cgos.c - client.c * * 2006-09-05 Christoph C. Birk ([EMAIL PROTECTED]) * CGOS (cgos.boardspace.net 6867) interface * 2007-03-26 modified for new CGOS * * CGOS(pseudo-server) - Client - Engine(server) * * -- */ /* * the engine calls 'cgos_run()' in a loop like this: do { i = cgos_run(goban,host,port,myName,myPassword); if (i) sleep(30); } while (i != 0); */ /* -- */ #ifdef NDEBUG /* release version */ #define DEBUG 0 #else #ifndef DEBUG #define DEBUG 1 /* debug level */ #endif #endif #define USE_CGOS3 /* use new CGOS protocol */ /* INCLUDEs - */ #include stdlib.h /* atof() */ #include stdio.h/* sprintf() */ #include string.h /* strlen(),memset() */ #include time.h /* time() */ #include unistd.h /* close() */ #include fcntl.h/* fcntl() */ #include sys/types.h #include sys/socket.h #include sys/uio.h #include netdb.h/* getprotobyname() */ #if 1 // my stuff #include gutils.h #include evaluate.h #endif /* DEFINEs -- */ #define PING_TIME 20 /* old CGOS only */ #define TOKSEP \t /* EXTERNs -- */ extern intnsims; /* function prototype(s) */ extern move_t genmove_1 (Goban*,int); /* STATICs -- */ static int cgos_sock=-1; /* function prototype(s) */ static int cgos_connect (const char*,u_short,const char*,const char*); static void cgos_disconnect (void); static int cgos_receive (char*,int); static int cgos_send(const char*); static int read_byte(int,char*,int); /* -- */ int cgos_run(Goban* goban,const char* host,u_short port, const char* name,const char* pass) { inti,r; time_t next_ping,last_game,max_time=600; char buffer[1024],*p; r = cgos_connect(host,port,name,pass); if (r 0) return(-1); last_game = time(NULL); next_ping = last_game + PING_TIME; do { r = cgos_receive(buffer,2000); if (r 0) break; if (r == 0) { #ifndef USE_CGOS3 if (next_ping) {/* send ping ? */ if (time(NULL) next_ping) { cgos_send(ping); next_ping = time(NULL)+PING_TIME; } } #endif } else if (!strncmp(buffer,newgame,7)) { int d; float k,t; /* old CGOS */ if (sscanf(buffer,newgame %d %f %f\n,d,k,t) == 3) { komi = k; time_left = t; max_time = (int)t; } #if 1 // todo issue GTP commands here goban_init(goban); goban_show(goban,buffer); #endif last_game = time(NULL); next_ping = 0; } else if (!strncmp(buffer,setup,5)) { int id,d,t0; float k; /* new CGOS */ if (sscanf(buffer,setup %d %d %f %d,id,d,k,t0) == 4) { time_left = (float)t0/1000.0f; max_time = (int)time_left; } #if 1 // todo issue GTP commands here goban_init(goban); goban_show(goban,buffer); #endif last_game = time(NULL); } else if (!strncmp(buffer,genmove,7)) { move_t move; /* genmove b 108584 */ #ifdef USE_CGOS3 for (i=1,p=strtok(buffer,TOKSEP); i3; i++) p=strtok(NULL,TOKSEP); if (p) { time_left = (float)atof(p)/1000.0f; #if (DEBUG 0) fprintf(stderr,time_left= %.1f\n,time_left); #endif } #endif #if 1 // todo issue GTP commands here move = genmove_1(goban,nsims); goban_play_move(goban,move); goban_show(goban,move_string(move)); #endif cgos_send(move_string(move)); } else if (!strncmp(buffer,play,4)) {/* play w B8 93827 */ for (i=1,p=strtok(buffer,TOKSEP); i3; i++) p=strtok(NULL,TOKSEP); if (p) { #if 1 // todo issue GTP command here goban_play_move(goban,str2move(p)); goban_show(goban,p); #endif } else { fprintf(stderr,%s: unrecognized move\n,__FILE__); } } else if (!strncmp(buffer,time,4)) {/* old CGOS only */ for (i=1,p=strtok(buffer,TOKSEP); i3; i++) p=strtok(NULL,TOKSEP); if (p) { time_left = (float)atof(p); #if (DEBUG 0) fprintf(stderr,time_left= %.1f\n,time_left); #endif } } else // todo 'gameover
Re: [computer-go] CGOS GTP
On Wed, 28 Mar 2007, Don Dailey wrote: One of the features I want to put into CGOS involves a new gtp command to inform the program of the opponent, game number, etc.I have not decided on the format of this new gtp command and it will of course not be required that you implement it.I will have to read the standard to see if there is already something in place. Any suggestions?Basically I want to CGOS does no speak GTP. It uses your own protocol that already sends this information. Christoph ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] CGOS GTP
On Wed, 2007-03-28 at 13:44 -0700, Christoph Birk wrote: On Wed, 28 Mar 2007, Don Dailey wrote: One of the features I want to put into CGOS involves a new gtp command to inform the program of the opponent, game number, etc.I have not decided on the format of this new gtp command and it will of course not be required that you implement it.I will have to read the standard to see if there is already something in place. Any suggestions?Basically I want to CGOS does no speak GTP. It uses your own protocol that already sends this information. Well, I think CGOS in this case means the CGOS client, which indeed does speak GTP. But you are right, this need not be specified by Don - but if he doesn't, everybody will invent his own way to get this information to the engine. Hellwig ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Help me test CGOS
That's awesome if you have a cgos client in C, I would be happy to post the source code and/or binaries. I warn you however, the protocol may change - I have not finalized it. Although it's not likely anything major. - Don On Wed, 2007-03-28 at 19:56 +0100, Jacques Basaldúa wrote: Hellwig Geisse wrote: I just finished the translation of the old TCL script cgosGtp.tcl to plain C . . . Thanks Hellwig . I will try your program tomorrow. I prefer hacking C than tcl because its more transparent. I see what the tcl sends, but I don't know what details it may hide, and these things often result in a lot of wasted time. This is nothing against tcl, it is just that I don't like learning new languages I don't need ;-) Jacques. ___ 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/
Re: [computer-go] CGOS GTP
On Wed, 2007-03-28 at 13:44 -0700, Christoph Birk wrote: On Wed, 28 Mar 2007, Don Dailey wrote: One of the features I want to put into CGOS involves a new gtp command to inform the program of the opponent, game number, etc.I have not decided on the format of this new gtp command and it will of course not be required that you implement it.I will have to read the standard to see if there is already something in place. Any suggestions?Basically I want to CGOS does no speak GTP. It uses your own protocol that already sends this information. But the client DOES use GTP to speak to the engine. The idea is that your engine might want to have information about the opponent. The way Lazarus will use this is to put this information in it's own log files. When I'm browsing the logs of Lazarus I have no idea how to locate the actual game or who the opponent is, but with this you can. Of course you are free to not use this system but I felt that it would be useful to programmers. - Don Christoph ___ 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/
Re: [computer-go] Help me test CGOS
On Wed, 2007-03-28 at 17:49 -0400, Don Dailey wrote: That's awesome if you have a cgos client in C, I would be happy to post the source code and/or binaries. Yes, this is a cgos client in C, but only for the old protocol yet. You can download the source from http://homepages.fh-giessen.de/~hg53/go/cgosGtp.tar.gz Please feel free to do with it whatever you want. I warn you however, the protocol may change - I have not finalized it. Although it's not likely anything major. That's the reason I wanted to wait a little bit until I start to translate the new client to C. Hellwig ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] CGOS GTP
On Wed, 28 Mar 2007, Don Dailey wrote: But the client DOES use GTP to speak to the engine. The idea is that your engine might want to have information about the opponent. The way Lazarus will use this is to put this information in it's own log files. When I'm browsing the logs of Lazarus I have no idea how to locate the actual game or who the opponent is, but with this you can. I did not object to CGOS sending out this information, I actually like it. Christoph ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
[computer-go] Mechner Page
Hi people! Today, I can't find the pages from http://www.cns.nyu.edu/~mechner/ Days ago, the Mechner web pages were available what happens? A new URL? Another address? PS: Thanks for the .NET info, and Spanish developers Angel Java Lopez http://www.ajlopez.com/ ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Mechner Page
You can try http://www.mechner.com/david/compgo/ - Original Message - From: Angel Java Lopez To: computer-go Sent: Thursday, March 29, 2007 6:45 AM Subject: [computer-go] Mechner Page Hi people! Today, I can't find the pages from http://www.cns.nyu.edu/~mechner/ Days ago, the Mechner web pages were available what happens? A new URL? Another address? PS: Thanks for the .NET info, and Spanish developers Angel Java Lopez http://www.ajlopez.com/ -- ___ 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/