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.
Ask the middle one if the youngest is more truthful than the eldest. If the answer is "no" then marry the youngest, otherwise marry the eldest.
That way, if the middle one is the liar, he is guaranteed to marry the most truthful of the remaining two, which is the 100% truthful princess. If the middle one is the truthful one, then he is guaranteed to marry the least truthful of the remaining two, who is the habitual liar. If the middle one sometimes tells the truth and sometimes lies then it doesn't matter which of the other two he marries (for the purposes of this riddle...).
This is just the answer I gave in the comment above, removing the mistake pointed out by Theo Buehler (and the implicit ageism in assuming the prince would rather marry one of the younger two).