/monkfish

MONKFISH solves the wholly inane issue of fairly assigning interviewees to restaurants. Like the actual fish, this algorithm is ugly and surprisingly slimy.

Primary LanguageJupyter NotebookMIT LicenseMIT

MONKFISH

About

MONKFISH solves the wholly inane issue of fairly assigning interviewees to restaurants. Like the actual fish, this algorithm is ugly and surprisingly slimy.

MONKFISH works by first assigning first choice dining establishments and then randomly selecting individuals to be removed. MONKFISH also calculates a cumulative score to preferentially bump people who have not yet been bumped. This should maximize the number of people who receive at least one first choice meal, though this has not been at all tested or verified.

Running MONKFISH

MONKFISH expects a preferences.csv file to be stored in the same directory as the core monkfish.py file. I'm lazy, so this name must be precise. This file must be very particularly structured, exactly in the format of the sampleData.csv file included in this repository.

The attendance cap and data file name can be edited from within the monkfish.py file, again because I'm lazy. Don't break anything else trying to do this.

To download MONKFISH, execute git clone https://github.com/ethanagbaker/monkfish.git. To run the algorithm, execute python monkfish.py in the chosen directory.

Dependencies

MONKFISH requires numpy and pandas, which can be installed using pip install XXX from the command line.