Skip to content

Various algorithms that solve the stable marriage problem. Implemented in Java.

License

Notifications You must be signed in to change notification settings

ntzia/stable-marriage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Details

Implementation of algorithms that solve the stable marriage problem. (https://en.wikipedia.org/wiki/Stable_marriage_problem)

Algorithms implemented from the literature:

Novel algorithms implemented:

Usage

Clone from github and run:

mvn package

To run an algorithm with random input (uniform lists) you can execute the following classes from the produced jar:

gr.ntua.cslab.algorithms.(algorithm)

OR

Run experiments for diverse distributions and plot results:

  • Create datasets (create_data.sh)
  • Run (run_experiments.sh)
  • Plot (do_plots.sh)

There is also the option to produce and run zipped input files to save space.

Dependencies

You need maven to build the project:

  • sudo apt-get install maven

For the plotting scripts you need:

  • pip install numpy
  • pip install pandas
  • pip install seaborn
  • sudo apt-get install python-tk
  • sudo apt-get install texlive-full

Tested on Ubuntu 18.04.

Contact

Nikos Tziavelis, ntziavelis@gmail.com

About

Various algorithms that solve the stable marriage problem. Implemented in Java.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published