<?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=5.18.230.54&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=5.18.230.54&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/5.18.230.54"/>
		<updated>2026-05-17T12:39:40Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=Busy_beaver&amp;diff=51229</id>
		<title>Busy beaver</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=Busy_beaver&amp;diff=51229"/>
				<updated>2016-01-16T14:57:51Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.230.54: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Поиск усердных бобров''' (англ. ''busy beaver'') {{---}} известная задача в теории вычислимости. Под усердным бобром в теории вычислимости понимают [[Машина Тьюринга | машину Тьюринга]] с заданным числом состояний конечного автомата, которая будучи запущенной на пустой ленте, записывает на нее максимальное количество ненулевых символов и останавливается. &lt;br /&gt;
&lt;br /&gt;
В данном конспекте будет рассмотрена функция, которая используется в этой задаче для подсчета числа шагов для завершения программы при определенном числе состояний. &lt;br /&gt;
{{Определение&lt;br /&gt;
|definition =&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;tex&amp;gt;BB(n)&amp;lt;/tex&amp;gt;&amp;lt;/b&amp;gt; {{---}} функция от натурального аргумента &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, равная максимальному числу шагов, которое может совершить программа длиной &amp;lt;tex&amp;gt;n&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;BB(n)&amp;lt;/tex&amp;gt; не убывает.&lt;br /&gt;
|proof=&lt;br /&gt;
&lt;br /&gt;
В данной задаче существует функция &amp;lt;tex&amp;gt;\Sigma(n)&amp;lt;/tex&amp;gt;, которая в зависимости от числа состояний &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; возвращает максимальное число единиц, которое может быть записано на ленту машиной-чемпионом. Именно машина-чемпион является усердным бобром. Из смысла задачи следует, что функция &amp;lt;tex&amp;gt;\Sigma(n)&amp;lt;/tex&amp;gt; не убывает. &amp;lt;br&amp;gt;Теперь покажем, что &amp;lt;tex&amp;gt;\forall n \ BB(n) &amp;gt; \Sigma(n).&amp;lt;/tex&amp;gt; Для того, чтобы поместить одну единицу на ленту, требуется совершить хотя бы 1 шаг. Из этого следует, что &amp;lt;tex&amp;gt;BB(n)&amp;lt;/tex&amp;gt; растет быстрее, чем &amp;lt;tex&amp;gt;\Sigma(n)&amp;lt;/tex&amp;gt;. Следовательно, &amp;lt;tex&amp;gt;BB(n)&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;BB(n)&amp;lt;/tex&amp;gt; растет быстрее любой всюду определенной неубывающей [[Вычислимые функции|вычислимой функции]] &amp;lt;tex&amp;gt;f(n) : N \rightarrow N &amp;lt;/tex&amp;gt;, то есть для всех &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; кроме конечного числа выполнено &amp;lt;tex&amp;gt;BB(n) &amp;gt; f(n).&amp;lt;/tex&amp;gt;&lt;br /&gt;
|proof=&lt;br /&gt;
Докажем, что для любой вычислимой функции &amp;lt;tex&amp;gt;f(n)&amp;lt;/tex&amp;gt; функция &amp;lt;tex&amp;gt;BB(n)&amp;lt;/tex&amp;gt; будет превышать ее значение (за исключением конечного множества значений числа &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;). &amp;lt;br&amp;gt; &lt;br /&gt;
Пусть &amp;lt;tex&amp;gt;f(n)&amp;lt;/tex&amp;gt; представлена своим кодом. Для каждого &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; определим программы вида:&lt;br /&gt;
  &amp;lt;tex&amp;gt;p_n()&amp;lt;/tex&amp;gt;:&lt;br /&gt;
    k = десятичная запись числа n&lt;br /&gt;
    m = f(k)&lt;br /&gt;
    '''for''' i = 1 '''to''' m + 1 &lt;br /&gt;
      шаг программы&lt;br /&gt;
&lt;br /&gt;
Каждая такая программа делает как минимум &amp;lt;tex&amp;gt;f(n) + 1&amp;lt;/tex&amp;gt; шагов.&lt;br /&gt;
Так как мы рассматриваем &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt; в десятичной записи, то длина &amp;lt;tex&amp;gt;p_n&amp;lt;/tex&amp;gt; будет равна &amp;lt;tex&amp;gt; \lg n + const &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;const&amp;lt;/tex&amp;gt; {{---}} длина кода без десятичной записи &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;. Пусть &amp;lt;tex&amp;gt;n_0&amp;lt;/tex&amp;gt; {{---}} решение уравнения &amp;lt;tex&amp;gt;\lg n + const = n&amp;lt;/tex&amp;gt;. Тогда для всех натуральных &amp;lt;tex&amp;gt; n &amp;gt; \left \lceil n_0 \right \rceil &amp;lt;/tex&amp;gt; будет выполнено неравенство: &amp;lt;tex&amp;gt; n &amp;gt; len(p_n) \Rightarrow BB(n) \geqslant BB(len(p_n)) &amp;gt; m = f(n) &amp;lt;/tex&amp;gt;. Для того, чтобы увидеть, что переход корректный, рассмотрим программу длины &amp;lt;tex&amp;gt;n&amp;lt;/tex&amp;gt;, совершающую максимальное число шагов. Существует программа длины &amp;lt;tex&amp;gt;n + 1&amp;lt;/tex&amp;gt;, которая делает столько же шагов: надо просто в предыдущую добавить один незначащий символ. Например, пробельный. Значит, существует программа длины на один больше, которая делает не меньше шагов. Следовательно, &amp;lt;tex&amp;gt;BB&amp;lt;/tex&amp;gt; не убывает. Значит, переход является корректным и наше утверждение доказано.&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
'''Вывод:''' доказав предыдущее утверждение, мы проверили, что максимальное число шагов, которое может совершить программа и при этом остановиться, на самом деле растет с большей скоростью, чем любая вычислимая функция. Отсюда следует, что &amp;lt;tex&amp;gt;BB(n)&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;
* ''Хопкрофт Д., Мотвани Р., Ульман Д.'' — '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Busy_beaver#The_busy_beaver_function Английская Википедия {{---}} Busy beaver]&lt;br /&gt;
* [http://is.ifmo.ru/works/_bobri.pdf Федотов П.В., Царев Ф.Н., Шалыто А.А. {{---}} Задача поиска усердных бобров и ее решения]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Теория формальных языков]]&lt;br /&gt;
[[Категория: Теория вычислимости]]&lt;br /&gt;
[[Категория: Разрешимые и перечислимые языки]]&lt;/div&gt;</summary>
		<author><name>5.18.230.54</name></author>	</entry>

	</feed>