Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Championship Event (http://www.chiefdelphi.com/forums/forumdisplay.php?f=12)
-   -   2009 Division Algorithm (http://www.chiefdelphi.com/forums/showthread.php?t=76632)

Schnabel 04-08-2009 10:08 PM

2009 Division Algorithm
 
So has anyone figured out this year's algorithm? I haven't taken the time to figure it out yet.

jennifer_1547 04-08-2009 10:09 PM

Re: 2009 Division Algorithm
 
neither have i
it looks so random to me though :|

waialua359 04-08-2009 10:12 PM

Re: 2009 Division Algorithm
 
It was handpicked by Sean and Dave. :P :P :P LOL!

David Brinza 04-08-2009 10:16 PM

Re: 2009 Division Algorithm
 
Write the team numbers in order on 348 index cards, shuffle three or four times, then deal them into four piles.

Or you could write a program to do the same thing...;)

MrForbes 04-08-2009 11:06 PM

Re: 2009 Division Algorithm
 
they used the same random number generator we used for our autonomous drive code

(oops did I say that?)

The Lucas 04-08-2009 11:42 PM

Re: 2009 Division Algorithm
 
Quote:

Originally Posted by David Brinza (Post 847866)
Write the team numbers in order on 348 index cards, shuffle three or four times, then deal them into four piles.

Or you could write a program to do the same thing...;)

Similar to what I was thinking but slightly different. Your method probably wouldn't produce as much clumping as mine.

Sunbun 04-08-2009 11:42 PM

Re: 2009 Division Algorithm
 
I'm guessing they used something like this?

Or this?

Chris is me 04-09-2009 01:39 AM

Re: 2009 Division Algorithm
 
Being completely serious I think they just took 4 teams at a time, randomly sorted them, then moved onto the next 4 teams, etc.

GaryVoshol 04-09-2009 07:14 AM

Re: 2009 Division Algorithm
 
It was not sorted by team number, team location or team name. I tried plotting all three to see if there was a pattern, and I didn't find one. Someone else posted that it wasn't based on registration date, based on how the last registrants are distributed.

So unless they found some other sorting mechanism, maybe based on some performance criteria such as quals ranking, it appears to be a random assignment. Random would give you strings of teams all assigned to the same division, such as 236 through 271 all being in Curie.

JackG 04-09-2009 10:50 AM

Re: 2009 Division Algorithm
 
On a hunch, I added together the team numbers from each division to see if there was some pattern. Perhaps the total team numbers might be the same for all divisions?

Team No. Total
Archimedes: 116639
Curie: 110256
Newton: 106945
Galileo: 103721

Apparently, there seems to be no pattern. :(

jennifer_1547 04-09-2009 10:51 AM

Re: 2009 Division Algorithm
 
i still think that it was done completely randomly
im sticking by it until someone proves what they did to figure it out :)

Andrew Schreiber 04-09-2009 10:52 AM

Re: 2009 Division Algorithm
 
Has anyone looked at age of team? Win/Loss Record? OPR/DPR?

Based purely on team number the graph appears somewhat sinusoidal (albeit with pretty bad resolution)

Of course, there is always the chance that it is random which would ruin all fun.

JesseK 04-09-2009 12:52 PM

Re: 2009 Division Algorithm
 
Code:

private List<Team> mTeamList = new ArrayList<Team>();
private final static int sNUM_DIVISIONS = 4;
private static Timer t = new Timer("Randomizer");
private static TimerTask divTask = new TimerTask(){
    Integer division = -1;

    @Override
    public void run(){
      synchronized(division){
          division = (int)(new Random(System.nanoTime()).nextDouble() * sNUM_DIVISIONS); 
          //Indexes the divisions from 0 to 3, which would match the ordinals of division enums
      }
    }

    public int getDivision(){
      synchronized(division){
          return division;
      }
    }
}

static{
  initTeamList();  // Populates the team list with teams who are attending Atlanta
  t.schedule(divTask, 0, Math.random()*1000);
  Iterator<Team> it = mTeamList.iterator();
  Timer teamDivTimer = new Timer("Division Assignment");
  TimerTask teamTT = new TimerTask(){
      public void run(){
          if(it.hasNext())
            it.next().setDivision(divTask.getDivision();
          else
            cancel();
      }
  }
  teamDivTimer.schedule(teamTT, 0, Math.random()*1000);
}

Run it, the select random teams to even out the number of teams in each division. 'nuff said

dodar 04-09-2009 12:54 PM

Re: 2009 Division Algorithm
 
Ok how about that, but in Lamen's terms

Nick Lawrence 04-09-2009 12:56 PM

Re: 2009 Division Algorithm
 
I like how 1114, 2056 and 1503 are in the same division.


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

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