A C# implementation of the Quine-McCluskey algorithm for boolean expression minimization.
Includes a class library for the algorithm, unit tests, and a console application for testing expressions via stdin.
This implementation is based on pages 1 through 8 of the QM Document by Dr. Nicholas Outram.
It does not include:
- Simplification of 'dont-care' terms from the beginning
- Simplifications with multiple solutions
- Prime implicant charts or coverage tables
git clone git@github.com:bcanseco/quine-mccluskey.git qm
cd qm/Algorithm.CLI
dotnet restore
dotnet run
cd ../Algorithm.Tests
dotnet restore
dotnet test
The main thing I see that could be improved is refactoring Expression and Composite Minterm to be one class. Pull requests are welcome! I have put both inline comments and XML documentation throughout the solution to assist with development.