TM accepting strings with equal number of 0s and 1s Thamer Al sulaiman
TM accepting strings with equal number of 0s and 1s The Turing machine accepts strings such as: , The Turing Machine rejects strings such as: 010, and so on.
Algorithm A possible algorithm to solve this problem is: For each symbol: 0 (1) read from input tape, search for a matching 1 (0), and replace both symbols with another symbol (to ignore matched symbols in subsequent steps). If the respective symbol is not found – the end of the string reached without matching symbol (which means the string contains an unequal number of 0s and 1s), then we reject. If all 0s and 1s are matched, then accept.
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R - q is the initial state, - R is the rejection state, - F is the acceptance state.
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01 Δx0C1
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01 Δx0C1 ΔxD0x
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01 Δx0C1 ΔxD0x ΔDx0x
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01 Δx0C1 ΔxD0x ΔDx0x DΔx0x
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01 Δx0C1 ΔxD0x ΔDx0x DΔx0x ΔEx0x
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01 Δx0C1 ΔxD0x ΔDx0x DΔx0x ΔEx0x ΔxE0x
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01 Δx0C1 ΔxD0x ΔDx0x DΔx0x ΔEx0x ΔxE0x ΔxxCx
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01 Δx0C1 ΔxD0x ΔDx0x DΔx0x ΔEx0x ΔxE0x ΔxxCx ΔxxxCΔ
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 001 q Δ001 ΔA001 ΔxC01 Δx0C1 ΔxD0x ΔDx0x DΔx0x ΔEx0x ΔxE0x ΔxxCx ΔxxxCΔ R (reject)
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx ΔxDxxx
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx ΔxDxxx ΔDxxxx
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx ΔxDxxx ΔDxxxx DΔxxxx
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx ΔxDxxx ΔDxxxx DΔxxxx ΔExxxx
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx ΔxDxxx ΔDxxxx DΔxxxx ΔExxxx ΔxExxx
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx ΔxDxxx ΔDxxxx DΔxxxx ΔExxxx ΔxExxx ΔxxExx
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx ΔxDxxx ΔDxxxx DΔxxxx ΔExxxx ΔxExxx ΔxxExx ΔxxxEx
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx ΔxDxxx ΔDxxxx DΔxxxx ΔExxxx ΔxExxx ΔxxExx ΔxxxEx ΔxxxxEΔ
q B A R D E F C Δ/Δ,R 0/x,R 1/x,R Δ/Δ,R 1/x,L 0/x,L 0/0,R 1/1,R 0/x,R 1/x,R 0/0,L 1/1,L x/x,L x/x,R Δ/Δ,R x/x,R Δ/Δ,R Input string: 0101 q Δ0011 ΔA0101 ΔxC101 ΔDxx01 DΔxx01 ΔExx01 ΔxEx01 ΔxxE01 ΔxxxC1 ΔxxDxx ΔxDxxx ΔDxxxx DΔxxxx ΔExxxx ΔxExxx ΔxxExx ΔxxxEx ΔxxxxEΔ F (accept)