Let’s say we want to find the minimum point in y and value of x which gives that minimum y. There are many ways to find this. I will explain three of those.
1) Search based methods: Here the idea is to search for the minimum value of y by feeding in different values of x. There are two different ways to do this.
a) Grid search: In grid search, you give a list of values for x(as in a grid) and calculate y and see the minimum of those.
b) Random search: In this method, you randomly generate values of x and compute y and find the minimum among those.
The drawback of search based methods is that there is no guarantee that we will find a local or global minimum. Global minimum means the overall minimum of a curve. Local minimum means a point which is minimum relatively to its neighboring values.
My favorite class of algorithm here is evolutionary algorithms, particularly genetic algorithms and genetic programming. They’re a last-ditch effort when nothing else works, but the funny thing about them is that when nothing else works, they tend to step up.