# Chapter 1

advertisement ```CS 3240 – Chuck Allison

A model of computation
 A very simple, manual computer (we draw
pictures!)

Our machines: automata
 1) Finite automata (“finite-state machines”)
 2) Push-down automata
 3) Turing Machines
CS 3240 - Introduction
2


Meaningless sets of strings
We study their syntax properties
 Not interested in semantics

Example:
 The language over the alphabet* {a, b} with a run
of a’s followed by an equal-length run of b’s
 anbn = {ab, aabb, aaabbb, …}
* An alphabet is a finite
set of symbols.
CS 3240 - Introduction
3

Length operator
If x = abaa, then |x| = 4

Concatenation
 If y = bab then xy = abaabab

Replication (concatenation with self)
 a3 = aaa
 x2 = abaaabaa

Note: the empty string is denoted by λ
 xλ = λx = x, x0 = λ
CS 3240 - Introduction
4

Also called “Kleene closure” or “Kleene star”
 (roughly pronounced “CLAY-nee”)


The set of all possible concatenations of
elements of a set, taken zero or more times
Example:
 Alphabet, Σ = {a, b}
“Proper order”
 Σ* = {λ, a, b, aa, ab, ba, bb, aaa, aab, …}
 Always an infinite set
 Always includes λ
CS 3240 - Introduction
5


Languages are just sets of strings
You can therefore do set operations on them:
 union, intersection, difference, cartesian product

Let L = {a, bb}, M = {aa, b}
 L ∪ M = {a, b, aa, bb}
 L∩M=∅
(in this case)
 L - M = L, M – L = M
(in this case)
 LM = {ab, aaa, bbb, bbaa}, ML = {ba, aaa, bbb, aabb}
 L0 = {λ}, L1 = L, L2 = {aa, abb, bba, bbbb}
CS 3240 - Introduction
6

Complement: L
 L’ = ∑* - L = {λ, b, aa, ab, ba, aaa, …}

Star Closure:
 L* = {λ, a, aa, bb, aaa, abb, bba, aaaa, …}

Positive Closure (one or more):
 L+ = {a, aa, bb, aaa, abb, bba, aaaa, …}
 Just missing λ
 Equivalent to LL* = L*L
CS 3240 - Introduction
7

A set of rules for generating strings
(“sentences”) in a language
 A symbol on the left of the rule can be replaced by
the string on the right


A recursive rule is necessary to generate an
infinite language
See next 3 slides
CS 3240 - Introduction
8







&lt;S&gt; =&gt; the &lt;NP&gt; &lt;VP&gt;
&lt;NP&gt; =&gt; &lt;N&gt; | &lt;ADJ&gt; &lt;NP&gt;
&lt;VP&gt; =&gt; &lt;V&gt; | &lt;V&gt; &lt;ADV&gt;
&lt;N&gt; =&gt; dog | cat | professor | student | rat
&lt;V&gt; =&gt; ran | ate | slept | drank
&lt;ADJ&gt; =&gt; red | slow | dead
&lt;ADV&gt; =&gt; quickly | happily | well
Start with &lt;S&gt; (the “start symbol”)
CS 3240 - Introduction
9







&lt;S&gt; =&gt; the &lt;NP&gt; &lt;VP&gt;
=&gt; the &lt;ADJ&gt; &lt;NP&gt; &lt;VP&gt;
=&gt; the &lt;ADJ&gt; &lt;ADJ&gt; &lt;NP&gt; &lt;VP&gt;
=&gt; the slow dead &lt;N&gt; &lt;VP&gt;
=&gt; the slow dead student &lt;VP&gt;
=&gt; the slow dead student &lt;V&gt; &lt;ADV&gt;
=&gt; the slow dead student drank happily
CS 3240 - Introduction
10

S =&gt; aSb | λ

S =&gt; aSb =&gt; aaSbb =&gt; aaaSbbb =&gt; aaabbb
CS 3240 - Introduction
11

A finite automaton is a finite-state machine
 It reads an input string 1 letter at a time
 Different inputs place the machine in different states

Machines that emit output as they move from
state-to-state are called transducers
 aka “Mealy Machines”

Machines that just answer “yes” or “no”
(depending on the state they finish in) are called
accepters
CS 3240 - Introduction
12
Figure 01.04:
CS 3240 - Introduction
13
CS 3240 - Introduction
14
A machine with output
(aka “transducer” or
“Mealy machine”)
CS 3240 - Introduction
15



Adds two bit strings according to the rules of
arithmetic
Traverses digits right-to-left
The output is either a 0 or 1 (duh)
 but we also have to track whether we carry or not
 leads to two states (carry vs. no-carry)

See next two slides
CS 3240 - Introduction
16
Figure 01.07:
Figure 01.09:
Front
pad
Rear,
Neither,
Both
Rear
pad
Front,
Rear,
Both
Front
closed
open
Neither
CS 3240 - Introduction
19
Language
Machine
Grammar
Regular
Finite Automaton
Regular Expression,
Regular Grammar
Context-Free
Pushdown Automaton
Context-Free
Grammar
Recursively
Enumerable
Turing Machine
Unrestricted PhraseStructure Grammar
CS 3240 - Introduction
20
```