In computer science parlance, there is a term called machine learning. Let us understand concept of machine learning in this post.
Generally computers are used for computing purposes. You give some input and conditions to get output to the computer and the computer in turn computes as per the conditions you have given and gives you the output. For instance, you wanted to get a report for all sales done in the past week. The computer will have to have all the sales data and then the instruction for calculating the sales done in the past week. Then it will compute and will give you the output.
Simple computing can not give you outputs in cases where you want some output which can not be computed. For example, you want to create a spam filter for your emails. Which emails are spams and which are not is not easy to be configured. You can create rules to find out words, phrases etc. which can be considered as part of a spam email. The rules for creating a spam filter will definitely be complex and can not be created using straight computing formulas. There will be soft constraints which can be over ruled in case when some other rules overlap. Similarly the spam filter program should be able to learn from some guidelines provided.
One more example here is to create a rule to judge if any user password is weak or strong. A guideline will be created which will be used to judge any password provided by the user and will show if the password is weak or strong.
At a higher level, machine learning is a phenomenon where a computer should be able to learn from past behavior. For example, when a user visits a website, the website should have software libraries which will find out about past behavior of this particular user of the website and provide content based on this past behavior. One good example now a days is the advertisements posted on websites. Through machine learning it is possible to show advertisements to particular users based on their past behavior.
One more example of machine learning is in finding patterns and matching it with some given pattern. For example, matching finger prints. The computer will search finger prints and find out one which closely matches with given finger print. Even though the t2o finger prints may not exactly be same (one finger print taken now for sampling and one which exists in the database for example) but examining the pattern it will be made sure that the 2 finger prints are of the same person.
research is going on to find out patterns in live video streams and capture and find out if some unusual event has happened. For example, it is possible to find out a person stealing some ornament in a jewellery store from a live video capture and at this event of stealing, the computer system signalling an alarm without any human intervention.
There are exciting possibilities in machine learning in the future. A lot of research is going on and we will see some of these research coming out with practical usage soon.