Ladder Equation Flaws

All things BZFlag - no [OT] here please
Post Reply
Head
Private First Class
Private First Class
Posts: 12
Joined: Tue Jun 10, 2003 4:05 am

Ladder Equation Flaws

Post by Head » Fri Aug 29, 2003 11:17 pm

I think the CTF ladder equation is a good attempt to emphasize flag capturing over kill ratio. But, looking at the equation, it seems like there is a problem with it when the teams are uneven (go ahead, look at the equation, it won't hurt).

For the sake of argument, let's say that the "diff" variable comes out to be 10.0 (which it would be if both teams have neutral scores). The problem for me comes in when there are uneven teams. For example, if a 3-person team (Team3) takes the flag of a 2-person team (Team2), then everyone on Team3 will earn 3.33 (10/3) points and everyone on Team2 will lose 5.00 (10/2) points. That doesn't seem right. The members of Team2 shouldn't lose more than the members of Team3 just because they are at a disadvantage should they?

Similarly, if the short-handed team, Team2, wins, they would get 5 points and the other teams would only lose 3.33 points per player. It seems to me that the 3-person team should lose more points when they lose to a weaker team.

What do you think? Am I mis-interpreting the equation?

User avatar
Chestal
Dev Guru
Dev Guru
Posts: 171
Joined: Fri Dec 06, 2002 11:56 pm
Location: Siegen, Germany
Contact:

Post by Chestal » Fri Aug 29, 2003 11:50 pm

I think the formulas used basically make sense. There's two parts to it: First, a rating is assigned to each team by calculating the sum of the individual ratings of the players. This is used to do the basic ELO calculation. The result is a delta value which represents the value of the capture (will be higher when the capturing team has a low rating in relation to the other team).

Then this value is distributed evenly on the members of each team (+ for the winning team, - for the losing team). Thus, when you are in a small team, you get a greater part of the delta value whch reflects that your responsibility for the team is higher in a small team than in a big team.

Let's say it is a 3 vs 2 situation. Then the accumulated rating of the 3 player team is usually significantly higher thus resulting in a small delta value when the bigger team captures.

Of course, all this probably is not perfect and there are a lot of other factors which distort the result. But it still seems to work quite well as is.

Head
Private First Class
Private First Class
Posts: 12
Joined: Tue Jun 10, 2003 4:05 am

Post by Head » Sat Aug 30, 2003 12:16 am

Thanks for the reply Chestal. I believe I was (and maybe still am) misunderstanding the TeamAScore and TeamBScore values. Are those the scores that start at 1200 for everyone? I was previously thinking it was the +/- score which would tend to be zero with evenly matched players.

If all players in a 3 vs 2 game started at 1200, and the max players per team was 4, then, if the bigger team wins, the value of prob would be 1.0/(1 + 10**((1200/4)/400)) = 0.151 and diff would be approximately 17. If the smaller team wins, the value of prob would be 1.0/(1 + 10**((-1200/4)/400)) = 0.849 and the value of diff would only be about 3!

This doesn't seem right either. In fact it seems worse than I thought before. Since the smaller team barely gets anything for a win and the bigger team gets a bunch of points when they win. Where am I going wrong in my calculations? Or should I try to join big teams? :wink:

Head
Private First Class
Private First Class
Posts: 12
Joined: Tue Jun 10, 2003 4:05 am

Post by Head » Sat Aug 30, 2003 2:45 am

Chestal wrote:The result is a delta value which represents the value of the capture (will be higher when the capturing team has a low rating in relation to the other team).
A agree with the intent of this sentence. A lower ranked team should get a higher score each time they capture. But I don't think the equation as documented does that. Perhaps it is just documented wrong but it seems like the exponent (in the denominator) should be (TeamBScore - TeamAScore)/400 instead.

User avatar
Chestal
Dev Guru
Dev Guru
Posts: 171
Joined: Fri Dec 06, 2002 11:56 pm
Location: Siegen, Germany
Contact:

Post by Chestal » Sat Aug 30, 2003 11:40 pm

Yes, you're right. In the formula for prob, B and A must be swapped. So, let's say we have Team A with 4 players and Team B with 3 players. Let us assume further, that all players are average players with a rating of 1200. Thus for a ducati setup:

RatingA = 4800/4=1200
RatingB = 3600/4=900

prob=1/(1+10**((900-1200)/400))=1/(1+10**-0.75)=0.85

So, it guesses that team A has a 85% probability of capturing the flag.

When A captures:
diff=20*(1-0.85)=3
So, each A player would get 3/4=0.75 points and each B player would lose 3/3=1 point.

When B captues:
diff=20*(0-0.85)=-17
So, each A player would lose 17/4=4.25 points and each B player would earn 17/3=5.67 points


For a 4 vs 2 situation with equally skilled players, prob would already be 97%, thus a capture would only be worth 0.15 points for each A player. In the improbable case that the 2 B players manage to capture against 4 opponents, they would earn 9.7 points each. Anf if a single player manages to capture against 4 opponents, he will receive very close to the full 20 points 8)

User avatar
[dmp]
Captain
Captain
Posts: 282
Joined: Mon Dec 09, 2002 3:20 pm
Location: CPH, Denmark
Contact:

Post by [dmp] » Sun Aug 31, 2003 12:39 am

about-page updated. It now reads:
prob = 1.0 / (1 + 10 ** ((TeamBScore - TeamAScore) / 400 )).

BTW: All scores with a single player on one of the teams (or both) is ignored as its considered unfair.
I don't need huge pictures here.

User avatar
ski
Private First Class
Private First Class
Posts: 562
Joined: Tue Dec 10, 2002 2:30 pm
Location: Pittsburgh, PA USA
Contact:

Post by ski » Sun Aug 31, 2003 5:10 am

my head is spinning...lol :lol-old:
Rest In Peace Vivek
1986-2005 :(

Image
------------------------------
Member of DUB

Visit: Image
Image

Head
Private First Class
Private First Class
Posts: 12
Joined: Tue Jun 10, 2003 4:05 am

Post by Head » Tue Sep 02, 2003 3:14 am

[dmp] wrote:about-page updated. It now reads:
prob = 1.0 / (1 + 10 ** ((TeamBScore - TeamAScore) / 400 )).
Ah, I feel much better. :D

This equation makes sense to me now. An overmatched team won't lose many points but if they manage to capture they make lots of points. That seems pretty fair. So go ahead and capture against me when I'm on the short end... I'll make you pay!

Post Reply