tm accepting strings with equal number of 0’s and 1’s
DESCRIPTION
TM accepting strings with equal number of 0’s and 1’s. Thamer Al sulaiman. TM accepting strings with equal number of 0’s and 1’s. The T uring machine accepts strings such as: 001110, 1011. The Turing Machine rejects strings such as: 010, 11100 and so on. . Algorithm. - PowerPoint PPT PresentationTRANSCRIPT
TM accepting strings with equal number of 0’s and 1’s
Thamer Al sulaiman
TM accepting strings with equal number of 0’s and 1’s
• The Turing machine accepts strings such as: 001110, 1011.• The Turing Machine rejects strings such as: 010, 11100 and so on.
AlgorithmA 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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 001
q Δ001
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01 ⊢ ΔExx01
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01 ⊢ ΔExx01 ⊢ ΔxEx01
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01 ⊢ ΔExx01 ⊢ ΔxEx01 ⊢ ΔxxE01
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01 ⊢ ΔExx01 ⊢ ΔxEx01 ⊢ ΔxxE01 ⊢ ΔxxxC1
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01 ⊢ ΔExx01 ⊢ ΔxEx01 ⊢ ΔxxE01 ⊢ ΔxxxC1 ⊢ ΔxxDxx
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01 ⊢ ΔExx01 ⊢ ΔxEx01 ⊢ ΔxxE01 ⊢ ΔxxxC1 ⊢ ΔxxDxx ⊢ ΔxDxxx
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01 ⊢ ΔExx01 ⊢ ΔxEx01 ⊢ ΔxxE01 ⊢ ΔxxxC1 ⊢ ΔxxDxx ⊢ ΔxDxxx ⊢ ΔDxxxx
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01 ⊢ ΔExx01 ⊢ ΔxEx01 ⊢ ΔxxE01 ⊢ ΔxxxC1 ⊢ ΔxxDxx ⊢ ΔxDxxx ⊢ ΔDxxxx ⊢ DΔxxxx
q
B
A
R
D
E
F
C
Δ/Δ,RΔ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ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Δ/Δ,R
0/x,R 1/x,R
Δ/Δ,R Δ/Δ,R
1/x,L 0/x,L
0/0,R
1/1,R
0/x,R 1/x,R
0/0,L1/1,Lx/x,L
x/x,R
Δ/Δ,R
x/x,R
Δ/Δ,R Input string: 0101q Δ0011 ⊢ ΔA0101 ⊢ ΔxC101
⊢ ΔDxx01 D⊢ Δxx01 ⊢ ΔExx01 ⊢ ΔxEx01 ⊢ ΔxxE01 ⊢ ΔxxxC1 ⊢ ΔxxDxx ⊢ ΔxDxxx ⊢ ΔDxxxx ⊢ DΔxxxx ⊢ ΔExxxx ⊢ ΔxExxx ⊢ ΔxxExx ⊢ ΔxxxEx ⊢ ΔxxxxEΔ ⊢ F (accept)