Jain et al.’s definition is useful in distinguishing between “intelligent” and “dumb” (or normal) machines: “To be considered as an intelligent machine, the machine has to be able to interact with its environment autonomously. Interacting with the environment involves both learning from it and adapting to its changes. This characteristic differentiates normal machines from intelligent ones. In other words, a normal machine has a specific programmed set of tasks in which it will execute accordingly. On the other hand, an intelligent machine has a goal to achieve, and it is equipped with a learning mechanism to help realize the desired goal” (Jain et al. 2007, 2, emphasis added).