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

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

18.11.2021, 08:29. Показов 9332. Ответов 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
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
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
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
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
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
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
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
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
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
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
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
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 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru