Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по МОТС / ДИСКРЕТНАЯ МАТЕМАТИКА Графы.doc
Скачиваний:
377
Добавлен:
15.02.2014
Размер:
3.38 Mб
Скачать

11.3.4. Эквивалентные формулировки знп

ЗНП может быть сформулирована многими разными способами.

1. Пусть имеется конечное множество V = {«i,..., vp} и семейство подмножеств этого множества Е = {Еь..., Ер}. Каждому подмножеству Ei приписан вес. Найти покрытие Е' (Е' с Е) наименьшего веса.

ЗАМЕЧАНИЕ

Из этой формулировки происходит название «задача о наименьшем покрытии».

Рис 11.1 связь различных задач

2. ЗНП можно сформулировать как задачу линейного программирования:

р min Y^ CiXi

i=l

при ограничениях

где

с. > 0 - J1' если^еЕ",

|0, в противном случае,

1, если Vi е ej,

О, в противном случае.

3. Дана булева матрица Т : array [l..p,l..p] of 0..1. Каждому столбцу приписан вес Cj. Найти такое множество столбцов минимальной стоимости, чтобы любая строка содержала единицу хотя бы в одном из выбранных столбцов.

11.3.5. Связь знп с другими задачами

Известно, что ЗНП относится к числу трудоемких задач, и для ее решения при­меняются переборные алгоритмы с теми или иными улучшениями. На рис. 11.1 приведена схема (см. [И]), показывающая связь ЗНП и некоторых Других задач. На этой схеме стрелка от задачи А к задаче Б означает, что решение задачи А влечет за собой решение задачи Б.

Комментарии

Обсуждение переборных задач в этой главе носит в основном ознакомитель­ный характер. Для получения более точной и детальной информации следует обратиться к специальной литературе, прежде всего к фундаментальной кни­ге [4]. Алгоритм построения максимальных независимых множеств заимствован из [11]. Здесь этот алгоритм использован прежде всего в качестве примера для иллюстрации способов и особенностей решения переборных задач.

Упражнения

Доказать, что а0 ^ fti,a\ ^ Аз-

Написать алгоритм построения всех клик графа.

Доказать, что наименьшее доминирующее множество является независи­мым.

Глава 12 Раскраска графов

Задача раскрашивания графов, которая на первый взгляд кажется просто празд­ной головоломкой, имеет неожиданно широкое применение в программировании, особенно при решении фундаментальных теоретических проблем (см., напри­мер, [7]).

12.1. Хроматическое число

Способ явного выражения хроматического числа через другие инварианты графа неизвестен. Известны только некоторые оценки, часть из которых приведена в данном разделе.

Раскраской графа называется такое приписывание цветов (натуральных чисел) его вершинам, что никакие две смежные вершины не получают одинаковый цвет. Наименьшее возможное число цветов в раскраске называется хроматическим числом и обозначается \(G). Очевидно, что существует та-раскраска графа G для любого m в диапазоне \(G) < т ^ р. Множество вершин, покрашенных в один цвет, называется одноцветным классом. Одноцветные классы образуют независи­мые множества вершин, то есть никакие две вершины в одноцветном классе не смежны.

Пример

Х(КР} = 1, х(Кр)=р, х(Кт,п)=2, = 3, Х(Т) = 2, где Т — свободное дерево.

ТЕОРЕМА X(G) ^ 1 + Д(С).

один цвет в A(G) + 1 раскраске графа G - v свободен для и. Покрасив v в этот цвет, имеем A(G) + 1 раскраску G. n

ТЕОРЕМА

x(G) <р- Po(G] + 1.

доказательство

1. Пусть x(G) = п и V = Vi U • • • UVn, где Vi — одноцветные классы. независимое множество вершин, значит, |Vj| < /?o(G). Имеем:

2. Пусть 5 С V — наибольшее независимое множество, |5| = /3Q(G). Тогда x(G-S) ^ |V — 5| = р - /?o(G). Из n-раскраски G - 5 можно получить (п + 1)-раскраску G, так как все вершины из 5 можно покрасить в один новый цвет. Следовательно,

ТЕОРЕМА Пусть x-=x(G),X- = x(G). Тогда