07820552d38a8761fbcbf55ea4ea221ffcafcc7a
				
			
			
		
	4600-project-2
Project 2 for CSCE4600, for Team G4
╔════════════════╦══════════════════════════╗
║    John Breaux ║    JohnBreaux@my.unt.edu ║
║ Gabriel Castro ║ GabrielCastro@my.unt.edu ║
║ Michael Laymon ║ MichaelLaymon@my.unt.edu ║
╠════════════════╩══════════════════════════╣
║  Created 2022-04-16   Updated 2022-04-28  ║
╚═══════════════════════════════════════════╝
Build
Build with make
Run with ./main.out filename
Clean with make clean
Run
Run with `./main.out [input_f
Analysis, Benefits and Drawbacks
Analysis:
- We implemented the Graph Reduction algorithm on adjacency matrices, with some minor optimizations:
 - By counting the number of remaining processes, and comparing it to the number of processes eliminated so far, we can detect when the algorithm has failed a single time, after which it'll fail forever.
 
Benefits:
- The graph reduction algorithm is very elegant, but also easy to optimize
 - "Deleting" a node from an adjacency matrix can be performed by zeroing its respective row and column and re-running the algorithm, which is very simple!
 
Drawbacks:
- The adjacency matrix representation is used without interpretation, making the output somewhat hard to read
 - Our implementation of knot detection didn't pan out.
 
Contributions:
John Breaux:
- src/graph.cpp, inc/graph.hpp (graph implementation)
 - src/main.cpp
 - src/read.cpp, inc/read.hpp (reading from graph)
 - src/reducible.cpp (graph reduction)
 - .clang-format
 - Makefile (Makefile)
 - Readme.md
 - Hosted the git repo
 
Michael Laymon
- knotted.cpp
 
Description
				
					Languages
				
				
								
								
									C++
								
								90.8%
							
						
							
								
								
									Makefile
								
								9.2%