Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИС_образ_науч_иссл.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
889.34 Кб
Скачать

Полиномиальная и недетерминированная полиномиальная временная сложность систем. Np-полные проблемы

Множество задач, которые могут быть решены за полиномиально-ограниченное время при поддержке детерминированных систем, обозначим через Р:

Р ==  DTIME (n^) [^=i].

I  l

Задачи из Р множества называют эффективно решаемыми.

Ряд важных задач могут быть достаточно просто, эффективно решены при поддержке недетерминированных полиномиально-ограниченных по времени Т-систем. Класс этих задач, относящийся к так называемым NP-полным проблемам, обозначим через NP:

NP =  NTIME (n^).

i 1

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

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

NP-полные проблемы (см. УМК каф. ТИССУ МИРЭА по курсу информатики и теории информации) требуют обращения с помощью алгоритмов с экспоненциальной сложностью. Это означает такие большие затраты на вычисления, которые при определенных постановках задач находятся на границе того, что практически может быть осуществлено, а в некоторых случаях даже за пределами этих возможностей. Такая ситуация более, чем ощутима, в больших, глобальных, особенно распределенных ИС с мало предсказуемой ресурсной емкостью системы в целом. Поэтому особенно важно для решения NP-проблем иметь возможно более эффективные алгоритмы.

NP-полные проблемы всегда можно понимать как проблемы поиска. Недетерминированной информационной системе мы можем предписать конечное дерево с ограниченной числом v степенью разветвления и с ограниченной полиномом р(п) его высотой. Детерминированный алгоритм должен по-существу обойти (просмотреть) это дерево, содержащее 0(vP(^) вершин. Часто NP-полные проблемы представляют собой задачу оптимизации типа «найти кратчайший путь», «найти оптимальный ход» и т. п.

Для эффективной обработки - в рамках экспоненциальной сложности - для NP-полных проблем можно выбирать, в частности, следующие методы.

(1) Branch and Bound (искусный бэктрекинг). Поиск в пространстве решений организуется целенаправленно:

  • в первую очередь проходятся легко вычисляемые ветви;

  • своевременно распознанные как неинтересные ветви обрезаются и не проходятся полностью.

К тому же, в частности, пытаются пространство решений трактовать как многомерное пространство. Для многих задач это вытекает уже из самих их постановок (найди вектор определенной длины, найди множество определенной мощности).

(2) Приближенные методы. В ряде постановок задач создания и реализации модели ИС требуется найти оптимальное решение (например, кратчайший путь). Однако иногда достаточно иметь примерно оптимальное решение, благодаря чему может быть редуцирована сложность задачи. В таких случаях требуется найти компромисс между затратами и неполной оптимальностью.

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

(4) Вероятностные алгоритмы. Эти алгоритмы сознательно используют случайные величины, порождаемые генератором случайных чисел. При этом имеется два варианта («а» и «б» ):

(а) алгоритмы, которые дают корректный результат только с определенной вероятностью (которая при соответствующих затратах может быть выдержана сколь угодно близкой к единице);

(б) алгоритмы, которые завершаются в заданные границы времени только с определенной вероятностью.

(5) Ограничение класса задач. В некоторых применениях можно так ограничить рассматриваемый класс задач, что задачи из этого ограниченного класса допускают полиномиальную обработку.

(6) Эвристические методы. Как раз в случае NP-полных задач поиска в условиях дальнейшего расширения (масштабирования) распределенных мега БД по экспоненциальногому закону мы часто находим эвристические методы, которые удивительно хорошо работают, хотя неясно почему, и относительно этого нет каких-либо точных высказываний.

Для соответствующей работы с NP-трудными проблемами от программиста требуется особое искусство.