Assignment 1: Finding the minimum in a 2D space
Deadline: Nov, 20 2023 14:00 CET
Finding the minimum point of functions is an important topic in many disciplines, including machine learning and natural language processing. In this exercise, we will work on a simpler (in some ways more difficult) form of the problem. Given a matrix (2D grid) of values that come from a strictly convex function, we want to find the minimum value in the matrix. We further assume that the true minimum is within our grid.
A visualization of an example concave function is provided below. You can re-genrate the visualization, or visualize other potential input matrices using visualization script.
The above simplifications means you are working with a constrained problem, where a greedy algorithm (possibly with some memoization) can work faster than a general purpose min() implementation.
Exercise
Implement the function find_minimum() in the template. Your code should run for any matrix whose values are sampled from a strictly convex function given a grid of (x, y) values.
Furthermore, your function should be faster than the generic min()
implementation from numpy.
As usual, your implementation should pass the provided tests.
Wrapping up
Do not forget to
- indicate your name(s) in the file header
- commit all your changes
- push it to your GitHub repository