{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

# Lec21SAT - Prove SAT is NP-complete To prove SAT is...

This preview shows pages 1–3. Sign up to view the full content.

Prove: SAT is NP-complete. To prove SAT is NP-complete, we must show that every NP problem instance can be polynomially transformed into a SAT instance. So, suppose we have a NP problem P, and its instance w = w 1 ...w n. Since P is NP, there exist a Non-Deterministic Turing Machine PTM, that will take in w and produce correctly accept or reject in polynomial time. Since PTM exist, we will use PTM in addition to w to construct our SAT instance. Our SAT instance is defined as follows: phi = phi cell AND phi start AND phi move AND phi accept where each of the phi has a function: phi cell : guarantee that each cell is valid. (see below for what “cells” are) phi start : guarantee start configuration is accurate. phi move : guarantee each transition is valid. phi accept : guarantee there is an accepting configuration. In essence, since PTM exist, we can run w on PTM, and it will consist of a set of TM configurations, starts from #q 0 w 1 w 2 …w n B…B#, and if PTM(w) is accept, than one of the configuration will contain a q accept . We put all configurations in a table L, where each row is a configuration: Start configuration 1 of the possible 2 nd configuration 1 of the possible 3 rd configuration, derived from the 2 nd configuration on the previous row. . . . Since P runs in NP time, there is at max O(n k ) rows, where n is the length of input to P, or n = |w|. As a result, there can be at max O(n k ) columns, because you can only add 1 symbol to the tape at each step (or each row). For simplicity, we will address the number of rows and columns as n k in the subsequence of the prove. A cell is simply 1 cell of the above table. In each cell, there is a limited amount of character that can present. The set of cell alphabets C is the following: C = Q U T U {#}, where Q is the set of states, T is the tape alphabet of PTM (which includes input alphabet), and {#} is the front and end mark of each string configuration.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Each variable in our SAT instance will correspond to a particular character in the table L.
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}