Computability and Optimization

I’ve developed an optimization algorithm that appears to be universal, in that it can solve superficially totally unrelated problems, e.g., sorting a list, balancing a set of weights, and high-dimensional interpolation. The algorithm itself doesn’t change in any material way, and what changes instead is the statement of what’s being optimized. In the case of a sorted list, I proved that a list is sorted if and only if adjacent terms have minimized distances, which allows sorting to be expressed in terms of optimization (i.e., minimize the distances between adjacent terms). This was not trivial to prove, and I’ve actually never heard of this result before, but more importantly, it suggests the general possibility that all computable problems can be expressed as optimization problems. If this is true, then my optimization algorithm would be able to solve any computable problem, with some non-zero probability. It’s not obvious whether this is true, nor is it obvious that it’s false, so I wouldn’t say it’s a conjecture, it is instead a question. As an example, how would you express Dijkstra’s Algorithm as an optimization problem? I thought about it just a bit, and quickly lost interest because I have too much going on, but the idea is there, and it’s interesting, because if it turns out that all computable problems are equivalent to some optimization problem, then my optimization algorithm has a non-zero probability of solving literally every computable problem. This would make the algorithm a universal problem solving algorithm, which would obviously be useful in A.I., though it already is plainly useful whether or not that’s true, since it can solve a wide class of problems.

Another interesting consequence stems from the observation that this algorithm, and many others, requires a random source (i.e., random number generation). However, a random source is not a feature in a pure UTM, and so it suggests the question of whether a UTM plus a random source is distinct from a UTM alone, and intuition suggests the answer is yes, but this is wrong. Specifically, it seems that a UTM plus a random source can solve problems a UTM alone cannot, which would be theoretically interesting, but is not true. Rather than use a random source, you can instead use a program that exhaustively and iteratively generates all possible values in a problem domain, and use this program to provide the otherwise random inputs to a Monte Carlo type algorithm, which proves equivalence, since every possibility generated by a random source will eventually be generated by the program, that by definition simply generates all possible values in order.


Discover more from Information Overload

Subscribe to get the latest posts sent to your email.

Leave a comment