Đưa ra các biểu thức chính quy , có bất kỳ giới hạn không tầm thường nào về kích thước của ngữ pháp không ngữ cảnh nhỏ nhất cho không?R 1 ∩ ⋯ ∩ R n
Đưa ra các biểu thức chính quy , có bất kỳ giới hạn không tầm thường nào về kích thước của ngữ pháp không ngữ cảnh nhỏ nhất cho không?R 1 ∩ ⋯ ∩ R n
Câu trả lời:
Đây là một câu hỏi tuyệt vời và nó thực sự nằm trong sở thích của tôi. Tôi rất vui vì bạn đã hỏi nó Max.
Đặt DFA với tối đa mỗi trạng thái được đưa ra. Sẽ thật tuyệt nếu tồn tại một chiếc PDA với nhiều tiểu bang theo cấp số nhân chấp nhận giao điểm của các ngôn ngữ của DFA. Tuy nhiên, tôi đề nghị rằng một chiếc PDA như vậy có thể không luôn tồn tại.O ( n )
Hãy xem xét ngôn ngữ sao chép. Bây giờ, hạn chế nó để sao chép chuỗi có độ dài n.
Chính thức, xem xét -copy .: = { x x
Chúng ta có thể biểu thị -copy là giao điểm của DFA có kích thước tối đa là . Tuy nhiên, DFA nhỏ nhất chấp nhận -copy có trạng thái.n O ( n ) n 2 Ω ( n )
Tương tự như vậy, nếu chúng ta giới hạn bản thân trong bảng chữ cái ngăn xếp nhị phân, thì tôi nghi ngờ rằng chiếc PDA nhỏ nhất chấp nhận bản sao có nhiều cấp số nhân.
PS Vui lòng gửi email cho tôi nếu bạn muốn thảo luận thêm. :)
Tôi không nghĩ rằng có thể có bất kỳ giới hạn dưới hoặc trên không tầm thường.
Đối với giới hạn dưới, hãy xem xét ngôn ngữ cho một cố định . Kích thước của ngữ pháp không ngữ cảnh nhỏ nhất là logarit theo kích thước của biểu thức chính quy của , trong khi kích thước của máy tự động nhỏ nhất cho là tuyến tính theo kích thước của biểu thức chính thức của . Sự khác biệt theo cấp số nhân này vẫn giữ nguyên nếu chúng ta giao cắt với các ngôn ngữ khác.
Đối với giới hạn trên, hãy xem xét một ngôn ngữ bao gồm chính xác một deBruijn - Chuỗi có độ dài . Được biết, kích thước của một ngữ pháp nhỏ nhất chok L 1 L 1 L 1 L 1 L 2 n L 2 O ( n
là trường hợp xấu nhất, tức là , do đó, sự khác biệt đối với máy tự động "nhỏ nhất" đối với chỉ đơn giản là một yếu tố logarit, mệnh đề 1 trongL2
Một giới hạn chung không tầm thường hoặc giới hạn trên sẽ mâu thuẫn với các kết quả đó, vì những gì đúng với giao điểm của ngôn ngữ phải đúng với giao điểm của ngôn ngữ.1
Hãy để tôi phán xét thứ hai của Michael, đây thực sự là một câu hỏi thú vị. Ý tưởng chính của Michael có thể được kết hợp với kết quả từ tài liệu, do đó cung cấp một giới hạn thấp hơn tương tự với một bằng chứng nghiêm ngặt.
Tôi sẽ đề cập đến giới hạn về kích thước CFG về tổng số ký hiệu chữ cái trong biểu thức chính quy. Đặt số này được ký hiệu là . (Như john_leo đã lưu ý, chúng tôi sẽ không tìm thấy bất kỳ giới hạn hữu ích nào về số lượng biểu thức chính quy tham gia vào giao lộ.)k
Cả OP và Michael đều không thấy cần phải đề cập đến điều này, nhưng có thể dễ dàng chứng minh giới hạn trên của (về số lượng trạng thái) để chuyển đổi một giao điểm của biểu thức chính quy thành NFA. Đối với bản ghi, đây là: Chuyển đổi các biểu thức thông thường thành Glushkov automata, tất cả đều không trả về. Sau đó áp dụng xây dựng sản phẩm để có được NFA cho giao điểm của các ngôn ngữ này. (Tôi cho rằng người ta có thể cải thiện giới hạn thành hoặc hơn.) Một NFA -state có thể được chuyển đổi thành một ngữ pháp tuyến tính phải (là trường hợp đặc biệt của CFG) có kích thước (nếu chúng tôi đo kích thước ngữ pháp là tổng số ký hiệu ở bên trái và bên phải của sản phẩm), do đó cho kích thước 2 k + 1 s O ( s 2 ) O ( 4 k ). Điều này tất nhiên nghe có vẻ khủng khiếp nếu bạn có ứng dụng thực tế trong tâm trí. Cố gắng chứng minh ràng buộc tốt hơn bằng cách sử dụng độ phức tạp chuyển tiếp không điều kiện thay vì độ phức tạp trạng thái không xác định để ước tính kích thước của NFA có thể đáng để nỗ lực.
Phần khác là tìm một ngôn ngữ nhân chứng có thể được diễn đạt ngắn gọn như là giao điểm của các biểu thức thông thường, nhưng nhất thiết phải rườm rà để mô tả với CFG. (Ở đây chúng ta cần thiết lập giới hạn thấp hơn về kích thước của tất cả các CFG tạo ra ngôn ngữ, trong đó có thể có vô số.) Đối số sau đây đưa ra chặn dưới.
Hãy xem xét ngôn ngữ hữu hạn , trong đó biểu thị sự đảo ngược của . Sau đó, có thể được biểu thị dưới dạng giao điểm của các biểu thức chính sau:
Tổng số của các ký hiệu chữ cái trong giao điểm của biểu thức này là trong .O ( n 2 )
Sử dụng một đối số được đưa ra trong bằng chứng Định lý 13 trong ( 1 ), người ta có thể chứng minh rằng mọi CFG tuần hoàn tạo phải có ít nhất các biến khác biệt, nếu phía bên phải của mỗi quy tắc có độ dài tối đa là . Điều kiện thứ hai là cần thiết để tranh luận về số lượng biến, vì chúng ta có thể tạo ra một ngôn ngữ hữu hạn với một biến duy nhất. Nhưng từ góc độ kích thước ngữ pháp, điều kiện này không thực sự là một hạn chế, vì chúng ta có thể chuyển đổi CFG thành dạng này chỉ với một kích thước tuyến tính kích thước, xem ( 2 ). Lưu ý rằng ngôn ngữ được sử dụng bởi Arvind et al. là trên một bảng chữ cái có kích thước , và điều này mang lại một ràng buộc của2 n / ( 2 n ) = 2 Ω ( √2nnn/(2n) ; nhưng đối số mang theo với sửa đổi rõ ràng.
Tuy nhiên, một khoảng cách lớn vẫn còn giữa và giới hạn dưới đã nói ở trên.
Tài liệu tham khảo:
V. Arvind, Pushkar S. Joglekar, Srikanth Srinivasan. Mạch số học và sản phẩm Hadamard của đa thức , FSTTCS 2009, Vol. 4 LIPIcs, trang 25-36
Lange, Martin; Leiß, Hans (2009). " Đến CNF hay không với CNF? Phiên bản hiệu quả của thuật toán CYK ". Thông tin Didactica 8.