Agent Building and Learning Environment
ABLE: A Java framework, component library, and productivity tool kit for building intelligent agents using machine learning and reasoning.
Date Posted: May 4, 2000
|
|
 |
 |
|
Update: July 19, 2005
Version 2.3.0 requires Eclipse 3.0 and JDK1.4; it includes a new Eclipse plug-in administration console for distributed agent platform, updated Eclipse rule and agent editors, a new PetriNet agent, and an updated example project.
What is the Agent Building and Learning Environment (ABLE)?
ABLE is a Java framework, component library, and productivity tool kit for building intelligent agents using machine learning and reasoning. The ABLE research project is made available by the IBM T. J. Watson Research Center.
The ABLE framework provides a set of Java interfaces and base classes used to build a library of JavaBeans called AbleBeans. The library includes AbleBeans for reading and writing text and database data, for data transformation and scaling, for rule-based inferencing using Boolean and fuzzy logic, and for machine learning techniques such as neural networks, Bayesian classifiers, and decision trees. Developers can extend the provided AbleBeans or implement their own custom algorithms. Rule sets created using the ABLE Rule Language can be used by any of the provided inferencing engines, which range from simple if-then scripting to light-weight inferencing to heavy-weight AI algorithms using pattern matching and unification. Java objects can be created and manipulated using ABLE rules. User-defined functions can be invoked from rules to enable external data to be read and actions to be invoked.
How does it work? Core beans may be combined to create function-specific JavaBeans called AbleAgents. Developers can implement their own AbleBeans and AbleAgents and plug them into ABLE's Agent Editor. Graphical and text inspectors are provided in the Agent Editor so that bean input, properties, and output can be viewed as machine learning progresses or as values change in response to
methods invoked in the interactive development environment.
Application-level agents can be constructed from AbleBean and AbleAgent components using the ABLE Agent Editor or a commercial bean builder environment. AbleBeans can be called directly from
applications or can run autonomously on their own thread. Events can be used to pass data or invoke methods and can be processed in a synchronous or asynchronous manner.
The distributed AbleBeans and AbleAgents are as follows:
Data beans
AbleImport reads data from flat text files.
AbleDBImport reads data from SQL databases.
AbleFilter filters, transforms, and scales data using translate template specifications.
AbleExport and AbleDBExport write data to flat text files and SQL databases.
AbleTimeSeriesFilter collects periods of data for use in predicting future values.
Learning beans
Back Propagation implements enhanced back propagation algorithm used for classification and prediction.
Decision tree creates a decision tree for classification.
Naive Bayes learns a probabalistic model for classification.
Radial Basis Function uses radial basis functions to adjust weights in a single, hidden-layer neural network for prediction.
Self-Organizing Map clusters data using Gaussian neighborhood function.
Temporal Difference Learning uses reinforcement learning for time series forecasting; gradient descent is used to adjust network weights.
Rules beans inferencing engines include
Backward chaining
Forward chaining
Forward chaining with working memory
Forward chaining with working memory and Rete'-based pattern matching
Planning
Predicate logic
Fuzzy logic
Script
Agents
Genetic search manipulates a population of genetic objects which may include AbleBeans.
Neural classifier uses back propagation to classify data.
Neural clustering uses self-organizing maps to segment data.
Neural prediction uses back propagation to build regression models.
Rule agent contains a rule set whose rule blocks define its init, process, and timer actions
Script uses rule sets to define its init, process, and timer actions.
JavaScript names JavaScripts to run when the agent's init, process, or time actions are called.
The development team can be contacted by email at ableinfo@us.ibm.com or newsgroup at news://forums.ibm.com/forums.software.able.
Also see the developerWorks articles:
Adding rules to applications: Use the ABLE Rule Language to write simple business rules or more complex inferencing rules.
The features and facets of the Agent Building and Learning Environment (ABLE): Learn about the major features and facets of the Agent Building and Learning Environment (ABLE), including the ABLE architecture and how to manipulate data beans, rule beans, and learning beans to be used in a wide variety of applications.
Use autonomic computing for problem determination: Perform root-cause analysis with the Autonomic Management Engine and ABLE components.
|
|
 |

|  | About the technology author(s): Title: IBM T.J. Watson Research Center, Rochester eServer Software Services.
Joseph P. Bigus is a senior technical staff member at the IBM T. J. Watson Research Center, where he is the project leader on the ABLE research project. He is a member of the IBM Academy of Technology and is an IBM Master Inventor, with over 20 US patents. Dr. Bigus was an architect of the IBM Neural Network Utility and Intelligent Miner for Data products. He received his M.S. and Ph.D. degrees in Computer Science from Lehigh University and a B.S. in Computer Science from Villanova University. He has written two books: Data Mining with Neural Networks (McGraw-Hill) and Constructing Intelligent Agents with Java (Wiley). Dr. Bigus's current research interests include learning algorithms and intelligent agents, as well as multi-agent teams and their applications to adaptive system modelling and control, data mining, and decision support.
Don Schlosnagle is a software engineer at Rochester eServer Software Services in MN. He studied computational linguistics and expert systems at SRI and wrote, in Common Lisp, a PC-based natural language DB2 query program that was successfully marketed by IBM as a PRPQ. Mr. Schlosnagle has since worked on the Neural Network Utility and on Intelligent Miner for Data, where he contributed the fuzzy logic inference system for evaluating proposed neural network architectures. A greatly enhanced version of the fuzzy system found its way into Able. Mr. Schlosnagle's current interest is in combining neural networks with fuzzy logic.
Jeff Pilgrim is a software engineer at Rochester eServer Software Services in MN. His development experience includes work on Intelligent Miner for Data, Neural Network Utility, wide area wireless computing, and Management Central. Previously in Endicott, NY, he was a developer and architect for the 9221, 9370, and AS/400 configurators, as well as for numerous internal industrial engineering applications. Mr. Pilgrim joined IBM in 1979 at IBM Owego, where he was responsible for forecasting workload for defense contracts. Previously an APL zealot, he is now a Java bigot. Mr. Pilgrim received his M.S. in Industrial Engineering and Operations Research in 1980 from Pennsylvania State University.
Irina Rish is a research staff member at the IBM T. J. Watson Research Center, Hawthorne, NY. She received her Ph.D. in Computer Science (in Artificial Intelligence) from the University of California, Irvine, in 1999. Before that, she earned an M.S. in applied mathematics from the Moscow Oil and Gas Institute in Moscow, Russia. Ms. Rish's research interests include probabilistic reasoning in Bayesian networks, constraint satisfaction and optimization, machine learning, and practical applications, including performance management in distributed computer systems.
W. Nathaniel (Nat) Mills, III is a senior software engineer at the IBM T. J. Watson Research Center in Hawthorne, NY. He started with IBM Research as a consultant in 1995 and became an employee in 1997. He designed and co-developed the Page Detailer Web performance analysis software that is shipped with WebSphere Studio, Advanced Edition. Before joining IBM, Mr. Mills ran a successful business for ten years that focused on network management product research and development. His research interests include systems management, and "rationale management," which seeks to expose the reasoning that enables the making of decisions. Mr. Mills received his BS in Mathematics and Computers Coordinated with Mathematics from Trinity College in 1979.
Jim Hanson is a research staff member at the IBM T. J. Watson Research Center, Hawthorne, NY. He received his Ph.D. in Physics (in Nonlinear Dynamics) from the University of California, Berkeley, in 1993. Before coming to IBM, he was a postdoctoral fellow at the Santa Fe Institute, where he worked on Computational Mechanics of Cellular Automata. Dr. Hanson's current research interests include conversation support for software agents, simulation and analysis of complex systems, emergent phenomena in distributed computation, and autonomic computation.
Richard Goodwin is a research staff member at the IBM T. J. Watson Research Center in Hawthorne, NY. He received from Carnegie Mellon University Ph.D. and M.S. degrees in Computer Science, with an emphasis on artificial intelligence, planning, and machine-learning. Since joining IBM, Dr. Goodwin has worked on agent-based optimization (Asynchronous Teams of Agents), electronic marketplaces, and decision-support systems. His current focus is on semantic Web representations and semantic Web services.
Biplav Srivastava is a research staff member at the IBM India Research Center in New Delhi, India. He received his Ph.D. and M.S. degrees (with an emphasis on planning, scheduling, and distributed computing) and his B.Tech degree from Institute of Technology (IT-BHU), India, all in Computer Science. Prior to IBM, Dr. Srivastava worked in various roles at a Silicon Valley start-up company, Philips Semiconductors, and TCS; his focus was on data integration and electronic design automation. His current focus is on practical planning for business applications and dynamic process/data integration.
Please send all questions, comments and suggestions to ableinfo@us.ibm.com, or go to the newsgroup news://forums.ibm.com/forums.software.able. | |
|
| |