Abstract: This paper aims at introducing nondeterministic finite automata with ε value which is used to perform some operations on languages. a program is created to implement the algorithm that converts nondeterministic finite automata with ε value (ε-NFA) to deterministic finite automata (DFA).The program is written in c++ programming language. The program inputs are FA 5-tuples from text file and then classifies it into either DFA/NFA or ε -NFA. For DFA, the program will get the string w and decide whether it is accepted or rejected. The tracking path for an accepted string is saved by the program. In case of NFA or ε-NFA automation, the program changes the automation to DFA to enable tracking and to decide if the string w exists in the regular language or not.
Abstract: This paper aims at introducing finite automata theory,
the different ways to describe regular languages and create a program
to implement the subset construction algorithms to convert
nondeterministic finite automata (NFA) to deterministic finite
automata (DFA). This program is written in c++ programming
language. The program reads FA 5tuples from text file and then
classifies it into either DFA or NFA. For DFA, the program will read
the string w and decide whether it is acceptable or not. If accepted, the
program will save the tracking path and point it out. On the other hand,
when the automation is NFA, the program will change the Automation
to DFA so that it is easy to track and it can decide whether the w exists
in the regular language or not.
Abstract: Functionalities and control behavior are both primary
requirements in design of a complex system. Automata theory plays
an important role in modeling behavior of a system. Z is an ideal
notation which is used for describing state space of a system and then
defining operations over it. Consequently, an integration of automata
and Z will be an effective tool for increasing modeling power for a
complex system. Further, nondeterministic finite automata (NFA)
may have different implementations and therefore it is needed to
verify the transformation from diagrams to a code. If we describe
formal specification of an NFA before implementing it, then
confidence over transformation can be increased. In this paper, we
have given a procedure for integrating NFA and Z. Complement of a
special type of NFA is defined. Then union of two NFAs is
formalized after defining their complements. Finally, formal
construction of intersection of NFAs is described. The specification
of this relationship is analyzed and validated using Z/EVES tool.