SAT có phải là ngôn ngữ không ngữ cảnh không?


12

Tôi đang xem xét ngôn ngữ của tất cả các công thức logic mệnh đề thỏa đáng, SAT (để đảm bảo rằng điều này có một bảng chữ cái hữu hạn, chúng tôi sẽ mã hóa các chữ cái mệnh đề theo một cách phù hợp [sửa: các câu trả lời chỉ ra rằng câu trả lời cho câu hỏi có thể không mạnh mẽ theo mã hóa khác nhau, vì vậy người ta cần phải cụ thể hơn - xem kết luận của tôi dưới đây] ). Câu hỏi đơn giản của tôi là

SAT có phải là ngôn ngữ không ngữ cảnh không?

Dự đoán đầu tiên của tôi là câu trả lời hôm nay (đầu năm 2017) phải là "Không ai biết, vì điều này liên quan đến các câu hỏi chưa được giải quyết trong lý thuyết phức tạp." Tuy nhiên, điều này không thực sự đúng (xem câu trả lời bên dưới), mặc dù cũng không hoàn toàn sai. Dưới đây là một bản tóm tắt ngắn về những điều chúng ta biết (bắt đầu với một số điều rõ ràng).

  1. SAT không thường xuyên (vì ngay cả cú pháp của logic mệnh đề cũng không thường xuyên, do dấu ngoặc đơn phù hợp)
  2. SAT rất nhạy cảm với bối cảnh (không khó để đưa ra một LBA cho nó)
  3. SAT là NP-Complete (Cook / Levin), và đặc biệt được quyết định bởi các TM không điều kiện trong thời gian đa thức.
  4. SAT cũng có thể được công nhận bởi automata ngăn xếp không điều kiện một chiều (1-NSA) (xem Vòng WC, Độ phức tạp của nhận dạng trong các ngôn ngữ Cấp trung gian , Chuyển đổi và Lý thuyết tự động, 1973, 145-158 http://dx.doi.org/ 10.1109 / SWAT.1973.5 )
  5. Vấn đề từ cho các ngôn ngữ không ngữ cảnh có lớp phức tạp của riêng nó (xem https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl )CFL
  6. , trong đó LOGCFL là loại vấn đề logspace có thể giảm xuống CFL (xemhttps://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl). Được biết, NLLOGCFL .CFLLOGCFLAC1LOGCFLCFLNLLOGCFL
  7. NLNPNL=NPNC1PHNPLOGCFLLOGCFL

Tuy nhiên, điểm cuối cùng này vẫn để lại khả năng SAT được biết là không có trong . Nói chung, tôi không thể tìm thấy nhiều về mối quan hệ của với hệ thống phân cấp có thể giúp làm rõ trạng thái dịch chuyển của câu hỏi của tôi.CFLCFLNC

Lưu ý (sau khi thấy một số câu trả lời ban đầu): Tôi không mong đợi công thức ở dạng kết hợp thông thường (điều này sẽ không tạo ra sự khác biệt cho bản chất của câu trả lời và thông thường các đối số vẫn được áp dụng vì CNF cũng là một công thức. tuyên bố rằng phiên bản số lượng biến không đổi của vấn đề là thất bại thường xuyên, vì người ta cần dấu ngoặc đơn cho cú pháp.).

Kết luận: Trái ngược với dự đoán lấy cảm hứng từ lý thuyết phức tạp của tôi, người ta có thể chỉ ra trực tiếp rằng SAT không có ngữ cảnh. Do đó, tình huống là:

  1. Được biết, SATkhông bối cảnh tự do (nói cách khác: SAT không có trong ), theo giả định rằng ai sử dụng một "trực tiếp" mã hóa các công thức mà các biến mệnh đề được xác định bởi số nhị phân (và một số biểu tượng hơn nữa được sử dụng cho các nhà khai thác và phân cách).CFL
  2. Không biết SAT có trong , nhưng "hầu hết các chuyên gia nghĩ" là không, vì điều này sẽ ám chỉ . Điều này cũng có nghĩa là không biết liệu các mã hóa "hợp lý" khác của SAT không có ngữ cảnh hay không (giả sử rằng chúng tôi sẽ coi logspace là một nỗ lực mã hóa chấp nhận được cho một vấn đề NP-hard).LOGCFLP=NP

Lưu ý rằng hai điểm này không ngụ ý . Điều này có thể được hiển thị trực tiếp bằng cách hiển thị rằng có các ngôn ngữ trong (do đó trong ) không có ngữ cảnh (ví dụ: ).L LOGCFL a n b n c nCFLLOGCFLLLOGCFLanbncn


Nếu có thì P = NP.
Ryan

1
Nếu SAT không có ngữ cảnh thì lập trình động (thuật toán CYK) sẽ đưa ra thuật toán thời gian đa thức để kiểm tra tư cách thành viên trong SAT, cho P = NP. Ngay cả P ​​= NP cũng không có nghĩa là SAT không có ngữ cảnh. Việc mã hóa các biến này có vẻ như nó có thể quan trọng hơn việc bạn cho nó tín dụng. Tôi đã không tìm ra các chi tiết nhưng nếu bạn thêm các "chỉ mục" đơn nhất hoặc nhị phân vào các biến tôi nghĩ bạn sẽ gặp khó khăn khi phân biệt (x và y) với (x và không x) cho các chỉ số đủ lớn.
AdamF

Bạn phải chính xác về đại diện trước khi đưa ra kết luận P = NP. Ví dụ, bao thanh toán một số N là thời gian đa thức tính bằng N (câu hỏi thú vị liên quan đến số bit cần thiết để viết N ở dạng nhị phân hoặc về log N).
Aryeh

Tôi đã nhận thức được kết luận P = NP và do đó, câu trả lời không được mong đợi là "có" (xin lỗi vì đã có một chút khiêu khích trong cách tôi diễn đạt điều này ;-). Tôi vẫn đang tự hỏi liệu điều này thực sự được biết đến hay chỉ đơn thuần là điều mà "hầu hết các chuyên gia tin tưởng" (câu trả lời hiện chỉ rõ rằng điều này là đúng; tôi sẽ chọn một trong khóa học do).
mak

Câu trả lời:


7

Chỉ là một bằng chứng thay thế bằng cách sử dụng kết hợp các kết quả nổi tiếng.

Giả sử rằng:

  • biến được biểu diễn bằng các biểu thức chính quy d=(+|)1(0|1)
  • và rằng ( thường xuyên ngôn ngữ) (trên sử dụng để đại diện cho các công thức CNF là: S = { d + ( d + ) * ( ( d + ( d + ) ) ) } ; chỉ cần lưu ý rằng S lấy tất cả các công thức CNF hợp lệ cho đến đổi tên biến.Σ={0,1,+,,,})S={d+(d+)((d+(d+)))}S

Ví dụ được viết như sau: s φ = + 1 + 10φ=(x1x2)x3 (các điều hành có ưu tiên hơn ).sφ=+1+1011S

Giả sử rằng St công thức tương ứng với φ là satisfiable } là CF.L={sφSφ}

Nếu chúng ta cắt nó với ngôn ngữ thông thường: chúng ta vẫn có được ngôn ngữ CF. Chúng ta cũng có thể áp dụng phép đồng hình: h ( + )R={+1a1b1ca,b,c>0} , h ( - ) = ε và ngôn ngữ vẫn là CF.h(+)=ϵh()=ϵ

Nhưng ngôn ngữ chúng ta có được là: , bởi vì nếu một = b sau đó "nguồn" công thức là + x một- x một- x b không thỏa mãn (tương tự nếu a = c ). Nhưng L là một ngôn ngữ phi CF nổi tiếng mâu thuẫn.L={1a1b1cab,ac}a=b+xaxaxba=cL


Tôi đã chấp nhận câu trả lời này ngay bây giờ vì vẫn còn một vấn đề mở với cách tiếp cận khác (xem bình luận) và tôi thích lập luận có phần cơ bản hơn. Có thể rất hay khi nhấn mạnh rằng đối số là dành riêng cho mã hóa đã chọn và thực sự không biết liệu người ta có thể tìm thấy một mã hóa (logspace) đơn giản khác dẫn đến ngôn ngữ không ngữ cảnh hay không.
mak

1
@mak: Tôi nghi ngờ rằng bất kỳ mã hóa "hợp lý" nào khác của SAT có thể được chứng minh là không CF với một kỹ thuật tương tự. Có lẽ một hướng thú vị khác là nghiên cứu nếu chúng ta có thể áp dụng một số loại đường chéo để có được bằng chứng tổng quát hơn: công thức SAT mã hóa một tính toán mô phỏng tự động đẩy xuống trên một đầu vào nhất định và nó có thể thỏa đáng nếu và chỉ khi nó không ' t chấp nhận nó Nhưng đó chỉ là một ý tưởng mờ nhạt ...
Marzio De Biasi

Kiểm tra xem một chuỗi trong một ngôn ngữ thông thường có trong P. Giả sử SAT đã ở Reg. Khi đó NP = coNP. Hãy để L ở Reg. Hãy xem xét công thức đó là đúng nếu nó không có trong L. Nó nằm trong NP để nó có thể được biểu thị dưới dạng công thức SAT. Đó là trong ngôn ngữ iff nó không phải là.
Kaveh

5

Nếu số lượng biến là hữu hạn thì số lượng liên kết thỏa đáng, vì vậy ngôn ngữ SAT của bạn là hữu hạn (và do đó là thường xuyên). [Chỉnh sửa: xác nhận này giả định mẫu CNFSAT.]

Nếu không, chúng ta hãy đồng ý để mã hóa các công thức như bởi ((x17¬x21)(x1x2x3) . Chúng tôi sẽ sử dụngbổ đề của Ogden để chứng minh rằng ngôn ngữ của tất cả các liên từ thỏa đáng không có ngữ cảnh.(17+~21)(1+2+3)

Đặt là hằng số "đánh dấu" trong bổ đề của Ogden và xem xét một công thức sat w có mệnh đề đầu tiên bao gồm ( 1 p ) - nghĩa là mã hóa của ( x N ) , trong đó N là số thập phân bao gồm p những cái. Chúng tôi đánh dấu các p của 1 p và sau đó yêu cầu tất cả các lần bơm phân rã thích hợp của w (xem kết luận về bổ đề của Ogden) cũng phải thỏa đáng. Nhưng chúng ta có thể dễ dàng chặn điều này bằng cách yêu cầu không có mệnh đề nào chứa x q , trong đó q là một chuỗipw(1p)(xN)Npp1pwxqq 'ngắn hơn p1p, phải thỏa đáng - ví dụ, bằng cách đảm bảo rằng mọi mệnh đề khác của có phủ định của mọi x q như vậy . Điều này có nghĩa rằngwxq không thành công thuộc tính "bơm âm" và chúng tôi kết luận rằng ngôn ngữ này không có ngữ cảnh. [Lưu ý: Tôi đã bỏ qua các trường hợp tầm thường trong đó việc bơm tạo ra các chuỗi không định hình.]w


Lưu ý: Trong tuyên bố của tôi rằng đối với số lượng biến số hữu hạn, ngôn ngữ là hữu hạn, tôi hoàn toàn không cho phép lặp lại một biến trong một mệnh đề hoặc một mệnh đề không giới hạn nhiều lần
Aryeh

... Nhưng tôi nghĩ rằng ngôn ngữ vẫn còn đều đặn, bởi vì người ta có bộ sưu tập hữu hạn các công thức "về cơ bản khác biệt" (nghĩa là không có sự lặp lại tầm thường) và sau đó cho phép lặp lại nhiều lần khác nhau.
Aryeh

Khiếu nại với tính thường xuyên chỉ hoạt động cho CNFSAT (Tôi đã thêm một giải thích cho câu hỏi của tôi).
mak

4
Ngay cả với các công thức không phải CNF tùy ý trong nhiều biến số, sự thỏa mãn (và bất kỳ ngôn ngữ nào không thể phân biệt hai công thức tương đương logic cho vấn đề đó) có thể dễ dàng được xem là không có ngữ cảnh. Tuy nhiên, tôi không thấy sự liên quan của điều này. Sự hài lòng của các công thức trong nhiều phương sai là một vấn đề nhỏ không liên quan gì đến sự phức tạp của SAT.
Emil Jeřábek hỗ trợ Monica

1
OK, tôi thấy vấn đề - tôi đã ngầm giả định rằng có thể được giới hạn về chiều dài (như trong bổ đề bơm cổ điển), đồng thời có thể chỉ định một cái gì đó về vị trí của nó trong chuỗi. Tôi nghĩ rằng tranh luận có thể được sửa chữa bằng cách thực hiện lại bổ đề bơm từ đầu. Chúng ta sẽ biến biến đầu tiên đó thành một chuỗi thực sự dài 1 giây - đủ dài để một số cây con tạo ra một chuỗi con liền kề của các chuỗi 1 đó phải đủ sâu để áp dụng nguyên tắc pidgeonhole. |xyz|
Aryeh
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.