EEL 5937 Managing mutability in agents EEL 5937 Multi Agent Systems Lecture 26, April 10, 2003 Lotzi Bölöni.

Slides:



Advertisements
Similar presentations
Formal Methods in Software Engineering
Advertisements

Reinforcement Learning
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Chapter 4: Trees Part II - AVL Tree
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
 Program Slicing Long Li. Program Slicing ? It is an important way to help developers and maintainers to understand and analyze the structure.
Chapter 4 DECISION SUPPORT AND ARTIFICIAL INTELLIGENCE
The Architecture Design Process
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
1 Software Testing and Quality Assurance Lecture 31 – Testing Systems.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
MAE 552 – Heuristic Optimization
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Software Architecture for DSD The “Uses” Relation.
Genetic Programming.
Streamline Verification Process with Formal Property Verification to Meet Highly Compressed Design Cycle Prosenjit Chatterjee, nVIDIA Corporation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Issues with Data Mining
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
EEL 5937 What makes an agent? EEL 5937 Multi Agent Systems Lotzi Bölöni.
Evaluating Resilience Strategies Based on an Evolutionary Multi agent System Kazuhiro Minami, Tomoya Tanjo, and Hiroshi Maruyama Institute of Statistical.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Scheduling policies for real- time embedded systems.
SE: CHAPTER 7 Writing The Program
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
EEL 6938 Mutable agents EEL 6938 Engineering Applications of Autonomous Agents Lotzi Bölöni.
Heuristic Optimization Methods Greedy algorithms, Approximation algorithms, and GRASP.
EEL 5937 Agent models. EEL 5937 Multi Agent Systems Lecture 4, Jan 16, 2003 Lotzi Bölöni.
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
AN INTELLIGENT AGENT is a software entity that senses its environment and then carries out some operations on behalf of a user, with a certain degree of.
Xusheng Xiao North Carolina State University CSC 720 Project Presentation 1.
EEL 5937 The Bond Agent System (2) EEL 5937 Multi Agent Systems Lecture 9, Feb. 4, 2003 Lotzi Bölöni.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
EEL 5937 The Bond Agent System (4) EEL 5937 Multi Agent Systems Lecture 18, March. 6, 2003 Lotzi Bölöni.
EEL 5937 The Bond Agent System (3) EEL 5937 Multi Agent Systems Lecture 17, March. 4, 2003 Lotzi Bölöni.
SEG 4110 – Advanced Software Design and Reengineering Topic T Introduction to Refactoring.
Knowledge Networks or “The Rise of the Machines”.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
A field of study that encompasses computational techniques for performing tasks that require intelligence when performed by humans. Simulation of human.
EEL 5937 The Bond Agent System (1) EEL 5937 Multi Agent Systems Lecture 8, Jan 30, 2003 Lotzi Bölöni.
Principles in the Evolutionary Design of Digital Circuits J. F. Miller, D. Job, and V. K. Vassilev Genetic Programming and Evolvable Machines.
Naming CSCI 6900/4900. Unreferenced Objects in Dist. Systems Objects no longer needed as nobody has a reference to them and hence will not use them Garbage.
EEL 5937 Multi Agent Systems -an introduction-. EEL 5937 Content What is an agent? Communication Ontologies Mobility Mutability Applications.
Genetic Algorithm(GA)
Genetic (Evolutionary) Algorithms CEE 6410 David Rosenberg “Natural Selection or the Survival of the Fittest.” -- Charles Darwin.
EEL 5937 Multi Agent Systems -an introduction-. EEL 5937 Content What is an agent? Communication Ontologies Mobility Mutability Applications.
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
TensorFlow– A system for large-scale machine learning
Evolution Strategies Evolutionary Programming
Introduction to Algorithms
Chapter 10: Process Implementation with Executable Models
Multi-Way Search Trees
Objective of This Course
Design for Ease in Contraction and Extension
ece 627 intelligent web: ontology and beyond
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Algorithms and Problem Solving
EE368 Soft Computing Genetic Algorithms.
Lecture 4 – Bond Agents What is a software agent? Mobility
Chapter 5 Architectural Design.
Presentation transcript:

EEL 5937 Managing mutability in agents EEL 5937 Multi Agent Systems Lecture 26, April 10, 2003 Lotzi Bölöni

EEL 5937 Randomly mutating agents While randomly mutating agents are possible, their applications are limited. It is difficult to make them follow their original agenda. Limited random mutation, however, can lead to interesting possibilities: –Genetic algorithms and evolutionary programming –Tabu search Problems: –Compiled code does not make a good chromosome (in the genetic algorithms sense). Crossover and mutation in compiled code usually lead to gibberish. –The agents fitness in a multiagent system is a complex parameter depending on the other agents. It is very difficult to set up good training runs.

EEL 5937 Controlled mutation For most mutable agents, the “mutation” is controlled. –Mutation is not a really good word here. –In Bond 2, we proposed the term “agent surgery” Agent surgery: –A set of changes on an agent, performed under the control of an external entity or of the agent itself, in order to achieve and agent with a changed goal or different (usually better) performance characteristics.

EEL 5937 Agent surgery in Bond Agent surgery in Bond are essentially operations performed on the multi-agent plane. Surgical operations are performed by “surgical blueprint scripts”. The agent (usually) does not have to be stopped.

EEL 5937 Problems in agent surgery When do we need to perform a surgical operation on the agent? What kind of operation do we need to perform? What kind of guarantees can we offer about the agent after the surgical operation? How can the surgical operation be embedded in the specification?

EEL 5937 Primitive operations Agent surgery operations are assembled of a set of “primitive operations”. Adding / removing planes Adding / removing states Adding / removing transitions.

EEL 5937 Invariants Invariants are properties of agents which are maintained across surgical operations. Our analysis technique will be to prove invariants for primitive operations, and then prove invariants for larger surgical operations by decomposing them into primitive operations. Example of invariants: –Being successful. –Achieving some subset of the agenda. –Having the agenda achievable.

EEL 5937 Successful and failed runs We will distinguish between SUCCESS, FAILURE and other transitions in the multiplane state machine –We assume SUCCESS means that local goal of the strategy was achieved –We assume that FAILURE means that the local goal failed (but the agenda may be still achievable, for instance, by retrying) –Other transitions mean “choices” or “decisions”. A run of the agent is an ordered series of events and actions –At a courser granularity level, we can see the run as a series of states and transitions. A successful run is a run without a FAILURE transition. A failed run involves at least one FAILURE transition or an exit code for which there was no transition in the state machine.

EEL 5937 Relationship between failed/successful runs and the agenda The relationship is not immediate A run might be successful without achieving the agenda. For instance: –A strategy perform an exit code for which there is no transition –It reaches a state where there are no outbound transitions etc. A run with some failed transitions can still achieve the agenda (for example, through retries) Still, we can use some additional conditions to more closely tie runs to agenda achieving.

EEL 5937 Reasoning about agent surgery Property 1: –Adding a new state to the agent does not change the behaviour of the agent. Property 2: –Adding a new transition to the agent does not change the behaviour of the agent in successful runs. –It might turn some failed runs into successful runs. Property 3: –If we add a new plane to an agent and the output set of the strategies in the new plane is disjoint from the input set of the existing strategies, for all cases where the agent achieved its agenda in its original state will achieve it in its modified state as well (maintains the achievability of the agenda) Corrolary 3.1 –Adding a plane with a single dummy strategy maintains the achievability of the agenda.

EEL 5937 Reasoning about agent surgery (cont’d) Property 4: –Removing FAILURE transitions does not affect successful runs. Property 5: –Removing states unreachable from the current state of the agent, or removing transitions going to and from these states does not affect the behaviour of the agent. Property 6: –Removing states which are reachable only through failure transitions does not affect successful runs.

EEL 5937 Applications of agent surgery Step by step build up of agents. Modifying agents to achieve a larger agenda. Garbage collection on agents. –By removing unreachable states, transitions, and “stuck” planes. Splitting agents –For task distribution. Merging agents Adapting agents to platforms and conditions: –User interfaces –Changing algorithms –Changing operating patterns.