
“American Scientist” Understands Nothing about the Traveling Salesman Problem - merraksh
http://mat.tepper.cmu.edu/blog/?p=8376
======
pavel_lishin
> _I don’t know if this means I should not trust American Scientist in areas
> that are not my specialty. On something I know a bit about, the magazine has
> failed miserably._

I forget the term for this - when we see media cover something we know about
badly, but continue to assume that they cover other topics that we're
relatively ignorant about fairly and correctly.

~~~
lukev
This is even more true of the comment section of HN than it is in the media.
For several domains I know something about, the comments here are _painfully_
misguided and just bad, with the possible exception of some programming
topics.

~~~
jonathansizz
I've noticed this on HN for genetics- and especially evolution-related topics.
Many commenters here confidently state as fact things which turn out to be
dead wrong. If your knowledge of evolution is limited to having read 'The
Selfish Gene', you should be aware that you likely carry several
misconceptions and also have many large gaps in your knowledge.

It turns out that, although possibly a virtue when programming, hubris can
easily lead you astray if you're outside your field of expertise. Humility is
more useful in these situations.

I am sure that this holds true for many other topics; it should give us all
pause before we accept statements as true just because they sound agreeable to
us, or before we regurgitate opinions whose veracity we're not in a position
to verify.

Incidentally, I've also spotted this on the TV show _QI_ , many of whose
clever 'facts' are misleading at best or just plain incorrect.

~~~
Retric
There are three options when you disagree with something on on HN.

    
    
      It's Wrong.
      It's Correct, and you are mistaken.
      It's Correct, but poorly communicated.
    

IMO, the poorly communicated issue shows up far more than most people assume.
I have seen several discussion between two experts go X, that's wrong Y,
that's not true X(1)... then after 10 posts they end up agreeing that X ~= Y
if Z.

PS: This is also far worse on the softer ends of hard science. Diet,
Economics, Climate, Astronomy, and Evolution all suffer from studying complex
things with limited ability to experiment.

------
yongjik
The title makes it sounds much worse than it actually is. I mean, this isn't
_that_ bad:

> But what about going to 100 different cities? A computer would have to check
> 100x99x98x….x2x1 possible routes.

Yes, the sentence should have included "In case of a brute-force search", but
still it conveys the basic idea of TSP and why it gets exponentially harder as
N increases.

~~~
merraksh
I think this is just one of the pitfalls that the author points out: it is not
the sheer number of possibilities that defines the difficulty of a problem. He
links to his previous blog post

[http://mat.tepper.cmu.edu/blog/?p=6995](http://mat.tepper.cmu.edu/blog/?p=6995)

with a nice example: sorting.

 _“Sorting a bunch of numbers! Hoo-wee, that’s a hard one. If I had 1000
numbers, I would have to check all orderings of the numbers to find the sorted
order. That is 1000_ 999 _998_ … _2_ 1 orders and that is more than the hairs
on a Hobbit’s toes.” _

~~~
yongjik
But sorting has a known O(N log N) algorithm. Nobody sorts by comparing all N!
permutations and picking the correct one. (Well, I certainly don't.)

On the other hand, TSP almost certainly does not have any O(N^k) algorithm,
for any fixed k. Sure, the difference between (say) N^200 and N! is huge, but
an introductory article cannot explain every details.

Saying that TSP is as hard as N! is technically wrong, but it's much _less_
wrong than saying sorting is as hard as N!.

His posts read more like an advertisement for his research area (optimization)
than actual complaint. Well, that's not a bad thing, but I feel the title is a
bit clickbait-ish...

~~~
merraksh
_But sorting has a known O(N log N) algorithm. Nobody sorts by comparing all
N! permutations and picking the correct one. (Well, I certainly don 't.)_

That is precisely the point of the blog post. Nobody compares all N!
permutation for sorting, and nobody checks all N! tours when solving a TSP.
The latter is less trivial because algorithms that solve the TSP are far more
sophisticated than a sorting algorithm, but they still avoid enumerating a
very large subset of solutions. They cannot be claimed to run in polynomial
time for any instance, but they are still quite efficient.

 _Saying that TSP is as hard as N! is technically wrong, but it 's much less
wrong than saying sorting is as hard as N!._

I disagree, both from a practical standpoint (in both cases there are orders
of magnitude between N! and actual CPU time) and a more metaphysical one
(neither algorithm explores the full set of solutions).

~~~
bradford
> _Nobody compares all N! permutation for sorting, and nobody checks all N!
> tours when solving a TSP._

Doesn't this depend on what you mean by 'solve'? If you really want the single
best solution, you're stuck with checking all N! solutions. If you want a
solution which merely works pretty well almost all of the time, then you're
right, there are many polynomial time solutions.

I wasn't able to read the Scientific American article that the author ranted
against, but if it's discussing TSP from a mathematical standpoint, I wouldn't
fault them for discussing the feasibility of checking all N! permutations...
that's exactly how it was discussed to me in my introductory computation
classes.

~~~
lotharbot
> _" you're stuck with checking all N! solutions"_

not quite -- once you have a solution that runs in time X, you no longer need
to check any solution that has a sub-component that is known to take longer
than time X. So, for example, if you find that going between locations A, C,
J, F, P, E, and Q in that order takes longer than your current best whole-map
solution, then you no longer have to check any solution of which ACJFPEQ is a
subset. You can eliminate whole categories of solutions with a single check,
instead of having to test each of them one-by-one.

~~~
js2
So, memoization, a basic optimization technique.

~~~
Dylan16807
Yes, the easiest example of optimization to give was a basic example. There
are much better techniques too.

------
leecarraher
If you are offended by a pop science magazine's over simplification of a topic
that resides in a field you have some specialty understanding of, you clearly
haven't been reading pop-sci magazines for very long. You have all the right
in the world to be angry when this happens in a journal article, but you are
reading American Scientist, not SODA.

~~~
bbarn
Yep. Let's not forget the massive benefit of this - introducing new minds to
hard concepts. It doesn't need to be feature perfect and up to date with the
latest ideas, just enough to make it interesting to the readers.

------
simulate
Bill Cook, mentioned in this post, has written an excellent and entertaining
book on the TSP that is accessible to non-experts:
[http://www.amazon.com/Pursuit-Traveling-Salesman-
Mathematics...](http://www.amazon.com/Pursuit-Traveling-Salesman-Mathematics-
Computation/dp/0691152705)

If you're not interested in reading an entire book on the topic, Cook's
webpage provides a summary and includes several examples:
[http://www.math.uwaterloo.ca/tsp/](http://www.math.uwaterloo.ca/tsp/)

Finally, here's a simple version of the TSP showing route optimization in San
Francisco using local businesses: [https://forio.com/app/showcase/route-
optimizer/](https://forio.com/app/showcase/route-optimizer/)

~~~
cvwright
Maybe American Scientist should have Bill Cook write a follow-up article for
them to explain the current state of the art.

------
carlob
It's weird, I remember reading a very informative article about SAT from
American Scientist when I was an undergrad:

[http://sjcomp.com/files/compsci9703.html](http://sjcomp.com/files/compsci9703.html)

I will have to reread it to see if it still makes sense.

------
louprado
As an aside, an algorithm based on ant pheromones is a clever way to solve the
traveling salesman problem.

[http://people.idsia.ch/~luca/acs-bio97.pdf](http://people.idsia.ch/~luca/acs-
bio97.pdf)

~~~
merraksh
But ant colony algorithms are heuristics. The Concorde software by Cook and
co., that is mentioned in the blog post, obtains an optimal solution.

~~~
chris_wot
Yes, but the ant colony algorithm is interesting... and kind of neat!

------
aerovistae
I'm confused by this post. I was under the impression NP-complete problems
could not be solved efficiently, but the author is saying that TSP, the most
well known NP-complete problem, _can_ be solved practically. I read what he
wrote but did not understand what he was saying. Why is TSP famously hard if
it's actually tractable in practice?

~~~
cvwright
I think it's more accurate to say that NP-complete problems have at least some
cases that cannot be solved efficiently. That's not to say that the average
case is hard -- in fact, most instances that you're likely to run across in
the real world might be quite easy.

That's pretty much what the author is arguing here:

> Due to the tremendous amount of work that has been done on the Traveling
> Salesman Problem, the TSP is one such problem. If you have an instance of
> the TSP of practical interest (i.e. it makes a difference to your life if
> you solve it or not, and it is really a TSP, not the result of some weird
> set of set of reductions from some other problem), then I bet you the
> Concorde program of Bill Cook and others will get you a provably optimal
> solution in a reasonable amount of time.

The difference between problems that are hard in the average case, and those
that are only hard in the worst case, is really important in cryptography. The
knapsack cryptosystem is a good example of this:
[https://en.wikipedia.org/wiki/Merkle%E2%80%93Hellman_knapsac...](https://en.wikipedia.org/wiki/Merkle%E2%80%93Hellman_knapsack_cryptosystem)

~~~
te_platt
Exactly. A good example would be a set of co-linear points. Even for
N=1,000,000 if all the points are at (n,0) on the plane then it's pretty
trivial to find the solution.

------
jtolmar
That Hilbert Curve solution is really handy to know about. If you were writing
a game where the player competes with an AI at traveling salesman (Pacman
without the ghosts race), a fast 75% optimal algorithm sounds perfect.

I think you can do the Hilbert Curve in n log n time by loading all the cities
into a quad tree and traversing it in a Hilberty order. Is that the fastest
way?

------
jessaustin
This magazine (and its similarly-named rival) sometimes calls to mind Nelson
Muntz's comment: "I can think of at least two things wrong with that title."

------
plank
I remember the same feeling, a long time ago. I would read the Dutch 'NRC'
science page, and be annoyed that they really did not understand the
Schrödinger cat problem. Of course, since then I strayed away from my physics
career (entering IT with a PhD in physics), and now I can read those same
science pages and think, wow they really know their stuff....

------
waldrews
Cixin Liu's The Dark Forest has the alien enemy ship solve the traveling
salesman problem for a moderate n in real time as a way of demonstrating the
aliens' superior level of science. That must upset the original poster almost
as much...

------
spdegabrielle
The Brian Hayes articles were always awesome - sadly he has gone.

~~~
jamessb
I don't think he has gone: both his blog [0] and the American Scientist site
[1] refer to him as a senior writer in the present tense, and he had an
article about deep dreaming in the Nov-Dec 2015 issue [2]. His blog is
interesting, and has posts more frequent than his magaine articles.

[0]: [http://bit-player.org/about-the-author](http://bit-player.org/about-the-
author)

[1]: [https://www.americanscientist.org/authors/detail/brian-
hayes](https://www.americanscientist.org/authors/detail/brian-hayes)

[2]:
[https://www.americanscientist.org/issues/pub/2015/6/computer...](https://www.americanscientist.org/issues/pub/2015/6/computer-
vision-and-computer-hallucinations)

------
SeanDav
How does one know one has an optimal solution for the travelling salesman
problem?

Any experts out there that can explain this, or point to some accessible
literature on this?

------
perseusprime11
Do they have to know about the Traveling Salesman Problem?

------
skywhopper
"I will get my favorite spaghetti meal served on my birthday."

In an otherwise run-of-the-mill rant, this struck me as a truly weird,
passive, and ungrammatical (to my ear) assertion. The lack of any agent makes
me wonder if he's insisted on his parents and then various friends or
significant others over the years to serve him this meal. Or does he hire
someone to perform this task for him? The lack of the mention of "cooking" and
the phrasing "spaghetti meal" make me envision dumping a cold can of Chef Boy-
Ar-Dee spaghetti out in a bowl. Just an odd, unrelatable insistence. Weird.

~~~
spinlock
I smell a startup. Uber for Spagettios.

------
pierrebai
Yes! One politic is found to be corrupt, all politicians must be corrupt! One
businessman implemented a fraud, down with captalism! One autistic child took
several vaccine before being diagnosed. VAccine are the culprit!

I see, read, and hear these kind of argument all the times and they sadden me.
I'm sure Snake-oil salesman, con artist and populist politicans salivates when
reading how easily people dismiss things so easily.

Is the American Scientist article entirely wrong? No. Is even just that
sideboard entirely off-track? No. It's probably a case of vulgarization gone
too far.

But hey, baby, water, bath, plumbing, out the window you go.

~~~
_dark_matter_
Hey, great job, you just took it to the other side of the spectrum!

But seriously, it's a question of evidence, in every case you mentioned. The
null hypothesis being "nothing is wrong", which you seem to be pointing at.
There are definitely cases where the null hypothesis is NOT true, and needs to
be rejected. To muse about whether the evidence is enough is surely an
appropriate practice, which seems to be what the author is doing.

