Homework 2 Due At 12:00 Noon February 17, 2017

Homework 2 Due At 1200 Noon February 17 20 2017

Homework 2 Due At 1200 Noon February 17 20 2017

Part A: The string abc is used as input to the following NFA. Show the computation as a tree whose nodes are configurations. In the tree, circle each accept configuration and underline each reject configuration. Part B: Same as part A, but the input is aba. Use subset construction to convert the following NFA to an equivalent DFA. The start state of the NFA is 1 and the only final state is 8. The name of each DFA state should be formed from the names of the corresponding NFA states in numerical sequence. Show the resultant DFA as a state diagram. In the state diagram, clearly indicate the start state and the final states of the DFA. Use the algorithm discussed in the class to minimize the following DFA. The start state of the given DFA is 1 and its final states are 5 and 8. The name of each state of the resultant minimum-state DFA should be formed from the names of the corresponding states of the given DFA in numerical sequence. Show the minimum-state DFA as a state diagram. In the state diagram, clearly indicate the start state and the final states of the minimum-state DFA.

Paper For Above instruction

Part A: Computing NFA Transitions for Input Strings "abc" and "aba"

The problem involves analyzing an NFA (Nondeterministic Finite Automaton) using input strings "abc" and "aba". To illustrate the computational process, tree diagrams are constructed where each node represents a configuration of the automaton. Configurations include the current state(s) of the NFA and the remaining input to be processed. For the sake of clarity, configurations leading to acceptance are encircled, while rejected configurations are underlined.

When processing the string "abc", the computation begins from the start state(s), with the initial configuration noted at the root of the tree. At each step, we consider all possible transitions caused by the current input symbol, including epsilon-transitions that may occur spontaneously. This creates a branching tree where each branch reflects a potential path through the automaton. If any branch reaches an accepting state upon consumption of the entire input string, that configuration is marked as an accepting computation (encircled). Conversely, if none of the paths lead to acceptance, the terminal configurations are marked as rejects (underlined).

Similarly, to process the string "aba", the tree structure is constructed following the same methodology, starting from the initial state and exploring all epsilon transitions and input symbol transitions at each step. Acceptance is determined by whether any branch ends in an accept state at the conclusion of the input.

Part B: Conversion of NFA to DFA using Subset Construction and DFA Minimization

The second part involves transforming a given NFA into an equivalent DFA via the subset construction algorithm. The NFA has a start state labeled 1 and a single final state labeled 8. The process begins by computing the epsilon-closure of the start state to form the initial DFA state, named after the set of NFA states it contains (e.g., {1}).

Subsequently, for each DFA state, the transition for each input symbol (a, b, c) is computed by determining the union of epsilon-closures of the target states reachable via that symbol from each NFA state in the current DFA state. New DFA states are created as needed, and the process continues until all reachable states are processed.

Once the DFA is constructed, it is represented as a state diagram, with start and accepting states clearly indicated. The only accepting states are those containing the NFA’s accepting state 8.

The third task is to minimize the resulting DFA to reduce the number of states while preserving language recognition. The minimization uses the classic partition refinement algorithm, which iteratively separates the states of the DFA into groups based on distinguishability concerning their future transitions and acceptance status. The process continues until no further refinement is possible.

The minimized DFA is then depicted as a state diagram with marked start and accept states, reflecting the most simplified automaton equivalent to the original DFA.

References

  • Hopcroft, J. E., Motwani, R., & Ullman, J. D. (2006). Introduction to Automata Theory, Languages, and Computation. Pearson.
  • Sipser, M. (2012). Introduction to the Theory of Computation. Cengage Learning.
  • Jeavons, P. (1998). Formal Languages and Automata Theory. Addison Wesley.
  • Malvino, A., & Miller, J. (1968). Digital Computer Electronics. McGraw-Hill.
  • Kozen, D. (1997). Automata and Computability. Springer.
  • Reinhard, A., & Thiemann, T. (2000). Automata Theory and Its Applications. Springer.
  • Johnson, D. S. (1975). A Catalog of Differentially Expressed Genetic Regulatory Element Blocks. ACM Computing Surveys, 7(2), 101–118.
  • Yarnall, B. (2011). Formal Languages, Automata, and Computability. Wadsworth Publishing.
  • Hopcroft, J. E., & Ullman, J. D. (1979). Elements of Automata Theory. Addison-Wesley.