Download presentation
Presentation is loading. Please wait.
Published byElla Jennings Modified over 9 years ago
1
CS 3240 – Chuck Allison
2
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 2CS 3240 - Introduction
3
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 a n b n = {ab, aabb, aaabbb, …} 3CS 3240 - Introduction * An alphabet is a finite set of symbols.
4
Length operator If x = abaa, then |x| = 4 Concatenation If y = bab then xy = abaabab Replication (concatenation with self) a 3 = aaa x 2 = abaaabaa Note: the empty string is denoted by λ xλ = λx = x, x 0 = λ 4CS 3240 - Introduction
5
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} Σ * = {λ, a, b, aa, ab, ba, bb, aaa, aab, …} Always an infinite set Always includes λ 5CS 3240 - Introduction “Proper order”
6
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} L 0 = {λ}, L 1 = L, L 2 = {aa, abb, bba, bbbb} 6CS 3240 - Introduction
7
Complement: 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 7CS 3240 - Introduction
8
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 8CS 3240 - Introduction
9
=> the => | => dog | cat | professor | student | rat => ran | ate | slept | drank => red | slow | dead => quickly | happily | well 9CS 3240 - Introduction Start with (the “start symbol”)
10
=> the => the slow dead => the slow dead student => the slow dead student drank happily 10CS 3240 - Introduction
11
S => aSb | λ S => aSb => aaSbb => aaaSbbb => aaabbb 11CS 3240 - Introduction
12
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 12CS 3240 - Introduction
13
Figure 01.04: CS 3240 - Introduction13
14
14CS 3240 - Introduction
15
15CS 3240 - Introduction A machine with output (aka “transducer” or “Mealy machine”)
16
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 - Introduction16
17
Figure 01.07:
18
Figure 01.09:
19
CS 3240 - Introduction19 Front pad Rear pad closedopen Front Neither Front, Rear, Both Rear, Neither, Both
20
LanguageMachineGrammar RegularFinite AutomatonRegular Expression, Regular Grammar Context-FreePushdown AutomatonContext-Free Grammar Recursively Enumerable Turing MachineUnrestricted Phrase- Structure Grammar 20CS 3240 - Introduction
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.