Any fans of the ancient game of Go?

(For the curious, go here first: http://www.well.com/user/mmcadams/gointro.html )

At my previous job, we had a group of guys that would play go (Wei Ch’i, Baduk, etc.) on our lunch breaks. It was nice because there was a good spectrum of talent to play against. I wasn’t the best, but I wasn’t the worst either. (and could hold a pretty good game with our ‘expert’ with 1 or 2 two handicap stones)

Five years later, I’m in another job and I’m stuck playing Goban on my iBook on the bus. It’s okay, but I get regularly CREAMED by it, and thus it’s not much fun. It’s helpful to be able to take back moves and see the error of my technique, but it also doesn’t seem as interesting as instruction by someone else. (And I think it cheats. :stuck_out_tongue: Or rather, I don’t understand how it scores.)

I’ve tried the occasional game on one of the game servers, but again, It’s usually a slaughter one way or the other, never a well balanced game.

So, are any Dopers…go-ers too?

And I can’t hardly fathom:

Well, I play too… might I point you to the goodness of the KGS Go server, a free Go server where you can play against other humans, and the humans there are generally nice people… most of the time. Much better than yahoo. There’s even a “teaching ladder” of sorts, so you can get people to review your games if you’re lucky. Otherwise, I find going through Sensei’s Library helpful… it’s kind of like a wiki of Go.

Doesn’t help that I just broke my 10 game losing streak. :smiley:

I play. I have the nicest board. It’s huge with the claw feet and giant stones. Too bad I suck :0

Actually I improved alot a while ago by reading and studying some books. Since then I haven’t had much of a chance to play. If you want to play online email me and we can set up a game.

If you are interested in doing some studying I highly recoomend “Lessons in the Fundamentals of Go” , by Kageyama Toshiro. Great book. I gained at least 2 stones after reading it and studying a bit.

::Hijack:: I am also presently looking to get my Dad a new Go program. He is pretty strong(think ~1 Dan) so if anyone has any suggestions they would be welcomed. ::end hijack::

Slee

Seconded on the Kageyama book. It helped me out of my 15k rut, and I shot up to 8k. Of course, I’m back down to 12k after my incredible run of bad luck, but hey. :stuck_out_tongue:

You got the board with the feet! I’m so envious! Well… I would be if I had any real life people to play against. :stuck_out_tongue:

Sleestak:
I’m using Sen:te’s Goban for OS X http://sente.epfl.ch/software/goban/ While it’s only available for the Mac, it uses GnuGo as a foundation, which is available for everything

http://www.gnu.org/software/gnugo/gnugo.html

I can’t speak for its abilities as a player though. Only that it’s better than I am. (I’ve heard that programming a computer to play Go is quite a bit harder than making it play Chess.)

s’funny. I never took to Chess, but really like Go as a diversion (no living with a sensei for me.)

(thanks for the offer to play online, but with my schedule, it’ll be difficult to arrainge a time. I WILL give KGS a shot though!)

Thanks for this thread everybody - I’ve been interested in go for years and years, but have never known anyone who actually played it. Well, small correction - I did run into a group at an SF convention, but they had zero interest in introducing someone else to the game.

Anyhow, I’m thinking of using the link to play other folks on line. I’d like to actually play the game before reading about strategy. That approach seems to work better for me with other games.

As for the starting from childhood… when I was a wee lad in Korea (visiting, not living, but I did spend months there) one of my activities was taking Baduk lessons. We learned the theory, had workbooks to go through, homework, etc. I haven’t played since, unfortunately.
You might want to check Borders. I say that only because when I was at school at Michigan in Ann Arbor, the Borders there had weekly Go get-togethers. Probably around a dozen to 20 people came, some bringing their kids. I saw at least two kids (maybe around 10 years old) getting lessons. It was a wide mix of people, and Borders supplied the boards and pieces. Of course, this was Ann Arbor, which is a rather mixed city as well, so you might not find much in your area.

From my reading most good Go players recommend learning the rules and playing alot of games(100-200) before studying. I’d recoomend playing alot of 9X9 games and then move up in board size.

Unintentionally Blank
Yes, programming a good Go program is harder than Chess. The problem, as it seems to me, is how to program for some of the concepts in Go. How do you get a program to understand thickness and use it? Or Aji(Is that how you spell it?)? No one has figured it out yet. In fact there is(or was) a guy in Japan offering 1 million yen to the first program that could beat a ranked pro. Not even the best pro, just a ranked pro. No one is even close yet.

Slee

Most important proverb when starting Go: “Lose your first hundred games as fast as you can”. :smiley:

As to playing the game before reading up on strategy, perhaps, but you have to have a lot of willpower to continue after getting your ass handed to you time and again. May I suggest a few beginner tips?

Start in the corners. Easier to make life, easier to extend from.
Assume you CANNOT kill.
Look for the biggest point on the board. Sure, it might be temping to kill one stone, but making 20 territory is worth much, much more.

Other than that, you need to learn to stand on the shoulders of giants. Trying to make it on your own is very, very hard going.

I play go. Unfortunately, I don’t know anyone else besides my little brother who knows how to play. I had some programs online to play (yahoo! is nice too) but it isn’t the same. I like it more than Chess, though.

Hmm, looks like two more concepts I get to look up for the first time! :slight_smile:

Well, I’ll help out with Aji. Aji refers to a wekness in a position. That weakness, if it is not addressed, can allow the opponet to exploit it. Now with aji, if you attack it directly the opponent can usually defend it without a problem. But if you attack indirectly you can exploit the aji. Usually what happens is that the attack starts a little ways off and works towards the position with aji. Then all of the sudden you are left with two cutting points to defend or some other double threat. There is nothing worse, for me at least, than finding a position I though was secure suddenly in danger because I didn’t attend to a weakness in the position at an earlier point.

As to thinkness, it is basically a strongly connected group of stones. If you have a think group you can use it to run into the opponets territroy or you can squeeze the opponet into it among other things. Thickness does not always == alot of territory. Though you can usually use thickness to gain territory.

Tabby_Cat is right about losing your first hundred games. At the same time there are some simple things you can learn that will help alot. I think the first thing to learn is ladders. Learning to read ladders, at least simple ones, helps alot. There are others but simple ladders are a good place to start.

Another thing that beginners don’t seem to get is that killing stones or groups IS NOT the point of the game. I focused too much on killing things at first and kept losing. Then I started worrying about my stones and making space and I started winning some. Killings things is fun, and satisfying too, but if you focus on killing you will get destroyed. I also recommend staying away from Ko fights. If you get into a Ko, take it or let the other guy take it at first.

Slee

Yes it is much harder.

Chess programs don’t play chess the way humans do. Computers don’t understand any concepts such as development, planning or strategy.
Instead the computer simply generates every possible position in the time allowed.
(Since there are typically about 30 legal moves in a chess position, analysing ahead one move for each side involves studying about 1000 possible positions.)
Once the positions are stored, the computer counts the pieces on each side. Then it uses a simple algorithm to ensure the best possible result (assuming best play by it’s opponent).

Now it is usually right to make short-term progress in chess by capturing pieces. So the computer plays a series of short-term plans perfectly. And this is enough to beat 99% of the World’s chess players.

I am confident Go is not so easy because there is not this possibility of short-term goals.

glee wrote

I’m afraid this isn’t true. Chess programs understand plenty about “development, planning and strategy”. They have extensive lists of opening moves, they know how to close a game, they know plenty of strategy, including:

  • attack the center when your opponent is strong on the flanks (and vice-versa)
  • trade material when you’re ahead, and don’t trade when you’re behind
    etc.

There’s far more to a winning chess program than brute force. Although there is plenty of brute force involved.

Go is tough to program because Go is all about pattern matching, and that’s a complex problem. seeing some pattern on the board that you’ve seen before in some other place on the board and know how to respond to is much easier for humans (today). Brute force is much less applicable with current computing power.

As to the OP, I love the game of Go. I’m not very good though. Also, I don’t know anybody who plays it, which is a bummer.

One of the cool things about Go not mentioned yet is the handicapping system. It allows two players of any two levels to play a fair game where you’d expect each player to win 50% of the time. Try that in chess.

Having an opening book which you follow automatically is not evidence of understanding.
Using a endings database of every single position with that number of pieces involves no strategy at all.

I would be fascinated to hear how you program a computer to understand when one player is ‘strong on the flanks’.

How would you input the instructions for a ‘minority attack’ in the Queen’s Gambit, or setting up ‘a white square bind’?
These are all concepts I teach my human pupils. They do not figure in computer programs.

Does ‘trading material when ahead’ include exchanging your last pawn?!

I think you have a romantic idea of how chess programs work. They use no judgements, strategy or pattern recognition. Just brute force.

It is true that the handicapping system is a valuable feature in Go.
Of course time handicaps, which serve the same purpose, are a standard feature in chess.

glee wrote

And I’m afraid you have a philosophic view to how computers work. The world needs philosophers, but not to describe how machines work.

Don’t worry, though; yours is the typical reaction to artificial intelligence in action: “it’s not real thinking”. And there are plenty of philosophers who will agree with you.

But if you know how a chess program works, if you’ve been inside one, you’d know that there’s far more to it than just trying as many possible moves as you can and picking the best one.

Interestingly I was asked to test the first computer database to prove that two bishops v knight was a forced win.
As I’m an internationally ranked chess player, I was also asked afterwards to describe the winning procedure in terms of strategy, so human players could understand it. This was, of course, because the program used a look-up table and thus had no thinking in it at all.

If you’d like to see such a mindless database in action, go here:

http://www.logicalchess.com/resources/tablebase/egtb/

I have also been the official commentator at one World Microcomputer Championship. (Ah, those were the days!). One of my tasks was to discuss the programming with the chaps - since I was a programmer myself for 14 years and helped write a couple of chess programs myself. They were all (of course) using the brute force approach.

When I asked Garry Kasparov about his clash with Deep Blue in 1996, he was convinced that there was human input on move 37 of game 2.
He was frustrated because he was not allowed to see the computer logs, which show all the calculations that the computer uses to decide its move. Since computer programs have no strategic judgement, he couldn’t believe Deep Blue could play this move.

In case you still think I’m a philosopher, here is another source:

'Brute force vs. strategy
In the early years of computer chess, there were two general schools of thought. The first camp took a “strategic AI” approach, estimating that examining all possible sequences of moves to any reasonable depth would be impractical due to the astronomical number of possibilities and nominal processing power. Instead of wasting processing power examining bad or trivial moves (and their extensions), they tried to make their programs discriminate between bad, trivial and good moves, recognize patterns or formulate and execute plans, much as humans do.

The second camp took a “brute force search” approach, examining as many positions as possible using the minimax algorithm with only the most basic evaluation function. A program might, for example, pay attention only to checkmate, which side has more pieces, and which side has more possible moves, without any attempt at more complicated positional judgement. In compensation, the program would be fast enough to look exhaustively at all positions to a certain depth within its allotted time.

Use of alpha-beta pruning combined with a number of search heuristics dramatically improved the performance of brute-force search algorithms. In modern times, the general consensus is that chess is theoretically a nearly-understood paradigm as an AI design goal and the Chinese game of Go is now at the forefront of challenges to AI designers.

Ultimately, the brute force camp won out, in the sense that their programs simply played better chess. The game of chess is not conducive to inerrantly discriminating between obviously bad, trivial and good moves using a rigid set of rules. Traps are set and sprung by expert players who understand and master the many levels of depth and irony inherent to the game. Furthermore, technological advances by orders of magnitude in processing power have made the brute force approach far more incisive in recent years than was the case in the early years. The result is that a very solid, tactical AI player has been built which is errorless to the limits of its search depth and time. This has left the strategic AI approach universally recognized as obsolete. It turned out to produce better results, at least in the field of chess, to let computers do what they do best (i.e., calculate) rather than coax them into imitating human thought processes and knowledge.’

Well, I must say that if the experience you claim is as you claim (and I have no reason to suspect otherwise), I’m impressed.

I still disagree of course, and and am surprised you continue to use the term “brute force” to describe algorithms that most in the computer space would consider inaccurate.

glee, I went and dug into the code of GNU Chess, which is a pretty basic chess program. Here is some of the strategy it incorporates:

  • avoid doubled pawns
  • attempt to keep connected pawns
  • avoid isolated pawns
  • attempt to control the center
  • keep rooks on open or half-open files
  • castle as soon as possible (and avoid moves that remove ability to castle)
  • keep pawns around the king
  • don’t move queen too early
  • when ahead in pieces trade pieces. when behind avoid trading
  • when ahead in pawns trade pawns. when behind avoid trading
  • check when possible
  • much more

If you don’t call applying the above to your chess playing “strategy”, I’m honestly not sure what you mean by strategy. Please illuminate me.

Of course this is an anonymous message board and I can claim anything I like. Your post above is tactful. :slight_smile:
Unlike your previous one! :stuck_out_tongue:

I do teach chess professionally (and use a couple of computer programs to do so).
I have indeed also been a programmer and done all the things I stated.

Note the cite I quoted, which says that computers using brute force beat attempts to reproduce human judgement.

I in turn accept that you have analysed the GNU chess program, and that it does attempt to use strategy.
The challenge of using this approach is that you save time by pruning the tree of variations, but relying on your strategy to work in all positions. And sadly, this has never worked as well as brute force. (It is disappointing, because Chess would have been a very useful way to analyse how humans think.)

In your GNU examples, you include:

‘avoid doubled pawns’

Now the main defence to the Ruy Lopez (1. e4 e5 2. Nf3 Nc6 3. Bb5 a6) allows doubled pawns (4. Bxc6).
Does GNU slavishly follow its opening book and play the opening nevertheless? If so, then when does its strategy kick in?

GNU also uses:

‘check when possible’

Well this is not a deep (or useful) strategy in my opinion. For example, in the French defence after 1. e4 e6 2. d4 , 2…Bb4+ is a waste of time (simply met by 3. c3).

As I said, GNU chess is using strategy. However I therefore don’t consider it a strong program, and confidently expect that a brute force program would beat it.
I also expect I could beat it. :cool:
Is there an easy way to get this challenge going?