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

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

18.11.2021, 08:29. Показов 8167. Ответов 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
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
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 / 1914 / 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
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
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
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
26.05.2022, 15:38
Цитата Сообщение от Aycon Посмотреть сообщение
Это доказывает, что функция int Convert.ToInt32(string val) - не реализуема?
Во-первых, никто не запрещает передавать Оракулу функции, вычисление которых заканчивается ошибкой времени исполнения.
Во-первых, вычисление моей функции с указанным входом не заканчивается ошибкой времени исполнения. (на идеальном компьютере)

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

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

Куайн (квайн, англ. quine) — компьютерная программа, которая выдаёт на выходе точную копию своего исходного текста.
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
26.05.2022, 15:40
Цитата Сообщение от Aycon Посмотреть сообщение
вы не могли бы показать пример на c# функции, которая выводит свой собственный текст, пожалуйста?
Если я приведу Вам код такой программы, Вы согласитесь, что были неправы?
0
 Аватар для vantfiles
1018 / 1914 / 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 / 1914 / 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
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
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
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
26.05.2022, 17:00
Цитата Сообщение от Aycon Посмотреть сообщение
И выполняется
Нет. Если вычисления привели к ошибке времени исполнения, то эти вычисленеия останавливаются. Оракул должен вернуть true.
0
 Аватар для vantfiles
1018 / 1914 / 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru