So what is the movie about?
"Travelling Salesman is an intellectual thriller about four mathematicians hired by the U.S. government to solve the most elusive problem in computer science history -- P VS. NP. The four have jointly created a "system" which could be the next major advancement for our civilization or destroy the fabric of humanity.
The solution's immediate use would exist within computer science. However, it's application would soon extend to countless other disciplines. For example, by utilizing the solution to P vs. NP, a hacker can crack advanced encryption codes within seconds--a task that now takes weeks, months, or even years. He could break into La Guardia's air traffic control or China's communication grid. But the mathematical algorithm would also serve as the basis for accelerated biological research, curing diseases such as AIDS and cancer."
So what is the P vs. NP problem?
Well, the P vs. NP problem is a real mathematics problem and is one of the seven Clay Mathematics Institute's Millennium Problems. A correct solution to any of the problems results in a $1,000,000 prize.
The Clay Institute states: "Suppose that you are organizing housing accommodations for a group of four hundred university students. Space is limited and only one hundred of the students will receive places in the dormitory. To complicate matters, the Dean has provided you with a list of pairs of incompatible students, and requested that no pair from this list appear in your final choice. This is an example of what computer scientists call an NP-problem, since it is easy to check if a given choice of one hundred students proposed by a coworker is satisfactory (i.e., no pair taken from your coworker's list also appears on the list from the Dean's office), however the task of generating such a list from scratch seems to be so hard as to be completely impractical. Indeed, the total number of ways of choosing one hundred students from the four hundred applicants is greater than the number of atoms in the known universe! Thus no future civilization could ever hope to build a supercomputer capable of solving the problem by brute force; that is, by checking every possible combination of 100 students. However, this apparent difficulty may only reflect the lack of ingenuity of your programmer. In fact, one of the outstanding problems in computer science is determining whether questions exist whose answer can be quickly checked, but which require an impossibly long time to solve by any direct procedure. Problems like the one listed above certainly seem to be of this kind, but so far no one has managed to prove that any of them really are so hard as they appear, i.e., that there really is no feasible way to generate an answer with the help of a computer. "
So what is the travelling salesman problem?
Well, the travelling salesman problem (TSP) is also a real mathematics problem and it asks the following question: Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city? It is an NP-hard problem in combinatorial optimization, important in operations research and theoretical computer science. So you can see it is related the the P vs. NP problem!
In the book, In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation by William J. Cook, it states: "Selecting the best tour through a set of points and knowing it is the best is the full challenge of the TSP. Users of a brute-force algorithm that sorts through all permutations can be certain they have met the challenge, but such an approach lacks both subtlety and, as we know, practical efficiency. What is needed is a means to guarantee the quality of a tour, short of inspecting each permutation individually. In this context, the tool of choice is linear programming."
So what is linear programming?
Well, linear programming (LP), or linear optimization, is not computer programming! It is a mathematical method for determining a way to achieve the best outcome (such as maximum profit or lowest cost) in a given mathematical model for some list of requirements represented as linear relationships. Linear programming is a specific case of mathematical programming (mathematical optimization).
In the book, In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation by William J. Cook, it states linear programming is: "an amazingly effective method for combining a large number of simple rules, satisfied by all tours, to obtain a single rule of the form 'no tour through this point set can be shorter than X.' The number X gives an immediate quality measure: if we can also produce a tour of length X then we can be sure that it is optimal."
The founders of this subject are Leonid Kantorovich, a Russian mathematician who developed linear programming problems in 1939, George Dantzig, who published the simplex method in 1947, and John von Neumann, who developed the theory of the duality in the same year.
So what is the simplex method?
Well, the simplex method, or simplex algorithm, is just a popular algorithm for linear programming! Dantzig provided an original example of this method by finding the best assignment of 70 people to 70 jobs to exemplify the usefulness of linear programming. The computing power required to test all the permutations to select the best assignment is vast; the number of possible configurations exceeds the number of particles in the universe. However, it takes only a moment to find the optimum solution by posing the problem as a linear program and applying the Simplex algorithm! In 2000, it was named one of "The Top Ten Algorithms of the Century".
Who was George Dantzig?
There's a well-known account of Dantzig, "the father of linear programming," during his time as a mathematics student at UC Berkeley. One day, Dantzig was running late to a class taught by the famous Jerzy Neyman. When he arrived, he saw two problems on the blackboard and scribbled them down as homework problems. After class, Dantzig began working on them and turned in the solutions several days later.
Six weeks later, on a Sunday morning, Dantzig was woken up by the noise of someone banging on the door of his house. He opened the door and was surprised to see his professor, Jerzy Neyman, at the door holding a handful of papers. His excited professor said, "I've written an introduction to one of your papers! Read it so I can send it out right away for publication!"
As it turns out, these two problems on the blackboard were not homework problems, but famous unsolved problems in mathematical statistics. Without knowing it, Dantzig solved two unsolved statistics problems for homework.
Later on, when Dantzig was having difficulty finding a topic for his thesis, Neyman told him to just put his solutions to those two problems into a binder and that Neyman would accept the solutions as Dantzig's thesis!
"Sounds like magic, but linear programming is indeed the method adopted in all of the most successful exact TSP approaches proposed to date. Moreover, its application to problems beyond the TSP has made it one of the great success stories of modern mathematics."
References: http://www.travellingsalesmanmovie.com/ http://www.claymath.org/millennium/P_vs_NP/ http://books.google.com/books/about/In_Pursuit_of_the_Travel... http://en.wikipedia.org/wiki/Travelling_salesman_problem http://en.wikipedia.org/wiki/Linear_programming http://en.wikipedia.org/wiki/Simplex_algorithm http://en.wikipedia.org/wiki/George_Dantzig
And instead I got guys sitting in a room. Damn.
I'm sure the underlying discussion of "What if P=NP? is solved?" is incredibly interesting but what I got from the trailer was that this was a movie with a bad script, bad cinematography, bad acting, and bad editing.
In some ways the trailer reminded me of Primer but it didn't quite make the low-budget vibe work in it's favor. Having made a few student films, but never having made a good short film, it's still hard for me to put my finger on the little differences that make something like this work.
I don't like where the web is going, it was on the right track with CSS but it's getting ridiculous again. Now I need javascript to read text and view pictures.
http://www.antipope.org/charlie/blog-static/fiction/toast/to...
Quick and worthy a read.
>Unfortunately, this means that the majority of the film consists of five men having a heated discussion in a stark, washed-out blue room in some anonymous government building. Other than Horton, we never even learn the characters’ names. The low-budget aesthetic and grounding in hard science is reminiscent of the excellent time-travel film Primer, but Travelling Salesman is far less ambitious. A few flashbacks help break up the film, but you can’t help think this particular story would be better served as an hour-long play.
And yea, it's clear that the film is at least partially inspired by Primer. I'm not sure if this really bothers me, though I once made a short film vaguely inspired by Primer and was harshly called out for it. Compare the trailers:
http://rjlipton.wordpress.com/2012/04/22/the-travelling-sale...
GAs are not the best approach even for randomized heuristic approximations. Mostly they are cute, biologically intriguing programming exercises for people that don't care about sitting down and formally working out the specifications of a serious optimization problem. Often they end up throwing many CPU-hours at a relatively simple problem that they weren't even looking to solve, and get a sub-optimal solution because they didn't even bother to optimize the learning/mutation schedule, which would speed it up by an order of magnitude, but that would require maths and thinking, instead of just throwing more randomness against the wall because "it's evolution".
Genetic Algorithms aren't even easier to implement than other randomized heuristic approximations. For instance, Simulated Annealing is basically (but not quite) a GA with a population of one, so you don't need selection or crossover (do you use tournament selection or roulette selection? does it matter? will you try both? what will be your population size?). Simulated Annealing is much easier to implement and has fewer variables to optimize (such as the cooling/learning schedule). Of course it's not nearly as "sexy" as the biologically inspired genetic algorithm.
Most importantly however, a GA does not solve P?=NP, so it is not sufficient for the premise to this movie, which is about the consequences of solving P?=NP, not about arriving at suboptimal but perhaps sufficient solution in almost reasonable time to a TSP problem that doesn't actually have a practical use.
Also, AFAIK, a general solution to P=NP could still be very time consuming to calculate (even if you prove polynomial time solutions, that could still be a very high order polynomial). That is, your general solution to the problem could be only slightly better than O(n!) and satisfy.
Even if P=NP, some problems still take a whole lotta work to solve, and "shortcuts" aren't much faster.
The trailer was quite reminiscent of Pi, right down to the [near] monochrome imagery and someone's head getting drilled.