Maximizing Rubberband Scoring - Way Too Much Math

2

Comments

  • Great job with #'s and stuff. That was prolly hard to figure out.

    I'm like 4 classes and 12 beers into my day/night so all I'm getting is:
    Think back to "21 Jump Street" and Channing Tatum saying "fk you science!!!" Right after explaining something or other about radioactive spiders.

    Yup. That's where this took me. It took me straight to "fk you math!"


    Speaking of Channing Tatum. He's up to play Gambit in a future Xmen flick. Also. Math.
  • Just hope to get a lazy or less competitive bracket...good to know I was following many of Nemek's principles without realizing it. Having 230s on every stage after day 1 and the difficulty increase for everyone I think helped my style of play since it slowed my bracket down and even without playing for 12 hrs the lowest I fell was 38 or so and that was without the need to grind 4x or even 3x.
  • there you go again sharing all the math secrets, jeez
  • Kiamodo
    Kiamodo Posts: 423 Mover and Shaker
    notreck wrote:
    there you go again sharing all the math secrets, jeez

    We'll good news is this will discourage more people I think. Maybe? Ultimately it all falls down to who's bracket you are in.
  • Just hope to get a lazy or less competitive bracket...

    I think bracket selection is just as important as anything - get in a soft bracket, and I've found it doesn't really matter how you play it. Looking at Nemek's ladder of doom, won by Phantron, I'm glad I waited until the next morning to start the event icon_e_smile.gif
  • Good stuffs Nemek. Though imo, rubberbanding was one of the lesser concerns in the Thick as Thieves event.
    This is where the fun has been taken out of the game. I don't want to have to keep track of all this garbage. I enjoy playing. Match three is fairly mindless and it's how I like to spend some free time when kids aren't crawling on me. Why oh why should I have to do math and calculate perfect playing times in order to get the most out of this game. That's called work and I do it for a living.

    I was ranked 1 - 10 in my bracket mostly hanging around 1-4 the entire event except the last day. I was pushed out to 25 and it was an extreme struggle to place top 10 in the end. I don't understand how that is even possible (I do, your math is good) it just shouldn't be this way. Sigh.
    Then don't. You can continue to play the game without effort, but those that do will win, as they should.
  • Thumbs up to this - my wife is a math major, so she would find this facinating if she wasn't too busy playing Peggle to try MPQ.

    Here's a little formula I wrote to help me predict my final placement in PvE events, you may find it useful:

    Boolean Var - IsNemekInBracket
    Var - MyFinalRank

    If IsNemekInBracket=yes, then MyFinalRank=MyFinalRank-1
  • Not to be a jerk, but I thought some of these points would be more obvious, but I do appreciate having someone crank out the numbers to make it clear-cut. Let me explain via extremes:

    If you have 30 missions worth 1 point each, and 1 mission worth 1000 points, and everything is affected by rubber-banding, other players doing the 1000 point missions first will make your 1-points worth far more. Even though there's still a massive gap, your multiplier remains higher the lower points you have. As long as you put off the high-value point missions until last, you'll maximize the time you have a higher multiplier.
  • You can't reverse engineer the formula like that because nobody really knows what is the intended behavior of the rubberband system short of D3 itself.

    You're basically saying this is the simplest formula I can think of that makes sense, so it must be it. But you don't have any data points (I assume nobody was actually writing down the bracket leader's points). It is trivial to make a formula that is order independent once you're on the 10X threshold, but in general all you need is something that satisfies that following property:

    x = mission 1's base point
    y = mission 2's base point
    m(u) = multiplier function
    D = leader's score minus your score

    x*m(D) + y*(m(D-x*m(D)) = y*m(D) + x*(m(D-y*m(D)))
    (x-y)m(D) = x*(m(D-y*m(D))) - y*(m(D-x*m(D))
    m(D) = x*(m(D-y*m(D))) - y*(m(D-x*m(D))/(x-y)

    This is probably something that can be solved by a math major given enough time. I think this is a differential equation but it's been a long time since I did anything like this before. There are computer programs that can simply figure this out by brute force as well.

    Now of course I don't know what is the intended behavior of the rubberband system either, but the fact that to have a formula that behaves a certain way is not a hard problem to solve just because the answer is not readily obvious.
  • Nemek
    Nemek Posts: 1,511
    We had plenty of data points during the hulk event. Why would we not write down the leader's point total? It was right there.

    You could confirm the formula at any single point in time that you were between 400 and 4000 points away from the leader.
  • Phantron wrote:
    This is probably something that can be solved by a math major given enough time. I think this is a differential equation but it's been a long time since I did anything like this before. There are computer programs that can simply figure this out by brute force as well.

    Now of course I don't know what is the intended behavior of the rubberband system either, but the fact that to have a formula that behaves a certain way is not a hard problem to solve just because the answer is not readily obvious.

    But the system that satisfies the constraints you lay down is obvious. Nemek points out in the OP that a rubber-banding factor which is proportional to the gap between you and the leader makes it so that the order in which you do missions doesn't matter. The problem is that we know that that's not how the system works. It is obviously not the case that the rubber-banding factor approaches 0 as you approach the leader's score, and we all know that the factor maxes out at 10 and stays there no matter how far behind you get. Nemek claims that some people did test out the formula he's describing and that it jives with observations in the Hulk event.

    It's easy to construct a rubber-banding system that makes order unimportant no matter what and which also has these multiple regimes (1x constant, varying over some range, and then 10x constant), but you have to give up having a single rubber-banding factor which is applied to all of the points in a mission. What you'd want to do instead would be to make individual points, not missions, the discrete units to which rubber-banding is applied. If you do a 100 base point mission and you have a rubber-banding factor of 9x, then you'd get 9 points for the first point of base value, and then your rubber-banding factor would change to 8.9x (made-up number) such that you would only get 8.9 points for the second base point, and so on. The only issue would be rounding error at the end, but this would always be small. If this was how it worked, then the rubber-banding function could be almost anything and order wouldn't matter.

    But, again, we know that that's not how the system works. As you've pointed out several times, it's clearly the same rubber-banding factor being applied to all of the points in all missions. When a base value 20 mission is worth 40 points, a base value 100 missions is worth 200, and when the first is worth 80 the second is worth 400. And order will matter for anything that works that way at least when crossing threshold values where the function used to determine the rubber-banding is changing.
  • Nemek wrote:
    We had plenty of data points during the hulk event. Why would we not write down the leader's point total? It was right there.

    You could confirm the formula at any single point in time that you were between 400 and 4000 points away from the leader.

    It's trivial to come up with a great formula that's order independent in that range.

    But you're saying that this MUST be the formula because it is not trivial to come up with an order-independent formula when you're between threshold for 10X point and threshold for 10X + (max base point mission *10) from the leader. But that's just saying the problem is too hard so we must find a simple solution.

    It's a myth of mathematics that math has elegant, simple solutions. The solution to real world problems is often very messy. That's why we have computers and graphical calculators to do the dirty work. Heck, just go to a high school science fair and you'll always see guys giving out impossibly complicated formulas that their graphical calculator gave them to describe the butterfly effect. Now, just because someone's graphing calculator says the answer is 0.75x^3 - 2.17x^2 - 9.44x + 0.145 doesn't mean that is indeed the answer, but you also can't say 'well I say the answer must be 2x because the other one is too complicated".

    Without knowing the motive behind the system and all the relevent data points (in particular, the ones where you're between 10x threshold and 10x threshold + max base mission*10), you simply can't make an argument that mathematics has a tendency to be simple/elegant. The formula can be very messy if it needs to be, and it's not hard to figure it out because it's the computer that's doing the hard work, not the person.
  • Gotchaye wrote:
    Phantron wrote:
    This is probably something that can be solved by a math major given enough time. I think this is a differential equation but it's been a long time since I did anything like this before. There are computer programs that can simply figure this out by brute force as well.

    Now of course I don't know what is the intended behavior of the rubberband system either, but the fact that to have a formula that behaves a certain way is not a hard problem to solve just because the answer is not readily obvious.

    But the system that satisfies the constraints you lay down is obvious. Nemek points out in the OP that a rubber-banding factor which is proportional to the gap between you and the leader makes it so that the order in which you do missions doesn't matter. The problem is that we know that that's not how the system works. It is obviously not the case that the rubber-banding factor approaches 0 as you approach the leader's score, and we all know that the factor maxes out at 10 and stays there no matter how far behind you get. Nemek claims that some people did test out the formula he's describing and that it jives with observations in the Hulk event.

    It's easy to construct a rubber-banding system that makes order unimportant no matter what and which also has these multiple regimes (1x constant, varying over some range, and then 10x constant), but you have to give up having a single rubber-banding factor which is applied to all of the points in a mission. What you'd want to do instead would be to make individual points, not missions, the discrete units to which rubber-banding is applied. If you do a 100 base point mission and you have a rubber-banding factor of 9x, then you'd get 9 points for the first point of base value, and then your rubber-banding factor would change to 8.9x (made-up number) such that you would only get 8.9 points for the second base point, and so on. The only issue would be rounding error at the end, but this would always be small. If this was how it worked, then the rubber-banding function could be almost anything and order wouldn't matter.

    But, again, we know that that's not how the system works. As you've pointed out several times, it's clearly the same rubber-banding factor being applied to all of the points in all missions. When a base value 20 mission is worth 40 points, a base value 100 missions is worth 200, and when the first is worth 80 the second is worth 400. And order will matter for anything that works that way at least when crossing threshold values where the function used to determine the rubber-banding is changing.

    You're making the assumption that the entity that came up with the formula is a person, not a computer.

    Just because it is difficult for a person to imagine what formula would have whatever characteristics D3 was going for does not mean it is hard for the computer to figure it out. The computer can basically just do a poly fit if you give it some data points that describes the intended behavior of the system. And, since we don't know if it's a person or a computer that came up with the formula at D3, you can't say 'it must be a person that came up with this formula'. Yes, if you know a person came up with the formula in D3, what Nemek has is almost certainly right, because no person can come up with a better formula. This does not mean a computer cannot come up with a better one. In fact, it's pretty trivial for the computer to do it.

    This is kind of like how no human has an elegant solution for the 4-color problem and it was solved by a computer that just plugged away at every possible map and determined that it can 4-color every single map, thus proving something that no human was able to do for decades. Some problem doesn't have simple and elegant solutions, which is why we have computers.
  • Nemek
    Nemek Posts: 1,511
    I'm saying it's most likely the formula because it fit 20 random data points of mine taken across two weeks of the hulk event (and then however many of dannyshan's) and then also held true with two simultaneous points in other events. Yes, that does not explicitly prove it, and I don't necessarily assert that it does.
  • Occam's Razor.
  • Nemek wrote:
    I'm saying it's most likely the formula because it fit 20 random data points of mine taken across two weeks of the hulk event (and then however many of dannyshan's) and then also held true with two simultaneous points in other events. Yes, that does not explicitly prove it, and I don't necessarily assert that it does.

    Let's say the threshold for 10X is 4000, and the highest base mission is 200. Let D = difference between you and the score leader.

    If D > 6000, m = 10 and further this has no impact on strategy or what the formula is, because the most point you can get is 2000 in one mission
    If 0 < D < 4000, either m = D/c1 or m = (D+c1)/c2 suffices as an order insensitive formula.

    Now what happens in the 4000 < D < 6000 case? In this case, m = 10, but what is the formula? If formula is one of the two above, then it is definitely order sensitive. Does that mean the above HAS to be the formula? No, because we don't know what is D3's intended goal. If the goal is for the rubberband to be order insensitive no matter how far you're behind the order, instead you'd simply plot out the points that describes the behavior you want, and have a computer figure it out. The resulting formula would technically be order insensitive nowhere, but it'd deviate so little that it'd be impossible for any human to tell just because you can't be certain the overall leader's points are up to date (or even what they are, in the case of sub brackets). That is, your proposed formula would have the following characteristics:

    Order insensitive for D > 6000
    Significant sensitivty for order for 4000 < D < 6000, on the order of 50 points shown by your examples
    Order insensitive for 0 < D < 4000

    A computer poly fit would be:

    Slight sensitivity for order for D < 6000, likely on the order of 5 points.
    Order insensitive for D > 6000

    So the question still boils down to, which model is D3 trying to achieve here? As an observer, you would not be able to tell the fact that the there is slight order sensitivity throughout in the latter case, because you don't know if the overall leader's point has not changed In fact, even if the formula is indeed what you claim, you'd surely expect sometimes you get a couple points more than expected simply because the overall leader finished another mission while you're doing yours.

    I guess the point of this is that we really need D3 to tell us what they're trying to accomplish with the rubberband instead of us trying to reverse engineer it. My point, though, is that just because a diferent solution can be impossibly complicated for a human to figure out, doesn't mean it is not the solution. Not when you can simply order your computer to do all the work.
  • Maximizing rubberbanding is old news. Maximizing PVE matchmaking mob levels is the new hotness. Someone investigate how that works and how to manipulate it.
  • Occam's Razor.

    Occam's Razor doesn't apply when a computer can be doing all the work for you. It is no more difficult to simply feed the computer the relevent data points and use whatever formula it decides is the best compared to coming up with your own. Again, there's a fallacy with mathematics that borderlines on religion, that the god of mathematics prefers elegant solution over complicated ones. If you look at mathematical solution to real-world problems, a lot of them are impossibly complicated. Computer, after all, was first used to calculate the trajectory of weapons. You can't say just 'the path of that artillery shell must be something that I can calculate quickly because that's all I can do". Well, you can do that, but you'll just miss.
  • Phantron wrote:
    Occam's Razor.

    Occam's Razor doesn't apply when a computer can be doing all the work for you. It is no more difficult to simply feed the computer the relevent data points and use whatever formula it decides is the best compared to coming up with your own. Again, there's a fallacy with mathematics that borderlines on religion, that the god of mathematics prefers elegant solution over complicated ones. If you look at mathematical solution to real-world problems, a lot of them are impossibly complicated. Computer, after all, was first used to calculate the trajectory of weapons. You can't say just 'the path of that artillery shell must be something that I can calculate quickly because that's all I can do". Well, you can do that, but you'll just miss.



    Speaking as a former member of Field Artillery, missing IS NOT a good thing. Poor sheep....
  • Phantron wrote:
    You're making the assumption that the entity that came up with the formula is a person, not a computer.

    Just because it is difficult for a person to imagine what formula would have whatever characteristics D3 was going for does not mean it is hard for the computer to figure it out. The computer can basically just do a poly fit if you give it some data points that describes the intended behavior of the system. And, since we don't know if it's a person or a computer that came up with the formula at D3, you can't say 'it must be a person that came up with this formula'. Yes, if you know a person came up with the formula in D3, what Nemek has is almost certainly right, because no person can come up with a better formula. This does not mean a computer cannot come up with a better one. In fact, it's pretty trivial for the computer to do it.

    This is kind of like how no human has an elegant solution for the 4-color problem and it was solved by a computer that just plugged away at every possible map and determined that it can 4-color every single map, thus proving something that no human was able to do for decades. Some problem doesn't have simple and elegant solutions, which is why we have computers.

    I'm pretty sure it can be shown that there is a unique solution (besides the boring one of constant f) to the problem you posed, and since a solution is that the rubber-banding function is c*D, where c is some constant and D is the score gap, then that's that.

    But let's try to solve it. Obviously the solution must be continuous, and it can be approximated arbitrarily closely by a sufficiently impressive polynomial. What you're asking for is a function which is such that A*f(D) + B*f(D+A*f(D)) = B*f(D) + A*f(D+B*f(D)). So we replace f with its Taylor expansion about D. f(D) remains f(D), and f(D+A*f(D)) becomes f(D) + f'(D) * A*f(D) + f''(D)/2 * A^2*f(D)^2 + f'''(D)/6 * A^3*f(D)^3 + ...

    We can divide through by f(D) and combine, which eliminates several of the leading terms. We end up with 1/2 * f''(D) * f(D) * (B^2*A + A^2*B) + 1/6 * f'''(D) * f(D)^2 * (B^3*A + A^3*B) + ... = 0, and this needs to be true for all A, B, and D. Clearly this is only going to happen if, for every D, either f(D)=0 or all of the second-order and higher derivatives of f at D are 0. We know that f(D) is never 0. So all of its second-order or higher derivatives must be 0 everywhere. So f must be linear.

    Edit: Of course, this violates the assumption that f(D) is non-zero everywhere unless f(D) is a constant. But as long as we're interested in A, B, and D such that f(D) is not 0 then f can be linear. And so as soon as you make it non-linear you're going to violate the condition you've laid down, and thus order will be important. And the rubber-banding is very clearly not linear where it switches regimes to and from a constant 10x and a constant 1x.