|
I wouldn't have figured it out if you didn't say xor, but ok : P
+ Show Spoiler +So let a_1,...,a_8 denote the levers and they are either 0 or 1. x will denote xor. Notice the nice property of xor that if a or b change then also a x b will change. Now it is easy to tell our friend the formula for the number he needs:
first binary decimal = a_1 x a_2 x a_5 x a_7 second = a_1 x a_3 x a_5 x a_6 third = a_1 x a_4 x a_6 x a_7
So now if the levers at the beginning give the required number pull lever a_8 (so no decimals will change). If you want to change all three decimals pull lever a_1. If you want to change only the first/second/third decimal pull a_2/a_3/a_4, and if you want to change a particular pair of decimals, pull one of the levers a_5, a_6 or a_7, depending which pair of course.
Edit: clarified a bit, Edit2: spoiler
|
This might make your thoughts go into a good direction for finding the solution, although it is not the full solution yet. It makes finding the solution a lot easier, tho, hence the spoiler:
+ Show Spoiler +I love this puzzle because thinking about it for a while makes you realise that there probably is no reason that this is abstractly any more "difficult" for 8 than for 4 or 2 levers and thinking about the solution for 2 levers actually can give you the correct idea for how to solve it with more levers.
Anyway, thank you for sharing that puzzle, it's just great! I had never heard it before and it just made me miss my rehearsal.
|
Thanks guys you are awesome !
Thanks to you I now remember the way I used to solve this.
+ Show Spoiler +
Lets define for i=1 to 8, P(i)=base 2 writing of i
for example P(5)=(1;0;1)
Then N is base 2 writing of the number your friend has to guess.
for example if you must guess 7, then N=(1;1;1)
Then define S=XOR P(i) for all levers i that are ON
for example if levers 1, 4 and 7 are ON, then S=(0;0;1) XOR (1;0;0) XOR (1;1;1) = (0;1;0)
Then define T=S XOR N and j such that P(j)=T
in our example T=(0;1;0) XOR (1;1;1) = (1;0;1) = P(5)
If you pull lever j, and ask your friend to calculate S2 (which is S once you've pulled lever j), he'll get S XOR T = S XOR S XOR N = N which is the number he needs to find !
in our example you pull lever 5, so he finds levers 1,4,5 and 7 ON so S2= (0;0;1) XOR (1;0;0) XOR (1;0;1) XOR (1;1;1) =(1;1;1) = P(7), so the number is 7 !
edit: clarification
|
On October 19 2018 00:55 Joni_ wrote:This might make your thoughts go into a good direction for finding the solution, although it is not the full solution yet. It makes finding the solution a lot easier, tho, hence the spoiler: + Show Spoiler +I love this puzzle because thinking about it for a while makes you realise that there probably is no reason that this is abstractly any more "difficult" for 8 than for 4 or 2 levers and thinking about the solution for 2 levers actually can give you the correct idea for how to solve it with more levers. Anyway, thank you for sharing that puzzle, it's just great! I had never heard it before and it just made me miss my rehearsal. Actually trying for 2 levers missguided me xD since one can just write down all the cases and make the partition himself. But yeah my solution above can be easily generalised.
|
Two levers have a much simpler solution though: ignore one lever, the other one is 1 up 2 down. That's easy enough even for me not to mess up
|
On October 19 2018 01:39 opisska wrote:Two levers have a much simpler solution though: ignore one lever, the other one is 1 up 2 down. That's easy enough even for me not to mess up True! 2 levers has several solutions that cannot be generalised, maybe messing with 4 levers can guide one towards salvation. =)
edit: This post was previously misleading... :>
|
Hi guys, I still suck at math
I'm using a program that calculates equity for different ranges in poker (hold'em). Here's the data I have:
Number of tries (exhaustive): 403835094432
Range 1 wins: 142599616520 Range 1 ties: 10945429968 Range 2 wins: 140980819160 Range 2 ties: 11040244316 Range 3 wins: 108972219224 Range 3 ties: 2243569640
Range 1 wins %: 35,3113% Range 1 ties %: 2,7104% Range 2 wins %: 34,9105% Range 2 ties %: 2,7338% Range 3 wins %: 26,9843% Range 3 ties %: 0,5556%
Range 1 equity: 36,5978% Range 2 equity: 36,2087% Range 3 equity: 27,1934%
I'm trying to determine how the program got the equity from the data.
Obviously you get the win equity by going (number of wins*100)/number of tries, and the tie equity by going (number of ties*100)/number of tries.
My understanding is that the equity percent is (wins%) + (part of ties% that are ties with only one player/2) + (part of ties% that are ties with both other players/3) - (because when you win you get all the money, when you tie with one player you get half and when you tie with both you get a third)
I run into an issue because the program doesn't let me know how often you tie with one player and how often you tie with both players.
I've been playing around with the numbers and I got the right results.
I added wins for all players and (tie/2) for all players. I get slightly over 100%, because some of the ties should have been /3 instead of /2.
I took the amount that was above 100% and did that *2, then /3.
Then I substracted that result from the number of ties for one player
Then I did number of wins for that player + (that result/2), and I got the right answer. I don't understand why. Shouldn't I also have had to divide an amount by 3?
|
On November 18 2018 21:48 Nebuchad wrote: Hi guys, I still suck at math
I'm using a program that calculates equity for different ranges in poker (hold'em). Here's the data I have:
Number of tries (exhaustive): 403835094432
Range 1 wins: 142599616520 Range 1 ties: 10945429968 Range 2 wins: 140980819160 Range 2 ties: 11040244316 Range 3 wins: 108972219224 Range 3 ties: 2243569640
Range 1 wins %: 35,3113% Range 1 ties %: 2,7104% Range 2 wins %: 34,9105% Range 2 ties %: 2,7338% Range 3 wins %: 26,9843% Range 3 ties %: 0,5556%
Range 1 equity: 36,5978% Range 2 equity: 36,2087% Range 3 equity: 27,1934%
I'm trying to determine how the program got the equity from the data.
Obviously you get the win equity by going (number of wins*100)/number of tries, and the tie equity by going (number of ties*100)/number of tries.
My understanding is that the equity percent is (wins%) + (part of ties% that are ties with only one player/2) + (part of ties% that are ties with both other players/3) - (because when you win you get all the money, when you tie with one player you get half and when you tie with both you get a third)
I run into an issue because the program doesn't let me know how often you tie with one player and how often you tie with both players.
I've been playing around with the numbers and I got the right results.
I added wins for all players and (tie/2) for all players. I get slightly over 100%, because some of the ties should have been /3 instead of /2.
I took the amount that was above 100% and did that *2, then /3.
Then I substracted that result from the number of ties for one player
Then I did number of wins for that player + (that result/2), and I got the right answer. I don't understand why. Shouldn't I also have had to divide an amount by 3?
Let me simplify your problem for you. You have possible 7 real probabilities, 'hidden data'.
1 wins, rest lose = a 2 wins, rest lose =b 3 wins, rest lose =c 1 ties 2, 3 loses = d 1 ties 3 , 2 loses=e 2 ties 3, 1 loses=f 1 ties 2 ties 3 = g
You also have the individual perspectives: 1 wins, 1 ties, 1 loses = h,i,j 2 wins, 2 ties, 2 loses = k,l,m 3 wins, 3 ties, 3 loses = n, o, p
Now you know that the probability of 1 tying is the sum of probability of tying:
h = a; (d+e)=(x) i, g = (1-x) i
Here x is the fraction of ties that are 2-way instead of 3-way.
OK. Now let's talk about normalized payout (assuming each round is same money). Let's assume in a tie of N players the payout is 1/N. So if there is one winner, payout is 1, payout is 1/2 in a two way tie, and payout is 1/3 in a 3-way tie.
Now we have the real question: what is the payout player 1 shoud expect? It is E= a+(d+e)/2+g/3. This number is player 1's equity. It is also E = a + ix/2+i(1-x)/3.
Solving this for x one obtains finds 6(E-a)/i = x = 6(E-h)/i
This is the fraction of ties which were 2-way (obviously 1-x then are the fraction of ties which were 1-way.)
Now you can use this to determine (d+e) and g.
Let's summarize. You originally knew for each player what fraction he uniquely won and tied, as well as his payout. For each player, we broke that tied piece into two pieces: fraction of ties 2-way and 3-way. This depended on a single variable x. We solved for x using the payout function, and then can multiply the fraction back to determine the hidden info.
|
Thanks, that makes sense to me. I should have mentioned that we don't really have E (or at least the goal is to find E, cause that's not the exact percentage (full disclosure I have another set of ranges that also rounds down to 27,1934% and I wanted to find the complete number to know which of the two is actually ahead), but I think I got this from here:
i = ((d+e)/2)+(g/3) l = ((d+f)/2)+(g/3) o = ((e+f)/2)+(g/3) 100 = h+k+n+(d/2)+(e/2)+(f/2)+(g/3)
should be enough information to find the 4 variables d e f g, I believe. Will look more closely when I get back home.
Is it just a coincidence that I got the "right" result with my random attempts earlier?
|
well, there is missing information
this is poker, so what is in the pot. are there blinds, antes? what is the bet? is this allin preflop? is it just assumed this is a 1 on 1 on 1 scenario where each player contributes 33% of the pot?
|
On November 19 2018 08:33 travis wrote: well, there is missing information
this is poker, so what is in the pot. are there blinds, antes? what is the bet? is this allin preflop? is it just assumed this is a 1 on 1 on 1 scenario where each player contributes 33% of the pot?
Those informations aren't needed to calculate the equity vs range, they are needed to figure out how much equity you need to continue with the hand
|
When I was doing my master's in math education, I took an awesome course called Problem Solving. We met once per week, for a three-hour block of time, and our professor would give us exactly one new problem to work on. We'd collaborate and explore the problem, tinker with a bunch of different strategies, try to solve the problem in as many ways as possible, consider additional extensions to the problem, and then reflect on and analyze the entire process.
My favorite problem in that class- which has come to be my favorite math problem of all time- is The Doubling Problem. Today and tomorrow I'm giving it to my high school math students (as it's right before Thanksgiving break, so I'd rather have the students play around with an interesting problem like this instead of trying to force down a final lesson and risk them losing focus).
The Doubling Problem is remarkably simple to explore, as it's just based on addition, multiplication, and moving around digits of a number. Thanks to its low mathematics entry point, I have plenty of students (and not just honors/ AP/ high-level students) who are making progress in solving the problem (or have already solved it).
Without further ado, I challenge you to solve The Doubling Problem (please spoiler your answers):
Pick a positive whole number. We’re going to apply a special rule to this number: take the last digit of that number (the ones’ digit) and move it to the front of the number. For example: 1234 becomes 4123 because the 4 is moved to the front, 567 becomes 756, 9002 becomes 2900, etc. Can you find a positive whole number such that, when you apply this rule to it, the resulting number is double the original number?
|
On November 21 2018 03:36 DarkPlasmaBall wrote: When I was doing my master's in math education, I took an awesome course called Problem Solving. We met once per week, for a three-hour block of time, and our professor would give us exactly one new problem to work on. We'd collaborate and explore the problem, tinker with a bunch of different strategies, try to solve the problem in as many ways as possible, consider additional extensions to the problem, and then reflect on and analyze the entire process.
My favorite problem in that class- which has come to be my favorite math problem of all time- is The Doubling Problem. Today and tomorrow I'm giving it to my high school math students (as it's right before Thanksgiving break, so I'd rather have the students play around with an interesting problem like this instead of trying to force down a final lesson and risk them losing focus).
The Doubling Problem is remarkably simple to explore, as it's just based on addition, multiplication, and moving around digits of a number. Thanks to its low mathematics entry point, I have plenty of students (and not just honors/ AP/ high-level students) who are making progress in solving the problem (or have already solved it).
Without further ado, I challenge you to solve The Doubling Problem (please spoiler your answers):
Pick a positive whole number. We’re going to apply a special rule to this number: take the last digit of that number (the ones’ digit) and move it to the front of the number. For example: 1234 becomes 4123 because the 4 is moved to the front, 567 becomes 756, 9002 becomes 2900, etc. Can you find a positive whole number such that, when you apply this rule to it, the resulting number is double the original number?
+ Show Spoiler + This looks rather trivial tbh. It took me like 2 minutes in excel to find 105263157894736842. Obviously there more solutions (e.g. concatenating this number with itself, but you most likely can also use different starters, didnt check)
All I did was: r_0 = 0 p_0 = d d_i = (p_i*2)%10
r_(i+1) = (p_i*2)/10 (/ used in the integer sense) p_(i+1) = d_i+r_(i+1)
Abort when: p_x = p_0 AND p_(x-1) != 0 AND r_x == 0
For d you can put in any digit and see if it terminates. It doesn't for d=1, but it does for d=2 and gives aboves solution.
|
I wouldn't consider that trivial
|
On November 21 2018 04:21 mahrgell wrote:Show nested quote +On November 21 2018 03:36 DarkPlasmaBall wrote: When I was doing my master's in math education, I took an awesome course called Problem Solving. We met once per week, for a three-hour block of time, and our professor would give us exactly one new problem to work on. We'd collaborate and explore the problem, tinker with a bunch of different strategies, try to solve the problem in as many ways as possible, consider additional extensions to the problem, and then reflect on and analyze the entire process.
My favorite problem in that class- which has come to be my favorite math problem of all time- is The Doubling Problem. Today and tomorrow I'm giving it to my high school math students (as it's right before Thanksgiving break, so I'd rather have the students play around with an interesting problem like this instead of trying to force down a final lesson and risk them losing focus).
The Doubling Problem is remarkably simple to explore, as it's just based on addition, multiplication, and moving around digits of a number. Thanks to its low mathematics entry point, I have plenty of students (and not just honors/ AP/ high-level students) who are making progress in solving the problem (or have already solved it).
Without further ado, I challenge you to solve The Doubling Problem (please spoiler your answers):
Pick a positive whole number. We’re going to apply a special rule to this number: take the last digit of that number (the ones’ digit) and move it to the front of the number. For example: 1234 becomes 4123 because the 4 is moved to the front, 567 becomes 756, 9002 becomes 2900, etc. Can you find a positive whole number such that, when you apply this rule to it, the resulting number is double the original number? + Show Spoiler + This looks rather trivial tbh. It took me like 2 minutes in excel to find 105263157894736842. Obviously there more solutions (e.g. concatenating this number with itself, but you most likely can also use different starters, didnt check)
All I did was: r_0 = 0 p_0 = d d_i = (p_i*2)%10
r_(i+1) = (p_i*2)/10 (/ used in the integer sense) p_(i+1) = d_i+r_(i+1)
Abort when: p_x = p_0 AND p_(x-1) != 0 AND r_x == 0
For d you can put in any digit and see if it terminates. It doesn't for d=1, but it does for d=2 and gives aboves solution.
+ Show Spoiler +Yup, that's a solution Of course, keep in mind that my students are merely using basic calculators and pencils and paper, rather than software and computer code
|
Thanks for the problem, that was fun!
+ Show Spoiler + 105263157894736842
Found by starting with "The last number needs to be double the first, so lets start with 2". Then every digit in ahead of it needs to be double the previous one, and if that meant that you would need to go above 9, the excess one seeps over to the digit ahead of that. So 2 as last digit means it needs to be 42 42 means it needs to be 842 842 means 6842, with a 1 added to the next number, notated as (1)6842 in the future (1)6842 means (1)36842 (1)36842 means 736842 repeat until you reach a one in the first position, without any saved 1.
|
On November 21 2018 04:51 Simberto wrote:Thanks for the problem, that was fun! + Show Spoiler + 105263157894736842
Found by starting with "The last number needs to be double the first, so lets start with 2. Then every digit in ahead of it needs to be double the previous one, and if that meant that you would need to go above 9, the excess one seeps over to the digit ahead of that. So 2 as last digit means it needs to be 42 42 means it needs to be 842 842 means 6842, with a 1 added to the next number, notated as (1)6842 in the future (1)6842 means (1)36842 (1)36842 means 736842 repeat until you reach a one in the first position, without any saved 1.
+ Show Spoiler +Nice job! That's how I first solved and explained it, and that's how my students are approaching it as well
|
I'm trying to figure out how this algorithm works, https://en.wikipedia.org/wiki/Prime-counting_function, under the section "Algorithms for evaluating π(x)", using Legendre's inclusion-exlusion principle. For whatever reason I'm not getting the numbers I would expect.
Suppose x = 32. It says "p1, p2, p3, pn are the prime numbers less than or equal to the square root of x." Sqrt(32) = 5, so then it would be p1 = 2, p2 = 3, and p3 = 5. Now if I understand the formula (I'm not very good with formula notation), it seems to be then:
32 - (floor(32/2) + floor(32/3) + floor(32/5)) + (floor(32/(2*3)) + floor(32/(2*5)) + floor(32/(3*5))) - floor(32/(2*3*5)) + 1
The number I get is 10, but there are 11 prime numbers up to 32. This variance only grows the larger the number. Am I misunderstanding this algorithm?
|
On November 21 2018 03:36 DarkPlasmaBall wrote: When I was doing my master's in math education, I took an awesome course called Problem Solving. We met once per week, for a three-hour block of time, and our professor would give us exactly one new problem to work on. We'd collaborate and explore the problem, tinker with a bunch of different strategies, try to solve the problem in as many ways as possible, consider additional extensions to the problem, and then reflect on and analyze the entire process.
My favorite problem in that class- which has come to be my favorite math problem of all time- is The Doubling Problem. Today and tomorrow I'm giving it to my high school math students (as it's right before Thanksgiving break, so I'd rather have the students play around with an interesting problem like this instead of trying to force down a final lesson and risk them losing focus).
The Doubling Problem is remarkably simple to explore, as it's just based on addition, multiplication, and moving around digits of a number. Thanks to its low mathematics entry point, I have plenty of students (and not just honors/ AP/ high-level students) who are making progress in solving the problem (or have already solved it).
Without further ado, I challenge you to solve The Doubling Problem (please spoiler your answers):
Pick a positive whole number. We’re going to apply a special rule to this number: take the last digit of that number (the ones’ digit) and move it to the front of the number. For example: 1234 becomes 4123 because the 4 is moved to the front, 567 becomes 756, 9002 becomes 2900, etc. Can you find a positive whole number such that, when you apply this rule to it, the resulting number is double the original number?
+ Show Spoiler + if there is a solution depends on the base I think. for base2 there should be none (if you don't allow leading 0s at least - else you have 01 -> 10). Does anyone have a clue if it is solvable for all bases bigger than a certain value or if iit is solvable for some and not solvable for others and if there is a pattern which influences that?
|
On January 11 2019 00:44 enigmaticcam wrote:I'm trying to figure out how this algorithm works, https://en.wikipedia.org/wiki/Prime-counting_function, under the section "Algorithms for evaluating π(x)", using Legendre's inclusion-exlusion principle. For whatever reason I'm not getting the numbers I would expect. Suppose x = 32. It says "p1, p2, p3, pn are the prime numbers less than or equal to the square root of x." Sqrt(32) = 5, so then it would be p1 = 2, p2 = 3, and p3 = 5. Now if I understand the formula (I'm not very good with formula notation), it seems to be then: 32 - (floor(32/2) + floor(32/3) + floor(32/5)) + (floor(32/(2*3)) + floor(32/(2*5)) + floor(32/(3*5))) - floor(32/(2*3*5)) + 1 The number I get is 10, but there are 11 prime numbers up to 32. This variance only grows the larger the number. Am I misunderstanding this algorithm?
The first thing i notice is that Sqrt 32 =/= 5
Sqrt 32 = 4*Sqrt(2), which would round to 5.66, but that isn't relevant due to the fact that you are looking for primes less than or equal to Sqrt 32
Furthermore, what you are counting are not the prime numbers up to 32, but, as the article clearly states, Pi(x) - Pi(Sqrt(x)) + 1.
I also don't think you should add that 1 at the end of your addition.
Thus, the number you calculate is
32 - (16+10+6)+(5+3+2)-1 = 9
Which is exactly what the result should be, since
Pi(32)-Pi(Sqrt(32))+1 = 11 - 3 + 1 =9
Carefully reread what the wiki article actually states.
|
|
|
|