Справді генератор випадкових чисел: Тюрінг обчислюється?


39

Я шукаю остаточну відповідь на те, чи є генерація "справді випадкових" чисел обчислювальною Тюрінгом. Я не знаю, як це точно викласти. Це питання StackExchange щодо "ефективних алгоритмів генерації випадкових чисел" близький до відповіді на моє запитання. Чарльз Стюарт каже у своїй відповіді: "це [випадковість Мартіна-Лефа] неможливо генерувати машиною". Росс Снайдер каже: "будь-який детермінований процес (наприклад, машини Тьюрінга / Реєструвати) не може дати" філософських "або" справжніх "випадкових чисел". Чи існує чітке і прийняте уявлення про те, що є справді генератором випадкових чисел? І якщо так, то чи відомо, що його не можна обчислити машиною Тьюрінга?

Можливо, достатньо вказати мене на відповідну літературу. Дякуємо за будь-яку допомогу, яку ви можете надати!

Редагувати. Дякую Іану та Аарону за знаючі відповіді! Я відносно неохочений у цій галузі, і я вдячний за допомогу. Якщо я можу трохи поширити питання в цьому додатку: Чи трапляється так, що ТМ з доступом до чистого джерела випадковості (оракул?) Може обчислити функцію, яку класична ТМ не може?


1
Це допомагає, якщо спочатку розглянути визначення поняття "справді випадковий".
MS Dousti

Відповіді:


52

Я долучаюся до дискусії досить пізно, але спробую вирішити кілька питань, які були задані раніше.

По-перше, як зауважив Аарон Стерлінг, важливо спочатку визначитися, що ми маємо на увазі під «справді випадковими» числами, і особливо, якщо ми дивимось на речі з точки зору складності обчислень чи обчислювальної точки зору.

Дозвольте мені заперечити, що в теорії складності люди в основному цікавляться псевдовипадковістю і псевдовипадковими генераторами, тобто функціями від рядків до рядків таким чином, що розподіл вихідних послідовностей не можна сказати, окрім рівномірного розподілу деяким ефективним процесом (де можна розглянути декілька значень ефективності , наприклад, обчислювані багатопотокові, схеми розміру поліномів тощо). Це прекрасна і дуже активна дослідницька область, але я думаю, що більшість людей погодиться, що об'єкти, які вона вивчає, не є справді випадковими, достатньо, щоб вони просто виглядали випадковими (звідси і термін «псевдо»).

У теорії обчислюваності з'явився консенсус щодо того, що має бути хорошим поняттям "справжньої випадковості", і саме це поняття випадковості Мартіна-Лефа переважало (інші запропоновані та цікаві для вивчення, але не всі приємні властивості має випадковість Мартіна-Лефа). Для спрощення питань ми розглянемо випадковість для нескінченних бінарних послідовностей (інші об'єкти, такі як функції від рядків до рядків, легко кодуються такою послідовністю).

Нескінченна бінарна послідовність є випадковою для Мартина-Лефа випадковим випадком, якщо жоден обчислюваний процес (навіть якщо ми дозволяємо обчислювати цей процес у потрійний експоненціальний час або вище) не може виявити недолік випадковості.α

(1) Що ми маємо на увазі під „пороком випадковості”? Ця частина дуже проста: це безліч заходів 0, то властивість , що майже всі послідовності не мають (тут ми говоримо про Лебега тобто міра , де кожні біти має ймовірність бути 0 незалежно від всіх інших біт). Прикладом такої вади є "наявність асимптотично 1/3 нулів і 2/3 одиниць", що порушує закон великої кількості. Інший приклад - "для кожного n перші 2n біт α досконало розподіляються (стільки ж нулів, скільки й одиниць)". У цьому випадку закон великих чисел насичений, але не центральною граничною теоремою. І т.д.1/20α
(2) Як можна обчислити процес перевірити, чи послідовність не належить до певного набору мір 0? Іншими словами, які набори міри 0 можна обчислимо описати? Саме про це йдуть тести Мартіна-Лефа. Тест Мартіна-Льофа - це обчислювальна процедура, яка, даючи вхід k, обчислено (тобто за допомогою машини Тюрінга з входом ) генерує послідовність рядків w k , 0 , w k , 1 , ... така, що множина U k нескінченних послідовностей, починаючи з однієї з тих w k , i має міру не більше 2 - kкшк,0шк,1Uкшк,i2-к(якщо вам подобається топологія, зауважте, що це відкритий набір у топології продукту для набору нескінченних бінарних послідовностей). Тоді множина має міру 0 і називається нульсетом Мартіна-Лефа . Тепер ми можемо визначити випадковість Мартіна-Лефа, сказавши, що нескінченна бінарна послідовність α є випадковою для Мартина-Лефа, якщо вона не належить до жодного нульсета Мартина-Лефа . Г=кUк0α

Це визначення може здатися технічним, але воно широко прийнято з кількох причин:

  • він досить ефективний, тобто його визначення включає в себе обчислювальні процеси
  • воно досить сильне: будь-яке "майже впевнене" властивість, яке ви можете знайти в підручнику з теорії ймовірностей (закон великих чисел, закон ітераційного логарифму тощо), може бути перевірене тестом Мартіна-Лефа (хоча це часом важко довести)
  • це було самостійно запропоновано декількома людьми, що використовують різні визначення (зокрема, визначення Левіна-Хайтіна з використанням складності Колмогорова); і той факт, що всі вони ведуть до однієї і тієї ж концепції, є натяком на те, що це має бути правильне поняття (трохи схоже на поняття обчислювальної функції, яку можна визначити за допомогою машин Тьюрінга, рекурсивних функцій, лямбда-числення тощо).
  • математична теорія за нею дуже приємна! див. три чудові книги Вступ до складності Колмогорова та його застосувань (Лі та Вітаній), Алгоритмічна випадковість та складність (Дауні та Гіршфельдт) Обчислюваність та випадковість (Nies).

Як виглядає випадкова послідовність Мартина-Льофа? Ну, візьміть ідеально збалансовану монетку і починайте її гортати. На кожному фліпі напишіть 0 для головок та 1 для хвостів. Продовжуйте до кінця часу. Ось так виглядає послідовність Мартина-Лефа :-)

Тепер повернемося до початкового питання: чи існує обчислюваний спосіб генерувати випадкову послідовність Мартіна-Лефа? Інтуїтивно відповідь повинна бути НІ , тому що якщо ми можемо використовувати обчислювальний процес для генерації послідовності , то, безумовно, ми можемо використовувати обчислювальний процес для опису сингтона { α }, тому α не є випадковим. Формально це робиться наступним чином. Припустимо, послідовність α обчислюється. Розглянемо наступний тест Martin-LOF: для всіх до , просто вихідний префікс до з альфа довжини до , і нічого іншого. Це має міру максимум (насправді, саме) 2 - kααααкакαк2-к, а перетин множин як у визначенні, рівно { α }. QED !!Uкα

Насправді випадкова послідовність Мартіна-Лефа α є непорушною в набагато сильнішому сенсі: якщо деякі обчислення оракула з оракулом β (який сам по собі є нескінченною бінарною послідовністю) можуть обчислити α , то для всіх n , n - O ( 1 ) біт β потрібні для обчислення перших n бітів α (це насправді характеристика випадковості Мартіна-Лефа, яка, на жаль, рідко заявляється, як це є в літературі).αβαнн-О(1)βнα


Гаразд, тепер питання "редагування" Джозефа: чи це так, що ТМ з доступом до чистого джерела випадковості (оракул?) Може обчислити функцію, яку класична ТМ не може?

З точки зору обчислюваності, відповідь - "так і ні". Якщо ви отримаєте доступ до випадкового джерела як оракул (де вихід представлений у вигляді нескінченної бінарної послідовності), з ймовірністю 1 ви отримаєте випадковий оракул Мартіна-Лефа, і як ми бачили раніше, випадковий Мартін-Леф означає, що обчислювальна, тому досить вивести сам оракул! Або якщо ви хочете функцію , ви можете розглянути функцію f, яка для всіх n повідомляє вам, скільки нулів є серед перших n біт вашого оракула. Якщо оракул є випадковим Мартіном-Лефом, ця функція буде невичислена.f:NNfнн

Але, звичайно, ви можете стверджувати, що це обман: дійсно, для іншого оракула ми можемо отримати іншу функцію, тому існує проблема невідтворюваності. Отже, ще один спосіб зрозуміти ваше запитання полягає в наступному: чи існує функція яка не обчислюється, але яку можна "обчислити з позитивною ймовірністю", в тому сенсі, що існує машина Тьюрінга з доступом до випадкового оракула, який, з позитивною ймовірністю (над оракулом) обчислює f . Відповідь - ні, через теорему Саксів, доказ якої досить простий. Насправді на нього в основному відповів Робін Котарі: якщо ймовірність правильності ТМ більша за 1/2, то можна шукати всі n на всіх можливих обчисленнях оракул із введенням nffнні знайдіть результат, який отримує "голос більшості", тобто отриманий набором оракул міри більше 1/2 (це можна зробити ефективно). Аргумент поширюється навіть на менші ймовірності: припустимо, TM виводить з вірогідністю ϵ > 0 . За теоремою про щільність Лебега існує кінцевий рядок σ такий, що якщо ми фіксуємо перші біти оракула точно σ , а потім отримаємо інші біти навмання, то обчислимо f з вірогідністю щонайменше 0,99. Взявши таке σ , ми можемо застосувати вищезазначений аргумент ще раз.fϵ>0σσfσ


8
яка гарна відповідь.
Суреш Венкат

1
Я дуже вдячний за чіткість вашої детальної відповіді на це (для мене!) Заплутане питання. Спасибі!
Джозеф О'Рурк

12

Існує (можливо), щоб зробити відповідь на ваше запитання, слід розрізняти "обчислювальний Тьюрінг" та "ефективно обчислюваний". Якщо "випадковий процес" визначається як "процес, який неможливо передбачити, незалежно від того, якими ресурсами ми володіємо", а "детермінований процес" визначається як "передбачуваний процес, враховуючи вхід і доступ до (можливо, багато) ресурсів, "тоді жодна обчислювана функція Тьюрінга не може бути випадковою, тому що якби ми знали машину Тьюрінга і моделювали її, ми завжди могли б передбачити результат наступного" експерименту "процесу.

У цьому рамках тест Мартіна-Лофа можна розглядати як детермінований процес, а визначення випадкової послідовності - це саме послідовність, поведінка якої не передбачена жодним обчислювальним / детермінованим процесом Мартина-Лофа / Тьюрінга.

Це, однак, ставить питання: "Чи ефективно обчислювати випадкову послідовність у реальному житті?" Насправді тут є галузь. Існують опубліковані компакт-диски з мільярдами випадкових (?) Бітів на них, які використовуються для виконання комп'ютерного моделювання фізичних систем і т. Д. Ці гарантії компакт-дисків гарантують, що їх послідовності бітів проходять купу тестів Мартіна-Лофа. У книзі «Прогулянка п’яниці»: Як випадковість правила нашого життя дає більш детальне пояснення цього питання.

Нерелевантний пункт: Мені подобається ваша колонка. :-)


11

Інтуїтивно "випадковий" означає "непередбачуваний", і будь-яку послідовність, генеровану машиною Тьюрінга, можна передбачити за допомогою машини, тому машини Тьюрінга не можуть створювати "справді випадкові" числа. Існує ряд формальних визначень випадкових послідовностей (випадковість дійсно має сенс, оскільки довжина рядка йде до нескінченності), які всі по суті є рівнозначними. Мабуть, найприроднішим з них є випадковість Мартіна-Лофа, що означає, що послідовність проходить усі можливі обчислювані статистичні тести на стохастичність, і Хайтін випадковий, що означає, що всі початкові послідовності є нестислимими (більш конкретно, мають високу складність Колмогорова). В обох цих визначеннях неможливо як генерувати випадкові послідовності, так і розпізнавати їх. Дивіться книгу "Інформація та випадковість:


Посилання на замовлення тут: amazon.com/…
Суреш Венкат

Дякую, Іен і Суреш, я витягую цю книгу з нашої бібліотеки!
Джозеф О'Рурк

Ще одна чудова книга - «Обчислюваність та випадковість» Нієса.
Дієго де Естрада

11

Кожен, хто розглядає арифметичні методи отримання випадкових цифр, перебуває, звичайно, у стані гріха. Бо, як уже вказувалося кілька разів, не існує такого поняття, як випадкове число - існують лише методи отримання випадкових чисел, а сувора арифметична процедура звичайно не є таким методом. - Джон фон Нойман


Га! Чудова цитата, Джеффе! І з предметним моментом.
Джозеф О'Рурк

7

Схоже, ніхто не відповів на ваше доповнення, тож я сфотографую його:

Якщо я можу трохи поширити питання в цьому додатку: Чи трапляється так, що ТМ з доступом до чистого джерела випадковості (оракул?) Може обчислити функцію, яку класична ТМ не може?

Я спробую зробити питання більш точним, а потім відповісти на нього. (Моя версія може бути не такою, про яку ви пам’ятали, тому повідомте мені, якщо це не так.)

У нас є детермінований TM з доступом до генератора випадкових чисел. Цей TM тепер обчислює деяку функцію (фактичну функцію, тобто детерміновану карту від вхідного простору до вихідного простору), використовуючи деякий спосіб генератор випадкових чисел.

Так чи може ТМ з доступом до випадковості зробити помилку? Якщо ні, то DTM повинен дати правильну відповідь незалежно від того, які випадкові біти вони були надані. У цьому випадку випадкові біти не потрібні, оскільки ви можете просто взяти випадковий рядок до 00000 ...

fi(х,r)fir


Я вважаю це проникливим: "Якщо ні, то DTM повинен дати правильну відповідь незалежно від того, якими випадковими бітами він був наданий". Спасибі!
Джозеф О'Рурк

Насправді я цього не розумію. Ви, здається, припускаєте, що P = ZPP або що рандомізований алгоритм з нульовою помилкою (наприклад, алгоритм Лас-Вегаса) повинен бути детермінованим?
Суреш Венкат

За допомогою DTM з доступом до мови oracle, який вирішує мову, я припустив, що DTM зупиняється через обмежений час. У цьому випадку ми можемо позбутися оракула. Для нульової помилки ми просто замінюємо її на 0000 ..., а для будь-яких інших цілей можна накладати зусилля на всі випадкові рядки кінцевої довжини. (Я впевнений, що хтось, напевно, дотримується думки, що алгоритми Лас-Вегаса насправді не є алгоритмами, оскільки вони не обов'язково припиняються.)
Робін Котарі

5

Що стосується вашого "питання редагування": це велика різниця, якщо ви запитуєте про обчислюваність або складність. Якщо на ТМ є межі складності, то ви отримуєте так звану випадкову модель оракул . Якщо ТМ може використовувати довільно великі, але обмежені ресурси, то ви знаходитесь у світі відносної випадковості : є ієрархії випадковостей оракул, наскільки є ступеня Тюрінга. (Побічна точка: одна з (не) відомих критик Кобліца та Мензеса стосувалася використання моделі випадкового оракула, тому ваше мета-питання стосується останніх академічних дебатів.)


Хоча лише уточнити: чи хотів Джо випадковий оракул (який по суті є випадковою хеш-функцією) чи просто джерело випадковості? це не одне і те ж, чи не так?
Суреш Венкат

Спасибі, Аароне, згадка про ієрархії оракул випадковості корисна.
Джозеф О'Рурк

@ Суреш: Я мав на увазі джерело випадковості.
Джозеф О'Рурк

Ви обоє, мабуть, випереджаєте мене тут, але я намагався сказати, що випадковість потрібно визначати стосовно "рамки відліку", тобто наявних ресурсів для прогнозування. "Джерело випадковості" може бути випадковим по відношенню до машини Тьюрінга, але не стосовно Оракула Холтінга. Я згоден з відповіддю Робіна Котарі; моє лише те, що «чисте джерело випадковості», здається, не існує в сучасних визначеннях, тому що ми завжди могли діагоналізувати його і отримати щось випадкове.
Аарон Стерлінг

5

Я все ще намагаюся зрозуміти ваше змінене запитання, особливо які обмеження ви ставите перед TM. Тому, хоча ця відповідь може не отримати точно того, що ви хочете, можливо, це допоможе трохи звузити речі.

Ми знаємо, що існує безумовна результат неможливості наблизити до субекспоненціального коефіцієнта об'єм опуклого тіла детерміновано (це старий результат Барані та Фюреді ). На відміну від цього, ми можемо отримати FPRAS для цієї проблеми за допомогою вибірки. Це приклад розлуки, яку ви шукаєте?


Це результат для поліноміальних алгоритмів часу, правда? Я трактував питання ОП як теорію обчислень, а не теорію складності. Під чим я маю на увазі, я інтерпретував це так, що "Чи набір задач, що вирішуються джерелом DTM + випадковості, більший, ніж ті, що їх вирішує DTM?"
Робін Котарі

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

Мені подобається той об'ємний приклад! Хоча я питав конкретно про теорію обчислюваності, мене також цікавлять відмінності складності. Я не бачу, як це могло б визнати недійсним КТ, оскільки попередні відповіді встановили, що чисте джерело справжньої випадковості не піддається обчисленню ...?
Джозеф О'Рурк

Я думаю, що коли ми формалізуємо те, що ми маємо на увазі під DTM з доступом до джерела випадковості (з його критеріями прийняття, ймовірністю зупинки тощо), ми повинні мати можливість показати, що ця модель також обчислює саме рекурсивні мови.
Робін Котарі

Правда (в обчислювальній царині). Але зараз мені цікаво: припустимо, ми побудуємо рядок, чий біт є результатом запуску машини i-turing на самому кодуванні. Чи зможе спрогнозувати цей рядок, що відповідає вирішенню задачі Холтінг, і чи є ця строка випадковою у сенсі Мартіна-Лофа?
Суреш Венкат
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.