Thanks (and I actually read the other new comments on the post before responding this time!) I still have two objections.
The first one (which is probably just a failure of my imagination and is in some way incorrect) is that I still don’t see how some simple algorithms would fail. For example, the ass stares at the bales for 15 seconds, then it moves towards whichever one it estimates is larger (ignoring variance in estimates). If it turns out that they are exactly equal, it instead picks one at random. For simplicity, let’s say it takes the first letter of the word under consideration (h), plugs the corresponding number (8) as a seed into a pseudorandom integer generator, and then picks option 1 if the result is even, option 2 if it’s odd. It does seem like this might induce a discontinuity in decisions, but I don’t see where it would fail (so I’d like someone to tell me =)).
The second objection is that our world is, in fact, not continuous (with the Planck length and whatnot). My very mediocre grasp of QM suggests to me that if you try to use continuity to break the ass’s algorithm (and it’s a sufficiently good algorithm), you’ll just find the point where its decisions are dominated by quantum uncertainty and get it to make true random choices. Or something along those lines.
For example, the ass stares at the bales for 15 seconds, then it moves towards whichever one it estimates is larger (ignoring variance in estimates). If it turns out that they are exactly equal, it instead picks one at random.
Your problem is that you’re using an algorithm that can only be approximated on an analog computer. You can’t do flow control like that. If you want it to do A if it has 0 as an input and B if it has 1 as an input, you can make it do A+(B-A)x where x is the input, but you can’t just make it do A under one condition and B under another. If continuity is your only problem, you can make it do A+(B-A)f(x), where f(x)=0 for 0<=x<=0.49 and f(x)=1 for 0.51<=x<=1, but f(x) still has to come out to 1⁄2 when x is somewhere between 0.49<x<0.51.
If you tried to do your algorithm, after 15 seconds, there’d have to be some certainty level where the Ass will end up doing some combination of going left and choosing at random, which will keep it in the same spot if “random” was right. If “random” is instead left, then it stops if it’s half way between that and right.
The second objection is that our world is, in fact, not continuous (with the Planck length and whatnot).
I’m not really sure where that idea came from. Quantum physics is continuous. In fact, derivatives are vital to it, and you need continuity to have them. The position of an object is spread out over a waveform instead of being at a specific spot like a billiard ball, but the waveform is a continuous function of position. The waveform has a center of mass that can be specified however much you want. Also, the Planck length seems kind of arbitrary. It means something if you have an object with size one Planck mass (about the size of a small flea), but a smaller object would have a more spread out waveform, and a larger object would have a tighter one.
get it to make true random choices.
That would make it so you can’t purposely fool the Ass, but it won’t keep that from happening on accident. For example, if you try to balance a needle on the tip outside when there’s a little wind, you’re (probably) not going to be able to do it by making it stand up perfectly straight. It’s going to have to tilt a little so it leans into every gust of wind. But there’s still some way to get it to balance indefinitely.
The second objection is that our world is, in fact, not continuous (with the Planck length and whatnot).
I’m not really sure where that idea came from. Quantum physics is continuous. In fact, derivatives are vital to it, and you need continuity to have them. The position of an object is spread out over a waveform instead of being at a specific spot like a billiard ball, but the waveform is a continuous function of position. The waveform has a center of mass that can be specified however much you want. Also, the Planck length seems kind of arbitrary. It means something if you have an object with size one Planck mass (about the size of a small flea), but a smaller object would have a more spread out waveform, and a larger object would have a tighter one.
The Plank length is irrelevant but quantization isn’t. Specifically, with with quantum mechanics it’s possible to get the ass to be in a superposition of eating from one or the other (but not in the middle) in bounded time.
Okay, thanks for the explanation. It does seem that you’re right*, and I especially like the needle example.
*Well, assuming you’re allowed to move the hay around to keep the donkey confused (to prevent algorithms where he tilts more and more left or whatever from working). Not sure that was part of the original problem, but it’s a good steelman.
You don’t have to move the hay during the experiment. The donkey is the one that moves.
If he goes left as he gets hungry, you move the bale to his right a tad closer, and he’ll slowly inch towards it. He’ll slow down instead of speed up as he approaches it because he’s also getting hungrier.
Does that really work for all (continuous? differentiable?) functions. For example, if his preference for the bigger/closer one is linear with size/closeness, but his preference for the left one increases quadratically with time, I’m not sure there’s a stable solution where he doesn’t move. I feel like if there’s a strong time factor, either a) the ass will start walking right away and get to the size-preferred hay, or b) he’ll start walking once enough time has past and get to the time-preferred hay. I could write down an equation for precision if I figure out what it’s supposed to be in terms of, exactly...
I’m not sure there’s a stable solution where he doesn’t move.
Like I said, the hay doesn’t move, but the donkey does. He starts walking right away to the bigger pile, but he’ll slow down as time passes and he starts wanting the other one.
Interestingly, that trick does get the ass to walk to at least one bale in finite time, but it’s still possible to get it to do silly things, like walk right up to one bale of hay, then ignore it and eat the other.
I’m not sure there’s a stable solution
The solutions are almost certainly unstable. That is, once you find some ratio of bale sizes that will keep the donkey from eating, an arbitrarily small change can get it to eat eventually.
Interestingly, that trick does get the ass to walk to at least one bale in finite time, but it’s still possible to get it to do silly things, like walk right up to one bale of hay, then ignore it and eat the other.
Okay, sure, but that seems like the problem is “solved” (i.e. the donkey ends up eating hay instead of starving).
Thanks (and I actually read the other new comments on the post before responding this time!) I still have two objections.
The first one (which is probably just a failure of my imagination and is in some way incorrect) is that I still don’t see how some simple algorithms would fail. For example, the ass stares at the bales for 15 seconds, then it moves towards whichever one it estimates is larger (ignoring variance in estimates). If it turns out that they are exactly equal, it instead picks one at random. For simplicity, let’s say it takes the first letter of the word under consideration (h), plugs the corresponding number (8) as a seed into a pseudorandom integer generator, and then picks option 1 if the result is even, option 2 if it’s odd. It does seem like this might induce a discontinuity in decisions, but I don’t see where it would fail (so I’d like someone to tell me =)).
The second objection is that our world is, in fact, not continuous (with the Planck length and whatnot). My very mediocre grasp of QM suggests to me that if you try to use continuity to break the ass’s algorithm (and it’s a sufficiently good algorithm), you’ll just find the point where its decisions are dominated by quantum uncertainty and get it to make true random choices. Or something along those lines.
Your problem is that you’re using an algorithm that can only be approximated on an analog computer. You can’t do flow control like that. If you want it to do A if it has 0 as an input and B if it has 1 as an input, you can make it do A+(B-A)x where x is the input, but you can’t just make it do A under one condition and B under another. If continuity is your only problem, you can make it do A+(B-A)f(x), where f(x)=0 for 0<=x<=0.49 and f(x)=1 for 0.51<=x<=1, but f(x) still has to come out to 1⁄2 when x is somewhere between 0.49<x<0.51.
If you tried to do your algorithm, after 15 seconds, there’d have to be some certainty level where the Ass will end up doing some combination of going left and choosing at random, which will keep it in the same spot if “random” was right. If “random” is instead left, then it stops if it’s half way between that and right.
I’m not really sure where that idea came from. Quantum physics is continuous. In fact, derivatives are vital to it, and you need continuity to have them. The position of an object is spread out over a waveform instead of being at a specific spot like a billiard ball, but the waveform is a continuous function of position. The waveform has a center of mass that can be specified however much you want. Also, the Planck length seems kind of arbitrary. It means something if you have an object with size one Planck mass (about the size of a small flea), but a smaller object would have a more spread out waveform, and a larger object would have a tighter one.
That would make it so you can’t purposely fool the Ass, but it won’t keep that from happening on accident. For example, if you try to balance a needle on the tip outside when there’s a little wind, you’re (probably) not going to be able to do it by making it stand up perfectly straight. It’s going to have to tilt a little so it leans into every gust of wind. But there’s still some way to get it to balance indefinitely.
The Plank length is irrelevant but quantization isn’t. Specifically, with with quantum mechanics it’s possible to get the ass to be in a superposition of eating from one or the other (but not in the middle) in bounded time.
Okay, thanks for the explanation. It does seem that you’re right*, and I especially like the needle example.
*Well, assuming you’re allowed to move the hay around to keep the donkey confused (to prevent algorithms where he tilts more and more left or whatever from working). Not sure that was part of the original problem, but it’s a good steelman.
You don’t have to move the hay during the experiment. The donkey is the one that moves.
If he goes left as he gets hungry, you move the bale to his right a tad closer, and he’ll slowly inch towards it. He’ll slow down instead of speed up as he approaches it because he’s also getting hungrier.
Does that really work for all (continuous? differentiable?) functions. For example, if his preference for the bigger/closer one is linear with size/closeness, but his preference for the left one increases quadratically with time, I’m not sure there’s a stable solution where he doesn’t move. I feel like if there’s a strong time factor, either a) the ass will start walking right away and get to the size-preferred hay, or b) he’ll start walking once enough time has past and get to the time-preferred hay. I could write down an equation for precision if I figure out what it’s supposed to be in terms of, exactly...
Like I said, the hay doesn’t move, but the donkey does. He starts walking right away to the bigger pile, but he’ll slow down as time passes and he starts wanting the other one.
Interestingly, that trick does get the ass to walk to at least one bale in finite time, but it’s still possible to get it to do silly things, like walk right up to one bale of hay, then ignore it and eat the other.
The solutions are almost certainly unstable. That is, once you find some ratio of bale sizes that will keep the donkey from eating, an arbitrarily small change can get it to eat eventually.
Okay, sure, but that seems like the problem is “solved” (i.e. the donkey ends up eating hay instead of starving).
It can also use the “always eat the left bale first” strategy, although that gets kind of odd if it does it with a bale of size zero.
There is a problem if you want to make it make an actual binary decision, like go to one bale and stay.