†An algorithm for finding the intersections in a set of line segments.
†An algorithm for finding the intersections in a set of line segments.
Over the course of my last job, I've read over (but not far over) 200 scientific papers. Of those, I've rejected about three quarters because even the algorithm's description was enough to inform a reader that it would not work (assuming the reader understands the content well). The remaining quarter I've implemented in code and run, and of those runs I can count on a single hand how many algorithms even came close to doing what they promised.
Writing this down, you are right that this is not cause to dismiss most papers as "probably fiction". It's uncharitable and a better reflection of how salty I am about the amount of work that went into sorting through and implementing all of that (mostly to absolutely zero results) than anything else :)
> simply handwaves away a number of crucial edge cases
That does also happen, but without those edge cases you can presumably still see the algorithm working as it should given the right inputs. From there it is a matter of refinement to come to an implementation that is okay - this I would count as a success.
I'm curious what you mean by "not work" here. Presumably such papers use examples to illustrate their algorithm. Were results not even reproducible on the authors' own (cherry-picked) examples? Or perhaps do you mean you threw a harder problem at the algorithm that cleanly fell within the set of problems the authors purported to address?
I think the distinction is important, because the first case means the paper is just flat-out wrong. The second case is what causes all the trouble, because it's hard to convey to an academic that their algorithm, though in principle "correct", does not address the often-vaguely-stated problem in the introduction ("this algorithm has applications in X, Y, Z and related fields..."). They can just say "I'm advancing the field" or "it provides insight that could one day be more useful".