Puzzle 2 (I now think my approach is actually right):
[new]: Roll a d1697 (which is prime, I double-checked). Either the result is in the first 674 (337*2), or the middle 1011 (337*3), or the last 12 (2*2*3). If it’s in the first 674, you now need to roll a d3 to figure out whether it’s 1-674, 675-1348, or 1349-2022. If it’s in the middle 1011, you now need to roll a d2 to figure out whether it’s 1-1011 or 1012-2022. If it’s in the last 12, you need to mod 6 and then roll a d337 to figure out whether it’s 1-337, 338-674, etc. --- [edit: shown wrong by kuhanj] Roll a d1089. Either the result is in the first 1011, or the latter 78. If in the 1011, roll a d2 to determine whether they’re in 1-1011 or 1012-2022. If in the 78, mod by 6 to get a number between 0 and 5, which determines whether the winner is in 1-337, 338-674, etc; now roll a d337 to determine which one in the group. Two rolls, guaranteed. --- [original, shown wrong by Measure] Can’t you just roll a d2 and a d1011, which identifies the relevant person in two rolls guaranteed? (i.e. the d2 tells you whether they’re in 1-1011 or 1012-2022, and then the second roll tells you which person.) I don’t think you can do better than this, because there’s no way to do it in 1 roll (you need a die of size 2022), and I don’t think there’s a way to do it in less than 2 rolls (because while you can use your first roll to switch what your second roll will be, you can’t allocate probability on the first roll such that you don’t need a second roll, because otherwise you won’t be uniformly selecting from all of the people).
Puzzle 3:
So here’s a partial sketch pointing towards a solution, but it needs a lot of work and maybe more coins.
Pick p=1/2, and generate a binary string of length 11 with 11 flips. If it’s in the first 2021 numbers, that identifies your person. If it’s not, subtract 2021 to get a number between 0 and 26, and repeat. [This doesn’t have an upper bound yet.]
Line of attack one: shift p such that you can make a very long string which does divide into 2021 parts evenly. I think this ends up being a giant pain because you need to carefully adjust for the different probabilities of all of the different table elements. [Edit: Unexpected_Values found this solution and had an elegant proof of it.]
Line of attack two: shift the number of flips such that the remainder ends up a multiple of 43 (and separately) 47. If you can get both, then you can do the first series of flips, stop if it identifies someone and save the remainder mod 43 if it doesn’t, and then do the second series of flips, which either identifies someone directly or gives you a remainder mod 47, and then the two remainders identify someone, and you have an upper bound. [Some brief searching through numbers in python makes me somewhat pessimistic that this will work.]
1089 isn’t prime either (1089 is 9*121). I think this approach might not work in general because of the two relevant numbers for the first die needing to share a factor. The first prime has to be of the form A+B, where A= 2022/(prime divisor of 2022), and B = number that is a multiple of 2022/(product of 2 its primes) for the above method to work. But no such prime exists since A must be divisible by two of (2,3, 337), and B must also be divisible by two of (2,3, and 337), so they must share at least one non-one factor, and can’t be prime.
Well, I would clearly not last long among the pebble-sorters. I think your criticism is almost right.
Unless we can come up with some scheme whereby there’s only one prime left for particular regions, which I think would require 2*337+3*337+n*2*3 to be prime, which it looks to me like 1697=337*5+12 is.
Puzzle 2 (I now think my approach is actually right):
[new]:
Roll a d1697 (which is prime, I double-checked). Either the result is in the first 674 (337*2), or the middle 1011 (337*3), or the last 12 (2*2*3).
If it’s in the first 674, you now need to roll a d3 to figure out whether it’s 1-674, 675-1348, or 1349-2022.
If it’s in the middle 1011, you now need to roll a d2 to figure out whether it’s 1-1011 or 1012-2022.
If it’s in the last 12, you need to mod 6 and then roll a d337 to figure out whether it’s 1-337, 338-674, etc.
---
[edit: shown wrong by kuhanj]
Roll a d1089. Either the result is in the first 1011, or the latter 78.
If in the 1011, roll a d2 to determine whether they’re in 1-1011 or 1012-2022.
If in the 78, mod by 6 to get a number between 0 and 5, which determines whether the winner is in 1-337, 338-674, etc; now roll a d337 to determine which one in the group. Two rolls, guaranteed.
---
[original, shown wrong by Measure] Can’t you just roll a d2 and a d1011, which identifies the relevant person in two rolls guaranteed? (i.e. the d2 tells you whether they’re in 1-1011 or 1012-2022, and then the second roll tells you which person.)
I don’t think you can do better than this, because there’s no way to do it in 1 roll (you need a die of size 2022), and I don’t think there’s a way to do it in less than 2 rolls (because while you can use your first roll to switch what your second roll will be, you can’t allocate probability on the first roll such that you don’t need a second roll, because otherwise you won’t be uniformly selecting from all of the people).
Puzzle 3:
So here’s a partial sketch pointing towards a solution, but it needs a lot of work and maybe more coins.
Pick p=1/2, and generate a binary string of length 11 with 11 flips. If it’s in the first 2021 numbers, that identifies your person. If it’s not, subtract 2021 to get a number between 0 and 26, and repeat. [This doesn’t have an upper bound yet.]
Line of attack one: shift p such that you can make a very long string which does divide into 2021 parts evenly. I think this ends up being a giant pain because you need to carefully adjust for the different probabilities of all of the different table elements. [Edit: Unexpected_Values found this solution and had an elegant proof of it.]
Line of attack two: shift the number of flips such that the remainder ends up a multiple of 43 (and separately) 47. If you can get both, then you can do the first series of flips, stop if it identifies someone and save the remainder mod 43 if it doesn’t, and then do the second series of flips, which either identifies someone directly or gives you a remainder mod 47, and then the two remainders identify someone, and you have an upper bound. [Some brief searching through numbers in python makes me somewhat pessimistic that this will work.]
Re problem 2:
1089 isn’t prime either (1089 is 9*121). I think this approach might not work in general because of the two relevant numbers for the first die needing to share a factor. The first prime has to be of the form A+B, where A= 2022/(prime divisor of 2022), and B = number that is a multiple of 2022/(product of 2 its primes) for the above method to work. But no such prime exists since A must be divisible by two of (2,3, 337), and B must also be divisible by two of (2,3, and 337), so they must share at least one non-one factor, and can’t be prime.
Oh, yeah, oops, I didn’t read it well enough. Anyway, it is right now, so ill leave my comment endorsing it.
[I edited in spoiler tags to the above comment.]
Well, I would clearly not last long among the pebble-sorters. I think your criticism is almost right.
Unless we can come up with some scheme whereby there’s only one prime left for particular regions, which I think would require 2*337+3*337+n*2*3 to be prime, which it looks to me like 1697=337*5+12 is.
This comment contains the best I can do on puzzle 2. Read it only if you want to be spoiled.
1011 is not prime.
That’s what I get for searching for ‘factors’ instead of ‘prime factors’!