match/match.git
12 years agoPaper: Remove "NOT YET" on URL in preparation for release. master
Matt McCutchen [Wed, 15 Feb 2012 06:14:02 +0000 (22:14 -0800)]
Paper: Remove "NOT YET" on URL in preparation for release.

12 years agoRename "desirability" to "preference" (much less awkward), with the
Matt McCutchen [Wed, 15 Feb 2012 05:38:06 +0000 (21:38 -0800)]
Rename "desirability" to "preference" (much less awkward), with the
notation a_{ij} to avoid a collision with paper nodes.

12 years agoStandardize on "q" for the number of reviews per paper.
Matt McCutchen [Mon, 13 Feb 2012 01:27:16 +0000 (17:27 -0800)]
Standardize on "q" for the number of reviews per paper.

Inconsistency noticed by Dr. Khuller.

12 years agoPaper: Remove unneeded dependency on "floatflt".
Matt McCutchen [Sun, 12 Feb 2012 18:33:28 +0000 (10:33 -0800)]
Paper: Remove unneeded dependency on "floatflt".

12 years agoFix remaining mentions of "proposal" in the paper.
Matt McCutchen [Sun, 12 Feb 2012 18:11:01 +0000 (10:11 -0800)]
Fix remaining mentions of "proposal" in the paper.

Pointed out by Dr. Hicks.

12 years agoGitignore for paper subdirectory.
Matt McCutchen [Sun, 12 Feb 2012 06:46:36 +0000 (22:46 -0800)]
Gitignore for paper subdirectory.

12 years ago- Finish revising the paper.
Matt McCutchen [Sun, 12 Feb 2012 06:39:59 +0000 (22:39 -0800)]
- Finish revising the paper.
- Update comment in ProposalMatcher.hs to refer to the figure in the
  paper.

12 years agoAdd a slightly cleaned-up version of the paper, superseding the "notes"
Matt McCutchen [Sun, 12 Feb 2012 01:53:39 +0000 (17:53 -0800)]
Add a slightly cleaned-up version of the paper, superseding the "notes"
file.

Also: modernize the method of excluding .git from Eclipse.

12 years agoAdd a minimal readme for the program.
Matt McCutchen [Sat, 27 Aug 2011 23:31:00 +0000 (19:31 -0400)]
Add a minimal readme for the program.

12 years agoImplement TSV internally, remove the "csv" package dependency.
Matt McCutchen [Sat, 27 Aug 2011 21:23:35 +0000 (17:23 -0400)]
Implement TSV internally, remove the "csv" package dependency.

12 years agoAdd command-line interface ./match (adapted from POPL 2012 version).
Matt McCutchen [Sat, 27 Aug 2011 16:02:35 +0000 (12:02 -0400)]
Add command-line interface ./match (adapted from POPL 2012 version).

12 years agoMake PMatching a newtype for clarity.
Matt McCutchen [Sat, 27 Aug 2011 15:40:35 +0000 (11:40 -0400)]
Make PMatching a newtype for clarity.

12 years agoFormatter: Rewrite code that used an n + k pattern
Matt McCutchen [Sat, 27 Aug 2011 15:06:22 +0000 (11:06 -0400)]
Formatter: Rewrite code that used an n + k pattern

15 years agoSamir's updates to the notes, emailed to me on 2008-09-12.
Matt McCutchen [Fri, 12 Sep 2008 15:43:13 +0000 (11:43 -0400)]
Samir's updates to the notes, emailed to me on 2008-09-12.

15 years agoRename numAsWt to more appropriate widenInteger.
Matt McCutchen [Sat, 2 Aug 2008 20:23:07 +0000 (16:23 -0400)]
Rename numAsWt to more appropriate widenInteger.

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.