I have a system that takes in 'm' inputs and provides a cost value as an output. The system is a "black box" to me. The inputs can be varied and the corresponding output can be observed, however, I have no prior knowledge of the function that this box implements. Given that I can fiddle with the input values(all real valued), is there an algorithm or a learning based solution that can maximize the cost function in minimum number of iterations? I think this might be a well known problem, however, this genre is way beyond my ken and I am finding it difficult to frame the terms I should be googling for. A link or mention of the name of the algorithm or a short description of the solution would be appreciated.


If don't know anything about the function, then your problam is practically unsolvable: The function in the box could be 0 evereywhere, except for a single set of inputs, where it is 1. No strategy can guarantee that you find this set of inputs in finite time.

The situation might look better, if you can assume some sort of smoothness and/or monotony conditions.

  • $\begingroup$ If I assume that the cost function surface will be smooth, continuous, with several local maxima and minima; can this assumption help me choose an algorithm? $\endgroup$ May 17 '14 at 9:11
  • $\begingroup$ @user1155386, if it is non-convex heuristics will have to suffice like simulated annealing. Unless you can prove you have some very nice properties (e.g., Lipschitz or smoothness) then some methods for using intervals + gradient descent apply. But even still, this may take exponential time. $\endgroup$ Jun 11 '14 at 5:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.