Process definitions are high level descriptions instead of rigid workflows : Processes can only be defined up to a certain level of detail, and it is difficult to provide low level work instructions or to automate decisions. Because they cannot be formalised in detail, process simulation is rarely possible. Decisions are highly subjective and too complex to be expressed in a formal language, as they are taken based on intuition and not on rigid business rules.
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.