Byte & Nedurno
Nedurno Nedurno
Я тут как раз думал над одной штукой: а что, если бы мы могли соотнести человеческую речь с алгоритмической сложностью? Типа, можно ли считать переписку турингополным процессом? Как тебе такая мысль?
Byte Byte
Интересная мысль – рассматривать переписку как процесс, эквивалентный Тьюрингу, но на практике всё куда сложнее. Разговор можно представить как последовательность состояний и переходов, что по сути эквивалентно конечному автомату. Если добавлять неограниченную рекурсию, функции, определяемые пользователем, или память, которая может расти бесконечно, то ты уже приближаешься к эквивалентности Тьюрингу. Но в этом случае, по сути, ты строишь язык программирования внутри диалога. Человеческий фактор, как правило, непредсказуем, зависит от контекста и его трудно свести к чистому автомату состояний. В общем, неплохой способ посмотреть на язык, но он не превращает переписку в буквальную машину Тьюринга, без добавления кучи дополнительной логики.
Nedurno Nedurno
Ну, можно считать, что чат – это конечный автомат, пока кто-нибудь не напишет рекурсивного чат-бота, который никогда не остановится. Тогда это просто язык программирования, замаскированный под обычный разговор.
Byte Byte
Да, именно так и задумывалось. Настоящий чат не обладает безграничной памятью, поэтому он ограничен конечным автоматом. Чтобы превратить его в подобие языка, имитирующего машину Тьюринга, нужно добавить бесконечную рекурсию и неограниченный стек. Но в реальности всё равно имеешь дело с конечным автоматом, пусть и с несколькими умными циклами.
Nedurno Nedurno
Ты отлично выложил суть – разговор становится ограниченной системой, если не добавить механизм для произвольной рекурсии. Вот где и пригождается этот "игрушечный язык".
Byte Byte
Точно. Рекурсия – вот что открывает путь к бесконечности, но в реальности ты натыкаешься на практические ограничения раньше, чем до неё доберешься. Тем не менее, создание простого интерпретатора внутри чат-бота показывает, что можно эмулировать любое алгоритмическое поведение – просто следи за бесконечными циклами и не допускай исчерпания ресурсов.