title: A way to do ranked match making in an ELO system
body: <p>I'm trying to create a ranked match making algorithm for my iOS game, and I'm not sure how to start.</p>
  
  <p>The game is very chess-like, thus the <strong>ranking system is done with ELO</strong>. I am able to receive a (potentially large) <strong>list of all queued users in string form</strong>, but that is all that I have. I've been <strong>concatenating the elo+timestamp of the user as he/she joins the queue</strong> (this creates like 5-6 extra steps of parsing to sort the array + objects). Another option is to store custom user data which I thought was pointless since I cannot know the elo of the player until I request the pull on that piece of information on that user. Since sorting the entire list is probably out of the option based on the length of this list, I've thinking about this method:</p>
  
  <p>In an elo system, if I just get a random (100) amount of users from the list... I assume that the range of elo will be a portion around the median of the ELO distribution. This may be fine for players with ELO near the median, but for higher or lower ELO players this sub array would have to be bigger and thus bringing me back to my original problem.</p>
  
  <p><strong>My question: Is there any documented methods of random match making?</strong> I'm really just asking for some well known ways to do this since I cannot come up with a method that sounds feasible. </p>
  
  <p>This seems like an issue that involves a lot of graph theory and research etc so it's probably above me to figure out from scratch. I tried to do very thorough google searches but it seems everyone just wants to rage at LOL's matchmaking :(</p>