Flash Flash Revolution: Community Forums

Flash Flash Revolution: Community Forums (http://www.flashflashrevolution.com/vbz/index.php)
-   Critical Thinking (http://www.flashflashrevolution.com/vbz/forumdisplay.php?f=33)
-   -   An old challenge (http://www.flashflashrevolution.com/vbz/showthread.php?t=131260)

Zaevod 08-5-2013 07:22 PM

An old challenge
 
This is a challenge I posted in some places before. There are infinite solutions, but they aren't really trivial.

Quote:

You are in a locked chamber with 3 identical doors. You have a single key, which is disintegrated immediately after you unlock any of the three doors. The doors are indestructible, and it's impossible to figure out what's behind them without opening them first or asking a magical computer.

One door leads to an awesome place, while the other 2 lead to an incredibly boring place.

In this chamber, there is also a magical computer which possesses all the information that can be obtained about existence. It has a few peculiarities:

1- When you input an answerable statement, it only answers with either "true" or "false";

2- It only has enough energy left for one answer;

3- It has a bug that causes the answers to be inverted (true becomes false, and vice-versa) 50% of the time. 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.

4 (EDIT)- The computer cannot receive orders to give answers in specific situations (the input has to be a statement, not an order or a question). Statements MUST include actual things (concepts, objects) with verifiable values, but these things cannot be hypothetical things with values directly attributed by the person, they must depend on the thing itself.

5- You can attribute labels and concepts to each door and use these labels in your final statement, but you must specify which label refers to which door (e.g. 'labeling the left, center and right doors with x,y and z, respectively, statement about x, y and z and the doors they represent.');

6- The computer is very smart and can understand any statement exactly as you intend it to (but you need to have an actually meaningful statement that you can understand). This just means that words will be interpreted in the correct context and language;

7- The computer cannot be hacked through any means.

How can you figure out the door that takes you to the good place, with 100% certainty?
I have a possible solution I'll post if nobody finds an answer.

Edit: someone already found a solution here: http://www.flashflashrevolution.com/...1&postcount=55

TheSaxRunner05 08-5-2013 09:08 PM

Re: An old challenge
 
Make it like "the cube" movie where 1 room is safe and the other two kill you painfully.

Zaevod 08-5-2013 10:13 PM

Re: An old challenge
 
Could be that, too. The point is that you need to discover which door is the good one, either way.

Doug31 08-5-2013 11:02 PM

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?

Dynam0 08-5-2013 11:52 PM

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

Doug31 08-6-2013 12:03 AM

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.

Zaevod 08-6-2013 01:01 AM

Re: An old challenge
 
Quote:

Originally Posted by Doug31 (Post 3953127)
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?

Yes (I'm glad people here didn't take an eternity to figure this out like others, lol).

Quote:

Originally Posted by Dynam0 (Post 3953181)
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.

...
There's probably a dumb philosophical loop-hole in this whole thing lol

You can work around the bug with logic.

Quote:

Originally Posted by Doug31 (Post 3953208)
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.

You can't make the computer overflow like that. It's far simpler than that, really (in some aspects. The statement will ultimately be a little complicated, anyway). Read the first post carefully.

Spenner 08-6-2013 01:03 AM

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?

Doug31 08-6-2013 01:05 AM

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.

Zaevod 08-6-2013 01:12 AM

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.

Spenner 08-6-2013 01:19 AM

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

Zaevod 08-6-2013 01:21 AM

Re: An old challenge
 
Quote:

Originally Posted by Spenner (Post 3953276)
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?

The computer cannot attribute "true" or "false" to things that are neither, and those are the two possible output messages. So...

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:

Originally Posted by Spenner (Post 3953276)
"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"

Doesn't work, sorry.

Spenner 08-6-2013 01:25 AM

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?

Zaevod 08-6-2013 01:28 AM

Re: An old challenge
 
Quote:

Originally Posted by Spenner (Post 3953287)
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?

Your statement needs to be something of the type "X exists", "X or Y are Z", etc., which means it must be a phrase that can be answered with true or false.

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.

Doug31 08-6-2013 01:33 AM

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.

Zaevod 08-6-2013 01:38 AM

Re: An old challenge
 
Quote:

Originally Posted by Doug31 (Post 3953293)
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.

The computer can't tell what you mean if you don't know what you mean XD (how can you mean something without knowing it???)

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

Dynam0 08-6-2013 01:41 AM

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

Doug31 08-6-2013 01:57 AM

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.

One Winged Angel 08-6-2013 02:07 AM

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)

xThai 08-6-2013 02:23 AM

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.

top 08-6-2013 03:03 AM

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

One Winged Angel 08-6-2013 03:19 AM

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.

reuben_tate 08-6-2013 03:42 AM

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)

Doug31 08-6-2013 04:25 AM

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.

The_Toymaker 08-6-2013 04:26 AM

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.

Zaevod 08-6-2013 09:00 AM

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.

reuben_tate 08-6-2013 09:13 AM

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.

YoshL 08-6-2013 09:21 AM

Re: An old challenge
 
this problem seems to be about assigning variables, and binary (duanary now? ) logic

Thinking of solution still

YoshL 08-6-2013 09:37 AM

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

reuben_tate 08-6-2013 10:21 AM

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.

YoshL 08-6-2013 10:31 AM

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

Zaevod 08-6-2013 10:39 AM

Re: An old challenge
 
Will check your solutions now, just a sec.

reuben_tate 08-6-2013 10:40 AM

Re: An old challenge
 
Quote:

Originally Posted by YoshL (Post 3953443)
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)

This entire section is all orders however imho. You're telling the computer to do certain things according to your exact preferences and specifications.

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".

YoshL 08-6-2013 10:41 AM

Re: An old challenge
 
we'll see lol

Zaevod 08-6-2013 10:41 AM

Re: An old challenge
 
Quote:

Originally Posted by YoshL (Post 3953443)
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.

Unfortunately, that's not possible, even if the rest is logically correct (haven't really check, as this part basically invalidates it). The two output messages are "true" or "false", and cannot be changed.

YoshL 08-6-2013 10:42 AM

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

Zaevod 08-6-2013 10:45 AM

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).

Reincarnate 08-6-2013 11:35 AM

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:

def answerMain(statement):

    if trueOrFalseStatement(statement):

        answer = getAnswer(statement) #getAnswer() returns 1 if true, 0 if false

        if bug(): #50% chance of being true
            return 1-answer
        else:
            return answer

    else:

        print "You will now be flayed alive and pumped full of neurotoxin."
        flay()
        pumpNeurotoxin()
        return fuck you++

#Program written courtesy of GLaDOS and Ramsay Snow


MracY 08-6-2013 11:49 AM

Re: An old challenge
 
Quote:

Originally Posted by TheSaxRunner05 (Post 3953048)
Make it like "the cube" movie where 1 room is safe and the other two kill you painfully.

No, because that way you couldn't head back after checking out one of the rooms.

YoshL 08-6-2013 11:54 AM

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

Zaevod 08-6-2013 12:10 PM

Re: An old challenge
 
Quote:

Originally Posted by Reincarnate (Post 3953512)
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.

Sorry, I'll try to be as clear as possible.

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:

Originally Posted by Reincarnate (Post 3953512)
Is this sufficient:

Code:

The magical computer's subroutine:

def answerMain(statement):

    if trueOrFalseStatement(statement):

        answer = getAnswer(statement) #getAnswer() returns 1 if true, 0 if false

        if bug(): #50% chance of being true
            return 1-answer
        else:
            return answer

    else:

        print "You will now be flayed alive and pumped full of neurotoxin."
        flay()
        pumpNeurotoxin()
        return fuck you++

#Program written courtesy of GLaDOS and Ramsay Snow


Pretty much. Except that it does nothing in that last part. And, well, the way to solve the bug must be included in the statement, too.

MracY 08-6-2013 12:25 PM

Re: An old challenge
 
Quote:

Originally Posted by Zaevod (Post 3953486)
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).

How boring.

Zaevod 08-6-2013 12:26 PM

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

Reincarnate 08-6-2013 12:33 PM

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?

Zaevod 08-6-2013 12:36 PM

Re: An old challenge
 
Quote:

Originally Posted by Reincarnate (Post 3953532)
"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?

Valid. It means there will be only one "true" or "false" message in the end. It can calculate infinte values (which can include final answers from other statements that would be given in specific situations) but will only give one answer in the end.

Leaving to college now.

YoshL 08-6-2013 12:40 PM

Re: An old challenge
 
solution backpaged, assuming it's right Kappa

Reincarnate 08-6-2013 01:21 PM

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?").

reuben_tate 08-6-2013 01:34 PM

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.

PaperclipGames 08-6-2013 01:45 PM

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).

Reincarnate 08-6-2013 01:51 PM

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.

YoshL 08-6-2013 01:59 PM

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

Reincarnate 08-6-2013 02:26 PM

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.

reuben_tate 08-6-2013 02:33 PM

Re: An old challenge
 
Glad we agree :) Anyways, off to work, I hope to see some good ideas when I get back.

YoshL 08-6-2013 02:35 PM

Re: An old challenge
 
basically, there's the true or false output, but you can also consider no answer to be an output too.

PaperclipGames 08-6-2013 02:46 PM

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.

Dynam0 08-6-2013 05:06 PM

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.

PaperclipGames 08-6-2013 05:22 PM

Re: An old challenge
 
Quote:

Originally Posted by Dynam0 (Post 3953717)
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.

This would result in a 1/3 chance of the computer saying either True or False, and a 2/3 chance of it saying nothing. Therefore, no guarantees. Your method doesn't work.

You can only say one statement, pal.

Dynam0 08-6-2013 05:24 PM

Re: An old challenge
 
Only one "answerable" statement, yes. :)

I can make as many unanswerable statements as I want; read the rules again.

reuben_tate 08-6-2013 05:27 PM

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.

Zaevod 08-6-2013 05:27 PM

Re: An old challenge
 
Quote:

Originally Posted by PaperclipGames (Post 3953631)
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.

I will, in a moment.

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!

PaperclipGames 08-6-2013 05:57 PM

Re: An old challenge
 
Quote:

Originally Posted by Dynam0 (Post 3953735)
Only one "answerable" statement, yes. :)

I can make as many unanswerable statements as I want; read the rules again.

Ahhh! I see! Yeah, but it depends on whether you can define False to mean True.

Zaevod 08-6-2013 06:57 PM

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.

Doug31 08-6-2013 07:05 PM

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?

Zaevod 08-6-2013 07:08 PM

Re: An old challenge
 
Quote:

Originally Posted by Doug31 (Post 3953779)
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?

It's not "the" solution, just a possible solution. Paperclip also solved it (the others had the idea to solve it, but didn't come up with a definitive statement), that's why I posted (check his answer, it's better anyway). Your answers were short, but they didn't fully work. I didn't really say it was short, did I? I said it wasn't trivial.

Nullifidian 08-6-2013 09:20 PM

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.

Zaevod 08-6-2013 11:06 PM

Re: An old challenge
 
Quote:

Originally Posted by _.Spitfire._ (Post 3953839)
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.

The statements themselves are redundant ("door three is correct" means the same as "door one and two are not correct"), but, anyway, let's see...

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 :/

One Winged Angel 08-6-2013 11:11 PM

Re: An old challenge
 
edit: nvm, it made sense until I typed it out lol

Zaevod 08-6-2013 11:19 PM

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.

Reincarnate 08-6-2013 11:20 PM

Re: An old challenge
 

Zaevod 08-6-2013 11:22 PM

Re: An old challenge
 
For those who missed it: PaperclipGames already solved it in the previous page.

Dynam0 08-6-2013 11:27 PM

Re: An old challenge
 
Quote:

Originally Posted by Zaevod (Post 3953888)
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.

Well if you can call a door a mammal why the heck can't I redefine what true and false imply? lol jk

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.

Zaevod 08-6-2013 11:30 PM

Re: An old challenge
 
Quote:

Originally Posted by Dynam0 (Post 3953895)
Well if you can call a door a mammal why the heck can't I redefine what true and false imply? lol jk

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.

XP
Well, the label thing was specified in the first post.

Nullifidian 08-7-2013 12:26 AM

Re: An old challenge
 
Quote:

Originally Posted by Zaevod (Post 3953869)
The statements themselves are redundant ("door three is correct" means the same as "door one and two are not correct"), but, anyway, let's see...

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 :/

By including all three doors instead of say, two doors you prevent the computer from answering a statement it could answer which would mean you could be none the wiser if it does answer and you'd have wasted your only possibility on an answer.

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.

PaperclipGames 08-7-2013 05:06 PM

Re: An old challenge
 
Quote:

Originally Posted by Zaevod (Post 3953890)
For those who missed it: PaperclipGames already solved it in the previous page.

(sun)

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.

Choofers 08-7-2013 08:52 PM

Re: An old challenge
 
Quote:

Originally Posted by Reincarnate (Post 3953889)

there is malt liquor on my monitor, HELP


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