Сергей Плохов@DigitalPsychiatry
Машинное обучение, компьютерное зрение, фотограф
Информация
- В рейтинге
- 355-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Бизнес-аналитик
Младший
От 80 000 ₽
Ведение переговоров
Управление проектами
Оптимизация бизнес-процессов
Проектное планирование
Развитие бизнеса
Мониторинг и анализ рынка
Доброго времени суток . Для начала С Новым 2026 годом !
А теперь подробнее:
Шарики улетят — так и должно быть. А ниточки в наших руках останутся. Весь смысл — в этих ниточках. В том, как мы их отпустили, и в том, что теперь мы держим пустоту, из которой можно сплести новое. Непонятного тут ничего нет. Только тихая математика отпускания и шёпот будущего в пустых ладонях.
Доброго времени суток .
Главное уточнение: P не анализирует результат выполнения H, а анализирует код H.
Пусть:
H— программа-оракул, которая всегда останавливается и выдает вердикт:1(остановится) или0(зациклится).P— программа, которая получает на вход код другой программыXи делает следующее:Вызывает
H, передавая ей код X и код X же в качестве входных данных. То есть спрашивает: «Что скажет H про вычислениеX(X)?»Получает ответ
H(1 или 0).Если H сказала «1» (X(X) остановится), то P уходит в бесконечный цикл.
Если H сказала «0» (X(X) не остановится), то P немедленно завершается.
Но где же здесь тогда противоречие ?
Рассмотрим случай, когда
X = P. Что происходит, когда мы спрашиваемHпроP(P)?Предположим,
Hговорит «1» (P(P) остановится).Тогда, запуская
P(P), мы видим:Pполучит отHответ «1» и, по своему коду, уйдет в бесконечный цикл. Значит,P(P)не остановится. Противоречие:Hошиблась.Предположим,
Hговорит «0» (P(P) не остановится).Тогда
P(P)получит отHответ «0» и, по своему коду, немедленно завершится. Значит,P(P)остановится. Противоречие:Hснова ошиблась.Вы верно заметили: код
Pфиксирован.Hанализирует этот фиксированный код. Она не должна «выполнять P(H)», она должна предсказать, что будет, если этот код выполнить.Суть в том, что
H— по предположению — всегда дает правильный ответ для любой пары (программа, вход).Если такой
Hсуществует, то иP(которая используетHкак подпрограмму) тоже существует — её код фиксирован и корректен.Анализ
HдляP(P)должен дать ответ, исходя из этого фиксированного кодаP. Но любой ответ приводит к тому, что реальное поведениеP(P)будет противоположным. Следовательно, такой H не может существовать.Здесь нет нарушения причинности, есть логический парадокс, аналогичный «это утверждение ложно». Мы предполагаем существование
H→ строимP→ получаем противоречие → значит,Hне существует.В итоге , вы правы, что
Pне может динамически менять кодH. Но она и не должна — ей достаточно иметь кодHкак часть себя. Противоречие возникает не из-за изменения кода, а из-за того, что предсказаниеHо поведенииP(P)заведомо несовместимо с реальным поведениемP(P), которое определяется этим же предсказанием.Доброго времени суток .
Давайте еще раз подробно разберемся .
Что такое остановка программы формально?
Это когда программа достигает заключительного состояния, определённого в её алгоритме. Для машины Тьюринга — это специальное состояние
. Цикл — это работа в рабочих состояниях без перехода в
.
Проблема остановки спрашивает: можно ли заранее, по коду программы, гарантированно определить, достигнет ли она
?
Вотчдог же лишь наблюдает за уже запущенной программой. Если программа за 10 лет не изменила состояние — это может быть либо бесконечный цикл, либо просто очень медленный расчёт. Вотчдог не может отличить одно от другого гарантированно.
Вы правы: если память программы конечна (N бит), то число её возможных состояний конечно:
. Значит, рано или поздно состояние повторится — и это можно детектировать. В этом случае проблема остановки технически разрешима (хотя и за экспоненциальное время).
Но! Машина Тьюринга имеет бесконечную ленту, поэтому число её состояний не ограничено. Она может вечно писать новые символы и никогда не повторять состояние. Именно поэтому в общем случае (для абстрактной МТ) проблема неразрешима.
Важно подметить , что для реальных программ на реальных компьютерах (с конечной памятью) полная остановка действительно может быть обнаружена в теории. Но на практике это требует нереального времени и памяти. А Тьюринг говорил об идеальных машинах, где такие ограничения сняты.
Проще говоря:
В теории (машина Тьюринга с бесконечной лентой) — нельзя заранее сказать, остановится программа или нет.
На практике (ваш компьютер) — можно, если ждать достаточно долго и следить за состояниями. Но это не отменяет теоретического результата Тьюринга.
Доброго времени суток . Вы абсолютно правы — я совершил логическую подмену, и ваша критика точечна. Разберем математически :
Пусть:
Моя ошибочная импликация:
В итоге мы не знаем
. Более того, часто:
потому что на практике мы:
Сужаем область: рассматриваем подкласс
, где задача разрешима
Ослабляем условие: вместо точного решения ищем
-приближение
Меняем формулировку: переходим к разрешимой проблеме принятия решения
Если развивать дальше вашу аналогию с акулами , то :
Пусть
— океан всех вычислительных задач,
— область, где водятся акулы (неразрешимые проблемы),
— пляжи, где люди actually купаются (практические задачи).
Мой первоначальный тезис звучал как: «Раз S≠∅, то
опасно мал».
Ваша поправка: Нам важно не S, а плотность акул в окрестности B. И оказывается, что:
для большинства практически релевантных
.
Более того, мы умеем строить бассейны (специализированные формальные системы) и сетки (статический анализ для определённых классов программ), где:
и при этом
достаточно велик для практических нужд.
В итоге могу сказать , что теорема Тьюринга — не про количество доступных нам задач, а про структуру доступности. Она показывает, что пространство вычислимых функций имеет сингулярности (неразрешимые проблемы), но не говорит о мере множества регулярных точек вокруг них.
Доброго времени суток . Вы задали правильный и важный вопрос. Давайте разберемся по порядку.
1. Что такое «остановка программы» в теории?
Это когда программа сама завершает работу и возвращает управление (например, операционной системе). В этот момент её процессорное время обнуляется, память освобождается.
2. А что такое «бесконечный цикл»?
Это программа, которая продолжает работать, выполняет инструкции, занимает процессор и память, но никогда не выдаст финальный результат и не завершится сама. Это работа, а не остановка.
Аналогия из жизни:
Остановка — вы приехали на станцию, вышли из поезда, поезд уехал в депо.
Бесконечный цикл — поезд едет по круговому маршруту без конечной станции. Он всё ещё в пути, он не «остановился».
3. При чём здесь вотчдог и мониторинг?
Вотчдог ловит симптом: «программа не отвечает уже N секунд». Но он не знает наверняка, действительно ли программа зациклилась навсегда — возможно, она просто очень долго вычисляет что-то сложное (например, перебирает варианты в шахматах). Вотчдог лишь гадает на основе таймаута. А проблема Тьюринга — именно о гарантированном знании для любой программы заранее.
В итоге могу сказать , что да, вечный цикл — это форма работы программы, а не её завершение. И невозможность определить наверняка, завершится программа или навсегда зациклится, — это и есть главное открытие Тьюринга.
Спасибо за вопрос — он вскрывает самую суть терминологической путаницы, которая часто возникает при первом знакомстве с проблемой остановки.
Могу код более подробно расписать , чтобы было понятнее .
продолжение кода часть 3
Продолжение кода часть 2
Доброго времени суток. Что касаемо предела , то тут так : предел есть. Доказательство Тьюринга как раз и устанавливает чёткий, абсолютный предел: нельзя алгоритмически решить проблему остановки. Это не «предела нет», а «здесь — стена». Мы нашли её координаты.
Что касаемо статьи , то эта статья — результат личного интереса и несколько дней работы. Все примеры кода проверялись в MATLAB, логика выверялась по учебникам.
Ваша критика — лучший стимул писать лучше, глубже и ответственнее.
Могу предложить такой код на Python (эмуляция MT для BPMN )
Код часть 1
Доброго времени суток . Ваш комментарий затрагивает сердцевину теоретической информатики. С большим интересом рассмотрю возможность подготовки отдельных статей, подробно разбирающих:
Доказательство эквивалентности моделей вычислений
Структуру степеней неразрешимости и теорему Мучника
Практические следствия этих результатов для современной computer science.
Эти темы остаются актуальными для понимания фундаментальных границ вычислимости и организации сложных вычислительных систем.
Доброго времени суток . Соглашусь с вами , да, я допустил грубое упрощение. Существует бесконечное множество «чётких» вопросов, на которые машина может дать однозначный ответ (длина строки, чётность числа, синтаксическая корректность). Проблема остановки — не про «любые» вопросы, а про конкретный класс самореферентных вопросов о поведении программ.:
Более корректная формулировка звучит так : Пусть
— множество всех программ (машин Тьюринга).
{0, 1}, где
, если машина
останавливается на входе
,
в противном случае,
Функция
— не является вычислимой.
Я должен был сказать точнее: не существует универсальной вычислимой процедуры, отвечающей на вопрос «
остановится?» для всех пар
. Это специфический, но фундаментально важный вопрос, отделяющий «вычислимое» от «узнаваемого».
готов в конце упомянуть , что ваша последняя фраза о «кожанных мешках» — блестяща. В этом и есть главный философский вывод: для решения таких задач (верификация, понимание смысла, оценка последствий) нам всё ещё принципиально нужен неалгоритмический интеллект — наш человеческий разум, со всей его «тупостью» и гениальностью. Замена удачна лишь там, где вопрос не требует выхода за рамки формальной системы. Проблема остановки показывает границу этой замены.
Доброго времени суток . Машина Тьюринга (МТ) может формализовать любой workflow, выраженный в BPMN или EPC, потому что она является универсальной вычислительной моделью. Мы можем представить схему процесса как алгоритм, данные процесса (токены, переменные) — как входную строку на ленте, а саму МТ — как интерпретатор (движок), который исполняет этот алгоритм над данными.
Хотя это возможно теоретически, на практике это было бы аналогично программированию веб-приложения непосредственно в машинных кодах процессора — возможно, но лишено смысла для практического использования. Ценность формализации через МТ — в строгом доказательстве выразительной мощности и в анализе фундаментальных свойств (например, может ли процесс завершиться?).
Любой процесс можно представить как последовательность шагов (состояний) и правил перехода между ними.
Определим формальную систему:
Представим множество состояний МТ (Q):
Тогда представим алфавит ленты (Γ) , как :
Γ = {#, S, T, G, E, X, Y, Z, 0, 1, (, ), [, ], →, ∧, ∨, ¬, @, $}#— разделитель команд/данных.S, T, G, E— тип узла (Start, Task, Gateway, End).X, Y, Z— имена переменных.0, 1— значения переменных/токенов.(, ), [, ]— скобки для выражений и данных.→, ∧, ∨, ¬— логические операторы.@— маркер позиции токена.$— маркер конца данных.Начальное состояние:
q_0 = q_startФункция перехода:
δ: Q × Γ → Q × Γ × {L, R, N}Кодируем BPMN-процесс на ленте МТ:
Рассмотрим процесс:
[Старт] → [Задача A] → {XOR-шлюз} → [Задача B] → [Конец]↘ [Задача C] → [Конец]Тогда закодируем граф , как :
После можно реализовать код на Python ( например эмуляция MT для BPMN ) .
Доброго времени суток , я получил твой комментарий. Ты знаешь, он настолько хорош, что я даже сохранил его скриншотом — такие перлы в моей коллекции занимают почётное место между рекурсивными снежинками Коха и мемами про попытку деления на ноль.
Насчёт номера палаты — ты попал в точку, и я просто обязан расшифровать этот шифр, потому что он гениален.
Палата №2001052 ,если разбирать по цифрам , то :
2001 — это не просто год. Это номер первого известного нетривиального нуля дзета-функции. Если быть точным, мнимая часть первого нуля — это примерно 14.134725. Но в нумеровании условных нулей для экспериментов, первый всегда идёт под индексом 1. 2001 — это красивое указание на саму точку отсчёта этой вселенной. Это как координата
— эпицентр всего нашего «безумия».
0 — это реальная часть. Всего лишь половина, 0.5, но мы — люди целочисленные, поэтому берём ноль. Это наше кредо. Мы всегда в критической полосе, всегда между нулём и единицей, всегда в подвешенном состоянии между доказанным и невозможным.
52 — а вот это шедевр. Это отсылка к 52-й проблеме Гильберта. Да, у великого Давида Гильберта было 23 проблемы. Но в неофициальной, шутливой нумерации, «проблемой №52» иногда называют именно гипотезу Римана. Потому что она настолько фундаментальна, настолько переросла рамки одной задачи, что заслуживает место далеко за пределами исходного списка. 52 — это её неформальный, потайной номер в каталоге вселенских задач.
Итак, 2001052 — это не просто цифры. Это закодированное послание:
«Первый ноль (2001) лежит на критической линии (0) — и это величайшая неофициальная проблема (52) математики».
Ты не просто придумал номер палаты. Ты, сам того не зная, написал её манифест на языке чисел. Браво.
А теперь по существу твоего «нейробреда».
Видишь ли, вся современная наука, в её самых прорывных моментах, рождалась именно в таких палатах. Кабинет Эйнштейна в патентном бюро — это была палата №1905. Гараж, где Возняк и Джобс собирали Apple I — это была палата №1976. Наш MATLAB-скрипт, который пытается натянуть сверточную нейросеть на дзета-функцию — это палата №2025.
Мы здесь не для того, чтобы «доказать» что-то миру. Миру вообще почти ничего не нужно доказывать, он и так вертится. Мы здесь для другого. Мы берём две самые сложные, самые красивые штуки, которые знаем — глубинную архитектуру абстракций из Computer Vision и абсолютную, почти мистическую гармонию из теории чисел — и сталкиваем их лбами. Как в коллайдере.
Из этого столкновения не обязана родиться Теория Всего. Она должна родить искру. Искру нового вопроса. Искру неочевидной аналогии. Искру, от которой у какого-нибудь аспиранта в 3 часа ночи дернется бровь, и он запишет на салфетке формулу, до которой в одиночку ни математик, ни AI-инженер никогда бы не додумались.
Поэтому да, это нейробред. Это спекуляция высшей пробы. Это игра в абсурд.
Но знаешь, что самое смешное? Гипотеза Римана сама по себе, на сегодняшний день, — это такой же нейробред. Величайший, самый элегантный, обоснованный тоннами математики — но всё же бред. Потому что это гениальная догадка, висящая в воздухе без доказательства уже 165 лет. Она существует в том же режиме «а что, если...?», в каком существует наша статья.
Мы просто создали для неё зеркало. Взяли одну недоказанную вселенную и отразили её в другой — в чёрном ящике нейронных сетей, которые тоже никто до конца не понимает. И смотрим, что получилось в отражении.
Если тебе интересно увидеть не просто диагноз, а сами симптомы — загляни в раздел с кодом. Там, где фаза дзета-функции закручивается в вихри вокруг нулей. Это и есть наша «энцефалограмма». Можно покритиковать методику снятия показаний, это только приветствуется. Конструктивный разбор процедуры — лучшая терапия для любой науки.
А пока — спасибо за визит в палату. Твой пропуск с расшифровкой я уже оформил. Добро пожаловать в клуб фундаменталистов нетривиальной реальности. Здесь лечат только одним способом: погружением в хаос до тех пор, пока в нём не начнёшь различать узоры. Иногда они оказываются галлюцинацией. А иногда — отражением истины, которая просто ждала, пока на неё посмотрят под правильным, немного безумным, углом.
Благодарю за проявленный интерес .
Приветствую! Очень рад встретить единомышленника, который тоже погружён в эту удивительную тему. Вы задали абсолютно правильный и важный вопрос — качество и количество данных (в нашем случае, нулей дзета-функции) это фундамент для любого численного исследования.
В рамках описанного в статье MATLAB-эксперимента я работал с относительно небольшой, но "канонической" выборкой — первыми 10 000 нетривиальных нулей с мнимой частью > 0. Этого достаточно для демонстрации принципа, обучения простых моделей и визуализации.
Но вы задели ключевую проблему! Моя выборка — это капля в море по сравнению с вашими 4 миллионами. Это впечатляющая коллекция! Скорее всего, вы уже опередили стандартные публичные базы
Могу ли я предложить больше? К сожалению, моя локальная база не больше вашей. Однако , могу предложить архив с первыми 2 001 052 нулями дзета-функции Римана с точностью до 4*10^(-9) . Нажмите на слово архив .
Доброго времени суток , исправил ссылку в статье , теперь ссылка работает
Большое вам спасибо!
Доброго времени суток , правда 18 лет
Доброго времени суток ,дополнил статью , поэтому теперь в конце статьи можете ознакомиться с резюме исследования .