Sunday, August 26, 2007

Busy getting life straightened out

Finished all my classes and everything. Just waiting on my grades...

While I'm waiting for that, let's roll out some more quotes!

Hikaru fever:

Cy: It's embarrassing to play someone with a name from Hikaru no Go
Nyanjilla: just think how much more embarassing it must be to _be_ someone with a name from Hikaru no Go
maladroit: Why Cy?
Cy: I just can't take them seriously
GrandYan: Er, you better.
GrandYan: IMagine how embarassing it would be to _lose_ against someone with a name from Hikaru No Go.

Dreaming of Hu:
GameFAQs: Woah, I had a dream I had Hu's cell phone number and kept calling him up and chatting with him.
GameFAQs: Also, he was listed as "Super Hu".
Pwnage: i had a dream where Hu died horrible deaths

Making fire:
GOMASTER08: nobody is accepting my matches
Javaness: Please do not play with matches
dsaun: i hope javaness realizes there is an account of a player "Matches" :)
Lighter: yeah
Lighter: you can play with me instead

Sunday, July 29, 2007

Buffer overflow

Nothing related to programming... just my buffer of quotes has been filled up. Let's empty that out right now!

That's heavy:

stoner [2d]: that's a pretty heavy looking shape for w
holynec [?]: tell me the weight please
Ksero [11k]: google says that six stones = 38.1017591 kilograms

Poker meets go:
Igomind [4k]: in poker this is called all win
Onsakamaru [10k]: igomind, you mean "all in"?
craig [4k]: in poker this is pot committed
almost [6d]: in poker this is called dead
flyingfox [6d]: in poker this is called drawing dead
MXHero [3d]: i like just dead more =D

During HappyGuy's game:
uppsala [?]: i wonder if w is still happy
EiNaRi [?]: i was wondering the same :)
tianren122 [4k?]: he might be sad:(
kigwsg [?]: someone said that he couln't be happy with his face :/
yukimura11 [3k]: according to se he is happy
lightning [?]: perhaps he wants to lose

Define 'too greedy':
tiffiny [1k]: interesting game. The lesson is "Don't be toooo greedy".
imanoob [?]: "Be greedy but not too greedy" ?
MacronDiet [5k?]: that's right, if u find 50 dollars on the floor, just take 20 and leave the rest behind. It's not good to be too greedy
Timjami [3d]: meh.. don't really think taking 20 dollars out of 50 is greedy
Timjami [3d]: taking the 50 is greedy, taking the 50 and looking for more is too greedy :P

Saturday, July 21, 2007

bot progress

I decided I'll call the bot engine goosetrapr.

You can break it down into Go, OS and an anagram of reptar. Hopefully it'll be able to trap geese by the time it's finished.

I ended up procrastinating, but the last couple nights have been great. It now supports enough of the go text protocol to be able to play on KGS. Took me a while to plan out how that was written. I'm going for elegance, and I gotta say the code's real purdy with them templates and such. I'm also writing in a language I've never, before Tuesday, even heard of. The language is fairly new, but really clean.

I'm going to work on it some more before I start running it on KGS. Right now it's just a random bot like SimpleBot used to be. I'll be adding at least scoring capabilities before I put it on KGS. Threading should be really simple with the way I planned everything out, so Monte Carlo shouldn't be too far away.

Monday, July 16, 2007

Manego with 6 Chinese Handicaps

Six (6) months ago, I played a game with Carcer (whose blog is now linked to on the right) with six Chinese handicaps to show that manego (or mirror-go) cannot be beaten. A lot of things were tried in that game, including sacrificing a whole ton of stones to play under them. Nothing worked. A few hours after that game, I found out I was wrong. It's been a while, but I recently recalled the solution and here it is:

Looks intimidating, doesn't it?


Here's the proposed 'cannot be beaten' manego.

Still looks intimidating, doesn't it?


What we'll do is take advantage of Black's existing stones. Anything that turns out differently for both sides playing mirrored moves is a step towards breaking mirror go. In this case, we force Black to capture a stone with just three (3) moves.

Giving a second stone? Really?


Same thing here. We force Black to capture another stone with just three moves. Where are we going with this?

Aha! It's broken! ...


Yes! We have what we want! Black cannot play another move to keep a mirrored board! ... or so we think...

Ah zut! (darn in French)


Black has yet to play the traditional tengen which starts the manego, so he can play it now. What to do?

Try and try again


If it worked before, it'll work again. This time we let Black capture two (2) stones with four (4) moves, while White captures one (1) stone with the same moves. We'll repeat this process again in the next diagram:

Finally broken!


Yes, this time it is finally broken. Other than a pass, which I consider illegal in a real unfinished game of go, Black has no move to keep the board mirrored. Black will have to think for himself.

Aftermath


Analysis? It's not as pretty for White as breaking less than six stones manego. He doesn't get to capture tengen. So I'd say Black's mirror go certainly paid off. White must do this sequence early in the game because it does take this many moves to break it. (As far as I can tell.) Considering this is a six handicap game, White might be able to come back, because this isn't a lopsided board. These moves are forced, and that's nearly a sixth (1/6) of the game already played, so Black should feel good; he's managed to keep ahead. In most 6hc games, Black will lose a lot of his advantage in the opening. Black ends here in sente, covering the center of two thirds (2/3) the board. Where would I play from here? One of the star points on the sides, not the corner. This helps get into White's side and marks out a huge portion of territory for himself on the sides. The corner is really not that big now with that mass in the middle.

White's battle is tough, but he can do it if the difference in strengths really is six stones.

Note that this solution works for eight (8) Chinese handicaps of similar configuration. In that case, Black would instantly lose two stones because he'd end up with the same result as these six handicaps.

btw: five (5) and seven (7).

Update: I just had to look... sensei's has a better solution. Look all the way at the bottom for the 6hcp example. In the solution, you kill the six handicap stones too!

Sunday, July 08, 2007

reptarbot theDinobot

I hate bots with a passion. For trying to improve your game, I mean. Nothing wrong with a bot trying to improve though. It seems there was a recent boom in the go bot programming industry. I see a lot of new original bots popping up.

I've ran a bot on KGS before. It was called reptarbot theDinobot. It was just a modification of GNUGo. Lately I've been putting a lot of thought into the design of a bot, so I think I might just start writing one from scratch.

I'll probably start with a random bot, just so I can get the gtp (and kgs-gtp) protocol implemented properly. I'll probably keep the randomness and start off with a Monte Carlo implementation. They're very popular these days. Mogo and CrazyStone are based on MC and they seem to be performing better than the knowledge-based GNUGo. MC should be very simple to implement -- at least that's what I've read.

Once I get a reasonable bot, I'll probably write an interface for it, just to get the hang of Cocoa. They will be separate programs, so that the bot itself can be distributed to non-mac os x platforms. I probably won't use the gtp protocol between the bot and the interface, because I want to be able to see a little more than what the protocol allows.

Anyway, after that I'll develop multi-threading so it can take advantage of multi-core processors... or I might start off with a multi-threaded bot.

The main thing I want to do with the bot is to make it learn on its own from the rules I program in. I don't want to give hints, I want it to find patterns on its own. This is the part I'm putting the most thought into at the moment.

Should be fun. If I don't procrastinate, I expect the random bot to be up by next week.

Few more oldies

Yes, he did say that! (encore):

Li [-]: I'm a murderer

Should have used the 50/50:
Move 225
gullon443 [15k]: white won so far
Move 247
gullon443 [15k]: white lost
Game Over
googlebear [2k]: w won 10 pts
Timotei [4d]: lol, pronouncing the wrong side won 6 moves before the finish = priceless

Empty triangle:
Kscnoko123 [5k]: bad shape
Timotei [4d]: best shape
Timotei [4d]: guo juan: "empty triangle is often the right answer."
Kscnoko123 [5k]: Some players, even though empty triangel is the best move, would not play it because it looks bad.
Timotei [4d]: must be kyu player :)
Knotwilg [1d]: but many many players play it even though it's a bad move
Game Over
Kscnoko123 [5k]: empty triangle wins the game

Exclaim!:
GoHappy: Go to the Challenge game room everybody!!!!!!!!!!!!!!!!!!!!!
NateC: What's in it for me?
idigo: an exclamation point

Saturday, July 07, 2007

Getting through the SR MBP teething phase

I do like the new macbook pro and the whole mac os x thing (I wrote a small cocoa application already!), but there are some issues with it. The caps lock key dies every once in a while. The key itself doesn't work at all. It doesn't worry me because I never use caps lock for anything but as an extra key I can bind to in a game. I can imagine uses for it though, so it bothers me a bit. Funny thing is that it does come back every once in a while. Seems like when the mbp runs hot, the key seems to work. Not sure why that is...

Another issue is the keyboard sometimes needs to warm up before it decides to take my key press... meaning the first key press sometimes gets lost when switching from mouse input to keyboard input. I don't know if this is specific to this mbp or whether it's normal mac os x behaviour. This is the behaviour more often than not, but sometimes it does take my first key press...

The final issue is the wireless signal just dropping. I just noticed it tonight, but I don't know if it's happened before. It's happening very frequently now. I have to turn the airport off and on again to get it back. It seems a lot of people have the same issue with the santa rosa mbps, which is what I have. A discussion post is here. I don't actually get kernal panics like some of the people posting on that thread, but I think it's the same problem. The signal display indicates full strength, but I can't communicate with the router at all.

The wireless is really the only serious problem. It's clearly not a hardware defect since there are so many people with the same problem (some of those people have had their mbp replaced four times and still have the same problem). Hopefully Apple will release a patch sometime in the near future. The other problems I'll try to get resolved when I have time to take it to a genius bar. My friend advised me to get the AppleCare Protection Plan, which extends support to three years. So I'll get it fixed sometime in that timeframe.

Update (July 10, 2007): I think I fixed the wireless problem by switching the DTIM value in the router from 1 to 99. A good explanation of DTIM is here. So far the wireless hasn't dropped once since switching it last night. 99 does seem noticeably high, so I guess I'll keep tinkering with it.