-- Practice Final Thread
Group: Johanna, Max, Sumaiyya
Question 9)
ELBA= {<M>: M is an LBA and L(M)= Ø} is undecidable
Suppose ELBA is decidable. For the Turing Machine(M) with an input of w. Configuration history {C0,...,Cm} where each Ci is a configuration.
We construct a LBA(B) to test if L(B) is empty. L(B) is the computational history of M with w. The two possible outcomes for this language are:
1. If M accepts w, the language contains one string and therefore is nonempty.
2. If M rejects w, this language is empty.
So if some input x, for B to accept x, it must be some computational history of M with w.
To break up x to be read, we add the delimiters “#” to the string. With the input divided into Ci’s we follow these rules to see if it can be accepted by B as a computational history of <M,w>
1. C0 is the start configuration for M on w
2. Each Ci+1 legally follows from Ci
3. C0 is an accepting configuration for M
Once here we can see that C0 for M on w is the string q0w1w2 ...wn, with q0 as the start state for M on w. B will ensure the 3 rules listed are then followed by the input w, if not then w is rejected and L(B) is empty. However, if it accepts the input x, then L(B) is not empty, meaning w is accepted by M.
Finally, we use a Turing Machine R to decide ELBA, and a Turing Machine S to decide ATM. R takes B is an input. We set S to the condition: If R rejects, accept; if R accepts, reject.
If R accepts B, then L(B) = Ø, meaning M does not have computational history and does not accept string w. If R rejects then L(B) is nonempty and there is a computational history of <M,w> and so M accepts w, along with S.
Question 10)
We can think of the language having a property, and that property is ‘’correctly accepts the same strings written in ASCII as Professor Pollett would call solutions to this problem’’. Let this property represent ASCII.
We want to prove that a Turing Machine’s language which has the property ASCII is undecidable.
First show that ASCII is undecidable and thus we can use proof by contradiction, assuming that ASCII is decidable and has a Turing Machine R that decides ASCII. We then construct a Turing Machine S using R which follows:
Let T0 be a machine that always rejects so L(T0) = empty and T0 ∌ ASCII. It can be possible to proceed with ASCII’ instead of ASCII if T0 ∋ ASCII. But because ASCII is nontrivial, there exists a Turing Machine where T ∋ ASCII.
Proceeding with constructing a turing machine S that uses T and R we see:
S = ⟨M, w⟩
Mw: On input x:
Simulate M on w, if it halts - reject. If accepts, proceed to 2)
Stimulate T on x, if it accepts - accept.
Use the Turing Machine R to determine ⟨Mw⟩ ∋ ASCII. If yes - accept. Otherwise reject
We can see that ⟨Mw⟩ ∋ ASCII iff M accepts w.
Thus, since the construction of Mw from T, M and w takes a finite amount of steps. Then our S is the decider for our Turing Machine. This creates a contradiction because our property ASCII is undecidable.
We can assume that ASCII is an infinite language. This is because there really is an infinite way of strings that can be accepted solutions for Mr Pollett to this problem. Using synonyms and permutations there could really be an infinite many combinations accepted by him.
ASCII is a language of Turing Machine descriptions. It has to satisfy the following 2 conditions of the Rice Theorem:
Condition 1) It is nontrivial because some Turing Machine have constricted length languages while others are infinite.
Condition 2) It depends on the language. If there are two Turing Machines that recognize the same language, then both of the machines recognize ASCII or both do NOT recognize ASCII.
Thus, the Rice Theorem also implies that the ASCII language is undecidable.
(
Edited: 2020-05-12)
Group: Johanna, Max, Sumaiyya
Question 9)
ELBA= {<M>: M is an LBA and L(M)= Ø} is undecidable
Suppose ELBA is decidable. For the Turing Machine(M) with an input of w. Configuration history {C0,...,Cm} where each Ci is a configuration.
We construct a LBA(B) to test if L(B) is empty. L(B) is the computational history of M with w. The two possible outcomes for this language are:
1. If M accepts w, the language contains one string and therefore is nonempty.
2. If M rejects w, this language is empty.
So if some input x, for B to accept x, it must be some computational history of M with w.
To break up x to be read, we add the delimiters “#” to the string. With the input divided into Ci’s we follow these rules to see if it can be accepted by B as a computational history of <M,w>
1. C0 is the start configuration for M on w
2. Each Ci+1 legally follows from Ci
3. C0 is an accepting configuration for M
Once here we can see that C0 for M on w is the string q0w1w2 ...wn, with q0 as the start state for M on w. B will ensure the 3 rules listed are then followed by the input w, if not then w is rejected and L(B) is empty. However, if it accepts the input x, then L(B) is not empty, meaning w is accepted by M.
Finally, we use a Turing Machine R to decide ELBA, and a Turing Machine S to decide ATM. R takes B is an input. We set S to the condition: If R rejects, accept; if R accepts, reject.
If R accepts B, then L(B) = Ø, meaning M does not have computational history and does not accept string w. If R rejects then L(B) is nonempty and there is a computational history of <M,w> and so M accepts w, along with S.
Question 10)
We can think of the language having a property, and that property is ‘’correctly accepts the same strings written in ASCII as Professor Pollett would call solutions to this problem’’. Let this property represent ASCII.
We want to prove that a Turing Machine’s language which has the property ASCII is undecidable.
First show that ASCII is undecidable and thus we can use proof by contradiction, assuming that ASCII is decidable and has a Turing Machine R that decides ASCII. We then construct a Turing Machine S using R which follows:
Let T0 be a machine that always rejects so L(T0) = empty and T0 ∌ ASCII. It can be possible to proceed with ASCII’ instead of ASCII if T0 ∋ ASCII. But because ASCII is nontrivial, there exists a Turing Machine where T ∋ ASCII.
Proceeding with constructing a turing machine S that uses T and R we see:
S = ⟨M, w⟩
Mw: On input x:
Simulate M on w, if it halts - reject. If accepts, proceed to 2)
Stimulate T on x, if it accepts - accept.
Use the Turing Machine R to determine ⟨Mw⟩ ∋ ASCII. If yes - accept. Otherwise reject
We can see that ⟨Mw⟩ ∋ ASCII iff M accepts w.
Thus, since the construction of Mw from T, M and w takes a finite amount of steps. Then our S is the decider for our Turing Machine. This creates a contradiction because our property ASCII is undecidable.
We can assume that ASCII is an infinite language. This is because there really is an infinite way of strings that can be accepted solutions for Mr Pollett to this problem. Using synonyms and permutations there could really be an infinite many combinations accepted by him.
ASCII is a language of Turing Machine descriptions. It has to satisfy the following 2 conditions of the Rice Theorem:
Condition 1) It is nontrivial because some Turing Machine have constricted length languages while others are infinite.
Condition 2) It depends on the language. If there are two Turing Machines that recognize the same language, then both of the machines recognize ASCII or both do NOT recognize ASCII.
Thus, the Rice Theorem also implies that the ASCII language is undecidable.