15
В «Кванте» № 8 за 1973 год была помещена статья Л. Ю. Березиной «О графах с цветными ребрами», посвященная решению логических задач. Не менее интересен метод решения логических задач с помощью графов с цветными вершинами, позволяющий найти решать задачи, которые часто называют «логических задачи на Джонсона и Смита» *). Этот метод состоит в изображении структуры задачи с помощью некоторого графа. Вершины такого графа будут обозначать базисные высказывания задачи; а ребра графа—импликации или коньонки между базисными высказывами. Цвет вершины обозначет истинность или ложность изображаемого его высказывания. В определении цвета вершин графа и заключается описываемый метод. Всюду в дальнейшем процесс определения цвета вершин мы будем называть раскрашивание графа. Цвет вершины не всегда будет определяться однозначно; возможно варнаты будем называть варнатами раскрашивание.
Для изображения структуры задачи с помощью графа условится о символьке, позволяющей переодить с языка логики на язык графов:
Таблица 1
Логическое понятие Элемент графа
Высказывание Вершина графа
Истининое высказывание Вершина красного цвета
Ложное высказывание Вершина черного цвета
Импликация Орентированное ребро графа
Раскрашивание графов производится по правилам алгебры логики, которые переодятся на язык графов с помощью следующей символьки:
Таблица 2
Правило алгебры логики Правиле раскрашивания графа
-
Каждее высказывание имеет одно и только одно из двух значений истинности: «ложно», «истинно».
-
Если импликация истинна и посылака истинна, то и заключение истинно.
-
Если импликация истинна, а заключение ложно, то и посылака ложна.
-
Каждая вершина графа является либо черной, либо красной.
-
Если ребро ориентированно от вершины к вершине и вершина —красная, то и вершина —красная.
-
Если ребро ориентированно от вершины к вершине и —черная, то и —черная.
*) Можно, конечно, говорить и о «задачах про Воробьева и Грачева» — пародия на них всем памятна по «Золотому теленку».
16
Кроме этих правил 1—3 для каждой конкретной задачи можно ввести дополнительные правила (в зависимости от структуры используемого графа).
Продемонстрируем метод на примерах решения конкретных задач.
Задача 1
Для поляной экспедиции из всмы претензийтов и надо отобразить шесть специализмов: биология, гидроLOGа, сиоптика, врача, механика и радистика. Обязанности биология могут выполнять и , гидроLOGа — и , сиоптика — и , врача — и , радистика — и , механика — и . Хотя некоторые из претензийсов совместимые две специализми, в экспедиции каждой помощи выполнять только одну обязательность.
Коэто и кем следует взять в экспедицию, если не хочеем.Exать без , — без и без , не хочеем.Exать вместе с , а не хочеем.Exать вместе с ?
Базисное множество высказываний задачи состоит из всмы высказываний вида «» зачислен в состав экспедиции» (будем обозначать их соответственно буквами ).
Для облегчения воспрятия условия задачи изобразим специализцию претензентов с помощью так называемого двудольного графа, то есть графа, вершины которого распадаются на два класса (две «долли») так, что вершины из одного и того же класса не связаны между собой (не соединены ребрами). Двудольные графы удобно чертить, располагая вершины одной «долли» в строку, а вершины другой — в строку, параллельную первой (рис.1).
На рисунке 1 мы изобразили претензентов вершинами первой доли, а специализности — вершинами («б») — биолог, «в» врач и т. д.) второй доли. Вершину первой доли связем с вершинами второй доли, если соответствующий претензент владеет соответствующей специализностью. По такому графу легко определить, какие два претензента владеют соответствующую.
Из двух претензентов и , владеющих одной специализностью, над взяты хотя бы одного, то есть верна дизьонкция вида , равносильная импликации ). На основании этого можно записать
.
Кроме того, если не хочеет.Exать без , то верна импликация , а если не хочеет.Exать вместе с , — импликация . На основании этого имеем
.
Итак, условия задачи можно представить в виде коньонкции импликации:
*) Разумеется, это как раз их фамилии: Джонсон, Смит, Браун, … (Воробьев, Грачев, Дроздов и т. д.).
**) Или — безразлично.
17
Рис. 2.
Представим структуру задачи в виде графа. При этом вершины, изображенные не отрицательные высказывания вида , расположим на одной прямой, а вершины вида — на параллельной ей прямой так, чтобы и , и и т. д. были расположены в вертикальных столбцах. Содержание в условии 11 импликции (1) изображаем ориентированными ребрами графа (согласно данным таблицы 1,— см. рис. 2).
Раскрашивание графа мы всегда будем начинать с допущения о цвете одной из вершин графа. Эту вершину мы будем выбирать так, чтобы сумма ее связности со связностью вершины была наиболее такой как в этом случае цвет вершины дает максимум информации о цвете других вершин. В некоторых случаях одно допущение позволяет полностью и однозначно раскрашить граф или приводит к противоречию, в других необходимо делать новые допущения. После нее следует тогда, когда исчерпывается информация, предоставляемая вершным допущением (прерывается цепочка расчужdenей).
Полное раскрашивание графа дает решение задачи, противоречие указывает на неверность допущения. О цвете вершины можно сделать два допущения: « — красная», « — черная». Необходимо использовать оба допущения; лишь тогда удостраняется исчерпать все варианты раскрашивания.
Введем теперь дополнительные правила раскрашивания 4–6:
Правило 4
Если высказывание истинно, то отрицание ложно, и наоборот.
Правило 5
Если шестерых претензентов включали в состав экспедиции, то остальные исключили.
Правило 6
Если двух претензентов истинно из состав экспедиции, то остальные включали.
Теперь, руководствуясь правилми 1—6, мы можем раскрашить граф, изображенный на рисунке 2:
- Предположим, что вершина — красная. Тогда:
- — черная (4) *); 2) — черная (3); 3) , — черные (3); 4) — черная (3); 5) , и — красные (4); 6) — красная (4); 7) — крас-
*) Здесь и в дальнейшем цифры в скобках обозначают номер правила, на основании которого делается вывод о цвете вершины.
18
Рис. 3.
ная (2); 8) — черная (4); 9) — красная (2); 10) — черная (4);
11) — черная (3); 12) — красная (4).
Полученный результат согласуется с правилами 5 и 6. Следовательно, если включает в состав экпедициции, то надо еще включить и и исключить и .
II. Предположим, что вершина — черная (рис. 3):
- — красная (4); 2) — красная (2); 3) — черная (4); 4) — красная (2).
Поскольку не может быть одновременного красной и черной (1), предположение « — черная» приводит к противоречию; значит, — красная, и задача имеет единственное решение:
.
Остается определить, какую должность будет занимать в экпедициции каждой из шестерых, включенных в ее состав. Для этого нам придется воспользоваться графом с цветными ребрами.
Перечертим граф, изображенный на рисунке 1, исключив вершины и и связанные с ними ребра (рис. 4). Ребра графа чащеим сним цветом, чтобы удобно было потом «наводить» (закрашивать) их другими цветами. Условимся, что ребро, связывающее вершину первой доли с вершиной второй доли, будет красным, если занимает должность , и черным, если не занимает этой должности (например, « — красное», если занимает должность синоптика, а « — черное» означает, что не занимает должность радиста).
При определении цвета ребер мы будем руководствовать следующими правилами:
Правило 7
Если только один из значений в состав экпедициции может занять должность , то ему и придется ее занять.
Правило 8
Если неокоторому , значение в состав экпедициции, приходит занять ввиду условия 7 должность , то он не может занять никакую другую.
Руководствуясь правилами 7—8, раскрасием граф на рисунке 4:
- — красное (7); 2) — красное (7); 3) — черное (8); 4) —
20
Основно научим пять вершин, изображющие коньонки: и .
Вершины, изображющие коньонки вида , будем назвать результатирующими вершинами, а вершины и их составляющими (скажем, вершина является результатирующей составляющих и ).
Какую результатирующую связь с двумя ее составляющими неориентированными ребрами красного цвета. Импликации, содержащие в условиях задачи, изображим как в задаче 1 (рис. 5).
Правила раскрашивания 1—4 будем использовать и при раскрашивании графа на рисунке 5. Кроме того, мы ведем дополнительные правила 9—13:
Правило 9
Если — истинно и — истинно, то и — истинно.
Правило 10
Если — истинно, то и — истинны.
Правило 11
Если или ложно, то и ложно.
Правило 12
Если ложно, а истинно, то ложно.
Правило 13
Если некоторое допущение исключает возможность пригласить несколько гостей, а всех остальных можно пригласить, не получая противерений, то так и следует поступить (для максимализации приглашенных).
Пользование правил 1—4 и 9—13, раскрашим граф на рисунке 5:
I. Допустим, что — красная:
21
- — черная (4); 2) — черная (3); 3) — черная (3); 4) — черная (3); 5) — черная (3); 6) и — красные (4).
Допустим теперь (руководствуясь правилам 13), что красная: - — красная (2); 8) — красная (9); 9) — красная (2); 10) — красная (9).
Но по правилам 1 не может быть одновременно черной (шаг 4) и красной (шаг 10), значит, если — красная, то — черная.
Построим новый граф (рис. 6) и воспользуемся на нем результатами первых шести шагов. Раскрасием граф на рисунке 6, считая, что — черная:
11) — красная (4); 12) — черная (11); 13) — черная (12);
14) — красная (4); 15) — черная (3); 16) — черная (3).
Допустим, что — красная (13):
17) — черная (4); 18) — черная (12); 19) — красная (4); 20) — красная (12); 21) — красная (4).
Следуя правилам 13, мы сделали красными все три оставшиеся вершины: и . Тогда из графа рисунка 6 следует, что если пригласить , то, кроме того, можно пригласить и (всего 5 гостей).
В рассмотренном варианте (при допущении « — красная») черными оказались три вершины и . Проверим, можно ли в случае « — черная» получить не менее пяты красных вершин, то есть не более трех черных.
II. Допустим, что — черная (рис. 7). Тогда:
- — красная (4); 2) — черная (3); 3) — красная (4);
- — черная (11).
Пусть теперь — красная (13): - — красная (12); 6) — черная (4); 7) — черная (3);
- — красная (9); 9) — красная (2); 10) — красная (4).
Таким образом, уже четые вершины оказались черными ().
Перечертим граф рисунка 7 (рис. 8) — воспользуемся результатами первых четырех шагов и допустим, что — черная. Тогда уже три вершины — черные ( и ), и значит, чтобы получилось не менее пяты красных вершин, необходимо сделать красными все остальные вершины вида .
Но это невозможно, так как если — красная, то
22
- — черная (4); 12) — черная (3).
Таким образом, допущение « — черная» не дает более четырех красных вершин вида . Найбольшее число таких вершин (пять) дает допущение « — красная».
Ответ следует из графа рисунка 6:
мог пригласить максимум пять гостей: и .
Затем и е. При рассмотрении всех четырех вариантов раскрашивания (рис. 5—8) можно было ограничиться лишь одним графом. Для этого его вершины нужно было выполнить в виде кружочков достаточно большого диаметра, разделенных на четыре квадрата, и при рассмотрении каждого варианта закрашивать по одному квадрату.
В заключение отметим, что задачи 1 (о наличии треугольника с однозначными сторонами в графе с шестю вершинами и ребрами двух цветов) и 5 (о наличии такого треугольника в графе с семнадцатью вершинами и ребрами трех цветов) из статьи Л. Ю. Березиной «О графах с цветными ребрами» допускают следующое обобщение (предложенное на XIII Украинской Республикиской олимпиде юных математиков):
Задача 3
Послеовательность задана с помощью рекуррентной формулы: . Доказать, что в графе вершиной, ребра коморого окружены в цветов, найдется треугольник с однозначными сторонами.
Воспользовемся методом математической индукции.
- При . Число вершин .
Граф является треугольником с ребрами одного цвета (то есть искомым треугольником).
- Пусть при утверждение верно, то есть в графе с числом цветов и числом вершин существует треугольник с однозначными сторонами. Пусть теперь . Тогда число вершин равно
Выберем одну из вершин; назовем ее . Она соединяется ребрами цвета с вершинами, число которых . Среди этих ребер по крайней мере — одного цвета (по «приицлу Дирихле»*)) для определенности — синERO. Если одна из вершин связана с другой с ним ребром, то треугольник — искомый. Если же нет, синей цветов не использован в графе, состоящем из вершины, и тогда там использованы только цветов. В этом графе (являющегося часть исходного) по предложению имеется искомый треугольник, а значит, он имеет и в исходном.
Утверждение доказано.
В частности, при (два цвета) (шесть вершин); при ( три цвета) (семнадцать вершин).
(Во всех этих задачах имеются в виду полные графы, у которых любая пара вершин соединена ребром.)