Finding Similar/Diverse Solutions in Answer Set Programming. Eiter, T., Erdem, E., Erdogan, H., & Fink, M. Theory and Practice of Logic Programming (TPLP), 2011. To appear
Finding Similar/Diverse Solutions in Answer Set Programming [link]Link  abstract   bibtex   1 download  
For some computational problems (e.g., product configuration, planning, diagnosis, query answering, phylogeny reconstruction) computing a set of similar/diverse solutions may be desirable for better decision-making. With this motivation, we have studied several decision/optimization versions of this problem in the context of Answer Set Programming (ASP), analyzed their computational complexity, and introduced offline/online methods to compute similar/diverse solutions of such computational problems with respect to a given distance function. All these methods rely on the idea of computing solutions to a problem by means of finding the answer sets for an ASP program that describes the problem. The offline methods compute all solutions of a problem in advance using the ASP formulation of the problem with an existing ASP solver, like Clasp, and then identify similar/diverse solutions using some clustering methods (possibly in ASP as well). The online methods compute similar/diverse solutions of a problem following one of the three approaches: by reformulating the ASP representation of the problem to compute similar/diverse solutions at once using an existing ASP solver; by computing similar/diverse solutions iteratively (one after other) using an existing ASP solver; by modifying the search algorithm of an ASP solver to compute similar/diverse solutions incrementally. All these methods are sound; the offline method and the first online method are complete whereas the others are not. We have modified Clasp to implement the last online method and called it Clasp-NK. In the first two online methods, the given distance function is represented in ASP; in the last one however it is implemented in C++. We have showed the applicability and the effectiveness of these methods using Clasp or Clasp-NK on two sorts of problems with different distance measures: on a real-world problem in phylogenetics (i.e., reconstruction of similar/diverse phylogenies for Indo-European languages), and on several planning problems in a well-known domain (i.e., Blocks World). We have observed that in terms of computational efficiency (both time and space) the last online method outperforms the others; also it allows us to compute similar/diverse solutions when the distance function cannot be represented in ASP (e.g., due to some mathematical functions not supported by the ASP solvers) but can be easily implemented in C++.
@article{EiterEEF11,
  author    = {Thomas Eiter and
               Esra Erdem and
               Halit Erdogan and
               Michael Fink},
  title     = {Finding Similar/Diverse Solutions in Answer Set Programming},
  journal   = {Theory and Practice of Logic Programming (TPLP)},
  year      = {2011},
  note      = {To appear},
  ee        =
{http://journals.cambridge.org/action/displayAbstract?fromPage=online&aid=8419989&fulltextType=RA&fileId=S1471068411000548},
  abstract  = {For some computational problems (e.g., product configuration,
planning, diagnosis, query answering, phylogeny reconstruction)
computing a set of similar/diverse solutions may be desirable for
better decision-making. With this motivation, we have studied
several decision/optimization versions of this problem in the
context of Answer Set Programming (ASP), analyzed their
computational complexity, and introduced offline/online methods to
compute similar/diverse solutions of such computational problems
with respect to a given distance function. All these methods rely on
the idea of computing solutions to a problem by means of finding the
answer sets for an ASP program that describes the problem. The
offline methods compute all solutions of a problem in advance using
the ASP formulation of the problem with an existing ASP solver, like
Clasp, and then identify similar/diverse solutions using some
clustering methods (possibly in ASP as well). The online methods
compute similar/diverse solutions of a problem following one of the
three approaches: by reformulating the ASP representation of the
problem to compute similar/diverse solutions at once using an
existing ASP solver; by computing similar/diverse solutions
iteratively (one after other) using an existing ASP solver; by
modifying the search algorithm of an ASP solver to compute
similar/diverse solutions incrementally. All these methods are
sound; the offline method and the first online method are complete
whereas the others are not. We have modified Clasp to implement
the last online method and called it Clasp-NK. In the first two
online methods, the given distance function is represented in ASP;
in the last one however it is implemented in C++. We have showed the
applicability and the effectiveness of these methods using Clasp
or Clasp-NK on two sorts of problems with different distance
measures: on a real-world problem in phylogenetics (i.e.,
reconstruction of similar/diverse phylogenies for Indo-European
languages), and on several planning problems in a well-known domain
(i.e., Blocks World). We have observed that in terms of
computational efficiency (both time and space) the last online
method outperforms the others; also it allows us to compute
similar/diverse solutions when the distance function cannot be
represented in ASP (e.g., due to some mathematical functions not
supported by the ASP solvers) but can be easily implemented in C++.
}
}

Downloads: 1