On Fri, Dec 14, 2012 at 11:14:01PM -0800, Edward Z. Yang wrote:
> I quite like the fact that Zypp uses a SAT solver to do its
> dependency generation.  However, I'm curious if there are any
> situations which you have encountered where Zypp does a poor
> job, from a solving or usability perspective.

Well, I don't know of any, but as I'm the author, I'm a bit biased ;)

> For example,
> are there any cases where your heuristic for dealing with degrees
> of freedom does poorly?

libsolv (the solver library used by zypp) uses a very simply heuristic:
- it tries to keep the currently installed packages (unless the solver
  job says otherwise)
- if there are choices, it always goes for the "best" package.

This normally matches what the user expects, if new packages have
to be downloaded and installed, they will be the newest ones, thus
saving extra work later on.

> Any places where the language of boolean
> formulas is not expressive enough (e.g. you want integer ranges
> or comparisons?)

For the package dependencies, we don't really need integer ranges. They
would be useful to minimize some metric the user provides, but libsolv
doesn't do that (see above).

> Some context: I recently happened upon this project:
> 
>     http://www.cs.wm.edu/~tdillig/mistral/index.html
> 
> And it seems like it adds some features to SAT solvers that would be
> really useful for package managers: in particular, it has an "explain"
> module which can take some desired end-result (conclusion) and the
> current state (hypothesis), and find the minimal set of extra hypothesis
> necessary to reach the end-result.  This seems to more directly correspond
> to the package solving problem, so I'm interested in comparing the two
> approaches!

Thanks for the link, I didn't know about mistral before. I'm looking
forward to your comparison.

Cheers,
  Michael.

-- 
Michael Schroeder                                   m...@suse.de
SUSE LINUX Products GmbH,  GF Jeff Hawn, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}
-- 
To unsubscribe, e-mail: zypp-devel+unsubscr...@opensuse.org
To contact the owner, e-mail: zypp-devel+ow...@opensuse.org

Reply via email to