1 Welcome to CS105 and Happy and fruitful New Year שנה טובה (Happy New Year)

Slides:



Advertisements
Similar presentations
Regular operations Sipser 1.1 (pages 44 – 47). CS 311 Fall Building languages If L is a language, then its complement is L’ = {w | w ∉ L} Let A.
Advertisements

CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
8/27/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 2 Theory of Computation Finite Automata Operations on languages Nondeterminism L2.1.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
January 7, 2015CS21 Lecture 21 CS21 Decidability and Tractability Lecture 2 January 7, 2015.
Erik Jonsson School of Engineering and Computer Science CS 4384 – 001
1 Introduction to Computability Theory Discussion3: Uses of the Pumping Lemma Prof. Amos Israeli.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
CS21 Decidability and Tractability
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
NFAs Sipser 1.2 (pages 47–54). CS 311 Fall Recall… Last time we showed that the class of regular languages is closed under: –Complement –Union.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
Regular operations Sipser 1.1 (pages 44 – 47). CS 311 Mount Holyoke College 2 Building languages If L is a language, then its complement is L’ = {w |
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata 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
1 Introduction to Computability Theory Lecture7: PushDown Automata (Part 1) Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
Welcome to CSE105 and Happy and fruitful New Year
Lecture 3UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata (cont.) Prof. Amos Israeli.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
1 Finite Automata. 2 Finite Automaton Input “Accept” or “Reject” String Finite Automaton Output.
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2009 with acknowledgement.
CHAPTER 4 Decidability Contents Decidable Languages
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 2: Modeling Computers.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Regular Languages A language is regular over  if it can be built from ;, {  }, and { a } for every a 2 , using operators union ( [ ), concatenation.
Introduction to CS Theory Lecture 1 – Introduction Piotr Faliszewski
Lecture 23: Finite State Machines with no Outputs Acceptors & Recognizers.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
© M. Winter COSC/MATH 4P61 - Theory of Computation COSC/MATH 4P61 Theory of Computation Michael Winter –office: J323 –office hours: Mon & Fri, 10:00am-noon.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Theory of Computation - Lecture 3 Regular Languages What is a computer? Complicated, we need idealized computer for managing mathematical theories... Hence:
Lecture 05: Theory of Automata:08 Kleene’s Theorem and NFA.
Computabilty Computability Finite State Machine. Regular Languages. Homework: Finish Craps. Next Week: On your own: videos +
CS 103 Discrete Structures Lecture 10 Basic Structures: Sets (1)
CSCI 2670 Introduction to Theory of Computing August 26, 2004.
CSCI 2670 Introduction to Theory of Computing August 25, 2005.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 11 Midterm Exam 2 -Context-Free Languages Mälardalen University 2005.
Computational Structures Tim Sheard & James Hook Portland State University Class Preliminaries.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CS 203: Introduction to Formal Languages and Automata
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2010 with acknowledgement.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Introduction Why do we study Theory of Computation ?
C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
1/29/02CSE460 - MSU1 Nondeterminism-NFA Section 4.1 of Martin Textbook CSE460 – Computability & Formal Language Theory Comp. Science & Engineering Michigan.
Formal Foundations-II [Theory of Automata]
Introduction to the Theory of Computation
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Deterministic FA/ PDA Sequential Machine Theory Prof. K. J. Hintz
CSE322 PROPERTIES OF REGULAR LANGUAGES
COSC 3340: Introduction to Theory of Computation
CSE 2001: Introduction to Theory of Computation Fall 2009
CSE322 Minimization of finite Automaton & REGULAR LANGUAGES
CS21 Decidability and Tractability
Chapter 1 Regular Language
Presentation transcript:

1 Welcome to CS105 and Happy and fruitful New Year שנה טובה (Happy New Year)

Staff Instructor: Amos Israeli room Office Hours: Fri or by arrangement Tel#: aisraeli “at” cs.ucsd.edu TA: Scott Yilek room B-240a Office Hours: Mon 4-5:30 syilek “at” cs.ucsd.edu Web Page: 2

Meeting Times Lectures: Tue, Thu 3:30p - 4:50p WLH 2111 Note: Thu Oct 9 Lecture is canceled, there may be a make-up lecture by quarter’s end. Sections: Mon, 1:00p - 1:50p WLH 2209 – Scott Tue, 3:00p - 3:50p WLH 2209 – Amos Note: Students should come to both sections. Mid-term: Thu Oct 23 3:30p WLH 2111 Final: Tue Dec 9 11:30a - 2:20p TBA 3

Homework There will be 5-6 assignments. Assignments will be given on Monday’s section and must be returned by the Thu lecture one week later. First assignment will be given next Monday and must be returned on Wed Oct 8 or in Scott’s mailbox on Thu Oct 9 th. 4

Academic Integrity You are encouraged to discuss the assignments problems among yourselves. Each student must hand in her/his own solution. You must Adhere to all rules of Academic Integrity of CS Dept. UCSD and others. (Meaning: no cheating or copying from any source) 5

Grading Assignments: 20% Midterm: 30% - 0% (students are allowed to drop it), open book, open notes. Final: 50% - 80%, open book, open notes. 6

Grading A: (85-100) B: (70-84) C: (55-69) D: (40-54) F: (0-39) 7

Bibliography 8 Required: Michael Sipser: Introduction to the Theory of Computation, Second Edition, Thomson.

9 Introduction to Computability Theory Lecture1: Finite Automata and Regular Languages Prof. Amos Israeli ( פרופ ' עמוס ישראלי )

Introduction Computer Science stems from two starting points: Mathematics: What can be computed? And what cannot be computed? Electrical Engineering: How can we build computers? Not in this course. 10

Introduction Computability Theory deals with the profound mathematical basis for Computer Science, yet it has some interesting practical ramifications that I will try to point out sometimes. The question we will try to answer in this course is: “What can be computed? What Cannot be computed and where is the line between the two?” 11

Computational Models A Computational Model is a mathematical object (Defined on paper) that enables us to reason about computation and to study the properties and limitations of computing. We will deal with Three principal computational models in increasing order of Computational Power. 12

Computational Models We will deal with three principal models of computations: 1.Finite Automaton (in short FA). recognizes Regular Languages. 2.Stack Automaton. recognizes Context Free Languages. 3.Turing Machines (in short TM). recognizes Computable Languages. 13

Alan Turing - A Short Detour Dr. Alan Turing is one of the founders of Computer Science (he was an English Mathematician). Important facts: 1.“Invented” Turing machines. 2.“Invented” the Turing Test. 3.Broke the German submarine transmission coding machine “Enigma”. 4.Was arraigned for being gay and committed suicide soon after. 14

Finite Automata - A Short Example The control of a washing machine is a very simple example of a finite automaton. The most simple washing machine accepts quarters and operation does not start until at least 3 quarters were inserted.

Thanks: Vadim Lyubasehvsky Now on PostDoc in Tel-Aviv

Finite Automata - A Short Example The control of a washing machine is a very simple example of a finite automaton. The most simple washing machine accepts quarters and operation does not start until at least 3 quarters were inserted. The second washing machine accepts 50 cents coins as well.

Finite Automata - A Short Example The control of a washing machine is a very simple example of a finite automaton. The most simple washing machine accepts quarters and operation does not start until at least 3 quarters were inserted. The second washing machine accepts 50 cents coins as well. The most complex washing machine accepts $1 coins too.

Finite Automaton - An Example States:, 0,1, Initial State:Final State:

Finite Automaton – An Example , 0,1, Accepted words: Transition Function: Alphabet:.Note: Each state has all transitions.

A finite automaton is a 5-tupple where: 1. is a finite set called the states. 2. is a finite set called the alphabet. 3. is the transition function. 4. is the start state, and 5. is the set of accept states. Finite Automaton – Formal Definition 23,,

1.Each state has a single transition for each symbol in the alphabet. 2.Every FA has a computation for every finite string over the alphabet. Observations 24,,

1. accepts all words (strings) ending with 1. The language recognized by, called satisfies:. Examples 25

How to do it 1.Find some simple examples (short accepted and rejected words) 2.Think what should each state “remember” (represent). 3.Draw the states with a proper name. 4.Draw transitions that preserve the states’ “memory”. 5.Validate or correct. 6.Write a correctness argument.

The automaton Correctness Argument: The FA’s states encode the last input bit and is the only accepting state. The transition function preserves the states encoding.

1. accepts all words (strings) ending with accepts all words ending with 0. 2’. accepts all words ending with 0 and the empty word. This is the Complement Automaton of. Examples 28

1. accepts all words (strings) ending with accepts all words ending with accepts all strings over alphabet that start and end with the same symbol. Examples 29

4. accepts all words of the form where are integers and. 5. accepts all words in. Examples (cont) 30

Definition: A language is a set of strings over some alphabet. Examples: – Languages 31

A language of an FA,,, is the set of words (strings) that accepts. If we say that recognizes. If is recognized by some finite automaton, is a Regular Language. Languages 32,

Q1: How do you prove that a language is regular? A1: By presenting an FA,, satisfying. Q2: How do you prove that a language is not regular? A2: Hard! to be answered on Week3 of the course. Q3: Why is it important? A3: Recognition of a regular language requires a controller with bounded Memory. Some Questions 33

Let and be 2 regular languages above the same alphabet,. We define the 3 Regular Operations: Union:. Concatenation:. Star:. The Regular Operations 34

given a language one can verify it is regular by presenting an FA that accept the language. Regular Operations give us a systematic way of constructing languages that are apriority regular. (That is: No verification is required). The Regular Operations 35

. The Regular Operations - Examples 36

The class of Regular languages, above the same alphabet, is closed under the union operation. Meaning: The union of two regular languages is Regular.. Theorem 37

Example Consider, and. The union set is the set of all bit strings that either start with 1, or end with 0. Each of these sets can be recognized by an FA with 3 states. Can you construct an FA that recognizes the union set?

If and are regular, each has its own recognizing automaton and, respectively. In order to prove that the language is regular we have to construct an FA that accepts exactly the words in. Note: cannot apply followed by. Proof idea 39

We construct an FA that simulates the computations of, and simultaneously. Each state of the simulating FA represents a pair of states of and of respectively. Can you define the transition function and the final state(s) of the simulating FA? Proof idea 40

In this talk we: 1.Motivated the course. 2.Defined Finite Automata (Latin Pl. form of automaton). 3.Learned how to deal with construction of automata and how to come up with a correctness argument. Wrap up 41