Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   Suggestion to improve the alliance choosing program (http://www.chiefdelphi.com/forums/showthread.php?t=66373)

Kimberly 30-03-2008 00:15

Suggestion to improve the alliance choosing program
 
We're a rookie team this year and after competing in our first regional, one of our team members made what I thought was an astute observation. When an alliance consists of 2 rookie teams and 1 non-rookie team, it seems really unfair to the non-rookie team - especially if there aren't any rookies on the opposing alliance.

My suggestion would be to add to the algorith the "rookie factor" where rookies are not put on the same alliance if at all possible. Also, when an alliance has a rookie team, the alliance they're playing against would also have a rookie team.

Lil' Lavery 30-03-2008 00:29

Re: Suggestion to improve the alliance choosing program
 
I'd suggest reading the thread's about last year's pairing algorithm and see the generally consensus on it. While you're suggestion isn't exactly the same, it does have some themes in common.
here's one thread dealing with it that can be used as a starting point

Kimberly 30-03-2008 00:54

Re: Suggestion to improve the alliance choosing program
 
I searched for "alliance algorithm" because I didn't want the threads on algorithms used for robot programming. I would have posted to one of the threads that came up from that search, but the thread was closed.

I also looked under "Rules/Strategy" because I figured that was the logical place for a thread on how alliances are chosen. I didn't think to look under "Championship Event" because allliances are chosen for more than just the championship.

Besides, there's always someone who will point out a new thread belongs somewhere else ;) and a moderator can always move it.

EricH 30-03-2008 01:24

Re: Suggestion to improve the alliance choosing program
 
A quick review of the "Algorithm of Death", as it was known:
Step 1: divide all teams at the event evenly into three tiers by number.
Step 2: Take the first unmatched team from each tier and place them on one alliance. Repeat for the second unmatched team. Have those two face each other.
Step 3: Repeat Step 2 until all tiers are out of unmatched teams.
Step 4: Apply other factors. This gets the variation.
Step 5: Distribute to teams.

This resulted in some lousy rankings for good teams. It's hard to get even a 50% win record if you're against 1114 for 5 out of 9 matches and never with them.

The algorithm was based on the (mistaken) assumption that rookies (and second and sometimes third year teams) are inherently worse on the field than veteran teams.

Matt H. 30-03-2008 02:29

Re: Suggestion to improve the alliance choosing program
 
It is incredibly hard to make any alliance sorting program based on team skill simply because teams don't preform based on any known pattern. Past performance is no indication of current success (mentors leave, students graduate etc.) and there are some rookie teams which absolutely shine. Also the more variables inputted into a sorting program the more likely teams are to be paired with/against each other again and again and again as there become fewer and fewer "fair" combinations.

With this years game I am against the alliance system completely as penalties could prevent a powerhouse team from winning making alliance partners a risk with many teams having negative average scores, but I can't think of a remedy so I'll have to live with it.

Bongle 30-03-2008 09:00

Re: Suggestion to improve the alliance choosing program
 
I crunched numbers on this in 2006 based on 2 weeks of regionals, and here's an image that breaks down scores by 'average alliance number'. Average alliance number was the average of the 3 team numbers that made it up. Note that rookies this year were about 1700+, so a team with an average alliance number higher than that was probably all rookies.

There is definitely some correlation between team number and scores, but it is a fairly weak correlation, and more importantly, there is a LOT of variation in each group. There are rookies who can dominate regionals (2056 in 2007), and there are rookies who can barely get their robot to move. However, there are also older teams like this.

http://www.chiefdelphi.com/forums/at...1&d=1142127063

Edit: Going through all my old statistics threads is fun.

Here's another relevant one. Given two alliances, find their average alliance numbers (AAN1 and AAN2). The x-axis on this graph is the difference between opposing alliance's AANs. If a team like (1114, 1503, 1680) faced (25, 48, 71), then the difference would be something like 1200ish. This graph shows the win rate for the higher-numbered alliance.

Basically, it says that in 2006, if your AANs differed by 1200, then the team with the higher number had a 20% win rate.
http://www.chiefdelphi.com/forums/at...8&d=1142707377

Rick TYler 30-03-2008 11:28

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Bongle (Post 726844)
I crunched numbers on this in 2006 based on 2 weeks of regionals, and here's an image that breaks down scores by 'average alliance number'.

Time to go back and increase your data set size, add 2007 and 2008 data, and include a Z-axis with number of teams in each band. Good work!

Kimberly 30-03-2008 12:45

Re: Suggestion to improve the alliance choosing program
 
You guys are overlooking something. There's another reason it's beneficial to not have rookie teams on the same alliance. As rookies, we're learning about all aspects of FIRST. We learn the most from experienced teams. It seems to me the mentoring aspect FIRST promotes throughout the build phase, would be appropriate for the competition phase too. On an alliance with 1 rookie team, there are 2 experienced teams to offer help, guidance, strategy, etc. I don't see a down side to this.

While it's certainly possible for a rookie team to outperform many experienced teams, I think it's still in the best interest of the organization overall for rookie teams to get the benefit of what more experienced teams can teach them during that first year. The more experienced alliance partners a rookie team has, the more information it receives on how to be even better next year.

XaulZan11 30-03-2008 12:47

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Matt H. (Post 726825)
Past performance is no indication of current success (mentors leave, students graduate etc.)

I understand what you are saying, but if you talk to nearly every psycologist, past behavior is the best predictor of future behavior. If there was no correlation or indication, then we would expect teams like 71, 111, 233, 1114 to have a normal distribution of results (ie win 3 regionals in a year just as often as not getting picked for the eliminations in one year). As we know, however, these teams always are some of the top teams. I think you mean that the correlation is not strong enough to be a used. If so, I agree.

EricH 30-03-2008 12:55

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Kimberly (Post 726950)
You guys are overlooking something. There's another reason it's beneficial to not have rookie teams on the same alliance. As rookies, we're learning about all aspects of FIRST. We learn the most from experienced teams. It seems to me the mentoring aspect FIRST promotes throughout the build phase, would be appropriate for the competition phase too. On an alliance with 1 rookie team, there are 2 experienced teams to offer help, guidance, strategy, etc. I don't see a down side to this.

While it's certainly possible for a rookie team to outperform many experienced teams, I think it's still in the best interest of the organization overall for rookie teams to get the benefit of what more experienced teams can teach them during that first year. The more experienced alliance partners a rookie team has, the more information it receives on how to be even better next year.

I don't see how that will help. Remember, FIRST is not about the competition or the robots; it's about the people.

Also, I can think of at least one veteran team off the top of my head that could use some on-field mentoring themselves. They aren't exactly in a position to give advice. You wouldn't know it to look at their number--and the number is what the algorithm uses.

Personally, I'd rather see the return of the design books.

Dr Theta 30-03-2008 13:29

Re: Suggestion to improve the alliance choosing program
 
I am unsure as to how something like this would work for some of the younger regionals as well, I mean look at Minnesota this year. Over half of the field is rookie teams.

Kimberly 30-03-2008 13:38

Re: Suggestion to improve the alliance choosing program
 
Ok, let me explain it this way: If a rookie team were on 10 alliances with 20 different experienced teams, that's 20 sets of data. The rookie team can decide for itself which advice is useful and which is not, but the more times the same advice is given, the more likely it is to be valid. More information is better than less.

I also am well aware it's not about the competition and winning, which is exactly why I'm suggesting the rookie teams be paired with 2 experienced teams during the competition. If I were promoting a better winning strategy, I'd suggest teams be seeded by individual performance, but I personally don't care about that, except to the extent of keeping track of our individual performance so we know how our design and strategy worked.

If the algorithm were changed to include the fewest pairings of rookie teams possible, and to balance the rookie distribution between the competing alliances, it wouldn't matter what percentage rookies were at the competition. It would only mean there wouldn't be alliances where experienced teams were competing against inexperienced.

EricH 30-03-2008 14:07

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Kimberly (Post 726995)
If the algorithm were changed to include the fewest pairings of rookie teams possible, and to balance the rookie distribution between the competing alliances, it wouldn't matter what percentage rookies were at the competition. It would only mean there wouldn't be alliances where experienced teams were competing against inexperienced.

I don't know how easy that would be to implement for next year. (It's too late for this year.) I think it won't be that easy.

Take a look at the 2007 match lists, if you can find any. (The Blue Alliance probably has them.) You will see almost exactly that situation. The hard part will be keeping the other teams from facing each other more than once or twice. Last year's algorithm was the most hated in FRC history. So you want the "third tier" to be made up only of rookies and only one other tier. That can't be easy to do. If you think it is, then I invite you to come up with an algorithm and submit it to FIRST for their use.

StevenB 30-03-2008 14:41

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Kimberly (Post 726778)
When an alliance consists of 2 rookie teams and 1 non-rookie team, it seems really unfair to the non-rookie team - especially if there aren't any rookies on the opposing alliance.

My suggestion would be to add to the algorith the "rookie factor" where rookies are not put on the same alliance if at all possible. Also, when an alliance has a rookie team, the alliance they're playing against would also have a rookie team.

I respectfully disagree. In some matches the teams will be evenly balanced. In other matches they won't be balanced at all. That isn't a bad thing. You have to be able to adapt and learn from each match, whether you have helpful pairings or not.
The match scheduling has been pretty good this year. Sure, some teams will end up with somewhat easier schedules than others. That happens in every other sport too.

Cow Bell Solo 30-03-2008 14:58

Re: Suggestion to improve the alliance choosing program
 
I know at the MN Regional this weekend at least half if not more were Rookies, Also alot of the rookie teams have a better robot and drivers then 5 year old teams, it all depends on the team not there experiance, this isn't true all the time but there were a good amount of good rookie teams at the MN Reg.

Bongle 30-03-2008 15:18

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by XaulZan11 (Post 726954)
I understand what you are saying, but if you talk to nearly every psycologist, past behavior is the best predictor of future behavior. If there was no correlation or indication, then we would expect teams like 71, 111, 233, 1114 to have a normal distribution of results (ie win 3 regionals in a year just as often as not getting picked for the eliminations in one year). As we know, however, these teams always are some of the top teams. I think you mean that the correlation is not strong enough to be a used. If so, I agree.

Again to go back to the stats I did a few years back, a team's seeding performance in one year is a very poor predictor of its performance in the year following.

Here's a graph:http://www.chiefdelphi.com/forums/at...6&d=1175831673

On the X axis is a team's seeding performance in 2005. Further left is better. On the Y axis is a team's seeding performance in 2006, lower is better. You'll see about the only thing you can predict is that teams who were top seeds in 2005 tended to not be dead last in 2006. Likewise, teams who did very poorly in 2006 tended to not win the following year (but some did). Past behavior predicting future behavior may work well in humans, but not so much in robotics teams.

The teams that do well year after year are very special cases. Out of the 1500ish active teams in FIRST, people can probably only name 50ish 'power houses' who win year after year after year and never hiccup.


On the main topic:
Keep in mind that a team's next-year performance will probably be modified FAR more by who they communicate in the pits with, rather than who they play with on the field. If you play 8 games, you're only on the field for 16-20 minutes, but you're at the regional in the proximity of other robotics teams (whether in the hotel, pits, stands, or fields) for 72 hours. The 71 hours and 40 minutes that you're not on the field are where your entire team can learn from vets, not just on-field.

Kimberly 30-03-2008 15:21

Re: Suggestion to improve the alliance choosing program
 
There seems to be some confusion about what I actually mean when I say it would be better to have the rookie teams more evenly distributed on alliances.

What I am NOT saying is rookies are worse than experienced teams.

What I AM saying is rookies are less experienced than experienced teams.

Sometimes the student is better than the teacher, but that doesn't mean the student can't still learn from the teacher because experience does count for something.

Having said that though, if the data provided is correct, there does seem to be a correlation between the number of rookie teams on an alliance and how the alliance performs, so if it's possible to reduce the "unfairness" to the non-rookie teams by even a little bit through distributing the rookie teams more evenly, why in the world would anyone not want to?

Excepting, of course, the difficulty in writing the program that can do this and all the other functions too. A valid and reasonable argument against my suggestions, btw. If good programmers say it's too hard to factor rookies into the algorithm and still have it work as well as it does now, then it's too hard.

GaryVoshol 30-03-2008 15:26

Re: Suggestion to improve the alliance choosing program
 
Kimberly may have a point - they got a really unlucky schedule at GLR. In their first 4 matches, they were paired with another rookie. They were paired with a "powerhouse" veteran team just once, 469 - and in that match they came up against 494 and 67.

To contrast, I looked at Rush's schedule (lowest team number at GLR). They saw rookies on the field only twice - in the same match, one on each alliance. 33 played with a rookie once, never against one.

503, in the middle of the list of team numbers, played with and against rookies and very low-number veterans in many of their matches. 573 had a similar schedule.

2676, the highest team number at GLR, played with and against rookies in most of their schedule.

I looked at the West Michgan schedule and saw a similar clustering of rookie teams, and again of low-number teams.

We've seen that the "maximize time between matches" constraint often results in a team playing with another team in one match and against them the following. That's not unreasonable.

Does the schedule algorithm shuffle the teams before slotting them into the schedule? Or does it start in numeric order? As we saw last year, strict team order doesn't equate to team strength. But did the schedule inadvertently create semi-tiers?

Bongle 30-03-2008 15:39

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by GaryVoshol (Post 727070)
...

Hmmm... I've even seen griping from a low-numbered team (I think it was 48) mentioning that they were in the first match of a regional multiple times.

Wait 10 minutes, I'll re-jigger my OPR calculator to get an idea of the average team # that a team plays with.

XaulZan11 30-03-2008 15:45

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Bongle (Post 727066)
Again to go back to the stats I did a few years back, a team's seeding performance in one year is a very poor predictor of its performance in the year following.

Here's a graph:http://www.chiefdelphi.com/forums/at...6&d=1175831673

On the X axis is a team's seeding performance in 2005. Further left is better. On the Y axis is a team's seeding performance in 2006, lower is better. You'll see about the only thing you can predict is that teams who were top seeds in 2005 tended to not be dead last in 2006. Likewise, teams who did very poorly in 2006 tended to not win the following year (but some did). Past behavior predicting future behavior may work well in humans, but not so much in robotics teams.

The teams that do well year after year are very special cases. Out of the 1500ish active teams in FIRST, people can probably only name 50ish 'power houses' who win year after year after year and never hiccup.

I never said it was a fantastic predictor. I said it was the best. Predicting behavior in humans is very challenging.

The graph that you provide may very well prove that past preformance does predict future behavior. It appears the correlation coefficent would be around .2 or .3 and with a large sample size (around 1,000) I would not be surprised to see the correlation statistically significant. This means that the observed relationship is not due to random varation but because the two samples (results from 2005 and 2006) are in fact related.

Although it is not a perfect correlation or relationship (nearly all relationships in life are not perfect) doesn't mean there is none. It may not be a very strong relationship, but it appears there is one. I cannot think of another relationship (team number, funding...) that is a better predictor than past preformance.


To tie this back into the original topic, there is not perfect predictor for team preformance. Unless someone does a huge multiple regression study and finds a way to predict how teams are (I don't think there is one), the best way is to just randomly assign teams under the perameters (such as time inbetween matches) to ensure the most fair pairings.

Bongle 30-03-2008 15:50

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;
        }


XaulZan11 30-03-2008 16:05

Re: Suggestion to improve the alliance choosing program
 
Assuming those numbers Bongle provided are correct, that is a problem. I haven't completely gone through how the pairings are assigned, but it appears the team number (or the order of the teams) is a determining factor in the pairings (if not, we wouldn't have the relationship that Bongle provided). Would it be possible to randomly assign each team a number? Like say there are 50 teams at a regional, randomly assign each team a number from 1-50. Then, after the program assigns the pairings, replace the number (1-50) with the team number.

GaryVoshol 30-03-2008 16:12

Re: Suggestion to improve the alliance choosing program
 
Using raw team numbers as integers does not create a fair test. Some regionals have very low team numbers, with only a few rookies (Detroit). Some have very high team numbers, mostly rookies (Hawaii, Minnesota, Oklahoma). The two can't be equated directly; they skew the distribution. You would have to figure out a way to assign an equivalent rank to each team number in each regional.

SteveJanesch 30-03-2008 16:38

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Bongle (Post 727082)
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.

Bongle,

I'm not sure, but I think your code includes the numbers of all three teams on each alliance. If you're calculating the average team number of only of the teams you're paired with, wouldn't you want to keep your own team number out of the average? If that's the case, it'll flatten out the "who you are paired with" average with respect to your own team number. It won't change your opponent's average team number, though. I could easily be reading the code wrong. I thought what was important was the average team number of who you were paired with, which should ideally be constant versus team number, not the whole alliance, which your own team number will influence.

- Steve

Bongle 30-03-2008 16:56

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by stj_1533 (Post 727112)
Bongle,

I'm not sure, but I think your code includes the numbers of all three teams on each alliance. If you're calculating the average team number of only of the teams you're paired with, wouldn't you want to keep your own team number out of the average? If that's the case, it'll flatten out the "who you are paired with" average with respect to your own team number. It won't change your opponent's average team number, though. I could easily be reading the code wrong. I thought what was important was the average team number of who you were paired with, which should ideally be constant versus team number, not the whole alliance, which your own team number will influence.

- Steve

Well, when it's doing the summing for the team's you're with, it leaves your team out of your bucket. iTeamWithSum is an array of 26 elements. iTeamWithSum[0] represents the sum of all alliance partners of (0-99) numbered teams, iTeamWithSum[1] is the sum of all alliance partners of (100-199) numbered teams, and so on. So to say that "188 (a 100-199 team) had team numbers 865 and 703", the code would be iTeamWithSum[1] += 865 + 703.

Example: Let's say we have an alliance of 1114, 1503, and 1680.

It would do:
iTeamWithSum[11] += 1680 + 1503 // 1114 was paired with 1680 and 1503
iTeamWithSum[15] += 1114 + 1680 // 1503 was paired with 1114 and 1680
iTeamWithSum[16] += 1114 + 1503 // 1680 was paired with 1114 and 1503

average[11] = (1680 + 1503) / 2; // note that this isn't affect by 1114 being on the 1114/1503/1680 alliance

So the actual team number that we're doing the indexing by is not included in the average, and thus shouldn't effect the final average (for that bucket).

Good argument though, keep them coming. We don't want to make a fuss if my code is simply wrong.

SteveJanesch 30-03-2008 17:01

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Bongle (Post 727123)
So the actual team number that we're doing the indexing by is not included in the average, and thus shouldn't effect the final average (for that bucket).

That's what I was suggesting, I'm just not sharp enough this afternoon to pick it out of the code. Well done.

Kims Robot 30-03-2008 17:31

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Kimberly (Post 727068)
What I am NOT saying is rookies are worse than experienced teams.

What I AM saying is rookies are less experienced than experienced teams.

I see what you are saying in general, but Im not sure this would work for long, or even in a lot of cases. As FIRST grows and has now been around since 1992, there are more and more teams being started with mentoring teams, more rookie teams attending preseason events, more rookie teams being founded by FIRST college graduates or past FIRSTers that have moved, so the level of the rookie teams has drastically increased from years ago. There are also more and more rookies going to multiple events, at which point they may have enough experience to perform more like a veteran team. The other factor is there are many older teams that go through upheaval, and either loose sponsorship for a year, come back into being, or just have a complete switch of students and/or mentors. At any of these points, the lower number team may "act" like a rookie, and in some of the ones I mentioned earlier, the rookie team may "act" like a veteran. The year that our team was a rookie team, I was amazed with how much the rookies in our area had done and how much they appeared like veteran teams, especially on the field.

While I understand what you mean, especially in certain regions, I dont think this would work as well overall, based on what we have seen with past match algorithms based on number, and the level of many of the rookie teams these days.

StevenB 30-03-2008 17:32

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by Bongle (Post 727082)
It does appear that lower-numbered teams had lower-numbered partners. 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.

I don't think this is the case. As Gary pointed out,
Quote:

Originally Posted by GaryVoshol (Post 727093)
Some regionals have very low team numbers, with only a few rookies (Detroit). Some have very high team numbers, mostly rookies (Hawaii, Minnesota, Oklahoma).

It might be best to do this on a regional-by-regional basis, and see what you get. For example, the average team number at OKC was 2077. Almost everyone had a high team number, and thus their partners also had high numbers.

Rick TYler 30-03-2008 18:06

Re: Suggestion to improve the alliance choosing program
 
Quote:

Originally Posted by StevenB (Post 727151)
It might be best to do this on a regional-by-regional basis, and see what you get. For example, the average team number at OKC was 2077. Almost everyone had a high team number, and thus their partners also had high numbers.

Perhaps you could normalize team numbers by representing team numbers as plus or minus from the median (mean?) team number at the regional. Or even use ordinals of a team-number stacking at each regional. Isn't statistics fun? :)

Bongle 30-03-2008 20:06

Re: Suggestion to improve the alliance choosing program
 
Ok, I'll do another set of these once I have time. Here is my proposal:

On a per-regional basis:
For each team, take the average team # of all their allied teams. Compare this with the average team # at the regional (minus themselves of course) to represent their expected average team # of their allied teams if they were paired randomly. Call the difference D, and say that D for a given team is given by D = f[t]. Sp if you had a regional with teams (1,2,3,4,5,6,7,8,9,10) and 1 was paired with 2 and 3 for a match and 4 and 5 for another, D = ((2+3+4+5+6+7+8+9+10)/9 - (2+3+4+5)/4).

Hypotheses:If the scheduler is blind to team numbers, then f should not follow any pattern as t increases. If the scheduler is affected by team numbers and there is clustering, then f should follow some pattern as t goes from low team numbers to high team numbers.


All times are GMT -5. The time now is 09:15.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi