/
Author: Осипова В.А. Нефедов В.Н.
Tags: комбинаторный анализ теория графов дискретная математика
ISBN: 5-7035-0157-Х
Year: 1992
Text
В. Н. НЕФЕДОВ
В. А. ОСИПОВА
КУРС
ДИСКРЕТНОЙ
МАТЕМАТИКИ
Допущено
Государственным комитетом СССР
по народному образованию
в качестве учебного пособия
для студентов вузов,
обучающихся по специальности
«Прикладная математика»
МОСКВА
ИЗДАТЕЛЬСТВО МАК
1982
ББК 16.2.12
Н58
УДК 519.1(075.8)
Рецензенты:
доктор технических наук Л. Т КУЗИН,
кандидат физико-математических наук В. В. МОРОЗОВ
Нефедов В. Н., Осипова В. А.
Н58 Курс дискретной математики: Учеб, пособие.—М.:
Изд-во МАИ, 1992.— 264 с.: ил.
ISBN 5-7035-0157-Х
Излагаются основы современной дискретной математики Рассмат-
риваются вопросы, связанные с математической логикой, теорией ал-
гебраических систем, комбинаторикой, теорией графов. Приводится
ряд практических задач и даются алгоритмы их решения.
Учебное пособие предназначено для студентов, обучающихся по
специальности «Прикладная математика», но может оказаться полез-
ным также н студентам экономических н технических факультетов,
изучающих курс «Дискретная математика».
„ £W2120000-10 л _
Н----------------6-90
094(02)-92
ББК 16.2.12
ISBN 5-7035-0157-Х
© В. Н. Нефедов, В. А. Осипова, 1992
ПРЕДИСЛОВИЕ
В последние годы инженеры-математики, занимаю-
щиеся прикладными исследованиями, все больше
используют аппарат дискретной математики. Это
объясняется необходимостью создания и эксплуата-
ции современных электронных вычислительных ма-
шин, средств передачи и обработки информации,
автоматизированных систем управления и проекти-
рования. Наконец, в современной математической
науке исследования в областях, традиционно относя-
щихся к дискретной математике (математической
логике, теории алгебраических систем, теории гра-
фов и сетей и т. д.), занимают все более заметное
место.
Цель создания учебного пособия — научить сту-
дентов основам дискретной математики, где дискрет-
ность понимается как антипод непрерывности. В на-
стоящее время наряду с такими классическими раз-
делами математики, как математический анализ,
дифференциальные уравнения, в учебных планах спе-
циальности «Прикладная математика» и многих дру-
гих технических и экономических специальностей
появились разделы по математической логике, алгеб-
ре, комбинаторике и теории графов. В связи с этим
представляется целесообразным создание учебного
пособия для студентов младших курсов, в котором
основы перечисленных разделов математики излага-
лись бы в доступной форме, но достаточно полно и
строго.
Данное издание включает в себя не только основ-
ные понятия и теоретические результаты, но также
методы и алгоритмы решения ряда прикладных
задач.
Во введении рассматриваются начальные понятия
математики: множества, отношения и функции.
В первой главе излагаются основы логики выска-.
зываний и логики предикатов. Аппарат логики вы-
3
сказываний используется при изучении булевых функ-
ций. На примере логики высказываний осуществля-
ется знакомство со строгой формализацией матема-
тической теории — строится исчисление высказыва-
ний. Затрагиваются вопросы, связанные с эффектив-
ной вычислимостью. С помощью машин Тьюринга и
частично рекурсивных функций уточняются понятия
алгоритма и вычислимости.
Во второй главе рассматриваются основные поня-
тия теории групп, колец и полей. В качестве прило-
жения рассматриваются элементы алгебраической
теории кодирования.
Третья глава посвящена комбинаторике и пере-
числительной теории Пойа, использующей ряд ре-
зультатов и методов теории групп.
В четвертой главе излагаются основы теории
графов (ориентированных и неориентированных).
Приводятся задачи теории графов и сетей, являющие-
ся математическими моделями ряда прикладных
задач. Методы их решения доведены до уровня про-
стых алгоритмов, реализуемых на ЭВМ. Обсуждает-
ся понятие эффективности комбинаторных алгорит-
мов. Рассматривается приложение теории графов к
расчету электрических цепей.
Учебное пособие ориентировано на лекционный
курс, читаемый одним из авторов на факультете
«Прикладная математика» Московского авиационно-
го института. В книгу не включены некоторые спе-
циальные вопросы (методы минимизации булевых
функций, раскраски графов и т. д.), которые студен-
ты изучают при выполнении курсовых работ, а также
при прохождении ими лабораторного практикума.
Введение, гл. 1, 2 и разд. 4.6 написаны В. А. Оси-
повой, гл. 3 и разд. 4.1—4.5 — В. Н. Нефедовым.
ВВЕДЕНИЕ
Рассмотрим понятия «множество», «отношение», «функция»,
с помощью которых строится, по существу, любая математиче-
ская дисциплина.
0.1. НАЧАЛЬНЫЕ ПОНЯТИЯ ТЕОРИИ МНОЖЕСТВ
Под множеством S будем понимать любое собрание определен-
ных и различимых между собой объектов, мыслимое как единое
целое. Эти объекты называются элементами множества S.
В этом интуитивном определении, принадлежащем немец-
кому математику Г. Кантору, существенным является то обстоя-
тельство, что собрание предметов само рассматривается как
один предмет, мыслится как единое целое. Что касается самих
предметов, которые могут входить в множество, то относитель-
но них существует значительная свобода. Это может быть
множество студентов, прису!ствующих на лекции, множество
целых чисел, множество точек плоскости, множество всех лю-
дей, живущих на Земле. Заметим, что канторовская формули-
ровка позволяет рассматривать множества, элементы которых
по юй или иной причине нельзя точно указать (например, мно-
жество простых чисел, множество русских воинов, погибших в
битве на Куликовом поле, и т. д.).
Символом е обозначается отношение принадлежности. За-
пись x&S означает, что элемент х принадлежит множеству S.
Если элемент х не принадлежит множеству S, то пишут
Г. Кантором сформулировано несколько интуитивных прин-
ципов, которые естественно считать выполняющимися для
произвольных множеств.
Интуитивный принцип объемности. Множества А и В счита-
ются равными, если они состоят из одних и тех же элементов.
Записывают А = В, если 4 и В равны, и4#=В — в против-
ном случае.
Пример 0.1. Проиллюстрируем принцип объемности. Мно-
жество А всех положительных четных чисел равно множеству
В положительных целых чисел, представимых в виде суммы
двух положительных нечетных чисел. Действительно, если
хе 4, то для некоторого целого положительного числа m
5
х = 2/п; тогда x = (2m — 1) + 1, т. e. хе В. Если x e В. то для
некоторых целых положительных р и q х=(2р—1) (24?—1) =
—2(р+<?—0> т. е. х<=А.
Множество, элементами которого являются объекты о., ...г
Оп и только они, обозначают {аь ..., ап}.
Пример 0J. В силу принципа объемности {2, 4, 6} — {4, 2>
6} — {2, 4, 4, 6}; {{1, 2}} {1, 2}, так как единственным эле-
ментом множества {{1, 2}} является множество {1, 2}, а мно-
жество {1, 2} состоит из двух элементов: чисел 1 и 2.
При рассмотрении способов задания множеств возникает
проблема их эффективного описания. Ее решение обычно осно-
вано на интуитивном понятии «формы от х». Под формой от х
будем понимать конечную последовательность, состоящую из
слов и символа х, такую, что если каждое вхождение х в эту
последовательность заменить одним и тем же именем некоторо-
го предмета соответствующего рода, то в результате получится
истинное или ложное предложение. Например, формами от х
являются следующие предложения: «3 делит х», «х2 ~ 2х — 1 >
>х», «х2=4», «х — родственник Иванова». Напротив, предло-
жения «для всех х х2— 4 = (х— 2)(х + 2)» и «существует та-
кое х, что х>0» не являются формами от х.
Обозначим форму от х через Р(х).
Интуитивный принцип абстракции. Любая форма P(xj опре-
деляет некоторое множество Л, а именно множество тех и толь-
ко тех предметов а, для которых Р(а) — истинное предложе-
ние.
Для множества А, определяемого формой Р(х), принято»
обозначение А = {х|Р(х)[}.
Пример 0.3.
1. {х|х — положительное число, меньшее 9} = {1. 2. 3. 4,
5, 6, 7, 8}.
2. {х|х — четное число} — множество четных чисел.
Описанные выше понятия теории множеств с успехом могут
быть использованы в началах анализа, алгебры, математиче-
ской логики и т. д. Однако надо иметь в виду, что при более
строгих рассмотрениях такое интуитивное восприятие может
оказаться неудовлетворительным.
Несовершенство интуитивных представлений о множествах,
их недостаточность иллюстрируются, например, известным па-
радоксом Б. Рассела. Приведем этот парадокс. Можно указать
такие множества, которые принадлежат самим себе как эле-
менты, например множество всех множеств, и такие множества,
которые не являются элементами самих себя, например мно-
жество {1, 2}, элементами которого являются числа 1 и 2. Рас-
смотрим теперь множество А всех таких множеств X, что X
не есть элемент X. Тогда, если Д не есть элемент А, то, по оп-
ределению, Л также есть и элемент А. С другой стороны, если
6
Л есть элемент А, то А — одно из тех множеств X, которые
не есть элементы самих себя, т. е. А не есть элемент А. В любом
.случае Л есть элемент А и А не есть элемент А.
Этот парадокс свидетельствует о том, что широко исполь-
зуемая теория множеств в ее интуитивном, «наивном» изложе-
«ин является противоречивой. Формализация теории множеств,
связанная, в частности, с устранением парадоксов, способство-
вала развитию не только методов теории множеств, ио и такой
науки, как математическая логика.
Через s обозначим отношение включения между множест-
вами, т. е. А^В, если каждый элемент множества А есть эле-
мент множества В. Тогда говорят, что А есть подмножество
множества В. Если А^В и А^В, то говорят, что А есть собст-
венное подмножество В, и пишут АсВ.
Пример 0.4. Множество четных чисел есть подмножество
множества целых чисел; множество рациональных чисел есть
подмножество множества действительных чисел; {1, 2} s {I, 2,
3,4}.
Заметим, что: а) Х = Х; б) если Х^У, то X=Z;
в) если X s У и У X, то X — У.
Нс надо смешивать отношения принадлежности и включе-
ния. Хотя 1 е {!}, {1}е {{!}}, ие верно, что I е {{!}}» так как
единственным элементом множества {{]}} является {!}.
Множество, не содержащее элементов, называется пустым '
и обозначается 0. Пустое множество есть подмножество лю-
бого множества.
Множество всех подмножеств А называется множеством-сте-
пенью и обозначается Р(А).
Пример 0.5. Если А = {1, 2, 3}, то Р(А) = {0, {!}, {2}, {3},
{1,2}, {1,3}, {2, 3}, А}.
В дальнейшем неоднократно будем пользоваться утвержде-
нием, что если множество А состоит из п элементов, то множе-
ство Р(А) состоит из 2rt элементов (см. задачу 3, с. 9).
Рассмотрим методы получения новых множеств из уже су-
ществующих.
Объединением множеств А и В называется множество A U В,
все элементы которого являются элементами множества А
или В-
A (JB = {х|хА или хе В}.
Пересечением множеств А и В называется множество АП В,
элементы которого являются элементами обоих множеств А
и В:
А И В = {х|хеА и х(=В}.
Очевидно, что выполняются включения А 0 # — А A (J В и
АПВсхВ^АиЯ.
7
Относительным дополнением множества А до множества X
называется множество Х\А всех тех элементов множества
которые не принадлежат множеству А:
Х\А = {х\х(=Х и х^А}.
Симметрической разностью множеств А и В называется мно-
жество
А 4- В = (А\В) U ,(В\А).
Если все рассматриваемые в ходе данного рассуждения мно-
жества являются подмножествами некоторого множества V. то-
это множество U называется универсальным для данного рас-
суждения.
Абсолютным дополнением множества А называется множе-
ство А всех тех элементов х, которые не принадлежат множе-
ству А:
а = £Лх.
Заметим, что А\Л = ЛГИ.
Для наглядного представления отношений между подмно-
Рис. 0.1
жествами какого-либо универ-
сального множества используют
диаграммы Эйлера—Венна. Са-
мо универсальное множество U
изображают в виде прямоуголь-
ника, а его подмножества — в
виде кругов, расположенных
внутри прямоугольника. На рис.
0,1, а подмножество А универ-
сального множества U изображе-
но в виде заштрихованного кру-
га. На рис. 0.1,6 — е изображе-
ны соответственно объединение.
пересечение, относительное дополнение, симметрическая раз-
ность, абсолютное дополнение.
Утверждение 0.1. Для любых подмножеств А, В и С универ-
сального множества U выполняются следующие тождества (ос-
новные тождества алгебры множеств):
1. A|JB = BIM (коммута-
тивность и);
2. AU'(BUC) =(AUB)UC
(ассоциативность U);
3. AU(BHC) = (АиВ)П
П (A U С) (дистрибутив-
ность U относительно П);
4. А.и0 = А;
5. A|JA = U;
1'. АПВ = ВПА (коммута-
тивность П);
2'. Afi(BHC) = (АПВ)ПС
(ассоциативность П);
3'. An(BUC) = (АПВ)О
U (А П С) (дистрибутив-
ность П относительно [))>
4'. АП£ = Л;
5'. А п'А = 0;
6. A(JA=A; 6'. ЛрА=А;
7. = _ Т~ АП0 = 3' _
& ' A U В = А р В (закон 8'. АрВ = A UВ (закон
де Моргана); де Моргана);
AJ(ApB)=A (закон^ 9'. Af) (A J В) = А (закон
поглощения); поглощения).
Докажем тождество 3. Сначала покажем, что AU(BpC)^
с (A (J В) П (A U С). Действительно, если х е А 0 (В П С), то
л е А или х е В П С. Если х е Д то х е Л U В и х е A U С. Сле-
довательно, хе (АрВ)р(АрС). Если хеВрС, то хеВ
п хеС. Отсюда xeBIJA и хе Ср А, а значит, хе (A[JB)P(AUC).
Теперь покажем, что (A U В) П (A U С) A U (В П С). Если х е
€= (Л U В) П (A (J Q» то х е A U В и х е А Ц С. Следовательно,
х^А или хеВ и хеС, т. е. хеВрС. Отсюда xeAiJ
U(BnQ.
Докажем тождество 8. Пусть xeAljB. Тогда хе V и хе
е= A J В. Следовательно, хё= А ихеВ. Отсюда хе А п хе В,
а значит, хеАПВ. Итак, АрВ^АрВ. Пусть теперь xeAQB.
Тогда хе А и хе В. Следовательно, xeUjw хёМ и хёВ.
Значит, x«=A|jB, т. с. xeA(JB. Итак, ApB^AijB.
Остальные тождества доказываются аналогично.
Утверждение 0.2. Предложения о произвольных множествах
А и В попарно эквивалентны:
I) А<=В; 2) Арв = А; 3) A(JB = B.
Докажем, что из первого предложения следует второе. Дей-
ствительно, так как А Р В s А, то достаточно показать, что в
этом случае A s А рВ. Но если хе А, то х е В, так как A s В,
и, следовательно, х е А р В.
Докажем, что из второго предложения следует третье. Так
как А рВ — А, то A U В =- (А р В) U В. По закону поглощения
(см. тождество 9) В J (А р В) — В. Отсюда, используя закон
коммутативности, получаем A U В = В.
Докажем, что нз третьего предложения следует первое. Так
как AsAQB, а по условию третьего предложения АрВ =
= В, то A s В.
Задачи и упражнения
1. Доказать, что {{1, 2), {2, 2, 3}.
2. Существуют ли такие множества А, В и С, что АрВ^0,
.АРС = 0, i(ApB)\C=0?
3. Доказать, что если множество А состоит из п элементов,
'го множество Р(А) состоит из 2П элементов.
4. Доказать следующие тождества: _
a) (APB)U(APB) = (AUB)P(AUB) = А;
9
б) (ЛцВ)ПЛ = ЛПВ;
в) (Л\В)\С = (Л\С)Х(В>С);
г) Л\(ВиС) = (Л\В)\С;
д) Л\(В\С) = (ЛХВ)и(ЛПС);
е) Л + (В + С) - (Л + В) + С;
ж) ЛП (В + С) = (ЛПВ) + (ЛПС).
5. Доказать, что:
а) (Д U В) s С тогда и только тогда, когда А С и В S C'z
б) А В Г) С тогда и только тогда, когда А s В и А С;
в) А Л В С тогда и только тогда, когда А В J С;
г) Д В U С тогда и только тогда, когда A Г) В s С.
6. Доказать, что Р(А QB) = Р(Д) QP(B).
7. Какие из утверждений верны для всех А, В и С:
а) если Д £ В и В е С, то А е С;
б) если ДЛВ^Си ДиВ^С, то ДЛС = 0;
в) если А В и В =£ С, то А =£ С;
г) если А еВ U С и В s A (J С, то В = 0?
8. Решить систему уравнений
| ДП* = В;
I дих = с,
где А, В и С — данные множества; В еД s С.
0.2. ОТНОШЕНИЯ И ФУНКЦИИ
Упорядоченная пара <х, у> интуитивно определяется каю
совокупность, состоящая из двух элементов х и у, расположен-
ных в определенном порядке. Две пары <х, у> и <Х
считаются равными тогда и только тогда, когда х — а и у — о.
Упорядоченная n-ка элементов Х\.....хп обозначается
<хь... ,хп> и, по определению, есть <^Xi,..., xn-i>, хп>.
Бинарным (или двуместным) отношением р называется мно-
жество упорядоченных пар. Если р есть некоторое отношение и-
пара <х, у> принадлежит этому отношению, то наряду с запи-
сью <х, г/> ер употребляется запись хру. Элементы х и у‘
называются координатами (или компонентами) отношения р.
п-нарным отношением называется множество упорядоченных;
п-ок.
Областью определения бинарного отношения р называется-
множество /)Р = {х [ существует такое у, что хру}.
Областью значений бинарного отношения р называется мно-
жество 7?р = {{/1 существует такое х, что хру}.
ю
Пример 0.6.
L Множество {<1, 2>, <2, 4>, <3, 3>, <2, 1>} — би-
нарное отношение.
2. Отношение равенства на множестве действительных чисел
•есть множество {<х, у>\х и у — действительные числа и х
равно у}. Для этого отношения существует специальное обозна-
чение = . Область определения £)р совпадает с областью значе-
ний R? и является множеством действительных чисел.
3. Отношение «меньше, чем» на множестве целых чисел есть
множество {<х, ^>| для целых чисел х и у найдется положи-
тельное число z такое, что x + z — y}. Для этого отношения
есть специальное обозначение <. Здесь Dp совпадает с /?р и
является множеством целых чисел.
Прямым произведением множеств X и У называется сово-
купность всех упорядоченных пар <х, у> таких, что хеА и
у е У. Обозначается прямое произведение множеств X и У че-
рез X X У.
Каждое отношение р есть подмножество прямого произведе-
ния некоторых множеств X и У таких, что D»^X и ЯР = У.
Если X = У, то говорят, что р есть отношение на множестве X.
Прямым произведением множеств Х>,..., Хп называется
совокупность всех упорядоченных zz-ок <хь ..., хп> таких, что
х; еХ/, i=l,...» п. Обозначается прямое произведение мно-
жеств Xi,..., Хп через Xi X Х2 X ... X Х„. Если Xi = Х2 = ...
,..—Хп=Х, то пишут Х1ХХ2Х-.-ХХп=Хп. Любое /г-местное
•отношение есть подмножество прямого произведения некоторых
множеств Xi,..., Хп.
Пример 0.7,
1. Пусть X = {1, 2, 3}, У = {0, I}. Тогда
ХхУ={<1, 0>, <1, 1>, <2, 0>, <2, 1>, <3, 0>,
<3, 1>};
УХХ={<0, 1>, <0, 2>, <0, 3>, <1, 1>, <1, 2>,
<1, 3>}.
Мы указали, кроме того, такие множества X и У, что
ХхУ=АУхХ.
2. Пусть X — множество точек отрезка (0, 1], а У — множе-
ство точек отрезка (1, 2]. Тогда X X У — множество точек квад-
рата (0, 1] X [1, 2] с вершинами в точках (0, 1), (0, 2), (1, 1),
(1, 2).
Для бинарных отношений обычным образом определены тео-
ретико-множественные операции объединения, пересечения
И т. д.
Обратным отношением для р называется отношение
Р-1 = {<х, у>\<у, х>е=р}.
Композицией отношений pi и р2 называется отношение
«PzOpi—{<х, z> | существует у такое, что <х, £/2>epi и
<у, Z>€=p2}.
Для любых бинарных отношений выполняются следующие
свойства:
1°- = р;
2е. (раОр1)-|=р1-*Ор2“|.
Первое свойство очевидно. Для доказательства второго
свойства покажем, что множества, записанные в левой и пра-
вой частях равенства, состоят из одних и тех же элементов^
Действительно, <х, y>e(p2Opi)-4=^<y, x>ep2Opi-o су-
ществует z такое, что <у, z> epi и <z, х> ep2-i=> сущест-
вует z такое, что <z, у> epi“l и <х, z> ерг-1 -<=><х, у> е-
е p5~J О р2~х.
Бинарное отношение f называется функцией, если из
<х, и <х> z>>ef следует, что y—z.
Поскольку функции являются бинарными отношениями, то
к ним применим интуитивный принцип объемности, т. е. две
функции f н g равны, если они состоят из одних и тех же эле-
ментов. Область определения функции обозначается Df, а об-
ласть ее значений — Определяются они так же, как и для
бинарных отношений. Часто, приходится сталкиваться с труд-
ностями при определении области значений функции. Поэтому,
если Df = X и Rf^Y, то говорят, что функция f задана на
множестве X со значениями во множестве Y и осуществляет
отображение множества X во множество У (или устанавливает
соответствие между множествами X и У). Это отображение
обозначается таким образом: /:Х-> У.
Если f — функция, то вместо <х, у> пишут у — f(x) и
говорят, что у — значение, соответствующее аргументу х, или
у — образ элемента х при отображении f. При этом х называ-
ют прообразом элемента у.
П.р|имер'0.8. Отношение {<1, 2>, <2, 3>, <□, —
функция; отношение {<1, 2>, <1, 3>, <2, 4>} не является
функцией; отношение {<х, х2 4-2х 4-1> |х — действительное
число} —функция, которую обычно обозначают у = х2 + 2х+ 1..
Назовем f «-местной функцией из X в У, если f: Хп -> У.
Тогда пишем у = Цхь.,., хп) и говорим, что у — значение*
функции при значении аргументов хь..., хп.
Пусть f: X-> У. Функция (отображение) f называется инъек-
тивной (инъективным), если для любых xlt х* у нз y = f(xx) и-
^ = f(x2) следует, что х} = хг (или, иначе, из <хь y>^f и
<х2, y>^f следует, что xt = х2). Функция (отображение) f
называется сюръективной (сюръективным), если для любого’
элемента уеУ существует элемент хеХ такой, что y = f(x).
Функция (отображение) f называется биективной (биектив-
ным), если f одновременно сюръективна и инъективна. Если-
существует биективная функция f: Х->У, то говорят, что f осу-
ществляет взаимно однозначное соответствие между множест-
вами X и У.
12
Пример 0.9. Рассмотрим три функции, отображающие мно-
жество действительных чисел R во множество действительных
чисел, fi: R->R, 2, 3:
Й функция fi(x) ~ех инъективна, но не сюръективна;
2) функция fz(x)=x3 — х сюръективна, но не инъективна;
3) функция fs(x) = 2х + 1 биективна.
Композиция двух функций fug есть отношение gOf—
= {<х, | существует у такое, что xfy и ygz}.
Утверждение 0.3. Композиция двух функций есть функция.
При зтом, если f : Х->У, g : Y-+Z, то gOf : X-+Z.
Действительно, если <х, y>^gOf и <х, e><=gOf, то
существует такое и, что xfu, ugy, и существует такое о, что xfv,
vgz. Поскольку f — функция, то и = v; поскольку g — функ-
ция, то у « z и, следовательно, g О f — функция. Вторая часть
утверждения очевидна.
Верно также и следующее утверждение.
Утверждение 0.4. Композиция двух биективных функций
есть биективная функция.
Тождественным отображением множества X в себя называ-
ется отображение ех: Х-+Х такое, что для любого х^Х
ех(х)—х. Тогда, если f то £yOf=f, fOex=f.
Пусть f-1 — отношение, обратное f. Выясним, при каких
условиях отношение f~* будет функцией. Его называют тогда
обратной функцией или, если f осуществляет отображение мно-
жества X во множество Y, обратным отображением.
Утверждение 0.5. Отображение f'.X-+-Y имеет обратное ото*
бражение : У->Х тогда и только тогда, когда f — биекция.
Если f — биекция, то, поскольку f сюръективно, f~l опреде-
лено на множестве Y. Кроме того, f — функция, так как если
<у, Xi><=f~l И <у, Х2> TO <X1, у> Gf И <ХЪ у> Gf,
а в силу инъективности f имеем = х&.
Пусть теперь отображение f имеет обратное отображение
f-1, определенное на множестве Y со значениями во множестве
X. Тогда f сюръективно, поскольку любой элемент у е Y имеет
прообраз хеХ. При этом f инъективно, так как если <xb
y>Gf и <хъ у> G f, то <у, xi>Gf~\ <у, x2>ef~l, а по-
скольку f~l — функция, TO Х1 = *2-
Заметим, что, для того чтобы обратное отношение f-1 было
функцией, достаточно инъективности функции f.
Поскольку функция есть бинарное отношение, то выполня-
ются следующие свойства инъективных функций f и g:
Г. (p)-» = f;
2°.
Если f: X -> У — биекция, то
3°- (Г1 Of) = ех;
4°. (fOf~‘) = er.
13
Задачи и упражнения
1. Найти Dft Rf, р-1, рОр, р-1Ор, рОр“* отношений: j
а) р = {<х, у> |х, у — натуральные числа и х делит уг,
б) р = {<х, у> |х, у — действительные числа и х + у 0}1
в) Р = {<*> У> к У €= [- -f-. и у sinx).
2. Найти геометрическую интерпретацию множества Л,!Х В,
где А — множество точек отрезка [0, 1]; В — множество точек
квадрата с вершинами в точках (0, 0), (0, 1), (1, 0), (1, 1).
3. Доказать, что (ЛХВ)и(СХВ)<=(ЛиС)Х(ВЦВ). При
каких Л, В, С, D включение можно заменить равенством?
4. Доказать, что для произвольных множеств Л, В, Ct D:
а) (ЛПВ)Х (СПВ) = (ЛхС)П(ВХВ);
б) (ЛОВ) ХС= (Л XC)U(BXC);
в) (Л\В) х С = (Л X С)\(В X С);
г) Л х (В\С) = (Л X В)\(Л х С).
5. Пусть Л, В^=0 и (Л х В) |J (В х Л) = С х D. Доказать,
что в этом случае А = В = С = D.
6. Доказать, что число бинарных отношений и а «-элемент-
ном множестве равно 2п>.
7. Пусть X — конечное множество и отображение f:X-^X
инъективно. Доказать, что тогда f биективно.
8, Характеристической функцией множества А называется
функция
|1, если хе Л;
— |0j если
Пусть известны характеристические функции множеств Л
н В. Доказать, что:
а) хлпе .(*) = хлМ -xBW;
б) хлцв (*) =хл(*) + xBW-хл W xBW;
в) хл(4 = •—xxW;
г) X (*) ~ Хл(^) X л (*) XbC*)-
9. Доказать, что для любой функции f и произвольных мно-
жеств А и В:
a) fHuB)=fH)Uf(B);
б) Л(Л ПВ) £ f (Л) П/(В). В каком случае включение мож-
но заменить равенством?
в) f.H)\f-(B) (Л\В).
14
0.3. (СПЕЦИАЛЬНЫЕ БИНАРНЫЕ ОТНОШЕНИЯ
В математике важную роль играют два вида специальных би-
нарных отношений: отношение эквивалентности и отношение
порядка.
фношение р на множестве X называется рефлексивным.
если (для любого элемента xf X выполняется хрх.
Отношение р на множестве X называется симметричным.
если для любых х, у^Х из хру следует урх.
Отношение р на множестве X называется транзитивным,
если для любых х, у, z е X из хру, ypz следует xpz.
Рефлексивное, симметричное и транзитивное отношение на
множестве X называется отношением эквивалентности на мно-
жестве X.
Пример 0.10.
1. Отношение равенства на множестве целых чисел есть
отношение эквивалентности.
2. Отношение подобия на множестве треугольников есть
отношение эквивалентности.
3. Отношение х<у на множестве действительных чисел не
рефлексивно, не симметрично, но транзитивно на этом множе-
стве.
4. Отношение сравнимости по модулю натурального числа
п на множестве целых чисел Z:xs^(modn) тогда и только
тогда, когда х—у делится на п. Это отношение рефлексивно
па Z, так как для любого x^Z х—х = 0, и, следовательно,
делится на п. Это отношение симметрично, так как если х—у
делится иа п, то у—х делится на п. Это отношение транзитив-
но, так как если х—у делится иа п, то для некоторого целого
6 имеем х—y=tin, а если у—z делится иа п, то для некото-
рого целого t2 имеем у—z=t2n. Отсюда х—z=(/i+k)n,
т. е. х—z делится на л.
5. Отношение принадлежности к одной студенческой груп-
пе и а множестве студентов института — отношение эквивалент-
ности.
6. На множестве W X N, где N — множество натуральных
чисел, определим отношение р:<х, у>р<и, v>•<=>• xv = уи.
Это отношение рефлексивно: <х, у> р <х, у>, так как ху »
= ух\ симметрично: если <х, у>р<и, t?>, то <и, о>р<х,
у>, так как из хи = уи следует, что и иу = vx\ транзитивно:
если <х, у>р<и, ci>, <и, P>p<w, z>, то <х, y>p<w.
z>, так как, перемножая левые и правые части равенств xv —
= у и и uz = vw, после сокращения получаем xz = yw.
Пусть р — отношение эквивалентности иа множестве X.
Классом эквивалентности, порожденным элементом х, назы-
вается подмножество множества X, состоящее из тех элементов
15
у^Х, для которых хру. Класс эквивалентности, порожденный
элементом х, обозначается через [х]:
Ия {у\У^Х п ад}.
Пример 0.11.
1. Отношение равенства на множестве целых чисел порож-
дает следующие классы эквивалентности: для любого элемента
jcgZ(x]={x}, т. е. каждый класс эквивалентности состоит
только из одного элемента — числа х.
2. Отношение сравнимости по модулю числа п на множестве
целых чисел Z порождает следующие классы эквивалентности:
вместе с любым числом neZ в этом же классе эквивалентно-
сти содержатся все числа вида а + kn, где k — целое. Очевид-
но, что числа 0, 1, 2,..., п—1 порождают различные классы
эквивалентности, которые обозначим [0], fl], [2],..., [л— 1]. Они
называются классами вычетов по модулю п. Все остальные клас-
сы эквивалентности для этого отношения совпадают с ними,
так как любое число aeZ можно представить в виде a=qn-\-
4- г, где 0 г < п.
3. Для отношения принадлежности к одной студенческой
группе классом эквивалентности является множество студен-
тов одной группы.
4. Класс эквивалентности, порожденный парой <х, у> для
отношения р из примера 0Л0, п. 6, определяется соотношением
[<х, У>\ = {<«, о> | у =
Каждый класс эквивалентности в этом случае определяет
одно положительное рациональное число.
Утверждение 0.6. Пусть р — отношение эквивалентности на
множестве X. Тогда: 1) если хеХ, то xefx]; 2) если х, у еХ
И хру, то {х] = [у] (т. е. класс эквивалентности порождается
любым своим элементом).
Для доказательства первой части утверждения достаточно
воспользоваться рефлексивностью отношения р:хрх и, следо-
вательно, хе[х]. Докажем вторую часть утверждения. Пусть
2е[у]. Тогда ypz и в силу транзитивности отношения р xpz,
т. е. 2<=[х]. Отсюда [у] S (х]. Аналогично в силу симметрично-
сти р можно показать, что (x]e[i/], а значит, (х] =[//].
Разбиением множества X называется совокупность попарно
непересекающихся подмножеств X таких, что каждый элемент
множества X принадлежит одному и только одному из этих под-
множеств.
Пример 0.12.
1. X = {1, 2, 3, 4, 5}. Тогда {{1, 2}, {3, 5}, {4}} — разбиение
множества X.
2. Пусть X — множество студентов института. Тогда разби-
ением-этого множества является, например, совокупность сту-
денческих групп.
Утверждение 0.7. Всякое разбиение множества X определя-
ет на X отношение эквивалентности р: хру тогда и только тогда,
когда х и у принадлежат одному подмножеству разбиения.
Рефлексивность и симметричность р очевидны. Пусть теперь
хру и ypz. Тогда х, у е Хъ у, zgX2, где Xi и Х2 — подмноже-
ства из разбиения X. Поскольку yEXh у^Х2, то Xi = Х2. Сле-
довательно, х, zeXi и xpz.
Утверждение 0.8. Всякое отношение эквивалентности р оп-
ределяет разбиение множества X на классы эквивалентности
относительно этого отношения.
Докажем, что совокупность классов эквивалентности опре-
деляет разбиение множества X. В силу утверждения 0.6 х е [х].
а следовательно, каждый элемент множества X принадлежи г
некоторому классу эквивалентности. Из утверждения 0.6 выте-
.кает также, что два класса эквивалентности либо не пересека-
ются, либо совпадают, так как если ze[x] и ze [^], то xpz. от-
куда {xj=i[z], и ypz, откуда Й = [z]. Следовательно, [х] = [у].
Совокупность классов эквивалентности элементов множест-
ва X по отношению эквивалентности р называется фактор-мно-
.жеством множества X по отношению р и обозначается Х/р.
Рассмотрим еще один тип специальных бинарных отноше-
ний. Отношение р на множестве X называется антисимметрич-
ным, если для любых х, у^Х из хру и урх следует х = у.
Рефлексивное, антисимметричное и транзитивное отношение
Называется отношением частичного порядка на множестве X и
обозначается символом -<.
Пример 0.13.
1. Отношение х^.у на множестве действительных чисел
есть отношение частичного порядка.
2. Во множестве подмножеств некоторого универсального
множества V отношение Л е В есть отношение частичного по-
рядка.
3. Схема организации подчинения в учреждении есть отно-
шение частичного порядка на множестве должностей.
Отношение частичного порядка на множестве X, для ко-
торого любые два элемента сравнимы, т. е. для любых х, t/e X
х<Су или у<(х, называется отношением линейного порядка.
Пример 0.14. В примере 0.13 отношение, определенное в
и. 1, есть отношение линейного порядка, а отношение, опреде-
ленное в п. 2, таковым не является.
Заметим, что мы определили тип отношений, прообразом
которых служит интуитивное понятие отношения порядка (пред-
шествования, предпочтения).
Пусть на множестве X задано отношение частичного поряд-
ка р. Как можно задать отношение частичного Порядка на мно-
жестве X X X, т. е. как сравнивать пары элементов и» мновкест-
2-1529 7
ва X? Одни из возможных способов состоит в следую-
щем: на множестве XXX определяем отношение П условием
<а, d>-$=>apc и bpd. Отношение П есть отношение
частичного порядка. Оно ^называется отношением Парето.
Множество X с заданным на нем частичным (линейным}
порядком называется частично (линейно) упорядоченным.
Рассмотрим непустое конечное множество X, на котором
задано отношение частичного порядка Запишем х-^у, если-
х^у и х=£у. Говорят, что элемент у покрывает элемент х,
если х-^у и не существует такого элемента и, что х<«<^.
Тогда х^у равносильно тому, что существуют такие элементы
Х1,..., хп, что х = Xi -< х2 -<... -< хп = у, где x,+i покрывает х/.
Любое частично упорядоченное множество можно предста-
вить в виде схемы, в которой каждый элемент изображается точ-
кой на плоскости, и если у покрывает х, то точки х и у соеди-
няют отрезком, причем точку, соответствующую х, располагают
ниже у. Такие схемы называются диаграммами Хассе. На рис.
0.2, а, 6 показаны две диаграммы Хассе, причем вторая соот-
ветствует линейно упорядоченному множеству.
Рис 0.2 Рис. 0.3
Пример 0.15. Рассмотрим три отношения частичного поряд-
ка и построим для них диаграммы Хассе:
1. Пусть А = {I, 2, 3}. На множестве Р(Л) рассмотрим от-
ношение «быть подмножеством». Множество Р(Д) содержит
восемь элементов: {0, {!}, {2}, {3}, {I, 2}, {1, 3}, {2, 3}, {1, 2,
3}}. Его диаграмма Хассе изображена на рис. 0.3, а (отрезок,,
соединяющий точки {1, 2} и {I, 2, 3}, на рисунке не показан).
2. Пусть X — {I, 2, 3, 5, 6, 10, 15, 30}. На этом восьмиэле-
ментном множестве рассмотрим отношение частичного порядка
«х-<^ч=>£ делится на х». Диаграмма Хассе для этого отноше-
ния изображена на рис. 0.3,6 (отрезок, соединяющий точки &
и 30, на рисунке не показан).
18
3. На множестве X = {1, 2, 3, 4, 5, 6, 7, 8} рассмотрим отно-
шение линейного порядка Его диаграмма Хассе изображена
на рис. 0.3, в.
Заметим, что диаграммы Хассе первых двух отношений сов-
падают. Это означает, что эти частично упорядоченные множе-
ства имеют одинаковую структуру, причем отличную от струк-
туры третьего частично упорядоченного множества, хотя оно
тоже содержит восемь элементов. Более точно такая общность
структуры определяется понятием изоморфизма.
Два частично упорядоченных множества X и Y называются изоморфны-
ми, если существует биекция ф: Х-* У, сохраняющая отношение частичного
порядка. Иными словами, xi<x2 тогда и только тогда, когда ф(Х|)<ф(х2),
где < и — отношения частичного порядка, заданные на множествах X и
х Y
У соответственно.
Частично упорядоченные множества, рассмотренные в при-
мере 0.15 (пункты 1 и 2), изоморфны.
Утверждение 0.9. Всякое частично упорядоченное множест-
во X изоморфно некоторой системе подмножества множества X,
частично упорядоченной отношением включения.
Для каждого элемента аеХ рассмотрим множество Sa =
— {х^Х | х<а}. Тогда Sa^X и {So | а^Х} — совокупность
всех таких подмножеств. Докажем, что эта система подмно-
жеств, частично упорядоченная отношением включения, изо-
морфна X. Рассмотрим отображение <р: {Sa | а еХ} такое,
что <p(a) = Sa. Тогда ф — биекция. Действительно, если Sa =
=3ь, то, поскольку ae<So в силу рефлексивности <, имеем
и Аналогично получаем Ь-<а и в силу антисиммет-
ричности имеем a=bt т. е. отображение <р инъективно. Кро-
ме того, <р сюръективно, так как у любого подмножества So
есть прообраз а. Докажем, что отображение сохраняет отноше-
ние частичного порядка. Пусть а-^Ь. Тогда из х-<а в силу тран-
зитивности отношения «< следует х-<&, а значит, и SC^S&.
Если Sa^Sb, то, поскольку ае5а, имеем a&S&, откуда
Задачи и упражнения
1. Привести примеры отношений:
а) не рефлексивного, но симметричного и транзитивного;
б) ие симметричного, ио рефлексивного и транзитивного;
в) не транзитивного, но рефлексивного и симметричного.
2. На множестве прямых на плоскости рассмотрим отно-
шения:
2* 13
а) параллельности прямых;
б) перпендикулярности прямых.
Определить, будут ли эти отношения отношениями эквива-
лентности на этом множестве.
3. На множестве W X N, где М — множество натуральных
чисел {1, 2, 3...}, определим отношение р:<х, у>р<и,
v> -фф-х + v = у 4- и. Доказать, что р — отношение эквивалент-
ности на этом множестве.
4. Доказать, что пересечение отношений эквивалентности на
множестве X есть отношение эквивалентности и а этом множе-
стве.
5. Доказать, что объединение pi U р2 двух отношений экви-
валентности р! и pa, заданных на множестве X, является отно-
шением эквивалентности тогда и только тогда, когда pi U Р2 =
== Р1О р2-
6. Доказать, что если р — частичный порядок, то р-1 — так-
же частичный порядок.
7. Привести пример линейного порядка на множестве N X
где W — множество натуральных чисел.
8. Доказать, что всякий частичный порядок на конечном
множестве может быть продолжен до линейного порядка.
0.4. АЛГЕБРАИЧЕСКИЕ ОПЕРАЦИИ
Систематизируем понятие алгебраической операции, с которым;
мы уже встречались в различных разделах курса математики.
Пусть дано множество М. Говорят, что на М определен»
бинарная алгебраическая операция, если всякой упорядоченной
паре элементов множества М по некоторому закону ставится
в соответствие вполне определенный элемент этого же множе-
ства.
Примерами бинарных операций на множестве целых чисел’
являются сложение и умножение. Однако нашему определению’
не удовлетворяют, например, множество отрицательных целых
чисел относительно умножения и множество действительных
чисел относительно деления из-за невозможности деления на.
нуль.
Среди известных бинарных операций, производимых не над-
числами, отметим векторное умножение векторов пространства^
умножение квадратных матриц порядка п, композицию отобра-
жений множества X в себя, теоретико-множественное объедине-
ние и пересечение множеств.
Как видим, фактическое задание алгебраической операцию
иа множестве может быть произведено различными методами.
Возможно также непосредственное перечисление всех результа-
тов операции для конечных множеств. Его удобно описать с
помощью так называемой таблицы Кэли. Слева и сверху квад-
ратной таблицы выписывают все элементы множества. На пере-
20
Таблица 0)
Xi Xz x3 Xi
Xi Xi Xz xa Xi
хг Х2 х3 Xi Xi
х3 х3 Xi Xi Xz
*4 Xi Xi Xz x9
Т а б л-и ц а 0:2
и л
и и л
Л л л
сечении строки, соответствующей элементу а, и столбца, соот-
ветствующего элементу Ь, записывают результат операции над
а и &. Из двух приведенных таблиц Кэли (табл. 0.1 и 0.2) вто-
рая— таблица для операции конъюнкции на множестве {И, Л},
о которой будет говориться в гл. 1.
Будем употреблять следующую терминологию и символику:
операцию называть умножением, а результат применения опе-
рации к элементам а и >Ь — произведением ab. Это мультипли-
кативная терминология. Иногда естественнее и удобнее исполь-
зовать аддитивную терминологию и символику: операцию назы-
вать сложением, а результат ее выполнения — суммой а +6»
элементов а и Ь.
Если для любых элементов а и Ъ множества М справедливо-
равенство ab = Ьа, то операцию называют коммутативной. Ком-
мутативны, например, сложение и умножение чисел, сложение-
матриц одного порядка и т. д. Некоммутативными операциями
являются векторное произведение векторов, произведение мат-
риц порядка п при п 2 и др.
Если для любых элементов а, \Ь, с множества М справедли-
во равенство a(bc) = (ab)c, то операцию называют ассоциатив-
ной. Ассоциативны, например, сложение и умножение целых
чисел, умножение матриц, композиция отображений, а также
операции, определенные таблицами Кэли. Неассоциативиой*
операцией является векторное умножение векторов простран-
ства.
В ряде случаев множество 51, на котором определена алге-
браическая операция, обладает единичным элементом, т. е..
таким элементом е, что ае = еа = а для всех а из М. Единич-
ный элемент единственен, так как если существует еще один эле-
мент е' с этим же свойством, то ее7 = е и ее? = е', откуда е = е'.
При аддитивной записи единичный элемент называется нулевым-
и обозначается 0.
На множестве квадратных матриц порядка п единичные
21’
элементом относительно операции умножения является единич-
ная матрица, на множестве отображений множества X в себя
единичным элементом относительно композиции отображений
является тождественное отображение. Число 1 есть единичный
элемент множества целых чисел относительно операции умно-
жения, а множество четных чисел не имеет единичного элемен-
та относительно этой операции.
Если операция ассоциативна, то можно однозначно говорить
о произведении любого конечного числа элементов, взятых в
определенном порядке. Пусть дана упорядоченная система из п
элементов множества М: а-,..., ап, в которой некоторым
образом расставлены скобки, указывающие на порядок выпол-
нения операции.
Теорема 0.1. Если операция, определенная на М, ассоциа-
тивна, то результат ее последовательного применения к п эле-
ментам множества не зависит от расстановки скобок.
Доказательство проведем индукцией по числу множителей
п. Для /1 = 3 утверждение теоремы следует из закона ассоциа-
тивности. Докажем это для п множителей, предполагая, что
для меньшего числа множителей утверждение верно. В этом
случае достаточно доказать, что для любых Л и /, где 1 k,
l^n—\, (ai...ah)(ah-ri...an) = (ai...al)(al+i...an)t так
как внутри скобок расстановка их несущественна по индуктив-
ному предположению. Для этого покажем, что обе части равен-
ства совпадают с произведением элементов Л1,..., ап, взятых
в следующем фиксированном порядке: (... ((aia2)a3) ... an-i)an
(это произведение называется левонормированным произведе-
нием элементов аь..., ап). Действительно, при k = n—1 име-
ем (си ... an-i)an = (... (flia2) ... an-i)an, т. е. левонормиро-
ванное произведение. При k < п — 1 ввиду ассоциативности
получаем {ах...ак) (aft+l.. .ctn) = (a1.. .ак} ((aft+l.. .an-i)an) =
= ((«! ...aft)-(aft+l...an_1)) an = (ata2) .
... an_i)an, т. e. снова имеем левонормированное произведение.
К такому же виду приводится и правая часть доказываемого
равенства.
В силу теоремы 0.1 при записи и вычислении произведения
а}... ап скобки не ставят, а следят только за порядком мно-
жителей, и то лишь в случае, если операция некоммутативна.
В частности, при си = а2 = ... = ап = а произведение аа... а
обозначают символом ап и называют л-й степенью элемента.
Если множество М обладает единичным элементом, то полага-
ют а° = е.
Из теоремы 0.1 вытекают соотношения
а™ап = am+n-t (am)n = amn, tn, n^N. (0.1)
В аддитивной символике степеням соответствуют кратные
па = а 4- а + ... 4- а и выполняются соотношения
та + па = (т + п)а\ п(та) = (пт) а, т, пек'.
22
ЭЛЕМЕНТЫ
МАТЕМАТИЧЕСКОЙ
ЛОГИКИ
ГЛАВА 1
Математическая логика—современный вид формальной1
логики, т. е. науки, изучающей умозаключения с точки зрения
их формального строения. Рассмотрим следующие два умоза-
ключения:
I) «Все люди смертны. Сократ — человек. Следовательно,
Сократ смертен»;
2) «Все граждане России имеют право на образование. Ива-
нов— гражданин России. Следовательно, Иванов имеет право>
на образование».
Легко заметить, что они составлены, в сущности, по одной
и той же формальной схеме: «Все М суть Р; S есть М. Следо-
вательно, S есть Р».
Содержание терминов S, Р, М для справедливости этих умо-
заключений безразлично. Умозаключения, составленные по этой
схеме, ученые-схоласты назвали силлогизмами первой фигуры
по модусу Barbara.
Вплоть до начала XIX в. формальная логика практически
нс выходила за рамки такого рода силлогических умозаклю-
чений. Однако, начиная с работ Дж. Буля, можно говорить о
превращении ее в математическую логику. Особенности мате-
матической логики заключаются в ее математическом аппарате,
в преимущественном внимании к умозаключениям, применяе-
мым в самой математике.
Математическая логика — это обширная наука, которая
кроме традиционной проблематики занимается вопросами осно-
ваний математики и теории алгоритмов и имеет целый ряд
приложений.
23
1.1. ЛОГИКА ВЫСКАЗЫВАНИЙ
1.1.1. Высказывания. Логические связки.
Формулы логики высказывании
Под высказыванием принято понимать языковое предложе-
ние, о котором имеет смысл говорить, что оно истинно или
ложно.
Высказываниями являются, например, следующие предло-
жения: «2X2=4», «5 — простое число», «Волга впадает в Чер-
ное море». Первые два предложения истинны, а третье — лож-
но. Предложения «Вашингтон — столица США», «Нью-Йорк —
столица США», «Царевич Дмитрий был убит но приказу Бори-
са Годунова» являются высказываниями, причем первое из них
истинно, второе — ложно, а третье до сих пор обсуждается
историками. Предложения «х -н у = 4» и «Который час?» вы-
сказываниями не являются. Предложения «Город стоит на бе-
регу реки» и «Сегодня хорошая погода» тоже не следует
относить к высказываниям ввиду их недостаточной уточнен-
ное™.
В логике высказываний интересуются не содержанием, а
.истинностью или ложностью высказываний (т. е. их истинност-
ным значением). Истинностные значения — истина и ложь —
будем обозначать И и Л соответственно. Множество {И, Л}
называется множеством истинностных значений.
Грамматическими средствами в разговорном языке нз не-
скольких простых высказываний можно составить сложное
(составное) высказывание. Например, с помощью союзов «и»,
«или» и отрицательной частицы «не» можно из простых выска-
зываний «Москва стоит на берегу Невы» (ложного) и «Санкт-
Петербург стоит на берегу Невы» (истинного) составить следу-
ющие сложные высказывания: «Москва не стоит на берегу Не-
вы», «Москва стоит на берегу Невы или Санкт-Петербург стоит
на берегу Невы», «Москва стоит на берегу Невы и Санкт-Петер-
бург стоит на берегу Невы». Первые два высказывания истинны,
а последнее — ложно.
Рассмотрим также логические операции (связки) над вы-
сказываниями, при которых истинностные значения составных
высказываний определяются только истинностными значениями
составляющих высказываний, а не их смыслом.
Отрицанием высказываний Р называется высказывание,
истинное тогда и только тогда, когда высказывание Р ложно.
Отрицание Р обозначается через ПР и читается как «не Р».
Отрицание высказывания определяется также таблицей истин-
ности (см. табл. 1.1).
В разговорной речи отрицание соответствует составлению
из высказывания Р нового высказывания, например: «неверно,
что Р».
:24
Таблица 1.1
Таблица 1.2
Таблица 1.3
р ~\р
и л
л и
р Q P&Q
и и И
и л л
л и Л
л л Л
р Q PVQ
И и и
и л и
л и и
Л л л
Конъюнкцией двух высказываний Р и Q называется выска-
зывание, истинное тогда и только тогда, когда истинны оба
высказывания. Конъюнкция высказываний Р и Q обозначается
через P&Q и читается как «Р и Q». Конъюнкция определяется
также таблицей истинности (см. табл. 1.2).
В разговорной речи конъюнкции соответствует соединение
высказываний союзом «и».
Дизъюнкцией двух высказываний Р и Q называется выска-
зывание, ложное тогда и только тогда, когда оба высказывания
ложны. Дизъюнкция высказываний Р и Q обозначается через
Р V Q и читается как «Р или Q». Дизъюнкция определяется
также таблицей истинности (см. табл. 1.3).
В разговорной речи дизъюнкция соответствует соединению
высказываний союзом «или» в неразделительном смысле.
Из двух высказываний Р и Q можно составить высказыва-
ние «Р влечет Q» (или, иначе, «из Р следует Q»t «если Р, то
Q»). Не математик может признать утверждение типа «если
2x2=5, то Москва — столица России» ложным, поскольку
для него истинность высказываний «Р влечет Q» означает, что
Р по смыслу должно влечь за собой Q. Но тогда связка «вле-
чет» зависит от смысла самих этих высказываний. Однако
практика показывает, что можно обороты типа «Р влечет Q»
и «из Р следует Q» использовать таким образом, чтобы под
ними каждый раз подразумевалась некоторая операция, не за-
висящая от смысла высказываний. Рассмотрим следующие вы-
сказывания:
1) если 0 = 0, то 1 ~ 1;
2) если 0 = 1, то 0 = 0;
3) если 0 = 0, то 0 = 1;
4) если 0 = 1, то 1 = 2.
Первое утверждение естественно считать истинным, посколь-
ку, используя равенство 0 = 0, а также другие свойства чисел,
можно вывести равенство 1 = 1 (например, прибавляя 1 к обеим
частям равенства 0 = 0).
Второе утверждение также естественно считать истинным:
умножая на 0 обе части равенства 0=1, получаем равенство
0 = 0.
25
Третье утверждение приходится считать ложным, ибо, исхо-
дя из истинного равенства, мы с помощью умозаключений ни-
когда не придем к ложному.
Четвертое утверждение естественно считать истинным: при-
бавляя 1 к обеим частям равенства 0=1, получаем равенство
1 = 2.
Таким образом, используя оборот «если Р, то Q» как логи-
ческую операцию (связку), определим ес следующим образом.
Импликацией двух высказываний Р и Q называется выска-
зывание, ложное тогда и только тогда, когда Р истинно, a Q
ложно. Импликация высказываний Р и Q обозначается через
Pz)Q (или P=^Q) и читается как «Р влечет Q» (или, иначе,
«если Р, то Q», «из Р следует Q»). Высказывание Р называет-
ся посылкой импликации, а высказывание <Q — заключением
импликации. Импликация определяется также таблицей истин-
ности (см. табл. 1.4).
Эквиваленцией двух высказываний Р и Q называется выска-
зывание, истинное тогда и только тогда, когда истинностные
значения Р и Q совпадают. Эквиваленция высказываний Р и Q
обозначается через Р ~ Q и читается как «Р эквивалентно Q».
Эквиваленция определяется также таблицей истинности (см.
табл. 1.5).
Таблица 1.4
р Q P=>Q
И И л л И л И л И л и и
Т а блица 1Л
р Q P~Q
И И л л И л И л и л л и
Определим понятие формулы логики высказываний.
Алфавитом называется любое непустое множество. Элемен-
ты этого множества называются символами данного алфавита.
Словом в данном алфавите называется произвольная конечная
последовательность символов (возможно, пустая). Слово а на-
зывается подсловом слова Ь, если b — biabz для некоторых слов
bi и Ь&
Алфавит логики высказываний содержит следующие симво-
лы: высказывательные переменные Х\, Х& Х$,...; логические
символы &, \/, "1, ~; символы скобок (,).
Слово в алфавите логики высказываний называется форму-
лой, если оно удовлетворяет следующему определению:
1) любая высказывательная переменная — формула;
2) если А и В — формулы, то (~И), (А&В), (А\/В),
(ЛгэВ), (Л~В) — формулы;
26
3) только те слова являются формулами, для которых это
следует из 1) и 2).
Подформулой формулы А называется любое подслово А,
само являющееся формулой.
Для упрощения записи будем в формуле опускать внешние
скобки и те пары скобок, без которых можно восстановить эту
формулу, если пользоваться следующим правилом: каждое
вхождение знака относится к наикратчайшей подформуле,
следующей за ним.
Пример 1.1. Слово (Xi &Х2) zd Х3 "1 Xt не является форму-
лой, а слова ( | Х| Z3 л2) у Хь (Xi ~ Х2) " 1Х3 — формулы.
Слова Xi ~ Х2, ЯХ3, Хь Х2, Х3 — подформулы последней
формулы.
Принцип математической индукции, который будем исполь-
зовать в рассуждениях, формулируется следующим образом:
если какое-то высказывание Р(0» зависящее от натурального
параметра t, доказано для t = 0 и при произвольном t удается
из истинности Р(0 обосновать истинность P{t 4- 1), то P(t)
истинно для всех /.
Будем применять также и другую формулировку этого прин-
ципа: если Р(1) истинно при t — Q и для любого t из истинно-
сти P(s) при всех s^t следует истинность P(rf 4- 1), то Р(0
истинно для всех I.
Применительно к высказывательным формулам принцип
математической индукции можно сформулировать следующим
образом: если какое-ю утверждение P(F), зависящее от пара-
метра F, который пробегает все множество высказывательных
формул, истинно для всех формул, не содержащих логических
символов (т. е. формул вида X/). и ПРИ любом натуральном н
из того, что Р(Р) истинно для всех формул F с числом логиче-
ских символов меньше п, следует, что P(F) истинно для всех
формул с п логическими символами, то P(F) истинно для всех
формул F.
Иногда параметр F будет пробегать не все множество фор-
мул, а лишь часть его, скажем, все формулы, построенные с
помощью фиксированного набора переменных.
Если каждой высказывательной переменной, входящей в
формулу, придавать истинностные значения И и Л, то формула
будет определять истинностную функцию, т. е. функцию, опре-
деленную на множестве (И, Л} со значениями в этом множе-
стве. Истинностная функция может быть представлена таблицей
истинности.
Пример 1.2. Формулы (Xt гэ Х2) V (Х> zd (Х2&Х>)) и (Xi:z>
^>X2)V имеют соответственно таблицы истинности 1.6
и 1.7.
Упорядоченный набор высказывательных переменных
<Xfi, .Xik > назовем списком переменных формулы Л, если
все переменные формулы А содержатся в этом наборе. В списке
27
{переменных формулы А часть переменных может быть фиктив-
«ой, т. е. нс входить явно в формулу А. Оценкой, списка пере-
менных назовем сопоставление каждой переменной списка не-
которого истинностного значения. При этом, если список пере-
менных формулы А содержит & переменных, то имеется 2* раз-
личных оценок, и, следовательно, таблица истинности этой фор-
мулы содержит 2* строк.
Пример 1.3. Список переменных первой из формул, приве-
денных в примере 1.2, есть <ХЬ Х2> или <Xi, Х2, Хз>, <Хь
Xz, Х4> и т. д. (здесь Xs, Х4 — фиктивные переменные).
Для формул, зависящих от фиксированного списка <Xfi»....
-Xfb>, определим индуктивно их значение на данной оценке
списка (или, иначе, при данном распределении истинностных
значений переменных):
1) формула есть одна из переменных Xit,..., Xik, например,
ХХ1; тогда значение ее на данной оценке есть то истинностное
значение, которое сопоставлено переменной ХХ1;
2) формула имеет вид :(”]Л), а значение А на данной оцен-
ке есть s; тогда значение (”|Л) на данной оценке определяется
как гдеП$ вычисляется ио табл. 1.1;
3) формула имеет вид (Л&В), или (Л\/В) или (ЛгэВ),
или (Л ~ В), а значения А, В на данной оценке есть s, t. Тог-
да значение (А&В) будет s&t, где s&t вычисляется по табл. 1.2,
а значения остальных формул определяются аналогично.
Ясно, что значение формулы является функцией оценок.
Теперь можно сформулировать основные понятия.
1.1.2. Равносильность формул
Пусть Л и В — две формулы, зависящие от одного и того же
списка переменных <Xif,..., XIft>. Будем называть их равно-
сильными, если на любой оценке списка <Х^,..., X/h> они
принимают одинаковые значения.
На первый взгляд, это определение кажется неоднозначным,
так как А и В могут зависеть от бесконечного числа списков
переменных. Однако эта неоднозначность только кажущаяся.
Таблица 16
Xi х2 Х±=>Х2 x2&xt Х1=>(Х2&Х1) (Xi=>X2)V(X1^(X2&r1))
и и и и и и
и л л л л л
л и и л и и
л л и л и и
28
Таблица 1.7
Х1 хг х, Х1=>Х2 IX. (X1=>X2)V"IXS
и и и и л и
и и л и и и
и л и л л л
и л л л и и
л и и и л и
л и л и и и
л л и и л и
л л л и и и
Любой из возможных списков должен содержать все перемен-
ные А и В, причем значения А и В на любых оценках списка
будут зависеть только от значений переменных, входящих в
формулы А и В,
Равносильность формул имеет свой алгебраический аналог
в тождественном равенстве алгебраических выражений. Равно-
сильность формул Л и В будем обозначать через Л=В
(так же, как в алгебре; например, а(Ь 4- с) = ab + ас).
Нужно различать символы ~ и =. Так, ~ является сим-
волом формального языка, с помощью которого строятся фор-
мулы, а символ вз заменяет слово «равносильно».
Отношение равносильности есть отношение эквивалентно-
сти. Действительно, оно рефлексивно, так как для любой фор-
мулы А А=А\ симметрично, так как для любых формул Л и В,
если Л s В, то В Л; транзитивно, так как для любых фор-
мул А, В, С, если Л В и В = С, то Л = С.
Поскольку в определении равносильности формул Л, В без-
различно, какой список переменных берется (лишь бы он вклю-
чал в себя переменные Л и В), то в качестве
возьмем список всех переменных формул Л, В, С. На любой
оценке этого списка формулы А, В, а равно и В, С принимают
одни и те же значения. Следовательно, и формулы А, С на всех
оценках принимают одинаковые значения.
Основные равносильности. Для любых формул А, В, С
справедливы следующие равносильности:
1) А&В = В&А (коммутативность &);
2) Л&Л = Л (идемпотентность &);
3) Л & (В & С) = (Л & В) & С (ассоциативность &);
4) А\/ В == В\/ А (коммутативность V Л’
5) А V А = Л (идемпотентность V
6) Л V (В V = (Л5 V в) V (ассоциативность V);
7) Л V (В & С) а (Л V В) & (Л V С) (дистрибутивность V
относительно &);
8) Л & (В V С) (Л & В) V И & Q (дистрибутивность &
^относительно У);
9) А & (Л у В) А (первый закон поглощения);
10) Л V И & В) ss Л (второй закон поглощения)}
11) ~| | Л ж Л (снятие двойного отрицания);
12) “1М&В) ж MV I(первый закон де Моргана)}
13) П (Л V#) « “|Л& |В (второй закон де Моргана);
14) Л ж (Л &В) V И& (первая формула расщепле-
ния);
15) Л ж (Л V В) & (Л V “| В) (вторая формула расщеп-
ления).
Любая из этих равносильностей легко может быть доказана
с помощью таблиц истинности. Рассмотрим, например, равно-
сильность 7. Пусть Xit> — какой-либо список пере-
менных, от которого зависят Л, В, С. Тогда для значений А,
В, С иа какой-нибудь оценке списка переменных имеется восемь
вариантов. Для каждого варианта по таблицам истинности не-
трудно подсчитать значения левой и правой частей равносиль-
ности 7 и убедиться в том, что в любом из восьми случаев эти
значения совпадают (см. табл. 1.8).
Таблица 18
д в с в&с А\/(В&С} А\/В д\/с
и И и и и и и и
и и л л и и и и
и л и л и и и и
и л л л и и и и
л и и и и и и и
л и л л л и л л
л л и л л • л и л
л л л л л л л л
Однако часто равносильность экономнее доказывать без
составления полной таблицы, а лишь с помощью некоторого
рассуждения. Рассмотрим, например, первый закон де Морга-
на (равносильность 12). Докажем, что если на какой-то оценке
списка переменных, от которого зависят Л и В, левая часть рав-
носильности 12 получает значение Л, то и правая ее часть по-
лучит значение Л, и, наоборот, если на какой-то оценке списка
переменных правая часть равносильности принимает значение
Л, то и левая часть примет значение Л. Это и будет означать
равносильность.
Итак, пусть на некоторой оценке списка переменных форму-
ла и (Л&В) принимает значение Л. Тогда формула А&В
принимает значение И, а поэтому обе формулы Л, В принима-
ют значение И. Но в этом случае, очевидно, и правая часть
равносильности 12 примет значение Л. И наоборот, пусть фор-
мула ~| Л V В принимает значение Л. Тогда формулы ~| Л,
-]В принимают значение Л, а формулы А, В — значение И.
Очевидно, что и левая часть равносильности 12 примет значе-
ние Л.
30
Следующая группа равносильностей показывает, что один
связки могут быть выражены через другие:
16) а~в=* (ДззВ)&(ВоА)^ (А&в) v (л Д&пВ);
17) АзэВ = -|А
18) Д V В @ -|ДоВ^ -]-} Д&~] В);
19) А&В =з~] (Агэ~]В) = ("1(”]Д V И5)-
В силу транзитивности отношения равносильности, если
Hi н= Дг» А2 = А3, ...t A/t-iSsAk, то Д|^ДА. В таком случае
для простоты будем записывать цепочку /1 ~ Д2 =...
... ^Дач^Д/?
Приведем правило, с помощью которого можно переходить
от одних равносильностей к другим.
«Ле мма 1.1. Пусть Л == В и С — произвольная формула.
Тогда -]Д=-|5> А&С=В&С, С&А — С&В, А\/С =
==В\/С, С\/А = С\/ В, А^С^В^эС, СтзА^СтзВ,
А~С^В~С,С~А=С~В.
Докажем, например, равносильность A С — В гэ С. На
произвольной оценке списка переменных, от которого зависят
А, В, С, формулы Д и В принимают одинаковое значение (ска-
жем, $). Пусть t — значение С на этой оценке. Обе части рас-
сматриваемой равносильности принимают одно и то же значе-
ние s зэ t.
Лемма 1.2. Пусть А^ В и С — формула, в которой выде-
лено одно вхождение переменной Xt. Пусть С а получается из
С заменой этого вхождения Xi на А, а Св — из С заменой того
же вхождения Xi на В. Тогда СА = Св-
Докажем это индукцией по числу п логических символов
С. Если п = 0, то формула С должна совпадать с Xi (так как
в ней имеется вхождение переменной Xi). В этом случае С а
есть А, Св есть В, а Са^Св — нс что иное, как А = В.
Пусть лемма доказана для числа логических символов мень-
ше п и пусть С — формула с п логическими символами. Она
имеет вид -| В, или D&.E, или D\JE, или D^E, или D~E,
причем в первом случае выделенное вхождение X,- содержится
в D, а в остальных случаях — либо в D, либо в Е, но нс в D и
Е сразу. Рассмотрим, например, случай, когда С имеет вид
DtsE, а выделенное вхождение X, содержится в D. Заменяя
Xt в этом вхождении в D на А и В, получаем соответственно
формулы Da и Z)b. Ясно, что С а есть DA ^>Е, а С в есть DB гэ Е.
Так как в формуле D меньше логических символов чем в С,
то Da = Db. Применим теперь лемму 1.1 в случае ДэС^
^В^зС, где в роли А выступает Da, в роли В — DB, в роли
С — Е. В результате получаем СЛ es Св- Другие случаи рас-
сматриваются аналогично.
Утверждение 1.1 (правило равносильных преобразований).
Пусть СА — формула, содержащая А в качестве своей под-
формулы. Пусть Св получается из СА заменой А в этом вхож-
дении на В. Тогда, если А = В, то СА= Св-
31
(И
^X1)s(X130(“1X2VAs)) - (ПИЛ
V*s)H-|(-|X2V*i)®((-|XiV (и
V(-|(ViV(i^V^))&n -|(-|
Рассмотрим произвольную переменную Xi и получим фор-
мулу С нз СА заменой Л на Xi. Будем считать это вхождение
Xi в С выделенным. Тогда С, А, В, СА, Св удовлетворяют усло-
виям леммы 1.2, а значит, СА s Св.
Заметим, что алгебраический аналог этого правила доста-
точно очевиден (впрочем, как и само правило) и обычно при-
меняется без особого обоснования. Например, пользуясь тож-
деством х + х = 2х, получают у(х + х) = у(2х).
Утверждение 1.2 (правило устранения логических символов
зэ и ~). Для каждой формулы можно указать равносильную
ей формулу, не содержащую логических символов ~ и зэ.
В самом деле, опираясь на правило равносильных преобра-
зований, можно в исходной формуле каждую подформулу вида
А ~ В заменить на (Д&В) \/ (~|Д&~]В), а каждую подфор-
мулу вида Д зэВ — на ”]Д \/В (см. равносильности 16 и 17).
Можно дать и более строгое доказательство, применив ин-
дукцию по числу логических символов.
Пример 1.4. Формула (Х\ о (Х2зэХ3)) ~ (Х2 зэЛ\) пре-
образуется следующим образом: (Ад => (Х2 зз Х3)) ~ ~] (Х2 :з>
V*3))&n(n*2V*i))V
1.1.3. Тождественно-истинные формулы.
Правильные рассуждения
Пусть формула А зависит от списка переменных
Формула А называется тавтологией (или тождественно-истин-
ной формулой), если на любых оценках списка переменных
она принимает значение И.
Формула А называется выполнимой, если на некоторой
оценке списка переменных ,..., Xik> она принимает
значение И.
Формула А называется тождественно-ложной, если на лю-
бых оценках списка переменных <Xfi,... она принимает
значение Л.
Формула А называется опровержимой, если на некоторой
оценке списка переменных > оиа принимает зна-
чение Л.
Как н в определении равносильности, здесь не имеет зна-
чения, будут ли в списке фиктивные переменные.
Приведем утверждения, которые являются очевидным»
следствиями данных определений:
1) А — тавтология тогда и только тогда, когда А не явля-
ется опровержимой;
32
2) А тождественно-ложна тогда и только тогда, когда А
нс является выполнимой;
3) А — тавтология тогда и только тогда, когда ~]Д тож-
дественно-ложна;
4) А тождественно-ложна тогда и только тогда, когда -|Д—
тавтология;
5) А ~ В — тавтология тогда и только тогда, когда А и В
равносильны.
С точки зрения логики тавтологии суть не что иное, как
логические законы, ибо при любой подстановке вместо пере-
менных тавтологии конкретных высказываний в результате
получим истинные высказывания. Перечислим наиболее важ-
ные тавтологии (Д, В, С — произвольные формулы):
1) Д\/~1^ (закон исключенного третьего или tertium поп-
datur);
2) ДззД;
3) А тз (В тз Д);
4) (Д тз В) тз ((В тз С) тз (Д тз С)) (цепное рассуждение);
5) (До (ВоС)) тз ((ДоВ) тз (ДтзС));
6) (Д&В) тз Д, (Д&В)оВ;
7) До (Втз (Д&В));
8) До (Д VB), Втз (Д VB);
9) (~]В о—|Д) о ((-|В о Д) о В);
10) ((ДоВ)оД)оД (закон Пирса).
Каждую из этих тавтологий можно обосновать, например,
составив таблицу и вычислив по ней значение формулы при
произвольных значениях Д, В, С.
При доказательстве утверждений различных математиче-
ских теорий обычно используют рассуждения, которые иа язы-
ке логики можно выразить формулами.
Рассуждение называется правильным, если из конъюнкции
посылок следует заключение, т. е. всякий раз, когда все посыл-
ки истинны, заключение тоже истинно.
Пусть Pi....Рп — посылки, D — заключение. Тогда для
р. р-
определения правильности рассуждения по схеме —-> т. е.
утверждения о том, что из данных посылок Pi,..., Рп следует
заключение D, требуется установить тождественную истинность
формулы (Р1& ... &₽„) тз D *.
Так как речь идет лишь о правильности рассуждеиня, ис-
тинность заключения по является пи необходимым, ни доста-
точным условием правильности рассуждения.
* Вообще говоря, выражение (Pi&... &Рп) => D не удовлетворяет Опре-
делению формулы. Однако далее (см. разд. 1 1.5) мы убедимся, что такая
Й^орректпа.
Пример 1.5. Рассмотрим два рассуждения:
1. Если число 5 простое, то оно нечетное. Число 5 нечетное.
Следовательно, число 5 простое. Заключение истинно, но рас-
суждение неправильное. Это рассуждение по схеме —
А
Легко проверить, что формула ((Д о В) &В) зэД не является
тождественно-истинной.
2. Если Петр занимается спортом, то Петр никогда не бо-
леет. Петр занимается спортом. Следовательно, Петр никогда
не болеет. Это рассуждение по схеме Формула ((А =>
В
о В) &Д) =>В тождественно-истинна, и, значит, рассуждение
правильное.
Распространенными схемами правильных рассуждений яв-
ляются следующие схемы: и .
Рассмотрим условное высказывание вида Д=>В, где А —
конъюнкция посылок, В — заключение. Иногда удобнее вместо
доказательства истинности этого условного высказывания уста-
новить логическую истинность некоторого другого высказыва-
ния, равносильного исходному. Такие формы доказательства
называются косвенными методами доказательства.
Одним из них является способ доказательства от противно-
го. Предположим, что утверждение А гэ В ложно. Тогда, исхо-
дя из этого предположения, приходим к противоречию, т. е.
доказываем, что некоторое утверждение (соответствующее вы-
сказыванию С) выполняется и не выполняется (одновременно).
Применимость этой формы косвенного метода доказательства
оправдывается равносильностью
А зВэ zoB) zd (С&-|С) s ,(Д& ~]В) => (С&—]С).
Существуют и другие схемы доказательства от противного:
Л dBs (Д&-]В) => -]Д,
Д =>Bs (Д &“]В) =>в.
Еще одной формой косвенного метода доказательства явля-
ется доказательство по закону контрапозиции, основанное на
равносильности
А о В = -]В => -|Д,
когда вместо истинности ДзэВ мы доказываем истинност!
1.1.4. Двойственность. Закон двойственности
Будем рассматривать формулы, содержащие только логически
СИМВОЛЫ &, V» П*
34
Символы &, V называются двойственными друг другу. Фор*
мула А* называется двойственной формуле А, если она получена
из А одновременной заменой всех символов &, V на двойст-
венные. Например, формула Xi & (Х2 V И ^0 двойственна фор-
муле Xi V (X2&“|Xi). Очевидно, что (Л*)* совпадает с А.
Пусть Xfjfe> — некоторый список переменных, а
<si,...» Sk> — его оценка. Назовем оценку </ь..., tk>
двойственной оценке <$ь...» $*>, если </},..., tk> получа-
ется из <si,..., Sk> заменой всех И на Л и всех Л на И.
Лемма 1.3. Пусть А ~ формула, а <Xit, ..., Xik > — список
переменных, от которого она зависит. Тогда А принимает значе-
ние И на оценке <Si,..., Sk> в том и только в том случае,
если А* принимает значение Л на оценке <tit..., th>, двой-
ственной оценке <si,..., sh>.
Докажем лемму 1.3 для всех формул А, зависящих от спис-
ка переменных <Х/1,.... Xik>, индукцией по числу п логиче-
ских символов А.
Если л = 0, то А совпадает с одной из переменных X/Z(l
В этом случае А* тоже совпадает с Х^. То, что Xit
принимает значение И на оценке <sh..., s&>, означает, что
si есть И. Но это равносильно тому, что ti есть Л, а также тому,
что Xit принимает значение Л иа оценке <ti.....f*>.
Пусть утверждение леммы 1.3 справедливо при числе логи-
ческих символов, меньшем л. Докажем, что оно остается спра-
ведливым’и при числе символов, равном п. Тогда формула А
должна иметь вид В, В&С или В V С. В соответствии с этим
утверждением различают три случая:
I. Формула А есть ~|В. Тогда, очевидно, А* совпадает
с “1 ХВ*). Пусть А истинна на оценке <st,,,.,sk>. Тогда В
будет ложной на ней. В формуле В* число логических символов
меньше п. Так как (В*)* есть В, то нз ложности (В*)* на оцен-
ке <$!,,.., Sk> следует истинность В* на оценке </h ..., tk>
(ибо <$i, Sk> и <Zt\........tk> взаимно двойственны). От-
сюда следует, что формула А* (или ложна на <6,...,
tk>. Аналогично из ложности А* на </i,..., tk> выводится
истинность А на <si,..., $*>.
2. Формула А есть В&С. В этом случае А* есть В* V С*.
Пусть А принимает значение И на оценке <sb..., Sk>. Тогда
и В, С будут истинны на <sh ..., sh>. Так как в формулах В,
число логических символов меньше п, то В*, С* примут зна-
чение Л на </i,.... /*>, а значит, и В*\/С* принимает зна-
чение Л на этой оценке. И наоборот, если В* V С* принимает
значение Л на <6,...» /*>, то формулы В*, С* будут ложны
иа <Л\.....4>, и, далее, в силу индуктивного предположения
С будут истинны на <$i,...» s*>, а значит, и В&С будет
истинна на этой оценке.
3* 35
3. Формула А есть В\/С. В этом случае А* есть В*&С*.
Пусть А принимает значение И на ......... sft>. Тогда либо В,
шбо С будет истинной иа <sb...»sft>. Если это, например, будет
в, то, поскольку в В логических символов меньше, чем и,
8* будет ложной на ............ Но тогда и В‘&С* будет
кожной на </i,.... /Л>. Аналогично рассуждаем и в случае
стайности С. Доказательство обратного утверждения также
1есложно.
Теорема 1.1 (принцип двойственности). Если А н= В, то
4* = В\
Пусть A s В. Если <Xit,..., Xik > — список переменных,
эт которого зависят формулы А, В (и, очевидно, А*, В*), а
......... tk> — оценка этого списка, то А* принимает значение
И на этой оценке в том и только в том случае, если (А*)*
(т. е. Л) принимает значение Л на оценке <$i,.... sft>, двой-
ственной оценке <6,..., tk>. По последнее в силу равносиль-
ности А и В имеет место тогда и только тогда, когда В прини-
мает значение Л на оценке <$ь...» sk>. С другой стороны,
В* принимает значение И на оценке <h,...» th> только тогда,
когда (В*)* (т. е. В) принимает значение Л на <Si,..., sk>.
Итак, видим, что истинность А* на <h,..., tk> равносильна
истинности В* на </>,..., <й>. Поскольку оценка </i,.... /*>
произвольна, получаем, что A* яе В*.
Принцип двойственности можно применить для нахождения
новых равносильностей. Например, используя следующий част-
ный случай дистрибутивности & относительно V
Xi& (XjVXb) = (Xj&Xj) V (X.&X*),
получаем равносильность
X. V (X/ & Xh) = (X/ V V **)
Другие приложения принципа двойственности будут приве
дены ниже.
1.1.5. Нормальные формы формул
Заметим, что в силу ассоциативности операций & п V (см- тео]
рему ОД), как бы мы не расставляли скобки в выражения^
At &%&...&Ak, At\/А2\/... Ak (А>3), всегда буде>4
приходить к равносильным формулам. Допуская некоторую
вольность, каждое из этих выражений будем считать формулой
и называть соответственно многочленной конъюнкцией и дизъ]
юнкцией формул At,..., Ак. Для этих формул, используя, на'
пример, индукцию по шах (Л, /), нетрудно получить равносиль)
ности, выражающие обобщенную дистрибутивность:
(А1&Аг&... &Ай) У/{Bl&B2&... &Bt) s (AiVBt)&
36
& (ЛI v В2) & .. (Д1 V Bf) & (Д2 V в.) & (Л2 V В2) &...
... & (^2 V Bf) & ... & (ДА V В1) & (Л* V в2) & ... & (А V ВО;
(Л, VЛ2V-VA)&(Bi vb2 V-.- = (Л1&В0 v
VH«&b2) V--. VHi&Bz) v (/k&Bo v (л?&в2) v
...V (Д2&В0 V--. V PU&BO V (Ал&в2) V--- V М/г&во,
а также обобщенные законы де Моргана:
-1 (Л1 &... & A) s -1 д, у... V “|Лг, iHiV.--V^) =
==. ' Д1 &... & 1 Aft.
Определим теперь некоторые канонические виды формул.
Формулу называют элементарной конъюнкцией, если она
является конъюнкцией (быть мом<ет, одночленной) переменных
п отрицаний переменных. Например, формулы Аз. ”| А3, А2&
& -| Хя, Хг & А3, А'1 & А'а & А4 & А2 являются элементарными
конъюнкциями.
Говорят, что формула находится в дизъюнктивной нормаль-
ной форме (ДНФ), если она является дизъюнкцией (быть мо-
лись одночленной) элементарных конъюнкций. Например, фор-
мулы Аг, и Аз, А, & А2 & А-, (А! & А2 & -| А3) V (A'i & ] А2 & А3)
находятся в ДНФ.
Теорема 1.2 (о приведении к ДНФ). Для любой формулы А
можно найти такую формулу В, находящуюся в ДНФ, что
А=-В.
Формула В называется дизъюнктивной нормальной формой
формулы А.
Доказательство теоремы распадается на три этапа:
1-й этап. Для формулы А строим такую формулу Дь что
Л «в Д1 и в Д1 не содержится символов (см. утверждение
1.2)
2-й этап. Докажем теперь, что для формулы Д| можно най-
ти формулу Д2 такую, что Д1 = Д2 и в Д2 отрицание находится
только перед переменными. Такая формула называется форму-
лой с «тесными» отрицаниями. Докажем это утверждение ин-
дукцией по числу п логических символов формулы Дь
Г.слп п = 0, то Д1 есть какая-то переменная А,-. В качестве
Л2 нужно взять А/.
Пусть утверждение выполняется для всех формул Д1 с чис-
лом символов меньше п. Пусть в формуле Д] содержится точ-
но п логических символов. Рассмотрим следующие случаи:
1) Д1 имеет внд Bi V Сь Тогда в Вь С> логических символов
меньше, чем п. Поэтому существуют формулы В2, С2 такие, что
ss В2, Ci = С2 и в В2, С2 отрицание встречается только пе-
эед переменными. Ясно, что В2 V равносильна Д1 и является
Рормулой с «тесными» отрицаниями;
2) имеет вид B1&G1. Доказательство аналогично преды-
дущему случаю;
37
3) Ai имеет вид -|-|Bi. Тогда ZTi == Bi и в Вг логических
символов меньше, чем п. Поэтому к Bi применимо индуктивное
предположение;
4) Л1, имеет вид и (Bi V Ci). Тогда Л s ~iBi & -1 Ci л в
Вц И G логических символов меньше, чем п. Поэтому суще-
ствуют такие формулы Въ С2, что -]Bj ~B2,-|Ci = С2"и в В2,
С2 отрицание встречается только перед переменными. Ясно,
что Ai = Въ&С2 и Bs&C2 является формулой с «тесными» от-
рицаниями;
5) Ai имеет вид -| (Bi & Ci). Тогда Ai s -qBi V ”|£j* 11 далее
поступаем, как в предыдущем случае.
При практическом преобразовании встречающиеся в форму-
ле отрицания просто передвигают к переменным, используя
законы де Моргана и уничтожая лары стоящих рядом отрица-
ний, если таковые встречаются.
Пример 1.6. Преобразуем к формуле с «тесными» отрица-
ниями:
(*•& П-М V (Хг&-1*|)) = -I -I -| (Х1 & -|-Х5) &
(Л2&1 X.) == -jPG& -jj2) & ( -|X2V “П*) = ( 1*1 V
V пп *=) & (-1*2 V *1) (-|*1 V *2) &( -1*2 V *0-
3-й этап. Полученную формулу А? можно считать построен-
ной из переменных и их отрицаний с помощью многочленных
конъюнкций и дизъюнкций. Применив теперь обобщенную ди-
стрибутивность & относительно V. последовательно преобразу-
ем формулу (аналогично приведению алгебраического выраже-
ния, составленного из переменных, с помощью сложений и ум-
ножений к виду многочлена). Заметим, что при этом V будет
аналогична сложению, а & — умножению. Полученная в ре-
зультате преобразований формула В будет удовлетворять тре-
бованиям доказываемой теоремы.
Пример 1.7. Применим преобразования 3-го этапа к форму-
ле с «тесными» отрицаниями; полученной в примере 1.6::
(-|*i V *2) & ("1*2 V *0 = (И *i & "1*2) V ( -1*1 & *0 V (*2 &;
& ~I*2)V (-^2&*1)- В результате мы получили формулу, нахо?
дящуюся в ДНФ.
Говорят, что формула А находится в конъюнктивной нор-
мальной форме (КНФ), если формула А* определена (т. е. В'
А нет символов ~ и э) и находится в ДНФ.
КНФ можно дать и другое равносильное определение. Фор-’
мулу называют элементарной дизъюнкцией, если она является1
дизъюнкцией (возможно, одночленной) переменных и отрица-
ний переменных. Формула находится в КНФ, если она являет-
ся конъюнкцией (возможно, одночленной) элементарных дизъ-
юнк.1хий
Теорема 1.3 (о приведении к КНФ). Для любой формулы
38
Л можно найти такую формулу В, что А находится в КНФ и
А = В.
Формула В называется конъюнктивной нормальной формой
.формулы А.
Первое доказательство. Пусть A s Ai и А{ не содержит сим-
волов :э. Пусть Bi — дизъюнктивная нормальная форма
для формулы A*i. Тогда B*i находится в КНФ и, кроме того,
по принципу двойственности B*i s = A Значит,
B*i удовлетворяет требованиям теоремы.
Второе доказательство. Применив первые два этапа из до-
казательства теоремы 1.2 о ДНФ, получим формулу Д2, равно-
сильную А, не содержащую символов гэ и содержащую
отрицания только перед переменными. Преобразуем теперь Л2
как алгебраическое выражение, считая на этот раз & аналогом
сложения, а V — аналогом умножения и применяя дистрибу-
тивность V относительно &. Приведение формулы Д2 к виду
многочлена дает на этот раз КНФ.
Пример 1.8. Приведем к КНФ формулу
(Х.&Х2) - ((Х£&Х2)&( -|Х!&Х3)) V
V (и(Xi&Х2) &-Ц-1Х1 &Х3)) (Х1&Х2&-|*|**з) V
х3))^ (Х1&Х2&ПХ1&Х3) V
V ((-1*1 V и *2) & (Xi V и Хз)) (Х£ v-| Xi V п х2) &
& (Х1V Xi V И Х3) & (Х2 v “I Xi V“1 Х2) & (Х2 V X, V иХ3) &
•M-iXiV-i^v -iX2)&(-iXiVXiV-iX3)&(X3v -]XiV
V-lX^&CXaVXiVnX^.
Заметим, что первое преобразование основано на равносиль-
ности 16.
Нетрудно видеть, что ДНФ не является однозначно опреде-
•ленной. Рассмотрим, например, формулу Х£\/(Х2&Х3). Она
уже находится в ДНФ. В то же время преобразование XiV
V (Х2 & Х3) = (Xi V Х2) & (X, V Х3) (X, & X,) V (Xi & Х3) V
V (X2&Xi)V (Х2&Х3) дает для этой формулы другую ДНФ.
Конечно, все ДНФ данной формулы равносильны. Выделим
среди ДНФ формулы так называемую совершенную дизъюнк-
тивную нормальную форму.
Пусть формула А зависит от списка переменных <Х,- ,...,
Х|ж >. Говорят, что А находится в совершенной дизъюнктивной
нормальной форме (СДНФ) относительно этого списка, если
•выполняются следующие условия:
1) А находится в ДНФ;
‘2) каждый дизъюнктивный член А является Л-членной конъ-
юнкцией, причем на 2-м месте этой конъюнкции
обязательно стоит либо переменная Xi » либо ее отрицание
-1^
3) все дизъюнктивные члены А попарно различны.
Пример 1.9. Пусть <ХЬ Х2, Х3> — список переменных.
Тогда формулы Xi & ~1Х2&“|Х3> (Xi&X2&X3) V (“I *!&Х2&
39
&Хз) V (Xj&X2&-]X3) находятся в СДНФ относительно этого
списка переменных.
Теорема 1.4. Пусть формула А зависит от списка перемен-
ных <Х/-1>..., Х,-А> и А не тождественно-ложная формула.
Тогда существует такая формула В, что А==В и В находится
в СДНФ относительно списка переменных , XIft>.
Согласно теореме о приведении к ДНФ существует форму-
ла Л1 такая, что А = Aj и At находится в ДНФ. При этом мож-
но считать, что Ai зависит от списка переменных <Х,,...,
Xift> (в процессе приведения формулы к ДНФ новые пере-
менные не появляются). Будем исходить из этой формулы и
просматривать ее дизъюнктивные члены, т. е. элементарные
конъюнкции:
1. Пусть в элементарную конъюнкцию одновременно входят
какая-нибудь переменная и ее отрицание. Если это единст-
венная элементарная конъюнкция формулы, то она на всех’
оценках принимает значение Л, а следовательно, и вся форму-
ла, что невозможно, так как предполагается, что формула не
тождественно-ложная.
Значит, имеются другие элементарные конъюнкции, и фор-
мула (после некоторых перестановок) будет иметь вид
(X,- &-]Xf- &С) \/D,
где С — остальные члены нашей элементарной конъюнкции^
D — остальные дизъюнктивные члены всей формулы. Но (Xi{ $
& ~)Xf-,& С) V & — поскольку первый дизъюнктивный члег
левой части прн всех оценках принимает значение Л. Следова-
тельно, паша формула равносильна D, а рассматриваемую эле-
ментарную конъюнкцию можно отбросить. Поскольку А не тож
дествепно-ложная, то после всех таких шагов всегда останутся
какие-то неотброшенные элементарные конъюнкции.
2. Пусть в некоторой элементарной конъюнкции переменна^
Хй (или ~1^;) встречается несколько раз. Тогда в силу идемп»и
тентностн (равносильности 2) можно оставить только одн
вхождение X,t (пли ~|Х^ ).
3. После проведенной обработки каждая элементарная kohiJ
юнкция С будет содержать какую-нибудь переменную не бол?|
одного раза (включая ее вхождение под знаком отрицания,
при этом возможны только следующие варианты:
а) конъюнкция С содержит в качестве своего конъюнкта*
ного члена один раз Xi( п не содержит пи разу ~~]Xit\
б) конъюнкция С содержит один раз “]Xf/ и не содержу
ни разу X, \
в) конъюнкция С не содержит ни Xf/, ни ~|Х,Г
В последнем случае мы заменяем С па (С&Х,^ V (^f
& -|Хг/) по основной равносильности 14 (первой формуле ра
40
щеп лен ня). Эту операцию следует проводить до тех пор, пока
для каждой элементарной конъюнкции п каждой переменной
_ХЧ не будут выполнены условия «а» или «б».
4. Переупорядочим в каждой элементарной конъюнкции сс
конъюнктивные члены таким образом, чтобы на Z-м месте в ней
стояла Xi{ или ~]Х£/.
5. Если в преобразованной формуле несколько раз повто-
ряется одна н та же элементарная конъюнкция, то, пользуясь
основной равносильностью 5 (идемпотентностью), выбрасываем
все ее вхождения, кроме одного.
Пример 1.10. Формула (Xi&-]/i&X3) V (А'1&-]Х3&Х1) V
V Х2 зависит от списка переменных <ХЬ Х2, Х3>. Приведем
•ес к СДНФ относительно этого списка. Первую элементарную
конъюнкцию можно отбросить, во второй оставить только одно
вхождение Xi, а затем провести преобразования ио пп. 3, 4, 5:
(Xl&-1X3)VX2^(X1& “|*з<&Х2) V -|Х2) V
V (X2&Xi) V (Х2&и-*,) (Х1&-1Х3&Л'2) V (Xi &
&-jX2) V (X2&X,&X3) V (Хэ&Х.&пХз) V№&“|A'i&X3)V
V(x2&nXl&-ix3)^ (Х1&х2&-|Х3) v (X1&-|X2& ~|X3)V
v (Х.&Хг&Хз) V (nXj&Xo&Xs) v ( -|Х1&Х2&“1Х3).
Как уже отмечалось, СДНФ обладает некоторой однознач-
ностью, а именно справедлива следующая теорема.
Теорема 1.5 (о единственности СДНФ). Если Bi и В2 — со-
вершенные дизъюнктивные нормальные формы формулы А от-
носительно списка переменных <Х,1,..., Х^>, то Bi и В2
могут отличаться только порядком своих дизъюнктивных
членов.
Докажем эту теорему несколько позднее '(см. замечание 1.2,
с. 49).
Следует отметить, что если расширить список переменных
<Xf|,..., Xit>, от которого зависит формула А, новыми пере-
менными (реально в Л не входящими), то относительно нового
списка А будем иметь другую СДНФ. Например, СДНФ фор-
мулы Xi относительно списка переменных <Xi> совпадает с
самой формулой, а относительно списка переменных <Хь Х2>
является формулой (Х!&Х2) V (Xi&~|X2).
Аналогично определяется совершенная конъюнктивная нор-
мальная форма.
Пусть формула А зависит от списка переменных <Х,р...,
Х1/г>. Тогда говорят, что А находится в совершенной конъюн-
ктивной нормальной форме (СКНФ) относительно этого списка,
если .формула А* находится в СДНФ относительно списка пере-
менных <Xi XXft> или (эквивалентное определение) если
выполняются следующие условия:
1) А находится в КНФ;
2) каждый конъюнктивный член А является Л-членной дизъ-
юнкцией, причем на /-м месте (1 I k) этой дизъюнкции-
обязательно стоит либо переменная Хц, либо ее отрицание ~|Х:>
3) все конъюнктивные члены А попарно различны.
Пример 1Л1. Формулы
Xi V и*2 V“IХ3; .(X, V х2 V х3) &( “I Xi v х2 v х3) & (X, V
V ~\Х2 \/ Хз) находятся в СКНФ относительно списка пере-
менных <ХЬ Х2, Х3>.
Теорема 1.6. Пусть формула А зависит от списка перемен-
ных <Л\> -.., Xi > и А не тождественно-истинная. Тогда суще-
ствует такая формула В, что А = В и В находится в СКНФ'
относительно списка переменных <Xiy,.... X,-ft>.
Пусть А уже находится в КНФ. По условию А на какой-то-
оценке принимает значение Л. Тогда А* па двойственной оцен-
ке принимает значение И и по теореме о СДНФ существует'
такая формула Bi, что А* Вх и Z?i находится в СДНФ. По>
принципу двойственности B*is4 и В\ находится в СКНФ.
Можно доказать эту теорему по аналогии с доказательством
теоремы о СДНФ. При этом применяются равносильности
(X4V ~lXlt \/C)&D = D, (CVXit)&(CV“|X(/)^C и за-
коны идемпотентности.
Теорема 1.7. (о единственности СКНФ). Если В\ и В2— со-
вершенные конъюнктивные нормальные формы формулы А
относительно списка переменных <Xj »..., Х,£>, то Bi и В2
могут отличаться только порядком своих конъюнктивных
членов.
В самом деле, В*х и В*2 в условиях теоремы будут СДНФ*
для формулы А* и могут отличаться (по теореме о единствен-
ности СДНФ) только порядком дизъюнктивных членов. Отсю-
да следует утверждение теоремы.
СДНФ и СКНФ можно использовать для распознавания
равносильности двух формул.
Критерий равносильности: две формулы 4» и Аъ зависящие
от списка переменных <X/j>..., X,-ft> и не равные тождествен-
но Л (И), равносильны в том и только в том случае, если они
приводятся к СДНФ (СКНФ), отличающимся лишь порядком
своих дизъюнктивных (конъюнктивных) членов.
Если 41 и А2 приводятся к одной СДНФ В, то 41 = В ===== 42.
С другой стороны, если 41 я Д2 и В\ — СДНФ для 4Ь а В2 —
СДНФ для 42, то Bis4i = 42, т. е. Вх будет СДНФ и для
4г, и в силу теоремы о единственности СДНФ Bi должна отли-
чаться от В2 только порядком своих дизъюнктивных членов.
Поскольку приведение формул к СДНФ (СКНФ) можно
проводить автоматически путем последовательных преобразова-
ний, то критерий позволяет устанавливать равносильность, не
обращаясь к определению и к оценкам.
42
1.1.6. Разрешимость
Проблемой разрешимости для логики высказываний называют
следующую проблему: существует ли такая процедура, которая
позволяла бы для произвольной формулы в конечное число
.шагов определить, является ли она тавтологией?
Ясно, что эта проблема разрешима, поскольку всегда можно
перебрать все оценки списка переменных и вычислить на них
значения формулы. Опишем теперь другую, более экономичную
процедуру распознавания, связанную с приведением формулы
к КНФ.
Утверждение 1.3. Формула является тавтологией в том и
только в том случае, если в ее КНФ в любую из элементарных
дизъюнкций в качестве дизъюнктивных членов входят какая-
нибудь переменная и ее отрицание.
Это утверждение является тривиальным следствием двух
нижеследующих лемм, первая из которых очевидна.
Лемма 1.4. Конъюнкция является тавтологией в том и толь-
ко в том случае, если каждый ее конъюнктивный член являет-
ся тавтологией.
Лемма 1.5. Элементарная дизъюнкция является тавтологией
в том и только в том случае, если в ней одновременно присут-
ствуют какая-нибудь переменная и ее отрицание.
Действительно, если в элементарную дизъюнкцию входят
какая-либо переменная и ее отрицание, то это — тавтология
а силу тавтологичности А V “I И наоборот, пусть ни одна
переменная не входит в элементарную дизъюнкцию А вместе
с отрицанием. Пусть также <Xft,..., Xlft> — список пере-
менных, от которого зависит А. Определим следующую оценку
этого списка: переменная Х/1 принимает значение Л, если она
входит в А как дизъюнктивный член, и значение И — в про-
тивном случае. На этой оценке все дизъюнктивные члены А
примут значение Л. В самом деле, либо такой дизъюнктивный
член есть переменная Х(/ (и тогда он принимает значение Л),
либо отрицание переменной ® последнем случае Xi noz
условию не может быть дизъюнктивным членом и, следователь-
но, принимает значение И, a ~|Xfz —значение Л. Таким обра-
зом, формула А опровержима.
Пример 1.12.
1. Докажем, что (Xt=>X2)=> ((X3zdXi) => (Х3оХ2)) — тав-
тология:
(X, 2D Х2) 2D ( (Х3 ZD Х0 2D (Х3 2D Х2)) =
-1 (~| Xi V Х2) V (V *0 V 1 *з V х2) -
»(X, & -|Х2) V (**& -1*1) V V *2^
= (Xt V Х3 v П Х3 V *2) & (Х1V П Х1V ”1 *3 V
V Х2) & (-| Х2 V Х3 v И *3 V *2) &
- &(“iX2VnXIv-1*3V*2).
43
В первую дизъюнкцию входят Х3 и во вторую — Xi н
-|Х1, в третью — Х3 и -]Х3, в четвертую — Х2 и ~]Х2.
2. Рассмотрим 'формулу
(X. & X* & Х3) V ( Vi & ~]Х2 & Xs) V (*i & “1*2 -1хз).
При приведении ес к КНФ среди элементарных дизъюнкции-
будет дизъюнкция XiVl^V которая не удовлетворяет
нужным условиям. Поэтому данная формула не является тав-
тологией.
Двойственное утверждение справедливо и для тождественно-
ложной формулы.
Утверждение 1.4. Формула является тождественно-ложной
в том и только в том случае, если в ее ДНФ каждая элементар-
ная конъюнкция одновременно содержит в качестве конъюнк-
тивных членов какую-нибудь переменную и ее отрицание.
Это доказать несложно, исходя из принципа двойственности
или используя леммы, аналогичные 1.4 и 1.5.
Задачи и упражнения
1. Сколькими способами можно расставить скобки в слове
Xi => Х2 V Хг V ^2 & Х3, чтобы получилась формула?
2. Составить таблицы истинности для формул (Xizz>-]X2)&
&(-|Xi VX2) и (Xi гэ (Х2 Х3)) <= ((Х^Х,)^ (Х^Хз)).
3. Записать составные высказывания в виде формул, употреб-
ляя высказывательные переменные для обозначения простых
высказываний:
а) для того чтобы к было нечетным, достаточно, чтобы х
было простым;
б) если идет дождь, то дует ветер;
в) если дует ветер, то идет дождь;
г) ветер дует тогда и только тогда, когда идет дождь;
д) неверно, что ветер дует тогда и только тогда, когда нет
дождя;
е) Таня ходят в театр только тогда, когда там показывают-
пьесу из современной жизни.
4. Доказать равносильности 1—6, 8—11 и 13—15.
5. Доказать следующие равносильности:
а) -] (ЛзэВ) = Д & “] В;
б) А zd -] Д~ —]Д;
в) (AV^)&HVQ&(BV^)&(CV^)=
V (В&су,
г) А&(АуС)&(ВуС) = (А&В) VH&O;
д) (Л&В) V (А&С)у (B&D)y (C&D) = (AyD)&
& (By С);
е) А у (П/&В)=Л у В.
44
6. Доказать тождественную истинность формул 1—10 (см.
с. 33) и тождественную истинность следующих формул:
а) ( ~]4 зэ-]В) зэ (В зэ4) ;
б) (--|В ~[4) => ((--|В=) 4) =>В);
в) (4зэВ) =э ((CV^) => (СуВ))-
г) ((4 зэВ) зэ4) 4;
д) -)Д=> (4 => В}.
7. Доказать, что если 4 у В и -|4 у С тождественно-истин-
ны, то и В у С тождественно-истинна.
8. Проверить правильность следующего рассуждения. Если
Джонс не встречал этой ночью Смита, то либо Смит был убий-
цей, либо Джонс лжет. Если Смит не был убийцей, то Джонс
не встречал Смита этой ночью, и убийство имело место после
полуночи. Если убийство было совершено после полуночи, то
либо Смит был убийцей, либо Джонс лжет. Следовательно,
Смит был убийцей.
9. Обосновать метод доказательства «разбором случаев»:
(4i V Ai V • - • V л") => В= (41 =з В) & (42 =з В) &...
...& (4язэВ).
Привести пример такого доказательства.
10. Привести к ДНФ и КНФ следующие формулы:
a) (Xi &Х2) ( —jX2&Хз);
б) ^(-i (XiV-|*s)^(*2&”i*i));
в) ( -|Х1 =3 ~]Х2)~ (Х2~Х3);
г) ((Х!=зХ2) => (Х3=> -|Xi)) =з ( -]Х2=э-|Хз).
11. Привести к СДНФ и СКНФ следующие формулы:
a) (Xi & -|Х2&Хз) V (Xi & ”|Xi & -|Х3) V (Х.&Хз&Хз);
б) (Xj&X2) => ( пХ1&Х3);
в) ( ”| X, VX2) & (Xi зэХ2);
г) (-|Х1=з-1Х2)^(Х2~Х3);
д) -п(Xi V Хз) & (Xi “зХ2).
12. Пусть формула 4 не содержит никаких логических сим-
волов, кроме Доказать, что А является тождественно-истин-
ной тогда и только тогда, когда каждая переменная входит в 4
четное число раз.
13. Пусть формула 4 не содержит никаких логических сим-
волов, кроме ~ и Доказать, что 4 является тождественно-
истинной тогда и только тогда, когда каждая переменная н
символ входят в нее четное число раз.
45
1.2. БУЛЕВЫ ФУНКЦИИ
1.2.1. Представление булевой функции
формулой логики высказываний
Булевой функцией f(Xh.,.tXn) называется произвольная
«-местная функция из множества {0, 1} во множество {0, 1}.
Итак, как аргументы булевой функции принимают значения из
множества {0, 1}, так и сама функция принимает значения из
этого же множества.
Всякую булеву функцию от л переменных можно задать
таблицей из 2П строк, в которой в каждой строке записывают
одну из оценок списка переменных, принимающих значение О
или 1. Например, для л = 3 булеву функцию можно задать
табл. 1.9.
Так как длина каждого столб-
ца равна 2П, а различных столб-
цов из 0 и 1 длины 2п имеется
22”, то существует точно 22"
различных «-местных булевых
функций (или булевых функций
от л переменных). Удобно кон-
станты О и 1 считать нуль-мест-
ными булевыми функциями.
Пусть истинностному значе-
нию И соответствует 1, а истин-
ностному значению Л — 0. Тогда
Таблица 1.9
*1 Х2 *3 ДХь Хъ Х8)
1 1 1 f(i, 1, 1)
1 1 0 {(1, 1, 0)
1 0 1 0,1)
1 0 0 f(I, о, 0)
0 1 1 f(0, I, I)
0 1 0 f(0, I, 0)
0 0 1 no, 0, 1)
0 0 0 Д0. 0, 0)
каждой формуле логики вы-
сказываний F можно поставить в соответствие булеву функцию
f. При этом, если формуле Fi соответствует функция fi, а фор-
муле F2 — фУНК1^ия Ь и то fi =
Составим теперь в новых обозначениях табл. 1.10 для буле-
вых функций, соответствующих основным логическим опера-
циям.
Докажем, что формулы дают нам, по сути дела, все булевы
функции, а именно имеет место следующая теорема.
Теорема 1.8 (первая теорема о представлении булевой функ-
ции), Пусть f(Xit.... Xk) — k-местная булева функция
Таблица 1.10
Xi x2 1X1 X1&X2 Xi=>X2 Xi~X2
1 1 0 1 I 1 1
1 0 0 0 1 0 0
0 1 1 0 1 1 0
0 0 1 0 0 1 1
46
Если f не равна тождественно 0, то существует такая формула
F, зависящая от списка переменных <ХЬ ..., Хй> и находящая-
ся в СДНФ относительно этого списка, что F выражает собой
функцию f. Формула F определена однозначно с точностью до
перестановки дизъюнктивных членов.
Докажем сначала вспомогательное утверждение. При s = 1
под Д® будем подразумевать формулу А, а при s = 0 — форму-
лу -| А. С каждой оценкой списка переменных <si,..., sk>
будем ассоциировать элементарную конъюнкцию Х[®>&...
...&xh*>.
Лемма 1.6. Конъюнкция Xf’&... &Хр, ассоциированная с
оценкой <$i....sk>, обращается в 1 на одной и только на
одной оценке списка переменных <Х>,...» Хк>, а именно на
оценке <sb...» sft>.
В самом деле, на оценке <sb..$й>формула Xi5’&...
...<&ХЙ5* принимает значение 1, так как каждый ее конъюнк-
тивный член XiSl принимает значение 1. Действительно, возмож-
ны два случая: либо si (1 есть 1, н тогда XiSi есть X/,
либо si есть 0, и тогда X/®' есть -]Хь В каждом из этих случаев
X/s« на оценке <Si...sk> принимает значение 1.
С другой стороны, пусть оценка </ь..., tk> не совпадает
с оценкой <si, Тогда при некотором
si it-
Возможны два случая:
и Sl = 1,^ = 0;
2) si = 0, 'h = 1.
В первом случае XiSl есть Xt, а во втором — XiSl есть -|Х/.
В любом случае XiSl на оценке </ь..., tk> принимает значе-
ние 0, а значит, и вся элементарная конъюнкция Xi5’ &...
...&Xks* принимает значение 0. Лемма доказана.
Пусть теперь функция f(Xi,.... Xk) задана таблицей. Вы-
берем из таблицы все строки, соответствующие оценкам, на ко-
торых f принимает значение 1 '(поскольку f^O, то такие строки
найдутся).
Для оценки списка переменных в каждой выбранной строке
построим ассоциированную с ней элементарную конъюнкцию
и составим дизъюнкцию всех таких конъюнкций. Полученная
формула и будет искомой.
Для этого нам нужно доказать следующие два утверждения:
1) если f(si..sft) = 1, то F на оценке <si,..., sk> при-
нимает значение 1;
2) если f(si,$й) =0, то F на оценке <$i......sk> при-
нимает значение 0.
Пусть f($i,..., $й) = 1. Тогда в таблице для f строка,
соответствующая оценке <$i.....sk>, находится среди вы-
47
бранных строк, а значит, элементарная конъюнкция XiS1&...
... &Xhsk находится среди дизъюнктивных членов F. В силу лем-
мы 1.6 конъюнкция &XkSk принимает на оценке
$л> значение 1, а вместе с ней и вся формула.
Пусть f(sh ..., $ь) = 0. Любой дизъюнктивный член F имеет
вид &... &Xktk, причем оценка <ti,..., /fe> каждый раз
отличается от оценки <$ь..., так как строка, соответст-
вующая оценке <$ь...,$&>, не могла быть выбранной. Вейлу
леммы 1.6 каждая такая элементарная конъюнкция обращается
в 0 на оценке <$ь ..., Sk>, а значит, и вся формула F об-
ращается в 0 на этой оценке, что и требовалось доказать.
Пример 1.13. Для функции, заданной табл. 1.11, соответст-
вующей формулой будет
(X, &Х2&Х3) V &-|Х2&Пхз) V ( “I Xi&X2&X3) V
V ("| Xi & -] х2 & х3).
Докажем единственность. Пусть Fi и Fz— две формулы, вы-
ражающие функцию f, находящиеся в СДНФ относительно
списка <Xj,.... Хк> и существенно различные, т. е. либо в
Л есть элементарная конъюнкция, не содержащаяся в Fz, либо
в F2 есть элементарная конъюнкция, не содержащаяся в F\.
Рассмотрим, например, первый случай. Если Х/‘&...
...&Хь5* —элементарная конъюнкция, содержащаяся в Fit ноне
в F^ то она будет ассоциирована с оценкой <Si,..., s/t>. Лю-
бая элементарная конъюнкция, содержащаяся в Fz, будет ас-
социирована с некоторой другой оценкой. Поэтому на оценке
<$1,..., 5л> любая такая конъюнкция примет значение 0, а
следовательно, п вся формула Fz примет значение 0. С другой
стороны, на этой оценке Xisi&... &X/tSft примет значение I,
а поэтому и формула F\ примет значение 1. Тогда F\ и Fz будут
выражать собой различные булевы функции, откуда и следует
„ - единственность формулы.
________________а >лпца 111 Замечание 1.1. Из теоремы 1.8
Х2 Хз f(Xt.X2.X3) следует доказанное ранее (см. теорему 1.4) утверждение, что для любой не тождественно-лож- ной формулы А существует рав-
1 1 1 1
1 1 0 0 носильная ей формула F в СДНФ.
1 1 0 л 1 л 0 Однако мы доказали тогда бо-
1 0 и ] и 1 1 1 лее сильное утверждение, а имен-
0 1 0 0 но, что F может быть получена из А с помощью равносильных
0 0 1 1
0 0 0 0 преобразований.
48
Замечание 1.2. Теперь легко доказать утверждение о един-
ственности СДНФ для некоторой формулы А. В самом деле,
если А выражает булеву функцию f(Xb..., ХЛ), то и любая
СДНФ для А должна (в силу равносильности) выражать собой
ту же функцию. Поэтому все эти СДНФ должны совпадать с
точностью до порядка элементарных конъюнкций.
Аналогично можно доказать, что булевы функции предста-
вимы формулами в СКНФ.
Теорема 1.9 (вторая теорема о представлении булевой функ-
ции). Пусть f(Xt,..., Xk) — k-местная булева функция (k.^1).
не равная тождественно 1. Существует такая формула F, зави-
сящая от списка переменных <Xj, ..Хц> и находящаяся в
СКИФ относительно этого списка, что F выражает собой
ДХ1,..., Хк). Формула F определена однозначно с точностью
до перестановки конъюнктивных членов.
Перечислим все булевы функции от двух переменных. Та-
ких функций существует 2F = 16. Две функции сохраняют по-
стоянное значение: /1(Х, У) =0; fz(X, У) = 1. Четыре функции
существенно зависят только от одного из аргументов: f3(X, У) =
—Х\ (X, У) == У; (X, У) = ~jX; f6 (X, У) = -] У. Следующие че-
тыре функции принимают значение 1 точно на одной оценке;
в СДНФ этих функций должна быть только одна элементарная
конъюнкция: f7(X, Y)=X&Y (оценка (1,1)); /«(X, У) = ~jX&
&У (оценка (0,1)); fa(X, У)=Х&~]У (оценка (1,0)); /ю(Х,
У) = ~]Х& -|У (оценка (0,0)). Последняя функция называется
иногда функцией Шеффера и обозначается Х|У. Двойственны-
ми этим четырем функциям являются функции fn'(X, У) = XVУ;
/12(Х, У) =-|ХуУ = ХгэУ; MX, Y) =Х\/ -\Y=Y=>X;
1к(Х, У) = ~]X\y-]Y. Все эти функции на трех оценках прини-
мают значение 1 и только на одной оценке — значение 0, а
именно: на (0,0), .(1,0), (0,1), (1,1) соответственно. Последняя
из них называется функцией Вебба w обозначается ХоУ. На-
конец, имеются две функции, существенно зависящие от каждо-
го из аргументов и принимающие на двух оценках значение 0
и на двух — значение 1: fis(X, У) = (Х& У) V (~1^& — У)=Х~У
(па оценках (1,1) (0,0) функция принимает значение 1);
MX, У) = (-| Х&г) V (Х&п У) (на оценках (0,1), (1,0)
функция принимает значение 1). Последняя функция соответ-
ствует разделительному «пли». Она называется также сложе-
нием по модулю 2 и обозначается X + У.
Как видим, рассмотренные функции попарно различны, так
что наше перечисление является "исчерпывающим.
1.2.2. Полные системы булевых функций
Система булевых функций {Л,...» fm} называется полной, если
любая булева функция может быть выражена через функции
Л. ..., с помощью суперпозиций (т. е. составления сложных
Функций).
4—1529 49
Дадим определение суперпозиции функций. Пусть
K°=(f<(X,..... Хл), MX,....х*2)......MX,.......Х^)} -
конечная система булевых функций. Функция f называется су-
перпозицией ранга 1 (или элементарной суперпозицией) функ-
ций fi, ..., если f может быть получена одним из следующих
способов: а) переименованием некоторой переменной X/ какой-
нибудь функции fb т. е. f = ft(Xh...» Y, Хж,...» Xkt)9
где Y может совпасть с любой переменной; б) подстановкой
некоторой функции вместо какой-либо переменной
любой из функций fi^K°, т. е. ...........Xj-i, h(Xi, ...»
xk,).xl+,.....Xki).
Суперпозиции ранга 1 образуют класс функций К1. Класс
функций, получающийся из функций класса Кг-1 суперпозиций
ранга г—1с помощью элементарных суперпозиций, называет-
ся классом функций Кг суперпозиций ранга г. Суперпозициями
функций из /С° называются функции, входящие в какой-либо из
классов Кг.
Несложно доказывается следующее
Утверждение 1.5. Пусть система {ft,..., f™} — полная и
любая из функций fit..., fm может быть выражена с помощью
суперпозиций через функции gi,..., gj. Тогда система {gi,...»
gz} тоже полная.
Пример 1.14. Докажем полноту следующих систем функций:
а) {-1. &. V); б) {1. V}: в) {1. &}; г) {п, =>}.
Полнота системы {-д, &, V} непосредствен ио следует из тео-
рем 1.8 и 1.9.
Для доказательства полноты системы {“], V} воспользуем-
ся полнотой системы {"|, &, V) и утверждением 1.5, где в роли
функций fi, /г» fs выступают соответственно V, а в роли
функций gb g2 ~~|» V- Тогда fi = gi н f2 = ^ & Х2 = “] (~j Xt\f
V ”1^2)» т- е- функция f2 выражена через gi и g^ a f3 = gz.
Полнота системы {“], &} доказывается аналогично преды-
дущему случаю с использованием равносильности Xi\/ Х2 =
=х n(-|Xi&-|X2).
Для доказательства полноты системы воспользуем-
ся полнотой системы {~|, V} и утверждением 1.5, где в роли
функций fi и f2 выступают соответственно V» а в роли
функций gi, g2 — -|, о. Тогда fi = gi, f2 = V Xs =
В разд. 1.1.1 была определена функция X + У — сложение
по модулю 2. Запишем таблицу истинности для этой функции
(см. табл. 1.12). Иногда удобнее вместо символа & писать сим-
вол • или вообще опускать его, как это делается в арифметике.
Тогда функцию X&Y можно записать как Х-У или просто XY.
Таблица истинности для этой функции также содержится в.
табл. 1.12.
50
Рассмотрим теперь систему функций {+, -, 1}. Это полная
•система, что следует из утверждения 1.5, полноты системы {~]
.} и равносильности “]Х = Х-|-1. По таблицам истинности
нетрудно проверить, что выполняются тождества (часть из них
уже проверена при доказательстве основных равносильностей):
1) Х+У=У+Х; 1') Х-У=У-Х;
2) (Х4-У)+2=Х+(У+7); 2') (Х-У)-Z=X-(У-Z);
3) *+Х=0; 3')
4) Х-(У-уг)=Х.У+Х7; (1-0
5) 0 + X = X;
6) 0-Х = 0;
7) ьХ = Х.
Заметим, что все тождества, кроме 3 и 3', выражают свой-
ства, аналогичные свойствам арифметического сложения и ум-
ножения. Следовательно, в силу полноты системы {+, -, 1} и
тождеств 1—2, 1' — 2', 4 — 7 любую булеву функцию можно
представить в виде многочлена от своих переменных.
Многочленом Жегалкина называется многочлен, являю-
щийся суммой константы 0 или 1 и различных одночленов, в
которые все переменные входят не выше чем в первой степени:
SXG... Xift + a/t
причем на каждом наборе <7Ь .... все ij(j = 1,..., k) раз-
личны, о/е {0, 1}.
Воспользовавшись тождествами 3 и 3Z, можно доказать, что
каждая булева функция может быть представлена многочленом
Жегалкина. Поскольку число различных булевых функций от
п переменных равно 22Л и число различных многочленов Же-
галкина от п переменных также равно 22", то представление
булевой функции многочленом Жегалкина единственно.
Пример 1.15. Представим многочленами Жегалкина функ-
ции XV У и XVYVZ-.
Ху*' = -|(-|Х&-]У) = (Х+ 1)(У + 1) + 1 =
= ХУ + Х+У+1 + 1=ХУ + Х + У;
X V У = XYZ + ХУ + XZ + YZ + X + У + Z.
Утверждение 1.5 дает лишь достаточное условие полноты
системы булевых функций. Перейдем теперь к установлению
критерия полноты системы булевых функций.
4* 51
Класс - (множество) К булевых функций называется функ-
ционально замкнутым, если вместе с функциями из этого клас-
са он содержит и все их суперпозиции.
Очевидно, что для доказательства замкнутости класса до-
статочно показать, что элементарные суперпозиции не выводят
из этого класса. Функционально замкнутыми являются: класс
всех булевых функций, класс, содержащий только тождествен-
ные функции вида f(X) = X, класс функций от одной пере-
менной.
Утверждение 1.6. Никакая полная система булевых функций
не может содержаться в функционально замкнутом классе,
отличном от класса Ki всех булевых функций.
Действительно, в противном случае для полной системы
{fi, •.., Ап} найдется замкнутый класс К такой, что {А,...,
fm} cz К с: Ki и Следовательно, найдется функция f
такая, что f ё= К, т. е. f не может быть выражена через А,...,
fm, что противоречит полноте этой системы.
Рассмотрим некоторые функционально замкнутые классы
функций.
Через Тс обозначается класс функций, сохраняющих 0, т. е.
функций, удовлетворяющих условию f (0, 0,..., 0) =0.
Через Т\ обозначается класс функций, сохраняющих 1, т. е.
функций, удовлетворяющих условию /‘(l, I,..., 1) = 1-
Заметим, что Х\ Х2 s Тс, a Xi Х2 е= Ti, Xi 4- X2 e= To,.
a Xi + Х2^Г1, т. e. эти классы функций различны и не совпа-
дают с классом всех булевых функций.
Поскольку элементарные суперпозиции не выводят из клас-
сов То и 71 соответственно, то они функционально замкнуты.
Например, если fi(Xit..., ХЛ1) е То и ft (Xj,..., ХЛз) <= То, то-
функция A(Xi, ..., Xi-j, f2(Xi, ..., XkJ, Xi+i, ..., Xkl) на нуле-
вой оценке, очевидно, также принимает значение 0, т. е. принад-
лежит классу То. Переименование переменной также не выво-
дит из То.
Пусть f (Xi,..., Хп) — булева функция. Функция f*(Xlt...,
Хп) называется двойственной f(Xir ..., Хп), если f*(Xi, .... ХЛ) =
=-] f(-| X],.. Х„). Очевидно, двойственной Xi V ^2 является
функция Xj&X2 и наоборот; двойственной f(Xi)^O является
функция f(X2) = 1 и наоборот.
Утверждение 1.7 (принцип двойственности). Пусть
Ф = fi(X],..., Xi— i, /г(Х],..., XftJ, Xj+i, ..., Xftj ).
Тогда
<D* = f*i(*]___*4), Xl+1----------------------Xfel).
Действительно, без ограничения общности можно считать^
что ki > k2. Тогда
Ф*(ХЬ ..., Xftj) => -|ф(-|Х]....“lXfcj) = /i(—1X1,. _.
52
. ..,П Xi-1,-1-]/2( “]Xi,... ,-|XAi), “iX.+i,“|Х* ) =
-яА(п^...,-1^-ь-1Г*2(Х1...xhj, -|Х,+1, ...,-jXftl) =
= Xi-1, ^(X,,...^), X£+I,..., xft().
Функция f(Xi,...,Xn) называется самодвойственной, если.
f(Xj,.... Хп) = f*(Xi,..., Xn). Класс самодвойственных функ-
ции обозначается через S.
Пример 1.16. Функция f(Xb Хъ Х3) = Xj 4- Х2 4- Х3 само-
двойственная . Действительно,
Класс S самодвойственных функций функционально замк-
нут. Это следует из утверждения 1.7, поскольку если fi, f2^S,
т. е. f*i = fi, i 2 = fz, то Ф = Ф*. Переименование переменной
также нс выводит из S.
Функция f (Хь..., Хп) называется линейной, если f (Хь ...,
Х„) =flo+aiXi-j-.. .+йпХп, где а,^{0, 1}. Класс линейных
функций обозначается через L. Очевидно, Х+Уе£, Ое^,.
ХУ^£.
Класс линейных функций L функционально замкнут. Если
fi = а0 4- Я]Х1 + ... 4-OftjXfej е£ и /г=|Ьо 4-61Х( + .... 4- bh8X*2S
£== L, то ас 4- •.. + л»—]X$_i 4~ о,(Ьо 4" biXi 4" . -. + ^л8ХАз) +
4- fli+iXi+i 4- ... 4- а<-иХл1 e£i, что следует из тождеств 3 и 5
(см. (1.1)). Переименование переменной также не выводит
из А.
Введем отношение частичного порядка на множестве оценок
списка переменных <ХЬ ..., Хп>. Говорят, что оценка а =
= <011,...» ап> предшествует оценке -р = <рь .... рп>, где
и.к= {0, 1}, ipte {0, 1}, i= 1,..., п, если а,^Рг для любого i
(обозначаем а<Р). Например, <0, 1, 0. 1, 1. 1>,
а оценки <0, 1, 1> и <1, 0, 1> несравнимы. Введенное от-
ношение -< есть отношение частичного порядка (см. введение,
разд. 0.3).
Функция f (Xi,..., Хп) называется монотонной, если для
любых оценок аир списка переменных таких, что а-<р, имеем-
f(a)^f(p). Класс монотонных функций обозначается через Л1.
Пример 1.17. Функции f(X>) = Х>, f(Xb Xa)=X'i&X2, /(Хь
Х2) =XlVX2 монотонные. Функция f(Xb X?.)=XiZdX2 не мо-
нотонная, так как <0, 02>, а для этой функции
f(0, 0) = 1, f(l, 0) =0.
Класс М монотонных функций функционально замкнут.
Действительно, элементарные суперпозиции не выводят из-
класса М монотонных функций. В частности, если: f*(Xb.....
53:
и Xs)<=Af, то MXi,..., Хг_ь
X*2), X/+i,... ,Xfti) eAf. Без ограничения общности можно счи-
тать, что k^kz. Если а = <аь ..ал £ >, ₽=<₽i,..., >
и а<р, то fz(ai..... ал2)^/2(рь..., рл2). Отсюда
cu-i, |г(аь ...» а*2), си+1,...» (₽i, ..fa-i, fz(₽ь - -Дл2),
₽i+i,.... pjQ, так как <cti,..., ш-ь /2(ai,.... <хй2), <хж, • •
akt > <₽ь • • •» ₽i-i> МРь • • -, ₽л2). Рж» • * ’ 'Р*!
Классы То, Ti, S, L, M неполные и попарно различные, по-
скольку можно привести примеры булевых функций, не принад-
лежащих ни одному из этих классов, и примеры функций, при-
надлежащих одному из любых двух классов, но не принадле-
жащих другому. Кроме перечисленных можно указать и много
других функционально замкнутых классов. Оказывается, что
для проверки полноты системы булевых функций можно огра-
ничиться рассмотренными пятью функционально замкнутыми
классами.
Теорема 1.10 (теорема Поста). Для того чтобы система бу-
левых функций {h,... . ы была полной, необходимо и доста-
точно, чтобы для каждого из классов Тс, Тъ L, М и S нашлась
функция fi из системы, не принадлежащая этому классу.
Докажем только необходимость этого условия. Классы Тс,
Ть L, М и S попарно различны и не совпадают с классом К\
всех булевых функций. Если бы все функции ., fm принад-
лежали какому-либо из этих классов, то, как следует из ут-
верждения 1.6, в силу его замкнутости система {ft,..., f™} не
была бы полной.
Пример 1.18. Доказать полноту системы {+, V» !}• Соста-
вим таблицу Поста. В клетках табл. 1.13 будем писать знак
«4-> или с—» в зависимости от того, принадлежит рассматри-
ваемая функция данному функционально замкнутому классу
или нет. В силу теоремы Поста для полноты системы необходи-
мо и достаточно, чтобы в каждом столбце был хотя бы один
минус.
Та блица 1.13
f То Л S L
X+Y + — — + —
X\/Y + + — — +
1 — + — + +
54
Принадлежность функции X 4- У классам То, L и непринад*-
лежность классу 7\ очевидна. Эта функция несамодвойствен-
ная, так как (А 4- У)* = -|(п^ + “I Л = (И 4- I) + (У + I)) +
4- 1 = X 4- У 4- 1.
Функция Х4-У немонотонная, так как <1, 0><<1, !>,.
а 1 4“ 0 = 1 н 14-1=0.
Функция Х\/ Y, очевидно, принадлежит классам Го и 1\.
Она иесамодвойственная, так как двойственная ей функция
есть Х&У. Она нелинейная, так как многочлен Жегалкина этой
функции имеет вид X V У = XY 4- X 4- У. Монотонность функ-
ции X V У легко проверяется по се таблице истинности. Для
функции, тождественно-равной 1, таблица Поста заполняется
тривиально. Так как каждый столбец таблицы Поста содержит
по меньшей мере один знак «—», то система (4-, V» 1} —
полная.
Система функций G называется независимой, если никакая
функция.f ge G не представлена суперпозициями функций из
Независимая система функций называется базисом функ-
ционально замкнутого класса К, если всякая функция из К
есть суперпозиция функций из G.
Пример 1.19.
1. Система функций {&,“]} независимая, так как &^7\,
~|ёТ1, “|е L,
2. Система функций {&, V> “11 не является независимой,
так как X V У = ”| (“1^ & И П-
3. Система функций {4-, •, 1} независимая, так как
4- Т1, (= Л) 1 €Е: TjJ 4’ L, 1 €E: L’t 4“ Го, • €= To,.
leTo.
4. Системы функций {&,“]}» {4"» '< 1} — базисы класса ТС
всех булевых функций.
5. Система функций {0, ~) — базис функционально замк-
нутого класса L линейных функций. Это независимая система,
так как ОеГо, 0ё Г», С другой стороны, каж-
дая линейная функция выражается суперпозициями функций
4-, “1, поскольку = X 4- 1. Но эти функции в свою очередь-
выражаются через Ои ~ :-|Х=Х~0, Х4-У=~| (Х~У).
1.2.3. Минимизация в классе дизъюнктивных
нормальных форм
Выше было доказано, что произвольная булева функция может
быть представлена .формулой в дизъюнктивной и конъюнктив-
ной нормальной форме. Равносильными преобразованиями
можно получить формулу, содержащую меньшее, чем исходная,
число переменных. Например:
a) (Xi & Х2) V (*1 & -|Х2) =Л1;
б) (Х!&Х2) V%i=Xr,
в) (Xi&X2)
Заметим, что последнее преобразование выводит формулу
из класса дизъюнктивных нормальных форм. Будем минимизи-
ровать формулы в классе ДНФ.
Дизъюнктивная нормальная форма называется минималь-
ной, если опа содержит наименьшее общее число вхождений
высказывательных переменных по сравнению со всеми равно-
сильными ей дизъюнктивными нормальными формами.
Следовательно, минимальную ДНФ данной формулы можно
найти, перебрав конечное число равносильных ей ДНФ и вы-
брав среди них ту, которая содержит минимальное число пере-
менных. Однако прн большом числе переменных такой перебор
практически невыполним. Существуют эффективные способы
нахождения минимальной ДНФ (см., например, [11]). Рассмот-
рим только одни из них — мегод минимизирующих карт. Хотя
этот метод и нс отличается большой эффективностью, зато он
прост для изложения и не требует введения дополнительных
понятий.
Пусть булева функция задана таблицей истинности или
СДНФ. При здппси формул будем опускать символ & и вместо
-|Xf- писать Xi, например XiX2Xs \/ XiX3 вместо (Xi & -]Х2 &
&Х3) V (Xl&-]X3). Составим следующую карту (см. табл. 1.14).
Утверждение 1.8. Если конъюнкция Хх^ ... Хп£п, 1},
i = 1,..., п, принадлежащая j-й строке табл. 1.14, не входит в
СДНФ, выражающую функцию f(Xit..., Х„), то любая конъ-
юнкция j-й строки не входит ни в какую ДНФ, выражающую
исходную функцию.
Действительно, если конъюнкция Х/1... ХГ1еп не входит в
СДНФ, выражающую функцию /(Хь.... Хэт), то по алгоритму
построения СДНФ (см. теорему 1.8) /(еь ..., еп)=0. Если бы-
какая-то конъюнкция /н строки вошла в некоторую ДНФ функ-
ции f, TO f(Ei, ..., Сп) = 1.
Опишем способ построения минимальной ДНФ:
1. Отметим в табл. 1.14 строки, в которых соответствующая
им конъюнкцня. Х1е1.... Хйе"ие принадлежит СДНФ, выражаю-
щей функцию f (Хь ..., Хп). Вычеркнем все конъюнкции в этих
строках.
2. Вычеркнутые в этих строках конъюнкции вычеркнем так-
же во всех остальных строках таблицы.
3. В каждой строке выберем из оставшихся конъюнкций
лишь конъюнкции с наименьшим числом сомножителей, а ос-
тальные вычеркнем.
4. В каждой строке выберем по одному оставшемуся эле-
менту и составим из них ДНФ.
5. Из всех .ДНФ, полученных в п. 4, выберем минимальную.
Заметим, что и. 5 предусматривает перебор различных ДНФ
для нахождения минимальной из них. Однако при этом число
.56
Таблица 1 14
X я X |4 1 Й >< 1^ 'i »: IX
X X X X i* 1Х
: -
X 14 >< ч
X 14 !4
St >4 й Ч
Й X |4
X >< >< ч
X X >< IX
X 5< 1х
£ X 5< 1х
Й и 14 £ X IX
-
X X 14 |4
X >< X IX
1 ”
X *< X |х
57.'
«вариантов перебора, как правило, меньше, чем в случае, когда
перебираются все равносильные ДНФ.
Действуя в соответствии с пп. 1—5, получим минимальную
ДНФ, выражающую функцию f(Xt,.... Хп). Пусть F — фор-
мула в ДНФ, полученная в п. 5. Тогда, если f (ei,...» en) = 1,
то F(ei,.... en) = 1. Действительно, если конъюнкция Xie'...
.. .Хпел соответствует j-й строке табл. 1.14, то эта строка осталась
'невычеркнутой; любая конъюнкция в этой строке на оценке
бп> принимает значение 1. Следовательно, и форму-
ла F, содержащая одну из таких конъюнкций в качестве дизъ-
юнктивного члена, принимает на оценке <ei,.... Ся> значе-
ние 1, т. е. /’(si,..., я) = 1. Если 8я) = 0, то на
оценке <ei, ...,*«*> все невычеркнутые в табл. 1.14 конъюнк-
ции принимают значение 0, так как все конъюнкции, которые
яа этой оценке принимают значение 1, вычеркнуты. Следова-
тельно, составленная из этих конъюнкций ДНФ принимает на
этой оценке значение 0, т. е. F(ei,..., еп) = 0. __ __
Пример £.20. Пусть f(Xb Х2, Х3) - XrXsX3 V XtX2X3 V
v Х1Х2Х3\/ Х'Х2Хз. Составим табл. 1.15.
Отметим знаком * вычеркнутые строки. После применения
лп. 1—3 в табл. 1.15 останутся конъюнкции, приведенные в
табл. 1.16. После применения пп. 4 и 5 получим минимальную
ДНФ
Поскольку алгоритмы нахождения минимальной ДПФ до-
Таблица U5
х. x2 X. XiX2 XiXt X2X, XiXtXt *
X, x2 Xt xtx2 X1X3 x2Xt XiX^Xt
х< T, Xt XiY2 XiXt Yxt XiX2Xt
Xt Xs x3 XiXt x\Yt Х2Хз X1X2X3
Xi Xt Xt XiX2 XiXt XtXt XiXtXt *
Xi Xt Yt XiXt YtXt XtXt ХзХгХз *
Xi Xt Xt XiXt ~XiXt X2X3 XiXtXt
Xi z Xt Wt ~XiXt XtXt XtXaX, *
58
Таблица 1.16
XiXa
XiXt ХгХ>
х,ъ. х,х,
1 1
ХгХ9
вольно сложны, иногда применяют алгоритмы упрощения, по-
лучая некоторые приемлемые для дальнейшего использования
ДНФ, среди которых содержатся и минимальные. К таким ти-
пам ДНФ относятся и сокращенные ДНФ, которые мы будем
использовать в гл. 4. Сокращенная ДНФ формулы может быть
получена, например, по следующему алгоритму.
Рассмотрим произвольную конъюнктивную нормальную
форму исходной формулы. Воспользуемся законом обобщенной
дистрибутивности (Д1 V • • ’ V Л*) & (В1 V • • • V Я*) 35 (Л &
и «раскроем» скобки. За-
тем произведем упрощения полученной формулы, пользуясь
равносильностями (Д & и удаляя тождест-
венно-ложные дизъюнктивные члены. В результате получим
ДНФ, которая называется сокращенной.
1.2.4. Контактные схемы
Рассмотрим одно из приложений логики высказываний — при-
менение ее к теории электрических цепей, а именно к контакт-
ным схемам.
Пусть X],..., хп — набор контактов в электрической схеме.
Контакты могут быть размыкающими и замыкающими. Контакт
называется размыкающим, если он размыкается при подаче
напряжения на обмотку реле, к которому ои подключен, а когда
напряжение ие подается, контакт замкнут. Контакт называется
59
замыкающим, если он замыкается при подаче напряжения на
обмотку реле, к которому он подключей, а когда напряжение
.не подается, контакт разомкнут. В схеме одни и тот же контакт
может неоднократно быть как размыкающим, так и замыкаю-
щим. Будем считать, что Xi — 1, если на обмотку контакта xt
подается напряжение, н Xi = 0 — в противном случае.
Каждой последовательно-параллельной схеме с контактами
.Xi,..., хп поставим в соответствие ее функцию проводимости
г, . \ ( 1> еслп схема проводит ток;
И хп) — | о, еслп схема не проводит ток.
Тогда функция проводимости схемы, состоящей из одного кон-
такта хи есть Xie,t где е, = 1, если контакт замыкающий, и е« =
= 0, если контакт размыкающий. Функция проводимости схемы
из последовательно соединенных контактов Xi н х/ есть Xi^&
&Xjci, а функция проводимости схемы из параллельно соеди-
ненных контактов —
•Ai'VX/
Следовательно, каждой последовательно-параллельной кон-
тактной схеме можно поставить в соответствие формулу логики
высказываний, реализующую функцию проводимости этой схе-
мы. Две схемы считаются эквивалентными, если они одновре-
менно проводят (или не проводят) ток при подаче напряжения
на одноименные реле, т. е. еслп они имеют одинаковую функ-
цию проводимости. Применяя равносильности логики высказы-
ваний, можно упрощать контактные схемы, заменив нх экви-
валентными, содержащими меньшее число контактов.
Пример 1.21. Запишем функцию проводимости и упростим
электрическую схему:
€0
Функция проводимости: (У & Z) V (Х&-]У&Х)У(“]^&
Эквивалентная схема:
7
Задачи и упражнения
I. Указать формулы в СДНФ и СКНФ, выражающие сле-
дующие функции:
a) f(Xi, Хг, Х3), равную 1 тогда и только тогда, когда боль-
шинство переменных равно 1;
б) f(Xi, Х2, Х3, Х4), равную 1 тогда и только тогда, когда
Xj + Х2 + Х3 + X4S^4.
2. Выразить с помощью суперпозиции:
а) через !,+,•;
б) &, V через =>, -|;
в) через 0,
г) -|, V» & через J (здесь J — функция Шеффера Х|У =
= -|Х& -jV);
Д) 1» V. & через о (здесь о — функция Вебба ХоУ =
= -1 xv-iD.
3. Представить многочленом Жегалкина: a) Х^эУ; б) X~Y.
4. Доказать, что самодвойственная функция на противопо-
ложных наборах значений переменных принимает противопо-
ложные значения.
5. Доказать, что число самодвойственных функций от п пере-
менных равно 22"“‘
6. Доказать, что число линейных функций от п переменных
равно 2n+1.
7. Доказать, что пересечение двух функционально замкну-
тых классов есть функционально замкнутый класс.
8. Доказать, что совокупность функций, двойственных функ-
циям из функционально замкнутого класса, образует функцио-
нально замкнутый класс.
9. Доказать, что следующие классы функций не являются
функционально замкнутыми:
а) класс функций от двух переменных;
б) класс функций, сохраняющих пуль, но не сохраняющих
единицу.
10. ‘Доказать, что объединение функционально замкнутых
классов может не быть функционально замкнутым.
11. Доказать, что нельзя выразить с помощью суперпозиций:
•а)-^э через “| и б) -| через =>.
61
12. Проверить с помощью теоремы Поста полноту следую-
щих систем булевых функций: а) {+, б) {~|}; в) {0,
г) {~, V. 0}; Д) {|}; е) {о}. Будут ли эти системы функций-
независимыми?
13. Доказать, что единственными полными системами из
одной двуместной булевой функции являются системы {|} и
{°}.
14. Доказать, что для класса всех булевых функций ба- .
зисами являются: а) {V. ~|}; б) {о}; в) {[}.
15*. Доказать, что {&, гэ) — базис для класса Л-
16. Методом минимизирующих карт найти минимальную*
ДНФ для булевой функции ЦХЬ Хг, Х3), которая равна 1 толь*
ко на оценках <1, 1, 1>, <1, 0, 1>, <0, 0, 1>, <0, 0, 0>.
17. Записать функцию проводимости и упростить схему:
1.3. ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ
1.3.1. Аксиоматические теории
Таблицы истинности позволяют ответить на многие вопросы,,
касающиеся формул логики высказываний, например на воп-
рос о тавтологичности (тождественной истинности) формулы
или на вопрос о равносильности двух формул. Однако более
сложные вопросы логики высказываний уже не могут быть
решены с помощью таблиц истинности. Поэтому рассмотрим
другой метод — метод формальных аксиоматических теорий.
Формальная аксиоматическая теория Т считается опреде-
ленной, если:
1) задано некоторое счетное множество символов — симво-
лов теории Г; конечные последовательности символов теории Т
называются выражениями теории Г;
2) имеется подмножество выражений теории Т, называемых,
формулами теории Г;
62
3) выделено некоторое множество формул, называемых ак-
сиомами теории Т;
4) имеется конечное множество , Rm отношений меж-
ду формулами, называемых правилами вывода.
Если формула А и формулы Ль..., Af находятся в некото-
ром отношении Ri, то А называется непосредственным следст-
вием из формул А[,..А/, полученным по правилу Rt.
Выводом в теории Т называется всякая последовательность
Д1,..., Лп формул такая, что для любого i формула Лх- есть
либо аксиома теории Т, либо непосредственное следствие ка-
ких-либо предыдущих формул.
Формула А называется теоремой теории Т, если в ней суще-
ствует вывод, в котором последней формулой является А. Этот
вывод называется выводом формулы А. Иными словами, теоре-
мы аксиоматической теории — это формулы, которые могут
быть выведены по определенным правилам.
Формула А называется следствием множества формул Г
тогда и только тогда, когда существует такая последователь-
ность формул Ai,..., Ап, что Ап есть А, и для любого i,
А< есть либо аксиома, либо формула из Г, либо непо-
средственное следствие некоторых предыдущих формул. Эга
последовательность называется выводом А из Г. Элементы Г
•называются посылками вывода или гипотезами. Сокращенно
можно записать Г Н А '(т. е. А есть следствие Г). Если множе-
ство Г состоит из формул Bt.....Bkt то пишут Вь..., Bkh А.
Если Г — пустое множество, то Г |— А тогда и только тогда,
когда А есть теорема. В этом случае принято писать Н Л.
Приведем несколько простых свойств понятия выводимости
из системы гипотез. Пусть Г — произвольное множество фор-
мул, а А, В, С — произвольные формулы:
I. Г, А Н Л. Действительно, вывод формулы А из системы
гипотез Г, А состоит из одной формулы А.
II. Если Г, А В Н С, то Г, В, А Н С.
III. Если Гн Л и В — произвольная формула, то Г, В Н А.
Действительно, в качестве вывода формулы А нз системы гипо-
тез Г, В можно взять вывод формулы А из системы гипотез Г.
IV. Если Г НА Г нВ и АВ Н С, то Г Н с- Пусть А.........
Ап — вывод формулы А из Г; Bi......Bm — вывод формулы В
из Г; Ci,..., Ck — вывод формулы С из А, В. Тогда очевидно,
что А,..., Ап» Bi,..., Вт» Ci,..., Ck есть вывод формулы С
'Из Г.
V. Если Г, А н В и Г Н А, то Г Н В (правило удаления вы-
'Водимой гипотезы). Пусть Bt....Вп — вывод формулы В из
Г, А. Если в этом выводе не встречается формула А, то имеем
•вывод В из Г. Если в этом выводе встречается формула Л, то
пусть Bi Btk—все вхождения формулы Л в вывод. Пусть
также А1,..., Лт — вывод Л из Г. Тогда Bi.....BZ|_j Ль...,
63
Л™, Bfi+i » • > ।» Л],..., Лт, ...» Bik—। > Ль ..., Лп1,-
Вт — вывод формулы В из Г.
1.3.2. Исчисление высказываний: определение, свойства.
Теорема дедукции
Рассмотрим один из возможных способов формализации логи-
ки высказываний — исчисление высказываний. Оно является
простым примером формальной аксиоматической теории. Опре-
делим эту формальную аксиоматическую теорию следующим
образом:
1. Символы исчисления высказываний: ~] ,=>,(,) и буквы
Xi с целыми положительным числами в качестве индексов: Xi,
Х2, Хз ... Символы -| и —логические символы, символы X],
Х2, Х3 ...— переменные.
2. Формулы исчисления высказываний: а) все переменные
Xi — формулы; б) если Л и В — формулы, то (“|Л) и
(Л=>В) тоже формулы.
Пример 1.22. Последовательность символов -jXjZdXo^
гэ X! — выражение, но не формула.
Пример 1.23. Пусть А, В, С — формулы. Тогда
(C=d(/zdB))> (((-|Л)гэВ).гэ(-|С)) (1.2)
тоже формулы.
Для сокращения записи опустим в формуле внешние скобки
и те пары скобок, без которых можно восстановить формулу
по следующему правилу: каждое вхождение знака относится
к наикратчайшей подформуле, следующей за этим знаком. Тог-
да формулы (1.2) примут вид
Сг^(ЛзэВ), (-|Л В) гэ-jC.
3. Аксиомы исчисления высказываний. Каковы бы ии были
формулы А, В и С, следующие формулы являются аксиомами-
А1. Л (В Л);
А2. (Л гэ (В 2D С)) гэ ((Л гэ В) (Л гэ С));
АЗ.
Выражения А1 — АЗ называются схемами аксио.м, поскольку
каждое из них порождает бесконечное множество формул, яв-
ляющихся аксиомами исчисления высказываний. Например,
формула Х13э(Х2гэХ1) есть аксиома, полученная по схеме А1г.
формула ( -]Л =>“|Л) гэ ((~|Л2эЛ) гэЛ) (где А — любая
формула) — аксиома, полученная по схеме АЗ.
4. Единственным правилом вывода формулы служит прави-
ло modus ponens (сокращенно т. р.). Пусть имеются три фор-
мулы: А, А 2э В п В. Про формулу В будем говорить, что она:
64
получается по правилу вывода т. р. из формул А и A В. Это
Л Л В
правило вывода записывается обычно в виде -------•
Хотя для исчисления высказываний мы выбрали только два
логических символа -| п э, с помощью следующих определе-
ний можно ввести и остальные операции: А & В означает “| (Л 2D
~)В); А\/ В означает А~В означает -|((В:эЛ) 2D
зэп (А=>В)).
Докажем несколько утверждений о выводимости формул в
исчислении высказываний.
Наряду со свойствами выводимости I—V (см. с. 63) в ис-
числении высказываний выполняется также следующее свой-
ство:
VI. Еслп Г |- A zdB и Г I- А, то Г |— В. Пусть Ах..Ап —
вывод формулы А из Г, где Ап совпадает с Л. Пусть Bi,
Вт — вывод формулы А~=> В из Г, где Вт совпадает с А 2э В.
Тогда Ль ..., Ап, Вь , Вт, В — вывод формулы В из Г.
Последняя формула в этом выводе получена применением пра-
вила т. р. к формулам Ап и Вт.
Утверждение 1.9. Ь ЛгэЛ для любой формулы Л.
Построим вывод формулы Л 2D Л:
(1) (Л 2D ((Л 2D А) 2D Л)) 2D ((Л 2D (Л =3 Л)) 2D (Л 2D Л))
(подстановка в схему аксиом А2 формулы Л 2D Л вместо В и
формулы Л вместо С);
(2) Л 2D ((Л => Л) 2D Л)
(подстановка в схему аксиом А1 формулы Л 2D Л вместо В);
(3) (Л 2D (Л 2D Л)) 2D (Л 2D Л)
(из (1) и (2) по т. р.)\
(4) Л 2D (Л 2D Л)
/подстановка в схему аксиом Л1 формулы Л вместо В);
(5) ЛэЛ
(из (3) и (4) по т. р.).
Утверждение 1Л0. Если Г F- Л и В — любая формула, то
Г |— В 2D Л.
Пусть Л1....Лп — вывод формулы Л из Г, где Ап совпа-
дает с Л. Тогда последовательность Л1,..., Лп, Л 2D (В 2D Л),
о Л — вывод формулы В 2D Л из Г.
В математических рассуждениях часто какое-то утвержде-
ние В доказывают в предположении верности некоторого дру-
гого утверждения А, после чего заключают, что верно утверж-
дение «если А, то В». В исчислении высказываний этот прием
обосновывается следующей теоремой.
5—1529 65
Теорема 1.11 (о дедукции). Пусть Г — множество формул,
А и В — формулы и Г, А f-В. Тогда Г |— А ю В.
Пусть
....Вп (1.3)
есть вывод формулы В из Г н А. Доказательство проведем ин-
дукцией по л — длине вывода (1.3). При п — 1 формула В сов-
падает с В\. Согласно определению вывода возможны три
случая:
1) Bi — аксиома;
2) Bi — формула из множества Г;
3) Bi совпадает с А.
В первых двух случаях имеем Г |— Вь Тогда согласно ут-
верждению 1.10 ГНЛюВь т. е. Г |-ЛюВ. В третьем случае
формула ЛюВ имеет вид Лю Л. Согласно утверждению 1.9
f- Л ю А, откуда Г Н Л ю Л.
Допустим теперь, что если длина вывода формулы В из Г,
Л меньше л, то утверждение теоремы верно. Докажем его для
случая, когда длина вывода (1.3) равна л. При этом возможно,
что:
1) Вп — аксиома;
2) Вп — формула из Г;
3) Вп совпадает с Л;
4) Вп получена по ш. р. из В,- и В/, где i < п, j <п.
В первых трех случаях доказательство проводится так же,
как при л = 1. В четвертом случае либо формула В/ имеет вид
В.юВп, либо формула В,- имеет вид Bj=>Bn. Ограничимся рас-
смотрением случая, когда В/ имеет вид В/юВп. Отбрасывая:
последние л — i формулы из (1.3), получаем вывод В, из Г и Л,
а отбрасывая последние л—j формулы из (1.3), — вывод Вд
из Г и Л; длины этих выводов меньше л. По индуктивному
предположению
(1) Г НЛ юВ£;
(2) ГНЛ ю (В/юВ„).
По схем-е аксиом А2 имеем
(3) ГН(Лю(В,юВ„))ю((ЛюВ/)ю(ЛюВп)).
Применяя свойство VI к (2) и (3), получаем
(4) Г |- (ЛюВ/) ю (ЛюВ«).
Применяя свойство VI к (1) и (4), получаем
Г |— Лю Вп.
Теорема доказана.
Следствие 1 (правило силлогизма): А В, В ю С |— Л ю С.
Построим, вывод:
(1) Л ю В — гипотеза;
(2) В гэС — гипотеза;
(3) Л — гипотеза;
66
(4) В — применяем правило т. р. к (J) и (3);
(о) С — применяем правило т. р. к (2) и (4).
Тогда 71 => В, В => С, А Н С. По теореме о дедукции А ю В,
В^С У- А^>С.
Следствие 2: А id (В zd С), В н А С.
В результате двукратного применения правила т. р. полу-
чаем Л, Л id [В zd С), Bl— С. Отсюда во теореме о дедукции
Лг?{В=эС), B|-zl=)C.
Для любых формул Л и В в исчислении высказывании вер-
ны следующие утверждения (приведем их без доказательств).
Утверждение l.lf. НтУэА
Утверждение 1.12. I—/1 э -]—] А
Утверждение 1.13. Н“|Л (Л В).
Утверждение 1.14. -pl) zd (^zdB).
Утверждение 1.15. Н (Л zd В) id ( -j В zd -q>4).
Утверждение 1.16. f-Л ( -|Д zd —1*<Л zd В)).
Утверждение 1.17. н (Л zd В) zd ((-] Л zd В) В),
Следствие. Если Г, А В и Г, ~] Л В, то Г !— В.
По теореме о дедукции Г 1- Л id В и Г |- q А о В. Отсюда
в силу утверждения 1.17 Г Ь В.
1.3.3. Полнота и непротиворечивость
исчисления высказываний. Независимость аксиом
Мы формализовали логику высказываний и построили исчисле-
ние высказываний как аксиоматическую теорию. Покажем, что
множество теорем исчисления высказывании совна тает с мно-
жеством тождественно-истинных формул логики высказываний.
Докажем сначала следующее утверждение.
Теорема 1.12. Всякая выводимая (из пустой системы гипо-
тез) формула исчисления высказываний тождественно-истинна.
Непосредственной проверкой убедимся в том, что аксиомы
исчисления высказываний — тождсствепио-истиниые формулы.
В силу свойств импликации формула, получающаяся из тожде-
ственно-истинных формул по правилу пг. р., тождественно-ис-
тинна. Следовательно, любая выводимая формула тождествен-
но-истинна.
Докажем теперь обратное теореме 1.12 утверждение о том,
что любая тождественно-истинная формула выводима в исчис-
лении высказывании, т. е. является теоремой.
Символы и А* имеют здесь тот же смысл, что п в разд.
1.2.1:
уе __ ( Xit если е=1; Ле _ ( Л, если е =» 1;
1 j -qXf, если 8 = 0; л “ 1 А если е = 0.
Вместо символа И употребляем символ 1, вместо символа
Л — символ 0.
Пусть Xi.....Хп — все переменные формулы А и задана
некоторая оценка списка переменных <ei,.... £«>, состоящая'
5* 67
из нулей и единиц. Через X(ei...еп) будем обозначать зна-
чение формулы А на этой оценке.
Пример 1.24. Пусть формула А имеет вид (Х1=эХ2)о
гэ-]Хь где Xj и Х2— переменные. Тогда X°i—это ~]ХЬ Х*2 —
это X?, формула Л1—это Д, формула Д° — это -j ((Х1ГэХ2)гэ
-1*0-
Рассмотрим все четыре возможные оценки, соответствующие
различным распределениям истинностных значений переменных:
<0, 0>, <0, 1>, <1, 0>, <1, 1>. В нашем случае Д(0, 0) =
= 1, Д(0, 1) = 1, А(1, 0) = 1, Д(1, 1) =0.
Лемма 1.7. Пусть А — произвольная формула, Хь Хп —
все переменные, входящие в А (для удобства мы обозначили их
так, как если бы они были первыми переменными), и пусть
также задана произвольная оценка списка переменных <ei...
Еп>. Тогда ХеЧ.....Х®я„|-Ле, где е — значение формулы А
на оценке <ei,..., еп>>
Пример 1.25. Пусть А — формула, рассмотренная в приме-
ре 1.24. Тогда из леммы 1.7 следуют выводимости Хь пХ2|-
Ь-(Х1 =>Х2) => nXi; Хь Х2 Ни ((Х,=>Х2)=> -|At)).
Докажем лемму 1.7. Под длиной формулы А будем понимать
число вхождений логических символов в А. Доказательство
проведем индукцией по k — длине формулы Л. При k — 0 фор-
мула А представляет собой переменную X/, и утверждение лем-
мы сводится к Xе, |- Xеi.
Пусть для формул, длина которых меньше k, утверждение
леммы справедливо. Докажем его для формул длины k. Воз-
можны два случая.
Случай 1. Формула А имеет вид ~| В. Длина формулы В
равна k—1, множество неременных формул В совпадает с мно-
жеством переменных формулы А. Пусть В (ei,..., е«) = в'. Тог-
да е — е'.
Если е'= 0, то е = 1. По индуктивному предположению
Х%,..., Хе«п|-В0.
Но В0 — это -| В или в данном случае Л1. Следовательно,
XS_____Х€«„|-Ле.
Если е'= 1, то е = 0. По индуктивному предположению
Xе-,___хчь-в*.
Согласно утверждению 1.12 и правилу т. р.
Х%,...» Xе" „ I- -| П В.
Но и *1 — это и еСТЬ Следовательно,
ХЧ..., хчнле.
Случай 2. Формула А имеет вид В гэ С. Длина формул
€8
и С меньше А. Пусть значение формулы В на оценке <ei.
£п> равно значение формулы С на оценке <ei,..., еп>
равно е". Тогда е = е' 2d е".
Если е' = 0, то е — 1. По индуктивному предположению
ХЧ, ...» ХЧ |- /Ч
т. е.
хч..., *41-И в.
Согласно утверждению 1.13 •— ~1 В 2D (В С). Применяя
правило т. р., получаем
ХЧ.....X4i-B2dC.
Следовательно,
хч..., *4i-*е-
Пусть теперь е' = 1, е" = 0. Тогда в = 0 и Ае— это "| (Вэ
zdC). По индуктивному предположению
Х\.....Хе*п |-В,' ХЧ,..., *41- -|С.
Согласно утверждению 1.16 I-Bzd(-]Czd-|(B2dC)). В
результате двукратного применения правила т. р. получаем
Л......*Ч|- -] (Bz>C).
Если е' = 1, в" = 1, то е = 1 и Ае — это В 2D С. По индук-
тивному предположению
ХЧ....ХЧН с.
По схеме аксиом А1 имеем н С 2D Применяя пра-
вило т, р., получаем
ХЧ,. ., ХЧ Н В 2D С.
Теорема 1.13. Если формула А исчисления высказываний
является тождественно-истинной, то она выводима.
Пусть А — тождественно-истинная формула, a Xi, ..., Хп—
все ее переменные. Тогда в силу леммы 1.7 на любой оценке
<ei,..., сп>, состоящей из нулей и единиц, получаем
*4.....ХЧ н А.
Поэтому в случае, когда е« = 1, имеем
*•*....Xfr.Xnt-A,
« в случае, когда е = 0, имеем
....Х'-^,
Применяя следствие утверждения 1.17, получаем
.......йНЛ.
69
Точно так же, рассматривая случаи, когда en~i принимает зна-
чения 1 и 0, получаем
ХеЧ,..., Х^ нЛ
и т. д. Наконец, приходим к А.
Из теорем 1.12 и 1.13 непосредственно вытекает следующее
утверждение.
Теорема 1.14. Формула А исчисления высказываний выво-
дима тогда и только тогда, когда она тождественно-ист инна.
Свойство аксиоматической теории, заключающееся в том„
что если формула А выражает логический закон (как, напри-,
мер, тождественно-истинная формула), то она выводима в этой’
теории, называется полнотой аксиоматической теории (или пол-
нотой в широком смысле). Из теоремы 1.13 следует, что исчис-
ление высказываний есть полная аксиоматическая теория.
Формальную аксиоматическую теорию называют непротиво-
речивой, если нс существует формулы А такой, что одновремен-
но выводимы формулы Л и п А
Теорема 1.15. Исчисление высказываний непротиворечиво.
Действительно, согласно теореме 1.12 всякая выводимая
формула тождественно-истинна. Отрицание этой формулы не?
является тождественно-истинной формулой. Следовательно, нн^
для какой формулы А невозможно, чтобы одновременно I- А и*
Наряду с полнотой аксиоматической теории в широком
смысле рассматривают ее полноту в узком смысле. Формаль-<
ную аксиоматическую теорию называют полной в узком смысле;
если добавление любой невыводимой формулы в качестве cxe-j
мы аксиом приводит к противоречивой теории.
Теорема 1.16. Исчисление высказываний полно в узкому
смысле.
Пусть F — произвольная невыводимая формула (согласно^
теореме 1.15 в качестве F можно взять любую не тождественно^
истинную формулу), Хи .... Хп —список ее переменных, ай
........сп>—такая оценка списка переменных, на которощ
формула F принимает ложное значение (т. е. 0). Пусть также
_ j A zdA, если е« == I;
( -] (.4 о Л), если с, = 0,
где А — произвольная формула. Тогда формула F(Bi.......Вп^
будет тождественно-ложной. £
Рассмотрим исчисление, в котором к схемам аксиом А1 — АЗ
в качестве еще одной схемы аксиом добавлена формула F:
А4. F(A,.....Л„).
Выводимость в этом исчислении обозначим символом
Поскольку Г(ВЬ .,., Вп) получена по схеме А4, то Н f(Bi, • •
70
£„). Пусть С — произвольная формула. Тогда F(BIt..., Вя) гэ
С — тождественно-истинная формула в силу свойств имплика-
ции. Следовательно, |-F(Bj, Bn)oC, а значит, F(Bj........
#„) zj С. Применив правило tn. р., получим, что |— С. Если
вместо формулы С рассмотреть формулу С, то также полу-
чим, что -j С, т. е. расширенная теория оказалась противо-
речивой.
Во всякой формальной теории возникает вопрос о независи-
мости ее аксиом, т. е. вопрос о том, можно ли какую-нибудь
аксиому вывести из остальных, применяя правила вывода дан-
ной системы.
Оказывается, что система аксиом А1—ЛЗ исчисления вы-
сказываний независима. Установим независимость аксиомы АЗ
от остальных. Будем считать, что переменные принимают зна-
чения нз множества {а, д). Операции "1 и з зададим табл. 1.17
и 1.18 соответственно.
Легко проверить, что аксиомы А1 и А2 при такой интерпре-
тации примут значение а. Из определения zj вытекает, что
применение правила вывода т. р. к формулам, тождественно-
равным а, дает формулу, также тождественно-равную а. Следо-
вательно, формулы, выводимые из аксиом А1 и А2 по правилу
т. р., тождественно-равны а.
С другой стороны, аксиома АЗ
(^Bzj^AJzd ((iBzdA) zjB)
ие равна тождественно о, так как, например, при А =» а, В — Ь
принимает значение Ь,
Можно установить независимость каждой из аксиом А1 и А2
от остальных (при этом удобно использовать трехзначные ло-
гики).
Следует заметить, что исчисление высказываний можно
описать системами аксиом, отличными от А1 — АЗ. Кроме того,
вместо символов и zj можно использовать и другие наборы
символов, лишь бы с их помощью можно было выразить все
остальные логические операции.
71
1.4. ЛОГИКА И ИСЧИСЛЕНИЕ ПРЕДИКАТОВ
Мы рассмотрели два различных способа описания логики вы-
сказываний — содержательное и аксиоматическое.
Логика высказываний — очень узкая логическая система.
Есть такие типы логических рассуждений, которые не могут
быть осуществлены в рамках логики высказываний, например:
1. Всякий друг Ивана есть друг Петра. Сидор не есть друг
Петра. Следовательно, Сидор не есть друг Ивана.
2. Простое число два — четное. Следовательно, существуют
простые четные числа.
Корректность этих умозаключений основана на внутренней
структуре самих предложений и на смысле слов «всякий» и
«существуют».
1.4.1. Предикаты, кванторы.
Формулы логики предикатов
Рассмотрим предложения, зависящие от параметров, например:
«х — четное число», «х меньше у», «х + у — г», «х — отец уъ„
«х \\ у — братья» н т. п. Если х, у, z в первых трех предложе-
ниях заменить некоторыми числами, то получим определенные
высказывания, которые могут быть истинными или ложными.
Например: «3 — четное число», «2 меньше 5», «3 + 2 = 7». По-
следние два предложения выражают родственные отношения
между членами семьи и также превращаются в определенные^
высказывания, истинные или ложные, прп замене х и у имена^
ми членов этой семьи: «Иван — отец Петра», «Иван и Олег —1
братья».
Предложения такого типа называются предикатами. Точнее^
предикатом P(xi,.... хп) называется функция, переменные кп-1
торой принимают значения из некоторого множества М, а сама!
она принимает два значения: И (истинное) и Л (ложное), т. е4
Р(х1,...,Хп):Мп-4И, Л}.
Предикат от п аргументов называют «-местным предикатомЛ
Множество М значений переменных определяется обычно мате4
матическим контекстом. Например, основное соотношение эле|
меитарной геометрии на плоскости — точки х, у. z лежат на|
одной прямой — выражается предикатом L(x, у, z), где в ка4
честве значений х, у и z рассматриваются конкретные точки.
Предикаты обозначаются большими буквами латинскогс^
алфавита. Иногда бывает удобно указывать число переменных
у предикатов. В таких случаях у символов предикатов пишув
верхний индекс, который и указывает число аргументов, наври
мер: P(n)(xi, ..., хп)—«-.местный предикат. Высказывания счи«
таются нуль-местиыми предикатами.
Над предикатами можно производить обычные логически^
операции. В результате получаются новые предикаты.
72
Пример 1.26.
1. Пусть Р(1)(х) означает предикат «х делится на два»,
С°>(х) — предикат «х делится на три». Тогда выражение
означает предикат «х делится на два и х де-
лится на три», т. е. определяет предикат делимости на 6.
2. Пусть S(2)(x, у) означает предикат «x=t/». Он прини-
мает значение И тогда и только тогда, когда х=у. В этом
случае выражение i S™(xt х) =>S<2)(x, у) определяет предикат,
принимающий значение И при любых х и у.
Кроме операций логики высказываний будем применять еще
•операции связывания квантором.
Квантор общности. Пусть Р(х) — некоторый предикат, при-
нимающий значение И или Л для каждого элемента х множе-
ства М. Тогда под выражением (Vx)P(x) будем подразумевать
высказывание истинное, когда Р(х) истинно для каждого эле-
мента х из множества М, и ложное — в противном случае. Чи-
тается это выражение так: «для всех х Р(х)». Это высказыва-
мие уже не зависит от х. Символ Vx называется квантором
•общности.
Квантор существования. Пусть Р(х) — некоторый предикат.
Под выражением (Ях)Р(х) будем понимать высказывание ис-
тиииое, когда существует элемент множества М, &ля которого
Р(х) истинно, и ложное — в противном случае. Читается это
выражение так: «существует х такое, что Р(х)» или «сущест-
вует х, для которого Р(х)». Символ Ях называется квантором
существования.
Операцию связывания квантором можно применять и к пре-
дикатам от большого числа переменных (подробнее об этом
•будет сказано позже).
Пример 1.27. Для предикатов, приведенных в примере 1.26,
имеем: (Ях) (Р(1)(х) & Q(l)(x)) — истинное высказывание;
(Vx) (₽<!>(х) &<2(1)(*)) — ложное высказывание.
На языке предикатов можно составить гораздо более слож-
ные предложения, чем на языке логики высказываний.
Определим понятие формулы логики предикатов. Алфавит
-логики предикатов содержит следующие символы:
1) символы предметных переменных: хь хг,. •» хп, - -.;
2) символы предикатов: AWlf Д<о2> Д(<)л..где t=0, 1,
2, . . . ;
3) логические символы: п> V>
4) символы кванторов: Я, V;
5) скобки и запятую: ), (.
Во избежание нагромождения индексов часто символы пред-
метных переменных будем обозначать через х, у, г, а символы
предикатов — через Р, S, Q, R и т. д.
Слово в алфавите логики предикатов называется формулой,
’гели оно удовлетворяет следующему индуктивному определению
73
(одновременно определяется понятие свободной и связанно^
переменной формулы): i
1. Если AWj — символ предиката, xilt x.i2 ,x,t— симво-
лы предметных переменных, не обязательно различные, то
х ' ) — формула. Такая формула называется ато-к
мирной. Все предметные переменные атомарных формул сво-^
бодные, связанных переменных нет.
2. Пусть А — формула. Тогда (“|Х) тоже формула. Сво-
бодные и связанные переменные формулы (-| Л) — это соответ-
ственно свободные и связанные переменные формулы А.
3. Пусть А и В -— формулы, причем нет таких предметных
переменных, которые были бы связаны в одной формуле и сво-
бодны — в другой. Тогда
(XV5), (Л&В), (Л=>В), (А~В) (1.4),
есть-формулы, в которых свободные переменные формул А и В
остаются свободными, а связанные переменные формул А и В'
остаются связанными.
4. Пусть А — формула, содержащая свободную перемен-
ную х. Тогда
(Vx)X, (Зх)Л (1.5)
тоже формулы. Переменная х в них связана. Остальные же пе-
ременные, которые в формуле А свободны, остаются свободны-
ми и в формулах (1.5). Переменные, которые в формуле А
связаны, остаются связанными и в формулах (1.5). В первой
из формул (1.5) формула А называется областью действия
квантора Vx, а во второй — областью действия квантора Ях.
5. Слово в алфавите логики предикатов 1—5 является фор-
мулой только в том случае, если это следует из правил I—4.
Заметим, что по определению формулы никакая переменная,
не может быть одновременно свободной и связанной.
Оставим в силе принятое в разд. 1.1.1 соглашение об опуска-
нии скобок.
Пример 1.28. .
1. Следующие выражения являются формулами логики пре-’
дикатов: Л<3>5(*ь х5> х7) — атомарная формула, в которой xj
х5> x-i—свободные переменные; (Vxi) (Ях2)Л(3)1(хь х2,
(Vxi)X<2)j(x:, х«) — формула, в которой хь х2 — связанные^
а х3, х4 — свободные переменные.
2. Выражение (3xi) (Vx2)X(2)i(xi, хз)&X<2>2(xi, х2) не явля-|
ется формулой. <
Значение формулы определено лишь тогда, когда задана!
какая-нибудь интерпретация входящих в нее символов. ]
Под интерпретацией понимают систему М = <М, f>, со-|
стоящую из непустого множества М и соответствия f, сопостав-i
ляющего каждому предикатному символу Л(<)/ определенный]
74
/-местный предикат (будем обозначать предикаты, поставлен-
ные в соответствие предикатным символам, теми же симво-
лами).
При заданной интерпретации считают, что предметные пере-
менные пробегают множество М, а символы ~|, V» =>» ~ и
символы кванторов имеют свой обычный смысл. Для данной
интерпретации каждая формула без свободных переменных
представляет собой высказывание, которое истинно или ложно,
а всякая формула со свободными переменными выражает неко-
торый предикат на множестве М, который истинен при одних
значениях переменных из этого множества и ложен при других.
Определим значение формулы в данной интерпретации, сле-
дуя индуктивным шагам определения формулы. Значение фор-
мулы F на наборе <ait..., ап>, di е Л4, своих свободных пе-
ременных ,..., xin обозначим символом F] <й)......ап> .
1. Формула F — атомарная формула Ли)/(х^,.... xXf).
Пусть Хд ,..., — все различные свободные переменные этой
формулы, выписанные в определенном порядке. Значением фор-
мулы F на наборе <ai,..., а$>, а/ е Л4, называется значение
/-местного предиката, сопоставленного символу при соот-
ветствующем замещении его переменных элементами alt .... аа-
2. Формула F имеет вид -|Л. Пусть значение формулы А
на наборе .......ап>, щеМ, есть в. Тогда ап> =
—И е.
3. Формула F имеет вид Л V Bt А&В, А=>В или А~В.
Значение формулы F на наборе <а>,..., ап> значений своих
свободных переменных есть соответственно eiVe2> ei&e2, ci
=>е2, Et~e2, где ei — значение формулы А, а е2 — значение
формулы В на этом наборе.
4. Формула F имеет вид (Ух) Л. Если хХ1,..., xin— совокуп-
ность всех свободных переменных формулы Г, то х, xXl,...,
хх-п— все свободные переменные формулы А. Значение
(Ух)Л| ап> = И тогда и только тогда, когда для любо-
Го аеМ Л| <А"0......... = И.
5. Формула F имеет вид (Ях)Л. Если х^ х,л — сово-
купность всех свободных переменных формулы F, то х, х_Х1,...,
Xin — все свободные переменные формулы А. Значение
(Эх) Л | <аь Сп>=И тогда и только тогда, когда для не-
которого а'(=М Л| <а, а1...ап> И.
Пример 1.29. Рассмотрим три формулы:
1) Л(2>,(хь х2);
2) (Ух2)Л<*Мхь х2);
3) (Ях2)(Ух1)Л(2)1(х2, xi).
Возьмем в качестве области интерпретации множество це-
лых положительных чисел и интерпретируем Л<2>1(х, у) как
75
х^.у. Тогда первая формула — это предикат xt^x2, который
принимает истинное значение для всех пар а, b целых положи-
тельных чисел таких, что а<;6. Вторая формула выражает
свойство: «для каждого целого положительного числа у х^у>\
которое выполняется только при х = 1. Наконец, третья форму-
ла — это истинное высказывание о существовании наименьшего
целого положительного числа. Если бы в качестве области ин-
терпретации мы рассматривали множество целых чисел, то
третья формула была бы ложным высказыванием.
Пример 1.30. Пусть М = <Nt f>, где N — множество нату-
ральных чисел, f — соответствие, сопоставляющее предикатным*
символам S(3)(x, у, z)t Р(3Цх, yt z) следующие предикаты?
<S(3) (х, yt z); х + у = z; Р&(х, у, г) : х-у = г.
Запишем формулы, истинные в М тогда и только тогда, ког-
да выполнены следующие условия:
а) х = 0; б) х = 1; в) х — четное число; г) х — простое
число; д) х = у\ е) х^у\ ж) х делит у, з) коммутативность
сложения.
Ответы: a) Fx(x) = (Vt/)S(3)(x, у, у), так как х + у = у для
любого у тогда и только тогда, когда х = 0; б) Fi(x) =
= Wy)P™(x, у. у)- в) F3(x) = (Zy)S&>(y, у, х); г) F4(x) =
= -|fi(^&(V!/)(V2)(P(3)(£/, г, x)o(F2(y)VF2(2))), где
Fi, F2 — формулы, определенные в пн. «а» и «б»; д) F5(x) =
= (Vz) (Vu) (S(3)(x, z, u)7z>S&(y, z, u)); e) F6(x, y) =-
— (Я2)5^)(х, 2, y)\ ж) F7(x, у) = (Яг)Л3>(х, z, t/); з) (Vx) X
X (Vy) (Vz)(S(3>(X. y, 2) ^>SC3)(t/, X, 2)).
Пример 1.31. Пусть f(x) — произвольная фиксированная
функция, заданная на отрезке ,[а, Ь].
1. Рассмотрим интерпретацию М — <М, fj>, где М — мно-
жество действительных чисел; fi — соответствие, сопоставляю-
щее предикатным символам Р(х, 6), Q(x, е) и /?(е) предикаты
Р(х, 6):]х —х0]<6, Q(x, е) : |f(x)—Л|<е; /?(б):е>0. Здесь'
х0 — фиксированный элемент отрезка [а, &]; А — некоторое
фиксированное действительное число. Тогда утверждение о том>
что число А — предел функции f(x) при х->хо, записывается,
формулой
(Ve)(H6)(Vx)((tf(e)&P(x, d))=>Q(x, е)).
2. Рассмотрим интерпретацию М=<М, f2>, где М— мно-
жество действительных чисел; f2 — соответствие, сопоставляю-;
щее предикатным символам Р(х, 6), /?(е), S(x, е) предикаты4
Р(х, 6) : |х—х0|<6, Я(б) : б>0, S(x, е) : lf(x)— f (х0) | <е. Здесь
х0 — произвольный фиксированный элемент отрезка [а, Ь]. Тог-
да утверждение о гом, что функция f(x) непрерывна в точке хог
записывается формулой
(Vb)(36)(Vx)((/?(e)&P(x, 6))=э5(х, е)).
3. Рассмотрим интерпретацию М — <М, f3>, где М — мно-
жество действительных чисел; f3 — соответствие, сопоставляю-
щее предикатным символам Pi(x, хь 6), /?(е)» Si(x хь б), Р(х>
76
предикаты ₽i(x, ль 6) : |х— Xi| < d; Z?(e) : e > 0; SJx, Xi, e) :
: |f (x) ~f(xi) I <«; Я(х) :xe{a, b\. Тогда утверждение о том,
что функция f(x) непрерывна на отрезке {а, д], записывается
формулой
1.4.2. Равносильность формул
Пусть формулы F и G имеют одно и то же множество свобод-
ных переменных (в частности, пустое).
Формулы F и G равносильны в данной интерпретации, если
на любом наборе значений свободных переменных они прини-
мают одинаковые значения (т. е. если формулы выражают в
данной интерпретации одни и тот же предикат).
Формулы F н G равносильны на множестве М, если они
равносильны во всех интерпретациях, заданных на множест-
ве AL
Формулы F и G равносильны (в логике предикатов), если
они равносильны на всех множествах (тогда будем писать
F^G).
Пример 1.32.
1. На множестве М = {а, Ь} зададим предикаты Pi(x, у) и
Р2(х, У) (см. табл. 1.19 и 1.20).
Рассмотрим две формулы:
Л<*>1(хь х2)&Д<2>1-(л'ь х3); (1.6)
7!^>1(хь х2)&Л<?'>1(хг, х3). (1.7)
Таблица 1.19
х У Pi(X, у)
а а И
а b Л
b а Л
b Ь и
Таблица 1.20
х У Р1(х, у)
д И
а ь И
b (2 Л
b ъ л
Если областью интерпретации служит множество М и фор-
мула Л<2>1 интерпретируется как предикат Р\, то формулы (1.6)
и (1.7) равносильны в этой интерпретации, так как принимают
значение И только на двух наборах свободных переменных
<«. а, а> и <Ъ, Ь, Ь>.
Если областью интерпретации является то же множество М,
ио формула /1(2)1 интерпретируется как предикат Рп, то форму-
лы (1.6) и (1.7) не равносильны, так как на наборе <а, Ь, Ь>
Формула (1.6) принимает значение И, а формула (1.7) — зна-
чение Л.
77
2. Формулы (Ул'1)Л(1)1(Х|) и (Hxi)-A^i(xi) равносильны иа
одноэлементном множестве. Действительно, если область интер-
претации является одноэлементным множеством, то какой бы
предикат мы не взяли в качестве интерпретации на этом
множестве, он принимает только одно значение: И или Л. В
первом случае обе формулы принимают значение И, во вто-
ром — Л, в, следовательно, они равносильны на этом множе-
стве.
С другой стороны, на двухэлементном множестве {а, Ь} этн
формулы не равносильны. Достаточно в качестве интерпретации
рассмотреть предикат Р такой, что Р(а) = И, Р(Ь) = Л.
Укажем несколько правил перехода от одних формул к дру-
гим, им равносильным (во всех интерпретациях).
Очевидно, что для формул логики предикатов сохраняются
все равносильное!и п правила равносильных преобразований
логики высказываний. Кроме того, можно доказать следующие
правила:
1. Перенос квантора через отрицание. Пусть А — формула,
содержащая свободную переменную х. Тогда справедливы рав-
носильности
-|(Vx)4(x) (Ях)пЛ(х); (1.8)
-|(Bx)A(x)s=(Vx) п А(х). (1-9)
Докажем сначала равносильность (1.8). Пусть хХ| xin —
множество (быть может, пустое) всех свободных переменных
формулы А, отличных от х. Пусть М = <Л1, [> — произволь-
ная интерпретация. Докажем, что на любом наборе значений
своих свободных переменных <оъ ..., ап>, а^М, формулы
-|(Vx)A(x) и (Ях) -|Л(х) принимают одинаковые истинност-
ные значения.
Возможны два случая:
1) для любого элемента сеМ Л(х) | <д> ап>
2) для некоторого элемента а^М А(х) |<Ло ап> = Л.
В первом случае для любого элемента а е М
-|Л(х)|<а С|> _>ап> =Л. Отсюда по определению
(Ях) -| А (х) | ......... =Л. С другой стороны, в этом случае
(Vx)A(x)|<e.....’ап> =И. Отсюда (Vx)A(x) | <Сь. _ Ся> =
— Л.
Во в гором случае для элемента *"] А(х) | <Qo С] ап>=
= И. Отсюда (Ях) -1А (х) |<с. Сп> = И. С другой стороны,
в этом случае (Vx)А (х) | , ап> = Л. Отсюда
,-| (Vx)ZI(x) |<О| Сп> =И. Равносильность (1.8) доказана.
Докажем теперь равносильность (1.9). Применим равносиль-
ность (1.8) к формуле пА(х). Тогда -| (Vx) “М(А') —
78
=s (Ях) -j-] 4(x)=ss (Ях)Л(х), и применив равносильность 11
основных равносильностей логики высказываний, получим
(Ях)Л(х)=н ~] -|(Vx)-|4(x)s(Vx) лЛ(х).
2. Вынос квантора за скобки. Пусть формула Л(х) содер-
жит свободную переменную х. формула В пе содержит пере-
менной х п обе они удовлетворяют и. 3 определения формул
(см. с. 74). Тогда
(Ях) (Л (х) & В) (Ях) Л (х) & В-
(Vx) (Л (х) & В) = (Vx) А (х) & В-
(Ях) (Л (х) V В)= (Ях)Л (х) V В;
(Vx) (Л(х) VB)^(VxM(x) у*-
(1-Ю)
Докажем первую из этих равносильностей (остальные дока-
зываются аналогично).
Пусть х^.....Xin— все свободные переменные формулы
(Ях) (Л(х)&В). Тогда они же и все свободные переменные фор-
мулы (Ях)Л(х)&В.
Рассмотрим произвольную интерпретацию с множеством М.
Пусть <а......an>, а^М,— произвольный набор значений
свободных переменных xit,..., Xin. Так как формула В не со-
держит переменной х, то можно определить значение этой фор-
мулы на наборе <аи.ал> (точнее, на его части, относя-
щейся к свободным переменным формулы В). Если
е1 ,о„> =л> то ((Я*)4(х)&В)|<01........Оп>-Л. » для
любого элемента а из множества М на наборе значений <а,
flt,...» Gn> своих свободных переменных х, хХ1,..., Xin фор-
мула Л (х) & В принимает значение Л. Отсюда (Ях) (Л (х) &
&В)|<Й,....с.> = Л. Если 0„> = И, то для любого
элемента а из множества М на наборе <о, сь —, ап> форму,
лы Л(х)&В и Л(х) принимают одинаковые истинностные зна-
чения. Отсюда ((Ях)Л (х) & В) | ............а„> —
чеиия. отсюда ((ux)/i (х) & | <Д| , с„>==
- (Ях)Л(х) | <Я|...011> = (Йх) (4(х) & В) | .....вя> .
Заметим, что если не требовать, чтобы формула В не содер-
жала переменной х, то будут выполняться только две равно-
сильности:
(Vx) (Л (х) & В (х)) = (Vx) Л (х) & (Vx)В (х);
(Ях) (Л (х) у В (х)) ^(гАх)А (х) V (Ях) В (х).
3. Перестановка одноименных кванторов:
(V//) (Ух)Л (х, y) = (Vx)(Vy)A(x, уУ,
(Яу)(Ях)А(х, у) = (Ях)(Я£/)Л(х, у).
4. Переименование связанных переменных. Заменяя связан-
ную переменную формулы Л другой переменной, не входящей
в згу формулу, в кванторе и всюду в области действия кванто-
ра получаем формулу, равносильную Л.
79
Это утверждение легко доказывается индукцией по длине
формулы.
Рассмотрим способ упрощения формул, опирающийся на
приведенные равносильности. Под длиной формулы здесь п да-
лее будем понимать общее число входящих в нее символов
предикатов, логических символов и символов кванторов. Так,
формула (¥л*1)Д<2>1(ль х2) & (Яхз)Д<,>2(Хз) имеет длину 5.
Формулы, в которых из логических символов имеются толь-
ко символы &, V и И» причем символ и встречается лишь
перед символами предикатов, будем называть приведенными
формулами.
Пример 1.33.
1. х2).
2. (¥Х|)Д(,,1(Х1) & (Ях2) -]А^2(х2, х3).
3. -1(Д<1>2(а-1) V ДП)1(^2))-
4. (¥х)Д<'М*1) => (Ях2) -j Л<Мх2).
5. -j ((Ях2)Д(«)1(х2) =>ДП)2(хО.
Первые две формулы — приведенные, а остальные не явля-
ются приведенными.
Теорема 1.17. Для любой формулы существует равносиль-
ная ей приведенная формула, причем множества свободных и
связанных переменных этих формул совпадают.
Такая приведенная формула называется приведенной фор-
мой данной формулы.
Пользуясь равносильностями логики высказываний, легко
указать формулу, равносильную данной и содержащую »з ло-
гических символов только символы &, V и “I. Поэтому будем
считать, что рассматриваемые формулы содержат только эти
логические символы.
Докажем это утверждение индукцией по длине формулы.
При п — 1 формула атомарная и, следовательно, приведенная.
Предположим, что для формул длины меньше п утвержде-
ние теоремы верно. Докажем его для формулы F длины п.
Обозначим длину формулы F через d(F).
Формула F имеет вид G\/H, G&H, -| G, (Vx)G(x) или
(Sx)G(x).
Случай 1. Так как 5(G) 2, 5(Я)^п—2, то по индуктив-
ному предположению существуют приведенные формы Gi и Hi
формул G и И соответственно, и множества свободных и свя-
занных переменных формул Gi и G, Hi и Н совпадают. Тогда
Gi\J Н[ — формула, Gi\/ Hi = G\/ Н. Отсюда Gi V — при-
веденная форма формулы G V Н с тем же множеством свобод-
ных и связанных переменных, что и G\/H.
Случай 2 аналогичен случаю 1.
Случай 3. Здесь формула G может иметь вид: 3.1) Gi V
3.2) Gj&T/i; 3.3) -fGr, 3.4) (Vx)Gj(x) или 3.5) (Ях)С,(х).
80
Случай 3.1: -|Giгде d(“iGi)^n— 2,
— 2- По индуктивному предположению существуют
приведенные формулы G2 и Н2, равносильные и -]Ht со-
ответственно, и множества свободных и связанных переменных
формул Gi и G2, Hi и Hz совпадают. Тогда G2&H2— приве-
денная форма формулы “| G с тем же множеством свободных и
связанных переменных.
Случай 3.2 аналогичен случаю 3.1.
Случай 3.3: ~|G^ = Gi, где c?(C?i> = п — 2. Применяя
индуктивное предположение к формуле Gb получаем приведен-
ную форму формулы “| G с тем же множеством свободных и
связанных переменных.
Случай 3.4: ~qG=(3x) jGi(x), где d(nGi(x)) = п—1. Пс
индуктивному предположению существует приведенная форму-
ла G2(x), равносильная формуле “jGr(x) с тем же множеством
связанных и свободных переменных. Тогда (3x)G2(x) — тре-
буемая приведенная форма формулы п G.
Случай 3.5 аналогичен случаю 3.3.
Случаи 4. Формула G(x) имеет длину п—1. По индуктив-
ному предположению существует приведенная форма Gi(x)
этой формулы с тем же множеством свободных и связанных
переменных. Тогда (Vx)Gi(x) — требуемая приведенная фор-
ма формулы (Vx)G(x).
Случай 5 аналогичен случаю 4. Теорема доказана.
Приведенная формула называется нормальной, если она не
содержит символов кванторов или все символы кванторов стоят
впереди (т. е. логические символы и символы предикатов стоят
в области действия каждого квантора).
Пример 1.34.
I. (Vxi) (Ях2) (-|Л<’>1(Х1) V^(2)i(^i, х2))—нормальная фор-
мула.
2. (Vxi) “1 (Xi) & (Ях2)Л<|>2(х2) — приведенная формула,
не являющаяся нормальной.
Теорема 1.18. Для любой приведенной формулы существует
равносильная ей нормальная формула той же длины.
Такая формула называется нормальной формой данной при-
веденной формулы.
Доказательство проведем индукцией по длине п формулы.
При п = 1 формула атомарная и, следовательно, нормальная.
Предположим, что утверждение теоремы верно для всех
формул длины меньше п. Докажем его для формул длины п.
Пусть F — формула длины п. Тогда формула F имеет вид
G\/H, G&H, iG, (Vx)G(x) или (Sx)G(x).
Случай 1. По условию G\/ Н — приведенная формула.
Тогда G и Н — тоже приведенные формулы длины меньше п.
По индуктивному предположению существуют равносильные им
нормальные формулы Gi и Hi соответственно, где d(Gi) = d{G}\
<ДП1) = д(Н). Если формулы Gi и Hi не содержат символов
«"1529 81
кванторов, то (л V /Л — нормальная форма длины п формулы
G\J И.
Пусть, например, формула G\ содержит символ квантора.
Тогда <71 имеет вид {yx\G2{x)t трр d[G2{x}) = d(G|)— J {слу-
чай, когда Gi имеет вид (3x)G2(x:), аналогичен). Если пере-
менная х входит в формулу Hi, то только как связанная пере-
менная (иначе нарушается определение формулы). Применив
правило переименования связанных переменных, перейдем к
формуле Н2, равносильной Hi и не содержащей переменной х.
Очевидно, Н2 — приведенная формула той же длины, что и Ни
По правилу выноса квантора за скобки (Vx}G2(x) \/ Н2^=
^(Vjc)(G2(jc) \/Н2). Так как d(G2(x) \/Н2) =d(Gt) — 1 +
+ 1 + d(Hi) — п—1, то по индуктивному предположению су-
ществует равносильная ей нормальная формула F> (х) той же
длины. Тогда (Vx)Fi(x) — нормальная форма формулы G\/ Н
той же длины.
Случай 2 аналогичен случаю 1.
Случай 3. Так как формула ~| G приведенная, то G — ато-
марная формула, и тогда И <7 — нормальная формула.
Случай 4. Здесь G(x) — приведенная формула, d(G(x)) ®
= п—1. По индуктивному предположению существует равно-
сильная ей нормальная формула Gt{x) той же длины. Тогда
(Vx)Gi(x) — нормальная форма формулы (Vx)G(x) длины п.
Случай 5 аналогичен случаю 4. Теорема доказана.
Из теорем 1.17 и 1.18 вытекает следующее утверждение.
Теорема 1.19. Для любой формулы существует равносильная
ей нормальная формула.
1.4.3. Выполнимость. Общезначимость
Рассмотрим некоторую интерпретацию с множеством М.
Говорят, что формула Л выполнима в данной интерпретации,
если существует набор <Ci, ..., ая>, а^М, значений
свободных переменных Xi , .... Xi формулы А такой, чт
<а....... =
Говорят, что формула А истинна в данной интерпретации,
если она принимает значение И на любом наборе <щ,...»
ап>, а^М, значений своих свободных переменных Xi ,..., ?
Говорят, что формула А общезначима или тождественно-
истинна (в логике предикатов), если она истинна в каждой ин:
терпретации.
Говорят, что формула А выполнима (в логике предикатов),
если существует интерпретация, в которой Л выполнима.
Формула А общезначима тогда и только тогда, когда фор-
мула не является выполнимой, и формула А выполнима
тогда и только тогда, когда формула ке является обще
значимой.
82
Очевидно, что если F н G — равносильные (в логике пре-
дикатов) формулы, то F~G — общезначимая формула.
Применив это утверждение к формулам, равносильность
которых доказана в разд. 1.4.2, получим общезначимые форму-
лы. Докажем общезначимость некоторых других формул.
Утверждение 1.18. Формула
(Ух)А(х)^А(у), (1.11)
где переменная у не входит в формулу А(х). общезначима.
Пусть х, Xfp..., Xin — все свободные переменные формулы
Л (л). Тогда у, X/ ,xifi — перечень свободных переменных
формулы (1.11). Рассмотрим произвольную интерпретацию с
множеством М.
Пусть <Ъ, аь..., а„>, где Ъ^М, — про-
извольный набор значений свободных переменных формулы
(1.11). Докажем, что
(VxM(x):o4(s,)|<f,,ei....Gn> = И.
Действительно, для формулы А (х) либо существует элемент
аоеЛ1 такой, что на наборе <а0, аь .... ап> значений свобод-
ных переменных к, xix,..xin
А (х) I<во» 01...аЛ> = Д
либо для любого элемента а^М на наборе <а, щ.........ап>
значений свободных переменных х, х1х,..., Xi
Л С*)! <а. ...,ап> =И.
В первом случае
(Vx) Л (х) | <о,.0.> = Л,
и тогда
(У.г)Л(х)=Л(»)|<л. 01....Ол> - И.
Во втором случае
(Ух)Л(х)|<а........О„>=И; а....о„> = И,
и тогда
а1...ап> = и.
Утверждение 1.19. Формула А(у) п (Ях)А(х), где перемен-
яя у не входит в формулу А (х). общезначима.
В силу утверждения 1.18 формула (Vx) -| Д(х) zd-[
общезначима. Имеем
(Vx) -] А (х) =) -.Л (у) = -| (Vx) и А (х) V "И («О =
6*
83
=ЦЯх) -1~|Л(х) Vn А(у)^(Ях)А(х) V~M(z/) =
=Л($0 (Ях)Л(х).
Следовательно, формула А(у) zd (Ях)Л(х) общезначима.
Как говорилось выше, одноименные кванторы можно пере-
ставлять, следовательно, формулы
(Ях)(Яу)Л(л:, у)~(Яу)(Зх)А(х, у),
(Vx)(Vy)A(x. y)~(Vy)(Vx)A(x, у)
общезначимы.
Общезначимой является также формула (Ях) (Vy)A (х. у)
z>(Vy) (Ях)А (х, у} (доказательство будет приведено в конце
разд. 1.4.4). Однако формула (Vx) (Я#)Л (х, #)=>(Я/;) (¥х)Л (х,^
не является общезначимой. Действительно, пусть форму-
ла А(х, у) — атомарная формула A<2>i(x, у). Рассмотрим
интерпретацию, областью которой является множество целых
чисел; символу A(2)i поставим в соответствие предикат х<у.
Топа формула (Vx) (Яу)4(2)!(х, у) истинна в этой интерпре-
тации, а формула (Яу) (Vx) Л<2Мх, у) ложна.
Утверждение 1.20. Пусть А — тождественно-истинная фор-
мула логики высказываний, ,..., —список ее перемен-
ных. Подставив вместо каждой переменной Xifti fe=l, 2, ..., п,
формулы логики предикатов Bk (так, чтобы при этом не нару-
шались пп. 1—4 определения формулы, см. с. 74), получим
общезначимую формулу логики предикатов.
Задача распознавания общезначимости формул логики пре-
дикатов существенно сложнее, чем формул логики высказыва-
ний. Так же, как и в логике высказывании, опа называется
проблемой разрешимости и ставится следующим образом: ука-
зать эффективный способ (алгоритм) распознавания общезна-
чимости формул (т. е. является ли данная формула общезна-
чимой илн нет). (Подробно понятие алгоритма будет о б су ж--
даться в разд. 1.5.)
В общем случае эта проблема в логике предикатов неразре-
шима. Приведем это утверждение без доказательства.
Теорема Черча. Не существует алгоритма, который для лю-
бой формулы логики предикатов устанавливает, общезначима,
она или нет.
Однако в некоторых частных случаях проблема разрешимо-
сти решается. Например, если рассматривать формулы логики
предикатов, содержащие только одноместные предикатные сим-(
волы, то такой алгоритм существует. Логика, в которой упо-'
требляются только одноместные предикаты, соответствует логи-;
ке, которая была описана еще Аристотелем.
Алгоритм проверки общезначимости формул, содержащих
только одноместные предикатные символы, основан на следую-
щем утверждении.
84
Утверждение 1.21. Пусть F — формула, содержащая ровно*
п одноместных предикатных символов. Для того чтобы форму-
ла F была выполнимой, необходимо и достаточно, чтобы она’
была выполнимой во всех интерпретациях <М, f> с множест-
вом М, содержащим не более 2'1 элементов.
Приведем схему доказательства этого утверждения.
Пусть в интерпретациях М1 = <Л[1, n М2=<М2, fs>
одноместным предикатным символам формулы поставлены
в соответствие предикаты Р, и j —1, 2, ... Говорят, что ин-
терпретации Mi и М2 гомоморфны, если существует сюръекция
ф такая, что для любого aeMi и для любого / = 1,
2,... Р/(б) = Q/(q>(fi)). Тогда, как следует из индуктивного-
определения, формула, содержащая только одноместные пре-
дикатные символы, в гомоморфных интерпретациях одновре-
менно либо выполнима, либо невыполнима.
Покажем, что если формула F, содержащая ровно п одно-
местных предикатных символов 4U)i,.. ., выполнима, го*
она выполнима и в некоторой интерпретации с конечным мно-
жеством М, содержащим не более 2П элементов. Пусть Mi=
= <МЬ — интерпретация, в которой выполнима формула
F, и пусть в этой интерпретации предикатным символам Д(,)/
соответствуют предикаты Р/, j = 1, 2,..., п. Для любого a
рассмотрим подмножество Л4Й £ ЛЬ, состоящее из таких эле-
ментов Ь, что <^Р\(а), Р2(а), ..., Pn(a) > = <Pi (&), Pz(b), ...»
Pn(i»)>. Число таких подмножеств Ма не превышает числа на-
боров из И и Л длины п, т. е. не превышает 2п. Выберем в
каждом из этих подмножеств по одному представителю и со-
ставим из них множество М. Тогда интерпретации Mi =
= <Л4Ь Ь> п М2=<М, f>, где /—ограничение функции fi
на Л4^Л1Ь гомоморфны, и, следовательно, формула F выпол-
нима в интерпретации М2 с множеством Л1. содержащим не
более 2П элементов. Отсюда следует утверждение 1.21.
1.4.4. Исчисление предикатив
Как было сказано выше, в логике предикатов, в отличие от’
логики высказываний, нет эффективного способа для распозна-
вания общезначимости формул. Поэтому аксиоматический ме-
тод становится существенным при изучении формул, содержа-
щих кванторы. Выделение общезначимых формул так же, как
и в исчислении высказывании, осуществляется путем указания
некоторой совокупности формул, которые называются аксиома*
Ми, и указания правил вывода, позволяющих из общезначимых
Формул получать общезначимые.
В отличие от общепринятого изложения, рассмотрим некото-
рую узкую аксиоматическую теорию, которую также будем на-
зывать исчислением предикатов.
85
Исчисление предикатов — это аксиоматическая теория, сим-
яолами которой являются, по существу, те же символы, что и в
-логике предикатов (см. разд. 1.4.1):
1) символы предметных переменных: хь х2,..-, хп,...;
2) символы предикатов: Л(/)ь А(1)2....Л10?!,... (/ = 0, 1,
2,...);
3) логические символы: ~|, г>;
4) символы кванторов: V, Я;
5) скобки и запятая: (, ).
Сформулированное в разд. 1.4.1 определение формулы оста-
нется в силе и для исчисления .предикатов (с той лишь разницей,
что мы употребляем только два логических символа: ”] и =>;
-остальные связки можно ввести, например, так, как это сделано
в исчислении высказываний, см. с. 64).
Аксиомы исчисления предикатов. Каковы бы ни были фор-
мулы А и В, следующие формулы являются аксиомами ♦:
А1. Ло (В=>Л);
А2. (Л=>(В=>С))=> ((Л:эВ)=> (Л=>С));
АЗ. -|Вг>-| Л) => ((-| ВзэЛ) =>В);
А4. (Ух,)Л (л:,) о А (х/), где формула Л(х£) не содержит
шеременной х/;
А5. Л (хг-)гэ (Ях3) A (xj), где формула Л (хг) не содержит пере-
менной X/.
Правила вывода исчисления предикатов *:
1. Правило tn. р:А’ А^ В .
2. Правило связывания квантором общности: g ^)2(~) *
тде формула В не содержит переменной х,.
3. Правило связывания квантором существования:
Л(х,) =>в—, где формула В не содержит переменной х».
В
4. Правило переименования связанной переменной. Связан-
ную переменную формулы Л можно заменить (в кванторе и во
жсех вхождениях в области действия квантора) другой пере-
менной, не являющейся свободной в Л.
Понятия вывода, теоремы, вывода из системы гипотез опре-
деляются в исчислении предикатов так же, ка-к и в любой аксио-
матической теории (см. разд. 1.3.1).
Теорема 1.20 (ослабленная теорема о дедукции). Если Г,
А'—В и существует вывод в исчислении предикатов, построен-
.ный с применением только правила 1, то Г |— Лг>В.
Эта теорема доказывается аналогично теореме о дедукции
в исчислении высказываний.
* При этом не должно нарушаться определение формулы.
36
Можно показать, что класс всех теорем исчисления преди-
катов совпадает с классом общезначимых формул.
Утверждение 1.22. Аксиомы исчисления предикатов — обще-
значимые формулы.
Для аксиом А1—АЗ это следует из утверждения 1.20, для
аксиом А4 и А5 — из утверждений 1.18 и 1.19.
Утверждение 1.23. Формула, получающаяся из общезначи-
мой формулы по любому из правил вывода 1—4, является об-
щезначимой.
Для правила вывода 1 это утверждение следует из свойств
импликации.
Рассмотрим правило вывода 2. Пусть В => А(Хд) — общезна-
чимая формула. Докажем, что формула В r> (Vx*)A (х,) тоже
общезначима. Пусть x*t..Xkn — все свободные переменные
этой формулы. Тогда xt, Xkt...x*n — перечень свободных
переменных формулы В г> А (х,) (формула В ис содержит пере-
менной Xi),
Пусть задана произвольная интерпретация с множеством М
и пусть <ai, .... ап>, а^М, l^i^n,— произвольный набор
значений свободных переменных формулы В (VXi)A(x$).
Возможны два случая: 1) В| ап> = И;
2) ап> = Л.
В первом случае из общезначимости формулы В => А (х,) сле-
дует, что для любого элемента а из множества .М
А(*•)!«., а.<х„> = и- Тогда (¥х,)Л(х.)| <о,....о„> = И.
откуда
В=>(¥х.)Л(х,)|<а1...йл> = И.
Во втором случае в силу свойства импликации
в=>(у*)Л(*)|<в......«.> - И.
Рассмотрим правило вывода 3. Пусть А (х£) zd В — обще-
значимая формула. Докажем, что формула (Эхг)А(х;) id В
тоже общезначима. Пусть Ха^ хЛд — все свободные пере-
менные этой формулы. Тогда xt-, x*t, ...» хъп —перечень свобод-
ных переменных формулы А (х<) о В (формула В не содержит
переменной х,).
Пусть задана произвольная интерпретация с множеством Л4
и пусть <zai, ...» пп>, ojeM, 1^/^л,— произвольный набор-
значений свободных переменных формулы (Зх;)А(хг) => В,
Возможны два случая: 1) В|<Й1 fln> = И;
2> В1«х.....«.>=Л.
В первом случае в силу свойств импликации
(3xz)A(xf)^B|<ai...Лп>=И.
Во втором случае из общезначимости формулы A (xt) id Я
следует, что для любого элемента а из множества М
87
(х0 1<а, ....ап> — Л- Тогда (Ях,) Л (х«) I <Я(,..., Яи> — Д
откуда
(Ях,)Лад=»В|<С1.......йп> = И.
Справедливость доказываемого утверждения для правила
вывода 4 почти очевидна.
Теорема 1.21. Любая выводимая в исчислении предикатов
формула общезначима.
Эта теорема вытекает из утверждений 1.22 и 1.23.
Пример 1.35. Докажем общезначимость формулы
(Эх4)(Ух/)Л(х„ х,)=> (Ух/)(Ях£)А(хь ху).
Для этого покажем, что эта формула является теоремой исчис-
ления предикатов, т. е.
I- (Ях4) (УХ/)Л(хь х/) => (Vx,) (Ях£)А(х„ х/).
Построим этот вывод:
.(1) 1- (Vx,)A(xr, Xj) zdA(x(-, х/) (аксиома 4);
/2)1— Л(хь Xi) zd (Яхл)Л(хл, xt) (аксиома 5);
(3) А zd В, В zd Ci- A zd С (по теореме 1.20);
(4) — (Ух/)Л(х/, х/)=>(ЯхЛ)Л(хй, xf) ((3) применено к (1)
а (2));
(5) ь- (Ях£) (¥х,)А (Xf, Xj)z>(SXft)/l (Хя, Xt) (правило вывода 3
применено к (4));
(6) н (Ях,) (Vx/)A(Xp Xj) zd (Vx,) (ЯхЛ)А(хй, х,) (правило'
•вывода 2 применено к (5));
(7) j— (Ях£) (Vx/)A(x/, Xj) zd (Vx,) (?Ixft)A(Xft, x,) (правило
вывода 4 применено к (6));
(8) I- (Ях,) (Vxj)A(xt, х/) zd (Vx/) (Яхг)Л (x„ xz) (правило вы-,
.вода 4 применено к (7)).
Теорема 1.22. Исчисление предикатов непротиворечиво.
Действительно, в силу теоремы 1.21 невозможно одновремен-
но и А и г- -|Л.
Приведем без доказательства формулировку теоремы, обрат-
ной теореме 1.21.
Теорема Геделя ( о полноте исчисления предикатов). Всякая
общезначимая формула выводима в исчислении предикатов.
Задачи и упражнения
1. Будут ли следующие выражения формулами, п если это фор-
мулы, то какие переменные в них являются свободными, а ка-
jKiie связанными:
a) (Vx,) (Ях2) (¥х3)Л<«,(хь х2, х3, х4);
б) (Vx,)A(2>,(xb х2) zd (Ях2) Л<2>,(х,. х2):
в) (Ях,)(Ях2) (Л<^>2(х,, х3) &Л<2>3(х2, х4))?
88
2. В той же интерпретации М, что и в примере 4.5, записать,
формулы, выражающие следующие утверждения: а) х — нечет-
ное число; б) х < у\ в) г — наибольший общий делитель х и у;
г) ассоциативность сложения; д) бесконечность множества прос-
тых чисел; е) конечность множества простых чисел; ж) сущест-
вование наибольшего натурального числа. Будут ли формулы
«е» и «ж» истинны в данной интерпретации?
3. Пусть М — множество точек прямых и плоскостей трех-
мерного евклидова пространства. Рассмотрим интерпретацию'
f>, где f — соответствие, сопоставляющее предикат-
ным символам Pi(x), Pz(x), Рз(х), Qi(x, у), R(x, у} следующие
предикаты: Pi(x) :«х — точка»; Рг(х) :«х — прямая»; Р*{х):
«х—плоскость»; (х, у) : «х лежит на у»; R(x, у) : «х сов-
падает с #». Записать в этой интерпретации формулы, выража-
ющие следующие утверждения:
а) через каждые две точки можно провести прямую и при-
том единственную, если эти две точки различны;
б) через каждые три точки, ие лежащие на одной прямей,,
можно провести единственную плоскость.
4. В интерпретации Л43 (см. пример 1.31, п. 3) записать
утверждение о том, что функция f(x) равномерно-непре-
рывна на отрезке. При каком условии, наложенном на
функцию f(x), в этой интерпретации истинна формула
(Яб) (Ve) (Vx-) (Vxi) D. (x) & D (x) & R (e) & (Л (xb x2, 6)
(X|, x2, e))?
5. В интерпретации M = <M, f>, где М = Р(А), А — неко-
торое множество, f — соответствие, сопоставляющее предикат-
ному символу Р(х, у) предикат х^у, записать, что: а) х—
пересечение у и z; б) х — объединение у и z; в) х = 0; г) х =
= А; д) х — дополнение у.
6. Доказать или опровергнуть следующие равносильности
(формула В не содержит вхождений переменной х):
a) (Vx)(X(x) tdB)=e=(Vx)X(x) => В;
б) (Ях)(Л(х) =>В)«=(Ях)Л(х)=>В;
в) (Vx)(B=>X(x))«B=> (Ух)Л(х);
г) (Bx)(B2dX(x))ssB => (Ях)Л(х).
7. Доказать, что следующие формулы равносильны:
а) (Vx) (Л (х) & С (х)) = (Ух)Л (х) & (Vx) С(х);
б) (Ях)(Л(х) \/С(х)) = (Их)Л(х) V (Зх)С(х).
8. Для следующих формул указать приведенную нормаль-
ную форму:
а) (Ях) (Vy) (х, у) (Vx) (Я&)Л<2>2 (х, у);
б) (Ух)Л<‘)!(х) о (Vx) (3Ez/) (х, у}.
9. В интерпретациях примера 1.31 записать утверждение о
том, что: а) число А не есть предел функции f(x) при х-^х0;
б) функция f (х) разрывна в точке хо.
10. Привести примеры формул, равносильных в интерпре-
тациях <М, f> с двухэлементным множеством М.
89
11. Выполнимы ли следующие формулы:
а) (Ух)Ла)!(л);
б) (Ях) (Vy) И(2Мх, х)&-|А<2М*, у)у,
в) (Ях^До^х) Г)Л<’>1(0)?
12. Будут ли общезначимыми следующие формулы:
a) (Vx) А (х) =>/(</);
б) A(x)=>(V»)A(y);
в) (Ях)А(х) гэ (Vx)A(x);
г) (Ях) (Vtf)A(x, у) ~ (Vy) (Ях)А(х. y}t
13. Выполнимы ли следующие формулы:
а) (¥х)(ЯЮ(Д(»(х)~~1Д<5)(£/));
б) (Яу) (¥х)(Д<’)(х) ~ -|Д(’)(^))?
1.5. ЭФФЕКТИВНАЯ ВЫЧИСЛИМОСТЬ
Для решения ряда однотипных задач иногда целесообразно
использовать чисто механические вычислительные процессы.
С их помощью искомые величины вычисляются последователь-
но из данных величин но определенным правилам. Описание
таких процессов принято называть алгоритмами. Вообще гово-
ря, под алгоритмом интуитивно понимается некоторое формаль-
ное предписание, действуя согласно которому можно получить
решение задачи.
Типичными примерами алгоритмов служат решения следую-
щих задач:
1) нахождение наибольшего общего делителя двух положи-
тельных натуральных чисел;
2) извлечение квадратного корня из рационального числа
с заданной степенью точности;
3) вычисление ранга целочисленной матрицы;
4) определение тождественной истинности формулы логики
высказываний.
Перечисленные алгоритмы имеют ряд общих черт, которые
естественно считать присущими любому алгоритму:
1) элементарность шагов алгоритма: решение задачи разби-
вается на этапы, каждый из которых должен быть простым и
локальным;
2) детерминированность алгоритма: после выполнения оче-
редного этапа однозначно определено, что делать иа следующем
этапе;
3) направленность алгоритма: должно быть указано, что
считать результатом применения алгоритма;
4) массовость алгоритма: алгоритм служит для решения
не какой-то одной задачи, а целого класса однотипных задач.
Интуитивное понятие алгоритма, хотя и не строго, но на-
столько ясно, что всегда можно определить, является ли данный
процесс алгоритмом. Поэтому удовлетворительным доказатель-
ством существования алгоритма считается описание фактиче-
ского процесса решения какой-либо задачи.
Однако для некоторых известных проблем (например, для
проблемы установления общезначимости формул логики пре-
дикатов) не удавалось найти разрешающего алгоритма. Без-
успешные попытки найти такие алгоритмы привели к предпо-
ложению, что их не существует. По для того чтобы доказать*
несуществование алгоритма, надо точно знать, что такое алго-
ритм.
Начиная с 30-х годов было предложено несколько уточнений
понятия алгоритма. Считается, что все они достаточно полно
отражают основные черты интуитивного понятия алгоритма.
Действительно, все формальные определения алгоритма в не-
котором смысле эквивалентны друг другу, все алгоритмы в точ-
ном смысле являются алгоритмам» в интуитивном смысле, и,
как показывает опыт, все известные алгоритмы можно задать
алгоритмами в точном смысле.
Для алгоритмических проблем типичной является, например»
ситуация, когда требуется найти алгоритм для вычисления чис-
ловой функции f(xit..., хп), зависящей от целочисленных зна-
чений аргументов Xi....Числовые функция, значения ко-
торых можно вычислять посредством некоторого (единого для
данной функции) алгоритма, называются вычислимыми функ-
циями. Принято считать, что f(x>,..., хп) эффективно вычис-
лима^ если имеется какая-нибудь механическая процедура (ал-
горитм), следуя которой можно найти значения kn),
когда известны значения ki,..., kn аргументов. Поскольку по-
нятие алгоритма интуитивно, то и понятие вычислимой функции
интуитивно.
Ниже мы рассмотрим некоторое уточнение понятия вычисли-
мой функции — частично рекурсивные функции. Затем опреде-
лим уточнение понятия алгоритма, связанное с машинами Тью-
ринга, что позволит нам доказать неразрешимость некоторых
алгоритмических проблем.
1.5.1. Рекурсивные функции
Будем рассматривать только числовые функции, т. е. функции,
аргументы и значения которых принадлежат множеству нату-
ральных чисел N (в теории рекурсивных функций полагают
1, 2,...). Иначе говоря, частичной числовой п-местиой
Функцией f(Xi,.... хп) называется функция, определенная на
некотором подмножестве M<=Nn с натуральными значениями.
Если область определения совпадает с множеством Nn, т. е.
то говорят, что функция f всюду определенная, в
противном случае — частично определенная.
91
Например, f(x, у) =х +у — всюду определенная двумест-
«нал функция, f(x, у) —х — у — частично определенная функ-
ция (она определена, когда х"^у).
Рекурсивным определением функции принято называть такое
«ее определение, при котором значения функции для данных
аргументов определяются значениями той же функции для бо-
лее простых аргументов или же значениями более простых
функций. Простейшим примером рекурсивного определения
являются числа Фиббоначи, представляющие собой последова-
тельность чисел f(n), удовлетворяющих условиям f(0) = 1,
f(l) = 1, f(n + 2) = f(n) +f(n+ 1), т. e. 1, 1, 2, 3, 5, 8, 13...
Опишем класс числовых функций, играющих весьма важ-
.ную роль в математической логике.
Следующие всюду определенные числовые функции назовем
простейшими:
1) «S(x) = x-h 1 — прибавление единицы;
2) О (х) ==0 — нуль-функция;
3) Xn)~XnU /п = 1,..., п, — проектирующая
функция.
Все эти функции вычислимы в интуитивном смысле.
Определим теперь операторы. Они обладают тем свойством,
что, применяя их к функциям, вычислимым в интуитивном
смысле, получаем функции, также вычислимые в интуитивном
смысле.
1. Оператор суперпозиции. Говорят, что л-местная функция
ф(х......... получена с помощью оператора суперпозиции из
m-местнои функции <р(х|}..., хт) и л-местных функций
fl (Xi, ...» xn),..., fm(xi.x„). если
ф(Х1, ..., Xn) =ф(Ь(Х1, ..., Xn).fmfxi, xn)). (1.12)
2. Оператор примитивной рекурсии. Говорят, что (и -1-1)-
.местная функция f(xb..., хп, у) получена из л-местиой функ-
ции <р(х....хп) и (п + 2)-местной функции Ф(хи...» хп, у, z)
-с помощью оператора примитивной рекурсии, если ее значения
.можно вычислить по следующей схеме (схеме примитивной ре-
курсии) :
f f(x...... xn, 0) =<p(xb..., xn);
I f(x...... xn, у -t- 1) = ...... i/, f(xi,..., x«, y)).
.(1.13)
При л = 0 схема примитивной рекурсии имеет вид
[ Н0)=а;
I f(y+ 1)
где а — константа.
Заметим, что схема примитивной рекурсии (1.13) полностью
определяет функцию f.
92
Функция f(xt,..., хп) называется примитивно-рекурсивной,
если она может быть получена из простейших функций с помо-
щью конечного числа применений операторов суперпозиции
(1.12) и примитивной рекурсии (1.13).
Пример 1 .>36. Следующие функции примитивно-рекурсивны:
a) S(x), О(х), Zm(xb..., Хп);
б) функция О(хь ..., хЛ) = О, так как О(хь ..., х„) =
= О(Л(хь..., хп)), т. е. она получена из простейших функций
й(х) н Zi (хь..., хп) с помощью оператора суперпозиции;
в) f(x) =х + п, т. е. f(x) = S(S(... S(x)) ...);
п раз
г) f (х> У) = х + У- Действительно,
f f(x, 0) = х + 0 = х = 7i(x);
I Нх' y + 1) = *+ (y+ 1) = (* + !/) + l=S(x + £),
t. e. f(x, у) =x + у получена из примитивно-рекурсивных функ-
ций <р(х) = /1(х) и ф(х, у, z) =& + 1 = 5(г) с помощью опера-
тора примитивной рекурсии.
3. Оператор минимизации (р-опсратор). Говорят, что функ-
ция 7(хь..., Хп) получена из функции g(xb...» х„, у) с по-
мощью оператора минимизации (или просто р-оператора) и
обозначают f (xb ..., xn) = •. •, xn, у) = 0], если
f (xb...» Xn) определена и равна у тогда и только тогда, когда
g(xt,..., хп, 0),..., g(xi..хп, у—1) определены и не рав-
ны 0, a g(xit..., хп, у) = 0.
Функция f (Xi,..., Хп) называется частично рекурсивной, ес-
ли она может быть получена из простейших функций с помо-
щью конечного числа применений операторов суперпозиции,
примитивной рекурсии и минимизации. Всюду определенные
•частично рекурсивные функции называются общерекурсивными.
Пример 1.37. Рассмотрим функцию
_ f х — У> если Х&*У\
1\х> У) — [ не определена в остальных случаях.
Покажем, что она частично рекурсивна. Введем вспомогатель-
ные функции:
. . f х— 1, если х2>1;
а) X- ’ = [ 01 еслн х _ 0.
(й х-п— [ Х~У- если
°) х У~ I о, если X < у.
Эти функции примитивно-рекурсивны. Действительно,
[0 ~ 1 = 0—О(х);
Ш + 1) — 1 = f/ = Z2(x, у, 2);
(х —0 = х;
(х^- (у + 1)
93
Тогда функция — z/| «= (х — у) + (у — х) также примитивно-
рекурсивна. Пусть g(x, у, z) = 1х— (z 4- у) |. Эта функция при-
митивно-рекурсивна. Функция f(x, у) может быть получена из
нее с помощью оператора минимизации: f(x, у) = pz[|x—(z
~Н/)1 =0]» и, следовательно, она частично рекурсивна.
А. Черч выдвинул следующую гипотезу.
Тезис Черча, Всякая эффективно вычислимая функция яв-
ляется частично рекурсивной.
В формулировку тезиса Черча входит интуитивное понятие
эффективной вычислимости, поэтому его нельзя ни доказать,
ни опровергнуть в общепринятом математическом смысле. Это
некоторый факт, в пользу которого говорит многолетняя мате-
матическая практика.
Частичная рекурспвносгь — это уточнение понятия вычис-
лимой функции. С помощью этого точного определения можно
доказывать пли опровергать вычислимость. Наряду с частичной
рекурснвяостыо имеются и другие уточнения понятия вычисли-
мой функции (например, понятие вычислимости по Тьюрингу).
Можно доказать их эквивалентность.
1.5.2. Машины Тьюринга
Машина Тьюринга — это математическая модель идеализиро-
ванного вычислительного устройства. Приведем сначала нефор-
мальное ее описанне:
1. Пусть имеется лента, т. е. полоса, разбитая па конечное
число ячеек. В каждой ячейке ленты в каждый момент времени
записан один из символов
Оо, «к ..., ап. (1.14)
Совокупность этих символов называется внешним алфавитом
машины. Символ aQ — пустой (его обычно обозначают симво-
лом 0).
В процессе работы машины к существующим ячейкам могут
пристраиваться новые пустые ячейки, так что ленту можно счи-
тать неограниченной в обе стороны.
2. Каждая машина обладает внутренней памятью, которая
может находиться в конечном числе состояний. Состояния внут-
ренней памяти обозначают символами
91, • . . , Qm, (1.15)
отличными от* символов (L14), и называют внутренними состоя-
ниями машины. Одно из таких состояний (обычно qQ) называют
заключительным, а другое (обычно 9j)— начальным.
3. Имеется управляющая головка, которая может переме-
та [ься вдоль ленты таким образом, что в каждый момент вре-
мени она находится в определенной ячейке лепты. Принято го-
ворить, что машина воспринимает эту ячейку. Машина действует
не непрерывно, а лишь в дискретные моменты времени.
94
В зависимости от внутреннего состояния и от символа, запи-
санного на воспринимаемой ячейке, в следующий момент вре-
мени машина переходит в новое внутреннее состояние (возмож-
но, в то же самое), записывает новый символ в ту же ячейку
(возможно, тот же самый) и либо сдвигает управляющую
головку на одну клетку влево или вправо, либо оставляет ее
на месте. Если управляющая головка воспринимает самую пра-
вую (левую) ячейку, а машина по ходу работы должна сдви-
нуть головку в отсутствующую ячейку справа (слева), то она
пристраивает недостающую ячейку. Попав в заключительное
состояние, машина прекращает работу.
Конфигурацией на ленте (или машинным словом) называ-
ется совокупность, образованная:
1) последовательностью aIt, af t..., а символов, записан-
ных в ячейках лепты, где — символ, записанный в первой
ячейке слева, сц2 —символ, записанный во второй ячейке слева,
и т. д. (любая такая последовательность называется словом в
алфавите (1.14));
2) состоянием внутренней памяти qp,
3) номером k воспринимаемой ячейки.
Конфигурацию машины будем записывать так:
ай ’
Так как каждая машина имеет конечный алфавит и конеч-
ное число внутренних состояний, то из описания ее работы
видно, что она может выполнять конечное число действий.
Если машина, находясь во внутреннем состоянии qt и вос-
принимая ячейку с символом а/, записывает к следующему мо-
менту времени в эту ячейку символ аг, переходит во внутреннее
состояние qs и сдвигается по ленте, то говорят, что машина вы-
полняет команду
qiaf-^qsOrS, (116)
где S — сдвиг. Вместо S будем писать букву L, если сдвиг
осуществляется влево, букву R, если сдвиг происходит вправо,
и С, если головка остается на месте. При этом говорят, что
машина переводит конфигурацию а, ... ... ai,
я*
где . ai{ и ait+i... aif — произвольные слова в алфавите
(1-14), в конфигурацию а- ... ... «jf.
1 q, t+i
значение принимает сдвиг в команде.
95
Совокупность всех команд, которые может выполнить ма-
шина, называется ее программой. Программа машины должна
содержать одну и только одну команду, начинающуюся словом
i=l, mf j—G, 1, n. Каждая машина Тьюринга
определяется своим алфавитом, состояниями внутренней памяти
и программой.
Чтобы полностью определить работу машины, надо указать
ее конфигурацию для начального момента времени. Будем счи-
тать, что в начальной конфигурации головка воспринимает
самую правую непустую ячейку.
Итак, машина Тьюринга есть, по определению, набор
М - <Д, Q, П>, (1.17)
где А — внешний алфавит (1.14) с выделенным пустым сим-
волом с0; Q — алфавит внутренних состояний (1.15) с выделен-
ными символами конечного н начального состояний q$ и q\, П —
программа, т. е. конечная последовательность упорядоченных
пятерок символов (1.16).
Если машина, начав работу с некоторым словом, записан-
ным на ленте, придет в заключительное состояние, то она назы-
вается применимой к этому слову. Результатом ее работы счи-
тается слово, записанное на ленте в заключительном состоянии.
Если же машина ни в какой момент времени не придет в за-
ключительное состояние, то она называется не применимой к
данному слову, н результат ее работы не определен.
Пример 1.38. Рассмотрим машину с внешним алфави-
том {0, ]}, двумя внутренними состояниями {qo, ?i} и програм-
мой
Я;
91О->9о| С.
Машина Л4| выполняет следующую операцию: к любому
слову* состоящему из символов |, она прибавляет еще один
символ | и останавливается. Если, например, в начальном со-
стоянии на ленте записано слово 111, то в процессе работы
машины появятся следующие конфигурации:
III — начальная конфигурация (для краткости здесь и да-
91
лее в записи конфигурации опускаем все пустые символы, рас-
положенные левее первого непустого и правее последнего не-
пустого) ;
1110 — следующая конфигурация;
9>
|||| — заключительная конфигурация.
9i
Машина ЛЛ применима к любому слову в алфавите {0, |).
Пример ‘1.39 (удвоение слова). Построим машину с алфави-
том {0, [}, которая по любому слову в алфавите {}} строит два
96
таких слова; точнее, эта машина переводит конфигурацию вида
7b-
91
в конфигурацию вида
пТТГ о пГ.х.
Можно указать несколько таких машин. Одна из них имеет
следующую программу:
<7>1 -^2|Ь <7g |—1 /-
qiV-+q£C ДО доь
qA-^q^L <7т|^7 L
q-iO-+q& С
<?з| -*-q&C <7в| -><7в Я
^зО-><71сОЬ ДО qoOR
q&L q^qslR
qb[-+qi\C^ qgQ —> q?$C
ДО —qo IС qufi —> q$L
<7s| <7s| С <?io| C
Команда зацикливает программу, и машина пере-
рабатывает слово до тех пор, пока не придет в состояние
воспринимая при этом пустой символ.
Пусть Afi и УИ2 — две машины Тьюринга с общим алфавитом
{оо, ....Дп} и {qo, ^1,..., qm} — внутренние состояния ма-
шины Л1Ь {<70, /1. - - ♦. q'i} — внутренние состояния машины М2.
Композицией М машин 2Иi и М2 называется машина с алфа-
витом {а0, Gi..ап]у внутренними состояниями {qQ, qlt.qm,
9т+ь • •, qm+i} и программой, получающейся следующим обра-
зом. Во всех командах машины Mi заменим заключительный
символ qQ символом qm+i, а остальные символы оставим без
изменения. Во всех командах машины М2 символ qo оставим
неизменным, а все остальные символы q'i(i = 1, ..., /) заменим
соответственно символами qm+i- Совокупность всех команд ма-
шин М\ и М2> измененная указанным способом,- и будет про-
граммой композиции М машин М\ и М2. «Работа» машины М
равносильна последовательной «работе» машин М> и М2.
к- Тьюринг выдвинул следующую гипотезу.
Тезис Тьюринга. Всякий интуитивный алгоритм может быть
Реализован с помощью некоторой машины Тьюринга.
Выше уже приводились доводы в пользу этого тезиса. Как
Доказывает опыт, любые действия, которые может выполнить
Ь1числитель — человек, могут быть разложены в последова-
ельность действий некоторой машины Тьюринга.
Часто в алгоритмических проблемах речь идет не о построе-
7^1529 97
нии алгоритма, а о вычислимости некоторых специальным обра-
зом построенных функций.
Воспользуемся специальным кодированием натуральных,
чисел в алфавите {|}: каждое натуральное число представим
(л + 1) символом |, т. е. числа О, I, 2,_кодируем словами I
И, in,... Ь
Частичная числовая n-местная функция f(xh ..., хп) назы-
вается вычислимой по Тьюрингу, если существует машина Л1,
вычисляющая ее в следующем смысле:
1. Если набор значений аргументов <xi,.... хп> принад-
лежит области определения функции f, то машина М, начиная
работу в конфигурации
О р.-н о [*+»... O-L*”*1 (1.18)
(где Iх = и воспринимается самый правый символ |),
х раз
останавливается, заканчивая работу в конфигурации
I V+1
О—----,
40
где y = f(xh .... хп).
2. Если набор значений аргументов <Xi,.... хп> не при:
надлежит области определения функции f, то машина М, начи-
ная работу в конфигурации (1.18), работает бесконечно, т. е:
не приходит в заключительное состояние.
Пример 1.40. Простейшие функции S(x)=x+1 и О(х)=£
вычислимы по Тьюрингу. Первую из них вычисляет машина
описанная в примере 1.38, а вторую — машина с теми же ал-
фавитами и программой
<7iO-><7q|C.
Можно доказать, что любая частично рекурсивная функщп>
вычислима по Тьюрингу и, наоборот, любая вычислимая пс
Тьюрингу функция частично рекурсивна.
Теперь, обладая точным формальным понятием алгоритма,
мы можем доказать неразрешимость некоторых алгоритмиче
скнх проблем.
Каждая машина Тьюринга по определению есть набо]
(1.17), т. е. задается внешним алфавитом А (1.14), алфавите)
внутренних состояний Q (1.15) и программой П:
«•-.о..5».- а-1,О*9’
где S, — это R; S, — это L; S3—это С. При этом можно
тать, что существуют некоторые обширные алфавиты и ч
в которых записываются символы (1.14) и (1.15) для всех в*
98
шин Тьюринга. Тогда символы <7»й, й/,х, /)Гс, aSa из (1.19) есть
символы алфавитов Ло и Qo-
Укажем способ нумерации всех машин Тьюринга (геделева
нумерация). Пусть ръ ръ Рз,--- — последовательноегь всех
простых чисел, расположенных в порядке возрастания (т. е. по-
следовательность 2, 3, 5, 7, 11 ...). 11омером машины Тьюринга
М с программой (1.19) назовем число
п (М) = -
♦ • * РД-4 Psk-3 &5k-2 Л>*-1 -^Sb-
Пример 1.41. Номер машины Alt, описанной в примере 1.38,-г-
число
л (Alt) » 2‘ 3» 5’ 7* 11‘ 13* 17° 19° 23« 293.
Естественно, что нс все натуральные числа являются номе-
рами машин Тьюринга. Если п — номер некоторой машины в
алфавитах (1.14), (1.15), то ее программу можно однозначно
восстановить по этому номеру.
Как и раньше, кодируем натуральные числа символом |-.
Будем рассматривать машины Тьюринга, алфавит которых со-
держит символ |.
Напомним, что машина называется применимой к начально-
му слову, если она, начав работать с этим словом на ленте,
придет в заключительное состояние.
Машина М, применимая к слову п(М) (т. е. к коду своего
собственного номера), называется самоприменимой. Машина,
не применимая к слову л(А1), называется несамоприменимой.
Машина ЛЬ (см. пример 1.38) самопрпмеиима. Примером
несамопрнменимоп машины является машина, в правых частях
команд которой но встречаются заключительные состояния.
Такая машина не применима ни к какому слову.
Следуя О. Б. Лупанову *, рассмотрим алгоритмическую
проблему самопримепимости Она состоит в следующем: ука-
зать алгоритм, который по любой машине Тьюринга устанавли-
вал бы, самопримеиима она или нет.
Согласно тезису Тьюринга такой алгоритм следует искать
в виде машины Тьюринга, т. е. требуется построить машину
Тьюринга, которая была бы применима к кодам номеров всех
машин. Тьюринга и в зависимости от того, самоприменима она
или нет, имела бы различные заключительные конфигурации.
Пусть, например, в случае самоприменимон машины заключи-
тельная конфигурация имеет вид
--- <?о '
* См: Лупанов О. Б. Конспект лекций по математической логике —
Изд-во МГУ, 1970,
7* 99
где вне обозреваемой ячейки могут быть записаны какие угод.’
но символы алфавита, а в случае несамоирименпмой машины'
заключительная конфигурация имеет вид
О
’ * ’ <7о
Теорема 1.23. Проблема самоприменимости алгоритмически
неразрешима, т. е. не существует машины Тьюринга, решающей
эту проблему в указанном выше смысле.
Допустим, что такая машина А существует. Тогда можно
построить машину В, которая 1) применима ко всем кодам
номеров несамоприменимых машин и 2) не применима ко всем
кодам номеров самопримеинмых машин.
Действительно, машина В получается из машины А следую-
щим образом: алфавит сохраняется неизменным, заключитель-
ное состояние q0 машины А считается незаключительным со-
стоянием машины В. а заключительным состоянием машины В
считается новое состояние q'u. Программа машины В состоит
из всех команд машины А и еще двух команд: <7о|->?о|С;
9оО->^'оОС. Очевидно, что машина В удовлетворяет требовани-
ям 1 и 2.
Сама машина В либо самоприменима, либо несамопримеии-
ма. Если она самоприменима, т. е. применима к коду своего
номера, то она применима -и к коду самопримеиимой машины,
но тогда не выполняется требование 2.
Если машина В несамоприменпма, т. е. ис применима к ко-
ду своего номера, то она не применима и к коду несамоприме-
нимой машины, но тогда не выполняется требование 1.
Итак, мы пришли к противоречию, основываясь на допущег.
нии о том, что существует машина А, решающая проблему
самоприменимости. Следовательно, такой машины не сущест-
вует.
Заметим, что неразрешима именно массовая проблема:
не существует единого алгоритма, который решал бы проблему
самоприменимости. Мы же приводили примеры конкретных
машин Тьюринга, для которых такой алгоритм существует. ;
Используя результат теоремы 1.23, можно доказать нераз-
решимость других алгоритмических проблем. Рассмотрим, на;
пример, проблему применимости к начальному слову. Она со-
стоит в следующем: указать алгоритм, который по машине Af к
слову X устанавливал бы, применима машина М к слову X илй
нет. В терминах машин Тьюринга эту проблему можно сфер/
мулировать так: можно ли построить машину, которая была QfJ.
применима ко всем словам вида п(А4)0Х, где М — произволу
ная машина, X — произвольное слово, и в случае, если машина
М применима к слову X, приводила бы к заключительной кон^
фигурации
100
а в случае, если машина М не применима к слезу X, приводила
бы к заключительной конфигурации
О
до
Теорема 1.24. Проблема применимости к начальному слову
алгоритмически неразрешима, т. е. не существует машины
Тьюринга, решающей эту проблему в указанном выше смысле.
Допустим, что такая машина D существует. Пусть Е— ма-
шина, удваивающая слова (см. пример 1.38). Рассмотрим ма-
шину G, которая является композицией машин Е и D. Если
в начальный момент работы машины G на ленте будет слово
n{M)t то после работы машины Е на лейте будет слово
;г(Л4)Ол(Л4). Машина D применима ко всем таким словам и
остановится в конфигурации
до
если машина М применима к слову п(М), и в конфигурации
О
‘ * до ” ‘ ’
если машина М не применима к слову п(Л4). Но тогда машина
<? решает проблему самоприменимости, что невозможно в силу
теоремы 1.23.
Итак, мы пришли к противоречию, исходя из допущения,
что существует машина, решающая проблему применимости.
Следовательно, такой машины не существует. "
Задачи и упражнения
1. Доказать примитивную рекурсивность следующих функ-
ций:
a) f(x) =x-vfe; б) f(x, у) = ху\ в) f(x, у) = min(x, у);
г) Н*, У) = тах(х, у).
2. Доказать, что всякая примитивно-рекурсивная функция
общерекурсивна.
3. Доказать, что следующие функции частично рекурсивны:
а) нигде ие определенная функция со, т. е. функция © с пус-
той областью определения;
б) f (%—«) Ш еслн У делит х;
' ' (ие определена в остальных случаях.
4. Построить машины Тьюринга, вычисляющие функции:
a) f(x) =х + k\ б) f(x, у) =х + у; в) Цх) = х 4-1.
101
АЛГЕБРАИЧЕСКИЕ
СТРУКТУРЫ
глава г
Приведем краткое изложение основных понятий теории алгеб-
раических структур (групп, колец н полей). Проиллюстрируем
также приложение теоретико-групповых методов к одной из за-
дач теории информации: порождению, кодированию и декоди-
рованию трупповых кодов.
2.1. ГРУППЫ
2.1.1. Полугруппы и моноиды
Множество П с заданной в нем бинарной ассоциативной опера-
цией называется полугруппой. Полугруппа с единичным элемен-
том называется моноидом (или просто полугруппой с едини-
цей).
Пример 2.1.
I. Пусть А’ — произвольное множество, М(Х)— множество
всех отображений А’ в себя. Тогда относительно операции ком-
позиции отображений М (X) — моноид, ои некоммутативный-
Обозначим его Л1(Х. О, еА).
2. Множество квадратных матриц порядка п относительно
умножения матриц — некогомутативный моноид с единичным
элементом — единичной матрицей, а относительно сложения
матриц — коммутативный моноид с единичным элементом — ну
левой матрицей. Обозначим их соответственно (Mrt(R), •, Е)
(M„(R),+, 0).
3. Множество целых чисел—коммутативный моноид как от-
носительно сложения, так и умножения. Обозначим их соответ
ственно (Z, +, 0), (Z, I). Множество целых чисел, делящих
ся на п(п>1),— коммутативная полугруппа без единицы с-тно-
ентельно умножения: Обозначим ее (nZ, •).
4. Пусть Л = {аь ..., ан}— конечное множество символов
алфавит. Конечная последовательность символов называете**
словом в алфавите А. На множестве П слов в алфавите Л вве-
102
дем бинарную операцию—«приписывание», т. е. если а=а^„
>b =ajr-aji* то ab—ah'“ai}iah‘'“aJi’ Тогда П — полугруппа.
Оиа называется свободной полугруппой, порожденной множест-
вом А.
5. Множество {Xi, Xz, Хз, Х4} относительно операции, задан-
ной таблицей Кэли (см. табл. 0.1),— коммутативный моноид,
единичный элемент которого Xi.
Подмножество IT полугруппы П называется подполугруппой,
если obeli' для всех а, беП'. В этом случае говорят также,
что подмножество П' замкнуто относительно рассматриваемой
операции. Очевидно, подполугруппа П' сама является полугруп-
пой относительно операции в П. Если М—моноид и подмноже-
ство М' не только замкнуто относительно операции, но и содер-
жит единичный элемент, то М' называется под моноидом М.
Например, множество чисел, кратных п,— подполугруппа в
полугруппе целых чисел относительно умножения (Z, 1) и
подмоноид в (Z, +, 0). В полугруппе П слов в алфавите А под-
множество слов в алфавите А'^А также подполугруппа.
Элемент а моноида М с единичным элементом е называется
обратимым, если для некоторого элемента Ъ выполняется равен-
ство аЬ=Ъа—е. Элемент Ь называется обратным а и обозна-
чается а-’. Обратный элемент единственен. Действительно, ес-
ли еще и аЬ'=Ь'а=е, то b,=eb'—(ba)b'~b(ab')—be=b.
Нетрудно видеть, что Кроме того, если а, b обра-
тимы, то (ab)~l=b-la~lt так как (ab) (Ь~1а-1) —a(bb~l)a~l =
=аеа~'—аа~1=е, и аналогично {b^a-1) (ab) ==е, т. е. элемент
ab тоже обратим.
Множество всех обратимых элементов моноида образует
подмоноид, так как содержит единичный элемент и замкнуто
относительно операции: если а и b обратимы, то —эле-
мент, обратный ab.
Рассмотрим проблему тождества слов в полугруппах.
Пусть S={sb —подмножество элементов полугруппы
П такое, что любой элемент из П может быть представлен как
произведение элементов из S. Тогда множество S называется
системой образующих полугруппы П. Например, для свободной
полугруппы П, порожденной алфавитом Л = {Д1, ..., ап}, само
множество А является системой образующих; для полугруппы
Целых чисел относительно сложения (Z, +, 0) системой обра-
зующих является множество {—1, 1, 0}, а для полугруппы це-
лых чисел относительно умножения (Z, •» 1) образующими яв-
ляются все простые числа и единица. »
Следует заметить; что далеко не все произведения элементов
Множества S будут различными элементами полугруппы П.
общем случае вопрос о равенстве таких произведений доволь-
но сложен. .
ЮЗ
Будем рассматривать полугруппы, порожденные конечным
множеством своих элементов. Они называются конечно-порож-
денными.
Можно указать некоторый способ задания полугрупп без ис-
пользования индивидуальных свойств элементов множества, в
котором определена полугрупповая операция, а именно задание
полугруппы образующими и определяющими соотношениями.
Каждая полугруппа П может быть задана образующими
аь а2, ..., ап (2.1}
(алфавит полугруппы) п определяющими соотношениями
Ai=Bi (fel, 2, ...), (2.2)
где Л, н Bi — слова в алфавите (2.1).
Элемент полугруппы, т. е. слово в алфавите (2.1), называют
словом полугруппы П.
Элементарным преобразованием полугруппы П называется
переход от слова вида XAtY к слову XBiY (или обратно), где
X, Y — произвольные слова полугруппы II, a А,=3.— одно из
определяющих соотношений (2.2).
Элементарные преобразования представляются в виде схем
XAiY^XBiY; XBiY-^XAiY.
К схемам элементарных преобразований относятся также
тавтологические переходы впда_ Х—^Х. Графическое совпадение
двух слов X и У обозначают Хо У.
Соотношения (2.2) определяют равенство слов в полугруппе
II, которое связано с элементарными преобразованиями полу-
группы II следующим образом. Два слова X и У полугруппы П
равны в П тогда и только тогда, когда можно указать последо-
вательность элементарных преобразований полугруппы П
X о о У,
переводящую слово X в слово У. .
Для свободной полугруппы с алфавитом (2.1) множество оп-
ределяющих соотношений пусто; два слова равны тогда и толь-
ко тогда, когда они графически совпадают.
Полугруппу (Z, 0) целых чисел относительно сложения
можно задать образующими {—1, 1,0} и определяющими (в ад-’
дитивиой записи) соотношениями:
1 + (-1)=0; (—1)-М=0.
Проблема тождества слов в полугруппе заключается в сле-
дующем: указать алгоритм, который по любым двум словам ус-
танавливал бы, равны они в полугруппе П или нет. Доказано,
что эта проблема алгоритмически неразрешима. Простым при-
мером полугруппы с неразрешимой проблемой тождества слов
104
является* полугруппа с образующими a. b, с, d, е н определяю-
щими соогаошеииями ас—са, ad=da, hc-cb, bd=db, еса—се,
€db=de, сса=ссае.
2.1.2. Группы: определение и примеры
Непустое множество G с одной бинарной алгебраической опера-
цией называется группой, если выполняются следующие усло-
вия:
1) операция в G ассоциативна:
2) в G существует единичный элемент е: еа=ае=а для всех
a&G;
3) для каждого элемента а существует обратный ему эле-
мент а~': аа~1 —аг1а=е.
Иными словами, моноид G, все элементы которого обрати-
мы, называется группой.
Если операция в G коммутативна, то группа называется
коммутативной или абелевой.
Подмножество H^G называется подгруппой в G, если ему
принадлежит единичный элемент е, для любых элементов hi,
h^H выполняется hdis^H, т. е. Н замкнуто относительно опе-
рации, и для любого h^H выполняется Подгруппа
HczG называется собственной, если Н=±е и H^=G.
Пример 2.2.
1. Множество целых чисел образует группу целых чисел от-
носительно операции сложения (Z. -J-, 0). Эта группа комму-
тативна. Аналогично множество рациональных и действитель-
ных чисел образует соответственно группы относительно сло-
жения (Q, 0) и (R, -j-, 0). Подмножество четных чисел обра-
зует подгруппу. Подмножество нечетных чисел не образует под-
группу, так как операция сложения выводит из этого множе-
ства.
2. Множество целых чисел не образует группу относительно
умножения, так как может не существовать обратного элемен-
та. Все отличные от нуля рациональные числа и действительные
числа образуют группы относительно умножения, причем ком-
мутативные. Положительные рациональные и положительные
действительные числа образуют подгруппы этих групп.
3. Пусть X — произвольное множество, S (X) — множество
всех биективных отображений Лг в себя. Тогда S(X)—группа
относительно операции композиции О. Она называется группой
преобразований.
4. Рассмотрим множество квадратных матриц порядка п
с определителем, отличным от нуля. Это некоммутативная груп-
па Е) относительно операции умножения матриц, по-
скольку каждый элемент имеет обратный—обратную матрицу.
Подмножество матриц с определителем, равным 1, образует под-
группу, так как
105
det£'=l: deM = l; detB = l=>detЛВ = 1; det Д ==!=>-
=>det Л-*=1.
5. Множество элементов {хь х2, х31 Хл} относительно опера-
ции, определенной таблицей Кэли (см. табл. 0.1),— группа. Для
элемента х2, например, обратным является элемент х< (см. вве-
дение, разд. 0.4).
6. Рассмотрим множество классов вычетов по модулю п. т. е~
классов эквивалентности по отношению р сравнимости по моду-
лю числа п на множестве целых чисел (apb тогда и только тог-
да, когда ass b (mod я)). Обозначим эти классы через Со,..., Cn_u
где аеСй тогда и только тогда, когда a^fe(modn),
(см. введение, разд. 0.2). Множество классов вычетов образует
группу относительно операции сложения классов, определяемой
по следующему закону: Ck-yCi—Cr, где k-±4=r(mod п). 0^2
^><п, и е=С0, C_,b=Cn_i.. Например, при п=3 эту группу
можно задать таблицей Кэли (см. табл. 2.1).
7. Рассмотрим свободную полугруппу с алфавитом {си, ...г
Ап}. Сопоставим символам а<, .... ап символы flt-1, .... ая~\ Пус-
тое слово обозначим символом 1. Тогда свободной группой с об-
разующими ait ..., ап называется полугруппа с единицей 1. кото-
рая задается определяющими соотношениями а,аг1—1г аг}а^
= 1, t—1,... п.
8. Рассмотрим правильный n-угольнпк с центром в начале;
координат 0. Тогда множество преобразований плоскости, пе-
реводящее многоугольник в себя, образует некоммутативную
группу, называемую группой самосовмещений многоугольника.
Можно показать, что любое такое преобразование есть компо-
зиция вращений вокруг точки 0 и осевых симметрий. Например^
при п—3 группа самосовмещений правильного треугольника со^
стоит из вращений ф0, фь Ф2 против часовой стрелки на угль*'
0,-^ и -—1, которые переводят треугольник в себя, и трех сим;
метрик фь ф2, ф3 относительно осей симметрии S>, S2, $$
(рис. 2.1). Из геометрических соображений понятно, что 4pi3sSS
106
~=e=<pQ, ф2]=е, (<p1ipl)2=e, а элементы <p2, фг, фз выражаются
через <pi и ф>: ф2=ф2ь Ф2—Ф1Ф1» Фз=ф1ф2ь
Если группа состоит из конечного числа элементов, то она
называется конечной, а число ее элементов — порядком группы.
В противном случае группа называется бесконечной.
2.1.3. Циклические группы. Группы подстановок
Пусть G— группа, Н и F— ее подгруппы. Тогда пересечение
_D=H(VF непустое, поскольку оно содержит единичный элемент.
J) также является подгруппой группы G. Действительно, если
элементы а и b принадлежат D, то их произведение и обратные
дм элементы содержатся как в Н, так и в F, и поэтому также
принадлежат D. Аналогично доказывается и следующее утверж-
дение
Теорема 2.1. Пересечение любого множества подгрупп груп-
пы G само является подгруппой этой группы.
Пусть 5 — произвольное непустое подмножество группы G.
Рассмотрим всевозможные подгруппы G, которые содержат 5
в качестве подмножества. Одной из них будет, в частности, са-
ма группа G. В силу теоремы 2.1 пересечение всех таких под-
групп будет подгруппой G, которая называется подгруппой, по-
рожденной множеством S, и обозначается
Если множество S состоит из одного элемента а, то порож-
денная им подгруппа <а>- называется циклической подгруп-
пой, порожденной элементом а.
Обозначим (а-1)к=а-А.
Теорема 2.2. Циклическая подгруппа порожденная
элементом а, состоит из всех степеней элемента а.
Заметим, что все степени элемента а принадлежат подгруппе
<а> и для любого целого k (a-l)~h=ak. С другой стороны/ эти
«гепени сами составляют подгруппу, так как атап=а^+п, а°=е,
а обратным элементу ап является элемент а~п. Действительно,
нетрудно доказать, что для любых целых т п п
а™ап =а™*п‘, (ат)п=атп.
Для натуральных т и п это следует из соотношений (0.1).
Если /л<0, п<0, то
й,лая= (а±1)-т(а_,)—п— (а-1)~('я+п>=ат+п.
Если гл’<0, п>0, то
а^а»= (а-1.„д-|) (а...а) =
—т раз п раз
=f, если п_т =
Ца-1)-^ « если п<—т
•Случай т>0, я>0 аналогичен предыдущему. Доказательство
торого равенства предлагается провести самостоятельно.
107
Группа, совпадающая с одной из своих циклических подгрупп-
(т. е. состоящая из степеней одного из своих элементов), назьь,
вается циклической, а элемент, нз степеней которого состоит
циклическая группа,— ее образующим. Всякая циклическая
группа коммутативна.
Пример 2.3.
1. Группа (Z, 4-, 0)—циклическая. Ее образующий эле-'
мент—число 1. Это бесконечная группа. В качестве ее образу!
ющего можно взять н число —1.
2. Рассмотрим множество квадратны?; матриц второго по!
рядка с целыми элементами и определителем, равным 1. Это
группа относительно операции умножения матриц (покажите
сами). Тогда матрица А = i ] порождает бесконечную цик-
лическую подгруппу, при этом .4'г= [р ।
3. Для группы самосовыегцений правильного п-угольника
(см. пример 2.2. п. 8) подгруппа вращений относительно цент-
ра— ТОЧКИ 0 СОСТОИТ ИЗ ПОЗОСОТОВ На уГЛЫ ф0=гО,
п
Ф,|_]=(п—1) против часовой стрелки. Это циклическая под-
п
группа порядка я, порожденная элементом ф|. Из геометричес-
ких соображений ясно, что <pfi=<pte, ф/"^ф!п-я и ф(п=Фо—еди-
ничное преобразование.
Теорема 2.3. Всякая подгруппа циклической группы сама
циклическая.
Действительно, пусть G~<za>— циклическая группа с об-
разующим элементом а и Н — подгруппа G, отличная от едкнчч-
ной. Предположим, что наименьшая положительная степень эле-
мента а, содержащаяся в Н, есть ah. Тогда Допус-
тим, что в И содержится элемент а1, где -/#=0 и I нс делится иа k.
Тогда, если d — наибольший общий делитель чисел k и •/, суще?
ствуют такие целые числа и и у, что и, следователь-
но, в И должен содержаться элемент (ah)u (al)v=ad. Но тай
как d<Zk, то приходим к противоречию относительно выбора
элемента а*. Следовательно,
Пусть G — произвольная группа, а—некоторый ее элемент.
Если все степени элемента а различны, то говорят, что элемент
а имеет бесконечный порядок. Если для некоторых т и л, где
п’п=«п, то fl1™-"' =е, т. е. существуют положительные'
степени элемента а, равные единичному элементу. Пусть q—’
наименьшее положительное число, для которого а9==е. Тогда
говорят, что а — элемент конечного порядка q.
Рассмотрим еще один важный класс групп.
Пусть X — конечное множество из п элементов. Группа всех
биекций множества X в себя называется симметрической груп-
пой степени п. Без ограничения общности можно считать, что.
множество X состоит из элементов {1, 2,..., п}. Каждая биекций
108
tp:X-*-X называется подстановкой и записывается символом
(/ ь П(п )’ где ПОд элементом записан его образ
ф(А)=й- Произведением подстановок является композиция ото-
бражений (<рф) (^)=ф,(’|)(^)). Например, для подстановок <р=
и5=(23®1) имеем фф= ( 1 2 3 4 в т0
же время фф= ( 1 4 3 2 )* так что фф^фф- Единичную (тож-
дественную) подстановку обозначаем е— ( if'”)’ Симметри-
ческая группа степени п обозначается Sn и содержит п! элемен-
тов.
Пример 2.4. Группа S3 состоит из следующих шести элемен-
тов:
G!?H= U?!b=
(Ш)-
Для подстановки л— (} ? ? 2 £) имеем
\ 1 1 О и 4 /
-1-/123 4 5) /! 2 3 4 5)„/>
'1 11 5 3 2 4)’ 11 2 3 4 5]
Тогда л (2) =4, л2 (2) =5, л" (2) =2.
В подстановке л элементы 1 и 3 остаются на месте, элемент
2 переходит в 4. элемент 4 — в 5, а элемент 5 — снова в 2. Та-
кая подстановка называется циклом (245) длины 3. Этот же
цикл можно записать и так: (452), (524).
В общем случае подстановка л, перемещающая элементы ji,
/2,.... jk так, что л (ji) =/2,.... л (/л-i) =/&, л (/л) =/i (т. е. лл(/1) =
=/ь где k — наименьшее число, обладающее этим свойством), и
оставляющая на месте остальные элементы, называется циклом
длины k и обозначается (/'», ...» /л). Циклы называются незави-
симыми, если любые два из них не имеют общих переставляе-
мых элементов.
Теорема 2.4. Каждая подстановка в Sn является произведе-
нием независимых циклов. Разложение подстановки в произве-
дение циклов длины ^2 определено однозначно с точностью до
порядка циклов.
Два элемента i и / множества X называются эквивалентны-
ми относительно подстановки л, если j=ns(i) для некоторого
Целого числа s. Введенное отношение есть отношение эквива-
лентности на множестве X. Оно разбивает множество .¥ на клас-
сы эквивалентности по этому отношению: X=zYiU-Yilj...|JArp.
Каждый элемент iaX принадлежит одному и только одному
классу Xt, причем множество Xt состоит из образов элемента i
при действии степеней подстановки n:Xf = {i, n(i), л2(:), ....
1 (jjj где — количество элементов в X/. Множества Х<
часто называют л-орбитами. В каждом классе эквивалентности
109
Хг выберем no одному представителю ir и поставим ему в соот-
ветствие цикл лг='(1г, зт(ir),...» 1 (ir)) соответствующей дли-
ны kr. Любой элемент, не принадлежащий Хг, остается на месте
при действии степеней Тогда подстановка л есть произведе-
ние циклов
Я=Л1Я2...ЯГ. (2.3)
Замечание 2.1. Если цикл лг=(г7) имеет длину 1, то он дей-
ствует как тождественная подстановка. Такие циклы в записи
(2.3) можно опускать, например:
(I 1 8 7 6 1 4 з) = <156) (38) (47) (2) = (!56) (38) (47).
Докажем единственность. Пусть
л—ai<i2-..ar (2.4)
есть разложение, отличное от (2.3); i—символ, не остающийся
на месте при действии подстановки л. Тогда для одного и толь-
ко одного цикла л5 из разложения (2.3) cis(i)^i и для одного
и только одного цикла из разложения (2.4) ai(i)^i. Для каж-
дого fe=0, 1, 2, ... имеем Л(0 =-'th (0 =аМ0- Поскольку цикл
однозначно определяется действием подстановки на символ г,
не остающийся на месте, то л«=а/. Аналогично доказываются
совпадения и остальных циклов разложений (2.3) и (2.4).
Цикл длины 2 называется транспозицией. Любой цикл мож-
но записать в виде произведения транспозиций, например:
(1 2...Z—1 0 = (1 t) (1 t—1)...(1 3) (1 2).
Тогда из теоремы 2.4 вытекает
Следствие. Каждая подстановка в Sn является произведением
транспозиций.
Пример 2.5. В группе (123) = (13) (12) = (23) (13) =
— (13) (24) (12) (14).
Разложение в произведение транспозиций не является един-
ственным.
Можно доказать, что если зт—ti ... ть — разложение л в
произведение транспозиций, то число ея=(—l)h, называемое
четностью подстановки л, не зависит от способа разложения и
(2.5)
для любых двух подстановок л и ст.
Подстановка называется четной, если Еп —1, и нечет-
ной, если е-=—1. Все транспозиции — нечетные подстановки.:
Множество четных подстановок степени п образует подгруп-:
пу Ап, которая называется знакопеременной. Действительно,
согласно (2.5) е. _~1, если ея=еа=1, и ея-1=е_, поскольку
Ге=1. Множество нечетных подстановок не образует группу,
так как произведение двух нечетных подстановок есть четная
подстановка.
ПО
2.1.4. Изоморфизм групп
Группы G и Н называются изоморфными, если существует би-
екция <р: G-+H, сохраняющая групповую операцию, т. е.
ф(£1£2)==ф(£1)<р(£2) для любых g2t=G. (2.6)
Группа самосовмещеннй правильного треугольника (см. при-
мер 2.2, п. 8) изоморфна симметрической группе S3. Действи-
тельно, группа самосовмещеннй состоит из трех вращений фс,
<pi, ф? против часовой стрелки па углы 0,-—и и трех сим-
метрий фь фг. Фз относительно осей симметрии (см. рис. 2.1).
Если перенумеровать множество вершин, то каждому из этих
преобразований будет соответствовать подстановка на множе-
стве {1, 2, 3}:
(И1)-
(Hi)-*- G'ifh
Это соответствие есть биекция, причем из геометрических сооб-
ражений вытекаег справедливость условия (2.6), т. е. группо-
вая операция сохраняется.
Группа классов вычетов по модулю 3 изоморфна цикличес-
кой группе порядка 3, порожденной элементом а, что следует
из таблицы Кэли (см. табл. 2.1).
Мультипликативная группа положительных действительных
чисел изоморфна аддитивной группе всех действительных чисел.
Биекция ф(а)~1па устанавливает изоморфизм, что следует пз
равенства
In (ab) =ln a^-ln b.
Докажем некоторые свойства изоморфизма:
1. Единичный элемент переходит в единичный.
Поскольку для любого g^G ф(е)ф(&) =ф(<£) ==ф(Я) =
==ф(#е)=ф(£)ф(*)> то ф(е)=е'—единичный элемент груп-
пы И.
2. Обратный элемент переходит в обратный: ф(£-1) =ф(£)_|.
Действительно, ф (б')ф(^Г1) =Ф (££“*) =Ф (<?) =е'> /аналогич-
нОф(£-,)ф(£)=е', откуда Ф^г)"1^^1)-
3. Обратное отображение ф-1: H-+G (существующее в силу
того, что ф—биекция) также является изоморфизмом.
Пусть Ль h^H. Покажем, что ф-1 (ftib2)—ф-1 (Л1)ф_,(М-
Пусть gi и g2— элементы G такие, что ф(£1)=Л1, ^{g2)—h2t
Тогда ф(£1£2)=ф(Я1)ф(Я2)=Л1Л2 и, следовательно, g\g2=
или ф_1(А1)ф~1 (Л2) =ФЧ(AiA2).
Теорема 2.5. Все циклические группы одного порядка изо-
норфны.
111
Действительно, если G = <g> —бесконечная группа, то все1
степени g™ различны и G изоморфна аддитивной группе целых,
чисел <Z, 0>, поскольку биекция <p (g™) =т удовлетворяет1
условию (2.6). Пусть теперь G— конечная группа порядка q.
Тогда она изоморфна группе классов вычетов по модулю q (сад.
пример 2.2, н. 6). Биекция ср переводит элемент g™ в класс Cmt
т—0. 1. q—1. Полагая m-}-n=lq+r, 0^r<q, для любых т
и п имеем
ф(^+н)=ф(Яг)=С=Ст+Сп=ф(^)+ф(^п)
Разумеется, группы одного порядка могут не быть изоморф-
ными. Например, можно показать, что существуют ровно две
изоморфные группы четвертого порядка: циклическая группа чет-'
вертого порядка Z4 = <a>- и так называемая четвертная груп-
па Клейна с таблицами Кэли (см. соответственно табл. 2.2а
п 2.26).
Таблица 22а
' i 1 а 1 Ъ с
е е а Ъ с
а с b с е
Ь Ь с е а
с с е а b
д~с-, с=а3
Оказывается, что с точностью до изоморфизма симметриче-
ские группы описывают все конечные группы.
Теорема 2.6 (теорема Кэли). Всякая конечная группа по-
рядка п изоморфна некоторой подгруппе симметрической груп-
пы S-..
Пусть G — исходная группа порядка n, gi=e, g2, .... gn—ее
элементы. Sn — симметрическая группа порядка п, которую
можно считать группой всех биекций множества G в себя, так;
как природа элементов, составляющих отображаемое множест-
во, несущественна.
Для любого элемента a^G рассмотрим отображение La: G-*
-»-G, состоящее в умножении всех элементов из G слева на а-
La(g<) =agi.
112
Тогда д, ag2...agn— различные элементы группы G, так как
ag>=ag^a-1 (agi) =an(ag}) => (a~^a)gi= (a-'ajg^gi^gj, к,
следовательно, снова составляют всю группу G, отличаясь от
gi, gif —» gn лишь расположением элементов. Значит, La — биек-
тивное отображение (подстановка); обратным ему будет ото-
бражение La-1=LC^<, а единичным отображением является Le.
Вследствие ассоциативности умножения в G имеем
^аъ(g) = (ab)g=a (bg) =La (Lb (g)).
Отсюда следует, что множество #={Le, I,,» Lgn} образует
подгруппу в группе всех биективных отображений множества G
в себя, т. е. в Sn. Тогда отображение ср: G~>HczSn такое, что
<г(а)=£в для любого aczG есть изоморфизм, поскольку
<Р (дЛ) =Lab = LaLtb=<f>ctyi>'
2.1.5. Смежные классы по подгруппе.
Нормальные делители. Фактор-группы
Пусть Я—подгруппа группы G. Левым смежным классом G
по И называется множество gH всех элементов вида gh. где
g— фиксированный элемент из G. a h пробегает зсе элементы
подгруппы Н. т. е.
gH=.{gh\hi=H}.
Правый смежный класс определяется аналогично:
. ЗамеГ'.м. что одним из смежных классов являезся сама под-
группа И:
Н~Не~еН.
Теорема 2.7. Два левых смежных класса G no Н либо не Пе-
ресе каю сел. либо совпадают, и множество левых смежных,клас-
сов образует разбиение G.
Действительно, пусть классы gji и g2H имеют общий эле-
мент a—g hi=g2h2. Тогда g2=g\h\h2~x, и любой элемент gji
класса. g-Дл имеет вид gihih2-lh, где h\h2~'h^H. Значит. g?H=
^giH. Аналогично доказывается, что g\H^=g2H, и. следователь-
но, эти кл?ссы совпадают.
Так шк: любой элемент g^G содержится в смежном классе
gH, то множество левых смежных классов образует разбиение
G: G=Ug Н.
Поскольку каждое разбиение порождает отношение эквива-
лентности. то нз теоремы 2.7 вытекает
Следствие. Отношение принадлежности к одному левому
смежному классу есть отношение эквивалентности.
Два элемента gi, gz^G лежат в одном левом смежном классе
G по И тогда п только тогда, когда g2~'gi^H. Действительно,
8-1529 ИЗ
пусть gif=gH, gtf=gH. Тогда gi=ghu gz=gh2=>g2 'g1=:
Если gi-'-gt^H, to gi^gzlgz-'gij^giH. Отсюда согласно
следствию из теоремы 2.7 соотношение хру-^у-'-х^Н задает от-
ношение эквивалентности на G.
Множество левых смежных классов G по Н обозначается
GjH. Это есть множество классов эквивалентности по отноше-
нию р, т. е. фактор-множество G/p. Мощность множества G//7
называется индексом подгруппы fl в группе G.
Аналогичные утверждения выполняются и для правых смеж-
ных классов.
Одной из важных теорем теории групп является
Теорема 2.8. (теорема Лагранжа). Порядок конечной груп-
пы делится на порядок каждой своей подгруппы.
Пусть порядок группы G равен п, иорядок подгруппы Я ра-
вен k. Из теоремы 2.7 вытекает, что G есть объединение непере-
секающихся левых смежных классов G по Я. Пусть j — число ле-
вых смежных классов, т. е. индекс подгруппы Я. Тогда n=kj.
Множество левых и правых смежных классов группы по од-
ной и той же подгруппе, вообще говоря, различно. Пусть <S3 —
симметрическая группа порядка 3, Я— подгруппа, порожден-
ная элементом (12), Н=< (12) >. Тогда разбивается на сле-
дующие левые смежные классы по Я: {е, (12)}, {(13), (123)}/
{(23), (132)} и следующие правые смежные классы по Я: {е,
(12)}. {(13). (132)}, {(23), (123)}.
Подгруппа Я называется нормальным делителем группы G,
если множество левых смежных классов G по Я совпадает с
множеством правых смежных классов. Это означает, что для
всякого элемента g^G gff=Hg, т. е. для всякого элемента geG
и для всякого элемента h^H можно подобрать такие элементы
h', h"^Ht что gh=h'g и hg=gh".
Очевидно, что если G — коммутативная группа, то любая ее
подгруппа является нормальным делителем G.
Под произведением двух подмножеств А и В группы G при-
нято понимать множество всех элементов группы G вида ab>
где а^А, Ь^В. Тогда, если Я — нормальный делитель, произ-
ведение двух смежных классов является смежным классом, т. е.
giHg2H=gig2H в силу ассоциативности и равенства g2H=Hg2.
Таким образом, во множестве смежных классов группы G по
нормальному делителю Я определена операция умножения. Для
того чтобы найти произведение двух смежных классов, надо
произвольным образом выбрать в них по одному представителю
(каждый смежный класс порождается любым своим элементом)
и взять тот смежный класс, в котором лежит произведение этих
представителей.
Если Я — нормальный делитель G, то фактор-множество G/Я,
т. е. множество смежных классов G по Я, является группой, ко-
торая называется фактор-группой.
И4
Действительно. введенная выше операция умножения смеж-
ных классов ассоциативна, роль единицы играет сама подгруп-
па Н: gHH=HgH=gH; для смежного класса gH обратным
будет смежный класс g~xH, так как gHg~lH=eH=H.
Пример 2.6.
1. Пусть G=(Z, +. 0)—аддитивная группа целых чисел,
J7 — подгруппа чисел, кратных л. Тогда G/H— циклическая
группа порядка п. Она изоморфна группе классов вычетов по
модулю числа п (см. пример 2.2, п. 6).
2. В симметрической группе Sn знакопеременная подгруппа
Лп является нормальным делителем, фактор-группа SnfAn —
циклическая группа порядка 2.
Заметим, что фактор-группа G/Н абелевой группы — абеле-
ва: giH-gzH—gigzH^gzg'H—gzH'giH. Фактор-группа цикли-
ческой группы — циклическая. Действительно, пусть G — <Za>t
gH — смежный класс. Тогда для некоторого k имеем g=ah и
(all)*
Задачи и упражнения
1. Доказать, что ({0, 1), &) и ({0, I), ~)— моноиды. Ука-
зать единичные элементы.
2. Доказать, что (Z, >j<), где х^у=ху-\-х+у — моноид. Найти
все обратимые элементы.
3. Написать таблицу Кэли и выяснить, являются ли группой:
а) вращения квадрата; б) симметрии квадрата; в) симметрии
ромба; г) симметрии прямоугольника.
4. Пусть а и b — произвольные элементы группы G. Дока-
зать, что каждое из уравнений ах='Ь и уа=Ь имеет и притом
единственное решение в данной группе.
5. Пусть аа=с для любого элемента а группы G. Доказать,
что G коммутативна.
6. Доказать, что любая группа порядка 3 является коммута-
тивной.
7. Пусть а — элемент конечного порядка q. Тогда порядок
циклической подгруппы равен q.
8. Разложить подстановки
(12345678 \ (1 2 3 4 5 6 7 \
^3 2 4 7 5 6 1 8 Г \7 6 2 1 4 3 5 /
в произведение независимых циклов.
9. Найти порядок подгруппы, порожденной подстановкой
(1 2 3 4 51
\2 3 4 5 I J
10. Пусть Н— множество подстановок группы S-j. Будет ли
оно подгруппой в следующих случаях:
«й /( I 2 3 4 \ (1 2 3 4 \ (1 2 3 4 \ (1 2 3 4 П-
U I 2 3 4 \2 1 4 3 ,Нз 4 I 2 J’ 1.4 3 2 1 Д’
115
6»-=йИ?1). (Utn- )• (1Ш)Р
il. Описать все подгруппы симметрической группы S?,.
12. Найти все (с точностью до изоморфизма) группы, содер-
Жишне два и три элемента.
13. Какие из следующих групп изоморфны: а) группа вра-
щений квадрата; б) группа самосовмещеннй ромба; в) группа
самосовмещеннй прямоугольника; г) группа классов вычетов по
модулю 4?
14. Описывая самосовмещения следующих геометрических
фигур подстановками па множестве вершин, указать:
aj группу вращений тетраэдра;
6) подгруппы этой группы, изоморфные циклической группе
второго и третьего порядка;
в) группу вращений куба.
• 15. Доказать, что пересечение нормальных делителей есть
нормальный делитель.
16. Доказать, что любая подгруппа индекса 2 есть нормаль-
ный делитель.
17. Определить множество правых и левых смежных клас-
сов симметрической группы S3 по // = <(132)>. Доказать, что
Д — нормальный делитель.
18. Доказать, что множество Z всех элементов группы 6\
каждый из которых перестановочен со всеми элементами’этой
группы, является нормальным делителем (центр группы G).
19. Доказать, что группа Клейна V4 есть нормальный дели-
тель симметрической группы S4.
2.2. КОЛЬЦА И ПОЛЯ
Ознакомимся еще с двумя важнейшими понятиями алгебры—.
кольцом л полем.
2.2.1. Кольца: определение, свойства, примеры
Непустое множество К, на котором заданы две бинарные опе-
рации— сложение (+) н умножение (•), удовлетворяющие ус-
ловиям:
1) относительно операции сложения /\— коммутативная
группа;
2) относительно операции умножения К — полугруппа;
3) операции сложения и умножения связаны законом дист-
рибутивности. т. е. (а-{-Ь)с=ас+Ьс, с=са+сЬ для всех
с, о. геК. называется кольцом (К, +, •).
Структура (К, +) называется аддитивной группой кольца.^
Если операция умножения коммутативна, т. е. ab='bct jsjm всех
а, Ь^К, то кольцо называется коммутативным.
1)6-
Если относительно операции умножения существует единич-
ный элемент, который в кольце принято обозначать единицей 1,
то говорят, что К есть кольцо с единицей.
Подмножество L кольца называется подкольцом, если L —
подгруппа аддитивной группы кольца и L замкнуто относитель-
но операции умножения, т. е. для всех а, Ь<=1, выполняется
a—b^L и abcL.
Пересечение подколец будет подкольцом. Тогда, как н в слу-
чае групп, подкольцом, порожденным множеством Sc К, назы-
вается пересечение всех подколец К. содержащих S.
Пример 2.7.
1. Множество целых чисел относительно операции умноже-
ния и сложения (Z, •)—коммутативное кольцо .Множество
nZ целых чисел, делящихся на л, будет подкольцом без едини-
цы при л>1.
Аналогично множество рациональных и действительных чи-
сел— коммутативные кольца с единицей.
2. Множество квадратных матриц порядка п относительно'
операций сложения и умножения матриц есть кольцо с единицей-
Е — единичной матрицей. При л>1 оно некоммутативное.
3. Пусгь К—произвольное коммутативное кольцо- Рассмот-
рим всевозможные многочлены
По-Ьа«х-|-а;2Х2-р...-|-акл'я, л^О,
с переменной х и коэффициентами а0, Ль аг,...» ап нз К. Относи-
тельно алгебраических операций сложения и умножения много-
членов— это коммутативное кольцо. Оно называется кольцом
многочленов К[х] от переменной х над кольцом К (например,
над кольцом целых, рациональных, действительных чисел}. Ана-
логично определяется кольцо многочленов К[*ь ..., лч] от
переменных как кольцо многочленов от одной переменнее х,г.
над кольцом jK[xi, ..., x,n-i]-
4. Пусгь X — произвольное множество, К — провзво тъное
кольцо. Рассмотрим множесгво всех функций f:X-+K. опреде-
ленных на множестве X со значениями в К- Определим сумму
п произведение функций, как обычно, равенствами
(f+Я) {x)=f(x)+g(xy, (fg)(x)^f(x)g(x),
где и — операции в кольце К-
Нетрудно проверить, что все условия, входящие в определе-
ние кольца, выполняются, и построенное кольцо будет ксуму-
тативпым, если коммутативно исходное кольцо К. Оно назы-
вается кольцом функций па множестве X со значениями г кель-
не К.
5. Рассмотрим множество Со, G.Сп^ классов вычетов
модулю п (см. пример 2.2, п. 6). Оно образует коммутативную
группу относительно операция сложения:
CA-f-Ct=Cr, где fe4-Z=r (mod л), 0^г<л.
П7
Определим операцию умножения классов вычетов:
CftG=Cr, где kl=r (mod л), 0^г<«-
Так как эти операции сводятся к соответствующим операци-
ям над числами из классов вычетов, то множество классов вы-
четов также есть коммутативное кольцо с единицей G, которое
обозначается Zn. Это важный пример кольца, состоящего из ко-
нечного числа элементов.
Приведем таблицы сложения и умножения в Z» (см. соответ-
ственно табл. 2.3а и 2.36).
Таблица 2 За Таблица 2.36
+ Со Ct Са Сз Со Ct Сг Сз
См Со с, Сг Сз С, Со Со Со Со
Ct Ct Сг С3 Со Ct Со Ct Сг Сз
Са- С2 с3 Со Ci Сг Со Сг Со Сг
Ся С3 Со Ct Сг Сз Со с. Сг С,
Многие свойства колец — это переформулированные соответ-
ствующие свойства групп и полугрупп, например: а™ап=ат±п, • -
(Gm)rt_cmn дЛЯ всех ne-N И ВСех
Другие специфические свойства колец моделируют свойства
'чисел:
I) Л-“я всех а^К о-0=0-п=0;
2) (—а)Ь=а(—Ь)——(ab);
3) — а=(— 1)а.
Действительно:
I) а4-0=а => а(а4-0)=аа => а24-а-0 — а2 => а?4-а-0=а2+
+ 0=>а-0=0 (аналогично 0«а=0);
2) 0=а-0—а (Ь—b)=ab+a(—Ь)=^а (—Ъ)——(ab) (анало-
гично (—а) 6=—(«б));
3) используя второе свойство, имеем
—(—а) 1 =а (—1) = (—1 )а.
'2.2.2. Поле
В кольцах целых, рациональных н действительных чисел из то-
го. что произведение а&=0, следует, что либо а=0, либо 6=0.
•Но в кольце квадратных матриц порядка л>1 это свойство уже
не выполняется, так как, например, [J g ] [оо] = [оо]”
а 18
Если в кольце К ab=0 при а^О, Ь=/=0, то а называется ле-
вым. а b — правым делителем нуля. Если в К нет делителей ну-
ля (кроме элемента 0, который является тривиальным делите-
лем нуля), то К называется кольцом без делителей нуля.
Пример 2.8.
1. В кольце функций f: R-*-R на множестве действительных,
чисел R рассмотрим функции fi(x) = |х|-|-х; (х) = |'х|—х. Для
них fi(x)=O при л=С0 и f2(x)_-О при х2>0, а поэтому произве-
дение fi (x)h(x) —нулевая функция, хотя fi(x)^O и /2(х)^0.
Следовательно, в этом кольце есть делители нуля.
2. Рассмотрим множество иар целых чисел (а, Ь), в котором
заданы операции сложения и умножения:
(^(, = (Ci-J-Co, ^l"4“^2)j
(Qi, bi) (а2, b2) = (aia2t bibz).
Это множество образует коммутативное кольцо с единицей;.
(1,1) и делителями нуля, так как (1,0) (0,1) = (0,0).
3. В кольце элемент Ci — делитель нуля (см. табл. 2.3а).
Если в кольце нет делителей нуля, то в нем выполняется за-
кон сокращения, т. е. ab=ac, а^0=^Ь=с. Действительно, ab—
—ac=Q=>a(b—с) —0=> (Ь—с) —0=>Ь=с.
Пусть К — кольцо с единицей. Элемент а называется обра-
тимым, если существует такой элемент а-1, для которого аа~' =
=0-^ = 1.
Обратимый элемент не может быть делителем нуля, так как.
если аЬ=О. то a"1 (ab)— O=$-(a~la)b=Q=>lb = 0=^=0 (анало-
гично Ьа=О=^Ь— 0).
Теорема 2.9. Все обратимые элементы кольца К с единицей
образуют группу относительно умножения.
Действительно, умножение в К ассоциативно, единица со-
держится во множестве обратимых элементов н произведение-
ие выводит нз множества обратимых элементов, так как если
а п b обратимы, то (ab)~l=b~'a~l.
Важную алгебраическую структуру образуют коммутатив-
ные кольца /\, в которых каждый ненулевой элемент обратим,,
т. е. относительно операции умножения множество Д\{0} обра-
зует группу. В таких кольцах определены три операции: сложе-
ние, умножение и деление.
Коммутативное кольцо Р с единицей 1#=0, в котором каждый
ненулевой элемент обратим, называется полем.
Относительно умножения все отличные от нуля элементы по-
ля образуют группу, которая называется мультипликативной
группой поля.
Произведение ah-1 записывается в виде дроби -j- и имеет
смысл лишь при Ь=/=0. Элемент — является единственным ре-
ь
шенпем уравнения bx=a. Действия с дробями подчиняются
привычным для нас правилам:-
— = —-ФФ-аа=Ьс, b, d=/=0; — + — = b, d=/=0;
id b d bd
= = b> d=/=0;
b b —t b d bd
f—Г’=—, a, b^Q.
\b } ft
Докажем, например, второе из них. Пусть х=-^~ и У=~ —
b d
решения уравнений bx=a. dy=c. Из этих уравнений следует
dbx=dat bdy=bc=>bd (x^j-y) =da-}-bc=^~t= da+bc — единствен*
bd
ное решение уравнения bdt=da+bc.
Пример 2.9.
1. Кольцо целых чисел не образует поля. Полем является
множество рациональных и множество действительных чисел.
2. Рассмотрим кольцо классов вычетов Zn (см. пример 2.7,
п. 5). Покажем, что Zn является полем тогда и только тогда,
когда п—р — простое число. Если п=р— простое число, то Zp—
множество из р элементов Со, С.... Докажем, что любой
элемент Cs, кроме Со, обратим. Числа sup взаимно просты.
Следовательно, существуют такие целые числа I и -т, что имеет
место равенство s/4-jwn=l, причем / можно выбрать так, что
1^/<р. Отсюда следует, что в кольце вычетов Zp выполняется
C5Cr=Ci, т. е. Ct — элемент, обратный С3. Если п — составное
-число (л=st), то CsCf=Co. Следовательно, Cs — делитель нуля
п Zb —не поле.
Поле вычетов Zp — это пример поля, состоящего из конеч-
ного числа элементов. Следовательно, существуют конечные
поля.
Рассмотрим теперь аддитивную группу поля (Р, +). Единич-
ный элемент поля 1 есть элемент этой группы. Рассмотрим под-
группу, порожденную 1. Она состоит из всех кратных I:
л1 = !+...+ !, (—лЬ1=—(n-l)=n(—1); 0-1=0.
Так как 1^0, то ее порядок не меньше двух.
Характеристикой поля Р называется число, равное 0, если
элемент 1 порождает подгруппу бесконечного порядка, н поряд-
ку р этой подгруппы, если он конечен.
Покажем, что если характеристика поля Р не равна 0, то
р— простое число. Действительно, пусть р— составное число
(п=а-Ь). По определению. р!=0. Тогда (ab)l = (al) (hl) =0.
Но в поле нет делителей нуля. Следовательно, а 1=0 или М=0.
Но эго противоречит тому, что р — порядок подгруппы, порож-
денной 1. '
120
Понятие характеристики есть одно из важных структурных
понятий поля.
Задачи и упражнения
1. Пусть Р(Х)—множество всех подмножеств множества X
с операциями
Л4-В=(ЛиВ)\(ЛПВ), ЛВ==ЛПВ, А, В<=Х.
Доказать, что оно является кольцом с единицей, все элемен-
ты аддитивной группы которого имеют порядок 2.
2. Доказать, что матрицы вида ] с действительными
а п b образуют кольцо относительно обычных операций сложе-
ния и умножения матриц.
3- Будут ли следующие множества подкольцами указанных
колец:
а) множество Z целых чисел в кольце Z[x] целочисленных
многочленов;
б) множество nZ[x] многочленов, коэффициенты которых
кратны числу в кольце 7[х] целочисленных многочленов;
в) множество Z целых чисел в кольце А целых гауссовых
чисел, т. е. чисел вида а-]~Ы с целыми я. 6?
4. Образуют лн поле относительно сложения и умножения
чисел:
а) комплексные числа;
б) комплексные числа вида a-j-bi с целыми а и /?;
в) комплексные числа вида а-^-Ы с рациональными а и Ь?
5. Образует лн поле множество матриц вида * J:
а) с рациональными а, Ь;
б) с действительными а, Ь?
2.3. ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ
В теории передачи информации чрезвычайно важным является
решение проблемы кодирования и декодирования, обеспечиваю-
щее надежную передачу по каналам связи с «шумом».
Передача информации сводится к передаче по некоторому
каналу связи символов некоторого алфавита. Однако в реаль-
ных ситуациях сигналы при передаче практически всегда могут
искажаться, н переданный символ будет восприниматься непра-
вильно. Например, в системе ЭВМ— ЭВМ одна из вычислитель-
ных машин может быть связана с другой через спутник. Канал
связи в этом случае физически реализуется электромагнитным
полем между поверхностью Земли и спутником. Электромагнит-
ные сигналы, накладываясь на внешнее поле, могут исказиться
и ослабиться. Для обеспечения надежности передачи информа-
121
ции в таких системах разработаны эффективные методы, ис-
пользующие коды различных типов.
Рассмотрим одну из таких моделей, связанную с групповы-
ми кодами.
Алфавит, в котором записываются сообщения, считаем со-
стоящим из двух символов {0, 1}. Он называется двоичным ал-
фавитом. Тогда сообщение есть конечная последовательность
символов этого алфавита. Сообщение, подлежащее передаче, ко-
дируется по определенной схеме более длинной последователь-
ностью символов в алфавите {0, 1}. Эта последовательность на-
зывается кодом или кодовым словом. При приеме можно исправ-
лять или распознавать ошибки, возникшие при передаче по ка-
налу связи, анализируя информацию, содержащуюся в допол-
.нительных символах. Принятая последовательность символов
.декодируется по определенной схеме в сообщение, с большой
вероятностью совпадающее с переданным.
Блочный двоичный (ni, п)-код определяется двумя функция-
ми: Е. {О, 1}т->-{0, 1}” и D : {О, 1}л-ь{0, 1}™, где т^п и
.{О, I}” — множество всех двоичных последовательностей длины
.п. Функция Е определяет схему кодирования, а функция D —
схему декодирования. Математическую модель системы связи
можно представить в виде схемы
Здесь Т — «функция ошибок»; Е и D выбираются таким обра-
зом, чтобы композиция DOTOE была функцией, с большой ве-
роятностью близкой к тождественной. Двоичный (/и, п)-код со-
держит 2”1 кодовых слов.
Коды делятся на два больших класса: коды с обнаружением
ошибок, которые с большой вероятностью определяют наличие
ошибки в принятом сообщении, и коды с исправлением ошибок,
которые с большой вероятностью могут восстановить посланное
сообщение.
Пример 2.10.
1. Код с проверкой четности. Это пример простою кода, с
'большой вероятностью указывающего на наличие ошибки.
Пусть a=ai...am — сообщение длины т.
Схема кодирования определяется таким образом:
Е(а) =6 = 6, ...
где Ь< = а,- при i = I.m;
fcmH —
0, если S bii — четное число;
м
I, если £ bi — нечетное число.
122
Схема декодирования определяется таким образом?
D(b)=c—Ci...cm,
где Ci=bi при i=l, .... т.
Например, при т = 2 £(00) = ООО. Е(01) =011, Е(Г0)'= 101, £(!!)=-
= 110. Очевидно, подразрядная сумма любой кодированной последователь-
т+1
иости X bi должна быть четной, т. е. й1 + ... + &тт1 s 0(mod2). Есл»1
i=l
m+i
S bi нечетная, то это означает, что при передаче сообщения произошла
' ж+1
ошибка. Однако, если 2 h, четная, то это еще ие означает, что ошибки
i = *
не было. Поразрядная с^мма остается четной при двух ошибках и вообще
люб^м четном их числе.
2. Код с тройным повторением. Это пример весьма неэко-
номного кода с исправлением ошибок.
Схема кодирования, т. е. функция Я, определяется таким об-
разом: каждое сообщение разбивается на блоки длины т и
каждый блок передается трижды. Схема декодирования, т. е.
функция D, определяется следующим образом: принятое сооб-
щение разбивается на блоки длины 3m и в каждом блоке из
трех символов bit bi+m, bi+2m, принимающих значение 0 или 1,
выбирается тот, который встретился большее число раз (два
или три раза). Этот символ считается i-m символом в декоди-
рованном сообщении.
Можно определить также (1, г)-код с r-кратньтм повторени-
ем, в котором каждый символ 0 или I кодируется последова-
тельностью из г таких символов. Множество кодовых слов со-
стоит из двух слов: 00...0 н II...I. При декодировании решение
г раз г раз
принимается «большинством голосов», т. е. переданным счита-
ется символ, встречающийся большее число раз. При больших
г мы практически обезопасим себя от ошибок, однако передача
сообщений будет идти чрезвычайно медленно.
2.3.1, Расстояние Хемминга
На множестве двоичных слов длины т расстоянием d (а, Ь)
между словами а и Ь называют число несовпадающих позиций
этих слов, например: расстояние между словами а=0Н01 и
£=00111 равно 2.
Определенное таким образом понятие называется расстояни-
ем Хемминга; Оно удовлетворяет следующим аксиомам расстоя-
ний:
I) d(a, Ь)>0 и d(a, Ь)=0 тогда и только тогда, когда
123:
2) d(a, b)=d(b, a);
3) d(a, b)-}-d(b, c)^d(a, с) (неравенствотреугольника).
Весом w(a) слова а называют число единиц среди его коор-
.дпнзт. Тогда расстояние между словами а и b есть вес их суммы
a-~b: d(a, b)=w(a-^-b), где символом 4- обозначена операция
покоординатного сложения по модулю 2.
Интуитивно понятно, что код тем лучше приспособлен к об’
наружению и исправлению ошибок, чем больше различаются ко-
довые слова. Понятие расстояния Хемминга позволяет это уточ-
нить.
Теорема 2.10. Для того чтобы код позволял обнаруживать
ошибки в k (или менее) позициях, необходимо и достаточно, что-
бы наименьшее расстояние между кодовыми словами было
Доказательство этой теоремы , аналогично доказательству
следующего утверждения.
Теорема 2.11. Для того чтобы код позволял исправлять все
ошибки в k (или менее) позициях, необходимо и достаточно,
чтэбы наименьшее расстояние между кодовыми словами было
Действительно, если наименьшее расстояние между кодовы-
ми словами ^2^4-1, то для любых кодовых слов а и b имс-
-е:м d(a, b)^2A?4~l. Пусть при передаче некоторого слова а
произошло r^k ошибок, в результате чего было цринято слово
с. Тогда d(a, c)~r^k. Из неравенства треугольника (аксиомы
3) следует, что d(a, c)4-d(c, b)^d(a, Ь)^2й-Н- Отсюда рас-
стояние d (с, Ь) от слова с до любого другого кодового слова b
больше k. Значит, для декодирования посланного слова надо
нзпти кодовое слово а, ближайшее к принятому слову с в смыс-
ле расстояния Хемминга.
Если наименьшее расстояние между кодовыми словами мень-
ше, чем 2*4-1, то найдутся такие два кодовых слова а и bt
расстояние между которыми будет d(a, b)^2k. Тогда, если в
кодовом слове а будет k ошибок, принятое слово с находится
от другого кодового слова b на расстоянии, нс большем, чем от
а. Поэтому нельзя определить, какое из слов (а или Ь) было
передано.
В математической модели кодирования и декодирования
удобно рассматривать строки ошибок. Данное сообщение
—ata2...am кодируется кодовым словом b~bd>2...bn. При пере-
даче канал связи добавляет к нему строку ошибок е—е\е2...еп,
так что приемник принимает сигнал c—CiCo....cn, где cf=^4-ei.
Система, исправляющая ошибки, переводит слово С[С2—сп в бли-
жайшее кодовое слово Ъ\Ь2—Ьп. Система, обнаруживающая ошиб-
ки, только устанавливает, является ли принятое слово кодовым
или нет. Последнее означает, что при передаче произошла
ошибка.
124
Пример 2.11.
1. Рассмотрим (2, 3)-код с проверкой четности. Тзгта (см.
пример 2.10, п. 1) множество кодовых слов есть ООО, 101. Oil,
110. Минимальное расстояние между кодовыми словами равно
двум. Этот код способен обнаруживать однократную ошибку.
2. Рассмотрим (2, 5)-код со схемой кодирования £(00) =
=00000=Ь*; £(01) =01011 =&2; £(10) = 10101=63; £(П) =
= 11110=Ь4. Минимальное расстояние между кодовыми слова-
ми равно трем. Этот код способен исправлять однократную
•ошибку. Однократная ошибка приводит к прием}7 слова, нахо-
дящегося на расстоянии 1 от единственного кодового слова, ко-
торое и было передано.
2.3.2. Матричное кодирование
При явном задании схемы кодирования в (/п, л)-коде следует
указать 2т кодовых слов, что весьма неэффективно.
Одним из экономных способов описания схемы кодирования
является методика матричного кодирования.
Пусть G = llgjill — матрица порядка т X п с элементами g.,. равными
О или 1 Символ + обозначает сложение по модулю 2. Тогда схема кодиро-
вания задается системой уравнений
bj = Ol^ii + O2g2j + ... + amgmj ~ 2 sign, j = I.n,
f = i
или в матричной форме
b = aG,
где a==at..,aw — вектор, соответствующий передаваемому сообщению;
b — bi,..bn — вектор, соответствующий кодированному сообщению; G —
порождающая матрица кода.
Порождающая матрица кода определена неоднозначно. Код
не должен приписывать различным словам-сообщениям одно и
то же кодовое слово. Можно доказать, что этого не произойдет,
если первые т столбцов матрицы G образуют единичную
матрицу.
Заметим, что вместо 2т кодовых слов достаточно знать /я
слов, являющихся строками матрицы G.
Пример 2.12.
I. Порождающей матрицей (1, г)-кода с повторением явля-
ется матрица
так как 1...1 = 1G, 0-..0=0G.
2. Порождающей матрицей (2, 3)-кода с проверкой четности
-является матрица
12 с
3. Рассмотрим матрицу G порядка 3X6:
[10 0 1 ГОЛ
010011 .
00 1 1 1 1 J
Сообщения «*=100, «2=010, а3 — 001 кодируются соответ-
ственно первой, второй и третьей строками матрицы 6. Полный
список кодирования следующий:
«°=000^-000000;
«1=100-^100110;
а2=010->010011;
а8—110->110101;
«4~001->001111;
а5= 101—>-101001;
«6=011-^011100;
а7= 111->111010.
2.3.3. Групповые коды
Двоичный (т, и)-код называется групповым, если его кодо-
вые слова образуют группу.
Заметим, что множество всех двоичных слов длины иг обра-
зует коммутативную группу с операцией покоординатного сло-
жения по модулю 2, в которой выполняется соотношение «-}-
-}-а=0. Следовательно, множество слов-сообщений а длины tn
есть коммутативная группа.
Пусть G— порождающая матрица кода порядка ?«Х'Л- Тог-
да множество кодовых слов b~aG есть группа, так как если
b»=«’G, Ь2=«2С, то b'+b*=alG+a?G= («Ч-а2)б, т. е. мат-
ричные коды являются групповыми.
В' групповом коде наименьшее расстояние между кодовыми
словами равно наименьшему весу ненулевого кодового слова,
что видно из соотношения (ЦЬ*,Ьз) = ю Следовательно,.-
код, рассмотренный в примере 2.11, п. 2, способен исправлять,
однократную ошибку и обнаруживать двойную, так как наи-
меньший вес кодового слова равен 3.
Пусть задан групповой код с порождающей матрицей G и
кодирование происходит ио схеме b=aG.
При передаче кодовые слова могут исказиться, в результате
чего будет принято сообщение c=c}...clt. где с—b-J-e и е=
—ei...en — вектор (строка) ошибок.
Предложим схему декодирования, при которой вероят-
ность того, что D(«G)=#a, будет минимальной.
Обозначим через С множество всех слов, которые могут :
быть приняты. Это есть множество всех двоичных слов длины
п. Оно образует коммутативную группу. /Множество В всех ко-
довых слов есть подгруппа С. Рассмотрим множество смежных.
126
классов С но В, т. е. фактор-группу С/В. Лидером смежного
класса назовем слово, имеющее наименьший вес. Поскольку
смежные классы либо не пересекаются, либо совпадают, то лю-
•бой элемент сеС однозначно представляется в виде суммы
лидера е и кодового слова Ь. Декодирование слова с
состоит в выборе кодового слова .Ь в качестве переданного и в
последующем переходе к слову а, где Ь=Е(а).
Данный метод кодирования удобно реализовать с помощью
таблицы, первая строка которой представляет собой множество
кодовых слов, т. е. смежный класс 0-|-В, состоящий из элемен-
тов О, Ь'. ...,Ь2т Ч а остальные строки соответствуют остальным
смежным классам по В, причем первый столбец этой таблицы
есть столбец лидеров.
Для примера 2.12 (см. п. 3) таблица декодирования выгля-
дит таким образом:
оюоооо 1С0 ПО оюоп ошоо 00'1111 10Ю01 1.10101 И Ш1О
•1ЮКЖХ> 000110 110011 111100 101111 оаю OilOlOl 011010
0'1.0000 Г1Ю110 000011 ООЫОО 011111 111001 100101 101010
ооюоо 101110 011011 mi оо 000.111 100001 111101 110010
OTOIOO 100010 min оиооо 001011 101101 110001 Ш<110
000010 103100 010301 011110 0101101 111011 110.110 111JOOO
000001 100111 010000 О11101 OOlililO Ю10ЮО 110100 111011
000101 100011 010110 011001 001010 101.100 1 юооо 11111'1
Чтобы декодировать принятое слово с=е*+bf, где е* — ли-
дер, следует отыскать его в таблице и выбрать в качестве пе-
реданного кодовое слово bj, находящееся в первой строке того
же столбца, что и с. Например, если принято слово 110011, то
считается, что передано слово 010011; если принято слово 100101,
то передано слово 110101, а если принято слово 110101, то счи-
тается, что оно и было передано.
Покажем, что при таком способе декодирования:
1) исправляются все строки ошибок, являющиеся лидерами;
2) кодовое слово, стоящее в данном столбце, является бли-
жайшим кодовым словом ко всем словам этого столбца.
Действительно:’
1. Если при передаче слова b произошла ошибка е, где е —
лидер, то c=b-j-e и есть искомое представление слова с, и при
декодировании считается, что передано кодовое слово Ь, т. е.
ошибка е исправляется.
2. Пусть с — слово, стоящее в том же столбце, что и кодо-
вое слово Ь\ Тогда с=Ь'+е, где е — лидер соответствующего
смежного класса. Имеем d(c, bi)—w(e). Если Ы — другое ко-
довое слово, то с—b^e' и, поскольку Ь*—Ы^В, е'—Ь*—bi-j-e
лежит в том же смежном классе, что и е. Следовательно,
d(c, bi)=w(e/)^w(e).
127
2.3.4. Коды Хемминга
Опишем один из классов групповых кодов — коды Хемминга,
которые исправляют однократную ошибку, поскольку минималь-
ный вес кодового слова равен 3. Это (т, л)-коды, где т=2г—
— 1—г, л=2г—1 для любого r.Z>2.
Схема кодирования:
1. Сообщения — слова длины 2Г—1—г, где г2>2; кодовые
слова имеют длниу 2Г—1.
2. В каждом кодовом слове b—bi-.b^-1 символы, индексы
которых являются степенью двойки, т. е. b^,, b^t > —> —
контрольные, а остальные — символы сообщения, расположен-
ныс в том же порядке. Например, при г—4 blf b2, Ь4, X— конт-
рольные символы, Ьл, Ьь, bet b7, bSi bl0, bn, bl2. b13, S4, bn —
символы сообщения.
3. Рассмотрим матрицу М порядка гХ(2’—1) такую, что в
i-м столбце этой матрицы стоят символы двоичного разложе-
ния числа и Тогда матрицы М при г=2, 3, 4 имеют соотвётст-
венно вид
АЬ.,=
0*001111
0-1 icon 1
1010101
(ЮЙСООС11 ш 1.11
оамикшиш
011 ОДЫ 001 icon
ioiaioioio.10101
4. Запишем систему уравнений
5Ж=0. (2.7)
Например, нрн г=3 эта система имеет вид
b j -р b 5 b с -J- b 7 = 0;
bg-f-bs-J-be-l-b? —0; (2.8)
Ь|-|-Ьз-{-Ь5-рЬ7=0.
Заметим, что по построению матрицы М в каждое из урав-
нений системы (2.7) входит один н только один символ Ьг-<» ин-
декс которого есть степень двойки.
5. При кодировании сообщения значения контрольных сим-
волов b2o, bQi,..., &2г-’ получим из системы (2.7).
Схема декодирования.
Пусть принято слово с—Ь-\-е, где b — кодовое слово, <? —
ошибка. Тогда ЬЛ4Г=О, и, следовательно, (Ь-|-в)Л1г=ЬЛ1г-^
-\-еМТ=еМт.
Если еМт=0, то считается, что ошибки не было. Это дейст-
вительно так при е=0.
Если Произошла ошибка ровно в одной позиции, т. е. вектор
ошибок е имеет только одну единицу в t-й позиции, то еМт
128
есть вектор, совпадающий с i-м столбцом матрицы М, являю-
щимся двоичным разложением числа L В этом случае в пере-
данном слове с=Ь-|-е надо изменить символ в i-й позиции и
вычеркнуть контрольные символы. Тогда полученное слово бу-
дет результатом декодирования.
Если ошибка допущена более чем в одной позиции, декоди-
рование дает неверный результат. Например, если строка оши-
бок е будет кодовым словом, то (Ь-\-е)Мт =0, и, следовательно,
в результате декодирования слово не изменится.
Пример 2.13. Найдем порождающую матрицу для (4,7)-кода
Хсммйнга. Определим фундаментальную систему решений сис-
темы уравнений (2.8):
ai = 1110000, а2 = 1001100, а3=01010Ю, «4= 1101001.
Порождающей будет матрица, составленная из этих век-
торов:
’ИЮООО 1
г НЮ11Ш I
°= ОГОЮЮ I-
11О1ЮО1 J
Пример 2.14. Рассмотрим (4,7)-код Хемминга. Пусть с—
=0011111. Тогда c=t>4-e, где Ь=0001П1— кодовое слово, е—
=0010000 — строка ошибок, и сМт— (Ь+е)Л43'=<?Мг=011. Чис-
ло 011 есть двоичное разложение числа 3. Следовательно, ошиб-
ка совершена в третьей позиции. Исправляя ее, получаем ко-
довое слово 0001111, декодируя которое, получаем слово а=
=0111.
Задачи и упражнения
1. Определить положение одиночной ошибки в искаженном
слове 1100011 (4,7)-кода Хемминга. Какое слово было пере-
дано?
2. Пусть 11010011 и 11001111— искаженные слова (4,7)-ко-
Да Хемминга с проверкой на четность. Какое из слов содержит
одиночную, а какое двойную ошибку? Определить положение
одиночной ошибки.
9—1529
КОМБИНАТОРИКА
ГЛАВА 3
Основная задача комбинаторики — пересчет и перечисление
элементов в конечных множествах. Если нас интересует, сколь-
ко элементов, принадлежащих заданному конечному множест-
ву, обладает некоторым свойством нли заданным набором
свойств, то это задача пересчета. Если для каких-либо целей не-
обходимо выделить все элементы множества, удовлетворяющие
заданным свойствам, то это задача перечисления. В некоторых
задачах на исходном конечном множестве элементов определена
некоторая целевая функция, причем нас интересуют элементы
множества, доставляющие минимальное (нли максимальное)
значение этой функции. В этом случае имеем задачу оптимиза-
ции, При этом под решением задачи оптимизации в сильном
смысле понимается совокупность всех элементов, доставляющих
минимальное (пли максимальное) значение целевой функции,
а под решением задачи в слабом смысле — произвольный эле-
мент, доставляющий минимальное (или максимальное) значе-
ние целевой функции. Иногда интересуются лишь минимальным
(нли максимальным) значением функции. Перечисленные зада-
чи тесно связаны друг с другом. Например, при решении задач
оптимизации обычно предполагается, что мы располагаем мето-
дом перечисления элементов исходного множества (которое,
как правило.' являв! ся совокупностью элементов некоторого бо-'
лее широкого множества, удовлетворяющих заданным свойст-
вам), а для того чтобы оценить эффективность методов пере-
числения или оптимизации, часто целесообразно решить задачу
пересчета элементов в исходном множестве или в некоторых его
подмножествах.
3.1. КОМБИНАТОРНЫЕ СХЕМЫ
Приведем некоторые начальные сведения из комбинаторики*
130
3.1.1. Правила суммы, произведения
Пусть X- конечное множество, состоящее из п элементов. Тогда гово-
рят, что объект х из X может быть выбран п способами, и пишут 1Х| = п,
Пусть Xi,.. , Хк — попарно непересекающиеся множества, т е X,nXj = 0
яри i Ф b Тогда, очевидно, выполняется равенство
12Л|свЛ,х<|*
В комбинаторике этот факт называется правилом суммы.
Для k=2 оио формулируется следующим образом. Если объект
х может быть выбран tn способами, а объект у — другими п спо-
собами, то выбор «либо х, либо у» может быть осуществлен
m-1-n способами.
Другим часто применяемым в комбинаторике правилом яв-
ляется правило произведения. Если объект х может быть выбран
tn способами и после каждого из таких выборов объект у в
свою очередь может быть выбран п способами, то выбор упоря-
доченной пары у> может быть осуществлен тп способами.
Докажем правило произведения, используя правило суммы. Пусть
{ai, .... — множество элементов, из которых выбирается объект х,
и для каждого ie т} X,- — множество пар <х, у> при х — at.
Тогда множества X, попарно не пересекаются, |Х,-| = п, i — 1, 2,..., tn,
множество всех пар <х, у> есть U Хъ и по правилу суммы имеем
i=i
т тп
I и Х,| = S |Xf| = тп.
i=t i-1
Мы сформулировали и доказали правило произведения для
последовательности из двух объектов. В общем случае правило
произведения формулируется следующим образом. Если объект
xt может быть выбран т способами, после чего объект л2 мо-
жет быть выбран п2 способами и для любого I, где 2^1^ tn—1,
после выбора объектов xi, .... Х{ объект может быть выбран
«in способами, то выбор упорядоченной последовательности из
т объектов <xj, х2, .... может быть осуществлен П\П2...Пт.
способами.
Обобщенное правило произведения является следствием пра-
вила произведения для упорядоченной пары объектов и доказы-
вается методом математической индукции.
3.1.2. Размещения и сочетания
Набор элементов xiy, ..., xir из множества X={xt....хп} назы-
вается выборкой объема г из п элементов или, иначе, (п, г)-
выборкой.
Выборка называется упорядоченной, если порядок следова-
ния элементов в ней задан. Две упорядоченные выборки, раз-
личающиеся лишь порядком следования элементов, считаются
Различными.
131
Если порядок следования элементов в выборке не является
существенным, то такая выборка называется неупорядоченной
В выборках могут допускаться или не допускаться повторе!
ния элементов. Упорядоченная (л, г)-выборка, в которой эле!
менты могут повторяться, называется (л, г) -размещением с пов-
торениями. Если элементы упорядоченной (п, г)-выборки по-
парно различны, то она называется (п, г)-размещением без
повторений или просто (п, г) -размещением. Будем, кроме того,
(п, п)-размещения без повторении называть перестановками
множества X. Неупорядоченная («, г)-выборка, в которой эле-
менты могут повторяться, называется (п, г)-сочетанием с повто-
рениями. Если элементы неупорядоченной (п, г)-выборки попар-
но различны, то она называется (п, г)-сочетанием без повторе-
ний или просто («, г)-сочетанием. Заметим, что любое (п, г)-со-
четание можно рассматривать как r-элементное подмножество
«-элементного множества.
Пример 3.1. Пусть Х={1, 2, 3}. Тогда: 1) <1,1>, <1,2>,
<1,3>, <2,1>, <2,2>, <2,3 >, <3,1>, <3,2>,
<3,3>—(3,2)-размещения с повторениями; 2) <1,2>, <1,3>,
<2,1 >, <2,3>, <3,1 >, <3,2>—(3,2)-размещения; 3) {1,1},
{1,2}, {1,3}, {2,2}. {2,3}, {3,3}—(3,2)-сочетания с повторениями;
4) {1,2}, {1,3}, {2,3} — (3,2)-сочетания.
__ Число (п, г)-размещений с повторениями обозначаем через
Дгп, а без повторений — через Агп. Число перестановок «-эле-
ментного множества обозначаем через Рп (т. е. Рп—Апп). Чис-
ло (п. г)-сочетаний с повторениями обозначаем через Сг«, а без
повторений — через Сгп.
Утверждение 3.1. Агп—пг.
Действительно, каждое («, г)-размещение с повторениями
является упорядоченной последовательностью длины г, причем
каждый член этой последовательности может быть выбран лю-
бым из п способов, откуда по обобщенному правилу произведе-
ния и получаем требуемую формулу.
В дальнейшем для большей общности формул будем считать,
что 01 = 1.
Утверждение 3.2. Агп= п (п— 1)... («—r+1) = - при
(п—г)!
Агп=0 при rz>n.
Рассмотрим случай, когда г^.п (случай г>« очевиден);
Каждое (л, г)-размещение без повторений является упорядочен-
ной последовательностью длины г, члены которой попарно раз-.
личны и выбираются из множества с п элементами. Тогда пер-,
вый член этой последовательности может быть выбран п спо-
собами, после каждого выбора первого члена последовательно*
сти второй член может быть выбран п—1 способами и т. д. Со-,
ответственно после каждого выбора первого и т. д. (г—l)*rJs
членов последовательности r-й член может быть выбрав-
132
л__(г—1)=л—г+1 способами, откуда по обобщенному правилу
произведения и получаем требуемую формулу.
Следствие. Рп=Апп=п(п—1)..Л=п\
Утверждение 3.3. Сгп=-^=——------ при г^л, и Сгп=0
г! (л—-г) И
при г>л.
Рассмотрим нетривиальный случай, когда г^п. Каждое
(л, г)-сочетание можно упорядочить rl способами. Объединение
получаемых таким образом попарно непересекающихся мно-
жеств (л, г)-размещений для всех возможных (л, г)-сочетаний,
очевидно, даст все (л, г)-размещения. Тогда по правилу суммы
имеем Дгп=Хг! = С*пг! (здесь суммирование производится по
всем (л, г)-сочетаниям без повторений), откуда Сгп=
_ Г1
Утверждение 3.4. Crn—Crn+r-i.
Каждому (п, г)-сочетанию В с повторениями, составленно-
му из элементов множества Х={%1, хп}> поставим в соответ-
ствие вектор а(В) длины л+г—1 из г нулей и п—1 единиц та-
кой, что число нулей, находящихся между (/—1)-й и i-й едини-
цами, где 1, будет равно числу элементов х{, входя-
щих в сочетание В, а число нулей, стоящих перед первой едини-
цей (после (л—1)-й единицы), равно числу элементов (со-
ответственно хп), входящих в сочетание В. Это соответствие
между (л, г)-сочетаниями с повторениями и векторами с л—1
единицами и г нулями взаимно однозначно (см. ниже пример
3.2). С другой стороны, число векторов с л—1 единицами и ,г
нулями равно числу r-элементных множеств (номеров нулевых
компонент в векторах),являющихся подмножествами (л-|-г—!)•
элементного множества {1,2, .... п-\-г—1} (множества всех номе-
ров компонент в векторах), т. е. числу (л 4-г— 1, г)-сочетаний
без повторений. Таким образом, Сгй=Сгл+т-ь
Пример 3.2. Пусть л=4, г=6, Х={1, 2, 3, 4}, В={2, 2, 3,
3. 3, 4}—(4,6)-сочетание с повторениями. Тогда а(В) —
5=100100010. С другой стороны, если, например, а(В) =
5=110010000, то однозначно получаем, что В={3, 3, 4, 4, 4, 4).
Замечание 3.1. При определении выборки предполагалось,
что она содержит по крайней мере один элемент. Однако для
общности рассуждений в число выборок часто включают и пус-
тую выборку, не содержащую элементов^ Она единственна для
всех рассмотренных нами случаев, т. е. Л°я—Д°П=СОП=С°П=
5881; при этом формулы, приведенные в утверждениях 3.1—3.4,
остаются справедливыми.
3.1.3. Размещения и функциональные отображения .
Обозначим через Yx множество всех отображений f: Х->У.
1529 133
-Утверждение 3.5. Пусть |Х|=г, |У|=л. Тогда |УХ| = "
=Дгп==Пг=|у||Х|
Пусть Х={хь .... хг}. Тогда любое отображение f:X~>y
можно представить в виде упорядоченной последовательности
<lf(*i), ...» f(xr) > значений функции f в точках из X, где f (х<)е
еУ. Очевидно, что мы тем самым установили взаимно однознач-
ное соответствие между множеством функциональных отобра-
жений и множеством упорядоченных выборок с повторениями
объема г из множества У объема п (т. е. множеством (л, г)-
размещений с повторениями), откуда и следует справедливость
доказываемого утверждения.
Аналогично доказывается
Утверждение 3.6. Пусть |Х|=г, |У|=л. Тогда число всех
инъективных отображений вида f : X-+Y равно Агп.
Следствие, Для Sn — множества всех биективных отображе-
ний л-элементного множества в себя имеем |Srt| —Апп=Рп~п\
1 2
4 7
3.1.4. Примеры применения формул
Пример 3.3. Сколькими способами можно раскрасить квадрат,
разделенный на четыре части (рис. 3.1), пятью цветами: а) до-
пуская окрашивание разных частей в один цвет; б) если раз-
личные части окрашиваются разными цветами?
Будем рассматривать каждое раскрашивание
как функциональное отображение 'множества
номеров частей квадрата Х={1, 2, 3, 4} в множе-
ство цветов У, где |У|=5. Тогда, используя
утверждения 3.5 и 3.6, имеем: а) 54=625;
б) 5!/ (5—4)1 = 51 = 120.
Пример 3.4. Сколькими способами можно
Рис. 3.1 выбрать 5 номеров из 36?
Нас интересует количество неупорядоченных
(36, 5)-выборок без повторений, т. е. (36, 5)-сочетаний. Исполь-
зуя утверждение 3.3, получаем, что требуемое число способов
равно СБзб=376992.
Пример 3.5. В скольких случаях при игре в «Спортлото»
(угадывание 5 номеров из 36) будут правильно выбраны: а) ров-’
но 3 номера; б) ровно 4 номера; в) ровно 5 номеров; г) не ме-
нее 3 номеров?
Решение: а) 3 из 5 «правильных», номеров можно выбрать
С35 способами, а 2 оставшихся «неправильных» номера — С2 si
способами. Далее по правилу произведения получаем, что иско-.
мое число равно С35*С231 = -^—^-=4650. В остальных случаях
г 312! 29121
соответственно имеем: б) C45-C13i=155; в) 1; г) 4650+155-J-
+1=4806.
134
Пример 3.6. В скольких случаях при выборе нз колоды в
52 карты 10 карт среди них окажутся все 4 туза?
Исключив из рассмотрения тузы, получим, что выбираются
6 карт из 48, а такой выбор можно осуществить С64в способами.
Пример 3.7. Имеется 30 монет достоинством 1, 2 и 3 копей-
ки. Сколько существует различных комбинаций монет (напри-
мер, 3 монеты по 1 копейке, 17—по 2 копейки, 10 — по 3 ко-
пейки)?
По условиям задачи требуется определить количество неупо-
рядоченных выборок с повторениями объема 30 из множества
объема 3, т. е. число (3, 30)-сочетаний с повторениями. Исполь-
зуя утверждение 3.4, получаем, что искомое число равно Сзо3=
iC3°3+30-.=C3o32=496.
Пример 3.8. Выведем формулу для количества целочислен-
ных решений системы
Х14-Х2+..-+^п=Л x^ai, t=l, 2......n, (3.1)
где п^Г, а» — целые числа.
Прежде всего заметим, что при любых целых п^1, г^0 ве-
личина Сгп выражает количество решений в целых неотрица-
тельных числах уравнения Xi4-x2+...+xn=r. Действительно,
каждому решению х2, ..., хп> этого уравнения можно по-
ставить в соответствие неупорядоченную выборку с повторения-
ми объема г из множества Л = {аь а2, .... ап) такую, что в ней
содержатся xt элементов вида й1, х2 элементов вида а2 и т. д.,
хп элементов вида ап. Нетрудно видеть, что указанное соответ-
ствие является взаимно однозначным, откуда и следует справед-
ливость доказываемого утверждения. Теперь для определения
количества целочисленных решений системы (3.1) сделаем за-
мену переменных. Пусть Ui=Xi—at. Тогда Xi=Ui-{-ait а следо-
вательно, из (3.1) получаем
2 а/, «4^0, i— 1, 2, .., n, (3.2)
«=1
т. е. мы свели исходную задачу к уже рассмотренному случаю
(понятно, что количество целочисленных решений систем (3.1)
и (3.2) совпадает). Но тогда, используя доказанное ранее ут-
верждение, получаем, что количество целочисленных решений
п
системы (3.1) (или (3.2)) в случае 2 а, равно
1=1
п п
__ г— X at г— X at
сп ‘-1 =с п (3.3);
«+г— X <ч—1
10*
133
п
Если же r< S at, то множество целочисленных решений си-
стемы (3.1) является пустым, и количество решений в этом слу-
чае равно 0.
3.1.5. Разбиения
Подсчитаем число разбиений конечного множества X, где
|Х| =п, на k подмножеств X*, Х2...Хь (Л^1) таких, что каж-
дое Xi содержит rii элементов, т. е.
; U Х<=Х, Х(ПХ^0 при i¥=j, ]X|=Mi, i=l, 2, ..., k. (3.4)
1=1 л
Очевидно, что при этом S п,=п. Отметим, что для некото-
i==i
рых номеров i возможно Х*=0. Число указанных разбиений
при фиксированных обозначим через СПЛ1» л* .
Замечание 3.2. В данном случае набор подмножеств мно-
жества X в разбиении является упорядоченным (т. е. Хи ...» Хь —
упорядоченная последовательность множеств). Ниже, кроме то-
го, рассматривается случай, когда набор подмножеств в разбие-
нии не является упорядоченным.
Утверждение 3.7. СлЛ1...Пк — ———.
«11... л*!
Как отмечалось ранее, каждое из множеств Xi можно рас-
сматривать как сочетание без повторений. Предварительно до-
кажем справедливость формулы
СЛ1, ..л* Л1 г>пг /чПъ. /п к»
п —ЬЯ_Я1 ...—«*»! * V50/
Действительно, для образования сочетания, соответствующе-
го множеству Xi, могут быть использованы все элементы мно-
жества X, т. е. множество Xi может быть выбрано Сл,п спосо-
бами. После выбора Xt множество Х2 может быть выбрано
С^_Я1 способами (так как Х2 является подмножеством мно-
жества Л\Х1 и |X\Xt| ==п—П1), и для любого i, где 2Ci<^»
после выбора множеств Xi, ..., Xi-i множество Xi может быть
выбрано СЯ1_П!_—п,_! способами. Но тогда сто правилу (произ-
ведения выбор упорядоченной -последовательности множеств Xi,
..., Xk, удовлетворяющих (3.4), можно осуществить С%С Лг nt —
...С„к_Я1__... —пь-! способами, т. е. формула (3.5) доказана.
Используя теперь формулу (3.5), а также утверждение 3.3 и
производя необходимые сокращения, получаем, что доказывае-
мое утверждение справедливо.
136
Утверждение 3.8. Число СпП|* ” ‘ * Пк, где п< > 0, 2 п< = п, равно чис-
1—1
лу (k, п)-размещений с повторениями, среди элементов которых содержится
cii элементов 1-го типа, л2 элементов 2-го типа и т. д., Пк элементов k-га
типа.
Каждому размещению указанного типа поставим в соответ-
ствие разбиение множества Х={1, 2, ..., п} номеров элементов
в выборке на подмножества Xi, ..., Xk, где Xi — множество но-
меров элементов i-ro типа в выборке. Очевидно, что при этом
выполняется (3.4). Указанное соответствие между размещения-
ми заданного типа и разбиениями, удовлетворяющими (3.4),
является взаимно однозначным, откуда в силу утверждения 3.7
и вытекает справедливость доказываемого утверждения.
Пример 3.9. В студенческой группе, состоящей из 25 человек,
лри выборе профорга за выдвинутую кандидатуру проголосова-
ли 12 человек, против—10, воздержались — 3. Сколькими спо-
собами могло быть проведено такое голосование?
2. 2
6 5 Ч
7 В 3
Пусть X—множество студентов в группе, Xi— множество
студентов, проголосовавших за выдвинутую кандидатуру, Х2 —
множество студентов, проголосовавших против, Хз— множество
студентов, воздержавшихся от голосования. Тогда |Х|=25,
|Xi| = 12, |Х2| = 10, ]Х3|=3, Х<ПХ3=0 при
i¥=/, а следовательно, искомое число равно C2s12’10’3. Используя
утверждение 3.7, получаем
С 12, ю. 3== в j 487285800.
I2KB0131
Пример 3.10. Сколькими способами можно раскрасить квад-
рат, разделенный на девять частей (рис. 3.2), четырьмя цвета-
ми таким образом, чтобы в первый цвет были окрашены 3
части, во второй — 2, в третий — 3, в
четвертый — 1?
Пусть X — множество цветов, где
]Х| = 4. Тогда каждое раскрашивание,
рассматриваемое как «последовательность
Цветов, в которые окрашиваются прону-
мерованные части квадрата, является
упорядоченной выборкой с повторения-
ми объема 9 из множества X, т. е. (4,9)-
Размещением с повторениями. При этом
нас интересуют размещения с заданной
комбинацией элементов >(3 элемента —
первый цвет, 2 — второй, 3 — третий, 1 — .четвертый).
Но тогда, используя утверждение 3.8, шолучаем, -что иско-
вое число равно Сэ3’ 2’ 3’ *=—-—=5040.
3I213M1
Подсчитаем теперь, сколькими способами можно разбить множество
137
X, где | А'| —п, на подмножества, средн которых для каждого 2, .... п
п
имеется т,- 0 подмножеств с I элементами, где S imt = п. При этом-
в отличие от рассмотренного ранее случая в нашем случае набор подмно-
жеств в разбиения ие является упорядоченным (т. е. порядок подмножеств
в разбиении не является существенным). Так, например, разбиения множе-
ства X - {1, 2, 3, 4, 5} вида
(1,3}. {4}, {2,5};
{4}, {2,5}, {1,3};
{2,5}, {4}, {1,3}
считаются одинаковыми. Обозначим число указанных неупорядоченных раз-
биений множества X через JV(wh, mn).
Утверждение 3.9. N(mit ..., тл)~-------------—-----------.
Заметим, что каждое из неупорядоченных разбиений, рас-
смотренных при определении величины N(mit ..., mn), можно»,
нумеруя множества в этом разбиении, привести пц !.../«„! спосо-
бами к упорядоченным разбиениям вида
Xi, ...» Xmi, Xtn,+1 > —, —» » —
—» » (3.6)»
где
|X,| =... = |XWJ =1, JXOT1+I | =...= |XWi+OT2 | =2,....
•••» I = —= ..4-mn I ~n' <3.7)
При этом объединение получаемых таким образом попарно не-
пересекающихся множеств разбиений вида (3.6), (3.7) для всех
рассматриваемых неупорядоченных разбиений, очевидно, даст
совокупность всех разбиений вида (3.6), (3.7), а следовательно,
по правилу суммы, используя утверждение 3.7, имеем
------—--------=Sm1!...mJ=W(mJ, ..., тп)т^...тп\
(I!)"1* ,..(л1)ОТл
(где суммирование производится по всем рассматриваемым не-
упорядоченным разбиениям), откуда и следует справедливость
доказываемого утверждения.
Пример 3.11. Сколькими способами из группы в 25 человек
можно сформировать 5 коалиций по 5 человек?
Пусть X—множество людей в группе, ггц—число кбалшшй
по i человек, где 1=1, 2, ..., 25. Тогда по условиям задачи |Х| =
=25, /п3=5, т4=0, te{l, 2, ..., 25}\{5}, а следовательно, иско-
мое число будет равно ЛГ(О, 0, 0, 0, 5, 0, 0), где в силу ут-
верждения 3.9 #(0, 0, 0, 0, 5, 0, ...» 0) — -
51(51)* (а*)
Пример 3.12. Сколькими способами можно задать отноше-
ние эквивалентности на множестве Х={Т, 2, ..., 25} с тремя'
классами эквивалентности?
138
Используя тот факт, что множество классов эквивалентности является
разбиением множества X, получаем, что искомое число выражается форму-
лой
mi + 2Шг + ... + 25/7125 = 25
mi + mt +_____4- mas = 3
2 а.
wh + 2п/г + ... + 25/7125 = 25 «и . - ♦ т^- (J1) mi * • (25I)OT25
nil + + . .. + w25 = 3
где под «/7/1 + 2ша + ... +25/?i2s=25, ml + mt + ,.. + == 3» понимает-
ся множество всех решений этой системы уравнений в целых неотрицатель-
ных числах (например, nt* = 1, тц 2, ш» = О, I I, г 12 — одно из
таких решений).
3.1.6. Полиномиальная формула
Определим коэффициенты д*в формуле
(xt + ... + хц}п = сП1 пх^1... хкПк, называемой
Л1+ ... + пк —п
полиномиальной, где суммирование производится по всем решениям урав-
нения Л1 + ... + л* “ п в целых неотрицательных числах.
Утверждение 3.10. с„ =СпП1>- •Пк —-------—.
....... /i<l...nfc!
Введем обозначения для сомножителей в (х/+...+хл)Л. Обо-
значим a/=(xi+...+xft), i=l, 2, Тогда (xI4-...4-xft)n=aI...
...ап. Пусть А—{а........ ап}. Пересчитаем все одночлены, полу-
ченные в результате перемножения аь..ая, в которых Xi встреча-
ется Гц раз, Xi — п2 раз и т. д., хь— пк раз, т. е. одночлены вида
x1'I‘...xftn*, где П1-|-...+пл=п. (3.8)
Рассмотрим любой из таких одночленов. Для каждого {!, 2.................k}
обозначим через 4< подмножество множества А такое, что в этот одночлен
войдут переменные х,- из тех и только тех сомножителей, которые перечис-
лены в А,. Тем самым мы поставили в соответствие одночлену разбиение
множества А на подмножества 41,..., Ак такие, что
|4<[ = nit i = 1,...» k. U Л/ = А 4< П 4,« 0 при i (3-9)
Понятно, что указанное соответствие между одночленами
(3.8) и разбиениями вида (3.9) является взаимно однозначным,
^о тогда сЯ| (количество одночленов вида (3.8)) равно
с
=СЯЛ‘...«*
т
л||...льГ
139
Пример 3.13. Определим коэффициент с в одночлене
сХ13*24хз3 многочлена (с приведенными подобными членами)*
получаемого из выражения (Х14-*24-*з)10-
В силу утверждения 3.10 имеем с~Сю3,4’ 3= ^^-=4200.
3.1.7. Формула включений и исключений
Пусть Xi, Х2— два конечных множества. Тогда, если AjQAi=0*
то |Ai|JA2| = |А1Ц-|А2|. Пусть теперь А1ЛА2¥=0. Тогда в
|Xi|4-|X2| каждый элемент из А1ЛА2 будет учтен два раза.
Поэтому
| ВД | = | Ах | +1Х21 - |Х№ |, (3.10>
т. е. мы выразили количество элементов в объединении мно-
жеств через количество элементов в их пересечении. Получим
соответствующую формулу для произвольного числа множеств,
которая называется формулой включений и исключений.
Утверждение 3.11. Пусть Xi — конечные множества, i=l, %
п, п^2. Тогда
|Х>и...|Дл| = (|^|+.-.+|Х»|)-(|Х№|+|Х|ПХг|*...
...+1 Х„_,ПХ„ I) + (I Х,№ПХз | +...+1 Х^2ЛХ„_,ПХ. I )-...
...+ (-l)»-|XIfl...nX„|. (3.11)
Доказательство будем проводить индукцией по п. При п—2
формула (3.11) совпадает с (3.10). Предположим, что доказы-
ваемая формула верна для случая п—1 подмножеств, где я^З.
Докажем ее справедливость для п подмножеств. Разобьем мно-
жества Ai...Хп на две группы: At, ..., Хп-г, Хп. Тогда согласно-
(3.10) получаем
IXilMAI = I (XiU.--U*n-i)UA4 =
=|X1U...UX^1|4-|X„|-1 (XiU...UAn-0nAn| =
= I X.U-.UX^i 1 +1 xn I -1A I, (3.12>
где /h=Xif]Xn, i=l, n— 1.
Используя индуктивное предположение, имеем:
а) |XiU.-U*n-i| = (IЪ|4-.«4-1|) — (1 Х1ПХг14--
1 Xn_2f|Xn_j j) -j- (|Х1Г)Х2ПХ3| 4-—4-|An-3f|A„_2f|
I)-...+(_ I)«I;
б) I Л.и.-ЦЛп-! | = (|л, 14- -4-1Лn-i |)— (|Л1ЛЛ214-
4- |Л1Г)Лз 14~—4_ |Лп_2ЛЛп-1| )4”—4” (—l)n| Л1Л--Г)Лп-11 ==
= (| Xi Л Ал 14- -4-1 A„_i ЛА„ |)- (| А^АгЛАп 14-1 Ai ЛА эЛ
ПАп 14-...4“ | АЭТ_2ЛА^ЛA„ |) 4--4- (—Ь)n I AiЛ—ЛAn | -
Из (3.12), учитывая «а», «б», получаем (3.11).
140
Следствие. Пусть X—конечное множество, Xi, ..., Хп — под-
множества X. Тогда
|X\(Xj(j ..llXn) | = |Х| —(|Х1|Ч-...Ч-]Хп|)Ч-(|Х1ПХ2|Ч-...
...4-1 Xn-.nXn |)-...+ (-1)” | ад-ЛАп! - (3.13)
Действительно.
[Л\(Х1и...иА'п)]и (AiU-UAn)
[A (XtU-U Хп) ] Л (AiU-UXn) =0,
откуда
|х\(ад...ихл) ц-|аддяп|=и|,
а следовательно,
| X\(XiU-U*n) | = И| -1 XiU-UXn | - (3.14)
Для получения (3.13) остается только в (3.14) применить
формулу (3.11).
Приведем теперь еще одну (наиболее распространенную)
форму записи формулы включений и исключений. Пусть X —
конечное множество, состоящее из N элементов, аь .... аэт — не-
которые свойства (одноместные предикаты, определенные на
X), которыми могут обладать или не обладать элементы из X.
Обозначим Vte{1, 2, ...» п} X,—{х<~Х|аДх)}— множество эле-
ментов в X, обладающих свойством а«. Обозначим также
'V(a„....а„) = |Х„П...ПХ,„ | = I {xeX|afl (х)(х)}.|-ко-
лпчество элементов в X, обладающих одновременно свойствами
aii * —* а4 > iVo==|X\(XiU...U^n)| —количество элементов в X, не
-обладающих ни одним из свойств си.... а«. Тогда по формуле
(3.13) получим
^ = /V —S1 + S2 —... +<(— l)n$n, .(3.15)
где
S. - W(aZi....a.J, *-l, 2,.... n.
I И • • < «
Пример 3.14. Пусть n — 3, т. e. имеются три свойства; a(, a2, a3. Тогда
«з (3.15) получаем
N0=N—N(ai)— W(a2) —N(a3)-|-W(«ь a2)+^(ab a3) +
Ч-АГ(as, аз)— N(ai, <a2, a3). (3.16)
Пример 3.15. Пусть Х={0,1, ..., 10}; at(x): «х четное»;
<i2(x): «х>6»; a3(x): «2<х<8». Подсчитаем количество No
элементов в X, не обладающих свойствами -at, a2, а3. Используя
формулу (3.16), получаем/Уо = 11—6—4—54-24-2+1—0—1 (не-
трудно видеть, что единственным элементом в X, не обладаю-
щим свойствами си, а2, <х3, является число 1).
141
Пример 3.16. Применяя формулу включений и исключений^
задачу определения количества целочисленных решений сис-
темы
Xi4-x24-...+xn==r, cn^Xi^bi, i=l, 2, .... n, (3.17)
где сц, r — целые числа; ai^.bit 1=1, 2, n, легко свести к
совокупности задач определения количества целочисленных ре-
шений систем вида (3.1). Для этого необходимо воспользоваться
свойствами а2(х): где х=<хь ..., хп>, 1=1, 2, ...
...» п, а за исходное множество X взять совокупность целочислен-
ных решений х системы (3.1). Пусть N—количество целочислен-
ных решений системы (3.1). Тогда JV0, определяемое по формуле
(3.15), н будет выражать количество целочисленных решений
системы (3.17).
Пример 3.17. Определим количество трехзначпых чисел, а
которых сумма цифр равняется 20.
Если через xi, х2, х3 обозначить соответственно первую, вто-
рую и третью цифры в произвольном трехзначном числе а=
=Xi-1024-Х2-10-|-Хз, то для решения задачи достаточно опре-
делить количество целочисленных решений системы
Xi4-x2-|-x3=20, 1^Xj^9, 0^х2^9, 0^х3<9. (3.18}
Пусть X—множество целочисленных решений x=<xi, х2„
х3> системы
Х1-Ь*2-|-Хз=20, xi^l, х2^0, Хз^О,
N—количество элементов в X. Введем следующие три свойства:
ai(x): «Xj^lO»; а2(х): «х2^10»; аз(*):
Используя теперь формулу включений н исключений (3.16) >
а также формулу (3.3) для подсчета количества целочисленных
решений в системе вида (3.1), определим число Wo целочислен-
ных решений системы (3.18):
^_==С320-’—и320-10—Сз20-10-1— С32°-1О-1+С?о-ю-1о_|_
_|_'С32°-10-104-0—0=С21‘9—С1210—2Сц9+2=
=210—66—110+2=36.
Пример 3.18 (задача о беспорядках). Имеется п различных
предметов alt а2, ..., ап и п различных ячеек Ьг, Ь2, ...» Ьп. Сколь-
кими способами можно разместить предметы по ячейкам так,-
чтобы никакой предмет съ не попал в ячейку
В качестве исходного множества X возьмем совокупность всевозможных
расположений предметов по ячейкам. Тогда N = |Х| — п! Введем свойства
аг. <&i находится в ячейке 1=1» 2,..., п. Число а,-*) рас-
положений, при которых предмет aiy находится в ячейке v= 1,...
равно (п — k)! Но тогда
142
s*= »£Л) = Ckn(n — Л)1 =
1 < it < ... < ц < я
Используя теперь формулу включений и исключений (3.15), получаем,
что число No расположений, при которых ни одно из свойств не выполня-
ется (т. е нн одни из предметов не попал в ячейку &.), равно
П п nl П I
Л'+ 2 Н)‘5^П!+ S (-!)*— = «« 2 (-1)* —.
4^1 * = 1 К\ Л«0 К1
Задачи и упражнения
1. Сколькими способами можно дать клички четырем щен-
кам, имея семь возможных вариантов (щенки названы по-раз-
ному) ?
2. Сколькими способами можно раскрасить квадрат, разде-
ленный на девять частей (см. рис. 3.2), пятью цветами, допус-
кая окрашивание разных частей в один цвет?
3. Сколькими способами можно разместить 10 различных
шаров по трем различным урнам?
4. Обосновать (без использования формул) Скп~САл-1+
-|-СА_,п—J.
5. Определить количество прямоугольных матриц размернос-
ти гпХл с элементами из {0,1} с попарно различными строками
(л?^2л).
6. Из колоды, состоящей из 52 карт, выбрали 10 карт. Оп-
ределить, в скольких случаях среди них окажутся: а) пиковая
дама; б) все четыре дамы; в) все карты одной масти; г) ни од-
ного туза; д) ровно один туз; е) хотя бы один туз; ж) ровно
два туза.
7. Имеются монеты по 1, 2 и 3 копейки; всего 20 монет.
•Сколько существует различных комбинаций монет?
8. Сколькими способами можно разложить 20 одинаковых
шаров по четырем различным урнам?
9. Определить количество целочисленных решений системы
JCl-fX2+*3— 40, Xi$s3, Х2^=0, X3$s2.
10. Сколькими способами можно разложить 20 различных
шаров по трем различным урнам так, чтобы в первой, второй
и третьей урнах находилось соответственно 5, 3 и 12 шаров?
11. Сколькими способами группу из 25 человек можно раз-
бить на семь коалиций: 2 — по 5 человек, 1—7 человек, 4 —
по 2 человека?
12. Определить коэффициент k в следующих членах много-
члена (с приведенными подобными членами), получаемого из
алгебраического выражения (а4-Ь-|-с)2(п2-|-Ь2-|-с2)4:
а) б) ka2b*c\ в) каъЬъ; г) ka2b2&.
13. Определить количество целочисленных решений системы
-*1+хг4-Хз=40, 4^X1 С15, 9^х2^18, 5<^х3<^16.
143
14. Определить количество шестизначных чисел, в которых
сумма первых трех цифр совпадает с суммой последних трех
цифр.
15 Найти количество целых положительных чисел, не пре-
восходящих 200 и не делящихся ни на одно нз простых чисел-
а) 2, 3,5; б) 7, 11, 13.
3.2. РЕШЕНИЕ ЗАДАЧ ПЕРЕСЧЕТА МЕТОДОМ ПОЙА
3.2.1. Реализация группы
Пусть X—некоторое конечное множество элементов, S(X)—
группа всех биективных отображений множества X в себя, G—
некоторая группа. Под реализацией G в S(X) будем понимать,
любой гомоморфизм т: G-+-S (X). Для простоты обозначений-
вместо ?(#), где g^G, пишем xg, а вместо тг(х), где хеХ, — gx.
Пример 3.19. Пусть X=R2— множество точек на плоскости,,
S (R2)— группа биективных отображений R2 в себя, G — группа-
вращений на плоскости вокруг начальной точки 0(0,0). Эле-
менты группы G будем обозначать углами вращений, при этом:
в качестве положительного выберем направление против часо-
вой стрелки. Пусть, например, G = {aeR|0^a<2n}. Бинарной
операцией на G является последовательное выполнение враще-
ний. Обозначим указанную операцию символом Ф. Тогда, оче-
видно, выполняется равенство
f <z-1-Р, если а-|-р<:2л;
₽ ' t а+Р—2эт, если a-j-P^2jt.
Единичным элементом в группе G является вращение на угол
О и VaeG\{0} 2л—а. Под реализацией введенной группы
G будем понимать отображение, ставящее в соответствие каж-
дому вращению а биекцию т0: R2->-R2 такую, что для любой
точки MgR2 точка т«(М) есть результат перемещения точки №
после поворота вектора ОМ на угол « против часовой стрелки.
Тогда, например, л/2(1, 0)—т^[(1, 0)] = (0, 1} (рис. 3.3).
Рис. 3.3
144
3.2.2. Действие группы на множестве
Пусть сохраняются условия, описанные в разд. 3.2.1, и т—неко-
торая реализация G в S(X). Заметим, что поскольку при гомо-
морфизме единичный элемент отображается на единичный эле-
мент, то
VxeX ех=х, '(3-19)
где е — единичный элемент из G. Кроме того, по определению
гомоморфизма
VxeX, Vg, h^G xgh{x)=rtg[xh{x))=g{hx),
откуда
VxeX, Vg, Леб lgh)x—g\hx). 13.201
Всякий раз, когда имеется отображение <Zg, x>-*gx пря-
мого произведения G\X в X, удовлетворяющее свойствам (3.19),
(3.20), будем говорить, что группа G действует на множестве X.
В определении действия группы G на множестве X явным
образом не используется гомоморфизм т, а следовательно, дей-
ствие группы на множестве можно вводить непосредственно, без
предварительного указания гомоморфизма т. Тем не менее в
последнем случае можно по формуле
xg(x)=gx, хеХ, (3.21)
для каждого g^G однозначно определить отображение тй:Х->
-»-Х, и при этом отображение т: g~+Xg будет гомоморфизмом
группы G в S(X). Действительно, используя (3.19), (3.20), по-
лучаем, что для любого элемента g^G выполняются условия
Vxe=X Tg_i (Tg(x)) =g-K(#x) = (g-lg)x=ex=x-, (3.22)
VxeX Tg(tg-i(x)) =g(^-1x)«i(gg-1)x»ex==x, (3.23)
откуда следует, что VgeG xg— биекция из X в X (из (3.23) по-
лучаем сюръективность xg, а из (3.22) — инъективность: xi, х2е
SX, Tg(X1)=Tg(X2)=^X^Tr-i(tg(X1))=T^1 (Tg'(x2))=x2) и,
кроме того, в силу (3.20) Ng, h^G имеем
Vxe=X (TgTh) (х) =тг (тл (x)) =g (hx) == (gh)x=Tgh (x),
а следовательно,
Ng, h^G xSh=TgXh,
t. e. мы показали, что т — гомоморфизм.
Таким образом, в тех случаях, когда это удобно, будем оп-
ределять действие группы на множестве заданием гомоморфиз-
ма т, а в других случаях—непосредственным заданием отобра-
жения <g, x>-+gx, удовлетворяющего условиям (3.19), (3.20).
MS
Заметим далее, что из (3.19), (3.20) следует
Vge=G, Vxb x2g=X x2=gxi=>x1^g-^x2 (3.24)
(так как, используя x2=gxi, получаем g-ix2=g-1 (gxi) ==
= (g~ig)^i=ex1~x}).
3.2.3. Орбиты. Лемма Бернсайда о числе орбит
Две точки хь х2еХ называются эквивалентными относительно
группы G, действующей на множестве X (или G-эквивалентны-
ми), если 3geG|x2=gxi.
Из (3.19), (3.20), (3.24) непосредственно получаем, что G-эк-
вивалентность является отношением эквивалентности на X
((3.19) показывает рефлексивность этого отношения, (3.24) —
симметричность, а из (3.20) следует транзитивность: x2=gixb
^3=^2X2=>x3==g2(gjXi) = (g2gj)Xj), и, следовательно, указанное
отношение разбивает X на классы эквивалентности, которые на-
зывают G-орбитами. Орбиту, содержащую элемент Хоел, будем
обозначать через G(x0), т. е. G(x0) = {gx0[geG}.
Пример 3.20. Орбитой точки
(0,1) в примере 3.19 является
окружность с центром в точке О
радиуса 1, проходящая через точку
(0, 1) (рис. 3.4).
Пусть теперь X—конечное мно-
жество элементов, G—конечная
группа, действующая на X. Рас-
смотрим задачу об определении
числа N G-орбит. Обозначим через
TV (g), где geG, -число элементов
из X, остающихся на месте при дей-
ствии g, т. е. W (g) = | {хеХ |
|gz=x}|.
Лемма 3.1. (леяма Бернсайда'). Н=ттг S N(g).
IQI g^G
Для доказательства леммы потребуются вспомогательные утверждения.
Утверждение 3.12. Пусть х^еХ, Sf(xo) = {geG|£xo=xo}-
Тогда St (х0)—подгруппа группы G (стационарная подгруппа
точки х0).
В силу ех0— х0 (см. (3.19)) имеем e&S/(x0). Пусть gt, gzG.
^St(xo). Тогда, используя (3.20), получаем (gig2)xo==
=gj(g2*o) =gi*o=хо, т. е. gig2eSf(x0). Пусть g<=St(xQ). Тог-
да gx0=x0, откуда, используя (3.24), получаем x0=g ‘хо, а
следовательно, g-IeSf (х0).
146
Рис. 3.4
Утверждение 3.13. Пусть хоеХ. Тогда |G(x0) | = |G|/
/Р(*о)|.
Рассмотрим левые смежные классы группы G по подгруппе
H=St(x0). Поставим в соответствие каждой точке хебг(х<>)
смежный класс gH^GlH, где g—элемент из G такой, что х=
=gx0. Покажем, что каждому элементу х0 поставлен в соот-
ветствие единственный смежный класс и тем самым задано не-
которое отображение <р : G(x0)-*-G/Z/. Действительно, пусть для
некоторого элемента gi^G выполняется x=gixo. Тогда gixo=
—gxo, откуда (^lgi)x0=x0, а следовательно, g^gt&S/fxo)^
=//. Но тогда giGgH, а значит, g\H=gH. Покажем теперь,
что указанное отображение <р: G(x0)-»-G/# является взаимно,
однозначным, откуда н будет следовать, что |G(x0) |==|G//f[==
==|G|/|tf|. Пусть Яь g2^G, xi=gix0, х2~£2*0, xi=/=x2. Пока-
жем, что gji=£g2n. Действительно, если g\H=g2H> то &2~’Х
XgiH—H, откуда g2~lgi^H. Но тогда (g2“‘gi)x0=*o, а следо-
вательно, giXo=g2Xo, что противоречит условию Х1У=х2. Таким
образом, доказана инъективность отображения <р. Для доказа-
тельства его сюръективности осталось заметить, что NgH^G}H
gH является образом точки gx0^G(x0).
Утверждение 3.14. Пусть хоеХ. Тогда VxeG(x0) [S/(x)|==
-|SZ(x0)|.
Пусть xeG(xo). Тогда найдется go&G : x=gox0. Рассмотрим
произвольный элемент geSl(x). Тогда gx=x, а следовательно,
teo)Xo=ig(goXo) =gx=x=goxo, откуда (^о"Ш)хо=хо, т. е.
gtr'ggo^St (хо). Таким образом. gtf-'St (x)g^St (х0), откуда
goSt(x0)g0^=>St(x). (3.25)
Пусть теперь g — произвольный элемент из St(xo). Тогда
gXQ—XQ, а значит, в силу xo=go_,x имеем too“1)x=^(io_1x) —
=gx0=x0—g0-lx, откуда (gogg<rl)x=x, т. е. goggo-'^St(*)•
Таким образом, goSt(xo)ga~1^St(x) и, используя (3.25), получа-
ем goSt(xo)go-l—St(x)t откуда и следует, что |S/(x)|=-
-|S/(x0)|.
Теперь докажем лемму Бернсайда.
Обозначим через XG множество G-орбит. Пусть также Vge
eG, Vxt=X
a(gx=x)= / !,- если 8X=X-
' 1 10, если gx^x.
Тогда, используя утверждения 3.13 и 3.14, имеем
yy<g)=
6(a0)<=Jg
a(gx=x) =
У] |S*(x) I »
леб(хо)
147
S 2 lSf(Xb)| =
.G(xo)eXo xeG(x0)
• Jj? (|G|/|S/(xo)|)|Sf(xo) | «=
G(xo)eXc
|G(Xo)| |S/(Xo)| =
G(x0)eX0
|G||Xc| = |G|tf,
откуда и следует справедливость доказываемой формулы.
3.2.4. Примеры применения леммы Бернсайда
для решения комбинаторных задач
Пример 3.21. Составляются слова длины 3 из букв а и ф. Сло*
ва считаются эквивалентными, если получаются одно из друго-
го Переменой местами крайних букв (например, abb~bba). Оп-
ределим число N классов эквивалентности.
Пусть Х= {с=с1с2с3\с^{а, b], i=l, 2, 3} = {а, Ь}3. Рассмот-
рим группу G— {е, о}, где е — единичный элемент группы G,
о=/=е, ог=^е. Определим отображение <Zg, c>-+gc прямого про-
изведения GXX в X. Пусть VceX ес=с, ос=ocic2e3=с3с2с,
(т. е. е оставляет слово с на месте, а о меняет в слове с край-
ние буквы местами). Покажем, что введенное отображение удов-
летворяет (3.19), (3.20). Условие (3.19) выполняется по опре-
делению. Покажем выполнение условия (3.20). Рассмотрим не-
тривиальный случай с g=h—o (случаи с g=e или h=e оче-
видны) . Тогда
VceX (оо)с—о2с=ес=с, о(ос) =,<я:3с2е1==с1е2е3=е,
откуда и вытекает справедливость (3-20). По условиям задачи
искомое число N совпадает с числом G-орбит, а значит, исполь-
зуя лемму Бернсайда, имеем W —-~(W(о)). Заметим, что
. дг(е)=:|Х| =23=8;
/V (а) == I {сеХ| ocic2c3—ctc2c3} | = | {сеХ | c3c2Ci =
—C1C2C3} I = I {сеХ I с, —с3} | = 22 =4,
а следовательно, W= -^-(84-4) =6.
Пример 3.22. Составляются
ожерелья из плоских бусин
трех цветов, при этом окраше-
на только одна сторона бусин.
Каждое ожерелье состоит из
пяти бусин. Определим число
А7 различных ожерелий. • *
Пронумеруем бусины в оже-
релье, начиная с некоторой бу-
синьг .и увеличивая номера в процессе обхода ожерелья .в на-
правлении, обратном движению часовой стрелки (рис. 3.5,а).
Каждой бусине можно поставить в соответствие один из трех
возможных цветов, например, к (красный), г (голубой), з (зе-
леный). Тогда любое раскрашивание ожерелья с пронумерован-
ными бусинами можно описать упорядоченным набором цветов
длины 5, предполагая, что i-й элемент этого набора соответст-
вует цвету i-й бусины. Например, упорядоченная пятерка с=
=х=-<к, г, з, к, к> означает, что первая бусина окрашена в крас-
ный цвет, вторая — в голубой и т. д. (рис. 3.5,6). Рассмотрим
множество X раскрашиваний ожерелья с пронумерованными бу-
синами, т. е.
X={cz=<ci, с2, с3, с4, с5>|сге{к, г, з}} = {к, г, з}5.
Очевидно, что [Х| = |{к, г, з}|5=35 =243. Рассмотрим так-
же группу G вращений ожерелья на плоскости (вокруг центра
этого ожерелья), совмещающих его с самим собой. При этом под
композицией аОр двух произвольных вращений a, будем
понимать результат последовательно применяемых к ожерелью
вращений р, а (т. е. сначала выполняется вращение р, а затем
к полученному результату применяется вращение а). Очевидно,
что группа G состоит из пяти элементов — вращений (против
часовой стрелки) на углы 2ni/5, где i=0, 1, 2, 3, 4. Обозначим
элементы группы G величинами соответствующих углов.
Заметим, что рассматриваемая в этой задаче группа G яв-
ляется коммутативной, что делает излишним указание, в какой
последовательности надо осуществлять вращения в композиции
аОр. Однако в других задачах группа вращений может оказать-
ся некоммутативной, и тогда указание последовательности вра-
щений при •определения композиции аСф является необходимым
(мы, естественно, сохраним выбранное определение композиции
и при решении всех последующих задач).
Поставим в соответствие каждому вращению aeG подста-
новку Ti на множестве номеров бусин {1, 2, 3, 4, 5} такую, что
Для любого /е{1, 2, 3, 4, 5} тв (t) будет номером i-й бусины оже-
релья, полученного в результате вращения а, относительно ис-
ходного положения ожерелья (это можно представить себе так:
одно ожерелье закреплено на плоскости и с ним совмещается
некоторое подвижное ожерелье, к которому применяется вра-
щение а). Тогда т0=е, т2л/$ =(1 2 3 4 5), т4я/5 =(1 3 5 2 4),
''бл/з =(1 4 2 5 3), Т8л/5 ==(1 5 4 3 2). Обозначим 7’={е, т^б.
т4л/б , Тбя/Б > твя/б }- Непосредственной проверкой убеждаемся, что
отображение аг->-тв группы G на Т является биекцией. Заметим
Далее,, что (по определению композиции О и отображения а->т*)
выполняется
Va, peG таОз=Та^, (3.26)
N*—1529 149
откуда следует, что группа G изоморфна группе TczSs (для до-
казательства того, что Т — группа, можно воспользоваться фор-
мулой (3.26), а также тем, что то=е). Но тогда группы G и Т
для нас неразличимы и для простоты будем считать, что G=?\
Определим отображение <Zg, O-^gc прямого произведения
GXX в X. Пусть
VceX, VgeG gc=g<clt а, с3, с*. cs>—<cg-i^, Cg-i^
с1г‘&} • св-'т • с«-*(б) >
т. е. VceX, VtaeG —раскрашивание, получающееся в ре-
зультате вращения а ожерелья с раскрашиванием с. Например,
'с2л/5 <К, к, -к, г, з>=<з, к, к, к, г> (рис. 3,6, a — раюкраши-
вание с—< к, к, к, г, з>, рис. 3.6,6 — раскрашивание х^с).
Покажем, что введенное отображение <g, c>-+gc прямого
произведения G%X в X удовлетворяет (3.20) (выполнение (3.19)
очевидно). Докажем справедливость (3.20). Пусть т«, TpeG.
Тогда та (т?с) —Ta<cT_lp(lj. сг~^(5) >• Обозначим
==ст-‘р(О> 2> 3, 4, 5. Используя введенные обозначения,
получаем
Т«(т₽С)=Та<С'ь ..., c's> = <c'rie(l), .... С'д-ie (5) > —
= <сг-'₽(т-‘.(1))....ст-<р(т-‘а(5» > = <c(t.^)-,(l)--
••• С(г.М-(6) >=(Х.МС.
т. е. условие (3.20) выполняется.
Вернемся к исходным ожерельям с непронумерованными бусинами. Ид
число ДО равно количеству орбит при действии группы G на множестве X,
и в силу леммы Бернсайда имеем
х л<«)- т[Л,(г)+1+л,(т‘"'51+л,(’6"'5’+
1 I gc~G
Заметим, что вращение иа угол 0 оставляет на месте лю-
бое раскрашивание, а следовательно, N(e) — |Х| =35 =243. Вра-
щение на угол 2л/5 оставляет
1 1
а) б]
Рис. з 6
на месте раскрашивания, «при
•которых бусина с номером *
окрашена так же, как и
бусина с номером пг’эдв^)»-
г=], 2, 3, 4, 5, т. е. если
=cs=c^~cs=C2 (все бусины
окрашены в один цвет). Оче-
видно, что возможны три та-
ких раскрашивания, а зиачитг
)=3. Аналогично по-
150
лучаем N\(x&tij5 )=3, i=2, 3, 4, и, следовательно, N=~(243+
^-4-3) =255/5=51.
Пример 3.23. Пусть Q={1, 2, ...» п}—множество номеров
элементов некоторой фигуры Ф; R— конечное множество цве-
тов, в которые могут быть окрашены элементы фигуры Ф; X—
{<<ч, .... cnZ> |c^R, i = l, 2, .... n}=Rn — множество раскра-
шиваний фигуры Ф. Пусть, далее, о — некоторая подстановка из
Sn (т- е. o:Q->Q). Определим действие подстановки о на про-
извольное раскрашивание сеХ по формуле
огс=а<С1, с„> = <са„10), .... >. (3.27)
Выведем формулу для 7V (о)—числа раскрашиваний, остаю-
щихся на месте при действии на них подстановки а. Разложим о
в произведение независимых элементарных циклов
0=0!...^, (3.28)
где k — количество циклов (в (3.28) учитываются и все циклы
длины 1).
Напомним, что каждому элементарному циклу (6 i2... im) со-
ответствует ог-орбита {и, /а.im}> н при этом совокупность всех
<г-орбит является разбиением множества {1, 2, .... п]. Пусть с —
некоторое раскрашивание фигуры Ф, которое остается на месте
прн действии на него подстановки о. Для любого цикла о,=
-=(й it ... im), входящего в разложение (3.28), имеем
iz=crl (1’3), ...»im-i=o_,(bn),
откуда, используя то обстоятельство, что с=ос, в силу (3.27)
получаем
С im = (im) — CiM_l = СО”1 {im-1) — С1т-2 = • • •=с а -»(t2) = с к »
з следовательно, элементы фигуры Ф, входящие в одну и ту же
о-орбиту, должны быть окрашены одинаково. Поскольку о-ор-
бпты попарно не пересекаются, то они могут быть окрашены
независимо друг от друга. Но тогда по правилу произведения
W(o) = |/?|ft.
Пример 3.24. Составляются ожерелья из плоских буенн трех
Цветов, окрашенных одинаково с обеих сторон. Каждое ожерелье
состоит из пяти бусин. Определим число ZV различных оже-
релий.
По сравнению с примером 3.22 к группе вращений G фигу-
ры, изображенной на рис. 3.5, а, добавляются осевые преобра-
зования симметрии. У этой фигуры, очевидно, пять осей сим-
метрии: I* /3, k /з, где Vie{l, 2, 3, 4, 5} Zf —прямая, прохо-
дящая через i-ю бусину и центр окружности, на которой рас-
положены бусины в ожерелье. Тогда, например, преобразовав
10** 151
нию симметрии относительно оси Ц соответствует подстановка
oi==(l) (2 5)(3 4). Используя пример 3.23, получаем
= 33=27. Аналогично рассматриваются преобразования сим-
метрии относительно других осей. Но тогда в силу леммы Берн,
сайда имеем ЛГ=-^-(35Ч-4-3-|-5-33)=39.
3.2.5. Запас. Производящая функция запаса
Множество исследуемых объектов в комбинаторике часто называют
запасом. Пусть А — запас, К — коммутативное кольцо с единицей (напри-
мер, кольцо многочленов), a w — отображение вида w.A-^K. Будем w(e)t
где аеД, называть весом элемента а, а отображение w — весовой функцией.
Сумма весов всех элементов запаса А называется производящей функцией
запаса А и обозначается 1Г(Д), т. е. №(Д)— S w(a).
at=A
Приведем примеры некоторых производящих функций:
1. Пусть запас — множество всех подмножеств некоторого
конечного множества X, где |Х|— п. Поставим в соответствие
каждому множеству УеР(Х) вес w (У) =th, где k— | У|. Так как
число ^-элементных подмножеств n-элементного множества рав-
няется Ckn, то
№(Р(Х)) = 2 СМ*
л=о
или с учетом утверждения 3.10
W(P(X)) = 2 СМ*=(1-Н)П-
л=о
С помощью полученной производящей функции можно выво-
дить различные свойства чисел Скп. Положив, например, t—1,
имеем
2 С*я=2".
*-о
Заметим далее, что для любых натуральных tn, п выполняет-
ся цепочка равенств
т+п
2 CV,+J'‘=(l+/)>»+"=(H Om(l+0"=
л-о
т п т+п k
= 2 2 С>„«;= 2 2
i-О /-0 л-о S-0
откуда получаем тождество Коши
Ckm+n= 2 С^С*^, k=0, 1.......m+n.
s—0
2. Пусть X — конечное множество, |Х| — п, а запасом А яв-
ляется совокупность различных разбиений множества X на k
J52
подмножеств в предположении, что подмножества в каждом
разбиении расположены в строго определенном порядке. Поста-
вим в соответствие каждому разбиению Xi, —» Хк множества X
вес w(Xi,Xh) :
w(Xi..Xk)=tinit2ns.^knil> где rif=|Xij, £-=1, 2, ..., k.
В этом случае, используя утверждение 3.10, для производя-
щей функции запаса А имеем
W (Л) = S Сп п* /, = (Ь+...+/*)”,
П1+...+пк=п
откуда, полагая, например, = получаем. тождество-
+«Л=Я
3. Пусть Х~{х..хп}. Поставим в соответствие произволь-
ной неупорядоченной выборке с повторениями объема k из мно-
жества X вес /л. Пусть также для каждого номера ie{l, 2, .....
п} имеются ограничения на число повторений элемента х,- в вы.-
борке, задаваемые рядом
2 си»,
j—o
где Cf= О’ еслн в выборку могут войти ровно /'элементов хе;
*3 10 — в противном случае.
Очевидно, что производящая функция запаса всех допусти-
мых сочетаний с повторениями равняется
П оо
П 2 Cijti.
i=i 3=0
Например, если в выборке допустимо ие более чем двукратное-
повторение каждого элемента Xi, то производящая функция име-
ет вид (1-Н-Н2)"-
3.2.6. Цикловой индекс группы,
действующей на множестве
Пусть G — конечная группа, X—конечное множество, где |Х|=-
^п. Пусть также т — некоторая реализация группы G в S(X),_
определяющая действие группы G на множестве X (т. е. зада-
ющая отображение <Zg, x>-+gx прямого произведения GXX
в X, удовлетворяющее (3.19), (3.20)). Для любого элемента.
обозначим через jk[g) количество циклов длины k в раз-
ложении подстановки rg&S(X) в произведение независимых
153:
элементарных циклов, где &=1, 2, п. Каждому элементу
;g^G подставим в соответствие вес
wc (g) /2-..U"(3.29)
«(т. е. элемент кольца Z[th ...» /п]). Тогда цикловой индекс Р (G,
X, tb ..., tn) группы Gt действующей на X, есть многочлен от пе-
ременных /1,1п, определяемый формулой
P(G, X, м =
=Т7Г S «•«<« = 77Т 2 ь'г(8) ‘•Ме)- (3-30)
1°1Й#О lGlgcG
Пример 3.25. Пусть Х={1, 2.... 10}, G — группа, действую-
щая на X, и для некоторого элемента g^G выполняется равен-
ство
fl 23456789 10 \
тб=(9 618527 10 34 J*
Определим вес w(g) по формуле (3.29). Имеем
-= (1 9 3) (2 6) (4 8 10) (5) (7), откуда №G(g)=02WJwo=B
=W32-
Пример 3.26. Пусть G — группа вращений на плоскости фи-
гуры Ф (рис. 3.7) вокруг центра этой фигуры, совмещающих ее
с самой собой, Х«{1, 2, 3, 4, 5} — мно-
жество номеров элементов фигуры. При
этом (как и в примере 3.22) под компо-
зицией сЮр двух произвольных враще-
ний a, peG будем понимать враще-
ние, являющееся результатом последова-
тельно применяемых к фигуре Ф враще-
ний р, а г(т. е. сначала выполняется вра-
щение р, а затем к полученной в резуль-
тате вращения р фигуре применяется
вращение и). Очевидно, что группа G
состоит из четырех элементов — враще-
ний (против часовой стрелки) на углы
:2nt'/4, i=0, 1, 2, 3. Обозначим элементы группы G величинами
соответствующих углов. Поставим в соответствие каждому вра-
щению ggG подстановку TaeS(X)=S5 такую, что для любого
fcX Та (г) будет номером i-ro элемента фигуры, полученной в
результате вращения а, относительно исходного положения фи-
гуры. Тогда т0=е, тЛ/2 =(1 4 3 2) (5), тЛ='(1 3)(2 4) (5),
^зл/2=(1 2 3 4) (5).
1 2
s'
4 3
Рис. 3.7
Заметим, что по определению композиции вращений О и отображения
группы G в S5 выполняется Va, ₽eG raOg= та*=р, откуда следует, что
отображение т: G->-S5, ставящее в соответствие каждому элементу' asG
подстановку тйе551 является гомоморфизмом, т. е. т — реализация группы
G в S(X'). При этом в соответствии с (3.30) цикловой индекс группы G,
действующей на множестве X, равен
P(G, X, ti, h. 6, Ь, М У] wGte) =
IgI~=g
-у(№о(0) + №о(я/2) + №о(л) +
5154
4- wG (Зл/2)) (6e+fA+M?+W - -j-(Л5+2/,/4+ W). (3.31)
3.2.7. G-эквивалентные отображения
Предположим, что сохраняются условия, описанные в разд. 3.2.6.
Пусть, далее, /? — некоторое конечное множество. Две функции,
fi, fz^Rx будем называть G-эквивалентными и обозначать
если HgeG: Vx&Y f। (x) =fz (gx), или, что то же самое, если
3£GeG: Vx€=X (х) =f2 (g~lx).
Очевидно, что введенное бинарное отношение ~ на множе-
стве Кх является эквивалентностью, а следовательно, оно по-
рождает разбиение множества Rx на классы эквивалентности
Пусть каждому элементу r<=R придан некоторый вес w4r)eK, где
К—кольцо многочленов над Z от некоторых переменных. Тогда вес функцию
feR* есть, по определению, w(f)= П (/(.<)). Если fi~h, то очевидно,
х^Х
что w(/i) = w(f2), поэтому можно определить вес класса эквивалентности
w(F), где как вес w(f) любого элемента f^F.
Пример 3.27. Пусть К= {красный, голубой}—множество-
цветов, Х={1, 2, 3, 4, 5} —множество элементов фигуры Ф, рас-
смотренной в примере 3.26. Тогда любое отображение f: X-+R
можно рассматривать как раскрашивание элементов фигуры Ф
в цвета из R. Придадим красному цвету вес а, а голубому —
вес b (заметим, что о, b — элементы кольца Z[a, b)). Тогда,-
например, любое раскрашивание f такое, что два элемента фи-
гуры Ф окрашены в красный цвет, а остальные три элемента —
в голубой, имеет вес w(f)=a2b3. Пусть далее на множестве X
действует группа G, взятая из примера 3.26. Тогда в соответ-
ствии с введенным выше определением раскрашивания ft, f?
являются эквивалентными, если SaeG: VteX fi(i)=f2(a-1i),
т. е. если найдется такое вращение aeG, что при совмещении
фигуры Ф с раскрашиванием ft с фигурой, получаемой из фигу-
ры Ф с раскрашиванием /2 вращением на угол а (против часо-
1555
вой стрелки), совмещенные друг с другом элементы будут ок-
ращены одинаково. Например, раскрашивания flt f2, показан-
ные на рис. 3.8, а, б, эквивалентны, так как при совмещении фи-
гуры Ф с раскрашиванием f\ с фигурой, получаемой из фигуры
Ф с раскрашиванием /2 вращением на угол л/2 (против часовой
стрелки), совмещаемые элементы раскрашены одинаково (см.
на рнс. 3.8, в результат вращения фигуры Ф с раскрашиванием
f2 на угол л/2; сравните с рис. 3.8,а). При этом VieX fi(i)==
=M(*/2)-i).
3.2.8. Производящая функция запаса
классов эквивалентности
Предположим, что сохраняются условия, описанные в разд. ЗД6 и 3.2.7.
Пусть запас — множество классов эквивалентности Возникает
вопрос: какова производящая функция запаса ^w(F)?
F
Зная производящую функцию запаса, можно решать некоторые доста-
точно сложные комбинаторные задачи. Действительно, пусть, например,
.R — {П. rz}, w(ri) — a, w(r2) =Ь и известна производящая функция запаса’
представленная в виде
У cnika"b*
(т. е. приведенная к виду многочлена, где суммирование в выражении
справа производится по всем целым неотрицательным т, А, удовлетворяю-
щим равенству m+k=n). Но тогда известны н все числа сть, выражающие
количество классов эквивалентности веса атЬк. Этн числа дают ответы на
многие прикладные комбинаторные задачи, в частности, если гь г2 — цвета,
позволяют определить число различных (попарно неэквивалентных) раскра-
шиваний при заданной комбинации цветов. Так, в условиях примера 3.27
число с3,2 выражает количество различных раскрашиваний фигуры Ф таких,
что 3 элемента окрашены в красный цвет, а '2— в голубой; с3,24-сг,з+йл+
+Со,5 —количество различных раскрашиваний фигуры Ф таких, что, по край:
пей мере, 2 элемента окрашены в голубой цвет.
Для практического построения производящей функции запа-
са классов эквивалентности воспользуемся следующей теоремой.
Теорема 3.1 (теорема Пойа). Производящая функция запаса классов
.эквивалентности удовлетворяет равенству
2>(f)-p(g, х. 2 5 2 [»»<>)]"). (3.32)
Р r^R r<=R r^R
где P(G, X, ti, t2t .... tn)—цикловой индекс группы G, действующей на X
Следствие. Если веса wR(r), r^R, выбраны равными 1, то.
число классов эквивалентности равно
P(G,X, |7?|..... |Я|). (3.33)
Пример 3.28. Используя примеры 3.26 и 3.27, определим производящую
«функцию запаса классов эквивалентности. В силу теоремы Пойа, применяй
формулу (3.31), имеем
156
2t»(f) - P(G, X, a + b, a2 + b\ a» + ai + fl5 + Ьъу = _ца + b)s
+ 2(a + b) (a* + 5‘) + {a + b) (a* + b®)2]. (3.34)
Воспользовавшись равенством (3.34), определим, сколькими
попарно неэквивалентными способами можно раскрасить фигу-
ру Ф так, чтобы три ее элемента были окрашены в красный цвет,
а"два — в голубой. Для этого найдем коэффициент с при члене
са?Ь2 в производящей функции запаса классов эквивалентности,
приведенной к виду многочлена. Очевидно, что с=-~ (Css4-2) =
=2-(10-J-2) =3, т. е. существуют три попарно неэквивалентных
4
способа раскрашивания с заданной комбинацией цветов. Ис-
пользуя теперь следствие из теоремы Пойа, получаем, что об-
щее число попарно неэквивалентных способов раскрашивания,
выражаемое формулой (3.33), равно
-~(2s+2-22+2’) = 12.
3.2.9. Обоснование теоремы Пойа
Для доказательства теоремы Пойа потребуются некоторые вспо-
могательные утверждения. Для любого натурального числа I
обозначим А«{1, 2, ..., /}.
Утверждение 3.15. Пусть К'— коммутативное кольцо; ац^К, i= I,...,
k, т. Тогда
И S Оц = У, II ^(0, (3 35)
где 7^ — множество всех отображений <р:
Доказательство проведем индукцией по k. Очевидно, что прн k = 1 ра-
венство (3.35) выполняется. Пусть оно справедливо и при k — 1 (где А^2).
Покажем его выполнение при k\
* т k~l т tn Л—1 \ т
<Ei (<Ui 1 (S ,21 ai, ф(о tвь
ted*-*'
= 2 Д OM(S1°r.<p(o= 21 ф(0’
1 <P^m*
Утверждение 3.16. Пусть XltXk — непустые подмножества множест-
ва X, образующие разбиение множества X, т, е.
U Xt = X, Xi № = 0 при
157
тПусть далее k. Тогда производящая функция запаса
функций из Rx, принимающих постоянные значения на каждом из Xt, равна
П 2 £Ыг)]"’ . (3.36)
Рассмотрим класс функций R*, где X— {Xf.......X*}. Определим веса
да(<р) функций <pegx по формуле
*
w(<p) - И (И’«(Ф(А<))]П‘.
Очевидно, что между функциями из рассматриваемого запа-
са и функциями из Rx можно установить взаимно однозначное
соответствие. Для этого каждой функции f: рассматри-
ваемого запаса поставим в соответствие функцию ф/^2?х такую,
что Vie{l, k} ф/(Х{) =f (xt), где х^л?. При таком соответ-
ствии, очевидно, w (ф/) —w (f), а следовательно, производящая
функция рассматриваемого запаса совпадает с производящей
функцией запаса Rx. Но тогда для доказательства утверждения
3.16 осталось заметить, что в силу утверждения 3.15 произво-
дящая функция запаса Rx выражается формулой (3.36) (здесь
Л£3=[адк(г3-)]«’, где Я = {гь ...» г™})-
Теперь докажем теорему Пойа.
Пусть D — множество значений весов элементов f^Rx и
H(d) = w (f) =d}, где d^D. Пусть группа G действует
на H(d) и при этом Vf(=H(d) gf определяется по правилу
(gf) (x)=f(g~lx), хе=Х.
Заметим, что Vfetf(d), VgeG gf~f, а следовательно,
VfeH(d), VgeG gf^H(d). Покажем, что введенное отображе-
ние <g, f>^gf прямого произведения GyH(d) в Н(d) дей-
ствительно удовлетворяет условиям (3.19), (3.20). Условие
(3.19) очевидным образом выполняется. Покажем справедли-
вость (3.20). Действительно, Vg, h^G, обозначив f—hft имеем
[ Wl)J] (х) =f ( (gft)-‘x) (/H (g~»X) ) =f (g-’x) =
= (fif) W = [g W) 1 (*). x(^X-
Используя лемму Бернсайда, получаем
vd«=D |//(d)/~| = ~ 2 1{М(Ш»Я|. (3.37)
I Ql g^G
Заметим, что VF^Rx/~ где d=w(F), откуда
VF€=Rx/~ F€=H(w(F})/~> (3.38)
158
Пусть d^D. В силу (3.38) имеем |w(f’)=d}e
^H(d)l~. Покажем также противоположное включение. Пусть
Fi^H(d)/~. Рассмотрим произвольную функцию f^Fi, а также-
класс эквивалентности такой, что feF. Тогда w(F) =
^w(f)=d, а следовательно, в силу (3.38) FgH (djl~. Таким
образом, F, F[(=H(d)/~, Ff\Fi^=0“ откуда в силу утверждения
0.6 F=Fi, т. е. Fi^{FgRx/~ \w(F)=d}. Итак, мы доказали,,
что
VdeD {Ff=Rxl~\w(F)==d} = H(d)l~. (3.39)
Используя теперь тот факт, что Н (di)f]H (dz) =0 при
di#=^2, в силу (3.39) получаем, что {H(d)/~ jrfeZ?} — разбие-
ние множества Rx/~, откуда, воспользовавшись (3.37), а также
тем, что NF^H(d)/w(F)—d, имеем
2 мп- 2 2 «хп- 2 ditf(n/~i=
F*=RX]~ de=D Ff==H(d)J~ dt=D
deD |G| Д
=^7 2 2 2 mo =
'G'geG d<=D f€={fe/f(d)|£f = f)
- 2 2 »(f) • (3.40>
‘°’ ge=G feVeR*|gf = n
Заметим, далее, <no Vge=G подстановка xe разбивает множество X иа
т£-орбиты X«>i, .... где k(g) — число орбит. Обозначим ru(g)=~-
= |.v«)f|, где i=l, ...» k(g). Нетрудно видеть, что
gf =^ч=Ф-¥1'е {1,..., A(g)} SqeR: VxeX«i Дх)»й.
Но тогда, используя утверждение 3.16, в силу (3 40) получаем
2 к,(П=т^2 2 “’tf)-
F*=R'l~ l^lgeG fejfsR^lgf-n
= 7^-2 ки i2 [<мг)1в*(/?) =
»°lge=G h==R
iSi 2 A12 1«-нг)Г|Л(«) =
^JgeG *=1 rt=R
^PtG.'X'^ wR(r), У кл(г)Р,~У [^«(r)]n).
rc=R reR r&R
159’
Задачи и упражнения
1. На квадратных листах бумаги пишут пятизначные числа
от 0 до 99999. Если в некотором числе менее пяти значащих
цифр, то его дополняют слева нулями (например, пишут 00536
вместо 536). Считается, что после вращения листа на угол «
цифры 0, 1, 8 не меняются, а цифры 6, 9 переходят друг в дру.
га. Сколько нужно иметь листов бумаги для записи всех чисел
с учетом возможности вращения листов?
2. Составляются ожерелья из плоских бусин трех цветов, ок-
рашенных одинаково с обеих сторон. Каждое ожерелье состоит
из шести бусин. Определить число различных ожерелий.
3. Определить, сколькими способами можно раскрасить тре-
мя цветами пронумерованные элементы фигуры Ф. Два способа
раскрашивания считаются одинаковыми, если один получается
из другого вращением фигуры на плоскости (вокруг центра Ф).
Варианты фигуры Ф показаны на рис. 3.9, а, б.
4. Определить, сколькими способами можно раскрасить тре-
мя цветами (красным, голубым, зеленым) пронумерованные
элементы фигуры Ф, предполагая, что nt элементов должны быть
окрашены в красный цвет, — в голубой, пз— в зеленый. Два
способа раскрашивания считаются одинаковыми, если один по-
лучается из другого вращением фигуры на плоскости (вокруг
центра Ф). Варианты фигуры Ф показаны на рис. 3.9,а, б. Со-
ответствующие им наборы значений т, пъ пз равны щ=3, nz —
=4, п3=2 или П1 = 1, П2=4, п3=4.
5. Решить задачи 3 и 4 в предположении, что два способа
раскрашивания считаются одинаковыми, если один получается
из другого вращением фигуры Ф на плоскости (вокруг центра
Ф) или в результате осевого преобразования симметрии.
160
КОНЕЧНЫЕ
ГРАФЫ
И СЕТИ
ГЛАВА 4
4.1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ
Прежде чем определить понятие конечного графа в наиболее
общей форме, представим себе на плоскости (или в веществен-
ном аффинном пространстве произвольной размерности k) не-
которое конечное множество V точек и конечный набор X линий,
соединяющих некоторые пары точек из V. Указанной геометри-
ческой конфигурацией описывается, например, схема автомо-
бильных дорог, связывающих города некоторой области
(рис. 4.1).
Для многих задач оказывается несущественным, соединены
ли точки конфигурации отрезками прямых илн криволинейными
дугами (например, при решении задачи о нахождении маршру-
та движения по дорогам, связывающего два заданных города
и проходящего через минимальное число дорог). Важно лишь
то, что каждая линия соединяет какие-либо две из заданного
набора точек. При рассмотрении подобных задач достаточно
ограничиться исследованием совокупности двух конечных мно-
жеств V, X, где V—непустое множество, X — некоторый набор
пар элементов из V вида (о, w). Введенная пара множеств
(V, X) допускает также многочисленные другие интерпретации
и является предметом детального изучения в математике. Эле-
менты множества V будем называть вершинами, а элементы
набора X — ребрами. В общем случае в наборе X могут встре-
чаться пары с одинаковыми элементами вида (о, о), а также
одинаковые пары. Ребра вида (о, о) назы-
ваются петлями. Одинаковые лары в X назы-
ваются кратными (илн параллельными) реб-
рами. Количество одинаковых лар (v, w) в X
называется кратностью ребра (ц, w). Про
множество V и набор X будем говорить, что-
они определяют граф с кратными реб-i
Рами и петлями (или псевдограф) Рис’41
’G=(V, X). Псевдограф без петель на-
161
зывается графом с кратными ребрами (или мультиграфом). Ес-
ли в наборе X ни одна пара не встречается более одного разаъ
то мультиграф (V, X) называется графом. Если пары в на*
боре X являются упорядоченными, то граф называется ориенти-
рованным (кратко — орграфом). Ребра орграфа называются ду-
гами. Если пары в наборе X являются неупорядоченными, то
граф называется неориентированным графом (или просто гра*
фом). Ребра в неориентированном графе (в отличие от дуг в ор-
графе) будем обозначать {v, да}. Неориентированные графы бу-
дем обозначать буквой G или G с индексами (например, G®,
6’1,...), а орграфы — буквой D или D с индексами (например, D®,
Di, ...). Кроме того, договоримся обозначать вершины буквами v,
и, да (без индексов или с индексами), а ребра и дуги—буквами х,
у, z (без индексов или с индексами).
Всюду далее будем соответствующую некоторому графу гео-
метрическую конфигурацию, в которой вершины изображены
кружочками, а ребра — линиями, соединяющими соответствую-
щие вершины, называть изображением этого графа. Прн изо-
бражении орграфа направления дуг будем отмечать стрелками,,
примыкающими к их концам.
Пример 4.1. Пусть У=={щ, ц2, ц3, о4}, X={xj = (ai, t/2)^
х2=(щ, и2), х3=(ц2, Уг)» х4=(02, оз)}- Тогда D=(V, X) —
ориентированный псевдограф, изображение которого приведено
на рис. 4.2.
Пример 4.2. Пусть У={щ, ц2, о3, о5}, = = и2}„
х2={ц2, ц3}, х3={ц2, tu}» *4 = {оз, щ}}. Тогда G=(V, X) —
неориентированный граф (нли просто граф), изображение ко-
торого дано на рис. 4.3.
Приведем ряд понятий и определений для ориентированных
и неориентированных графов. Там, где это не оговорено особое
те же понятия и определения переносятся без изменений на ори-
ентированные и неориентированные псевдографы.
4.1.1. Смежность, инцидентность, степени
Если x={v, да}—ребро графа, то вершины v, да называются
концами ребра х; в этом случае также говорят, что ребро х
соединяет вершины и, да.
Если х— (ц, да)—дуга орграфа, то вершина о называется
началом, а вершина да — концом дуги х; в этом случае также
говорят, что дуга х исходит из вершины v и заходит в верши-
ну да.
162
Если вершина v является концом (началом или концом) реб-
ра (дуги) х, то говорят, что v и х инцидентны.
Вершины v, w графа G== (V, X) называются смежными, ес-
ли {v. ©}еХ. Два ребра называются смежными, если они име-
ют общую вершину.
Степенью вершины v графа G называется число б (и) ребер
графа <?, инцидентных вершине о. Вершина графа, имеющая
степень 0, называется изолированной, а степень 1 — висячей.
Замечание 4.1. В случае неориентированного псевдографа
обычно считается, что вклад каждой петли, инцидентной неко-
торой вершине о, в б(«п) равен 2 (тогда как вклад любого дру-
гого ребра, инцидентного вершине о, равен 1).
Полустепенью исхода (захода) вершины v орграфа D назы-
вается число б+ (ц) (б^(о)) дуг орграфа D, исходящих из вер-
шины v (заходящих в вершину о).
Замечание 4.2. В случае ориентированного псевдографа вклад
каждой петлн, инцидентной некоторой вершине о, равен 1, как
в б(о), так и в б~(ц).
Пример 4.3.
1. В графе G (см. пример 4.2) концами ребра ла являются
вершины vi, ц2; вершина и2 инцидентна ребрам xi, х2, х3; сте-
пень вершины и2 равна 3, т. е. б(ц2)=3; вершины v2 смеж-
ные, ребра х2 смежные; вершина -vt висячая; вершина и$
изолированная.
2. В ориентированном псевдографе (см. пример 4.1) дуга xi
исходит из вершины vi и заходит в вершину v2‘, вершина v2 ин-
цидентна дугам xi, х2, х3, б+(ц2) — 2, б~(о2)=3.
Количество вершин и ребер в графе G обозначим соответст-
венно через n(G) и m(G), а количество вершин и дуг в орграфе
D — через n{D) и т(Р).
Утверждение 4.1 Для любого псевдографа G выполняется равенство
2 6(c)-2m(G). (4.1)
oeV
Равенство (4.1) является очевидным следствием того, что вклад каждого
ребра в сумму из левой части (4.1) равен 2.
Приведем также соответствующее утверждение для орграфа.
Утверждение 4.2. Для любого ориентированного псевдографа D выпол-
няется равенство
2 6+м- 2 е-м=«(»)• (4.2)
veV vc~V
Доказательство (4.2) очевидно.
4.1.2. Изоморфизм, гомеоморфизм
Графы Gi= (Vi, Xt) и G2= (У2, Х2) называются изоморфными,
если существует биективное (взаимно однозначное) отображе-
ние <р: K-»-V2, сохраняющее смежность, т. е. {ц, ад}еХк=>
ф(&у)}ел2. Соответственно орграфы Di=(n, Xi) и
163
D2—(Уг, Xz) называются изоморфными, если существует биек-.
тивное отображение ф: Vr+Vz такое, что
(v, иу)еХг4=>(ф(.ц), ф(йу))еХ2. (4.3)
Замечание 4.3. Из определений следует, что изоморфныр .гра-
фы (орграфы) отличаются лишь обозначением вершин.
Приведем следующие очевидные свойства изоморфизма;
1) если графы Gt=(Vi, Xi), G2=(V2, Xz) изоморфны и
Ф : У1->У2 — биективное отображение, сохраняющее смежность,
то: a) VoeVi б (о) =б(ф(о)); б) m(Gi)=^m(Gz)t n(Gx) =
=n(G2yt
2) если орграфы Di=(Vi, Xi), D2=(V2, Xz) изоморфны и
Ф : У1->Уг — биективное отображение, удовлетворяющее (4.3),
то: a) VoeVi б+(и) ==б+(ф(о)), ъ~(о) =6-(ф(у)); б) /n(Dj.=x
= /n(D2), n(Di) =n(Dz).
Замечание 4.4. Для псевдографов определение изоморфизма
несколько усложняется. Псевдографы Gi= (Vt, Xi), G2== (У^Хг)
называются изоморфными, если существуют два таких биектив-
ных отображения ф: 1Л->У2, ф : Xt->X2, что Vx— {о, w}.^Xt
ф(х)={ф(у), ф(ад)}. Это означает дополнительное требование
на сохранение кратностей соответствующих ребер. Аналогично
ориентированные псевдографы Di=(Vt, Xi), Z>2= (Va, Хг)'на-
зываются изоморфными, если существуют такие биективные
отображения ф : Vi-^Уг, ф : Xt->X2, что Vx= (a, w)eXi ф.(х)т=
= (ф(а). фИ)- 7 ’
Нетрудно показать эквивалентность приведенных определе-
ний изоморфизма для случая, когда в G», G2 (в Dlt D2) отсутст-
вуют кратные ребра (дуги). ' .'j
Пример 4.4. Графы, изображенные на рис. 4.4, а, б, изоморф-
ны, но они не изоморфны графу, изображенному на рис.. 4-4, в
(почему?).
Отметим, что изоморфизм графов (орграфов) является от-
ношением эквивалентности на множестве графов (орграфов).
Операция подразбиения (измельчения) дуги (w, v) в оргра-
фе jD— (V, X) состоит в удалении из X дуги (и, v), добавлении
к V новой вершины w й добавлении к X\{(w, »)} двух дуг («,
w), (а>, о). Аналогично определяется операция подразбиения
ребра в графах. *, >
Орграф Di называется подразбиением орграфа D2, если, ор-
граф Di можно получить из D2 путем последовательного приме-
нения операции подразбиения дуг. Аналогично определяется
подразбиение графа.
а) в) Рис, 4,4 164 а) 1) Рае, 4,5
Пример 4.5. Граф, изображенный на рис. 4.5, а, является под-
разбиениегл графа, изображенного на рис. 4.5, б.
Орграфы Di, D2 (графы Gt, G2) называются гомеоморфными,
-если существуют их подразбиения, являющиеся изоморфными.
Пример 4.6. Графы, изображенные на рис. 4.5, гомеоморфны.
4.1.3. Маршруты, пути
Введем понятие маршрута для графа G=(V, X) (и соответст-
венно понятие пути для орграфа D=(V, X)). Последователь-
ность
Г1Х1У2Л'2Уз...Хйил+1 (4-4)
(где Vi(=V, i—1, .... Xj^X, j~l, ..., k), в которой
чередуются вершины и ребра (дуги) и для каждого j—1, .... k
ребро (дуга) Xj имеет вид {uJt vj-ы} ((Vj, »ж))» называется марш-
рутом, соединяющим вершины щ, f/u-i (путем из t?i в оАЧ). При
этом vt называется начальной, —конечной вершинами
маршрута (пути) (4.4), а остальные вершины — внутренними.
Одна и та же вершина может одновременно оказаться началь-
ной, конечной и внутренней. Последовательность вершин в мар-
шруте определяет на ребрах, входящих в маршрут, ориентацию.
Заметим в этой связи, что ориентацию некоторого ребра х—
= {w, w} всегда можно указать при записи его как пары вер-
шин. Например, запись {о, w} указывает на то, что ребро х
ориентировано от вершины о к вершине ш.
Пример 4.7.
1. Последовательность щх1с.’2Хза4х4&з— маршрут, соединяю-
щий вершины Oi, v3 в графе G (см. пример 4.2).
2. Последовательность 01X2^2X3^2X4^3 — путь из Oi в и2 в
ориентированном псевдографе D (см. пример 4.1).
Замечание 4 5, Последовательность (4.4) можно однозначно
восстановить по последовательности
xix2...xfe (4.5)
(если (4.4) — маршрут, предполагается, что в последовательно-
сти (4.5) дополнительно указывается ориентация ребер, опре-
деляемая маршрутом (4.4)), а следовательно, вместо (4.4) мож-
но использовать более короткую запись (4.5). Отметим далее,
что в случае, когда в последовательности (4.4) xi, ..., х* имеют
кратности, равные 1. ее можно однозначно восстановить по по-
следовательности вершин
0102...с^ь (4.6)
а следовательно, вместо (4.4) также можно использовать более
короткую запись (4.6). В общем случае вместо последователь-
ности (4.4) можно использовать сокращенную последователь-
ность, в которой опущены все Xi кратности 1.
155
Пример 4.8.
1. Последовательности xix3x4, 0|0204t4— сокращенные записи
маршрута, приведенного в примере 4.7, n. 1.
2. Последовательности *2*3*4, О1Х2О2О2О3— сокращенные за-
писи пути, приведенного в примере 4.7, п. 2.
Пусть Xix2...xft— маршрут в графе G (см. замечание 4.5) и
для некоторой последовательности номеров й, ..., ir, где г:>],
XilXj3...xi снова является маршрутом в
графе G. Тогда х/, xit ...Xf называется подмаршрутом маршру-
та *{Х2—хл- При этом будем говорить, что маршрут х/, х1я ...Xt
выделен из маршрута xiX2...*a. Аналогично определяется под-
путь, выделенный из пути орграфа.
Число ребер (дуг) в маршруте (пути) называется длиной
маршрута (пути).
Маршрут (путь) (4.4) называется замкнутым, если его на-
чальная вершина совпадает с конечной, т. е. если щ=он-ь
Замечание 4.6. Далее всюду при подсчете числа вхождений
вершин в замкнутый маршрут (путь) начальную и конечную
вершины будем считать за одно вхождение этой вершины в
маршрут (путь).
Замечание 4.7. При замкнутом маршруте (пути) Х1Х2...хя
обычно считается, что последовательности Х1*2-.хл, х2х-,...хлХ1, ...
..., xftxix2...xfc_i — различные записи одного и того же маршрута
(пути).
Незамкнутый маршрут (путь), в котором все ребра (дуги)
попарно различны, называется цепью. Цепь, в которой все вер-
шины попарно различны, называется простой цепью.
Замкнутый маршрут (путь), в котором все ребра (дуги) по-
парно различны, называется циклом (контуром). Цикл (контур),
в котором все вершины попарно различны (см. замечание 4.6)»
называется простым.
Пример 4.9. Рассмотрим граф G из примера 4.2. Тогда:
1) O1X1U2X3O4X4O3 — маршрут длины 3, соединяющий vu оз; это
простая цепь, так как все ребра и вершины попарно различны;
2) O2X2U3X4O4X3O2 — замкнутый маршрут длины 3; это прос-
той цикл, так как все ребра и вершины попарно различны;
3) 01X102X203X404X302 — маршрут длины 4, соединяющий вер-
шины 01, 02; это цепь, которая не является простой, так как вер-
шина о2 встречается дважды;
4) O1X1O2X2U3X2O2 — маршрут длины 3, соединяющий вершины
oi, о2 и не являющийся цепью, так как ребро х2={02, встре-
чается дважды.
Пример 4.10. Рассмотрим ориентированный псевдограф D иэ
примера 4.1. Тогда:
1) 0iXr02x403 — путь длины 2 из oi в о3; это простая цепь»
так как все дуги и вершины попарно различны;
2) о2х3о2 — простой контур длины 1;
166
3) У1Х2и2х3о2х4Оз— цепь из vt в о3 длины 3, которая не яв-
ляется простой.
Нетрудно показать, что в псевдографах, мультпграфах и
графах минимальная длина простого цикла равна соответствен-
но 1, 2 и 3 (каковы минимальные длины простых контуров в
ориентированных псевдографах, мультиграфах и графах?).
Утверждение 4.3. В псевдографе G (в ориентированном псев-
дографе D) из всякого цикла (замкнутого пути) можно выде-
лить простой цикл (простой контур).
Доказательство будем проводить для G (для D доказатель-
ство аналогично) индукцией по k — количеству ребер в цикле.
При Л = 1 всякий цикл является простым. Пусть при некотором
доказываемое утверждение справедливо для любого цикла
длины ^.k—I. Покажем его справедливость для произвольного
цикла p==t>tXi...D/tx/1t>i длины k. Рассмотрим любые два номера
i, /, где такие, что Vi—v,. Если таких номеров нет,
то цикл р является простым (по определению). Если же ука-
занные номера нашлись, то рассматриваем цикл ViXi...Vj_iXj-iVj
длины /—i^k—1, а из него в силу индуктивного предположе-
ния можно выделить простой цикл.
Утверждение 4.4. Из всякого незамкнутого маршрута (пути)
можно выделить простую цепь с теми же начальной и конеч-
ной вершинами.
Доказательство будем проводить для маршрута (для пути
доказательство аналогично) индукцией по k — количеству ре-
бер в маршруте. При k=l всякий маршрут является простой
цепью. Пусть при некотором k^2 доказываемое утверждение
•справедливо для любого маршрута длины —1. Покажем его
справедливость для произвольного маршрута r]—ViXiV2...xkvli+i,
где длины k. Рассмотрим два номера i, /, где
</’<&+1. такие, что Vj—Vj. Если таких номеров нет, то марш-
рут т) является простой цепью. Если же указанные номера на-
шлись, то рассматриваем подмаршрут
...XhVk+i (т. е. предполагаем, что iVd. случаи, когда
i=l или /=&+!, рассмотрите самостоятельно) длины ^.k—1,
а из него в силу индуктивного предположения можно выделить
простую цепь, соединяющую вершины vi, вин.
Введем понятие композиции путей (маршрутов). Пусть
Л|=ади2...хА_1С)Л, tt2—viixtiVki-i...xi-ivl — пути в орграфе Dt где
6^2, Назовем путь
niOn2 — ViXlV2...Xk-iVftXkVit+i...Xi-iVl
(очевидно, что njOna — путь в D) композицией путей Л2- Ана-
логично определяется композиция маршрутов.
4.1.4. Матричное задание графов.
Матрицы смежности, инцидентности
Пусть D=(V, X)—орграф, где V={ot..............гм}, X={xi.......xm}.
167
Матрицей смежности орграфа D называется квадратная ;
матрица A (D)==[ai;] порядка п, у которой
й_____f 1, если (vit t>j)€=X;
tJ [О, если (uit vA^X.
Матрицей инцидентности (или матрицей инциденцнй) оргра-
фа D называется (rzXw)-матрица B(D) = [btj], у которой
bij=
1, если вершина ц£ является концом дуги хк
—1, если вершина vi является началом дуги х/,
О, если вершина V{ не инцидентна дуге Xj.
Введем также матрицы смежности и инцидентности для не-
ориентированных графов. Пусть G— (V, X)—граф, где V=
=={t)l, ...» цп}, Х={Х1, ...» Хт}.
Матрицей смежности графа G называется квадратная матри-
ца = порядка п, у когорой
д_____J 1, если {о£, trJeX;
j 0, если {ц<, oj ё=Х.
Матрицей инцидентности графа G называется (п^т)-матри-
ца B(G) = [6ij], у которой
fl, если вершина Vi инцидентна ребру х&
” { 0, если вершина не инцидентна ребру х;.
Пример 4.11. Для орграфа D, изображенного на рис. 4.6,
матрица Л(П) приводится в табл. 4.1а, а матрица B(D)—в
табл. 4.16.
Пример 4.12. Для графа G, изображенного на рис. 4.7, матри-
ца Л(б) приводится в табл. 4.2а, а матрица B(G}—в табл.
4.26.
Замечание 4.8. Матрицу смежности можно определить и для
псевдографов. Тогда в случае ориентированного (неориентиро-
ванного) псевдографа a^=kt где k — кратность дуги (ц<,
(ребра {of, uj) в этом псевдографе. Определение матрицы ин-
цидентности без изменений переносится и на произвольные муль-
тиграфы (ориентированные и неориентированные) и даже на
неориентированные псевдографы.
Пример 4.13. Для ориентированного псевдографа D, изобра-
женного на рис. 4.8, матрица A (D) приводится в табл. 4.3.
Рис. 4.7
Рис. 4.8
Рис. 4.6
168
Таблица 4 la
Vi V2 »3
Vi 0 1 0
V2 1 0 I
VS 1 0 0
Таблица 4.16
Таблица 4 2a Таблица 4.26 Т а б л п иа 43
V» Vz Рз Х1 Хг «I v2 «3
р» 0 1 1 1 1 V1 1 2 0
VZ 1 0 0 V2 1 0 Vz 0 0 0
V3 1 0 0 «3 0 1 Vs 2 3 2
Нетрудно видеть, что матрица Д(б) является симметричной
для любого неориентированного графа G. Матрица А(р), где
D — орграф, в общем случае не является симметричной (см.
примеры 4.11 и 4.13).
По матрице смежности графа (орграфа) всегда можно оп-
ределить ребра графа (дуги орграфа) как пары инцидентных
им вершин, а для нсевдографов, кроме того, и кратности ребер
(дуг). Однако, если ребра (дуги) были пронумерованы, то вос-
становить их номера по матрице смежности невозможно. В этом
смысле матрица инцидентности оказывается более информатив-
ной, чем матрица смежности, поскольку позволяет получить пол-
ную информацию о ребрах (дугах), включая их нумерацию.
С помощью введенных матриц удобно задавать графы (ор-
графы) для обработки на ЭВМ Однако следует отметить, что
при большом количестве вершин матрица смежности оказыва-
ется громоздкой и число элементов в ней может превысить до-
пустимый объем оперативной памяти ЭВМ. То же можно ска-
®ать и о матрице инцидентности, причем ее размеры зависят,
кроме того, и от количества ребер (дуг).
11-1529 169
Приведем очевидные свойства матриц смежности и инцидент*
пости:
I. Сумма элементов матрицы Д(6), где G—(V, Л)—муль
тиграф, .... уп}, по i-й строке (или по i-му столбцу)
равна 6(у<).
2. Суммы элементов матрицы A(D), где £>==(V, X)—ори.
ентнроваиный псевдограф, И={иь ..., vn}, по i-й строке и по i-му
столбцу соответственно равны 6+(Vi), 6"(ya).
3. Пусть D — ориентированный мультиграф с непустым мно-
жеством дуг. Тогда
а) сумма строк матрицы B(D) является нулевой строкой;
б) любая строка матрицы B(D) является линейной комби-
нацией остальных строк;
в) ранг матрицы В (D) не превосходит n(Z>)—1;
г) для любого контура в D сумма столбцов матрицы B(D)t
соответствующих дугам, входящим в этот контур, равна нуле-
вому столбцу.
4. Пусть 6 — мультиграф с непустым множеством ребер.
Тогда при покоординатном сложении по модулю 2:
а) сумма строк матрицы В(6) является нулевой строкой;
б) любая строка матрицы В (G) является суммой остальных
строк;
в) для любого цикла в 6 сумма столбцов матрицы В (6),
соответствующих ребрам, входящим в этот цикл, равна нуле-
вому столбцу.
Обозначим через Л* = [а(А>,/| k-ю степень матрицы смежно-
сти A =A(D) орграфа В (аналогичное обозначение вводим и
для графа 6).
Утверждение 4.5. Элемент a^l\j матрицы А<к> ориентирован-
ного псевдографа D=(V, X) (псевдографа G=(V, Х))> где
V={yb vn}, равен числу всех путей (маршрутов) длины k
из Vi в Vj (соединяющих Vi, Vj).
Доказательство проведем для D (для G оно аналогично) индукцией по
Л. При k — 1 справедливость доказываемого утверждения следует непосред-
ственно из определения матрицы А = A(D). Предположим, что доказываемое
утверждение справедливо при £==£', где //^1. Покажем его справедли-
вость и при &«=&' + 1. Обозначим через H(D, Pj, г), где г > 1, множе-
ство путей длины г из Vi в vj в ориентированном псевдографе D. Разобьем
множество путей П(£>, и», и/, «'+ 1) иа п групп. Первая группа — это мно-
жество П(Ь, о», Vi, vj, fc'+l) путей с предпоследней вершиной th, вторая
группа — множество П(£, и», о2, Vj, k' + 1) путей с предпоследней верши-
ной v» и т. д., п-я группа — множество П(£), оя, vj, й'-Ь 1) путей с
предпоследней вершиной оп. Очевидно, что совокупность указанных групп
является разбиением множества П(£, Vt, vj, k' + 1), а следовательно,
|П(П, Vi, vj, k'+ l)| - £ |П(£», Vi, vi, vj, Л'-Н)|. (4.7)
Заметим, что по правилу произведения
|П(£>, vit vt, v}, fc'-H) I =|П(П, vj, vt, k') | |n(D, vlt v}, 1) Ig-
= |П(П, Vit Vt, k') |a0-, /=1,2, ..., n. (4.81
170
Из (4.7), (4.8), используя то, что в силу индуктивного пред-
положения выполняется равенство
1П (D, vi, ut, k') | =a(f>, Z=l, 2.n, ‘
получаем
|H(D, Vi, vh k' + 1) J = 2 a W aif = а (A'+1) .
Утверждение 4 5 имеет многочисленные следствия. Приведем, например,
утверждение, позволяющее по степеням матрицы смежности определять на-
личие контуров в орграфе D.
Утверждение 4.6. Для того чтобы п-вершинный орграф D с
матрицей смежности A=A(D) имел хотя бы один контур, не-
обходимо и достаточно, чтобы матрица К=Д2+Д34-...+Д” име-
ла ненулевые диагональные элементы.
Достаточность. Пусть 7(=[&iJ и для некоторого номера i
выполняется /?н>0. В этом случае для некоторого г^{2, ..., п]
справедливо а<г)ц>0, а следовательно, в силу утверждения 4.5
найдется путь в D из Vi в v^. Но тогда в силу утверждения 4.3
в орграфе D найдется простой контур.
Необходимость. Пусть в орграфе D имеется некоторый кон-
тур. В утверждении 4.3 было показано, что из всякого контура
можно выделить простой контур. Нетрудно видеть, что длина
простого контура не превышает числа вершин л. Но тогда в
силу утверждения 4.5 для любой вершины принадлежащей
некоторому простому контуру длины Z, где п, элемент
матрица А1 отличен от пуля, а следовательно, и элемент
kn матрицы /< отличен от нуля.
Замечание 4.9. В случае ориентированного /г-верши иного
псевдографа D для существования в D контура необходимо и
достаточно, чтобы матрица К=А+А2+... 4-ЛЛ имела ненулевые
диагональные элементы. Доказательство аналогично.
4.1.5. Булевы матрицы.
Операции над булевыми матрицами
Будем (пгХп)-матрицу С—у которой й>е{0, 1}, (=1, 2, ...
..., in, /=1,2, ..., п, называть булевой матрицей.
Заметим, что в случае, когда G— псевдограф без кратных
ребер, матрица смежности Л (6) состоит пз нулей и единиц,
т. е. является булевой (то же имеет место и для ориентирован-
ного псевдографа D без кратных дуг). У псевдографа G, кроме
Того, булевой является и матрица 13(G).
Над булевыми матрицами одинаковой размерности будем производить
обычные логические операции. Например, если C = fcij], — булевы
(« X п)-матрицы, то F = (М= С V D есть булева (т х л)-матрица, у ко-
торой fa = c,-j V j, i—1, 2,..., m, j—1, 2,...,л. Кроме того, введем
операцию логического умножения булевых матриц. Пусть С = [с,,} —
6улева (m X ft)-матрица н D = — булева (ft X л)-матрица. Тогда
11*
171
F — (/<Я — С * D — булева (m X п)-матрица, у которой f«j « V (c«r Adrj),
i—l„ 2, .... m, /=•!, 2, .... n. Если D=Ct^C25fc ...sfcC* и Ci=C2= ... =Cjk=Q
где C — квадратная булева матрица, то будем писать D=Cfc*.
Введем теперь операцию sign перехода от произвольной
(/пХл) -матрицы О==[а</] с неотрицательными элементами к
булевой (гаХл)-матрице C=[Cij]=signD, у которой Сц^
=signd»j, i=I, 2, ..., т, /=1, 2, п, где для любого числа
oio-n/_ ( 1. если />0;
g (О, если /=0.
Нетрудно показать, что для любых матриц Di, D2 (подходя-
щих размерностей) с неотрицательными элементами выполня-
ются равенства
sign (£>i+#2)=sign DiVsign £>2, sign (DiD2)=sign£>i>}c
>fcsign D2. (4.9)
Отметим, что булевы матрицы более экономичны в вычисли-
тельном отношении, чем целочисленные. Действительно, запо-
минание булевой матрицы требует меньшего объема оператив-
ной памяти ЭВМ, чем целочисленной матрицы той же размер-
ности. Кроме того, выполнение на ЭВМ логических операций над
булевыми матрицами требует меньшего объема вычислений, чем
над целочисленными матрицами тех же размерностей. В связи
с этим представляют интерес методы решения задач теории гра-
фов, основанные на выполнении логических операций над матри-
цей смежности как над булевой матрицей.
Вернемся к рассмотренной ранее задаче о выяснении нали-
чия контуров в орграфе. Из утверждения 4.6, используя (4.9),
получаем, что справедливо
Утверждение 4.7. Для того чтобы п-вершинный орграф D
с матрицей смежности А —A (D) имел хотя бы один контур, не-
обходимо и достаточно, чтобы матрица Л2*\М3*\Л-\МП* име~
ла ненулевые диагональные элементы.
4.1.6. Объединение, пересечение графов.
Подграфы
Объединением графов Gi — (Vi, Xi), G2 — (Va, X2) называется
граф 6,иС?2 = (V,UV2, Х<1|Х2).
Пересечением графов C?i=(Vi, Xi), C?2=(V2, Х2), где Vif!
Г)^2г/=0, называется граф О1Г|С?2= (VilWa, Xif|X2).
Подграфом графа G называется граф, все вершины и ребра
которого содержатся среди вершин и ребер графа G. Подграф
называется собственным, если он отличен от самого графа. Под-
графом графа C?=(V, X), порожденным подмножеством VjsV,
где 1Л^0, называется граф Gi=(Vi, Xj), множество Х1 ребер
172
которого состоит из тех и только тех ребер графа G, оба конца
которых лежат в Vi.
Все приведенные определения распространяются на орграфы.
Для дальнейших рассуждений понадобится следующее прос-
тое утверждение.
Утверждение 4.8. Пусть G—(V, X)— некоторый граф,
Gt — подграф графа G, порожденный множеством
Vi. Тогда A(G\) является подматрицей матрицы A(G), находя-
щейся на пересечении строк и столбцов, соответствующих вер-
шинам из Vt.
Замечание 4.10. Аналогичное утверждение справедливо и для
орграфов. Более того, оно остается справедливым и для произ-
вольных псевдографов (ориентированных и неориентированных).
4.1.7. Связность. Компоненты связности
Говорят, что вершина w орграфа D (графа G) достижима из
вершины v, если либо w=v, либо существует путь из v в w (мар-
шрут, соединяющий v, w).
Граф (орграф) называется связным (сильно связным), если
для любых двух его вершин v, w существует маршрут (путь),
соединяющий о, w (из v в о>).
Орграф называется односторонне связным, если для любых
двух его вершин по крайней мере одна достижима из другой.
Псевдографом, ассоциированным с ориентированным псевдо-
|рафом D= (У, X), называется псевдограф G= (V, Хо), в кото-
ром Хо получается из X заменой всех упорядоченных пар (и, w)
на неупорядоченные {у, о,} (см. рис. 4.9, где а — ориентирован-
ный псевдограф, б — ассоциированный с ним псевдограф).
Орграф называется слабо связным, если связным является
ассоциированный с ним псевдограф.
Если граф (орграф) не является
связным (слабо связным), то он на-
зывается несвязным.
Компонентой связности (сильной
связности) графа G (орграфа D) на-
зывается его связный (сильно связ-
ный) подграф, не являющийся соб- Рис. 4.9
ственным подграфом никакого дру-
гого связного (сильно связного) подграфа графа G (оргра-
фа D).
Пример 4.14. У графа, изображенного иа рис. 4.10, три ком-
поненты связности.
Пример 4.15. У орграфа, изображенного на рис. 4.11, три
компоненты сильной связности, показанные на рис. 4.12, а — в.
Из определения компоненты связности (сильной связности)
заключаем, что справедливо
173
Утверждение 4.9.
1. Пусть GX=(V\, Xi) — компонента связности графа G. Тог-
да Gi — подграф графа G, порожденный множеством
2. Пусть — Х\)—компонента сильной связности ор-
графа D. Тогда Dx~ подграф орграфа D, порожденный множе-
ством |/i.
Рис. 4.10 Рис. 4.11 Рис. 4.12
Замечание 4.11. Утверждение 4.9 остается в силе н для про-
извольных псевдографов (ориентированных и неориентирован-
ных).
Нетрудно показать, что справедливы следующие утвержде-
ния.
Утверждение 4.10. Пусть G—(V, X)—псевдограф с р ком-
понентами связности: G\—(V\, X\)t ...» GP~(VP, Хр). Тогда
1) V=ViU..-UVp, X==XiU..4JX₽, т. е. G=Gi[J...UGp;
2) Vi(]Vj—0t Xi(]Xj==0 при &=j;
3) n(Gi)4-...+n(Gp)=«(G), m(Gi)4-...4-w(Gp) =m(G).
Утверждение 4.11. Пусть D = (V, X)—ориентированный
псевдограф с р компонентами сильной связности: Di — (Vi, Xi), ...
..., DP = (VP, Хр). Тогда
1) V=V1U...UVf,
2) Vi(]Vj^0t ХгПХ;=0 при i^=j;
3) n(DI)4-...4-7z(Dp)=/2(D), m(Dd)+...+m(Dp)^m(D).
Утверждение 4.12. Пусть p — отношение достижимости на
множестве V вершин псевдографа G, г. е. vpw тогда и только
тогда, когда либо v—w, либо существует маршрут, соединяю-
щий v, w. Тогда:
1) р — эквивалентность на У;
2) fpw тогда и только тогда, когда вершины v, w принадле-
жат одной компоненте связности псевдографа G;
3) для любого класса эквивалентности Vi^V/p псевдограф
Gi, порожденный множеством К, является компонентой связно-
сти псевдографа G;
4) для любой компоненты связности Gi=(Vj, Xi) псевдогра-
фа G выполняется VieV/p.
Утверждение 4.13. Пусть pi—отношение достижимости на
множестве V вершин ориентированного псевдографа D, т. е-
vpiw тогда и только тогда, когда вершина w достижима из
174
Пусть также р2 — отношение двусторонней достижимости на V,
т. е. р2—piflpr1- Тогда:
1) pi рефлексивно, транзитивно;
2) рг — эквивалентность на V;
3) yp2w тогда и только тогда, когда вершины v, w принадле-
жат одной компоненте сильной связности ориентированного псев*
.дографа D;
4) для любого класса эквивалентности VteV/p2 ориентиро-
ванный псевдограф DK порожденный множеством К, является
компонентой сильной связности ориентированного псевдогра-
фа D;
.5) для любой компоненты сильной связности -Di = (Vi,
ориентированного псевдографа D выполняется У1^У/р2.
В дальнейшем количество компонент связности графа G бу-
дем обозначать через p(G). Аналогично через p(D) будем обо-
значать количество компонент сильной связности орграфа D.
Под операцией удаления вершины из графа (орграфа) будем
понимать операцию, заключаю-
щуюся в удалении некоторой ц п £
вершины вместе с инцидентны- $
ми ей ребрами (дугами).
Вершина графа, удаление f
которой увеличивает число »fD
компонент связности, иазыва- р 413
гтся разделяющей (или точ-
кой сочленения).
Пример 4.16. Точками сочленения графа, изображенного на
рис. 4.13, являются вершины оз» vi, v&, v?.
Следующее утверждение очевидно.
Утверждение 4.14. Если D' — орграф, полученный в резуль-
тате удаления нескольких вершин из орграфа D, то A(D') полу-
чается из A(D) в результате удаления строк и столбцов, соот-
ветствующих удаленным вершинам.
Замечание 4.12. Аналогичное утверждение справедливо и
Для произвольных псевдографов (ориентированных и неориен-
тированных).
4.1.8. Матрицы связности
Пусть D— (V, X) —орграф, где V=={ni,...» оп}. Матрицей дости-
жимости орграфа D называется квадратная матрица Т (D) =
порядка п, у которой tij=A, если вершина о, достижима
из vit и Aj=0 — в противном случае. Матрицей сильной связно-
сти орграфа D называется квадратная матрица S(D) = [sij]
порядка п, у которой s«=l, если вершина Vi достижима нз щ
к одновременно щ достижима из vif и stj=O— в противном слу-
чае (т. е. s;j=l тогда и только тогда, когда вершины vit щ при-
надлежат одной компоненте сильной связности орграфа D; см.
•Утверждение 4.13, п. 3).
175
Пусть 0=(1Л X) —граф, где V={vj,ип}. Матрицей связ-
ности графа G называется квадратная матрица 5(G) = (sfi]
порядка п, у которой если i—j или существует маршрут,
соединяющий vit vjt и — в противном случае (т. е. -^==1
тогда п только тогда, когда вершины v{, Vj принадлежат одной
компоненте связности графа G; см. утверждение 4.12, п. 2).
Воспользовавшись утверждением 4.5, равенствами (4.9), а
также тем фактом, что в силу утверждения 4.4 пз любого не-
замкнутого маршрута или пути можно выделить простую цепь
с теми же начальной и конечной вершинами, получим справед-
ливость следующих утверждений.
Утверждение 4.15. Пусть G—(V, X), где V={i’j. vn},—
граф с матрицей смежности A—A(G). Тогда
S(G)=sign (E+4+424-...4-^"-9=£V^V^2*V - V>4«-’.,
где Е — единичная матрица порядка п.
Утверждение 4.16. Пусть D=(V, X), где У={гъ v?,},—
орграф с матрицей смежности A—A(D). Тогда:
1) 7’(D)=sign Х£4-Л4-Л2+-..-Мп-1)==
=EV^V^2*V---
2) S(D) = T(D)&[T(D)]T,
где т — обозначение операции транспонирования матрицы.
Утверждения 4.15 и 4.16 дают простые, легко реализуемые
на ЭВМ методы вычисления матриц S(G), T(D), S(D). Сущест-
вуют и более экономичные методы вычисления этих матриц.
Опишем, например, метод Уоршелла, основанный на следую-
щем утверждении.
Утверждение 4.17. Пусть А —матрица смежности графа G=
— (V, X) (орграфа D=(V, X)), где У={щ, .... оп}. Рассмотрим
последовательность булевых квадратных матриц В<1} порядка п,
где 1—0, 1, ..., п, В<°>=А\/Е, элементы которых вычисля-
ются по следующей итерационной формуле:
btnij=^)ijV (ЬУ-Ъц&ЬЧ-Пц) ,
где 1—1, 2, .... п. Тогда S(G)=B<n> (и соответственно T(D) =
=В^>, S(D) — T(D)&\T(D)]t).
Доказательство будем проводить для G (для D оно анало-
гично). Покажем индукцией по I, что тогда и только
тогда, когда либо i—j, либо существует маршрут, соединяющий
vit Vj, внутренние вершины которого принадлежат множеству
{uj, -•-> о/}. Из этого утверждения при 1=п следует справедли-
вость утверждения 4.17. При /=0 элементы матрицы В^^=
=А\/Е очевидным образом удовлетворяют требуемому усло-
вию. Предположим, что при некотором /, где l^Z^n, элемен-
ты также удовлетворяют требуемому условию. Покажем
выполнение этого условия и для элементов Пусть
(случай i=i очевиден) и существует маршрут, соединяющий
Vj, внутренние вершины которого принадлежат множеству
{ui..oj. Докажем, что тогда Пусть ?] — один из та-
ких маршрутов. Будем считать, что i] — простая цепь (иначе,
следуя утверждению 4.4, выделим из т] простую цепь, соединя-
ющую Vi, Vj). Если vt не является внутренней вершиной цепи ц,
то в силу индуктивного предположения b^~lhj= 1, откуда
=1- Пусть теперь vt является внутрен-
ней вершиной цепи ч, т. е. цепь имеет вид т]=7рОт]2» где
Яь Л2 — простые цепи, соединяющие вершины n#, vt и vi, Vj со-
ответственно, внутренние вершины которых принадлежат мно-
жеству {«1..У/_1}. Но тогда в силу индуктивного предположе-
ния Ь^и=Ьй-щ}=^ откуда Ь(^=Ь(*-по\/ (1&1) = 1.
Пусть теперь Ь^ц=1, i=/=j. Покажем, что существует марш-
рут, соединяющий v,, vjt внутренние вершины которого принад-
лежат множеству {о», ..., nJ. В силу того, что
V = выполняется либо либо Ь^-^ц—
=0, Если = то в силу индуктивного
предположения существует маршрут, соединяющий vt, Vj, внут-
ренние вершины которого принадлежат множеству {о....щ-J.
Если 1, то в силу индуктивного пред-
положения существуют маршруты тр, Л?» соединяющие vit vt и Vi,
V; соответственно, внутренние вершины которых принадлежат
множеству {*?ь flf-i}. Но тогда маршрут и будет ис-
комым.
Замечание 4.18. Если в утверждении 4.17 заменить В^ —
—А\/Е на Л то оно останется справедливым и
для произвольных псевдографов (ориентированных и неориен-
тированных) .
4.1.9. Выделение компонент связности
Опишем алгоритм нахождения числа компонент сильной связ-
ности орграфа, а также выделения этих компонент. Аналогич-
ным образом решается задача нахождения количества компо-
нент связности, а также выделения компонент связности неори-
ентированного графа. Однако для определенности приводим
рассуждения для орграфа.
Воспользуемся следующими утверждениями.
Утверждение 4.18. Пусть D — орграф с р^2 компонентами
•сильной связности: D\, Тогда в результате удаления из D
вершин, содержащихся в Dtr получаем орграф с р—1 компонен-
тами сильной связности: Dz, Dp.
Воспользуемся тем очевидным фактом, что если D' — компо-
нента сильной связности орграфа D, то D' является компонен-
той сильной связности и любого подграфа орграфа D, содержа-
щего все вершины и дуги орграфа D'. Используя утверждение
177
4.11, п. 2, заключаем, что после удаления из D вершин, содер-
жащихся в Di, имеем орграф D, подграфами которого являются
Ds, Dp, а следовательно, D3, .... Dp являются компонентами
сильной связности орграфа D. Кроме того, в силу утверждения
4.11, пп. 1, 2, получаем, что объединение множеств вершин ор-
графов Рг, ...» Dp дает множество вершин орграфа D, а значит,.
D2, .... D₽ — все компоненты сильной связности орграфа D.
Утверждение 4.19. Пусть D' — компонента сильной связнос-
ти орграфа D. Пусть также p(D)^2 и D" — орграф, получае-
мый в результате удаления из D вершин, содержащихся в D'.
Тогда матрицами A(D"), S(D") являются подматрицы матриц.
A(D), S(D), получаемые в результате удаления из них строк
и столбцов, соответствующих вершинам орграфа D'.
Утверждение 4.19 является следствием утверждений 4.18 в
4.14.
Из определения матрицы сильной связности вытекает, что
справедливо
Утверждение 4.20. Единицы i-й строки или i-го столбца
матрицы сильной связности орграфа D=(V, X), где V={vt,
vn}, соответствуют вершинам компоненты сильной связности ор-
графа D, содержащей вершину V{.
Из утверждений 4.18—4.20 следует справедливость алгорит-
ма определения числа компонент сильной связности орграфа D»
а также матриц смежности этих компонент.
Алгоритм 4.1:
Шаг 1. Полагаем р=1, Si=S(D).
Шаг 2. Включаем в множество вершин Vp очередной компо-
ненты сильной связности Dp орграфа D вершины, соответствую-
щие единицам первой строки матрицы Sp. В качестве A (Dp) бе-
рем подматрицу матрицы A(D), находящуюся на пересечении
строк и столбцов, соответствующих вершинам из Vp.
Шаг 3. Вычеркиваем из строки и столбцы, соответствую-
щие вершинам из Vp. Если в результате такого вычеркивания
не остается ни одной строки (и соответственно ни одного столб-
ца), то р — количество компонент сильной связности и AfDj),...
..., A (Dp) — матрицы смежности компонент сильной связности'
Di...Dp орграфа D. В противном случае обозначаем оставшу-
юся после вычеркивания из Зр соответствующих строк и столб-
цов матрицу через SP+i, присваиваем р: =р-}-1 и переходим к-
шагу 2.
Замечание 4.14. После изменений в обозначениях и терми-
нологии алгоритм 4.1 можно применить для определения числа»
компонент связности графа G, а также матриц смежности этих -
компонент. Для обоснования этого достаточно воспользоваться
утверждениями, аналогичными утверждениям 4.18—4.20, не-
сформулированными для неориентированного графа G. Более
того, алгоритм 4.1 остается справедливым и для произвольных
178
п сев до графов (ориентированных п неориентированных). Дока-
зательство аналогично.
Задачи и упражнения
I. Показать, что в любом графе количество вершин нечет-
ной степени четно.
2. Показать, что из всякого замкнутого маршрута нечетной
длины можно выделить простую цепь.
3. Показать, что ребро, входящее в цикл графа, входит в не-
который его простой цикл.
. 4. Показать, что любая вершина, входящая в цикл, не явля-
ется висячей.
5. Доказать, что в связном графе, содержащем, по крайней
мере, две вершины, найдется вершина, не являющаяся точкой
сочленения.
6. Доказать, что если в орграфе D отсутствуют вершины с
нулевой полустепенью исхода (захода), то в D имеется простой
контур.
7. Доказать, что удаление из орграфа вершины v с д+(^)=С1
(6~(и)^1) приводит к орграфу, контуры которого совпадают с
контурами исходного орграфа.
8. Определить, имеют ли контуры орграфы с матрицами
смежности:
[00Ю
0001
0100
1000
оою 1
00111
0000 г
1010 J
; д)
9. Определить матрицы достижимости и сильной связнос-
ти для орграфов с матрицами смежности из задачи 8.
10. Пусть орграф D задан матрицей смежности. Определить
матрицу сильной связности S(D). Используя алгоритм 4.1, най-
ти количество компонент сильной связности орграфа D и опре-
делить матрицы смежности этих компонент. Построить изобра-
жения орграфа D и его компонент сильной связности. Рассмот-
реть случаи:
а)
00100
ооооо
0 101-1
0 1000
10010
Г 000011 п
001100
оооооо
О 11000
О 1000'1
1 1 юоо
000001 п
101011
100000
001001
011100
001000 _
; б)
; в)
179
4.2. ЗАДАЧИ ПОИСКА МАРШРУТОВ (ПУТЕЙ)
В ГРАФЕ (ОРГРАФЕ)
4.2.1. Поиск маршрута в графе
При решении некоторых прикладных задач нередко возникает
необходимость найти маршрут, соединяющий заданные вершины
в графе G. Приведем алгоритм решения этой задачи.
Алгоритм 4.2 (алгоритм Тэрри) поиска маршрута в связном
графе G=(V, X), соединяющего заданные вершины и, w^V, где
v^w.
Если, исходя из вершины v и осуществляя последовательный
переход от каждой достигнутой вершины к смежной ей вершине,,
руководствоваться следующими правилами:
I) идя по произвольному ребру, всякий раз отмечать на-
правление, в котором оно было пройдено;
2) исходя из некоторой вершины v', всегда следовать толь-
ко по тому ребру, которое не было пройдено или было пройдено-
ь противоположном направлении;
3) для всякой вершины v't отличной от и, отмечать первое
заходящее в v' ребро, если вершина и' встречается в первый
раз;
4) исходя из некоторой вершины vf, отличной от v, по перво-
му заходящему в v' ребру идти лишь тогда, когда нет других
возможностей, то всегда можно найти маршрут в связном гра-
фе G, соединяющий две заданные вершины о, w.
Пример 4.17. Используя алгоритм Тэрри, найти маршрут,
соединяющий Os, в графе G, изображенном на рис. 4.14.
Поиск вершины Vs в G будем осуществлять так, как будто-
мы ничего не знаем об этом графе (можно себе представить,
что граф G — это схема лабиринта, где Us — выход из него, а
vi — развилка, из которой мы начинаем поиск выхода). На рис.
4.15 показан одни пз возможных вариантов движения по графу
G согласно алгоритму Тэрри. Пронумерованными пунктирными
Рис. 4.14
Рис. 4.15
дугами показана схема движения по графу G. Знаками X п0"
мечены первые заходящие в вершины ребра (пометка делается
ближе к той вершине, в которую ребро заходит). Указанная на
рис. 4.15 схема движения соответствует маршруту счсздязгМ'зОб-
180
Отметим, что после того, как из вершины О] зашли в вершину
оз (см. дугу <?), в силу правила 4 мы не можем вернуться в
так как имеются другие возможности, а {oi, о3} является пер-
вым заходящим в v3 ребром. Далее, после того, как из верши-
ны о4 зашли в вершину v3 (см. дугу 5), в силу правила 2 мы не
можем вернуться в вершину о4, а в силу правила 4 не можем
идти к вершине vit и тем самым остается единственная возмож-
ность— идти к вершине v3.
Обоснование алгоритма Тэрри. Допустим, что, руководству-
ясь этим алгоритмом, мы остановимся в некоторой вершине и
(не достигнув вершины w), и все ребра, инцидентные и, уже
пройдены в направлении из и (тогда в силу правила 2 мы уже
не сможем выйти из и). Покажем, что в этом случае: а) вер-
шина и совпадает с о; б) все вершины графа G являются прой-
денными.
Докажем сначала справедливость утверждения «а». Если и
не совпадает с и, то пусть в вершине и мы побывали k раз
(включая последний). Тогда ребра, инцидентные и, были прой-
дены k раз по направлению кии k—1 раз в направлении из и
(так как число заходов в н, за исключением последнего, соот-
ветствует числу исходов из этой вершины). Таким образом, ис-
пользуя то, что по предположению были пройдены все ребра,
инцидентные н, в направлении из и, а также то, что в силу пра-
вила 2 по каждому ребру, инцидентному и, разрешается идти не
более одного раза в направлении из w, имеем б(н)=А—1, а это
противоречит тому, что по направлению к и было пройдено k
различных (см. снова правило 2) ребер, а следовательно, б(н)^
^sk. Полученное противоречие подтверждает, что u=v.
Докажем теперь справедливость утверждения «б». Пусть (см.
утверждение «а»)
viv2...vk, где vi=vh=v, (4.10)
есть последовательность вершин, расположенных в том же по-
рядке, в каком мы их проходили, действуя согласно алгоритму.
Очевидно, что (4.10) является маршрутом в графе G (точнее,
сокращенной записью маршрута). Покажем, что маршрут (4.10)
содержит все вершины графа G. Предварительно докажем, что
каждое ребро, инцидентное любой вершине vjy где бы-
ло пройдено по одному разу в обоих направлениях. Доказатель-
ство проведем индукцией по /.
Базис индукции. Поскольку в замкнутом маршруте для каж-
дой содержащейся в нем вершины число исходов из этой вер-
шины равно числу заходов в нее, то в силу того, что согласно
утверждению «а» и правилу 2 все ребра, инцидентные вершине
и==оь были пройдены по разу в направлении из v (т. е. мы
б (о) раз исходили из и), получаем, что ровно б (у) раз мы за-
ходили в и, а поскольку в силу правила 2 каждый раз мы захо-
дили в v по новому ребру, то в результате все ребра, инцидент-
181
ные вершине Oi=n, были пройдены по разу в обоих направле-
ниях.
Индуктивный шаг. Допустим, что при некотором /, где
доказываемое утверждение верно для всех вершин
.... Vj-i. Докажем его для вершины и/. Если при некотором /</
выполняется то справедливость доказываемого утверж-
дения для вершины Vj вытекает из того, что по индуктивному
предположению оно верно для вершины vt. Пусть теперь Vis
е{1, 2, .... j—1} Vi^Vj, т. е. вершина Vj встретилась в первый
раз. Тогда {u>-i, о>} — первое заходящее в вершину Vj ребро,
и по индуктивному предположению оно будет пройдено в обоих
направлениях, что в силу правила 4 возможно лишь в случае,
когда все остальные ребра, инцидентные vit будут пройдены в
направлении из Vj. Далее, поскольку в замкнутом маршруте,
как уже отмечалось ранее, для каждой вершины, содержащейся
в этом маршруте, число исходов из этой вершины равно числу
заходов в нее, то, используя правило 2, получаем, что все реб-
ра, инцидентные vJt будут пройдены по разу в обоих направ-
лениях.
Итак, каждую вершину в маршруте (4.10) мы проходим вме-
сте со всеми смежными ей вершинами, откуда в силу связности
графа G следует, что маршрут (4.10) проходит через все вер-
шины графа 6, а это противоречит исходному предположению,
что вершина w не была достигнута.
Замечание 4.15. Алгоритм 4.2 и его обоснование остаются в
силе и для случая, когда G — связный псевдограф.
Замечание 4J6. Если псевдограф G— (V, X) не является
связным, то с помощью алгоритма 4.2, исходя нз произвольной
вершины t’czV и помечая пройденные вершины н ребра, можно
выделить компоненту связности псевдографа G, содержащую
вершину v. Алгоритм закончит свою работу в тот момент, когда
в первый раз невозможно будет удовлетворить правилу 2 (т. е.
мы пришли в вершину и, и все ребра, инцидентные этой верши-
не, пройдены в направлении из w; при этом, как показали при
обосновании алгоритма 4 2, u=v).
Замечание 4.17. Из полученного с помощью алгоритма 4.2
маршрута всегда можно выделить простую цепь, соединяющую
v, с? (см. утверждение 4.4).
4.2.2. Поиск путей (маршрутов)
с минимальным числом дуг (ребер)
Путь в орграфе D из вершины v в вершину w, где назы-
вается минимальным, если он имеет минимальную длину среди
всех путей орграфа D из v в w. Аналогично определяется и ми-
нимальный маршрут в графе G.
Рассмотрим некоторые свойства минимальных путей (марш-
рутов) .
182
Утверждение 4.21. Любой минимальный путь (маршрут) яв-
ляется простой цепью.
Доказательство проведем для пути (для маршрута оно ана-
логично). Предположим, что в некотором орграфе D нашелся
минимальный путь где Vv=^vk, не являющийся про-
стой цепью. Тогда найдутся номера t, j такие, что
и uf=Uj. Пусть 1, jck. Рассмотрим путь Di...DiUj+i..-щ. Его
длина равна (i—1)+(&—/)=&+*—/— 1<А—1, что противоре-
чит минимальности я. Случаи £=] или j—k доказываются ана-
логично (случая i=l, j=k быть не может в силу V\^vk).
Утверждение 4.22. (о минимальности подпути минимально-
го пути). Пусть я=Ц102—Vk, где —минимальный путь
(маршрут) в орграфе D (в графе G). Тогда для любых номеров
i, j таких, что путь (маршрут) jtQ—ViVi+i...Vj также
является минимальным.
Доказательство проведем для орграфа D (для графа G оно
аналогично). Заметим, что в силу i=£j выполняется Ui^=v, (см.
утверждение 4.21). Будем считать, что 4>1, j<Zk (случаи, ког-
да 4=1 или j—k, рассмотрите самостоятельно). Тогда л=
=Я10лоОл2, где л1=и1и2—nt, ntt=VjVj+i...Vk— пути в D. Предпо-
лагая, что путь ло ие является минимальным, получаем, что в
D существует путь л0 из в и3- меньшей длины. Но тогда длина
пути л=Я10лоОл2> равная сумме длин путей ль ло, «2, меньше
длины пути л, равной сумме длин путей ль л0, что противоре-
чит минимальности я, поскольку л, так же как и л, является пу-
тем в D из Vi в vk.
Рассмотрим теперь задачу поиска минимального пути (маршрута). Вве-
дем некоторые обозначения. Пусть D — (V, X) — орграф, v V, Vi V.
Обозначим D(o) = {w е V| (», w)geX} — образ вершины и; D-*(v) =
= {w е V[ (w, о)еХ) — прообраз вершины и; D(Vi) = U D (гл) — об-
раз множества вершин V»; D-1(Vi) = U D~l(v) — прообраз множества
вершин Vi. Пусть G— (V, X) — граф, V, V. Обозначим G(v) =
— {e?geV|{d, w) е= X} — образ вершины d; G(Vi) = U G(») — образ
множества вершин Vi.
Пусть D—(V, X) — орграф с п>2 вершинами и v, ^ — за-
данные вершины из V, где v=£w. Опишем алгоритм поиска ми-
нимального пути из v в w в орграфе D (алгоритм фронта волны).
Алгоритм 4.3:
Шаг 1. Помечаем вершину v индексом 0. Затем помечаем
вершины, принадлежащие образу вершины v, индексом 1. Мно-
жество вершин с индексом 1 обозначаем FW}(v). Полагаем
Шаг 2. Если FWk(v)=0 или выполняется k—n—1, суёё
^FWk(v), то вершина w не достижима из v, и работа алгорит*
IS3
ма иа этом заканчивается. В противном случае переходим к ша-
гу 3.
Шаг 3. Если weFWh(v), то переходим к шагу 4. В против-
ном случае существует путь из v в w длины k, и этот путь яв-
ляется минимальным. Последовательность вершин
UWiW2...Wh-lWt
где
Wk~\&FWb_i (wY,
wh-2^FWh-2 (и) П^"1 (Wk-i);
............................................... (4.11)
Wi eF Wi (v)(]D~l (w2),
и есть искомый минимальный путь из v в w. На этом работа
алгоритма заканчивается.
Шаг 4. Помечаем индексом &4-1 все непомеченные верши-
ны, которые принадлежат образу множества вершин с индек-
сом k. Множество вершин с индексом Ze-J-l обозначаем FWft+i(o).
Присваиваем k : и переходим к шагу 2.
Замечание 4.18. Множество FWk(v) в алгоритме 4.3 обычно
называют фронтом волны k-го уровня.
Замечание 4.19. Вершины и>ь Wh-i из (4.11), вообще го-
воря, могут быть выделены неоднозначно. Эта неоднозначность
соответствует случаям, когда существует несколько различных
минимальных путей из v в w. Нетрудно описать алгоритм, поз-
воляющий находить все минимальные пути из v в w в орграфе
D (опишите этот алгоритм самостоятельно).
Пример 4.18. Используя алгоритм 4.3, определим минималь-
ный путь из vi в ис в орграфе £>, заданном матрицей смежности,
представленной в табл. 4.4.
Действуя согласно алгоритму 4.3, последовательно опреде-
ляем FUZ1(u1) = {u4, пЗ; и4, О5} =
= {о2, Уз}; FW3(vi)=D(FW2(vl))\{vl, и2, v3, v4t и5} —{и6}. Та-
ким образом, o6eF^3(oi), a значит (см. шаг 3), существует
путь из Vi в длины 3, и этот путь является минимальным.
Найдем теперь минимальный путь нз Ui в v&. Определим мно-
жество
FUr2(oi)nD-,(oe)={vs, из}П{^2, 03}={у2, Оз}.
Выберем любую вершину из найденного множества, напри-
мер вершину из. Определим далее множество
^Цо^П^’ЧОз) — {«4, 05}П{^4, V5, U6} = {04, VS}.
Выберем любую вершину из найденного множества, напри-
мер вершину us. Тогда U1U5U3O6— искомый минимальный путь
нз 01 в о6 (длины 3) в орграфе D.
184
Таблица 44
01 02 Оз Vt Os v«
01 0 0 0 1 1 0
Vt 1 0 0 1 1 1
V» 1 1 0 1 1 I
о4 0 1 1 0 1 0
Vt 1 1 1 1 0 0
Ов 1 I 1 1 1 0
Обоснование алгоритма 4.3. Введем для каждого Ае{1,
п— 1} множество U^A(o), состоящее из всех вершин u^V, до-
стижимых из у, и таких, что длина минимального пути из v
в и равна k. Кроме того, полагаем Wo(v) = {u}. Докажем, что
справедлива рекуррентная формула
^1(о)=П(ЖЛ(о))\ U *=0. U - п—2. (4.12)
1=0
Пусть k^= {0, 1,..., л— 2}. Покажем сначала, что множество из левой
части равенства (4.12) содержится в множестве из правой его части. Пусть
«е W*+i(o). Рассмотрим минимальный путь ц из о в « в орграфе D. По
определению множества WVf-i(n) такой путь существует, и его длина равна
6-1-1. Пусть о' — вершина в этом пути, непосредственно предшествующая
вершине и. Тогда о'еи?л(о) (см. утверждение 4.22), откуда в силу neD(o')
получаем ueD(Wk(v)). Используя теперь то, что «е 1FA+1 (о), а следова-
тельно. «еИМ0)» *=0» .... k, имеем ueD(Wh(v))\ (J W'i(v).
Покажем теперь, что множество из правой части равенства (4.12) со-
держится в множестве из левой его части. Пусть «еД(1ГА(о))\ U ИМ «О-
1=0
Тогда в силу D(Wk{v)) вершина и достижима из о и при этом сущест-
вует путь длины k + 1 из v в и. Покажем, что этот путь является мини-
мальным (откуда и будет следовать, что «eU7fc+1 (о)). Действительно, пред-
положив, что минимальный путь из и в и в орграфе D имеет длину /, где
1 k, получаем ме НТ,(о), а это противоречит тому, что «ё= (J W\(o)
«—о
Таким образом, формула (4.12) полностью доказана.
Обозначим далее через IF(o) множество всех вершин орграфа D, дости-
жимых из v. Используя утверждение 4.21 (а также тот очевидный факг, что
<2-1529 185
длина любой простой цепи в п-вершншюм орграфе D не превосходит п—I),
получаем, что справедлива формула
K7(t/)=(4.13>
Перейдем теперь непосредственно к обоснованию алгоритма
4.3. Прежде всего заметим, что FWt(v) — Wi(v) (см. шаг 1) и*
последовательное нахождение множеств FUZft(w) при k^2 по*
алгоритму 4.3 (см. шаг 4) производится аналогично последова-
тельному построению множеств №д(и) по рекуррентной фор-
муле (4.12), т. е. выделяемые в алгоритме 4.3 множества
FlV\(r;) совпадают с введенными выше множествами Wh(v).
Но тогда из определения множеств W*(и) следует, что мини-
мальное число kt при котором weUZft (»), и будет длиной мини-
мального пути из v в w в орграфе D, что соответствует шагу &
(очевидно, что может существовать лишь единственное число*
k, при котором Если же /г=1, 2, .... п—1^
то в силу (4.13) вершина w не достижима из и, что также соот-
ветствует логике алгоритма (см. шаг 2). Осталось обосновать-
существование вершин . Wk-ъ удовлетворяющих (4.11).
Эти вершины найдутся, так как в силу (4.12) выполняется
i=l, 2, ..., п—1, а следовательно, Vie{lr
2, ...» п—1}, УмеИ^(и) найдется вершина ufe=Wi-i(v) такая,
что («', «)еХ, т. е. i/el^f-i(w)nD-,(M), откуда Vie{l, 2, ....
n—I}, ¥«б=^(и) U7f_1(u)nD-‘(u)^=0-
Замечание 4.20. Если выражения D(-), £-1(-) заменить на
О(‘), то при соответствующем изменении терминологии алго-
ритм 4.3 и его обоснование переносятся и на поиск минималь-
ного маршрута в неориентированном графе G.
4.2.3. Расстояния в графе
Пусть G = (V, X) — граф (в общем случае — псевдограф). За-
метим, что если вершины v, wgV, где и =£wt можно соединить
маршрутом в G, то обязательно существует минимальный мар-
шрут, соединяющий вершины v, w. Действительно, если некото-
рый маршрут 1)1 длины ki не является минимальным, то сущест-
вует маршрут длины k? < kx. Если и маршрут т)2 не является
минимальным, то имеется маршрут тр длины k3 С kz и т. д. Оче-
видно, что такое уменьшение длины маршрута можно повторить
не более k\ — 1 раз (так как минимальная длина маршрута рав-
на 1). Поэтому в G обязательно найдется минимальный марш-
рут, соединяющий вершины v, w. Обозначим длину этого марш-
рута через d(v, w). Положим также d(v, о)=0 для любой вер-
шины teV. Кроме того, пусть Уо, шеУ d(v,w) =-|-оо (далее
для краткости вместо -f-oo будем писать со), если v^w и в G
не существует маршрута, соединяющего v, w. Тем самым Mt*
186
определили величину d(v, w) для любых вершин v, w^V. Ве-
личину d(v, «•) (конечную или бесконечную) будем называть
расстоянием между вершинами v, w. Расстояние d(v, w) удов-
летворяет аксиомам метрики:
1) d(v,w) 0, причем d(v, w) = 0 тогда и только тогда, ког-
да v = w\
2) d(v, w) = d(w, v);
3) d(y, w) c d(v, u) +d(u, ад),
где v, и, w — произвольные вершины графа G. Кроме того, в
связном графе G для любых его вершин v, w выполняется
4) d(v, w) <оо.
Свойства 1, 2 и 4 очевидны. Докажем справедливость свой-
ства 3. В случае d(v, и) = со или d(u, w) — со свойство 3, оче-
видно, выполняется. Пусть теперь d(v, и) < со, d(u, w) < со,
а следовательно, в G существует минимальный маршрут тр, со-
единяющий v, и, и минимальный маршрут т]2, соединяющий u, w.
Рассмотрим маршрут трОтр, соединяющий и, w. Его длина рав-
на d(vt и) 4-d (и, w), откуда и следует справедливосгь свой-
ства 3.
Замечание 4.21. Используя понятие расстояния, можно теперь
рассмотренные ранее множества U7j(u) ввести для неориентиро-
ванного графа G = (V, X) следующим образом:
V|d(u, w) = t}, где л=0, 1, ..., n(G) — I, v e V.
4.2.4. Диаметр, радиус и центр графа
Пусть 0=(V, X)—связный граф (или в общем случае — псевдо-
граф). Тогда величина d(G) = max d(vt w) является конечной и назы-
и> WG=V
вается диаметром графа О
Пусть v — произвольная вершина из V. Величина г (о) — max d(v, w)
w^V
(очевидно, конечная) называется максимальным удалением (эксцентрисите-
том) в графе G от вершины о.
Радиусом графа G называется величина r(G) " min г (и).
v<=V
Любая вершина такая, что r(o)=r(G), называется центром гра-
фа G.
Пример 4.19. Для графа G, изображенного на рис. 4.16, име-
•ем: d(G) = 3, r(v}) = 3, r(u2) = 2, г(и3)=2, r(u4)=2, r(u5)=3,
г (б?) =2; v2, o3, V4 — центры графа G.
£2*
187
4.2,5. Минимальные пути (маршруты)
в нагруженных орграфах (графах)
Назовем орграф D = (V, X) нагруженным, если на множестве
дуг X определена некоторая функция I: X->R, которую часто
называют весовой функцией. Тем самым в нагруженном орграфе
D каждой дуге х е X поставлено в соответствие некоторое дей-
ствительное число Z(x). Значение 1(х) будем называть длиной
дуги х. Д,ля любого пути л нагруженного орграфа D обозначим
через Z(ji) сумму длин входящих в л дуг, при этом каждая дуга
учитывается столько раз, сколько она входит в путь. Величину
/(л) будем называть длиной пути л в нагруженном орграфе D.
Ранее так называлось количество дуг в пути я. В связи с этим
заметим, что если длины дуг выбраны равными 1, то /(л) вы-
ражает введенную ранее длину пути л в ненагруженном орграфе.
Следовательно, любой ненагруженный орграф можно считать на-
груженным с длинами дуг, равными 1. Аналогично определяется
и нагруженный граф, а также длина маршрута в нем.
Путь в нагруженном орграфе D из вершины v в вершину wr
где v^w, называется минимальным, если он имеет минималь-
ную длину среди всех путей орграфа D из и в w. Аналогично оп-
ределяется и минимальный маршрут в нагруженном графе G.
Если в нагруженном орграфе D имеются замкнутые пути от-
рицательной длины, то для заданных вершин v, w орграфа D, где
v =/= w, минимального пути из v в w может не быть. Действитель-
но, если в D имеется замкнутый путь а отрицательной длины и
существует путь из v в w, проходящий хотя бы через одну вер-
шину, содержащуюся в о, то очевидно, что в D найдется путь л
из v в w вида л = лЮоОлг, где ль л2 — пути в D (возможно
также, что либо nlt либо л2 является пустой последовательно-
стью; при этом предполагаем, что 0Оо — оО0 — сг). Но тогда
Л1ОаОаОл2, Я|ОаОаОаОл2,... также пути в D из v в w, и дли-
на каждого следующего пути в этой последовательности отли-
чается от длины предыдущего на Z(a)<0, а значит, длины пу-
тей из v в w могут принимать сколь угодно малые отрицатель-
ные значения. Аналогичная ситуация имеет место в случае, ког-
да в нагруженном графе G вершины v, w находятся в одной
компоненте связности, содержащей хотя бы одно ребро отрица-
тельной длины. В таких случаях имеют смысл лишь задачи по-
иска минимальных путей (маршрутов) среди путей (маршру-
тов), число дуг (ребер) в которых ограничено сверху.
Приведем некоторые свойства минимальных путей (маршру-
тов) в нагруженном орграфе D = (V, X) (графе G = (V, X)):
1) если VxeX Z(x)>0, то любой минимальный путь (марш-
рут) является простой цепью;
2) если —минимальный путь (маршрут), то для лю~
бых номеров Z, / таких, что путь (маршрут) щщ+ь -1’*
также является минимальным;
188
3) если v...uw — минимальный путь (маршрут) среди путей
нз v в w (среди маршрутов, соединяющих и, w), содержащих нс
более £+1 дуг (ребер), то v...u—минимальный путь (маршрут)
среди путей изо в и (среди маршрутов, соединяющих и, н), со-
держащих не более k дуг (ребер).
Свойства 1—3 доказываются аналогично утверждениям 4.21
и 4.22.
Рассмотрим теперь задачу поиска минимальных путей (мар-
шрутов) в нагруженном орграфе (графе). При этом для опреде-
ленности рассуждения будем проводить для орграфа (для гра-
фа они аналогичны).
Замечание 4.22, При решении некоторых практических задач
возникает необходимость поиска максимальных путей в нагру-
женном орграфе. Такая задача легко сводится к исследуемой
ниже задаче поиска минимальных путей заменой знаков при
длинах дуг на противоположные.
Пусть D — (К X) — нагруженный орграф, V = (vi, ..., ип}>
п^2. Введем величины где i— 1, ...» nt k=slt 2,... Для каж-
дых фиксированных i и k величина равна длине минималь-
ного пути среди путей из Oi в vit содержащих не более k дуг;
если же таких путей нет, то Мм=оо. Кроме того, если произ-
вольную вершину cgV считать путем из и в и нулевой длины,
то величины Mh) можно ввести также и для Л=0, при этом
X1W=0, М(0)=«>. t’=2, .... п. (4.14)
Введем также в рассмотрение квадратную матрицу C(D) —
—[с*/] -порядка п с элементами
с.= / г.0> ссли (^»
13 ) со, если (vi, Uj)e=X,
которую будем называть матрицей длин дуг нагруженного ор-
графа D.
Следующее утверждение дает простые формулы для вычисле-
ния величин
Утверждение 4.23. При i = 2,..., п, k 0 выполняется равенство
<*•’*>= min {Xj(h>4-Cji}, (4.15)
а при i = 1. Л О справедливо равенство
Х/м-п — min {0; min }). (4,16)-
Пусть te{2,п}, k^O. Докажем справедливость (4.15) (до-
казательство (4.16) проводится аналогично с учетом того, что
Х1<°»=0). Обозначим правую часть (4.15) через
Покажем сначала, что
М‘+'> > М‘+‘>. (4.17)
189
В случае = оо неравенство (4.17), очевидно, выполняется Пусть
'теперь М*+,)<°о и it=Vj —путь из п, в v,, содержащий не более
ft + I дуг, такой, что /(эт) = Тогда (см. свойство 3) п' — vi... и/-,
минимальный путь среди путей из Vi в vc, содержащих не более k дуг, а еле-
довательно, •
Xf(*+,)=/(;I)=/(Jlz)+/(viz> и,) =X(ft>p+c</<^t min
г. e. неравенство (4.17) выполняется и в этом случае.
Покажем далее, что
(4.18)
В случае ?v/fc+1)=oo неравенство (4.18), очевидно, выполняется. Пусть
'теперь Xi<fc+,)<oo и i'esfl, 2, .... и)—номер такой, что
%<*>р + с.-,£ = min + сц} = £<*+’>.
J^7<n
Тогда в силу Vh+I><oo имеем с,-,г<оо, а следователь-
но, (vi,, Vi)^Xt Vi) и существует путь л7, содержа-
вший не более k дуг, такой, что /(л7) = Но тогда для пути
содержащего не более /г + 1 дуг, выполняется
< 1(л) ~ w + Ci'i =
т. е. (4.18) справедливо и в этом случае.
Используя утверждение 4.23, нетрудно описать алгоритм на-
хождения таблицы значений величин Vft> (будем записывать ее
в виде матрицы, где i — номер строки, k+1 — номер столбца).
.Действительно, используя рекуррентные соотношения (4.15),
(4.16) н исходя из (4.14), последовательно определяем набор
величин ..., ((£+1)-й «столбец матрицы), начиная с
k=0, а затем шаг за шагом увеличивая значение k до любой
необходимой величины.
Будем теперь предполагать, что в D отсутствуют простые
контуры отрицательной длины (ниже в утверждении 4.27 приво-
дится простой метод проверки этого условия). Для дальнейших
рассуждений нам понадобятся дополнительные утверждения.
Утверждение 4.24. Из всякого замкнутого пути отрицатель-
ной длины можно выделить простой контур отрицательной
длины.
Утверждение 4.24 доказывается аналогично утверждению 4.3.
Из утверждения 4.24 следует, что справедливо
Утверждение 4.25. Если в нагруженном орграфе отсутствуют
.простые контуры отрицательной длины, то в нем нет и замкну-
тых путей отрицательной длины.
Утверждение 4.26. В нагруженном орграфе, в котором отсут-
ствуют простые контуры отрицательной длины, можно из всяко-
го незамкнутого пути выделить простую цепь с теми же началь-
ной и конечной вершинами, длина которой не превышает длины'-
исходного пути.
-%*
190
Доказательство будем проводить индукцией по k — количе-
ству дуг в пути. При Л=1 утверждение 4.26 выполняется, по-
скольку всякий незамкнутый путь с одной дугой является про-
стой целью. Предположим, что при некотором k>2 утверждение
4.26 выполняется для всякого незамкнутого лути, содержащего
не более k — 1 дуг. Покажем его справедливость и для каждого
незамкнутого пути я, содержащего ровно k дуг. Пусть л =
= «i«2 ... «й+ь Рассмотрим любые две вершины ui, щ, где
такие, что щ = Если таких вершин нет, то л —
простая цепь, и тогда доказываемое утверждение справедливо.
Если же указанные вершины нашлись, то рассматриваем путь
л' = «I ... iii-tUj... (т. е. предполагаем, что Z>2; случай t=l
разберите самостоятельно), а также путь л" = ... щ. Оче-
видно, что
/(л) = /(л') + /(л"). (4.19)
По условиям доказываемого утверждения (см. также утверж-
дение 4.25) выполняется /(я")>-0, откуда -в силу (4.19) /(л )<
</(л). Заметим, что л' — путь, содержащий не более k—1 дуг,,
а следовательно, по индуктивному предположению из него мож-
но выделить простую цепь о из ui в такую, что Z(o)
< Z(n') « /(я).
Воспользовавшись тем, что число дуг в простой цепи не пре-
восходит п—1, из утверждения 4.26 получаем, во-первых, что
Z=2....п, при всех 1. (4.20>
Во-вторых, если Мп_|) = с» (где Zs{2, .... л}), то вершина Vi не
достижима из а если то достижима из Vi и при
этом — длина минимального пути из Vi в vt-. Таким обра-
зом, по можно судить о достижимости вершин Vi, i=2, ...,
п, из t»i, а также определять длины минимальных путей из сч в
достижимые вершины. Учитывая (4.20), ограничимся рассмотре-
нием величин при Л=0, 1, ..., п—1. Заметим, что
М*>=0, Л=1, 2, ... (4.21)
Равенства (4.21) являются следствием (4.16), а также того,,
что в D отсутствуют замкнутые пути отрицательной длины (см.
утверждение 4.25).
Замечание 4.23. При определении нагруженного орграфа мы
предполагали, что величины Z(x), хеХ, конечны. Между тем ве-
личины VA> (Z=l, 2,.... п, Л=0,1..п— 1) можно аналогичным
образом определить и для случая, когда для некоторых х^Х
выполняется Z(x)=oo. При этом сохраняет силу утверждение
4.23, а следовательно, н алгоритм построения таблицы величин
V4 Отметим, однако, что теперь могут существовать вершины,
Достижимые из с длинами минимальных путей из щ в эти
вершины, равными оо, т. е. мы уже не може*: судить по о
ДОСТИЖИМОСТИ ВерШИН V[ ИЗ Oj.
19 l
Замечание 4.24. Если при некотором kOt где — 2, вы-
полняются равенства i=l, 2, .... п, то в силу
(4.15), (4.16) УЛ>Л0 W*> = 4=1, 2, .... п, и, в частности,
Л/п-!) = х/М, i=l, 2, п, т. е. в данном случае значения
Л/Л) при k>k0 не несут никакой дополнительной информации, и
тогда имеет смысл оборвать процесс последовательного опреде-
ления наборов величин V4 ...» WA) на значении k=k0.
Приведем алгоритм, который позволяет по таблице величин
ЛАЧ «=1, 2,...» п, /г=0, 1,.... п—1, определить минимальный путь
в нагруженном орграфе D из th в любую достижимую вершину,
причем из всех возможных путей ои выделяет путь с наимень-
шим числом дуг.
Алгоритм 4.4 (алгоритм Форда — Веллмана) нахождения
-минимального пути в нагруженном орграфе D из th в Vi (грэМ):
Шаг 1. Пусть мы уже составили таблицу величин МЧ i=l,
.2, п, Л=0, 1, п—1. Если Z,x!(n'l)=co, то вершина не до-
стижима из 01 (предполагаем, что все величины 1(х), хе=Х, ко-
нечны). В этом случае работа алгоритма заканчивается.
Шаг 2. Пусть Xi|(n-,)<oo. Тогда число 1я-1) выражает дли-
ну любого минимального пути из th в и^в нагруженном оргра-
фе D. Определим минимальное число Zh>l, при котором выпол-
няется равенство По определению чисел полу-
чаем, что ki — минимальное число дуг в пути среди всех мини-
мальных путей из -th в th, в нагруженном орграфе D.
Шаг 3. Последовательно определяем номера i2, .... i\,+i та-
iKue, что
1) + с. . =
«2 42» l| h
k^-^+c. . = %(*-«>;
И 1з, 12 12
Ut г = $'
Л1-Н Л1+РЛ1 kt
(4.22)
*(эти номера найдутся в силу(4.15); докажите, что ...»
^/=1). Из (4.22) с учетом того, что имеем
ci2.ii <°°» C/JM-I’z&t<oc>’ KiM4<co’ откУда’ ^пользуя
(4.14), получаем
®/, )...<%l+I> l^Vh- ° J “ %.i,... H+l ’
= c‘kl+v 4°’+1 h1+i = ’• %,+i “ °- (4'23)
Складывая равенства (4.22) и учитывая (4.23), имеем
l(vtv... v. v. ) =
' 1 ki 12 11 И
192
т. е. viVi. ... v. v. —искомый минимальный путь из Vi в v. в.
kt la It II
нагруженном орграфе D. Заметим, что в этом пути ровно ki дуг.
Следовательно, мы определили путь с минимальным числом дуг
среди всех минимальных путей из th в v в нагруженном оргра-
фе D.
Замечание 4.25. Номера i2, Z3, .... удовлетворяющие (4.22) r
вообще говоря, могут быть выделены неоднозначно. Эта -неодно-
значность соответствует случаям, когда существует несколько
различных путей нз Vi в vit с минимальным числом дуг среди
минимальных путей из th в vif в нагруженном орграфе D.
Замечание 4.26. Алгоритм 4.4 можно модифицировать, с тем
чтобы определить минимальный путь из th в заданную 'вершину
среди путей из vt в vfi, содержащих не более дуг, где 60 —
заданное число, Ло5>1- Для этого в алгоритме 4.4 вместо Xj"-11
следует воспользоваться Отметим, что при использованию
указанной модификации алгоритма 4.4 предположение об отсут-
ствии простых контуров отрицательной длины излишне. При
этом, если в орграфе D имеются простые контуры отрицательной
длины, может выполняться неравенство 2ц <0.
Замечание 4.27. Алгоритм 4.4 и его модификация, описанная
выше, после соответствующего изменения в терминологии и обо-
значениях применимы и к неориентированному графу G. При
этом условие отсутствия простых контуров отрицательной дли-
ны заменяется условием отсутствия ребер отрицательной длины.
Пример 4.20. Определим минимальный путь из th в v6 в на-
груженном орграфе D, изображенном на рис. 4.17, около каждой
дуги которого указана ее длина.
Таблица 4.5
матрицу C(D) длин дуг нагруженного орграфа D. Эта матрица
представлена в табл. 4.5. Справа от матрицы C(D) припишем
Шесть столбцов (Х|(Ч Х2(Л), Ав(*>)т. где Л=0, 1, 2, 3, 4, 5, кото-
рые будем определять, используя (4.21), рекуррентное соотноше-
ние (4.15) и исходя из (4.14). Величина W5)=7 выражает дли-
ну минимального пути из th в и6 в нагруженном орграфе D. Най-
19».
.дем минимальное число при котором выполняется равен-
ство =%6(5\ из табл. 4.5 получаем, что ^=4. Таким обра-
зом, минимальное число дуг в пути среди всех минимальных
путей из Ui в Об в нагруженном орграфе D равняется 4. Опреде-
лим теперь последовательность номеров iif 1$, is, и, is, где й=6,
удовлетворяющих (4.22) (для этого используем формулу (4.15)).
Из табл. 4.5 получаем, что в качестве такой последовательности
надо взять номера 6, 2, 3, 5, 1, так как
м(3> + с26 = 54-2=7=Лб<4>;
М2> + с32 *= 3+2=5=W3>;
2-5(,) + й>з = 2+1=3=Л3(2>;
Л1<°> + с15 = 04-2=2=М1}.
Тогда U1U5V3O2V6 — искомый минимальный путь из th в t>6 в на-
груженном орграфе D, причем он содержит минимальное число
дуг среди всех возможных минимальных путей из th в и6.
Пример 4.21. Определим путь из vi в в нагруженном ор-
графе D (см. пример 4.20) минимальной длины среди путей из
th в ив, содержащих не более трех дуг.
Из табл. 4.5 получаем М3)в9, т. е. искомый путь имеет дли-
ну, равную 9. Находим теперь минимальное число ki, при кото-
ром Vft,) = W3). Из табл. 4.5 следует, что fei = 3. Далее опреде-
ляем последовательность номеров й, is, 1'3,^, где й=6, удовлет-
воряющих (4.22). Из табл. 4.5 видно, что в качестве такой по-
следовательности можно взять номера 6, 2, 4, 1. Тогда th^sfe—
искомый путь.
Пример 4.22. Определим путь из th в th в нагруженном ор-
графе D, изображенном на рис. 4.18, а, минимальной длины сре-
ди путей из их в 01, содержащих не более пяти дуг.
В табл. 4.6 указаны матрицы C(D) длин дуг и шесть столб-
цов (Xi<*>, МЧ Mh))T Для &=0. 1> 2> 3, 4, 5, которые определены
Таблица 4.6
а.) б)
Рис. 4.18
по рекуррентным формулам (4.15), (4.16), исходя из (4.14). Из
таблицы получаем Хв<5>=—2, т. е. искомый путь имеет длину,
равную —2. Находим теперь минимальное число ku при кото-
ром = V5). Из таблицы следует, что £1=3. Далее опреде-
ляем последовательность номеров й, is, 13, 1’4, где й=1, удовлет-
воряющих (4.22). Из таблицы видно, что в качестве такой по-
194
следовательности надо взять номера 1, 3, 2, 1. Тогда
искомый путь.
Замечание 4.28. Нетрудно показать, что утверждение 4.23, а
следовательно, и алгоритм 4.4 вместе с его модификацией оста-
нутся справедливыми и для нагруженного ориентированного
псевдографа. При этом в случае кратных дуг следует учитывать
лишь дуги минимальной длины, а при наличии петель — лишь,
петли отрицательной длины. Это замечание переносится и на
неориентированные псевдографы.
Пример 4.23. Если в орграф D (см. пример 4.22) добавить
петлю (и2, Цг) длины —1 (см. рис. 4.18,6), то решением приме-
ра 4.22 будет путь uiu2u2y2u30i
Приведем теперь утвер-
ждение, дающее нам легко
проверяемое необходимое и
достаточное условие того,
что в D отсутствуют про-
стые контуры отрицатель-
ной длины. При этом будем
рассматривать случай, ко-
(см. табл. 4.7).
Таблица 4.7
гда из вершины О! дости-
жимы все другие вершины орграфа D. Этого всегда можно до-,
биться удалением вершин, не достижимых из
Утверждение 4.27. Пусть в орграфе D = (У, X), где V —
...» Цп}, любая вершина v,, ie{2, ..., л}, достижима из щ. Тогда,
для того чтобы в D отсутствовали простые контуры отрицатель-,
ной длины, необходимо и достаточно, чтобы выполнялось уело-.
вие
Vn-1) = i= 1, ...» п. (4.24)
Необходимость следует из уже доказанных для этого случая-
равенств (4.20), (4.21).
Достаточность. Используя утверждение 4.23, из (4.24) полу-.,
чаем равенства (4.20) (в том числе и для < = 1), что может быть~
только при отсутствии в D простых контуров отрицательной дли-
ны. Действительно, если в D существует простой контур с г ду-
гами, проходящий через вершину v, и имеющий длину fo, где
/о<О, то Х|-<Лг+л-1) С + klQ, /г=1, 2, ..., чго противоречит-
(4.20).
4.2.6. Специальные пути (маршруты)
8 орграфах (графах)
Для определенности будем рассматривать орграфы (наши рас-
суждения справедливы и для графов). Нередко при решении,
прикладных задач необходимо найти не обязательно минималь-
ный путь из и в w в орграфе D. где v, w — заданные вершины,
*’ 195.
а путь (или множество путей), обладающий некоторым свойст-
вом а, где а — одноместный предикат, определенный на множе-
стве П путей в орграфе D. Свойство а называется латинским,
если из того, что путь я = ЛгОлг, где Ль Лг^П, обладает свой-
ством а, следует, что пути Jti, л2 также обладают свойством а.
Пример 4.24. Приведем некоторые латинские свойства путей
в орграфе:
1) ие проходить через данную вершину (или через заданное
множество вершин);
2) не проходить через данную дугу (или через заданное мно-
жество дуг);
3) быть простой цепью;
4) быть простой цепью или простым контуром;
5) быть цепью или контуром;
6) не проходить через каждую вершину более k раз (где k —
заданное число, Л>1).
Опишем матричный способ перечисления путей в орграфе,
обладающих заданным латинским свойством а, называемый ме-
тодом латинской композиции.
Предварительно введем некоторые обозначения. Пусть D —
орграф, а — латинское свойство путей в D, П4 — множество пу-
тей в D, обладающих свойством а. Введем бинарную операцию
О на П„ = II e U {0}. Пусть Я1 = иЛи2 ... л2 = ww?. ...
... ЬУ/еПа. Положим
а [ niOn2, если Wi и путь jtiOsta обладает свой-
П'Олг = I ством а;
| 0 — в противном случае.
Кроме того, для любого пути л=Па положим
0Ол = яО0 = 000-0.
Очевидно, что введенная бинарная операция является ассо-
— «
циативной, т. е. (nft, О) — полугруппа. Будем применять бинар-
ную _операцию О и к множествам элементов из П«. Пусть
П1^Па, П?5=П». Тогда по определению
П(ОПя = IHiOnij.
л2еП2
Пусть D = (V, X) —орграф, где V = {о»,..., »п}. Введем ДЛ*
любого целого k^ \ латинскую матрицу
размерности такую, что — множество путей длины «
из Vi в о» обладающих свойством а (в частности, /(Ч,=0» еСЛИ
таких путей нет).
Д96
Определим теперь композицию La<ft>OLa<m> латинских матриц
где fez^sl, Под результатом композиции С=£а(*>О£в^т) будем по-
нимать квадратную матрицу С = [c«j] порядка п с элементами
Ci/= и .
Утверждение 4.28. При любом 1 выполняется равенство
Lew = L^OLa<»O ... ОЛ.А
где при &>2 справа берется композиция k матриц, а при k— 1
выражение справа вырождается в La^.
Доказательство будем проводить индукцией по k. При /г=1
справедливость утверждения 4.28 очевидна. Предположим, что
данное утверждение выполняется при некотором /г>1. Покажем
его справедливость при fc-М. Заметим, что согласно определению
чЗЧ О выполняется равенство
U(U<h>C)Zn/l>),
a
а следовательно, L = La<hyOLa(1>, откуда, используя индук-
тивное предположение, получаем справедливость доказываемого
утверждения.
Следствие. Для любых /г>1, т>1 выполняется равенство
La<fc>OL a <m> = £я (4.25)
Из утверждения 4.28 вытекает, что задача перечисления пу-
тев в орграфе D заданной длины £s>2, обладающих свойством
а, сводится к выполнению следующих простых действий. Состав-
ляем матрицу La(I) (по определению). Теперь для перечисления
путей длины 2, обладающих свойством а, достаточно найти
£Л(2> = £а(1Ю£Л(,). Для перечисления путей длины 3, обладаю-
щих свойством а, находим £а<3) = £«(2>OL«(I> и т. д. Применяя
формулу (4.25), можно при больших k ускорить решение зада-
чи. Так, например, можно найти £«(4> сразу после определения
£а(2> по формуле £a(4> = L«(2,OLa<4
Пример 4.25. Найти все простые цепи длины 3 в орграфе D,
изображенном на рис. 4.19.
Воспользуемся методом латинской композиции. Последова-
тельность результатов композиции La^\ £J2) =
=• Z-a(2>OLe(I) представлена соответственно в табл. 4.8a—
4-8в, где a — свойство маршрутов «быть простой цепью».
197
Замечание 4.29. При больших п, k, где п — количество вер-
шин в орграфе D, k — число дуг в перечисляемых путях оргра-
фа D, практическое применение ме-
тода латинской композиции оказы-
вается затруднительным (поскольку
s' I требуется большой объем вы числе*
I ! Ни” и опеРативн°й памяти ЭВМ),
П что накладывает ограничения на об-
ласть его использования.
Замечание 4.30. Как уже отмеча-
^4 лось, метод латинской композиции
(при соответствующем изменении в
Рис. 4.19 терминологии) применим и к неори-
ентированным графам и даже к
произвольным псевдографам (ориентированным и неориенти-
рованным) .
Таблица 48а
0 1402 0103 0
0 0 0203 0204
0 0 0 О»04
0401 »40г 1 0 1 0
Таблица 4.85
0 0 010203 010204 010304
020401 0 0 020304
0»0401 030402 0 0
0 040102 0*0103 040203 0
Таблица 4.8в
0 01030402 0 01020304
02030401 0 02040103 0
0 03040102 0 0
0 0 040102»3 0
4.2.7. Эйлеровы цепи и циклы
Классической в теории графов является следующая задача.
В городе Кенигсберге имеется два острова, соединенных семыо
мостами с берегами реки Преголь и друг с другом так, как пока- •
зано на рис. 4.20. Задача состоит в следующем: осуществить про-
198
гулку по городу таким образом, чтобы, пройдя по одному разу
по каждому мосту, вернуться обратно. Решение этой задачи
сводится к нахождению некоторого специального маршрута в
графе.
Пусть G — псевдограф. Цепь (цикл) в G называется эйлеро-
вой (эйлеровым), если она (он) проходит по одному разу через
каждое ребро псевдографа G.
С
Поставим в соответствие схеме, приведенной на рис. 4.20,
мультиграф G, изображенный на рис. 4.21, в котором каждой
части суши соответствует вершина, а каждому мосту — ребро,
соединяющее соответствующие вершины. На языке теории гра-
фов задача звучит следующим образом: найти эйлеров цикл в
мультиграфе G (решение этой задачи было даио Л. Эйлером и
будет приведено в примере 4.26).
Очевидно, что свойство маршрутов а: «проходить через каж-
дое ребро не более одного раза» является латинским, а следова-
тельно, все эйлеровы цепи и циклы псевдографа G можно полу-
чить, применяя к G метод латинской композиции. Они будут пе-
речислены в матрице La{m)(G), где т = m(G) — количество ре-
бер в G. При этом все эйлеровы циклы псевдографа G полностью
перечисляются в любом диагональном элементе этой матрицы.
Прежде чем решать задачу о выделении эйлеровой цепи или
эйлерова цикла в нсевдографе G, надо выяснить, существуют ли
оии. Простейшее необходимое условие их существования, очевид-
но, заключается в связности G. Исчерпывающий ответ на вопрос
об их существовании дают приводимые ниже теоремы 4.1 и 4.2.
Нам понадобится следующее вспомогательное утверждение.
Утверждение 4.29. Если в псевдографе G имеется хотя бы од-
но ребро и отсутствуют висячие вершины, то G содержит хотя бы
один простой цикл.
Еслп в G имеется хотя бы одна петля х = {и, и}, то простым
циклом является vxv. Пусть теперь в G нет петель, т. е. G —
мультиграф. Если в G имеются кратные ребра Xi — {и, w}, х* »
== {у, и»}, то простым циклом является vxiwxzv. Пусть теперь в
G нет кратных ребер, т. е. G — граф, и — произвольные
смежные вершины в G (они найдутся, так как по условиям до-
казываемого утверждения в G имеется ребро). Рассмотрим по-
199
следовательность t?2, u3, ... вершин графа G такую, что для
любого i>3 вершины vt, Vt—i смежны и Vi=^Vi-2 (см. рис. 4.22).
Поскольку в G висячих вершин нет, то такую последователь-
ность можно продолжать неограниченно. Используя конечность
множества вершин в G, получаем, что обязательно произойдет
совпадение vi = Vj, где lci<j— 2. Пусть это будет первое сов-
падение, т. е. совпадение с наименьшим номером /. Тогда tw+i-..
... 14 — простой цикл в G.
Замечание 4.31. Доказательство
О О О утверждения 4.29, чю существу,
у tr. и- представляет собой алгоритм вы-
2 l~' L деления простого цикла из- псевдо-
р 42„ графа G с непустым множеством.
1 ‘ ребер и без висячих вершин.
Введем следующие обозначения. Если рь ц2 — цик-
лы некоторого псевдографа G, имеющие хотя бы одну общую-
вершину и не имеющие общих ребер, то, очевидно, су-
ществует цикл, проходящий через все ребра, входя-
щие в gi и р2. Обозначим через pi + р2 любой из таких циклов.
Кроме того, для любого цикла р обозначим через Е(р), Х(р),
множества вершин н ребер, входящих в р.
Утверждение 4.30. Пусть р — цикл без петель. Тогда Vo(=
eV(ig) количество ребер в Х(р), инцидентных v, четно.
Пусть oeV(p). Поскольку в цикле р отсутствуют петли и все
ребра попарно различны (по определению), то с каждым новый
вхождением в р вершины v в этот цикл войдут также два новых
инцидентных ей ребра, а следовательно, общее число ребер в
Х(р) инцидентных о, четно.
Следствие. Если вершина входит в некоторый цикл, то она
не может быть висячей.
Теперь докажем, что справедлива
Теорема 4.1. Для того чтобы связный псевдограф G обладая
эйлеровым циклом, необходимо и достаточно, чтобы степени его
вершин были четными.
Необходимость. Пусть G обладает эйлеровым циклом. Пока-
жем, что степени его вершин четны. Удалим из G все петли.
В результате получим мультиграф G', который, очевидно, также
обладает эйлеровым циклом. Поскольку эйлеров цикл мульти-
графа G' содержит все ребра из G', а следовательно, п все вер-
шины из G', то в силу утверждения 4.30 степени всех вершин
мультиграфа G' четны, откуда, учитывая то, что вклад петли в
степень вершины, инцидентной этой петле, равен 2 (см. замеча-
ние 4.1), получаем четность степеней всех вершин из G.
Достаточность будем доказывать индукцией по пг — количе-
ству ребер в G. При m— 1 связный псевдограф G с вершинами
четной степени может выглядеть только следующим образом:
G = (К, X), где V = {v}t X — {х = {и, и}}, а в таком псевдо-
графе существует эйлеров цикл. Предположим, что для некого-
200
рого целого достаточность доказана для всякого псевдо-
графа с ст—1 ребрами.. Докажем ее справедливость для псев-
дографов с т ребрами. Пусть в связном псевдографе G с т реб-
рами степени вершин четны. Покажем, что в нем существует
эйлеров цикл. В силу утверждения 4.29 в G имеется простой цикл
цо- Если р0 содержит все ребра из G, то искомый эйлеров, цикл
найден. В противном случае удаляем из G все ребра, содержа-
щиеся в р0. В результате получаем псевдограф G', каждая ком-
понента связности которого является либо изолированной вер-
шиной, либо псевдографом, степень каждой вершины которого
четна (см. утверждение 4.30). Пусть Git i=l, ..., р, — компонен-
ты связности псевдографа G', отличные от изолированных вер-
шин. По индуктивному предположению для каждого псевдогра-
фа Gi можно построить эйлеров цикл В силу связности G
цикл ро имеет общие вершины с любым из циклов р<, i«l,...»р.
Но тогда искомым эйлеровым циклом в G, очевидно, является
цикл
Н = (— ((Но + И») + Нг) + — + Нр)-
Теорема 4.2. Для того чтобы связный псевдограф G обладал
эйлеровой цепью, необходимо и достаточно, чтобы он имел ровно
две вершины нечетной степени.
Необходимость. Пусть G имеет эйлерову цепь, соединяющую
v, w. Добавим к G дополнительное ребро {о, w}. В результате
получим исевдограф Gr, обладающий эйлеровым циклом, а сле-
довательно (см. теорему 4.1), степени вершин псевдографа G'
четны. Но тогда четны и степени вершив псевдографа G, за ис-
ключением вершин v, w.
Достаточность. Пусть G имеет ровно две вершины и,- w не-
четной степени. Добавим к G повое ребро {о, w}. В результате
получим связный псевдограф G' со всеми вершинами четной
степени. Но тогда в G' существует эйлеров цикл (см. теорему
4.1). Исключив из этого цикла ребро {о, w}, получим эйлерову
цепь в псевдографе G, соединяющую v, w.
Замечание 4.32. Из доказательства теоремы 4.2 следует, что
если мы находимся в условиях этой теоремы, то любая эйлерова
Цепь псевдографа G соединяет вершины нечетной степени.
Таким образом, мы имеем легко проверяемые необходимые и
Достаточные условия существования в произвольном псевдогра-
фе G эйлеровой цепи или эйлерова цикла.
Рассмотрим теперь задачу построения реализуемых иа ЭВМ
алгоритмов выделения эйлеровой цепи или эйлерова цикла в
псевдографе G. Для построения и обоснования таких алгорит-
мов нам потребуется
Утверждение 4.31. Пусть G — (V, X) — связный псевдограф,
Иь ..., ц/— циклы в G такие, что 1>1 и
*(Hi)U - Я(|АГ)n^(|Xj) =0 при (4.26)
fe-4529 201
T- e. X(iii), ..., — разбиение множества X. Тогда для цик-
ла jxi найдется цикл где такой, что
Рассмотрим произвольные вершины о, w такие, что v^V(pi),
®eV(g2). Если a»eV(pi), то 1~2. Пусть теперь йУё=У(р1). Тог-
да и в силу связности G найдется маршрут v\Xiv?
... Xk-iV/г, где £^2, vt=^v, Vk—wt соединяющий v, w. Пусть / —
номер такой, что 1</<Л—1, i>/=V(m), OjxieV('Pi) (номер /
найдется, так как ще=У(щ), ^eV(iu)). Тогда для ребра х,=
= Vj+i} имеем XjeX(gi), а следовательно, в силу (4.26) 3Ze
......./} :Xj^X(in). Но тогда Р(,щ)П V(pf), т. е. утвержде-
ние полностью доказано.
Алгоритм 4.5 выделения эйлерова цикла в связном мульти-
графе G = (К X), где Х^0, с четными степенями вершин:
Шаг 1. Выделим из G цикл ри (в силу утверждения 4.29 цикл
pi найдется, так как Х^0 н в G отсутствуют висячие вершины).
Полагаем /=1, G' = G.
Шаг 2. Удаляем из G' ребра, принадлежащие множеству
Х(ре). Полученный псевлограф снова обозначаем через G' (в
силу утверждения 4.30 в G' все 'вершины всегда имеют четные
степени). Если в G' отсутствуют ребра, то переходим к шагу 4.
В противном случае выделяем из G' цикл щ+i (см. утверждение
4.29 о существовании такого цикла) и переходим к шагу 3.
Шаг 3. Присваиваем /: = /+! и переходим к шагу 2.
Шаг 4. По построению щ, ..., рл— циклы, удовлетворяющие
.условию (4.26). Если /=1, то pi — искомый эйлеров цикл, и на
этом работа алгоритма заканчивается. В противном случае на-
ходим цикл р/ такой, что У(р1)П^(р,-)¥г0, где 2ct<Z (в силу
утверждения 4.31 цикл р» найдется). Переходим к шагу 5.
Шаг 5. Присваиваем I: =1—1, pi: =pi+p», pj: ==pj+i, /я
= i, ..., Z, и переходим к шагу 4.
Применим алгоритм 4.5 к задаче выделения эйлерова цикла
в самом общем случае, когда G = (КА1) — связный псевдограф,
где Х#=0, степени вершин которого четны. Удалим из G петля.
В результате получим: связный мультиграф G't степени вершин
которого четны. Рассмотрим нетривиальный случай, когда в G'
имеется хотя бы одно ребро. Тогда, применяя к G' алгоритм 4.5,
находим эйлеров цикл в G'. Добавляя очевидным образом 3
этот цикл удаленные петли, получаем эйлеров цикл в G.
Рассмотрим теперь задачу о выделении эйлеровой цепи в
связном псевдографе G = (V, X), где Х^0, имеющем ровно
две вершины v, w нечетной степени. Добавляя к G ребро {о,
получаем псевдограф G' с четными степенями вершин. Выделив
из G' эйлеров цикл и удалив из него ребро {v, и/}, получим
эйлерову цепь, соединяющую v, w.
Пример 4.26 (решение задачи о кенигсбергских мостах). Вос-
пользуемся теоремой 4.1. Заметим, что для мультиграфа G, изо*
Сраженного на рис.. 4.22, имеем 6(А) =5, 6(B) =3,
6(D) =3, т. е. необходимое и достаточное условие существоваН»
202
эйлерова цикла не выполняется, а следовательно, мультиграф G
не обладает эйлеровым циклом.
4.2.8. Гамильтоновы цепи и циклы
Пусть G— псевдограф. Цепь (цикл) в G называется гамиль-
тоновой (гамильтоновым), если она (он) проходит через каждую
вершину псевдографа G ровно один раз.
С понятием гамильтоновых циклов тесно связана так назы-
ваемая задача коммивояжера: в нагруженном графе G опреде-
лить гамильтонов цикл минимальной длины (иными слова-
ми, коммерсант должен совершить поездку по городам н
вернуться обратно, побывав в каждом городе ровно один раз, и
при этом СТОИМОСТЬ такой Таблица 49
поездки должна быть !мини-
мальной).
На 'первый взгляд, поня-
тие гамильтонова цикла сход-
но с понятием эйлерова цик-
ла. А между тем графы, при-
веденные в табл. 4.9, где
столбцы соответствуют слу-
чаям существования (стол-
бец 1) и несуществования
(столбец 2) гамильтоновых
циклов, а строки — случаям
существования (строка 1) и
несуществования (строка 2) эйлеровых циклов, показывают не-
зависимость этих понятий.
Гамильтоновы цепи и циклы относятся к числу специальных
маршрутов в графах. Очевидно, что свойство маршрутов а:
«проходить через каждую вершину не более одного раза» явля-
ется латинским, а следовательно, все гамильтоновы цепи и цик-
лы псевдографа G можно получить, применяя к G метод латин-
ской композиции. Пусть G является п-вершинным псевдографом.
Используя тот очевидный факт, что длина любой гамильтоновой
цепи равна п— 1, а длина любого гамильтонова цикла равна п,
получаем, что все гамильтоновы цепи будут перечислены в непу-
стых элементах матрицы (n-,)(G), за исключением элементов
на главной диагонали, а все гамильтоновы циклы — в каждом
диагональном элементе матрицы La(n)(G). Однако, как отмеча-
лось выше, метод латинской композиции в данном случае практи-
чески применим лишь при достаточно малых п, и поэтому пред-
ставляет интерес разработка более экономичных методов.
Заметим, что (как и в случае с эйлеровыми цепями и цикла-
ми) было бы полезно иметь сравнительно простые необходимые
и достаточные условия существования гамильтоновых цепей и
13*
203
циклов. Однако этот вопрос является весьма сложным и здесь
не обсуждается.
Вопросы существования и нахождения гамильтоновых цепей
и циклов в псевдографах очевидным образом сводятся к анало-
гичным вопросам для графов, и поэтому в дальнейшем будем
говорить только о графах.
Рассмотрим простой класс графов, в которых заведомо суще-
ствуют гамильтоновы цепи и циклы. Граф G называется полным,
если каждая его вершина смежна со всеми остальными вершина-
ми. Очевидно, что в полном графе всегда существуют гамильто-
нов цикл, а также гамильтоновы цепи, соединяющие две произ-
вольные вершины этого графа. Таким образом, простейшим до-
статочным условием существования гамильтоновых цепей и цик-
лов в графе является его полнота. Приведем также простейшие
необходимые условия. Очевидным необходимым условием суще-
ствования гамильтоновых цепей и циклов в графе G является
связность G. Более тонким необходимым условием существова-
ния гамильтонова цикла в графе G является
Утверждение 4.32. Если граф G обладает гамильтоновым
циклом, то в нем отсутствуют точки сочленения.
Пусть в G имеется точка сочленения щ. Докажем, что G не
может обладать гамильтоновым циклом. Предположим против-
ное, т. е. что G обладает гамильтоновым циклом р = uiu2...
где п = n(G). Поскольку Vi — точка сочленения, то в результате
удаления fj из G получаем граф G' с компонентами связ-
ности О|,..., Gp, где р^2. Пусть компоненты связности пронуме-
рованы таким образом, что u2^Gi = (Уь Xi). Заметим, что по
определению гамильтонова цикла выполняется Vz^Vt,
откуда {оъ vs}^Xit а следовательно, Аналогично полу-
чаем, что v4,..., Vn^Vi, а это противоречит тому, что р^2.
Приведем некоторые наиболее простые методы выделения га-
мильтоновых цепей и циклов в графе G = (V, X), где V = {щ..
₽п}. Пожалуй, самым простым является метод перебора всевоз-
можных перестановок vie v /г, ..., vinмножества V. Для каждой
из ннх проверяем, является ли vinмаршрутом в G. Если
является, то vit viz... — гамильтонова цепь в G, в противном
случае переходим к следующей перестановке. Тогда по окончании
перебора будут выделены все гамильтоновы цепи в графе G. Ана-
логично для выделения гамильтоновых циклов перебираем всевоз-
можные перестановки vi, vit».... множества V, для каждой
из которых проверяем, является ли vivit... маршрутов
в G. Если является, то viv^ ... ui — гамильтонов цикл в G,
в противном случае переходим к следующей перестановке. Тогда.
по окончании перебора будут выделены все гамильтоновы циклв*
в графе G. Очевидно, что при выделении всех гамильтоновых цепей
Пам придется перебрать п\ перестановок, а при выделении все*
гамильтоновых циклов—(л—1)1 перестановок. При этом.?
204
случае полного графа ни одна из 'перестановок не окажется от-
брошенной, т. е. данный метод является эффективным для гра-
фов, близких к -полным.
Отметим, что описанный метод не учитывает информации об
исследуемом графе G и является как бы ориентированным на
самый «худший» случай, когда G — полный граф.
Рассмотрим метод, аналогичный предыдущему, но использу-
ющий информацию о G. Составим всевозможные последователь-
ности вершин vk, .... Vfp где eV, via eG(ufl ...»
Я/, V(r} = 0. Тогда в
каждом случае, когда г = п, последовательность vit viz... vin
есть гамильтонова цепь в графе G. Соответственно в каждом
случае, когда г = п, v£1 eG(oln ), последовательность
... vin есть гамильтонов цикл в графе G. При этом будут выде-
лены все гамильтоновы цепи и циклы в графе G. Как и в преды-
дущем методе, при выделении гамильтоновых циклов можно
предполагать, что й==1.
Задачи и упражнения
1. Используя алгоритм Тэрри, определить замкнутый марш-
рут в каждом из графов, изображенных на рис. 4.14 и 4.16, про-
ходящий ровно два раза (по одному разу в каждом направле-
нии) через каждое ребро графа.
2. Доказать, что в сильно связном орграфе с симметричной
матрицей смежности существует контур, проходящий по одному
разу через каждую дугу орграфа.
3. Найти минимальный путь из in в и? в орграфах, заданных
матрицами смежности:
а) 0 0 0 И- >1 0 0 10Д101 1 1 .1 0.1 .1. 0 1 0000140 И 0 4 0 1- 0 1 11 И 0 4 .1 0 0
0 0 0 0 -1 11 0 4 0 0 4 0 1 0 0 .1-'! 11 0 0 0 4 4 0 0 1 10 ; б) 0 0 4 0 1 1. 0 4004040 0 0 И 0 1 0 0 а д. о 1 1 о о ; в)
О 0 0 >1 О П О
4010404
О 1 0 1- 1 11 О
:1 0 0 0 ,1 О О
10-1 1 он о
0 0 0 1 1 0 0
1 0 II О 1 1 о
4. Определить минимальный путь из vi в vj в нагруженных
орграфах с заданными матрицами длин дуг:
5. -Определить путь из vi в о? минимальной длины в каждом
Загруженном орграфе (см. задачу 4) средн путей из о» в v?, со-
держащих не более Л дуг, где: а) Л=2; б) Л—3; в) Л—4.
205
6. Определить, имеются ли в нагруженном орграфе D с за-
данной матрицей длин дуг C(D) простые контуры отрицатель-
ной длины? Найти пути минимальной длины из во все осталь-
ные вершины среди путей, содержащих не более шести дуг. Рас-
смотреть случай
~ оо б оо 6 ОО 110 ~
ОО со 2 СО--1 3
оо оо |1 2 оо со
оо оо 5 оо оо оо
7. Проверить, существуют ли в мультиграфах, заданных мат-
рицами смежности, эйлеровы цепи и циклы? Если да, то найти
их. Рассмотреть случаи:
Г 0 1 0 0 2 д “I
>10 10 0 2.
"04 0 0 24 "1
101002
0 il 0 2 0 1
002014
200101
_ Л 2 il I ;1 0 _
а)
200100
11 2 tl il 0 0
4.3. ДЕРЕВЬЯ И ЦИКЛЫ
Граф G называется деревом, если ои является связным и не име-
ет циклов. Граф G, все компоненты связности которого являют-
ся деревьями, называется лесом.
Пример 4.27. Граф, изображенный на рис. 4.23, является де-
ревом.
Рис. 423
4.3.1. Свойства деревьев
Следующие утверждения эквивалентны:
1) граф G есть дерево;
2) граф G является связным и не имеет простых циклов;
3) граф G является связным и число его ребер ровно на еди-
ницу меньше числа вершин;
4) любые две различные вершины графа G можно соединить'
единственной (и притом простой) цепью;
5) граф G не содержит циклов, но, добавляя к нему любое
новое ребро, получаем ровно один (с точностью до направления
обхода и начальной вершины обхода) и притом простой ЦЯКД
(проходящий через добавляемое ребро).
Заметим, что для доказательства эквивалентности утверЖДе*
ний 1 и 2 достаточно воспользоваться тем фактом, что из люб®1^
206
цикла можно выделить простой цикл (см. утверждение 4.3). Ни-
же (см. утверждения 4.33—4.40) будет обоснована эквивалент-
ность утверждения 1 любому из утверждений 3—5, а тем самым
будет доказана эквивалентность утверждений J—5.
Утверждение 4.33. Если у дерева G есть, по крайней мере,
одно ребро, то у него обязательно найдется висячая вершина.
Предположим, что в G нет висячих вершин. Тогда в силу ут-
верждения 4.29 в G найдется цикл, а это противоречит тому, что
G — дерево.
Утверждение 4.34. Пусть G — связный граф, v — висячая
вершина в G, G'—граф, полученный из G в результате удаления
вершины v и инцидентного ей ребра. Тогда G' — связный граф.
Предположим, что граф G' не является связным. Тогда в нем
найдутся вершины vi, v2(ui и2), которые нельзя соединить
маршрутом. Но в G их можно соединить маршрутом р, (в силу
связности G). Выделим из маршрута р. цепь ц, также соединя-
ющую вершины vi, v2 (см. утверждение 4.4). Если эта цепь не
проходит через о, то она является цепью и в G', что противоре-
чит сделанному ранее предположению, а следовательно, она про-
ходит через v. Пусть w — вершина, смежная с v. Она единствен-
ная, так как v — висячая вершина. Тогда указанная цепь име-
ет вид г) — V] ... wvw ... V2, а значит, ребро {v, w} в этой цепи
встречается более одного раза, что противоречит определению
цепи. Полученное противоречие показывает, что исходное пред-
положение неверно, т. е. G' — связный граф.
Замечание 4.33. Утверждение 4.34 остается справедливым и
для произвольного псевдографа G. Доказательство аналогично.
Утверждение 4.35. Пусть G — дерево с п вершинами и tn реб-
рами. Тогда т = п— 1.
Доказательство проведем индукцией по п — количеству вер-
шин. При п=1 имеем т=0, т. е. tn — п— 1. Пусть при некото-
ром п>2 доказываемое равенство справедливо для любого де-
рева сп— 1 вершинами. Докажем его справедливость для лю-
бого дерева Gen вершинами. Поскольку в дереве с п>2 верши-
нами имеется, по крайней мере, одно ребро (дерево — связный
граф), то в силу утверждения 4.33 в рассматриваемом дереве G
найдется висячая вершина. Удалим ее вместе с инцидентным ей
ребром. В силу утверждения 4.34 оставшийся граф д' будет связ-
ным. Кроме того, он не содержит циклов (так как в противном
случае и граф G, являющийся деревом, содержал бы их), т. е.
6'—дерево. Заметим, что G' содержит n—1 вершин и tn—1
Ребер. По тогда по индуктивному предположению выполняется
m— 1 = п — 2, откуда m = п— 1.
Утверждение 4.36. Пусть G' — граф, являющийся деревом, G — граф,
Слученный в результате добавления к G' новой вершины р и ребра (v, w).
ЭДе и — некоторая вершина графа G'. Тогда G — дерево.
Прежде всего заметим, что v — висячая вершина графа G. Для дока-
^тельства того, что G — дерево, сначала покажем, что граф G связный,
этого достаточно доказать, что л;ебгю вершину и графа G* можно сое-
207
динить маршрутом с v (поскольку в силу связности графа С' любые две
вершины графа G, отличные от о, заведомо можно соединить маш рутом)
Рассмотрим нетривиальный случай, когда u-^-w. В силу связности графа &
существует маршрут rf в G' (а следовательно, и в б), соединяющий и, w.
Но тогда TjOwo — маршрут в G, соединяющий и, v. Покажем теперь, что в
G нет циклов. Предположим, что в G имеется цикл ц, Согласно следствию
из утверждения 4.30 вершина п (являющаяся висячей) не содержится в этом
цикле, а значит, ц— цикл в G', но это противоречит тому, что G'—дерево
Утверждение 4.37. Пусть G = (V, X) — связный граф с m ребрами и п
вершинами и пусть также выполняется равенство т = п—1. Тогда G—де-
рево.
Доказательство проведем индукцией по л — количеству вершин. Если
л=.1, то Л1=л—:1== 0. Граф, содержащий одну вершину и не имеющий ребер,
очевидно, является деревом. Пусть при некотором п 2 доказываемое ут-
верждение справедливо для любого графа не более чем с л — 1 вершинами.
Докажем справедливость этого утверждения для произвольного графа G
с л вершинами. Покажем, что в G имеется висячая вершина. Если ее нет,
то VueV б (о) ^2, а следовательно, используя утверждение 4.1, получаем^
что 2т = 2 б (о) 2л, откуда т^п, а это противоречит условию гл=»
veV
= л — 1. Таким образом, в графе G имеется висячая вершина о. Удалим ее
вместе с инцидентным ей ребром. В результате получим граф G' с п — 1
вершинами ил-2 ребрами. Согласно утверждению 4.34 граф G' является
связным, а следовательно, по индуктивному предположению G' — дерево.
Но тогда в силу утверждения 4.36 и граф G является деревом.
Замечание 4.34. Утверждение 4.37 остается справедливым »
для произвольного псевдографа G. Доказательство аналогично.
Из утверждений 4.35, 4.37 следует эквивалентность утвержде-
ний 1 и 3 (см. с. 206).
Утверждение 4.38. Пусть G— дерево. Тогда любая цепь в G
будет простой.
Пусть VW2 ... аь — цепь в дереве G, не являющаяся простой.
Тогда прн некоторых 6, {1, 2, ...» k} выполняется —
= vi2. Пусть для определенности п<лг. Тогда
цикл в G, а это противоречит тому, что G — дерево.
Утверждение 4.39. Для справедливости утверждения 1 необ-
ходимо и достаточно, чтобы выполнялось утверждение 4 (см.
с. 206).
Необходимость. Пусть G — дерево п г*, w — некоторые вер-
шины графа G, где v #= w. Тогда в силу связности G их можно
соединить цепью (см. утверждение 4.4). Предположим, что най-
дутся две различные цепи iji, г)2, соединяющие и, w. Согласно
утверждению 4.38 цепи tji, т]2 являются простыми. Пусть тц
= ... т)2 = WiW2 ... Wi, где t»i = = г, Vh == Wi — w,
Z>2. Поскольку T]i #= т)2, найдется номер такой, что
........vk==&ke vtft+l^wki+l. Пусть /г2 — первый средн номе-
ров ki + 1, k такой, что вершина и*, встречается среди вер'
шин........, Wt {k2 обязательно найдется, так как
Пусть, далее, Л3 — первый номер среди 4- 1, ..., I такой,
В силу неравенства не может выв
няться равенство /^ = &з = + 1. Но тогда
208
vki %+! - «'fe.+l ™kt
есть простой цикл в графе G (см. рис. 4.24), а это противоречит
тому, что G — дерево.
Достаточность, Пусть в графе G любые две вершины можно
соединить, и притом единст-
венной цепью. Докажем, что
G — дерево. Очевидно, что
граф Ь связный. Покажем,
что в G нет циклов. Пусть в
G имеется цикл охо2... VhVh
где /г^З (так как при &=2
маршрут ViV2vi не является
циклом). Но тогда вершины
Рис. 4.24
v2 можно соединить дву-
мя различными цепями: vtv2, viWk-i ... и2, что противоречит
исходному предположению.
Замечание 4.35. Нетрудно показать, что условие достаточно-
сти в утверждении 4.39 остается справедливым и для произволь-
ного псевдографа G.
Утверждение 4.40. Для справедливости утверждения 1 необ-
ходимо и достаточно, чтобы выполнялось утверждение 5 (см.
с. 206).
Необходимость. Пусть G — (V, X) — дерево. Тогда в G нет
циклов. Пусть v, w — любые вершины из V такие, что v^=w,
{v, .Рассмотрим граф G' = (V, X'), где X' = XL){v, ад}.
Используя утверждение 4.39, получаем, что в G найдется про-
стая цепь *ф, соединяющая v, w. Но тогда щ = wvOtji — про-
стой цикл в графе G', проходящий через ребро {v, ад}. Предпо-
ложим, что в G' существует некоторый другой цикл р2- Тогда рг
обязательно должен проходить через ребро {о, ад} (так как в
противном случае р2 был бы циклом в дереве 6), а следова-
тельно, он имеет вид (с точностью до направления обхода и вы-
бора начальной вершины обхода) р2 = адпОт^, где т)2 — цепь в
G', соединяющая v, w. Заметим, что поскольку рг — цикл, то
цепь т)2 не проходит через ребро {п, ад}, а' значит, является цепью,
в G. Но тогда в силу утверждения 4.39 получаем rji = т)2, а
следовательно, pi = р2.
Достаточность. Пусть для графа G = (V, X) выполняется ут-
верждение 5 (см. с. 206). Предположим, что G не является де-
ревом. Согласно утверждению 5 граф G не содержит циклов, а
Поскольку в силу сделанного предположения граф G не является
Деревом, то он не может быть связным. Но тогда найдутся вер-
шины с, аде=К v^w, такие, что их нельзя соединить маршрутом
в G. Добавим к графу G ребро {v, ад}. В результате получим
граф G', содержащий (см. утверждение 5) некоторый цикл р.
Очевидно, что р проходит через ребро {v, ад} (так как в против-
ном случае р — цикл в 6, а 6 не содержит циклов), а следова-
209
тельно, он имеет вид (с точностью до направления обхода и вы.
бора начальной вершины обхода) р = woOt], где т) — цель в (?'„
соединяющая v, w. В силу того, что р — цикл, ц не содержит
ребро {и, ш}, а значит, является цепью в G, что противоречит
сделанному ранее предположению.
4.3.2. Остовное дерево связного графа
Остовным деревом связного графа G называется любой его под-
граф, содержащий все вершины графа G и являющийся деревом.
Пусть G — связный граф. Тогда в силу утверждения 4.35 ос-
товное дерево графа G (если оно существует) должно содержать
n(G) — 1 ребер. Таким образом, любое остовное дерево графа G
есть результат удаления из G ровно m(G) — (n(G) — 1) =
= m(G) —n(G) + I ребер.
Число m(G)—n(G) 4- 1 называется ц и климатическим чис-
лом связного графа G и обозначается через v(G).
Замечание 4.36. Понятия остовного дерева и цикломатическо-
го числа аналогичным образом определяются и для произволь-
ного связного псевдографа G.
Покажем существование остовного дерева для произвольного
связного псевдографа G = (V, X), описав алгоритм его выделе-
ния.
Алгоритм 4.6:
Шаг 1. Выбираем в G произвольную вершину wi, которая об-
разует подграф Gi псевдографа G, являющийся деревом. Папа-
гаем i=l.
Шаг 2. Если i — п, где п — n(G)f то задача решена, и Gi —
искомое остовное дерево псевдографа G. В противном случае пе-
реходим к шагу 3.
Шаг 3. Пусть уже построено дерево Gi, являющееся подгра-
фом псевдографа G -и содержащее некоторые вершины ui, ...» 14,
где Icicn— 1. Строим граф добавляя к графу G, новую-
вершину «/+1еК, смежную в G с некоторой вершиной и= графа
Gi, и новое ребро {«i+i, и-} (в силу связности G и того обстоя-
тельства, что 1<п, указанная вершина п{-+1 обязательно найдет-
ся). Согласно утверждению 4.36 граф G/+i также является дере-
вом. Присваиваем i: =i+l я переходим к шагу 2.
Пример 4.28. Используя алгоритм 4.6, выделим остовное де-
'рево графа G, изображенного на рис. 4.25.
На рис. 4.26 приведена последователь-
v ность графов Gi, i=l, 2, 3, 4, 5, получае-
мых ib -результате выполнения алгорит-
ма 4.6. При этом в силу того, что n(G)==*
=5. О5—остовное дерево графа G.
Замечание 4.37. Остовное дерево связно-
го графа может быть выделено, вообще го-
воря, не единственным способом (тем более
2
Рис. 4.25
210
это верно для связного псевдографа). Общее число остовных де-
ревьев связного графа может оказаться весьма большим. Напри-
мер, для полного графа с п вершинами оно равно пп~2.
Рис. 4.26
4.3.3. Минимальные остовные деревья
нагруженных графов
Пусть теперь каждому ребру хеХ связного графа G — (V, X)
с непустым множеством ребер X поставлена в соответствие вели-
чина 1(х) — длина ребра х, т. е. граф G является нагруженным.
Приведем алгоритм, позволяющий найти остовное дерево графа
G с минимальной суммой длин содержащихся в нем ребер (по
сравнению со всеми другими остовнымн деревьями графа G).
Остовное дерево связного нагруженного графа G с минимальной
суммой длин содержащихся в нем ребер будем называть мини-
мальным остовным деревом (МОД) графа G.
Алгоритм 4.7 (выделения /МОД нагруженного связного гра-
фа G):
Шаг 1. Выберем в графе G ребро минимальной длины. Вме-
сте с инцидентными ему вершинами оно образует подграф Gt
графа G. Положим i=2.
Шаг 2. Если i = п, где п = n(G), то задача решена, п G.- —
искомое МОД графа G. В противном случае переходим к ша-
гу 3.
Шаг 3. Строим граф G/+i, добавляя к графу G; новое ребро
минимальной длины, выбранное среди всех ребер графа G, каж-
дое из которых инцидентно какой-нибудь вершине графа G» и
одновременно инцидентно какой-нибудь вершине графа G, не
содержащейся в G,. Вместе с этим ребром включаем в G,+i н
инцидентную ему вершину, не содержащуюся в G<. Присваиваем
i: = i + 1 и переходим к шагу 2.
Пример 4.29. Определим МОД нагруженного графа G, изо-
браженного иа рис. 4.27, используя! ал-
горитм 4.7. На рис. 4.28 'приведена ,по-
следовательность графов Git i=2, 3,
4, 5, получаемых в результате выполне-
ния алгоритма 4.7. При этом в «силу то-
го, что ti(G)— 5, Gs— МОД графа 6.
Обоснование алгоритма 4.7. Для лю-
бого дерева Т подграф Т\ графа Т, в свою
очередь являющийся деревом, будем
Рис. 4.27
2П
Называть поддеревом дерева Т. Покажем, что в результате
применения к G алгоритма 4.7 получим МОД графа G. Пред-
варительно докажем, что справедлива
Рис. 4.28
Лемма 4.1. Пусть Т — некоторое дерево, являющееся подде-
ревом некоторого МОД G' связного нагруженного графа G =
= (V, X). Пусть далее х — ребро минимальной длины, выбран-
ное среди всех ребер графа G, каждое из которых инцидентно кц-
кой-нибудь вершине дерева Т и одновременно инцидентно какой-
нибудь вершине графа G, не содержащейся в Т. Тогда, добавляя
к Т ребро х вместе с инцидентной ему вершиной, не содержа-
щейся в Т, получаем граф Т', снова являющийся поддеревом не-
которого МОД графа G.
Предварительно заметим, что в силу утверждения 4.36 Т —
дерево. Пусть Т = (Vi, Х>), G' = (V, X'). Если х^Х', то V —•
поддерево дерева G’, являющегося МОД графа G, т. е. в этом
случае доказываемое утверждение справедливо. Пусть теперь
хё=Х'. Рассмотрим граф G”, получаемый из G' в результате до-
бавления к G' ребра х. Тогда в силу утверждения 4.40 (об экви-
валентности утверждений I, 5 на с. 206) в G" найдется простой
цикл ц, проходящий через ребро х. Пусть х = {о(, v2], р. =
где k^4, VigVi, v2^=Vi, Vk—v^Vi. Пусть также ki — про-
извольный номер из {2,..., k—1} такой, что
{k\ найдется, поскольку v2g=Vi, Так как р — цикл, реб-
ро д/= {и^, } отлично от х, а следовательно, является реб*
ром графа G. По условиям выбора х выполняется неравенство
Цх') Цх), а поэтому, исключив из дерева Gr ребро х' и вклю-
чив вместо него ребро х, получим новое дерево G"' (граф G*”
связный, так как получается в результате удаления из связного
графа G" ребра содержащегося в цикле ц этого графа, н, кро-
ме того, количество ребер графа G"' ровно на единицу меньше
числа его вершин, а следовательно, согласно утверждению 4.37,
G"' — дерево), общая сумма длин ребер которого не увеличится^
а значит, G'" снова будет МОД графа G, и прн этом Т' являет-
ся -поддеревом дерева G'", т. е. лемма доказана.
Для окончательного обоснования алгоритма 4.7 заметим, что
любая вершина графа G является поддеревом любого МОД
графа G, а следовательно, в силу леммы 4.1 граф G2 (см. алго*
212
ритм 4.7) является поддеревом некоторого МОД графа G. Но
тогда, снова используя лемму 4.1, последовательно находим, что
каждый из графов б2, Оз, ...» Gn, полученных в результате при-
менения к G алгоритма 4.7, является поддеревом некоторого
МОД графа G, а так как Gn содержит все вершины графа G,
заключаем, что Gn — искомое МОД графа G,
Замечание 4,38, Для выделения МОД нагруженного псевдо-
графа G следует предварительно удалить из G петли, из крат-
ных ребер оставить лишь ребра минимальной длины, азатем при-
менить к полученному таким образом графу алгоритм 4.7.
4.3.4. Вектор-циклы
Пусть G = (V, X) — некоторый мультиграф, X = {xit ..., хт}»
т>1. Введем произвольно ориентацию для ребер из X, т. е.
каждое ребро x={v, w}eX превратим в дугу х' такую, что либо
х' = (v, w)t либо х' = (w, у). В результате из исходного муль-
тиграфа G = (К X) получим ориентированный мультиграф Ь =>
= (К X').
Всюду в этом разделе будем пользоваться термином «цикл»
в более широком смысле, а именно: под циклом будем понимать
произвольный замкнутый маршрут. Как и ранее, замкнутый мар-
шрут, в котором все ребра и вершины попарно различны, будем
называть простым циклом.
Рассмотрим некоторый цикл
Р = ViyiVsyz ... VuykVi (4.27)
в мультнграфе G, где yi—{vitvi+i}^Xf i—1, ..., kt £>2 (при
этом У/<+1=У1). Запись (4.27) задает направление прохода цик-
ла р через каждое ребро {и/, о<+1} (от vi к сч+1)> которое явля-
ется для нас весьма существенным, и поэтому далее всюду будем
рассматривать циклы с фиксированным направлением прохода
через ребра, входящие в эти циклы. Говорят, что цикл р прохо-
дит через ребро уе= {Of, гл-н} в направлении выбранной ориен-
тации, если y'i = (в;, oi+i); в противном случае (т. е. если y't =
— (o.+i, »<)) говорят, что цикл р проходит через ребро yi в на-
правлении, противоположном выбранной ориентации.
Пусть Zm — множество т-мерных векторов с целочисленными
координатами и р — некоторый цикл в мультиграфе G с выбран-
ным направлением прохода через ребра, входящие в этот цикл.
Вектор C(p)eZm называется вектор-циклом, соответствующим
циклу р (или просто вектор-циклом р), если i-я координата
С,(р) вектора С(р.) равна разности СМр) — C~i (р), где
О,(р) — число проходов в цикле р через ребро х,- в направле-
нии выбранной ориентации, С~/(р) —число проходов в цикле р
через ребро х,- в направлении, противоположном выбранной ори-
ентации.
213
Пример 4.30. Пусть G = (V, X) — мультиграф, изображен-,
ный на рис. 4.29, а. Введем в G ориентацию на ребрах. В резуль^
тате получим, например, ориентированный мультиграф £>, изо-
браженный на рис. 4.29,6. Рассмотрим некоторые циклы в 6:
pi = О|Х|О2Х2ОзХзОГ,
р2 = 01X303^2^8^4X703^2^101;
Рз = 01Хз03Х2У2Х|01Х405Х50зХ2О2Х101;
Р< = О1Х4О5Х4ОГ,
Ц5 = О3Х7О4Х6О3.
Тогда
С(рц) = (1, 1, —1, 0, 0, 0, 0, 0);
С(р2) = (—1, —2, 1, 0, 0, 0, 1, 1);
С(р3) = (—2, —2, 1, —1, —1, 0, 0, 0);
С(р4) = (0, 0, 0, 0, 0, 0, 0, 0);
С(р5) = (0, 0, 0, 0, 0, —1, —1, 0).
Рис, 4.29
Обозначим через Z»”G мно-
жество всех вектор-циклов
мультиграфа G.
Цикл р называется линей-
ной комбинацией циклов рь ...»
рл, если- для некоторых ah...,
где Q — множество ра-
циональных чисел, выполняет-
ся равенство
С(р) = aiC(pi) 4-... + алС(рй).
(4.28)
Вместо (4.28) будем использовать сокращенную запись
р = aipi +... + алрл. (4.29)
Теорема 4.3 (о независимости коэффициентов в линейной ком-
бинации от ориентации ребер). Пусть для некоторой ориентации
ребер выполняется соотношение (4.29). Тогда оно справедливо
и для любой другой ориентации ребер.
Запишем равенство (4.28) в координатной форме:
С(р) = С+Др) -С-Др) == Д a A (Pi) =
= S a3{C+i (р5) — С-Х(р5)],
7=1
(4.30)
где te{l, ..., т}. При изменении ориентации ребра X/ из (4.30)
будет следовать равенство
С-Др) - С+Др) = Z <хДС-Др5) - С+Др,)].
7-1
(4.31)
214
После умножения (4.31) на —1 получаем
СЭД - С-,(н) = 2 a/CMixj) - ОЛЮ)].
/—1
откуда
G(p) = S а,С£(щ-),
/=*
т. e. равенство (4.30) имеет место и в этом случае.
Обозначим через 0 нулевой вектор в Z'n (т. е. 0= (0, .... 0) G
c=Zm).
Система циклов {pi...р*} (где &>1) называется независи-
мой, если соответствующая ей система вектор-циклов линейно
независима (т. е. если для любых си... a^Q из a|C(pt) +...
...4-aftC (pft) =0 следует ai=...=a/t=0). Используя теорему 4.3,
заключаем, что выбор ориентации ребер не влияет на независи-
мость системы циклов.
Отметим, что поскольку ZmGc:Qm, где Qm—m-мерное линей-
ное пространство над полем Q, то максимальное количество эле-
ментов в независимой системе циклов не превышает т.
Замечание 4.39. Нетрудно видеть, что если {pi, .... pj — не-
зависимая система циклов и цикл рж не является ее линейной
комбинацией, то {pi, ..., рг, p^+i} — независимая система циклов.
4.3.5. Цикловой базис мультиграфа
Пусть мы находимся в условиях разд. 4.3.4. Независимая систе-
ма циклов {pi...pij называется цикловым базисом мультигра-
фа G, если любой цикл из G является линейной комбинацией
циклов этой системы.
Рассмотрим вопрос о существовании циклового базиса муль-
тиграфа G. Мультиграф G будем называть ациклическим, если
либо т=0, либо ZmG= {0} (т. е. в G отсутствуют простые цик-
лы). Очевидно, что в ациклическом мультиграфе нет циклового
базиса. С другой стороны, справедливо
Утверждение 4.41. Если мультиграф G не является ацикличес-
ким, то в нем существует цикловой базис.
Пусть р,| — произвольный цикл в G такой, что C(pi)=/=0. Тог-
да либо {pi} — цикловой базнс, либо в G существует цикл р2
такой, что он не является линейной комбинацией цикла рь В по-
следнем случае (см. замечание 4.39) {pi, рг} — независимая си-
стема циклов. При этом снова либо {рь рг} — цикловой базису
либо в G существует цикл рз такой, что он не является линейной
комбинацией циклов pi, р2. В последнем случае {pi, рг, рз} —
независимая система циклов. В силу того, что количество элемен-
тов в независимой сисгеме циклов не превышает т, указанный
процесс последовательного ее расширения не является бесконеч-
215
ным и на некотором k-м шаге, где k с т, получаем систему цик-
лов {рь ..., являющуюся цикловым базисом мультиграфа G;
Рассмотрим теперь вопрос о количестве элементов в цикло-
вом базисе мультиграфа G. Для этого нам понадобится.
Утверждение 4.42. Пусть {pi, ..., рь), {“Ль — > —системы
циклов мультиграфа G такие, что k'>k, каждый цикл из систе-
мы {т]|..тр/} является линейной комбинацией циклов рь pft.
Тогда система циклов {тц..т]л'} не является независимой.
Согласно условиям утверждения 4.42 для некоторых aijeQ,
где /=1, k, j=l....k't имеем
= «п Hi + - + aiftjw»;
Т] к = dk'i pi +... + Ctft\pA.
Рассмотрим матрицу
(4.32)
ап ... aift
А ..................
а*'] ... а.кк~
размерности k'Xk. Пусть г —ранг матрицы A, Ai=(an, ...» а<л),
i—1, ..., k',—строки матрицы А. Тогда r^.k<k', а следователь-
но, некоторая строка в А (например, первая) является линейной
комбинацией остальных строк, т. е.
Ai= аяАг -р ... -р Ufy'Aji'f (4.33)
где as, ...» a/eQ (с учетом того, что Ai, .... A/^QW, где Qm —
линейное пространство над полем Q). Из (4.32), (4.33) получаем
т)| = агцз + — + «а'Ль'»
т. е. система циклов тр, ..., тр/ не является независимой.
Из утверждения 4.42 следует, что количество элементов в
цикловом базисе мультиграфа G — величина постоянная, не за-
висящая от выбора циклового базиса и равная максимальному
числу элементов в независимых системах циклов мультиграфа
G. Ниже (см. теорему 4.5) будет показано, что эта величина сов-
падает с геометрической характеристикой мультиграфа G, а
именно: количество элементов циклового базиса равно
v(G) = m(G) — n(G) + p(G) (в частности, v(G) = 0 для ацик-
лического мультиграфа G), при этом v(G) называется циклома-
тическим числом мультиграфа G. Напомним, что ранее циклома-
тическое число было введено для связного мультиграфа G (т. е.
при p(G) = l).
В дальнейшем нам понадобится также следующее вспомога-
тельное утверждение.
216
Утверждение 4.43. Если М = {рч... pu} — цикловой базис
мультиграфа G, Н = {тр, ..., tja} — система циклов мультиграфа
G такая, что каждый цикл из М является линейной комбинацией
циклов из Н, то Н — цикловой базис мультиграфа G.
Заметим, что каждый цикл мультиграфа G является линей-
ной комбинацией циклов из М, а значит, и циклов из Н. Пока-
жем теперь независимость системы Н. Предположим, что эта
система не является независимой. Тогда некоторый цикл ти яв-
ляется линейной комбинацией остальных циклов из Н. Пусть
для определенности i=k. Тогда каждый цикл из М является ли-
нейной комбинацией циклов тц,... тр-ь а следовательно, в силу
утверждения 4.42 получаем, что система М не является незави-
симой, а это противоречит исходным предположениям.
Покажем теперь, что если мультиграф G не является ацикли-
ческим, то в нем существует цикловой базис, состоящий из про-
стых циклов. Предварительно докажем следующие простые ут-
верждения.
Утверждение 4.44. Пусть ц — цикл в мультиграфе G, в ко-
тором все вершины попарно различней Тогда:
1) либо цикл g имеет вид g = uxwxv, где х = {и, w}, v ф w,
и при этом С('ц)=0;
2) либо pi— простой цикл и при этом C(pi)=/=O.
Если в цикле pi все ребра попарно различны, то выполняется
утверждение 2. В противном случае пусть
pi » V1X1V2X2 ... (4.34)
где k^2t и при некоторых i, i справедливо равенство Xi=Xj,
где Xi = {vb o/+l}, Xj = {Oj, o;+i}, (для общности обо-
значений в случае j = k полагаем о,+1 = = сч). Предполо-
жим, что />*+ 1. Тогда согласно условиям утверждения 4.44
выполняется неравенство 5^ о,, а следовательно, в силу ра-
венства Xi = Xj имеем vt = vjt ot+l = o,+i, что противоречит ус-
ловиям доказываемого утверждения. Таким образом, / = t + 1,
и тогда Xi = {of, о/+1}> Xj = xi+i = {о^.ь ot+2), а значит, в силу
равенства х,- = Xj имеем о/ = oi+2, откуда согласно условиям до-
казываемого утверждения н в силу (4.34) справедливо t= 1, i ~Ь
+ 1=&, а следовательно, k=2, р^адгздг'ь где xi={ui, 02},
01 #:о2. При этом, очевидно, С(р)=О.
Утверждение 4.45. Пусть р — цикл в мультиграфе G, и —
произвольная вершина, содержащаяся в р. Тогда pi является ли-
нейной комбинацией некоторых циклов мультиграфа G, в каж-
дый из которых вершина v либо не входит, либо входит ровно
один раз.
Доказательство будем проводить индукцией по k — длине
Цикла р. При k=2 всякая вершина, содержащаяся в цикле р,
входит в него ровно один раз. Предположим, что при некотором
14—1529
217
доказываемое утверждение справедливо для любого цикла
длины ck—1. Докажем его для произвольного цикла р =
= v 1Х1О2Х2 ... vhXkVi длины k. Пусть i — минимальный номер та-
кой, что Vi = v. Разберем нетривиальный случай, когда вершина
Vf входит в р более одного раза. Пусть / — минимальный из но-
меров средн i+2, k такой, что Vj » vt. Рассмотрим циклы
(считаем, чтое>1; случай, когда Z=l, аналогичен)
Pl = VjXi ... Vi^Xi-iVjXj ... VkXkVi;
ll2 = ViXi ... Vj^Xj-iVj.
Очевидно, что p = pi + ps- При этом по условиям выбора-
номера / вершина v = vi встречается в р2 ровно один раз. Заме-
тим, что длина цикла pi равна — j, где k-{-i— j<.k — 2,
а следовательно, по индуктивному предположению цикл pi яв-
ляется линейной комбинацией некоторых циклов, в каждый из
которых вершина о либо не входит, либо входит ровно один раз,
откуда в силу р — pi -J- р2 и вытекает справедливость доказыва-
емого утверждения.
Используя утверждения 4.44, 4.45, покажем, что справедливо
Утверждение 4.46. Пусть р — цикл в мультиграфе G такой,
что С(р) ==0. Тогда р является линейной комбинацией простых
циклов.
Используя утверждение 4.45, получаем, что р можно предста-
вить в виде линейной комбинации циклов, в каждом из которых
все вершины попарно различны. Но тогда из утверждения 4.44
следует, что в указанную линейную комбинацию войдут простые
циклы и р является их линейной комбинацией.
Теперь докажем, что справедлива
Теорема 44. Пусть G — мультиграф, не являющийся ацикли-
ческим. Тогда в G существует цикловой базис, элементами кото-
рого являются простые циклы.
Согласно утверждению 4.41 в G существует цикловой базис
{pi, ... pv}, где v>l. Используя утверждение 4.46, получаем, что
каждый цикл рх является линейной комбинацией некоторых про-
стых циклов .ил, ..., p^f (i=l, ...» v). Далее, используя процесс,
описанный при доказательстве утверждения 4.41, выделяем из
простых циклов pij, /*=1, .... kt\ i=l, .... v, независимую систему
циклов такую, что любой цикл p/j является ее линейной комби-
нацией. Указанная система простых циклов, очевидно, будет
цикловым базисом мультиграфа G.
Докажем теперь теорему о числе элементов в цикловом бази-
се мультпграфа.
Теорема 4.5. Количество элементов в цикловом базисе муль-
тиграфа G = (V, X) совпадает с его цикломатическим числом
v(G) = m[G) — n(G) +p(G). В частности, для ациклического
мультиграфа v(G) = 0.
218
Доказательство проведем индукцией по количеству ребер в
мультнграфе G. Обозначим через v(G) количество элементов в
цикловом базисе мультиграфа G, при этом, если G — ацикличе-
ский мультиграф, то положим v(G) = 0. Покажем, что v(G) =
= v(G).
Базис индукции. Если m(G) =0, то, очевидно, выполняется
равенство p(G) = n(G), а следовательно, v(G) = 0. С другой
стороны, поскольку m(G) =0, имеем v(G) = 0, т. е. в этом слу-
чае равенство v(G) = v(G) выполняется.
Индуктивный шаг. Предположим, что при некотором
доказываемое равенство справедливо для всякого мультиграфа
с tn — 1 ребрами. Докажем его справедливость и для произволь-
ного мультнграфа G такого, что m(G) = m. Удалив из G произ-
вольное ребро х (оставив без изменения вершины), получим
мультиграф G' такой, что m(G') = m—1. Возможны случаи:
а) ребро х соединяет некоторые вершины Оь v2, принадлежащие
различным компонентам связности мультиграфа G'; б) ребро х
соединяет две различные вершины tn, п2, принадлежащие одной
компоненте связности мультиграфа G'. В случае «а», очевидно,
выполняется равенство n(G')=n(G), tn(G') = m(G) — I,
p(G')= p(G) + 1, а следовательно, v(G/) = v(G). Но тогда, ес-
ли мы докажем, что
v(G) = v(G'), (4.35)
то, воспользовавшись тем, что по индуктивному предположению
v(G') = v(G'), получим v(G) = v(G') =v(G') =v(G). Таким
образом, осталось доказать равенство (4.35). Если G — ацикли-
ческий мультиграф, то мультиграф G' тем более является ацик-
лическим, и тогда v(G) = 0 = v(G'), т. е. равенство (4.35) вы-
полняется. Пусть теперь мультиграф G не является ацикличес-
ким. Возьмем произвольный цикловой базис {pj...цгде v =
= v(G)>l, мультиграфа G, состоящий из простых циклов (см.
теорему 4.4). Покажем, что щ, .... р? — циклы в G'. Предполо-
жим противное: пусть, например, ц, не является циклом в G'.
Но тогда pi проходит через ребро х, т. е., скажем, имеет вид
Hi = WWs ...
где х — xi — {tn, v2}. В силу того, что gi — простой цикл, имеем
х, i = 2, .... k. Следовательно, v2x2 ... vkXkVt — цепь в G',
соединяющая вершины v2t tn, а это противоречит тому, что вер-
шины on, v2 принадлежат различным компонентам связности
мультиграфа G'. Таким образом, {|л>, ... ц*} — независимая си-
стема циклов мультиграфа G' такая, что любой цикл в G, а сле-
14* 219
довательно, и в G' является линейной комбинацией циклов этой
системы. Но тогда {pi..... pj — цикловой базис в О', откуда
и следует справедливость равенства (4.35).
В случае «б» в мультиграфе G будет существовать простой
цикл, проходящий через добавляемое ребро х — {щ, v^}. Дей-
ствительно, в силу того, что вершины vs, Vi принадлежат одной
компоненте связности мультиграфа G', нх можно соединить мар-
шрутом в G', из которого в свою очередь можно выделить про-
стую цепь 0 = V2X2 ... xjtVuVi (см. утверждение 4.4). Поскольку
6 — простая цепь в G', получаем Xi=#x, i=2, ..., k. Но тогда
р — V1XV2X2 ... VkXkvi — простой цикл в G. Рассмотрим случай^
когда мультиграф G' не является ациклическим (если G' —
ациклический мультиграф, то рассуждаем аналогично). Пусть
{pi, ...» р?'}, где v' — v(G'),— цикловой базис в G'. Так как в
цикл р входит (и притом один раз) ребро х, которое не содер-
жится ни в одном из циклов рь ...» р»', то цикл .р не является их
линейной комбинацией, а следовательно (см. замечание 4.39),
{pi...pv’> р) — независимая система циклов. Покажем, что
{рь ..., р»», р} — цикловой базис в G. Для этого докажем, что
произвольный цикл р в G является линейной комбинацией цик-
лов pi.... р*',{р. Согласно утверждению 4.46 достаточно рас-
смотреть случай, когда р является простым циклом. Если ребро-
х не входит в р, то р—цикл в О', а следовательно, он является
линейной комбинацией циклов рь .... р>». Пусть теперь ребро х
входит в р. В силу того, что р—простой цикл, ребро х входит
в р один раз. Без ограничения общности можно считать, что
цикл р проходит через ребро х в том же направлении, что »
цикл р, т. е. имеет вид p=©iX©2!Zi^i — у№ь где Z:>2, yt=£x> i=l,
..., Z, Wi=-V\. Рассмотрим цикл
т} = ... yiWixkvh ... X2V2
(см. рис. 4.30). Очевидно, что т) — цикл в G', так как он не про-
ходит через ребро х, а следовательно, я является линейной ком-
бинацией циклов pi, .... р»'. Заметим, далее, что я = р — р, а
значит, цикл р=?]+р является линейной комбинацией циклов
Рь ..., р»'» р- Таким образом, {pi.р^, р} —цикловой базис в
G, а следовательно, v(G) = v' 4- 1 = v(G') 4- I. Воспользовав-
шись тем, что по индуктивному предположению выполняется ра-
венство v(G') = v(G') = /tz(G') —n(G') 4-p(G'), а также тем»
что в нашем случае справедливо л (О') =n(G), m(G') 1»
220
p(Gr) =p(G), имеем v(G)==v(G')4-l. Но тогда v(G) =
== v(G') 4- 1 = v(G') 4- 1 — v(G). Теорема доказана.
Рассмотрим теперь задачу о практическом нахождении цик-
левого базиса мультнграфа. Предварительно сведем ее к зада-
чам нахождения цикловых базисоа для связных мульти графов..
Теорема 4.6. Пусть G = (V, X) — мультиграф, не являющий-
ся ациклическим, Gu ...» Gp (где р = p(G)) —мультиграфы, яв-
ляющиеся компонентами связности мультиграфа G. Пусть также-
Vze{l, .... р} Mi= {р,ь ...» (где vt=v(Gi)) —цикловой ба-
зис мультиграфа Gi (при этом, если Gi — ациклический мульти-
граф, то Mi = 0). Тогда М = {рц, /— 1,..., i=l,.... р} — цик-
ловой базис мультиграфа G.
Пусть р — произвольный цикл из G. Докажем, что ц является линей-
ной комбинацией циклов нз М. Поскольку любые две различные вершины,
входящие в р, можно соединить маршрутом, то р является циклом в неко-
торой компоненте связности G,. По тогда р является линейной комбинацией
циклов из Mt, а так как М<гМ, то и циклов яз М. Подсчитаем теперь ко-
личество циклов в М. Используя теорему 4.5, а также утверждение 4.10,
имеем
|М| = 2 |Mi| — 2 v(<?4) = 2 — n(G{) + 1] = m(G) —n(G) 4-
+ p(G) = v(G),
откуда согласно утверждению 4.43 получаем, что М — цикловой базнс муль-
тнграфа G.
Из доказанной теоремы сле-
дует, что задача нахождения цик- у у v
левого базиса произвольного муль-
тиграфа сводится к конечной сово- Хп:
купности задач нахождения цик- J |t____- j-
левого базиса связного мульти- 1
графа. Опишем алгоритм решения И i 1 i
этой задачи.
Алгоритм 4.8 нахождения Рис. 4.30
циклового базиса связного мульти-
графа G. Если v(G) = 0, то G — ациклический мультиграф, а
следовательно, циклового базиса не существует. Пусть теперь
v(G) > 0. Выделим в G остовное дерево Т. Пусть /г == n(G), ш =
= m(G), хь Xn—i — ребра в 7, a xn, .... xm — остальные реб-
ра мультиграфа G (заметим, что поскольку v(G)>0, очевидно,
выполняются неравенства п^2, nv>ri). Число последних ребер
равно m — л 4-1, т. е. совпадает с v(G). Добавляя любое яз ре-
бер i = п, ..., m, к дереву Т, получаем некоторый подграф
мультиграфа G, нз которого выделяем простой цикл Pi-(n-i) (см.
ниже замечание 4.40), проходящий через добавляемое ребро х*.
Действуя таким образом, находим совокупность простых циклов
{рь ...» pm-n+t}. Поскольку в каждом из циклов этой системы
имеется ребро, не содержащееся в других циклах, то полученная
22}
Рис. 4 31
система циклов является независимой. Итак, мы нашли незави-
симую систему циклов с v(G) элементами, которая является цик-
ловым базисом мультиграфа G, Действительно, предположив, что
некоторый цикл р мультиграфа G не является линейной комби-
нацией циклов р.1,.... р, <G)» с учетом замечания 4.39 заключаем, что
система циклов {p,t, ..., р} является линейно независимой,
а это противоречит тому, что v(G) — максимальное число эле-
ментов в независимых системах циклов мультиграфа G.
Замечание 4АО. Согласно утверждению 4.40 после добавле-
ния к Т ребра х-„ где is {и, ..., m), получаем мультиграф Gi, в
котором существует единственный (с точностью до направления
обхода и начальной вершины обхода) простой цикл, проходя-
щий через добавляемое ребро х».
Пример 4.31. Используя алгоритм 4.8, определим цикловой
базис мультиграфа G, изображенного на рис. 4.31, а. Имеем
v(G) = z?i(G)—n(G)+p(G) — 8 — 4 + 1 « 5>0, т. е. цик-
ловой базис мультиграфа G
существует. Выделим произ-
вольно остовное дерево Т
мультиграфа G (см. на рис.
4.31,6 изображение Т, где
пунктирными линиями указа-
ны ребра, удаленные из G
для выделения дерева Т). При
выделении остовного дерева
Т из связного мультиграфа G
было удалено всего v(G)—5
ребер: х3, х4, Хв, х7, х*. Добав-
ляя поочередно к Т каждое из перечисленных ребер и выделяя
из получаемого таким образом мультиграфа простой цикл,
имеем циклы
Hi~v 1*202*304X501;
р2 = 0^504X403X1 и,;
рз = Otx5o4X6Oi;
Р4 = OiX2O2X7OaXtOr,
Рэ == OtX2O2X8O3XiOi,
составляющие цикловой базис мультиграфа G.
Замечание 4AL Как следует из описания алгоритма 4.8, цик-.
ловой базис, получаемый в результате применения этого алго-
ритма к произвольному связному мультиграфу G, состоит из
простых циклов.
4.3.6. Цикломатическая матрица мультиграфа
Пусть G — мультиграф, не являющийся ациклическим (т. е.
v(G)>0). Матрица C(G) размерности v(G) Xm(G), строками
которой являются вектор-циклы циклового базиса мультиграфа
G, называется цикломатической матрицей мультиграфа G.
222
Пример 4.32. Определим цикло-
магическую матрицу для мульти-
графа G (см. пример 4.31). Введем
ориентацию иа ребрах мультигра-
фа G. В результате получим, на-
пример, ориентированный псевдо-
граф, изображенный на рис. 4.32.
Выпишем всктор-циклы, соответ-
ствующие циклам из циклового ба-
зиса мультиграфа G, найденного в
примере 4.31:
Рнс. 4 32
С(щ) = (0, 1, 1. О, —1, 0, 0, 0);
С(ц2) = (—1,0, 0, 1, 1,0, 0,0);
С (цз) = (0,0, 0, 0, 1,—1, 0,0);
С(р,4) = (—1, 1, 0, 0, 0, 0, 1, 0);
C(.us) = (—1, 1, 0, 0, 0, 0, 0, —1).
Тогда
C(G) =
Замечание 4.42. Из определения цикломатической матрицы
мультиграфа G следует, что ранг матрицы C(G) равен v(G),
т. е. он совпадает с количеством строк в C(G).
Замечание 4.43. Если {щ..р;} — цикловой базис связного
мультиграфа G, найденный по алгоритму 4.8, и 0(G) — дипло-
матическая матрица мультиграфа G, строками которой являют-
ся вектор-циклы C(pf), i— 1, 2, ..., v, то из столбцов матрицы
C(G), соответствующих ребрам, не вошедшим,в остовное дере-
во Т, можно составить диагональную квадратную матрицу по-
рядка v(G), элементы главной диагонали которой принадлежат
множеству {—1, 1} (см. выделенные пунктирными линиями
столбцы матрицы 0(G) из примера 4.32). Этот очевидный факт
является следствием того, что каждый простой цикл р, имеет
ребро, не входящее в другие циклы, а следовательно, соответст-
вующий этому ребру столбец в матрице C(G) содержит отлич-
ный от нуля элемент в z-й позиции (т. е. либо 1, либо —1), а
все остальные элементы этого столбца равны 0.
4.3.7. Уравнения Кирхгофа для напряжений
Пусть имеется некоторая электрическая цепь S, представляющая
собой набор двухполюсных элементов flj... am (например, со-
противлений, конденсаторов, индуктивностей, источников ЭДС и
223
ъ д.), соединенных проводниками. Поставим в соответствие элек-
трической цепи S мультиграф G — G(S). Для этого каждому
j-му узлу соединений элементов цепи поставим в соответствие
вершину vjt а каждому элементу at— ребро Xi, соединяющее
соответствующие вершины.
Введем произвольно ориентацию на ребрах мультиграфа G. В результате
нз мультиграфа G получим ориентированный мультнграф D с дугами
.... х'т. Для каждого номера х=1, .... т обозначим через 7f величину тока,
проходящего через элемент в,-, а через Ui—'Напряжение между полюсами
элемента а». Поскольку направление тока заранее предсказать не всегда воз-
можно, то введениую ориентацию па ребрах мультиграфа G будем рассмат-
ривать как условные направления токов. Тогда после определения /, знак
этой величины подскажет нам истинное направление тока по элементу at (где
is {1,..., т}). Аналогично знак величины Ui также будет определяться
выбранной ориентацией на ребре xir а именно: под Ui будем понимать ве-
личину, получаемую вычитанием из потенциала полюса элемента сц, соот-
ветствующего началу дуги Zt, потенциала полюса, соответствующего концу
дуги x'i (где is (1,..., т}). Кроме того, обозначим /*=(/. Jm),
U « (l/j,..., ит) — векторы токов н напряжений в электрической цепи S.
Для любых векторов Л = (Л*, .... Лт), B—(Bt, .... Вт) из Rm введем
tn
обозначение (Л, В) = S AiBt — скалярное произведение векторов А, В.
Если ц — произвольный цикл мультиграфа G, то согласно закону Кирхго-
фа для напряжений имеем (С(|л), U) — 0. Но тогда
VCeZ«G (С, G)=0. (4.36)
Уравнения (4.36) относительно U называются уравнениями
Кирхгофа для напряжений. При этом систему уравнений
C(G)G = 0 (4.37)
будем называть базисной системой уравнений Кирхгофа для на-
пряжений. Поскольку ранг матрицы 0(G) равен количеству
уравнений в (4.37) (см. замечание 4.42), то они линейно незави-
симы (т. е. ни одно из уравнений системы (4.37) не является ли-
нейной комбинацией других уравнений этой системы). С другой
стороны, по определению C(G) любое уравнение из (4.36) явля-
ется линейной комбинацией уравнений базисной системы (4.37).
Из указанных свойств базисной системы уравнений следует, что
для расчета электрической цепи удобнее всего пользоваться ба-
зисной системой уравнений Кирхгофа для напряжений.
Пример 4.33. Определим базисную систему уравнений Кирх-
гофа для напряжений для электрической цепи 5, схема которой
представлена иа рис. 4.33, а.
Электрической цепи S соответствует граф G, изображенный
на рис. 4.33,6, где ребро Xi соответствует сопротивлению п при
i — 1, 2, 3, 4, 5, а ребро хъ — источнику ЭДС. Введем ориента-
цию на ребрах графа G. В результате получим, например, ор-
граф D, показанный на рис. 4.33,в. Выделим остовное дерево Т
графа G (см. изображение Т на рис. 4.33,г). Используя алго-
ритм 4.8, определим цикловой базис графа G. При выделении ос-
товиого дерева Т из графа G было удалено всего три ребра:
х2, Xi, хб, поскольку v(G) — 3 (они показаны пунктирными линн-
224
a)
Рис. 433
ями на рис. 4.33,2). Избавляя поочередно к Т каждое из пере-
численных ребер и выделяя из получаемого таким образом гра-
фа простой цикл, имеем циклы
pt = ад 02X203*601;
р2 = 01X304*403*601;
Из = 01*102X504X301,
составляющие цикловой базис графа G. Выпишем соответству-
ющие им вектор-циклы:
С(р,) = (1, 1, О, О, О, 1);
С(р2) = (О, О, —1, 1, О, 1);
С(>) = (1, 0, 1, 0, —1, 0).
Тогда
[1 0 0 0=1 1
О 0 —1 1 О I 1 |.
1 0 ; 1 0 —1 ! 0 J
и при этом базисная система уравнений Кирхгофа для напряже-
ний C(G)U=Q имеет вид
С. + U2 4- = 0;
—U34-U4+t7e=O;
U&=Q.
Заметим, что столбцы цикломатической матрицы C(G), со-
ответствующие ребрам *2, *4, xs, не вошедшим в Т (они выделе-
ны пунктирными линиями), образуют диагональную квадратную
матрицу порядка v(G), элементы главной диагонали которой
принадлежат множеству {—1, 1} (см. замечание 4.43), а следо-
вательно, переменные С2, U4, и$, соответствующие ребрам *2^
*4, *5, легко выражаются через остальные переменные:
U2 = — Ui — С6;
С/4=С/> —С7«; (4.38>
U* = Ui 4- U3.
22S
Переменные U2, U4, U& в системе уравнений (4.38) называют-
ся базисными, a Ui, U3, U& — свободными.
Замечание 4.44. В ряде случаев при расчете электрических
цепей, используя выражение базисных переменных через свобод-
ные, мы можем существенно сократить общее число неизвест-
ных. Такая возможность имеется, например, в случае, когда эле-
ментами электрической цепи являются лишь источники ЭДС и
сопротивления (см. задачу 3.10).
4.3.8. Уравнения Кирхгофа для токов
Для расчета электрической цепи одних уравнений Кирхгофа
для напряжений недостаточно. Рассмотрим уравнения Кирхгофа
для токов. Пусть, как и ранее, электрической цепи 5 поставлен
в соответствие мультиграф G. которому в свою очередь после
введения ориентации на ребрах соответствует некоторый ориен-
тированный мультиграф D. Уравнения Кирхгофа для токов со-
ставляют относительно каждой вершины ориентированного муль-
тиграфа D. Эти уравнения математически выражают тот факт,
что -при установившемся процессе в электрической цепи S сумма
входящих в некоторый узел этой цепи токов равна сумме токов,
выходящих из него. Но тогда с учётом условных направлений
токов, определяемых ориентированным мультиграфом D, систе-
ма всех уравнений Кирхгофа для токов в цепи S имсег вид
В(Г)/ = 0,
где jB(JD) — матрица инцидентности ориенгированного мульти-
графа D.
Пример 4.34. Определим совокупность уравнений Кирхгофа
для токов в электрической цепи, приведенной в примере 4.33 (см.
рис. 4.33, а}.
В соответствии с выбором орграфа D, описанным в примере
4.33 (см. рис. 4.33, в), получаем
В(7?) =
—1 0 1
1 —1 0
0 1 0
0 0—1
О 0 1
0 1 о
1 0 —1
—1 —1 о
Тогда система уравнений Кирхгофа для токов = 0 имеет
вид
—Л +/3 4-/6 = 0;
h-h + h = 0;
/2 + /-.“/б = 0;
-73-Л-/5 = 0.
226
Из определения матрицы B(D) следует, что для произволь-
ного ориентированного мультиграфа D сумма всех строк матри-
цы B{D) дает нулевую строку, а следовательно, любая строка
матрицы В (£>) является линейной комбинацией остальных строк.
Таким образом, из системы уравнений Кирхгофа B(D)I—О
можно исключить любое уравнение и получить при этом систе-
му, равносильную исходной, поскольку исключенное уравнение
является линейной комбинацией оставшихся. Возникает вопрос:
будет ли после исключения одного уравнения из B(D)1 = 0 ос-
тавшаяся система уравнений линейно независимой? Ниже будет
показано, что если G — G (S) — связный мультиграф, то исклю-
чение одного уравнения из системы B(D)I = 0 уравнений Кирх-
гофа для токов в электрической цепи S дает линейно независи-
мую систему уравнений. Для доказательства этого факта нам
потребуются следующие утверждения.
Утверждение 4.47. Пусть T=(V, X)—дерево, где V= {ui, ...
..., vn}, X — {xi, .... xn-t}, п>2. Тогда перенумерацией ребер и
вершин в Т всегда можно добиться того, чтобы подматрица мат-
рицы В(Т), являющаяся результатом исключения из В(Т) пер-
вой строки, была квадратной матрицей порядка п—1 треугольно-
го вида с нулями под главной диагональю и с единицами на
главной диагонали.
Укажем правила перенумерации вершин и ребер в Т:
1) разбиваем множество вершин V на непустые подмножест-
ва W?i(ui) = {Delz|d(u, Ui)=/}, i'=0, 1, .... k, где & — последний
номер такой, что 1^а(Р1)#=0;
2) нумеруем вершины из V: начинаем с вершины из ir0(t>i)>
затем переходим к вершинам из №i(zh) и т. д. и заканчиваем
вершинами из Wft(ui);
3) ставим в соответствие каждой вершине и,+ь где /е{1, ...,
п— 1}, ребро х3- (относительно новой нумерации ребер) по сле-
дующему правилу. Пусть т] — простая цепь в Г, соединяющая
с Vj+i, vi — вершина, непосредственно предшествующая вершине
в этой цепи. В силу правила 2 имеем Обозначим
X] = {и,, Uj+j. Действуя таким образом, занумеруем п— 1 реб-
ро дерева 7, т. е. все его ребра (очевидно, что мы не можем од-
но н то же ребро пронумеровать более одного раза).
В результате перенумерации вершин и ребер дерева Т полу-
чаем новое дерево 7', изоморфное Т, такое, что каждый j-й стол-
бец матрицы В(Т') (где l«J<n—1) имеет единицу в (/+ 1)-й
строке, а также в одной из предшествующих строк (см. прави-
ло 3). Но тогда после удаления первой строки из матрицы В(Т')
получаем квадратную матрицу порядка п— 1 треугольного ви-
да с нулями под главной диагональю и с единицами на главной
диагонали.
Пример 4.35. На рис. 4.34, а изображено дерево Т, а на рис.
4.34,6 — дерево Т', полученное из Т перенумерацией ребер и
вершин согласно правилам 1—3. В табл. 4.10а и 4.106 прнведе-
227
иы соответственно В(Т) и В (Г'). При этом, если удалим из
В(Т') первую строку, то получим квадратную матрицу треуголь-
ного вида с нулями под главной диагональю и единицами на
главной диагонали.
Рнс, 4.34
Из утверждения 4.47, а также из того очевидного факта, что
если G — мультиграф, D — ориентированный мультиграф, по-
лучаемый из G введением ориентации на ребрах, то элементы
матрицы B(G) являются абсолютными величинами соответству-
ющих элементов матрицы В(£>), следует, что справедливо
Утверждение 4.48. Пусть Т — дерево с п>2 вершинами, D —
орграф, получаемый из Т введением ориентации на ребрах дере-
ва Т. Тогда перенумерацией вершин и дуг в D всегда можно до-
биться того, чтобы подматрица матрицы B(D), являющаяся ре-
Таблица 4.10а
Xi х» xt Xi Xt Xi
01 1 D 0 0 I I
02 Д 1 1 0 0 0
0* 0 0 1 0 0 0
04 0 1 0 0 D 0
01 D 0 0 1 0 0
0« D 0 0 3 I D
07 D 0 D ID 0 I
228
Таблица 4.106
*1 Xt Xt Xt Xt Xt
01 I 4 0 0 0
os I 0 0 1 .1 0
©3 0 1 0 0 D J
Vt 0 0 1 Q 0 • 0
Vt 0 0 ID 1 0 ID
0« D 0 0 0 I 0
07 D 0 0 0 0 1
зультатом исключения из B(D) первой строки, была квадратной
матрицей порядка п— 1 треугольного вида с нулевыми элемен-
тами под главной диагональю и элементами из множества {—1,
1} на главной диагонали.
Из утверждения 4.48 с учетом того, что ранг матрицы не ме-
няется от перестановки строк и столбцов, следует, что справед-
ливо
Утверждение 4.49. Пусть Т — дерево с вершинами, В —
орграф, полученный из Т введением ориентации на ребрах дере-
ва Т, Тогда rank B(D)=n—1 (где rank В (D)—ранг матрицы
Покажем теперь, что справедливо
Утверждение 4.50. Пусть G— связный мультиграф, D—ори-
ентированный мультиграф, полученный из G введением ориен-
тации на ребрах мультиграфа G. Тогда:
1) rankB(D) = п— /;
2) исключение из матрицы B(D) произвольной строки дает
матрицу ранга п — 1.
Докажем сначала справедливость первого утверждения. По-
скольку, как уже отмечалось ранее, сумма всех строк матрицы
B(D) дает нулевую строку, имеем
rank B(D) с п— 1. (4.39)
С другой стороны, согласно утверждению 4.49 ранг подматри-
цы матрицы В (В), составленной из столбцов матрицы В (Л), но-
мера которых соответствуют номерам ребер мультиграфа G, со-
держащихся в некотором остовном дереве мультиграфа G,
равен п—1, а следовательно, rank 1, откуда
с учетом (4.39) получаем требуемое равенство.
Докажем теперь справедливость второго утверждения. Пусть
B'(D)—матрица, полученная из B(D) после исключения неко-
торой i-й строки. В этом случае rank В'(О) shrank В (D) — n— 1.
Предположим что rank В'(Л) —1. Тогда некоторая J-я стро-
ка матрицы В (О), содержащаяся в B'(D) (т. е. при /=А0» явля-
ется линейной комбинацией остальных строк матрицы В'(Ь). Та-
ким образом, строки матрицы B(D) с номерами i, J являются ли-
нейными комбинациями остальных строк этой матрицы, а сле-
довательно, rank В (D) —2, что противоречит первому утвер-
ждению.
Из. утверждения 4.50 непосредственно следует, что если G —
связный мультиграф (соответствующий некоторой электричес-
кой Цепи S) и О — ориентированный мультиграф, полученный
из G введением ориентации на ребрах мультиграфа G, то ис-
ключение из B(D)I = 0 любого уравнения дает линейно незави-
симую систему, и при этом исключенное уравнение является ли-
нейной комбинацией оставшихся.
229
Задачи и упражнения
1. Показать, чго у дерева G с и((?)>2 найдутся, по крайней
мере, две висячие вершины.
2. Показать, что дерево, содержащее ровно две висячие вер-
шины, является простой цепью.
3. Определить любое остовное дерево графа G. Найти цикло-
матическое число графа G. Варианты графа G представлены на
рис. 4.35, а, б.
4. Определить минимальное остовное дерево нагруженного
графа, изображенного на рис. 4.36.
5. Пусть G — мультиграф, изображенный на рис. 4.29, а, и в
G введена ориентация на ребрах (см. рис. 4.29,6). Определить
вектор-циклы, соответствующие следующим циклам:
a) ,UJ = Ц|Х3ЦзХ505Л'401Х|Ц2Х8и4Х6Ц3Х5О5Х4ОГ,
б) ц.2 = ViXsVzXiViXiVzXsVaXiVzXWzX.iVsXsViXrVi.
6. Найти в мультиграфе G (см. задачу 5) цикловой базис.
Определить цикломатическую матрицу.
7. Определить цикловые базисы для графов (см. задачу 3).
Введя произвольно ориентацию на ребрах, определить циклома-
тические матрицы для этих графов.
Рис. 4.36
Рис. 4.35
8. Составить базисные системы уравнений Кирхгофа для на-
пряжений в электрических цепях, схемы которых представлены
на рис. 4.37,а, 6.
9. Составить систему уравнений Кирхгофа для токов в элек-
трических цепях (см. задачу 8).
Рис, 4.37
230
10. В условиях задач 8, 9, используя закон Ома, составить си-
стемы уравнений для токов в электрических цепях. Считать внут-
ренние сопротивления источников ЭДС равными г, где г>0.
4.4. ВНУТРЕННЯЯ И ВНЕШНЯЯ
УСТОЙЧИВОСТЬ В ГРАФАХ
4.4.1. Внутренняя .устойчивость
в ориентированных графах
Пусть задан орграф D=(V, X). Множество U^V называется
внутренне устойчивым, если
U[\D(y)—0t (4.40)
т. е. в орграфе D не существует дуги, связывающей какие-либо
две вершины из U.
Пример 4.36. Для орграфа D, изображенного на рис. 4.38,
множества U\ — {сч}, U? = {иь t>3}, Уз ~ {«2, являются внут-
ренне устойчивыми; множество С/4 = {»ь vz} не является внут-
ренне устойчивым, так как в D имеется дуга (oi, о2).
Внутренне устойчивое множество U^V называется макси-
мальным, если, добавляя к U любую вершину v^V\U, получаем
множество, не являющееся внутренне устойчивым. Часто при ре-
шении практических задач требуется найти внутренне устойчи-
вые множества с максимальным числом 'вершин. Их следует ис-
кать среди максимальных внутренне устойчивых множеств.
Замечание 4.45. Внутренне устойчивые множества, а также
максимальные внутренне устойчивые множества аналогично оп-
ределяются и для ориентированного псевдографа. При этом, ес-
ли в ориентированном псевдографе
удалить инцидентные петлям вершины г,*
вместе со всеми инцидентными им дуга-
ми и принять кратности, дуг .равными 1,
то в полученном таким образом орграфе
внутренне устойчивые множества (а еле-
довательно, и максимальные внутренне
устойчивые множества) совпадут с внут-
ренне устойчивыми множествами (соот- \
ветственно, с максимальными внутренне рГ5С 433
устойчивыми множествами) исходного
ориентированного псевдографа, поэтому в дальнейшем будем
рассматривать лишь орграфы без петель и кратных дуг.
Пример 4.37. Воспользуемся множествами t/h СЛ, l/з. приве-
денными в примере 4.36. Тогда множество Uy = {nJ не являет-
ся максимальным внутренне устойчивым, так как, добавляя к
б/i вершину из, получаем множество С/2, снова являющееся внут-
ренне устойчивым. Напротив, множества t/2, Uz являются макси-
мальными внутренне устойчивыми.
231
Обозначим через о(£>) совокупность всех максимальных внутренне ус-
тойчивых множеств вершин орграфа D. Тогда число
a(D) = шах |С/|
СЛ=и(£>)
называется числом внутренней устойчивости орграфа D.
4.4.2. Метод Магу отыскания семейства
максимальных внутренне устойчивых множеств
Пусть D = (V, X)—орграф, где X=j^0, V= {vb ..., иЛ}. Пусть
далее U — некоторое множество вершин орграфа D, т. е.
Введем булевы переменные У/, соответствующие вершинам Vi,
= 1, 2, ..., п. Рассмотрим оценку <еь .... списка перемен-
ных <УЬ У„>, где
Vte{l,.... n) е,= I ’’ если (4.41)
1 J ^0, если Vi^U. 4 '
Про оценку <еь еп> будем говорить, что она соответст-
вует множеству U и, наоборот, что множество U соответствует
указанной оценке. Заметим, что условие (4.40) эквивалентно то-
му, что V<, /е{1, 2.../г} выполняется
а в силу (4.41) это равносильно тому, что
V/, /е{1, 2, ..., n} (ei&aij):z>6j = 1, (4.42)
где atj — (i, ])~й элемент матрицы смежности A (D).
Преобразуя (4.42), получаем
Vi, je{l, 2, п} axjVe»Vej=l. (4.43)
Условие (4.43) можно записать ж виде
iti Д,/** V - V = 1. (4.44)
Заметим, что при а«=0 заведомо выполняется^ равенство GfA/6*V
V S = 1, а при ан = I справедливо ан V е» V V 8j. Но тогда, если
под записью «Gij=bfr понимать множество всех пар <i, таких, что
i, /<={!, 2, .... л}, a,j=l (поскольку Х^0, это множество не является
пустым), то условие (4 44) можно переписать в виде
& (£ V £) = 1,
Otj = I
или, обозначив
F(Ylt ...t Yn) = &(W^),
Gij=l
в виде
F(ei...М = 1. (4.45)
Таким образом, мы показали, что справедливо
232
Утверждение 4.51. Необходимым и достаточным условием
внутренней устойчивости множества U^V является выполнение
равенства (4.45) г где <еь е„> удовлетворяет (4.41).
Из утверждения 4.51 следует, что внутренне устойчивые мно-
жества вершин орграфа D и только они соответствуют оценкам,
списка переменных .... Yn>, на которых выполняется;ра-
венство F=l, что дает нам простой способ выделения всех внут-
ренне устойчивых множеств.
Опишем теперь метод Магу выделения максимальных внут-
ренне устойчивых множеств вершин орграфа D. Применяя обоб-
щенную дистрибутивность & относительно V» приводим формулу
логики высказываний F к ДНФ, а затем сокращаем ее до тех
пор, пока это возможно, используя равносильности (см. разд. '1.2)
А = А V (А&В), А\/ А = А, ОЛ=.4, (4.46)
где А, В — произвольные формулы логики высказываний (до-
кажите, что возможно лишь конечное число таких сокращений).
В результате получаем формулу Fi (равносильную F), находя-
щуюся в ДНФ, каждому дизъюнктивному члену
...&Yik которой соответствует максимальное внутренне устойчи-
вое множество V
Замечание 4.46. Перед приведением к ДНФ часто оказывает-
ся целесообразным преобразовать F, воспользовавшись равно-
сильностями
Л&Д = Л, (Л\/В)&(Д V С) &...&(AVD) ==
=А V (B&C&...&D), (4.47)
где Д, В, С, .., D — произвольные формулы логики высказыва-
ний.
Обоснование метода Магу. Покажем, что любое множество,
найденное методом Магу, является максимальным внутренне ус-
тойчивым, а также то, что методом Магу выделяются все макси-
мальные внутренне устойчивые множества вершин орграфа D.
Пусть U = {uit, , .... vifi) — некоторое множество вершин
орграфа D, найденное методом Магу. Пусть далее {/i, ji} =
= {1, 2, .... .... ik}, k-\-l = n. Тогда K= Yji&...&Yjl —
дизъюнктивный член формулы Fi, и на оценке ...,
удовлетворяющей (4.41), очевидно, выполняется равенство К =
= 1, а следовательно, F(ei.вп) — Fifa, ..., е«) = 1, откуда со-
гласно утверждению 4.51 получаем, что U — внутренне устойчи-
вое множество. Покажем, что U — максимальное внутренне ус-
тойчивое множество. Предположим, что это ие так. Тогда най-
дется вершина w^V\U такая, что множество V — U U W бу-
дет внутренне устойчивым. Пусть для определенности w = Vjt.
Тогда, используя утверждение 4.51 -и полагая в оценке ...,
еп>, удовлетворяющей (4.41), «^ = 1 (-вместо е^ — 0), получаем,
15-1529 23S
что в силу внутренней устойчивости множества U (очевидно, что
теперь оценка <ci,...» еп> соответствует множеству U) выпол-
няется равенство Ft (еь ...» «п) = F(ej.en) = 1, а следователь-
но, по крайней мере, одни из дизъюнктивных членов К формулы
Fi Молжен принимать на оценке <®|, ..., £п> значение 1. Но
тогда в К отсутствуют конъюнктивные члены вида ..........,
KJt, а значит, К V s К что противоречит определению ?'j.
Это противоречие показывает, что наше предположение неверно,
а следовательно, U — максимальное внутренне устойчивое мно-
жество.
Покажем, теперь, что методом Магу -выделяются все макси-
мальные внутренне устойчивые множества вершин орграфа D.
Предположим, что это не так, чл U — {и£1, о£й) — некоторое
максимальное внутренне устойчивое множество, которое не уда-
лось выделить методом Магу. Пусть <«i,..., еп> — оценка
списка переменных <У>, ..., Уп>, удовлетворяющая (4.41). Со-
гласно утверждению 4.51 имеем Fi(®i.....еп) = F(ei, ..., еп) = 1,
а следовательно, на оценке <ei,..., еп>> значение 1 должен при-
нимать. по крайней мере, один из дизъюнктивных членов К фор-
мулы Г,. Но тогда в К должны отсутствовать конъюнктивные
члены вида ..., У£д, а значит, максимальное внутренне устой-
чивое множество Ut соответствующее К, содержит все вершины
множества U, отличного от U (см. сделанное выше предположе-
ние относительно 17), т. е. U является собственным подмножест-
вом множества U, а это противоречит тому, что U — макси-
мальное внутренне устойчивое множество.
Пример 4.38. Используя метод Магу, определим совокупность
максимальных внутренне устойчивых множеств вершин орграфа
D, изображенного на рис. 4.39. Выпишем матрицу смежности
Тогда
&pwb) = (FTV^)&(FiV73)*(y?VT.)&
atJ — I
234
& (У2 V У1) & (Уз V У.) & (У< V Уз) «
(используем (4.47) и опускаем символ &)
® (У1 V УзН У> V_f3) (5У Ул) (У4 V Уз) »
s (У1V У2У3У4) (У4 V Уз)
(применяем обобщенную дистрибутивность & относительно V и
равносильности (4.46))
—55 v 55 ^^555^ v УгУзКУз —
= y.nvrinvftnh.
Таким образом, мы получили формулу, находящуюся в ДНФ.
Дальнейшее ее сокращение с использованием равносильностей
(4.46) невозможно, а следовательно, искомыми максимальными
внутренне устойчивыми множествами вершин орграфа D явля-
ются множества {иг, Оз}» {^2, о<}» {»i}, и при этом <х(£>) = 2.
4.4.3. Внутренняя устойчивость
в неориентированных графах
Внутренне устойчивые множества вершин аналогично можно оп-
ределить и для неориентированного графа G = (V, X), а именно:
множество U V называется внутренне устойчивым, если
Nv^U U[\G{v)=0t
т. е. никакие две вершины из V не являются смежными. Нетруд-
но видеть, что если графу G = (V, X) поставить в соответствие
орграф с множеством вершин V, заменяя каждое ребро {о, w)
графа G на две дуги (ц, w), (w, и), то в получаемом таким об-
разом орграфе D совокупность внутренне устойчивых множеств
вершин совпадает с совокупностью внутренне устойчивых мно-
жеств вершин графа G, поскольку в этом случае VueV G(v) =
= D{v). Но тогда и совокупность максимальных внутренне ус-
тойчивых множеств вершин графа G совпадает с совокупностью
максимальных внутренне устойчивых множеств вершин орграфа
D, а следовательно, для их отыскания можно воспользоваться
методом Магу, применяя его к орграфу D. При этом, очевидно,
используемая в методе Магу матрица А (£>) полностью совпада-
ет с 4(G). Таким образом, метод Магу без изменений перено-
сится и на произвольные неориентированные графы. Более того,
несложно показать, что если орграф D получен из G = (V, X)
введением ориентации на ребрах (т. е. каждое ребро {и,
мы заменяем либо на (-о, а»), либо на (w, и), но не на обе эти
дуги одновременно), то и в этом случае совокупность внутренне
устойчивых (максимальных внутренне устойчивых) множеств
вершин орграфа D совпадает с совокупностью внутренне устой-
чивых (максимальных внутренне устойчивых) множеств вершив
графа G.
15* 235
4.4.4. Внешняя устойчивость
в.ориентированных графах
Пусть задан орграф D = (V, X). Множество U S V называется
внешне устойчивым, если
Uf\D(v)^0, (4.48)
т. е. любая вершина ve=V, не принадлежащая U, связана, по
крайней мере, с одной вершиной из U дугой с началом в верши-
не V.
Пример 4.39. Для орграфа D и множеств t/b Us, U3JU4 (см.
пример 4.36) множества Uz, U3ii U$= {иь и2, *>з) являются
внешне устойчивыми, а множество U4 (а следовательно, и Ut)
таковым не является, поскольку но при этом (и3, щ)ё=Х,
(v3, vs)^X.
Внешне устойчивое множество U^V называется минималь-
ным, если после удаления из U произвольной вершины получаем
множество, не являющееся внешне устойчивым. Часто при ре-
шении практических задач требуется найти внешне устойчивые
множества с минимальным числом вершин. Их следует искать
среди минимальных внешне устойчивых множеств.
Замечание 4.47, Внешне устойчивые множества, а также ми-
нимальные внешне устойчивые множества аналогично определя-
ются и для ориентированного псевдографа. При этом, если в
ориентированном псевдографе удалить петли и принять кратно-
сти дуг равными 1, то в полученном таким образом орграфе
внешне устойчивые множества (а следовательно, и минималь-
ные внешне устойчивые множества) совпадают с внешне устой-
чивыми множествами (соответственно, с минимальными внеш-
не устойчивыми множествами) исходного ориентированного
псевдографа, и поэтому в дальнейшем будем рассматривать
лишь орграфы без петель и кратных дуг.
Пример 4.40. В продолжение примеров 4.36 и 4.39 имеем:
Us, U3—минимальные внешне устойчивые множества, а множе-
ство U& таковым не является, поскольку, удалив из Us вершину
Vs, получаем множество С/2, снова являющееся внешне устойчи-
вым.
Обозначим через ©(D) совокупность всех минимальных внешне устойчи-
вых множеств вершин орграфа D. Тогда число
fi(D) = min ]D]
l/e=0(D)
называется числом внешней устойчивости орграфа D.
4.4.5. Метод Магу отыскания семейства
минимальных внешне устойчивых множеств
Пусть D = (V, X) — орграф, где V — {th, ..., оэт}. Пусть далее
U — некоторое множество вершин орграфа D, т. е. U V. Сно-
236
®а (как и в разд. 4.4.2) воспользуемся булевыми переменными
У1, ...» Yn, а также оценкой <ei, ..., .еЛ> списка переменных
....... Уп>, удовлетворяющей (4.41). Заметим, что условие
(4.48) в определении внешне устойчивого множества U равно-
сильно тому, что Viie{l, 2,л} выполняется, по крайней мере,
одно из условий:
I) Vi<=U;
2) U (т. е. Я/е{1, 2, ..., л}:олеС/, UjSjD(Vi)),
что в силу (4.41) эквивалентно выполнению равенства
.AJetV Vi(a«&ej)]= 1. (4.49)
где (ахз]=Л(П). Если при каждом фиксированном i под записью
«а^==1» понимать множество всех /е{1, 2, ..., л} таких, что
^й=г1, то условие (4.49) можно переписать в виде
.& (8. V V
а«=1
млн, обозначив
....У») = & (hV V У,)|
1=1 ац=1
в виде
....8Я) - 1. (4.50)
Таким образом, мы показали, что справедливо
Утверждение 4.52. Необходимым и достаточным условием,
внешней устойчивости множества U^V является выполнение ра-
венства (4.50), где <ei, ..., Еп> удовлетворяет (4.41).
Из утверждения 4.52 следует, что внешне устойчивые множе-
ства вершин орграфа D, и только они, соответствуют оценкам
списка переменных <Yi, ..., Уп>, на которых выполняется ра-
венство F=l, что дает простой способ выделения всех внешне
устойчивых множеств вершин орграфа D.
Опишем теперь метод Магу выделения всех минимальных
внешне устойчивых множеств вершин орграфа D. Применяя
обобщенную дистрибутивность & относительно V» приводим
формулу логики высказываний F к ДНФ, а затем сокращаем ее
до тех пор, пока это возможно, используя равносильности (4.46).
В результате получаем формулу Fx (равносильную F), находя-
щуюся в ДНФ, каждому дизъюнктивному члену У£1 & Yi2 &...
... &Yik которой соответствует минимальное внешне устойчивое
множество {и£1, viz...u/fc}.
Замечание 4.48. Перед приведением к ДНФ часто оказывает-
ся целесообразным упростить формулу F, применяя (до тех пор,
пока это возможно) закон поглощения
237
A&HV В) ^Л, (4.51)
справедливый для любых формул логики высказываний А, В.
Кроме того, остается в силе замечание 4.46.
Обоснование метода Магу. Покажем, что любое множество,
найденное методом Магу, является минимальным внешне устой-
чивым, а также то, что методом Магу выделяются все минималь-
ные внешне устойчивые множества вершин орграфа D. Пусть
0= {fl/p vi2, .... — некоторое множество вершин орграфа £),
найденное методом Магу, {/ь ..., //} = {!, 2, ... n}\{ib ..., ij, k+
+ / = п. Тогда К — У{1 & ... & У — дизъюнктивный член фор-
мулы Fi, и на опенке Оь .... удовлетворяющей (4.4 В, оче-
видно, выполняется равенство К= 1, а следовательно. F (ei,... еп) =
= Fi(ei, ..., Bn) ~ 1. откуда согласно утверждению 4.52 получа-
ем, что U — внешне устойчивое множество. Покажем, что U —
минимальное внешне устойчивое множество. Предположим, что
это не так. Тогда найдется вершина такая, что множество
U — 6\{да) также будет внешне устойчивым. Пусть для опреде-
ленности w = ofl. Тогда, используя утверждение 4.52 и полагая в
оценке <еь .... еп>» удовлетворяющей (4.41), f^ = 0 (вместо-
6^=1), получаем, что в силу внешней устойчивости множества
U (очевидно, что теперь оценка <ei, ...» еп> соответствует мно-
жеству U) выполняется равенство Fi(ei..еп) ~ Г(еь ..., еп) —
= 1, а следовательно, по крайней мере, одни из дизъюнктивных
членов К формулы Л должен принимать па оценке <ъ.. ....
значение 1. Но тогда в К отсутствуют переменные УГ1, );i, У
а значит, К V К К, что противоречит определению Fi. Это
противоречие показывает, что наше предположение неверно, а
следовательно, U — минимальное внешне устойчивое множество.
Покажем теперь, что методом Магу выделяются все мини-
мальные внешне устойчивые множества вершин орграфа D.
Предположим, что это не так, и U = {иГр ..., — некоторое
минимальное внешне устойчивое множество, которое не удалось
выделить методом Магу. Пусть <«i, .... еп> — оценка списка
переменных <Уь ..., Уп>, удовлетворяющая (4.41). Согласно-
утверждению 4.52 имеем Fi(ei, ..., еэт) = F(ei, ...» с».) = 1» а сле-
довательно, на оценке <ei, ..., еп> значение 1 должен прини-
мать, по крайней мере, один из дизъюнктивных членов К форму-
лы Fi. Но тогда в К должны отсутствовать переменные У/,, ...г
У/г где {/i, ..., ji} = {1, ..., .ijJ, k + l = п, а значит, ми-
нимальное внешне устойчивое множество С7, соответствующее
238
К, является подмножеством множества U, отличного от U (см.
сделанное выше предположение относительно U), т. е. собствен-
ным подмножеством множества Ut а это противоречит тому, что
U — минимальное внешне устойчивое множество.
Пример 441. Используя метод Магу, определим совокуп-
ность минимальных внешне устойчивых множеств вершин ор-
графа D (см. пример 4.38), изображение которого” приведено
на рис. 4.39. Имеем
& (УД/ V Ь) =
4=1
= (У| V Ул) & (У2 V У|) & (УзУ У|) & (Ул V Уз) »
(применяем закон поглощения (4.51))
« (У2 V УО Л (Уз V У,) & (У4 V Уз) =
(используем (4.47) и опускаем символ &)
^(У» УУ2У3)(Ул V Уз) =
(применяем обобщенную дистрибутивность & относительно V
и равносильности (4.46))
== У,У4 V У,У3 V У2У3У4 V У2УзУз
в ПУ4 v У|Уз V У2Уз.
Таким образом, мы получили формулу, находящуюся в ДНФ.
Дальнейшее ее сокращение с использованием равносильностей
(4.46) невозможно, а следовательно, искомыми минимальными
внешне устойчивыми множествами вершин орграфа D являются
множества {щ, и4}, {оь из}, {х»г, оз}, и при этом р(Л) = 2.
4.4.6. Внешняя устойчивость
в неориентированных графах
Внешне устойчивые множества вершин можно аналогично оп-
ределить и для неориентированного графа G — (V, X), а именно:
множество U V называется внешне устойчивым, если
Vvc=V U U(]G(v)^0,
т. е. любая вершина и е V, не принадлежащая U, смежна, по
крайней мере, с одной вершиной из U. Нетрудно видеть, что
если графу G — (К X) поставить в соответствие орграф с мно-
жеством вершин V, заменяя каждое ребро {v, и/} графа G на
две дуги (v, w), (w, к), то в получаемом таким образом оргра-
фе D совокупность внешне устойчивых множеств вершин совпа-
дает с совокупностью внешне устойчивых множеств вершин графа
G (поскольку в этом случае VueV G(v) =D(v)). Но тогда и
совокупность минимальных внешне устойчивых множеств вер-
шин графа G совпадает с совокупностью минимальных внешне
устойчивых множеств вершин орграфа D, а следовательно, для
239
их отыскания можно воспользоваться методом Магу (применяя
его к орграфу D). При этом, очевидно, используемая в методе
Магу матрица A(D) полностью совпадает с A(G). Таким обра-
зом, метод Магу без изменений переносится и на неориентиро-
ванные графы.
4.4.7. Ядра орграфа
Пусть задан орграф D=(Vt X). Множество N^.V называется
ядром орграфа D, если N — одновременно внутренне и внешне
устойчивое множество, т. е. если выполняются условия:
1) Vv<=N NftD(v)=0-t
2) Vvf=V^N W>(o)=A0.
Замечание 4.49. Аналогично определяется ядро и для неори-
ентированного графа 6, при этом в условиях 1 и 2 D(v) заменя-
ем на G(v).
Орграф может не иметь ядра, иметь одно или несколько ядер.
Заметим, что если орграф D имеет ядро N, то 0(D) « |А|«
Ca(D).
Пример 4.42. Рассмотрим орграф, изображенный на рис. 4.40.
у. Он не имеет ядер, поскольку любое
j/ множество с одной вершиной не являет-
уг\ ся внешне устойчивым, а любое множе-
\ ство с двумя или тремя вершинами не
является внутренне устойчивым.
---------KJtt Пример 4.43. В продолжение приме-
J ров 4.36, 4.37, 4.39, 4.40 имеем: Uz, U3-
Рис 4.40 ядра орграфа D, изображенного на
рис. 4.38.
Теорема 4.7. Для того чтобы множество -N V являлось яд-
ром орграфа D = (V, X), необходимо и достаточно, чтобы оно
было одновременно максимальным внутренне устойчивым и ми-
нимальным внешне устойчивым.
Достаточность очевидна. Докажем необходимость. Пусть W—
ядро орграфа D. Предположим, что N не является максималь-
ным внутренне устойчивым множеством. Тогда найдется верши-
V
иа w^V\N такая, что множество N = MJ{o>} снова будет
внутренне устойчивым. В -силу внешней устойчивости W, а также
того, что найдется вершина такая, что (w,
V
а это противоречит внутренней устойчивости множества N, по-
V
скольку v, w N. Предположим теперь, что N не является ми-
нимальным внешне устойчивым множеством. Тогда найдется вер-
шина w е М такая, что множество /V = AX{w} снова будет
внешне устойчивым. Но тогда из wczN, используя внешнюю ус-
240
тойчивость множества N, получаем, что найдется вершина de
^NczN такая, что (w, v) еХ, а это в силу v, w^N противоречит
внутренней устойчивости множества N.
Из теоремы 4.7 следует, что для выделения ядер орграфа D
достаточно, например, найти все минимальные внешне устойчи-
вые множества вершин орграфа D, а затем выбрать из них внут-
ренне устойчивые множества.
Замечание 4.50. Утверждение теоремы 4.7 остается справед-
ливым и для неориентированного графа. Доказательство анало-
гично.
Пример 4.44. Определим ядра орграфа D (см. пример 4.38),
изображение которого приведено на рис. 4.39. Воспользовав-
шись примером 4.41, выберем из минимальных внешне устойчи-
вых множеств вершин орграфа D множества, являющиеся внут-
ренне устойчивыми. Единственным таким множеством будет
множество {с>2, п3}. В силу теоремы 4.7 — это ядро орграфа D,
и других ядер в D нет.
4.4.8. Функции на вершинах орграфа.
Порядковая функция орграфа без контуров
Рассмотрим орграф Z)—(V, JC), не содержащий контуров, и определим
-множества V®, Vi, Vr:
Vo = {ое= V|D(o) = 0);
Vt = {ve V\Vo|D(v) <= V4;
Vz = {& g= V\(V® и Fi) |D(o) <= Vo U VJ; (4.52)
Vr - {aeV\U VftlD(o) = Tf Vft).
ft—о ft=«
где г — наименьшее число такое, что
V\U Vft-0
* = 0
(при доказательстве теоремы 4.8 будет показано, что число г найдется).
Множества Vo, Vt,.. , Vr называются уровнями орграфа D.
Теорема 4.8. У ровни орграфа D — (V, X) без контуров явля-
ются непустыми множествами, образующими разбиение мно-
жества его вершин V.
Предварительно докажем, что справедливы следующие утверждения:
1) Vo 0 ;
2) если при некотором i 0 выполняются неравенства Vo Ф 0,... >
Vt Ф 0, Al Vft ф 0. то V«+i =# 0.
Докажем сначала справедливость первого утверждения.
Предположим, что Уо = 0. Тогда
VveV D(v) Ф 0. (4.53)
Пусть vt — произвольная вершина нз V. .Рассмотрим после-
241
довательиость вершин съ, из, ... такую, что Vi>2
В силу (4:53) ее можно продолжать неограниченно. Поскольку
количество вершин в орграфе D конечно, обязательно произой-
дет совпадение: = Vj, где Пусть это будет первым
совпадением, т. е. совпадением с наименьшим номером j. Тогда
v.vz+i ... Vj — простой контур в D, а это противоречит условиям
теоремы, согласно которым в D нет контуров.
Докажем теперь справедливость второго утверждения. Пусть при неко-
тором I 0 выполняются неравенства Vo 0,..., Vi 0, V\ U V* =?ь 0.
Предположим, что V,+i — 0. Пусть vi — произвольная вершина из
V\ II V*. В силу Vt+i — 0 имеем D(oi)\ll V* ¥* 0, т. е. существует вер-
шина о2еД(О1) такая, что VzeV\U V*. Аналогично для ui найдется вер-
шина о2еО(п2) такая, что ОзеУ\ 0 Vh и т. д. Таким образом, можно
*-о <
построить бесконечную последовательность сч, vz,... вершин из V\ U V»
Л=яО
такую, что V/^2 Но тогда аналогично доказательству первого
утверждения получаем, что в D есть контур, а это противоречит исходному
предположению.
В силу утверждений 1, 2, используя конечность множества V, а также тот
очевидный факт, что
V* П V, - 0 прн i i, (4.54)
получаем, что существует число г 0 такое, что
Vo 0,, V, ¥= 0, V\ U V* = 0,
л—о
откуда
V= U V*. (4.55)
Из (4.54) и (4 55) заключаем, что множества Vo,.. , Vr образуют раз-
биение множества V.
Докажем также справедливость утверждения, обратного тео-
реме 4.8.
Утверждение 4.53. Пусть D = (V, X) — орграф, r>-0, Vo, ...»
Vr — непустые множества, удовлетворяющие (4.52), такие, что
V — U Vfc. Тогда D — орграф без контуров.
к—0
Предположим, что в D имеется некоторый контур що2... vkVi, где
k 2. Пусть / — минимальный номер среди 0....г такой, что V, П {vi.
о*} Ф 0- Для простоты обозначений будем считать, что сч е Vf. Тогда
о2е V/, где / >/. В силу щ Vf по определению Vf имеем D(vi) s
j-»
= U V* (в случае у = О соответственно имеем D(vt) « 0), а это прети-
ло
.воречнт тому, что u2e/)(ci), v2e Vf, I > /.
Функция O(v), определенная на множестве вершин V оргра-
242
фа без контуров D = (V, X) и ставящая в соответствие каждой
вершине u^V номер уровня, которому она принадлежит, назы-
вается порядковой функцией орграфа D.
Пример 4.45. Разобьем орграф D, изображенный на рис.
4.41, а, на уровни и определим порядковую функцию О {о).
Согласно (4.52) имеем
Vo = {i/eV|D(») = 0} = {v4, и6};
V , = !tK=V\Vo|P(v)£=Vo) = {оь M;
V 2= {o<=V\(VoU Vi)|D(t>)£=VoU VJ = {v3};
V 3 = {dgV\(Vo U Vi U V2) |D(y)s= Vo U V, U V2} = {v2};
VMVoUViUV2UV3) = 0.
Определив множества Vo, Vi, V2, V3, найдем значения поряд-
ковой функции О (о), u^V (на рис. 4.41, а они указаны при вер-
шинах).
Рис. 4.41
Замечание 4.51. Для наглядности после разбиения некоторого
орграфа D на уровни имеет смысл перерисовать его, последова-
тельно расположив вершины орграфа D на вертикальных пря-
мых, при этом вершины одного уровня располагаются на одной
вертикальной прямой (см. на рис. 4.41,6 изображение орграфа
D, описанного в примере 4.45, с таким расположением вершин).
Приведем простой алгоритм выделения уровней орграфа без
контуров, использующий задание орграфа матрицей смежности.
Он может быть легко реализован на ЭВМ.
Алгоритм 4.9 нахождения уровней орграфа D — (V, X) без
контуров:
Шаг 1. Выпишем матрицу смежности A(D). Образуем под
матрицей A(D) строку До, в гм месте которой укажем число
единиц в i-й строке матрицы A(D). Уровень Vo образуют верши-
ны, которым в строке До соответствует число 0. Если V = Vo, то
задача решена и Vo — единственный уровень орграфа D. В про-
тивном случае переходим к шагу 2.
Шаг 2. Образуем под строкой Ло строку Л,, ставя под каж-
дым нулем строки До символ X» а на любом другом i-м месте—
243
число единиц в Лй строке матрицы A(D), не учитывая единицы
в столбцах, находящихся над символами X в строке Ль Уровень
К образуют вершины, которым в строке Л1 соответствует чис-
ло 0. Полагаем /=1.
Шаг 3. Пусть при некотором уже построены строки Ло>
...» Aj, по которым получены множества Vo, ..., Vj. Если строка
Aj состоит из нулей н символов X» то задача решена и при г =
=»; Vo.... Vr — уровни орграфа D. В противном случае перехо-
дим к шагу 4.
Шаг 4, Образуем под строкой Л; строку Л,+1, ставя под каж-
дым -нулем и символом X строки Aj символ X, а на любом дру-
гом i-м месте — число единиц в i-к строке матрицы Л(£), не
учитывая единицы в столбцах, находящихся -над символами X
в строке Aj+ь Уровень V^-i образуют вершины, которым в стро-
ке Ля-i соответствует число 0. Присваиваем j: = j + I и перехо-
дим к шагу 3.
Пример 4.46. Применяя алгоритм 4.9, разобьем орграф D„
описанный в примере 4.45 (см. рнс. 4.41,а), на уровни. Матри-
ца смежности орграфа D, а также строки Ло, Ai, Л2, Л3, явля-
ющиеся результатом работы алгоритма 4.9, приведены в табл.
4.11. Из таблицы следует, что Vo = {t>4, Об), Vi = us}, V2 =
== {Ы, V3 = {п2}.
Обоснование алгоритма 4.9. Заметим, что единицы в i-йг
Таблица 4.П строке матрицы A(D) соответст-
вуют вершинам, принадлежащим
образу t-й вершины орграфа D.
Но тогда нули строки Ло соот-
ветствуют вершинам, образы
которых равны -пустому множе-
ству, т. е. вершинам из Vo. Да-
лее рассмотрим нетривиальный
случай, когда V^Vo, г>0. По
описанию алгоритма символы X
в строке Aj ставятся под -нулями
строки Ло, т. е. (по уже доказан-
ному) они соответствуют верши-
нам из Vo, а следовательно, по-
скольку при определении эле-
ментов в Ль ис запятых симво-
лами X. мы нс учитываем столб-
цы матрицы A(D), находящие-
ся над символами X в проке Ль
то нули строки Л| соответствуют
вершинам из V\.V0, образы ко-
торых целиком содержатся в
Vo, т. е. вершинам из Vi.
Пусть теперь при некотором /е{1,...,г) доказано, что нули строк1г
Л| соответствуют вершинам из Vj, а символы X — вершинам из VoU—
...UV/-1. Тогда, если строка Aj целиком составит нз нулей и символов, X. тС*
244
2$ % РЗ ъ
0 0 0 0 0 1
0 0 1 1 0 1
1 0 0 1 1 0
ч 0 0 0 Q 0 Q
ъ 0 0 0 0 0 1
ч 0 0 0 0 0 0
/Я 77)
1 3 3 0 1 0
А1 0 1 2 X 0 X
Л2 X 1 0 X X X
А3 X 0 X X X X
V\JJ V*== 0, а значит, г = / и Vo,..., Vj — искомые уровни орграфа D.
В противном случае j<r, и согласно алгоритму образуем строку Aj+t; при
этом символы X в строке Л,+1 соответствуют вершинам из Veil—llV,
(так как символы X в строке Л/_1 ставятся под нулями и символами X
строки Л,). Далее, поскольку при определении элементов в Л,+1, не занятых
символами X, мы ие учитываем столбцы матрицы A(D), находящиеся нал
символами X в строке Лл+ь то нули строки Aj+1 соответствуют вершинам
из V\ и Vk. образы которых целиком содержатся в (J Vn, т. е. вершинам
k=0 Д —О
из Vj+i.
Таким образом, мы доказали, что если действовать согласно
алгоритму 4.9, то нули каждой очередной строки Л,-, где /е{0,...,
г}, будут соответствовать вершинам -из Vj, и строка Л3- будет
состоять из нулей и символов X только при j = г. Но тогда на
шаге 3 будут получены искомые уровни орграфа D. Алгоритм
полностью обоснован.
Покажем, что наряду с нахождением уровней орграфа без
контуров алгоритм 4.9 позволяет проверить наличие контуров у
произвольного орграфа.
Утверждение 4.54. Для того чтобы орграф D = (V, X) содер-
жал хотя бы один контур, необходимо и достаточно, чтобы в ре-
зультате применения к D алгоритма 4.9 появилась строка Л.} без
нулей.
Достаточность. Пусть после применения к орграфу D алгоритма 49
появилась строка Л,- без нулей. Докажем, что в D имеется хотя бы один
контур. Предположим, что D — орграф без контуров и Vo,..., Vr (где
г 0) — уровни орграфа D. Тогда согласно теореме 4 8 Vj 0. / =
= 0,..., г, а следовательно, строки Л<>,.... Лг содержат нули (см. описа-
ние алгоритма 4 9). При этом, поскольку V= U Vk (см теорему 4 8). то
г—1 к=0
V,= V\ U Vk (рассматриваем нетривиальный случай, когда г>0), г сле-
довательно, строка Л, будет состоять из нулей и символов х (см. обосно-
вание алгоритма 4.9). Но тогда строка Лг — последняя (см. шаг 3 алгоритма
4.9), а значит, не нашлось строк без нулей, что противоречит сделанному
предположению.
Необходимость. Пусть орграф D содержит хотя бы один кон-
тур. .Предположим, что в процессе выполнения алгоритма 4.9
все встречающиеся строки К, имеют нули. Тогда множества Vj,
состоящие из вершин, соответствующих нулям в Л3, отличны от
пустых и удовлетворяют (4.52) (см. обоснование алгоритма 4.9).
Из (4.52) получаем, что множества Vj попарно не пересекаются.
Но тогда в силу конечности множества V последовательность
множеств {Vj}, а значит, и последовательность строк {AJ пр мо-
гут быть бесконечными. Следовательно, при некотором г^О стро-
ка Лг будет состоять из нулей и символов X (см- шаг 3 алгорит-
ма 4.9), а значит (см. обоснование алгоритма 4.9), будет спра-
ведливо V = и П, откуда согласно утверждению 4.53 получаем,
к=»0 J -
2*5
что D — орграф без контуров, а это противоречит исходному
предположению.
Пример 4.47. Проверим наличие контуров в орграфе D, за-
данном матрицей смежности
A(D) =
0 0 0 0 0 0 0
10 0 10 11
0 10 110 1
1 0 0 0 1 0 0
1 0 0 0 0 0 0
10 110 0 1
I 0 0 0 1 о 0_
В табл. 4.12 приведена последовательность строк {Л?}, пост-
роенная по алгоритму 4.9. Поскольку встретилась строка Лз без
нулей, го в силу утверждения 4.54 в орграфе D имеется хотя бы
один контур.
Таблица 4.12
Ao 0 4 4 2 1 4 2
X 3 4 1 0 3 1
Aj X 3 3 0 X 3 0
Лз X л 1 X X 1 X
4.4.9. Функция Гранди
Рассмотрим орграф D = (V, X). Функция g(v), ставящая в соот-
ветствие каждой вершине v<=:V целое число g(u)>0, называется
функцией Гранди для орграфа D, если в каждой вершине оеУ
число g(o) является минимальным из всех целых неотрицатель-
ных чисел, не принадлежащих множеству {g(^) |o»eD(u)}, и
g(v) — 0 при D (у) = 0.
Если для орграфа D существует функция Гранди, то говорят,
что орграф D допускает (в противном случае — не допускает)
функцию Гранди.
Не всякий орграф D допускает функцию Гранди (см. пример
4.49), а если и допускает, то она не обязательно единственная
(см. пример 4.50).
Из определения функции Гранди следует, что справедливо
Утверждение 4.55. Если орграф D = («У, X) допускает функ-
цию Гранди, то найдется вершина veV такая, что g(v)=Q.
Пусть в орграфе D
VoeV g(v)>0. (4.56)
216
Рассмотрим произвольную вершину w^V. Тогда, с одной
стороны, в силу (4.56) имеем g(w)>0, а с другой стороны, ис-
пользуя (4.56), получаем, что либо D(w) — 0, либо VueD(w)
g(u)>0, а следовательно, по определению функции Гранди,
g(w)=O, т. е. налицо противоречие.
Пример 4.48. На рис. 4.42 приведено изображение орграфа D,
допускающего функцию Гранди, около каждой вершины кото-
рого указано значение этой функции.
Пример 4.49. Покажем, что орграф D, изображенный иа
рис. 4.40, не допускает функцию Грандн. Предположим обрат-
ное, т. е. орграф D допускает функцию Гранди. Используя ут-
верждение 4.55, получаем, что на некоторой вершине значение
Рис. 4.42
Рис. 4.43
функции Гранди равно нулю. Пусть для определенности ^(uj) =
=0 (другие случаи рассматриваются аналогично). Тогда в силу
того, что P(u3)={ui}, £>(и2) = {и3}, £(и1) = {.иг}, последова-
тельно получаем g(u3) = 1, g(v2) « 0, g(ui) = 1, а это противо-
речит равенству g(th) = 0.
Пример 4.50. На рис. 4.43 приведены два варианта функции
Гранди для одного и того же орграфа D.
Приведем достаточное условие существования функции
Гранди.
Теорема 4.9. Пусть D = (У, X) — орграф без контуров. Тог-
да D допускает и притом, единственную функцию Гранди.
Согласно теореме 4.8 множество вершин V орграфа D мож-
но разбить на уровни Vo, .... Vr. По определению функции Гран-
ди, если оиа допустима для D, то
Vue Vo g(u)==0; VueVi g(u) = l. (4.57)
Заметим, что значения функции Гранди па каждом уровне V{, где
i 2, однозначно находятся по ее значениям на предыдущих уровнях
Vo, ..., Vt-i (поскольку VveVf D(v)=U Vk), а следовательно, исходя
А—О
из (4.57), ее можно однозначно определить иа всех последующих уровнях.
247
‘ * Замечание 4.52. Доказательство теоремы 4.9, по существу,
содержит в себе алгоритм определения функции Гранди для
орграфов без контуров.
Пример 4.51. Найдем функцию Гранди для орграфа, описан-
ного в примере 4.45. Разобьем множество вершин орграфа D на
уровни: Vo « {t>4, Ve}fVi = {t/ь Os}, У2 = {из}, Уз = {г>г}. С уче-
том (4.57) получаем g(v4) = g(v6) = 0, #(сл) = g(us) = I. Да-
лее для вершины из^Уа имеем D{v3) = {ui, v4, fs}, где g(v4) =
= 0, g(vi) = g(v5) = l,.a следовательно, g(vs) = 2. Соответст-
венно для вершины v2eV3 получаем D(v2) — {оз, v4, ve}, где
g(v4) = g(M =0, g(v3) = 2, а следовательно, £(d2) = 1- На
рис. 4.44 приведено изображение орграфа D, около каждой вер-
шины которого указано значение функции Гранди.
Следующая теорема показывает, что по функции Гранди ор-
графа может легко определить его ядро.
Теорема 4.10. Если орграф D = (У, X) допускает функцию
Гранди g(v), то множество вершин N = {v^y|g(u) =« 0} явля-
ется ядром этого орграфа.
Покажем, что множество .V удовлетворяет условиям (см. оп-
ределение ядра):
1) Nf\D(v)=0‘t
2) УиеУчЛГ WnD(v)=5£0.
Докажем сначала, что выполняется первое условие. Пусть
»е.¥. Тогда #(d)=0. Если предположить, что N(]D(и)=#0,
то существует вершина weNpD (€>). Но тогда из weN имеем
g(w) = 0, а из weD(u) получаем, что не может выполняться
равенство g(v) = 0. Данное противоречие подтверждает спра-
ведливость первого условия.
Докажем теперь, что выполняется второе условие. Пусть
Тогда g(o)=/=0. Если предположить, что JV П D (и) =
= 0, то по определению функции Гранди должно выполняться
248
^равенство g(v) = 0, т. е. пришли к противоречию, а значит,
^0.
Задачи и упражнения
1. Доказать, что для любой вершины v орграфа D найдет-
•ся максимальное внутренне устойчивое множество вершин ор-
графа D, содержащее v.
2. Привести пример орграфа с четырьмя вершинами, имею-
щего лишь одно минимальное внешне устойчивое множество,
состоящее при этом из единственной вершины.
3. Используя метод Магу, определить максимальные внутрен-
не устойчивые, а также минимальные внешне устойчивые мно-
жества вершин орграфов, изображенных на рис. 4.45,а—в. Най-
ти ядра.
4. Разбить орграфы без контуров, заданные матрицами
•смежности, на уровни. Найти функцию Гранди и ядра орграфов.
Рассмотреть случаи:
а)
Oil ООО! 1
0000000
0:1 0001 1
00 1 0’100
00000.1 о
0:100001
0100000
0.1 0001 1
00:1 10 10
0000000
00:10000
0 01 0010
0 0 0-1 000
0.1 00|] 1 о
0101 0 1 It
0000000
0000100
00 101 :! 0
0100000
оюолоо
Oil .1-0100
”01001010"
OOlOJd 00
00000000
00100000
00000100
00000000
00011100
_0 0/1 о 0.1-11 0_
5. Пусть орграф D допускает функцию Гранди. Показать, что
любое множество вершин, на котором функция Гранди постоян-
на, является внутренне устойчивым.
4.5. ТРАНСПОРТНЫЕ СЕТИ
Транспортной сетью называется орграф D—(V, X) с множест-
вом вершин V={vi, fn), для которого выполняются условия:
1) существует одна и только
источником, такая, что =
дит в и,);
2) существует одна и толь-
ко одна ъершина vn, называе-
мая стоком, такая, что
D(vn) =0 (т. е. из vn нс исхо-
дит ни одной дуги);
3) каждой дуге х&Х по-
ставлено в соответствие целое
число с(х)^0, называемое
пропускной способностью ду-
ги.
одна вершина и», называемая
0 (т. е. ни одна дуга не захо-
Рис. 4.46
16-1529
249
Вершины в транспортной сети, отличные от источника и сто-
ка, называются промежуточными.
Пример 4.52 На рис. 4.46, а показана транспортная сеть, в-
которой vi — источник, V4—сток, vs, Оз — промежуточные вер-
шины. При каждой дуге в скобках указана ее пропускная спо-
собность.
4.5.1. Поток в транспортной сети
Функция <р (х), определенная на множестве X дуг транспортной
сети D и принимающая целочисленные значения, называется до-
пустимым потоком (или просто потоком} в транспортной сети D,
гели:
1) для любой дуги х^Х величина <р(х), называемая потоком,
по дуге х, удовлетворяет условию О^ф(х) ^с(х);
2) для любой промежуточной вершины v выполняется равен-
ство
2 фС®, v) — 2 <Р(^ «О
шеР-Цо) w^D(v)
т. е. сумма потоков по дугам, заходящим в о, равна сумме по-
токов по дугам, исходящим из v.
Пример 4.53. На рис. 4.46,6 показан допустимый поток в
транспортной сети, описанной в примере 4.52. При каждой дуге
указана величина потока по ней. Очевидно, что выполняются все
условия, перечисленные в определении допустимого потока (про-
верьте выполнение второго условия для промежуточных вершин
v2, Из)-
Утверждение 4.56. Для любого допустимого потока <р в транспортной
сети D выполняется равенство
2 ф(^ь с) = 2 ф(у* (4 58)
v<=D(di) veD~l(vn)
По определению допустимого потока <р имеем
2 [2 Ф(®. п) — 2 Ф(», w)]=0. (4.59)
oeV\{vt, On) tt?eD“‘(o) wc=D(v)
Заметим, что для каждой дуги х — (»ь о)еХ, где
величина <р(х) входит в левую часть равенства (4.59) лишь один
раз и при этом со знаком плюс. Аналогично для каждой дуги
х — (о, оп)еХ, где величина <р(х) входит в левую часть
равенства (4.59) лишь один раз и при этом со знаком минус.
С другой стороны, для каждой дуги х = (ui, и2) ^Х, где щ, и2&
vn}, величина <р(х) входит в левую часть равенства
(4.59) один раз со знаком плюс (при v = и2, w = «1^£>-1(г)) и
один раз со знаком минус (при v = иь — u2^D(v}), что в
сумме дает нулевой вклад в левую часть равенства (4.59). Учи-
250
тывая сказанное, заключаем, что нз равенства (4.59) следует
^справедливость равенства (4.58).
Величиной потока <р в транспортной сети D называется величина <р, рав-
ная сумме потоков по всем дугам, заходящим в ип, или, что то же самое
(в силу утверждения 5.1), — величина, равная сумме потоков по всем ду-
гам, всходящим мз vi, т. е.
ф = 2 fn)« у, фк v).
oeD-‘(vrt) vgD(vi)
Пусть ф — допустимый поток в транспортной сети D. Дуга
х^Х называется насыщенной, если поток по ней равен ее про-
пускной способности, т. е. если ф(х) = с(х). Поток ф называется
^полным, если любой путь в D из th в vn содержит, по крайней
мере, одну насыщенную дугу.
Поток ф называется максимальным, если его величина ф при-
нимает максимальное значение по сравнению с другими допусти-
мыми потоками в транспортной сети D.
Очевидно, что максимальный поток ф обязательно является
полным (так как в противном случае в D существует некоторая
простая цепь из th в пп» не содержащая насыщенных дуг, а
следовательно, можно увеличить на единицу_потоки по всем ду-
гам из т] и тем самым увеличить на единицу ф, что противоречит
условию максимальности потока). Обратное же, вообще говоря,
неверно. Как будет показано ниже (см. пример 4.57), существу-
ют полные потоки, не являющиеся максимальными. Тем не ме-
нее полный поток можно рассматривать как некоторое прибли-
жение к максимальному потоку. В связи с этим опишем алго-
ритм построения полного потока в транспортной сети D.
Алгоритм 4.10:
Шаг 1. Полагаем VxeX ф(х) =0 (т. е. начинаем с нулевого
«потока). Кроме того, полагаем D' = D.
Шаг 2. Удаляем из орграфа D' все дуги, являющиеся насы-
щенными при потоке ф в транспортной сети D. Полученный ор-
граф снова обозначаем через D'.
Шаг 3. Ищем в D' простую цепь т) из th в Если такой це-
пи нет, то ф — искомый полный поток в транспортной сети D.
В противном случае переходим к шагу 4.
Шаг 4. Увеличиваем поток ф(х) по каждой дуге х из т) иа
одинаковую величину аГ>0 такую, что, по крайней мере, одна
дуга из 1] оказывается насыщенной, а потоки по остальным ду-
гам из т] не превышают их пропускных способностей. При этом
величина потока ф также увеличивается на а, а сам поток ф в
транспортной сети D остается допустимым (поскольку в каждую
промежуточную вершину, содержащуюся в т), дополнительно
вошло а единиц потока и из нее вышло также а единиц потока).
После этого переходим к шагу 2.
Обоснование алгоритма 4.10 несложно (проведите его само-
стоятельно).
16* 25!
Пример 4.54. Построим полный поток в транспортной сети D,
изображенной па рис. 4.47, а (в скобках указаны пропускные
способности дуг). Воспользуемся алгоритмом 4.10. Полагаем
D' = D, VxeX <p(jc) = 0, т. е. начинаем с нулевого потока (см.
на рис. 4.47, б -изображение орграфа D с указанием величин по-
тока <р по дугам). При нулевом потоке отсутствуют насыщенные
дуги. Выделим в D' простую цепь tji == O1O2O4O6 и увеличим по-
токи по дугам из т)1 на три (до насыщения дуги (о2, 04))- В ре-
зультате получим поток <р = <pi, содержащий одну насыщенную.
Рис. 4.47
дугу (см. на рис. 4.47, в изображение орграфа D с указанием ве-
личин потока <pi по дугам). Пометим ее знаком X (аналогично
будем помечать все другие насыщенные дуги) и удалим из ор-
графа D'. Оставшийся орграф снова обозначаем через D' (см.
изображение D' на рис. 4.47,а). Выделим в D' простую, цепь
т)2 — 0102^3^4^6 и увеличим потоки по дугам из t)2 на два (до на-
сыщения дуг (о2, о3), (о3, о4)). В результате получим потоку =»
= содержащий три насыщенные дуги (см. на рис. 4.47,д изо-
бражение орграфа D с указанием величин потока <р2 по дугам).
Удалим вновь полученные насыщенные дуги из D'. Оставшийся
орграф снова обозначим через D' (см. его изображение на рис.
4.47, е). Выделим в D' простую цепь т|з = 0i030506 и увеличим
потоки -по дугам из на два (до насыщения дуги (о3, os))-
В результате получим поток кр = <р3, содержащий четыре насы-
щенные дуги (см. на рис. 4.47, ж изображение орграфа D с ука-
занием величин потока <р3 по дугам). Удалим вновь полученную
насыщенную дугу из D'. Оставшийся орграф снова обозначим
через D' (см. его изображение на рис. 4.47, з). Выделим в D'
простую цепь = fitWo и увеличим потоки по дугам из rj*
на два (до насыщения дуги (оь *>2)). В результате получим по-
ток <р — ф4, содержащий пять насыщенных дуг (см. на рис. 4.47,и
252
изображение орграфа D с указанием величии потока <р4 по ду-
гам). Удалим вновь полученного насыщенную дугу из D'. Остав-
шийся орграф снова обозначим через D' (см. его изображение
на рис. 4.47,к). Заметим, что в D' не существует пути из щ в
а следовательно, в транспортной сети D с потоком <р4 не су-
ществует пути из О] в о6, который не содержал бы насыщенных
дуг, т. е. поток ф4 является полным. Величина <р4 полученного
полного потока равна 9. Как будет показано ниже (см. пример-
4.57), этот поток не является максимальным.
4.5.2. Орграф приращений
Введем для заданной транспортной сети D и допустимого по-
тока <р в этой сети орграф приращений I(D, ф), имеющий те же
вершины, что и сеть D. Каждой дуге х = (v, w)eX транспортной
сети D в орграфе приращений I(D, ф) соответствуют две дуги:
х и х' = (w, о) — дуга, противоположная по направлению дуге-
х Припишем дугам х = (о, w) еХ, х' = (w, г) орграфа прира-
щений I(D, ф) длину I:
1(х) = / °- если Ч>(*) < CW; (4.60)
' I со, если ф (х) = с (х); ' '
/(*') = / 0, если <р(х) >0; (4.61)
' 7 (со, если <р(х) =0, 4 '
т. е. орграф /(£), <р) является нагруженным. При этом очевидно,,
что длина любого пути из vi в vn в орграфе I(D, <р) равна либо
0, либо со.
Пусть 1] — некоторая простая цепь в орграфе I(D, ф). Будем
говорить, что цепь т] проходит через дуг] ' '
либо х, либо х'=-(йУ, о) содержится в тр
При этом, если х содержится в т), то го-
ворим, что направления т) и х совпада-
ют, а если х' содержится в 1], то гово-
рим, что направления т) и х противо-
положны.
Пример 4.55. Орграф приращений
/(D, ф4) для транспортной сети D и по-
тока ф4 (см. пример 4.54) изображен
на рис. 4.48.
4.5.3: Разрез. Пропускная способность разреза
Пусть D - транспортная сеть. Для любого множества VisV такого,
что theV], vn^Vi, разрезом сети D относительно множества вершин Vi
называется множество дуг X(Vj) = {(w, v) Vj. w ё=1Л}, т. e. мно-
жество, включающее в себя все дуги, исходящие из вершин, не прннадлежа-
253-
щих Vi, и заходящие в вершины, принадлежащие Число
cWV.)) = V] '(х)
хеХ(Н)
называется пропускной способностью разреза X(Vt) Разрез с минимальной
пропускной способностью называется минимальным.
Пример 4.56. Для транспортной сети D (см. пример 4.52) и
множества вершин Vi = {v2, v3, tu} разрез сети D относительно
Vi представляет собой множество дуг X(Vi) = {(c>i, vz)t (vi, оз),
(»ь и*)}• Его пропускная способность составляет с(Х(Й)) = 5+
+6+2=13.
Утверждение 4.Б7 Для любого допустимого потока <р в транс-
портной сети D и любого множества VitzV, где th Й, Dn^Vi,
выполняется неравенство <р < с(Х(1А)), т. е. величина любого
> допустимого потока в сети D (в том числе и максимального) не
превышает пропускной способности любого разреза сети D (в
том числе и минимального).
С учетом того, что все вершины в Vt, за исключением ип, являются
^промежуточными. a D(vn) = 0, имеем
V= 2 ф(ю, un) = 2 м+
weD-‘(un) weD“l(un)
+ 2 [2 ¥(», «) — 2 Ф(и’ №)] =
ск=У1\{ип} weD“‘(u) w<=D(u)
= 2 [2 <p(w, и)— 2 Ф(^ ®)] =
ue=Vi weD(u)
= 2 2j Ф^’ °) “ S 2 Ф(^ w> =
v^Vt w^D~l(v) w^D(v)
= 2 ф(*> — 2!
xe((ty, u)eX|usVJ xe{(v, eO<=X|u<=VJ
< 2 ч+о - 2 ф(*) =
хе{(ш, u)c=X|uf=VI) u)eX|w, feVJ
= 2 <₽(x>= 2
xe{w, u)eX|w=Vb VJ xeX(Vt)
<2 с<х) = с(Х(уы.
xsX(Vi)
Докажем следующую основную теорему.
Теорема 4.11 (теорема Форда — Фалкерсона). Пусть D —
'транспортная сеть, ср — допустимый поток в этой сети, Vi—мно-
:жество вершин v^V таких, что длина минимального пути изо в
vn в орграфе приращений ЦО, ф) равна нулю. Тогда, если Vi^Vi,
'.то ф — максимальный поток, величина которого равна =
= с(Х(У,)).
Пусть t’i ё= Vi. Тогда (см. доказательство утверждения 4.57)
выполняется равенство
-254
Ф== 2 ф (*)— 2 Ф U). (4.62)'
xe={(u>, v)eX|veVJ xe{(v, w)eX|neVi)
Если x «= (v, w)eX, реУь wg=Vi, то <p(x) = 0, так как в
противном случае, используя (4.61), имеем 1(х') — 0, где х' =
=.(«>, v), а следовательно, в силу.уеИ1 в 7 (Л, <р) существует
путь нулевой длины из w в fn, что противоречит условию ^g=Vi..
Но тогда из (4.62) получаем
*Ф“ 2 Ф(*)~ 2 Ф(*) =
xe{(w, n)&X|neVi) хе{(и, w)<=X|c, weVJ
“ 2 Ф<*) (4.63)1
i/)&X|ueVb wsVt)
Заметим, что если x = {w, v)eX, oe Vt, weVi, то 1(x) = co (так.
как при Цх) = 0 в силу vs Vi в I(D, <р) существовал бы путь пулевой
длины из w в On, что противоречит условию we= Vi), а ^следовательно, со-
гласно (4.60) ф(х) = с(х). Но тогда из (4.63) получаем (p = c(X(Vt)), По-
скольку величина любого допустимого потока в транспортной сети D не-
превосходит c(X(V<)) (см. утверждение (4.57), то ф — максимальный поток
в этой сети.
Следствие I. Используя теорему Форда — Фалкерсона, а
также утверждение 4.57, получаем, что величина максимального
потока в транспортной сети равна пропускной способности мини-
мального разреза.
Следствие 2. Пусть <р — допустимый поток в транспортной
сети D. Тогда, если длина минимального пути из Vi в vn в оргра-
фе приращений !(£, <р) равна <ю, то ф — максимальный поток..
4.5.4. Алгоритм построения максимального потока
в транспортной сети
Важным следствием теоремы Форда — Фалкерсона является ал-
горитм построения максимального потока в транспортной сети.
D. Опишем его.
Алгоритм 4.11:
Шаг 1, Полагаем 7=0. Пусть фо — любой допустимый поток,
в транспортной сети D (например, полный; можно начинать с-
нулсвого потока: фо(х)=0, хеХ).
Шаг 2. По сети Ь и потоку ф» строим орграф приращений
7 (Л, ф»).
Шаг 3. Находим простую цепь являющуюся минимальным
путем из 01 в On в нагруженном орграфе 1 (D, ф/) (например, ис-
пользуя алгоритм Форда — Веллмана). Если длина этой цепи'
равна оо, то поток <р* максимален (см. следствие 2 теоремы 4.11),
и работа алгоритма закончена. В противном случае увеличиваем-
поток вдоль цепи тр иа максимально допустимую величину
>0, где a(eZ (прибавляя ее для каждой дуги хеХ, через ко-
торую проходит цепь т)г-, к уже имеющейся величине потока по
дуге х, если направления х и тр совпадают, и вычитая, если на-
255:
правления х и тр противоположны), такую, что прн этом сохра-
няется условие 1 допустимого потока (см. с. 250). В силу
Цл*) используя (4.60), (4.61), получаем, что указанная вели-
чина ai существует. В результате меняется поток в транспортной
сети D, т. е. от потока <р,- мы перешли к потоку ф4.ц (очевидно,
что при таком изменении поток остается допустимым), и при
этом фж=ф<+<4> Присваиваем i: — t-|~l и переходим к шагу 2.
Замечание 4.53. Поскольку
последовательность величин ф,
является монотонно возра-
стающей, то максимальный
поток будет построен за ко-
нечное число шагов.
Пример 4.57. В продолже-
ние примеров 4.54, 4.55 по-
строим максимальный поток
в транспортной сети D. Начи-
наем с полного потока ф4.
Воспользуемся орграфом при-
Рис 4 49
ращений., приведенным в
примере 4.55 (см. на рис. 4.48 изображение орграфа I(D, ф4)).
В нагруженном орграфе /(D, ><р4) имеется простая цепь tjs =
= ViVsVzVsVfi, длина которой равна 0 (т. е. tjs — минимальный
путь пз 01 в Об в I(D, ф4)). Увеличиваем поток вдоль пепи на
максимально допустимую величину 2 (до обнуления потока по
дуге (ог, о3)). В результате получаем поток ф5 (см. на рис.
4.49,0 изображение орграфа D с указанием величин потока <р$
по дугам). Построим орграф приращений I(Dt ф5), изображение
которого приведено на рис. 4.49,6. Нетрудно видеть, что длина
любого пути из oi в о6 в нагруженном орграфе I(D, <ps) равна со,
а следовательно, поток ф5 является максимальным и при этом
Ф5=И.
Задача. Найти максимальные потоки в транспортных сетях
(см. рис. 4.50, а, 6).
256
4.6. ВЫЧИСЛИТЕЛЬНАЯ сложность
АЛГОРИТМОВ
Мы уже говорили о том, что методы решения многих задач мате-
матики носят алгоритмический характер, что для задач, имею-
щих практический интерес, ищут именно разрешающие алгорит-
мы. Уточнение понятия алгоритма позволило выявить алгорит-
мически неразрешимые проблемы, к которым прежде всего от-
носятся рассмотренные нами проблема разрешимости для логики
предикатов, проблема самонрименимости для машин Тьюринга,
проблема тождества слов в полугруппах.
Исследуя задачи на дискретных конечных математических
структурах, как правило, можно найти комбинаторные алгорит-
мы для их решения, например, с помощью некоторого процесса
перебора. Однако при этом число шагов быстро растет с увели-
чением размерности задачи, и последняя становится практически
неразрешимой.
Поиск эффективных алгоритмов для решения задач дискрет-
ной математики привел к одной из важнейших се проблем — к
решению вопроса о возможности исключения перебора вариан-
тов в комбинаторных алгоритмах.
В самом широком смысле эффективность алгоритма связана
со всеми вычислительными ресурсами, необходимыми для его
работы. Однако обычно под наиболее эффективным понимается’
наиболее «быстрый» алгоритм.
Есть целый ряд задач, представляющих практический инте-
рес, для которых, по-видимому, не существует эффективных ал-
горитмов, а про имеющиеся разрешающие алгоритмы можно
сказать, что они неэффективны даже при реализации на ЭВМ
будущих поколений.
Оценка сложности алгоритмов и создание эффективных алго-
ритмов — одна из важнейших задач современной дискретной
математики.
Мы будем оценивать алгоритмы лишь по временной сложно-
сти. Не приводя здесь точных понятий, заметим, что время ра-
боты алгоритма можно выразить в виде функции от «размеров»
. входных данных, требуемых для описания задачи. Входные и вы-
' ходные данные можно кодировать некоторым «разумным» спо-
собом в виде двоичных последовательностей из нулей и единиц.
, Тогда алгоритм можно рассматривать как последовательность
двоичных операций, работающих с памятью из двоичных же
символов.
Временная сложность алгоритма отражает затраты времени
(число шагов), требуемые для его работы. Это есть функция,
которая каждой входной длине п ставит в соответствие мини-
мальное время, затрачиваемое алгоритмом на решение всех од-
нотипных индивидуальных задач этой длины.
257
Из курса математического анализа известно, что функция
f(n) есть O(g(n)), если существует константа с такая, что
ШЛ) I <с(£(л)) Лия всех
Полиномиальным алгоритмом (или алгоритмом полиномиаль-
ной временной сложности) называется алгоритм, у которого вре-
менная сложность равна О(Р(л)), где Р(л) — некоторая поли-
номиальная функция от входной длины п. Алгоритмы, для вре-
менной сложности которых не существует такой оценки, называ-
ются экспоненциальными.
Задача считается труднорешаемой, если для нее не сущест-
вует разрешающего полиномиального алгоритма.
В книге {3] приведены характерные таблицы опенки зависи-
мости времени работы алгоритмов сложности, равной л, л3, 2Л,
от размеров входной информации (табл. 4.13), а также оценки
максимальной размерности задачи, решаемой за один час (табл.
4.14). Из последней таблицы видно, что повышение быстродей-
ствия машины не дает существенного роста размерности разре-
шимых задач, если алгоритм имеет экспоненциальную слож-
ность.
Таблица 4.13
Функция временной сложности Размер- ность п 10 20 50 60
П 0,00001 секунд 0,00002 секунд 0,0005 секунд 0,0006 секунд
п3 0,001 секунд 0,008 секунд 0,125 секунд 0,216 секунд
2" 0,001 секунд 1,0 секунд 35,7 дней 366 столетий
Таблица 4.14
Функция времен- ной сложности Современная ЭВМ ЭВМ, в 100 раз более быстрая ЭВМ. в 1000 раз более быстрая
л п3 2* М Nz Nz 100/Л 4,64^2 М)+6,64 I000M 10tf2 Мз+9,97
Многие прикладные задачи могут быть сформулированы в
терминах теории графов. Однако при решении реальных задач
характеристики соответствующих графов (например, число вер-
шин п и число ребер ш) весьма велики, и их анализ возможен
лишь с привлечением ЭВМ.
258
Задача поиска эффективных алгоритмов в теории графов-
имеет большое практическое значение. Поэтому в заключение-
дадим краткий обзор временной сложности рассмотренных нами
комбинаторных алгоритмов на графах.
Задачи теории графов можно классифицировать следующим
образом:
1) задачи, для которых имеются алгоритмы сложности
О (п + т);
2) задачи, для которых известны алгоритмы сложности
О(Р(п4-лг)), где Р — нелинейный полином;
3) задачи, для которых известны только алгоритмы экспонен-
циальной сложности, но про которые нельзя сказать, что для пнх
нет алгоримов полиномиальной сложности;
4) задачи, которые могут быть решены лишь с использовани-
ем алгоритма экспоненциальной сложности.
Разбиение задач на первые три класса зависит от мастерства
математика. Однако задачи четвертого класса принципиально
нельзя отнести к первым трем классам, поскольку они включают
в себя экспоненциальные процедуры, например просмотр всех
подграфов исходного графа.
К четвертому классу относятся задачи перечисления всех ос-
товных деревьев графа и перечисления всех циклов графа. Это
объясняется тем, что у полного « вершинного графа число ос-
товных деревьев равно пп 2 (см. разд. 4.4.3), число циклов дли-
ны I равно C'n(i—1)!, т. е. общее число циклов составляет
S С‘п(1—!)!>(«-!)!.
>«=2
К первому классу относятся следующие рассмотренные нами
задачи: отыскание остовного дерева графа; выделение компонен-
ты связности графа и сильной связности орграфа; нахождение'
минимального пути в орграфе (или минимального маршрута в
графе); нахождение эйлерового цикла. Для решения этих задач
построены алгоритмы, имеющие сложность О(п-\-т).
Второй класс в настоящее время включает в себя такие за-
дачи: нахождение матрицы связности (приведенный в разд. 4.1.8-
алгорптм Уоршела имеет сложность О(л3)); нахождение цикло-
вого базиса (сложность алгоритма О(пт))\ нахождение мини-
мального пути в нагруженном графе методом Форда — Веллма-
на (сложность алгоритма О (л3)); нахождение минимального ос-
говного дерева в нагруженном графе (сложность алгоритма
О(т2)).
Получение оценок сложности алгоритмов выходит за рамки
данной книги. Со способами вычисления этих оценок, а также с
алгоритмами, позволяющими улучшить их, можно ознакомиться
в специальных монографиях, например в [9].
Третий класс содержит следующие задачи: о существовании
в графе гамильтонова цикла (задача коммивояжера); об опре-
259*
делении изоморфизма данного графа Gi какому-нибудь подгра-
фу графа 62; не относящуюся непосредственно к теории графов,
но фундаментальную задачу о выполнимости формулы логики
высказываний, находящейся в КНФ, и многие другие задали.
Для решения этих задач не существует полиномиальных алго-
ритмов, хотя не кажется безусловным, что их решение возможно
лишь с помощью экспоненциальных алгоритмов. Для многих за-
дач этого класса справедливо следующее свойство сводимости:
существование полиномиального алгоритма для решения одной
из них дало бы полиномиальный алгоритм для решения другой.
В современной дискретной математике третий класс задач явля-
ется предметом пристального изучения.
ЛИТЕРАТУРА
1. Биркгоф Г., Барти Т. Современная прикладная алгебра. — М.: Мир,
1976.
2. Гаврилов Г. П., Сапоженко А. А. Сборник задач по дискретной ма-
тематике. — М.: Наука, 1977.
3. Гери М., Джонсон Д. Вычислительные машины и труднорешаемые за-
дачи. — М.: Мир, 1982.
4. Кострикин А. И. Введение в алгебру. — М.: Наука, 1977.
5. Комбинаторный анализ: задачи н улражнения/Под общ. ред. К. А. Рыб-
никова. — М.: Наука, 1982.
6. Кофман А. Введение в прикладную комбинаторику. — М.: Наука,
1975.
7. Лавров И. А., Максимова Л. Л. Задачи по теория множеств, матема-
тической логике и теории алгоритмов. — М.: Наука, 1984.
8. Мендельсон Э. Введение в математическую логику. — М.: Наука, 1976.
9. Новиков П. С. Элементы математической логики. — М.: Наука, 1973.
10. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы: тео-
рия и практика. — М.: Мир, 1980.
11. Яблонский С. В. Введение в дискретную математику. — М.: Наука,
1979.
ОГЛАВЛЕНИЕ
Предисловие ... . ........................
Введение .... 5
01. Начальные понятия теории множеств .... 5
G.2 . Отношения и функции . . . . » .
0.3 . Специальные бинарные отношения
04. Алгебраические операции . . . .
Глава 1. Элементы математической логики
1 I. Логика высказываний . ...
I 2. Булевы функции
1 3 Исчисление высказываний
1 4. Логика и исчисление предикатов ...
1 5 Эффективная вычислимость ...
Глава 2. Алгебраические структуры ....
2.1 Группы .....
2.2 Кольца и поля . ....
2.3 Элементы теории кодирования
Глава 3. Комбинаторика .................
31. Комбинаторные схемы .... ... . :
32 Решение аадач пересчета методом Пойа
Глава 4. Конечные графы и сети .......................
4.1. Основные понятия и определения...................
4 2. Задачи поиска маршрутов (путей) в графе (орграфе)
4 3. Деревья и циклы..........................................
4 4. Внутренняя и внешняя устойчивость в графах
4 5. Траиспортные сети ... . , ....
4 6- Вычислительная сложность алгоритмов . . . .
Литература....................................................
sasses 855
262
Учебное издание
Нефедов Виктор Николаевич
Осипова Виктория Аркадьевна
КУРС ДИСКРЕТНОЙ МАТЕМАТИКИ
Редактор Р. М. Белозерова
Художественный редактор Б. В. Челноков
Технический редактор М. Б. Жехова
Корректор В. Ф. Ленивое а
Обложка художника Ю. П. Елкина
ИБ № 15
Сдано в набор ,31.10.90. Подписано в печать 01.04.92.
Формат 60x90V16. Бум. тип. № 1 Гарнитура Литературная.
Печать высокая. Усл. печ. л. 16,5. Уч.-изд. л. 16,38.
Тираж 20 000 якз. Заказ № 1529. СЗ.
Издательство МАИ
125871, Москва, Волоколамское шоссе, 4.
Арендное предприятие Московская типография № 8
107078, Москва, Каланчевский туп., д. З/о.
УВАЖАЕМЫЙ ЧИТАТЕЛЬ!
В ИЗДАТЕЛЬСТВЕ МАИ
В БЛИЖАЙШЕЕ ВРЕМЯ ВЫХОДЯТ СЛЕДУЮЩИЕ КНИГИ:
1. КУРС НАЧЕРТАТЕЛЬНОЙ ГЕОМЕТРИИ С АЛГОРИТ-
МАМИ ДЛЯ ЭВМ: Учебник для инж.-техн. вузов/А. М. Тевлин,
JI. Г. Нартова, В. С. Полозов, В. И. Якунин: Под ред. А. М. Тев-
лина и Л. Г. Нартовой.— М.: Изд-во МАИ, 1992.— 16 л.
2. МЕТОДИЧЕСКОЕ ПОСОБИЕ ПО МАТЕМАТИКЕ ДЛЯ
ПОСТУПАЮЩИХ В ВУЗЫ /В. А. Васильева, Т. Д. Кудрина,
Р. Н. Молодожникова; Под ред. Р. Н. Молодожииковой.— М.:
Изд-во МАИ, 1992.— 20 л.
3. СБОРНИК ЗАДАЧ ПО МАТЕМАТИКЕ ДЛЯ ПОСТУ-
ПАЮЩИХ В ВУЗЫ: Учеб, пособие/А. С. Бортаковский,
В. М. Закалюкин, В. Н. Серегин, А. М. Скуридин; Под ред.
Р. Н. Молодожииковой.— М.: Изд-во МАИ, 1992.— 25 л.
4. Поляков Д. Б., Круглов И. Ю. ПРОГРАММИРОВАНИЕ
В СРЕДЕ ТУРБО ПАСКАЛЬ (версия 5.5): Справ.-метод. по-
собие.— М.: Изд-во МАИ, 1992.— 45 л.
Заявки направлять по адресу:
125871, Москва, Волоколамское шоссе, 4.
Издательство МАИ.
Справки по телефону: 158-46-52.
Замеченные опечатки
С. 72, 15-я строка снизу. Читать: Л1п->{И, Л}.
С. 95, 5-я строка снизу. Читать:
С. 128, 9-я строка сверху. Читать: b^bi.. 1
В.Н.НЕФЕДОВ
В.А.ОСИПОВА
V курс
ДИСКРЕТНОЙ
МАТЕМАТИКИ
। 1_______