| 1 | Proposal matcher implementation |
| 2 | |
| 3 | By Matt McCutchen <matt@mattmccutchen.net> |
| 4 | in collaboration with Samir Khuller <samir@cs.umd.edu> |
| 5 | |
| 6 | TODO: There is probably more to say here about the program, even after we add |
| 7 | the paper about the algorithm/reduction. |
| 8 | |
| 9 | Setup |
| 10 | ----- |
| 11 | |
| 12 | Requirements: |
| 13 | - GHC on your $PATH |
| 14 | - GHC "fgl" package |
| 15 | |
| 16 | Compile with "make". |
| 17 | |
| 18 | Interactive experimentation |
| 19 | --------------------------- |
| 20 | |
| 21 | "./run" starts GHCi with all of the important definitions of the proposal |
| 22 | matcher in scope. This is good for interactive experimentation. |
| 23 | |
| 24 | Batch front-end |
| 25 | --------------- |
| 26 | |
| 27 | ./match is a front-end that reads an instance from stdin and prints the matching |
| 28 | to stdout. |
| 29 | |
| 30 | <<< FIXME: Adapt the following for popl2012 branch >>> |
| 31 | Input: A tab-separated array with one column per reviewer. The first row gives |
| 32 | the relative loads of the reviewers. Thereafter, each row gives the preference |
| 33 | values (1 to 39, 40 = conflict of interest) of all reviewers for a single |
| 34 | proposal. See the example.in. |
| 35 | |
| 36 | Reviewers and proposals are numbered from 0 in the order they appear in the |
| 37 | input. |
| 38 | |
| 39 | Output: A tab-separated array. Each row gives the reviewer number and proposal |
| 40 | number of a matched pair. |