Following problems are from the Island of Knights and Knaves, I need help in solving it.

a. Suppose you come across two of the inhabitants. You ask both of them whether the other one is a knight. Will you get the same answer in each case?
b. There are three natives A, B and C. Suppose A says ‘B and C are the same type.’ What can be inferred about the number of knights?
c. What question should you ask A to determine whether B is a knight? Justify your question using the construction given above.
d. What question should you ask A to determine whether A and B are the same type? Justify your question using the construction given above.
e. Person A says ‘If B is a knave, I am a knave.’ Determine what can be deduced about A and B.

a. both will give the same answer
b. odd
c. there are an infinite number of answers to this, but perhaps you are looking for "Are A and B the same type?"
d. there are an infinite number of answers to this, but perhaps you are looking for "Is B a knight?"
d. A and B are knights.

'How would a knave answer if I asked him if B is a knight or a knave'?

0

hiddenpearlsAuthor Commented:

@deighton
@ozo

b) c) and d)
I'm puzzled about these ..

can u please explain your answers ?

0

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

d) Ask A 'is B a knight?'
If A is a knight he will answer yes if B is a knight, but no if B is a knave - so yes = same type
If B is a knave he will answer Yes if B is a knave (becasuse knaves lie), he will answer no if B is a knight - so again 'yes'=same type

the answer you get tells you the true answer to 'are you both the same type'

e. Person A says ‘If B is a knave, I am a knave.’ Determine what can be deduced about A and B.

If A is a knight, then for the statement to be true, B cannot be a knave, that would make the statement false

if A is a knave, then the statement is false, so B can not be a knave, because in that case the statement becomes true (B being a knave would indeed mean that A was a knave). If A is a knave and B is a knight - the statement could still have been false, since we don't know what the implication of B being a knight is supposed to be.

there is no problem with a Knave-Knight combination

so I say that A is unknown and B is always a knight

what if it is a world where knave-knave pairs may not exist? Then a knave could say it, but a knight couldn't say it. B could be a knight in reality, and A could be a knave then say the statement

Problem e: A says
B is knave -> A is knave
Which is only false if B is a knave and A is a knight. Otherwise the statement is true.

Special note: If B is a knight and A is a knave the statement is TRUE it is not neutral. It is TRUE and cannot be said by a knave (this is what ozo was getting at)

From logic:
(X -> Y) = (notX or Y) so not(X->Y) = X and notY

So
A B
Knight Knight statement is true and A is Knight (works)
Knight Knave statement is false and A is Knight (does not work)
Knave Knight statement is true and A is a knave (does not work)
Knave Knave statement is true and A is a knave (does not work)

Therefore they must both be knights.

If 'knave knave pairs can't exist' then F->T is still true.

hiddenpearls, when you get problems like this for most of them you can easily just set up a truth table (i.e. just look at all the possible combinations for what could happen. Even with three characters, there are only 8 possible setups) Then just look at all the possible ways it could turn out.

You can even use this type of logic to find questions to ask the knights and knaves. Just set up the 4 or 8 options and see how they would answer questions.

0

hiddenpearlsAuthor Commented:

Thankyou so much for all of you guys ..

0

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

b. odd

c. there are an infinite number of answers to this, but perhaps you are looking for "Are A and B the same type?"

d. there are an infinite number of answers to this, but perhaps you are looking for "Is B a knight?"

d. A and B are knights.