2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4  След.
 
 Re: Получила ли программа свой же код на вход?
Сообщение02.09.2014, 12:39 
Заслуженный участник


28/04/09
1933
А зачем тут требование тьюринг-полноты? HQ9+ и ему подобные обходятся без нее.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение02.09.2014, 12:56 
Заслуженный участник


02/08/11
7003
EtCetera в сообщении #902923 писал(а):
А зачем тут требование тьюринг-полноты?
Если его убрать, теорема, сформулированная EtCetera, станет неверной.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение02.09.2014, 23:26 
Заслуженный участник


28/04/09
1933
warlock66613 в сообщении #902933 писал(а):
теорема, сформулированная EtCetera, станет неверной
Прошу прощения, но я пока никакие теоремы не формулировал. :wink:

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение03.09.2014, 01:02 


23/12/07
1763
warlock66613 в сообщении #902902 писал(а):
_hum_ в сообщении #901761 писал(а):
пусть есть универсальный (тьюринг-полный) язык программирования с интерпретатором $U$, который на вход принимает текст $p$ программы и исходные данные $x$ (в том же текстовом виде) для ее выполнения, а на выходе дает (в текстовом виде) результат $U(p,x)$ выполнения соответствующего программе алгоритма над данными $x$. Тогда существует такой текст программы $ p$, что $U(p,p) $ = "1", а $U(p,x)$ = "0", если $x \neq p$.
Я бы сформулировал более сильное утверждение - оно полнее отвечает на вопрос.

Пусть есть универсальный (тьюринг-полный) язык программирования с интерпретатором $U$, который на вход принимает текст $p$ программы и исходные данные $x$ (в том же текстовом виде) для ее выполнения, а на выходе дает (в текстовом виде) результат $U(p,x)$ выполнения соответствующего программе алгоритма над данными $x$. Тогда для любого текста программы $p_0$ существует текст программы $p$ такой, что 1) $U(p, \text{«1»} p)=\text{«1»}$; 2) $U(p, \text{«1»} x)=\text{«0»}$, $x \neq p$; 3) $U(p, \text{«0»} x)=U(p_0,x)$.

Честно говоря, я не понял Вашей идеи насчет "оно полнее отвечает на вопрос". И, например, для меня, на первый взгляд, вообще в таком варианте не очевидно, что ответ на изначальный вопрос положителен.

EtCetera в сообщении #902923 писал(а):
А зачем тут требование тьюринг-полноты? HQ9+
и ему подобные обходятся без нее.

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

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение05.09.2014, 01:08 
Заслуженный участник


02/08/11
7003
_hum_ в сообщении #903202 писал(а):
Честно говоря, я не понял Вашей идеи насчет "оно полнее отвечает на вопрос".
Есть подозрение, что ТС хотел, чтобы программа не просто могла проверять, не подали ли ей на вход её собственный текст, но и чтобы эта программа делала что-то полезное (ну скажем могла напечатать 20 первых чисел Фибоначчи). То есть (возможно) вопрос должен был звучать так: "можно ли модифицировать уже существующую программу так, чтобы она (помимо основной задачи) могла определять, подали ли ей на вход её текст или нет?" Теорема, которую я написал выше, отвечает на этот вопрос положительно. (Правда я её не доказал.)

-- 05.09.2014, 02:11 --

_hum_ в сообщении #903202 писал(а):
И, например, для меня, на первый взгляд, вообще в таком варианте не очевидно, что ответ на изначальный вопрос положителен.
Утверждение в моём посте - более сильное, ваше получается из него как частный случай.

-- 05.09.2014, 02:16 --

(Оффтоп)

EtCetera в сообщении #903169 писал(а):
Прошу прощения, но я пока никакие теоремы не формулировал. :wink:
Значит это был _hum_. Это многое объясняет.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение14.09.2014, 14:38 


24/01/09
1246
Украина, Днепр
- "Локи, но зачем?"

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение14.09.2014, 19:34 
Админ форума
Аватара пользователя


19/03/10
8952
 !  Theoristos, замечание за бессодержательное сообщение

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение17.09.2014, 14:20 


17/09/14

49
tenmin в сообщении #885673 писал(а):
Да, я уже сам придумал.

Код:
function f(p){return f.toString()===p?1:0;}

А ты хоть проверял свой код? Твоя функция работает только с нестрогой проверкой
Код:
==
Вот так правильно.
Код:
f=function(p){return f.toString()===p.toString()?1:0;}

Но опять же, узнаешь ли ты тут та ли эта программа или другая
Код:
f=function(p){return f.toString()===p.toString()?1:0;}
g=function(p){return f.toString()===p.toString()?1:0;}
console.log(f(f))//1
console.log(f(g))//1
console.log(f==g)//false

Это, как бы, философский вопрос.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение17.09.2014, 15:32 
Заслуженный участник


27/04/09
28128
Это не философский вопрос. Коды одинаковые, а считаются ли функции с одинаковыми кодами одинаковыми — это свойство конкретного ЯП и здесь не важно.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение17.09.2014, 15:42 


17/09/14

49
arseniiv в сообщении #908800 писал(а):
а считаются ли


И, что существенней: являются ли. Однако ТС расуждает безотносительно конкретного ЯП, поэтому, вопрос, по-прежнему, философский. Если бы он не был таковым, Вы, вероятно, смогли бы назвать критерии эквивалентности функций (или программ), безотносительно реализации, чего я пока не наблюдаю.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение17.09.2014, 16:05 
Заслуженный участник


27/04/09
28128
joke-100 в сообщении #908810 писал(а):
поэтому, вопрос, по-прежнему, философский
Поэтому вопроса просто нет.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение17.09.2014, 16:12 


17/09/14

49
arseniiv в сообщении #908825 писал(а):
Поэтому вопроса просто нет.


Нет, вопрос, по прежнему есть, например, следует ли считать эквивалентными программы с одинаковыми исходниками эквивалентными, или следует считать эквивалентными программы, которые делают одинаковые вещи, например, считать ли программы, f(x) return x и f(y) return y одной и той же программой. На мой взгляд, следует. В куайнах заложен изначально порочный взгляд на программы как на куски текста, однако кусок текста является не программой, а текстом программы, отсюда и идет вся эта зараза. Программа -- это абстракция, никак не связаная с тексовым ее представлением.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение17.09.2014, 16:18 
Заслуженный участник


27/04/09
28128
joke-100 в сообщении #908827 писал(а):
Нет, вопрос, по прежнему есть, например, следует ли считать эквивалентными программы с одинаковыми исходниками эквивалентными, или следует считать эквивалентными программы, которые делают одинаковые вещи, например, считать ли программы, f(x) return x и f(y) return y одной и той же программой.
Повторю: это уже зависимый от конкретного ЯП вопрос.

joke-100 в сообщении #908827 писал(а):
В куайнах заложен изначально порочный взгляд на программы как на куски текста, однако кусок текста является не программой, а текстом программы, отсюда и идет вся эта зараза.
Так вам кўайны не нравятся, что ли? Ну сразу бы так и написали, не темня.

joke-100 в сообщении #908827 писал(а):
Программа -- это абстракция, никак не связаная с тексовым ее представлением.
Осталось теперь определить, что вы понимаете под программой.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение17.09.2014, 16:22 


17/09/14

49
arseniiv в сообщении #908832 писал(а):
что вы понимаете под программой.


Я понимаю под программой функцию (не ее синтаксическое представление -- текст). Так же можно считать программой абстрактную машину.

-- 17.09.2014, 17:28 --

arseniiv в сообщении #908832 писал(а):
Так вам кўайны не нравятся, что ли?


Они мне не то, чтобы не нравятся, я считаю их бессмысленным фокусом, который вообще ни о чем. Интерпетация текста целиком зависит от исполнителя, и сам по себе текст не имеет ни малейшего значения, он не представляет программу. Бессмыслено рассматривать текст программы безотносительно исполнителя, это все равно что дать букварь корове.

Тем более странно, что множество так называемых "ученых" столько жужжат про эти квайны, научные теории строят. Просто бред. Для программы ее исходник ничем не отличается от любого другого текста. Нет в квайнах никакой идеи.

 Профиль  
                  
 
 Re: Получила ли программа свой же код на вход?
Сообщение17.09.2014, 17:06 
Админ форума
Аватара пользователя


19/03/10
8952
joke-100 в сообщении #908770 писал(а):
А ты хоть проверял свой код?
 !  joke-100, замечание за фамильярность. Читайте Правила форума:
Forum Administration в Правилах форума #27356 писал(а):
1) Нарушением считается:

е) ..., фамильярность (у нас принято обращаться друг к другу на "Вы")...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 53 ]  На страницу Пред.  1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group