Jump to content

машина Oracle

(Перенаправлено с ленты Oracle )

Системы черного ящика
Система
Черный ящик , машина Oracle
Методы и техники
Тестирование «черного ящика» , «черный ящик»
Связанные методы
Упреждение , Обфускация , Распознавание образов , Белый ящик , Тестирование белого ящика , Тестирование серого ящика , Идентификация системы
Основы
Априорная информация , Системы управления , Открытые системы , Исследование операций , Термодинамические системы

В теории сложности и теории вычислимости машина -оракул — это абстрактная машина, используемая для изучения проблем принятия решений . Его можно представить как машину Тьюринга с черным ящиком , называемую оракулом , которая способна решать определенные задачи за одну операцию. Проблема может быть любого класса сложности . даже неразрешимые проблемы , такие как проблема остановки Можно использовать .

Машину-оракул можно представить как машину Тьюринга, соединенную с оракулом . В этом контексте оракул — это сущность, способная решить некоторую проблему, которая, например, может быть проблемой принятия решения или функциональной проблемой . Проблема не обязательно должна быть вычислимой; оракул не считается машиной Тьюринга или компьютерной программой. Оракул — это просто « черный ящик », способный найти решение для любого случая заданной вычислительной задачи:

  • Проблема решения представлена ​​как набор натуральных чисел (или строк). Экземпляром проблемы является произвольное натуральное число (или строка). Решением для экземпляра является «ДА», если число (строка) находится в наборе, и «НЕТ» в противном случае.
  • Функциональная задача представлена ​​функцией f от натуральных чисел (или строк) к натуральным числам (или строкам). Примером проблемы является ввод x для f . Решением является значение f ( x ).

Машина-оракул может выполнять все обычные операции машины Тьюринга, а также может запрашивать у оракула решение любого экземпляра вычислительной задачи для этого оракула. Например, если проблема представляет собой проблему решения для набора A натуральных чисел, оракул предоставляет оракулу натуральное число, и оракул отвечает «да» или «нет», указывая, является ли это число элементом A. .

Определения

[ редактировать ]

Существует множество эквивалентных определений машин Тьюринга-оракулов, которые обсуждаются ниже. Представленный здесь материал принадлежит ван Мелкебеку (2003 , стр. 43).

Машина-оракул, как и машина Тьюринга, включает в себя:

  • рабочая лента : последовательность ячеек без начала и конца, каждая из которых может содержать букву Б (пробел) или символ из алфавита ленты;
  • головка чтения/записи , которая располагается на одной ячейке рабочей ленты и может считывать данные там, записывать новые данные, а также увеличивать или уменьшать свою позицию на ленте;
  • механизм управления , который может находиться в одном из конечного числа состояний и который будет выполнять различные действия (чтение данных, запись данных, перемещение механизма управления и изменение состояний) в зависимости от текущего состояния и считываемых данных.

Помимо этих компонентов, машина-оракул также включает в себя:

  • лента оракула , представляющая собой полубесконечную ленту, отдельную от рабочей ленты. Алфавит ленты оракула может отличаться от алфавита рабочей ленты.
  • головка оракула , которая, как и головка чтения/записи, может перемещаться влево или вправо по ленте оракула, читая и записывая символы;
  • два особых состояния: состояние СПРОС и состояние ОТВЕТ.

Время от времени машина-оракул может переходить в состояние ASK. В этом случае за один вычислительный шаг выполняются следующие действия:

  • содержимое ленты оракула рассматривается как пример вычислительной задачи оракула;
  • обращаются к оракулу, и содержимое ленты оракула заменяется решением данного экземпляра проблемы;
  • голова оракула перемещается на первый квадрат ленты оракула;
  • состояние машины-оракула меняется на ОТВЕТ.

Таким образом, результатом перехода в состояние ASK является получение за один шаг решения экземпляра проблемы, записанного на ленте оракула.

Альтернативные определения

[ редактировать ]

Существует множество альтернативных определений приведенному выше. Многие из них специализированы для случаев, когда оракул решает проблему принятия решений. В этом случае:

  • Некоторые определения вместо записи ответа на ленту оракула имеют в дополнение к состоянию ASK два специальных состояния ДА и НЕТ. При обращении к оракулу следующим состоянием выбирается значение «ДА», если содержимое ленты оракула находится в наборе оракула, и значение «НЕТ», если содержимое не находится в наборе оракула. [1]
  • Некоторые определения избегают отдельной ленты оракула. При входе в состояние оракула указывается символ ленты. У оракула запрашивается количество раз, когда этот символ ленты появляется на рабочей ленте. Если это число есть в наборе оракула, следующим состоянием будет состояние ДА; если это не так, следующим состоянием будет состояние НЕТ. [2]
  • Другое альтернативное определение делает ленту оракула доступной только для чтения и полностью исключает состояния ASK и RESPONSE. Перед запуском машины индикаторная функция набора оракулов записывается на ленту оракула с использованием символов 0 и 1. Затем машина может запросить оракул, сканируя правильный квадрат на ленте оракула и считывая расположенное там значение. . [3]

Эти определения эквивалентны с точки зрения вычислимости по Тьюрингу: функция является оракулом-вычислимой по данному оракулу при всех этих определениях, если она оракул-вычислима при любом из них. Однако эти определения не эквивалентны с точки зрения вычислительной сложности. В целом требуется определение, подобное определению ван Мелькебека, с использованием ленты оракула, которая может иметь свой собственный алфавит.

Классы сложности оракулов

[ редактировать ]

Класс сложности задач решения , решаемых алгоритмом класса A с оракулом для языка L, называется A. л . Например, П СБ — класс задач, решаемых за полиномиальное время с помощью детерминированной машины Тьюринга с оракулом для булевой проблемы выполнимости . Обозначение А Б может быть расширено до набора языков B (или класса сложности B), используя следующее определение:

Если язык L полон для некоторого класса B, то A л Б при условии, что машины из A могут выполнять сокращения, используемые в определении полноты класса B. В частности, поскольку SAT является NP-полной относительно полиномиальных сокращений времени, P СБ НАПРИМЕР . Однако если A = DLOGTIME , то A СБ может не равняться А НАПРИМЕР . (Определение приведенное выше не является полностью стандартным. В некоторых контекстах, таких как доказательство теорем об иерархии времени и пространства , более полезно предположить, что класс абстрактной машины, определяющий класс имеет доступ только к одному оракулу для одного языка. В этом контексте не определяется, если класс сложности не имеет каких-либо полных проблем в отношении сокращений, доступных для .)

Понятно, что NP ⊆ P НАПРИМЕР , но вопрос о том, является ли NP НАПРИМЕР , П НАПРИМЕР , NP и P равны, остается в лучшем случае приблизительным. Считается, что они различны, и это приводит к определению полиномиальной иерархии .

Машины Oracle полезны для исследования взаимосвязи между классами сложности P и NP , рассматривая взаимосвязь между P А и НП А для оракула A. В частности, было показано, что существуют языки A и B такие, что P А =НП А и П Б ≠NP Б . [4] Тот факт, что вопрос P = NP релятивизирует оба пути, рассматривается как свидетельство того, что ответить на этот вопрос сложно, поскольку метод доказательства, который делает релятивизирующий (т. е. на который не влияет добавление оракула), не ответит на вопрос P = NP. [5] Большинство методов доказательства являются релятивистскими. [6]

Можно рассмотреть случай, когда оракул выбирается случайным образом среди всех возможных оракулов (бесконечное множество). При этом было показано, что с вероятностью 1 P А ≠NP А . [7] Когда вопрос верен почти для всех оракулов, говорят, что он истинен для случайного оракула . Такой выбор терминологии оправдан тем фактом, что случайные оракулы поддерживают утверждение только с вероятностью 0 или 1. (Это следует из закона нуля–единицы Колмогорова .) Это лишь слабое доказательство того, что P≠NP, поскольку утверждение может быть истинным для случайного оракула, но ложным для обычных машин Тьюринга; [ оригинальное исследование? ] например, ИП А ≠PSPACE А для случайного оракула A, но IP = PSPACE . [8]

Оракулы и проблемы остановки

[ редактировать ]

Машина с оракулом для решения проблемы остановки может определить, остановятся ли отдельные машины Тьюринга на определенных входных данных, но она не может определить в целом, остановятся ли машины, эквивалентные ей самой. Это создает иерархию машин, каждая из которых имеет более мощный оракул остановки и еще более сложную проблему остановки.Эту иерархию машин можно использовать для определения арифметической иерархии . [9]

Приложения к криптографии

[ редактировать ]

В криптографии оракулы используются для аргументации безопасности криптографических протоколов, в которых хеш-функция используется . Снижение безопасности протокола дается в том случае, когда вместо хеш-функции случайный оракул отвечает на каждый запрос случайно, но последовательно; Предполагается, что оракул доступен всем сторонам, включая злоумышленника, как и хэш-функция. Такое доказательство показывает, что, если злоумышленник не решит сложную проблему, лежащую в основе снижения безопасности, он должен использовать какое-то интересное свойство хеш-функции, чтобы взломать протокол; они не могут рассматривать хэш-функцию как черный ящик (т.е. как случайный оракул).

См. также

[ редактировать ]

Источники

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e64733040122dffd500da5e02910d003__1711937220
URL1:https://arc.ask3.ru/arc/aa/e6/03/e64733040122dffd500da5e02910d003.html
Заголовок, (Title) документа по адресу, URL1:
Oracle machine - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)