Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Lecture 26 Decision problems about regular languages –Basic problems are solvable halting, accepting, and emptiness problems –Solvability of other problems.

Similar presentations


Presentation on theme: "1 Lecture 26 Decision problems about regular languages –Basic problems are solvable halting, accepting, and emptiness problems –Solvability of other problems."— Presentation transcript:

1 1 Lecture 26 Decision problems about regular languages –Basic problems are solvable halting, accepting, and emptiness problems –Solvability of other problems answer-preserving input transformations to basic problems

2 2 Programs In this unit, our programs are the following three types of objects –FSA’s –NFA’s –regular expressions Previously, they were C ++ programs –Review those topics after mastering today’s examples

3 3 Basic Decision Problems (and algorithms for solving them)

4 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 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 6 Empty Language Problem Input –FSA M Question –Is L(M)={}? How would you solve this problem?

7 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 < 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 8 Solving Other Problems (using answer-preserving input transformations)

9 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 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 11 Input Transformation Illustrated Algorithm for solving empty language problem FSA M Complement Construction 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 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 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 14 Input Transformation Illustrated Algorithm for solving empty language problem NFA M Subset Construction FSA 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 15 Equal Problem Input –FSA’s M 1 and M 2 Question –Is L(M 1 ) = L(M 2 )? Use answer-preserving input transformations to solve this problem –Try and transform this problem to the empty language problem –If L(M 1 ) = L(M 2 ), then what combination of L(M 1 ) and L(M 2 ) must be empty?

16 16 Algorithm Description Convert input FSA’s M 1 and M 2 into an FSA M 3 such that L(M 3 ) = (L(M 1 ) - L(M 2 )) union (L(M 2 ) - L(M 1 )) –We do this by applying the algorithm which we used to show that LFSA is closed under symmetric difference (similar to intersection) Feed FSA M 3 into algorithm which solves the empty language problem If that algorithm returns yes THEN yes ELSE no

17 17 Input Transformation Illustrated Algorithm for solving empty language problem FSA M 1 FSA M 2 2FSA -> 1FSA Construction FSA M 3 Yes/No Algorithm for Equal problem The 2FSA->1FSA construction algorithm is the ans.-pres. input transformation. If (M 1,M 2 ) is a yes input instance of EQ, then M 3 is a yes input instance of EL. If (M 1,M 2 ) is a no input instance of EQ, then M 3 is a no input instance of EL.

18 18 Summary Decision problems with programs as inputs Basic problems –You need to develop algorithms from scratch based on properties of FSA’s 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


Download ppt "1 Lecture 26 Decision problems about regular languages –Basic problems are solvable halting, accepting, and emptiness problems –Solvability of other problems."

Similar presentations


Ads by Google