Trong câu trả lời này, người ta cho rằng máy Turing có băng vô hạn cả hai chiều. Các yêu cầu không giữ cho băng vô hạn một chiều.
Trước tiên, tôi định nghĩa lớp ngôn ngữ là lớp của tất cả các ngôn ngữ có thể quyết định bằng máy Turing một băng có 3 trạng thái ( C 3 được định nghĩa là lớp ngôn ngữ có thể nhận biết bằng máy Turing một băng có 3 trạng thái). Tôi đã giới thiệu lớp C ' 3 vì trong câu trả lời ban đầu của tôi, tôi vô thức swaped các lớp C 3 và C ' 3 (tôi chỉ coi là lớp C ' 3 ).C′3C3C′3C3C′3C′3
Câu trả lời này là một bổ sung cho câu trả lời @MarzioDeBiasi. Ông chỉ ra rằng các lớp học và C ' 3 không có trong CFL và do đó chứa ngôn ngữ khá thú vị. Tuy nhiên, như tôi sẽ hiển thị trong bài này, mỗi ngôn ngữ L trong C ' 3 có tài sản mà tập { 1 n ; n ∈ N ∖ { 0 } } là trong L hoặc trong phần bù của nóC3C′3LC′3{1n;n∈N∖{0}}L . LCDo đóC′3cũng rất hạn chế, ví dụ. nó chỉ chứa các ngôn ngữ đơn phương tầm thường , { ε } , { 1 n ; n ∈ N } và { 1 n ; n ∈ N ∖ { 0 } } . Lớp C 3 chứa một số ngôn ngữ đơn nhất. Tuy nhiên, nó cho rằng nếu L ∈ C 3 và 1 n ∈ L cho n ≥ 1 , sau đó 1{}{ε}{1n;n∈N}{1n;n∈N∖{0}}C3L∈C31n∈Ln≥1 với mọi m ≥ n . 1m∈Lm≥nMột hệ quả đơn giản là không phải tất cả các ngôn ngữ thông thường là trong cũng không phải trong C ' 3 . Ngoài ra ngôn ngữ{1}không có trong C 3 cũng không phải trong C ' 3 .C3C′3{1}C3C′3
Đối với yêu cầu bồi thường (in đậm) về , nó là đủ để chứng minh rằng một băng Turing máy M với 3 tiểu bang mà luôn tạm dừng hoặc chấp nhận hoặc từ chối tất cả các chuỗi từ { 1 n ; n ∈ N ∖ { 0 } } . Giả sử rằng một chuỗi có dạng 1 nC′3M{1n;n∈N∖{0}}1n , , được trao cho M . Có ba trường hợp:n∈N∖{0}M
1) Khi đọc 1, nó chấp nhận hoặc từ chối.M
2) Khi đọc 1, nó di chuyển đầu sang trái. MNếu chúng ta muốn dừng lại ở đầu vào này, nó phải chấp nhận, từ chối hoặc di chuyển sang bên phải trên biểu tượng trống. Do đó, nó không bao giờ truy cập vào ô bên phải của ô ban đầu của băng. Nếu có, nó sẽ chạy mãi mãi ở đầu vào 1.M
3) Khi đọc 1, nó di chuyển đầu sang phải. MTheo sau bước, nội dung của băng là A n trong đó A là một số ký hiệu từ bảng chữ cái băng và đầu M nằm trên biểu tượng trống ngoài cùng bên trái của A cuối cùng . Nếu chúng ta muốn M dừng lại ở đầu vào này, nó phải chấp nhận, từ chối hoặc di chuyển sang bên trái trên biểu tượng trống. Như trong trường hợp 2), người đứng đầu M sẽ không bao giờ truy cập trực tiếp vào ô bên trái của A ngoài cùng bên phải . Nếu vậy, M sẽ chạy mãi mãi ở đầu vào 1.nAnAMAMMAM
Rõ ràng là trong cả ba trường hợp đều chấp nhận tất cả các chuỗi từ tập { 1 nM hoặc nó từ chối tất cả.{1n;n∈N∖{0}}
Bằng chứng của yêu cầu (in đậm) về tuân theo cùng một dòng như trên. Chúng tôi có một băng 3 trạng thái của máy Turing M chấp nhận một chuỗi 1 n đối với một số n ≥ 1 . Giả sử M được cho đầu vào 1 m cho m ≥ n . Chúng tôi phải chứng minh rằng M chấp nhận đầu vào này. Chúng tôi có 3 trường hợp:C3M1nn≥1M1mm≥nM
1) Khi đọc 1, nó chấp nhận.M
2) Khi đọc 1, nó di chuyển đầu sang trái. MVì chấp nhận đầu vào 1 n , nên nó phải chấp nhận hoặc di chuyển sang phải trên biểu tượng trống. Do đó, nó không bao giờ truy cập vào ô thứ n ở bên phải của ô ban đầu. Nếu có, nó sẽ chạy mãi mãi ở đầu vào 1 n .M1nn1n
3) Khi đọc 1, nó di chuyển đầu sang phải. MTheo sau các bước , nội dung của băng là A m trong đó A là một số ký hiệu từ bảng chữ cái băng và đầu của M nằm trên biểu tượng trống ngoài cùng bên trái của A cuối cùng . Vì M chấp nhận đầu vào 1 n , nên nó phải chấp nhận hoặc di chuyển sang trái trên biểu tượng trống. Như trong trường hợp 2), người đứng đầu M sẽ không bao giờ truy cập vào ô thứ n ở bên trái của A ngoài cùng bên phải . Điều này là do trên đầu vào 1 n , MmAmAMAM1nMnA1nM không truy cập vào ô trực tiếp bên trái của ô ban đầu, vì nó chứa biểu tượng trống và nếu nó đọc nó, nó sẽ chạy mãi mãi.
Rõ ràng là trong cả ba trường hợp đều chấp nhận tất cả các chuỗi từ tập { 1 m ; m ≥ n } .M{1m;m≥n}