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
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
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
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