Shaun's Updates This is where I’ll be posting all my updates to my bots. Stay Tuned! November 26th 2008: After a long and painful term of working, I decided to brush off GAL9000 again. I quickly put together a simple distance function for finding the distance from edge of the board and assigning it a relative weight. Currently I’m working on getting an influence board. So far it works, but is computationally intensive. (I’m using Bouzy’s 5/21 algorithm, and brute-forcing most of it) But I’m not worrying about computational time… yet. I’ll wait until I’ve got it assigning weights to moves based on the influence first. August 17th 2008: Well, with much thanks to another profitable coding session with Dan and Rob, GAL9000 is now communicating with the server in Winblows!! Which is rather fantastic because it allows me to test out GAL9000 at home! Yay! In other news, I’ve also implemented basic groups, liberties, and now have a move selection process with differing weights associated to them. Lots of good stuff. (I actually managed to beat RGB by 6.5 stones!) [DISCLAIMER] Rob has pointed out that RGB beat GAL9000 by close to a hundred stones in many other games. =P [/DISCLAIMER] Lots still to do. The things I’d like to do are: - Changing the board model from a character array to two or more bit arrays - Modifying the group and liberty functions to do groups with only one stone placement (IE not the whole board all at once) - Getting some sort of "influence" function EDIT: ZOMG! GAL9000 just beat AmiGoGtp by 7.5 stones!! EDIT2: OK, there’s got to be some sort of problem, because GAL9000 just beat AmiGoGtp by 66.5 stones… Oh wait. There it goes. GAL9000 just lost by 141.5 stones. =P June 30th 2008: Can’t seem to get the connection to work on Winblows. Here’s the error: ` D:\My Documents\Go\GAL9000>goclient.py –server ai.mindstab.net –guest GAL9000.bot –vs 0 Traceback (most recent call last): File “D:\My Documents\Go\GAL9000\goclient.py”, line 220, in spawnbot(bot["program"], bot["handle-net"], resps, resps, True) File "D:\My Documents\Go\GAL9000\goclient.py", line 88, in spawnbot pid = os.spawnlp(os.P_WAIT, "./gtp2ip.py", "./gtp2ip.py", "--program", program, "--ip", address, "--port", port, "--feedback") AttributeError: 'module' object has no attribute 'spawnlp' ` It appears that the python command "spawnlp" is not available in windows. Looking for a suitable replacement. Theobon - Look at the new http://docs.python.org/lib/module-subprocess.html Sub-process module. It is supposed to replace spawn* and popen* and be more cross compatible. I’ll try and convert to code when I get a chance. June 27th 2008: Hooray! With much thanks to Dan, Theo, and Pat’s laptop, I got GAL9000 communicating with the server! He lost pretty badly, but now we’re in the races! Now to teach GAL9000 to remove stones… June 23rd 2008: Fixed the GTP problem - I was stupidly printing out some debug statements. D’oh! However, I’ve discovered a new problem, unbeknownst to me. First, the board was upside down, then it was giving the wrong colours, but now it won’t remove stones (and I’m not entirely sure it ever did). I might need to re-program my board model, because I wrote it last year, and it’s really confusing. (Plus I’m too used to programming on the gigantic screen at work, compared to this tiny screen at home =( ) Update: Said “screw it” and tried to launch the bot against the server. Gave me an error. =( June 22nd 2008: With much thanks to Theobon, I got gogui to work!! YAY! THANKS THEOBON!! However, I keep getting a malformed response back from GAL9000, so I’ll have to pick him apart to see where it’s screwing up. It says: “Text lines before the status character of the first response line are not allowed by the GTP standard. This error can probably be ignored, but could indicate a more serious problem with the go program blah blah blah.” Anyone else get this? June 15th 2008: Finally got GTP implemented, but ran into a major stumbling block. I can’t seem to get GoGui to run on Windows! It’s only got Mac and Unix installs, and nothing for Windows. Since it’s a Java application, you’d expect it’d be easy to run on windows, but I can’t seem to figure it out. Help! - Theobon - Try "java -jar gogui.jar [options] [file]" - Shaun - Thanks Theobon! It worked! And now I've got an executable that'll launch it up! May 30th 2008: Wow! Long time no update. Duhr. Been busy, yadda-yadda. I finally thought up a name for my gobot!! It’s going to be named GAL 9000, in honor of HAL 9000. But the more important thing is: I’ve got GTP almost working properly - the only command that doesn’t work is genmove! (Which is of course the only important one… oh well). Still hard at work! Well… still at work anyways… –Shaun 00:22, 30 May 2008 (PDT) January 8th 2008: Bah. Stupid GTP. Can’t seem to understand how to get working thingy. Blarg. Will try again tonight. –Shaun 13:36, 8 January 2008 (PST) January 7th 2008: I’ve got my board working! It currently keeps track of the current board state (history to come later), returns a move as false if the move is illegal - IE if it’s a suicide move (but will allow it if it captures pieces), captures pieces and keeps track of prisoners! YAY ME! Also, I’ve managed to get a random bot working, and a human bot! The random bot places randomly wherever it likes (unless the move is illegal), and the human bot provides input for a human to play masquerading as a bot! YAY! However, I haven’t yet started in on any of the actual communication to the server. I should do that at some point… Bad news: I looked through Computer Go: an AI Oriented Survey in the More links section. Ouch. Looks like my bots have a long way to Go… –Shaun 21:48, 7 January 2008 (PST) P.S. Get it? A long way to GO?