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


38

Нещодавно я чув це -
"Недетермінована машина - це не те саме, що ймовірнісна машина. Суворо кажучи, недетермінована машина - це імовірнісна машина, в якій ймовірності переходів не відомі".

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

Правка 1:
Просто для уточнення, цитата була в контексті обмеженого автомата, але це питання є важливим і для машин Тьюрінга, як відповіли інші.

Крім того, я чую, як люди кажуть - "... тоді я вибираю об'єкт x із набору недетерміновано". Я думав, що вони означають - "випадковим чином". Звідси плутанина.


5
В інформатиці люди періодично використовують термін "детермінований", щоб підкреслити, що алгоритм не є рандомізованим. Звідси плутанина: детермінований означає не рандомізований, але недетермінований не означає рандомізований.
Jukka Suomela


Це питання приводить мене до цього куточка SE ...
Troy Woo

Відповіді:


27

Важливо розуміти, що вчені-комп’ютери використовують термін "недетермінований" інакше, ніж те, як це зазвичай використовується в інших науках. Недетермінований ТМ насправді детермінований у фізичному сенсі - тобто NTM завжди дає однаковий відповідь на заданий вхід: він або завжди приймає, або завжди відкидає. Імовірнісний TM прийме або відхилить вхід з певною вірогідністю, тому на одному запуску він може прийняти, а на іншому - може відхилити.

Більш детально: На кожному кроці обчислення, виконаному NTM, замість одного правила переходу існує кілька правил, до яких можна викликати. Щоб визначити, приймає чи відхиляє NTM, ви переглядаєте всі можливі гілки обчислень. (Отже, якщо на кожному кроці можна вибрати, наприклад, 2 переходи, і кожна гілка обчислень має загальну кількість N кроків, то для врахування буде загальних значень.) Для стандартного NTM введення приймається якщо будь-яка з галузей обчислень приймає.2N

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


Курт, поясни, будь ласка, як з'явилася цифра 2 ^ N. Якщо для кожної гілки є 2 можливості і є N таких етапів, щоб досягти рішення, не було би 2 ^ (N + 1) -1. Я намагаюся думати про це як про графік, і я можу помилитися. Чи можете ви поясніть, як ви прийшли до номера 2 ^ N. Дякую.
Гангадхар

Ну, якщо ви представляєте обчислення як дерево, при цьому корінь представляє початкову конфігурацію як етап 0, то після N кроків у вас є 2 ^ N листя, і те, що я називаю гілкою, - це шлях від кореня до лист. Це правда, що у вас буде 2 ^ (N + 1) -1 загальних вузлів, що представляють усі можливі конфігурації в якийсь момент обчислення. Я сподіваюся, що моя термінологія гаразд!
Курт

Усі науки використовують одне і те ж визначення недетермінізму, уніфікованого щодо концепції безмежної ентропії. Непередбачувані результати в усіх науках обумовлені неможливістю апріорно перерахувати всі можливі результати алгоритму (або системи), оскільки він приймає необмежені стани, тобто клас складності NP. Визначення конкретного вкладу, щоб спостерігати, чи він зупиняється, і зазначаючи, що результат є ідентичним, в інших науках еквівалентно утриманню решти ентропії Всесвіту під час повторення тієї ж зміни стану. Обчислення дозволяє цю ентропійну ізоляцію, в той час як природничі науки цього не роблять.
Шелбі Мур III

1
@ShelbyMooreIII Ні. Ви неправильно зрозуміли поняття недетермінізму, яке з'являється в інформатиці.
Девід Річербі

@DavidRicherby вибачте Девіда. Перейдіть до іншої нитки і переконайтесь, що я вам голосно спростував. Ви можете спробувати спростувати логіку, яку я там представив. Просто твердження без доказів і пояснень не виграє вам жодної правди.
Шелбі Мур III

18

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

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

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


Пов'язане з "магічним вибором правильного елемента": Коли слово "недетермінізм" використовується в цьому сенсі, люди іноді кваліфікують його як "ангельський". Існує також "демонічний" недетермінізм. (Все-таки, як ви кажете, суть полягає в тому, що речі відбуваються паралельно.)
Раду ГРИГ

13

Існує кілька різних контекстів, де "детерміновані", "випадкові" та "недетерміновані" означають три різні речі. У контекстах, де є кілька учасників, таких як безпека та одночасність, інтуїція часто є чимось на зразок:

  • детермінований означає «я можу вибрати»

  • недетермінований означає "хтось інший має вибрати"

  • Випадково означає «ніхто не вибирає»

Кілька прикладів:

  1. [concurrency, random] Розглянемо протокол мереж, такий як Ethernet , де кілька вузлів можуть надіслати повідомлення в будь-який час. Якщо два вузли надсилають повідомлення через дуже близькі проміжки часу, відбувається зіткнення: повідомлення перетинаються та є нечитабельними. Якщо станеться зіткнення, обидва вузли повинні спробувати надсилати повідомлення пізніше. Уявіть, що ви пишете специфікацію Ethernet. Як вказати затримку між повторними спробами? (Затримки краще бути іншими, інакше знову відбудеться зіткнення!)

    • детермінований: визначте алгоритм, який повинні використовувати обидва вузли. Це не робиться для Ethernet, оскільки для того, щоб дати різні результати, алгоритм мав би привілейовувати один вузол над іншим (для будь-якого вмісту повідомлення), і Ethernet уникає цього робити.

    • недетерміновані: нехай кожен виконавця вирішить. Це не добре, оскільки реалізатори на обох вузлах можуть вибрати один і той же алгоритм.

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

  2. [concurrency, недетермінований] Ви пишете паралельний алгоритм. У конкретній ситуації може виникнути глухий кут. Як ви можете запобігти виникненню тупикової ситуації? Це залежить від того, яке планування має ваше середовище одночасності.

    • детермінований: планувальник завжди перемикається між потоками в певних чітко визначених точках, наприклад лише тоді, коли код явно поступається. Тоді ви просто влаштовуєте, щоб нитки не виходили в поганий час.

    • Випадково: планувальник гарантовано переключає потоки випадковим чином. Тоді життєздатною стратегією може бути виявлення тупикової ситуації, якщо вона виникає, та перезапуск алгоритму з самого початку.

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

  3. [безпека, випадковий] Ви пишете заявку із запитом на пароль. Як ти моделюєш нападника?

    • детермінований: зловмисник завжди приміряє однакові паролі. Це зовсім не корисна модель зловмисника - нападники не передбачувані за визначенням.

    • недетермінований: зловмисник якось знає ваш пароль і вводить його. Це показує обмеження паролів: вони повинні зберігатися в таємниці. Якщо ваш пароль секретний, цей зловмисник нереальний.

    • випадково: зловмисник намагається ввести випадкові паролі. У цьому випадку це реалістична модель нападника. Ви можете вивчити, скільки часу знадобиться зловмисникові відгадати ваш пароль залежно від того, який випадковий розподіл він використовує. Хороший пароль - це той, який потребує багато часу для будь-якого реалістичного розподілу.

  4. [безпека, недетермінований] Ви пишете заявку, і переживаєте, що в ній може бути дірка безпеки. Як ти моделюєш нападника?

    • детермінований: зловмисник знає все, що ви знаєте. Знову ж таки, це не корисна модель зловмисника.

    • Випадково: зловмисник викидає випадковий сміття і сподівається збити вашу програму. Іноді це може бути корисно ( метушитися ), але зловмисник може бути розумнішим за це.

    • недетермінований: якщо є дірка, зловмисник знайде її в підсумку. Тож вам краще посилити свою програму (підвищити вимогу до інтелекту для зловмисника; зауважте, що оскільки це вимога до інтелекту, а не вимога до обчислень, це вважається недетермінованим, поки AI не з'явиться), або, краще, доведіть, що немає отвір у безпеці, а отже, такого зловмисника не існує.


Виправлення обертається навколо пропущеного слова довести у ваших висловлюваннях: Детерміністичний - "Я можу довести, що я вибираю (тобто повністю вказати результат, який закінчується на моєму введенні в клас складності P"), недетерміністичний - "Я не можу довести, що я вибираю (тобто доказ закінчення не визначається в класі складності NP) ", а випадковим є" Я можу довести, що я можу вибрати половину часу (тобто клас складності ZPP) ".
Шелбі Мур III

@ShelbyMooreIII Я не розумію, куди ти потрапляєш. Детермінізм взагалі не полягає в тому, щоб довести, що щось справді детерміновано, чи про те, що якась проблема знаходиться в певному класі складності. Крім того, класи складності полягають не в тому, що сама система може довести щось про свій детермінізм (більшість проблем навіть не мають поняття доведення всередині системи!).
Жиль "ТАК - перестань бути злим"

Недетермінізм завжди є результатом необмеженої ентропії, тому інший спосіб сказати це, що я не можу довести, що я вибираю результат (тому що не можу довести, що мій вибір припиниться). Все, що я можу зробити, - це спробувати, а це означає, що я повинен перерахувати кожен вибір, який я хочу зробити, перш ніж знати, чи закінчиться він. Тоді як з детермінізмом я можу довести, що я обираю результат, який він повинен припинити. Рандомізація - це те, де я можу довести, що я можу вибрати лише випадкову кількість часу, оскільки частина ентропії не під моїм контролем. Якщо я знаю, що сума не є моїм контролем, я можу довести точну статистику.
Шелбі Мур III

Погоджено, що не клас складності NP не породжує недетермінізм, а NP - це залежність. Тьюрінг-завершений - приклад недетермінізму. Plz дивіться мій коментар під відповіддю Курта, а також мою відповідь на відповідну тему . Моє зауваження до вас полягає в тому, що саме є доведеним і непередбачуваним для термінів детермінованих, недетермінованих та випадкових. Це все про ентропію (і не про бас )
Шелбі Мур III,

9

Приклад, щоб зробити речі зрозумілішими:

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


8
По черзі, недетермінований автомат відкривав би лише одні двері, але це завжди буде правильним.
Jeffε

3
Так, саме. Це було б "найбільш щасливою можливою характеристикою" недетермінованих машин.
Робін Котарі

@RobinKothari: "По черзі, недетермінована машина відкривала б лише одну двері, але вона завжди була б правильною".
танмой

3
@tan: Обидва є правильними тлумаченнями. На відміну від детермінованих та рандомізованих машин, які фізично реалізовані, недетермінований апарат є уявним об'єктом. Тож ви можете уявити це як завгодно, справа в тому, що він завжди знаходить правильні двері. Можливо, це найкращий здогад, можливо, хтось таємно сказав машині, де був приз, можливо, він просто магічно перевіряє всі двері тощо.
Робін Котарі

5

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

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

Імовірнісна машина Тьюрінга - це недетермінована машина Тьюрінга, яка може робити помилки.

PPT я вважав корисним.


5

Я віддаю перевагу наступному визначенню:

Немає такого поняття, як імовірнісна машина Тьюрінга! Існують лише детерміновані машини (на кожному кроці єдиний можливий наступний стан) та недетерміновані машини (на кожному кроці незмінна кількість можливих подальших станів).

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

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

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


-1 Помилки у першому абзаці. Імовірнісні машини Тьюрінга існують і випробовують викидання монети із зовнішньої ентропії, див. Клас складності ZPP. Недетермінізм має необмежену не обмежену кількість альтернативних станів, див. Клас складності NP. Детермінізм - клас складності P, і ви це зрозуміли правильно.
Шелбі Мур III

Я думаю, ви неправильно читаєте мою відповідь. Я стверджую, що для визначення ймовірнісних класів складності вам не потрібна інша машина (з метанням монет чи іншими можливостями), ніж "звичайна" недетермінована ТМ. Ви можете також добре використовувати NTM і просто використовувати інше визначення прийняття, а саме визначення, де "більшість обчислювальних шляхів приймає вхід", на відміну від "існує хоча б один шлях прийняття для введення".
MRA

3

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


1

Крок назад під час налагодження як мотивація недетермінізму

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

Подібності та відмінності між недетермінізмом та випадковістю

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

  • скінченна множина станів Q
  • кінцевий набір символів введення Σ
  • детермінований : функція переходуδ:Q×ΣQ
  • недетерміновані: перехідна функція Δ:Q×ΣP(Q)
  • недетерміновані: перехідне відношення ΔQ×Σ×Q
  • недетерміновані: функція Δ:ΣP(Q×Q)
  • ймовірнісний : функціяδ:ΣssM(Q)

Тут - множина потужності Q, а s s M ( Q ) - простір субстохатичних матриць на QP(Q)QssM(Q)Q . Права субстохастична матриця - це негативна реальна матриця, кожен рядок підсумовує не більше 1.

Існує багато різних розумних умов прийняття

Переходи - це лише одна частина машини, початкові та кінцеві стани, важливі умови виходу та приймання також важливі. Однак існує лише дуже мало нееквівалентних умов приймання детермінованих машин, ряд розумних умов приймання для недетермінованих машин (NP, coNP, #P, ...) та багато можливих умов прийняття імовірнісних машин. Отже, ця відповідь зосереджується насамперед на переходах.

Оборотність нетривіальна для імовірнісних машин

PPTPPPBAkABk

Оборотність складна навіть для недетермінованих машин

PPTPPRRopRRRRRRopR=RRopRRop=RopPQPQ

Ці міркування також мають сенс для автоматизованих автоматичних пристроїв

Цей пост наводить на думку, що однією мотивацією недетермінізму є усунення цієї асиметрії між кроками вперед та назад. Чи обмежена ця симетрія недетермінізму обмеженими автоматами? Ось відповідні симетричні визначення для автоматизованих автоматизованих автоматичних пристроїв

  • скінченна множина станів Q
  • кінцевий набір символів введення Σ
  • Γ
  • δ:Q×Γ×(Σ{ϵ})Q×Γ{0,2}δ(q,γ,ϵ)ϵδ(q,γ,σ)=ϵσΣ
  • Δ:Q×Γ{0,1}×(Σ{ϵ})P(Q×Γ{0,1})
  • ΔQ×Γ{0,1}×(Σ{ϵ})×Q×Γ{0,1}
  • Δ:Σ{ϵ}P(Q×Γ{0,1} × Q×Γ{0,1})
  • ймовірнісний :δ:Σ{ϵ}ssM(Q×Γ{0,1})δ(ϵ)+δ(σ)ssM(Q×Γ{0,1})σΣ

ϵΓ{0,2}={ϵ}Γ(Γ×Γ)Γ{0,1}={ϵ}ΓΓ

Діаграмована перевірка обернення для (не) введення операцій введення та стеку

bΣΣ{ϵ}

a|bca|bcab|c
a|bcab|cab|c
c|bac|bacb|a

ϵΣ{ϵ}

a|bca|bca|bc
a|bca|bca|bc
cb|acb|acb|a

Ось схема вдосконаленої операції введення, обернення якої виглядало б погано

a|bca|bcab|ca|bcab|cab|cc|bac|bacb|a

(s,t)Γ{0,1}×Γ{0,1}(s,t)=(a,ϵ)(s,t)=(ϵ,a)(s,t)=(a,b)(a,ϵ)(ϵ,a)

abab|b
ab|bb
b|bab

(a,b)(b,a)

acacbc
acbcbc
bcbcac

(ab,cde)Γ×Γ(cde,ab)

abfabfcdef
abfcdefcdef
cdefcdefabf

Оборотність машин Тьюрінга

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

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

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

Висновок

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


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

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

Отже, ви посилаєтесь на двійник машини. Для НФА це здається важливим поняттям оборотності. Зрозуміло також, що двійник NTM (з єдиним станом прийняття) - це інший NTM, але я б не вагаючись сказав, що це та сама машина, яка працює заднім ходом. Чи відповідає ваша відповідь лише на "недетермінізм, ви можете отримати закриття під дуалами, випадкових (і детермінованих) машин немає"?
Ніль де Бодорап

@NieldeBeaudrap Моя ідея, безумовно, бігати назад у часі, але я знаю, що це не задовольняється ідеально (тому що умови для узагальненої інверсії оберненої напівгрупи не задовольняються). Але те, що я намагався донести, - це те, що випадкові (і детерміновані) машини не завжди дозволяють такого роду змінити.
Томас Клімпель


0

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

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

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

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

Підводячи підсумок, недетермінізм в автоматах (у цьому контексті) відноситься до класів подібних автоматів, тоді як рандомізація або ймовірнісні машини відносять до (власне застосування рандомізації в) фактичних алгоритмів, реалізованих цими автоматами.

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