2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



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


20/07/09
4026
МФТИ ФУПМ
Duku в сообщении #822820 писал(а):
Забавно, тогда $2^n$ или $x^n$ - не функция, т.к. $\sqrt {n}$ не единственное. :wink:

Это вы сейчас что-то не то сказали. $x^n$ --- это выражение странное, а вот $2^n$ --- функция. От $n$. $n^2$ тоже.

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение04.02.2014, 21:04 


29/01/14
8
Nemiroff в сообщении #822824 писал(а):
вот $2^n$ --- функция. От $n$. $n^2$ тоже.

А если $n=2$ ? Каждый элемент области значений имеет два прообраза ?

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение04.02.2014, 21:10 
Заслуженный участник


20/07/09
4026
МФТИ ФУПМ
Duku в сообщении #822841 писал(а):
А если $n=2$ ? Каждый элемент области значений имеет два прообраза ?

М-м-м, я вас не понимаю.
$n^2$ --- это функция из $\mathbb{R}$ в $\mathbb{R}$. А потому --- это есть подмножество $\mathbb{R} \times \mathbb{R}$, причём для любого $n\in \mathbb{R}$ существует единственное $y\in\mathbb{R}$ (равное $n^2$) такое, что $\langle n,y \rangle$ принадлежит функции. Если рисовать это множество на плоскости, получится парабола.

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение04.02.2014, 21:54 


04/02/14
69
Попробую доказать в контексте нормальных алгоритмов.
Значит, любой НАМ $a$ можно представить в виде строки $s(a)$: $a_1 ... a_k,X_1\to Z_1 Y_1,...,X_n\to Z_n Y_n$, где $\{a_1, ... ,a_k\}$ - алфавит данного НАМ не содержащий символов $,$, $\cdot$ и $\to$; $X_i$ и $Y_i$ - слова в данном алфавите; $Z_i$ - либо пустое слово, либо $\cdot$.
Пусть $A$ - множество всех НАМ. Пусть $S=\{s(a): a \in A\}$. Попробуем найти такую биективную вычислимую всюду определенную функцию $f:S\to\mathbb{N}$, чтобы однозначно занумеровать все строки из $S$.
И вот как её найти?

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение04.02.2014, 22:00 
Заслуженный участник


14/03/10
867
cscscs в сообщении #822862 писал(а):
Попробую доказать
ну Вы бы сначала задачу сформулировали.. А то иначе эта тема чем-то вроде блога оказывается :-( Главное, что (по-моему) тут непонятно, что Вы называете вообще программой.
Maslov в сообщении #822804 писал(а):
Тогда объясните, что Вы понимаете под программой. Любая ли машина Тьюринга является программой? Если нет, то какая не является?

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение04.02.2014, 22:20 


04/02/14
69
patzer2097 в сообщении #822864 писал(а):
ну Вы бы сначала задачу сформулировали.

Я думал это логически следует из обсуждения :roll:
Доказать, что существует марковский алгоритм, который печатает (в произвольном порядке и с произвольными промежутками времени) вообще все программы и только их.
Программа (например) - это элемент множества $S$, которое я определил выше.

Очевидно, что существует марковский алгоритм, который печатает все натуральные числа. Поэтому, если бы мы могли предъявить такую функцию $f$, которую я описал выше, то теорема была бы доказана. (Если только я тут не заблуждаюсь). Таким образом вопрос свелся к тому, существует ли такая $f$.

-- 04.02.2014, 23:37 --

Sonic86 в сообщении #822801 писал(а):
Формально можно, наверное, так: у нас же в определении написано, что функция вычислима, если задан алгоритм ее вычисления. Алгоритм можно понимать в смысле машины Тьюринга, а машиню Тьюринга мы можем однозначно закодировать и считать этот код - программой, которую имеют ввиду авторы.

Но они вообще ничего не говорили о машинах Тьюринга. Не уточняли, что такое алгоритм и программа, и чем они отличаются.
Sonic86 в сообщении #822801 писал(а):
универсальная функция двуместна

Подождите, Вы путаете ту универсальную двухместную функцию с тем о чем я говорил. А я говорил про алгоритм, который ничего на вход не берет (или можно сказать пустое слово ему передается) и печатает все программы и только их.
Sonic86 в сообщении #822801 писал(а):
Да просто перечисляем все НАМ явно: алфавит для НАМ конечен, число правил в каждом НАМ конечно, значит число НАМ с 1-м правилом счетно, с 2-я правилами счетно, ... - берем и перечисляем их по очереди как пары натуральных чисел.

Я не уверен, что функция, которая нумерует все НАМ таким образом, вычислима. Т.е., что можно написать НАМ для такой функции, который это делает.

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение04.02.2014, 22:40 
Заслуженный участник


14/03/10
867
cscscs в сообщении #822869 писал(а):
Программа (например) - это элемент множества $S$, которое я определил выше.
cscscs в сообщении #822862 писал(а):
строки $s(a)$: $a_1 ... a_k,X_1\to Z_1 Y_1,...,X_n\to Z_n Y_n$, где $\{a_1, ... ,a_k\}$ - алфавит данного НАМ не содержащий символов $,$, $\cdot$ и $\to$; $X_i$ и $Y_i$ - слова в данном алфавите; $Z_i$ - либо пустое слово, либо $\cdot$. Пусть $S=\{s(a): a \in A\}$.
то есть Вы хотите доказывать, что множество строк указанного вида перечислимо, я правильно Вас понял? и в чем здесь может быть проблема? Упорядочиваем все вообще возможные строки длины $l$ лексикографически, читаем по одной; если такая как Вы хотите, выводим на печать, если нет, то нет; идем к следующей. Когда все строки длины $l$ просмотрели, смотрим строки длины $l+1$.

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение04.02.2014, 22:47 


04/02/14
69
Maslov в сообщении #822804 писал(а):
Тогда объясните, что Вы понимаете под программой.

Любая ли машина Тьюринга является программой? Если нет, то какая не является?

Насколько я понял, если мы выбрали, что считать алгоритмом (МТ, НАМ, etc), и указали как можно однозначно закодировать каждый алгоритм в виде входных данных для какого-то другого алгоритма, т.е. как слово в алфавите этого алгоритма, то такие слова называются программами.

-- 04.02.2014, 23:48 --

nikvic в сообщении #822808 писал(а):
Нет, более осмысленный. Прочтите где-нибудь, что такое запись нормального алгорифма.

В виде схем только встречал, но я их переделал в строки.

-- 04.02.2014, 23:52 --

Duku в сообщении #822820 писал(а):
Из существования универсальной МТ (и квайн-программ), попросту операционных систем, следует, что таких УП бесконечное множество.

Квайн-программа выводит только саму себя. А та универсальная программа впридачу.
Опрационные системы работают на реальных машинах. А они являются не MT, а скорее https://en.wikipedia.org/wiki/Linear_bounded_automaton

-- 04.02.2014, 23:56 --

patzer2097 в сообщении #822874 писал(а):
то есть Вы хотите доказывать, что множество строк указанного вида перечислимо, я правильно Вас понял?

Да.
patzer2097 в сообщении #822874 писал(а):
Упорядочиваем все вообще возможные строки длины $l$ лексикографически

Что такое "все вообще возможные строки"? В каком алфавите?

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


14/03/10
867
cscscs в сообщении #822877 писал(а):
В каком алфавите?

в том, в котором Вы элементы множества $S$ задаете
cscscs в сообщении #822877 писал(а):
Что "все вообще возможные строки"?
вообще все строки, не исключая $\rightarrow\rightarrow.\rightarrow$ и подобных

в целом, Ваша задача либо тривиальна, либо Вы пишете не то, что имеется на самом деле в задаче в виду. Либо и то и другое. Поэтому и хочется комментариев по условию.

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение04.02.2014, 23:14 


04/02/14
69
patzer2097 в сообщении #822880 писал(а):
в том, в котором Вы элементы множества $S$ задаете

Вы наверное не знаете, что такое НАМ. У каждого НАМ $a$ свой алфавит $\alpha(a)$. Да, я согласен, что $s(a)$ - это строка в алфавите $\alpha(a)$, к которому добавили символы $,$,$\to$ и $\cdot$. Но этот алфавит для каждого $s(a)$ свой. И Вы рассуждали в таком ключе, будто существует общий алфавит для всех элементов $s(a)$ при любом $a$. Для меня не очевидно, что такой алфавит существует. Можно сказать, что этим алфавитом является объединение всех $\alpha(a)$, но это множество не явлсяется конечным. Поэтому не может считаться алфавитом.

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


14/03/10
867
cscscs в сообщении #822884 писал(а):
Можно сказать, что этим алфавитом является объединение всех $\alpha(a)$
что является алфавитом, нужно сказать. нужно явно его зафиксировать.
cscscs в сообщении #822884 писал(а):
но это множество не явлсяется конечным
понимаете, чтобы говорить о вычислимости, перечислимости и прочих радостях, мы должны в первую очередь зафиксировать алфавит. и он должен быть конечным.

даже если Ваше множество $\alpha(a)$ бесконечно, мы должны научиться кодировать его элементы в конечном алфавите. Что, впрочем, сделать очень легко - ведь как-то же мы упоминаем эти $a_i$ в наших сообщениях :-)

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение04.02.2014, 23:44 


04/02/14
69
patzer2097 в сообщении #822887 писал(а):
и нужно сказать. и явно его зафиксировать.

Я могу доказать Вам, что оно бесконечно, если хотите. Алфавит - это, по определению, конечное множество. Для каждого алфавита можно построить какой-нибудь НАМ, по определению НАМ. Каждое конечное подмножество $\{1,...,n \}$ натуральных чисел является алфавитом. Значит для каждого из них существует НАМ. Но объединение всех этих множеств является множеством натуральных чисел, которое счетно, а не конечно.
patzer2097 в сообщении #822887 писал(а):
понимаете, чтобы говорить о вычислимости, перечислимости и прочих радостях, мы должны в первую очередь зафиксировать алфавит. и он должен быть конечным.

Надо бы еще доказать, что это можно сделать. Я уже показал, что с объединением ничего не получится.
patzer2097 в сообщении #822887 писал(а):
даже если Ваше множество $\alpha(a)$ бесконечно

Оно конечно по определению НАМ.

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение05.02.2014, 00:19 
Заслуженный участник


14/03/10
867
cscscs в сообщении #822900 писал(а):
Оно конечно по определению НАМ.
OK, я имел в виду "объединение всех $\alpha(a)$", оставаясь в Ваших терминах.

Еще раз. Если Вы хотите говорить о перечислимости множества $S$, то Вы должны тем или иным образом научиться кодировать любую строку из множества $S$ в каком-то глобальном конечном алфавите (общем для всех НАМ). И это легко. Вот, по поводу Вашего примера:
cscscs в сообщении #822900 писал(а):
Но объединение всех этих множеств является множеством натуральных чисел, которое счетно, а не конечно.
неужели у Вас вызывает сложности запись натурального числа в конечном алфавите? :-)

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение05.02.2014, 00:25 


04/02/14
69
Sonic86 в сообщении #822801 писал(а):
число НАМ с 1-м правилом счетно

Кстати, спорный момент. Для каждого фиксированного алфавита $\{1,...,n\}$ существует счетное число НАМ с одним правилом. Счетное объединение счетных множеств - это счетное множество, да, но это утверждение доказывается с помощью аксиомы выбора (и без неё, если мне не изменяет память, это нельзя доказать).

 Профиль  
                  
 
 Re: множество всех алгоритмов перечислимо
Сообщение05.02.2014, 00:28 
Заслуженный участник


14/03/10
867
cscscs в сообщении #822912 писал(а):
Кстати, спорный момент. Для каждого фиксированного алфавита $\{1,...,n\}$ существует счетное число НАМ с одним правилом. Счетное объединение счетных множеств - это счетное множество, да, но это утверждение доказывается с помощью аксиомы выбора (и без неё, если мне не изменяет память, это нельзя доказать).
:facepalm: Вас послушать, так мы и счетность рациональных чисел без выбора не докажем :mrgreen:

-- Ср фев 05, 2014 00:32:56 --

какую мы тут вообще перечислимость обсуждаем, мы даже счетность пока без выбора не доказали :mrgreen:

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

Модераторы: Модераторы Математики, Супермодераторы



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

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


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

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