Download Intelligent Agents and Applications in Enterprise Computing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
Transcript
Intelligent Agents and Applications In Enterprise Computing
Anthony M. Dymond, Dymond and Associates, LLC, Concord, California
Solutions will come from many sources. For
example, object-oriented programming lends itself to
large complex software projects developed in a
multi-team environment Another part of the solution
lies in shifting complexity into the applications and
computing environment by using intelligent
applications and intelligent agents.
ABSTRACT
The enterprise computing environment Is becoming
increasingly complex. Large volumes of data,
applications operated by multidisciplinary experts,
data requiring interpretation by subject matter
experts, and staff turnover place a significant burden
on corporations seeking to utilize the latest
technologies.
Intelligent applications drive visual and
conversational Interfaces with embedded
intelligence, allowing the application to function as
an assistant. This assistant can guide activities from
initial installation to daily operation. Intelligent
agents go a step further and provide a
semiautonomous application that acts on behalf of
the user. These agents can utilize multiple data
sources and perform functions such as making buysell decisions in a market. At the leading edge of
this technology, agents are able to discover new
information sources and learn from their past
experiences.
Part of the solution lies in shifting complexity into the
applications and computing environment by using
intelligent applications and intelligent agents.
Intelligent applications drive visual and
conversational interfaces with embedded
intelligence, allowing the application to function as
an assistant. Intelligent agents go a step further and
provide a semiautonomous application that acts on
behalf of the user. At the leading edge of this
technology, intelligent agents are able to discover
new information sources and learn from their past
experiences.
The field of artificial intelligence provides a variety of
tools that can be used to build intelligent applications
and Intelligent agents. A few of these to consider
here Include genetic algorithms, machine learning,
data mining, fuzzy logic, and expert systems.
This paper briefly reviews some of the artificial
intelligence technologies used to build intelligent
applications and intelligent agents.
INTRODUCTION
INTELLIGENT SYSTEMS
The enterprise computing environment is becoming
increasingly complex. In recent years data has been
organized Into large data warehouses. lntranets and
the Internet continue to feed these data repositories
larger and more diverse volumes of data. Wellorganized data warehouses have opened the door
to complex application suites for tasks such as data
mining and CRM.
Tasks for Intelligent Systems
It is often easiest to construct intelligent systems that
operate in a bound knowledge domain. These
systems solve problems where the answers are
assumed to be known. For example, problems in
medical diagnosis or call center support assume a
bound knowledge space. There is no expectation
that an entirely new disease will be encountered or
that a customer will call in with an unknown problem.
(If these did happen, the intelligent systems should
gracefully return a negative search result and
knowledge engineers would then add the new case
to the knowledge base.)
At the same time, the teams needed to support
these complex applications are facing difficulties.
Increasing mobility among employees compromises
team structure since employees routinely leave and
take their expertise with them. Globalization is
bringing together teams from several continents that
must compensate for language and cultural
differences while working on shared projects.
Searching In bound knowledge domains is of great
practical importance, and many real problems lie in
this area. Decisions to authorize a loan, issue an
insurance policy, or approve a credit card application
all involve search in bound domains. Such
applications initially seem to be very different, but
when remapped to a problem of bound domain
search, they can be viewed as versions of the same
Large volumes of data, applications operated by
multidisciplinary experts, data requiring
interpretation by subject matter experts, and staff
turnover place a significant burden on corporations
. seeking to uttlize the latest technologies. All of
these problems can be expected to increase.
489
basic problem. It is a surprising and valuable
observation that all these problems are subject to a
generic solution if a consistent way can be found to
represent and navigate knowledge.
In practice, one can think of knowledge exploration
as being carried out by a small robot that moves
along the branches of the tree. Every time the robot
passes by one of the nodes containing an object, it
causes the object to run some of its methods code.
The tree search algorithm in use determines the
actual path of the robot along the braches. The
robot's path may be manipulated by methods setting
flags on nodes that prevent the robot from entering
into that node or its descendants. There are also
system methods that allow the robot to be picked up
and moved to another location in the tree (Dymond,
2000, 2001).
It is generally more difficult to solve problems where
the knowledge space is not bound. These are
problems where an answer is expected to exist and
there are tests to evaluate potential answers, but It is
not known exactly what the candidate answer will
look like. Building a block wall is a classic example
of this type of problem. Starting with a pile of blocks,
it Is possible to build a large number of different
walls. Only a few of the walls will pass a test and be
deemed acceptable. None of the acceptable walls
are known in advance.
Tree searching can be illustrated by a simple
example of a bound domain knowledge base
containing knowledge about how to identify
marsupial mammals. The knowledge base contains
four objects placed as tree nodes as shown below.
Many practical problems that involve building or
scheduling are problems of unbound knowledge
spaces. As before, if we can remap these
seemingly diverse problems to a common problem
of generating and evaluating solutions, then one
general solution may solve many problems in
unbound knowledge domains. We will see later that
genetic algorithms have been proposed as one
general solution to these problems.
Machine learning is another and more
heterogeneous area for intelligent systems.
Exploration in both bound and unbound domains
can be combined with techniques from data mining
to discover new information. The information
captured in structured exploration using decision
trees is generally amenable to transfer into a
knowledge base. A new case can also be compared
to a library of previous solutions to find similar
solutions. The library case is then modified to meet
the new requirements by a "propose and tesr
strategy.
When the search robot passes through the object
Marsupial it will execute methods that implement the
proof using attributes from the above objects:
Marsupial:- Mammal AND MarsupialPouch
OR
Marsupial :- Opossum
OR
Marsupial :- Kangaroo
Knowledge Representation
Representing knowledge in computer data
structures is a central issue in intelligent systems.
One approach used today Is called structured
objects. Knowledge is first decomposed into objects
containing data and methods. These objects are
then placed as nodes In a tree. The tree provides a
framework and control structure that guides
navigation between the nodes. Navigation is under
the control of well-understood tree search algorithms
such as "depth-flrsr and "breadth-firsr search.
Taken together, the tree and objects comprise what
is generally referred to as a "knowledge base,"
containing a representation of an expert's
knowledge and behavior in a domain (Jackson,
1999).
(1)
(2)
(3)
If the search robot started at the Mammal node, the
optimal knowledge search might be to test if
Mammal and MarsupiaiPouch were both true and, if
so, set the flag on the node Marsupial. This would
force the search robot back up the tree and
effectively end the search process. However, if the
first test failed, then the second and third tests could
be attempted. It is unlikely that information about
Opossum and Kangaroo is yet available and it would
therefore not be possible to complete the proof. At
this point, the search robot would descend to the
Opossum node where methods would execute to
provide a value for Opossum. Since Opossum is a
terminal node {it has no descendants}, the search
490
goal-driven searches) or from the bottom of the tree
upward (forward chaining or data-driven searches).
robot would return up the tree to the Marsupial node
where the three t~sts for Marsupial would again be
conducted. If Opossum was now known to be true,
then the proof could be made, the flag set, and the
search would be concluded. However, if Marsupial
still could not be proven true, the search robot would
descend next to the Kangaroo node to gather
Information before returning to the Marsupial node
for a final try at completing the proof for Marsupial.
Data Mining
Data mining is a collection of techniques aimed at
discovering associations in data. It is often a goal to
return modeling or predictive functions that will allow
pragmatic business decisions. For example, the
data miner may seek to find which groups of
individuals are good credit risks and then develop a
predictive model so only these optimal customers
are sent proposals.
This progression back and forth through these
nodes is exacUy what would result from specifying a
depth-first tree search algorithm, which defines a
top-to-bottom and left-to-right transversal of the tree.
Data mining uses a number of complex statistical
tools. In this regard it is fairly challenging and
requires a high-level skill set from the practitioner.
However, expertise in applied statistics is rarely
enough for a successful data mining project. Other
individuals with expertise in the target knowledge
domain must support the miner, resulting in a
combined knowledge base containing both statistical
and business domains.
This is an efficient programming environment since
much of the control structure lies in the order of
nodes in the tree and the built-in tree search
algorithms. This can be compared to conventional
programming where the entire control structure must
be written for each project using programming tools
such as layered subroutine calls.
This is also an intuitive structure since visual
inspection of the tree and a sense of how the tree
search algorithms work will provide a good sense of
how the knowledge exploration will unfold. The
control structure is now available in a visual form
accessible by both programmers and field staff,
rather than being buried in complex procedural
code.
Data mining is sometimes perceived as a one-time
effort. In fact, data mining is often a continuing
process since competitive markets are constantly
changing as other businesses mold their behaviors
to gain advantage. A continuing automated data
mining application may be desirable, and this can be
implemented by encapsulating multiple domain
expertise into an intelligent system.
Structured objects are scalable. Although this
example uses a tree with only four nodes (objects), it
is easy to see how this could scale to structures with
hundreds of nodes.
Here is a simple example. Assume the data mining
objective is to improve sales in a store. Verifying the
sales data and selecting adult customers is the
responsibility of the store domain knowledge expert,
while statistical modeling is the responsibility of the
applied statistics knowledge expert. Their
knowledge can be combined in the knowledge tree
shown in Figure 1.
The search algorithm is efficient. Review of the
steps In the search suggests this may be close to
the optimal procedure. Efficient searching is
essential for exploration in knowledge bases with
hundreds or even thousands of objects. Tree
search algorithms can travel with great efficiency
through large knowledge spaces, gathering only the
data needed and only when it is needed to home in
on an answer.
Assuming a depth-first algorithm will be used to
transverse the knowledge tree in a top-to-bottom,
left-to-right manner, it is possible to •read the tree•
as follows:
Search in tree structures can begin at any node in
the tree. This ability to enter the knowledge space
at any point provides flexibility and efficiency. For
example, If the knowledge base above was larger
and contained regions for both placental and
marsupial mammals, it would be advantageous to
enter at a node in the marsupial region if there was
prior evidence that the animal was a marsupial.
Begin the session by identifying the co11ect data files
(Start). Verify that the store data is complete and
co11ect (VerifyData) and then select only records for
adult purchasers (FindAdults). The stage is now set
for the statistical domain expert to begin building the
model (MarketModel). The statistician first finds and
remQves any outliers (RemoveOut/iers), after which
the predictive model is calculated (CalculateModel).
Some statistical measures are then used to
determine if the model is valid (VerifyResults).
Search algorithms can provide for searches from the
root of the tree downward (backward chaining or
491
The information gained from these decision trees
could be expressed in a knowledge base
encapsulating the knowledge that a loan should be
made only if both the credit and resources to repay
the loan are satisfactory.
Finally, the store domain expert prepares a report for
management (Report).
This demonstrates data mining as an application of
Intelligent systems. Data mining can also be a core
technology underlying intelligent systems since it
can uncover new Information that will be Integrated
into the knowledge base during machine learning.
Machine Learning
The use of structured objects lends itself to machine
learning if the tree structure is extensible at run time.
New objects can be identified and placed at the
appropriate location in the tree. Methods within the
new objects can be realized by completing
templates or by Invoking Inheritable methods. In an
advanced system one can imagine knowledge
bases specialized to write methods code for new
objects as part of the machine learning process.
Fuzzy Logic
Search In a knowledge base frequently returns
multiple candidate answers, and intelligent systems
must have some way to express degrees of belief.
For example, a knowledge base to identify animals
could return results as: horse at very high belief,
zebra at moderate belief, and mule at low belief.
One mechanism to expand a knowledge base is to
find a new case that resembles an existing case.
For example, a new animal might closely resemble a
horse except for having striped hair and living only in
Africa. A knowledge base could extend itself by
taking the object Horse and inserting an edited
version Into the tree as the new animal Zebra.
This problem can be approached from either
classical probability or fuzzy logic. Fuzzy logic Is
frequently found in intelligent systems because it is a
fairly simple and robust system that resembles how
people think (Russell and Norvig, 1995).
Fuzzy logic deals well with the Imprecision of the
real world. For example, humans are comfortable
with the concept of "tall.• People know that
someone whose height is five feet is not tall,
someone who is seven feet is tall, and someone
who is five foot eleven inches is "somewhat tall. •
Fuzzy logic approaches this by assigning a degree
of membership in the group "tall" as a function of
height. A possible function is shown in Figure 2,
which would transform the "crisp• value height into a
fuzzy number representing membership in the set
"tall." It is also common to have membership in
several sets at the same time, as in shown In
Figure3.
--r-----------·
.----''---,
~H_o_rse__~~-~~z_e_bra__~
New data can be discovered and Included In the
knowledge base. For example, knowledge
discovered in decision trees during data mining
requires only a remapping into the structured objects
tree. For example, decision trees relating credit and
financial resources to repaying versus defaulting on
loans might resemble:
Modifiers such as "somewhar or "very" can be
applied to the fuzzy values. The modifiers have a
defined mathematical function. For example,
"somewhar might apply a square root to the
transform. His also possible to have a fuzzy
membership depend on several crisp values.
Combined with modifiers, this allows making
statements such as •Jim was somewhat tall for a boy
his age,· which would return a fuzzy number
representing Jim's degree of membership In the set
of tall boys of his age.
492
initial sequences are built, genetic algorithms apply
"mutations• to the sequences and test for viability
and quality. The process goes through multiple
iterations with the best sequences from the last
cycle becoming the starting sequences for the next
cycle of mutations and testing.
These fuzzy values can be manipulated as part of
rules. For example, "The building was large and
new" would seek to find the building's membership
in the set of large and new buildings as:
fuzzy(building)
=min(fuzzy(building_size),
fuzzy(building_age))
Two possible mutations that could be applied to the
traveling salesman sequences are inversion
Procedures also exist to convert derived fuzzy
values back into crisp values. Taken together, fuzzy
logic is remarkably effective in quantifying and
manipulating the everyday concepts humans use to
describe the world.
A,D,B.E,C,F,A ->
A.~.C.F,A
and exchange
A,Q,B,g,C,F,A -> A,g,B,Q.,C,F,A
Genetic algorithms
A variety of criteria can be used to determine when
the mutation cycles should stop. For the traveling
salesman problem, a solution can be accepted when
there is no longer significant improvement in the
total distance traveled.
Consider the traveling salesman problem where a
salesman has to travel between a group of cities,
traveling the minimum total distance and returning
home without visiting the same city twice. Figure 4
shows two of the possible solutions for six cities.
Problems of this type are very hard to solve. All
combinations can be examined when there are only
six cities, but this quickly becomes impractical as the
number of cities increases. These problems may
have several acceptable solutions, but these are not
known in advance. It is often impractical to know
how close a solution is to the best solUtion. The
goal is often to find a good solution in a reasonable
amount of time (Fogel, 2000).
CONCLUSION
There are many problems of this general type.
Scheduling and the construction problems
mentioned previously are some examples. They
require discovering one or more sequences. The
sequences of cities for the two solutions shown In
Figure 4 are:
The field of artificial intelligence provides many tools
to enhance Intelligent systems. Data mining allows
systems to explore their environment Fuzzy logic
permits quantitative modeling that mimics the way
humans view the world. Genetic algorithms offer a
pragmatic way to discover novel solutions to very
complex problems.
Intelligent applications and agents play an important
role in knowledge management and enterprise
computing. A key component is a system for
representing knowledge. Structured objects use an
object-oriented model with a separate control
structure, encouraging a declarative approach with
the potential for machine learning.
A,B,C,F,E,D,A (1)
A,D,B,E,C,F,A (2)
There are criteria to judge if the sequence Is viable.
In this example, visiting the same city twice Is not
allowed. There are also criteria to judge quality, and
these sequences can be ranked based on the total
distance traveled.
There may be heuristics to guide building a
sequence, and they should be applied to find the
initial sequences. For example, the beginning city
always starts and ends the sequence and never
appears in the middle. Also, if the distance between
cities is known it could guide selecting the next entry
in the sequence.
Genetic algorithms recognize that these sequences
have some similarity to genetic codes. After some
493
REFERENCES
ACKNOWLEDGEMENTS
Dymond, A.M. (2000), "An Object-Oriented Expert
System for the SAS Environment," Proceedings of
the Eighth Annual Western Users of SAS Software
Regional Users Group Conference, 8, 454-458.
Automated Consultant is a trademark of Dymond
and Associates, LLC.
SAS and all other SAS Institute Inc. product or
service names are registered trademarks or
trademarks of SAS Institute Inc. in the USA and
other countries. ® indicates USA registration.
Dymond, A.M. (2001 ), "Telling Aardvarks from
Zebras with an Expert System Written in SAS,"
Proceedings of the Twenty-Sixth Annual SAS Users
Group International Conference, Long Beach,
California. (CDROM paper 135-26).
Other brand and product names are registered
trademarks or trademarks of their respective
companies.
Fogel, D.B. (2000), "What Is Evolutionary
Computation?," IEEE Spectrum, 37,26-32.
CONTACT INFORMATION
Jackson, P. (1999), Introduction to Expert Systems,
Harlow, England: Addison Wesley Longman Limited.
Anthony M. Dymond, Ph.D.
Dymond and Associates, LLC
4417 Catalpa Ct.
Concord, CA 94521
Russell, S. and P. Norvlg (1995), Artificial
Intelligence: A Modem Approach, Prentice-Hall.
(925) 798-0129
(925) 680-1312 (FAX)
[email protected]
A SAS Institute Inc. Quality Partner
Figure 1: A knowledge base for an intelligent data miner that combines store domain expertise (single line) and
statistical domain expertise (double lines).
494
T
1
A
L
L
0
5
4
6
7 (feet)
Figure 2: A transform to convert the crisp value of height (In feet) into a fuzzy value (Q-1) indicating membership
In the set "tall."
average
short
tall
1
----------,,
0
______ '~---~-----·
~--- \
'_,_'_, '
4
6
5
7 (feet)
Figure 3: Three transforms to convert height into memberships in the sets short, average, and tall. Some values
of height can belong to more than one set.
Figure 4: Two of the possible solutions to the salesman problem for six cities. The solution with the solid lines is
better because the total distance is shorter.
495