CS2303-THEORY OF COMPUTATION

Slides:



Advertisements
Similar presentations
CS2303-THEORY OF COMPUTATION Closure Properties of Regular Languages
Advertisements

CS2303-THEORY OF COMPUTATION
Genetics and Genetic Engineering
Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
C O N T E X T - F R E E LANGUAGES ( use a grammar to describe a language) 1.
Verification and Testing Group, DCS, University of Sheffield Language based approach in biological modelling Marian Gheorghe University of Sheffield MIPNETS.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture4: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Introduction to Computability Theory
Theory of Computation What types of things are computable? How can we demonstrate what things are computable?
Equivalence, DFA, NDFA Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 2 Updated and modified by.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
79 Regular Expression Regular expressions over an alphabet  are defined recursively as follows. (1) Ø, which denotes the empty set, is a regular expression.
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
1 Module 4: Formal Definition of Solvability Analysis of decision problems –Two types of inputs:yes inputs and no inputs –Language recognition problem.
Module #1 - Logic Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c) , Michael P. Frank. Modified By Mingwu Chen 1 Module.
Finite Automata Chapter 5. Formal Language Definitions Why need formal definitions of language –Define a precise, unambiguous and uniform interpretation.
Syntactic Pattern Recognition Statistical PR:Find a feature vector x Train a system using a set of labeled patterns Classify unknown patterns Ignores relational.
LANGUAGE AND GRAMMARS © University of LiverpoolCOMP 319slide 1.
Finite State Machines Data Structures and Algorithms for Information Processing 1.
The Cell Chapter 15.
1 Introduction to Automata Theory Reading: Chapter 1.
Aim: What is the anatomy and function of the cell membrane
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
Lecture Two: Formal Languages Formal Languages, Lecture 2, slide 1 Amjad Ali.
L-Systems and Procedural Plants CSE 3541 Matt Boggus.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Languages, Grammars, and Regular Expressions Chuck Cusack Based partly on Chapter 11 of “Discrete Mathematics and its Applications,” 5 th edition, by Kenneth.
Context Free Grammars CIS 361. Introduction Finite Automata accept all regular languages and only regular languages Many simple languages are non regular:
Grammars CPSC 5135.
Languages & Grammars. Grammars  A set of rules which govern the structure of a language Fritz Fritz The dog The dog ate ate left left.
Learning Automata and Grammars Peter Černo.  The problem of learning or inferring automata and grammars has been studied for decades and has connections.
Introduction to Language Theory
Review: Compiler Phases: Source program Lexical analyzer Syntax analyzer Semantic analyzer Intermediate code generator Code optimizer Code generator Symbol.
Regular Expressions and Languages A regular expression is a notation to represent languages, i.e. a set of strings, where the set is either finite or contains.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Discrete Mathematical Structures 4 th Edition Kolman, Busby, Ross © 2000 by Prentice-Hall, Inc. ISBN
ICS 253: Discrete Structures I Induction and Recursion King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Mathematical Preliminaries
Cell Membranes.
SM2220 – Class 06 Finite Automata. SM2220 – Class 06 Topic in theoretical computing. A subset of computation machines. Closely related to formal language.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CSC312 Automata Theory Lecture # 3 Languages-II. Formal Language A formal language is a set of words—that is, strings of symbols drawn from a common alphabet.
Introduction Finite Automata accept all regular languages and only regular languages Even very simple languages are non regular (  = {a,b}): - {a n b.
Three Basic Concepts Languages Grammars Automata.
CSC312 Automata Theory Lecture # 26 Chapter # 12 by Cohen Context Free Grammars.
Discrete Structures ICS252 Chapter 5 Lecture 2. Languages and Grammars prepared By sabiha begum.
Plasma Membrane  Responsible for homeostasis. Plasma membrane Thin, flexible boundary between a cell and its environment. Allows nutrients in and allows.
Akram Salah ISSR Basic Concepts Languages Grammar Automata (Automaton)
Biomolecular Implementation of Computing Devices with Unbounded Memory Matteo CAVALIERE, Nataša JONOSKA, Nadrian C. SEEMAN. Department of Computer Science.
Lecture 01: Theory of Automata:2013 Asif Nawaz Theory of Automata.
The Cell Theory  All organisms are composed of one or more cells. 7.1 Cell Discovery and Theory Cellular Structure and Function  The cell is the basic.
The Cell Theory 1. How are cells like bricks in a wall?
Introduction to Automata Theory
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Chapter 4 Introduction to Set Theory
CSE202: Introduction to Formal Languages and Automata Theory
Theory of Computation Lecture #
Implementation of Haskell Modules for Automata and Sticker Systems
BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS
Lecture 1 Theory of Automata
PARSE TREES.
Introduction to Automata Theory
Review: Compiler Phases:
All organisms are composed of one or more cells.
Lecture One: Automata Theory Amjad Ali
Presentation transcript:

CS2303-THEORY OF COMPUTATION www.nskinfo.com && www.nsksofttch.com Department of nskinfo-i education CS2303-THEORY OF COMPUTATION Chapter: RECENT DEVOLOPMENTS IN LANGUAGE THEORY

Formal Languages & Automata Mathematics Pure applied Mechanics, (Fluid Dynamics, etc) Analysis Statistics Algebra Discrete Mathematics Graph Theory Fuzzy Sets Logic Formal Languages & Automata

Formal Languages & Automata Cornerstone of Theoretical Computer Science Origin & Motivation from different sources

New Applications: 1. Cryptography 2. Graphics and Artificial Intelligence 3. Pattern Recognition 4. DNA computing.

Formal Languages Automaton An abstraction of general characteristics of programming languages. Automaton A construct which possesses all the indispensable features of a digital computer.

Language A system suitable for the expression of certain ideas, facts or concepts, including a set of symbols and rules for their manipulation. To study language mathematically we need a mechanism to describe them.

Preliminaries X – Finite Alphabet X* - Set of finite words Example X = {a, b} X* = {λ, a, b, aa, ab, bb, . . . }

Let L X* – language a a . . . a (n times) = an; If X = {a, b} then L = {anbn : n ≥ 1} is a language Characterizing L by finite set of rules, called Grammars, is Formal Languages.

DNA – Deoxyribonucleotide DNA – molecules are made up of Adenine Cytocine Thymine Guanine nitrgen bounded bases DNA exists in double stranded linear or circular form. DNA molecules are strings (words) over

DNA Sequence A T C G A T G C G C A G T T A G C T A C G C G T C A

Protein – String over twenty amino acids RNA – String over four ribonucleotide

Different variants of words Circular words Infinite words, Bi-infinite words Two dimensional words (arrays) Infinite arrays Chain code pictures

Circular words - Motivated by the structure of DNA sequences A circular word c is We denote it by  a1a2 … an. ie… a1a2 … an is one linearlized form of C.

Example: = aabbaa =  bbaaaa =  baaaab = … Example: = aabbaa =  bbaaaa =  baaaab = ….. In other words circular word c is an equivalence class in X* under the relation defined as x  y if y is a cyclic permutation of x. Collection of all circular words is denoted as X .

Infinite words Infinite word is a function u : N  We represent infinite word as u = u1u2 … (a sequence of elements of ) Example:  = {a, b} u = abaabb…

 - Set of all infinite words over   - Set of all finite and infinite words over  L   - -language Bi-infinte words are functions from integers Z to .

Array over  is of the form ** - collection of all arrays over  If  = { o, x}, then Collection of arrays is called picture languages.

Kolam is a traditional art practiced extensively in the southern part of India, for decorating courtyards of dwellings.

Chain code picture languages  

Position Vector or generalized Parikh Vector u  ;  = (a1, a2, . . . , an) P(u) = (p1, p2, . . . , pn) where where Ai gives all the positions of the letter ai in the word u. Example:  = {a, b} u = abaa u = ababab… = (ab) ,

Results If u   and if p(u) = (p1, p2, . . . pn) then (i) p1 + p2 + . . . + pn = 1 and If u  * (ii) p1 + p2 + . . . + pn = 1 – (1 / 2n ) . b b2 ab ba b a a2 a

Definition L   - line language if there exists a line l in R2 such that L = { x   : p(x)  l }. l – language line of L. Examples 1. L = (anbn)  (anbn) line language lies on y = x/(2n) 2. L = (a* b)  a - line language lies on x + 2y = 1

Grammar for English language tells us whether a particular sentence is well formed or not. Typical rule of English grammar <sentence>  <noun phrase> <verb pharse> < noun phrase>  <article > <noun> < verb phrase >  < verb > < article >  A / The < noun >  boy / dog <verb>  runs The boy runs

<sentences> < noun phrase > < verb phrase > < article > < noun > <verb> The boy runs

S  aSb, S  ab Replace S by aSb or ab S – variable; a, b – constants S  ab S  aSb  aabb = a2b2 S  aSb  aaSbb  aaabbb = a3b3 L = {anbn : n ≥ 1}

L-Systems DNA Computing Membrane Computing

L-Systems

V R Dare, MCC

V R Dare, MCC

Aristid Lindenmayer (1925-1989) was a biologist who studied the growth patterns of various types of Algae. He devised L-systems in 1968 to provide a formal description of such simple multi-cellular organisms. Later, this system was extended to describe higher plants and complex structures.

He found some very many interesting properties in the geometry of a tree, the blood vessels, a cauliflower, the roots of a plant, or a fern. One interesting property is the property of self similarity. He also found that several mathematicians like Cantor, Sierpinski, Koch, Hilbert etc. had already studied this property, and have defined several interesting mathematical objects. We will discuss about a few

generating realistic plant like images like trees, bushes and flowers. L-systems are used in: generating realistic plant like images like trees, bushes and flowers. for producing generative art for producing music using algorithmic composition techniques to produce fractal images to produce antennas and integrated circuits to hold enormous amount of memory to build robust buildings with minimum weight and maximum strength V R Dare, MCC

The distinguishing feature of an L System over the formal language is that in an L- system the production rules are applied in parallel

Cantor Dust variables : { A, B } start : A {starting character string} rules : (A → ABA), (B → BBB) Let A mean "draw forward" and B mean "move forward". This produces the famous Cantor’s fractal set on a real

Fibonnacci sequence If we define the following simple grammar: variables : { A, B } rules : (A → B), (B → AB) then this L-system produces the following sequence of strings: n = 0 : A n = 1 : B n = 2 : AB n = 3 : BAB n = 4 : ABBAB n = 5 : BABABBAB n = 6 : ABBABBABABBAB n = 7 : BABABBABABBABBABABBAB

Koch Island Start: F+F+F+F p: F -> F+F-F-FF+F+F-F F: draw +: move right -: move left

Plant images

Start: F rule: F -> F[-F]F[+F][F]     Start: F   rule: F -> F[-F]F[+F][F]      

Other visually appealing shapes produced by L systems          

plant-like objects produced by L systems         angle 22.5 START -> F F -> FF-[-F+F+F]+[+F-F-F]  

DNA Computing

DNA – Deoxyribonucleotide DNA – molecules are made up of Adenine Cytocine Thymine Guanine nitrgen bounded bases DNA exists in double stranded linear or circular form. DNA molecules are strings (words) over

Model the action of restriction enzymes on DNA – sequences Define an algebraic structure on the set of all DNA-Sequences.

Splicing Operation on DNA sequences occurs in 2-steps Step – 1: Cutting DNA modules by restriction enzymes. Step – 2: Ligase enzyme binds them together.

Restriction enzymes added (i) DpnI, (ii) Bal I Dpn I GA TC Step - 1 Restriction enzymes added (i) DpnI, (ii) Bal I Dpn I GA TC Acts on CT AG x1 x2

Bal I T G G C C A acts on A C C G G T

Restricted Enzymes added are Toq I, Sc1NI, HhaI. Taq I Sc1nI Hha I

Consider the DNA-sequences  = … … where N is any arbitrary deoxyribonucleotide. Apply the enzyme EcoRI on EcoRI operates at six term sequence The cut takes place at x. The cut is a staggered one. N G A T C N C T A G A T G N N C T A … …

Step 2: The staggered strands of DNA reassociate if the ends are in the neighbourhood of each other by a chemical called “ligase”. Consider two DNA sequences,  and . Apply restricted enzyme and it cuts  and . After reassociation original modules are formed. Two new hybrid molecules are formed by the left half of the first of the original molecule reassociated with the right half of the second and the right half of the first with the left half of the second.

Questions to be analyzed Suppose we are given a finite set M of DNA sequences and a finite set of restriction enzymes and ligase enzymes. What is the nature of the language consisting of all DNA modules that can arise through the action of restriction enzymes and ligase enzymes.

Splicing rule over an alphabet V is u1  u2 $ u3  u4 where u1, u2, u3, u4  V*, $ ,  are special symbols not in V. For the splicing rule r = u1  u2 $ u3  u4, and for x, y, w, z  V* , (x, y) {w, z} if x = x1u1u2x2, y = y1u3u4y2, z = x1u1u4y2, w = y1u3u2x2 for x1, x2, y1, y2  V*. A Splicing scheme – (V, R) V – finite alphabet R – a set of splicing rule over V. r

For a splicing scheme h = (V, R) and L  V*, n (L) = { w, w : (w1, w2) {w, w } for some w1, w2  L and r  R} A Splicing system or H-system is H = (V, A, R) V – Alphabet A  V* - initial language R – set of splicing rules Language accepted by H is L(H) = *(A) r

An extended H-system H = (V, T, A, R) V – variables, T – terminal alphabet A  V* - initial language R – set of splicing rules L(H) = *(A)  T H – system is finite if A, R are finite Results Every finite H system generates only regular languages. The inclusion is strict. A language is regular iff it is generated by a extended finite H- system.

Generation of words uaxbv, wcxdz  I (a, x, b), (c, x, d) – patterns The new words formed are u a x d z and w c x b v u a x b v w c x d z The language generated by H is the minimal subset of A* which contains I and closed under the operation of splicing. L(H) – languages generated by the splicing system H. Recognizable languages are also morphic images of languages generated by splicing system H.

MEMBRANE COMPUTING

Cell has a complex structure with several compartments called Organelles. Eg: Nucleus, Golgi apparatus, Ribosomes ,... Cell and these compartments are covered by cell membrane called Plasma Membrane. Membrane is a phospholipid bilayer (2 layers of phospholipid molecules) in which protein, cholestrol, steriods and other molecules are embedded

Plasma membrane is only partially permeable some non changed molecules cross the membrane almost freely Larger molecules can cross a membrane if they are assisted Charged ions pass selectively from a region to another one

Basic functions of a biological membrane is to define compartments and to relate compartments to their environment. Ensures some molecules to stay in the Cell. Blocks some substance like toxic molecules to stay out of Cell. Allows some molecule (waste products) to leave the Cell. Allows nutrients to enter the Cell.

Membrane Structure Hierarachical arrangement of membranes - all of them placed in a main membrane called Skin Membrane. A Membrane without Membrane inside is called Elementary Membrane.

Tree associated with the membrane Example Skin membrane 1 1 2 4 2 3 4 5 6 5 7 3 8 9 region 6 7 9 8 Tree associated with the membrane Elementary membrane

Region of a Membrane Multiset of Objects Evolution rules (molecules inside (transformation of the membrane) molecules)

Each region r contains evolution rules Rule is of the form a  (bc, in) or a  (bc, out) a  (bc, here)

a  (bc, in) a  (bc, here) a  (bc, out)

Re- writing P- system  = (V, T, μ, M1, M2, R1, R2) V = {a, b, c, d, d’ ,e, e’} ; T = {a, b, c} M1 = {de} ; M2 = Φ  = R1 = {(d  ad’b, here), (e  ce’, in), (d  ab, here) (e  c, out)} ; P1 = Φ R2 = { (d’  d, out), (e’  e, here) } ; P2 = Φ 1 2

Computations {anbncn : n1} abc de abe ad'be ad'bce' ad'bce aabbce

Questions ?