r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of...

15
1 Prove the following languages over Σ={a,b} are regular by giving regular expressions for them: 1. {w: w has babab as a prefix and ababb as a suffix} 2. {w: babab and ababb are substrings of w } 3. {w: w contains exactly 2 a’s} For this one: Σ={a,b, c} 4. {w: w = a p b q c r : q ≥ 2, p, r ≥ 1}

Transcript of r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of...

Page 1: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

1

Prove the following languages over Σ={a,b} are regular by giving regular expressions for them:

1. {w: w has babab as a prefix and ababb as a suffix}

2. {w: babab and ababb are substrings of w }

3. {w: w contains exactly 2 a’s}

For this one: Σ={a,b, c}

4. {w: w = ap bq cr : q ≥ 2, p, r ≥ 1}

Page 2: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

2

Assignment #2 has been posted. Due: Friday Feb. 7, beginning of class. Next tutorial: Feb. 4 (one week from today). In case of illness: one thing you can do is to scan/take a picture of your work and send that on time by e-mail then hand in your written work when you are well enough to go to class. Stick to notation we define in class exactly: if notation is not clearly defined, it is hard to write precise/correct proofs.

Page 3: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

3

Prove the following languages over Σ={0,1} are regular by giving regular expressions for them:

1. {w: w has odd length}

2. {w: w contains 0011}

3. {w: w does not contain 01}

4. {w: w starts and ends with the same symbol (|w| ≥ 1)}

Page 4: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

4

Prove the following languages over Σ={0,1} are regular by giving regular expressions for them:

1. {w contains two or more 0’s}

2. {|w| = 3k for some integer k}

3. {w has 001 or 1010 as a prefix}

4. {w contains both 00 and 11 as substrings}

5. {w contains 01001 and 0101 as substrings}

6. {w : w has at most two consecutive 1’s}

Page 5: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

5

Deterministic Finite Automata

Given a language L, the language recognition problem is:

Given an input string w, is w in L?

Answer: yes or no.

DFA’s provide linear time language recognition algorithms for regular languages (languages which can be defined by a regular expression).

This class introduces DFA’s, describes how they work, and defines the mathematical notation used to talk about them.

Page 6: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

6 http://www.seas.gwu.edu/~simhaweb/cs151/lectures/module5/module5.html

Page 7: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

7

To strip comments from a program:

Picture by David Eppstein.

Page 8: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

8

Applications of DFA’s or DFA-like code: [www.fbeedle.com/formallanguage/ch04.pdf ]

Compilers and other language-processing systems- to divide an input program into tokens like identifiers, constants, and keywords and to remove comments and white space.

Typed commands- the command language can be quite complex, almost like a little programming language.

Speech-processing and other signal-processing systems- to transform an incoming signal.

Page 9: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

9

More Applications [www.fbeedle.com/formallanguage/ch04.pdf ]

Text processors- to search a text file for strings that match a given pattern. This includes most versions of Unix tools like awk, egrep, and Procmail, along with a number of platform-independent systems such as MySQL.

Controllers- to track the current state of a wide variety of finite-state systems, from industrial processes to video games, implemented in hardware or in software.

Page 10: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

10

L= {w ∈ {a,b}* : the number of a’s in w is not divisible by 3}. 1.Give a regular expression for L.

2. Design a DFA that accepts L.

Page 11: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

11

A Deterministic Finite Automaton (DFA) M is defined to be a quintuple

(K, Σ, δ, s, F) where

K is a finite set of states,

Σ is an alphabet,

δ is a function from K x Σ to K,

s K is the start state, and

F K is the set of final states.

Page 12: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

12

Some examples:

1. {w: w has odd length}

2. {w: w contains 0011}

3. {w: w does not contain 01}

4. {w: w starts and ends with the same symbol (|w| ≥ 1)}

Page 13: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

13

M= (K, Σ, δ, s, F):

A configuration of a M is an element of K x Σ*.

For σ Σ, configuration (q, σ w ) ├ (r, w)

[(q, σ w ) yields in one step (r, w)]

if δ(q, σ) = r.

The notation ├* means yields in zero or more steps.

Page 14: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

14

M= (K, Σ, δ, s, F):

DFA M accepts input w if and only if

(s, w) ├* (f, ε) for some f F.

L(M), the language accepted by M is

{ w Σ* : (s, w) ├* (f, ε) for some f F}.

Page 15: r : q ≥ 2, p, r ≥ 1} - Computer Science at UVic - University of ...webhome.cs.uvic.ca/.../320/14spring/notes/320_07_dfa.pdfDesign a DFA that accepts L. 11 A Deterministic Finite

15

What language does this DFA accept?