In recent decades, computer science has been remarkably successful at solving problems by casting them as search problems in high dimensional solution spaces. And this effort has largely been spearheaded by machine learning.
At its core, training a machine learning model is an optimization problem: a search for parameters that minimize some loss function. The trained model is then used to solve tasks like classification, planning, or control. These tasks can themselves be framed as search or decision problems. In this way, machine learning solves one search problem in order to automate the solution of others.
Training a machine learning model can also be thought of as extracting meaningful patterns from data. Here, meaningful might mean separating signal from noise. Using such meaningful patterns, we can generate predictions which in turn allows models to do tasks without explicit instruction.