Một sự tách biệt rõ ràng giữa thời gian xây dựng và không gian xây dựng?


10

Hiển thị một hàm có thể xây dựng theo không gian nhưng không thể định thời gian.f(n)

Vấn đề này có liên quan đến sự phân tách có thể có giữa các lớp phức tạp DTIME (f (n)) và SPACE (f (n)) không?


3
vi.wikipedia.org/wiki/Constructible_feft Theo tôi biết, câu hỏi này không liên quan đến TIME (f (n)) so với SPACE (f (n)), nhưng lưu ý hai lớp này được biết là khác nhau. Tìm các bài báo "On Time Versus Space", "On Time Versus Space II", "On Time Versus Space III"
Ryan Williams

Quan sát nhanh: Tôi nghĩ rằng vấn đề này tương đương với việc hỏi liệu DTIME (f (n)) TALLY và SPACE (f (n)) TALLY có thể khác nhau đối với một số chức năng có thể tạo không gian f (n), trong đó TALLY là lớp ngôn ngữ là tập con của 1 ^ *.
Tsuyoshi Ito

Rất tiếc, chúng có thể không tương đương. Đây là một bằng chứng về một hướng. Nếu có ngôn ngữ L = {1 ^ n | n∈S} TALLY∩ (SPACE (f (n)) DTIME (f (n))) cho một số hàm xây dựng không gian f (n), sau đó cả f (n) và f (n) + χ_S (n ) (trong đó χ_S (n) là hàm đặc trưng của S) có thể xây dựng theo không gian nhưng cả hai đều không thể xây dựng được theo thời gian, và do đó ít nhất một trong số chúng là hàm có thể xây dựng theo không gian nhưng không thể xây dựng theo thời gian.
Tsuyoshi Ito

2
Nhờ Ryan, bằng nhận xét của bạn, tôi biết rằng TIME (f (n)) được chứa trong SPACE (f (n) / log f (n)) của Hopcroft et al, và cái sau được chứa trong SPACE (f (n) )) theo định lý phân cấp không gian.
Tian Liu

Nhờ Tsuyoshi, những ý tưởng rất thông minh, nếu cả f (n) và f (n) + χ_S (n) đều có thể xây dựng được theo thời gian, thì chúng ta có thể quyết định liệu n∈S trong tối đa f (n) +1 hay không, do đó L TALLY DTIME (f (n)), một mâu thuẫn. nhưng công trình của bạn có thể được gọi là "nổ" không? cái nào không thể xây dựng được theo thời gian, f (n) hoặc f (n) + _S (n)? bằng "tường minh" nếu tôi muốn nói rằng chúng ta có thể quyết định giá trị f (n) cho tất cả n, thì công trình của bạn sẽ bị phá hủy.
Tian Liu

Câu trả lời:


6

Hàm có thể xây dựng được theo thời gian nếu có máy Turing , trên đầu vào , tính toán hàm trong thời gian . M 1 n x T ( | x | ) O ( T ( n ) )T:NNM1nxT(|x|)O(T(n))

Hàm có thể xây dựng được không gian nếu có máy Turing , trên đầu vào , tính toán hàm trong không gian . M 1 n x S ( | x | ) O ( S ( n ) )S:NNM1nxS(|x|)O(S(n))

Một số văn bản yêu cầu các hàm xây dựng thời gian / không gian không giảm. Một số văn bản yêu cầu các hàm xây dựng thời gian thỏa mãn và các hàm xây dựng không gian thỏa mãn . Một số văn bản không sử dụng ký hiệu trong định nghĩa.S ( n ) log n O ( )T(n)nS(n)đăng nhậpnÔi()

Dù sao, thật dễ dàng để chỉ ra rằng mọi hàm "thông thường" , thỏa mãn và là không gian có thể xây dựng được, nhưng không thể xây dựng được theo thời gian.ff(n)đăng nhậpnf(n)= =o(n)

Vấn đề về cấu trúc không liên quan trực tiếp đến sự phân tách có thể có giữa các lớp phức tạp DTIME (f (n)) và SPACE (f (n)). Tuy nhiên, tuyên bố về các định lý phân cấp thời gian và không gian kết hợp khả năng xây dựng. Ví dụ:

Định lý phân cấp thời gian Nếu , là các hàm có thể xây dựng theo thời gian thỏa mãn , thì là tập con đúng của .g f ( n ) log f ( n ) = o ( g ( n ) ) D T I M E ( f ( n ) ) D T I M E ( g ( n ) )fgf(n)logf(n)=o(g(n))DTIME(f(n))DTIME(g(n))

Xem sách của Arora & Barak hoặc Papadimitriou để biết thêm thông tin. (Cái sau sử dụng thuật ngữ "hàm phức tạp thích hợp" để chỉ một hàm có thể xây dựng được cả thời gian và không gian.)


Cảm ơn. Tôi thích định nghĩa rằng một hàm là thời gian / không gian có thể xây dựng được nếu có một máy Turing chạy chính xác theo các bước / hình vuông băng. Tất nhiên, theo các định lý tăng tốc thời gian / không gian tuyến tính, điều này tương đương với các định nghĩa / sách giáo khoa của bạn.
Tian Liu

Sadeq, định nghĩa của bạn cho "thời gian có thể xây dựng" và "không gian xây dựng" là giống hệt nhau từng từ. Bạn đang nói rằng đây chỉ là hai tên khác nhau cho cùng một khái niệm? Nếu không, có lẽ bạn nên sửa định nghĩa của bạn.
Yitz

Nó chỉ là một lỗi đánh máy.
Tsuyoshi Ito

Xin lỗi Yitz. Tôi đã sửa lỗi đánh máy.
MS Dousti

4

là không gian có thể xây dựng nhưng không thể xây dựng được thời gian. Lý do là bạn có thể ánh xạ 1 n đến biểu diễn nhị phân trong không gian O ( log n ) nhưng không theo thời gian O ( log n ) .f(n)=logn1nO(logn)O(logn)


Nhờ nhận xét và trả lời. Nhưng bạn có thể hiển thị một hàm f (n) ít nhất là tuyến tính, nghĩa là f (n)> = n, cho sự phân tách không? Dường như hàm có thể xây dựng theo thời gian không thể nhỏ hơn n vì một lý do rõ ràng: phải đọc tất cả các bit đầu vào, nếu không, một đối số bất lợi có thể cho thấy hàm này không được tính toán chính xác.
Tian Liu

@Tian, là hàm có thể xây dựng theo không gian nhưng không phải là thời gian có thể xây dựng được. f(n)= =n
Mohammad Al-Turkistany

Cảm ơn một lần nữa, nhưng bạn có cho rằng đầu đọc trên băng đầu vào ban đầu được đặt ở bên trái đến bit đầu tiên không? trong trường hợp đó, để phát hiện bit đầu vào cuối cùng, đầu phải di chuyển sang phải n + 1 lần cho đến khi gặp ô trống đầu tiên sau đầu vào. Khi đó có thể xây dựng được theo thời gian. Vì vậy, xin vui lòng cho một phân tách "không trival" bởi một hàm f (n)> = n + 1? f(n)= =n+1
Tian Liu

2

Nếu tất cả các chức năng không gian constructible là thời gian constructible, sau đó . Để chứng minh rằng (và để đưa ra một ví dụ về chức năng không thể xây dựng không gian tầm thường nhưng có lẽ không phải là thời gian có thể xây dựng được), chúng ta hãy lấy một tùy ý (có thể là E X P - S P A C E - C O M P L E T E ) bài toán L E X PEXP-TTôiME= =EXP-SPMộtCEEXP-SPMộtCE-CÔiMPLETE , L { 0 , 1 } * . Khi đó tồn tại một k N , st L có thể được giải bằng DTM M trongkhông gian 2 n k . Bây giờ xác định chức năng f ( n ) = { 8 n + 2 nếu  ( đầu tiên k LEXP-SPMộtCEL{0,1}*kNLM2nk

f(n)= ={số 8n+2nếu (Đầu tiên đăng nhậpn+1k bit của bTôin(n))Lsố 8n+1khác

2nffL

Câu trả lời này sử dụng cùng một ý tưởng.

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.