Help determining algorithm.

I'm trying to figure out what calculations this software is performing to calculate the score.

| kills | deaths | fired | hits | accuracy | rounds | killtodeath-ratio | score |

Siff | 2484 | 1411 | 53775 | 7298 | 13.57% | 2613 | 1.76 | 13614 |

ez | 2109 | 1785 | 50231 | 7397 | 14.73% | 2850 | 1.18 | 10809 |

code | 545 | 545 | 14938 | 1765 | 11.82% | 824 | 1.00 | **3486** |

tang | 204 | 78 | 3314 | 775 | 23.39% | 172 | 2.62 | 3700 |

| | | | | | | | |

What is the best way to go about this?

it's an old php based web stat tracker for a fps game.. score is calculated by the server. everything else is tracked from the game.

http://www.thesrgtclan.org/rvsslwebp...ll%20Weaps%20)

Re: Help determining algorithm.

Hi tommytango! :)

I've played around with the numbers a bit, but basically I need more data.

Preferably the scores of at least 3 more characters, since you have 7 numbers that presumably influence the score.

My best guestimate at this time is that the formula is something like:

$\displaystyle score = 1000 \times killtodeathratio + 5 \times kills - deaths / 2$

With a bit more fiddling around I can get a perfect fit, but the numbers do not look good enough to be sure.

Re: Help determining algorithm.

hi ilikeserena!

Wow. that's quite close. I'm kind of suspecting the only thing throwing it off is it factoring in accuracy to some degree. Theres a link in the original post that has hundreds of other players and there scores listed. But More importantly then figuring that out, I was hoping to learn how to figure this out. Pretty sure that might take a while though.. haha =) thank you

Re: Help determining algorithm.

The method I'm using is the *(general) least squares fit*.

See for a description for instance wikipedia.

The easiest way to fiddle around with it, is with Excel.

Excel has a "Solver" function (google it) that makes this pretty easy.

It works like this:

- Reserve a range for your parameters and fill them with initial estimates (zero will do nicely).
- Put a formula next to each score in which you multiply each parameter with its corresponding value and sum them.
- Put a formula next to that with "=(calculated_score - actual score)^2" (if you know what I mean).
- Create a target cell in which you put a formula calculating the sum of those values.
- Start the solver (google how to do it, if you can't find it).
- Set the target cell, specify it should be minimized, select the values that can be varied (a subset), and click solve.

Since you do not have enough data, you will have to repeat this with different choices for the subset, and trying out which round numbers may work.

Re: Help determining algorithm.

I've got lots more data! and I'm using open office calc. I am googling this solver function! :) thank you

Re: Help determining algorithm.

player | kills | deaths | fired | hits | accuracy | rounds | ktdr | score | 1000*'ktdr'+5*'kills'-'deaths'/2=J1 | |

Siff | 2484 | 1411 | 53775 | 7298 | 13.57% | 2613 | 1.760 | 13614 | 13475 | |

ez | 2109 | 1785 | 50231 | 7397 | 14.73% | 2850 | 1.182 | 10809 | 10834 | |

code | 545 | 545 | 14938 | 1765 | 11.82% | 824 | 1.000 | **3486** | 3453 | |

tang | 204 | 78 | 3314 | 775 | 23.39% | 172 | 2.615 | 3700 | 3596 | |

75th | 196 | 191 | 5438 | 679 | 12.49% | 272 | 1.026 | 1864 | 1911 | |

wig | 128 | 421 | 4007 | 323 | 8.06% | 567 | 0.304 | 1223 | 734 | |

sb | 52 | 89 | 2458 | 155 | 6.31% | 132 | 0.584 | 873 | 800 | |

kit | 24 | 70 | 805 | 106 | 13.17% | 79 | 0.343 | 385 | 428 | |

jd | 1 | 0 | 2 | 2 | 100.00% | 1 | 1.000 | 104 | 1005 | |

bishop | 2 | 2 | 30 | 5 | 16.67% | 4 | 1.000 | 101 | 1009 | |

Re: Help determining algorithm.

Hmm, I've been fiddling around with the numbers again.

But I can't make it fit!

At least not perfectly.

The formula I gave works pretty well for the larger scores, but I cannot make the low scores fit.

Something is missing. :confused:

I even threw some advanced math against it, but that only confirmed that I'm not getting a fit.

FYI

A general least squares problem is of the form $\displaystyle Ax=b$,

where x are the parameters, A is the matrix with values, and b are the scores.

The optimal solution is $\displaystyle x = (A^T A)^{-1}A^T b$.