Quyết định sự trống rỗng của giao điểm của các ngôn ngữ thông thường trong thời gian phụ


23

Đặt L1,L2 là hai ngôn ngữ thông thường được đưa ra bởi NFAs M1,M2 làm đầu vào.

Giả sử chúng ta muốn kiểm tra xem L1L2 . Điều này rõ ràng có thể được thực hiện bằng thuật toán bậc hai tính toán tự động hóa sản phẩm của M1,M2 , nhưng tôi đã tự hỏi liệu có bất cứ điều gì hiệu quả hơn được biết đến không.

Có một o(n2) thuật toán cho việc quyết định xem L1L2 ? Thuật toán được biết đến nhanh nhất là gì?


5
Nếu bất cứ ai có ý tưởng tốt xin vui lòng cho tôi biết, nhưng hiện tại nó là một vấn đề mở. Nếu bạn có thể giải quyết vấn đề này theo thời gian tuyến tính, thì về cơ bản, bất kỳ vấn đề nào có thể giải quyết được bằng một máy không xác định chỉ sử dụng n bit bộ nhớ có thể được giải quyết một cách xác định trong lần. 2n2
Michael Wehar

6
Tôi nghĩ rằng nó vẫn mở cho bất kỳ bậc hai. Một số thông tin khác: rjlipton.wordpress.com/2009/08/17/
Michael Wehar

4
Vì vậy, ví dụ (dựa trên nhận xét của Michael), giả thuyết thời gian theo cấp số nhân mạnh mẽ ngụ ý rằng số mũ phải là 2. Tôi nghĩ rằng điều này cũng có thể được chứng minh theo giả thuyết thời gian theo cấp số nhân ...
Ryan Williams

4
RB: Giả sử bạn có thể kiểm tra cho sự trống rỗng của hai DFAs kích thước trong thời gian n 1 + ε với ε < 1 . Bây giờ, nếu bạn có k DFA có kích thước n , bạn có thể tạo sản phẩm của k / 2 DFA đầu tiên và của k / 2 DFA còn lại . Sau đó, thử nghiệm cho sự trống rỗng trong thời gian ( n k / 2 ) 1 + ε = n 1nn1+εε<1knk/2k/2nào tốt hơnnk. vzn: Bài báo giành giải thưởng này được viết bởi @MichaelWehar, người đã bình luận trong chủ đề này. Michael, có lẽ bạn có thể gửi câu trả lời, nếu bạn có thời gian! (nk/2)1+ε=n12k+ε2knk
Michael Blondin

4
@RyanWilliams Xin chào Ryan, điều gì khiến bạn nghĩ rằng giả thuyết thời gian theo cấp số nhân yếu hơn ngụ ý rằng chúng ta không thể giải quyết sự không giao nhau cho hai DFA nhanh hơn? Một số người khác đề nghị điều này với tôi một lần quá. :)
Michael Wehar 17/1/2015

Câu trả lời:


22

Câu trả lời đơn giản : Nếu có tồn tại một thuật toán hiệu quả hơn mà chạy trong thời gian cho một số δ < 2 , sau đó thời gian giả thuyết mũ mạnh sẽ bị bác bỏ.O(nδ)δ<2


Chúng tôi sẽ chứng minh một định lý mạnh mẽ hơn và sau đó câu trả lời đơn giản sẽ theo sau.

Định lý : Nếu chúng ta có thể giải quyết vấn đề không trống giao nhau trong hai DFA trong thời gian , thì bất kỳ vấn đề nào không thể giải quyết được bằng cách chỉ sử dụng n bit bộ nhớ là có thể giải quyết một cách xác định trong p o l y ( n ) 2 ( δ n / 2 ) thời gian.O(nδ)poly(n)2(δn/2)

Biện minh : Giả sử rằng chúng ta có thể giải quyết ngã tư không trống rỗng cho hai DFA trong thời gian. Đặt máy Turing không xác định M với băng đầu vào chỉ đọc và băng công việc nhị phân đọc / ghi. Đặt một chuỗi đầu vào x có độ dài n được cho. Giả sử rằng M không truy cập nhiều hơn n bit bộ nhớ trên băng công việc nhị phân.O(nδ)

Một tính toán của M trên đầu vào x có thể được biểu diễn bằng một danh sách cấu hình hữu hạn. Mỗi cấu hình bao gồm một trạng thái, một vị trí trên băng đầu vào, một vị trí trên băng làm việc và tối đa n bit bộ nhớ đại diện cho băng công việc.

Bây giờ, hãy xem xét rằng băng công việc đã được chia làm đôi. Nói cách khác, chúng ta có một phần bên trái của ô và một phần bên phải củann2n2n2n2

D1D2

D1D2D1D2D1D2

poly(n)2n/2poly(n)

poly(n)2(δn/2)

Bạn có thể thấy điều này hữu ích: https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/


k+O(log(n))O(nδ)poly(n)2(δk/2) thời gian. Do đó, câu trả lời đơn giản giữ.

Bình luận, sửa chữa, đề xuất, và câu hỏi được hoan nghênh. :)


1
Ω(n2)

1
kk

1
(2k2)k

1
NSpace(2log(n))DTime(n)NSpace(2log(n))2log(n)không gian cho các máy Turing không xác định với băng đầu vào chỉ đọc hai chiều và băng làm việc nhị phân đọc / ghi hai chiều.
Michael Wehar
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.