Важливі властивості обчислювальних цифр


10

Чи "теорема Райса для обчислюваних дійсних даних" - тобто жодна нетривіальна властивість числа, представленого заданим обчислювальним реальним, не може бути вирішена - правда?

Чи відповідає це якимось прямим способом зв’язності дійсних дій?

Відповіді:


8

Так, теорема Райса про дійсні значення є у всіх розумних версіях обчислюваних дійсних даних.

Я спершу доведемо певну теорему та слідство, а потім поясню, що це стосується обчислюваності.

Теорема: Припустимоp:R{0,1} це карта і a,bR дві реалії такі, що p(a)=0 і p(b)=1. Тоді існує послідовність Коші(xi)i такий як p(limixi)p(xj)для всіх .jN

Доказ. Побудуємо послідовність пар дій наступним чином: Дотримуйтесь цього для всіх :(yi,zi)i

(y0,z0)=(a,b)(yi+1,zi+1)={(yi,(yi+zi)/2)if p((yi+zi)/2)=1((yi+zi)/2,zi)if p((yi+zi)/2)=0
iN
  • p(yi)=0 іp(zi)=1
  • |ziyi|=|ba|2i
  • |yi+1yi||ba|2i
  • |zi+1zi||ba|2i

Таким чином, послідовності та є Коші, і вони сходяться до спільної точки . Якщо то беремо , а якщо то беремо . (yi)i(zi)ic=limiyi=limizip(c)=0(xi)i=(zi)ip(c)=1(xi)i=(yi)i

Висновок: Припустимо, і два реальні значення, такі, що і . Тоді кожна машина Тьюрінга або працює вічно, або не працює вічно.p:R{0,1}a,bRp(a)=0p(b)=1

Доказ. За теоремою існує послідовність Коші така, що для всіх . Без втрати загальності можна вважати, що і .(xi)ip(xj)p(limixi)jBp(xj)=1p(limixi)=0

Нехай - машина Тюрінга. Визначте послідовність за допомогою Послідовність чітко визначена, оскільки ми можемо імітувати до кроків і вирішити, зупинилась вона чи ні протягом цих багатьох кроків. Далі зауважте, що - послідовність Коші, оскільки - послідовність Коші (це залишаємо як вправу). Нехай . Або або :Tyi

yi={xjif T halts in step j and jixiif T does not halt within i steps
Ti(yi)i(xi)iz=limiyip(z)=0p(z)=1
  • якщо то працює вічно. Дійсно, якби він зупинився після кроків, тоді ми мали б , і тому суперечить .p(z)=0Tjz=xjp(z)=p(xj)=1p(z)=0

  • якщо то не працює вічно. Дійсно, якби це було, то у нас було б , і так , що суперечить . p(z)=1Tz=limixip(z)=p(limixi)=0p(z)=0

Тепер ми можемо пояснити, чому це дає нам теорему Райса про дійсні числа. Докази конструктивні, тому вони дають обчислювальні процедури. Це стосується будь-якої моделі обчислюваності та будь-якої обчислювальної структури дійсних даних, які заслуговують на т. Зв. Насправді ви можете повернутися назад і прочитати доказ як інструкцію зі створення програми - всі кроки обчислюються.

Таким чином, якби у нас була обчислювана карта та обчислювана така, що і , тоді ми могли б застосувати обчислювальні процедури, що випливають із конструктивних доказів теореми та наслідків, щоб створити оракул Халтінга. Але оракул Halting не існує, тому кожна обчислювана карта є постійною.p:R{0,1}a,bRp(a)=0p(1)=1p:R{0,1}

Доповнення: Було також питання про те, чи пов'язана теорема Райса зі зв’язковістю реалів. Так, це по суті твердження про те, що реальні з'єднання пов'язані.

Спочатку зауважимо, що суцільне відображення (ми беремо дискретну топологію на ) відповідає парі роз'єднаних клопен (закритих і відкритих) множин таке , що . Дійсно, візьмемо і . Оскільки неперервна і і відкриті, і будуть відкриті, НЕ перетинаються, і вони , очевидно , покривають все . І навпаки, будь-яка пара роз'єднаних клопен, що охоплюють визначає суцільну картуp:X{0,1}{0,1}U,VXUV=XU=p1({0})V=p1({1})p{0}{1}UVX(U,V)Xp:X{0,1} що відображає елементи від до та елементи від до .U0V1

З цього ми дізнаємося, що простір від’єднано, якщо і тільки тоді, коли існує безперервна карта і така, що і (нам потрібно і щоб отримати нетривіальне розкладання ). Є ще один спосіб сказати те саме: простір з'єднаний, якщо і тільки тоді, коли всі безперервні карти є постійними.Xp:X{0,1}a,bXp(a)=0p(1)=babXXX{0,1}

У обчислювальній математиці у нас є основна теорема: кожна обчислювана карта є суцільною . Отже, поки ми знаходимось у царині обчислюваних об'єктів, теорема Райса насправді стверджує, що певний простір пов'язаний. У випадку класичної теореми Райса простір, про який йде мова, - простір часткових обчислювальних функцій .NN


Дякую! Це те, що я шукав. Будь-яке уявлення про інше питання - чи це безпосередньо пов’язано з пов'язаністю дій?
Шахаф

Я додав пояснення щодо того, що теорема Райса насправді є формою теореми зв’язності.
Андрій Бауер

Припустимо, і визначимо якщо не зупиняється в межах кроків, а іншому випадку. Якщо T не зупиняється, то до , в іншому випадку - до . Якщо обчислюються, то, задавши , можна створити машину, обчислюючи межу . Чому це не достатньо , щоб показати , що не може бути обчислюваною, або навіть полуразрешімим (як не зупиняється тоді і тільки тоді єp(x)=1,p(x)=0yi=xTiyi=xyixxx,xTyipTp1на межі). Очевидно, мені чогось не вистачає, оскільки є нетривіальні властивості, які не піддаються вирішенню.
Аріель

1
Ваше визначення нормально, але вам також потрібна обчислювальна швидкість конвергенції послідовності для того, щоб стверджувати, що її межа обчислюється. Оскільки ми не можемо обчислити, при якому індексі послідовність може перейти з до (інакше ми могли б обчислити, на якому етапі зупиниться), такої обчислювальної швидкості конвергенції не могло бути. TyiiyixxT
Андрій Бауер

-1

Ні, або, принаймні, доказ не є тривіальним, оскільки ви можете вибрати серед (як правило, багатьох) можливих способів обчислити реальне, і ви зможете вибрати той із структурою, яка є загальною wrt обраного властивості, так що ви не зводите тестування властивості до проблеми зупинки.

Крім того, я думаю, що мені потрібно краще зрозуміти, що означає "нетривіальне" wrt властивості чисел. Для теореми Райса "нетривіальний" в основному несинтаксичний і не має на увазі синтаксис. Однак кожне обчислюване реальне число - це не одна програма, а клас еквівалентності, повний програм.


1
Я не впевнений, що ти тут маєш на увазі. Ви намагаєтесь розрізнити обчислювані реальні числа (наприклад, , , тощо) та програми, які їх обчислюють? Звичайно, існує нескінченно багато програм, які обчислюють кожну обчислювальну реальність, але є також нескінченно багато машин Тьюрінга, які вирішують будь-яку мову, що вирішується, і звичайна теорема Райса з цим не має жодних проблем. 222/7π
Девід Річербі

Чи мають різні представлення обчислювальних дійсних даних фактично суттєво різні властивості обчислення? Скажімо, я використовую одне з визначень в en.wikipedia.org/wiki/Computable_number , наприклад, обчислювальна реальність представлена ​​програмою, яка має раціональну помилку, пов'язану з помилкою, і виробляє наближення в межах цієї межі. Я маю на увазі "тривіальне" в тому ж сенсі, що і теорема Райса: Властивість, яка застосовується до всіх обчислюваних дійсних даних або до жодної з них. Це правда, що кожне число може бути представлене кількома програмами, але це справедливо і для часткових функцій.
Шачаф

@Shachaf Це більш "тривіально", ніж вимагає теорема Райса. "Синтаксичні" властивості також тривіальні - наприклад, "має щонайменше 4 стани, доступні від початкового стану", "має підключений графік стану", "не має переходу, який записує X на стрічку" тощо, - і їм потрібно не застосовується до кожної машини.
Бойд Стівен Сміт-молодший

@DavidRicherby Так, я вважаю, що це потрібно. Якщо ви здатні працювати виключно із сумарними чи продуктивними уявленнями, у вас є більше сили.
Бойд Стівен Сміт-молодший

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