Newsgroups: comp.ai.philosophy
From: ohgs@chatham.demon.co.uk (Oliver Sparrow)
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!uhog.mit.edu!news.kei.com!sol.ctr.columbia.edu!howland.reston.ans.net!pipex!demon!chatham.demon.co.uk!ohgs
Subject: Kirkpatrick & Selman (Science 264 p1297 may 1994)
Organization: Royal Institute of International Affairs
Reply-To: ohgs@chatham.demon.co.uk
X-Newsreader: Demon Internet Simple News v1.27
Lines: 55
Date: Mon, 24 Oct 1994 10:57:27 +0000
Message-ID: <782996247snz@chatham.demon.co.uk>
Sender: usenet@demon.co.uk

Science chose to send me all of the Spring issues in a 6" stack, so I have only 
just got back as far as May, where Kirkpatrick and Selman (IBM TJ Watson, 
AT&T Bell labs respectively) report a highly relevant piece of work. They show 
how certain problem formulations can be expected to greatly speed up computer 
processing of expressions which can be reduced to boolean form, which is, at 
present, most of them.

They have been looking at the "satisfiability" of boolean expressions. A 
statement in boolean logic is satisfiable when the component parts of it can be 
assigned values in such a way as to make the entire statement true. A test 
which defines whether an expression is satisfiable is also a test as to 
whether this statement is open to consistent interpretation. Such a test 
requires one to apply factorial combinations of inputs to the expression, 
testing the output to find a condition under which the statement is True. 
This may represent a significant task when the statements are complex, as they 
are in most AI constructs.

The work was done on expressions reduced to a set of clauses, each 
of which are made up from a string of variables connected by ORs. The clauses 
are ANDed together. p:= (a OR b or C) AND (x OR y), for example. All boolean 
logic can be reduced to such statements. It turns out that the complexity of 
the evaluation depends not only on the number of variables but also the number 
of clauses. Complexity rises exponentially in respect of the number of 
variables. In addition, however, the ratio of the number of clauses to 
the number of independant variables has a quite remarkable effect.

The difficulty in assessing statements is relatively low when this ratio is 
either low or high. The statistical outcome is different, however, in that 
most short statements are satisfiable and most long ones are not. In between 
these two extremes, however, there is an "area" in which the difficulty 
- required run time - in testing the statement peaks; and the peaking occurs 
at exactly the scale at which the majority of the statements are found to 
be satisfiable to where the majority are not satisfiable. For example, clauses 
which contained three variables showed a defined peak at a ratio of 4.2 (not, 
however, 42!)

These differences are significant in size. In an expression which contained 50 
variables, it took well under a hundred runs to test a statement with a ratio 
of 2 and, typically, it took 500 runs to test a statement with a ratio of 8.  
Between 2 and 8 lies 4.5, however, where validation took over 3500 runs to test
its satisfiability. 

The paper compares this transition to the domains of phase transition within a 
spin glass: small groups of clauses are usually satisfiable and thus 
homogenous, whilst large groups are like large spin glass domains, containing 
boundary discontinuities. Working from this homology, they use finite size 
scaling techniques on the idea of boolean satisfiability and find it possible 
to predict which kinds of formulation will be particularly difficult to address 
within a computer. They point a route to algorithm architecture which ex ante 
should lead to significantly more efficient computing.

_________________________________________________

  Oliver Sparrow
  ohgs@chatham.demon.co.uk
