  Answer Set Programming (ASP) is a successful method for solving a range of
real-world applications. Despite the availability of fast ASP solvers,
computing answer sets demands a very large computational power, since the
problem tackled is in the second level of the polynomial hierarchy. A speed-up
in answer set computation may be attained, if the program can be split into two
disjoint parts, bottom and top. Thus, the bottom part is evaluated
independently of the top part, and the results of the bottom part evaluation
are used to simplify the top part. Lifschitz and Turner have introduced the
concept of a splitting set, i.e., a set of atoms that defines the splitting.
  In this paper, We show that the problem of computing a splitting set with
some desirable properties can be reduced to a classic Search Problem and solved
in polynomial time. This allows us to conduct experiments on the size of the
splitting set in various programs and lead to an interesting discovery of a
source of complication in stable model computation. We also show that for
Head-Cycle-Free programs, the definition of splitting sets can be adjusted to
allow splitting of a broader class of programs.
