сайты - меню - вход - но­во­сти


Задания
Версия для печати и копирования в MS Word

По­строй­те ма­ши­ну Тью­рин­га, ко­то­рая пре­вра­ща­ет по­сле­до­ва­тель­но­сти вида 010101…01 (че­ре­ду­ю­щих­ся нулей и еди­ниц, на­чи­на­ю­щих­ся с 0 и за­кан­чи­ва­ю­щих­ся 1) в по­сле­до­ва­тель­ность 101010...10 (че­ре­ду­ю­щих­ся нулей и еди­ниц, на­чи­на­ю­щих­ся с 1 и за­кан­чи­ва­ю­щих­ся 0), а все осталь­ные по­сле­до­ва­тель­но­сти не ме­ня­ет. При­ве­ден при­мер ма­ши­ны Тью­рин­га, ко­то­рая в любой по­сле­до­ва­тель­но­сти ме­ня­ет 1 на 0, а 0 на 1.

Спрятать решение

Ре­ше­ние.

Дви­га­ясь слева на­пра­во, меняя нули на еди­ни­цы, а еди­ни­цы на нули (ин­вер­ти­руя сим­во­лы), до тех пор пока они че­ре­ду­ют­ся таким об­ра­зом. Если это пра­ви­ло не со­блю­да­ет­ся, идём в об­рат­ном на­прав­ле­ния ин­вер­ти­руя эле­мен­ты по­втор­но.

 

Ответ:

s0 левая квад­рат­ная скоб­ка 0 пра­вая квад­рат­ная скоб­ка минус боль­ше q 1 левая квад­рат­ная скоб­ка 1 пра­вая квад­рат­ная скоб­ка R ин­вер­ти­ро­ва­ние;

q1 левая квад­рат­ная скоб­ка 1 пра­вая квад­рат­ная скоб­ка минус боль­ше s 0 левая квад­рат­ная скоб­ка 0 пра­вая квад­рат­ная скоб­ка R эле­мен­тов по­сле­до­ва­тель­но­сти;

 

s0 левая квад­рат­ная скоб­ка 1 пра­вая квад­рат­ная скоб­ка минус боль­ше q2 левая квад­рат­ная скоб­ка 1 пра­вая квад­рат­ная скоб­ка L фик­са­ция на­ру­ше­ния нуж­но­го;

q1 левая квад­рат­ная скоб­ка 0 пра­вая квад­рат­ная скоб­ка минус боль­ше q2 левая квад­рат­ная скоб­ка 0 пра­вая квад­рат­ная скоб­ка L че­ре­до­ва­ния со­сто­я­ни­ем q2;

 

q 2 левая квад­рат­ная скоб­ка 0 пра­вая квад­рат­ная скоб­ка минус боль­ше q 2 левая квад­рат­ная скоб­ка 1 пра­вая квад­рат­ная скоб­ка L дви­же­ние об­рат­но;

q 2 левая квад­рат­ная скоб­ка 1 пра­вая квад­рат­ная скоб­ка минус боль­ше q 2 левая квад­рат­ная скоб­ка 0 пра­вая квад­рат­ная скоб­ка L с по­втор­ным ин­вер­ти­ро­ва­ни­ем;

 

q2 левая квад­рат­ная скоб­ка * пра­вая квад­рат­ная скоб­ка минус боль­ше f левая квад­рат­ная скоб­ка * пра­вая квад­рат­ная скоб­ка R оста­нов­ка вы­пол­не­ния;

s0 левая квад­рат­ная скоб­ка * пра­вая квад­рат­ная скоб­ка минус боль­ше f левая квад­рат­ная скоб­ка * пра­вая квад­рат­ная скоб­ка L для раз­ных слу­ча­ев;

q1 левая квад­рат­ная скоб­ка * пра­вая квад­рат­ная скоб­ка минус боль­ше f левая квад­рат­ная скоб­ка * пра­вая квад­рат­ная скоб­ка L не обя­за­тель­но на на­чаль­ном сим­во­ле.