using the experimental method to produce reliable self-organised systems, b. edmonds, esoa 2004, new...

22
Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July Using the Experimental Method to Produce Reliable Self- Organised Systems Bruce Edmonds Centre for Policy Modelling, Manchester Metropolitan University

Upload: betty-harrington

Post on 12-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-1

Using the Experimental Method to Produce Reliable Self-Organised

Systems

Bruce EdmondsCentre for Policy Modelling,

Manchester Metropolitan University

Page 2: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-2

Part 1: About the Engineering and Adaptive Approaches to System

Production

Getting away from an “engineering is preferable”

mindset

Page 3: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-3

Approaches for Obtaining Useful Systems – The Engineering Approach

• Focusses on specification, design and construction stages

• What can be done to help ensure system is good before the system is constructed

• May use a theory of system behaviour• But also systematisations of past experiences –

methods that have been found to work• E.g. the processes by which a steel girder is

made so it will have the desired characteristics (a certain torsion strength etc.)

Page 4: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-4

Approaches for Obtaining Useful Systems – The Adaptive Approach

• Focusses on observation, hypothesising, experiment and adjustment

• What can be done to help ensure system is good after the system is constructed

• May develop theory of of system behaviour• But also might be ad hoc (trial and error)• E.g. one may train a dog so that it acquires the

behaviours and habits that you need to guard your house (barking at strangers etc.)

Page 5: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-5

The (Idealised) Engineering Approach

the construction process

Specification and/or Goals for System

Construction Plan

test & compare

Page 6: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-6

The (Idealised) Adaptive Approach

Specification and/or Goals for System

test & compare

Adaption Plan

cycle 1

change system

cycle 2

Etc.

Page 7: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-7

Combining the Two Approaches

For example one might:– engineer a mechanism to adapt some software;– train a human to engineer a compiler;– adapt a system by re-engineering a part; etc.

But far too often they are used seperately!

Why?– Split between AI/CS and ML/EC communities– The assumption in AI/CS that (somehow) the

engineering approach is better/proper/more desirable than the adaptive approach!

Page 8: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-8

The Insufficiency of Engineering for Self-Organising Software Systems

• The openness and connectedness of today’s systems (alien parts/agents/nodes)

• Unknown and unchangeable exising parts

• The necessary complexity and hence unpredictability of today’s systems

• The impossibility of any general systematic or effective method of relating specification and implementation (Edmonds & Bryson AAMAS 2004)

Page 9: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-9

Part 2: An Illustration - GASP systems

How the engineering approach can be insufficient even for very

simple systems

Page 10: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-10

Example: A “Simple” Class of MAS – “GASP” systems

• Giving Agent System with Plans• Fixed number of agents: A1, A2, …An

• Each agent, Ax, has– a store, Sx

– a fixed number of plans: Px1, Px2, …

• Each Plan, Pxy, composed of instructions:– A fixed number of “give one to”– And one test: If Si is zero then do plan j next, otherwise

plan k next

• Each time click, all do: get 1 unit; use current plan to: [do giving (while they have);

test others; note next plan].

Page 11: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-11

Thus all that happens in GASP systems is:• That agents have a fixed set of very simple

plans/programs

• Their state is the amount in their store and the index of the current plan

• All they do is give fixed amounts to other agents accorind to their current plan

• All they can perceive is whether an other agent’s store is zero or not…

• …which determines the index of the next plan in a fixed way

Page 12: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-12

An illustration of a GASP system

Plan 1:G3

G2

JZ2,1,3

Plan 2:

JZ1,2,3

Plan 3:G2

G2

G2

JZ2,3,3

Agent 1

1 2 3

Agent 2

1 2 3

Agent 3

Etc.

Check if zero

4

27Store:

Page 13: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-13

Facts about GASP systems

• They are Turing Complete, that is they can simulate any computer program, hence:– Many questions about their behaviour are (in

general) undecidable given their program– E.g. one will not (in general) be able to check

which GASP systems satisfy specification from its code

• But one can adapt them to perform tasks. This can be effective, even given fairly stupid trial&error methods and the GASP structure (which is not well-suited for adaption)

Page 14: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-14

Example (toy) Problem for a GASP: shoring up (artificial) avalances

Input8

Accumulators

• Avalances generated by self-organised critcal system which is inherently difficult to predict

GASP

1 1 1 1 1 1 1 1

• GASP evolved to distribute units to equal units in avalance accumulators - it races the SOC

• Input position can be fixed or variable

Page 15: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-15

Results of Evolution (31 runs of the evolution of GASP populations of 12)

0

50

100

150

0 50 100 150 200 250 300

Generation

Cov

erag

e max max

av max

av av

Variable Input

Variable Input

Fixed Input

Page 16: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-16

Part 3: Discussion - Towards an Experimental Approach

If engineering can not be 100% effective, how can we produce

reliable software systems?

Page 17: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-17

The Fundermental Problems

Q. How are we to ensure that the systems we produce will perform satisfactorily when they are deployed in their operating context?

A. By engineering them more carefully.Q. But what if this is not enough?A. By also adapting the systems once built.Q. But how does one know this will result in

systems that will perform satisfactorily (etc)?A. By systematically applying the classic

experimental method used in the natural sciences to validate (induced) theory.

Page 18: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-18

The place of a system theory

Specification and/or Goals for System

test & compare

Theory of System

Construction Plan

the construction process

Engineering

Adaption Plan

change system

Adaption

Page 19: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-19

Such system theory…

…will necessarily be to a large extent inductive rather than deductive.

• It may orginate from different sources (the design, analogies with natural systems, by observation of the system etc.)

• but it will need to be tested using the classic experimental methods

• involving repeated and independent attempts at disproving theories

• and explicitly recording/revising the conditions of application.

Page 20: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-20

My suggestion: an extension of the open-source model, where:

• As well as the usuall specifications, version history etc.

• Code is annotated with a series of testable hypotheses about its behaviour

• Each hypothesis will have a series of conditions where it has found to hold

• Each condition will have the results of testing under these conditions (e.g. comments, statistics about the support)

Page 21: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-21

So over time….

• This database will be added to as people try the code under new and old conditions

• Code which repeatedly conforms to useful hypotheses under a range of conditions will be used more than other code

• People will be able to have growing confidence in successful code and known when they can use it and how they can rely on it (due to hypotheses)

• Successful code will spawn variations (new entries for the new code)

• Unsuccessful code will be avoided/ignored• The whole system will evolve!

Page 22: Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, bruce slide-1 Using

Using the Experimental Method to Produce Reliable Self-Organised Systems, B. Edmonds, ESOA 2004, New York, July 2004, http://cfpm.org/~bruce slide-22

The End

Bruce Edmonds

bruce.edmonds.name

Centre for Policy Modelling

cfpm.org