The train will travel up the short straight piece, go around the loop in whatever direction the switch is pointing and then exit down the other arm, setting the switch that way. In other words, running a train around this loop reverses the value of the switch. In still other words, this is a NOT gate. It is also possible to construct an AND gate, but the limitations of ASCII prevent me from showing it here. (Email upon request.)
Now, with NOT and AND, it is possible to construct any logical circuit. And "any logical circuit" is Turing-complete. Therefore, train tracks are Turing-complete. So?
Train tracks were first being laid in the US in the mid-nineteenth century and by now there are hundreds of thousands of miles of them. That is a huge amount of computing power that is growing every year. Furthermore, it is entirely unmonitored--who really keeps track of what trains go where and, even if they did, who would notice that they were doing computations, let alone what those computations represented? It's the world's largest potential supercomputer and it is secretly in the hands of a powerful private industry. How can we flush them out?
What we would need is some computationally-intensive event that had significant impact on the railroad industry. For instance, evidence of a broken encryption scheme that benefited trains. What if some tight security was broken or used in such a way that some alternate form of transportation looked bad? Is anyone else thinking of the World Trade Center? The FBI and CIA were totally in the dark that this was going to happen and airlines are in deep financial trouble while trains are sitting pretty.
Granted, trains move slower than electrical impulses. However, the railroad industry has had 150 years to do the necessary computations. I think it is entirely possible that the WTC disaster was not the work of terrorists at all, but the outcome of a very long term plan by the railroad barons to restore their once overflowing coffers.
|< My brain is sludge | BBC White season: 'Rivers of Blood' >|