0% found this document useful (0 votes)
107 views14 pages

18.404/6.840 Intro To The Theory of Computation: Instructor: Mike Sipser Tas

The number of states in the combined automaton & is 8" × 8$. When combining two finite automata &" and &$ through their direct product, the number of states in the resulting automaton & is the product of the number of states in &" and &$. In this case, &" has 8" states and &$ has 8$ states, so & has 8" × 8$ states. The key idea is that each state in & is a pair (," , ,$ ) where ," is a state from &" and ,$ is a state from &$. Since &" has 8" states and &$ has 8$ states, there are 8" × 8$ possible pairs, and thus 8"

Uploaded by

Zuci Dark
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views14 pages

18.404/6.840 Intro To The Theory of Computation: Instructor: Mike Sipser Tas

The number of states in the combined automaton & is 8" × 8$. When combining two finite automata &" and &$ through their direct product, the number of states in the resulting automaton & is the product of the number of states in &" and &$. In this case, &" has 8" states and &$ has 8$ states, so & has 8" × 8$ states. The key idea is that each state in & is a pair (," , ,$ ) where ," is a state from &" and ,$ is a state from &$. Since &" has 8" states and &$ has 8$ states, there are 8" × 8$ possible pairs, and thus 8"

Uploaded by

Zuci Dark
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

18.404/6.

840 Intro to the Theory of Computation

Instructor: Mike Sipser

TAs:
- Fadi Atieh, Damian Barabonkov,
- Alex Dimitrakakis, Thomas Xiong,
- Abbas Zeitoun, and Emily Liu

1
18.404 Course Outline

Computability Theory 1930s – 1950s


- What is computable… or not?
- Examples:
program verification, mathematical truth Complexity Theory 1960s – present
- Models of Computation: - What is computable in practice?
Finite automata, Turing machines, …
- Example: factoring problem
- P versus NP problem
- Measures of complexity: Time and Space
- Models: Probabilistic and Interactive computation

2
Course Mechanics
Zoom Lectures
- Live and Interactive via Chat
- Live lectures are recorded for later viewing
Zoom Recitations
- Not recorded
- Two convert to in-person Homework bi-weekly – 35%
- Review concepts and more examples - More information to follow
- Optional unless you are having difficulty Midterm (15%) and Final exam (25%)
Participation can raise low grades
- Open book and notes
- Attend any recitation
Text Check-in quizzes for credit – 25%
- Introduction to the Theory of Computation - Distinct Live and Recorded versions
Sipser, 3rd Edition US. (Other editions ok but - Complete either one for credit within 48 hours
are missing some Exercises and Problems). - Initially ungraded; full credit for participation
3
Course Expectations

Prerequisites
Prior substantial experience and comfort with
mathematical concepts, theorems, and proofs.
Creativity will be needed for psets and exams.

Collaboration policy on homework


- Allowed. But try problems yourself first.
- Write up your own solutions.
- No bibles or online materials.

4
Role of Theory in Computer Science

1. Applications
2. Basic Research
3. Connections to other fields
4. What is the nature of computation?

5
Let’s begin: Finite Automata
0 1
!1 0,1
1
*1 *2 *3
0

Input: finite string


Output: Accept or Reject
States: *1 *2 *3
1
Computation process: Begin at start state,
Transitions: read input symbols, follow corresponding transitions,
Accept if end with accept state, Reject if not.
Start state:
Examples: 01101 → Accept
Accept states: 00101 → Reject
!1 accepts exactly those strings in # where
# = {&| & contains substring 11}.

Say that # is the language of !1 and that !1 recognizes # and that # = -(!1).
6
Finite Automata – Formal Definition

Defn: A finite automaton ! is a 5-tuple (#, Σ, &, '0, ))


# finite set of states
Σ finite set of alphabet symbols
& transition function &: #×Σ → # Example:
a
& (', .) = 0 means ' 0
!1
0
'0 start state 1
0,1
'1 '2 1 '3
) set of accept states
0

!1 = (#, Σ, &, '1, )) &= 0 1


# = {'1, '2, '3}
'1 '1 '2
Σ = {0, 1} '2 '1 '3
) = {'3} '3 '3 '3
7
Finite Automata – Computation

Strings and languages


- A string is a finite sequence of symbols in Σ
- A language is a set of strings (finite or infinite)
- The empty string ε is the string of length 0
- The empty language ø is the set with no strings Recognizing languages
- :(#) = {$| # accepts $}
- :(#) is the language of #
Defn: # accepts string $ = $1$2 … $) each $* + Σ - # recognizes :(#)
if there is a sequence of states ,0, ,1, ,2, , … , ,) + /
where:
- ,0 = 00
- ,* = 1(,345 , $*) for 1 ≤ * ≤ ) Defn: A language is regular if some
- ,) + 8 finite automaton recognizes it.
8
Regular Languages – Examples

0
"1 1
0,1
1
81 82 83
0

More examples:
! "# = {&| & contains substring 11} = 5
Let 6 = & & has an even number of 1s}
Therefore 5 is regular 6 is regular (make automaton for practice).

Let 7 = & & has equal numbers of 0s and 1s}


7 is not regular (we will prove).

Goal: Understand the regular languages


9
Regular Expressions
Regular operations. Let !, # be languages:
- Union: ! ∪ # = & & ∈ ! or & ∈ #}
- Concatenation: ! ∘ # = *+ * ∈ ! and + ∈ #} = !#
- Star: !∗ = *- … */ each *0 ∈ ! for 1 ≥ 0}
Note: ε ∈ !∗ always Regular expressions
- Built from Σ, members Σ, ∅, ε [Atomic]
Example. Let ! = {good, bad} and # = {boy, girl}. - By using ∪,∘,∗ [Composite]

- ! ∪ # = {good, bad, boy, girl} Examples:


- ! ∘ # = !# = {goodboy, goodgirl, badboy, badgirl} - 0 ∪ 1 ∗ = Σ ∗ gives all strings over Σ
- !∗ = {ε, good, bad, goodgood, goodbad, badgood, - Σ ∗1 gives all strings that end with 1
badbad, goodgoodgood, goodgoodbad, … } - Σ ∗11Σ ∗ = all strings that contain 11 = : ;-

Goal: Show finite automata equivalent to regular expressions


10
Closure Properties for Regular Languages
Theorem: If !", !$ are regular languages, so is !" ∪ !$ (closure under ∪)
Proof: Let &" = ()", Σ, +" , ," , -" ) recognize !"
&$ = ()$ , Σ, +$ , ,$ , -$ ) recognize !$
Construct & = () , Σ , + , ,0, - ) recognizing !" ∪ !$
& should accept input 0 if either &" or &$ accept 0.
Components of 2:
&Check-in
" 1.1
, ) = )" ×)$
In the proof, if &" and &$ are finite automata = ," , ,$ ," ∈ )" and ,$ ∈ )$ }
where &" has 8" states and &$ has 8$ states
,6 = (," , ,$ )
Then how many states does & have?
&$ (a) 8" + 8$ + ,, 1 , 7 = +" ,, 7 , +$ 1, 7
(b) 8" $ + 8$ $ - = -" ×-$ NO! [gives intersection]
(c) 8" ×8$ 1
- = -" ×)$ ∪ )" ×-$
Check-in 1.1
11
Closure Properties continued
Theorem: If !", !$ are regular languages, so is !"!$ (closure under ∘)
Proof: Let &" = ()", Σ, +" , ," , -" ) recognize !"
&$ = ()$ , Σ, +$ , ,$ , -$ ) recognize !$
Construct & = () , Σ , + , ,0, - ) recognizing !" !$

&" &$

& should accept input 0


if 0 = 12 where
&
&" accepts 1 and &$ accepts 2.

0
1 2
Doesn’t work: Where to split 0?
12
Quick review of today
1. Introduction, outline, mechanics, expectations
2. Finite Automata, formal definition, regular languages
3. Regular Operations and Regular Expressions
4. Proved: Class of regular languages is closed under ∪
5. Started: Closure under ∘ , to be continued…

13
MIT OpenCourseWare
https://ocw.mit.edu

18.404J / 18.4041J / 6.840J Theory of Computation


Fall 2020

For information about citing these materials or our Terms of Use, visit: https://ocw.mit.edu/terms.

You might also like