Code Monkey home page Code Monkey logo

xnewz / karnaugh-map-solver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wredan/karnaugh-map-solver

0.0 0.0 0.0 961 KB

Karnaugh maps solver is a web app that takes the truth table of a function as input, transposes it onto the respective Karnaugh map and finds the minimum forms SOP and POS according to the visual resolution method by Maurice Karnaugh, American physicist and mathematician.

Home Page: https://wredan.github.io/Karnaugh-Map-Solver/

License: GNU General Public License v3.0

JavaScript 82.90% CSS 16.05% HTML 1.04%

karnaugh-map-solver's Introduction

Karnaugh Map Solver

Click here to open demo

The Karnaugh map (KM or K-map) is a method of simplifying Boolean algebra expressions. The Karnaugh map reduces the need for extensive calculations by taking advantage of humans' pattern-recognition capability. It also permits the rapid identification and elimination of potential race conditions.

Source: Wikipedia

User Guide

Introduction

Karnaugh maps solver is a web app that takes the truth table of a function as input, transposes it onto the respective Karnaugh map and finds the minimum forms SOP and POS according to the visual resolution method by Maurice Karnaugh, American physicist and mathematician.

The program is presented as a web app, therefore executable on most of the internet browsers.

Interface and utilization

The software interface consists of a single main screen, in which all actions can be performed.

It is divided into:

  • Truth table, where it is possible, for each row, pick a value in the set {0,1,X}, which will be reported on the map.
  • Map of Karnaugh, where for each cell, it is possible to modify the internal values between 0, 1 and X, synchronously with the truth table. It will display the groups formed by the calculation of the solution.
  • Selection menu, where you can choose which type of map to display (2, 3 or 4 variables), choose between SOP and POS form, fill the entire map with 0, 1 or X, process the solution according to the chosen criteria.
  • At the bottom of the page the solution will appear, identified by a colour, which is the reduction of the group with the same one in the map.

Program functioning

It is possible to set {0,1,X} values to every single combination of input both in the truth table and on the map. The table and the map will be synchronized, so that the user is free to choose his own input method.

The image shows the synchronized table and map

You can click the button Process, in the setup menu on the right side of the page, when the criteria are set.

The image shows the menu of choice

The solution is shown in the form of different coloured groups, the colour identifies the solution for the corresponding group drawn on the map.

The image shows the solution shown below and on the map

Installation notes

Minimum system requirements

The solver can be used online through any browser, it needs Node.js to run offline. It is built by using React.js.

Installation

  • If Node.js is not installed, you need to install it.
  • Open the terminal in the folder where you cloned this project.
  • Type npm i jquery --save

Execution

  • Open the terminal in the folder where you cloned this project.
  • Type in terminal npm start and the app will be showed on http://localhost:3000. If nothing appears, just wait for the initialization times.

Developed by

karnaugh-map-solver's People

Contributors

wredan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.