Calcul des points : la faille
726件のメッセージ normal
726件中461〜480件を表示
26/11/2010 02:23
#461
serialbuscontroler :
Le nombre d'égalité dans un classement, et ce, pour chaque place (traitement en O(n)), c'est la valeur \"e\" dans la formule de BS?
(...)
A l'époque(XD), la formule était bonne mais juste le \"e\" induisait des boucles et rallongait considérablement le temps d'affichage.
Si ce problème est résolu,c'est OK.
Effectivement, c'est bien ça, à l'époque, je n'étais pas au courant de la fonction php array_count_values qui renvoi très rapidement un tableau indiquant le nombre d'occurrences d'une valeur (plutôt qu'une boucle qui prendrait pas mal de temps), très utile pour svoir les égalités.
Mais effectivement, comme le dit lapogne, la formule n'est pas adaptée pour de gros classements...
Le problème des égalités n'en est plus vraiment un, dans le sens où pour en avoir parlé à pas mal de monde autour de moi, l'idée de prendre la moyenne des points d'un classement sans égalités est bien suffisante si la fonction est décroissante (or, elle doit l'être pour qu'un mec mal placé ne gagne pas plus de points qu'un mec bien placé)
28/11/2010 14:44
#462
28/11/2010 18:16
#463
28/11/2010 20:53
#464
niconoe :
l'idée de prendre la moyenne des points d'un classement sans égalités est bien suffisante si la fonction est décroissante (or, elle doit l'être pour qu'un mec mal placé ne gagne pas plus de points qu'un mec bien placé)
Si sur une épreuve à 20 joueurs, il y a 10 égalités en première place,
et que un 21ème joueur arrive et soit aussi à égalité avec les 10 en première place.
Le score de la 1ère place doit-il augmenter ou baisser ?
Personnellement, je serais d'avis de faire baisser le score, mais si tu fais une moyenne, je suis pas certain que l'effet \"plus il y a de joueurs plus il y a de points\" soit plus fort que la toute petite modification de la moyenne du top10 / top11
(bon j'ai pas tellement regardé la formule en vrai)
Autre question qualitative :
Si un joueur est 500ème sur 1000, devrait-il gagner environ autant de points qu'un joueur 50ème sur 100 ?
29/11/2010 00:34
#465
01/12/2010 03:15
#466
Ça me semble très dur de pouvoir faire plusieurs classement listant pour chacun d'eux le nombre de pointRecord à leur attribuer en fonction de leur rang qui soient cohérent...
Je cherche un générateur de graphique 3D qui me permettrait de modéliser la fonction que j'ai en tête afin que nos matheux se prennent la tête dessus :P mais en vain, ça n'a pas l'air d'exister sans payer une petite fortune...
Je continue tout de même mes recherches mais si j'arrive à rien, je ferai plusieurs courbes en 2D sur plusieurs graphs isométrique et orthonormé.
Je cherche un générateur de graphique 3D qui me permettrait de modéliser la fonction que j'ai en tête afin que nos matheux se prennent la tête dessus :P mais en vain, ça n'a pas l'air d'exister sans payer une petite fortune...
Je continue tout de même mes recherches mais si j'arrive à rien, je ferai plusieurs courbes en 2D sur plusieurs graphs isométrique et orthonormé.
02/12/2010 14:26
#467
02/12/2010 17:49
#468
Doraki :
Y'a un endroit où on peut voir le nombre de points rapportés par chaque score ?
Oui !
Sur le score lui même.
Place ton pointeur sur la position du membre (dans la liste de score, et un chiffre apparaitra.
Exemple :
1er Andrémanoukian 2sec 28
2e Mireillemathieu 3sec 33
Place ton pointeur sur \"1er\" ou \"2e\".
10/12/2010 04:48
#469
bon, j'ai pas réussis à faire de plan en 3D donc voici une image médiocre avec les explications qui vont avec :
"
Alors,
1èrement pour la faute énorme en vert (y=33 et y=75) désolé, j'ai fait ça un peu tard et j'avais la flemme de revenir en arrière... c'est bien sur x = 33 et x = 75, mais bref, on a compris...
L'axe des abscisses représente la position du joueur
L'axe des ordonnées représente le nombre de points gagnés (en dehors du contexte d'égalité)
La courbe en bleu symbolise la courbe de référence. On peut considérer cette courbe valide pour un z (nombre de personnes dans le classement) petit.
La courbe en rouge symbolise la courbe finale. On peut considérer cette courbe valide pour un z relativement grand.
Le principe est de créer une \"bosse\" dans la courbe bleue pour qu'elle rejoigne la courbe rouge de telle sorte que la décélération la plus petite soit à 33% du classement et que la décélération la plus forte soit à 75% (g'(33) ~= 0 et g'(75) = M)
Bien sûr, la vitesse de décroissement minimal et maximal dépends de z.
J'ai pris un jeu de test de 100 posts dans un classement pour dessiner cette courbe.
Sinon, en soit, la fonction bleue :
f(x,z) = (z+1-x)*(100/(x^(1/7))) avec x <= z me semble pas si mal...
Mais la rouge donne un peu plus de piment dans l'esprit de compétition et il peut être intéressant d'avoir ce genre de courbe car elle reprends la plus grande majorité des corrections théorique trouvé sur les problèmes actuels : écart entre les premiers entre-eux grand mais écart entre dernier entre-eux faible avec possibilité de gagner pas mal de point si l'on est dans les 33% premiers, classement pouvant atteindre 1.000.000 de posts sans atteindre le minimum de 10 points et avec toujours un écart intéressant entre le dernier et avant-dernier (et pas qu'un seul point...), etc etc...
L'approche par les courbes de Béziers est-il si compliqué à définir ? Car la courbe rouge pourrait facilement représenter une spline de Béziers je trouve
Bref, je passe le flambeau aux membres qui désirait avoir plus de \"points statiques\" dans la définition de la courbe
EDIT : je viens de me rendre compte qu'une fonction gaussienne composée à mon f(x) en bleu rendrait vraiment bien aussi... à étudier peut-être
"Alors,
1èrement pour la faute énorme en vert (y=33 et y=75) désolé, j'ai fait ça un peu tard et j'avais la flemme de revenir en arrière... c'est bien sur x = 33 et x = 75, mais bref, on a compris...
L'axe des abscisses représente la position du joueur
L'axe des ordonnées représente le nombre de points gagnés (en dehors du contexte d'égalité)
La courbe en bleu symbolise la courbe de référence. On peut considérer cette courbe valide pour un z (nombre de personnes dans le classement) petit.
La courbe en rouge symbolise la courbe finale. On peut considérer cette courbe valide pour un z relativement grand.
Le principe est de créer une \"bosse\" dans la courbe bleue pour qu'elle rejoigne la courbe rouge de telle sorte que la décélération la plus petite soit à 33% du classement et que la décélération la plus forte soit à 75% (g'(33) ~= 0 et g'(75) = M)
Bien sûr, la vitesse de décroissement minimal et maximal dépends de z.
J'ai pris un jeu de test de 100 posts dans un classement pour dessiner cette courbe.
Sinon, en soit, la fonction bleue :
f(x,z) = (z+1-x)*(100/(x^(1/7))) avec x <= z me semble pas si mal...
Mais la rouge donne un peu plus de piment dans l'esprit de compétition et il peut être intéressant d'avoir ce genre de courbe car elle reprends la plus grande majorité des corrections théorique trouvé sur les problèmes actuels : écart entre les premiers entre-eux grand mais écart entre dernier entre-eux faible avec possibilité de gagner pas mal de point si l'on est dans les 33% premiers, classement pouvant atteindre 1.000.000 de posts sans atteindre le minimum de 10 points et avec toujours un écart intéressant entre le dernier et avant-dernier (et pas qu'un seul point...), etc etc...
L'approche par les courbes de Béziers est-il si compliqué à définir ? Car la courbe rouge pourrait facilement représenter une spline de Béziers je trouve

Bref, je passe le flambeau aux membres qui désirait avoir plus de \"points statiques\" dans la définition de la courbe

EDIT : je viens de me rendre compte qu'une fonction gaussienne composée à mon f(x) en bleu rendrait vraiment bien aussi... à étudier peut-être
10/12/2010 14:33
#470
10/12/2010 14:40
#471
11/12/2010 01:21
#472
serialbuscontroler :
Juste une question: au delà de 100 joueurs, la courbe évolue comment?
Plus il y a de joueurs dans le classement plus la courbe sera haute, donc plus la \"bosse\" sera de plus en plus décalée par rapport à la courbe bleue. C'est pour cette raison que j'utilise des pourcentages pour définir les asymptotes...
Je pense qu'à partir du moment où la dérivée au point x = z/3 est très proche de 0 (car il faut que la courbe soit strictement décroissante, donc pas 0 pile) la \"bosse\" arrête de grandir.
11/12/2010 20:56
#473
En clair tu as une courbe qui a pour xmax=nb de joueur, et plus le nbe de joueur augmente, plus y est grand pour x=1 ? sachant que y doit etre assez grand pour xmax, et ensuite tu fais..l'opposé de la dérivée, je sais plus comment ça s'appelle, et tu as une courbe qui a des ecart de plus en plus faibles, tout en gardant de l'ecart en fond de classement
Je sais pas si c'est realisable ni comment mais je me debrouille pour aider avec mon peu de connaissance x)
Je sais pas si c'est realisable ni comment mais je me debrouille pour aider avec mon peu de connaissance x)
11/12/2010 22:08
#474
En clair, pas du tout...
Tu peux essayer d'imaginer la courbe s'étandant en profondeur...
Au premier plan, on aura la courbe bleu qui définira le nombre de points.
Tout au fond, tu aura la courbe rouge étendue à son maximum, c'est à dire de telle manière qu'au point x = 33% * z (où z est le nombre de posts et x la position du joueur), la courbe soit \"presque\" horizontale et au point x = 75% * z, la courbe rouge soit \"presque\" verticale.
Mais effectivement, y représente bien le nombre de point gagnés
On parle ici d'une condition de classement sans égalités, puisque les égalités seront gérées par le calcul de moyenne.
Tu peux essayer d'imaginer la courbe s'étandant en profondeur...
Au premier plan, on aura la courbe bleu qui définira le nombre de points.
Tout au fond, tu aura la courbe rouge étendue à son maximum, c'est à dire de telle manière qu'au point x = 33% * z (où z est le nombre de posts et x la position du joueur), la courbe soit \"presque\" horizontale et au point x = 75% * z, la courbe rouge soit \"presque\" verticale.
Mais effectivement, y représente bien le nombre de point gagnés
On parle ici d'une condition de classement sans égalités, puisque les égalités seront gérées par le calcul de moyenne.
12/12/2010 02:06
#475
12/12/2010 15:09
#476
12/12/2010 15:30
#477
Ok, merci pour la fonction polynomial, d'essayer du trouver un truc...
J'ai personnellement du mal à essayer de trouver une fonction polynomiale qui ressemble à la rouge, mais la principale difficulté c'est de trouver une fonction qui, pour f(x,1) ressemble à la bleu et pour f(x,100) ressemble à la rouge...
J'ai personnellement du mal à essayer de trouver une fonction polynomiale qui ressemble à la rouge, mais la principale difficulté c'est de trouver une fonction qui, pour f(x,1) ressemble à la bleu et pour f(x,100) ressemble à la rouge...
12/12/2010 17:13
#478
Ce que je comprends sur le graphique de Niconoe, c'est une fonction qui permettrait d'obtenir des points sans toucher l'axe des X comme une inversement proportionnelle.
Est-ce que plus on est de joueurs, plus le joueur qui est premier va atteindre presque 100 points sans y toucher? Je suis en train de me demander si on va suivre la même méthode que sur Cyberscore.
Est-ce que plus on est de joueurs, plus le joueur qui est premier va atteindre presque 100 points sans y toucher? Je suis en train de me demander si on va suivre la même méthode que sur Cyberscore.
12/12/2010 20:48
#479
726件中461〜480件を表示
You must be logged in to reply to this topic.