There are three people: Amanda, Bill, and Cindy.
One of them has a favourite colour of blue, one of them has a favourite colour of green, and one of them has a favourite colour of red. They do NOT know the favourite colours of the others.
One of them always tells the truth, codename "True". One of them always lies, codename "False". One of them uses secret coin tosses to determine how to answer (heads = affirmative, tails = negative), codename "Random". Each one also knows the codename of the others.
Each of them speaks either Jaism or Daism.
In Jaism, "Ja" means "Yes" and "Da" means "No".
In Daism, "Da" means "Yes" and "Ja" means "No".
They understand all of your questions regardless of the language of the question, but they will only respond in their language. They do NOT know which language the others speak.
Your goal is to determine the favourite colour of True, the favourite colour of False, and the favourite colour of Random.
In order to do so, you may ask a series of yes-or-no questions. Each question can be posed to exactly one person. You are allowed to ask the same person multiple questions. If you ask an invalid question (a question that is unanswerable by the person asked), the game immediately ends in failure.
What is the smallest number of questions required to form a guaranteed solution? A guaranteed solution must work 100% of the time, regardless of the favourite colour, codename, or language of Amanda, Bill, and Cindy, as well as the results of Random's coin tosses.
Shortly after market close, I will resolve to the number indicated by the proposed solution with the lowest number of questions to which I cannot find a valid counterexample.
Update 2025-07-18 (PST) (AI summary of creator comment): The creator has indicated they may resolve this market before the scheduled close date under a specific condition:
If there is virtual agreement among participants that a particular answer is correct and has no counterexamples, while all proposed solutions requiring more questions do.
Update 2025-08-05 (PST) (AI summary of creator comment): The creator has indicated they may resolve the market in the near future if no one makes a case for the riddle being solvable in 5 questions or fewer.
People are also trading
It doesn't work in the main riddle, but if the coin flip were to decide between acting like True and False you could get it in five. You could ask anybody a question and get them to answer ja for yes and da for no by including a clause for "[convoluted question other comments have stated] xor you just flipped a coin secretly and it came up tails". Then you could go up to Amanda, ask her what her favorite color is (uses two questions). Then you could go up to Bill and ask him "Is True's favorite color Blue", "is True's favorite color Red", "is Random's favorite color Green (or Red if True's favorite color is Green)", and you will know the favorite color of every truth-teller in five questions. Note that Bill now can answer this question because you can tell him Amanda's favorite color, and he knows his own favorite color, so he can figure out Cindy's favorite color by process of elimination. If you make it so he can't know other people's favorite colors by fiat you can create questions that produce the same result yourself but it's annoying and I think one of those questions would be about as long as this comment given all of the extra conditionals you have to add for different scenarios.
Again, this doesn't actually apply to the question since it assumes Random gives us useful information, but I think it has some of the same general qualities a real five solution would need, as well as being something I find interesting
@CollinMatthews If it turns out we can't get lower than 6 I'd be interested what happens if, instead of answering randomly, the "Random" person just answers Da to everything. I think it adds a lot of extra complexity, but might end up with a lower number of necessary questions
@CollinMatthews If Random always answered "Da" to everything, I think the minimum required number of questions would still be 6. In the solution to the riddle I proposed, the first question is spent identifying a non-Random person, and then never interacting with them afterward. In a Random-always-says-Da version, the only way you could obviate this first step would be if you expect True and False to answer all of your questions with "Ja", in which case you wouldn't be gaining any information from their answers.
I could be wrong, of course, and I haven't thought about it super hard. Would be curious to know what you have in mind.
I can do it in 5, and I am pretty sure that is minimal.
Firstly, we can get an honest answer to a question Q by asking "Is it true that (you would say ja to 'is 1+1=2?') xor [Q]?". Both True and False will answer ja if Q is true regardless of their language and ja if Q is false. Call this question Honest(Q).
We can start by asking Amanda Honest("Does Bill answer Randomly"). If the answer is ja, we know that Cindy does not answer randomly. If the answer is da, we know that Bill does not answer randomly.
We start by asking the person we know does not answer randomly 2 questions to determine their favorite color, then 1 question to determine the other person who does not answer randomly. We ask that other person 1 question to determine their favorite color. We know Random's favorite color by process of elimination.
This is (probably) minimal because we have to know who random is as we must ask both deterministic people individuals what their favorite color is. Therefore, there are (3 locations of random) x (6 sequence of favorite colors) = 18 things we must distinguish between, which cannot be done with 4 or fewer questions.
@robert I believe this is directionally correct, though I think you need another question to determine whether the first non-Random person is True or False.
I would have to sit down and make a truth table to determine if your Honest(Q) is actually a working formula, but if you'll allow me to be lazy, I have another formula that I know works:
Decipher(Q) = "If I asked you, '[Q]', would you say, 'Ja'?"
When posed a question of this form, True and False both answer with "Ja" precisely when the answer to Q is "Yes", and they both answer with "Da" precisely when the answer to Q is "No", regardless of what language they speak.
From that point on, the process is as you say (with one additional question to determine if the first non-Random person is True or False):
Q1: Ask A Decipher("Is B Random?").
Based on their answer, you identify someone who is definitely not Random (because either A is Random or they answered your question truthfully). For the sake of example, let's say you determine that B is not Random. You would then go to B for Q2.
Q2: Ask non-Random B Decipher("Are you True?")
This tells you if they're True or False.
Q3: Ask non-Random B Decipher("Is A Random?")
You have now identified everyone.
Q4: Ask non-Random B Decipher("Is your favourite colour red?")
Suppose it's not red.
Q5: Ask non-Random B Decipher("Is your favourite colour blue?")
You now know their favourite colour.
Q6: Ask the other of True/False Decipher("Is your favourite colour red?")
You now know everyone's favourite colour.
@robert If you still believe that your solution works in 5 questions and that the 6th question is unnecessary, I’ll ask you to address my response and see if you can clarify why I’m mistaken about the 6th question being necessary.
This is how you solve it :
First find random by asking as many questions as it takes to make his answer change.
Then pose the question to both of the remaining people “If I asked you ‘Is your favorite color red?’, would you say ‘Ja’?”, do all the colors. You now know which color is their's because it's the only one to have gotten the different answer.
Finally, you now know the color of random through elimination.
Please resolve @NBAP.
I don't know if I will resolve before the market close date. Maybe if virtually everyone agrees that a particular answer has no counterexample while all solutions of greater question number do have counterexamples.
However, I will tell you (in my capacity as a fellow commenter, not the market creator) that there is definitely a guaranteed solution in 6 or fewer questions.
@Velaris The issue is, it is possible (even though with probability 0) that Random never changes their answer. In fact, it might be possible that Random acts indistinguishably from True (resp. from False), except when we try to ask a question involving their favorite colour, which I believe implies that you can only find False's (resp. True's) favorite colour.
@MindcraftMax Yeah. A helpful tip would be to imagine that Random is actually antagonistic and always answers in whatever way would most frustrate your efforts.
Nevertheless, I think there is a solution.
@NBAP You can't find a solution that will work every single time, since random can answer exactly like true or false. However, the odds of it happening are the same as one divided by infinity since you can ask again and again until he changes his answer.
If you flip a coin 10*500 times it will land on heads at least once.
On the human scale the odds of it not happening are equal to infinity.
If you were to resolve the market to those oods, I would be glad.
@Velaris I will share the solution, though I would like to give it some time to extract more value from doubters.
@Velaris Keep in mind, if you find the truth teller, you can ask them whether one of the others is random. Thus, you never need a favorable random outcome
There are 36 possible configurations (3! codename × 3! color), so we need at least log₂(36) ≈ 5.17 bits of information to guarantee a unique solution.
But with 6 yes/no questions:
One person is Random, so ≥1 answer is noise ⇒ max 5 usable responses.
Each person speaks an unknown language (Ja ≠ always Yes), so unless you resolve that first, each response gives <1 bit.
Even assuming perfect question design, the expected info gain is <5.17 bits.
So: you can’t always extract enough reliable info from just 6 questions.
@Velaris Your goal is to determine the favourite colour of True, the favourite colour of False, and the favourite colour of Random – you don't need to find out who is who, it seems.
@MindcraftMax I think you can brute force it. You can find random easily enough with a lot of questions, then you can use and sometimes not use meta questions to find who lies, and then you can find out which languges they speak similiarly. It just takes a lot more then 6.