Tuesday, May 30, 2006

Mass Open 2006, Day 1

I found that even though they told me on the phone that wireless was complementary, it isn't. It costs about $10 a day. I'm not dying, so I'll at least avoid the temptation for today. It was a pretty good day, though I was really getting tired after the 1st round. Larry and I left at around 8:30 this morning, so I would say that I had about 7 hours of sleep. Not terrible, but apparently not enough.

So, what were the highlights today? Most of the excitement was during the 1st round. Walter Chesnut, who used to come to the chess club years ago when Sean ran it at the Hampshire Mall, is playing in the lower section. His first game I happened to be checking out when his opponent blundered away a piece. Being higher rated, his opponent was somewhat pissed. He slammed his piece down on Walter's clock to finish his move. Walter gave the guy a somewhat polite smack-down. After that the guy kept playing, though clearly not paying so much attention to the game.

Speaking of polite, when my opponent got into a difficult position and noticed he had just blundered away a pawn, he went into a 40-minute think. It was pretty freaking boring. I'd occasionally stop by and listen to him chewing on the strings of his sweatshirt. But mostly I just walked around watching other people's games. At one point this one guy had stopped by the game of one of his friends. Thinking that the game was over he started moving some ofthe pieces to show his "friend" what he saw. Guess what? Oops! The game wasn't over. The other player walked up and was pretty pissed! In the end, he continued the game anyway. I'm not sure what the result was of that one.

Finally the 40-minutes went by and my opponent moved. He was a young kid and really not that bad. It's just that when you're hanging around for 40-minutes you start to wonder if your opponent is so pissed that he's just going to run the clock down. That wasn't the case:

[Event "Mass Open 2006"]
[Site "Hotel Marlborough"]
[Date "2006.05.27"]
[Round "1"]
[White "James Shao"]
[Black "Edwin Borowski"]
[Result "0-1"]
[WhiteElo "1670"]
[BlackElo "1884"]
[ECO "B23"]

1. e4 c5 2. Nc3 Nc6 3. f4 g6 4. Nf3 Bg7 5. Bc4 a6 6. d3 e6 7. Be3 b6 8. O-O Nge7 9. e5 Nf5 10. Qd2 d5 11. exd6 Qxd6 12. Kh1 Bb7 13. Ne4 Qc7 14. c3 Na5 15.Bb3 Rd8 16. Qf2 Nxb3 17. axb3 Rxd3 18. Neg5 h6 19. Nh3 Rxe3 20. Rfe1 Rxe1+ 21.
Rxe1 O-O 22. Nh4 Nxh4 23. Qxh4 Rd8 24. Qf2 Rd3 25. Re3 Qd7 26. Rxd3 Qxd3 27.Ng1 Be4 0-1

After the round I noticed the sandwiches they were selling outside the tournament. It didn't seem so bad, but I was trying to wait for Larry to finish before eating. In the end they closed down the food before I had a chance to smarten up and buy something. Larry ended up saving his tough game in Round 1, so that was good. They were having a book auction during the day today, so Larry spent a lot of time at that. There were some really good deals, with many books going for just dollars. I ended up taking a run to McDonalds because I really needed to eat something. Not a healthy choice, but the choice I made. Larry and I finally went up to the room at around 5:30, a half an hour before round 2, and rested a bit. I noticed that he eats dry oatmeal. Disgusting! I've never seen anyone do that before.

I was a little nervous going into Round 2. Not nervous as in nervous, but nervous as in I wasn't feeling at my best. I was tired. But at least I was White, and I feel pretty solid about my white openings. Even though I did end up misplaying it a little, and it turns out that my opponent is much more knowledgeable than I in the opening I chose. Still, having knowledge and being able to apply it are two different things. Lucky for me!

[Event "Mass Open 2006"]
[Site "Hotel Marlborough"]
[Date "2006.05.27"]
[Round "2"]
[White "Edwin Borowski"]
[Black "Bennet Pellows"]
[Result "1/2-1/2"]
[WhiteElo "1884"]
[BlackElo "1719"]
[ECO "A40"]

1. d4 e6 2. Nf3 d5 3. Bf4 Nf6 4. e3 c5 5. c3 Nc6 6. Nbd2 b6 7. Bd3 Bb7 8. Qe2 Bd6 9. Bg3 Qc7 10. Rc1 e5 11. dxe5 Nxe5 12. Nxe5 Bxe5 13. Bb5+ Ke7 14. Nf3 Bxg3 15. hxg3 h5 16. Nh4 Rhd8 17. Nf5+ Kf8 18. g4 Qe5 19. Bd3 g6 20. f4 Qe6 21. g5 Ng4 22. Qxg4 gxf5 23. Qe2 Kg7 24. Kf2 d4 25. exd4 Qxe2+ 26. Bxe2 cxd4 27. c4 d3 28. Bf3 Bxf3 29. Kxf3 Rd4 30. Rhd1 Re8 31. Rc3 Re2 32. Rcxd3 Rde4 33. R1d2 Re1 34. Rd1 R1e2 35. R1d2 Re1 1/2-1/2

After the game my opponent told me not to worry about losing too many rating points for the draw, because his rating is actually around 1850. He's gone up several hundred points in the past few months and the "official" rating hasn't caught up yet.

So, 1.5/2 for me, and I'm not sure about Larry. He was in the middle of another very tough game when I finished. So we'll see.

Until next time, Ed.

Wednesday, May 17, 2006

Who's the master?

I played a game of chess tonight against ctd(c) on the ICC. It was an interesting game, and an incredibly boring one. Not completely for me, but after moving the same piece back and forth for about 50 moves, it does make you wonder. Why? Why am I doing this? The answer, ctd(c) was rated about 200 points higher than me so I was pretty happy with the concept of a draw. I would have moved that piece back and forth all night if I had to. Thankfully, there's always the 50-move rule. Not wanting to fall prey, ctd(c) did start mixing things up a little before the conditions were met for the 50-move rule. Those conditions are really "resets". The counter resets on a pawn move, or I believe a capture. And the computers tend to have a contempt factor built in, which makes sense. If the position is even, and you can avoid the 50-move rule without negatively impacting your position, why not do so. Anyway, on my 127th move, it could be avoided no longer. Game drawn by 50 move rule. I'm not going to include the game because, and I realize this, you probably don't care.

It was nice, because my play has been a little sub-par lately. Primarly because I've been focusing on school, so not really playing. The Mass State Open is on the 27-29th of this month and I plan on playing, so I need to get with it. I was a little surprised, given the "big" sound of the name, that the prize fund is so... small. That means they are expecting very few players. Maybe the race for the under 2000 crown will be decided by a cage match between Larry Williams and I. We'll have to get dressed up as our favorite chess piece and battle it out WWE style. For the U2000 the prizes go $450-250-100 for 1st-3rd. With rooms being $89 a night, if you're going for the money you'll probably be disappointed. After room, food, and entry fee, if you don't come in 1st you've lost money.

So I'm sure that Sean will be covering it in his blog (http://cocjournal.blogspot.com), but I have a feeling we have very few crossovers and I've just got to mention it. Gata Kamsky kicks ass! There was a great article on the Chessbase site today, although under one of the captions they call him Rustam (which, if you folled him back in the mid 90's when he was one of the top players in the world you'd know that Rustam is his father and everyone hated the guy), which talked a little bit about him. But he's currently playing in the MTel Masters 2006 tournament with some of the top players in the world. Our current #'s 1-2, Veselin Topalov and Vishwanathan Anand are playing, as well as ex-FIDE champion Ruslan Ponomariov, French GM Etienne Bacrot, and Peter Svidler. The ratings and current world rankings go like this:

1 2804 Veselin Topalov
2 2803 Vishwanathan Anand
4 2743 Peter Svidler
6 2738 Ruslan Ponomariov
15 2708 Etienne Bacrot
33 2671 Gata Kamsky

So it's my opinion that Gata is only getting the invitations right now because of who he used to be. He used to be in the top 5 when those were Garry Kasparov, Anatoly Karpov, Vladimir Kramnik, Vishwanathan Anand, and Gata Kamsky. Certainly prestigious company, with Kasparov being considered by many to be the greatest chess player in the history of the game and Karpov being the winningest champion. But Gata left the game for 8 years. So right now he has the interest of a lot of people. Can he recapture the talent he once had? If he doesn't soon I think he'll find the invitations quickly disappearing. Being #33 in the world doesn't usually get you invited to the top tournaments.

The good news is that after some mediocre results, he's having a fantastic tournament. And against the caliber of players, that really says a lot. If he keeps it up for the final half of the tournament it will be quite a statement! So keep your fingers crossed and let's see how it goes. The standings as of today go like this (image taken from chessbase.com article http://www.chessbase.com/newsdetail.asp?newsid=3112 without permission):



One final piece of news. Bruce thinks that the animal I saw may have been a fisher cat. I'm not sure, because from what I looked at I'm not sure they get big enough. But there it is. Fisher Cat, Mountain Lion, Hallucination, you be the judge. All I know is that it was big, bad, and enjoyed staring me down.

Until next time...

Ed.

Thursday, May 11, 2006

Lost and Found

I have 2 books on computer chess. One of them is called "Computer Chess Compendium" by David Levy, and the other is "Scalable Search in Computer Chess: Algorithmic Enhancements and Experiements at High Search Depths" by Ernst A. Heinz. They are interesting books, and I've read them several times. I really like the Computer Chess Compendium because it's about the old days. It was first published in 1988, and goes through the history, early attempts and algorithms, and some notes on writing a chess program. Of course, not with the latest techniques, but still an interesting read.

The last I saw these books they were in my living room. Then it was cleaned. As I was preparing my paper last week I was looking all over for them. I emptied stuff out, searched everywhere, nothing. I ended up doing my paper without them, but I was really hoping to be able to use them. I was also hoping to use them as reference for my chess program too. That's still possible, of course, just not within the scope of the class.

Tonight, as I was walking into my house after taking out the trash, something caught the corner of my eye. Books. On the "shelf" of my TV stand. Two of them were... need I say more.

Idiot.

And so it goes.

Take care!

Ed.

Hey aren't we all

I was sound asleep when my phone started ringing. I looked at my clock and it was a little past 7. I had to think for a minute, because I was really hoping that it was the weekend. Nope, I was pretty sure it wasn't. How come I forgot to set my alarm last night? Luckily, the phone woke me up. I was pretty sure it was my brother because I thought I heard him moving around, and noone else really calls me in the morning before work. Still, it sucks. I wasn't ready to get up and go to work.

As you're probably expecting, I won't dissappoint. My brother thought I was nuts. It was 7pm. Welcome to Thursday night. Welcome to my life.

Ed.

Wednesday, May 10, 2006

Adept

In case anyone is wondering how my chess program is doing... better than I had expected! Not as good as I want it, so much left to do, but a great start. I've got it running on the Internet Chess Club this week, and it's doing pretty well. Here are the blitz stats:

(it runs under the handle chessadept)
Rating: 1570
Win: 12
Loss: 10
Draw: 1
Total: 23
Best: 1600

So it's currently rated at 1570, which is around the average rating of all chess players in the country. I'm pleased with that given it's my first attempt and at the moment there is so much more to do with it. I expect that before I'm done it will be rated over 2000. Then I'll rewrite it and have a much better program. I can't wait!

I also tried having it play some bullet games, but the time controls were just too fast for it. I could try cranking back the ply count so it would move faster, but I don't want to mess around with that right now. I'm happy with it simply playing 5 minute blitz games. As I make more changes to it I plan to be adding some code for handling different time controls. Then I'll probably try again.

For now, it works.

Ed.

Tivo

My tivo is now running on my wireless network. I did that tonight too. Ever since I got comcast digital voice, my tivo stopped being able to connect to the service over the phone to update its listings. I have no idea why since the phone works exactly like it used it. It gets tone. It rings. It buzzes. But it doesn't tivo. Go figure. But luck was with me. I had a wireless usb network adapter hanging around (since my pc had died a few months ago), and when I plugged it into my tivo and configured it, it just worked. Nice!

Why is that nice? It now downloads over the Internet, I can now record from my computer or, if I made my tivo available on the Internet then from anywhere, and I can watch my tivo saved shows on my computer through TivoToGo. I've got it all!

Nice!

Ed.

Take it to the limit

Tonight I sat down to play a little poker on-line. I didn't want to, I had to. I had been talking with Kip about how I need to start trying limit, since my ups and downs with no-limit can be pretty severe. It would be nice to have a solid game to fall back on to keep the bankroll going and not have to worry about putting more money into it.

Given my current bankroll, he recommended that I start at .25/.50. I'm not going to explain the details, I can't claim to fully understand them myself. I know, weak. Anyway, the idea is this - if you're a good player you might be able to pull in about $2.50 an hour. He warned me, don't be disappointed if you don't see the money flying in. It doesn't.

So I decided to sit down and play for an hour. I went to the .25/.50 tables, but they were all full. Patience isn't my virtue, but I'm occasionally inflicted with a case of over confidence, so I decided to try out the .50/1 tables instead. Within 5 minutes I was down $5 of my $20 buy-in. I suck. As I was thinking about how I could stop now and noone would have to know, I decided to give it 5 or 10 more minutes. I remembered Kips advice. If the table's loose, play tight. 10 minutes later I was up to $25 and thinking that I should quit while I was ahead. Given the above calculations, that's near what I should be expecting for an hours of play. But I decided to continue on and try to do my hour.

A short while later, I found myself dwindling back down near $20. I was a little sad, but the swings are part of the game. If you can't handle the swing, you don't belong in the playground. I used to love the swings. Though I was the stupid one that always tried to jump off after getting it as high as it would go, while being afraid of heights. I'm a living oxymoron. Or just plain moron, if you prefer.

So now the real question, how does this story end? After the hour I was at $50, up $30 for the session. Incredible. Of course, I had a lot of great hands and started hitting my cards. So, essentially, I was lucky. I'll take it.

Ed.

Friday, May 05, 2006

We've only just begun

I'm done, and yet it feels like it's only just begun. But still, I'm done.

When I got home last night, as I was getting out of my truck, I saw this animal in the road. It was big. Bigger than a dog. At first I thought it was a Lion, but that isn't actually possible. I don't know what it was. All I know is that it stopped on the side of the road and stared at me. We stared at each other for a few minutes while I was making sure I could quickly get back into my truck if need be. Finally, it walked away.

Welcome to Friday.

Ed.

Tuesday, May 02, 2006

One more day...

Yes, my project is coming to an end. For school. I plan to continue my work on it, just at a different pace. Slower. Much slower. The last few days I've had enough, it's been tough to keep going. So I'll definitely be glad to have it behind me. Tonight I did a little bit on my paper - very little. Which means I'll need to finish it up tomorrow.

As for the program itself, another enhancement today. Move ordering. Here's the deal. In the beginning there was minimax. With minimax the idea was simple, you would search to a fixed depth (ply) and pull back to the beginning assuming each player made the best moves. What does that do for you? Well, for one, you only have to run your evaluation function on the nodes of the max depth, because those are the scores that you are pulling back to determine which move to play. For another, you're searching all possible moves up to that depth so you're not going to miss anything.

Then came Alpha-Beta. What did that do? Amazingly enough, it gave you a significant speedup... for free! The idea is that while you are scoring the maxply nodes you keep track of a cutoff. So once you find a score that is lower than in a previous branch, you can stop searching that branch because you know that with best play it's not your opponents best move to go down that branch. I may have messed that up a little, but that's the basic idea. So it gives you a significant speedup while coming up with the exact same answer. Not bad.

I have both of those implemented in my project. Tonight I added move ordering. What does move ordering do? It's Alpha-Beta, but you order the moves by what you think will be the best so that you ideally hit the best moves first and a lot more hits on your cutoff. I used one of the simpler methods of move ordering, which is to simply sort the movelist with the "best" captures first. Meaning that if a move captures a Queen it'll be checked before a move that captures a pawn... or nothing. It does slow down the nodes per second that the program can calculate, I'm down to about 100,000 (not just because of this though - implementing transposition tables for 3-fold repetition was a total hog on my performance. I need to work on that, but not until after I turn things in)! But I saw a good 50% reduction in the number of nodes that are being checked now, and my program is quicker when playing 5ply than it was. Which is good. It was taking up to a few minutes to make a move as the position started opening up... and now it's back to well under a minute.

Speaking of Ply, until I implement Quiescent Search (a search extension that goes beyond maxply when there are captures so that it's evaluation quiet positions) I'm thinking that I might be better off defaulting to an even ply (such as 4) instead of an odd ply (such as 5). 6 is too high for the moment, because it really does take minutes a move then. I am thinking this because at ply 5 the computer is the first and last to move. So if on its last move it sees that it can take a piece, it won't see that its piece is lost on the next move, so it will be more prone to making bad decisions. I could implement a 1-ply search extension on captures for odd-depth searches, but again, I'm down to only 1 more day.

Until next time,

Ed.