Giảm nhiều thời gian từ ILP xuống SAT?


14

Vì vậy, như đã biết, vấn đề quyết định 0-1 của ILP là hoàn thành NP. Hiển thị nó trong NP rất dễ dàng và mức giảm ban đầu là từ SAT; kể từ đó, nhiều vấn đề NP-Complete khác đã được chứng minh là có các công thức ILP (có chức năng giảm thiểu các vấn đề đó đối với ILP), bởi vì ILP rất chung chung hữu ích.

Việc giảm giá từ ILP có vẻ khó hơn nhiều đối với bản thân tôi hoặc theo dõi.

Vì vậy, câu hỏi của tôi là, có ai biết giảm đa thời gian từ ILP sang SAT không, nghĩa là, giải thích cách giải quyết bất kỳ vấn đề quyết định 0-1 ILP nào khi sử dụng SAT?

Câu trả lời:


12

0-1 ILP có công thức là:

Có tồn tại một vectơ , chịu các ràng buộc:x

một11x1+một12x2...+một1nxnb1một21x1+một22x2...+một2nxnb2...mộtm1x1+mộtm2x2...+mộtmnxnbm

Miền của x: xjxxj{0,1}

Giảm xuống k-sat:

Đầu tiên giảm xuống mạch sat:

Bắt đầu với những dòng đầu tiên, tạo một biến boolean để đại diện cho mỗi bit trong và một biến boolean cho x j . Sau đó thực hiện biến cho b 1 . Tạo một mạch bổ sung (chọn yêu thích của bạn) thêm hàng lên.một1jxjb1

Sau đó thực hiện một mạch so sánh, khai báo tổng nhỏ hơn .b1

một1jb1

xj

CNF cuối cùng sẽ chứa tất cả các ràng buộc.


À, tôi hiểu rồi ... Tôi bằng cách nào đó đã quên mất tùy chọn đi qua mạch sat .... Cảm ơn rất nhiều vì sự giúp đỡ của bạn.
codetaku

0

Đó là một số loại câu trả lời cần thiết cho câu hỏi đã được trả lời và được chấp nhận, nhưng tôi muốn lưu ý rằng có một cách thực sự dễ dàng hơn.

Hãy xem xét bạn có một trong những bất đẳng thức như thế này:

5*x1+2*x2+3*x36

(1,1,1)(1,1,0)(1,0,1)

(1,1,1)¬(x1x2x3)(¬x1¬x2¬x3)

(¬x1¬x2¬x3)(¬x1¬x2x3)(¬x1x2¬x3)

Đi qua tất cả các bất đẳng thức và thu thập các mệnh đề bạn sẽ nhận được cnf cuối cùng. Thường thì cnf này sẽ là CÁCH SIMPLER, sau đó là một, kết quả từ câu trả lời được chấp nhận. Chi phí là khó xử lý trước, mặc dù.

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.