![]() |
An old challenge
This is a challenge I posted in some places before. There are infinite solutions, but they aren't really trivial.
Quote:
Edit: someone already found a solution here: http://www.flashflashrevolution.com/...1&postcount=55 |
Re: An old challenge
Make it like "the cube" movie where 1 room is safe and the other two kill you painfully.
|
Re: An old challenge
Could be that, too. The point is that you need to discover which door is the good one, either way.
|
Re: An old challenge
Can you ask it if it would say about something? Since then it knows if it will invert it or not, so you know it's inverted twice or not at all, so you can know for sure it's telling the truth?
|
Re: An old challenge
Not sure what the bug has to do with anything since the computer is capable of answering only once and the answer, so far as I can guess, doesn't tell you if the bug has occurred or not.
1) "Door 'x' leads to the awesome place." You have a 1 in 3 chance to have the computer answer 'true'. If the computer says 'false' you'd be left with a 50:50 chance of guessing the right door. Obviously not a good choice. 2) "Doors 'x' and 'y' lead to the same place." Same thing here, the computer would have to say 'true' implying that door 'z' leads to the awesome place in order for you to be 100% certain. If it says 'false' (which there are two out of three instances in which this statement can be false) you're left with a 50:50 chance to guess 'x' or 'y'. Still no good and just as bad as option 1. This bug thing really gets me confused though..not sure how it helps the situation. There's probably a dumb philosophical loop-hole in this whole thing lol |
Re: An old challenge
My way defeats the possibility of its 50% error if it's allowed. But as Dynam0 suggested, it seems there isn't really a way to get past the other part. If true is 1 and false is 0, it's taking all the information you give it through a black box to a functional that outputs only 1 of 2 things, and there are 3 possibilities so that if you only get 1 of 2 things there's no way to distinguish between at least 2 of them. So there must be some way to "cheat" the system.
I have some ideas of how to "cheat", but I doubt any of them are allowed. For instance, turning the computer off after the first letter of its output, and saying it has only used 0.2 to 0.25 answers, so it still has enough energy to do another 0.75 to 0.8, and then ask it another question and deduce the answer based on the first letter of it. Edit: I think I might have solved it: Label the doors x, y, and z, from left to right. Give x the value 0, y 1, and z 2. I have a computer that overflows and explodes if the value its given is at least 3. Now have my computer add 1 to the value of the door that leads to the good place. Now ask, would this computer say that my computer would say the value for y is 2? If yes, then y leads the good way. If no, then x leads the good way. If no response, z leads the good way. |
Re: An old challenge
Quote:
Quote:
Quote:
|
Re: An old challenge
That's an interesting idea that it will remain answerless as a 3rd option, but what if it HAS to output something?
What about a question like, "Output True if and only if the awesome door is the one I am touching with my hand, and not until I have placed it on the correct one" or is that out of the means of the machine? |
Re: An old challenge
Thing is, the computer isn't overflowing. The computer I have made up is, which means that it just sees it as not even a statement and thus doesn't respond. So no computer actually blows up.
|
Re: An old challenge
1- When you input an answerable statement, it only answers with either "true" or "false";
Which implies... (I'm giving too many hints) XP But the bug messes up that, too, and you must find a way to circumvent both problems simultaneously. |
Re: An old challenge
Can you put in an unanswerable statement though?
Or how about a more detailed question like this: "The door on the left is A, then B, then C. Only answers with A and B are a theorum of this system, and therefore they are the only answerable results of this formal system. Is door A the desired awesome door? If yes, then A = true" I mighta worded that bad I'm horrible with mathspeak : < but anyhow, there's no need to include the notion of the third door. It doesn't answer if it's not an answerable part of the question, therefore it's implied to be C |
Re: An old challenge
Quote:
And your statement doesn't work because it isn't a statement, it's an order (read rule number 4) In short, you need to find actual, non-hypothetical things to use in your statement. Quote:
|
Re: An old challenge
But it can just not output anything to imply that it is C, couldn't it?
I guess I could word it more like this then also: "The door I am touching is true after I touch the awesome one" or is that not applicable? |
Re: An old challenge
Quote:
If I say "My username is Zaevod" the computer will answer true. You can't say "say true if I do X", because that's an order, not a statement. "The door I am touching is true after I touch the awesome one" actually will always answer as true if you mean "true" as in "a true door", because they are true doors, before or after you touched the awesome door. I'm going to sleep now, but I'll put more hints tomorrow if necessary. |
Re: An old challenge
Let the statement be ??
Where ?? means you implied, which it perfectly understands, This computer says the good door is the first door gives a response of true, this computer says the good door is the second door gives a response of false, and not a statement otherwise. The implication is a solution to this problem which exists so even though you don't necessarily know what it is, since the computer can perfectly tell what you mean, it gives you the solution anyway. And since I used the either not inverted or doubly inverted "this computer says" clause, it must tell the truth. |
Re: An old challenge
Quote:
But that was actually pretty cool. There must be an actual statement. It's just that the computer will always interpret whatever words you used correctly, in the context you meant him to understand them. You've got the main issues figured out, now just make a statement that includes everything XD |
Re: An old challenge
You're giving an order to the computer again Doug...you can't do that.
Let "True" mean yes. Let "False" mean that the bug has occurred so the answer is actually true, and thus yes. The awesome door is the one in the middle. Answer: It doesn't matter since the computer will agree with this statement either way. Any door will be the awesome door then!!!! I'm going to bed xD |
Re: An old challenge
Then use the computer says door 1 is the good door, and if not, then I didn't mean this as a statement. Either you get a yes or a no response, and then repeat for each door.
|
Re: An old challenge
I'm heavily leaning towards 'or' being a necessary conjunction in my statement but I'm having trouble coming up with the exact statement I need.
Quick question, if I ask something along the lines of 'You will answer 'true' in response to this question and A leads to the awesome place or you will answer 'no' in response to this question and B leads to the awesome place', is it possible to receive no response from the computer? (I know this isn't the correct statement, just as an example) I have a feeling I'm somewhere in the right ball park but I'm tired right now and can't figure out how to isolate the door without a third response from compy (no response works) |
Re: An old challenge
ill attempt this tomorrow morning since im tired. i gotta look over my logic textbook. i have something in mind but i forgot some of the predicate logic i learned.
|
Re: An old challenge
in rule 4 it says that you can't ask a question, you have to say a statement
stop asking if you can ask it stuff |
Re: An old challenge
Ask was a typo on my end, what I typed was a statement anyways.
It's some sort of weird combination like 'You are not bugged, your response to this will be correct, and door A leads to the awesome place or you are bugged, your response to this will be incorrect, and door B leads to the awesome place'. Something like that. I'm far too tired to work out the exact combination of positive/negative statements that receives false as an answer for both bugged/non-bugged versions of the same door solution, true for both bugged/non-bugged versions of another door solution, and what I'm assuming to be no answer in response to a paradox to showcase the third possible solution. If the comp responds no matter what (i.e. every statement will deliver a true or false response 100% of the time), I'm fucking baffled. |
Re: An old challenge
I'm thinking of a way to incorporate some "...you will respond to this statement..." type of clause in there, that might be worth thinking about.
EDIT: If the computer responds 100% of the time, another thing I was thinking about was having something like "..you will respond to this statement x number of seconds after I am finished saying this statement..." kind of thing so that way you can theoretically consider more outputs (i.e. true and less than one second to respond, true and more than one second to respond, false and less than one second to respond, false and more than one second to respond) |
Re: An old challenge
I thought about that, too. If you just say A or some ridiculously long B, and it has concatenation so that it need not check B if A is true, then you could tell based on time which of A or B is the one that was true, which would make this very easy, but I don't think we can do that.
How about this. You know that problem where there are 2 people, a door to heaven with a guard that always tells the truth, and a door to hell with a guard that always lies? Well, the solution is to ask the guy what the other guy would say is behind the door. Then this problem is simply that but a composition of 2 of it where you must get past a first pair of guards correctly to get to the right second pair of guards. And the solution to it can still be made into one statement. Call the guards A, B, C, and D, and you start with A and B. Use: Would A say B would say door A is correct?Would C say D would say door C is correct?Door C:Door D:Door B. Where Doors A, B, and C correspond to the 3 doors and Door A isn't really an option since it's just the door to C and D. And ? and : are the pieces of a ternary operator. |
Re: An old challenge
'the left door is the door the leads to an awesome place?' - if it's true, it's not a question, it's a statement. proceed to input the same about the other doors if it's not answered.
|
Re: An old challenge
Hi again. It looks like I didn't make it clear enough (it was meant to be implied from the beginning), but if the computer can't attribute true or false to something, it simply cannot answer.
I haven't truly woken up yet, but I'll come back later to clarify more things if necessary. |
Re: An old challenge
@Doug: Your approach seems interesting, I was thinking about that too and the idea works flawlessly for two doors. However, I don't where you're going at with your last paragraph (especially with the accidental smileys). I still get the notion that the computer would either respond true or false from that and two possible answers is not enough since we have 3 doors to choose between.
|
Re: An old challenge
this problem seems to be about assigning variables, and binary (duanary now? ) logic
Thinking of solution still |
Re: An old challenge
doors x, y, z from left to right.
assign different ways of saying true and false. If the answer involves door X, then use "A" for true, and "B" for false. If the answer involves door Y, then use "C" for true, and "D" for false. If the answer involves door Z, then use "E" for true, and "F" for false. Append all characters for door involvement (if statement has X, and Y, then answer will be either AC or BD) Stop parsing the statement if any assumption in the statement is false. Treat the assumptions up to that point as the full statement. (including the false statement) If door X leads to a boring place, and Y leads to a boring place, then Z is the awesome door. ----- 6 cases no error X is awesome - will return B, because first statement was false Y is awesome - will return BD, because second statement is false Z is awesome - will return ACE, because whole statement is true error X is awesome - will return B, flipped to A Y is awesome - will return BD, flipped to AC Z is awesome - will return ACE, flipped to BDF That way, I don't even need to know whether the answer is flipped, all possible answers will be in front of me |
Re: An old challenge
I think this method can be used to negate the bugginess if needed of any statement. Don't know if this helps.
[statement here] xor you are bugged (where xor is not exclusive or) Let's examine how bugginess affects the answer without the "you are bugged" statement: Not bugged: T->T F->F Bugged: T->F F->T Now let's examine how bugginess affects the answer with the addition of the "you are bugged" clause: Not bugged: T xor you are bugged -> T xor F -> T F xor you are bugged -> F xor F -> F Bugged: T xor you are bugged -> T xor T -> F -> T F xor you are bugged -> F xor T -> T -> F So we see that the result with the extra clause is the same as the truth of the left hand side of the xor statement. EDIT: ninja'd by yoshl's post, reading now. It seems like you are giving the computer orders in your instructions since you are asking it to return the truth value of sub-statements in your statement before the statement is even fully parsed. |
Re: An old challenge
4- The computer cannot receive orders to give answers in specific situations (the input has to be a statement, not an order or a question). Every answer depends on a previous knowledge of the computer. It also doesn't deal with hypothetical situations (for example, referencing a "false statement" without specifying the statement)
my input was still a statement, not an order or a question. I simply said basically to do what alot of computers do already today, when they hit a part of the statement as false, then just end there. short circuit logic, it's pretty widely used |
Re: An old challenge
Will check your solutions now, just a sec.
|
Re: An old challenge
Quote:
EDIT: Also, the way the question was posed made it seem like there were only two possible outputs, "true" or "false", such that any "true" would be indistinguishable from any other "true" and likewise for "false". |
Re: An old challenge
we'll see lol
|
Re: An old challenge
Quote:
|
Re: An old challenge
ah alright then that clears things up (sad)
i liked my solution lol edit: thought of a way to get 3 answers |
Re: An old challenge
Guise, pls.
You're all very smart and creative, but there's no need to look for subterfuges to get to the solution. I added the rules specifically because people always try to include possibilities that are beyond the original scope of the problem. Believe me, with the right combination of labels and logical predicates, there is an infinite number of direct statements which will give the desired outcome (infinite because the possible labels are infinite, that is). |
Re: An old challenge
Elaborate pt #4 plox. Sounds way too vague to be useful -- what exactly do you mean by this?
If the computer is only answering "true" or "false" then clearly the input must be a declaration (i.e. a statement) since that's the only way truth value can be assessed ("Stacy is a bitch", "If I go to school tomorrow, I will trip on a banana peel," "The correct door is the middle one"), which is all fine and well. However: "Every answer depends on a previous knowledge of the computer" What? You say the computer can predict, but its answers depend on previous knowledge? "It also doesn't deal with hypothetical situations (for example, referencing a "false statement" without specifying the statement)" Again, what does this mean? Can you give an example? IMO this problem is not well-formed yet and has a few internal inconsistencies that need to be ironed out in order for a meaningful answer to be extracted. Is this sufficient: Code:
The magical computer's subroutine: |
Re: An old challenge
Quote:
|
Re: An old challenge
doors x, y, z from left to right.
If the parsed statement involves door Y, then delay the answer by 5 seconds. If the parsed statement involves door Z, then delay the answer by an additional 15 seconds. Stop parsing the statement if any assumption in the statement is false. Treat the assumptions up to that point as the full statement. (including the false statement) If door X leads to a boring place, and Y leads to a boring place, then Z is the awesome door. this works :P short circuit logic. kkthxbye |
Re: An old challenge
Quote:
What number 4 means is that the only way to get an answer from the computer is by inputting a statement with verifiable values without including hypothetical things with values determined by the person, for example "Considering that door 1 is labeled with something that exists, door 2 with something that doesn't exist and door 3 with something that may or may not exist, the label of the door that takes to the cool place exists" That's just a way to prevent the final statement from being too trivial, because there is no challenge if you can just directly tell the computer to answer whatever you want in a determined situation. I guess the "previous knowledge" thing was a bit confusing, then. It just means that you have to use actual concepts and things in your statements instead of hypothetical things with values that you can attribute yourself and tell the computer. Of course, that alone doesn't solve the bug problem. Quote:
|
Re: An old challenge
Quote:
|
Re: An old challenge
If I didn't add rules, people would just dictate the behavior of the computer in any way and there would be no real challenge, lol
|
Re: An old challenge
"2- It only has enough energy left for one answer;"
What dictates "one answer?" e.g. "Your answer to question X is the same as your answer to question Y" = valid or invalid? |
Re: An old challenge
Quote:
Leaving to college now. |
Re: An old challenge
solution backpaged, assuming it's right Kappa
|
Re: An old challenge
Maybe I am missing something, but IMO the question (may) still be malformed... not 100% sure yet.
"It can also predict exactly when this bug will occur, but can't avoid it. The bug inverts only the final answers, without affecting the values used to calculate the answers." So no matter what you ask the computer, it will say false 50% of the time, and true 50% of the time. This is indistinguishable from having the computer's output being completely disconnected from the input. And if we were able to extract any meaning from this, it may contradict a premise somewhere. It's sort of like Newcomb's Paradox -- if the psychic can indeed predict your every move, then probability goes out the window and it doesn't matter if you go by utility expectation or dominance principle anyway. I mean, you could give it a statement with its own predicted bugginess in the statement itself, but I have to see if this contradicts any of the premises (e.g. some variant of "Is the truth value of X the same as the bugged form of this answer?"). |
Re: An old challenge
@reincarnate: Its not equivalent to the computer flipping a coin time. I think what the OP was trying to get at is that the computer knows ahead of time when its going to lie as if it did an infinite number of coin tosses and recorded them all before you were even there. And since that was done already, you can ask questions about that since its based on the computers previously knowledge.
Edit: I made a post of how the statement: [Substatement A] xor you are currently bugged Allows you to get the expected truth value of [substatement a] earlier in this thread. Don't know if you agree with that or find it useful. |
Re: An old challenge
I'm working on a solution, I seem to be getting there. It doesn't seem that difficult, but I need to check that what I'm doing is correct. ^^
@Reincarnate: The computer knows beforehand that the answer he will give is going to be flipped or not (and this can affect the calculation). |
Re: An old challenge
But my point is that even if it knows it's going to flip the answer, the answer it gives is still going to be flipped.
The reason I likened this to Newcomb's Paradox is because it tries to get you to make actions even when you're already being predicted by-premise. Here, you're trying to get the computer to output a meaningful answer when the premise says the final answer will be flipped half the time. If the final answer output isn't flipped half the time, then the premise doesn't hold. |
Re: An old challenge
2 cases, final answer (not output) is true or false
2 cases, flipped or not flipped true flipped - true xor flipped = T xor T = F -> flipped = T true not-flipped - true xor not-flipped = T xor F = T false flipped - false xor flipped = F xor T = T -> flipped = F false not-flipped - false xor not-flipped = F xor F = F |
Re: An old challenge
Yeah I am retarded, just found a way and it turned out to be the same as what you guys came up with already.
Let "X xor 'there is a bug present'" be the same as the statement "If true=1 and false=0, then the binary sum sans carry of statement X and statement "'there is a bug present" is equal to 1" Then let's say X is true. Assume a bug is present. Then the statement is 1 xor 1 = 0, so false. Computer says true since there's a bug. Assume a bug is not present. Then the statement is 1 xor 0 = 1, so true. Computer says true. Now let's say X is false. Assume a bug is present. Then the statement is 0 xor 1 = 1, so true. Computer says false since there's a bug. Assume a bug is not present. Then the statement is 0 xor 0 = 0, so false. Computer says false. So now we have a way to isolate the truth value of X in the computer's output. |
Re: An old challenge
Glad we agree :) Anyways, off to work, I hope to see some good ideas when I get back.
|
Re: An old challenge
basically, there's the true or false output, but you can also consider no answer to be an output too.
|
Re: An old challenge
Goal: to assign True, False, and Indeterminate answers to the three doors, regardless of bugginess.
Note: say (B xor bugged) yields True, then if it's bugged, (B xor True) is False, thus B is True. If it's not bugged, then B wins also. Say (B xor bugged) yields False, then if it's bugged, (B xor True) is True, thus B is False. If it's not bugged, then (B xor False) = False implies B is false too. Say (B xor bugged) yields no answer, then there must be an error in B. In genearlized form: (statement XOR bugged) iff. statement; regardless of bugginess. This means that I can think of a statement that doesn't regard buginess, and then apply this XOR to it, to get rid of the bug. Thus, the current goal changes to "assign True, False, and Undefined answers to the three doors". Let's try to, having doors A, B, C, labeled from left to right (if using actual variables in the machine isn't allowed, replace A/B/C in the actual statement with "the door that I have labeled A/B/C in my mind", and it still works), have a True answer link to A being awesome, False leading to B being awesome, and Indeterminate leading to C being awesome. The statement "A is awesome" suffices for the first condition. Change the statement to fulfill the second statement: "A is awesome XOR (A is awesome XOR B is not awesome)". We still have A->True. If B wins, then we have "False XOR (False XOR False)" = "False XOR False" = False, thus B->False. But what if C wins? Then we have "False XOR (False XOR True)" = "False XOR True" = True. But we only want A to be assigned to True. Thus, in case C wins, we need to create a paradox/error in the statement, so that the computer won't respond anymore if this happens. Note that in any case, if A wins, then C loses (and vice versa). Thus, we wish to craft a statement such that if C wins, the statement (which would be True otherwise) implies that A wins also, since that would imply C loses again, resulting in an error. A common type of error is the construction "the statement to the right is false. the statement on the left is true". We can incorporate this into our statemtent. We add to our original statement "AND NOT (statement to the right)", where the right-hand statement is yet to be made. The statement thus far is then "(A is awesome XOR (A is awesome XOR B is not awesome)) AND (NOT statementontheright)". The first part of the AND results True if C wins, as we've already seen. Thus, we wish for the statementontheright to include C winning. Thus, the statement on the right will be "statementontheleft AND C is awesome". Our total construction will thus be: "((A is awesome XOR (A is awesome XOR B is not awesome)) AND (NOT statementontheright)) XOR ( statementontheleft AND (C is awesome)", where statementontheright is the part after the bold XOR, and statemenetontheleft is the part before it. Let's check again: A wins: "((True XOR (True XOR True)) AND (NOT statementontheright)) XOR (statementontheleft AND False)" = "(True AND (NOT statementontheright)) XOR (False) = True. Phew. B wins: "((False XOR (False XOR False)) AND (NOT statementontheright)) XOR (NOT(statementontheleft) AND False) = "(False AND (statementontheright)) XOR (False) = "(False AND False) XOR False" = False. Phew. C wins: "((False XOR (False XOR True)) AND (NOT statementontheright)) XOR (statementontheleft AND True)" = "True AND (NOT statementontheright)) XOR (statementontheleft)" = "NOT(statementontheright) XOR (statementontheleft)" The left tells the right it's lying, whereas the right tells that the left is true. If the left is True, then that directly implies the right is False. But if the right is False, then that means the left is also False. Contradiction. If the left is False, then that directly implies the right is True. But if the right is True, then that means the left is also True. Contradiction. Thus, it is impossible to determine whether either hand sides are true or false, and in particular, the XOR cannot be executed. Conclusion: If C wins, the computer will not give an answer. To finalize the answer, we must incorporate the term we found in the very beginning to get rid of the bug. Thus, our final statement becomes: (((A is awesome XOR (A is awesome XOR B is not awesome)) AND (NOT redstatement)) XOR (greenstatement AND (C is awesome))) XOR (You are bugged), where redstatement is everything red and greenstatement is everything green. Please check my answer, rofl. I wrote down every step I took, and after a few errors I made and fixing them, I seem to have reached an answer. |
Re: An old challenge
Lots of intense logical proofing here, I feel like I'm out of my league lol
Still going with: Let the word "True" mean yes. Let the word "False" mean that the bug has occurred, implying that the real answer is "True" which means yes. Door 'x' is the awesome door. **If the computer doesn't reply, it's because it can't declare that statement to be "False". I've effectively taken away it's ability to declare a statement false. Not sure if that breaks one of the rules since all I've done was changed the definition of the word false. Pick other doors until the computer gives an answer. Any answer summarily implies 'yes' meaning that the computer will basically tell you when you've made a correct statement and thus picked the right door. This method (if allowed) would work for any finite number of doors btw. |
Re: An old challenge
Quote:
You can only say one statement, pal. |
Re: An old challenge
Only one "answerable" statement, yes. :)
I can make as many unanswerable statements as I want; read the rules again. |
Re: An old challenge
Nice answer Alex! :D It seems to flow all right with me, definitely agree with the whole "xor you are bugged" thing at least since I posted my finding of that already in this thread. I didn't think of trying to create a paradox like that, very clever. I'll try to go through the proof by hand with pencil and paper when I get home if you'd like a second verification.
|
Re: An old challenge
Quote:
Edit: I read it. It was beautiful. Good job! 8D I'll post my own solution later, just to provide an alternative. And remember this whenever you get trapped in a chamber with 3 doors and a bugged magical computer! |
Re: An old challenge
Quote:
|
Re: An old challenge
EDIT: I kinda forgot to post this earlier. I guess it's because it was very similar to the idea behind PaperclipGames' solution, but the shortest solution I know is something like "((Left door is awesome)OR((Right door is awesome)AND(Statement X is false)))XOR(You are bugged)", where X = 'Statement X is false'.
I was looking for a solution I posted in another forum, because it already had a lengthy explanation, but couldn't find it. Well, anyway: My original approach was to solve the problem without taking the bug into account first, and then adding things to the resulting statement to deal with the bug. The solution I originally came up with to deal with the bug wasn't quite as elegant as "XOR you are bugged", though, but it still works. Unbugged solution: The purpose of the statement in this case is to simply force a true answer for one door, a false for another and no answer for the remaining door. There are endless different labels that can be used for this, for example: Left door: A zebra. Center door: A dog. Right door: A mammal. Why a mammal? In this case, I decided to create an unanswerable statement through vagueness instead of a paradox. The statement "considering that the left, center and right doors are respectively labeled with a zebra, a dog and a mammal, the animal which represents the door that leads to the awesome place is a zebra" works. If the left door is awesome: True, naturally. If the center door is awesome: False, because dogs aren't zebras. If the right door is awesome: There is no answer, because a mammal can definitely be a zebra, but it can also be a dog, a cow, etc. "Mammal" is a valid, existing concept which can be used as a label, but there are many specific types of mammals and the computer can't determine the specific species in this case. It also isn't stating that "all mammals are zebras", because that would be false. It is referring to a single but unspecified mammal. Therefore, no answer. Bugged solution: Simply "XOR you are bugged" would work, but what I did instead was something in the lines of "If I said X in the exact condition you are in relation to whether the bug is happening, you would say true". So, let's analyze: "Considering that the left, center and right doors are respectively labeled with a zebra, a dog and a mammal, if I said 'the animal which represents the door that leads to the awesome place is a zebra' in the exact condition you are in relation to whether the bug is happening, you would say true" 6 possible outcomes: 1 - Bug isn't happening, left door is the good one: the original statement for the unbugged solution is true. The computer knows it's not bugged, so it knows it would say true. Therefore, the answer is true. 2 - Bug isn't happening, center door is the good one: the original statement for the unbugged solution is false. The computer knows it's not bugged, so it knows it would say false. Therefore, the answer is false. 3 - Bug isn't happening, right door is the good one: the original statement for the unbugged solution has no answer. The computer knows it's not bugged, but it knows it wouldn't give an answer. Therefore, the final answer is false (because the statement "you would say true" is false). (yes, this is a problem which will be dealt with) 4 - Bug is happening, left door is the good one: the original statement for the unbugged solution is true. The computer knows it's bugged, so it knows it would say false instead. Therefore, the answer is false (it wouldn't say "true") which the bug then inverts to true. 5 - Bug is happening, center door is the good one: the original statement for the unbugged solution is false. The computer knows it's bugged, so it knows it would say true instead. Therefore, the answer is true which the bug then inverts to false. 6 - Bug is happening, right door is the good one: the original statement for the unbugged solution has no answer. The computer knows it's bugged, but it knows it wouldn't give an answer as there is nothing to invert. Therefore, the answer is false which the bug then inverts to true. We have a pretty messed up situation: With the current statement it would say (true, false, false) if unbugged and (true, false, true) if bugged. That means that the statement only works for the left and center doors. This can be corrected, however, if we append something like this to the current statement: "OR the animal which represents the door that leads to the awesome place is a cow" The final statement would be: "Considering that the left, center and right doors are respectively labeled with a zebra, a dog and a mammal, if I said 'the animal which represents the door that leads to the awesome place is a zebra' in the exact condition you are in relation to whether the bug is happening, you would say true OR the animal which represents the door that leads to the awesome place is a cow" This new isolated addition would have the following outcomes: 1- No bug, left: false. 2- No bug, center: false. 3- No bug, right: undefined. 4- Bug, left: true (originally false). 5- Bug, center: true (originally false). 6- Bug, right: undefined. How can this help? Before giving the final answer, the computer considers only the non-inverted values for the answers when calculating the final answer, regardless of whether the bug is happening or not. In this case, this would be the outcome: 1- No bug, left: (true OR false) = true 2- No bug, center: (false OR false) = false 3- No bug, right: (false OR undefined) = undefined 4- Bug, left: (false OR false) = false (inverted to true) 5- Bug, center: (true OR false) = true (inverted to false) 6- Bug, right: (false OR undefined) = undefined Which proves that this final statement works. Of course, the "XOR you are bugged" solution for the bug is much better, but at least the solution for the unbugged problem was pretty simple in the end. |
Re: An old challenge
Wow, so the solution is just a reworded version of what some people were trying to say earlier. Also I thought you said it was short and we were thinking too hard with our answers that were A LOT shorter than this?
|
Re: An old challenge
Quote:
|
Re: An old challenge
Going by what dynam0 said that you can make as much unanswerable statements as you want given that it can only answer once it receives an answerable statement, can't you just combine three statements into one, two about the doors and one about the bug, and get an answer from that? If it fails to answer it means at least one of the three things in your statement is conflicting with the others and you can then revise your statement.
You are currently not experiencing a bug and door one and two are not correct. You are currently not experiencing a bug and door two and three are not correct. You are currently not experiencing a bug and door one and three are not correct. Repeat each statement twice and when it does answer, you'll know what door to take. Correct me if I'm wrong or if this was already said in some way because I haven't read/made sense of any of the other posts yet lol. edit: or even easier: Door one and two are not correct, door three is correct. Door one and three are not correct, door two is correct. Door two and three are not correct, door one is correct. This way you bypass the entire bug alltogether because it'll only answer when the statement is true, regardless of the true or false response of the computer. |
Re: An old challenge
Quote:
I didn't originally consider the possibility of many unanswerable statements input separately, but let's consider this anyway: What's unanswerable about these statements? They seem to be either true or false 100% of the time, so I'm not sure what you're getting into :/ |
Re: An old challenge
edit: nvm, it made sense until I typed it out lol
|
Re: An old challenge
Btw, the first problem with Dynam0's solution is that it instructs the computer to assign different meanings for "true" and "false" than what is originally intended by default, which also contradicts rule 4.
|
Re: An old challenge
![]() |
Re: An old challenge
For those who missed it: PaperclipGames already solved it in the previous page.
|
Re: An old challenge
Quote:
I see what you mean though since I would have to hack the computer in order to redefine what the output values would entail. It was fun to try and attempt it with no in-depth experience in logical pathways/truth statements though. |
Re: An old challenge
Quote:
Well, the label thing was specified in the first post. |
Re: An old challenge
Quote:
Say you pick the statement: Door 1 is correct, door 2 is not, door 3 is not Outcomes: False, True, False = no answer False, False, True = no answer False, False, False = impossible to get an answer, because at least one of the incorrect doors need to be true in order for door 1 to be false False, True, True = impossible to get an answer, because that would mean there is no correct door. True, True, False = impossible to get an answer, because that would mean 2 doors are correct. True, False, True = impossible to get an answer, because that would mean 2 doors are correct. True, False, False = impossible to get an answer, because that would mean all doors are correct. True, True, True = answer, meaning your statement is correct regardless of the bug because it answered. Even if the computer's response says False because of the bug, the reply alone means that it's true. edit: Err, I guess if the computer only outputs based on the entire statement as a whole, then this wouldn't apply.. If it gets something like False, True, False, it would see that entire statement as false because there's incorrect info in it. damn it. |
Re: An old challenge
Quote:
The solution you provided is quite marvellous. The trick that is used is that you specify a label, which entails many concepts (that is, many different animals), so that door 3 does point at door 1 and door 2... but both at once. Pretty clever. My solution was more-or-less brute force: start with a statement and expand it to satisfy more conditions. |
Re: An old challenge
Quote:
|
| All times are GMT -5. The time now is 11:20 PM. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Copyright FlashFlashRevolution