View Single Post
  #21   Spotlight this post!  
Unread 30-03-2008, 15:50
Bongle's Avatar
Bongle Bongle is offline
Registered User
FRC #2702 (REBotics)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Waterloo
Posts: 1,069
Bongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond repute
Send a message via MSN to Bongle
Re: Suggestion to improve the alliance choosing program

It does appear that lower-numbered teams had lower-numbered partners.

Using all the week 2-5 regional results, I found the average team number of each team's alliance partners. The results:
Quote:
0-numbered teams played with avg team nbrs of 1091, against avg nbrs 1080
100-numbered teams played with avg team nbrs of 1093, against avg nbrs 1095
200-numbered teams played with avg team nbrs of 1073, against avg nbrs 1076
300-numbered teams played with avg team nbrs of 1083, against avg nbrs 1061
400-numbered teams played with avg team nbrs of 1158, against avg nbrs 1157
500-numbered teams played with avg team nbrs of 1147, against avg nbrs 1200
600-numbered teams played with avg team nbrs of 1264, against avg nbrs 1253
700-numbered teams played with avg team nbrs of 1269, against avg nbrs 1192
800-numbered teams played with avg team nbrs of 1268, against avg nbrs 1249
900-numbered teams played with avg team nbrs of 1351, against avg nbrs 1392
1000-numbered teams played with avg team nbrs of 1290, against avg nbrs 1314
1100-numbered teams played with avg team nbrs of 1382, against avg nbrs 1372
1200-numbered teams played with avg team nbrs of 1398, against avg nbrs 1357
1300-numbered teams played with avg team nbrs of 1399, against avg nbrs 1436
1400-numbered teams played with avg team nbrs of 1376, against avg nbrs 1403
1500-numbered teams played with avg team nbrs of 1394, against avg nbrs 1393
1600-numbered teams played with avg team nbrs of 1461, against avg nbrs 1452
1700-numbered teams played with avg team nbrs of 1446, against avg nbrs 1444
1800-numbered teams played with avg team nbrs of 1556, against avg nbrs 1533
1900-numbered teams played with avg team nbrs of 1687, against avg nbrs 1678
2000-numbered teams played with avg team nbrs of 1522, against avg nbrs 1528
2100-numbered teams played with avg team nbrs of 1563, against avg nbrs 1574
2200-numbered teams played with avg team nbrs of 1760, against avg nbrs 1730
2300-numbered teams played with avg team nbrs of 1757, against avg nbrs 1762
2400-numbered teams played with avg team nbrs of 1713, against avg nbrs 1735
2500-numbered teams played with avg team nbrs of 1793, against avg nbrs 1799
2600-numbered teams played with avg team nbrs of 1630, against avg nbrs 1630
I'm fairly sure that unless I have a bug, this indicates that higher-numbered teams indeed don't get to play with lower-numbered teams as often as randomness would suggest, which implies that the match-making algorithm is not blind to team numbers like I would think it should be.


Here's the summing code. I grouped things by hundreds so patterns would show up and it'd be easier to implement. m is a match object, which includes the team numbers of the red and blue alliances. m.red and m.blue are 3-element integer arrays of the alliance. If I have a big glaring bug, please point it out.
Code:
for(int x = 0;x < lstMatches.size();x++)
	{
		Match m = lstMatches[x];

		iTeamWithSum[m.blue[0] / 100] += m.blue[1] + m.blue[2];
		iTeamWithSum[m.blue[1] / 100] += m.blue[0] + m.blue[2];
		iTeamWithSum[m.blue[2] / 100] += m.blue[0] + m.blue[1];
		iTeamWithCount[m.blue[0] / 100]+=2;
		iTeamWithCount[m.blue[1] / 100]+=2;
		iTeamWithCount[m.blue[2] / 100]+=2;

		iTeamWithSum[m.red[0] / 100] += m.red[1] + m.red[2];
		iTeamWithSum[m.red[1] / 100] += m.red[0] + m.red[2];
		iTeamWithSum[m.red[2] / 100] += m.red[0] + m.red[1];
		iTeamWithCount[m.red[0] / 100]+=2;
		iTeamWithCount[m.red[1] / 100]+=2;
		iTeamWithCount[m.red[2] / 100]+=2;

	}
	for(int x = 0;x < iTeamsMax;x++)
	{
		cout<<(x*100)<<"-numbered teams played with avg team nbrs of "<<iTeamWithSum[x] / iTeamWithCount[x]<<endl;
	}

Last edited by Bongle : 30-03-2008 at 16:03.
Reply With Quote