В теорії складності і теорії обчислюваності, пророча машина (англ. oracle machine) — це абстрактний автомат використовний для вивчення задач вибору. Його можна зобразити як машину Тюрінга з чорною скринею, званою оракулом, яка здатна розв'язувати певні задачі вибору за одну дію. Задача може бути будь-якого класу складності. Можна використовувати навіть нерозв'язні задачі, такі як проблема зупинки.
Визначення
Пророча машина — машина Тюрінга під'єднана до оракула. Пророк, в цьому розрізі, розглядається як сутність здатна відповідати на набір питань, і, зазвичай, представлена як деяка підмножина натуральних чисел — A. Тоді інтуітивно, пророча машина може виконувати всі звичайні дії машини Тюрінга і також може запитати у пророка відповідь на питання у формі «чи x належить A?»
Наведене визначення є одним з можливих визначень пророчої машини. Всі ці визначення тотожні, бо всі вони покладаються на якусь особливу функцію f, що може бути обчислена пророчою машиною за допомогою оракула A.
Пророча машина, подібно до машини Тюрінга, має:
- робочу стрічку: послідовність комірок без початку чи кінця, кожна з яких може містити П (для порожнього значення) або 1;
- голівку читання/запису, яка знаходиться над конкретною коміркою і може прочитати звідти дані, записати туди нові дані, і зсунутись ліворуч або праворуч уздовж стрічки;
- керівний пристрій, який може знаходитись в одному зі скінченної кількості станів, і який буде виконувати різні дії (читати дані, записувати дані, рухати голівку і змінювати стани) залежно від поточного стану і прочитаного значення.
В додаток до цих вузлів, пророча машина також має:
- стрічку оракула, на якій надрукована нескінченна послідовність П і 1, відповідно до характеристичної функції множини A пророка;
- голівку оракула, яка (подібно до голівки читання/запису) може рухатись ліворуч і праворуч уздовж стрічки пророка, читаючи дані, але не може записувати (проте існують альтернативні визначення пророчої машини, які дозволяють записувати дані).
Формальне визначення
Пророча машина Тюрінга — це четвірка де
- — скінченна множина станів;
- — функція переходів, де L — це зсув ліворуч, R — зсув праворуч;
- — початковий стан;
- — множина станів зупинки.
Пророча машина ініціалізується робочою стрічкою із вхідними даними у вигляді скінченної кількості 1, залишок стрічки порожній, стрічка оракула містить характеристичну функцію оракула, A, машина Тюрінга перебуває в стані q0 із голівкою читання/запису над першою непорожньою коміркою робочої стрічки, голівка пророка читає читає комірку стрічки пророка відповідну до . Після цього відбуваються дії відповідно до : якщо машина Тюрінга наразі в стані q, голівка читання/запису читає символ S1, а голівка пророка читає символ S2 тоді, якщо , машина переходить в стан , голівка читання/запису записує S1' замість S1, і тоді голівка читання/запису зсувається на одну комірку в напрямку D1 і голівка оракула зсувається на одну комірку в напрямку D2. Якщо це стан зупинки, машина зупиняється, інакше повторюються попередні дії.
Зведення за Тюрінгом
Зведення за Тюрінгом завдання A до задачі B — це зведення, яке вирішує A, припускаючи, що B вже відомо. Це можна розуміти як алгоритм, який може бути використаний для вирішення A, якщо в його розпорядженні є підпрограми для вирішення B. Більш формально, зведення за Тюрінгом є функцією, що обчислюється машиною з оракулом для В.
Поняття
Цю допоміжну функцію або алгоритм також називають відносним алгоритмом або алгоритмом з оракулом. Будемо позначати його через J, він визначений (тобто такий, що дає результат) на множині всіх можливих станів S. Оракул А буде підмножиною J(S).
Кожний крок процесу, що задається алгоритмом з оракулом, визначається не тільки станом S, що виник до цього кроку, але й істинністю твердження J(S) Є А. Таким чином, оператор безпосередньої переробки, що дає наступний стан S*, стає тепер функцією від двох аргументів — від S і від числа b, що приймає значення 0 чи 1, в залежності від того чи правильне співвідношення J(S) Є А.
Поняття алгоритму з оракулом виявилось важливим з методологічної точки зору. Зокрема, теорія алгоритмів використовує поняття елементарної операції. Поняття елементарності — істотно «людське» поняття. Те, що елементарно для людини, може виявитись неелементарним для інших істот, і навпаки. Можна вважати, що людина, здійснюючи обчислення, безперервно звертається до деякого оракула, тільки оракул цей відповідає на такі «елементарні» запитання (типу «Тотожні чи ні ці два символи?»), що це навіть не помітно. Можна уявити собі більш потужний, ніж у людини, запас обчислювальних засобів, що мають на увазі зокрема, звернення до деякого нетривіального (з людської точки зору) оракула (який в рамках цих засобів не усвідомлюється скоріше всього, ніж зовнішній оракул, а вважається частиною самих цих засобів).
Висловлені міркування підтверджуються наступними спробами аксіоматично визначити поняття обчислюваної функції. Аналізуючи докази, що зустрічаються в теорії обчислюваних функцій, можна помітити, що можливий— і навіть іноді використовується — наступний спосіб міркувань. Спочатку встановлюються деякі основні та інтуїтивно очевидні властивості класу обчислюваних функцій, а потім необхідні твердження виводяться із них.
Основні властивості класу К всіх обчислюваних функцій
(1) Аксіома функціональних констант.
- Клас К містить всі обчислювані числові функції.
- Або Клас К містить константу 0 і функцію слідування.
(2) Аксіома операторних констант.
- Клас К замкнутий відносно операторів підстановки, рекурсії та мінімізації.
- Ця властивість застосовується, якщо із твердження про приналежність до К яких-небудь функцій необхідно вивести твердження про приналежність до К деякої іншої функції, що виражається через перші.
(3) Аксіома протоколу.
- Для будь-якої функції f із класу К існують :
- 1. множина натуральних чисел Е, характеристична функція якої лежить в К ;
- 2. функції а і b, визначені на всіх елементах Е, що належать К і задовольняють умові: значення функції f на числі x: дорівнює у тоді і тільки тоді, коли існує таке q із Е,
що а (q) = х і b (q) = у.
- Змістова інтерпретація цієї аксіоми така:
- Ми припускаємо, що для кожного обчислення існує його протокол (запис), що являє собою послідовність змінюючих один одного станів
- алгоритмічного процесу. Множина Е є множиною кодів всіх таких протоколів. У випадку, коли К — просто клас всіх обчислюваних числових
- функцій, множина всіх протоколів розв'язана, і, відповідно, характеристична функція Е в цьому випадку належить К. Функції а і b
- виділяють із коду протоколу вихідне дане та результат обчислення.
(4) Аксіома універсальної функції.
- В класі К існує двомісна функція, універсальна для всіх одномісних функцій із К («універсальність» U (х, у) означає,
- що ∀ f Є K ∃ x ∀ y f (y)≅U (x, y)).
Як основа теорії обчислювальних функцій ці аксіоми набагато більше очевидні, ніж теза Черча. Насправді, вони не дозволяють стверджувати, що деякі функції необчислювані. На противагу цьому найбільше неочевидна частина тези Черча стверджує, що функції, необчислювані на моделі, необчислювані і будь-яким іншим чином.
Крім інших переваг аксіоматичного підходу — наприклад, заміни складних прямих конструкцій короткими аксіомами — є наступні переваги. Перша полягає в тому, що дані аксіоми не тільки більш очевидні, але також і менш технічні, ніж теза Черча. Друга перевага (і недолік) полягає в тому, що аксіоматична система може мати (і має) різні моделі.
Дійсно, чотири перераховані вище аксіоми виконуються не тільки для класу всіх обчислюваних функцій, але і для будь-якого класу всіх функцій, обчислюваних з даним оракулом. Таким чином, всі теореми, що виводяться із (1) — (4), виконані для будь-якого такого класу. Це пояснює можливість «релятивізації» багатьох теорем. І навпаки, тільки ті теореми, які випливають із аксіом (1) — (4), можливо релятивізувати. Дійсно, будь-який клас функцій, що задовольняють цим аксіомам, в дійсності є класом всіх функцій, обчислюваних з деяким фіксованим оракулом. Таким чином, з теоретичної сторони поняття алгоритму з оракулом дозволяє релятивізувати теорію алгоритмів. З більш практичної сторони воно дозволяє дати точне визначення загального поняття збіжності за розв'язністю і, отже, дати точне формулювання фундаментальної проблеми збіжності. Дійсно, тепер можна ввести наступне визначення. Множина Q збігається за Тюрінгом (збігається за розв'язністю) до множини Р тоді і тільки тоді, коли існує відносний алгоритм, що обчислює характеристичну функцію множини Q відносно множини Р, або, в оракульних термінах існує алгоритм з оракулом Р, що обчислює цю характеристичну функцію. Поняття алгоритму з оракулом і сам термін «оракул» вперше з'явились в статті Тюрінга, тому Пост ввів термін «збіжність за Тюрінгом» для позначення збіжності проблеми вирішення найзагальнішого виду.
Важливим і природним частинним випадком збіжності за Тюрінгом є збіжність за поліноміальний час. (Вона визначається заданням поліноміального — від довжини входу — обмеження на час роботи алгоритму з оракулом). Природно поставити проблему поліноміальної за часом збіжності: чи всі множини із класу NP \ P збігаються один до одного за поліноміальний час? (Звичайно, якщо NP = P, то проблема тривіальна). Завідомо збігаються один до одного за поліноміальний час багато представників класу NP, що виникли із математичної практики; до кожного із таких представників всі множини із NP збігаються за поліноміальний час. Невідомо, чи збігаються за поліноміальний час всі множини із NP до множин всіх пар ізоморфних графів.
Див. також
Примітки
- van Melkebeek, Dieter (2000). Randomness and Completeness in Computational Complexity. Lecture Notes in Computer Science (англ.). Springer (1950).
Посилання
- на сайті Принстонського університету (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V teoriyi skladnosti i teoriyi obchislyuvanosti prorocha mashina angl oracle machine ce abstraktnij avtomat vikoristovnij dlya vivchennya zadach viboru Jogo mozhna zobraziti yak mashinu Tyuringa z chornoyu skrineyu zvanoyu orakulom yaka zdatna rozv yazuvati pevni zadachi viboru za odnu diyu Zadacha mozhe buti bud yakogo klasu skladnosti Mozhna vikoristovuvati navit nerozv yazni zadachi taki yak problema zupinki ViznachennyaProrocha mashina mashina Tyuringa pid yednana do orakula Prorok v comu rozrizi rozglyadayetsya yak sutnist zdatna vidpovidati na nabir pitan i zazvichaj predstavlena yak deyaka pidmnozhina naturalnih chisel A Todi intuitivno prorocha mashina mozhe vikonuvati vsi zvichajni diyi mashini Tyuringa i takozh mozhe zapitati u proroka vidpovid na pitannya u formi chi x nalezhit A Navedene viznachennya ye odnim z mozhlivih viznachen prorochoyi mashini Vsi ci viznachennya totozhni bo vsi voni pokladayutsya na yakus osoblivu funkciyu f sho mozhe buti obchislena prorochoyu mashinoyu za dopomogoyu orakula A Prorocha mashina podibno do mashini Tyuringa maye robochu strichku poslidovnist komirok bez pochatku chi kincya kozhna z yakih mozhe mistiti P dlya porozhnogo znachennya abo 1 golivku chitannya zapisu yaka znahoditsya nad konkretnoyu komirkoyu i mozhe prochitati zvidti dani zapisati tudi novi dani i zsunutis livoruch abo pravoruch uzdovzh strichki kerivnij pristrij yakij mozhe znahoditis v odnomu zi skinchennoyi kilkosti staniv i yakij bude vikonuvati rizni diyi chitati dani zapisuvati dani ruhati golivku i zminyuvati stani zalezhno vid potochnogo stanu i prochitanogo znachennya V dodatok do cih vuzliv prorocha mashina takozh maye strichku orakula na yakij nadrukovana neskinchenna poslidovnist P i 1 vidpovidno do harakteristichnoyi funkciyi mnozhini A proroka golivku orakula yaka podibno do golivki chitannya zapisu mozhe ruhatis livoruch i pravoruch uzdovzh strichki proroka chitayuchi dani ale ne mozhe zapisuvati prote isnuyut alternativni viznachennya prorochoyi mashini yaki dozvolyayut zapisuvati dani Formalne viznachennya Prorocha mashina Tyuringa ce chetvirka M Q d q 0 F displaystyle M langle Q delta q 0 F rangle de Q displaystyle Q skinchenna mnozhina staniv d Q B 1 2 Q B 1 L R 2 displaystyle delta Q times B 1 2 rightarrow Q times B 1 times L R 2 funkciya perehodiv de L ce zsuv livoruch R zsuv pravoruch q 0 Q displaystyle q 0 in Q pochatkovij stan F Q displaystyle F subseteq Q mnozhina staniv zupinki Prorocha mashina inicializuyetsya robochoyu strichkoyu iz vhidnimi danimi u viglyadi skinchennoyi kilkosti 1 zalishok strichki porozhnij strichka orakula mistit harakteristichnu funkciyu orakula A mashina Tyuringa perebuvaye v stani q0 iz golivkoyu chitannya zapisu nad pershoyu neporozhnoyu komirkoyu robochoyi strichki golivka proroka chitaye chitaye komirku strichki proroka vidpovidnu do x A 0 displaystyle chi A 0 Pislya cogo vidbuvayutsya diyi vidpovidno do d displaystyle delta yaksho mashina Tyuringa narazi v stani q golivka chitannya zapisu chitaye simvol S1 a golivka proroka chitaye simvol S2 todi yaksho d q S 1 S 2 q S 1 D 1 D 2 displaystyle delta q S 1 S 2 q S 1 D 1 D 2 mashina perehodit v stan q displaystyle q golivka chitannya zapisu zapisuye S1 zamist S1 i todi golivka chitannya zapisu zsuvayetsya na odnu komirku v napryamku D1 i golivka orakula zsuvayetsya na odnu komirku v napryamku D2 Yaksho q displaystyle q ce stan zupinki mashina zupinyayetsya inakshe povtoryuyutsya poperedni diyi Zvedennya za TyuringomZvedennya za Tyuringom zavdannya A do zadachi B ce zvedennya yake virishuye A pripuskayuchi sho B vzhe vidomo Ce mozhna rozumiti yak algoritm yakij mozhe buti vikoristanij dlya virishennya A yaksho v jogo rozporyadzhenni ye pidprogrami dlya virishennya B Bilsh formalno zvedennya za Tyuringom ye funkciyeyu sho obchislyuyetsya mashinoyu z orakulom dlya V Ponyattya Cyu dopomizhnu funkciyu abo algoritm takozh nazivayut vidnosnim algoritmom abo algoritmom z orakulom Budemo poznachati jogo cherez J vin viznachenij tobto takij sho daye rezultat na mnozhini vsih mozhlivih staniv S Orakul A bude pidmnozhinoyu J S Kozhnij krok procesu sho zadayetsya algoritmom z orakulom viznachayetsya ne tilki stanom S sho vinik do cogo kroku ale j istinnistyu tverdzhennya J S Ye A Takim chinom operator bezposerednoyi pererobki sho daye nastupnij stan S staye teper funkciyeyu vid dvoh argumentiv vid S i vid chisla b sho prijmaye znachennya 0 chi 1 v zalezhnosti vid togo chi pravilne spivvidnoshennya J S Ye A Ponyattya algoritmu z orakulom viyavilos vazhlivim z metodologichnoyi tochki zoru Zokrema teoriya algoritmiv vikoristovuye ponyattya elementarnoyi operaciyi Ponyattya elementarnosti istotno lyudske ponyattya Te sho elementarno dlya lyudini mozhe viyavitis neelementarnim dlya inshih istot i navpaki Mozhna vvazhati sho lyudina zdijsnyuyuchi obchislennya bezperervno zvertayetsya do deyakogo orakula tilki orakul cej vidpovidaye na taki elementarni zapitannya tipu Totozhni chi ni ci dva simvoli sho ce navit ne pomitno Mozhna uyaviti sobi bilsh potuzhnij nizh u lyudini zapas obchislyuvalnih zasobiv sho mayut na uvazi zokrema zvernennya do deyakogo netrivialnogo z lyudskoyi tochki zoru orakula yakij v ramkah cih zasobiv ne usvidomlyuyetsya skorishe vsogo nizh zovnishnij orakul a vvazhayetsya chastinoyu samih cih zasobiv Vislovleni mirkuvannya pidtverdzhuyutsya nastupnimi sprobami aksiomatichno viznachiti ponyattya obchislyuvanoyi funkciyi Analizuyuchi dokazi sho zustrichayutsya v teoriyi obchislyuvanih funkcij mozhna pomititi sho mozhlivij i navit inodi vikoristovuyetsya nastupnij sposib mirkuvan Spochatku vstanovlyuyutsya deyaki osnovni ta intuyitivno ochevidni vlastivosti klasu obchislyuvanih funkcij a potim neobhidni tverdzhennya vivodyatsya iz nih Osnovni vlastivosti klasu K vsih obchislyuvanih funkcij 1 Aksioma funkcionalnih konstant Klas K mistit vsi obchislyuvani chislovi funkciyi Abo Klas K mistit konstantu 0 i funkciyu sliduvannya 2 Aksioma operatornih konstant Klas K zamknutij vidnosno operatoriv pidstanovki rekursiyi ta minimizaciyi Cya vlastivist zastosovuyetsya yaksho iz tverdzhennya pro prinalezhnist do K yakih nebud funkcij neobhidno vivesti tverdzhennya pro prinalezhnist do K deyakoyi inshoyi funkciyi sho virazhayetsya cherez pershi 3 Aksioma protokolu Dlya bud yakoyi funkciyi f iz klasu K isnuyut 1 mnozhina naturalnih chisel E harakteristichna funkciya yakoyi lezhit v K 2 funkciyi a i b viznacheni na vsih elementah E sho nalezhat K i zadovolnyayut umovi znachennya funkciyi f na chisli x dorivnyuye u todi i tilki todi koli isnuye take q iz E sho a q h i b q u dd Zmistova interpretaciya ciyeyi aksiomi taka Mi pripuskayemo sho dlya kozhnogo obchislennya isnuye jogo protokol zapis sho yavlyaye soboyu poslidovnist zminyuyuchih odin odnogo staniv algoritmichnogo procesu Mnozhina E ye mnozhinoyu kodiv vsih takih protokoliv U vipadku koli K prosto klas vsih obchislyuvanih chislovih funkcij mnozhina vsih protokoliv rozv yazana i vidpovidno harakteristichna funkciya E v comu vipadku nalezhit K Funkciyi a i b vidilyayut iz kodu protokolu vihidne dane ta rezultat obchislennya dd 4 Aksioma universalnoyi funkciyi V klasi K isnuye dvomisna funkciya universalna dlya vsih odnomisnih funkcij iz K universalnist U h u oznachaye sho f Ye K x y f y U x y Yak osnova teoriyi obchislyuvalnih funkcij ci aksiomi nabagato bilshe ochevidni nizh teza Chercha Naspravdi voni ne dozvolyayut stverdzhuvati sho deyaki funkciyi neobchislyuvani Na protivagu comu najbilshe neochevidna chastina tezi Chercha stverdzhuye sho funkciyi neobchislyuvani na modeli neobchislyuvani i bud yakim inshim chinom Krim inshih perevag aksiomatichnogo pidhodu napriklad zamini skladnih pryamih konstrukcij korotkimi aksiomami ye nastupni perevagi Persha polyagaye v tomu sho dani aksiomi ne tilki bilsh ochevidni ale takozh i mensh tehnichni nizh teza Chercha Druga perevaga i nedolik polyagaye v tomu sho aksiomatichna sistema mozhe mati i maye rizni modeli Dijsno chotiri pererahovani vishe aksiomi vikonuyutsya ne tilki dlya klasu vsih obchislyuvanih funkcij ale i dlya bud yakogo klasu vsih funkcij obchislyuvanih z danim orakulom Takim chinom vsi teoremi sho vivodyatsya iz 1 4 vikonani dlya bud yakogo takogo klasu Ce poyasnyuye mozhlivist relyativizaciyi bagatoh teorem I navpaki tilki ti teoremi yaki viplivayut iz aksiom 1 4 mozhlivo relyativizuvati Dijsno bud yakij klas funkcij sho zadovolnyayut cim aksiomam v dijsnosti ye klasom vsih funkcij obchislyuvanih z deyakim fiksovanim orakulom Takim chinom z teoretichnoyi storoni ponyattya algoritmu z orakulom dozvolyaye relyativizuvati teoriyu algoritmiv Z bilsh praktichnoyi storoni vono dozvolyaye dati tochne viznachennya zagalnogo ponyattya zbizhnosti za rozv yaznistyu i otzhe dati tochne formulyuvannya fundamentalnoyi problemi zbizhnosti Dijsno teper mozhna vvesti nastupne viznachennya Mnozhina Q zbigayetsya za Tyuringom zbigayetsya za rozv yaznistyu do mnozhini R todi i tilki todi koli isnuye vidnosnij algoritm sho obchislyuye harakteristichnu funkciyu mnozhini Q vidnosno mnozhini R abo v orakulnih terminah isnuye algoritm z orakulom R sho obchislyuye cyu harakteristichnu funkciyu Ponyattya algoritmu z orakulom i sam termin orakul vpershe z yavilis v statti Tyuringa tomu Post vviv termin zbizhnist za Tyuringom dlya poznachennya zbizhnosti problemi virishennya najzagalnishogo vidu Vazhlivim i prirodnim chastinnim vipadkom zbizhnosti za Tyuringom ye zbizhnist za polinomialnij chas Vona viznachayetsya zadannyam polinomialnogo vid dovzhini vhodu obmezhennya na chas roboti algoritmu z orakulom Prirodno postaviti problemu polinomialnoyi za chasom zbizhnosti chi vsi mnozhini iz klasu NP P zbigayutsya odin do odnogo za polinomialnij chas Zvichajno yaksho NP P to problema trivialna Zavidomo zbigayutsya odin do odnogo za polinomialnij chas bagato predstavnikiv klasu NP sho vinikli iz matematichnoyi praktiki do kozhnogo iz takih predstavnikiv vsi mnozhini iz NP zbigayutsya za polinomialnij chas Nevidomo chi zbigayutsya za polinomialnij chas vsi mnozhini iz NP do mnozhin vsih par izomorfnih grafiv Div takozhTeza Chercha Mashina TyuringaPrimitkivan Melkebeek Dieter 2000 Randomness and Completeness in Computational Complexity Lecture Notes in Computer Science angl Springer 1950 Posilannyana sajti Prinstonskogo universitetu angl