- Услуги
- Цена и срок
- О компании
- Контакты
- Способы оплаты
- Гарантии
- Отзывы
- Вакансии
- Блог
- Справочник
- Заказать консультацию
Доказательство. Легко увидеть, почему задача принадлежит NP. Для заданных G и k одним из сертификатов, подтверждающих истинность ответа, является k-раскраска: за полиномиальное время можно убедиться в том, что в раскраске используется не более k цветов и никакая пара узлов, соединенных ребром, не окрашена в один цвет.
Как и другие задачи в этом разделе, задачу о 3-раскраске графа трудно связать с другой NP-полной задачей, виденной ранее, поэтому мы снова вернемся к 3-SAT. Заданный экземпляр 3-SAT с переменными x1, …, xn и условиями C1, …, Ck будет решен с использованием «черного ящика» для решения задачи 3-раскраски.Начало сведения выглядит вполне ожидаемо. Возможно, основное достоинство 3-раскраски при кодировании булевых выражений заключается в том факте, что мы можем связать узлы графа с конкретными литералами, а соединяя узлы ребрами, можно гарантировать, что им будут назначены разные цвета; это обстоятельство позволяет связать с одним узлом истинное, а с другим — ложное значение.
С учетом сказанного мы определяем узлы и , соответствующие каждой переменной и ее отрицанию . Также определяются три «специальных узла» T, F и B (сокращения от True, False и Base).
Для начала мы соединим каждую пару узлов vi, ребром и соединим оба этих узла с Base (в результате чего образуется треугольник из vi, и Base для каждого i). Также True, False и Base соединяются в треугольник.
В частности, это означает, что для всех i одно из значений vi или получает цвет True, а другому достается цвет False. В оставшейся части этого построения будем считать, что переменной xi значение 1 в заданном экземпляре 3-SAT присваивается в том, и только в том случае, если узлу vi назначается цвет True.