Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.97/37: Рейтинг темы: голосов - 37, средняя оценка - 4.97
13 / 11 / 2
Регистрация: 07.05.2015
Сообщений: 418

Проблема останова. В чём противоречие?

18.11.2021, 08:29. Показов 9825. Ответов 176
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Расскажите пожалуйста, в чём суть проблемы останова и как Тьюринг определяет и доказывает отсутствие оракула?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.11.2021, 08:29
Ответы с готовыми решениями:

Проблема применимости и проблема останова
Привет! Как бы я не бился - никак не могу понять проблему останова и применимости алгоритмов в целом. Хочу попросить прям полное объяснение...

Проблема с отладкой и точками останова
Здравствуйте С крайне прозаичной и глупой проблемой столкнулся. Переделывал старый проект, в процессе замены кода натолкнулся на то, что...

Выдает ошибку, а я не могу понять в чем проблема. В чем проблема, скажите пожалуйста!
dx=0.0005; epsillon=0.00002; i=0; for x= 0:0.0005:3 i=i+1; if x<1 y (i)=-1; elseif x<2 S=0; ...

176
Модератор
Эксперт функциональных языков программирования
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
26.05.2022, 15:21
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Aycon Посмотреть сообщение
Эта функция зависит от результата выполнения самой себя. Она рекурсивная.
Эта функция не рекурсивная. Она не зависит от результата выполнения самой себя.

Цитата Сообщение от Aycon Посмотреть сообщение
если вы попытаетесь проинициализировать text внутри text
Внутри моей функции нет никаких переменных (ячеек памяти). Поэтому там нечего инициализировать.

Цитата Сообщение от Aycon Посмотреть сообщение
что в строке находится исходный код корректной функции, все необходимые переменные для которой определены
Строка содержит только код моей функции. Она НЕ содержит значение входного параметра. Её можно вызывать с разными значениями входного параметра.

Цитата Сообщение от Aycon Посмотреть сообщение
Если бы вы мне здраво ответили, как Оракул должен угадать содержимое text внутри text - ничего этого не было бы необходимо.
Ему не нужно угадывать. Значение text передаётся Оракулу (второй параметр функции Оракул).
0
13 / 11 / 2
Регистрация: 07.05.2015
Сообщений: 418
26.05.2022, 15:27  [ТС]
vantfiles,
А откуда периоды, если в качестве параметра в ф-цию G следует передать всего лишь ее собственный текст?
- собственный текст и аргумент, а именно(её собственный текст и аргумент, а именно(/*в периоде*/))
Аргумент нужен, чтобы скормить оракулу. Функция не знает свой код.

Добавлено через 2 минуты
Shamil1,
Эта функция не рекурсивная. Она не зависит от результата выполнения самой себя.
Функция А() тоже не зависит от выполнения самой себя?

C#
1
2
3
4
5
6
7
8
9
void A()
{
    B()
}
 
void B()
{
    A()
}
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
26.05.2022, 15:30
Цитата Сообщение от Aycon Посмотреть сообщение
и аргумент,
Не обязательно. Тем более, что аргумент может быть пустым, или отсутствовать вовсе, что Вы можете увидеть в приведенном мной примере.

Вас, может быть, именно это сбило с толку?

Добавлено через 57 секунд
Цитата Сообщение от Aycon Посмотреть сообщение
Функция не знает свой код.
Знает. Это нюанс, который Вы упустили.
0
13 / 11 / 2
Регистрация: 07.05.2015
Сообщений: 418
26.05.2022, 15:31  [ТС]
Shamil1,
Это доказывает, что функция int Convert.ToInt32(string val) - не реализуема?
C#
1
int a = Convert.ToInt32("FooMaFaka");
0
Модератор
Эксперт функциональных языков программирования
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
26.05.2022, 15:32
Цитата Сообщение от Aycon Посмотреть сообщение
На брейнфаке, элементарно, проще всего, например перебрать все листинги программ, не превышающих 8 символов исходного кода.
Вы путаете перебор листингов с пониманием листингов (пониманием, что эти листинги делают).
0
13 / 11 / 2
Регистрация: 07.05.2015
Сообщений: 418
26.05.2022, 15:38  [ТС]
vantfiles,
Знает. Это нюанс, который Вы упустили
А как это? Она его не хранит, но знает? А если хранит, то как она может быть конечна?

Добавлено через 2 минуты
vantfiles, вы не могли бы показать пример на c# функции, которая выводит свой собственный текст, пожалуйста?
Я в первый раз об этом слышу. Я знаю про рефлексию, но она не позволяет посмотреть исходный код. Мне действительно очень интересно.

Добавлено через 2 минуты
vantfiles, кроме того, я слышал про selfreplication code, но не думаю, что можно вывести результат в зависимости от результата функции, которая проанализирует исходный код.
0
Модератор
Эксперт функциональных языков программирования
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
26.05.2022, 15:38
Цитата Сообщение от Aycon Посмотреть сообщение
Это доказывает, что функция int Convert.ToInt32(string val) - не реализуема?
Во-первых, никто не запрещает передавать Оракулу функции, вычисление которых заканчивается ошибкой времени исполнения.
Во-первых, вычисление моей функции с указанным входом не заканчивается ошибкой времени исполнения. (на идеальном компьютере)

Добавлено через 25 секунд
Цитата Сообщение от Aycon Посмотреть сообщение
вы не могли бы показать пример на c# функции, которая выводит свой собственный текст, пожалуйста?
Смешно.
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
26.05.2022, 15:39
Цитата Сообщение от Aycon Посмотреть сообщение
пример на c# функции, которая выводит свой собственный текст, пожалуйста?
Зачем ограничиваться одним Шарп-ом? Вот, ознакомьтесь:

https://ru.wikipedia.org/wiki/... ммирование)

Куайн (квайн, англ. quine) — компьютерная программа, которая выдаёт на выходе точную копию своего исходного текста.
0
Модератор
Эксперт функциональных языков программирования
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
26.05.2022, 15:40
Цитата Сообщение от Aycon Посмотреть сообщение
вы не могли бы показать пример на c# функции, которая выводит свой собственный текст, пожалуйста?
Если я приведу Вам код такой программы, Вы согласитесь, что были неправы?
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
26.05.2022, 15:41
более того, во многих динамических языках и программа и ф-ция имеет доступ к своему собственному тексту.
могу привести пример на Lua.
0
13 / 11 / 2
Регистрация: 07.05.2015
Сообщений: 418
26.05.2022, 15:42  [ТС]
Shamil1, да, она просто делегирует падение Оракулу. Весьма любезно. Тогда так:
C#
1
int a = Convert.ToInt32(new decimal(3/0));
Добавлено через 1 минуту
vantfiles, если не трудно, приведите пример G на луа, пожалуйста.
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
26.05.2022, 15:56
Цитата Сообщение от Aycon Посмотреть сообщение
приведите пример G на луа, пожалуйста.
Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function halts( arg )
   return( true )
end
 
txt = [[
function g( arg )
   if halts( arg ) then
      while true do end
   end
end
]]
 
function g = load( txt )
 
g( txt )
Остается только реализовать ф-цию halts
0
Модератор
Эксперт функциональных языков программирования
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
26.05.2022, 16:12
Лучший ответ Сообщение было отмечено Aycon как решение

Решение

Цитата Сообщение от Aycon Посмотреть сообщение
она просто делегирует падение Оракулу
Оракул, по определению, не должен падать, если код функции компилируется.

Добавлено через 2 минуты
Aycon,
Вот пример процедуры без параметров:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Prog()
{
    string template = @"void Prog()
{{  
    string template = @{0}{1}{0};
    string text = string.Format(template, '{0}', template);
    Console.Write(text);
    bool Oracle(string code, object start_state)
    {{
        return false;
    }}
    bool flag = Oracle(text, null);
    while(flag);
}}";
    string text = string.Format(template, '"', template);
    Console.Write(text);
    bool Oracle(string code, object start_state)
    {
        return false;
    }
    bool flag = Oracle(text, null);
    while(flag);
}
Строка 16 (и 7) в ней нужна только для того, чтобы Вы убедились, что она передаёт в Оракул() свой текст.
0
13 / 11 / 2
Регистрация: 07.05.2015
Сообщений: 418
26.05.2022, 16:52  [ТС]
vantfiles, функция внутри txt никогда не вызывается, а поэтому содержимое
txt останавливается всегда. Кроме того, вы сказали, что G не требуется аргумент для работы.

Добавлено через 1 минуту
Shamil1,
Оракул, по определению, не должен падать, если код функции компилируется
И выполняется

Добавлено через 3 минуты
Shamil1,
Строка 16 (и 7) в ней нужна только для того, чтобы Вы убедились, что она передаёт в Оракул() свой текст.
Воу, выглядит интересно) сейчас посмотрю в VS

Добавлено через 4 минуты
Shamil1,
Если я приведу Вам код такой программы, Вы согласитесь, что были неправы?
Да, я ведь я пообещал это несколько страниц назад. Сейчас запущу

Добавлено через 9 минут
Shamil1, Согласен. Прошу прощения, был не прав. Функцию действительно можно проинициализировать корректными параметрами.
Я сейчас немного подумаю, могу ли я использовать это для написания обхода Prog(), если не выйдет - я закрываю тему. Вероятно, я всё-таки недостаточно разобрался в ситуации.
0
Модератор
Эксперт функциональных языков программирования
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
26.05.2022, 17:00
Цитата Сообщение от Aycon Посмотреть сообщение
И выполняется
Нет. Если вычисления привели к ошибке времени исполнения, то эти вычисленеия останавливаются. Оракул должен вернуть true.
0
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
26.05.2022, 21:41
Цитата Сообщение от Aycon Посмотреть сообщение
vantfiles, функция внутри txt никогда не вызывается
В отладчике запустите.
Цитата Сообщение от Aycon Посмотреть сообщение
вы сказали, что G не требуется аргумент для работы.
процитируйте, на этом форуме это просто
0
13 / 11 / 2
Регистрация: 07.05.2015
Сообщений: 418
27.05.2022, 06:09  [ТС]
vantfiles, я понял свою ошибку, спасибо за помощь. Мой пост выше. Я отметил сообщение с ответом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2022, 06:09

VsCode и Rust проблема с точками останова
Всем привет. Начал изучать Rust, столкнулся с такой проблемой: в VsCode не срабатывают точки останова. Использую вот такую конфигурацию...

Проблема останова лжеца Гёделя и брадобрея Кантора
Наваял тут трактат о логике и основаниях математики. Расскажите, пожалуйста, в чём я не прав.

Подскажите, в чем ошибка (exe вызвал срабатывание точки останова)
Код #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <Windows.h> #include <locale> using namespace std; ...

В чем заключаются ошибки в работе программы.Ошибка "вызвал срабатывание точки останова."
Matrix.h #ifndef MATRIX_H #define MATRIX_H #include <ostream> class Matrix { private: int **ptr; // указатель на матрицу ...

Проблема с кодом. Выдает ошибку, я не могу понять в чем проблема
Работаю первый раз с Maple. Установлен версии 2015 года. Выдает ошибку я не могу понять в чем проблема Вот код: restart: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
177
Ответ Создать тему
Новые блоги и статьи
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru