Bizibah Павел Гуров

Хабракомментарии как машина Тьюринга

У каждого комментария есть адрес, а из адресов складываются переходы. Значит, из ветки комментариев можно собрать ленту машины Тьюринга и сложить на ней два числа.

2 минуты чтения код, находки
Содержание

Как это вообще взбрело мне в голову?

У каждого хабракомментария есть свой адрес. Строение адреса коментария:

habrahabr.ru/blogs/gtd/135090/#comment_4486120

То что до “#” — это ссылка на топик, а после — якорь, указывающий положение комментария на странице.

Если в комментариях указывать ссылки на другие комментарии, а потом жмякать по ним, то страница будет прокручиваться до нужного места. Еще у самих коментариев есть пара стрелок ↑ ↓ позволяющих перемещаться между ответами на комментарии.

«Эй!» — подумал я, — «что-то в этом есть». Сначала я размышлял над пределом запутанности комментариев, если в них ставить ссылки друг на друга. Но потом понял что тут кроется вообще что-то из элементарного программирования, сильно похожее на машину Тьюринга. Но какой-то детали не хватало, а ссылки в содержании комментариев использовать не хотелось. На помощь пришло добавление в избранное!

Реализация алгоритма сложения унарных чисел на машине Тьюринга

Для начала я тренировался на Javascript версии машины Тьюринга http://matinf.igpu.ru/simulator/tm.html, суммировал 2 и 3.

01101110 -> 01111100

Написал небольшой алгоритм для этих целей:

0q1->0q2R
1q2->1q2R
0q2->1q3R
1q3->1q3R
0q3->0q4H
0q4->0q4L
1q4->0q5L
1q5->1q5L
0q5->0STOP

Выбираем древовидные комментарии и добавляем в избранное два поста и потом еще 3 поста:

А теперь вкратце сами шаги (не все):

В итоге мы получаем то что хотели: 2 + 3 = 5.

Вот так просто и легко можно производить арифметические операции, используя всего лишь комментарии хабражителей.

Список используемых источников

Статья выходила на Хабре — там же остались комментарии.