Jump to content

Recommended Posts

Is there any computer programmer out there who would be interested in working with me on developing a tab program? I don't have any background in programming, but I'm good at math and figured out:

 

 

I posted these ideas for free: if anyone wants to run with them, go for it. But I'd also be happy to collaborate with someone directly.

 

TRPC is showing its age; someone needs to write a new program. It might as well incorporate some new ideas.

  • Upvote 2

Share this post


Link to post
Share on other sites

I have two questions about your determination of a teams strength -- you say that Team A's weighted wins would be adding the wins of the team's it beat. Would that be adding the number of wins the team that was beat had at the time they were beaten, or the team that was beat's total wins.

 

I also would like to ask essentially the same question about considering the strengths of prior opponents in a matching.

 

Edit: also, I was confused by what you meant by hard and soft blocks?

Edited by Miro

Share this post


Link to post
Share on other sites

I intend weighted wins to be updated after each round, so a team might receive up to 5 wins from defeating its round 1 opponent by the end of the tournament, even though at the time, the round 1 opponent had 0 wins (and 0 losses).

 

Schedule-strength should also be updated after each round.

 

By hard blocks, I meant blocks against teams from your own school. By soft blocks, I meant everything else, but especially the prohibition against hitting the same team twice in prelims. In a pinch, that soft block can be overlooked, but the hard block is inviolable.

Share this post


Link to post
Share on other sites

I intend weighted wins to be updated after each round, so a team might receive up to 5 wins from defeating its round 1 opponent by the end of the tournament, even though at the time, the round 1 opponent had 0 wins (and 0 losses).

 

Schedule-strength should also be updated after each round.

 

By hard blocks, I meant blocks against teams from your own school. By soft blocks, I meant everything else, but especially the prohibition against hitting the same team twice in prelims. In a pinch, that soft block can be overlooked, but the hard block is inviolable.

So a bye counts as +1 to your weighted wins?

Share this post


Link to post
Share on other sites

I've been working on implementing this a bit, although I'm not an expert programmer or the like.

Share this post


Link to post
Share on other sites

Cool! I hope the implementation is going well. What are you working in? Java? Python?

 

Since the bye goes to a weak team, how you handle it for weighted wins isn't too important. I would just treat it as a +0, since it's not a real win against a real opponent.

 

On a more interesting note, if you're using the matrix optimizing method I've described, the program should pick, as the team getting the bye, the weakest team with the strongest schedule that hasn't already received a bye. [i edited this, since it is simplest to have the program pick the bye before doing any pairings.]

Edited by coach_hanes

Share this post


Link to post
Share on other sites

Cool! I hope the implementation is going well. What are you working in? Java? Python?

 

Since the bye goes to a weak team, how you handle it for weighted wins isn't too important. I would just treat it as a +0, since it's not a real win against a real opponent.

 

On a more interesting note, if you're using the matrix optimizing method I've described, the program can treat the BYE as a team. The BYE "team" should have be the weakest team with the strongest schedule. That way, it will be paired against the real weakest team with the strongest schedule (for its 0-whatever bracket).

Java. 

 

I've mostly been doing background stuff up to now (implementing the bare-bones like the debater, debate, school, and team classes) and implementing strength and weighted-win/loss stuff.

Now I'm ready to start implementing the matrix method.

 

Too bad I don't know much about tabulation.

 

How does one calculate when a team should be locked to a side versus randomly assigned?

Edited by Miro

Share this post


Link to post
Share on other sites

Really cool stuff, Miro!

 

A friend had pulled this version of a matrix optimizer together, which is what I used to run experiment.

 

Locked sides: in elims, if the teams met in prelims, then they need to be locked on opposite sides; otherwise, it's a flip. In prelims, teams could be randomly assigned in odd rounds (but there's a smarter, better way) but locked for even rounds.

 

If you really want to make this go, I would love to email with you: russellhanes [at] gmail.com. I know how you can make money off the tab program if you can add a particular feature.

Share this post


Link to post
Share on other sites

Locked sides: in elims, if the teams met in prelims, then they need to be locked on opposite sides; otherwise, it's a flip. In prelims, teams could be randomly assigned in odd rounds (but there's a smarter, better way) but locked for even rounds.

The smarter way would be to put teams from the same school all on the same side as you suggested?

Share this post


Link to post
Share on other sites

Right. In odd rounds, SCHOOLS, not teams, should be randomly assigned aff or neg. This should be re-randomized in the next odd round.

 

Furthermore, for really small tournaments, you need to check the side assignment to make sure each team has two possible opponents (one for the odd round and one for the even round). If this condition isn't met (because of soft blocks -- two teams not available in the side assignment), then the random side assignment will fail by forcing a team to go two aff and another team to go two neg in a row. This is the problem that happens for round robins.

 

The side assignment algorithm I described takes the random side assignment and systematically starts flipping teams' sides until there are two possible opponents for each team. Or it stops if it reaches another stopping point, since in really small tournaments, you will reach a point where every different opponent from a different school has been exhausted. (The condition could be that it has tried flipping each team ten times, since they might be flipped in different orders each time.)

Edited by coach_hanes

Share this post


Link to post
Share on other sites

If anyone is interested, I posted a presentation I gave on different ranking methods (some pertinent to debate, others not so): here.

Edited by coach_hanes

Share this post


Link to post
Share on other sites

Have you reached out to the developer of Tabroom.com?  The entire Boston Debate League now uses tabroom.com, and it is very flexible.

Share this post


Link to post
Share on other sites

"The Tabroom system began as two projects; the CAT (Computer Assisted Tab) by Jon Bruschke of California State University at Fullerton (CA), and Tabroom.com by Chris Palmer of Lexington High School (MA)."   They seem to be the devs.

Edited by Backcountryguy

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...