自动机 JFLAP 代写:JFLAP Programming

JFLAP Programming
Read the tutorial: http://jflap.org/tutorial/
Just leave empty string as λ, and don’t change to ε. Setup: Download and Append username

  • Download the folder (with test files)
  • Unzip it

    Problem 1: Construct a 5 state DFA that recognizes (01)*(10)*

• Testing: Some test strings have been created: Click Input->Multiple Run , o LoadInputs(atbottom)

o Selectthep1test.txtfile
o You will have to have an initial state to test.
o First3accept
o Second4reject
o Add a blank input symbol (cursor on last, blank line and press enter for empty string) It

should accept when you run again.

  • The Finite Automaton editing tool allows you to make something not a DFA (ε-NFA, NFA, etc). An

    easy way to test if it is a valid DFA is to go Convert->Minimize DFA (you will get an error if not a

    DFA). You can close the new tab by clicking the new ‘x’ in the upper right.

  • You can also convert to a regular expression Convert -> Convert FA to RE. It will likely push you

    through the steps of cleaning it (as an NFA). A rhetorical question if you do this: you may get something like the following, is it wrong?:

  • When you’re satisfied with your DFA, save it as p1<username>.jff .
    Problem 2: Construct a DFA in 4 states that is the product construction of two two state DFAs – one that

    recognizes an odd number of ones and one that recognizes an even number of zeroes.

  • There is a corresponding test file p2test.txt .
  • When you’re satisfied with your DFA, save it as p2<username>.jff .
  • First 4 should accept, the second 4 reject.

    Problem 3: Construct an ε-NFA ( λ-NFA in this case) that recognizes strings without 010 as a substring or is just (010)+.

  • There is a corresponding test file p3test.txt .
  • When you’re satisfied with your ε-NFA, save it as p3<username>.jff .
  • First 4 should accept, the second 4 reject.

Problem4: Construct an ε-NFA recognizing (000+011+01+111)+ with at most 6 states.

  • There is a corresponding test file p4test.txt .
  • When you’re satisfied with your ε-NFA, save it as p4<username>.jff .
  • First 8 should accept, the last 4 reject.

    Submission:

  • Upload the four pX<username>.jff files.
  • Do not upload the test files.