# What properties of a discrete function make it a theoretically useful objective function?

A few things to get out of the way first: I'm not asking what properties the function must have such that a global optimum exists, we assume that the objective function has a (possibly non-unique) global optimum which could be theoretically found by an exhaustive search of the candidate space. I'm also using "theoretically useful" in a slightly misleading way because I really couldn't understand how to phrase this question otherwise. A "theoretically useful cost function" the way I'm defining it is:

A function to which some theoretical optimisation algorithm can be applied such that the algorithm has a non-negligible chance of finding the global optimum in less time than exhaustive search

A few simplified, 1-dimensional examples of where this thought process came from: Here's a function which, while not being convex or differentiable (as it's discrete), is easily optimisable (in terms of finding the global maximum) with an algorithm such as Simulated Annealing. Here is a function which clearly cannot be a useful cost function, as this would imply that the arbitrary search problem can be classically solved faster than exhaustive search. Here is a function which I do not believe can be a useful cost function, as moving between points gives no meaningful information about the direction which must be moved in to find the global maximum.

The crux of my thinking so far is along the lines of "applying the cost function to points in the neighbourhood of a point must yield some information about the location of the global optimum". I attempted to formalise (in a perhaps convoluted manner) this as:

Consider the set $$D$$ representing the search space of the problem and thus the domain of the function and the undirected graph $$G$$, where each element of $$D$$ is assigned a node in $$G$$, and each node in $$G$$ has edges which connect it to its neighbours in $$D$$. We then remove elements from $$D$$ until the objective function has no non-global local optima over this domain and no plateaus exist (i.e. the value of the cost function at each point in the domain is different from the value of the cost function at each of its neighbours). Every time we remove an element $$e$$ from $$D$$, we remove the corresponding node from the graph $$G$$ and add edges which directly connect each neighbour of $$e$$ to each other, thus they become each others' new neighbours. The number of elements which remain in the domain after this process is applied is designated $$N$$. If $$N$$ is a non-negligible proportion of $$\#(D)$$ (i.e. significantly greater than the proportion of $$\#(\{$$possible global optima$$\})$$ to $$\#(D)$$) then the function is a useful objective function.

Whilst this works well for the function which definitely is useful and the definitely not useful boolean function, this process applied to the random function seems incorrect, as the number of elements that would lead to a function with no local optima IS a non-negligible proportion of the total domain.

Is my definition on the right track? Is this a well known question I just can't figure out how to find the answer to? Does there exist some optimisation algorithm that would theoretically be able to find the optimum of a completely random function faster than exhaustive search, or is my assertion that it wouldn't be able to correct?

In conclusion, what is different about the first function that makes it a good candidate for optimisation to any other functions which are not.

• Convex implies continuous, while your use of graph and neighbour is inherently discrete. If you are looking for some theoretical results about functions that are easy to optimize, I suggest googling for "local search" and "objective function landscape" Jul 6 '20 at 11:58
• @GabrielGouvine Hi thanks for commenting! I've replaced instances of "convex" with "containing no non-global local optima", as I was misusing the term. Furthermore, I think I may have been a bit unclear in my wording of the question, perhaps you could help me clarify? I don't necessarily want to know whether a function is "easy" to optimise, but rather if, from I suppose an information theoretic perspective, it CAN be optimised any faster than exhaustive search in the worst case (even if the advantage is minimal and is still not practical): e.g. the given boolean function provably cannot be Jul 6 '20 at 12:23
• Well it's a well known hard question. It's very difficult to caracterize local search performance theoretically, although it's been done for some cases (problem+neighborhood) Jul 6 '20 at 13:13
• @GabrielGouvine awesome, if you could point me to an article or paper which mentions/discusses the problem I would be happy to accept that as an answer as i couldn't find any just looking up what you suggested :) Jul 6 '20 at 15:04