|
Some of the applications that you may think of may be implemented less expensively using
traditional approaches instead of AI techniques.
Other applications may be beyond the capabilities
of current AI techniques to implement cost effectively.
Artificial intelligence
software is likely to be the best way to implement an application if many of the
following characteristics are present:
-
The activity is complex
and uses human reasoning and expert knowledge.
-
The activity is normally
accomplished manually by a human expert, who has developed his/her skills
through extensive and lengthy experience and has considerable knowledge
of the field.
-
The activity can be
described clearly in considerable detail.
-
An adequate, but not
perfect, and timely performance of the activity fulfills the organization's
expectations of the person or software responsible for the activity.
-
Automation of the activity
is not amenable to straightforward solution by numerical computation; or,
if numerical computation theoretically would provide a solution, it would
require a long time to complete or require excessive amounts of resources
-
The activity involves
decisions that are usually made based on uncertain, incomplete, probabilistic,
or fuzzy knowledge, and that result in outcomes that don't always turn
out to be best in hindsight.
-
The activity occurs
in a context that is always changing over time (i.e., is dynamic) so that
a better solution is likely to be made by someone (or some software) that
can take the changes into account as they happen, rather than set up rules
for decision making ahead of time by trying to anticipate what changes
may occur. If a person were to continue performing the activity, it would
be better performed by empowered employees than ones following rigid rules.
-
People usually use rules
of thumb (heuristics) to find solutions, and these rules work most of the
time but without guarantee of success.
-
Problems that arise
in completing the activity are ill-defined.
-
Success in the activity
isn't much more likely by breaking it up into sub-tasks and working on
each part separately. When this is done, it is usually found that the interactions
between the sub-tasks are so complex, the sub-tasks can't really be dealt
with independently of each other.
-
The activity can only
be successfully performed if the context is which it is performed is taken
into account (i.e., a person couldn't complete it successfully if he or
she didn't pay much attention to what was happening around him or her).
-
The person or software
performing the activity is sometimes required to explain the reasons underlying
their actions.
-
The activity cannot
be successfully automated using conventional software.
|