Note: I already responded to him directly about his reply to me.
The fact that the specific and general differ is unimportant to my point. You don’t have the answer to start with, and so you have to calculate it. The calculation is what computation is. You can’t just assume that you already know the answer, and claim that makes computing it trivial.
The cities being constant changes nothing in this discussion, since you still had to compute it before putting the answer in the lookup table, and knowing which cities it was is only a precondition, not an answer. Memoization (the technical term for keeping track of the intermediate results of your computation) is useful, but not a panacea.
If I am a programmer and I can do the calculation on the behalf of my program beforehand at compile time and avoid any runtime computation that is still significant. We can’t have the compute time include everything about understanding the question otherwise we need to include kindergarden time about learning what the word “city” means. Thus while “global compute” is inescapable we are proper to just focus on time spent after the algorithm has been designed and frozen in place.
Calculating at compile time is still obviously computation! Obviously, if you can, it is better to do so most of the time, but it is also irrelevant to the point. This isn’t something that simply takes a long time to calculate, but if you run it for a few hours or days when creating the program it can be recorded. You cannot, in fact, calculate this beforehand because it is computationally infeasible. (In some cases, where the heuristics mentioned earlier work well enough, it can be computed, but that relies on the structure of the problem, and still requires a lot of computation.)
Obviously, we are just talking past each other, so I’ll stop responding here.
Note: I already responded to him directly about his reply to me.
The fact that the specific and general differ is unimportant to my point. You don’t have the answer to start with, and so you have to calculate it. The calculation is what computation is. You can’t just assume that you already know the answer, and claim that makes computing it trivial.
The cities being constant changes nothing in this discussion, since you still had to compute it before putting the answer in the lookup table, and knowing which cities it was is only a precondition, not an answer. Memoization (the technical term for keeping track of the intermediate results of your computation) is useful, but not a panacea.
If I am a programmer and I can do the calculation on the behalf of my program beforehand at compile time and avoid any runtime computation that is still significant. We can’t have the compute time include everything about understanding the question otherwise we need to include kindergarden time about learning what the word “city” means. Thus while “global compute” is inescapable we are proper to just focus on time spent after the algorithm has been designed and frozen in place.
Calculating at compile time is still obviously computation! Obviously, if you can, it is better to do so most of the time, but it is also irrelevant to the point. This isn’t something that simply takes a long time to calculate, but if you run it for a few hours or days when creating the program it can be recorded. You cannot, in fact, calculate this beforehand because it is computationally infeasible. (In some cases, where the heuristics mentioned earlier work well enough, it can be computed, but that relies on the structure of the problem, and still requires a lot of computation.)
Obviously, we are just talking past each other, so I’ll stop responding here.