Задача

Постройте машину Тьюринга, на ленте которой в начале работы находится набор из нулей и единиц. После окончания работы на ленте должна быть «1», если число единиц больше числа нулей, «0» — если меньше и «=» в случае равенства. Кроме «0», «1» и «=» можно использовать вспомогательные символы «a» и «b».
В качестве начального решения приведена последовательность команд, которая 1) удаляет текущий символ, 2) все символы, находящиеся правее него, сдвигает на одну позицию влево, 3) возвращает считывающую головку в начальную позицию. Последовательность запускается переходом в состояние t1. В ней использованы состояния q0, q1, qa, qb, q=, q3, q4, q5. Последовательность команд заканчивает работу в состоянии t2.
При добавлении новых команд не забывайте, что для машины Тьюринга их порядок не существенен. Начальное состояние s, конечное f.

Решение участника

Решение основывается на идее взаимного уничтожения 0 и 1. В начале ищется элемент A (q0 - A=0; q1 - A=1), удаляется(заменяется на a). Затем ищется противоположный элемент, после первого нахождения он удаляется(заменяется на a), далее возврат к исходной точке. Так до тех пор, пока q1 или q0 не встретят * тогда поместится соответствующий символ и начнется удаление других. Если * встретит s значит =.