Key concepts
1.1 Can the problem $ f(w) = 0$ (for all w in $ \Sigma^*$ ) be accepted by a Turing Machine?
1.2 Can a problem be accepted by two different Turing Machines?
1.3 Can a Turing Machine accept two different problems?
1.4 Write a Turing Machine which accepts the problem $ f(x) = 1$ iff x (encoded as binary word) is odd, but does NOT decide it.
1.5 Which of the following problems you think can be accepted and which can be decided? Use pseudocode instead of writing a TM.
Diophantine equations (Hilbert's Tenth Problem)
Linear Integer Programming
Wang Tiles
k-color
k
colors. Is it possible to assign a color to each node such that no adjacent (connected by an edge) nodes have the same color?2.1 What is the complement of the problem from Exercise 1.1 ?
2.2 What is the complement of k Vertex Cover?
2.3 If a problem is decided by some TM, can its complement be decided?
2.4 If a problem is accepted by some TM, can its complement be accepted?
3.1 Write a TM pseudocode which:
Suppose M is encoded on binary words, and also working on binary words, for simplicity.
3.2 Which of the following pseudocode is a proper Turing Machine? Explain why.
Algoritm(M,w){ if size(w) > 10 then if M accepts w in k steps accept. }
Algoritm(M1,M2,w){ k = 0 while true if M1 accepts w <=(iff)=> M2 accepts w , in k steps then accept else k = k + 1 }
Algorithm(M,A) { // A is a finite set of words for each w in A if M(w) accepts then accept }
Algorithm(M) { if M accepts all words w in Sigma* accept }
Algorithm(M1,M2) { if M1 always accepts then if M2 always accepts then accept }
3.4 Write a TM pseudocode which:
3.5 Write a TM pseudocode which:
3.6 Write a TM pseudocode which:
3.7 Write a TM pseudocode which: