Ngôn ngữ đơn phương được công nhận bởi automata bộ đếm xác định hai chiều


17

2dca của (hai chiều xác định một toa automata) (Petersen, 1994) có thể nhận ra các ngôn ngữ unary sau:

POWER={02nn0}.

Có ngôn ngữ đơn phương không tầm thường nào khác được công nhận bởi 2dca không?

Ghi chú rằng nó vẫn chưa rõ liệu 2dca có thể nhận ra ?SQUARE={0n2n0}


ĐỊNH NGH: A: 2dca là một máy tự động hữu hạn xác định hai chiều với một bộ đếm. Một 2dca có thể kiểm tra xem giá trị của bộ đếm có bằng 0 hay không, và tăng hoặc giảm giá trị của bộ đếm thêm 1 trong mỗi bước.


3
Bạn có thể thêm một liên kết đến một định nghĩa của 2DCA không?
Suresh Venkat

3
@SureshVenkat: Tôi đã thêm một tài liệu tham khảo và cũng là một định nghĩa.
Abuzer Yakaryilmaz

1
@AbuzerYakaryilmaz: cho mọi cố định nó có thể nhận ra { 0 k n : n 0 }k{0kn:n0}
Marzio De Biasi

@MarzioDeBiasi: Thuật toán cho có thể dễ dàng khái quát hóa để P O W E R k = { 0 k n | n 0 } , nơi k 3 . Do đó, những ngôn ngữ này khá tầm thường đối với tôi. POWERPOWERk={0knn0}k3
Abuzer Yakaryilmaz

1
Hừm, thật ra tôi nghĩ theo cách này tôi chỉ dừng lại ở cùng một quan sát những gì Marzio đã làm, nên không có gì mới trong những gì tôi nói. Mặc dù vậy, tôi vẫn quan tâm đến việc liệu chúng ta có cần đọc endmarker nhiều hơn số lần giới hạn hay không.
vật

Câu trả lời:


6

Đây chỉ là một ý tưởng nảy ra trong đầu tôi khi đọc Marvin L. Minsky, "Tính không thể giải quyết được của vấn đề về thẻ của bài viết và các chủ đề khác trong lý thuyết về máy Turing"; đặc biệt là định lý nổi tiếng Ia:

Định lý Ia: Chúng ta có thể biểu diễn bất kỳ hàm đệ quy một phần bằng một chương trình hoạt động trên hai số nguyên S 1S 2 bằng cách sử dụng các hướng dẫn I j của các dạng: (i) THÊM 1 đến S j và đi đến I j 1 ( ii) ĐĂNG KÝ 1 từ S j , nếu S j0 và chuyển đến I j 1 , nếu không đi đến I j 2 Nghĩa là chúng ta có thể xây dựng một chương trình như vậy bắt đầu bằng S 1f(n)S1S2Ij
SjIj1
SjSj0Ij1Ij2
S 2 =S1=2n và cuối cùng dừng lại với S 1 = 2 f ( n ) S 2 = 0S2=0S1=2f(n)S2=0

Nếu bạn có DFA hai chiều với một bộ đếm trên một băng vô hạn (bán) trong đó đầu vào được đưa ra dưới dạng đơn nhất: thì DFA có thể:$12n000...

  1. đọc đầu vào đơn nguyên (và lưu nó trong quầy);
  2. làm việc trên phần của băng và sử dụng khoảng cách từ 1 s như quầy thứ hai.01

do đó, nó có thể mô phỏng một máy Turing hoàn thành hai máy đếm.

Bây giờ, nếu bạn có hàm đệ quy chạy trong thời gian T ( n ) trên máy Turing tiêu chuẩn, DFA hai chiều với một bộ đếm bắt đầu trên băng hữu hạn $ 1 m $f(n)T(n) $1m$(nơi T ' ( n ) » T ( nm=2n3T(n) ) có thể:T(n)T(n)

  1. đọc đầu vào đơn nguyên (và lưu nó trong quầy);
  2. trở về biểu tượng ngoài cùng bên trái;
  3. chia bộ đếm cho 3 cho đến khi bộ đếm chứa theo cách này: đi vòng lặp bên phải từ các trạng thái q z 0 , q z 1 , q z 2 và trừ đi 1; nếu bộ đếm đạt 0 ở trạng thái q z 0, hãy chuyển đến biểu tượng ngoài cùng bên trái thêm +1 và tiếp tục vòng chia, nếu không thì thêm 1 (nếu ở trạng thái q z 1 ) hoặc 2 (nếu ở trạng thái q z 2 ) và đi đến biểu tượng ngoài cùng bên trái thêm + 3 (tức là khôi phục giá trị trước đó của bộ đếm không chia hết cho 3) và tiến hành bước 4.;2nqz0,qz1,qz2qz0qz1qz2
  4. tại thời điểm này bộ đếm chứa ;2n
  5. tính bằng cách sử dụng khoảng trống T ( n ) ở bên phải làm bộ đếm thứ hai (giá trị của bộ đếm thứ hai là khoảng cách từ ký hiệu ngoài cùng bên trái $ ).2f(n)T(n)$

Vì vậy, với mã hóa đầu vào đặc biệt được mô tả ở trên cung cấp cho nó đủ không gian trên băng hữu hạn, DFA hai chiều với một bộ đếm và bảng chữ cái đơn nhất có thể tính toán mọi hàm đệ quy.

Nếu phương pháp này là chính xác, nó sẽ là thú vị để suy luận về làm thế nào để chọn hoặc khi nó là đủ để chọn một lẻ lớn k » 2 và mã hóa các đầu vào như 1 m , m = 2 n k nT(n)T(n)k21mm=2nkn


-1

Bởi không tầm thường, tôi giả sử bạn có nghĩa là một ngôn ngữ L không thể được chấp nhận bởi 1dca. Đây dường như là một ngôn ngữ như vậy:

TRUNG TÂM = {w | w lớn hơn {0,1} * và w = x1y đối với một số x, y sao cho | x | = | y |}

Ngôn ngữ này không thể được chấp nhận bởi 1dca, nhưng CÓ THỂ được chấp nhận bởi 1nca. Nó có thể được chấp nhận bởi 2dca. Chi tiết còn lại là bài tập.


2
OP yêu cầu các ngôn ngữ đơn phương (đầu vào được đưa ra là )$1n$
Marzio De Biasi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.