Hacker News new | ask | show | jobs
by moralestapia 481 days ago
Minor nitpick,

Should be "document ranking reduces to these hard problems",

I never knew why the convention was like that, it seems backwards to me as well, but that's how it is.

2 comments

"Document ranking reduces to these hard problems" would imply that document ranking is itself an instance of a certain group of hard problems. That's not what the article is saying.
I know its counterintuitive, as I explained in my comment, but that's the correct terminology in CS world.
I want to hear more about your point of view, because I disagree and am curious if there's another definition of "reduce". In my CS world, reduce is a term that you use to take a list of stuff and return a smaller list or instance of stuff. For example: [1, 2, 3].reduce(+) => 6. The title would go like [hardProblem1, hardProblem2, hardProblem3].reduce(...) => documentRanking. I think this mental model works for the non-CS world. So I'm curious what your viewpoint is.
In (Theoretical) Computer Science it is sometimes helpful to be able to say "Any instance of an A-type Problem can be transformed into an instance of a B-type Problem by applying this polynomial-time procedure".

Say you have a problem that you know reasonably well (A-type) and another one that you're studying (B-type), intuitively, you'd say "If I transform B to A and I know the solution to A, then I solved B" but what you actually need to do is to transform A to B, this is called "reducing A to B", for some reason, and then you can say things like "B is at least as complex as A" and "I can solve some instances of B the way I solve the general case of A".

This doesn't really apply here since neither the "hard problems" TFA mentions nor "document ranking" are canonical problems that you would typically use in these proofs, but since he's borrowing the term from this part of CS I wanted to make that remark on its proper use. Hence why I wrote "minor nitpick".

The reduce operation that you mentioned doesn't make sense within the context of the article.

Wikipedia: “Intuitively, problem A is reducible to problem B, if an algorithm for solving problem B efficiently (if it existed) could also be used as a subroutine to solve problem A efficiently.”

The article takes for granted that LLM-driven listwise comparisons efficiently solve document ranking (problem B), and then shows this can also be used as a subroutine to solve various hard problems like vulnerability analysis (problems A) efficiently.

Hmm, the discussion here requires a deeper understanding of these concepts, much deeper than a casual read of one sentence picked from Wikipedia.

I wouldn't have wrote that sentence to introduce people to reduction, because it misses a very important property of the operation that changes the whole thing. That sentence could lead you to think that reducing A <= B is the same as reducing B <= A, which is not always true. To see why, try to understand [1].

There's a reason why the reduction equivalence classes form a preorder, as stated on the Wikipedia page you quoted.

1: https://news.ycombinator.com/item?id=43179918

If A reduces to B, it means that an algorithm implementing B can be used (with some pre- and post-processing) to solve A.

If A reduces to B, it means that B is at least as hard as A.

This is the standard terminology in every theoretical computer science; see for example the DPV textbook on page 210: https://github.com/eherbold/berkeleytextbooks/blob/master/Al...

Isn't that what I wrote on [1]?

Do you have something to add or is it just ... a confirmation?

Weird.

1: https://news.ycombinator.com/item?id=43179918

Are you trolling or what. Let's see what's written in the comment above.

> If A reduces to B, it means that an algorithm implementing B can be used (with some pre- and post-processing) to solve A.

Here we say that that we can solve a "hard problem" if we can express it in terms of the "Document Ranking" problem.

Let's rewrite that quoted sentence:

An algorithm implementing "Document Ranking" can be used (with some pre- and post-processing) to solve "Hard problem".

Let's do substitution in the first part of the sentence, "If A reduces to B", where A is "hard problem" and B is "Document Ranking":

Hard problem reduces to Document Ranking.

That means EXACTLY that we can USE Document Ranking to SOLVE the Hard Problem. Just as we wanted.

Ar-Curunir: If A reduces to B, it means that an algorithm implementing B can be used (with some pre- and post-processing) to solve A.

moralestapia: If I transform B to A and I know the solution to A, then I solved B.

Ar-Curunir: If A reduces to B, it means that B is at least as hard as A.

moralestapia: [...] B is at least as complex as A

Can you even read?

No, that is not what you wrote. You wrote “document ranking reduces to these hard problems", which means that document ranking can be solved with an algorithm for one of those hard problems. The article discusses the opposite: those hard problems can be solved by using algorithms for document ranking (which is itself a non-trivial problem)
Not quite - in complexity theory you say problem A reduces to problem B if an oracle for problem B can be used to solve problem A. So the title of the article is correct, as an oracle for document ranking (LLMs in this case) can be used to solve a list of hard problems (given in the article).
Wrong.

At least bother to read the discussion in the sibling comments.

It's standard terminology. I'm not going to waste time arguing about it.
Define what's an oracle for you, that's a concept that's not even needed for this discussion.

I don't think you understand what is being talked about here.