 # 1 Decidability continued…. 2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the.

## Presentation on theme: "1 Decidability continued…. 2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the."— Presentation transcript:

1 Decidability continued…

2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the halting problem to this problem

3 Algorithm for finite language problem YES NO Assume we have the finite language algorithm: Let be the machine that accepts finite not finite

4 Algorithm for Halting problem YES NO halts on We will design the halting problem algorithm: doesn’t halt on

5 First construct machine : When enters a halt state, accept any input (inifinite language) Initially, simulates on input Otherwise accept nothing (finite language)

6 halts on is not finite if and only if

7 Algorithm for halting problem: Inputs: machine and string 1. Construct 2. Determine if is finite YES: then doesn’t halt on NO: then halts on

8 construct Check if is finite YES NO YES Machine for halting problem

9 Theorem: For a recursively enumerable language it is undecidable to determine whether contains two different strings of same length Proof: We will reduce the halting problem to this problem

10 Algorithm for two-strings problem YES NO Assume we have the two-strings algorithm: Let be the machine that accepts contains Doesn’t contain two equal length strings

11 Algorithm for Halting problem YES NO halts on We will design the halting problem algorithm: doesn’t halt on

12 First construct machine : When enters a halt state, accept symbols or Initially, simulates on input (two equal length strings)

13 halts on if and only if accepts and (two equal length strings)

14 Algorithm for halting problem: Inputs: machine and string 1. Construct 2. Determine if accepts two strings of equal length YES: then halts on NO: then doesn’t halt on

15 construct Check if has two equal length strings YES NO YES NO Machine for halting problem

16 The Post Correspondence Problem

17 Some undecidable problems for context-free languages: Is context-free grammar ambiguous? Is ?

18 We need a tool to prove that the previous problems for context-free languages are undecidable: The Post Correspondence Problem

19 The Post Correspondence Problem Input: Two sequences of strings

20 There is a Post Correspondence Solution if there is a sequence such that: PC-solution

21 Example: PC-solution:

22 Example: There is no solution Because total length of strings from is smaller than total length of strings from

23 The Modified Post Correspondence Problem Inputs: MPC-solution:

24 Example: MPC-solution:

25 1. We will prove that the MPC problem is undecidable 2. We will prove that the PC problem is undecidable

26 1. We will prove that the MPC problem is undecidable We will reduce the membership problem to the MPC problem

27 Membership problem Input: recursive language string Question: Undecidable

28 Membership problem Input: unrestricted grammar string Question: Undecidable

29 The reduction of the membership problem to the MPC problem: For unrestricted grammar and string we construct a pair such that has an MPC-solution if and only if

30 : special symbol For every symbol Grammar : start variable For every variable

31 Grammar For every production : special symbol string

32 Example: Grammar : String

33

34

35 Grammar :

36

37

38

39 Theorem: has an MPC-solution if and only if

40 Algorithm for membership problem: Input: unrestricted grammar string Construct the pair If has an MPC-solution then else

41 construct MPC algorithm solution No-solution Membership machine

42 2. We will prove that the PC problem is undecidable We will reduce the MPC problem to the PC problem

43 : input to the MPC problem

44 We construct new sequences

45 We insert a special symbol between any two symbols

46

47 Special Cases

48 Observation: There is a PC-solution for if and only if there is a MPC-solution for

49 PC-solution MPC-solution

50 MPC-algorithm Input: sequences Construct sequences Solve the PC problem for

51 construct PC algorithm solution No-solution MPC algorithm

Similar presentations