Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Algorytm wyliczania oceny zawodnika w fifę
GreenGo
post 25.09.2016, 17:04:59
Post #1





Grupa: Zarejestrowani
Postów: 265
Pomógł: 4
Dołączył: 30.08.2004

Ostrzeżenie: (0%)
-----


Cześć,
zastanawiam się nad algorytmem wyliczającym ocenę zawodnika ( gracza ) w grę fifa/PES.
Chciałbym by każdy zawodnik miał ocenę od 1 do 10 bazującą na wygranych, przegranych i ilości rozegranych meczy.
Nie wiem jak to ugryźć, by algorytm zawierał w sobie rozróżnienie na to, czy dany mecz jest rozegrany z osobą posiadającą wyższą ocenę czy niższą tak, by słaby gracz wygrywając z lepszym zyskiwał więcej niż wygrywając z kimś na własnym poziomie oraz by przegrywając z lepszym, tracił mniej niż gdyby przegrał z kimś równym sobie.

Ktoś może ma na to jakiś pomysł ?
Go to the top of the page
+Quote Post
Pyton_000
post 25.09.2016, 17:52:30
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A w czym problem.

Ustalasz sobie bazową ilość pkt które gracz zyskuje/traci. Np. 2pkt.
Jeśli wygra z lepszym +1 do bazowych == 3pkt.
Jeśli przegra z lepszym -1 czyl -1pkt.

itd. rozpisujesz sobie kombinacje i gotowe.
Go to the top of the page
+Quote Post
GreenGo
post 25.09.2016, 18:35:07
Post #3





Grupa: Zarejestrowani
Postów: 265
Pomógł: 4
Dołączył: 30.08.2004

Ostrzeżenie: (0%)
-----


Tylko, że chciałbym zawrzeć w algorytmie obecną ocenę zawodnika. Tak by zawodnik z oceną 9/10 grający z zawodnikiem z oceną 2/10 nie dostawał/tracił tyle samo punktów, jakby grał z zawodnikiem znacznie lepszym, np. z oceną 8/10.

Rozpatrując dla przykładu:
Mecz pomiędzy zawodnikiem 9/10 a 2/10
- wygrywa zawodnik z oceną 9/10 i dostaje np. 0.1 do oceny
- przegranemu 2/10 zostaje odjęte 0.1 od oceny

Mecz pomiędzy 9/10 a 8/10
- wygrywa zawodnik z oceną 9/10 i dostaje np. 0.5 do oceny bo grał z zawodnikiem na podobnym poziomie
- przegranemu 8/10 odejmuje się np. 0.5 od oceny, gdyby przegrał ze słabszym od siebie to odjęło by się np. 0.8.

No i właśnie nie wiem jak wyliczyć, by to odejmowanie/dodawanie punktacji na bazie różnicy ocen zawodników, miało ręce i nogi.

Jeśli ktoś gra w jakieś gry online, to można się tam spotkać z rankingiem MMR na bazie którego, z tego co wiem, wyszukiwani są przeciwnicy na podobnym poziomie.

Jedyne co mi przychodzi do głowy i chyba nie jest takie złe, to po prostu wygranemu, brać różnicę ocen i na jej bazie liczyć punkty. Wygrany dostaje 9 - różnica, przegrany traci 9 - różnica.
W takim przypadku, miałbym sumę punktów, która odzwierciedla "poziom" gracza, ale szczerze mówiąc nie wiem jak miałbym to przekształcić na ocenę 1 - 10 :|

Ten post edytował GreenGo 25.09.2016, 18:49:10
Go to the top of the page
+Quote Post
redeemer
post 26.09.2016, 08:30:34
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Zobacz na "gotowe algorytmy" wykorzystywane np w turniejach szachowych:

http://szachmistrz.pl/jak-obliczyc-normy-n...e-szachowe.html
https://pl.wikipedia.org/wiki/System_Buchholza
https://pl.wikipedia.org/wiki/System_Sonneberga-Bergera
https://pl.wikipedia.org/wiki/Metoda_progresji

Ten post edytował redeemer 26.09.2016, 08:31:46


--------------------
Go to the top of the page
+Quote Post
GreenGo
post 26.09.2016, 11:13:58
Post #5





Grupa: Zarejestrowani
Postów: 265
Pomógł: 4
Dołączył: 30.08.2004

Ostrzeżenie: (0%)
-----


Dzięki, poczytałem i ostatecznie postawiłem na algorytm ELO, również stworzony dla szachistów. W prawdzie nie zrobie z tego oceny 1 - 10 ale przynajmniej bardzo dobrze odzwierciedla poziom graczy smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 11:44