This project provides a JavaFX-based tool for visualizing, editing, and minimizing DFAs (Deterministic Finite Automata). It helps users observe, analyze, and optimize state machines with an intuitive interface.
- DFA Visualization: Ability to visually draw and manipulate DFAs.
- DFA Minimization: Automated tools for minimizing DFAs using efficient algorithms.
- Interactive State Management: Draggable states and intuitive controls for managing state transitions.
- Built with Java and JavaFX: This project is implemented using Java and JavaFX for an interactive user experience.
- Clone the Repository:
https://github.com/amir-azari/DFA-Minimizer-JavaFX.git 
We welcome your contributions! Please report issues or submit pull requests for collaboration.
For questions or feedback, please reach out to me:
- Email: [email protected]
- Defining Symbols: Symbols should be separated by spaces. For example: a b c.
- Defining States: States should be separated by spaces. For example: q1 q2 q3.
- Adding States: Right-clickon the canvas to add a state.
- Dragging States: States can be dragged by left-clickingand holding.
- Selecting Start and Final States: You can select states for transitions by holding CTRL+left-clickingon them.
- Defining Final and Start States: Double left-clickon a state to mark it as a final state or a start state, or to remove these designations.
- Changing Position of Self-loop States: left-clickon self-loop states to change their position.
- Managing Transitions: You can manage transitions using UndoandRedofunctionality.
- Updating Transitions: Transitions can be updated as needed.


