Talk:Profitability/@comment-4192477-20110723212956/@comment-4102115-20110724204809

I did not outright say it, but when I said "I am too long out of high school to remember how to calculate permutations to work out from that the exact probability of breaking, which we know when calculated exactly is going to give us 7.14 - 7.15%", I strongly hinted that I was of the very firm belief that ALL three of Adi's calculations of 6.339% and 7.236% and 7.692% are all incorrect. Adi has not shown any working for the first two values so we cannot see what he did to get them, but whatever the value is, if his mathematics was correct, then both the mathematical value and the simulated value using the formulae will be exactly the same, so he has obviously made at least one error, and the rest of us have all repeatedly tried to explain to him the error in calculating the third (1/13) different value he gave.

I repeat that I praise him for the code, it is amazing that he reverse-engineered the code - he is clearly a gifted programmer, but he is clearly also no mathematician.

@CMONYALL, I believe you misunderstood ParadijsEiland's comment - he was not suggesting at all that we use his or yours or mine or Adi's or anyone's real-life determined ratio in calculating the profitability (and also maximising XP calcs), he was pointing out (as was I) that until someone accurately calculates the exact average from that formulae, that in the meantime many of us have statistically proven beyond doubt that the ratio is about 14:1. In fact, I believe it was originally quoted as ~7.15%, and it only changed to 7.14% because someone realised that 7.15% as a ratio is 13.968:1 which is close to 14:1, and 14:1 as a percentage is 7.14% - so due to double-rounding, the value dropped 1/100th percent.

I have not seen the simulation code to check for errors in converting the formulae into simulation, I've also not seen the actual reverse-engoneered code - I am not a programmer, but I understand that you don't just find it in plain english program lines? I can see from your history that you were putting your own meaningful labels onto the code that you extracted in some format? eg: you originally name the function needsRepairs(Building b) which you changed to isBroken(Building b). So there is obviously some interpretation on your behalf to extract the code, and we are all at your mercy to assume that you got it right.

And last point - how do you know that randomInt(a,b) returns an integer x: a <= x < b ? Is that a standard Android function? Is it a Paradise function that is documented somewhere in their code? My figures below showing the probability of needing a repair at any given collection iteration is 1/91 on the 8th up to 91/91 if it reaches the 23rd are all based on that randomint formulae being correct with values 7, 14 and 23. I thought it strange that it would have a<=x but x<b. Why not a<=x and x<=b or a<x ad x<b?

Oh well, I guess there is nothing for it but to pull out my old maths books on permutations and work out the exact average mathematically. After I get some sleep. Ciao!