tm accepting strings with equal number of 0’s and 1’s

35
TM accepting strings with equal number of 0’s and 1’s Thamer Al sulaiman

Upload: bill

Post on 23-Feb-2016

31 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: TM accepting strings with equal number of 0’s and 1’s

TM accepting strings with equal number of 0’s and 1’s

Thamer Al sulaiman

Page 2: TM accepting strings with equal number of 0’s and 1’s

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.

Page 3: TM accepting strings with equal number of 0’s and 1’s

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.

Page 4: TM accepting strings with equal number of 0’s and 1’s

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.

Page 5: TM accepting strings with equal number of 0’s and 1’s

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

Page 6: TM accepting strings with equal number of 0’s and 1’s

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

Page 7: TM accepting strings with equal number of 0’s and 1’s

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

Page 8: TM accepting strings with equal number of 0’s and 1’s

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

Page 9: TM accepting strings with equal number of 0’s and 1’s

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

Page 10: TM accepting strings with equal number of 0’s and 1’s

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

Page 11: TM accepting strings with equal number of 0’s and 1’s

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

Page 12: TM accepting strings with equal number of 0’s and 1’s

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

Page 13: TM accepting strings with equal number of 0’s and 1’s

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

Page 14: TM accepting strings with equal number of 0’s and 1’s

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

Page 15: TM accepting strings with equal number of 0’s and 1’s

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Δ

Page 16: TM accepting strings with equal number of 0’s and 1’s

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)

Page 17: TM accepting strings with equal number of 0’s and 1’s

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

Page 18: TM accepting strings with equal number of 0’s and 1’s

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

Page 19: TM accepting strings with equal number of 0’s and 1’s

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

Page 20: TM accepting strings with equal number of 0’s and 1’s

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

Page 21: TM accepting strings with equal number of 0’s and 1’s

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

Page 22: TM accepting strings with equal number of 0’s and 1’s

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

Page 23: TM accepting strings with equal number of 0’s and 1’s

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

Page 24: TM accepting strings with equal number of 0’s and 1’s

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

Page 25: TM accepting strings with equal number of 0’s and 1’s

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

Page 26: TM accepting strings with equal number of 0’s and 1’s

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

Page 27: TM accepting strings with equal number of 0’s and 1’s

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

Page 28: TM accepting strings with equal number of 0’s and 1’s

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

Page 29: TM accepting strings with equal number of 0’s and 1’s

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

Page 30: TM accepting strings with equal number of 0’s and 1’s

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

Page 31: TM accepting strings with equal number of 0’s and 1’s

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

Page 32: TM accepting strings with equal number of 0’s and 1’s

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

Page 33: TM accepting strings with equal number of 0’s and 1’s

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

Page 34: TM accepting strings with equal number of 0’s and 1’s

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Δ

Page 35: TM accepting strings with equal number of 0’s and 1’s

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)