Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 3240 – Chuck Allison.  A model of computation  A very simple, manual computer (we draw pictures!)  Our machines: automata  1) Finite automata (“finite-state.

Similar presentations


Presentation on theme: "CS 3240 – Chuck Allison.  A model of computation  A very simple, manual computer (we draw pictures!)  Our machines: automata  1) Finite automata (“finite-state."— Presentation transcript:

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


Download ppt "CS 3240 – Chuck Allison.  A model of computation  A very simple, manual computer (we draw pictures!)  Our machines: automata  1) Finite automata (“finite-state."

Similar presentations


Ads by Google