![]() |
Re: Match Scheduling Algorithm Competition
Quote:
Quote:
Quote:
- generate the space S of all possible tournaments - assign a score to each of these tournaments using weighted criteria - pick the tournament with the highest score OR - randomly generate a tournament - assign a score to the tournament using weighted criteria - stop when you find one with an acceptable score OR - construct a tournament using some rules - assign a score to the tournament using weighted criteria - stop when you find one with an acceptable score OR something else? Quote:
|
Re: Match Scheduling Algorithm Competition
The FRC scheduling algorithm has been pretty good in the past few years, hasn't it? I don't think they need a new one.
|
Re: Match Scheduling Algorithm Competition
Quote:
But who knows, they might not ever use the results. They could have just had the problem description laying around from when they had their algorithm written. |
Re: Match Scheduling Algorithm Competition
It is hard enough for the seeding algorithm to work accurately with such a small sample size; deliberately biasing the schedule for or against some teams will just make it harder to determine who should be ranked where.
|
Re: Match Scheduling Algorithm Competition
After the algorithm of doom* (2007), FIRST did a few things.
They provided a list of requirements for a scheduling algorithm. Quote:
Third, they provided a program that would provide rate a schedule based on the requirements. This way, any other algorithm could be evaluated objectively. Finally, they provided a reference program, Idleloop Software's MatchMaker (Written by Tom and Cathy Saxton of team 1318) and challenged people to beat it. I only know of one other scheduler that was submitted, and it was marginally worse then MatchMaker. The challenge was issued in September, so there was about 3 months, however, it seemed like all activity died out within 2 weeks or so. Even though the MatchMaker software was available for months, just having it available didn't catch all the initial bugs. It was only a week before the championship that people started noticing a clumping problem with large events. *One thing to remember was that while the Algorithm of Doom did group teams by team number the main reason it was hated is that it did a horrible job at creating a schedule with varied opponents and partners. If the algorithm had done a better job at giving teams different partners and opponents, it might still be used. |
Re: Match Scheduling Algorithm Competition
Thanks for the history lesson Joe. Very interesting.
Four years have passed since 2007, and a whole new student class is now in place. Maybe it's time for FIRST to put this out there again. One point of clarification: Quote:
|
Re: Match Scheduling Algorithm Competition
Quote:
I also think that, in order to preserve a minimum inter-match time interval, I put in a heuristic that would permit the first alliance put into a match to face opponents who had been allies earlier. [Edit] Thanks to Joe I was reminded of this long post that I wrote a while ago - It contains a better description of the heuristics I used - Look near the bottom of it.Link [/Edit] Quote:
I should have been more clear. I was willing to accept minor separation between my results and perfection. Creating a good enough scheduling implementation isn't all that hard. Blake PS: Joe's info surprised me - Either I totally forgot or totally missed the solicitation and evaluation process he described, so I sent him a PM asking if has any still-valid links or other info I can look at to learn about it. |
Re: Match Scheduling Algorithm Competition
At this point, I dunno why we aren't simply creating our own open-sourced algorithm and associated interface. The software engineering prowess of the CD community as a whole could probably out-do a single contestant in any contest, regardless of how long the contest ran. Multiple small tasks are very easily delegated and worked on with a good group.
When I find some time (heh, my fiancee moves in this weekend) I'll resurrect some old stuff and make a Google Code project out of it. It'll start off in Java since that's what I made it in at the time. |
Re: Match Scheduling Algorithm Competition
Quote:
|
Re: Match Scheduling Algorithm Competition
If it is possible, the software should have an option to take into account the team's performance so far in the season in order to generate a "fair" match schedule for FiM or MAR Region Championship or World Championship. Let me define what is team's performance and what is fair.
Team's performance can be highest OPR, weighted average OPR or season world ranking. Fair does not mean trying to make every match as close in score as possible so that any alliance would have a fair chance of winning. Fair means no teams should have a heavier "load" than other teams. Mathematically, it will mean that the average OPRs of the opposing alliance that each team will have to face will be about the same. In this way, teams that have higher OPRs will still have a higher chance of winning their matches. I like this way because it does not actually look at the predicted score of each match based on OPR and artificially modify it to force the outcome. There is still some inherent randomness to it. |
Re: Match Scheduling Algorithm Competition
Quote:
|
Re: Match Scheduling Algorithm Competition
Quote:
I guess we can use win/loss, being alliance captain or be drafted in elimination round and how far they advance, which is what the ranking point system is for the Michigan district model. If you don't like using OPR, do you have any suggestions what we can use? |
Re: Match Scheduling Algorithm Competition
Quote:
I'll also come out and say that any attempt to make schedules "fair" is doomed to failure in my opinion due to differing opinions on what metrics to categorize on. I claim that the only fair way to do scheduling is to not look at the team numbers at all. That way every team has the same chance of getting an easy schedule or an impossible one. |
Re: Match Scheduling Algorithm Competition
Weighting matches based on current years ranking is inherently unfair. You are punishing a team and decreasing their chance of future success based on previous success, and rewarding teams with low success with a higher chance of future success.
In FRC efforts to make it fair should end after registration; Every team has equal opportunity to compete, build, find mentors, fund raise, etc... No competitive boost should be given to under-performing teams. They had just as much of a chance to make amazing happen as the teams that routinely do, don't punish the teams that work hard for that. |
Re: Match Scheduling Algorithm Competition
Quote:
Regardless, I think there is no need to balance scheduling with any consideration of robot performance or capability. Random is at least as "fair" as any other method. If you draw an easy schedule, enjoy your cakewalk but have fun getting bounced out of the playoffs if your bot isn't up to the task. Likewise, if you draw a tough schedule but the robot performs up to its abilities, you will be drafted and have a great chance to go deep into elims. IMO, the best way to be "fair" about it is to maximize the number of matches (random draws) that each team plays. |
| All times are GMT -5. The time now is 05:36. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi