Изменения

Перейти к: навигация, поиск

Универсальная функция

169 байт добавлено, 21:45, 10 ноября 2016
Определение универсальной функции
{{Определение
|definition =
Две '''вычислимые функции ''' (англ. ''computable function'') <tex>f_1</tex> и <tex>f_2</tex> равны при заданных аргументах, если при этих аргументах вычисляющие программы для этих функций зависают, либо равны значения, возвращаемые ими.:*<tex>f_1(x) = f_2(x)</tex>*<tex>f_1(x) = \bot</tex> и <tex> f_2(x) = \bot</tex>
}}
{{Определение
{{Теорема
|statement=Существует универсальная функция для класса вычислимых функций одного аргумента.
|proof=Зафиксируем какой-либо язык программирования. Пусть программами на этом языке являются слова над алфавитом <tex>\Sigma</tex>. Программа будет иметь номер <tex>n</tex>, если ее код {{---}} <tex>n</tex>-е слово среди всех слов над алфавитом <tex>\Sigma</tex>, отсортированных сначала по возрастанию длины, а при равной длине {{---}} в лексикографическом порядке. При этом если <tex>n</tex>-я программа не компилируется, будем считать, что она всегда зависает. Рассмотрим функцию <tex>U(n,x):\mathbb{N}\times\mathbb{N}\rightarrow\mathbb{N}\cup\perp</tex> такую, что <tex>U(n,x)=p_n(x)</tex>, где <tex>p_n</tex> {{---}} <tex>n</tex>-я программа. Заметим, что по определению вычислимой функции существует программа, вычисляющая ее. Но в заданной нумерации у любой программы есть номер. Таким образом для любой вычислимой функции <tex>f</tex> существует номер <tex>n: U(n,x)=f(x)</tex>. И наоборот {{---}} <tex>f_n=U(n)</tex> является вычислимой функцией. Вычисляющая программа для <tex>U</tex> содержит интерпретатор для зафиксированного языка программирования, по номеру программы (первый аргумент) восстанавливает ее код, и передает ей второй аргумент, возвращая результат ее работы. Таким образом <tex>U_n(x)=U(n,x)</tex> {{---}} вычислима для любого <tex>n\in\mathbb{N}</tex>, и <tex>\forall f(x) \exists n\in\mathbb{N}: f(x)=U(n,x)</tex>, <tex>f(x)</tex> {{---}} вычислима, значит <tex>U(n,x) </tex> {{---}} универсальная функция.
}}
Анонимный участник

Навигация