gpt4 book ai didi

PHP Facemash ELO 等级/功能

转载 作者:可可西里 更新时间:2023-11-01 13:21:49 27 4
gpt4 key购买 nike

我从 PHPClasses 网站获得了以下 ELO 类。

<?php 
class elo_calculator {
public function rating($S1, $S2, $R1, $R2) {
if(empty($S1) or empty($S2) or empty($R1) or empty($R2))
return null;
if($S1 != $S2) {
if($S1 > $S2) {
$E = 120 - round(1 / (1 + pow(10, (($R2 - $R1) / 400))) * 120);
$R['R3'] = $R1 + $E;
$R['R4'] = $R2 - $E;
} else {
$E = 120 - round(1 / (1 + pow(10, (($R1 - $R2) / 400))) * 120);
$R['R3'] = $R1 - $E;
$R['R4'] = $R2 + $E;
}
} else {
if($R1 == $R2) {
$R['R3'] = $R1;
$R['R4'] = $R2;
} else {
if($R1 > $R2) {
$E = (120 - round(1 / (1 + pow(10, (($R1 - $R2) / 400))) * 120)) - (120 - round(1 / (1 + pow(10, (($R2 - $R1) / 400))) * 120));
$R['R3'] = $R1 - $E;
$R['R4'] = $R2 + $E;
} else {
$E = (120 - round(1 / (1 + pow(10, (($R2 - $R1) / 400))) * 120)) - (120 - round(1 / (1 + pow(10, (($R1 - $R2) / 400))) * 120));
$R['R3'] = $R1 + $E;
$R['R4'] = $R2 - $E;
}
}
}
$R['S1'] = $S1;
$R['S2'] = $S2;
$R['R1'] = $R1;
$R['R2'] = $R2;
$R['P1'] = ((($R['R3'] - $R['R1']) > 0)?"+" . ($R['R3'] - $R['R1']) : ($R['R3'] - $R['R1']));
$R['P2'] = ((($R['R4'] - $R['R2']) > 0)?"+" . ($R['R4'] - $R['R2']) : ($R['R4'] - $R['R2']));
return $R;
}
}
?>

我正在尝试将其应用于我的食品评级网站。

这是我的理解

  1. 要开始使用系统,我们需要为所有菜肴分配一个基本分数。
  2. 我们有 4 个变量 S1、S2、R1、R2(S=分数,R=排名)
  3. 在两道菜之间评分时,如果我按第一道菜。 S1 和 S2 是什么?会是 1-0 吗?
  4. 如果我在 10k 场战斗后再添加一道菜会怎样?因为我会为它分配一个基本分数,它会更好吗?
  5. 我怎样才能阻止一道菜的分数低于 0。

这是相同的 PHP 实现。你能帮我理解这 4 个变量以及我应该如何使用它吗?

最佳答案

GitHub 上有我发现的最好的 ELO 评分系统 php 类:https://github.com/Chovanec/elo-rating

用法:

// player A elo = 1000
// player B elo = 2000
// player A lost
// player B win
$raging = new Rating(1000, 2000, 0, 1);

// player A elo = 1000
// player B elo = 2000
// player A draw
// player B draw
$raging = new Rating(1000, 2000, .5, .5);

关于PHP Facemash ELO 等级/功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5610396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com