match/match.git
15 years agoMake the evaluator's review weights configurable.
Matt McCutchen [Sat, 2 Aug 2008 20:20:44 +0000 (16:20 -0400)]
Make the evaluator's review weights configurable.

15 years agoMake the instance generator select proposal topics from a Zipf distribution, and
Matt McCutchen [Sat, 2 Aug 2008 20:11:15 +0000 (16:11 -0400)]
Make the instance generator select proposal topics from a Zipf distribution, and
make the Zipf distribution exponent and the number of topics configurable.

15 years agoImprove some comments in PMDefaults.
Matt McCutchen [Sat, 2 Aug 2008 17:08:59 +0000 (13:08 -0400)]
Improve some comments in PMDefaults.

15 years agoEta-expand mrandomR to keep GHC 6.6.1 on birdy happy.
Matt McCutchen [Sat, 2 Aug 2008 01:15:18 +0000 (21:15 -0400)]
Eta-expand mrandomR to keep GHC 6.6.1 on birdy happy.

15 years ago- Change RandomizedMonad to bind by threading a single RandomGen instead of
Matt McCutchen [Sat, 2 Aug 2008 01:06:17 +0000 (21:06 -0400)]
- Change RandomizedMonad to bind by threading a single RandomGen instead of
splitting the RandomGen.  Threading satisfies the monad laws, and the
parallelizability and evolvability of splitting can still be explicitly
requested via `msplit'.  I think this is a much more logical design!

- Take the opportunity to flesh out independent-list offerings and add comments.

15 years agoPMConfig isn't just for ProposalMatcher anymore; it's about to gain settings for
Matt McCutchen [Fri, 1 Aug 2008 21:41:39 +0000 (17:41 -0400)]
PMConfig isn't just for ProposalMatcher anymore; it's about to gain settings for
PMInstanceGenerator and Evaluation.  Thus, factor it out.

15 years agoAdd reminder to compile CS2 with -DPRINT_ANS.
Matt McCutchen [Wed, 30 Jul 2008 22:23:11 +0000 (18:23 -0400)]
Add reminder to compile CS2 with -DPRINT_ANS.

15 years agoStop GHC 6.6.1 from fussing about lack of a trailing newline.
Matt McCutchen [Wed, 30 Jul 2008 05:16:17 +0000 (01:16 -0400)]
Stop GHC 6.6.1 from fussing about lack of a trailing newline.

15 years agoEvidently ghci needs -cpp even if all the modules are already compiled.
Matt McCutchen [Wed, 30 Jul 2008 04:38:51 +0000 (00:38 -0400)]
Evidently ghci needs -cpp even if all the modules are already compiled.

15 years agoAdd compatibility gorp for GHC 6.6.1.
Matt McCutchen [Wed, 30 Jul 2008 04:37:11 +0000 (00:37 -0400)]
Add compatibility gorp for GHC 6.6.1.

15 years agoIgnore temporary graphs from goGraph.
Matt McCutchen [Mon, 28 Jul 2008 17:38:32 +0000 (13:38 -0400)]
Ignore temporary graphs from goGraph.

15 years agodebugdir gitignore is no longer needed.
Matt McCutchen [Mon, 28 Jul 2008 17:36:37 +0000 (13:36 -0400)]
debugdir gitignore is no longer needed.

15 years ago- More evaluation.
Matt McCutchen [Mon, 28 Jul 2008 17:36:12 +0000 (13:36 -0400)]
- More evaluation.
- Introduce reviewer age into the instance generator.

15 years agoFirst attempt at evaluating the quality of matchings.
Matt McCutchen [Mon, 28 Jul 2008 15:59:55 +0000 (11:59 -0400)]
First attempt at evaluating the quality of matchings.

15 years agoRename Instance -> PMInstance and introduce PMatching type.
Matt McCutchen [Mon, 28 Jul 2008 15:08:09 +0000 (11:08 -0400)]
Rename Instance -> PMInstance and introduce PMatching type.

15 years agoMake proposal-matcher configuration non-global to make it more practical to
Matt McCutchen [Mon, 28 Jul 2008 14:50:13 +0000 (10:50 -0400)]
Make proposal-matcher configuration non-global to make it more practical to
compare multiple configurations for the experimentation.

15 years agoAdd conflicts of interest to the InstanceGenerator and make some other cleanups.
Matt McCutchen [Sat, 12 Jul 2008 13:51:02 +0000 (09:51 -0400)]
Add conflicts of interest to the InstanceGenerator and make some other cleanups.

15 years ago- Implement CS2 min-cost-flow adaptor and generalize common min-cost-flow stuff
Matt McCutchen [Sat, 12 Jul 2008 05:58:57 +0000 (01:58 -0400)]
- Implement CS2 min-cost-flow adaptor and generalize common min-cost-flow stuff
  accordingly.
- Create conflict-of-interest edges (with zero capacity) so doMatching doesn't
  crash when it queries their flow values.
- Factor out TestUtils.
- Add a function "goGraph" to gnome-open a visualization of a graph from within
  GHCi!  Remove old "show-graph".

15 years agoRemove randomMap and randomRep definitions (obsoleted by RandomizedMonad).
Matt McCutchen [Fri, 11 Jul 2008 04:29:03 +0000 (00:29 -0400)]
Remove randomMap and randomRep definitions (obsoleted by RandomizedMonad).

15 years ago- Add code to visualize an instance and matching as a graph (bipartite, rather
Matt McCutchen [Fri, 11 Jul 2008 04:20:07 +0000 (00:20 -0400)]
- Add code to visualize an instance and matching as a graph (bipartite, rather
  than the more complex reduction graph).
- Remove obsolete definitions from doMatching.
- Add a script to run optimized, and improve the debug script to avoid the need
  for debugdir.

15 years agoRemove an unneeded forall.
Matt McCutchen [Fri, 11 Jul 2008 03:47:56 +0000 (23:47 -0400)]
Remove an unneeded forall.

15 years agoRewrite Bellman-Ford and min-cost flow, especially to stop the latter from crashing.
Matt McCutchen [Fri, 11 Jul 2008 03:46:07 +0000 (23:46 -0400)]
Rewrite Bellman-Ford and min-cost flow, especially to stop the latter from crashing.

- Rewrite Bellman-Ford and min-cost flow solvers using the state-transformer
  feature, adding infrastructure as necessary.
- Make Bellman-Ford detect the presence of a negative cycle.
- Min-cost flow now uses edges of arbitrary capacity, not just 1, although it's
  the same naive algorithm that augments along the lowest-cost path no matter
  how little flow that adds.  Adjust the reduction accordingly; now it uses
  fewer edges.  Additional benefit: the change brings my min-cost flower's
  interface closer to that of an eventual CS2 adaptor.
- Min-cost flow was crashing on larger instances because round-off error
  prevented it from identifying the edge to be flipped by subtracting the costs
  to its endpoints.  To avoid this problem, redesign min-cost flow so edges are
  identified by unique indices.  Now doMatching "pulls" flow values for the
  edgesD it generated instead of being "pushed" by edges in the residual graph.
- Make the Show implementation for Instances prettier.

15 years agodebug needs -fglasgow-exts too.
Matt McCutchen [Fri, 11 Jul 2008 03:29:31 +0000 (23:29 -0400)]
debug needs -fglasgow-exts too.

15 years agoThe random instance generator and other improvements.
Matt McCutchen [Thu, 10 Jul 2008 19:23:46 +0000 (15:23 -0400)]
The random instance generator and other improvements.

- Split Instance into its own file, change it to use arrays, and implement Show.
- Add random InstanceGenerator using RandomizedMonad.
- Make Test export more stuff for use from GHCi.

15 years agoSecond version of the reduction.
Matt McCutchen [Mon, 7 Jul 2008 23:37:31 +0000 (19:37 -0400)]
Second version of the reduction.

Significant changes:
- Supports a per-reviewer relative load limit, which is hard with a tolerance.
- Split each reviewer into multiple nodes in order to charge a cost quadratic in
  the number of disliked proposals she has to review.  Previously, cost was
  simply additive.
- Require three reviews per proposal regardless of experts, but provide an
  incentive for a knowledgeable review and an additional expert review.

Also, add import and "show-graph" script for graph visualization.

15 years agoFix bug in second-pass graph construction when a proposal got more than one expert...
Matt McCutchen [Mon, 7 Jul 2008 23:30:05 +0000 (19:30 -0400)]
Fix bug in second-pass graph construction when a proposal got more than one expert review.

15 years ago- Add the notes Samir emailed me on 2008-07-06.
Matt McCutchen [Sun, 6 Jul 2008 15:32:52 +0000 (11:32 -0400)]
- Add the notes Samir emailed me on 2008-07-06.
- Move the program into a subdirectory to cut down on rebuilding.
- Hide the .git contents from Eclipse.

15 years ago- ./debug and ./run now pass along arguments.
Matt McCutchen [Mon, 23 Jun 2008 22:03:07 +0000 (18:03 -0400)]
- ./debug and ./run now pass along arguments.
- Add ./make-package .

15 years agoThe proposal matcher. It works on a small example.
Matt McCutchen [Mon, 23 Jun 2008 21:55:09 +0000 (17:55 -0400)]
The proposal matcher.  It works on a small example.