<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=212.232.73.136&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=212.232.73.136&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/212.232.73.136"/>
		<updated>2026-04-06T16:02:35Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D0%B5_(%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B5)_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8&amp;diff=50086</id>
		<title>Разрешимые (рекурсивные) языки</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D0%B5_(%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B5)_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8&amp;diff=50086"/>
				<updated>2015-11-30T21:42:44Z</updated>
		
		<summary type="html">&lt;p&gt;212.232.73.136: /* Примеры неразрешимых множества */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные определения == &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition= '''Рекурсивный язык''' (англ. ''recursive language'') &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; {{---}} язык, для которого существует программа &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p(w) = \begin{cases}&lt;br /&gt;
1, \ w \in L \\&lt;br /&gt;
0, \ w \notin L&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; называется '''разрешимым''', если существует такая [[Вычислимые функции | вычислимая]] функция &amp;lt;tex&amp;gt;f : \Sigma^* \to \{0, 1\} : x \in L \Leftrightarrow f(x) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Если  мы  рассматриваем  язык   &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;  как  проблему,  то  проблема  называется  ''разрешимой'',  если  язык  &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;  ''рекурсивный''.  В  противном  случае  проблема  называется  ''неразрешимой''. Но часто данные понятия просто отождествляются.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition= '''Класс всех разрешимых (рекурсивных) языков''' (англ. ''Class of decidable (recursive) languages'') часто обозначается буквой &amp;lt;tex&amp;gt; \mathrm{R} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=uni&lt;br /&gt;
|definition='''Универсальный язык''' (англ. ''universal language'') &amp;lt;tex&amp;gt; \  U = \{\langle p, x \rangle \ |\ p(x) = 1\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Другими словами, ''универсальный язык'' {{---}} это язык всех таких пар &amp;quot;программа и её вход&amp;quot;, что программа на входе возвращает &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим данное определение более детально, для чего докажем вспомогательную лемму:&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Существует [[Отображения#Свойства отображений | биекция]] между строками и натуральными числами.&lt;br /&gt;
|proof=&lt;br /&gt;
Приведем пример такой биекции: занумеруем подряд все строки длины &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, затем все строки длины &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; и так далее {{---}} нумерация названий столбцов в &amp;lt;tex&amp;gt;Excel&amp;lt;/tex&amp;gt;, таким образом, каждому натуральному числу соответствует некоторая строка и наоборот. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Биекция между строками и натуральными числами нам нужна, чтобы передавать пары &amp;quot;текст программы, текст входных данных&amp;quot; в качестве аргументов функций. Передавать можно в следующем виде: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;2^{\mathtt{code}} \cdot 3^{\mathtt{input}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathtt{code}, \ \mathtt{input}&amp;lt;/tex&amp;gt; {{---}} есть натуральные числа, соответствующие тексту программы и тексту входных данных соответственно.&lt;br /&gt;
&lt;br /&gt;
Далее считаем, что входные данные программы и сама программа расположены над одним алфавитом &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Примеры разрешимых множеств ==&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|id=st1&lt;br /&gt;
|statement=&lt;br /&gt;
Язык чётных чисел разрешим.&lt;br /&gt;
|proof=&lt;br /&gt;
Приведём программу, разрешающую язык чётных чисел:&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(i) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;i \ \bmod \ 2 == 0 &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
&lt;br /&gt;
Заметим, что программа нигде не может зависнуть.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Множество всех рациональных чисел, меньших числа &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; (основания натуральных логарифмов) или &amp;lt;tex&amp;gt;\pi&amp;lt;/tex&amp;gt;, разрешимо.&lt;br /&gt;
|proof=&lt;br /&gt;
 Для чисел &amp;lt;tex&amp;gt;e, \ \pi&amp;lt;/tex&amp;gt; существуют различные техники нахождения их точного представления, одна их которых описана в статье&amp;lt;ref&amp;gt;[http://www.mathpropress.com/stan/bibliography/spigot.pdf «A Spigot Algorithm for the Digits of Pi»]&amp;lt;/ref&amp;gt;, таким образом, возможно получить необходимый знак чисел &amp;lt;tex&amp;gt;e, \ \pi&amp;lt;/tex&amp;gt; за конечное время. &lt;br /&gt;
&lt;br /&gt;
Десятичное представление рационального числа &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; может быть получено с любой точностью. &lt;br /&gt;
&lt;br /&gt;
Приведем программу, разрешающую данную проблему для числа &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;tex&amp;gt;p(r) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''if''' (&amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; &amp;lt; 2)&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''if''' (&amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; &amp;gt; 3)&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
   '''for''' (i = 1 .. &amp;lt;tex&amp;gt;\infty &amp;lt;/tex&amp;gt;)  &lt;br /&gt;
     '''if''' (getDigit(&amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;, i) &amp;gt; getDigit(&amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;, i))  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;// getDigit {{---}} функция, которая получает i-ую цифру вещественной части переданного числа&amp;lt;/font&amp;gt;&lt;br /&gt;
       '''return''' 1&lt;br /&gt;
     '''if''' (getDigit(&amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;, i) &amp;lt; getDigit(&amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;, i))&lt;br /&gt;
       '''return''' 0&lt;br /&gt;
Так как число &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; иррационально, то ответ будет найден за конечное время.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Множество тех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, для которых в числе &amp;lt;tex&amp;gt;\pi&amp;lt;/tex&amp;gt; есть не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; девяток подряд, разрешимо.&lt;br /&gt;
|proof=&lt;br /&gt;
Предположим, что в числе &amp;lt;tex&amp;gt;\pi&amp;lt;/tex&amp;gt; встречается &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; девяток подряд, тогда, логично, что встречается и любое число девяток меньших &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим все программы семейства:&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_0(i) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''return''' 1&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_1(i) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;i &amp;lt; 1 &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_2(i) {:} &amp;lt;/tex&amp;gt;  &lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;i &amp;lt; 2 &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\dots&amp;lt;/tex&amp;gt;     &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_k(i) {:} &amp;lt;/tex&amp;gt;  &lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;i &amp;lt; k &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\dots&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
По доказанному выше, какая-то программа из этого семейства будет разрешителем для искомого множества. Значит, искомое множество разрешимо.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Примеры неразрешимых множеств ==&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|id=st1&lt;br /&gt;
|statement=&lt;br /&gt;
Универсальный язык неразрешим.&lt;br /&gt;
|proof=&lt;br /&gt;
Приведём доказательство от противного.&lt;br /&gt;
&lt;br /&gt;
Пусть язык &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; разрешим, тогда существует программа  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;u(\langle p, x \rangle) = \begin{cases}&lt;br /&gt;
1, \ \langle p, x \rangle \in U \\&lt;br /&gt;
0, \ \langle p, x \rangle \notin U&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Составим следующую программу:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;r(x) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;u(\langle x, x \rangle) == 1 &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''while''' ''true''&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
&lt;br /&gt;
Рассмотрим вызов &amp;lt;tex&amp;gt; r(r) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
* Eсли &amp;lt;tex&amp;gt; u(\langle r, r \rangle) = 1 &amp;lt;/tex&amp;gt;, то условие &amp;lt;tex&amp;gt;\mathrm{if}&amp;lt;/tex&amp;gt; выполнится и программа зависнет, но, так как программа &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt; разрешает универсальный язык, &amp;lt;tex&amp;gt; u(\langle r, r \rangle) = 1 \Rightarrow r(r) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
* Eсли &amp;lt;tex&amp;gt; u(\langle r, r \rangle) = 0 &amp;lt;/tex&amp;gt;, то условие &amp;lt;tex&amp;gt;\mathrm{if}&amp;lt;/tex&amp;gt; не выполнится и программа вернет &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, но, так как программа &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt; разрешает универсальный язык, &amp;lt;tex&amp;gt; u(\langle r, r \rangle) = 0 \Rightarrow r(r) \ne 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Из предположения о разрешимости универсального языка мы пришли к противоречию.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Примечания == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 1999. С. 134. ISBN 5-900916-36-7&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Recursive_language Wikipedia — Recursive language]&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA Википедия — Рекурсивный язык]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Теория вычислимости]]&lt;/div&gt;</summary>
		<author><name>212.232.73.136</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D0%B5_(%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B5)_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8&amp;diff=50085</id>
		<title>Разрешимые (рекурсивные) языки</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B8%D0%BC%D1%8B%D0%B5_(%D1%80%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B5)_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8&amp;diff=50085"/>
				<updated>2015-11-30T21:38:56Z</updated>
		
		<summary type="html">&lt;p&gt;212.232.73.136: /* Примеры разрешимых множества */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Основные определения == &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition= '''Рекурсивный язык''' (англ. ''recursive language'') &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; {{---}} язык, для которого существует программа &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;p(w) = \begin{cases}&lt;br /&gt;
1, \ w \in L \\&lt;br /&gt;
0, \ w \notin L&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition = Язык &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt; называется '''разрешимым''', если существует такая [[Вычислимые функции | вычислимая]] функция &amp;lt;tex&amp;gt;f : \Sigma^* \to \{0, 1\} : x \in L \Leftrightarrow f(x) = 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
Если  мы  рассматриваем  язык   &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;  как  проблему,  то  проблема  называется  ''разрешимой'',  если  язык  &amp;lt;tex&amp;gt;L&amp;lt;/tex&amp;gt;  ''рекурсивный''.  В  противном  случае  проблема  называется  ''неразрешимой''. Но часто данные понятия просто отождествляются.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition= '''Класс всех разрешимых (рекурсивных) языков''' (англ. ''Class of decidable (recursive) languages'') часто обозначается буквой &amp;lt;tex&amp;gt; \mathrm{R} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|id=uni&lt;br /&gt;
|definition='''Универсальный язык''' (англ. ''universal language'') &amp;lt;tex&amp;gt; \  U = \{\langle p, x \rangle \ |\ p(x) = 1\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Другими словами, ''универсальный язык'' {{---}} это язык всех таких пар &amp;quot;программа и её вход&amp;quot;, что программа на входе возвращает &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Рассмотрим данное определение более детально, для чего докажем вспомогательную лемму:&lt;br /&gt;
&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement=&lt;br /&gt;
Существует [[Отображения#Свойства отображений | биекция]] между строками и натуральными числами.&lt;br /&gt;
|proof=&lt;br /&gt;
Приведем пример такой биекции: занумеруем подряд все строки длины &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, затем все строки длины &amp;lt;tex&amp;gt;2&amp;lt;/tex&amp;gt; и так далее {{---}} нумерация названий столбцов в &amp;lt;tex&amp;gt;Excel&amp;lt;/tex&amp;gt;, таким образом, каждому натуральному числу соответствует некоторая строка и наоборот. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Биекция между строками и натуральными числами нам нужна, чтобы передавать пары &amp;quot;текст программы, текст входных данных&amp;quot; в качестве аргументов функций. Передавать можно в следующем виде: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;2^{\mathtt{code}} \cdot 3^{\mathtt{input}}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;\mathtt{code}, \ \mathtt{input}&amp;lt;/tex&amp;gt; {{---}} есть натуральные числа, соответствующие тексту программы и тексту входных данных соответственно.&lt;br /&gt;
&lt;br /&gt;
Далее считаем, что входные данные программы и сама программа расположены над одним алфавитом &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Примеры разрешимых множеств ==&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|id=st1&lt;br /&gt;
|statement=&lt;br /&gt;
Язык чётных чисел разрешим.&lt;br /&gt;
|proof=&lt;br /&gt;
Приведём программу, разрешающую язык чётных чисел:&lt;br /&gt;
 &amp;lt;tex&amp;gt;p(i) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;i \ \bmod \ 2 == 0 &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
&lt;br /&gt;
Заметим, что программа нигде не может зависнуть.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Множество всех рациональных чисел, меньших числа &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; (основания натуральных логарифмов) или &amp;lt;tex&amp;gt;\pi&amp;lt;/tex&amp;gt;, разрешимо.&lt;br /&gt;
|proof=&lt;br /&gt;
 Для чисел &amp;lt;tex&amp;gt;e, \ \pi&amp;lt;/tex&amp;gt; существуют различные техники нахождения их точного представления, одна их которых описана в статье&amp;lt;ref&amp;gt;[http://www.mathpropress.com/stan/bibliography/spigot.pdf «A Spigot Algorithm for the Digits of Pi»]&amp;lt;/ref&amp;gt;, таким образом, возможно получить необходимый знак чисел &amp;lt;tex&amp;gt;e, \ \pi&amp;lt;/tex&amp;gt; за конечное время. &lt;br /&gt;
&lt;br /&gt;
Десятичное представление рационального числа &amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; может быть получено с любой точностью. &lt;br /&gt;
&lt;br /&gt;
Приведем программу, разрешающую данную проблему для числа &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;tex&amp;gt;p(r) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''if''' (&amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; &amp;lt; 2)&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''if''' (&amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt; &amp;gt; 3)&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
   '''for''' (i = 1 .. &amp;lt;tex&amp;gt;\infty &amp;lt;/tex&amp;gt;)  &lt;br /&gt;
     '''if''' (getDigit(&amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;, i) &amp;gt; getDigit(&amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;, i))  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;// getDigit {{---}} функция, которая получает i-ую цифру вещественной части переданного числа&amp;lt;/font&amp;gt;&lt;br /&gt;
       '''return''' 1&lt;br /&gt;
     '''if''' (getDigit(&amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt;, i) &amp;lt; getDigit(&amp;lt;tex&amp;gt;r&amp;lt;/tex&amp;gt;, i))&lt;br /&gt;
       '''return''' 0&lt;br /&gt;
Так как число &amp;lt;tex&amp;gt;e&amp;lt;/tex&amp;gt; иррационально, то ответ будет найден за конечное время.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|statement=&lt;br /&gt;
Множество тех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, для которых в числе &amp;lt;tex&amp;gt;\pi&amp;lt;/tex&amp;gt; есть не менее &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; девяток подряд, разрешимо.&lt;br /&gt;
|proof=&lt;br /&gt;
Предположим, что в числе &amp;lt;tex&amp;gt;\pi&amp;lt;/tex&amp;gt; встречается &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; девяток подряд, тогда, логично, что встречается и любое число девяток меньших &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt;.&lt;br /&gt;
Рассмотрим все программы семейства:&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_0(i) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''return''' 1&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_1(i) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;i &amp;lt; 1 &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_2(i) {:} &amp;lt;/tex&amp;gt;  &lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;i &amp;lt; 2 &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\dots&amp;lt;/tex&amp;gt;     &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;p_k(i) {:} &amp;lt;/tex&amp;gt;  &lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;i &amp;lt; k &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;\dots&amp;lt;/tex&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
По доказанному выше, какая-то программа из этого семейства будет разрешителем для искомого множества. Значит, искомое множество разрешимо.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Примеры неразрешимых множества ==&lt;br /&gt;
&lt;br /&gt;
{{Утверждение&lt;br /&gt;
|id=st1&lt;br /&gt;
|statement=&lt;br /&gt;
Универсальный язык неразрешим.&lt;br /&gt;
|proof=&lt;br /&gt;
Приведём доказательство от противного.&lt;br /&gt;
&lt;br /&gt;
Пусть язык &amp;lt;tex&amp;gt;U&amp;lt;/tex&amp;gt; разрешим, тогда существует программа  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;u(\langle p, x \rangle) = \begin{cases}&lt;br /&gt;
1, \ \langle p, x \rangle \in U \\&lt;br /&gt;
0, \ \langle p, x \rangle \notin U&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Составим следующую программу:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tex&amp;gt;r(x) {:} &amp;lt;/tex&amp;gt;&lt;br /&gt;
   '''if''' &amp;lt;tex&amp;gt;u(\langle x, x \rangle) == 1 &amp;lt;/tex&amp;gt;&lt;br /&gt;
     '''while''' ''true''&lt;br /&gt;
   '''else'''&lt;br /&gt;
     '''return''' 1&lt;br /&gt;
&lt;br /&gt;
Рассмотрим вызов &amp;lt;tex&amp;gt; r(r) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
* Eсли &amp;lt;tex&amp;gt; u(\langle r, r \rangle) = 1 &amp;lt;/tex&amp;gt;, то условие &amp;lt;tex&amp;gt;\mathrm{if}&amp;lt;/tex&amp;gt; выполнится и программа зависнет, но, так как программа &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt; разрешает универсальный язык, &amp;lt;tex&amp;gt; u(\langle r, r \rangle) = 1 \Rightarrow r(r) = 1&amp;lt;/tex&amp;gt;;&lt;br /&gt;
* Eсли &amp;lt;tex&amp;gt; u(\langle r, r \rangle) = 0 &amp;lt;/tex&amp;gt;, то условие &amp;lt;tex&amp;gt;\mathrm{if}&amp;lt;/tex&amp;gt; не выполнится и программа вернет &amp;lt;tex&amp;gt;1&amp;lt;/tex&amp;gt;, но, так как программа &amp;lt;tex&amp;gt; u &amp;lt;/tex&amp;gt; разрешает универсальный язык, &amp;lt;tex&amp;gt; u(\langle r, r \rangle) = 0 \Rightarrow r(r) \ne 1&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Из предположения о разрешимости универсального языка мы пришли к противоречию.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Примечания == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
* Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 1999. С. 134. ISBN 5-900916-36-7&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Recursive_language Wikipedia — Recursive language]&lt;br /&gt;
* [http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%81%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA Википедия — Рекурсивный язык]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Теория вычислимости]]&lt;/div&gt;</summary>
		<author><name>212.232.73.136</name></author>	</entry>

	</feed>