It is currently Wed Jun 19, 2019 8:41 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 14 posts ] 
Author Message
Offline
 Post subject: The Blub Paradox in Go
Post #1 Posted: Tue Mar 07, 2017 5:00 am 
Lives in gote

Posts: 565
Location: Vienna, Austria
Liked others: 249
Was liked: 291
Viktor Lin 6d writes about a tournament on his blog: "due to a pairing mistake I faced a 2k player who eventually collapsed without me doing anything special." This statement made me think about the differences in strength between players.

I am 3-4k EGF and while I'm aware of how little I know about Go, I don't understand how dan players can just play normal moves and cause me to collapse. After all, their moves don't look special; they are moves that I could have played. Except that I didn't, and when they were played against me, I reacted the wrong way.

But let's look in the other direction. When I play, say, 10k players, I have the same feeling: they eventually collapse without me doing anything special. Either they crumble slowly (i.e., when the game goes to the endgame, they don't have enough points) or they explode spectacularly (i.e., one or more of their groups die and they resign).

This line of thinking reminded me of Paul Graham's "Blub Paradox".

He talks about the power continuum between programming languages. Some have higher-level features, some are lower level. He uses a hypothetical language called "Blub" to explain this continuum. In the rest of this post I will excerpt from his article and adapt the excerpts from programming languages and their power to Go players and their strengths. The analogy doesn't fit perfectly, but well enough that I wanted to post it here.

Quote:
Blub falls right in the middle of the abstractness continuum. It is not the most powerful language, but it is more powerful than Cobol or machine language.


The 3k player falls right in the middle of the strength continuum. He is not the strongest player, but he is stronger than 10k or 20k players.

Quote:
And in fact, our hypothetical Blub programmer wouldn't use either of them. Of course he wouldn't program in machine language. That's what compilers are for. And as for Cobol, he doesn't know how anyone can get anything done with it. It doesn't even have x (Blub feature of your choice).


Of course our hypothetical 3k player wouldn't make 20k moves. He doesn't know how anyone can win a game without even knowing X tesuji or strategy.

Quote:
As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub.


As long as our hypothetical 3k player is looking down the strength continuum, he knows he's looking down. Players weaker than him are obviously weaker, because they're missing some insight he's used to. But when our hypothetical 3k player looks in the other direction, up the strength continuum, he doesn't realize he's looking up [n.b. unless he is told the ranks of the players]. What he sees are merely weird moves. He probably considers them about equivalent in power to his moves, but with all this other hairy stuff thrown in as well. His moves are good enough for him, because he thinks like a 3k.

Quote:
When we switch to the point of view of a programmer using any of the languages higher up the power continuum, however, we find that he in turn looks down upon Blub. How can you get anything done in Blub? It doesn't even have y.


When we switch to the point of view of a dan-level player, however, we find that he in turn looks down upon the 3k. How can you get anything done with those moves? He doesn't even know y.


This post by Marcel Grünauer was liked by 2 people: jeromie, luigi
Top
 Profile  
 
Offline
 Post subject:
Post #2 Posted: Tue Mar 07, 2017 5:14 am 
Honinbo
User avatar

Posts: 8511
Location: Santa Barbara, CA
Liked others: 322
Was liked: 1964
GD Posts: 312
Thanks, Marcel.
Some connections to the Dunning–Kruger effect.

Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #3 Posted: Tue Mar 07, 2017 5:16 am 
Lives in gote

Posts: 311
Liked others: 1
Was liked: 66
Rank: kgs 5 kyu
KGS: Pio2001
Hi,
The analogy seems to work when I am watching a pro game. I feel exactly as described above.

However, I once played a teaching game with no handicap against a korean pro (I was 12 kyu EGF), and the feeling was totally different.
Sometimes, when I play stronger players than me, there is a given move in the game where I'm feeling "Oh no ! This is bad for me, what am I going to do ?".
But against the pro player, EVERY move was like that ! She was playing a stone and "oh no ! I must defend this group". Next move "oh no, I should't have defended this way, now I must run for my life". Next move "Oh no ! I shouldn't have run out ! Now I've lost all the left side !"

Watching pro games as a spectator, I am blind to their true level, but the difference in strength becomes obvious when I am the one playing the game :lol:


This post by Pio2001 was liked by: sybob
Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #4 Posted: Tue Mar 07, 2017 7:39 am 
Lives in sente

Posts: 852
Location: Central Coast
Liked others: 201
Was liked: 333
Rank: KGS [-]
GD Posts: 428
Interesting post, I wasn't familiar with the Blub paradox!

On a related note: An easy way to demonstrate a significant component of the "waiting for your opponent to collapse" phenomenon is to sit in on one of Jennie Shen's reviews at a go congress :) . She has no qualms about announcing "Pass!" if she sees a player put up a move that doesn't achieve anything (e.g. defending a group that is alive or pushing on a dame point), or is too small for that stage in the game. It's a visceral way to drive home a point (and helps keep the audience entertained as well).

Much like your Blub paradox, we see these "passes" far more frequently when a weaker player makes them, so to us it's like watching the game fall apart. We obviously don't see our own as we play (otherwise we wouldn't make them!), and for stronger players we are more likely to give them the benefit of the doubt or make a similar mistake in positional assessment

Top
 Profile  
 
Offline
 Post subject: Re:
Post #5 Posted: Tue Mar 07, 2017 9:03 am 
Lives in gote

Posts: 378
Liked others: 225
Was liked: 116
KGS: captslow
Online playing schedule: irregular and by appointment
EdLee wrote:
Thanks, Marcel.
Some connections to the Dunning–Kruger effect.

Interesting.
Also: the curse of knowledge https://en.wikipedia.org/wiki/Curse_of_knowledge
(does not apply to me ;-) )

Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #6 Posted: Tue Mar 07, 2017 9:55 am 
Lives in sente

Posts: 838
Location: Littleton, CO
Liked others: 283
Was liked: 262
Rank: KGS 3k
Universal go server handle: jeromie
Thanks. That was an interesting article, and I didn't know about Viktor's blog.

In Paul Graham's original article, the very idea the some programming languages are more powerful than others is controversial. In fact, the idea that languages are basically equal (though some may be better suited to particular tasks) is so firmly ingrained into my mind that I have some difficulty accepting what he says even though I can understand his point. As he indicates, the language features he mentions don't seem necessary because I've never needed them before.

In go, of course, I can objectively see that there are better moves than those I currently play even if I can't comprehend them. This is where the analogy breaks down, but it's also part of what makes the game so interesting. It feels like there is always a greater level of understanding just beyond the horizon.

Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #7 Posted: Tue Mar 07, 2017 1:54 pm 
Honinbo

Posts: 8490
Liked others: 2483
Was liked: 2946
Pio2001 wrote:
Hi,
The analogy seems to work when I am watching a pro game. I feel exactly as described above.

However, I once played a teaching game with no handicap against a korean pro (I was 12 kyu EGF), and the feeling was totally different.
Sometimes, when I play stronger players than me, there is a given move in the game where I'm feeling "Oh no ! This is bad for me, what am I going to do ?".
But against the pro player, EVERY move was like that ! She was playing a stone and "oh no ! I must defend this group". Next move "oh no, I should't have defended this way, now I must run for my life". Next move "Oh no ! I shouldn't have run out ! Now I've lost all the left side !"

Watching pro games as a spectator, I am blind to their true level, but the difference in strength becomes obvious when I am the one playing the game :lol:


But, again, you were aware of the pro's strength. :)

My first teacher, my friend Johnny, a 5 kyu, cured me of that feeling. He never gave me more than 4 stones. After some months I tried to get him to give me 6 or 7 stones. He said, "Why don't you give me 7 stones?" So we tried that, and he stopped the game after 30 moves or so, and pointed out that I had played well so far, pretty much as he would have.

I doubt if the pro made any strange moves against you, and if you had been watching the game, you would probably not have thought them as much different from what you would have played, with a few exceptions, perhaps.

You might enjoy this story. http://senseis.xmp.net/?AGameOfTerritory ;)

_________________
There is one human race.
----------------------------------------------------

The Adkins Principle:

At some point, doesn't thinking have to go on?

— Winona Adkins


Last edited by Bill Spight on Tue Mar 07, 2017 3:28 pm, edited 1 time in total.
Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #8 Posted: Tue Mar 07, 2017 2:16 pm 
Honinbo

Posts: 8490
Liked others: 2483
Was liked: 2946
jeromie wrote:
In Paul Graham's original article, the very idea the some programming languages are more powerful than others is controversial. In fact, the idea that languages are basically equal (though some may be better suited to particular tasks) is so firmly ingrained into my mind that I have some difficulty accepting what he says even though I can understand his point.


Yeah, as I was reading it I couldn't help wondering about ICON and Squeak. ;) And Prolog and Netlogo, as well. :D Not to mention Erlang. :cool:

_________________
There is one human race.
----------------------------------------------------

The Adkins Principle:

At some point, doesn't thinking have to go on?

— Winona Adkins

Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #9 Posted: Tue Mar 07, 2017 4:07 pm 
Lives in sente

Posts: 914
Liked others: 0
Was liked: 152
jeromie wrote:


In Paul Graham's original article, the very idea the some programming languages are more powerful than others is controversial. In fact, the idea that languages are basically equal (though some may be better suited to particular tasks) is so firmly ingrained into my mind that I have some difficulty accepting what he says even though I can understand his point.


I will second this, though it might be a case of people with IT training vs those with computer science degrees. Which I don't have, but have seen/can follow the classic proof "if computable, computable by a Turing machine" << all "complete" computer languages ARE equal in "power" -- which is very different than ease of use for a particular problem >>

Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #10 Posted: Tue Mar 07, 2017 5:11 pm 
Dies with sente

Posts: 96
Liked others: 38
Was liked: 15
Rank: SDK
IGS: 8k
Marcel Grünauer wrote:
This line of thinking reminded me of Paul Graham's "Blub Paradox".

He talks about the power continuum between programming languages. Some have higher-level features, some are lower level. He uses a hypothetical language called "Blub" to explain this continuum. In the rest of this post I will excerpt from his article and adapt the excerpts from programming languages and their power to Go players and their strengths. The analogy doesn't fit perfectly, but well enough that I wanted to post it here.


This was an unexpected analogue, but I don't really think that it applies as much as you think.

What I think is that the parallel that applies is more in lines with the old saying "Good programmers program in assembly using their favourite language". Meaning that strong go players don't have to play out all the moves to know the result of an exchange. That is analog to using high-level language and not having to write out all the machine instructions. The analogue stops when the abstraction level gets higher. In games like chess and go, the increased abstraction level is a good thing, but in programming it is not as clear cut. A higher level language accomplishes more per line of code, but requires increasing effort to write.

There has been a great amount of debate (controversy if you wish) about the "power" of different programming languages. The attempts (I am aware of) to try measuring this (like ICFP contest series) suggests so far that the choice of language is not that relevant. What seems most relevant is the person using the language. A C-programmer can be as productive as an haskell-programmer.

But maybe the latter is equivalent to compensating lack of deeper understanding with good fighting and reading in go?

Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #11 Posted: Wed Mar 08, 2017 4:08 am 
Lives in sente
User avatar

Posts: 1304
Location: Ghent, Belgium
Liked others: 184
Was liked: 579
Rank: Bel 2d KGS 3d TG 4d
KGS: Artevelde
Tygem: Knotwilg
I'm a big fan of Paul Graham - less a fan of trying to understand a domain through making analogies with another domain. In most cases, one ends up debating the coherence of the analogy rather than the truth itself.

Here, "go strength" is a kind of order, while "type of programming language" is a balance. Graham indeed thinks there is some kind of order, but it's not one dimensional. It's about the "balance between having features and computing power". Some languages strike a better balance or are outright better in both. And the smarter you get at using features, the less computing power becomes an issue.

In Go we have balances too. "Development" vs "stability" or "territory/influence" vs "thickness/safety" if you wish. There's a corresponding balance between "keeping the initiative" and "remain stable" or sente vs gote.

To return to your original observation or question: why is it that stronger players don't seem to do anything special and their weaker opponent just collapses?

- because when the weaker player makes a defensive move, it's much closer to a pass move
- and when the weaker player makes an offensive move, it's much closer to an overplay

As such, the stronger player doesn't need to seek the boundaries of the balance they know. Their balanced moves are defensive enough to withstand the misdirected attacks by the opponent and aggressive enough to take advantage of their slow moves. There is also the psychological factor: the stronger player can start with the comfortable knowledge that the other isn't going to do anything spectacular. This is more true in Go than in games which have more opportunity for knock-out, such as Chess, or boxing, or even football.

But what to learn from the truth (if true at all) about programming languages, to understand Go better? I wouldn't know.


This post by Knotwilg was liked by 2 people: hyperpape, jeromie
Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #12 Posted: Wed Mar 08, 2017 5:04 am 
Gosei

Posts: 1338
Location: Finland
Liked others: 47
Was liked: 122
Rank: FGA 7k GoR 1297
I haven't come across the Blub paradox before. I took a quick look, and at the beginning there is this:

Quote:
What's less often understood is that there is a more general principle here: that if you have a choice of several languages, it is, all other things being equal, a mistake to program in anything but the most powerful one.


In theory I could agree with this sentence, but it has a major flaw: all other things are _never_ equal.

I look at languages as hand tools: you wouldn't want to hammer a nail with a saw or fasten a screw with a hammer. OTOH, if all you got is a hammer, then every problem looks like a nail.

I would not try to make an analogy between Blub paradox and go.

_________________
Offending ad removed

Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #13 Posted: Wed Mar 08, 2017 5:20 am 
Lives in gote

Posts: 565
Location: Vienna, Austria
Liked others: 249
Was liked: 291
Since the presence of Paul Graham's text seems to be overshadowing the message, let me rephrase the post without mentioning Blub.

Quote:
Viktor Lin 6d writes about a tournament on his blog: "due to a pairing mistake I faced a 2k player who eventually collapsed without me doing anything special." This statement made me think about the differences in strength between players.

I am 3-4k EGF and while I'm aware of how little I know about Go, I don't understand how dan players can just play normal moves and cause me to collapse. After all, their moves don't look special; they are moves that I could have played. Except that I didn't, and when they were played against me, I reacted the wrong way.

But let's look in the other direction. When I play, say, 10k players, I have the same feeling: they eventually collapse without me doing anything special. Either they crumble slowly (i.e., when the game goes to the endgame, they don't have enough points) or they explode spectacularly (i.e., one or more of their groups die and they resign).

The 3k player falls right in the middle of the strength continuum. He is not the strongest player, but he is stronger than 10k or 20k players.

Of course our hypothetical 3k player wouldn't make 20k moves. He doesn't know how anyone can win a game without even knowing X tesuji or strategy.

As long as our hypothetical 3k player is looking down the strength continuum, he knows he's looking down. Players weaker than him are obviously weaker, because they're missing some insight he's used to. But when our hypothetical 3k player looks in the other direction, up the strength continuum, he doesn't realize he's looking up [n.b. unless he is told the ranks of the players]. What he sees are merely weird moves. He probably considers them about equivalent in power to his moves, but with all this other hairy stuff thrown in as well. His moves are good enough for him, because he thinks like a 3k.

When we switch to the point of view of a dan-level player, however, we find that he in turn looks down upon the 3k. How can you get anything done with those moves? He doesn't even know y.


Those are the thoughts that I tried to convey. The analogy was merely the impetus.

Top
 Profile  
 
Offline
 Post subject: Re: The Blub Paradox in Go
Post #14 Posted: Wed Mar 08, 2017 7:04 am 
Lives in sente

Posts: 838
Location: Littleton, CO
Liked others: 283
Was liked: 262
Rank: KGS 3k
Universal go server handle: jeromie
I think it's the efficiency-focused nature of go that produces this sense of not being able to identify whether a stronger player's moves are truly better. Unless you're looking at vast strength differences, it only takes a few different moves or a slight change in priorities to make up for a significant number of stones. So when I look at players a few stones strong than me, most of the moves are like mine. But those few moves that are different make all the difference. And if I look to a professional who is vastly stronger than I am, all of those incremental differences add up to something that is almost unrecognizable in my own play.

I felt this in reverse the other day. I played a 7k player at the club last weekend, giving them three stones. Most of their moves were very similar to those that I would make, and I didn't know how I was going to make up the difference. But suddenly they made a weak group, and could make very normal attacks on it (nothing they wouldn't think of) to gain some profit. Then I made a mistake and almost lost a big group, but my slightly better reading allowed me to save the bulk of it. I was slightly behind going into the end game, but I focused on keeping sente as we played boundary moves and suddenly I had more than made up the difference. There were very few moves I played that were different from those the 7k player would play, and all of them probably seemed obvious in retrospect. But those few moves made up for three handicap stones.

How many bad moves would I have to eliminate from my game to be a dan player on KGS? Probably only a handful. But identifying which moves those are and breaking the habits that cause me to play them is hard.

Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: Bing [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group