[comp.theory] SAT in _Computers & Intractability_

ld231782@longs.LANCE.ColoState.EDU (Lawrence Detweiler) (06/01/90)

-----
a Guide to the Theory of NP Completeness_ contains a version of Cook's
satisfiability theorem for their "slightly nonstandard" NDTM model.  For
this construction they show that (paraphrased)


1. There is a polynomial time algorithm that computes F(X), the function that
converts any particular NDTM problem to to an instance of SAT, and

2. That instance of SAT is satisfiable in all and only those cases of "input"
X for which the particular NDTM is accepting,


thus fulfilling the requirements of polynomial transformation (p. 34).

I respectfully submit that while their elaborate and "complicated" (but
necessarily so) demonstration of the second demand above leaves nothing
to be desired, their treatment of the first point is less rigorous,
perhaps even to the point of unacceptability and error.

Their attention to the polynomial time requirement is confined to a paragraph
on p. 44, where they claim that

  The polynomial boundedness of this computation will follow immediately
  once we show that Length(F(X)) is bounded above by a polynomial function
  of N...

where N = Length(X).  Quite to the contrary, this result does not follow
"immediately".  For example, the solution to the _optimized_
Travelling Salesman problem is always bounded in size by a polynomial
function of the length of the input, but in no way can this be construed
to imply therefore the computation occurs in polynomial time!  To the
author's credit, they note that construction of the transformation
"amounts to little more than filling in the blanks" in a formula, but it
seems some further words are in order to adequately convince the reader to
share their own confidence.

However, it is the close of this paragraph that supplies the most material
for confusion and perhaps even disbelief, where they state that

|U| = O(P(N)^2)

and likewise for C.  Or, to paraphrase, the cardinality (size) of the set of
all boolean variables in the SAT construction equals an order of growth of
P(N)^2, where P(N) is the time bound on the algorithm (more specifically the
NDTM) being transformed.

From whence came this?  The application of the syntax appears to be as
nonsensical as the cliche of comparison of apples and oranges: they are
relating a measure of the size of "input", in units of data, to the time
complexity of an algorithm, in units of time.  That this is incongruous
is evident from an examination of other parts of the chapter, where they
carefully avoid this obscure comparison with rigorous separation of
description of the properties of complexity of data vs. of time, such as
at the close of the proof of Lemma 2.1 (p. 35).

Moreover, even if the literal interpretation of the statement is relaxed,
its vague meaning that the size of these SAT sets is somehow equivalent to
the square of the time bound on the algorithm under conversion is wholly
false.

Take |U|, the boolean variables in the SAT construction, enumerated in
Fig. 2.7 (p. 40).  Since only the polynomial nature is at stake, only the
leading power of the range of all the variables Q (state), H (head), and S
(symbol) need be considered.  Using the fundamental theorem of counting,
and observing that the Q index ranges through P(N) (the variables R and V
are constants, as noted in the text), H through P(N)^2, and S the same,
it can be stated instead that

|U| < K1*P(N)^5

where K1 is some constant.

|C|, the clauses in the final expression, is more complicated.  Derived
mostly from Fig. 2.9 (p. 43), following is a list of the degree that each
clause group contributes:

G1: 1
G2: 2
G3: 2
G4: 1
G5: 0
G6: 2
   ---
    8

so

|C| < K2*P(N)^8

where K2 is some constant.  Hence, using their function

Length[F(X)] = |U|*|C|

as a "reasonable" length of the conversion to the SAT problem, then

Length[F(X)] < K3*P(N)^13

where K3 is some constant.  If their argument about the relationship of
length and complexity holds here, this shows the conversion of the problem
to SAT can take place in polynomial time, satisfying the time requirement
for polynomial transformation.

Strangely, the authors give the exact number of clauses for many of the
groups in the text, possibly with the intention of using them later in
a similar manner as above, but no such reference can be found.



I was most impressed with Garey and Johnson's development of SAT up to p. 44
and am most chagrined with it afterwards.  I look forward to learning of
other's opinion on the matter in general and how appropriate my comments are
in particular.


P.S.

- I would be interested in the correlation of any of this to Cook's original
  version of the theorem.  I assume he used a different model of NDTM and,
  if so, time constraints would probably vary significantly (although still
  polynomially).

- On p. 30, the authors write, "The reader may find it an interesting
  exercise to verify the equivalence of our model to these ["more standard"
  NDTM versions] with respect to polynomial time."  To do so would require
  showing that their NDTM version can "recognize a language" in polynomial
  time IFF the other can.  How close is this to being intuitively obvious?
  This seems like too significant a point to relegate to a parenthetical
  remark and delegation of derivation to the reader.

- Also, an NDTM is variously described as having a "splitting" property
  wherein it can duplicate and fork into children, so to speak, whereas on
  the other hand, it can "guess" the right answer.  Are Garey and Johnson
  responsible for this split in characterization, so that the latter arose
  as a branch of the former from their nonstandard creation?



ld231782@longs.LANCE.ColoState.EDU

srt@grad19.cs.duke.edu (Stephen R. Tate) (06/01/90)

Before I say (type) anything, let me say that it has been a while since
I read Garey and Johnson, so this is all by memory (and I don't have a copy
so I can't check easily).

In article <7341@ccncsu.ColoState.EDU>, ld231782@longs.LANCE.ColoState.EDU (Lawrence Detweiler) writes:
> Their attention to the polynomial time requirement is confined to a paragraph
> on p. 44, where they claim that
> 
>   The polynomial boundedness of this computation will follow immediately
>   once we show that Length(F(X)) is bounded above by a polynomial function
>   of N...
> 
> where N = Length(X).  Quite to the contrary, this result does not follow
> "immediately".  ....                                         To the
> author's credit, they note that construction of the transformation
> "amounts to little more than filling in the blanks" in a formula... 

This last part you mention is clearly the important statement.  I think
it is a fair to make the assumption that the reader will think for him/herself.
Clearly, the problem of writing down the boolean formula is a simple
"fill in the blanks" problem, and as long as the output is not too large,
then it can be computed quickly (I'd even venture to guess that the time
is linear in the output size....).  In fact, the conversion to the formula
is so simple it is even in logspace, not just polynomial time.

>                               Using the fundamental theorem of counting,
> and observing that the Q index ranges through P(N) (the variables R and V
> are constants, as noted in the text), H through P(N)^2, and S the same,
> it can be stated instead that
> 
> |U| < K1*P(N)^5
> 
> where K1 is some constant.

Now this is the real reason I posted... I can't believe you really said
this!  Taking what you said above, the number of states is P(N)+P(N)^2+P(N)^2,
plus some constant stuff thrown in.  Now why do you start adding exponents?
Clearly this sum is less than 3P(N)^2 for even small values of N.  In
other words,  |U| < c*P(N)^2 for some constant c.  You go on to add
exponents again in your posting....  the basic rule is as follows,
if you are adding polynomials, the degree of the sum is the MAXIMUM of
the degrees of polynomials you are adding, NOT the sum of the degrees.

> I was most impressed with Garey and Johnson's development of SAT up to p. 44
> and am most chagrined with it afterwards.  I look forward to learning of
> other's opinion on the matter in general and how appropriate my comments are
> in particular.

I don't remember thinking anything about it really.... of course I had
seen the same proof in about 3 other places and in about 4 classes before
I read it in Garey and Johnson....

Steve Tate			ARPA:  srt@duke.cs.duke.edu
				UUCP: ..!decvax!duke!srt

ld231782@LONGS.LANCE.COLOSTATE.EDU (Lawrence Detweiler) (06/01/90)

a Guide to the Theory of NP Completeness_ contains a version of Cook's
satisfiability theorem for their "slightly nonstandard" NDTM model.  For
this construction they show that (paraphrased)


1. There is a polynomial time algorithm that computes F(X), the function that
converts any particular NDTM problem to to an instance of SAT, and

2. That instance of SAT is satisfiable in all and only those cases of "input"
X for which the particular NDTM is accepting,


thus fulfilling the requirements of polynomial transformation (p. 34).

I respectfully submit that while their elaborate and "complicated" (but
necessarily so) demonstration of the second demand above leaves nothing
to be desired, their treatment of the first point is less rigorous,
perhaps even to the point of unacceptability and error.

Their attention to the polynomial time requirement is confined to a paragraph
on p. 44, where they claim that

  The polynomial boundedness of this computation will follow immediately
  once we show that Length(F(X)) is bounded above by a polynomial function
  of N...

where N = Length(X).  Quite to the contrary, this result does not follow
"immediately".  For example, the solution to the _optimized_
Travelling Salesman problem is always bounded in size by a polynomial
function of the length of the input, but in no way can this be construed
to imply therefore the computation occurs in polynomial time!  To the
author's credit, they note that construction of the transformation
"amounts to little more than filling in the blanks" in a formula, but it
seems some further words are in order to adequately convince the reader to
share their own confidence.

However, it is the close of this paragraph that supplies the most material
for confusion and perhaps even disbelief, where they state that

|U| = O(P(N)^2)

and likewise for C.  Or, to paraphrase, the cardinality (size) of the set of
all boolean variables in the SAT construction equals an order of growth of
P(N)^2, where P(N) is the time bound on the algorithm (more specifically the
NDTM) being transformed.

From whence came this?  The application of the syntax appears to be as
nonsensical as the cliche of comparison of apples and oranges: they are
relating a measure of the size of "input", in units of data, to the time
complexity of an algorithm, in units of time.  That this is incongruous
is evident from an examination of other parts of the chapter, where they
carefully avoid this obscure comparison with rigorous separation of
description of the properties of complexity of data vs. of time, such as
at the close of the proof of Lemma 2.1 (p. 35).

Moreover, even if the literal interpretation of the statement is relaxed,
its vague meaning that the size of these SAT sets is somehow equivalent to
the square of the time bound on the algorithm under conversion is wholly
false.

Take |U|, the boolean variables in the SAT construction, enumerated in
Fig. 2.7 (p. 40).  Since only the polynomial nature is at stake, only the
leading power of the range of all the variables Q (state), H (head), and S
(symbol) need be considered.  Using the fundamental theorem of counting,
and observing that the Q index ranges through P(N) (the variables R and V
are constants, as noted in the text), H through P(N)^2, and S the same,
it can be stated instead that

|U| < K1*P(N)^5

where K1 is some constant.

|C|, the clauses in the final expression, is more complicated.  Derived
mostly from Fig. 2.9 (p. 43), following is a list of the degree that each
clause group contributes:

G1: 1
G2: 2
G3: 2
G4: 1
G5: 0
G6: 2
   ---
    8

so

|C| < K2*P(N)^8

where K2 is some constant.  Hence, using their function

Length[F(X)] = |U|*|C|

as a "reasonable" length of the conversion to the SAT problem, then

Length[F(X)] < K3*P(N)^13

where K3 is some constant.  If their argument about the relationship of
length and complexity holds here, this shows the conversion of the problem
to SAT can take place in polynomial time, satisfying the time requirement
for polynomial transformation.

Strangely, the authors give the exact number of clauses for many of the
groups in the text, possibly with the intention of using them later in
a similar manner as above, but no such reference can be found.



I was most impressed with Garey and Johnson's development of SAT up to p. 44
and am most chagrined with it afterwards.  I look forward to learning of
other's opinion on the matter in general and how appropriate my comments are
in particular.


P.S.

- I would be interested in the correlation of any of this to Cook's original
  version of the theorem.  I assume he used a different model of NDTM and,
  if so, time constraints would probably vary significantly (although still
  polynomially).

- On p. 30, the authors write, "The reader may find it an interesting
  exercise to verify the equivalence of our model to these ["more standard"
  NDTM versions] with respect to polynomial time."  To do so would require
  showing that their NDTM version can "recognize a language" in polynomial
  time IFF the other can.  How close is this to being intuitively obvious?
  This seems like too significant a point to relegate to a parenthetical
  remark and delegation of derivation to the reader.

- Also, an NDTM is variously described as having a "splitting" property
  wherein it can duplicate and fork into children, so to speak, whereas on
  the other hand, it can "guess" the right answer.  Are Garey and Johnson
  responsible for this split in characterization, so that the latter arose
  as a branch of the former from their nonstandard creation?



ld231782@longs.LANCE.ColoState.EDU

srt@CS.DUKE.EDU ("Stephen R. Tate") (06/01/90)

Before I say (type) anything, let me say that it has been a while since
I read Garey and Johnson, so this is all by memory (and I don't have a copy
so I can't check easily).

In article <7341@ccncsu.ColoState.EDU>, ld231782@longs.LANCE.ColoState.EDU
 (Lawrence Detweiler) writes:
> Their attention to the polynomial time requirement is confined to a paragraph
> on p. 44, where they claim that
>
>   The polynomial boundedness of this computation will follow immediately
>   once we show that Length(F(X)) is bounded above by a polynomial function
>   of N...
>
> where N = Length(X).  Quite to the contrary, this result does not follow
> "immediately".  ....                                         To the
> author's credit, they note that construction of the transformation
> "amounts to little more than filling in the blanks" in a formula...

This last part you mention is clearly the important statement.  I think
it is a fair to make the assumption that the reader will think for him/herself.
Clearly, the problem of writing down the boolean formula is a simple
"fill in the blanks" problem, and as long as the output is not too large,
then it can be computed quickly (I'd even venture to guess that the time
is linear in the output size....).  In fact, the conversion to the formula
is so simple it is even in logspace, not just polynomial time.

>                               Using the fundamental theorem of counting,
> and observing that the Q index ranges through P(N) (the variables R and V
> are constants, as noted in the text), H through P(N)^2, and S the same,
> it can be stated instead that
>
> |U| < K1*P(N)^5
>
> where K1 is some constant.

Now this is the real reason I posted... I can't believe you really said
this!  Taking what you said above, the number of states is P(N)+P(N)^2+P(N)^2,
plus some constant stuff thrown in.  Now why do you start adding exponents?
Clearly this sum is less than 3P(N)^2 for even small values of N.  In
other words,  |U| < c*P(N)^2 for some constant c.  You go on to add
exponents again in your posting....  the basic rule is as follows,
if you are adding polynomials, the degree of the sum is the MAXIMUM of
the degrees of polynomials you are adding, NOT the sum of the degrees.

> I was most impressed with Garey and Johnson's development of SAT up to p. 44
> and am most chagrined with it afterwards.  I look forward to learning of
> other's opinion on the matter in general and how appropriate my comments are
> in particular.

I don't remember thinking anything about it really.... of course I had
seen the same proof in about 3 other places and in about 4 classes before
I read it in Garey and Johnson....

Steve Tate			ARPA:  srt@duke.cs.duke.edu
				UUCP: ..!decvax!duke!srt