Membrane Systems for Molecular Computing and Biological Modelling

Size: px
Start display at page:

Download "Membrane Systems for Molecular Computing and Biological Modelling"

Transcription

1 THE UNIVERSITY OF SHEFFIELD DEPARTMENT OF COMPUTER SCIENCE Doctoral Thesis Membrane Systems for Molecular Computing and Biological Modelling Francesco Bernardini Submitted for the degree of PhD November 2005 Supervisor: Dr. Marian Gheorghe

2 Al Babbo ed alla Mamma (To Dad and Mum)

3 Abstract Membrane computing is an emerging research field that belongs to the more general area of molecular computing, which deals with models of computation inspired by biomolecular processes, which are seen as information-processing mechanisms. Membrane computing aims at defining computational models, called membrane systems or P systems, which abstract from the functioning and structure of the cell. A membrane system consists of a hierarchical arrangement of membranes delimiting regions, which represent various compartments of a cell, and with each region containing bio-chemical elements of various types and having associated rules, which represent bio-chemical processes taking place inside the cell. This thesis investigates variants of membrane systems as models for molecular computing and as modelling paradigms for biological systems. On one hand, we follow the standard approach of research in membrane computing: defining a notion of computation for membrane systems, and investigating the computational power of such computing devices. Specifically, we address issues concerning the power of simple bio-inspired communication mechanisms, and the power of operations for modifying the membrane structure of a P system. As well as this, we introduce the notion of population P systems as a new model of membrane systems which provides an abstraction for populations of bio-units aggregated in more complex bio-entities, and we investigate the computational power of various features of population P systems. On the other hand, we identify membrane systems as a formalism, or a language, for representing/describing biological phenomena of various interests. In this respect, we introduce a model of P systems particularly suitable for modelling systems of bio-chemical reactions distributed across various compartments. We formally characterise the behaviour of this type of P systems and introduce an algorithm to perform computations in a multi-compartment environment. Finally, as a case-study, we present a P system model of bacterial quorum sensing and we report some simulation results concerning the behaviour of a colony of bacteria interacting by means of a signalling mechanism based on autoinducers. i

4 Acknowledgements I thank my supervisor Dr. Marian Gheorghe for providing this opportunity, and for his constant support and advice throughout this PhD. I acknowledge EPSRC for supporting my research and my staying in Sheffield. I also thank the Department of Computer Science for hosting my position and for providing all the facilities necessary to conduct my research. I am very much indebted to Francisco Romero-Campero for the fruitful cooperation and confrontation during his visit in Sheffiled from February 2005 to June 2005, and in particular for his contribution to develop the code of the tool. Many thanks to Dr. Natalio Krasnogor for his cooperation, for his constructive critical review of this work, and for his encouragement to undertake research in the area of biological modelling with particular emphasis on bacterial quorum sensing. I would like also to thank the whole P community (the community of people working on membrane computing) for the wonderful organisation of friendly working meetings with a perfect balance of scientific collaboration, socialising and tourism. This thesis would have not been possible without the support of my friends who gave me great moments outside the department and made these three years unforgettable. I am especially grateful to John, Sarah, Swati, Kaz, Pano and Ashard. Many thanks to Renato, Linda, Enrico and Annalisa for making my holidays in Italy enjoyable inasmuch as the time spent in Sheffield. My deepest gratitude goes to my mother Giuseppina, my brother Marco, my sister Federica and my brother-in-law Mario for their continuous support, encouragement, help and love. ii

5 Project Outcomes This research was supported by the Engineering and Physical Science Research Council (EPSRC) of United Kingdom, Grant GR/R84221/01 which funded the project Molecular X Machines. The outcomes of the project can be described by the following activities. The investigation of a number of variants of membrane systems as a model for molecular computing and as a modelling paradigm for biological systems. The results of this activity are reported in this thesis and they have led to a number of journal and conference papers: [14], [16], [17], [18], [15] and [19] coauthored with Marian Gheorghe, [20] and [21] coauthored with Marian Gheorghe and Mike Holcombe, [23] coauthored with Marian Gheorghe, Natalio Krasnogor, Ravie C. Muniyandi, Mario J. Pérez-Jiménez and Francisco J. Romero-Campero, [28] coauthored with Marian Gheorghe, Natalio Krasnogor, Maurice Margenstern, Mario J. Pérez-Jiménez, Francisco Romero-Campero and Sergey Verlan, [24] coauthored with Marian Gheorghe, Natalio Krasnogor and German Terrazas, [25] coauthored with Marian Gheorghe and Vincenzo Manca. The development of a tool to simulate P system models by using the freely available software package Scilab [4]. This has been done in cooperation with Francisco J. Romero-Campero from the University of Seville, Spain, during his visit to Sheffield in the period February-June Such a code has been used to produce the simulation results reported in Chapter 6, Section 6.5 of this thesis, which were previously presented in [23]. The code is now freely avaliable at [1]. The application of P systems modelling bacterial quorum sensing. This research has been done in cooperation with Natalio Krasnogor and German Terrazas from the University of Nottingham, UK, and with their collaborators from the School of Molecular Medical Science. This activity has led to the paper [23], [28] (see also Chapter 6, Section 6.5 of this thesis), and to the papers [129], [67] where Francesco Bernardini appears as a coauthor. The project web page [1] containing a description of the project, a list of publications, reports, presentations regarding the developments of the project, and a list of links to related pages. The current research was supported for one year and a half by MolCoNet project, an European thematic network on molecular computing, EU contract IST As well as this, we have established scientific collaboration with Maurice Margenstern and iii

6 Sergey Verlan from the University of Metz, which has been supported by British Council (for 2005). With respect to the original motivation, there are some aspects of the project which have been addressed in a different way by the current research. The idea of combining P systems and X machines has been limited to the study of PX systems [20], [21] (see also Chapter 3, Section 3.4 of this thesis); after that, population P systems [17] (see also Chapter 5 of this thesis) have been identified as a model of molecular (X) machines. In such a model, transitions are described by rules placed inside individual components, and the memory, given by the content of each component and being distributed across the structure of the P system, is usually affected by both interactions with other components in the system and interactions with the environment as well as by internal transformations. In this respect, we have arrived to a model encapsulating simple (X) machines at the level of population P system components and having interactions between them as well as the capability of creating new instances and destroying existing components. Software engineering aspects related to the use of population P systems as a modelling tool have been left out of the current investigations. This has now become part of a research project involving Ioanna Stamatopolou as a PhD student based at the SEERC in Thessaloniki, Greece, and supervised by Marian Gheorghe and Petros Kefalas. Some initial investigations in this direction are reported in [126], [127]. The current version of the tool does not implement all the features of population P systems but it is limited to standard membrane systems containing mainly rules for transforming and moving objects from one membrane to the other. The task of extending the tool in order to comprise other features has now become part of another PhD project involving Ravie C. Muniyandi at the University of Sheffiled, and supervised by Marian Gheorghe. The aim of this project is to develop a specification language based on membrane systems which will have as a kernel the model introduced in Chapter 6 of this thesis. iv

7 Contents Abstract Acknowledgements Project Outcomes i ii iii Introduction vii 0.1 Context vii 0.2 Motivation x 0.3 Outline xii 1 Preliminaries Strings and languages Chomsky grammars Matrix grammars L systems Counter machines (Stream) X machines Multisets Membrane Systems: Basic Concepts Computing with membranes Transition P systems Computational power Main variants P systems with promoters/inhibitors P Systems with symport/antiport P systems with active membranes P systems with string-objects On Evolution and Communication in Membrane Systems Organising evolution and communication P systems with symport/antiport Definitions Computational power P systems with boundary rules v

8 3.3.1 Definitions Computational power PX systems Definitions Computational Power Discussion Travelling within P Systems with Active Membranes Languages of membrane structures Definitions Main results The power of membrane creation and membrane division The power of membrane duplication Discussion Population P Systems Dynamic networks of cells Cell-to-cell communication Population P systems The Power of Evolution-Communication The power of bond making Population P systems with active cells The power of cell division/differentiation Discussion Membrane Systems for Biological Modelling A language for the cell The model Parallelism of type (k, q) An algorithm to select membranes and programs A case-study: bacterial quorum sensing A P system model of QS Simulation Results Discussion Conclusions 130 Bibliography 135 vi

9 Introduction 0.1 Context Molecular computing is an emerging research field that belongs to the more general area of natural computing, which is concerned with computing that goes on or is inspired by nature. The idea of nature-inspired computing has been fascinating researchers since the origins of computer science. For instance, neural networks, cellular automata, L systems and evolutionary programming represent well established areas of computer science whose origins can be traced back to the early stages of computer science: neural networks [95] in the forties, cellular automata [99] and L systems [87] in the sixties, and evolutionary programming [72] in the seventies. However, it is only with the modern developments of molecular biology that it has been possible to point out a deeper analogy between biological systems and informationprocessing systems. A pioneer in this field, who advocated the idea of cells as informationprocessing systems and the possibility of developing new bio-inspired computing devices since the seventies, was Michael Conrad:...Theoretical arguments suggest that more efficient and adaptable modes of computing are possible, while emerging biotechnologies point out to possibilities for implementation. Their common ground is molecular computing... It is likely that molecular computing will prove more valuable outside the context of conventional von Neumann computers. Critically important computing needs such as adaptive patterns and process control may be refractory to simple decreases in size and increases in speed. Instead of suppressing the unique properties of carbon polymers, we should consider how to harness them to fill these needs.. [45]. In a similar way the cell is described in [80] as a molecular machine, having inputs, state transitions, and outputs. Further contributions in this direction can be found in [46], [82], [133] where various issues are addressed that concern analogies and differences between living systems and computing systems in terms of information-processing capabilities. What may be called the modern era of molecular computing, can be traced back to the eighties when, in parallel with the observation that a formal language approach can be applied to the representation of biomolecules [32], we assist to the extension of formal language theory with new biologically inspired formalisms, that allowed researchers to explore the possibility of generating languages in completely new fashions. The most significant contribution in this direction is due to Tom Head [69], who introduced the notion of splicing systems as a new class of language generating devices that represent a model of the DNA recombinant behaviour. The second major contribution to the development of molecular computing comes from Adleman s experiment [5]. With such an experiment, Leonard Adleman succeeded in solving in vitro an instance of a vii

10 combinatorics problem by manipulating sequences of DNA through common laboratory techniques. The works by Tom Head [69] and Leonard Adleman [5] constitute the foundations of the new emerging discipline of DNA computing: a vivid research area that involves both a formal approach in search of new computing paradigms, and an experimental and practical approach in search of some kind of useful DNA-based technology (e.g., see [114], [40], [56]). On one hand, from a theoretical point of view, several models for DNA computing have been proposed that investigate the computational nature of features of DNA molecules (e.g., splicing systems, sticker systems, Watson-Crick automata [114]). This is done with the approach typical of formal language theory and theory of computing by mainly addressing issues concerning the computational power of these DNA computing models. On the other hand, from a practical point of view, several experiments have followed the Adleman s one and now an important research direction is represented by DNA nanotechnology. DNA nanotechnology, based on the construction of objects, lattices, and devices obtained by joining DNA molecules through cohesive interactions, is expected to lead to improvements in crystallography, in computation, and in the production of diverse and exotic materials [124]. Subsequently, in 1998, Gheorghe Păun initiated the field of research called membrane computing with a paper initially circulated on the web and later published in [104]. Membrane computing aims at defining computational models which abstract from the functioning and structure of the cell. In particular, membrane computing starts from the observation that compartmentalisation through membranes is one of the essential features of (eucaryotic) cells. Unlike bacterium, which generally consists of a single intracellular compartment, a (eucaryotic) cell is sub-divided into functionally distinct compartments. Each compartment contains its own characteristic set of enzymes and other specialised molecules, and complex distribution systems transport specific products from one compartment to another one. Thus, a class of computing devices called membrane systems, or P systems, are defined in [104] which have three essential features: a membrane structure consisting in a hierarchical arrangement of several compartments defined as regions delimited by membranes; objects assigned to the regions in the membrane structure; rules applied to the objects placed inside the regions. In particular, each region is supposed to contain a finite set of rules and a finite multiset (or set) of objects. Rules encode generic processes for producing/consuming objects and for moving objects from one region to the other one. Objects are described either as symbols from a given alphabet or as strings over a given alphabet. A computation in a membrane system is obtained by starting from the initial configuration, identified by the membrane structure and by an initial distribution of objects to the various regions, and by repeatedly applying the rules to the objects placed inside these regions. The application of the rules is performed in a non-deterministic maximal parallel manner: all the applicable rules have to be used to modify all objects which rules can be applied to, and this is done in parallel for all membranes. Whenever no rule can be further applied to the objects left inside the system, the computation halts and its output is defined in terms of the objects present in the final configuration inside a specific membrane, called output membrane. viii

11 Since this model was introduced for the first in time 1998, many variants of membrane systems have been proposed and the literature on the subject is now rapidly growing. A comprehensive bibliography of P systems and detailed information about current research on membrane computing can be found on the P system web page [3]. There are two standard ways of investigating membrane systems as a model for molecular computing: considering their computational power in comparison with the classical notion of Turing computability, or considering their efficiency in algorithmically solving hard problems, like NP-complete problems, in a polynomial time. In this respect, the main results obtained so far show that membrane systems of various types define classes of computing devices which are both powerful, mostly equivalent to Turing machines, and efficient, membrane-system algorithms have been developed that provide efficient solutions to NP-complete problems through specifically enhanced mechanisms for the generation of an exponential space in polynomial time. At the same time with the advances in molecular computing, the modern developments of molecular biology have made clear that, due to their complexity, insights of the functioning of biological systems cannot result from purely intuitive assaults. A combination of experimental and computational approaches is then expected to solve this problem of coping with the intrinsic complexity of biological systems [85]. Specifically, in terms of computational approaches to biology, two main research areas have emerged: bioinformatics, and computational biology [65]. Bioinformatics deals with a data-driven approach where, based on huge quantities of experimental data, the hypothesis that best explains them and tells us something relevant regarding the biological processes studied is identified and tried to be proved. To this aim, knowledge discovery and data mining techniques are extensively used to extract hidden patterns for the experimental datasets. These techniques have been widely used in genetics and genomics, and many useful tools are now available for automatic sequences analysis, comparison and assembly [65]. Computational biology instead deals with mathematical and computational models of biological systems designed for the analysis and simulation of the behaviour of these systems. Biological modelling has been developed alongside of both standard continuous and stochastic based mathematical approaches, and discrete models. Standard mathematical models with their simulation techniques have proved to be powerful tools for understanding the dynamics of biological systems and they have been in use since the early seventies (e.g., see [123],[130]). More recently, a variety of software packages specifically designed for simulation and analysis of biological systems have become available, such as CELLWARE ( E-CELL ( COPASI ( Discrete modelling instead advocates the use of various formalisms taken from various areas of computer science (e.g. formal grammars [44], Petri nets [93], X machines [54], [131], process algebra [111], [117], statecharts [81], and agent-based formalism [102]) to develop computational models for the analysis and simulation of biological systems. In a similar way to molecular computing, but with different purposes, discrete approaches to biological modelling look at biological systems as discrete-symbolic-information processing devices and they are naturally centred around the notion of individual components which coix

12 operate/interact with each other at various levels of abstraction. Discrete modelling appears to have some benefits with respect to the traditional mathematical modelling in terms of a more direct and intuitive formalism for representing biological concepts and in terms of modularity, flexibility, scalability and re-usability of the models. As well as this, some extensions/variations of existing formalisms have been proposed, such as hybrid Petri nets [93], hybrid X machine [54], bioambients [116], brane calculi [35] and κ-calculus [51], which attempt at capturing specific features of biological systems in order to facilitate the representation/description of biological facts within a particular formal setting. In light of these efforts in biological modelling with a discrete approach, membrane systems, originally introduced as a model for molecular computations, have recently been re-considered as a formalism for representing/describing biological phenomena and simulating their behaviour through implementations in silico of various membrane system models [30], [31], [29], [108], [109]. 0.2 Motivation The present thesis deals with membrane computing and investigates a number of variants of membrane systems, also called P systems. As we have already said, membrane computing is a relatively young branch of molecular computing that aims at defining computing devices which abstract from the structure and functioning of the cell. Nevertheless, already a monograph [105] has been dedicated to the subject and annual volumes appear in Lecture Notes in Computer Science series that report papers presented at the corresponding annual workshop on membrane computing [115], [89], [94]. The main novelty of membrane computing, with respect to other areas of molecular computing, is that membrane systems look at the whole cell as a computing device. They are defined as systems consisting in a hierarchical arrangement of membranes delimiting regions, which represent various compartments of a cell, and with each region having associated rules, which represent different bio-chemical processes taking place inside each compartment of the cell. Therefore, it is not so surprising to observe that many different models of membrane systems have been proposed in the literature depending on the particular features of the cell one wants to consider in the definition. Research in this direction is driven by three seemingly contradictory goals: getting variants of membrane systems as realistic as possible (from a biological point of view), as powerful as possible, and as efficient as possible. Above all these, the models should be as elegant as possible (from a mathematical and computational point of view). In this respect, a key issue is the identification of simple bio-inspired computing mechanisms to be used for the definition of membrane systems with a minimal sets of ingredients which are powerful enough to achieve the full power of Turing machines. For most of the thesis, we will follow this approach by presenting different models of membrane systems and proving their equivalence in power with Turing machines when simple bio-inspired mechanisms are considered for processing the objects placed inside the regions and for moving these objects from one region to the other. In particular, we x

13 have identified three main issues concerning the use of membrane systems as a model for molecular computing. 1. The rôle of communication in membrane systems. The communication of objects through membranes is one of the fundamental features of every membrane system. In this respect, membrane systems provide an abstract framework for reasoning about localisation/distribution of computing resources into different regions of a larger system and for reasoning about the way interactions between regions take place. Therefore, it is important to identify appropriate mechanisms to express this communication between these regions that satisfy the aforementioned requirement of having models which are as realistic as possible, as powerful as possible, and as elegant as possible from a mathematical and computational point of view. 2. The rôle of the membrane structure and the rôle of membrane operations. The membrane structure is one of the defining elements of every membrane system. In this respect, it is natural, both from a biological and a mathematical point of view, to consider membrane systems where the membrane structure itself is changed during a computation by means of specific bio-inspired operations for adding membranes into the system or for removing membranes from the system. Therefore, it becomes interesting to investigate the rôle (and the power) of these membrane operations in defining computations where the output is not obtained by just collecting a multiset of objects from some region of the system, but it is somehow encoded in the membrane structure produced at the end of a computation. This type of investigations is also motivated by the more general problem of finding alternative ways to define the output of the computations in a P system as pointed out in [105], [112], [113]. 3. Computing at population level in membrane systems. Biological systems at various levels share the important features of being composed of many individual components that cooperate each other for the benefit of the system as a whole. In this way, higher levels of organisation are obtained by means of local interactions among different individuals and between an individual and the environment. Membrane systems address these features at intra-cellular level only by looking at the internal structure of the cell which is organised in a hierarchical arrangement of different compartments. More in general, one can consider systems consisting in a population of individual components which are able to interact/cooperate with each other either directly or indirectly by means of a common shared environment, and which can aggregate together to form complex structures. This means having systems where there are no relationships of inclusion between the various components, as they are placed all at the same level, and communication/interaction between them is defined in a symmetric way. This approach is seen as a generalisation of the notion of tissue P systems already present in [105] and described as an abstraction for the behaviour of cells in tissues in multicellular organisms. In this respect, specific bio-inspired mechanisms to express interaction/cooperation between individual components need to be identified and an appropriate notion of xi

14 a computation in such a population of individuals need to be devised. Yet again, this is done with the aim of investigating the computational nature of various features of biological systems. Then, as we have mentioned in the previous section, membrane systems have been re-considered as a formalism for representing/describing biological phenomena and simulating their behaviour through implementations in silico of various membrane systems models [30], [31], [29], [108], [109]. In particular, in this framework of biological modelling, two main research directions for membrane computing can be identified in the following sense. 1. Studying membrane systems as a mathematical model for biological systems in order to uncover the general principles underlying the functioning of fundamental biological processes and mechanisms; this also relates to the usage of membrane systems as a language for describing/representing, and possibly explaining, within a specific formal setting the aforementioned fundamental processes and mechanisms; progresses in this direction may in turn enhance interactions between researchers in different areas of biology and computer science. 2. Defining computational models based on P systems to be used for running in silico experiments once appropriate implementations are provided. For what concerns the first issue, it has been pointed out in several places (e.g., see [29], [30], [108]), that some extra features need to be introduced in the model in order to close the gap between the reality to be modelled and the abstractness of the standard notions of membrane systems. On the other hand, in terms of computational models, we have to say that, although a number of tools have already been produced (some of them are available from [3]), correct implementation and simulation techniques are yet to be identified. The last chapter of this thesis is specifically dedicated to address these issues concerning the use of membrane systems as a tool for modelling biological systems with a discrete approach. 0.3 Outline The thesis is organised as follows. Chapter 1 This chapter recalls from the areas of formal language theory and theory of computing the notions of: Chomsky grammars, matrix grammars, L systems, counter machines, and X machines. These represent classical model of computation which are used in the rest of the thesis as testing ground to characterise the computational power of different variants of membrane systems. As well as this, the chapter reports the notions and the terminology related to the concept of multisets which is essential for the definition of the membrane system model. xii

15 Chapter 2 Membrane computing, its original motivation, and its basic concepts are the subject of this chapter. Specifically, it illustrates the basic features of membrane systems with its commonly-used terminology. This is done by presenting the definition of the basic model of P systems and by briefly describing some of the extensions of this basic model which can be found in the existing literature. Chapter 3 This chapter is dedicated to the investigation of variants of the basic model of membrane systems which enhance their computational power by adding some extra mechanisms for controlling the evolution and the communication of objects from one membrane to the other. Specifically it reports universality results concerning the power of P systems with symport/antiport and P systems with boundary rules, and results characterising the computational power of PX systems as a model which combines features of membrane systems and X machines. P systems with symport/antiport [105] define a model of purely communicative membrane systems where a computation consists in just moving objects through the membranes with none of them being ever modified or consumed during the process. The unique rules present in these systems are communication rules governing the passage of objects through membranes which represent an abstract model for the biochemical mechanism of active transport of small molecules across membrane called symport/antiport. For this variant of membrane systems, a universality result is reported showing that the full power of Turing machines can be achieved by using P systems with symport/antiport rules of a minimal size. Then, P systems with boundary rules [26] are considered as an evolution-communication model of P systems. Evolution and communication means objects can be modified by using a specific set of transformation rules and can be moved through the membranes by means of a separate set of communication rules. For this variant of membrane systems, a universality result is presented for P systems with boundary rules where only one object at a time is moved in any direction but possibly with the help of another one operating as an activator. Finally, PX systems are introduced as a new model of membrane systems where the application of the rules is controlled by an underlying state-transition diagram. In particular, such a variant of membrane systems is obtained by combining the basic features of P systems with the features of X machines. PX systems are proved not to be computationally complete by showing that they are equivalent in power to a particular class of L systems. Chapter 4 This chapter proposes an alternative approach to generate languages by means of P systems: building up an adequate representation for a string by means of an appropriate membrane structure and then generating the string by visiting the membrane structure according to a well-specified strategy. To this aim, we consider P systems where the membrane structure can be modified during a computation by using the operation of xiii

16 membrane creation, membrane division, membrane duplication, and membrane dissolution. The output of a computation may be obtained either by visiting the tree associated with the membrane structure, or by following the traces of a specific object, called traveller, or sending out the objects. For each of these approaches, characterisations of recursively enumerable languages are provided that are based on P systems that use different sets of operations for modifying the membrane structure. Chapter 5 This chapter deals with the issue of computing at population level in P systems. Population P systems are introduced as a new class of P systems which extend the existing notions of P systems in the following sense: the structure of the system is defined as an arbitrary graph rather than as a tree; each node in the graph corresponds in a one-to-one manner to a cell in the system; cells represent the basic functional units of population P systems and they are allowed to communicate alongside the edges of the graph; the graph defining the structure of the system can change during a computation; these changes involve both the set of nodes and the set of edges in the graph; new cells can therefore be introduced in the system and new links can be formed among these cells by altering in this way their communication capabilities. Population P systems are defined by considering specific mechanisms for expressing cellto-cell interactions, for altering this communication capabilities by adding or removing edges from the graphs, and for varying the number and the nature of the cells in the system. The chapter reports several results concerning the computational power of the various features of population P systems. Chapter 6 This chapter deals with the issues concerning the use of membranes systems as a modelling tool for biological systems. Specifically, it presents a general framework for modelling with membrane systems that is based on a model where rules have associated a finite set of attributes and a corresponding function. Attributes and functions are meant to provide those extra features which are necessary to close the gap between the abstractness of more standard P system models and the reality of the phenomenon to be modelled. The behaviour of such P systems is defined in terms of bounded parallelism, which precisely formalises the idea of a membrane system as a system where a certain number of components evolve in parallel at the same time by means of a certain number of rules applied inside each one of these components. Then, as a particular instance of the general model, a particular class of P systems is considered where rules have associated a real constant as an attribute and the corresponding function is used to compute a value of probability depending on this constant and on certain multisets of objects defining the context where the rule is applied. For xiv

17 these P systems, a precise strategy for applying the rules is devised: in each step, the next rule to be applied is selected depending on the aforementioned values of probabilities. Finally, as a case study, a P system model for the quorum sensing mechanism of bacterial cell-to-cell communication is presented together with some simulation results concerning the behaviour of a colony of bacteria interacting by means of chemical pheromones. Conclusions Some final remarks are reported in this last chapter. xv

18 Chapter 1 Preliminaries This chapter is meant to introduce some basic notions of formal language theory and theory of computing by recalling the notions of: Chomsky grammars (Section 1.2), matrix grammars (Section 1.3), L systems (Section 1.4), counter machines (Section 1.5), and X machines (Section 1.6). As well as this, in Section 1.7, we report the notions and the terminology related to the concept of multisets which, as we will see in the subsequent chapters, is essential for the definition of the membrane system model. The main references for this chapter are [105], [120], [52], [119], [73], [55], [121]. 1.1 Strings and languages An alphabet is any finite and non-empty set. The elements of an alphabet are called symbols. Let V be an alphabet. A string over V is any finite sequence consisting of zero or more symbols from V ; the same symbol may occur repeated several times inside the same string. The sequence containing no symbols is called empty string and it is denoted by λ. The set of all strings (resp. of all non-empty strings) over V is denoted by V (resp. V + ). If x, y V then, their catenation xy V. As usual, the catenation of two strings is the string obtained by the juxtaposition of the two strings, that is, by writing one string after the other one. Catenation is an associative operation and the empty string λ acts as an identity: xλ = λx = x, for all x V. Moreover, for any i 1, we denote by x i the catenation of i copies of the string x; we set x 0 = λ by definition. In algebraic terms, V and V + are the monoid and the semigroup respectively generated by V with respect to the operation of catenation and with the unit element equal to λ. Let V be an alphabet. The length of a string x V, denoted by x, is the number of all occurrences in x of symbols from V ; the number of occurrences in x of a symbol a V is denoted by x a. Yet again, by definition, we set λ = 0 and λ a = 0, for all a V. The set of symbols from V occurring in a string x is denoted by alph(x). We also use V to denote the set of strings from V of length equal to one. A string y V is a substring of a string y V if, there are x 1, x 2 V such that x = x 1 u x 2. A string y = v 1 v 2... v n with n 1 and v 1, v 2,..., v n V is a scattered substring of a string x if, there are u 1, u 2,..., u n V such that x = u 1 v 1 u 2 v 2... u n v n. Let V = {a 1, a 2,..., a n } with n 1 be an alphabet, and let x be a string over V. The Parikh vector of the string x is the vector ( x a1, x a2,..., x an ), which is usually denoted by v(x). A set M of vectors in N n with n 1 (N denotes the set of non-negative integers) is said to be linear if, there exist some vectors v 0, v 1,..., v m N n with m 0 1

19 such that, for all v M, v = v 0 + m i=1 α iv i, for some α 1,..., α m N. A semilinear set is a set obtained as the finite union of linear sets. A language (over V ) is any subset of V ; a language is usually denoted by L. Given a language L, we define the set alph(l) = { alph(x) x L }, and we define the set P s(l) = { v(x) x L } called the Parikh image of L. A language is said semilinear if its Parikh image is a semilinear set. Then, given two languages L 1, L 2 and another language L, we define the following operations between languages: the union of L 1, L 2 is the language resulting from the set union of L 1 and L 2 ; the intersection of L 1, L 2 is the language L 1 L 2 = { x x L 1, x L 2 }; the difference of L 1, L 2 is the language L 1 L 2 = { x x L 1, x / L 2 }; the complement of L is the language L = { x x V, x / L 1 } ; the catenation of L 1, L 2 is the language L 1 L 2 = { x 1 x 2 x 1 L 1, x 2 L 2 }; the Kleene-closure of L is the language L = i 0 Li, where L 0 = {λ} and L i = L i 1 L; the +-Kleene-closure of L is the language L + = L {λ}. Let V, U be two alphabets. A morphism (from V to U ) is a mapping σ : V U such that, for all x 1, x 2 V, σ(x 1 x 2 ) = σ(x 1 )σ(x 2 ). A λ-free morphism is any morphism σ such that σ(a) λ. The inverse morphism of σ is the mapping σ 1 : U P(V ) such that, for all w V, σ 1 (w) = { x x V, σ(x) = w }. A coding is any morphism σ such that σ(a) U; a weak coding is any morphism σ such that σ(a) U {λ}. We can naturally extend the operation of morphism to languages by specifying that σ(l) = { σ(x) x L }. Let V be an alphabet. The family of all languages over V is denoted by L(V ) (i.e., L(V ) denotes the family of all subsets of V ). A family of languages (over V ) is any subfamily of L(V ). A family of language F L is said to be closed under a unary operation ω if, for all languages L F L, ω(l) F L; a family of languages is said to be closed under a n-ary operation ω if, for all L 1, L 2,..., L n L, ω(l 1, L 2,..., L n ) F. The family of regular languages is the family of languages obtainable by using finitely many times the operations of union, catenation and Kleene-closure. An abstract family of languages (AFL, for short) is any family of languages that is closed under union, intersection with regular, catenation, +-Kleene closure, λ-free morphism and inverse morphism. A full AFL is any AFL which is closed under the operation of Kleene closure. 1.2 Chomsky grammars Chomsky grammars (grammars, for short) are modifications of the classical notion of rewriting systems consisting of a finite set of pairs (u, v), with u, v, two strings over a given alphabet, which are written in the form u v. A pair u v is called rewriting rule and indicates that a string u can be replaced by a string v whenever u appears as a 2

20 subword of another string. Rewriting systems provide a generic mechanism to transform languages into other languages; grammars, introduced by Chomsky in the fifties (e.g., see [41]), are instead used to define languages in a generative way. Definition 1.1 (Chomsky grammar). A Chomsky grammar (grammar, for short), is a quadruple G = (N, T, S, P ) where: N is the non-terminal alphabet, T is the terminal alphabet, N T =, S N is the initial symbol, and P is a finite set of productions of the form u v with u = xay, A N, x, y, v (N T ). Thus, a grammar is a rewriting system where the initial symbol S is fixed (i.e., all the rewriting processes in G are supposed to start from S and where every rewriting rule, called production or rule, must contain at least one symbol from the non-terminal alphabet N in its left side. Let G be a grammar. The direct derivation relation induced by G, denoted by = G, is a binary relation between strings in (N T ) defined as: α = G β iff α = x u y, β = x v y and u v P where α, β, x, y (N T ). The derivation relation induced by G, denoted by = G, is the reflexive and transitive closure of the relation = G. Moreover, every string x (N T ) such that S = G w is called a sentential form. The language generated by G, denoted by L(G), is the language L(G) = { w w T, S = G w }. Note that L(G) is a language over T, that is, the language L(G) is obtained by filtering out the sentential forms containing only terminal symbols. A language L is of type 0 if there exists a grammar G such that L = L(G); the family of languages of type 0 is denoted by L 0. A fundamental result of formal language theory shows that the family of languages L 0 is equal to the family of recursively enumerable languages denoted by RE. We introduce the family RE by using Turing machines. Definition 1.2 (Turing machine). A Turing Machine (TM, for short) is a construct M = (Q, V, Γ, δ, q 0, B, F ) where: Q is a finite set of states, V is the input alphabet, V Q =, Γ is the tape alphabet, Γ Q = and V Γ, q 0 Q is the initial state, B Γ V is the blank symbol, F Q is the set of final states, and δ is the transition function δ : Q Γ P(Q Γ {L, R}. Intuitively, a Turing machine has a tape divided into cells that may store symbols from Γ (each cell stores exactly one symbol). The tape is bounded on the left but it is unbounded on the right. The machine has a finite control and a tape head that can read/write one cell of the tape during a time instant. Initially, an input string over V is stored on the tape by starting from the leftmost cell whereas the blank symbol B is stored on all the cells after the cell containing the last symbol of the input string. 3

21 The machine starts with the head on the leftmost cell and with the finite control in the initial state q 0. The machine performs moves. Moves are defined by the transition function δ and they depend on the symbol in cell currently scanned by the head, and on the current state of the finite control. A move consists of changing the state, writing a symbol from Γ into the current cell, and moving the tape head either to the left or to the right. A formal description of the functioning of a Turing machine can be found in [120]. Let M be a Turing machine. An input string x V is accepted by the machine M if and only if the machine M, after a finite number of steps, reaches a final state; if that is the case we say that the machine M halts in correspondence of the input x. A language L V is accepted by the machine M if and only if all the strings in L are accepted by the machine M. The family of recursively enumerable languages RE is the family of languages accepted by Turing machines; that is, a language L is recursively enumerable if, there exists a Turing machine M that accepts the language L. The main result concerning this family of languages is the following one. Theorem 1.1. L 0 = RE. This results specifically links the notion of generating a language with the notion accepted by a Turing machine. The languages of type 0 are exactly the languages which are accepted by Turing machines. One may also show that these languages can be produced as output of Turing machines as well. A Turing machine defines an effective procedure for computing in an intuitive sense. The converse of this assertion, that is, that effective procedures for computing can be defined as a Turing machine is not trivial anymore. The statement to the effect that the two notions are equivalent is known as Turing/Church thesis. Church s thesis cannot be proved since it identifies a formal notion, the Turing machine, with the informal and intuitive notion of an effective procedure for computing. However, Church s thesis is an extremely important assertion: it implies that each reasonable device defining effective procedure for computer can be simulated by a Turing machine. In the rest of the thesis, we will make use of Curch s thesis in order to provide characterisations of RE by just showing that the class of computing devices we are defining can simulate Turing machines; the converse is considered valid as an immediate consequence of the Turing/Church thesis. Another key element of formal language theory used in this thesis is the so-called Chomsky hierarchy that concerns the identification of four main classes of generative devices. Type-0 grammars: productions are as in Definition 1.1 and they can have any form; Type-1 (context sensitive) grammar: productions are of the form u v, where u = u 1 Au 2, v = u 1 zu 2, with u 1, u 2 (N T ), A N, and z (N T ) + (in context-sensitive grammars the production S λ is allowed, providing S does not appear in the right-hand side of any production). 4

22 Type-2 (context free) grammar: for each production u v, we have u N; Type-3 (regular) grammar: productions are of the forms A ab, A a, A λ, where A, B N, and a T. The families of languages generated by context sensitive, context free and regular grammars are denoted by CS, CF, REG, respectively, and are naturally called context sensitive, context free and regular languages. As we have seen, the family of languages generated by type-0 grammars is the family RE. These families of languages are known to be strictly included one in the other. Theorem 1.2 (Chomsky hierarchy). REG CF CS RE. Moreover, the families of languages REG, CS and RE are full-afl s whereas CS is an AFL. The Chomsky hierarchy defines a testing ground which is often used to characterise families of languages obtained from devices other than grammars. In the remaining sections of this chapter, we will present other classes of computing (generative) devices which will then become useful to investigate the computational power of the various membrane systems presented in the rest of the thesis. 1.3 Matrix grammars Matrix grammars belong to the class of generating devices where some extra control over the derivation steps is introduced. The idea behind the control mechanism, called regulated rewriting, is to restrict the application of the rules in a context-free grammar, in order to avoid some derivations and hence obtaining a subset of the context-free language generated in the usual way. The computational power of some context-free grammars with regulated rewriting turns out to be greater than the power of context-free grammars [52]. Here, we formally introduce the notion of matrix grammars. Definition 1.3 (matrix grammar). A matrix grammar with appearance checking (a.c., for short) is a construct G = (N, T, S, M, F ) where: N is the non-terminal alphabet, T is the terminal alphabet, N T =, S N is the initial symbol, and M is a finite set of matrices of the form (A 1 x 1,..., A n x n ), n 1, with A i x i a rewriting rule, A i N, x i (N T ), for all 1 i n, and F a subset of the rules in the matrices in M. Thus, a matrix grammar is a grammar where the rewriting rules, which are contextfree productions in the Chomsky sense, are organised in ordered sequences. The direct derivation relation induced by a matrix grammar with a.c. G, denoted by = G, is a binary relation between strings in (N T ) defined as x = G y if and only if, there exist a matrix (A 1 x 1,..., A n x n ) M and w 1, w 2,..., w n+1 (N T ) such that x = w 1, y = w n+1, and, for all 1 i n, either w i = w i A iw i, w i+1 = w i x iw i, for some w i, w i (N T ), or w i = w i+1, w i Ai = 0 and the rule A i x i F. That 5

Hybrid Transition Modes in (Tissue) P Systems

Hybrid Transition Modes in (Tissue) P Systems Hybrid Transition Modes in (Tissue) P Systems Rudolf Freund and Marian Kogler Faculty of Informatics, Vienna University of Technology Favoritenstr. 9, 1040 Vienna, Austria {rudi,marian}@emcc.at Summary.

More information

Membrane Computing - current results and future problems

Membrane Computing - current results and future problems Membrane Computing - current results and future problems Francesco Bernardini 1, Marian Gheorghe 1, Natalio Krasnogor 2 and German Terrazas 2 1 Department of Computer Science, University of Sheffield,

More information

On P Systems with Bounded Parallelism

On P Systems with Bounded Parallelism On P Systems with Bounded Parallelism Francesco Bernardini Department of Computer Science, The University of Sheffield Regent Court, Portobello Street, Sheffield S1 4DP, UK F.Bernardini@dcs.shef.ac.uk

More information

On P Systems with Active Membranes

On P Systems with Active Membranes On P Systems with Active Membranes Andrei Păun Department of Computer Science, University of Western Ontario London, Ontario, Canada N6A 5B7 E-mail: apaun@csd.uwo.ca Abstract. The paper deals with the

More information

P Systems with Symport/Antiport of Rules

P Systems with Symport/Antiport of Rules P Systems with Symport/Antiport of Rules Matteo CAVALIERE Research Group on Mathematical Linguistics Rovira i Virgili University Pl. Imperial Tárraco 1, 43005 Tarragona, Spain E-mail: matteo.cavaliere@estudiants.urv.es

More information

An Overview of Membrane Computing

An Overview of Membrane Computing An Overview of Membrane Computing Krishna Shankara Narayanan Department of Computer Science & Engineering Indian Institute of Technology Bombay Membrane Computing The paradigmatic idea of membrane computing

More information

Theory of Computation

Theory of Computation Thomas Zeugmann Hokkaido University Laboratory for Algorithmics http://www-alg.ist.hokudai.ac.jp/ thomas/toc/ Lecture 10: CF, PDAs and Beyond Greibach Normal Form I We want to show that all context-free

More information

MINIMAL INGREDIENTS FOR TURING COMPLETENESS IN MEMBRANE COMPUTING

MINIMAL INGREDIENTS FOR TURING COMPLETENESS IN MEMBRANE COMPUTING THE PUBLISHING HOUSE PROCEEDINGS OF THE ROMANIAN ACADEMY, Series A, OF THE ROMANIAN ACADEMY Volume 18, Number 2/2017, pp. 182 187 MINIMAL INGREDIENTS FOR TURING COMPLETENESS IN MEMBRANE COMPUTING Bogdan

More information

Tissue P Systems with Cell Division

Tissue P Systems with Cell Division Tissue P Systems with Cell Division Gheorghe PĂUN 1,2, Mario PÉREZ-JIMÉNEZ 2, Agustín RISCOS-NÚÑEZ 2 1 Institute of Mathematics of the Romanian Academy PO Box 1-764, 014700 Bucureşti, Romania 2 Research

More information

Complexity Classes in Membrane Computing

Complexity Classes in Membrane Computing Complexity Classes in Membrane Computing Fernando Sancho Caparrini Research Group on Natural Computing Dpt. Computer Science and Artificial Intelligence University of Seville, Spain Goal Main Object of

More information

Fundamentals of Computer Science

Fundamentals of Computer Science Fundamentals of Computer Science Chapter 8: Turing machines Henrik Björklund Umeå University February 17, 2014 The power of automata Finite automata have only finite memory. They recognize the regular

More information

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 13 CHAPTER 4 TURING MACHINES 1. The definition of Turing machine 2. Computing with Turing machines 3. Extensions of Turing

More information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction to Turing Machines. Reading: Chapters 8 & 9 Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages

More information

On Controlled P Systems

On Controlled P Systems On Controlled P Systems Kamala Krithivasan 1, Gheorghe Păun 2,3, Ajeesh Ramanujan 1 1 Department of Computer Science and Engineering Indian Institute of Technology, Madras Chennai-36, India kamala@iitm.ac.in,

More information

Computational Tasks and Models

Computational Tasks and Models 1 Computational Tasks and Models Overview: We assume that the reader is familiar with computing devices but may associate the notion of computation with specific incarnations of it. Our first goal is to

More information

On String Languages Generated by Numerical P Systems

On String Languages Generated by Numerical P Systems ROMANIAN JOURNAL OF INFORMATION SCIENCE AND TECHNOLOGY Volume 8, Number 3, 205, 273 295 On String Languages Generated by Numerical P Systems Zhiqiang ZHANG, Tingfang WU, Linqiang PAN, Gheorghe PĂUN2 Key

More information

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational 1 The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational model. We'll remind you what a Turing machine is --- you

More information

How to Pop a Deep PDA Matters

How to Pop a Deep PDA Matters How to Pop a Deep PDA Matters Peter Leupold Department of Mathematics, Faculty of Science Kyoto Sangyo University Kyoto 603-8555, Japan email:leupold@cc.kyoto-su.ac.jp Abstract Deep PDA are push-down automata

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 15 Ana Bove May 17th 2018 Recap: Context-free Languages Chomsky hierarchy: Regular languages are also context-free; Pumping lemma

More information

Characterizations of Catalytic Membrane Computing Systems

Characterizations of Catalytic Membrane Computing Systems Characterizations of Catalytic Membrane Computing Systems (Extended Abstract) Oscar H. Ibarra, Zhe Dang, Omer Egecioglu, and Gaurav Saxena Department of Computer Science University of California Santa

More information

Opleiding Informatica

Opleiding Informatica Opleiding Informatica Tape-quantifying Turing machines in the arithmetical hierarchy Simon Heijungs Supervisors: H.J. Hoogeboom & R. van Vliet BACHELOR THESIS Leiden Institute of Advanced Computer Science

More information

The Church-Turing Thesis

The Church-Turing Thesis The Church-Turing Thesis Huan Long Shanghai Jiao Tong University Acknowledgements Part of the slides comes from a similar course in Fudan University given by Prof. Yijia Chen. http://basics.sjtu.edu.cn/

More information

X-machines - a computational model framework.

X-machines - a computational model framework. Chapter 2. X-machines - a computational model framework. This chapter has three aims: To examine the main existing computational models and assess their computational power. To present the X-machines as

More information

Natural Computing Modelling of the Polynomial Space Turing Machines

Natural Computing Modelling of the Polynomial Space Turing Machines Natural Computing Modelling of the Polynomial Space Turing Machines Bogdan Aman and Gabriel Ciobanu Romanian Academy, Institute of Computer Science Blvd. Carol I no., 756 Iaşi, Romania baman@iit.tuiasi.ro,

More information

UNIT-VIII COMPUTABILITY THEORY

UNIT-VIII COMPUTABILITY THEORY CONTEXT SENSITIVE LANGUAGE UNIT-VIII COMPUTABILITY THEORY A Context Sensitive Grammar is a 4-tuple, G = (N, Σ P, S) where: N Set of non terminal symbols Σ Set of terminal symbols S Start symbol of the

More information

Variants of Turing Machine (intro)

Variants of Turing Machine (intro) CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples, Turing-recognizable and Turing-decidable languages Variants of Turing Machine Multi-tape Turing machines, non-deterministic

More information

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY RYAN DOUGHERTY If we want to talk about a program running on a real computer, consider the following: when a program reads an instruction,

More information

P systems based on tag operations

P systems based on tag operations Computer Science Journal of Moldova, vol.20, no.3(60), 2012 P systems based on tag operations Yurii Rogozhin Sergey Verlan Abstract In this article we introduce P systems using Post s tag operation on

More information

Most General computer?

Most General computer? Turing Machines Most General computer? DFAs are simple model of computation. Accept only the regular languages. Is there a kind of computer that can accept any language, or compute any function? Recall

More information

Descriptional Complexity of Formal Systems (Draft) Deadline for submissions: April 20, 2009 Final versions: June 18, 2009

Descriptional Complexity of Formal Systems (Draft) Deadline for submissions: April 20, 2009 Final versions: June 18, 2009 DCFS 2009 Descriptional Complexity of Formal Systems (Draft) Deadline for submissions: April 20, 2009 Final versions: June 18, 2009 On the Number of Membranes in Unary P Systems Rudolf Freund (A,B) Andreas

More information

CSCE 551: Chin-Tser Huang. University of South Carolina

CSCE 551: Chin-Tser Huang. University of South Carolina CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Church-Turing Thesis The definition of the algorithm came in the 1936 papers of Alonzo Church h and Alan

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION FORMAL LANGUAGES, AUTOMATA AND COMPUTATION DECIDABILITY ( LECTURE 15) SLIDES FOR 15-453 SPRING 2011 1 / 34 TURING MACHINES-SYNOPSIS The most general model of computation Computations of a TM are described

More information

An Approach to Computational Complexity in Membrane Computing

An Approach to Computational Complexity in Membrane Computing An Approach to Computational Complexity in Membrane Computing Mario J. Pérez-Jiménez Research Group on Natural Computing, Department of Computer Science and Artificial Intelligence, University of Sevilla

More information

Computational Modelling in Systems and Synthetic Biology

Computational Modelling in Systems and Synthetic Biology Computational Modelling in Systems and Synthetic Biology Fran Romero Dpt Computer Science and Artificial Intelligence University of Seville fran@us.es www.cs.us.es/~fran Models are Formal Statements of

More information

An Optimal Frontier of the Efficiency of Tissue P Systems with Cell Division

An Optimal Frontier of the Efficiency of Tissue P Systems with Cell Division An Optimal Frontier of the Efficiency of Tissue P Systems with Cell Division A.E. Porreca 1, Niall Murphy 2,3, Mario J. Pérez-Jiménez 4 1 Dipartimento di Informatica, Sistemistica e Comunicazione Università

More information

The Power of One-State Turing Machines

The Power of One-State Turing Machines The Power of One-State Turing Machines Marzio De Biasi Jan 15, 2018 Abstract At first glance, one state Turing machines are very weak: the Halting problem for them is decidable, and, without memory, they

More information

A Note on the Probabilistic Evolution for P Systems

A Note on the Probabilistic Evolution for P Systems A Note on the Probabilistic Evolution for P Systems Sergey Verlan Laboratoire d Algorithmique, Complexité et Logique, Université Paris Est Créteil Val de Marne, 61, av. gén. de Gaulle, 94010, Créteil,

More information

COSC 594 Final Presentation Membrane Systems/ P Systems

COSC 594 Final Presentation Membrane Systems/ P Systems COSC 594 Final Presentation Membrane Systems/ P Systems Mesbah Uddin & Gangotree Chakma November, 6 Motivation of Unconventional Computing Parallel computing-- restricted in conventional computers Deterministic

More information

Turing machines and linear bounded automata

Turing machines and linear bounded automata and linear bounded automata Informatics 2A: Lecture 30 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 25 November 2016 1 / 17 The Chomsky hierarchy: summary Level Language

More information

A Model for Molecular Computing: Membrane Systems

A Model for Molecular Computing: Membrane Systems A Model for Molecular Computing: Membrane Systems Claudio Zandron DISCo - Universita di Milano-Bicocca zandron@disco.unimib.it A Model for Molecular Computing: Membrane Systems p.1/43 Summary Membrane

More information

Computability Theory. CS215, Lecture 6,

Computability Theory. CS215, Lecture 6, Computability Theory CS215, Lecture 6, 2000 1 The Birth of Turing Machines At the end of the 19th century, Gottlob Frege conjectured that mathematics could be built from fundamental logic In 1900 David

More information

Theory of Computation (IX) Yijia Chen Fudan University

Theory of Computation (IX) Yijia Chen Fudan University Theory of Computation (IX) Yijia Chen Fudan University Review The Definition of Algorithm Polynomials and their roots A polynomial is a sum of terms, where each term is a product of certain variables and

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. May 11/13, 2015 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

Turing machines and linear bounded automata

Turing machines and linear bounded automata and linear bounded automata Informatics 2A: Lecture 29 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 25 November, 2011 1 / 13 1 The Chomsky hierarchy: summary 2 3 4 2 / 13

More information

Insertion operations: closure properties

Insertion operations: closure properties Insertion operations: closure properties Lila Kari Academy of Finland and Mathematics Department 1 Turku University 20 500 Turku, Finland 1 Introduction The basic notions used for specifying languages

More information

A Framework for Complexity Classes in Membrane Computing

A Framework for Complexity Classes in Membrane Computing Electronic Notes in Theoretical Computer Science 225 (2009) 319 328 www.elsevier.com/locate/entcs A Framework for Complexity Classes in Membrane Computing Agustín Riscos-Núñez 1,2 Dpt. Computer Science

More information

P Finite Automata and Regular Languages over Countably Infinite Alphabets

P Finite Automata and Regular Languages over Countably Infinite Alphabets P Finite Automata and Regular Languages over Countably Infinite Alphabets Jürgen Dassow 1 and György Vaszil 2 1 Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik PSF 4120, D-39016 Magdeburg,

More information

P Colonies with a Bounded Number of Cells and Programs

P Colonies with a Bounded Number of Cells and Programs P Colonies with a Bounded Number of Cells and Programs Erzsébet Csuhaj-Varjú 1 Maurice Margenstern 2 György Vaszil 1 1 Computer and Automation Research Institute Hungarian Academy of Sciences Kende utca

More information

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite The Church-Turing Thesis CS60001: Foundations of Computing Science Professor, Dept. of Computer Sc. & Engg., Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q 0, q accept, q reject ), where

More information

CS4026 Formal Models of Computation

CS4026 Formal Models of Computation CS4026 Formal Models of Computation Turing Machines Turing Machines Abstract but accurate model of computers Proposed by Alan Turing in 1936 There weren t computers back then! Turing s motivation: find

More information

Final exam study sheet for CS3719 Turing machines and decidability.

Final exam study sheet for CS3719 Turing machines and decidability. Final exam study sheet for CS3719 Turing machines and decidability. A Turing machine is a finite automaton with an infinite memory (tape). Formally, a Turing machine is a 6-tuple M = (Q, Σ, Γ, δ, q 0,

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE Volume 3, No. 5, May 2012 Journal of Global Research in Computer Science REVIEW ARTICLE Available Online at www.jgrcs.info COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE Tirtharaj Dash

More information

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA Turing Machines A Turing machine is similar to a finite automaton with supply of unlimited memory. A Turing machine can do everything that any computing device can do. There exist problems that even a

More information

The Turing machine model of computation

The Turing machine model of computation The Turing machine model of computation For most of the remainder of the course we will study the Turing machine model of computation, named after Alan Turing (1912 1954) who proposed the model in 1936.

More information

Membrane Computing and Economics: Numerical P Systems

Membrane Computing and Economics: Numerical P Systems Membrane Computing and Economics: Numerical P Systems Gheorghe PĂUN Institute of Mathematics of the Romanian Academy PO Box 1-764, 014700 Bucureşti, Romania george.paun@imar.ro and Research Group on Natural

More information

Theory of Computation

Theory of Computation Thomas Zeugmann Hokkaido University Laboratory for Algorithmics http://www-alg.ist.hokudai.ac.jp/ thomas/toc/ Lecture 14: Applications of PCP Goal of this Lecture Our goal is to present some typical undecidability

More information

Spike Trains in Spiking Neural P Systems

Spike Trains in Spiking Neural P Systems Spike Trains in Spiking Neural P Systems Gheorghe Păun Institute of Mathematics of the Romanian Academy PO Box 1-764, 014700 Bucureşti, Romania, and Department of Computer Science and Artificial Intelligence

More information

Event Operators: Formalization, Algorithms, and Implementation Using Interval- Based Semantics

Event Operators: Formalization, Algorithms, and Implementation Using Interval- Based Semantics Department of Computer Science and Engineering University of Texas at Arlington Arlington, TX 76019 Event Operators: Formalization, Algorithms, and Implementation Using Interval- Based Semantics Raman

More information

Time-bounded computations

Time-bounded computations Lecture 18 Time-bounded computations We now begin the final part of the course, which is on complexity theory. We ll have time to only scratch the surface complexity theory is a rich subject, and many

More information

Let us first give some intuitive idea about a state of a system and state transitions before describing finite automata.

Let us first give some intuitive idea about a state of a system and state transitions before describing finite automata. Finite Automata Automata (singular: automation) are a particularly simple, but useful, model of computation. They were initially proposed as a simple model for the behavior of neurons. The concept of a

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Nachum Dershowitz & Yishay Mansour. Tel Aviv University. May 17 22, 2017 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

Turing machines and linear bounded automata

Turing machines and linear bounded automata and linear bounded automata Informatics 2A: Lecture 29 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 27 November 2015 1 / 15 The Chomsky hierarchy: summary Level Language

More information

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar Turing Machine A Turing machine is an abstract representation of a computing device. It consists of a read/write

More information

Complexity Results for Deciding Networks of Evolutionary Processors 1

Complexity Results for Deciding Networks of Evolutionary Processors 1 Complexity Results for Deciding Networks of Evolutionary Processors 1 Florin Manea Institut für Informatik, Christian-Albrechts-Universität zu Kiel, D-24098 Kiel, Germany, and Faculty of Mathematics and

More information

Computability and Complexity

Computability and Complexity Computability and Complexity Sequences and Automata CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada janicki@mcmaster.ca Ryszard Janicki Computability

More information

On the coinductive nature of centralizers

On the coinductive nature of centralizers On the coinductive nature of centralizers Charles Grellois INRIA & University of Bologna Séminaire du LIFO Jan 16, 2017 Charles Grellois (INRIA & Bologna) On the coinductive nature of centralizers Jan

More information

ON MINIMAL CONTEXT-FREE INSERTION-DELETION SYSTEMS

ON MINIMAL CONTEXT-FREE INSERTION-DELETION SYSTEMS ON MINIMAL CONTEXT-FREE INSERTION-DELETION SYSTEMS Sergey Verlan LACL, University of Paris XII 61, av. Général de Gaulle, 94010, Créteil, France e-mail: verlan@univ-paris12.fr ABSTRACT We investigate the

More information

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65 Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving

More information

Theory of Computation - Module 4

Theory of Computation - Module 4 Theory of Computation - Module 4 Syllabus Turing Machines Formal definition Language acceptability by TM TM as acceptors, Transducers - designing of TM- Two way infinite TM- Multi tape TM - Universal Turing

More information

Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage?

Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage? Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage? What is the most powerful of automata? In this lecture we will introduce

More information

P Colonies with a Bounded Number of Cells and Programs

P Colonies with a Bounded Number of Cells and Programs P Colonies with a Bounded Number of Cells and Programs Erzsébet Csuhaj-Varjú 1,2, Maurice Margenstern 3, and György Vaszil 1 1 Computer and Automation Research Institute, Hungarian Academy of Sciences

More information

Functions on languages:

Functions on languages: MA/CSSE 474 Final Exam Notation and Formulas page Name (turn this in with your exam) Unless specified otherwise, r,s,t,u,v,w,x,y,z are strings over alphabet Σ; while a, b, c, d are individual alphabet

More information

Introduction to Turing Machines

Introduction to Turing Machines Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. April 18/ May 2, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

Turing Machines Part II

Turing Machines Part II Turing Machines Part II Hello Hello Condensed Slide Slide Readers! Readers! This This lecture lecture is is almost almost entirely entirely animations that that show show how how each each Turing Turing

More information

5 3 Watson-Crick Automata with Several Runs

5 3 Watson-Crick Automata with Several Runs 5 3 Watson-Crick Automata with Several Runs Peter Leupold Department of Mathematics, Faculty of Science Kyoto Sangyo University, Japan Joint work with Benedek Nagy (Debrecen) Presentation at NCMA 2009

More information

Accepting H-Array Splicing Systems and Their Properties

Accepting H-Array Splicing Systems and Their Properties ROMANIAN JOURNAL OF INFORMATION SCIENCE AND TECHNOLOGY Volume 21 Number 3 2018 298 309 Accepting H-Array Splicing Systems and Their Properties D. K. SHEENA CHRISTY 1 V.MASILAMANI 2 D. G. THOMAS 3 Atulya

More information

More Turing Machines. CS154 Chris Pollett Mar 15, 2006.

More Turing Machines. CS154 Chris Pollett Mar 15, 2006. More Turing Machines CS154 Chris Pollett Mar 15, 2006. Outline Multitape Turing Machines Nondeterministic Turing Machines Enumerators Introduction There have been many different proposals for what it means

More information

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages COMP/MATH 300 Topics for Spring 2017 June 5, 2017 Review and Regular Languages Exam I I. Introductory and review information from Chapter 0 II. Problems and Languages A. Computable problems can be expressed

More information

Decidability (What, stuff is unsolvable?)

Decidability (What, stuff is unsolvable?) University of Georgia Fall 2014 Outline Decidability Decidable Problems for Regular Languages Decidable Problems for Context Free Languages The Halting Problem Countable and Uncountable Sets Diagonalization

More information

1 Two-Way Deterministic Finite Automata

1 Two-Way Deterministic Finite Automata 1 Two-Way Deterministic Finite Automata 1.1 Introduction Hing Leung 1 In 1943, McCulloch and Pitts [4] published a pioneering work on a model for studying the behavior of the nervous systems. Following

More information

P Systems for Traffic Flow Simulation

P Systems for Traffic Flow Simulation P Systems for Traffic Flow Simulation Jiří Dvorský 21, Zbyněk Janoška 1, and Lukáš Vojáček 2 1 Department of Geoinformatics, Palacký University, Třída Svobody 26, 771 46, Olomouc, Czech Republic jiri.dvorsky@upol.cz,zbynek.janoska@cdv.cz

More information

Theory of Computation

Theory of Computation Theory of Computation Lecture #6 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 39 Lecture 6: Overview Prove the equivalence of enumerators and TMs. Dovetailing

More information

CS151 Complexity Theory. Lecture 1 April 3, 2017

CS151 Complexity Theory. Lecture 1 April 3, 2017 CS151 Complexity Theory Lecture 1 April 3, 2017 Complexity Theory Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction,

More information

2.6 Variations on Turing Machines

2.6 Variations on Turing Machines 2.6 Variations on Turing Machines Before we proceed further with our exposition of Turing Machines as language acceptors, we will consider variations on the basic definition of Slide 10 and discuss, somewhat

More information

1 More finite deterministic automata

1 More finite deterministic automata CS 125 Section #6 Finite automata October 18, 2016 1 More finite deterministic automata Exercise. Consider the following game with two players: Repeatedly flip a coin. On heads, player 1 gets a point.

More information

This lecture covers Chapter 7 of HMU: Properties of CFLs

This lecture covers Chapter 7 of HMU: Properties of CFLs This lecture covers Chapter 7 of HMU: Properties of CFLs Chomsky Normal Form Pumping Lemma for CFs Closure Properties of CFLs Decision Properties of CFLs Additional Reading: Chapter 7 of HMU. Chomsky Normal

More information

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine) CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine) Objectives Introduce the Turing Machine (TM) Proposed by Alan Turing in 936 finite-state control + infinitely long tape A stronger

More information

Lecture notes on Turing machines

Lecture notes on Turing machines Lecture notes on Turing machines Ivano Ciardelli 1 Introduction Turing machines, introduced by Alan Turing in 1936, are one of the earliest and perhaps the best known model of computation. The importance

More information

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis Harry Lewis October 22, 2013 Reading: Sipser, 3.2, 3.3. The Basic Turing Machine The Basic Turing Machine a a b a

More information

Lecture 1: Course Overview and Turing machine complexity

Lecture 1: Course Overview and Turing machine complexity CSE 531: Computational Complexity I Winter 2016 Lecture 1: Course Overview and Turing machine complexity January 6, 2016 Lecturer: Paul Beame Scribe: Paul Beame 1 Course Outline 1. Basic properties of

More information

Chapter 1 Introduction to Membrane Computing

Chapter 1 Introduction to Membrane Computing Chapter 1 Introduction to Membrane Computing Gheorghe Păun Institute of Mathematics of the Romanian Academy PO Box 1-764, 014700 Bucureşti, Romania george.paun@imar.ro Research Group on Natural Computing

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Chomsky Normal Form and TURING MACHINES TUESDAY Feb 4 CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form:

More information

Kleene Algebras and Algebraic Path Problems

Kleene Algebras and Algebraic Path Problems Kleene Algebras and Algebraic Path Problems Davis Foote May 8, 015 1 Regular Languages 1.1 Deterministic Finite Automata A deterministic finite automaton (DFA) is a model of computation that can simulate

More information

ON STATELESS AUTOMATA AND P SYSTEMS

ON STATELESS AUTOMATA AND P SYSTEMS ON STATELESS AUTOMATA AND P SYSTEMS Linmin Yang School of Electrical Engineering and Computer Science Washington State University, Pullman, Washington 99164, USA lyang1@eecs.wsu.edu Zhe Dang School of

More information

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT.

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT. Recap DFA,NFA, DTM Slides by Prof. Debasis Mitra, FIT. 1 Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { {, } } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite

More information

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta CSE 2001: Introduction to Theory of Computation Fall 2012 Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cs.yorku.ca/course/2001 11/13/2012 CSE

More information

CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010

CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010 CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010 Computational complexity studies the amount of resources necessary to perform given computations.

More information