Skip to content

Latest commit

 

History

History
72 lines (42 loc) · 2.17 KB

File metadata and controls

72 lines (42 loc) · 2.17 KB

Quine-McCluskey Boolean Minimizer

This project implements the Quine-McCluskey algorithm for minimizing Boolean expressions using a tabular method. It is especially useful for functions with a large number of variables, where Karnaugh maps become impractical.

The implementation is written in Python and includes detailed explanations, edge case handling (e.g., don't care conditions), and verification through truth table comparison.


📌 Features

  • Full implementation of the Quine–McCluskey method
  • Handles don't care conditions
  • Truth table verification included
  • Written for clarity and educational use
  • Includes theoretical report and Jupyter Notebook
  • No external libraries required

📁 Contents

  • Report.pdf: Detailed explanation of the algorithm and edge cases
  • Notebook.ipynb: Interactive implementation in Python
  • No setup required – simply open the notebook and run

📖 Background

Boolean logic simplification reduces circuit complexity, cost, and power usage. The Quine–McCluskey method offers a step-by-step, deterministic alternative to Karnaugh Maps, scalable to 6+ variables and ideal for automated tools.


🚀 Usage

Option 1: Run in Jupyter Notebook

  1. Open Notebook.ipynb in Jupyter or VS Code.
  2. Follow the cells step by step.
  3. Change input expressions or variables in the first cell to test your own Boolean functions.

Example

quine_mccluskey_minimize("A Bb + Ab", ["A", "B"])

🔬 Educational Value

This project was originally developed to explore core principles in digital logic and Boolean algebra. It preserves the original ideas while being refined for broader public use.


📝 License

This project is licensed under the MIT License. You are free to use, modify, and distribute it.


🙋‍♂️ Author

Developed by Marouf Haider, National Higher School of Mathematics – April 2025.


⚠️ Disclaimer & Contact

This implementation and report were written as part of an educational project and may contain unintentional mistakes or limitations. If you encounter any issues or have suggestions, feel free to reach out:

📧 ensmmarouf@gmail.com