Thanks wenchiet for this Nokia phone shooting.
I am not the expert in vehicle routing. But, I do learn a lesson from Prof. Sam Thangiah’s talk in FICT UTAR today.
The rough meaning is something like this:
Best solution appears in publication. But in real world, only the robust solution does matter.
For example, Dijkstra’s algorithm works perfectly in finding the shortest path from point A to point B. However, it seems not to be feasible when it is applied to calculating the pick-up points for buses in a city. Heuristic approach is much appreciated instead.
How to calculate a polynomial of (s+1)(s+2)…(s+10) in a short time?
Instead of calculate them one by one, we can do it with the help of Python library – Numpy.
1. Make sure you have installed Numpy for your Python interpreter. In Ubuntu, you may just want to install python-scipy as it contains all the scientific calculation tools.
2. Try the following example in your python interpreter:
from numpy import * p1 = poly1d(1, 1 ) #(S+1) p2 = poly1d(1, 2 ) #(S+2) p3 = poly1d(1, 3 ) #(S+3) p4 = poly1d(1, 4 ) #(S+4) p5 = poly1d(1, 5 ) #(S+5) p6 = poly1d(1, 6 ) #(S+6) p7 = poly1d(1, 7 ) #(S+7) p8 = poly1d(1, 8 ) #(S+8) p9 = poly1d(1, 9 ) #(S+9) p10 = poly1d(1, 10) #(S+10) print p1*p2*p3*p4*p5*p6*p7*p8*p9*p10
3. Then, you will an get an output like:
10 9 8 7 6 5 4 3 2 1 x - 10 x + 45 x - 120 x + 210 x - 252 x + 210 x - 120 x + 45 x - 10 x + 1
That is the answer:
x^10 - 10x^9 +45x^8 - 120x^7 + 210x^6 - 252x^5 + 210x^4 - 120x^3 + 45x^2 - 10x + 1
4. Say, we need to find the root of this polynomial. With the help of Python, we can get the roots by feeding these line into the interpreter.
(p1*p2*p3*p4*p5*p6*p7*p8*p9*p10).r #.r means root.
And, we will get an output like this:
array([ 1.04405137+0.0143565j , 1.04405137-0.0143565j , 1.02709855+0.03755416j, 1.02709855-0.03755416j, 0.99974141+0.04619473j, 0.99974141-0.04619473j, 0.97275208+0.03706564j, 0.97275208-0.03706564j, 0.95635659+0.01406697j, 0.95635659-0.01406697j])
The polynomial has 5 complex conjugates: 1.04405137 +/- 0.0143565j, 1.02709855 +/- 0.03755416j, 0.99974141+/- 0.04619473j, 0.97275208 +/-0.03706564j, 0.97275208 +/- 0.03706564j and 0.95635659 +/- 0.01406697j .
<With Love> is the first Japanese drama that I watched in my secondary school. Seeing this youtube brings me back to my sentimental high school puppy love. @_+
The storyline goes as follows:
Takashi (Takenouchi), a talented composer, who could not write a love song ever since his girlfriend Rina left him suddenly. Accidentally, Takashi sent an uncompleted piece of his latest work to Amane (Tanaka) via email.
Deeply touched by his music, Amane wrote back to him, without getting a reply. Amane continued writing to him, pouring out her thoughts, with the nickname of “Teru Teru Bozu”. One day, Takashi responded with a mail saying “WHO ARE YOU?” because what Rina left him as a farewell gift was a teru teru bozu!
(Quoted from http://jdorama.com/drama.445.htm)