Question: Build a deterministic multitape Turing Machine that can check that two numbers add to a third one. To do that, it should accept the language

Build a deterministic multitape Turing Machine that can check that two numbers add to a third one. To do that, it should accept the language over the alphabet {0, 1, &, :} {a1 an&b1 bm : c1 ck | a1,...,an,b1,...,bm,c1,...,ck {0,1} and a1 an + b1 bm = c1 ck}.

That is, we should be accepting input words to the Turing Machine that consist of a binary number (where each digit of the number is in a separate cell) followed by the & symbol (representing addition), followed by each digit of a second binary number followed by the : symbol followed by a third binary number. Moreover, the TM should only accept if the sum of the first two numbers (using binary arithmetic) is equal to the third number.

For simplicity, you can assume that all three numbers have the same number of bits (n = m = k, which is a reasonable assumption since one can always pad shorter numbers with more 0s on the left and they keep the same value). So, in reality, you should be accepting the language: {a1 an + b1 bn : c1 cn | a1,...,an,b1,...,bn,c1,...,cn {0,1} and a1 an + b1 bn = c1 cn}. You can use as many tapes as you please.

Tnanks!!

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!