Varieties of Finite State Machines, Finite State Machines(FSM)

Varieties of finite state machines and automata: definitions

Notation: Alphabet A = {a, b...} or A = {0, 1...}.  A* = {w, w’ ...}. Null string ε. Empty set {} or Ø.

“Language” L ⊆ A*. Set S = {s, s’... s0, s1...}. Cardinality |S|. Power set 2S. “¬” not or complement.

Deterministic Finite Automaton (FA, DFA), Finite State Machine (FSM):  M = (S, A, f, s0,...)

Set of states S, alphabet A and transition function f: S x A -> S, initial state s0.

The other components of M, pointed above by dots “...”, differ according to the aim of M.

Acceptor (that is, the standard model in theory):  M = (S, A, f, s0, F), where F ⊆ S is the set of accepting or final states.


Extend f from S x A -> S to f: S x A* -> S as follows: f(s, ε) = s, f(s, wa) = f( f(s, w), a) for w ∈ Α∗

Df: M accepts w ∈ A* if and only if f(s0, w) ∈ F.  Set L ⊆ A* accepted by the M:  L(M)  = { w | f(s0, w) ∈ F}.

Transducer (fsm’s employed in applications): M = (S, A, f, g, s0), with function g which produces an output string over an alphabet

B: g: S -> B (Moore machine), h: S x A -> B (that is, Mealy machine)

The acceptor is a special case of a transducer where F(s) = 1 for s ∈ F, F(s) = 0 for s ∉ F.

Non-deterministic Finite Automaton (NFA) with ε-transitions: f: S x (A ∪ {ε}) -> 2S.

Special case: NFA with no ε-transitions:

f: S x A -> 2S .

Variation: Probabilistic FA: The NFA whose transitions are assigned the probabilities.

Extend f: S x A* -> 2S:  f(s, ε) = ε-hull of s = all the states reachable from s through ε-transitions (comprising s);

f(s, wa) =  ∪ f(s’, a)  for s’ ∈ f(s, w).

Extend f further f: 2S x A* -> 2S as follows: f(s1, .., sk, a) = ∪ f(si, a)   for i = 1, .., k.

Df: M accepts the w ∈ A* if and only if f(s0, w) ∩ F ≠ {}.

Note: w is accepted if and only if ∃ some w-path from s0 to F.

Set L ⊆ A* accepted by the M: L(M)  = {w| f(s0, w) ∩ F ≠ {}}.

The non-deterministic machine spawns multiple copies of itself, all one tracing its own root-to-leaf path of the tree of all possible selections. Non-determinism outcomes an exponential rise in computing power!

Example: L = (0 ∪ 1)* 1 (0 ∪ 1)k-1 that is, all the strings whose k-th last bit is 1. The DFA which accepts L should contain a shift register k bits long, with 2k states as shown for k = 3. The NFA accepts L by using just k + 1 state, by ‘guessing’ where the tail-end k bits begin. This illustration exhibits that simulating NFA by a DFA might need an exponential rise in the size of state space.


Figure: NFA accepts the language of strings whose k-th last bit is 1-by guessing.

Probabilistic coin changer:

Most of the utility machines (vending or ticket machine, video cassette recorder, watch and so on) are controlled by the fsm. Understanding the behavior (of user interface) often needs a manual that we generally don’t have at hand. The diagram of fsm, perhaps animated, would frequently help the novice user to trace machine’s behavior. As an illustration, imagine a coin changer modeled subsequent to gambling machines, whose display appears as shown in the figure below.

The states correspond to amount of money the machine owes you and the present state lights up. As long as you enter the coins quickly, the machine accumulates them up to a net of 50 cents. When you pause for a clock interval, the machine begins emitting coins arbitrarily, to the accurate total. After a few tries you are probable to get useful change: either breaking big coin to smaller ones or vice- versa.

2112_Probabilistic coin changer.jpg

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.