Skip to content

AndrewHannigan/quickmatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  ______      __    __   __    ______  __  ___ .___  ___.      ___   .___________.  ______  __    __  
 /  __  \    |  |  |  | |  |  /      ||  |/  / |   \/   |     /   \  |           | /      ||  |  |  | 
|  |  |  |   |  |  |  | |  | |  ,----'|  '  /  |  \  /  |    /  ^  \ `---|  |----`|  ,----'|  |__|  | 
|  |  |  |   |  |  |  | |  | |  |     |    <   |  |\/|  |   /  /_\  \    |  |     |  |     |   __   | 
|  `--'  '--.|  `--'  | |  | |  `----.|  .  \  |  |  |  |  /  _____  \   |  |     |  `----.|  |  |  | 
 \_____\_____\\______/  |__|  \______||__|\__\ |__|  |__| /__/     \__\  |__|      \______||__|  |__| 


QuickMatch: A Heuristic Algorithm for Computing Edge 
                Colorings on Regular Bipartite Multigraphs

                       By: Andrew Hannigan
       https://digitalcommons.dartmouth.edu/senior_theses/93/

Getting Started:
1) cd into c/
2) run "make test"
3) run "./test.out"
4) Select either 2 or 5 to see the QuickMatch algorithm in action


C code contains the primary business logic of the QuickMatch algorithm

graph.c:	Contains all data-structures and helper methods for graphs.

quickmatch.c:	Implements QuickMatch algorithm

alternating.c:	Implements all six methods of finding augmenting paths

cycles.c:	Implements Euler splits

color.c:	Combines all code to find an edge coloring of a regular bipartite graph 

testing.c:	All testing code

main.c:		UI for running test code	


Used to create exacutable tests that are run by bash scripts in the "scripts" directory
-alttest.c	
-dtest.c
-ntest.c



scripts/ directory generates statistics on QuickMatch trials

ALL.bash: 	
	Runs all tests.  Requires that "thesis" directory is placed in a parent directory with a csv directory

stop.bash:	
	Stops all tests.  This allows tests that are being run in the background from a previous session to still be stopped easily.  Useful when running tests on a remote system.



python/ directory contains code for creating plots of data for QuickMatch analysis

plot_tests.py 	
	Generates all plots used in thesis write up.  CSV_DIR contains the directory of the .csv files.  The default is that csv/ is in the parent directory of thesis/.  This code requires that matplotlib is available to python.  This is dependency is not satisfied by icecream.dartmouth.edu







About

A Heuristic Algorithm for Computing Edge Colorings on Regular Bipartite Multigraphs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published