Bài viết biến thể vấn đề tương ứng


12

Điều này có lẽ khá đơn giản, nhưng hãy xem xét vấn đề tương ứng bài viết tiêu chuẩn:

Cho và , tìm một chuỗi các chỉ số sao cho . Điều này, tất nhiên, không thể giải quyết được.beta 1 , ... , β N i 1 , ... , i K alpha i 1α i K = β i 1β i Kα1,,αNβ1,,βNi1,,iKαi1αiK=βi1βiK

Bây giờ, tôi gọi đây là "biến thể", nhưng thực sự không phải vậy - về cơ bản nó sẽ ném đi "sự tương ứng". Dù sao, hãy xem xét các biến thể sau đây:

Cho và , tìm hai chuỗi chỉ số sao cho . Có thể nói gì về biến thể này? Nếu điều này là tầm thường, lời xin lỗi của tôi!beta 1 , ... , β Nα1,,αNβ1,,βNi1,,iK,j1,,jKαi1αiK=βj1βjK


Không hỏi một câu hỏi hoàn toàn mới, tôi đang chỉnh sửa điều kiện và không nhất thiết phải bằng nhau. Trong trường hợp chúng bằng nhau, vấn đề có lẽ không thể giải quyết được - tuy nhiên việc giảm là không rõ ràng (với tôi). K 'KK
alpoge

Câu trả lời:


17

Phiên bản mới này - nơi - là decidable.K=K

Hãy cho thấy rằng ngôn ngữ là một CFL. Sau đó, tính quyết định xuất phát từ tính quyết định của sự trống rỗng của CFL.L:=k1(Ak  Bk)

Chúng tôi sẽ thiết kế một PDA chấp nhận . Mở đầu vào x , PDA này sẽ cố gắng để xây dựng hai factorizations của x , một sử dụng lời của A , và những lời sử dụng khác của B . Nó sẽ sử dụng một bộ đếm trên ngăn xếp để đảm bảo hai yếu tố này có cùng độ dài. Về mặt khái niệm tôi sẽ đề cập đến A -factorization của x cho đến khi ngồi trên đỉnh của xB -factorization như ngồi ở dưới cùng của x . Sau đó, ngăn xếp sẽ chứa n bộ đếm iff giá trị tuyệt đối của sự khác biệt của số lượng từ được khớp ở trên cùng, trừ đi số lượng từ ở phía dưới, làLxxABAxxBxn . Chúng ta cần một trạng thái khác của PDA để ghi lại dấu hiệu phù hợp tương ứng với n (thông báo cho chúng ta biết nếu A -factorization dài hơn B -factorization, hay ngược lại).nnAB

Khi chúng tôi quét các chữ cái của , chúng tôi không đoán được một từ t của A và một từ u của B mà chữ cái này bắt đầu. Khi chúng tôi đoán, chúng tôi cam kết khớp phần còn lại của tu với x ; nếu tại bất kỳ thời điểm nào trận đấu của chúng tôi thất bại, chúng tôi dừng lại trong sự lựa chọn không xác định này. Vì vậy, chúng tôi cũng duy trì, ở trạng thái của thiết bị PDA của chúng tôi, hậu tố của tu vẫn còn phù hợp.xtAuBtuxtu

Khi chúng tôi quét thêm các chữ cái, chúng tôi tiếp tục khớp cho đến khi chúng tôi nhấn vào cuối hoặc cuối của u (hoặc cả hai). Khi chúng tôi nhấn vào cuối của một từ, chúng tôi cập nhật ngăn xếp một cách thích hợp và sau đó đoán một từ mới để khớp ở đầu hoặc cuối (hoặc cả hai).tu

Chúng tôi chấp nhận nếu các hậu tố còn lại được khớp đều trống ở trên và dưới và ngăn xếp không chứa bộ đếm.

Chúng ta có thể xây dựng PDA này một cách hiệu quả, vì vậy chúng ta có thể quyết định hiệu quả nếu nó chấp nhận bất cứ điều gì hay không (ví dụ: bằng cách chuyển đổi hiệu quả sang ngữ pháp và sau đó sử dụng phương pháp thông thường để xem G có tạo ra gì không).G

Chỉnh sửa: Người ta cũng có thể biến điều này thành giới hạn trên về mức độ lớn , trong trường hợp xấu nhất. Tôi nghĩ rằng nó sẽ cho một trên ràng buộc của một cái gì đó gần như 2 O ( l 2 ) , nơi l là tổng độ dài của các từ trong mộtB .k2O(l2)lAB

Chỉnh sửa: Bây giờ tôi thấy rằng yêu cầu B là tập hợp hữu hạn cũng có thể được nới lỏng, với yêu cầu AB là thường xuyên (có thể là vô hạn). Trong trường hợp này, thay vì duy trì hậu tố còn lại để được khớp ở "trên cùng" và "dưới cùng", thay vào đó chúng tôi duy trì trạng thái của DFA tương ứng mà chúng tôi đang ở, sau khi xử lý tiền tố của một từ phù hợp có thể. Nếu chúng ta đạt trạng thái cuối cùng ở "trên cùng" hoặc "dưới cùng", chúng ta có thể chọn một cách không nhất định để quay lại trạng thái ban đầu cho một từ được đoán mới. ABAB


2
Chào mừng đến với cstheory!
Suresh Venkat

1
Tuyệt vời! Bây giờ chúng ta chỉ cần Eric Bach ...
Huck Bennett

Đẹp! Thật hoàn hảo.
alpoge

13

Chỉnh sửa: giải quyết điều này một phiên bản trước đó, trong đó chúng ta phải quyết định liệu có là một sự bình đẳng có dạng . Phiên bản mới có K = K ' .αi1αiK=βj1βjKK=K

Ngôn ngữ được tạo bởi tất cả các chuỗi có dạng α i 1α i K là thường xuyên. Ngôn ngữ B tạo ra bởi tất cả các chuỗi có dạng β j 1β j K ' là bình thường. Bạn đang hỏi liệu A B có trống không. Vì A , B là thường xuyên, điều này là có thể quyết định (trên thực tế, trong hầu hết thời gian theo cấp số nhân).Aαi1αiKBβj1βjKABA,B


Agh - thực sự! Xin lỗi về điều đó, bạn hoàn toàn đúng.
alpoge

Nếu chúng ta hạn chế thì sao? K=K
alpoge

2
Bạn có thể làm điều đó trong thời gian đa thức. Tạo một trie cho các từ của tập A đầu tiên và một trie T 2 cho các từ của tập thứ hai B. Những lần thử này về cơ bản là của NFA. Từ đó, tạo NFA cho T + 1T + 2 bằng cách sử dụng cấu trúc thông thường. Bây giờ, bằng cách sử dụng cấu trúc sản phẩm chéo thông thường, tạo NFA M cho giao điểm của chúng. Sự trống rỗng của ngôn ngữ được M chấp nhận giờ đây có thể được kiểm tra thông qua cách tiếp cận DFS tìm đường thông thường. T1T2T1+T2+M
Jeffrey Shallit

Nhận xét của tôi ở trên là chỉ dành cho các vấn đề ban đầu, không phải là vấn đề mà . K=K
Jeffrey Shallit
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.