Thỏa được 3-CNF :

Một phần của tài liệu Tiểu luận môn học THIẾT KẾ VÀ PHÂN TÍCH THUẬT TOÁN NP-Completeness (Trang 29)

4. CÁC CHỨNG MINH NP-ĐẦY ĐỦ (NP-COMPLETENESS PROOFS ):

4.2.Thỏa được 3-CNF :

Nhiều bài toán có thể đã chứng tỏ NP-đầy đủ bởi sự rút gọn từ công thức thỏa được. Thuật toán rút gọn phải nắm bất kỳ công thức dữ liệu vào và nhu cầu này có thể dẫn đến một số lớn các trường hợp mà phải được xem xét. Bởi vậy, để rút gọn từ một ngôn ngữ bị hạn chế của các công thức boolean, vì thế một vài trường hợp cần xem xét. Dĩ nhiên, chúng ta không phải hạn chế ngôn ngữ quá nhiều đến nỗi nó trở thành thời gian đa thức có thể giải quyết được. Một ngôn ngữ thuận tiện là 3-CNF satisfiability hoặc 3-CNF-SAT.

Chúng ta định nghĩa 3-CNF satisfiability dùng theo các thuật ngữ. Một

literal trong một công thức boolean là một sự kiện của một biến hoặc sự phủ định của nó. Một công thức boolean là trong biểu mẫu thông thường để liên kết (conjunctive normal form), hoặc CNF, nếu nó được diễn đạt như một AND của các mệnh đề, mỗi một mệnh đề là OR của một hoặc nhiều literal. Một công thức boolean là trong 3-conjunctive normal form, hoặc 3-CNF, nếu mỗi mệnh đề có 3 literal phân biệt chính xác hoàn toàn.

Ví dụ, công thức boolean :

(x1∨ ¬ x1∨ ¬ x2) ∧ (x3x2x4) ∧ (¬ x1∨ ¬ x3∨ ¬ x4) là trong 3-CNF. Đầu tiên của ba mệnh đề của nó là : (x1∨ ¬ x1∨ ¬ x2), mà chứa 3 literal x1, ¬ x1 và ¬

x2.

Trong 3-CNF-SAT, chúng ta đã yêu cầu khi một công thức boolean ∅ trong

3-CNF là có thể thỏa được. Theo định lý chỉ ra rằng một thuật toán thời gian đa thức có thể xác định thỏa được của các công thức boolean là không giống nhau để tồn tại, ngay cả khi chúng dễ diễn đạt bằng hình thức đơn giản thông thường.

Định lý 10 : Thỏa được các công thức boolean trong 3-conjunctive normal form

là NP-đầy đủ.

Chứng minh :

Luận cứ chúng ta đã sử dụng trong chứng minh của định lý 9., để chỉ rằng

SAT∈ NP ứng dụng tốt như nhau để chỉ rằng 3-CNF-SAT ∈ NP. Vì thế, bằng

Bổ đề 8., chúng ta chỉ cần chứng minh rằng SAT ≤ p 3-CNF-SAT. Thuật toán rút

gọn có thể phá vỡ thành 3 bước cơ bản. Mỗi bước tăng lên biến đổi dữ liệu vào

công thức ∅ mức độ cao đến 3-conjunctive normal form.

Bước đầu tiên tương tự một sử dụng để chứng tỏ CIRCUIT-SAT ≤ p SAT

trong định lý 9. Đầu tiên, chúng ta xây dựng một “phân tách” nhị phân cho dữ liệu vào công thức ∅, với các literal như rời nhau và các liên kết như các nút bên trong.

Hình 11. Cây tương ứng với công thức ∅ = ((x1→x2) ∨¬ (( ¬x1→x3) ∨x4)) ∧¬x2.

Hình 11., chỉ ra như một cây phân tách cho công thức :

∅ = ((x1x2) ∨¬ (( ¬x1x3) ∨x4)) ∧¬x2 (4.1) Nên đặt và công thức chứa một mệnh đề như OR của nhiều literal, sự liên kết có thể sử dụng để đặt trong dấu ngoặc đơn sự diễn đạt hoàn toàn vì thế mỗi literal nút trong cây kết quả có một hoặc hai con. Cây phân tách nhị phân có thể được xem như một mạch cho việc tính hàm.

Bắt chước sự rút gọn trong chứng minh của định lý 9., chúng ta chỉ dẫn một biến yi cho dữ liệu ra của mỗi nút bên trong. Sau đó, chúng ta viết lại công thức

nguồn ∅ như AND của biến gốc và một liên kết của các mệnh đề mô tả phép

tính cho mỗi nút. Công thức (4.1) biểu diễn kết quả là :

∅’ = y1 ∧ (y1 ↔ (y2 ∧¬x2)) ∧ (y2 ↔ (y3 ∨x4)) ∧ (y3 ↔ (x1 ↔x2)) ∧ (y4 ↔¬y5) ∧ (y5 ↔ (y6 x4)) ∧ (y6 ↔ (¬x1 x3))

Quan sát công thức ∅’ vì đã chứa một liên kết của các mệnh đề ∅i’, mỗi mệûnh đề có ít nhất 3 literal. Chỉ cầu cầu bổ sung mỗi mệnh đề một OR của các literal.

Bước thứ hai của các chuyển đổi rút gọn mỗi mệnh đề ∅i’ thành hình thức liên kết thông thường Chúng ta xây dựng một bảng chân trị cho ∅i’ bởi sự định giá tất cả các chỉ định có thể đến các biến của nó. Mỗi hàng của bảng chân trị chứa một chỉ định có thể của các biến của mệnh đề, cùng với giá trị của mệnh đề dưới sự chỉ định đó. Sử dụng bảng chân trị vào mà định giá đến 0, chúng ta xây dựng một công thức trong hình thức không kết nối thông thường (disjunctive

normal form) (DNF)- một OR của AND- đó là tương đương đến ¬ ∅i’. Sau đó

chúng ta chuyển đổi công thức này thành một công thức CNF ∅i” bằng cách sử

dụng các qui luật của DeMorgan để bỏ sung tất cả các literal và đổi OR thành AND và AND thành OR.

Ví dụ, chúng ta chuyển mệnh đề : ∅i’ = (y1 ↔ (y2 ∧¬x2)) thành CNF y1 y2 x2 (y1 ↔ (y2 ∧¬x2)) 1 1 1 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 Hình 12. Bảng chân trị cho mệnh đề (y1 ↔ (y2 ∧¬x2)) . (adsbygoogle = window.adsbygoogle || []).push({});

Bảng chân trị đối với ∅i’ cho ở hình 12., công thức DNF tương đương đến

¬∅i’ là :

(y1 y2 x2) ∨ (y1 ∧¬ y2 x2) ∨ (y1 ∧¬y2 ∧¬x2) ∨ (¬ y1 y2 ∧¬ x2). Aïp dụng các qui luật của DeMorgan, chúng ta có công thức CNF :

∅i” = (¬ y1 ∨ ¬ y2 ∨ ¬ x2) ∧ (¬ y1 y2 ∨ ¬ x2) ∧ (¬ y1 y2 x2) ∧ (y1 ∨ ¬ y2

x2),

mà tương đương đến mệnh đề nguồn ∅i’ .

Mỗi mệnh đề ∅i’ của công thức ∅’ chuyển thành một công thức CNF ∅i” và vì thế ∅’ là tương đương đến công thức CNF ∅” chứa liên kết của ∅i”. Hơn nữa, mỗi mệnh đề của ∅” có ít nhất 3 literal.

Bước 3 và bước cuối cùng của sự rút gọn biến đổi hơn nữa công thức vì thế

mỗi mệnh đề có chính xác 3 literal phân biệt. Công thức 3-CNF ∅ cuối cùng đã

được xây dựng từ các mệnh đề của công thức CNF ∅”. Nó cũng sử dụng hai

biến phụ mà chúng ta sẽ gọi là pq. Đối với mỗi mệnh đề Ci của ∅”, chúng ta kết luận theo các mệnh đề trong ∅”’ :

* Nếu Ci có 3 literal phân biệt thì đơn giản gồm Ci như một mệnh đề trong

∅”’

* Nếu Ci có 2 literal phân biệt, đó là, nếu Ci = (l1 l2) mà l1 l2 là các literal thì bao gồm (l1 l2 p) ∧ (l1 l2 ∨ ¬ p) như các mệnh đề của ∅”’ . Các literal p và ¬ p chỉ thực hiện nhu cầu cú pháp mà ở đó hoàn toàn chính xác 3 literal phân biệt cho mỗi mệnh đề :

(l1 l2 p) ∧ (l1 l2 ∨¬p) là tương đương đến (l1 l2) khi p=0 hoặc p=1. *Nếu Ci chỉ có 1 literal phân biệt l, gồm (l pq) ∧ (l p∨¬ q)∧ (l ∨ ¬

pq) ∧ (l ∨¬ p∨ ¬q) như các mệnh đề của ∅”’. Chú ý rằng mỗi tập của p

q do liên kết của 4 mệnh đề đó đến định giá đến l. Chúng ta thấy rằng công thức 3-CNF ∅”’ là thỏa được khi và chỉ khi ∅ là có thể thỏa được được bằng cách xem xét kỹ mỗi bước của ba bước. Như sự rút gọn từ CIRCUIT-SATđến SAT,

liên kết của ∅’ từ ∅ trong bước đầu tiên lưu giữ thỏa được. Bước thứ hai đưa

ra một công thức CNF ∅” đó là tương đương đến ∅’ theo phương pháp đại số.

Bước thứ ba đưa ra một công thức ∅”’ đó là tương đương đến ∅” có hiệu quả, khi bầt kỳ định giá đến các biến pq đưa ra một công thức đó là tương đương đến ∅ theo phương pháp đại số”.

Chúng ta cũng phải chỉ ra rằng sự rút gọn có thể đã tính với thời gian đa thức. Việc xây dựng ∅’ từ ∅ đưa vào tại hầu hết một biến và một mệnh đề cho mỗi connective trong ∅. Việc xây dựng ∅” từ ∅’ có thể đưa vào tại hầu hết 8 mệnh đề của ∅’ có tại hầu hết 3 biến và bảng chân trị cho mỗi mệnh đề có hầu hết 23 = 8 hàng. Xây dựng của ∅”’ từ ∅” đưa vào tại hầu hết 4 mệnh đề thành

∅”’ cho mỗi mệnh đề của ∅”. Vì thế, kích cỡ của công thức kết quả ∅”’ là đa thức với độ dài của công thức nguồn. Mỗi một các cấu trúc có thể dễ dàng đã được hoàn thành với thời gian đa thức.

Bài tập :

Một phần của tài liệu Tiểu luận môn học THIẾT KẾ VÀ PHÂN TÍCH THUẬT TOÁN NP-Completeness (Trang 29)