Създаване на Тюринг-пълна изчислителна среда с помощта на утилитите GNU find и mkdir

Японският разработчик Keigo Oka демонстрира, че с помощта на утилитите GNU find и mkdir може да се формира изчислителна среда, която е Тюринг-пълна, т.е. позволяваща реализиране на всяка изчисляема функция и самовъзпроизвеждане. По-рано възможността за създаване на подобна среда беше демонстрирана за утилитите sed и awk. За потвърждение на Тюринг-пълнотата представени са реализации на комбинацията find и mkdir в играта Fizz buzz и клетъчен автомат, работещ по „правило 110“.

За организиране на работата на цикли с помощта на find и mkdir е използван трик с рекурсивно създаване на подкаталози, при което за ограничаване на броя итерации се използва опцията „-maxdepth“ (например, за цикъл от 3 итерации може да се стартира „find x -maxdepth 3 -execdir mkdir x/x \;“). Броят на допустимите итерации е ограничен от ограниченията на файловата система за създаване на вложени каталози и максималния размер на файловия път. Викането на условни операции е организирано с помощта на регулярни изрази, достъпни чрез опцията „-regex“ (например, за извеждане на реда „Buzz“ за числа, делящи се на 5, може да се посочи ‘-regex ‘d((/x){5})+’ -printf „Buzz\n“‘).

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster