Is it possible to solve this problem:

A prince wish to marry a princess. There are 3 princesses, one is young, one is a little older and one is old. The prince is able to tell the princesses apart. One of the princesses always tells the truth, one never tells the truth and one sometimes tells the truth and sometimes not.

The prince only wish to marry a princess whom he can trust. Therefore it must be the princess that always tells the truth or the princess that never tells the truth (he can just negate her answers for the rest of their marriage).

Before he chooses the princess he wish to marry, he can ask one and only one princess a single question. She must only answer the question by yes or no.

Which question must he ask to be sure he marries one of the right princesses?

Edit: I was not expecting the question "who is more truthful", so consider this change of rules. Suppose we remove the "random princess", and instead insert an "evil princess". The evil princess can choose her strategy for answering, after she has seen which princess we are asking. So asking "Who is more truthful", does not make sense anymore, since the evil princess could choose to answer correct to every question.

Pick a random prince, then ask him:


  Is he [pointing to one of his brothers] older than him [pointing to the second one]?


If you receive "Yes" as an answer, choose the second brother, otherwise choose the first. This ensures you will not marry the middle one.



Explanation:

If the prince you asked is the eldest, he will answer truthfully, and you will pick the youngest.

If the prince you asked is the youngest, he will lie, and you will pick the eldest.

If the prince you asked is the middle one, he will answer randomly, and you will pick one of the two others, as desired.



Edit:

More information about the many variations of this puzzle can be found by searching for the term "Knights and Knaves", which is the name logician and author Raymond Smullyan used to describe these problems.

Of particular interest is a problem known as The Hardest Logic Puzzle Ever, which has the same basic setup as the "princes(ses)" puzzle – lier, truther and random answerer – but with more information needing to be extracted and the additional complication that instead of "Yes" and "No", equivalent words in some esoteric language are used and it is unknown which word means which.
