What is (Re:) NP-Completeness?

Jaroslav Tulach jaroslav.tulach at oracle.com
Fri Dec 23 01:54:49 PST 2011


>## 23. 12. 2011 09:35:01 ##<
> First, Richard S. Hall's resolver in Felix has shown that even large
> systems resolve in a very short time and using very few electrons on the
> way. 

I am sure Jesse can modify his simple sample to generate few OSGi bundles and 
make Felix spend all its time resolving dependencies until its computer turns 
into dust.

> And he resolves with a completely generic require/capabilities model
> including the so called uses constraints necessary to support side-by-side
> versioning. If google maps can find a route between Montpellier and
> Stockholm in less than a second then I fail to see why we could not find a
> route in the much smaller space of software dependencies.

I don't want to occupy this mailing list with computer science topic, however 
I have to point out this faux pas for the benefit of everyone who will try to 
understand why having systems with inherent NP-complete problems is no good.

However complicated the task of finding a route between two towns may seem, it 
is a simple graph algorithm which can be solved in O((n+m)*log(n)) steps. Thus 
trying to deduce from the performance of google maps anything with respect to 
module systems with range dependencies is meaningless.

When talking about maps I can give you another task which would be NP-
complete: Find a route from Montpelier to Stockholm that visits every town 
larger than 10000 citizens in France, Germany, Denmark and Sweden exactly 
once. 

If you try this, you'll find out it is much more complicated tasks then 
finding a shortest path between two towns. I am sure even google maps would 
not handle problem of this size in 1s.
-jt

PS: If anyone knew how to effectively find a route through passing once every 
town, then we would also have effective algorithm for resolving range 
dependencies.




More information about the jigsaw-dev mailing list