Title: Formal Languages
1Formal Languages Models of Computation Slides
based on RPI CSCI 2400 Thanks to Petros Drineas
2Why study formal languages?
- 1. Formal languages can be used to formalize the
computational power of computing devices. - We can answer questions like
- How long does it take to compute X?
- How much storage do I need to compute X?
- Can X be computed at all?
- Is it as hard to compute X as it is to compute Y?
3Why study formal languages?
- 2. Formal languages can be used to formalize
natural languages. - This is the main interest in computational
linguistics. - Typical approach
- Show that a certain phenomenon occurs in natural
language - e.g., long-distance dependencies
- Infer which type of formal language is best
suited for natural language - Use this type for developing parsers etc.
4Computation
memory
CPU
5temporary memory
input memory
CPU
output memory
Program memory
6Example
temporary memory
input memory
CPU
output memory
Program memory
compute
compute
7temporary memory
input memory
CPU
output memory
Program memory
compute
compute
8temporary memory
input memory
CPU
output memory
Program memory
compute
compute
9temporary memory
input memory
CPU
Program memory
output memory
compute
compute
10Automaton
temporary memory
Automaton
input memory
CPU
output memory
Program memory
11Different Kinds of Automata
- Automata are distinguished by the temporary
memory - Finite Automata no temporary memory
- Pushdown Automata stack
- Turing Machines random access memory
12Finite Automaton
temporary memory
input memory
Finite Automaton
output memory
Example Vending Machines
(small computing power)
13Pushdown Automaton
Stack
Push, Pop
input memory
Pushdown Automaton
output memory
Example Compilers for Programming Languages
(medium computing power)
14Turing Machine
Random Access Memory
input memory
Turing Machine
output memory
Examples Any Algorithm
(highest computing power)
15Power of Automata
Finite Automata
Pushdown Automata
Turing Machine
Less power
More power
Solve more computational problems
16Languages
17- A language is a set of strings
- String A sequence of letters
- Examples cat, dog, house,
- Defined over an alphabet
18Alphabets and Strings
- We will use small alphabets
- Strings
19String Operations
Concatenation
20Reverse
21String Length
22Length of Concatenation
23Empty String
- A string with no letters
- Observations
24Substring
- Substring of string
- a subsequence of consecutive characters
- String
Substring
25Prefix and Suffix
prefix
suffix
26Another Operation
n
?
w
ww
w
n times
27The Operation
- the set of all possible strings from
- alphabet
-
28(No Transcript)
29Languages
- A language is any subset of
- Example
- Languages
30 31Note that
Sets
Set size
Set size
String length
32Another Example
33Operations on Languages
- The usual set operations
- Complement
?
?
?
?
aaaa
bb
ab
a
ab
bb
aaaa
ab
a
,
,
,
,
,
,
?
?
?
?
?
ab
ab
bb
aaaa
ab
a
,
,
,
?
?
?
?
?
?
?
aaaa
a
ab
bb
aaaa
ab
a
,
,
,
,
?
?
34Reverse
n
n
0
n
b
a
L
?
?
n
n
R
0
n
a
b
L
?
?
35Reverse
- Definition
- Examples
- Reverse?
n
n
0
n
b
a
L
?
?
36Concatenation
37Another Operation
n
L
LL
L
?
38More Examples
39Star-Closure (Kleene )
2
1
0
L
L
L
L
?
40Positive Closure
2
1
?
L
L
L
?
?
?
L
?
?
?
41Formal Languages Mathematical Preliminaries Slides
based on RPI CSCI 2400 Thanks to Petros Drineas
42- Mathematical Preliminaries
- Sets
- Functions
- Relations
- Graphs
- Proof Techniques
43SETS
A set is a collection of elements
We write
44Set Representations C a, b, c, d, e, f, g,
h, i, j, k C a, b, , k S 2, 4, 6,
S j j gt 0, and j 2k for some kgt0
S j j is nonnegative and even
finite set
infinite set
45A 1, 2, 3, 4, 5
Universal Set all possible elements
U
1 , , 10
46- Set Operations
- A 1, 2, 3 B 2, 3, 4, 5
- Union
- A U B 1, 2, 3, 4, 5
- Intersection
- A B 2, 3
- Difference
- A - B 1
- B - A 4, 5
2
4
1
3
5
U
2
3
1
Venn diagrams
47- Complement
- Universal set 1, , 7
- A 1, 2, 3 A 4, 5, 6, 7
4
A
A
6
3
1
2
5
7
A A
48 even integers odd integers
Integers
1
odd
5
even
6
2
4
3
7
49DeMorgans Laws
U
A U B A B
A B A U B
U
50Empty, Null Set
S U S S S - S
- S
U
Universal Set
51Subset
A 1, 2, 3 B 1, 2, 3, 4,
5
Proper Subset
B
A
52Disjoint Sets
A 1, 2, 3 B 5, 6
A B
U
A
B
53Set Cardinality
A 2, 5, 7 A 3
(set size)
54Powersets
A powerset is a set of sets
S a, b, c
Powerset of S the set of all the subsets of S
2S , a, b, c, a, b, a, c,
b, c, a, b, c
Observation 2S 2S ( 8 23 )
55Cartesian Product
A 2, 4 B 2, 3, 5 A
X B (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3),
(4, 5) A X B A B Generalizes to more
than two sets A X B X X Z
56FUNCTIONS
domain
range
B
A
4
f(1) a
a
1
2
b
c
3
5
f A -gt B
If A domain then f is a total function
otherwise f is a partial function
57RELATIONS
R (x1, y1), (x2, y2), (x3, y3),
xi R yi e. g. if R gt 2 gt 1,
3 gt 2, 3 gt 1
58Equivalence Relations
- Reflexive x R x
- Symmetric x R y y R x
- Transitive x R y and y R z
x R z - Example R
- x x
- x y y x
- x y and y z x z
59Equivalence Classes
For equivalence relation R equivalence
class of x y x R y Example
R (1, 1), (2, 2), (1, 2), (2, 1),
(3, 3), (4, 4), (3, 4), (4, 3)
Equivalence class of 1 1, 2 Equivalence
class of 3 3, 4
60GRAPHS
A directed graph
e
b
node
d
a
edge
c
- Nodes (Vertices)
- V a, b, c, d, e
- Edges
- E (a,b), (b,c), (b,e),(c,a), (c,e),
(d,c), (e,b), (e,d)
61Labeled Graph
2
6
e
2
b
1
3
d
a
6
5
c
62Walk
Walk is a sequence of adjacent edges
(e, d), (d, c), (c, a)
63Path
Path is a walk where no edge is repeated Simple
path no node is repeated
64Cycle
e
base
b
3
1
d
a
2
c
Cycle a walk from a node (base) to
itself Simple cycle only the base node is
repeated
65Euler Tour
8
base
e
7
1
b
4
6
5
d
a
2
3
c
A cycle that contains each edge once
66Hamiltonian Cycle
5
base
e
1
b
4
d
a
2
3
c
A simple cycle that contains all nodes
67Finding All Simple Paths
e
b
d
a
c
origin
68Step 1
e
b
d
a
c
origin
(c, a) (c, e)
69Step 2
e
b
d
a
(c, a) (c, a), (a, b) (c, e) (c, e), (e, b) (c,
e), (e, d)
c
origin
70Step 3
e
b
d
a
c
(c, a) (c, a), (a, b) (c, a), (a, b), (b, e) (c,
e) (c, e), (e, b) (c, e), (e, d)
origin
71Step 4
e
b
d
a
(c, a) (c, a), (a, b) (c, a), (a, b), (b, e) (c,
a), (a, b), (b, e), (e,d) (c, e) (c, e), (e,
b) (c, e), (e, d)
c
origin
72Trees
root
parent
leaf
child
Trees have no cycles
73root
Level 0
Level 1
Height 3
leaf
Level 2
Level 3
74Binary Trees
75PROOF TECHNIQUES
- Proof by induction
- Proof by contradiction
76Induction
We have statements P1, P2, P3,
- If we know
- for some b that P1, P2, , Pb are true
- for any k gt b that
- P1, P2, , Pk imply Pk1
- Then
- Every Pi is true
77Proof by Induction
- Inductive basis
- Find P1, P2, , Pb which are true
- Inductive hypothesis
- Lets assume P1, P2, , Pk are true,
- for any k gt b
- Inductive step
- Show that Pk1 is true
78Example
Theorem A binary tree of height n
has at most 2n leaves.
Proof by induction let L(i) be the
maximum number of leaves of any
subtree at height i
79- We want to show L(i) lt 2i
- Inductive basis
- L(0) 1 (the root node)
- Inductive hypothesis
- Lets assume L(i) lt 2i for all i 0, 1, , k
- Induction step
- we need to show that L(k 1) lt 2k1
80Induction Step
height
k
k1
From Inductive hypothesis L(k) lt 2k
81Induction Step
height
L(k) lt 2k
k
k1
L(k1) lt 2 L(k) lt 2 2k 2k1
(we add at most two nodes for every leaf of level
k)
82Remark
Recursion is another thing Example of recursive
function f(n) f(n-1) f(n-2) f(0) 1,
f(1) 1
83Proof by Contradiction
- We want to prove that a statement P is true
- we assume that P is false
- then we arrive at an incorrect conclusion
- therefore, statement P must be true
84Example
Theorem is not rational Proof Ass
ume by contradiction that it is rational
n/m n and m have no common
factors We will show that this is impossible
85 n/m 2 m2 n2
n is even n 2 k
Therefore, n2 is even
m is even m 2 p
2 m2 4k2
m2 2k2
Thus, m and n have common factor 2
Contradiction!