Jump to content

Неявная вычислительная сложность

Неявная вычислительная сложность ( ICC ) — это подраздел теории вычислительной сложности , который характеризует алгоритмы ограничениями на способ их построения без ссылки на конкретную базовую модель машины или на явные ограничения вычислительных ресурсов, в отличие от традиционной теории сложности. [1] [2] ICC был разработан в 1990-х годах и использует методы теории доказательств , субструктурной логики , теории моделей и теории рекурсии для доказательства границ выразительных возможностей формальных языков высокого уровня. [3] [4] ICC также занимается практической реализацией языков функционального программирования , языковых инструментов и теории типов , которые могут контролировать использование ресурсов программ в формально проверяемом смысле. [5] [6]

Неявные представления полиномиального времени

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

Важные классы сложности множеств, разрешимых за полиномиальное время (класс P ) и функций, вычислимых за полиномиальное время ( FP ), получили большое внимание и обладают несколькими неявными представлениями. Далее следуют два примера.

Программы без минусов

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

Джонс [7] [8] определил язык программирования, который может решать задачи решения, где входными данными является двоичная строка, и показал, что проблема может быть решена на этом языке тогда и только тогда, когда она находится в P. Кратко этот язык можно описать следующим образом. Он получает входные данные в виде списка битов. В нем есть переменные, которые могут указывать на список и изменяться с помощью операции «хвост», чтобы они могли двигаться вперед по списку. Он может определять рекурсивные функции , но не имеет функций высшего порядка . Важно отметить, что в нем нет конструкторов типов данных (отсюда и название cons-free ): входной список — это единственная структура данных во всей программе. Отсутствие конструкторов ограничивает вычислительную мощность языка, поэтому неудивительно, что он не может решить все разрешимые проблемы, но интерес к нему с точки зрения неявной вычислительной сложности заключается в том, что он может решать именно P, и это не зависит от время выполнения программ, которое может быть экспоненциальным. Интересно, что Джонс также показал, что если к языку добавить недетерминизм (как в Недетерминированная машина Тьюринга ), класс задач, который можно принять, по-прежнему P.

Функциональные алгебры с рекурсией в обозначениях

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

Беллантони и Кук [9] показал, что определенный класс функций совпадает с ФП. Это функции, которые, как и примитивно-рекурсивные функции , определяются набором базовых функций и операторов для создания новых функций из существующих. Вместо примитивной схемы рекурсии используется специальная схема рекурсии, как будет видно ниже, и, кроме того, аргументы функций разделены на два «сорта». Это обозначается разделением аргументов точкой с запятой: . Аргументы, следующие за точкой с запятой, называются безопасными (более интуитивно понятное имя может быть «защищенным»). Когда значение передается в безопасной позиции, ему не разрешается слишком сильно расти — обратите внимание на разницу между пунктами (3) и (4) ниже. Еще одно важное отличие от определения примитивно-рекурсивных функций заключается в том, что здесь аргументы рассматриваются как двоичные строки , и мы можем увеличить значение, добавив бит ( x 0 или x 1) в отличие от числовой функции-преемника ( x' ).

Вот список основных функций:

  1. пустая строка : (нулевая функция)
  2. прогнозы : для каждого
  3. обычные двоичные преемники :
  4. ограниченные безопасные двоичные преемники :
  5. двоичный предшественник :
  6. числовой предшественник :
  7. условно :
  8. итоговый продукт : .

Мы можем комбинировать функции для формирования новых, используя схему композиции и схему рекурсии. Данный , их предикативный состав , определяется Данный , предикативная рекурсия по схеме обозначений определяет функцию к Это называется «рекурсия по записи», потому что при каждом рекурсивном вызове мы удаляем часть аргумента рекурсии, в отличие от рекурсии «по значению», которая идет от z до z -1.

Пример. Мы определяем функцию который получает двоичную строку x и возвращает строку из 0 той же длины, что и x . Для удобства чтения мы опускаем вызовы функций проекции, которые технически необходимы для получения аргумента функции, например: получить х в функции . Обратите внимание, что нам нужно изначально сохранить копию x , чтобы иметь возможность применить ограниченный двоичный оператор-преемник в рекурсии.

Другие классы

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

Неявные представления были найдены для многих классов сложности, включая иерархия классов времени P, EXPTIME , 2-EXPTIME ,... и пространственных классов L , PSPACE , EXPSPACE ,... [8] ; а также классы иерархии DTIME ( O ( n )), DSPACE ( O ( n )), DTIME ( ), ДСПЕЙС ( ),... [10] . Для большинства классов известно несколько альтернативных представлений.

  1. ^ «ICC'01 — Неявная вычислительная сложность» . www.dcs.ed.ac.uk. ​Проверено 6 августа 2023 г.
  2. ^ «Неявная вычислительная сложность» . person.ens-lyon.fr . Проверено 6 августа 2023 г.
  3. ^ Жирар, Жан-Ив; Скотт, Филип; Андре, Щедров (1992). «Ограниченная линейная логика: модульный подход к вычислимости за полиномиальное время» . Теоретическая информатика . 97 (1): 1–66. дои : 10.1016/0304-3975(92)90386-T .
  4. ^ «№ 033 Неявная вычислительная сложность и приложения: управление ресурсами, безопасность, вычисления с действительными числами | Семинары НИИ Шонан Встреча» . Заседание НИИ Сёнан . Проверено 6 августа 2023 г.
  5. ^ «DICE 2014 – Развитие неявной вычислительной сложности» . dice14.tcs.ifi.lmu.de . Проверено 6 августа 2023 г.
  6. ^ Обер, Клеман; Рубиано, Томас; Раш, Ниа; Зайллер, Томас (2022). «Реализация неявной вычислительной сложности». 7-я Международная конференция по формальным структурам вычислений и дедукции, {FSCD}, 2022 г. ЛИПИ. 228 : 26:1–26:33.
  7. ^ Джонс, Нил Д. (1999). «LOGSPACE и PTIME, характеризуемые языками программирования». Теоретическая информатика . 228 (1–2): 151–174. дои : 10.1016/S0304-3975(98)00357-0 .
  8. ^ Jump up to: а б Джонс, Нил Д. (2001). «Выразительная сила типов высшего порядка, или жизнь без CONS» . Журнал функционального программирования . 11 (1): 55–94. дои : 10.1017/S0956796800003889 .
  9. ^ Беллантони, Стивен; Кук, Стивен (1992). «Новая теоретико-рекурсивная характеристика политаймовых функций (Расширенный аннотация)». Материалы двадцать четвертого ежегодного симпозиума ACM по теории вычислений - STOC '92 . стр. 283–293. дои : 10.1145/129712.129740 . ISBN  0897915119 . S2CID   2215181 .
  10. ^ Кристиансен, Ларс; Вода, Пол Дж. «Языки программирования, улавливающие классы сложности». Северный журнал вычислительной техники . 12 (2005): 89–115.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bd0a0ed70a04e7c2eaa55c350f4ea95a__1702878720
URL1:https://arc.ask3.ru/arc/aa/bd/5a/bd0a0ed70a04e7c2eaa55c350f4ea95a.html
Заголовок, (Title) документа по адресу, URL1:
Implicit computational complexity - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)