[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] blitz computer go (Re: Computer Go tournament atEGF)



Yes, the idea of being able to build up a time budget probably is best
as there is some forgiveness in the system.  It's possible to defeat
the system, but at great effort and risk of actually hurting the
program.   

There should be some feedback to the program, so that the program has
the option to make its own time budget considerations.  It would be
easy to send timing information with each move for instance.


- Don






   X-Original-To: computer-go@xxxxxxxxxxxxxxxxx
   Date: Fri, 11 Feb 2005 15:24:43 -0600
   From: William Harold Newman <william.newman@xxxxxxxxxxxxxxxxx>
   Content-Disposition: inline
   Reply-To: computer-go <computer-go@xxxxxxxxxxxxxxxxx>
   Sender: computer-go-bounces@xxxxxxxxxxxxxxxxx
   X-Spam-Score: -5.811
   X-Spam-Flag: NO
   X-Scanned-By: MIMEDefang 2.42

   On Fri, Feb 11, 2005 at 12:15:24PM -0500, Don Dailey wrote:
   > >   I think its a great idea.  I would participate in an internet
   > >   superblitz for sure (given enough warning to implement the chosen
   > >   protocol).  In order to not allow cheating by no-client-response
   > >   followed by "I lost my connection for a little while", you would just
   > >   have to have no exceptions to the 1-second rule (or whatever) and make
   > >   up for lost connections by playing multiple games, as you suggest.
   > 
   > I like this too but it seems almost unworkable since most internet
   > connections, even good ones, have some intermittent lags.  I don't
   > think the multiple game idea works, you could arrange to "lose your
   > connection" when your program finds itself in a lost game!

   The way I wrote it, I can understand why people thought that I meant
   no more than x time for any single move, so that any single move which
   used, e.g., 1.3x would lose. However, what I actually had in mind was a
   running total time of x per move, where you get to save the extra for
   future moves, so that if you play a sequence of moves in
     0.8x, 0.9x, 0.8x, 0.8x, 0.9x, 0.8x, 0.8x, 1.2x, 0.9x, ...
   you are still OK, despite the 1.2x anomaly in there. (I started with
   the idea of a minute or two total per game, and then backed off to a
   per-move time allowance because I didn't want to encourage programs
   trying to win by playing more moves per game than the opponent
   expected.) I think this approach of accumulating excess 
   would still make it pretty hard for a human to provide much useful
   input, while being much less vulnerable to modest amounts of lag.
   (Other schemes with similar tradeoffs are also possible: e.g.,
   as many as 6 moves with single move delay <=3x are permitted, but
   the rest must all be made with single move delay <=1x; or total
   time overrun over the entire game is bounded by 5x.)

   I would expect that on any Internet link clean enough that you can use
   it to carry a telephone conversation for two minutes with N% chance of
   avoiding noticeable glitches, you could play a game with x = running
   average of 0.5sec with somewhat more than N% chance of success. It's
   my impression that links with N>=95 are, if not exactly common today,
   at least not vanishingly rare. I expect even in a strange city I could
   find such a connection to elsewhere in the USA, if necessary by
   schlepping my laptop to someplace where twitch gamers hook up. (IIRC
   tolerable telephony delays are on the order of 0.3sec, while gamers
   get irritated with somewhat less than that, and AFAIK gamers'
   attention span hasn't fallen below 2 minutes yet.)

   > Even computers with sophisticated operating systems can "go south" for
   > a brief period of time doing disk access/bookeeping, running brief
   > system daemons, etc.

   True. I've even run into this from time to time, most recently when
   doing improvised bitbanging simulation of serial comms through a PC
   parallel port. And besides that I usually program in a system which
   pauses from time to time for nonincremental garbage collection. But
   again, I think a system which can handle telephony could probably
   handle a superblitz game as well. And, while on a typical system today
   it'd likely be a noticeable programming challenge (one which is
   overcome by the telephony people routinely, but not without effort),
   the challenge should become smaller over time.

   (I don't know how much effort would be involved, but I think at least
   one would want to avoid the usual TCP, and instead either use some
   clever protocol with different design priorities, or use the naive
   approach of spraying identical UDP packets every ten milliseconds for
   100 milliseconds, then praying.:-)

   -- 
   William Harold Newman <william.newman@xxxxxxxxxxxxxxxxx>
   "Programming should be fun, programs should be beautiful." -- Paul Graham
   _______________________________________________
   computer-go mailing list
   computer-go@xxxxxxxxxxxxxxxxx
   http://www.computer-go.org/mailman/listinfo/computer-go/

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