Sensor Organism project presentation

26
York Centre for Complex System Analysis The Sensor Organism Naums Mogers Dr Martin A Trefzer Dr Dimitris Lagos

Transcript of Sensor Organism project presentation

York Centre for Complex System Analysis

The Sensor Organism

Naums Mogers

Dr Martin A Trefzer

Dr Dimitris Lagos

York Centre for Complex System Analysis

2 of 26

I. Task

• Aims of the project

• Hardware

• Why Biology?

II. Solution

• Previous work

• Model

• Project outputs

III. Conclusions

• Model evaluation

• Model applications

• Further work

Presentation outline

York Centre for Complex System Analysis

I. Task

York Centre for Complex System Analysis

4 of 26

• Create a bio-inspired model of a Wireless Sensor Network that can:

• Learn and recognize patterns in sensor readings

• Detect anomalies

• Optimize model to run on a constrained distributed embedded platform such as Arduino Leonardo microcontrollers

• Produce a C++ codebase for the model

Aims of the project

York Centre for Complex System Analysis

5 of 26

• A set of Arduino Leonardo microcontrollers

• Clock speed: 16 MHz

• Dynamic memory: 2.5 KB

Hardware

York Centre for Complex System Analysis

6 of 26

Biological systems have many useful properties:

• Scalability

• Parallelizability

• Flexibility

• Self-organization

• Exhibits more complex behavior than that of any single agent

Why Biology?

York Centre for Complex System Analysis

II. Solution

York Centre for Complex System Analysis

8 of 26

Trefzer et al (2013), “On the Advantages of Variable Length GRNs for the Evolution of Multicellular Developmental Systems” [1]

• Describes Cartesian Genetic Programming (CGP) as a way of encoding genetic data in the form of directed graphs

Previous work

CGP mechanism of encoding variable length genetic sequences [3]

York Centre for Complex System Analysis

9 of 26

Model

Organism

Organ

Cell

Genetics

An Artificial Developmental System based on Gene Regulatory Networks, that is modelled on four levels:

York Centre for Complex System Analysis

10 of 26

Consists of multiple organs (Arduinos), each belonging to one of two types:

• Cell colony

• Collects and preprocesses sensor readings

• Learns patterns in sensor data

• Detects anomalies

• DNA server

• Stores genetic sequences, that encode learned patterns

• Provides data to cell colonies on request

• Accepts updated genes from the cell colonies

Model Organism

York Centre for Complex System Analysis

11 of 26

• Sensor drivers collect, preprocess and emit sensor readings into the intercellular space. The amount of signaling molecules per reading depends on the complexity of the signal.

• Stem cells emerge when functional cell die. During the differentiation stage they associate with a sensor with the most complex signal and transform into a functional cell.

• Functional cells train GRNs on sensor readings. The most efficient cells get to contribute their genes to the DNA server.

• DNA cache stores colony DNA.

Cell colony Arduino (Cell colony)

Model

York Centre for Complex System Analysis

12 of 26

A cell transforms from stem to functional when it recognizes a pattern and constructs the corresponding GRN.

GRNs generation process includes stochastic components so that each cell creates a candidate solution.

A functional cell contains two components:

• GRN takes sensor reading as input and produces cell energy as output. Confident recognitions produce more energy.

• Energy buffer stores cell energy. The energy dissipates over time; without energy cell dies.

Model Functional cell

Functional cell

York Centre for Complex System Analysis

13 of 26

GRN network consists of following components:

• Genes take sensor readings as input; they output the difference between the expected and actual inputs.

• Gene outputs are channeled into the energy-producing output node and into the gates of the subsequent genes.

• Gene gates filter inputs. Initially all gates are open; later gates are opened by preceding genes.

• Circular connections represent periodic functions.

Model Genetics: GRN

York Centre for Complex System Analysis

14 of 26

1. Input sensor reading 1.

Model Genetics: GRN (worked example)

York Centre for Complex System Analysis

15 of 26

2. Produce energy and open subsequent gene gates.

Model Genetics: GRN (worked example)

York Centre for Complex System Analysis

16 of 26

1. Input sensor reading 2.

Model Genetics: GRN (worked example)

York Centre for Complex System Analysis

17 of 26

2. Produce energy and open subsequent gene gates.

Model Genetics: GRN (worked example)

York Centre for Complex System Analysis

18 of 26

1. Input sensor reading 3.

Model Genetics: GRN (worked example)

York Centre for Complex System Analysis

19 of 26

Patterns are encoded in two chromosomes using Cartesian Genetic Programming similarly to [3].

• Chromosome 1 stores ordered genes • (Bucket number, Next bucket occurrence, Next gene)

• Chromosome 2 stores a list of patterns • (Sensor ID, First CH1 gene, Last CH1 gene,

Next sub-pattern, Next pattern)

Model Genetics: DNA structure

York Centre for Complex System Analysis

20 of 26

• Formal UML definition of the model: a collection of Activity diagrams

• C++ OOP library implementing:

• ZigBee radio communication

• Several components of the model (Organism, Intercellular_buffer, Cell, DNA_Server)

Project outputs

York Centre for Complex System Analysis

21 of 26

• Formal UML definition of the model: a collection of Activity diagrams

• C++ OOP library implementing:

• ZigBee radio communication

• Several components of the model (Organism, Intercellular_buffer, Cell, DNA_Server)

Project outputs

York Centre for Complex System Analysis

III. Conclusions

York Centre for Complex System Analysis

23 of 26

Advantages

• Computationally lightweight – no complex mathematical operations

• Configurable – simple math allows to optimize model to different characteristics of the problem domain

• Generic – little prior knowledge is required

Disadvantages

• Requires a lot of memory (for an embedded solution). Workarounds:

• Dedicate Arduinos to memory storage (DNA server)

• Switch from Arduino to Raspberry Pi (SDRAM = 256 MB+)

Model evaluation

York Centre for Complex System Analysis

24 of 26

Potentially applicable to any problem solvable by Wireless Sensor Networks

It is expected to be the most efficient solution in cases where input data change rate is high and multiple patterns are present in the data

Examples:

• Machine health monitoring

• Terrain mapping

• Biometric observations

Model applications

York Centre for Complex System Analysis

25 of 26

• Prototype

1. C++ simulation

2. Hard testbed: actuators moving and rotating objects, sensors measuring speed, orientation and vibration

• Concurrency

• Introduce safe memory management into the model

• Add threading to the C++ library

Further work

York Centre for Complex System Analysis

26 of 26

[1] M. A. Trefzer, T. Kuyucu, J. F. Miller, and A. M. Tyrrell, “On the advantages of variable length GRNs for the evolution of multicellular developmental systems,” IEEE Trans. Evol. Comput., vol. 17, no. 1, pp. 100–121, 2013.

Any questions?

References