Implementation of Haskell Modules for Automata and Sticker Systems

Slides:



Advertisements
Similar presentations
Theory Of Automata By Dr. MM Alam
Advertisements

L ECTURE 3 T HEORY OF AUTOMATA. E QUIVALENT R EGULAR E XPRESSIONS Definition Two regular expressions are said to be equivalent if they generate the same.
Lecture 9,10 Theory of AUTOMATA
1 Pushdown Automata (PDA) Informally: –A PDA is an NFA-ε with a stack. –Transitions are modified to accommodate stack operations. Questions: –What is a.
YES-NO machines Finite State Automata as language recognizers.
COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of Monash University.
COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of Monash University.
CS5371 Theory of Computation Lecture 6: Automata Theory IV (Regular Expression = NFA = DFA)
79 Regular Expression Regular expressions over an alphabet  are defined recursively as follows. (1) Ø, which denotes the empty set, is a regular expression.
CS 3240 – Chuck Allison.  A model of computation  A very simple, manual computer (we draw pictures!)  Our machines: automata  1) Finite automata (“finite-state.
Theory Of Automata By Dr. MM Alam
Lexical Analysis CSE 340 – Principles of Programming Languages Fall 2015 Adam Doupé Arizona State University
Theory Of Automata By Dr. MM Alam
Lecture # 1 (Automata Theory)
Theory of Automata.
1 Welcome to ! Theory Of Automata. 2 Text and Reference Material 1.Introduction to Computer Theory, by Daniel I. Cohen, John Wiley and Sons, Inc., 1991,
CSC312 Automata Theory Lecture # 2 Languages.
Formal Methods in SE Theory of Automata Qasiar Javaid Assistant Professor Lecture # 06.
Lecture Two: Formal Languages Formal Languages, Lecture 2, slide 1 Amjad Ali.
1 Language Definitions Lecture # 2. Defining Languages The languages can be defined in different ways, such as Descriptive definition, Recursive definition,
1 Chapter 1 Introduction to the Theory of Computation.
Languages & Grammars. Grammars  A set of rules which govern the structure of a language Fritz Fritz The dog The dog ate ate left left.
1 Introduction to Regular Expressions EELS Meeting, Dec Tom Horton Dept. of Computer Science Univ. of Virginia
Module 2 How to design Computer Language Huma Ayub Software Construction Lecture 8.
L ECTURE 3 Chapter 4 Regular Expressions. I MPORTANT T ERMS Regular Expressions Regular Languages Finite Representations.
Introduction to Theory of Automata By: Wasim Ahmad Khan.
Copyright © Curt Hill Finite State Automata Again This Time No Output.
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.
Recursive Definations Regular Expressions Ch # 4 by Cohen
Lecture # Book Introduction to Theory of Computation by Anil Maheshwari Michiel Smid, 2014 “Introduction to computer theory” by Daniel I.A. Cohen.
Lecture # 4.
Mathematical Foundations of Computer Science Chapter 3: Regular Languages and Regular Grammars.
Lecture 2 Theory of AUTOMATA
1 Section 11.2 Finite Automata Can a machine(i.e., algorithm) recognize a regular language? Yes! Deterministic Finite Automata A deterministic finite automaton.
Lecture 02: Theory of Automata:2014 Asif Nawaz Theory of Automata.
Lecture 03: Theory of Automata:2014 Asif Nawaz Theory of Automata.
L ECTURE 3 T HEORY OF AUTOMATA. E QUIVALENT R EGULAR E XPRESSIONS Definition Two regular expressions are said to be equivalent if they generate the same.
By Dr.Hamed Alrjoub. 1. Introduction to Computer Theory, by Daniel I. Cohen, John Wiley and Sons, Inc., 1991, Second Edition 2. Introduction to Languages.
Recap Lecture 3 RE, Recursive definition of RE, defining languages by RE, { x}*, { x}+, {a+b}*, Language of strings having exactly one aa, Language of.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Pumping Lemma.
Theory of Computation Lecture #
Lecture # 2.
BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS
Language Theory Module 03.1 COP4020 – Programming Language Concepts Dr. Manuel E. Bermudez.
Lexical Analysis CSE 340 – Principles of Programming Languages
Theory of Automata.
Regular Expressions (Examples)
LANGUAGES Prepared by: Paridah Samsuri Dept. of Software Engineering
Language and Automata Theory
[Week#03,04] (b) - Finite Automata
Finite-state automata
Pushdown Automata Reading: Chapter 6.
Jaya Krishna, M.Tech, Assistant Professor
COP4620 – Programming Language Translators Dr. Manuel E. Bermudez
CSC312 Automata Theory Lecture # 4 Languages-III.
REGULAR LANGUAGES AND REGULAR GRAMMARS
Recap lecture 29 Example of prefixes of a language, Theorem: pref(Q in R) is regular, proof, example, Decidablity, deciding whether two languages are equivalent.
CS 350 — Fall 2018 gilray.org/classes/fall2018/cs350/
NFAs and Transition Graphs
Compiler Construction
Chapter 1 Introduction to the Theory of Computation
CSC312 Automata Theory Lecture # 5 Chapter # 4 Cont…
Magnetic and chemical equivalence
CSC312 Automata Theory Lecture # 3 Languages-II.
Welcome to ! Theory Of Automata Irum Feroz
Recap Lecture 3 RE, Recursive definition of RE, defining languages by RE, { x}*, { x}+, {a+b}*, Language of strings having exactly one aa, Language of.
LECTURE # 07.
What is it? The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting". An automaton (Automata in plural) is an abstract self-propelled.
Prepared by- Patel priya( ) Guided by – Prof. Archana Singh Gandhinagar Institute of Technology SUBJECT - CD ( ) Introcution to Regular.
Presentation transcript:

Implementation of Haskell Modules for Automata and Sticker Systems         Kissani Perera*, Yoshihiro Mizoguchi**         *Graduate School of Mathematics         **Faculty of Mathematics             Kyushu university.

Outline Motivations Objectives Basic notations DNA sequences and Dominos Sticker system Sticker vs Automata Grammar Module Sticker vs Grammar Advantages of Haskell Related works Conclusion and future works

1.Motivations DNA computing uses DNA instead of traditional computer technologies. Sticker system is a computing system based on the sticker operations, which in turn, is a model of the techniques used by Adleman[1994] in his DNA experiment. Paun & Rozenberg[1998] introduced a one concrete method to transform the automata into sticker system. We have improved an insufficient parts in their results and introduce more simple efficient transformation using Haskell module functions. Our Haskell module functions can be used as self study materials to learn automata, grammar and language theories.

2.Objectives Realize the operations used in Sticker system using Haskell module functions. Discuss the modifications done in our module which gave insufficient results in Paun & Rozenberg[1998]. Discuss the advantages of Haskell module functions.

3.Basic notations: Finite Automata :alphabet, natural number Q: set of states : alphabet q0: initial state FM: set of final states : transition function

4.DNA sequences and Dominos DNA sequences are double stranded sequences composed of four nucleotides A(adenine), C(cytosine),G(guanine), T(thymine). Paired A-T, C-G are called Watson-Crick complementarity. 5’ –AAACTGGAG -3’ + 3’ –TTTGACCTC -5’ “glued” 5’ –AAACTGGAG -3’ 3’ –TTTGACCTC -5’ . Double stranded DNA sequence

y x y x x y x y y x z y x z y x z y x z We used incomplete double stranded sequences and anneal them to form the double stranded sequences with the same length. x y y x

We modify the definition of domino (D)( defined in Paun & Rozenberg) from string of pairs of alphabet to a triple of two strings l, r and integer x. Here is the definition for our domino. Domino be symmetric relation. An element is a domino over If Let be a set of alphabet and Z be a set of integers and

Represent domino in our system. ATGC C TA -1 ATGC TA CGT ATGC

Sticker operation is defined as 5.Sticker system Sticker system is a four tuple Starting from A and using pairs (r1,r2) in R we can obtain a set of double stranded sequences using sticker operations.

Example 1: Sticker operation Let ((ATG,TA,0),(GA,CCT,-1))=(ATGGA,TACCT,0) ATG TA GA CCT ATGGA TACCT +

6.Sticker system vs Automaton For a finite automaton sticker system defined in our module as follows. (*)

Language generated by Automata M For a sticker system , we define a relation as follows Then

Theorem (Paun & Rozenberg[1998]) Example 2: Consider the following stickers with length 5 generated by     which cannot be generated by Paun & Rozenberg` definitions.     ["aaaab","abbab","babab","bbaab","aabaa","abaaa","baaaa","bbbaa","aaaba","abbba","babba","bbaba","aabbb","ababb", "baabb","bbbbb]

Corrections for Paun & Rozenberg’s definitions ab bb a aaa bba aba baa F = Our definition b ab bab a aaa bba aba baa aa aaaa bbaa bb ba aab abbb bbbb aabb baaa abaa babb F =

Example 3 : Stickers “abbab” and “bbbbb” in example2 can be generated by our module. aab a b ab ba baa aba bbb aaa aa abb bab bba bb abbab abb ab + bab A F bbbbb bbb b bb bbbb + A F

7.Grammar module Grammar is a four tuple G=(T,N,R,S) where T: termnial symbols N: non terminal symbols R: transformation rules S: start symbol Language generated by G

8.Sticker system vs Grammar module For a linear grammar sticker system is defined in our module as follows:

Theorem (Paun &Rozenberg[1998] Example 4: Consider the grammar Stickers generated by G ["","ab","aabb","aaabbb","aaaabbbb","aaaaabbbbb","aaaaaabbbbbb","aaaaaaabbbbbbb", "aaaaaaaabbbbbbbb","aaaaaaaaabbbbbbbbb"]

Consider the following sticker generated by which cannot be generated by the definitions in Paun & Rozenberg[1998] aaaaabbbbb

Corrections for Paun & Rozenberg`s definition Paun & Rozenberg’s definition for Our definition for Similarly for R2 ,R4 ,R5

Our module Paun & Rozenberg[1998] Output for R Our module             Paun & Rozenberg[1998]

Now we can generate the sticker “aaaaabbbbb” in our module as: Output for A ab aabb b abb aab a A1 A2 A3 Now we can generate the sticker “aaaaabbbbb” in our module as: R6 a aa aabb aab bb b bb aaaaabbbbb A3 R4

9.Advantages of Haskell Haskell has a description for infinite set (Example 5,6). We can define the dominos using set theoretical notations in Haskell (Example 7). 10. Related works HaLex is a Haskell library enables us to model and manipulate regular languages. HaLex also provide the facilities for defining deterministic and non deterministic finite Automata, Regular expressions etc. Our module use a description for infinite set, which is not used in HaLex.

Example 5: Let .Then produce the infinite set as follows infinite set {a,b}* is denoted by finite length of expression (sstar ['a','b']). Using (take) function we can view contents of an infinite set *AutomatonEx> take 10 $ sstar['a','b'] ["","a","b","aa","ba","ab","bb","aaa","baa","aba"]

*AutomatonEx> Automaton.language m1 Example 6 Produce infinite set. Therefore use take function to retrieve finite set. *AutomatonEx> Automaton.language m1 *AutomatonEx> take 10 $ Automaton.language m1 ["bb","abb","bbb","aabb","babb","abbb","bbbb","aaabb","baabb","ababb"]

Example 7 : Consider the following definition for domino We can use Haskell set theoretical notation as follows

11.Conclusion and future works Based on the facts in Paun & Rozenberg [1998] we have modified an insufficient results in there, and introduced a more simple technique to transform Automata into Sticker module using Haskell module functions. We suppose to publish an online tutorial, which can be used as a study material to learn Automata and language theories.