Xác minh tính đúng đắn của việc loại bỏ định lượng, sử dụng SAT


8

Hãy để x=(x1,,xn) và được -vectors biến boolean. Tôi có một vị từ boolean trên . Tôi đưa cho bạn tôi Priscilla . Đáp lại, cô ấy đưa cho tôi , một vị từ boolean trên và cô ấy tuyên bố rằngn Q ( x , y ) x , y Q ( x , y ) P ( x ) xy=(y1,,yn)nQ(x,y)x,yQ(x,y)P(x)x

P(x)y.Q(x,y),

hay nói cách khác, đó

x.[P(x)y.Q(x,y)].

Tôi muốn xác minh yêu cầu của cô ấy bằng cách nào đó. Priscilla có thể giúp tôi xác minh khiếu nại này như thế nào?

Bạn có thể giả sử rằng cả và được biểu diễn dưới dạng công thức CNF và chúng không quá lớn (kích thước đa thức hoặc một cái gì đó).PQ

Trong một thế giới lý tưởng, thật tuyệt vời nếu tôi có thể giảm bớt vấn đề xác minh yêu cầu này đối với SAT: Tôi có người giải SAT và thật tuyệt nếu tôi có thể sử dụng trình giải SAT để xác minh khiếu nại này. Tuy nhiên, tôi khá chắc chắn rằng sẽ không thể hình thành vấn đề xác minh trực tiếp yêu cầu này như một ví dụ SAT; kiểm tra tính hợp lệ của công thức 2QBF gần như chắc chắn khó hơn SAT. (Hướng dễ dàng được định dạng như một trường hợp SAT, nhưng hướng rất khó vì nó vốn liên quan đến hai bộ lượng tử xen kẽ.)

Nhưng giả sử Priscilla có thể cho tôi một số bằng chứng bổ sung để hỗ trợ cho yêu sách của cô ấy. Có một số bằng chứng hoặc nhân chứng mà Priscilla có thể cung cấp cho tôi, điều này giúp tôi dễ dàng xác minh yêu cầu của cô ấy không? Cụ thể, có một số bằng chứng hoặc nhân chứng bổ sung nào mà cô ấy có thể đưa cho tôi, điều đó giúp tôi dễ dàng hình thành vấn đề xác minh yêu cầu của cô ấy như một ví dụ về SAT (mà sau đó tôi có thể áp dụng trình giải SAT của mình)?

Một khía cạnh khác thường trong thiết lập của tôi là tôi giả định (theo kinh nghiệm) rằng tôi có một lời tiên tri cho SAT. Nếu bạn thích lý thuyết phức tạp, bạn có thể nghĩ về nó theo cách này: Tôi đang đảm nhận vai trò của một cỗ máy có thể tính toán mọi thứ trong (nghĩa là trong ) và tôi đang tìm cách xác minh Priscilla yêu cầu sử dụng thuật toán trong . Tôi cảm ơn mdx vì cách nghĩ này về mọi thứ.PNPΔ2PPNP


Động lực / ứng dụng của tôi: Tôi đang tìm cách xác minh chính thức một hệ thống (ví dụ: kiểm tra mô hình tượng trưng) và một bước quan trọng trong lý luận liên quan đến việc loại bỏ định lượng (nghĩa là bắt đầu từ , lấy ). Tôi hy vọng một số cách rõ ràng để xác minh rằng việc loại bỏ định lượng đã được thực hiện chính xác.QP

Nếu không có giải pháp nào phù hợp với tất cả các có thể lòng đề xuất một giải pháp "âm thanh nhưng chưa hoàn chỉnh", nghĩa là một kỹ thuật dành cho nhiều cho phép tôi xác minh tính tương đương được yêu cầu. (Ngay cả khi không xác minh khiếu nại đối với một số thỏa mãn yêu cầu bồi thường, tôi vẫn có thể thử điều này với tư cách là heuristic, miễn là nó không bao giờ tuyên bố không chính xác để xác minh khiếu nại sai. Trên bất kỳ , nó có thể hoạt động hoặc có thể không, nếu nó không hoạt động, tôi không tệ hơn nơi tôi bắt đầu.)P,QP,QP,QP,Q


Nếu chúng ta cho Priscilla một trong đó y không liên quan, thì chúng ta không giải quyết hiệu quả TAUT coNP ? Nếu vậy, thì không có chứng nhận nào mà Priscilla có thể cung cấp cho bạn mà có thể giúp đỡ trừ khi NP = coNP . Q(x,y)TAUTcoNPNP=coNP
mdxn

@mdx, điều đặc biệt ở thiết lập này là tôi có một người giải SAT, mà (theo kinh nghiệm) dường như luôn luôn hoạt động trên các vị từ mà tôi gặp phải trong thực tế. Vì vậy, nếu tôi được cho và muốn xác minh x . P ( x ) Q ( x ) , tôi có thể ăn ( P ( x ) ¬ Q ( x ) ) ( ¬ P ( x ) Q (P(x),Q(x)x.P(x)Q(x) vào bộ giải SAT của tôi; nếu nhận thấy điều này không thỏa đáng, tôi đã xác minhx . P ( x ) Q ( x ) là đúng. Vì vậy, mặc dù điều đó giải quyết hiệu quả TAUT , nhưng thực tế vẫn ổn. Hoặc tôi đã hiểu nhầm ý chính của bình luận của bạn? (P(x)¬Q(x))(¬P(x)Q(x))x.P(x)Q(x)TAUT
DW

1
À, vậy tôi giả sử bạn đang đảm nhận vai trò của một cỗ máy quyết định các vấn đề trong (hoặc tương đương heuristic với)? PNP=Δ2P
mdxn

@mdx, yeah, bây giờ bạn đề cập đến nó, đó là một cách hay để nghĩ về nó. Cảm ơn bạn đã gợi ý quan điểm đó!
DW

Tôi không nghĩ rằng first-order-logicthẻ là hợp lý. Câu hỏi là tất cả về công thức boolean định lượng.
kne

Câu trả lời:


2

Đây là hai kỹ thuật tôi có thể xác định:

  • Xác định một chức năng Skolem rõ ràng. Giả sử Priscilla có thể xác định một hàm rõ ràng sao chof

    x.P(x)Q(x,f(x))

    giữ Sau đó, tuyên bố của Priscilla là chính xác.

    Điều này có nghĩa là Priscilla có thể giúp chúng tôi xác minh yêu cầu của mình bằng cách cung cấp hàm để mệnh đề trên được giữ. Chúng tôi có thể xác nhận rằng các đề xuất trên giữ bằng cách kiểm tra công thức sau đây cho thỏa đáng:f

    ¬(P(x)Q(x,f(x))).

    Nếu công thức này không thỏa đáng, thì yêu cầu của Priscilla đã được xác minh.

    Một cảnh báo là Priscilla cần có khả năng xác định một chức năng phù hợp . Một cảnh báo nữa là chúng ta cần f để được biểu diễn cụ thể dưới một hình thức ngắn gọn nào đó, như một mạch boolean có kích thước đa thức. Tuy nhiên, nếu những điều kiện đó được đáp ứng, thì kỹ thuật này sẽ hoạt động.ff

  • Một lập luận lai. Hãy xem xét trường hợp đặc biệt của vấn đề này, trong đó chúng ta đang định lượng qua biến một bit (chứ không phải là biến -bit); Hóa ra vấn đề rất dễ giải quyết trong trường hợp này. Điều này cho thấy rằng chúng tôi cố gắng xâu chuỗi kỹ thuật đó n lần, mỗi lần loại bỏ thêm một chút y . Nó chỉ ra rằng ý tưởng này đôi khi sẽ làm việc, nhưng không phải lúc nào cũng vậy.nny

    Hãy để tôi giải thích cách xác minh khiếu nại của Priscilla trong trường hợp là biến một bit. Sau đó, y . Q ( x , y ) tương đương với Q ( x , Sai ) Q ( x , Đúng ) . Công thức sau lớn nhất gấp đôi Q , nên vẫn có kích thước đa thức. Bây giờ chúng ta có thể sử dụng giải SAT của chúng tôi để kiểm tra xem Q ( x , False ) Q (y=(y1)y.Q(x,y)Q(x,False)Q(x,True)Q tương đương với P ( x ) ; sự tương đương giữ chính xác nếu công thức sau không thỏa đáng:Q(x,False)Q(x,True)P(x)

    ¬(P(x)(Q(x,False)Q(x,True))).

    Vì vậy, nếu chúng ta định lượng qua một bit, điều này đưa ra một cách để xác minh rằng việc loại bỏ định lượng đã được thực hiện chính xác.

    Để giải quyết vấn đề ban đầu, áp dụng điều này nhiều lần. Công việc của Priscilla sẽ là cung cấp cho chúng ta các vị từ boolean R 0 , R 1 , R 2 , Vượt , R n sao chon+1R0,R1,R2,,Rn

    Ri(x,(yi+1,,yn))y1,y2,,yi.Q(x,y).

    Nhiệm vụ của chúng tôi sẽ là xác minh xem tất cả các vị từ boolean này có được tạo chính xác hay không. Chúng ta có thể làm điều này bằng cách kiểm tra xem liệu , P ( x ) R n ( x ) ,Q(x,y)R0(x,y)P(x)Rn(x)

    Ri+1(x,(yi+2,,yn))yi+1.Ri(x,(yi+1,,yn))for i=1,2,,n1.

    Lưu ý rằng cái sau là một trường hợp loại bỏ lượng tử hóa với một bit duy nhất, vì vậy chúng tôi đã mô tả cách kiểm tra nó được thực hiện chính xác bằng cách sử dụng bộ giải SAT. Chúng tôi cũng có thể kiểm tra xem P R sử dụng SAT giải thẳng thắn. Vì vậy, chúng ta có thể kiểm tra xem Priscilla tạo R 0 , ... , R n một cách chính xác. Nếu cô ấy đã làm, thì chúng tôi đã xác minh rằng P được tạo ra phù hợp.QR0PRR0,,RnP

    Một cảnh báo là Priscilla cần có khả năng tạo ra . Một cảnh báo lớn hơn là kích thước của tất cả các R tôi cần phải hợp lý (giả sử, có kích thước đa thức). Nếu Priscilla tạo ra R i một cách ngây thơ, kích thước của chúng có thể tăng theo cấp số nhân với i , điều này là không tốt. Vì vậy, Priscilla sẽ cần một cách để đơn giản hóa ở từng giai đoạn; có cần phải tồn tại một số chuỗi R 0 , ... , R n mà là tất cả các đa thức có kích thước, và Priscilla cần để có thể tìm thấy một chuỗi như vậy. Đó không phải là đảm bảo. Điều đó nói rằng, nếu Priscilla có thể làm điều này, thì kỹ thuật này sẽ hoạt động.RiRiRiiR0,Giáo dục,Rn

Tôi không hoàn toàn hài lòng với các kỹ thuật này - chúng là các heuristic chưa hoàn chỉnh và chúng có thể thất bại trong một số / nhiều trường hợp vấn đề - vì vậy tôi vẫn sẽ quan tâm để xem các cách khác để tiếp cận vấn đề này.

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.