(From Linz 7.1 p. 183 Exercise 4.)

Size: px
Start display at page:

Download "(From Linz 7.1 p. 183 Exercise 4.)"

Transcription

1 Additional NPDA examples (From Lin 7.1 p. 183 Exercise 4.)

2 Formal Definition Non-Deterministic Pushdown Automaton NPDA M = ( Q, Σ, Γ, δ, q,, 0 F ) Final Set of states states Input alphabet Stack alphabet Transition function Initial state Stack start symbol 2

3 Instantaneous Description ( q, u, s) ) Current state Remaining input Current stack contents 3

4 1. Construct NPDA that accepts the language L = {wcw R : w {a, b}} with Σ = {a, b, c} The idea of machine construction*: We construct M that accepts L. It reads w and after seeing c, it reads w R. We will need three states, for reading w, switching to the new state after reading c, and the final accepting state. tt First for each a or b seen we push an a or b respectively onto the stack and stay in state q0. When we encounter a c, we do not push anything on to the stack, but go to the next state, q1. While being in state q1, if we encounter an a or b, we match it with the a or b respectively on the stack and pop one a for each a or one b for each b seen, so that it matches w R against the contents of the stack and the matching starts after it encounters a c. Finally it accepts if the input is done and there are no more a s or b s on the stack. *This is a variation on the example 7.5 on the p. 181 of Lin book, for the language L = {ww R : w {a, b}}

5 L = NPDA { { } * } R wcw w a,b a, λ b, λ a b b,b b λ a, a λ c, λ λ λ, q 0 q 1 q 2 5

6 Instantaneous description of the automaton accepting L = {wcw R : w {a, b}} Σ = {a, b, c} Here is the machine definition. M = ({q0, q1, q2}, Σ, {a, b, }, δ, q0,, {q2}) Instantaneous description (ID): (current state, remaining input, stack) δ(q0, a, a) = {(q0, aa)}, δ(q0, b, a) = {(q0, ba)}, δ(q0, a, b) = {(q0, ab)}, δ(q0 0, b, b) = {(q0, 0 bb)}, δ(q0, a, ) = {(q0, a)}, δ(q0, b, ) = {(q0, b)}, δ(q0, c, ) ) = {(q1, )}, ) δ(q0, c, a) = {(q1, a)}, δ(q0, c, b) = {(q1, b)}, δ(q1, a, a) = {(q1, λ)}, δ(q1, b, b) = {(q1, λ)}, δ(q1, λ, ) = {(q2, )}. a, λ a a, a aa b, λ b a, b ab b,b λ b, b bb a,a λ c, λ λ λ, q 0 q 1 q 2

7 2. Construct NPDA that accepts the language L = {a n b m c n+m : n 0, m 0} with Σ = {a, b, c} The idea of machine construction: We construct M that accepts L. Firstitaccepts it the empty string (n=m=0). Further, for each a seen (if any) it pushes an a onto the stack. Then it pushes an a onto the stack for each b seen (if any). Thus after reading all as and bsin the input, the stack has na (w) + nb (w) as on it. It then pops one a for each c seen guaranteeing that na (w) + nb (w) = nc(w) and they are in the right order. Finally it accepts if the input is done and there are no more as on the stack. M = ({q0, q1, q2, q3, q4}, Σ, {a, }, δ, q0,, {q0, q4 })

8 NPDA L = { a n b m b n + m : n 0, m 0} a, λ a b, λ a c, a λ λ, λ λ λ, λ λ λ,λ q 0 q 1 q 3 q 2 8

9 Instantaneous description of the automaton accepting L = {a n b m c n+m : n 0, m 0} Σ = {a, b, c} Machine definition: M = ({q0, q1, q2, q3, q4}, Σ, {a, }, δ, q0,, {q0, q4 }) Instantaneous description (ID): (current state, remaining input, stack) δ(q0, λ, ) = {(q1, )}, δ(q1, a, ) = {(q1, a)}, δ(q1, a, a) = {(q1, aa)}, δ(q1, λ, a) = {(q2, a)}, δ(q1, λ, ) = {(q2, )}, δ(q2, 2 b, ) ) = {(q2, 2 a)}, δ(q2, b, a) = {(q2, aa)}, δ(q2, c, a) = {(q3, λ)}, δ(q3, c, a) ) = {(q3, λ)}, ) δ(q3, λ, ) = {(q4, λ)}. a, λ a b, λ a c, a λ λ, λ λ λ, λ λ λ, q 0 q 1 q 2 q 3 q 2

10 3. Construct NPDA that accepts the language L = {a n b m : n m 3n, n 0} with Σ = {a, b, c}. The idea of machine construction: We will construct M that accepts L. It accepts empty string. The state q0 keeps track of the n as encountered in the first part of the string and provides a chance for state q1 to match the bs to anywhere between n and 3n. It proceeds to state q2 from state q1 if the number of bs encountered is between n and 3n.

11 NPDA L { n m a b : n m 3n, 0} = n a, λ a, λ a aa b,a λ a, λ aaa b,a λ λ, q 0 q 1 q 2 11

12 Instantaneous description of the automaton accepting L = {a n b m : n m 3n, n 0} with Σ = {a, b, c}. Machine definition: M = ({q0, q1, q2 }, Σ, {a, b, }, δ, q0,, {q2 }) Instantaneousdescription (ID): (currentstate state, remaininginput input, stack) δ(q0, a, ) = {(q0, a)}, δ(q0, a, ) = {(q0, aa)}, δ(q0, a, ) = {(q0, aaa)}, δ(q0, a, a) = {(q0, aa)}, δ(q0, a, a) = {(q0, aaa)}, δ(q0, a, a) = {(q0, aaaa)}, δ(q0, b, a) = {(q1, λ)}, δ(q1, b, a) = {(q1, λ)}, δ(q1, λ, ) = {(q2, )} a, λ a a, λ aa a, λ aaa a,a a a,a aa a,a aaa b,a λ b,a λ λ, q 0 q 1 q 2

13 4. Construct NPDA that accepts the language L = {w : n a (w) = n b (w) + 1} with Σ = {a, b, c}. L { w : n ( w ) = n ( w ) +, w { a,b} * } = 1 a b The idea of machine construction: Machine M accepts L and it starts with one extra a on the stack and then uses the machine given in Example 7.4 in the Lin book to tell if the number of as and bsare the same. If they are and we started with one more a on the stack then the condition of L is met. Additionally, if it sees a c, it just reads it and does not modify the stack.

14 We start with a simpler machine that accepts the language: L w a,b : n ( w n w * = { { } ) = ( )} a( b Here we use Lin solution. He uses 0 to count a s which will be popped when b s bsare found. Assometimes sometimes in some prefix there may be more b s bs than a s we will find no 0 on the stack. In that case 1 is used that later on can be matched with a s.

15 NPDA for a simpler machine L * = { w { a,b} : n ( w ) = n ( w )} a b a, a, b, 1 b, 0 λ b, 1 11 a, 1 λ q 0 λ, q f

16 NPDA L { { } = } * w a,b : n ( w ) n ( w )+1 = ) a b λ,λ, q 0 a, a,0 a 0 00 b, 1 b, 0 λ b, 1 11 a, 1 λ λ, q 1 q2

17 Instantaneous description of the automaton accepting L = {w : n a (w) = n b (w) + 1} with Σ = {a, b, c}. M = ({q0, q1, q2}, Σ, {a, b, }, δ, q0,, {q2}) Instantaneous description (ID): (current state, remaining input, stack) δ(q0,, λ,, ) ) = {(q1, a)}, δ(q1, a, ) = {(q1, a)}, δ(q1, a, a) = {(q1, aa)}, b, 1 δ(q1, a, b) = {(q1, λ)}, b, 0 λ b, 1 11 a, 0 a, 1 λ δ(q1, b, ) ) = {(q1, b)}, a,0 00 δ(q1, b, a) = {(q1, λ)}, δ(q1, b, b) = {(q1, bb)}, λ,λ a λ, δ(q1, λ, ) = {(q2, λ)}, q 0 q 1 q2 δ(q1, c, ) = {(q1, c)}, δ(q1, c, a) = {(qa, a)}, δ(q1, c, b) = {(q1, b)}. In this solution a and b are used as counters instead of 0 and 1.

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile Pushdown Automata In the last section we found that restricting the computational power of computing devices produced solvable decision problems for the class of sets accepted by finite automata. But along

More information

Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, 2014. School of Informatics University of Edinburgh als@inf.ed.ac.

Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, 2014. School of Informatics University of Edinburgh als@inf.ed.ac. Pushdown automata Informatics 2A: Lecture 9 Alex Simpson School of Informatics University of Edinburgh als@inf.ed.ac.uk 3 October, 2014 1 / 17 Recap of lecture 8 Context-free languages are defined by context-free

More information

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology Honors Class (Foundations of) Informatics Tom Verhoeff Department of Mathematics & Computer Science Software Engineering & Technology www.win.tue.nl/~wstomv/edu/hci c 2011, T. Verhoeff @ TUE.NL 1/20 Information

More information

Pushdown Automata. International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain

Pushdown Automata. International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain Pushdown Automata transparencies made for a course at the International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain Hendrik Jan Hoogeboom, Leiden http://www.liacs.nl/

More information

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

More information

ÖVNINGSUPPGIFTER I SAMMANHANGSFRIA SPRÅK. 15 april 2003. Master Edition

ÖVNINGSUPPGIFTER I SAMMANHANGSFRIA SPRÅK. 15 april 2003. Master Edition ÖVNINGSUPPGIFTER I SAMMANHANGSFRIA SPRÅK 5 april 23 Master Edition CONTEXT FREE LANGUAGES & PUSH-DOWN AUTOMATA CONTEXT-FREE GRAMMARS, CFG Problems Sudkamp Problem. (3.2.) Which language generates the grammar

More information

Scanner. tokens scanner parser IR. source code. errors

Scanner. tokens scanner parser IR. source code. errors Scanner source code tokens scanner parser IR errors maps characters into tokens the basic unit of syntax x = x + y; becomes = + ; character string value for a token is a lexeme

More information

Automata and Formal Languages

Automata and Formal Languages Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,

More information

Intrusion Detection via Static Analysis

Intrusion Detection via Static Analysis Intrusion Detection via Static Analysis IEEE Symposium on Security & Privacy 01 David Wagner Drew Dean Presented by Yongjian Hu Outline Introduction Motivation Models Trivial model Callgraph model Abstract

More information

Regular Languages and Finite State Machines

Regular Languages and Finite State Machines Regular Languages and Finite State Machines Plan for the Day: Mathematical preliminaries - some review One application formal definition of finite automata Examples 1 Sets A set is an unordered collection

More information

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions

CSC4510 AUTOMATA 2.1 Finite Automata: Examples and D efinitions Definitions CSC45 AUTOMATA 2. Finite Automata: Examples and Definitions Finite Automata: Examples and Definitions A finite automaton is a simple type of computer. Itsoutputislimitedto yes to or no. It has very primitive

More information

Automata and Computability. Solutions to Exercises

Automata and Computability. Solutions to Exercises Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata

More information

CS103B Handout 17 Winter 2007 February 26, 2007 Languages and Regular Expressions

CS103B Handout 17 Winter 2007 February 26, 2007 Languages and Regular Expressions CS103B Handout 17 Winter 2007 February 26, 2007 Languages and Regular Expressions Theory of Formal Languages In the English language, we distinguish between three different identities: letter, word, sentence.

More information

Chapter 7 Uncomputability

Chapter 7 Uncomputability Chapter 7 Uncomputability 190 7.1 Introduction Undecidability of concrete problems. First undecidable problem obtained by diagonalisation. Other undecidable problems obtained by means of the reduction

More information

Lempel-Ziv Coding Adaptive Dictionary Compression Algorithm

Lempel-Ziv Coding Adaptive Dictionary Compression Algorithm Lempel-Ziv Coding Adaptive Dictionary Compression Algorithm 1. LZ77:Sliding Window Lempel-Ziv Algorithm [gzip, pkzip] Encode a string by finding the longest match anywhere within a window of past symbols

More information

Fundamentele Informatica II

Fundamentele Informatica II Fundamentele Informatica II Answer to selected exercises 1 John C Martin: Introduction to Languages and the Theory of Computation M.M. Bonsangue (and J. Kleijn) Fall 2011 Let L be a language. It is clear

More information

MACM 101 Discrete Mathematics I

MACM 101 Discrete Mathematics I MACM 101 Discrete Mathematics I Exercises on Combinatorics, Probability, Languages and Integers. Due: Tuesday, November 2th (at the beginning of the class) Reminder: the work you submit must be your own.

More information

Turing Machines: An Introduction

Turing Machines: An Introduction CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,

More information

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. 3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem

More information

CMPSCI 250: Introduction to Computation. Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013

CMPSCI 250: Introduction to Computation. Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013 CMPSCI 250: Introduction to Computation Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013 Regular Expressions and Their Languages Alphabets, Strings and Languages

More information

Data Structures and Algorithms V22.0102. Otávio Braga

Data Structures and Algorithms V22.0102. Otávio Braga Data Structures and Algorithms V22.0102 Otávio Braga We use a stack When an operand is read, output it When an operator is read Pop until the top of the stack has an element of lower precedence Then push

More information

Compiler I: Syntax Analysis Human Thought

Compiler I: Syntax Analysis Human Thought Course map Compiler I: Syntax Analysis Human Thought Abstract design Chapters 9, 12 H.L. Language & Operating Sys. Compiler Chapters 10-11 Virtual Machine Software hierarchy Translator Chapters 7-8 Assembly

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - LTL Model Checking Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are

More information

CAs and Turing Machines. The Basis for Universal Computation

CAs and Turing Machines. The Basis for Universal Computation CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.

More information

Introduction to Finite Automata

Introduction to Finite Automata Introduction to Finite Automata Our First Machine Model Captain Pedro Ortiz Department of Computer Science United States Naval Academy SI-340 Theory of Computing Fall 2012 Captain Pedro Ortiz (US Naval

More information

C H A P T E R Regular Expressions regular expression

C H A P T E R Regular Expressions regular expression 7 CHAPTER Regular Expressions Most programmers and other power-users of computer systems have used tools that match text patterns. You may have used a Web search engine with a pattern like travel cancun

More information

Composability of Infinite-State Activity Automata*

Composability of Infinite-State Activity Automata* Composability of Infinite-State Activity Automata* Zhe Dang 1, Oscar H. Ibarra 2, Jianwen Su 2 1 Washington State University, Pullman 2 University of California, Santa Barbara Presented by Prof. Hsu-Chun

More information

On Winning Conditions of High Borel Complexity in Pushdown Games

On Winning Conditions of High Borel Complexity in Pushdown Games Fundamenta Informaticae (2005) 1 22 1 IOS Press On Winning Conditions of High Borel Complexity in Pushdown Games Olivier Finkel Equipe de Logique Mathématique U.F.R. de Mathématiques, Université Paris

More information

The Halting Problem is Undecidable

The Halting Problem is Undecidable 185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine

More information

Compiler Construction

Compiler Construction Compiler Construction Regular expressions Scanning Görel Hedin Reviderad 2013 01 23.a 2013 Compiler Construction 2013 F02-1 Compiler overview source code lexical analysis tokens intermediate code generation

More information

T-79.186 Reactive Systems: Introduction and Finite State Automata

T-79.186 Reactive Systems: Introduction and Finite State Automata T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software

More information

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch 6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 4 Nancy Lynch Today Two more models of computation: Nondeterministic Finite Automata (NFAs)

More information

Push-down Automata and Context-free Grammars

Push-down Automata and Context-free Grammars 14 Push-down Automata and Context-free Grammars This chapter details the design of push-down automata (PDA) for various languages, the conversion of CFGs to PDAs, and vice versa. In particular, after formally

More information

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi Automata Theory Automata theory is the study of abstract computing devices. A. M. Turing studied an abstract machine that had all the capabilities of today s computers. Turing s goal was to describe the

More information

7.1 Our Current Model

7.1 Our Current Model Chapter 7 The Stack In this chapter we examine what is arguably the most important abstract data type in computer science, the stack. We will see that the stack ADT and its implementation are very simple.

More information

Properties of Stabilizing Computations

Properties of Stabilizing Computations Theory and Applications of Mathematics & Computer Science 5 (1) (2015) 71 93 Properties of Stabilizing Computations Mark Burgin a a University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA

More information

3515ICT Theory of Computation Turing Machines

3515ICT Theory of Computation Turing Machines Griffith University 3515ICT Theory of Computation Turing Machines (Based loosely on slides by Harald Søndergaard of The University of Melbourne) 9-0 Overview Turing machines: a general model of computation

More information

Fast nondeterministic recognition of context-free languages using two queues

Fast nondeterministic recognition of context-free languages using two queues Fast nondeterministic recognition of context-free languages using two queues Burton Rosenberg University of Miami Abstract We show how to accept a context-free language nondeterministically in O( n log

More information

Omega Automata: Minimization and Learning 1

Omega Automata: Minimization and Learning 1 Omega Automata: Minimization and Learning 1 Oded Maler CNRS - VERIMAG Grenoble, France 2007 1 Joint work with A. Pnueli, late 80s Summary Machine learning in general and of formal languages in particular

More information

Algorithms and Data Structures

Algorithms and Data Structures Algorithms and Data Structures Part 2: Data Structures PD Dr. rer. nat. habil. Ralf-Peter Mundani Computation in Engineering (CiE) Summer Term 2016 Overview general linked lists stacks queues trees 2 2

More information

Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

More information

Last not not Last Last Next! Next! Line Line Forms Forms Here Here Last In, First Out Last In, First Out not Last Next! Call stack: Worst line ever!

Last not not Last Last Next! Next! Line Line Forms Forms Here Here Last In, First Out Last In, First Out not Last Next! Call stack: Worst line ever! ECE 551 C++ Programming, Data structures, and Algorithms Abstract Data Type: Stack Last In First Out (LIFO) 1 2 2 1 4 3 1 3 4 Stacks in Programming Worst line ever! 5 3 1 5 Stacks are not useful for waiting

More information

SIF Validation Tool. Wages Protection System Qatar Central Bank& Ministry of Labour And Social Affairs. End User Guide

SIF Validation Tool. Wages Protection System Qatar Central Bank& Ministry of Labour And Social Affairs. End User Guide SIF Validation Tool Wages Protection System Qatar Central Bank& Ministry of Labour And Social Affairs End User Guide [1] SIF Validation Tool at a Glance Content 1 SIF VALIDATION TOOL AT A GLANCE 3 2 GETTING

More information

Stack Allocation. Run-Time Data Structures. Static Structures

Stack Allocation. Run-Time Data Structures. Static Structures Run-Time Data Structures Stack Allocation Static Structures For static structures, a fixed address is used throughout execution. This is the oldest and simplest memory organization. In current compilers,

More information

Appendix C: Keyboard Scan Codes

Appendix C: Keyboard Scan Codes Thi d t t d ith F M k 4 0 2 Appendix C: Keyboard Scan Codes Table 90: PC Keyboard Scan Codes (in hex) Key Down Up Key Down Up Key Down Up Key Down Up Esc 1 81 [ { 1A 9A, < 33 B3 center 4C CC 1! 2 82 ]

More information

Informatique Fondamentale IMA S8

Informatique Fondamentale IMA S8 Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech Lille

More information

SOLUTION Trial Test Grammar & Parsing Deficiency Course for the Master in Software Technology Programme Utrecht University

SOLUTION Trial Test Grammar & Parsing Deficiency Course for the Master in Software Technology Programme Utrecht University SOLUTION Trial Test Grammar & Parsing Deficiency Course for the Master in Software Technology Programme Utrecht University Year 2004/2005 1. (a) LM is a language that consists of sentences of L continued

More information

Course Manual Automata & Complexity 2015

Course Manual Automata & Complexity 2015 Course Manual Automata & Complexity 2015 Course code: Course homepage: Coordinator: Teachers lectures: Teacher exercise classes: Credits: X_401049 http://www.cs.vu.nl/~tcs/ac prof. dr. W.J. Fokkink home:

More information

Administrative Services of Kansas

Administrative Services of Kansas Administrative Services of Kansas ANSI X12N 837D V4010A1 Health Care Claim Companion Guide - Dental, INC BlueCross BlueShield of Western New York BlueShield of Northeastern New York Last Updated March

More information

ASSIGNMENT ONE SOLUTIONS MATH 4805 / COMP 4805 / MATH 5605

ASSIGNMENT ONE SOLUTIONS MATH 4805 / COMP 4805 / MATH 5605 ASSIGNMENT ONE SOLUTIONS MATH 4805 / COMP 4805 / MATH 5605 (1) (a) (0 + 1) 010 (finite automata below). (b) First observe that the following regular expression generates the binary strings with an even

More information

CS143 Handout 08 Summer 2008 July 02, 2007 Bottom-Up Parsing

CS143 Handout 08 Summer 2008 July 02, 2007 Bottom-Up Parsing CS143 Handout 08 Summer 2008 July 02, 2007 Bottom-Up Parsing Handout written by Maggie Johnson and revised by Julie Zelenski. Bottom-up parsing As the name suggests, bottom-up parsing works in the opposite

More information

Using Hands-On Visualizations to Teach Computer Science from Beginning Courses to Advanced Courses

Using Hands-On Visualizations to Teach Computer Science from Beginning Courses to Advanced Courses Using Hands-On Visualizations to Teach Computer Science from Beginning Courses to Advanced Courses Susan H. Rodger Department of Computer Science Duke University Durham, NC 27705 rodger@cs.duke.edu Abstract

More information

Automata and Formal Languages. Push Down Automata. Sipser pages 109-114. Lecture 13. Tim Sheard 1

Automata and Formal Languages. Push Down Automata. Sipser pages 109-114. Lecture 13. Tim Sheard 1 Automata and Formal Languages Push Down Automata Sipser pages 109-114 Lecture 13 Tim Sheard 1 Push Down Automata Push Down Automata (PDAs) are ε-nfas with stack memory. Transitions are labeled by an input

More information

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 1 (2014), pp. 79-84 International Research Publications House http://www. irphouse.com /ijict.htm Implementation

More information

Learning Analysis by Reduction from Positive Data

Learning Analysis by Reduction from Positive Data Learning Analysis by Reduction from Positive Data František Mráz 1, Friedrich Otto 1, and Martin Plátek 2 1 Fachbereich Mathematik/Informatik, Universität Kassel 34109 Kassel, Germany {mraz,otto}@theory.informatik.uni-kassel.de

More information

2110711 THEORY of COMPUTATION

2110711 THEORY of COMPUTATION 2110711 THEORY of COMPUTATION ATHASIT SURARERKS ELITE Athasit Surarerks ELITE Engineering Laboratory in Theoretical Enumerable System Computer Engineering, Faculty of Engineering Chulalongkorn University

More information

How to Make the Most of Excel Spreadsheets

How to Make the Most of Excel Spreadsheets How to Make the Most of Excel Spreadsheets Analyzing data is often easier when it s in an Excel spreadsheet rather than a PDF for example, you can filter to view just a particular grade, sort to view which

More information

PROGRAMMING CONCEPTS AND EMBEDDED PROGRAMMING IN C, C++ and JAVA: Lesson-4: Data Structures: Stacks

PROGRAMMING CONCEPTS AND EMBEDDED PROGRAMMING IN C, C++ and JAVA: Lesson-4: Data Structures: Stacks PROGRAMMING CONCEPTS AND EMBEDDED PROGRAMMING IN C, C++ and JAVA: Lesson-4: Data Structures: Stacks 1 STACK A structure with a series of data elements with last sent element waiting for a delete operation.

More information

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move. CS54 Turing Machines Turing Machine q 0 AI N P U T IN TAPE read write move read write move Language = {0} q This Turing machine recognizes the language {0} Turing Machines versus DFAs TM can both write

More information

Regular Languages and Finite Automata

Regular Languages and Finite Automata Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a

More information

2) Write in detail the issues in the design of code generator.

2) Write in detail the issues in the design of code generator. COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage

More information

Board Notes on Virtual Memory

Board Notes on Virtual Memory Board Notes on Virtual Memory Part A: Why Virtual Memory? - Letʼs user program size exceed the size of the physical address space - Supports protection o Donʼt know which program might share memory at

More information

Automata on Infinite Words and Trees

Automata on Infinite Words and Trees Automata on Infinite Words and Trees Course notes for the course Automata on Infinite Words and Trees given by Dr. Meghyn Bienvenu at Universität Bremen in the 2009-2010 winter semester Last modified:

More information

Overview of E0222: Automata and Computability

Overview of E0222: Automata and Computability Overview of E0222: Automata and Computability Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. August 3, 2011 What this course is about What we study

More information

Reading 13 : Finite State Automata and Regular Expressions

Reading 13 : Finite State Automata and Regular Expressions CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model

More information

Windows Performance Monitor Troubleshooting Guide

Windows Performance Monitor Troubleshooting Guide Windows Performance Monitor Troubleshooting Guide Document Owner - Support Version Control Alan Davis Author John Nuttall Windows Performance counter troubleshooting guide This document is designed to

More information

How to Format a Bibliography or References List in the American University Thesis and Dissertation Template

How to Format a Bibliography or References List in the American University Thesis and Dissertation Template PC Word 2010/2007 Bibliographies and References Lists Page 1 of 7 Click to Jump to a Topic How to Format a Bibliography or References List in the American University Thesis and Dissertation Template In

More information

RULE 1: Additive Identity Property

RULE 1: Additive Identity Property RULE 1: Additive Identity Property Additive Identity Property a + 0 = a x + 0 = x If we add 0 to any number, we will end up with the same number. Zero is represented through the the green vortex. When

More information

The Optimum One-Pass Strategy for Juliet

The Optimum One-Pass Strategy for Juliet Master s Thesis One-Pass Strategies for Context-Free Games Christian Cöster August 2015 Examiners: Prof. Dr. Thomas Schwentick Prof. Dr. Christoph Buchheim Technische Universität Dortmund Fakultät für

More information

Operators are typically activated through the menu items. Choose th 't. Ig on. r ht N d. IS ac Iva es an operator that highlights A-tr 't' 1 b 1 d

Operators are typically activated through the menu items. Choose th 't. Ig on. r ht N d. IS ac Iva es an operator that highlights A-tr 't' 1 b 1 d 2 xvii JFLAP Startup Running JFLAP Download JFLAP and the files referenced in this book from www j flap org to get started JFLAP is written in Java to allow it to run on a range of platforms JFLAP requires

More information

DATA STRUCTURES USING C

DATA STRUCTURES USING C DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give

More information

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

Increasing Interaction and Support in the Formal Languages and Automata Theory Course Increasing Interaction and Support in the Formal Languages and Automata Theory Course [Extended Abstract] Susan H. Rodger rodger@cs.duke.edu Jinghui Lim Stephen Reading ABSTRACT The introduction of educational

More information

Levels of Programming Languages. Gerald Penn CSC 324

Levels of Programming Languages. Gerald Penn CSC 324 Levels of Programming Languages Gerald Penn CSC 324 Levels of Programming Language Microcode Machine code Assembly Language Low-level Programming Language High-level Programming Language Levels of Programming

More information

A laboratory work: A teaching robot arm for mechanics and electronic circuits

A laboratory work: A teaching robot arm for mechanics and electronic circuits A laboratory work: A teaching robot arm for mechanics and electronic circuits Omer Sise * Department of Physics, Kocatepe University, Science and Art Faculty, Afyon, 03200, Turkey * e-mail: omersise@aku.edu.tr

More information

Bottom-Up Syntax Analysis LR - metódy

Bottom-Up Syntax Analysis LR - metódy Bottom-Up Syntax Analysis LR - metódy Ján Šturc Shift-reduce parsing LR methods (Left-to-right, Righ most derivation) SLR, Canonical LR, LALR Other special cases: Operator-precedence parsing Backward deterministic

More information

How to Read Music Notation

How to Read Music Notation How to Read Music Notation The New School of American Music IN JUST 30 MINUTES! C D E F G A B C D E F G A B C D E F G A B C D E F G A B C D E F G A B C D E 1. MELODIES The first thing to learn about reading

More information

Outline. Computer Science 331. Stack ADT. Definition of a Stack ADT. Stacks. Parenthesis Matching. Mike Jacobson

Outline. Computer Science 331. Stack ADT. Definition of a Stack ADT. Stacks. Parenthesis Matching. Mike Jacobson Outline Computer Science 1 Stacks Mike Jacobson Department of Computer Science University of Calgary Lecture #12 1 2 Applications Array-Based Linked List-Based 4 Additional Information Mike Jacobson (University

More information

Addressing The problem. When & Where do we encounter Data? The concept of addressing data' in computations. The implications for our machine design(s)

Addressing The problem. When & Where do we encounter Data? The concept of addressing data' in computations. The implications for our machine design(s) Addressing The problem Objectives:- When & Where do we encounter Data? The concept of addressing data' in computations The implications for our machine design(s) Introducing the stack-machine concept Slide

More information

Configuring Facebook for a More Secure Social Networking Experience

Configuring Facebook for a More Secure Social Networking Experience CPF 00009-15-CID361-9H-Facebook* 10 November 2015 Configuring Facebook for a More Secure Social Networking Experience Settings Settings are available under the Facebook Configuration Arrow. General Settings

More information

Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas

Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storage

More information

BEGINNING ALGEBRA ACKNOWLEDMENTS

BEGINNING ALGEBRA ACKNOWLEDMENTS BEGINNING ALGEBRA The Nursing Department of Labouré College requested the Department of Academic Planning and Support Services to help with mathematics preparatory materials for its Bachelor of Science

More information

NetPortal All your documents, direct to your iphone

NetPortal All your documents, direct to your iphone Copyright Stratospherix 2010 Apple, the Apple logo, ipod, ipod touch, and itunes are trademarks of Apple Inc., registered in the U.S. and other countries. iphone is a trademark of Apple Inc. App Store

More information

Working with Visio Connectors

Working with Visio Connectors Working with Visio Connectors Overview Connectors are lines that connect your shapes. Once a connection has been made, when the shape is moved, the connector points stay connected and move with the shape.

More information

This lesson can be adapted to the grade level by the presenter. Decide the level of content and activities as appropriate.

This lesson can be adapted to the grade level by the presenter. Decide the level of content and activities as appropriate. Binary Coding Preparation Grade Level: K-5 Group Size: 20-30 Time: 50 Minutes Presenters: 1-3 This lesson can be adapted to the grade level by the presenter. Decide the level of content and activities

More information

User Questions and Answers from the 8/29/2014 Iowa TIER Support Webinar

User Questions and Answers from the 8/29/2014 Iowa TIER Support Webinar We had a wonderful turnout for our second Iowa TIER Support Webinar. Many thanks to all who attended! Apologies for the limited webinar connection. We hope to have this corrected for the next webinar session.

More information

Table 1 Comparison of DC, Uni-Polar and Bi-polar Stepper Motors

Table 1 Comparison of DC, Uni-Polar and Bi-polar Stepper Motors Electronics Exercise 3: Uni-Polar Stepper Motor Controller / Driver Mechatronics Instructional Laboratory Woodruff School of Mechanical Engineering Georgia Institute of Technology Lab Director: I. Charles

More information

How To Compare A Markov Algorithm To A Turing Machine

How To Compare A Markov Algorithm To A Turing Machine Markov Algorithm CHEN Yuanmi December 18, 2007 1 Abstract Markov Algorithm can be understood as a priority string rewriting system. In this short paper we give the definition of Markov algorithm and also

More information

An Introduction to Assembly Programming with the ARM 32-bit Processor Family

An Introduction to Assembly Programming with the ARM 32-bit Processor Family An Introduction to Assembly Programming with the ARM 32-bit Processor Family G. Agosta Politecnico di Milano December 3, 2011 Contents 1 Introduction 1 1.1 Prerequisites............................. 2

More information

Excel supplement: Chapter 7 Matrix and vector algebra

Excel supplement: Chapter 7 Matrix and vector algebra Excel supplement: Chapter 7 atrix and vector algebra any models in economics lead to large systems of linear equations. These problems are particularly suited for computers. The main purpose of this chapter

More information

How to create PDF maps, pdf layer maps and pdf maps with attributes using ArcGIS. Lynne W Fielding, GISP Town of Westwood

How to create PDF maps, pdf layer maps and pdf maps with attributes using ArcGIS. Lynne W Fielding, GISP Town of Westwood How to create PDF maps, pdf layer maps and pdf maps with attributes using ArcGIS Lynne W Fielding, GISP Town of Westwood PDF maps are a very handy way to share your information with the public as well

More information

Finite Automata and Regular Languages

Finite Automata and Regular Languages CHAPTER 3 Finite Automata and Regular Languages 3. Introduction 3.. States and Automata A finite-state machine or finite automaton (the noun comes from the Greek; the singular is automaton, the Greek-derived

More information

ECDL. European Computer Driving Licence. Spreadsheet Software BCS ITQ Level 2. Syllabus Version 5.0

ECDL. European Computer Driving Licence. Spreadsheet Software BCS ITQ Level 2. Syllabus Version 5.0 European Computer Driving Licence Spreadsheet Software BCS ITQ Level 2 Using Microsoft Excel 2010 Syllabus Version 5.0 This training, which has been approved by BCS, The Chartered Institute for IT, includes

More information

Monitoring and Analyzing Switch Operation

Monitoring and Analyzing Switch Operation B Monitoring and Analyzing Switch Operation Contents Overview..................................................... B-3....................................... B-4 Menu Access To Status and Counters.........................

More information

Compilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam.

Compilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam. Compilers Spring term Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam.es Lecture 1 to Compilers 1 Topic 1: What is a Compiler? 3 What is a Compiler? A compiler is a computer

More information

Konica Minolta s Optimised Print Services (OPS)

Konica Minolta s Optimised Print Services (OPS) Konica Minolta s Optimised Print Services (OPS) Document Collection Agent (DCA) System Requirements V1.1 Page 1 of 6 Table of Contents Installation location... 3 Network requirements... 4 System requirements...

More information

Ź Ź ł ź Ź ś ź ł ź Ś ę ż ż ł ż ż Ż Ś ę Ż Ż ę ś ź ł Ź ł ł ż ż ź ż ż Ś ę ż ż Ź Ł Ż Ż Ą ż ż ę ź Ń Ź ś ł ź ż ł ś ź ź Ą ć ś ś Ź Ś ę ę ć ż Ź Ą Ń Ą ł ć ć ł ł ź ę Ś ę ś ę ł ś ć ź ś ł ś ł ł ł ł ć ć Ś ł ź Ś ł

More information

GCM for Android Setup Guide

GCM for Android Setup Guide GCM for Android Setup Guide This guide provides information on...... Prerequisites for using Google Cloud Messaging service... Instructions for setting up GCM service via the Google API console... Configuring

More information

Assignment Kits. Summary Kit Contents Lecture 1: Kit cover sheet (page 40)

Assignment Kits. Summary Kit Contents Lecture 1: Kit cover sheet (page 40) Assignment Kits These assignment kits contain the forms students need to do the assignments in the textbook A Discipline for Software Engineering by Watts S. Humphrey. In using them: - Provide each student

More information

Theory of Computation Chapter 2: Turing Machines

Theory of Computation Chapter 2: Turing Machines Theory of Computation Chapter 2: Turing Machines Guan-Shieng Huang Feb. 24, 2003 Feb. 19, 2006 0-0 Turing Machine δ K 0111000a 01bb 1 Definition of TMs A Turing Machine is a quadruple M = (K, Σ, δ, s),

More information

Web Data Extraction: 1 o Semestre 2007/2008

Web Data Extraction: 1 o Semestre 2007/2008 Web Data : Given Slides baseados nos slides oficiais do livro Web Data Mining c Bing Liu, Springer, December, 2006. Departamento de Engenharia Informática Instituto Superior Técnico 1 o Semestre 2007/2008

More information