Abstract
This paper first presents a simulation of the simple kernel P systems solution to the graph 3-colouring problem presented in a previous paper by Gheorghe et al., implemented in a programming style named Concurrent ML, which is based on the concept of synchronous communication between logical processing elements. This paper then presents and informally analyses an alternative compact single-cell solution to the same problem using P systems with compound objects (cP systems), which has the benefit of naturally adapting to the use of any number of colours greater than zero—only the specified colour symbols need to be changed. Successful and failing examples of the latter solution are also presented.
Similar content being viewed by others
Notes
The final program can be found at https://github.com/jcoo092/acmc2018.
Note that, while Concurrent ML uses synchronous communication by default, it is relatively simple to implement asynchronous communication also using it [17].
Note that this is different to the random graphs that are also commonly denoted by this notation.
The latest version of MeCoSim available from http://www.p-lingua.org/mecosim/ as at 10 January 2019 was used.
One could see ad hoc as being akin to running a program compiled to native instructions, while using a general simulation is similar in principle to running a program in an interpreter. The latter is typically simpler to work with and more portable, but comes with overheads that slow down execution.
In fact, any finite set of arbitrary symbols could be used, but we use the natural numbers here for ease of reading.
We note that, should it be desired, it would be possible to have the system make a random selection between possible starting nodes, simply by starting the system with more than one \(s\) functor. The correctness and termination of the system will be unaffected, however.
We consider these rules to be fairly easy to understand nevertheless —they are simply longer and involve a greater number of symbols than those of other systems.
References
Beigel, R., & Eppstein, D. (2005). 3-Coloring in \(O(1.3289^n)\) time. Journal of Algorithms, 54(2), 168–204. https://doi.org/10.1016/j.jalgor.2004.06.008.
Ben-Ari, M. (2008). Principles of the spin model checker. London: Springer. https://doi.org/10.1007/978-1-84628-770-1.
Cooper, J., & Nicolescu, R. (2019). The Hamiltonian cycle and travelling salesman problems in cP systems. Fundamenta Informaticae, 164(2–3), 157–180. https://doi.org/10.3233/FI-2019-1760.
Csuhaj-Varjú, E., & Verlan, S. (2011). On generalized communicating P systems with minimal interaction rules. Theoretical Computer Science, 412(1–2), 124–135. https://doi.org/10.1016/j.tcs.2010.08.020.
Díaz-Pernil, D., Gutiérrez-Naranjo, M. A., Pérez-Jiménez, M. J., & Riscos-Núñez, A. (2008). A uniform family of tissue P systems with cell division solving 3-COL in a linear time. Theoretical Computer Science, 404(1–2), 76–87. https://doi.org/10.1016/j.tcs.2008.04.005.
Gheorghe, M., Ipate, F., Lefticaru, R., Pérez-Jiménez, M. J., urcanu, A., Valencia Cabrera, L., et al. (2013). 3-Col problem modelling using simple kernel P systems. International Journal of Computer Mathematics, 90(4), 816–830. https://doi.org/10.1080/00207160.2012.743712.
Hoare, C. A. R. (1985). Communicating sequential processes. Prentice-Hall international series in computer science. Englewood Cliffs: Prentice/Hall International.
Ionescu, M., Păun, G., & Yokomori, T. (2006). Spiking neural P systems. Fundamenta Informaticae, 71(2/3), 279–308.
Lefticaru, R., Tudose, C., & Ipate, F. (2011). Towards automated verification of P systems using spin. International Journal of Natural Computing Research, 2(3), 1–12. https://doi.org/10.4018/jncr.2011070101.
Lewis, R. (2016). A guide to graph colouring. Cham: Springer International Publishing. https://doi.org/10.1007/978-3-319-25730-3.
Nicolescu, R., & Henderson, A. (2018). An Introduction to cP systems. In C. Graciani, A. Riscos-Núñez, G. Păun, G. Rozenberg, & A. Salomaa (Eds.), Enjoying natural computing: Essays dedicated to Mario de Jesús Pérez-Jiménez on the occasion of his 70th birthday. Lecture notes in computer science (Vol. 11270, pp. 204–227). Cham: Springer International Publishing. https://doi.org/10.1007/978-3-030-00265-7_17.
Panangaden, P., & Reppy, J. (1997). The essence of concurrent ML (pp. 5–29). New York: Springer. https://doi.org/10.1007/978-1-4612-2274-3_2.
Pérez-Hurtado, I., Orellana-Martín, D., Zhang, G., & Pérez-Jiménez, M. J. (2018). P-lingua compiler: A tool for generating ad-hoc simulators in membrane computing. In M. J. Dinneen, & R. Nicolescu (Eds.), Pre-proceedings of Asian branch of international conference on membrane computing (pp. 149–163). Auckland: Centre for Discrete Mathematics and Theoretical Computer Science. https://www.cs.auckland.ac.nz/research/groups/CDMTCS/researchreports/publication-list-bydate.php?selected-date=2018. Accessed 10 Jan 2019.
Pérez-Hurtado, I., Valencia-Cabrera, L., Pérez-Jiménez, M. J., Colomer, M. A., & Riscos-Núñez, A. (2010). MeCoSim: A general purpose software tool for simulating biological phenomena by means of P systems. In K. Li, Z. Tang, R. Li, A. K. Nagar, & R. Thamburaj (Eds.), 2010 IEEE fifth international conference on bio-inspired computing: Theories and applications (BIC-TA) (pp. 637–643). Changsha: IEEE. https://doi.org/10.1109/BICTA.2010.5645199.
Păun, G., Pérez-Jiménez, M. J., & Riscos-Núñez, A. (2008). Tissue P systems with cell division. International Journal of Computers Communications & Control, 3(3), 295. https://doi.org/10.15837/ijccc.2008.3.2397.
Reppy, J. H. (1991). CML. ACM SIGPLAN Notices, 26(6), 293–305. https://doi.org/10.1145/113446.113470.
Reppy, J. H. (2007). Concurrent programming in ML. New York: Cambridge University Press.
Song, B., Pérez-Jiménez, M. J., Păun, G., & Pan, L. (2016). Tissue P systems with channel states working in the flat maximally parallel way. IEEE Transactions on NanoBioscience, 15(7), 645–656. https://doi.org/10.1109/TNB.2016.2594380.
Verlan, S. (2005). Tissue P systems with minimal symport/antiport. In C. S. Calude, E. Calude, & M. J. Dinneen (Eds.), Lecture Notes in Computer Science (Developments in language theory) (Vol. 3340, pp. 418–429). Berlin: Springer. https://doi.org/10.1007/978-3-540-30550-7_35.
Acknowledgements
We would like to thank Luis Valencia-Cabrera of Universidad de Sevilla (the University of Seville), Spain, for providing valuable assistance with regards to the use of MeCoSim. We also would like to thank the anonymous reviewers for their detailed and considered reviews, which proved very helpful to us in improving the paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Cooper, J., Nicolescu, R. Alternative representations of P systems solutions to the graph colouring problem. J Membr Comput 1, 112–126 (2019). https://doi.org/10.1007/s41965-019-00013-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s41965-019-00013-2