Чому існує більше не обчислюваних функцій, ніж обчислюваних?


29

Зараз я читаю книгу за алгоритмами та складністю. На даний момент я читаю про обчислювані та не обчислювані функції, і моя книга зазначає, що існує набагато більше функцій, які не обчислюються, ніж обчислювані, насправді більшість не обчислюється. В якомусь сенсі я інтуїтивно можу це прийняти, але книга не дає офіційного підтвердження, а також не дуже детально розглядає цю тему.

Я просто хотів побачити доказ / нехай хтось тут детальніше розробить це / зрозуміти більш чітко, чому існує так багато більше не обчислюваних функцій, ніж обчислювані.


Порівнюючи дві нескінченні множини, семантику "більше" треба переглянути.
— Рафаель

Відповіді:


31

Є лічильно безліч обчислюваних функцій:

Кожна обчислювана функція має щонайменше один алгоритм. Кожен алгоритм має кінцевий опис, використовуючи символи з кінцевого набору, наприклад, кінцеві бінарні рядки з використанням символів {0,1} . Кількість кінцевих двійкових рядків, позначених {0,1}∗ можна зарахувати (тобто таке ж, як число натуральних чисел N ).

c∈{0,1}∗f(x)=c

Іншими словами, існує відповідність між:

  • набір обчислюваних функцій,
  • набір алгоритмів,
  • {0,1}∗{0,1}
  • N

f:N→Nf:{0,1}∗→{0,1}∗NN=2N

2N

N<2N


NN=2N

Це кардинальна арифметика. Напишіть натуральні числа у нескінченній послідовності натуральних чисел у двійкових, що повинно давати інтуїцію.
— Kaveh

Чому це припущення є істинним - "Кожен алгоритм має кінцевий опис, використовуючи символи з кінцевого набору"? Чому алгоритм не може мати нескінченний опис?
— Roland Pihlakas

@RolandPihlakas, що є частиною визначення алгоритму (якщо ви хочете, комп'ютерної програми).
— Каве

9

K

F={f:N→{0,1}:∀x∈N,f(2x)=K(x)}.
f∈FF

R

G={g:N→{0,1}:∃n∈N∀m≥n,g(m)=R(m).}
g∈GRGG

Отже, існує безліч не обчислюваних функцій, оскільки у нас є "нескінченно багато" ступенів свободи - фактична нескінченність, а не "потенційна" нескінченність, як у випадку, що обчислюється.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.