Will this finite state machine reject this number

binaryfinite-state machine

I constructed the following acceptor $M_1$:

State diagram

Formal Definition:

$M_1=(Q,Σ,δ,q_1,F)$
$Q = \{q_1,q_2,q_3\}$
$Σ = \{0,1\}$
$δ = $ (see diagram)
$F = \{q_3\}$

$M_1$ processes a word $w = w_n…,w_3,w_2,w_1$ that consists of letters of the alphabet Σ. Simply stated, $M_1$ iterates over the (trailing) bits of a binary number from right to left. It accepts all numbers that contain at least one '0' and rejects the rest.

My question: will $M_1$ reject a binary number that consists of infinetly many ones $(11111111\dotsm)$? Or will the machine never halt and therefore deliver no result?

Best Answer

It does not make sense to have an infinite input in a deterministic automaton. If you wish to have an infinite word as input, you have to use a richer model, called an $\omega$-automaton, which is a finite automaton with special acceptance conditions. I let you read the given link, since there are several variants of acceptance conditions.

Related Question