NFA-Lambda

2 min read Updated Tue Apr 28 2026 07:56:31 GMT+0000 (Coordinated Universal Time)

A variant of NFA where Λ\Lambda-transitions are allowed. Denoted as NFA-Λ\Lambda.

More flexible than an NFA. Does not increase computational power compared to DFA or NFA. Useful for simplifying automata construction, especially when building from regular expressions.

Lambda Transition

A type of transition where the automaton can move from one state to another without consuming any input symbol. Referred to as “Λ\Lambda-transition”. Labelled as Λ\Lambda on the transition diagram.

Definition

An NFA-Λ\Lambda is defined as a 5-tuple: M=(Q,Σ,q0,A,δ)M = (Q, \Sigma, q_0, A, \delta) where:

  • QQ - finite set of states
  • Σ\Sigma - input alphabet
  • q0q_0 - start state
  • AA - set of accepting states
  • δ:Q×(ΣΛ)2Q\delta: Q \times (Σ \cup {\Lambda}) \rightarrow 2^Q - transition function

The only difference from a standard NFA is that the transition function δ\delta can also take Λ\Lambda as input.

Lambda-Closure

Set of all states reachable from a given state (or set of states) using only Λ\Lambda-transitions. Referred to as Λ\Lambda-Closure.

Suppose SS is a set of states (SQS \subset Q). Λ(S)\Lambda(S) satisfies:

  • SΛ(S)S \subset \Lambda(S)
    Every state in SS is included in Λ(S)\Lambda(S)
  • pΛ(S)p \in \Lambda(S) iff qSq \in S and δ(q,Λ)=p\delta(q, \Lambda) = p
  • No other states are included

Extended Transition Function

δ:Q×Σ2Q\delta^* : Q \times \Sigma^* \rightarrow 2^Q

Properties:

  • δ(q,Λ)=Λ(q)\delta^*(q, \Lambda) = Λ(q)
  • δ(q,ya)=Λ(rδ(q,y)δ(r,a))\delta^*(q, ya) = Λ \left( \bigcup_{r \in δ^*(q,y)} δ(r,a) \right)

Acceptance

A string is accepted iff there exists a sequence of transitions (including Λ\Lambda-transitions) from the start state to an accepting state that corresponds to the input string.

A string xx is accepted iff δ\*(q0,x)A \delta ^\*(q_0, x) \cap A \neq \emptyset.