In all cases, however, the task that the algorithm is to accomplish must be definable. That is, the definition may involve mathematical or logic terms or a compilation of data or written instructions, but the task itself must be one that can be stated in some way. In terms of ordinary computer usage, this means that algorithms must be programmable, even if the tasks themselves turn out to have no solution. In computational devices with a built_in microcomputer logic, this logic is a form of algorithm. As computers increase in complexity, more and more software_program algorithms are taking the form of what is called hard software.
The possibility of developing some such artifact has intrigued human beings since ancient times. With the growth of modern science, the search for AI has taken two major directions: psychological and physiological research into the nature of human thought, and the technological development of increasingly sophisticated computing systems. In the latter sense, the term AI has been applied to computer systems and programs capable of performing tasks more complex than straightforward programming, although still far from the realm of actual thought. The most important fields of research in this area are information processing, pattern recognition, game_playing computers, and applied fields such as medical diagnosis.