A "review" from Luis Guzman, <a href="https://plus.google.com/u/0/103069458643902853500/posts/Jg8R1nazWJ7" rel="nofollow">https://plus.google.com/u/0/103069458643902853500/posts/Jg8R...</a>:<p><i>So what is the movie about?</i><p>"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.<p>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."<p><i>So what is the P vs. NP problem?</i><p>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.<p>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. "<p><i>So what is the travelling salesman problem?</i><p>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!<p>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."<p><i>So what is linear programming?</i><p>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).<p>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."<p>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.<p><i>So what is the simplex method?</i><p>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".<p><i>Who was George Dantzig?</i><p>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.<p>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!"<p>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.<p>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!<p>"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."<p>References:
<a href="http://www.travellingsalesmanmovie.com/" rel="nofollow">http://www.travellingsalesmanmovie.com/</a>
<a href="http://www.claymath.org/millennium/P_vs_NP/" rel="nofollow">http://www.claymath.org/millennium/P_vs_NP/</a>
<a href="http://books.google.com/books/about/In_Pursuit_of_the_Traveling_Salesman.html?id=S3bxbr_-qhYC" rel="nofollow">http://books.google.com/books/about/In_Pursuit_of_the_Travel...</a>
<a href="http://en.wikipedia.org/wiki/Travelling_salesman_problem" rel="nofollow">http://en.wikipedia.org/wiki/Travelling_salesman_problem</a>
<a href="http://en.wikipedia.org/wiki/Linear_programming" rel="nofollow">http://en.wikipedia.org/wiki/Linear_programming</a>
<a href="http://en.wikipedia.org/wiki/Simplex_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/Simplex_algorithm</a>
<a href="http://en.wikipedia.org/wiki/George_Dantzig" rel="nofollow">http://en.wikipedia.org/wiki/George_Dantzig</a>