Có bằng chứng phi xây dựng về sự tồn tại của các máy / NFAs nhỏ của Turing không?


11

Sau khi đọc một câu hỏi liên quan , về các bằng chứng tồn tại phi xây dựng của các thuật toán, tôi đã tự hỏi liệu có phương pháp nào cho thấy sự tồn tại của các máy tính "nhỏ" (nói, thông thái) mà không thực sự xây dựng nó không.

Chính thức:

giả sử chúng tôi được cung cấp một số ngôn ngữ và sửa một số mô hình tính toán (NFAs / máy turing / v.v.).LΣ

Có bất kỳ kết quả tồn tại phi xây dựng nào cho thấy một máy -state cho tồn tại, nhưng không có khả năng tìm kiếm (trong thời gian ) không?nLpoly(n,|Σ|)

Ví dụ: có ngôn ngữ thông thường nào mà chúng tôi có thể hiển thị nhưng chúng tôi không biết cách tạo một máy tự động -state cho?Lnsc(L)nn

( là độ phức tạp trạng thái không xác định của , tức là số lượng trạng thái trong NFA tối thiểu chấp nhận ).nsc(L)LL


EDIT: sau một số cuộc thảo luận với Marzio (cảm ơn!) Tôi nghĩ rằng tôi có thể hình thành tốt hơn câu hỏi như sau:

Có ngôn ngữ và mô hình tính toán nào sau đây không:L

  1. Chúng tôi biết cách xây dựng một máy tính có trạng thái.Lm

  2. Chúng tôi có một bằng chứng cho thấy máy -states cho tồn tại (trong đó ), nhưng chúng tôi không thể tìm thấy nó hoặc sẽ mất thời gian theo cấp số nhân để tính toán nó.nLn<<m


nsc (L) là gì? câu hỏi dường như liên quan đến độ phức tạp nén / Kolmogorov yêu cầu tìm các máy nhỏ (est) để biểu diễn các chuỗi ...
vzn

nsc (L) là độ phức tạp trạng thái không xác định của L (số lượng trạng thái trong NFA nhỏ nhất chấp nhận L).
RB

một ý tưởng / góc độ khác, có thể có một số lớp mạch "nhỏ" (mô hình tính toán khác) được chứng minh rằng họ có thể tính toán một số chức năng nhất định nhưng việc xây dựng thực tế là khó khăn? SJ gần đây đã đề cập đến Barrington thm rằng các chương trình phân nhánh 5 chiều rộng có thể tính được đa số ...?
vzn

@vzn Bằng chứng về định lý của Barrington đưa ra một quy trình dễ dàng để chuyển đổi các công thức thành các chương trình phân nhánh.
Sasho Nikolov

1
@RB: ok, bạn có thể tìm thấy nhiều ví dụ thú vị hơn từ độ phức tạp giới hạn tài nguyên Kolmogorov (đặc biệt là độ phức tạp giới hạn thời gian). Ví dụ, được cho một chuỗi , máy nhỏ nhất chạy trong thời gian in gì? Trong trường hợp này, chúng ta có thể dễ dàng xây dựng một TM in , nhưng để tìm một TM nhỏ nhất yêu cầu quét tất cả các TM(thời gian ràng buộc làm cho nó tính toán). Khi tôi có nhiều thời gian hơn, tôi sẽ mở rộng câu trả lời của mình. xO(2n)xx|M|<|x|
Marzio De Biasi

Câu trả lời:


8

Chỉ một nhận xét mở rộng với một ví dụ tầm thường; bạn có thể chọn ngôn ngữ một thành phần:

Lk={Mσ(M)=Σ(k)}

tức là chứa máy hải ly bận rộn đầu tiên (theo thứ tự từ điển), máy Turing có kích thước (máy Turing có kích thước đạt số lượng lớn nhất 1 giây trên băng của nó sau khi tạm dừng).Lkkk

Đối với mọi ngôn ngữ là thông thường ... nhưng chúng tôi không biết làm thế nào để xây dựng một DFA nhỏ nhận ra nó (mặc dù nó chỉ có các trạng thái ) :-)kLk2k(logk+2)


Trong khi tôi đồng ý nó hoạt động, tôi đã tìm kiếm sự tồn tại cho thấy các kỹ thuật cho ngôn ngữ được cung cấp rõ ràng L.
RB

3
Một "ngôn ngữ được đưa ra rõ ràng" là gì?
Jeffε

3

Ngôn ngữ (đối với một số số nguyên tố ) có thể được nhận dạng bởi một tự động lượng tử hữu hạn lượng tử giới hạn QFA) nhưng bằng chứng là không mang tính xây dựng.MODp={aipi0}pO(logp)

Số trạng thái thu được có cấu trúc được biết đến nhiều nhất là đối với các QFA lỗi bị ràng buộc nhận ra .O(log2+o(1)p)MODp

REF: Mục 4.2 của (Ambainis và Yakaryilmaz, 2015) .


2

Một giải pháp khác là sử dụng bổ đề của Higman :

Một ngôn ngữ đóng dưới subwords là thường xuyên.

Với một từ con của nếu chúng ta có thể có được bằng cách xóa một số chữ cái trong .uvuv

Vì vậy, lấy bất kỳ ngôn ngữ L, việc đóng từ phụ của nó là thường xuyên nhưng hoàn toàn không thể xây dựng được vì L là tùy ý.

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.