Có lẽ bạn có thể xây dựng một ngôn ngữ trong DPSACE (n) mà MPA không thể nhận ra với k=1 bằng cách sử dụng đối số đường chéo (có thể là ý tưởng tương tự như trong câu trả lời của Ben, nhưng tôi không đào sâu vào nó):
Giả sử rằng trong bảng chữ cái Σ={0,1} bạn mã hóa một MPA sử dụng một danh sách các hiệu ứng chuyển tiếp:
s,a,p→s′,p′,L|R;...#
nơi là trạng thái hiện tại, một là biểu tượng hiện tại, p là tình trạng sỏi, s ' là trạng thái mới, p ' là trạng thái sỏi mới, L | R là hướng di chuyển, # là dấu cuối).saps′p′L|R#
Máy Turing trên đầu vào x có thể kiểm tra xem đó có phải là mô tả hợp lệ của M P A x không và mô phỏng nó trên đầu vào x cho 4 | x | các bước sử dụng 6 | x | + nhật kýMxMPAxx4|x|các ô, kéo dài đầu vào theo cách này:6|x|+log|x|
MPA description # MPA tape # curr_state # counter #
Ở đâu:
- Mô tả MPA là chuỗi đầu vào gốc (có độ dàix|x| );
- Băng MPA là đại diện băng MPA: đối với mỗi ô, chúng tôi có thể sử dụng 3 bit để lưu trữ cờ đầu, cờ sỏi và nội dung băng (cố định) (có độ dài 3|x| );
- current_state lưu trữ trạng thái hiện tại của MPA (có nhật ký độ dàilog|x| );
- bộ đếm là bộ đếm bước mô phỏng được cập nhật sau mỗi bước mô phỏng (có độ dài 2|x| ).
Nếu dừng lại trong 4 | x | bước rồi TMMPAx4|x| xuất ra ngược lại (nếu nó không dừng MMM xuất 0).
Đối với đủ lớn , 4 | x | các bước mô phỏng lớn hơn 2 | x | + 2 | x | đăng nhập | x | lớn hơn độ dài của mô tả cấu hình hoàn chỉnh của M P A x ; theo cách này nếu M P A x không dừng lại ở 4x>x04|x|2|x|+2|x|log|x|MPAxMPAxCác bước sau đó chúng tôi chắc chắn rằng nó sẽ lặp lại mãi mãi.4|x|
Giả sử có một quyết định cùng một ngôn ngữ L của M , thì nó luôn dừng lại và bạn có thể xây dựng một " P " lớn hơn M P A y ′ quyết định cùng một ngôn ngữ, với y ′ > x 0MPAyLMMPAy′y′>x0 (chỉ cần thêm bang dum).
Bằng cách xây dựng chúng ta có, mà là một mâu thuẫn.MPAy′(y′)=1−M(y′)=1−MPAy′(y′)