136 karma · joined November 21, 2012
Oh, like Uber and AirBnb?
Cryptography is a CPU-bound operation that often has specialized hardware support. Here's a rule of thumb: in modern computing, IO incurs a greater cost than pretty much anything you can do locally on-CPU. IO is incredibly expensive: cryptography, not so much. If you pipeline your crypto operations and disk fetches, you won't increase response latency at all.
For starters, we need a "cost function" so we can see which solutions are better than others. That's the easy part: render the model on 3D hardware, lighting it with a distant point light source. The "cost" (the value we're trying to minimize) is 1 - Σ(face_brightness); modern hardware can easily handle precise geometric shadowing using a stencil buffer or similar well-known technique. Handle the thermal constraints by setting the "cost" to 1 when the space station disintegrates.
Now we just need to find some ways of coming up with proposed solutions and pruning all but the best solutions. This problem has path dependencies, so we can't just apply a greedy algorithm. That is, solar panel actuators take time to move, so the best solution for time [T_1, T_3] isn't necessarily the concatenations of the best individual solutions for intervals [T_1, T_2] and [T2, T_3].
What you're left with is actually a graph search problem, where our graph nodes are actuator inputs at specific (quantized) times; I feel like something like the veneralbe A* algorihm would be a good place to start looking for paths through this graph.
(See http://neopythonic.blogspot.com/2009/04/final-words-on-tail-...)