Erik Jonsson School of Engineering and Computer Science CS 4384 – 001

Slides:



Advertisements
Similar presentations
Lecture 16 Deterministic Turing Machine (DTM) Finite Control tape head.
Advertisements

Erik Jonsson School of Engineering and Computer Science FEARLESS Engineering CS 4384 – 001 Automata Theory Thursday: Context-Free.
Deterministic Finite Automata (DFA)
Erik Jonsson School of Engineering and Computer Science FEARLESS Engineeringwww.utdallas.edu/~pervin CS CS 4384 – HON001 Automata Theory
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
CS21 Decidability and Tractability
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
Intro to DFAs Readings: Sipser 1.1 (pages 31-44) With basic background from Sipser 0.
Intro to DFAs Readings: Sipser 1.1 (pages 31-44) With basic background from Sipser 0.
Lecture 3UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3.
CS 310 – Fall 2006 Pacific University CS310 Finite Automata Sections:1.1 page 44 September 8, 2006.
Transparency No. 2-1 Formal Language and Automata Theory Chapter 2 Deterministic Finite Automata (DFA) (include Lecture 3 and 4)
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Deterministic FA/ PDA Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 4 Updated by Marek Perkowski.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
1 Languages and Finite Automata or how to talk to machines...
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
Topics Automata Theory Grammars and Languages Complexities
CSC 361Finite Automata1. CSC 361Finite Automata2 Formal Specification of Languages Generators Grammars Context-free Regular Regular Expressions Recognizers.
Regular Expressions and Automata Chapter 2. Regular Expressions Standard notation for characterizing text sequences Used in all kinds of text processing.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Lecture 1 String and Language. String string is a finite sequence of symbols. For example, string ( s, t, r, i, n, g) CS4384 ( C, S, 4, 3, 8) (1,
Great Theoretical Ideas in Computer Science.
Regular Languages A language is regular over  if it can be built from ;, {  }, and { a } for every a 2 , using operators union ( [ ), concatenation.
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 language,
Finite-State Machines with No Output
Lecture 2UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 2.
Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Great Theoretical Ideas in Computer Science.
CSCI 2670 Introduction to Theory of Computing August 26, 2004.
CSCI 2670 Introduction to Theory of Computing August 25, 2005.
CMSC 330: Organization of Programming Languages Theory of Regular Expressions Finite Automata.
CS 203: Introduction to Formal Languages and Automata
Deterministic Finite Automata COMPSCI 102 Lecture 2.
Lecture 2 Overview Topics What I forgot from last lecture Proof techniques continued Alphabets, strings, languages Automata June 2, 2015 CSCE 355 Foundations.
Transparency No. 2-1 Formal Language and Automata Theory Homework 2.
Great Theoretical Ideas in Computer Science for Some.
1 Course Overview Why this course “formal languages and automata theory?” What do computers really do? What are the practical benefits/application of formal.
Finite Automata Great Theoretical Ideas In Computer Science Victor Adamchik Danny Sleator CS Spring 2010 Lecture 20Mar 30, 2010Carnegie Mellon.
CS 154 Formal Languages and Computability February 11 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Erik Jonsson School of Engineering and Computer Science FEARLESS Engineeringwww.utdallas.edu/~pervin ENGR 3300 – 505 Advanced Engineering Mathematics
Complexity and Computability Theory I Lecture #5 Rina Zviel-Girshin Leah Epstein Winter
Finite Automata A simple model of computation. 2 Finite Automata2 Outline Deterministic finite automata (DFA) –How a DFA works.
Set, Alphabets, Strings, and Languages. The regular languages. Clouser properties of regular sets. Finite State Automata. Types of Finite State Automata.
1/29/02CSE460 - MSU1 Nondeterminism-NFA Section 4.1 of Martin Textbook CSE460 – Computability & Formal Language Theory Comp. Science & Engineering Michigan.
CIS 262 Automata, Computability, and Complexity Fall Instructor: Aaron Roth
Lecture Three: Finite Automata Finite Automata, Lecture 3, slide 1 Amjad Ali.
Introduction to the Theory of Computation
Languages.
CSE 105 theory of computation
Deterministic FA/ PDA Sequential Machine Theory Prof. K. J. Hintz
Jaya Krishna, M.Tech, Assistant Professor
COSC 3340: Introduction to Theory of Computation
Hierarchy of languages
COSC 3340: Introduction to Theory of Computation
Principles of Computing – UFCFA3-30-1
Finite Automata Reading: Chapter 2.
Instructor: Aaron Roth
Instructor: Aaron Roth
Lecture One: Automata Theory Amjad Ali
CSE 105 theory of computation
CS6382 Theory of Computation
Lexical Analysis Uses formalism of Regular Languages
CSCE 355 Foundations of Computation
CSE 105 theory of computation
Presentation transcript:

CS 4384 – 001 Automata Theory http://www.utdallas.edu/~pervin Erik Jonsson School of Engineering and Computer Science CS 4384 – 001 Automata Theory http://www.utdallas.edu/~pervin Thursday: Read Chapter 1 Look at Ullman’s Lecture 1 Tuesday 1-14-14 FEARLESS Engineering www.utdallas.edu/~pervin

Dr. William J. Pervin Office: ECSN 4.626 E-mail: pervin@utdallas.edu Erik Jonsson School of Engineering and Computer Science Dr. William J. Pervin Professor Emeritus of Mathematics, Electrical and Computer Engineering, University of Texas at Dallas Head, Computer Engineering Program (ret.) Master, College of Engineering (ret.) Head, Computer Science Department (ret) Director, UT Regional Comp. Center (ret.) Chair, Mathematics Department (ret.) Office: ECSN 4.626 E-mail: pervin@utdallas.edu FEARLESS Engineering www.utdallas.edu/~pervin

Syllabus cs4384SylS2014.docx TEXT “Theory of Computation” by Anil Maheshwari & Michiel Smid of Carleton University (Free Download) Theory of Computation ADDITIONAL MATERIAL “Automata Theory” web-course by J. Ullman on coursera (Free Download) Ullman JFLAP computer program and tutorial (Free Download) JFLAP Syllabus Remember these FREE items at course evaluation time, please.

Hopcroft & Ullman, Intro Hopcroft & Ullman, Intro. to Automata Theory, Languages, and Computation (~$135) Lewis & Papadimitriou, Elements of the Theory of Computation Martin, Intro. to Languages and the Theory of Computation (B&N $174) Sipser, Intro. to the Theory of Computation (~$150 for newest edition) < (Other section) [see eLearning for this book material] http://meminagaoglu.yasar.edu.tr/wp- content/uploads/2012/10/Introduction-To-The- Theory-Of-Computation-Michael-Sipser.pdf Du(UTD) & Ko, Problem Solving in Automata, Languages, and Complexity (e-book $160) RESERVE BOOK LIST

Practical Applications A variety of properties concerning the models, grammars, and languages will be proven. The existence or non-existence of algorithms for processing languages and language processors will be proven. These algorithms form the basis of tools for processing languages, e.g., parsers, compilers, assemblers, etc. Other algorithms will form the basis of tools that automatically construct language processors, e.g., yacc, lex, etc. Note that our perspective will be similar to, yet different from a compiler class. Additionally, some things will be proven to be non- computable, e.g., the enhanced compiler.

The set of all strings over S is S* M&S, pp. 6-7

CHAPTER ONE 1.3 Proof Techniques 1.3.6 Proof by Induction Note: Pigeon Hole Principle

HOMEWORK 0 CS 4384 14 January 2014 Due 16 January 2014 Keep copies of your homework; they probably will not be returned but instead submitted to ABET/SACS for accreditation

FINITE AUTOMATA Finite State Machines Deterministic Finite Automata L(M) = {w | w is a string over Σ and M “accepts” w}

Deterministic Finite State Automata (DFA) 1 …….. One-way, infinite tape, broken into cells One-way, read-only tape head. Finite control, I.e., a program, containing the position of the read head, current symbol being scanned, and the current “state.” A string is placed on the tape, read head is positioned at the left end, and the DFA will read the string one symbol at a time until all symbols have been read. The DFA will then either accept or reject. Finite Control

Formal Definition of a DFA A DFA is a five-tuple: M = (Q, Σ, δ, q0, F) Q A finite set of states Σ A finite input alphabet q0 The initial/starting state, q0 is in Q F A set of final/accepting states, which is a subset of Q δ A transition function, which is a total function from Q x Σ to Q δ: (Q x Σ) –> Q δ is defined for any q in Q and s in Σ, and δ(q, s) = q’ is equal to some state q’ in Q, could be q’=q Intuitively, δ(q, s) is the state entered by M after reading symbol s while in state q.

Example: Sudkamp 2.6 Strings over {a,b,c} in which all the a’s precede the b’s, which in turn precede the c’s. State Diagram JFLAP

Extension to Strings M&S p. 26

Example: Sudkamp 2.8 Strings over {a,b} in which the substring aa occurs exactly once.

Example: Sudkamp 2-22 The set of strings over {a,b} with an even number of a’s and an even number of b’s.

Example: Sudkamp 2-13 The set of strings over {a,b,c} such that every b is immediately followed by at least one c.

Give a DFA M such that: L(M) = {x | x is a string of a’s and b’s such that x contains both aa and bb} q0 b q7 q5 q4 q6 a q2 q1 q3 a/b

Language For example, {0, 1}, {all English words}, A language is a set of strings. For example, {0, 1}, {all English words}, {ε=00, 01, 02, ...} are all languages. The following are operations on sets and hence also on languages. Union: A U B Intersection: A ∩ B Difference: A \ B (also A - B) Complement: A = Σ* - A where Σ* is the set of all strings on alphabet Σ. _

REGULAR LANGUAGES A language is regular iff it is accepted by a (deterministic) finite automata.

HOMEWORK 1 Due: 21 JANUARY 2014 CS 4384 14 January 2014 Written carefully on 8.5x11 white paper as for your boss!

Concatenation of Languages For example, {0, 1}{1, 2} = {01, 02, 11, 12}. Especially, we denote A = A, A = AA, ..., and define A = {ε}. 1 2

Kleene Closure Kleene closure: A* = A U A U A U ··· Notation: 1 2 + 1 2 3

What is ? What is ? What is ? Where is the empty language.

Let Σ = {0, 1}. Give DFAs for {}, {ε}, Σ*, and Σ+. For {}: For {ε}: For Σ*: For Σ+: q1 q0 0/1 q0 0/1 0/1 q0 q1 0/1 q0

Regular Languages The concept of regular languages on an alphabet Σ is defined recursively as follows: (1) The empty language is regular. (2) For every symbol a Σ, {a} is regular. (3) If A and B are regular languages, then A U B, AB, and A* are regular. (4) Nothing else is a regular language.