Its human nature to analyse things going on around us . All of us have the gifted ability to analyse, but only a few
are able to quantify. In other words, when we look at something, we automatically start estimating it. Infact we usually want the exact number. For instance, the population of a country or quantity of groceries or the no. of lectures or the no. of working hours in a day and so on. The no. s are important because they let us plan the future. Besides it keeps the mind satisfied.
So when we are able to provide such description , we feel contented. But there are situations when we are not able to give an exact number. In those cases a good approximation is needed. And for that we need experience and little bit of insight into the working of the situation , which provides a standing ground for good approximation. In other words , estimation can be associated to pattern matching also. We can apply known to unknown to get to where we want to go from where we are !
That's where algorithms and complexity come into picture. This area provides methods to do good approximations in uncertain environments. With these methods , we can arrive at a ball park figure, if not more.
But sometimes that itself is a lot, especially in really complex situations, where we can not predict how the circumstances may react. In other words, we are always trying to model a machine or anything as accurate.
We want to get as close to the machine's answer as possible. So this process may take us closer to the working of a machine and other aspects of machine learning.
Finally, i guess its all about building better/faster and OPTIMIZED algorithms that lead us to good approximations.