Có thể mã hóa một CNF?


17

Có thể chuyển đổi một CNF thành một CNF sao choCΨ(C)

  1. Hàm có thể được tính trong thời gian đa thức từ một số tham số ngẫu nhiên bí mật .Ψr
  2. Ψ(C) có giải pháp khi và chỉ khi có giải pháp.C
  3. Mọi giải pháp của đều có thể được chuyển đổi một cách hiệu quả thành một giải pháp của bằng cách sử dụng .xΨ(C)Cr
  4. Không có , giải pháp (hoặc bất kỳ thuộc tính nào khác của ) sẽ không giúp được gì trong việc giải quyếtrxΨ(C)C .

Nếu có một ví dụ , sau đó nó có thể được sử dụng để làm cho người khác để giải quyết những thách thức tính toán cho chúng ta (với khả năng thay thế giải quyết một CNF với các vấn đề khác - tôi đã chọn CNF vì tôi muốn làm cụ thể vấn đề hơn), theo cách như vậy rằng họ không thể kiếm lợi từ một giải pháp khả thi ngay cả khi họ biết vấn đề nào chúng tôi đã sử dụng chúng để giải quyết. Ví dụ: chúng tôi có thể nhúng vấn đề nhân tố hóa vào trò chơi trên máy tính, cho phép người chơi chỉ chơi nếu họ làm việc với vấn đề của chúng tôi ở chế độ nền, thỉnh thoảng gửi lại bằng chứng tính toán. Có thể phần mềm thậm chí có thể được tạo ra "miễn phí" theo cách này, trong đó "miễn phí" ẩn chi phí (có thể cao hơn) trong hóa đơn tiền điện của bố mẹ bạn.Ψ


2
Typo "... không giúp được gì trong việc giải "?. Bằng cách này, nếu bạn không lo lắng về cấu trúc của Ψ tức là "người chơi" có không truy cập vào Ψ ( C ) nhưng chỉ là giải pháp x , sau đó một hoán vị ngẫu nhiên đơn giản của dấu hiệu của các biến ( pi ( i ) = ± i ) và một hoán vị ngẫu nhiên của các chỉ số của các biến nên thực hiện một giải pháp x của Ψ ( C ) hoàn toàn không sử dụng được để giải quyết C . CΨΨ(C)xπ(i)=±ixΨ(C)C
Marzio De Biasi

@Marzio Thx, lỗi đánh máy. Nhưng tôi không hiểu nhận xét của bạn - bạn có cho rằng "người chơi" không có quyền truy cập vào mà chỉ truy cập vào x ? Nó phải rõ ràng từ mô tả mà cô ấy có. Ψ(C)x
domotorp

vâng đơn giản "literals shuffle và chỉ số biến" chắc chắn hoạt động nếu người chơi không có quyền truy cập vào cấu trúc của (mỏ chỉ là một bình luận nhanh). Nhưng có lẽ "xáo trộn" Ý tưởng có thể được mở rộng theo cách này: nếu C là 3-CNF thì chỉ có ( 2 n ) 3 khoản riêng biệt có thể và biết Ψ ( C ) (một phiên bản xáo trộn của C ) có thể là hữu ích chỉ biết một cách hiệu quả để tìm một đẳng cấu giữa Ψ ( C )C . Ψ(C)C(2n)3Ψ(C)CΨ(C)C
Marzio De Biasi

@Marzio Vì mọi thứ đang hướng đến, có lẽ (hyper) graphisomorphism có thể giải quyết nhanh.
domotorp

1
Hãy nhìn vào phỏng đoán tập mã hóa hoàn chỉnh. Nó cho thấy đề xuất của bạn là hợp lý. Nó nói rằng có độ dài tiêm -có chức năng một chiều f để SAT và f ( S A T ) không phải là đẳng cấu. 2nϵff(SAT)
Mohammad Al-Turkistany

Câu trả lời:


5

Feigenbaum trong, Mã hóa các vấn đề vấn đề , đề xuất một định nghĩa (Def. 1) của chức năng mã hóa cho các vấn đề hoàn thành NP đáp ứng yêu cầu của bạn. Cô chứng minh rằng bài toán NP-So sánh bất đẳng thức hoàn toàn thừa nhận chức năng mã hóa như vậy. Cô kết luận với định lý chính rằng tất cả các bài toán hoàn thành NP có dạng đồng phân p với CNF-SAT đều có thể mã hóa được.


1
Và trong công việc tiếp theo, họ kết luận rằng các vấn đề hoàn thành NP khó có thể được mã hóa! doi.org/10.1016/0022-0000(89)90018-4 Những giấy tờ này chỉ là những gì tôi đang tìm kiếm. Tôi tự hỏi tại sao tôi có thể hiểu chúng tốt hơn nhiều so với kết quả gần đây về mật mã - có lẽ lĩnh vực này đã chuyển hướng quá nhiều so với lý thuyết phức tạp kể từ đó ...
domotorp

8

Ứng dụng bạn đề cập được gọi là "bằng chứng về công việc hữu ích" trong tài liệu, xem ví dụ bài viết này .

Bạn có thể sử dụng sơ đồ mã hóa đồng cấu hoàn toàn (trong đó bản rõ là đối tượng CNF) để ủy thác tính toán cho một bên không tin cậy mà không tiết lộ đầu vào.

Điều này không trả lời chính xác câu hỏi của bạn, vì sơ đồ như vậy không ánh xạ một CNF vào một CNF khác, nhưng nó hoạt động cho ứng dụng dự định.


Afaik, mã hóa đồng cấu là để thực hiện một số tính toán trên một số số. Làm thế nào chính xác bạn sẽ sử dụng nó cho vấn đề của tôi?
domotorp

FHE được định nghĩa cho các mạch boolean. Đối xử với thể hiện CNF như một vectơ bit. Với kích thước đầu vào, bạn có thể xây dựng một mạch boolean đưa ra một phép gán nếu có bất kỳ (xem cs.stackexchange.com/q/72289/627 ).
Diego de Estrada

Tôi nghĩ rằng sự khác biệt là trong giải pháp của bạn, trong khi quyền riêng tư được bảo tồn, việc mã hóa khá tốn kém so với nhiệm vụ chúng tôi muốn giải quyết. Tôi muốn mã hóa trong thời gian đa thức một lượng công việc theo cấp số nhân.
domotorp 30/12/17

@domotorp Tôi hiểu. Có một cách để sử dụng FHE mà không cần mạch, xem eprint.iacr.org/2013/229.pdf
Diego de Estrada

4
Khi ngày càng có nhiều người dùng nâng cao câu trả lời của bạn, có thể nó chứa thứ gì đó mà tôi đã bỏ lỡ. Bạn đang tuyên bố ngay bây giờ rằng nó hoạt động cho câu hỏi của tôi hoặc chỉ cho ứng dụng? Tôi cũng đã nhìn vào tờ giấy, nhưng nó không dễ nắm bắt. Bạn có thể cho tôi biết kết quả / định lý cụ thể nào sẽ được áp dụng trong trường hợp của tôi không?
domotorp
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.