Case for Non-Determinism, Finite Automata and Regular Languages

Examples: Case for non-determinism

Illustration: FAs ‘can’t count’ or more exactly, a DFA M can count up to a constant that is at most equivalent to the number |M| of its states. The fixed, finite memory capacity is most significant property of FAs, and it strictly limits their computing power. As an illustration, we show that no FA can recognize L = {0k1k | k > 0}.

By way of contradiction, suppose ∃ FA M which accepts L, and represent M’s number of states by |M| = n. In the course of accepting w = 0n1n, as M reads the prefix 0n, it goes through n+1 states s0, s1... sn. By the ‘pigeon hole principle’, some 2 states si, sj in this sequence should be equivalent, si = sj,   i < j. Therefore, M can’t distinguish the prefixes 0i and 0j, and therefore as well accepts, incorrectly, w’ = 0n -(j-i)1n, and most of the other ill-formed strings. Contradiction, QED.

Illustration: Careful regarding ‘can’t count’!  Assume L = {w ∈ {0 ∪ 1}* | #(01) = #(10) }. In any w, “ups” = 01 and “downs” = 10 alternate, therefore #(01) = #(10) ± 1.

Solution: L = {w | first character = last character}.

2479_non determinism.jpg

Exercise: We observe a 2-state fsm serial adder. Verify that there is no fsm multiplier for the numbers of arbitrary size.

DFAs are theoretically straightforward: ‘If in state s you read input a, go to state s’ (and possibly produce some output’. NFAs can be significantly trickier, as the number of action sequences they may generate explodes. Three major reasons argue for introducing the non-determinism in spite of added complications. The most common reason is that non-deterministic algorithms are fascinating and significant, and the theory must be able to model them. The second reason becomes obvious whenever developing the complexity theory towards the end of this section, where “P vs. NP” question associates the two most significant complexity classes. The third reason becomes obvious in the section: NFAs are a very convenient method to design FAs and confirm their properties.

Latest technology based Theory of Computation Online Tutoring Assistance

Tutors, at the, take pledge to provide full satisfaction and assurance in Theory of Computation help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Theory of Computation, project ideas and tutorials. We provide email based Theory of Computation help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Theory of Computation. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Theory of Computation Homework help and assignment help services. They use their experience, as they have solved thousands of the Theory of Computation assignments, which may help you to solve your complex issues of Theory of Computation. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.