Sevilla Carpets

Introduction

Sevilla Carpets were first presented in the First Brainstorming Week on Membrane Computing (see proceedings) as a tool to describe somehow the size of a computation in a P system. They provide an extension of the notion of the Szilard language from grammars to the case when several rules (computing agents) are used (active) at the same time. This leads to a two-dimensional carpet which indicates the used rules per step of computation, thus evaluating the space-complexity of the computation. More details in Sevilla Carpets Associated with P systems, included in the indicated url.

Sevilla Carpets Revisited: Enriching the Membrane Computing Toolbox

Sevilla Carpets have already been used to compare different solutions of the Subset Sum problem: either designed in the framework of P systems with active membranes and in the framework of tissue-like P systems with cell division. Recently, the degree of parallelism and other descriptive complexity details have been found to be relevant when designing parallel simulators running on GPUs. A new work will be presented soon providing a new way to use the information provided by Sevilla carpets, but for the time being we provide here a script that allows to generate them automatically from P-Lingua files.

Sevilla carpets can run directly outside MeCoSim by following the instructions in section Running (outside MeCoSim).

As a result of running Sevilla Carpets option for a given instance of a problem a carpet as the following is shown:

../../_images/sevilla_carpet_sat.jpg

This script can also be easily integrated with MeCoSim by providing some settings to one of the pre-existing plugins. Please find the instructions below in section Running with MeCoSim.

Running (outside MeCoSim)

Running with MeCoSim

After performing steps 0 and 1 above...

About the examples...

In section Running (outside MeCoSim) some P-Lingua examples are provided:

A different kind of example can be useful to study problems that seem more sound to be performed in parallel technologies:

Plotting considerations

  • Plotting instructions are given inside plotter file inside executables zip.
    • Default options state set dgrid3d 100, 100 to state the number of rows and columns in the graph generated by gnuplot. However, this graph can be easily improved by changed this instruction for each particular case, setting set dgrid nrules, nsteps, with nrules the number of rules in the system and nsteps the number of steps to reach the halting configuration. This values can be obtained by running a simulation by means of P-Lingua or by MeCoSim.
    • The previous command has an optional third parameter to normalize the results, avoiding some default behaviour of gnuplot. This parameter could be set for instance to 10, thus getting set dgrid3d 169, 53, 10 for an instance of a problem resulting in a computation of 53 steps, with 169 rules being executed, and a norm of 10. More info at this url.