Decision problems about regular languages - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Decision problems about regular languages

Description:

many-one reductions to basic problems. 2 ... Run ACCEPT(M,x) for all input strings of length n. If any are accepted THEN no ELSE yes ... Solving new problems ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 19
Provided by: erict9
Learn more at: http://www.cse.msu.edu
Category:

less

Transcript and Presenter's Notes

Title: Decision problems about regular languages


1
Lecture 26
  • Decision problems about regular languages
  • Basic problems are solvable
  • halting, accepting, and emptiness problems
  • Solvability of other problems
  • many-one reductions to basic problems

2
Programs
  • In this unit, our programs are the following
    three types of objects
  • FSAs
  • NFAs
  • regular expressions
  • Previously, they were C programs
  • Review those topics after mastering todays
    examples

3
Basic Decision Problems(and algorithms for
solving them)
4
Halting Problem
  • Input
  • FSA M
  • Input string x to M
  • Question
  • Does M halt on x?
  • Algorithm for solving halting problem
  • Output yes
  • Correct because an FSA always halts on all input
    strings

5
Accepting Problem
  • Input
  • FSA M
  • Input string x to M
  • Question
  • Is x in L(M)?
  • Algorithm ACCEPT for solving accepting problem
  • Run M on x
  • If halting configuration is accepting THEN yes
    ELSE no
  • Note this algorithm actually has to do something

6
Empty Language Problem
  • Input
  • FSA M
  • Question
  • Is L(M)?
  • How would you solve this problem?

7
Algorithms for solving empty language problem
  • Algorithm 1
  • View FSA M as a directed graph (nodes, arcs)
  • See if any accepting node is reachable from the
    start node
  • Algorithm 2
  • Let n be the number of states in FSA M
  • Run ACCEPT(M,x) for all input strings of length lt
    n
  • If any are accepted THEN no ELSE yes
  • Why is algorithm 2 correct?
  • Same underlying reason for why algorithm 1 works.
  • If any string is accepted by M, some string x
    must be accepted where M never is in the same
    state twice while processing x
  • This string x will have length at most n-1

8
Solving Other Problems(using answer-preserving
input transformations)
9
Complement Empty Problem
  • Input
  • FSA M
  • Question
  • Is (L(M))c?
  • Use answer-preserving input transformations to
    solve this problem
  • We will show that the Complement Empty problem
    transforms to the Empty Language problem
  • How do we do this?
  • Apply the construction which showed that LFSA is
    closed under set complement

10
Algorithm Description
  • Convert input FSA M into an FSA M such that
    L(M) (L(M))c
  • We do this by applying the algorithm which we
    used to show that LFSA is closed under complement
  • Feed FSA M into algorithm which solves the empty
    language problem
  • If that algorithm returns yes THEN yes ELSE no

11
Input Transformation Illustrated
Algorithm for solving empty language problem
FSA M
Yes/No
Algorithm for complement empty problem
The complement construction algorithm is the
answer-pres. input transformation. If M is a yes
input instance of CE, then M is a yes input
instance of EL. If M is a no input instance of
CE, then M is a no input instance of EL.
12
NFA Empty Problem
  • Input
  • NFA M
  • Question
  • Is L(M)?
  • Use answer-preserving input transformations to
    solve this problem
  • We will show that the NFA Empty problem
    transforms to the Empty Language problem
  • How do we do this?
  • Apply the construction which showed that any NFA
    can be converted into an equivalent FSA

13
Algorithm Description
  • Convert input NFA M into an FSA M such that
    L(M) L(M)
  • We do this by applying the algorithms which we
    used to show that LNFA is a subset of LFSA
  • Feed FSA M into algorithm which solves the empty
    language problem
  • If that algorithm returns yes THEN yes ELSE no

14
Input Transformation Illustrated
Algorithm for solving empty language problem
NFA M
Yes/No
Algorithm for NFA empty problem
The subset construction algorithm is the
ans.-pres. input transformation. If M is a yes
input instance of NE, then M is a yes input
instance of EL. If M is a no input instance of
NE, then M is a no input instance of EL.
15
Equal Problem
  • Input
  • FSAs M1 and M2
  • Question
  • Is L(M1) L(M2)?
  • Use answer-preserving input transformations to
    solve this problem
  • Try and transform this problem to the empty
    language problem
  • If L(M1) L(M2), then what combination of L(M1)
    and L(M2) must be empty?

16
Algorithm Description
  • Convert input FSAs M1 and M2 into an FSA M3 such
    that L(M3) (L(M1) - L(M2)) union (L(M2) -
    L(M1))
  • We do this by applying the algorithm which we
    used to show that LFSA is closed under symmetric
    difference (similar to intersection)
  • Feed FSA M3 into algorithm which solves the empty
    language problem
  • If that algorithm returns yes THEN yes ELSE no

17
Input Transformation Illustrated
Algorithm for solving empty language problem
FSA M1 FSA M2
Yes/No
Algorithm for Equal problem
The 2FSA-gt1FSA construction algorithm is the
ans.-pres. input transformation. If (M1,M2)
is a yes input instance of EQ, then M3 is a yes
input instance of EL. If (M1,M2) is a no
input instance of EQ, then M3 is a no input
instance of EL.
18
Summary
  • Decision problems with programs as inputs
  • Basic problems
  • You need to develop algorithms from scratch based
    on properties of FSAs
  • Solving new problems
  • You need to figure out how to combine the various
    algorithms we have seen in this unit to solve the
    given problem
Write a Comment
User Comments (0)
About PowerShow.com