Skip to content

Latest commit

 

History

History
65 lines (48 loc) · 3.12 KB

README.md

File metadata and controls

65 lines (48 loc) · 3.12 KB

Project Title: Automata State Machine App for NFA to DFA Conversion, and Reduction

Project Overview:

Automata-webapp revolutionizes automata processing by seamlessly converting Non-Deterministic Finite Automata (NFA) into Deterministic Finite Automata (DFA) and employing advanced algorithms to minimize DFA structures. This user-friendly platform caters to both enthusiasts and professionals, providing an intuitive interface for inputting NFA configurations and obtaining equivalent DFA representations. With its DFA minimization feature, the web app optimizes automata models, reducing states and transitions to their most compact forms. Whether for educational purposes or industrial automation, Automata-webapp empowers users to tackle intricate automata transformations effortlessly, enhancing efficiency and simplifying complex structures.

Key Features:

  • NFA to DFA Conversion
  • DFA Minimization
  • Intuitive Interface
  • Versatile Application
  • Streamlined Workflow
  • Interactive Visualization
  • Error Handling
  • Performance Optimization
  • Comprehensive Documentation
  • Scalability

Technologies Used:

  • Frontend: HTML, CSS, JavaScript
  • Backend: Python, Django, Flask framework
  • Automata Libraries: NetworkX, Pygraphviz, Jsplumb

Target Audience:

Automata enthusiasts exploring theoretical concepts. Students studying formal languages and automata theory. Professionals in fields such as computer science, engineering, and automation.

How to use:

  • Click and drag new Connections from the orange div in each State, Each State supports up to 20 Connections.
  • Click on a Connection to delete or rename it.
  • Double-click on the black movable button to see the Clear, NTD, Red, and Help buttons.
  • Right-click on the white page to see the menu of buttons.
  • Click on a 'Nfa 2 Dfa' button to convert from Nfa to Dfa and Show it.
  • Click on a 'Reduction' button to process a Reduction algorithm.
  • RightClick on a State to delete, rename, Start, or Final it.
  • Double-click on whitespace to add a new State.

How to Run:

  • Clone the repository from GitHub: https://github.com/2200031797KavyaA/StateMachineApp
  • Install the required dependencies using pip install -r requirements.txt.
  • Navigate to the project directory and run the Django, and Flask application by using the below commands: python3 manage.py collectstatic then python3 manage.py runserver
  • Access the web application through your browser at http://localhost:8000/
  • Input your NFA configurations and use the features provided for conversion and minimization of automata structures.

That's it! You've successfully set up and launched the State Machine Application on your local system.

Our Amazing Team:

Output Video:

StateMachineAppVideo.mp4