Membrane Computing Crash Course Agustín Riscos-Núñez Research Group on Natural Computing Department of Computer Science and Artificial Intelligence Universidad de Sevilla 14 th Brainstorming Week on Membrane Computing Tutorial session February 1, 2016, Sevilla, Spain A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
84
Embed
Membrane Computing Crash Course · 2016. 2. 1. · Membrane Computing Crash Course Agustín Riscos-Núñez Research Group on Natural Computing Department of Computer Science and Artificial
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Membrane ComputingCrash Course
Agustín Riscos-Núñez
Research Group on Natural ComputingDepartment of Computer Science and Artificial Intelligence
Universidad de Sevilla
14th Brainstorming Week on Membrane ComputingTutorial session
February 1, 2016, Sevilla, Spain
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
1 Introduction
2 “In silico” Membrane Computing: P-Lingua
3 HPC simulators: GPU Computing
4 MeCoSim
5 Modelling framework
6 Final comments
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
1 Introduction
2 “In silico” Membrane Computing: P-Lingua
3 HPC simulators: GPU Computing
4 MeCoSim
5 Modelling framework
6 Final comments
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Membrane ComputingDoes Nature Compute?
InspirationProcesses taking place in the compartmental structure of a cell.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Gh. Paun, G. Rozenberg, A. Salomaa. The Oxford Handbook of Membrane Computing,Oxford University Press, 2010.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
References of ApplicationsG. Ciobanu, Gh. Paun, M. J. Pérez-Jiménez (eds.) Applications of Membrane ComputingNatural Computing Series, Springer, 2006.
P. Frisco, M. Gheorghe, M. J. Pérez-Jiménez (eds.) Applications of Membrane Computing inSystems and Synthetic Biology Series: Emergence, Complexity and Computation, Springer,2014.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Membrane Systems
Figure : A P system
Multisets of objectsMembranes (regions)Rules
ObjectsMembranes
Environment
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Membrane Systems
Figure : A P system
Machine oriented model.Non-deterministic devices.Two levels of parallelism(objects & membranes).Global clock.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
An example (I)
A membrane system generating the set {n2 : n ≥ 1}.
4
32
1
a f
a
a
f
a b’
b’
b’
b
f f
b
b
( c , in )4
f f
f f a >
Output membrane: 4The key for analyzing the computations is the instant m ≥ 0 when rule a→ b′δ isapplied.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Diversity of interpretations
Generative devices: fixed initial configuration, we collect theoutputs of all the non-deterministic computations.
Computing devices: given an input (encoded somehow), computethe resulting output multiset.
Decision tools: special objects yes and no, s.t. their presence /absence in the output decides whether the given input wasaccepted by the P system or not.
Simulation tools: no halting configuration, the output is thecomputation.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Diversity of interpretations
Generative devices: fixed initial configuration, we collect theoutputs of all the non-deterministic computations.
Computing devices: given an input (encoded somehow), computethe resulting output multiset.
Decision tools: special objects yes and no, s.t. their presence /absence in the output decides whether the given input wasaccepted by the P system or not.
Simulation tools: no halting configuration, the output is thecomputation.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Diversity of interpretations
Generative devices: fixed initial configuration, we collect theoutputs of all the non-deterministic computations.
Computing devices: given an input (encoded somehow), computethe resulting output multiset.
Decision tools: special objects yes and no, s.t. their presence /absence in the output decides whether the given input wasaccepted by the P system or not.
Simulation tools: no halting configuration, the output is thecomputation.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Diversity of interpretations
Generative devices: fixed initial configuration, we collect theoutputs of all the non-deterministic computations.
Computing devices: given an input (encoded somehow), computethe resulting output multiset.
Decision tools: special objects yes and no, s.t. their presence /absence in the output decides whether the given input wasaccepted by the P system or not.
Simulation tools: no halting configuration, the output is thecomputation.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Main research directions
Theoretical FoundationsUniversality resultsGenerative / accepting power equivalent to . . .What if . . . ?Formalization
Computational ComplexityEfficient solutions to hard problemsP conjecture
Practical ApproachSimulatorsModellingGenerative music, Robot control, Model checking, . . .
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
1 Introduction
2 “In silico” Membrane Computing: P-Lingua
3 HPC simulators: GPU Computing
4 MeCoSim
5 Modelling framework
6 Final comments
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
ImplementationNot yet, but . . .
In vitro / In vivoArtificial or synthetic membranes / capsidesMicro reactors
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
pLinguaCoreJava library for parsing, exporting and simulating
Errors detection in P-Lingua files
Able to export to other file formatsproducing input for external simulators
“Batteries” included (simulation algorithms)
Easy to use it within other Java applications
Error example: a division rule in “membrane creation”Semantics error: The rule doesn’t match the"membrane_creation" specification in line 38 : 2--28Division rules are not allowed
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
1 Introduction
2 “In silico” Membrane Computing: P-Lingua
3 HPC simulators: GPU Computing
4 MeCoSim
5 Modelling framework
6 Final comments
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
GPU computing
Graphics Processor Unit (GPU)Data-parallel computing model:
SPMD programming model (Same Program for Multiple Data)Shared memory system
New programming languages: CUDA and OpenCLA GPU features thousands of cores
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
NVIDIA’s technology
CUDA programming model1
Heterogeneous model: CPU (host) + GPU (device).All threads execute the same code (kernel) in parallel.Three-level hierarchy of threads (grid, blocks, threads).Memory hierarchy (global, shared within block).
1W.-M. Hwu, D. Kirk. Programming massively parallel processors, Morgan Kaufmann, 2010.
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Why is the GPU interesting for simulating P systems?
Interesting properties:High level of parallelism (from 16 to 2880cores)Shared memory system (easilysynchronized)Scalability (multi-GPU systems)Cheap technology (cost and maintenance)
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
PMCGPU project
PMCGPU project (GPL version 3):http://sourceforge.net/projects/pmcgpu
P system model FLEXIBLE AD HOC (SAT)P systems with active membranes PCUDA PCUDASATTissue P systems with cell division TSPCUDASATPopulation Dynamics P systems ABCD-GPUEnzymatic Numerical P systems ENPS-GPU
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Simulationsnumber of repetitions (if probabilistic behaviour)
Cycleshalting condition (number of cycles)
Stepsa cycle is the time unit of interest when studying a biologicalphenomenon (30 min, 1 week, 25 years, etc.)for each cycle, several P system steps might be required
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Example: Custom app windowApp: Spiking Neural P systems solving SAT
1 Menu bar: Scenario, Edit, Model, Simulation, Help
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Example: Custom app windowApp: Spiking Neural P systems solving SAT
2 Tabs: where input and output data are placed3 Tables / Charts
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Example: Custom app windowApp: Spiking Neural P systems solving SAT
4 Application info: user type, scenario, model, ...
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Example: Custom app windowApp: Spiking Neural P systems solving SAT
5 Output console: shows messages related to the simulation
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Example: Custom app windowApp: Spiking Neural P systems solving SAT
6 Progress bar: shows simulation progress
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
1 Introduction
2 “In silico” Membrane Computing: P-Lingua
3 HPC simulators: GPU Computing
4 MeCoSim
5 Modelling framework
6 Final comments
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Modeling
What to ModelRelevant ingredientsRelevant featuresFocus on the Dynamics
Why?Analyze / UnderstandPredict / Control
RequirementsKeep it simpleSimulation tools (Validation)Relevant, Readable,Extensible, Tractable
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Modeling ecosystemsValidation process
REALLIFE PROCESS(e.g. an ecosystem)
DATA
Carrying out studies/experimets
MODEL VALIDATION VALIDATEDMODEL
Inspiration
Inspiration
Run virtual experiments
Simulator
Fail
Success
Compare results
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Modeling ecosystemsVirtual Experiments
VALIDATEDMODEL
Run virtual experiments
Simulator
HYPOTHESES FILTER REAL EXPERIMENTS
NEWKNOWLEDGE
Expert
SELECTED HYPOTHESES
Suggestvirtualexperiments
Check results
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
1 Introduction
2 “In silico” Membrane Computing: P-Lingua
3 HPC simulators: GPU Computing
4 MeCoSim
5 Modelling framework
6 Final comments
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla
Some studies within the RGNC
Licence CC by Richard Bartzphoto by Olivier Bareau on Flickr
Photo by Amy Benson, U.S. Geological Survey
Partition (AM) SAT (tissue)Licence CC by Bilby
A. Riscos-Núñez (Univ. Sevilla) Tutorial on Membrane Computing BWMC 2016 – Sevilla