[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [UPLOADED] RFC: The Future of Solving Dependency Problems in APT (SAT, CUDF)



On Di, 2010-12-28 at 14:33 +0100, Michael Tautschnig wrote:
> Hi all,
> 
> [...]
> > 
> > External issues
> > ===============
> >       * picosat is built without tracing support (Bug#607943)
> 
> I'm aware of that, but please don't expect a solution before end of January (but
> NMUs or patches are welcome!).
> 
> >       * picosat prefers B in A | B if B > A (higher version ID wins)
> 
> picosat doesn't care. If either of them poses a valid solution, it will give you
> one of them. Which of them is chose purely depends on heuristics implemented in
> picosat (might even be tied to the literal ids). If you want it to prefer a
> different solution, that has to be encoded.
The heuristics are prefering the larger literal from my testing, if all
other stuff like importance or the number uses in other clauses equals.

> 
> >       * picosat does not allow for optional clauses, Recommends are thus
> >         treated as Depends. I should ask them if they are interested in
> >         adding this.
> > 
> 
> What would be the semantics of "optional clauses" in terms of Boolean
> satisfiability? What I could envision, however, is adding additional clauses
> after the first round of solving the problem for Depends, using incremental SAT
> solving. Add one of the Recommends at a time and see whether the problem can
> still be solved. My question here would in particular be which semantics users
> can expect from "Recommends" - will these packages always be installed or just
> as many as possible or ...? As a user of apt I'd expect that either all of them
> or none of them gets installed (depending on my apt config). Therefore I don't
> see any need for "optional clauses", but I have to admit that I'm not that much
> into apt development.

As many as possible. Each recommendation forms one clause in the solver,
and the solver may treat an unsolvable recommends clause as if it were
solved.
-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.



Reply to: