Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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