Automatic Generation of Intelligent Agent Programs



Similar documents
Culture Enhances the Evolvability of Cognition

Cultural Transmission of Information in Genetic Programming

D A T A M I N I N G C L A S S I F I C A T I O N

Optimised Realistic Test Input Generation

ACIS International Journal of Computer & Information Science. ACM Letters on Programming Languages and Systems. ACM Transactions on Algorithms A+

Genetic programming with regular expressions

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

Wireless Sensor Networks Coverage Optimization based on Improved AFSA Algorithm

GA as a Data Optimization Tool for Predictive Analytics

Genetic algorithms for changing environments

Record Deduplication By Evolutionary Means

Evolving Data Structures with Genetic Programming

A hybrid Approach of Genetic Algorithm and Particle Swarm Technique to Software Test Case Generation

Data Mining Governance for Service Oriented Architecture

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Numerical Research on Distributed Genetic Algorithm with Redundant

GPSQL Miner: SQL-Grammar Genetic Programming in Data Mining

Internet of Things (IoT): A vision, architectural elements, and future directions

A SURVEY ON GENETIC ALGORITHM FOR INTRUSION DETECTION SYSTEM

An Agent-Based Concept for Problem Management Systems to Enhance Reliability

Genetic Algorithms and Sudoku

Levels of Analysis and ACT-R

Contents. Dedication List of Figures List of Tables. Acknowledgments

USABILITY OF A FILIPINO LANGUAGE TOOLS WEBSITE

SOFTWARE TESTING STRATEGY APPROACH ON SOURCE CODE APPLYING CONDITIONAL COVERAGE METHOD

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Implementation of hybrid software architecture for Artificial Intelligence System

Programming Risk Assessment Models for Online Security Evaluation Systems

Masters in Information Technology

Estimation of the COCOMO Model Parameters Using Genetic Algorithms for NASA Software Projects

2010 Master of Science Computer Science Department, University of Massachusetts Amherst

Online Learning of Genetic Network Programming (GNP)

Software Development Training Camp 1 (0-3) Prerequisite : Program development skill enhancement camp, at least 48 person-hours.

IDENTIFYING BANK FRAUDS USING CRISP-DM AND DECISION TREES

Appendices master s degree programme Artificial Intelligence

Multiobjective Multicast Routing Algorithm

Supply Chain Platform as a Service: a Cloud Perspective on Business Collaboration

Quotes from Object-Oriented Software Construction

Master's projects at ITMO University. Daniil Chivilikhin PhD ITMO University

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Knowledge Based Systems

Grammatical Differential Evolution

Cellular Automaton: The Roulette Wheel and the Landscape Effect

Critical Success Factors for Implementing CRM Using Data Mining*

Genetic Algorithm Evolution of Cellular Automata Rules for Complex Binary Sequence Prediction

Outperforming Buy-and-Hold with Evolved Technical Trading Rules: Daily, Weekly and Monthly Trading

Intelligent Modeling of Sugar-cane Maturation

Completing the critical reflection log

Web services to allow access for all in dotlrn

Healthcare Services - education and research - developed in the INSEED project

Petri Net Simulation and Analysis of Network Management Based on Mobile Agent Technology

Characteristics of Computational Intelligence (Quantitative Approach)

A Genetic Programming Model for S&P 500 Stock Market Prediction

Effects of Symbiotic Evolution in Genetic Algorithms for Job-Shop Scheduling

Workflow Automation and Management Services in Web 2.0: An Object-Based Approach to Distributed Workflow Enactment

Modeling and Design of Intelligent Agent System

School of Computer Science

Effect of Using Neural Networks in GA-Based School Timetabling

A Review And Evaluations Of Shortest Path Algorithms

Ontological Representations of Software Patterns

ICT in pre-service teacher education in Portugal: trends and needs emerging from a survey

About the Author. The Role of Artificial Intelligence in Software Engineering. Brief History of AI. Introduction 2/27/2013

MITA to RHIO: Medicaid Enterprise as a Communication Hub. A CNSI White Paper

Charities & the Non-Profit Sector

Direct Marketing Response Models using Genetic Algorithms

Comparing the Testing Approaches of Traditional, Object-Oriented and Agent- Oriented Software System

Computers and the Creative Process

Alpha Cut based Novel Selection for Genetic Algorithm

Security Model for VM in Cloud

US Federal Cyber Security Research Program. NITRD Program

TIBCO Spotfire Guided Analytics. Transferring Best Practice Analytics from Experts to Everyone

High-Mix Low-Volume Flow Shop Manufacturing System Scheduling

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm

SAMPLE CHAPTERS UNESCO EOLSS DIGITAL INSTRUMENTS. García J. and García D.F. University of Oviedo, Spain

Medicines and Healthcare products Regulatory Agency

McGraw-Hill The McGraw-Hill Companies, Inc.,

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Data Integration using Agent based Mediator-Wrapper Architecture. Tutorial Report For Agent Based Software Engineering (SENG 609.

Knowledge Management

Transcription:

utomatic Generation of Intelligent gent Programs Lee Spector lspector@hampshire.edu http://hampshire.edu/lspector n agent, for the sake of these comments, is any autonomous system that perceives and acts to achieve a narrow set of goals within a specific virtual or real environment. This definition, while broad, nonetheless highlights several contrasts between agents and traditional I systems. Traditional I systems have usually been designed to be operated under the control and watchful eye of a user, while agents are sent out into the world to act autonomously, usually on their owners behalf. Traditional I systems automate a single step on the path from perception to action for example, vision or reasoning about action while agents must manage the entire path. nd traditional I technologies aspire to provide systems with general knowledge about a domain, while agents need know only about their own limited concerns within their own particular environments. We only demand that an agent do one thing for us, but it should do it all by itself. One reason for excitement about agent-oriented I is the belief that it is easier to write programs for many narrow, autonomous systems than it is to write programs for fewer, broader, user-driven systems. related reason for excitement is the primary message of these comments: it is also easier to automatically generate agent programs. The artificial life, machine learning, and automatic programming literatures already describe many experiments in which systems with agent-like properties have been automatically generated (see e.g., [Cliff et al. 1994]). Full citation: Spector, L. 1997. utomatic Generation of Intelligent gent Programs. In IEEE Expert. Jan-Feb 1997, pp. 3-4. 1

lthough most of the previously generated systems have been too simple to perform helpful tasks for actual users, recent advances suggest that useful intelligent agents will soon be within reach of these techniques. The remainder of these comments will focus on one particular technology, genetic programming (GP) [Koza 1992], but related points should apply to other automatic programming technologies. In GP, computer programs are generated by natural selection. The process starts with a large initial population of programs that are random combinations of problem-specific primitives. Each program is assessed for fitness, and the fitness values are used to control genetic operations (usually fitnessproportionate reproduction, crossover, and mutation) that produce the next generation. fter a preestablished number of generations, or after the best fitness improves to some preestablished level, the best-of-run program is produced as the output from the GP system. The two key steps in the application of GP to a new problem are the design of the fitness test and the choice of primitives. The design of the fitness test for agents is straightforward. In traditional I systems many features of a system s input and output for example their representation and level of abstraction are up for grabs. But agents must manage the entire path from percepts to actions, so it s usually obvious what the inputs and outputs must be, and what should count as good input/output behavior. The fitness of a candidate agent can therefore be assessed simply by running it in a captured fragment of the actual target environment and by collecting statistics about its behavior (see Figure 1). Useful agent primitives are under construction by several research groups (e.g., [Coen 1994]). The goals of such groups are generally to provide veryhigh-level language support for human programmers, but the resulting primitives may provide equal benefit to automatic programming processes. In any case the same features of the agent paradigm that make it possible to provide high-level tools for human programmers (for example, narrow focus) should also make it possible to provide good sets of high-level primitives to GP processes. In many cases it is even possible for a GP system to build its own primitives, bootstrapping from low level operations such as arithmetic or basic network functions. Existing techniques allow one to simultaneously evolve a main program and a set of automatically defined functions (DFs) used by that program [Koza 1994]. For agents specifically, primitives that pro- 2

Environment Percepts ctions Captured Fragment Percepts ctions Fitness Test Evolving Population of gents Best gent Release nalysis/ Verification Figure 1: Framework for the evolution of artificial agents. vide special-purpose control structures (for example, tasks) may be particularly useful; by use of automatically defined macros (DMs) these may also be evolved simultaneously with the agent programs that use them [Spector 1996]. Both DMs and DFs have been shown to decrease the computational effort required to produce programs in certain environments. Several other recent developments in GP technique dovetail nicely with the requirements for the generation of intelligent agents. For example, it is important for agents to be able to adapt to their environments as they run [Maes 1994]. The GP technique of indexed memory [Teller 1994] allows for the evolution of agents that record features of their environments and change their behavior accordingly. The technique of ontogenetic programming [Spector and Stoffel 1996] allows for the evolution of programs that adapt by modifying their own code throughout their lifetimes. The technique of cultural memory [Spector and Luke 1996] allows populations of evolving programs to collectively build repositories of information that may support more robust, adaptive behavior by individuals. Some words of caution are also in order. In particular, the possibility of automatically generated agents forces us to confront the issue of agent trustworthiness in a serious way. fter all, an agent acts on its owner s 3

behalf, and with this autonomy comes responsibility. lthough users may initially be more prepared to trust human-coded agents, precautions must be taken to analyze and verify agent code whatever its source (see Figure 1). The careful use of automatic programming techniques need not exacerbate this problem. In sum, recent advances have significantly increased the power of automatic programming technology. Simultaneously, the development of the intelligent agent paradigm has provided an easier target that is particularly well-matched to the specific technological advances: autonomous systems with narrow expertise. The future looks bright for agent-oriented I, and if the trends described here continue we won t have to write agent programs by hand we will be able to generate them automatically. References Cliff, D., P. Husbands, J-. Meyer, and S.W. Wilson, Eds. 1994. From nimals to nimats 3. MIT Press. Coen, M. 1994. SodaBot: Software gent Environment and Construction System. MIT I Lab Technical Report 1493. Koza, J.R. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press. Koza, J.R. 1994. Genetic Programming II: utomatic Discovery of Reusable Programs. MIT Press. Maes, P. 1994. Modeling daptive utonomous gents. In rtificial Life Journal, Vol. 1, No. 1 & 2. MIT Press. Spector, L. 1996. Simultaneous Evolution of Programs and their Control Structures. In dvances in Genetic Programming 2, edited by P. ngeline and K. Kinnear. MIT Press. Spector, L., and S. Luke. 1996. Cultural Transmission of Information in Genetic Programming. In Proceedings of the Genetic Programming 1996 Conference. MIT Press. To appear. 4

Spector, L., and K. Stoffel. 1996. Ontogenetic Programming. In Proceedings of the Genetic Programming 1996 Conference. MIT Press. To appear. Teller,. 1994. The Evolution of Mental Models. In K.E. Kinnear Jr., Ed., dvances in Genetic Programming, pp. 199 219. MIT Press. 5