So, Alice thinks of a number between 1 and 1000, and Bob makes up a list of 15 questions.
Alice then receives the list, answers all of the questions with yes or no, with the guarantee that at least 14 are answered truthfully, and returns the list to Bob.
Now, Bob must guess Alice's number.
What is the maximum probability that Bob correctly guesses Alice's number? (Assume that he chose an optimal set of 15 questions.)
Clarification: Bob may not ask self-referential questions (e.g. "Is your answer to this question a lie?"). No logical paradoxes, please! Questions asking about the truthfulness of answers to other questions are allowed.
This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try
refreshing the page, (b) enabling javascript if it is disabled on your browser and,
finally, (c)
loading the
non-javascript version of this page
. We're sorry about the hassle.
Here is a set of 15 non-adaptive questions that guarantee that Bob correctly identifies Alice's number.
The first ten questions would identify a number between 1 and 1000 if answered correctly.
Question 11 helps to identify whether the lie (if any) has already occurred.
Since Alice can lie at most once, if the answer to question 11 is consistent with the answers to questions 1 to 10, she has not lied yet. In this case her answers to the remaining questions can be ignored and the first ten questions identify the number.
If the answer to question 11 is not consistent with the previous answers, then she has lied to one of the questions (including 11) and therefore she must have answer questions 12 to 15 truthfully.
But questions 12 to 15 identify the index of the incorrectly answered question. (This a number between 1 and 11, which can be identified with 4 bits) So now, if the index is 11 the first ten answers are correct, and if the index is between 1 and 10, we simply negate the answer at that index. Now we have the first ten questions correctly answered and can identify the number.