Are they helpful guidelines for describing what a Turing machine does if you already have pseudo-code for the algorithm?
I take a course in complexity theory, and it takes me some time to describe a Turing machine that solves or accepts any language (states, transitions, etc.), although I know how I could encode it in something something like C or even an assembly. Probably, I just did not have enough practice with Turing machines (work on it), but I appreciate any suggestions.
change
I don’t want to create a Turing machine simulator, I want to describe a Turing machine on paper (alphabet, states, transitions) in order to solve a language.
Here is a trivial example of what I mean, I will say that I need to write a Turing machine that iterates over a string from 0 and 1 and changes all 0 in it for 1 s. For example, if you start at 11010 on a tape (input), it stops at 11111 on a tape (exit). Now in a high-level language, you know something like:
Go over every character on tape
If character is 0 change it to 1
The Turing machine description unofficially looks like:
You have two states, q and stop. when you are in q state and you see 1, go right without changing it. If you see 0, change it to 1 and go to the right. If you see an empty character (end of tape), then go to the stop state.
Formally, you will have something like {q, halt} for states. {(q, 1) → (q, 1, R)), ((q, 0) → (q, 1, R)), ((q, #) → (halt, 0, L))} for transitions .
, , ( a, b c). , ( ), , - , , .