Title: Welcome to Intro to CS Theory
1Welcome to Intro to CS Theory
- Introduction to CS Theory
- formalization of computation
- various models of computation (increasing
difficulty/power) - what can / cannot be done ?
- Why a theory course ?
- relevant to practice (grammars for programming
languages, finite automata regular expressions
for pattern matching of strings, NP-completeness
to determine required time complexity e.g. for
cryptography) - problem solving skills independent of current
technology (specific programming languages,
etc.), ability to express ideas clearly,
succinctly, and correctly
2Chapter 0
Introduction
Automata Theory mathematical models of
computation Computability Theory what can
be computed ? Complexity Theory which
problems are computationally hard / easy ?
- Need math background
- review Chapter 0
- discrete math quiz next class
3Chapter 0
Strings and Languages
Alphabet non-empty finite set of symbols,
typically denoted by or , e.g. 1 0,1 ,
2 a,b,c,d , ,,0,1,2
4Chapter 0
Strings and Languages
Alphabet non-empty finite set of symbols,
typically denoted by or , e.g. 1 0,1 ,
2 a,b,c,d , ,,0,1,2
String over an alphabet a finite sequence of
symbols from the alphabet, e.g. w1 00101 over
1, w2 badcab over 2
5Chapter 0
Strings and Languages
Alphabet non-empty finite set of symbols,
typically denoted by or , e.g. 1 0,1 ,
2 a,b,c,d , ,,0,1,2
String over an alphabet a finite sequence of
symbols from the alphabet, e.g. w1 00101 over
1, w2 badcab over 2 The length of a
string w over (the number of symbols in w) is
denoted w. The string with no symbols is called
the empty string and denoted e.
6Chapter 0
Strings and Languages
- Operations on strings (let w w1w2wn)
- reverse wR wnwn-1w1
- substring wiwi1wj
- concatenation of w with a string z z1z2zm
- wz w1w2wnz1z2zm
- wk means concatenation of k copies of w
7Chapter 0
Strings and Languages
- Operations on strings (let w w1w2wn)
- reverse wR wnwn-1w1
- substring wiwi1wj
- concatenation of w with a string z z1z2zm
- wz w1w2wnz1z2zm
- wk means concatenation of k copies of w
- lexicographic ordering of strings first by
length, then alphabetically, e.g for 0,1 - e,0,1,00,01,10,11,000,
8Chapter 0
Strings and Languages
Language a set of strings over an alphabet ,
e.g. L1 a, ab, bab L2 L3 e L4
w over 0,1 w contains more 1s than 0s
9Chapter 0
Strings and Languages
throughout the book, e.g. page 44
- Operations on languages
- typical set operations , Å, etc.
10Chapter 0
Strings and Languages
throughout the book, e.g. page 44
- Operations on languages
- typical set operations , Å, etc.
- concatenation L1.L2 w1w2 w12 L1, w22 L2
11Chapter 0
Strings and Languages
throughout the book, e.g. page 44
- Operations on languages
- typical set operations , Å, etc.
- concatenation L1.L2 w1w2 w12 L1, w22 L2
- Kleenes star L k01 Lk
12Chapter 0
Strings and Languages
throughout the book, e.g. page 44
- Operations on languages
- typical set operations , Å, etc.
- concatenation L1.L2 w1w2 w12 L1, w22 L2
- Kleenes star L k01 Lk
- Note a language L µ
13Chapter 0
Strings and Languages
throughout the book, e.g. page 44
- Operations on languages
- typical set operations , Å, etc.
- concatenation L1.L2 w1w2 w12 L1, w22 L2
- Kleenes star L k01 Lk
- reverse LR wR w 2 L
- Note a language L µ