1. Задача изоморфизма подграфу.
Даны два графа, G1 и G2. Множество вершин первого графа обозначим V1, а второго — V2 . Пусть |V1| > | V2| = п. Требуется ответить на вопрос: найдется ли в графе G1 подграф H, изоморфный графу G2?
2. Задача о клике.
Дан граф G с m вершинами и целое положительное число п. Граф называется кликой, если каждая вершина в нем связана ребром с каждой. Количество вершин в клике назовем ее мощностью. Верно ли, что в данном графе G имеется клика мощности не менее, чем n?
3. Гамильтонов цикл.
Дан граф G c n вершинами. Существует ли в графе простой цикл, проходящий через все вершины графа? Простым называется цикл, в котором вершины не повторяются. Таким образом, гамильтонов цикл — это последовательность вершин и дуг (ребер) графа, содержащая все вершины графа G по одному разу, но, может быть, содержащая не все дуги.
4. Задача коммивояжера.
Дан граф G с п вершинами. Каждому ребру графа приписано положительное целое число di , задающее длину ребра. Кроме этого, задано некоторое положительное целое число L. Требуется ответить на вопрос: найдется ли в графе G маршрут, проходящий через все вершины графа G , такой, что его длина не превышает L?
Другие модификации задачи о коммивояжере требуют отыскания маршрута минимальной длины, гамильтонова цикла и т. п. Неизменным остается требование однократного прохождения через все вершины.
Кроме класса NP-полных проблем рассматривают еще и класс NP-трудных проблем.
Проблема Т называется NP-трудной, если она удовлетворяет условию: Если R NP, то R сводится к T за полиномиальное время.
Заметим, что это условие совпадает со вторым условием для NP-полных проблем. Следовательно, NP-полная проблема — это NР-трудная задача, принадлежащая классу NP.
Для того чтобы уяснить себе возможное различие между классами Р и NP, продолжим анализ проблемы выполнимости логического выражения.
Кроме общей задачи о выполнимости, могут быть поставлены задачи с ограничивающими условиями. Например, ограничение на длину дизъюнктов.
Задача о k-выполнимости — это задача о выполнимости для выражений, в которых длины дизъюнктов не превосходят величины k.
Разумеется задача оk-выполнимости проще задачи о (k + 1)-выполнимости, и проще общей задачи о выполнимости для любого конечного k. Самая простая — задача об 1-выполнимости. В этом случае любой дизъюнкт состоит только из одной переменной или ее отрицания, т. е. Если все переменные в записанной конъюнкции различны, то выражение выполнимо, а если одна и та же переменная встречается два раза, в одном случае с показателем 1, а в другом случае с показателем 0, то в соответствии с известным тождеством х1&х° = 0 выражение тождественно равно нулю, т. е. не выполнимо. Проверка этого требует времени, линейного по отношению к длине выражения.
Вывод: задача об 1-выполнимости принадлежит классу Р.