Live data from Hacker News

When Is Cheryl's Birthday?

nbviewer.ipython.org

91–100 of 136 posts

Re: When Is Cheryl's Birthday?

#91

Maybe I'm missing something, but the "hard" part of this problem is figuring on the trick. Once you know that, it becomes relatively easy – and you can't use a program to figure out the trick.

The "hard" part of any programming problem is to figure out what the program has to do. The machine can't tell you the correct answer without you giving it the correct instructions.

Re: When Is Cheryl's Birthday?

#92
post #40

Earlier quoted context omitted.

Which part is the trick? It all seems very straightforward to me.

Its understanding what the question actually means when it says things like 'Bernard: At first I don't know when Cheryl's birthday is, but I know now.' ... this is actually a cryptic coding of the rules of the puzzle. If you properly understand those rules and convert them to code (as in the OP) then searching the possible answers for a match is trivial.

I think one of the things that trips people up with puzzles like this (including the one mentioned in https://news.ycombinator.com/item?id=9437483 ) is that knowledge of lack of information is itself information, a point that isn't used very often; if someone tells you they don't know something, you are likely to see it as simply a lack of knowledge, and not as a piece of information that could be combined with the information you have. It somewhat reminds me of that quote about "known knowns" and "known unknowns"...

Re: When Is Cheryl's Birthday?

#93

Maybe I'm missing something, but the "hard" part of this problem is figuring on the trick. Once you know that, it becomes relatively easy – and you can't use a program to figure out the trick.

I don't know, can code like this reason about knowledge-about-knowledge in general? For example, can a version of the code be used to solve the 'hardest puzzle' - https://xkcd.com/blue_eyes.html (solution: https://xkcd.com/solution.html ) ?

Not to be confused with the "Hardest Logic Puzzle Ever," about identifying a truth telling god, a lying god, and a random oracle, none of whom even speak your language.

http://en.wikipedia.org/wiki/The_Hardest_Logic_Puzzle_Ever

Re: When Is Cheryl's Birthday?

#94
post #79
post #9

Earlier quoted context omitted.

It's relatively simple, if you're the kind of person who grasps that 1+1*0 is not 0 under most parsers and under the order of operations implied by e.g. the vector space axioms...

> under the order of operations implied by e.g. the vector space axioms What, exactly, about vector spaces implies an order of operations?

See for reference: http://www.math.ucla.edu/~tao/resource/general/121.1.00s/vec... Addition is only defined on two elements of the space, multiplication is only defined for multiplying an element by a real number, which results in an element. These satisfy the unambiguous distributive axiom, real * (el_1 + el_2) = real * el_1 + real * el_2. Since addition only applies to elements, real * el_1 and real * el_2 must be computed into elements first before the sum. While this doesn't strictly, logically imply the same for real * real + real * real, it's at least suggestive (hence the e.g.) and you can turn to the Peano Arithmetic axioms and definitions of addition and multiplication and do the same thing for natural numbers. Or you can just say the ordering implied by assuming PEMDAS, but just saying that alone is boring and doesn't really expose the elegance in notation/algebraic transformation gained from such a convention.

(For those who don't get the reference, every so often some variant of "a + b * 0 + c = ?" will show up in the public's attention and receive very emotional arguments about how it must be 0, or must be a+c, or must be c, or it must be ambiguous and therefore undefined. Similarly to the logic puzzle programmers can just point to the problem expressed in Python for the correct answer...)

Re: When Is Cheryl's Birthday?

#95
post #46

Earlier quoted context omitted.

Why do you say that is cryptic? I can't think of a clearer or plainer way to express that fact.

For outsiders, there are two elements to the puzzle: the encoding of the logic problem and the logic problem itself. People might very well be able to solve even fairly complex logic problems without having been exposed to this tradition of encoding such problems. The problem is stated as three persons having an odd, but casual conversation. To outsider that's all they're doing and to those the problem is impenetrabl…

This is exactly why I find these kinds of puzzles infuriating. It always hinges on some contrived, bullshit "trick" which has nothing to do with solving real problems.

Re: When Is Cheryl's Birthday?

#96

Earlier quoted context omitted.

Let's consider the question: 1. "Why did Albert speak first?" Before we answer this, we need to develop a set of assumptions to operate under. Given the synthetic nature of the problem, we might assume that both Albert and Bernard are of equal ability, and able to make logical inferences based on reasonable assumptions. We'll also assume that both Albert and Bernard are only going to announce the binary state of each…

> Lastly, we'll assume that whoever can deduce the binary state of certainty first, will speak first. The speed at which they come to their conclusions, and who speaks first is meaningless. I think perhaps if you are taking them into account then you are trying to come up with a completely different problem, or intentionally being disingenuous. Given the context (that this is a question on a high school test), it is…

"The speed at which they come to their conclusions, and who speaks first is meaningless."

That's your own assumption. And that's a perfectly fine assumption to make, but not a universally chosen one.

Re: When Is Cheryl's Birthday?

#97
post #68

Earlier quoted context omitted.

On the contrary, there are many unspoken things one must assume to solve this puzzle "correctly"; that Albert and Bernard are rational, honest, cooperating, and have a certain penchant for communicating novel inferences they make instead of just blurting out "we don't know" out of boredom, laziness, or frustration.

To me, all those things are very readily inferred from the fact that the problem is being posed as a logic puzzle.

Logic puzzles where one must assume so much are not about pure logic. They are "logic" puzzles. If you aren't made aware of the assumptions that were made in building the puzzle, the solution you arrive at may not match the "logical" one.

Because of this, solutions are often not logical.

Re: When Is Cheryl's Birthday?

#98
post #64

Earlier quoted context omitted.

Why do you suspect the crypticness of the puzzle's language is the problem, rather than the fact that a large portion of people haven't studied basic logic and are thus unable to complete basic logic puzzles?

It's not just a basic logic problem - it's a language translation into a logic problem problem. You have to 'get' that is what you're dealing with. Incidentally, I get a similar feeling from these puzzles that I get from code questions or examples where every variable or function is named 'a' or 'b' or 'foo' or 'bar'. (aaand I just had a mini-epiphany of sorts that when I see those types of programming puzzles I shou…

Actually, it's the opposite. It's a translation of a pure logic puzzle into natural language.

Re: When Is Cheryl's Birthday?

#99
post #95

Earlier quoted context omitted.

For outsiders, there are two elements to the puzzle: the encoding of the logic problem and the logic problem itself. People might very well be able to solve even fairly complex logic problems without having been exposed to this tradition of encoding such problems. The problem is stated as three persons having an odd, but casual conversation. To outsider that's all they're doing and to those the problem is impenetrabl…

This is exactly why I find these kinds of puzzles infuriating. It always hinges on some contrived, bullshit "trick" which has nothing to do with solving real problems.

It's really not a trick. You simply take all the knowledge you are given and (this is important) don't make any additional assumptions or guesses or even really think of the participants as human, and.solve it like a math problem.

Re: When Is Cheryl's Birthday?

#100

Earlier quoted context omitted.

Its understanding what the question actually means when it says things like 'Bernard: At first I don't know when Cheryl's birthday is, but I know now.' ... this is actually a cryptic coding of the rules of the puzzle. If you properly understand those rules and convert them to code (as in the OP) then searching the possible answers for a match is trivial.

I think one of the things that trips people up with puzzles like this (including the one mentioned in https://news.ycombinator.com/item?id=9437483 ) is that knowledge of lack of information is itself information , a point that isn't used very often; if someone tells you they don't know something, you are likely to see it as simply a lack of knowledge, and not as a piece of information that could be combined with the…

Well put! and for me that's the trick in this puzzle, once you understand that everything else is trivial.
Post reply on HN