On 1/28/12 9:10 AM, Manfred Nowak wrote:
Andrei Alexandrescu wrote:

[ About ranks]
Actually they need to be computed.

Then the problem is still too unclear.

It's very simple and clear in formulation actually.

Given a range r of elements, define rank(a, p) as the position that object a would have if range r would be sorted by predicate p. So the rank is a number between 0 and n-1 (n being the number of elements in the range.) For example, if we sort [ 40, 10, 30, 20 ] using "<" as a predicate, the rank of 20 is 1. (For simplicity we can consider for now that all elements are distinct.)

Now say we have multiple predicates, p1, p2, ..., pk. We want to sort elements in increasing order of rank(a, p1) + ... + rank(a, pk).

I think it's possible to find cases where
    rank(a, k1) + rank(a, k2)<  rank(b, k1) + rank(b, k2)
but
    alpha * a.k1 + beta * a.k2>  alpha * b.k1 + beta.k2.

Of course. Especially if the a, b, ... are sortable only partielly.
But if the ranks are known, the problem can be finished with the
linear median algorithm.

One potentially confusing issue is that importance applies to
rank, not features.

Do you mean that
   alpha * rank(a, k1) + beta * rank(a, k2)
has to be extremized for all `a'?

I don't understand this.

Again: the problem is still unclear.

Hopefully the above has clarified it. Thanks for looking into it!


Andrei

Reply via email to