Busy beaver — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
{{в разработке}}
 
{{в разработке}}
=== Определение ===
+
[[Категория: Вычислимость]]
 +
[[Категория: Теория формальных языков]]
 
{{Определение
 
{{Определение
 
|definition =
 
|definition =
 
<b><tex>BB(n)</tex></b>  {{---}} функция от натурального аргумента <tex>n</tex> (busy beaver fuction), равная максимальному числу шагов, которое может совершить программа длиной <tex>n</tex> символов и затем остановиться.
 
<b><tex>BB(n)</tex></b>  {{---}} функция от натурального аргумента <tex>n</tex> (busy beaver fuction), равная максимальному числу шагов, которое может совершить программа длиной <tex>n</tex> символов и затем остановиться.
 
}}
 
}}
 +
 +
{{Утверждение
 +
|statement=
 +
<tex>BB(n)</tex> растет быстрее любой всюду определенной неубывающей вычислимой функции <tex>f(n) : N \rightarrow N </tex>, то есть для всех <tex>n</tex> кроме конечного числа выполнено <tex>BB(n) > f(n)</tex>
 +
|proof=
 +
Пусть <tex>f(n)</tex> представлена своим кодом.
 +
Для каждого <tex>n</tex> определим программы вида:
 +
  <tex>P_n</tex>():
 +
    k = {десятичная запись числа n}
 +
    f = f(k)
 +
    for i = 1 to f + 1
 +
      do smth
 +
 +
Каждая такая программа делает как минимум <tex>f(n) + 1</tex> шагов.
 +
Длина <tex>P_n</tex> будет равна <tex> \lg n + const </tex>, где <tex>const</tex> {{---}} длина кода без десятичной записи <tex>n</tex>. Пусть <tex>n_0</tex> {{---}} решение уравнения <tex>\lg n + const = n</tex>. Тогда для всех натуральных <tex> n > \left \lceil n_0 \right \rceil </tex>, в силу неубывания <tex>BB(n)</tex>, будет выполнено: <tex> n > len(P_n) \Rightarrow BB(n) \geqslant BB(len(P_n)) > f = f(n) </tex>. Так как <tex>n_0</tex> конечно, то утверждение доказано.
 +
}}
 +
 +
* Из этого утверждения следует, что <tex>BB(n)</tex> невычислима.

Версия 17:39, 3 января 2013

Эта статья находится в разработке!
Определение:
[math]BB(n)[/math] — функция от натурального аргумента [math]n[/math] (busy beaver fuction), равная максимальному числу шагов, которое может совершить программа длиной [math]n[/math] символов и затем остановиться.


Утверждение:
[math]BB(n)[/math] растет быстрее любой всюду определенной неубывающей вычислимой функции [math]f(n) : N \rightarrow N [/math], то есть для всех [math]n[/math] кроме конечного числа выполнено [math]BB(n) \gt f(n)[/math]
[math]\triangleright[/math]

Пусть [math]f(n)[/math] представлена своим кодом. Для каждого [math]n[/math] определим программы вида:

 [math]P_n[/math]():
   k = {десятичная запись числа n}
   f = f(k)
   for i = 1 to f + 1
     do smth

Каждая такая программа делает как минимум [math]f(n) + 1[/math] шагов.

Длина [math]P_n[/math] будет равна [math] \lg n + const [/math], где [math]const[/math] — длина кода без десятичной записи [math]n[/math]. Пусть [math]n_0[/math] — решение уравнения [math]\lg n + const = n[/math]. Тогда для всех натуральных [math] n \gt \left \lceil n_0 \right \rceil [/math], в силу неубывания [math]BB(n)[/math], будет выполнено: [math] n \gt len(P_n) \Rightarrow BB(n) \geqslant BB(len(P_n)) \gt f = f(n) [/math]. Так как [math]n_0[/math] конечно, то утверждение доказано.
[math]\triangleleft[/math]
  • Из этого утверждения следует, что [math]BB(n)[/math] невычислима.