Re: sat to horn sat
- From: apoph <xxxx@xxxxxxx>
- Date: Wed, 13 Sep 2006 14:38:43 GMT
Mitch wrote:
apoph wrote:As to your last question: I'd just like to see an example of reduction from sat to horn sat (no requirements on effiency). See for example http://en.wikipedia.org/wiki/Reduction_%28complexity%29.
Okay, is there an algorithm R that turns any sat instance X into a horn
sat instance R(X) so that:
1) X is satisfiable iff R(X) is satisfiable.
No, because there are some formulas that are not horn:
e.g. 'p or q'
(the only other one on two vars is 'p!=q' or equivalently '(p ^ -q) v
(-p ^ q)')
But maybe you want an algorithm that converts a sat instance you
-assume- to be horn-able. And since you don't care about complexity, of
course there's the naive algorithm of 'generate-and-test': try all horn
formulas (up to a sufficient size) and test equivalence with X.
But that's terribly inefficient. But maybe you want an efficient
algorithm?
Mitch
It is true that not all formulas are horn but that doesn't say that there couldn't be an algorithm R that outputs a horn formula (or set of horn formulas) when input is a set of formulas. For example the trivial one: R that produces some constant set of horn clauses for all X: R(X)=print("{'p or -p', '-y', 'u'}"). Tricky part is to define R so that it applies to all to sat instances (set of sat formulas) preserving satisfiability.
And surely there exists one that satisfies the requirement "X is satisfiable iff R(X) is satisfiable". For example R2: if(X is satisfiable){ print "{p}" } else { print "{p},{-p}" } but it is not interesting since it requires that X must be decided first (by trial and error for example). I'm not saying that finding an algorithm to solve sat is not interesting problem but it is a problem of its own.
If I understood correctly what you mean by equivalence of set of formulas (both either satisfiable or not satisfiable?) then 'generate-and-test' requires that one must first decide X and then try to find set of horn formulas that are either satisfiable or not. So pretty much algorithm R2.
Unless, of course, if there is a way to tell if two set of formulas (sat and horn sat) are equivalent without deciding sat first then that might just be what I'm looking for.
-a
.
- Follow-Ups:
- Re: sat to horn sat
- From: Mitch
- Re: sat to horn sat
- References:
- sat to horn sat
- From: apoph
- Re: sat to horn sat
- From: Proginoskes
- Re: sat to horn sat
- From: apoph
- Re: sat to horn sat
- From: James Dolan
- Re: sat to horn sat
- From: apoph
- Re: sat to horn sat
- From: Mitch
- sat to horn sat
- Prev by Date: Re: Closed formula for iterands?
- Next by Date: Re: easy triangle equation
- Previous by thread: Re: sat to horn sat
- Next by thread: Re: sat to horn sat
- Index(es):
Relevant Pages
|