Text
                    Серия «Учебники»
Г. Г. Асеев, О. М. Абрамов,
Д. Э. Ситников
ДИСКРЕТНАЯ
МАТЕМАТИКА
Учебное пособие
Ростов-на-Дону, «Феникс»
Харьков, «Торсинг»
2003

ББК 22.176я73 А90 Книга издана при поддержке Украинского литературного агентства www.bookagency.com.ua Т. 10 380 572 174-906 Рецензент: доктор физико-математических наук, профессор, директор Электрофизического центра НАН Украины Клепиков В. Ф. Асеев Г. Г., Абрамов О. М., Ситников Д. Э. А90 Дискретная математика: Учебное пособие. — Рос- тов н/Д: «Феникс», Харьков: «Торсинг», 2003. — 144 с. (Серия «Учебники») ISBN 5-222-03775-4 (Феникс) ISBN 966-693-257-1 (Торсинг) В данном пособии значительное внимание уделено алго- ритмическим методам при доказательствах теорем и решени- ях дискретных задач, методам математической логики, ком- бинаторному анализу и теории графов. Теоретический мате- риал рассматривается на конкретных практических задачах и упражнениях. Материал пособия соответствует типовым программам выс- ших учебных заведений стран СНГ, изучающих дискретную математику как фундаментальную основу многих естествен- ных наук. Рассчитано на учащихся выпускных математических классов, студентов технических вузов и математических факультетов. ISBN 5-222-03775-4 ББК22.176я73 ISBN 966-693-257-1 © Асеев Г. Г., Абрамов О. М., Ситников Д. Э., 2003 © Оформление, изд-во «Феникс», 2003 © «Торсинг», 2003
ПРЕДИСЛОВИЕ В настоящее время интерес к дискретной математике неуклонно растет. Все больше в обязательную програм- му учебных заведений включаются курсы теории мно- жеств, математической логики, комбинаторики, теории графов и их фрагменты. Специалисты в области совре- менных компьютерных технологий уже осознали, что эти разделы математики являются фундаментом для постро- ения настоятельно необходимой сейчас хорошей теории математического обеспечения информационных техничес- ких систем. Многие специалисты, казалось бы, далекие от математики, также начинают сознательно знакомить- ся с их содержанием. Авторы попытались увязать широ- ту постановок задач дискретной математики с относи- тельной простотой изложения, доступной для понима- ния лицам, имеющим среднее образование. Настоящее учебное пособие состоит из четырех разделов. В первом разделе излагается теоретико-множествен- ная аксиоматика Цермело, на основании которой стро- ится последующий материал учебного пособия. С пози- ций этой аксиоматики вводятся основные операции тео- рии множеств и рассматриваются их свойства. Далее вводятся понятия отношения, функции, изучаются ме- тоды оценки мощностей множеств, возможности их по- строения и упорядочения. На основании проведенных исследований проводится водораздел между дискретным и непрерывным в основаниях математики. Во втором разделе рассматриваются методы матема- тической логики в их классическом изложении. Основу этих методов составляют булева алгебра и теория преди- катов. Значительное внимание уделяется построению логического символизма, свойствам булевых функций и построению предикатов. Затрагиваются также вопросы теории доказательств в предметных областях на основа- нии методов алгебры логики. В третьем разделе, посвященном основам комбинатор- ного анализа, излагаются основные теоретические аспек- ты построения и анализа различных комбинаторных кон- 3
фигураций: соединений, разбиений и композиций. При этом используется функциональный и алгоритмический подходы как наиболее общие с точки зрения математи- ческих построений и доказательств в данной области. В четвертом разделе освещаются методы теории гра- фов. В частности, даются ключевые понятия и определе- ния этой теории, доказываются основные теоремы, рас- сматриваются различные алгебраические и теоретико- множественные способы представления графов, изучаются методы построением маршрутов, циклов, деревьев и рас- краски графов, а также особенности применения этих методов в области информатики и вопросы построения алгоритмов на графах. Разделы теоретического изложения материала под- креплены многочисленными практическими задачами и упражнениями.
1. ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕ ОСНОВАНИЯ ДИСЦИПЛИНЫ 1.1. Понятия и аксиомы теории множеств Основы теории множеств созданы математиками XIX ве- ка, которые поставили целью разработку оснований ана- лиза. Начала этой теории заложил немецкий математик Георг Кантор. Ему принадлежит высказывание, которое можно рассматривать как интуитивное определение мно- жества: «Множество есть многое, мыслимое как единое». Такое определение множества потребовало введения трех символов. Первый из них должен представлять множество как нечто «единое», т. е. являться представителем самого множества. В качестве такого символа принято приме- нять любую прописную букву какого-либо алфавита: например, обозначать множества прописными буквами латинского алфавита А, В, ..., X или какого-либо друго- го по соглашению. Второй символ должен представлять «многое», т. е. рассматриваться как элемент множества. В качестве это- го символа принято использовать строчные буквы того же алфавита: а, Ь, ..., z. Наконец, третий символ должен однозначно соотнес- ти элемент множеству. В качестве соответствующего сим- вола определен знак G, который происходит от первой буквы греческого слова eon (быть). Запись х е X опреде- ляет отношение: х есть элемент X. Для того чтобы ука- зать, что х не есть элемент X, пишут х g X. Опыт развития теории множеств на протяжении мно- гих лет показал, что интуитивное определение понятия множества не является состоятельным, поскольку при- водит к ряду внутренних противоречий теории — так называемым парадоксам. Так, например, широко извес- тен парадокс Рассела: парикмахер (элемент х), прожива- ющий в некоторой деревне, бреет всех тех и только тех жителей этой деревни, которые не бреются сами (пусть X — множество всех тех и только тех жителей данной деревни, которые не бреются сами). Вопрос: бреет ли 5
парикмахер самого себя? То есть: х g X или х g X? Ясно, что получить логически непротиворечивый ответ на этот простой вопрос невозможно, поскольку, полагая, например, что х g X, сразу приходим к противоречию: х g X, и обратно. Этот и другие парадоксы теории множеств, которые определились уже к началу XX века, показали, что интуи- тивные определения и построения в математике не мо- гут рассматриваться как основополагающие. Возникла необходимость определить множество так, чтобы затем при доказательствах теоретических построений не при- бегать к привлечению интуитивных понятий. Выход был найден в построении системы аксиом, ко- торые, сами вынужденные быть построенными на инту- итивном понятии множества, нигде более не допускали бы этого понятия при доказательствах теорем или в оп- ределениях. Задача оказалась совсем не простой в связи со сложно- стью и необозримостью построений самой теории множеств. К настоящему времени сложилось несколько аксиома- тических систем теории множеств, в чем-то дополняю- щих, а в чем-то и исключающих друг друга в построени- ях теории. Одним из примеров является аксиома выбора, которую некоторые математики разделяют, а другие — не признают вообще. (Эта аксиома будет рассмотрена нами в конце главы.) По оценкам экспертов, в настоящее время наиболее базовой из всех существующих является система Церме- ло (Z-система). Она состоит из семи аксиом, каждая из которых последовательно изучается в данном разделе. Отметим, что нумерация этих аксиом не во всех матема- тических источниках совпадает. Мы же будем придер- живаться в основном нумерации, принятой в работе [1]. В настоящем параграфе предлагается рассмотреть пер- вые три аксиомы этой системы. Аксиома объемности (Z1). Если все элементы множе- ства А принадлежат также множеству В, а все элементы множества В принадлежат также множеству А, то А = В. Рассмотрим Z1 подробнее. Пусть все элементы множества Z принадлежат также множеству А. Тогда множество Z именуется подмноже- 6
стеом A. Для подмножества Z множества А принято обо- значение: Z с А. Символ с именуется «включение». Если не исключается возможность ситуации, когда Z = А, то для того чтобы акцентировать на этом внимание, пишут Z с А, хотя это и не обязательно. Принимая термин «подмножество», аксиому Z1 мож- но сформулировать следующим образом: Z1: если В сАиАсВ, то А = В. Рассмотрим, в чем состоит смысл этой аксиомы. Пусть А = {ар а2} и В = {fep b2} — множества. В соответ- ствии с введенным определением принадлежности эле- ментов множествам имеем а , а2е. А и b , b2 G В. Если при этом также выполнено а , а2е В и b , Ь2е А, то на основании Z1 заключаем, что А = В. В ряде задач часто возникает вопрос: как определить принадлежность элементов одного множества другому множеству? Эта принадлежность может быть известна по условию задачи, либо установлена на основании ее дополнительных исследований, либо не определена. Пре- достерегая от возможных ошибок, отметим, что символ принадлежности имеет более высокий статус, чем сим- вол равенства. Поэтому из попарного равенства число- вых значений элементов двух различных множеств еще не вытекает их взаимная принадлежность. Предположим, например, что А = {1, 2, 3} и В = {1, 2, 3} и ничего не известно о принадлежности элементов мно- жества А множеству В и обратно. Тогда на основании Z1 возможно, что А — В, но не более. Нетрудно привести примеры таких ситуаций. Пусть элементами множеств А, В являются тома со- брания сочинений одного и того же классика, изданного большим тиражом и представленного своими номерами так, что: А = {1, 2, 3} и В = {1, 2, 3}. По смыслу здесь ясно, что как множество А, так и множество В представ- лены тремя томами 1, 2 и 3 собраний сочинений некото- рого классика. Пусть теперь известно, что множество А представляет часть домашней библиотеки, а множество В — часть библиотеки академии. Поскольку одни и те же тома данного классика принадлежат разным библио- текам, то условия аксиомы объемности в нашем примере не выполняются. Следовательно, сказать, что А = В на 7
основании Z1 нельзя, несмотря на то, что элементы мно- жества А и множества В попарно имеют одни и те же числовые значения. В другом примере положим, что в множествах АиВ элементы 1,2,3 — те же тома из библиотеки академии, но выдаваемые в разное время двум различным читате- лям: первый читатель получал тома, представленные множеством А, а второй — множеством В. Тогда на ос- новании аксиомы объемности заключаем, что А = В. Заметим, что аксиома объемности определяет всего лишь достаточные условия равенства множеств. Пред- ложить же аксиому, которая определила бы и необходи- мые условия равенства множеств в рамках данной тео- рии без избежания ее внутренних противоречий, как показал опыт, возможным не представляется. В связи с этим обратим внимание на, казалось бы, парадоксальный факт, что из равенства множеств вовсе не следует взаимная принадлежность элементов этих же множеств, т. е. аксиоматика Цермело предполагает су- ществование равных множеств в тех случаях, когда ус- ловия аксиомы Z1 не имеют места. Таким образом, ра- венство либо неравенство множеств в некоторых поста- новках задач может быть просто объявлено. Но тогда и справедливость построения теории возлагается на само- го исследователя. Следует, однако, иметь в виду, что объявить множества различными (AtB) в случае, когда условия аксиомы объемности выполняются, принимая систему Цермело, мы не имеем права. Условимся везде далее в тексте, записывая А = В, считать, что множества А и В тождественно равны в смыс- ле выполнения для них условий аксиомы Z1. Мы также будем говорить, что множества А и В различны исклю- чительно в смысле невыполнения для них условий этой же аксиомы. Из аксиомы объемности следует, что, если А = {ctp а2}, то А = {а2, aj, поскольку как ар а2е А, так и а2, а± е А. Таким образом, если порядок элементов не оговорен, то в силу Z1 любое множество рассматривается как неупорядоченное. Пусть А, В — множества, х G А и х G В. Тогда в силу аксиомы объемности А = {х, х,...} = {х} = В, 8
поскольку все элементы множества А принадлежат так- же множеству В, и обратно. Отметим, что в рассматрива- емом обозначении множества А имеется некоторый «под- вох»: на самом деле множество А содержит всего лишь один элемент, но записанный несколько раз подряд. Учитывая это, в теории множеств принято один и тот же элемент не повторять в записи дважды, т. е. в данном случае принято писать: А = {х}. Рассмотрим теперь следующие примеры. Даны множества А = {1, 1} и В = {1}. Что можно ска- зать об их равенстве? Выше мы установили, что равенство числовых значе- ний элементов еще не гарантирует взаимной принад- лежности элементов множествам. Поэтому для того, что- бы установить что-либо о равенстве данных множеств, потребуются дополнительные условия. Пусть дополнительно к условию предыдущей задачи имеем: если для любого элемента а е А найдется такой элемент b G В, что а = Ъ, то а е В и Ь е А. В этом случае, применяя аксиому выбора, получим А = {1, 1} = В = {1}. Пусть имеем другое дополнительное условие задачи. Согласно ему известно, что множество А представляет кор- ни уравнения (х - а,)(х - а2) = О, а множество В — корень уравнения (х — Ь) = О. Согласно основной теореме алгебры один и только один из корней уравнения второго порядка может одновремен- но быть корнем уравнения первого порядка. Следователь- но, один и только один из элементов множества А может принадлежать множеству В. Поэтому в данной задаче уста- новить равенство множеств А и В на основании аксиомы объемности не представляется возможным. Следует обра- тить внимание на то, что и оба элемента множества А различны, несмотря на равенство их числовых значений. Аксиома пары (Z2). Для произвольных а и b суще- ствует множество, единственными элементами которого являются {а, Ь}. Эта аксиома определяет способы построения множеств из элементов. То обстоятельство, что а и Ь заданы произ- вольно, не исключает ситуацию, когда а или Ъ сами яв- ляются множествами. 9
Пусть а = {ар а2} и Ь = {Ьр Ь2}. Следуя аксиоме пары, построим множество А = {а, Ь} = {{пр а2}, {Ьг, Ъ^}. Это множество определяется на основании аксиомы Z1 эле- ментами а и Ь однозначно. Рассмотрим множество В — = {ар а2, t>2}, которое получено из А путем выбрасыва- ния внутренних скобок. Множества А и В различны. Действительно, {яр а2}, {Ь±, Ь2}е В как подмножества В, но а±, а2, Ъ±, Ъ2 не могут принадлежать множеству А, по- скольку элементами множества А являются множества, но не их элементы. Введем понятие отношения порядка на множествах. Множество А = {а, Ъ), (1.1) где элементы связаны дополнительным условием: а пред- шествует Ь (либо Ь следует за а) называется упорядоченной парой. В общем случае, когда число элементов множе- ства равно двум или более двух, вводится понятие упоря- доченного множества. Этот класс множеств рассматри- вается в 1.6. Аксиома суммы (Z3). Для произвольных множеств А и В существует единственное множество С, элементами которого являются все элементы множества А и все эле- менты множества В и которое никаких других элемен- тов больше не содержит. Множество С именуется суммой или объединением множеств Ап В. Символ операции объединения: и. Из аксиомы Z3 следует, что сумму множеств А и В можно записать в виде С=АиВ. (1.2) При этом из единственности С следует выполнение свойств: А и В = В и А — коммутативность и (А и В) и В = Л и (В и D) — ассоциативность для любой тройки множеств, входящих в объединение. Представляет интерес рассмотреть в качестве приме- ров три случая: когда множества А и В не имеют общих элементов, когда все элементы общие и когда только некоторые элементы этих множеств являются общими. Если множества А и В не имеют общих элементов, их объединение строится наиболее просто. Пусть элемента- ми множеств А и В являются точки некоторого одного 10
и того же отрезка числовой оси: А = {1, 2}, В = {3, 4, 5, 6}. Тогда С = А и В = {1, 2, 3, 4, 5, 6}. Если у множеств АиВ все элементы общие, например, в условиях предыдущего примера А = {1, 2, 3}, В = {1, 2, 3}, то на основании Z1-. А и В = {1, 2, 3}. Пусть у множеств АиВ общие только некоторые эле- менты. Положим А = {1, 2, 3, 4}, В = {1, 2, 3, 4}, и пусть при этом известно, что принадлежат обоим множествам элементы со значениями 2 и 3. В таком случае остальные элементы этих множеств необходимо отметить как при- надлежащие разным множествам. Условимся, например, индексировать их символами исходных множеств. Тогда С = А и В = {1‘л>, 1™, 2, 3, 4OT, 4<в>}. Такая ситуация может иметь место, например, при слиянии таблиц, когда у таблиц АиВ колонки 2 и 3 являются общими, а остальные — нет. Для наглядности операцию объединения множеств можно интерпретировать диаграммой, предложенной Эйлером (рис. 1.1). Если речь идет об объединении нескольких множеств, пишут: ^аАа и считают, что элемент, принадлежащий Ц,Аа, принадлежит каждому из Ао. Рис. 1.1 Теорема 1.1. Для любых двух множеств АиВ суще- ствует единственное множество С, составленное из тех и только тех элементов, которые принадлежат как множе- ству А, так и множеству В. Доказательство. Существование общих элементов у множеств АиВ допускается по определению принад- лежности элемента множеству. 11
Если общий элемент единственен, то сразу же прихо- дим к заключению теоремы. Если имеем пару общих элементов, то для построения множества С воспользуемся аксиомой Z2. Если общих элементов более двух, то, последовательно применяя к ним аксиому пары, получим систему множеств, каждое из которых содержит предыдущее множество и последующий общий элемент. Теперь для построения мно- жества С достаточно воспользоваться аксиомой суммы, применяя ее ко всем множествам данной системы. Если же А и Б не имеют ни одного общего элемента, то множество С также определяется единственным обра- зом — как множество, не содержащее ни одного элемен- та. Теорема доказана. Множество, не содержащее ни одного элемента, назы- вается пустым. Для него принят специальный символ: 0. Иногда этот символ в литературных источниках заменя- ют символами О либо { }. Смысл их тот же. Для произвольного семейства множеств А имеет мес- то следующая теорема [1], которую мы приводим без доказательства. Теорема 1.2. Для произвольного семейства множеств А существует единственное множество С, составленное из тех и только тех элементов, которые принадлежат всем множествам семейства А. Множество С, определенное теоремами 1.1 и 1.2, на- зывается произведением либо, что чаще, пересечением множеств, на которых оно построено. Это понятие столь же часто встречается в теории множеств, что и понятие суммы. Для обозначения операции пересечения множеств принят символ: п. Операция пересечения множеств А а В записывается следующим образом: С=АпВ. (1.3) Из единственности множества пересечения вытекают свойства этой операции: А п В =В п А — коммутативность для любой пары и (А п В) п D = А п (В п D) — ассоциативность для любой тройки пересекающихся множеств. Диаграмма Эйлера, поясняющая пересечение мно- жеств, представлена на рис. 1.2. 12
Пусть А и В — произвольные множества. Построим множество тех элементов А, которые не принадлежат В. Тот факт, что такое множество существует и единствен- но, доказывается точно так же, как и в теореме 1.1. Полученное множество называется разностью множеств А и В. Для представления разности множеств принята операция, которая обозначается символами: «—» либо «\». С=АпВ Рис. 1.2 Например, запись С=А-В (1.4) или, что то же, С = А \ В имеет смысл: «те элементы из А, что не в В». Операция разности множеств, по своему определению, не ассоциативна и не коммутативна. В частности, из определения этой операции также следует, что должно быть выполнено (А - В) п (В - А) = 0. (1.5) Часто в рамках некоторой математической теории фик- сируется множество, содержащее все другие множества как объекты этой теории. Такое множество называют уни- версальным. Обозначают его, как правило, наименовани- ем данного фиксированного множества. Пусть I — любое универсальное множество и А СI. Построим разность I - А. Ясно, что I - А с. I. Такая разность множеств именуется дополнением. Любое подмножество универсального мно- жества называется его собственным подмножеством. Существенный интерес в теории множеств представ- ляет объединение множеств (А - В) и (В - А). Это мно- жество называется симметрической разностью множеств А и В. Для обозначения симметрической разности при- нят символ Д, т. е. А Д В = (А - В) и (В - А). (1.6) 13
То, что эта операция коммутативна, вытекает непо- средственно из ее определения формулой (1.6). Ассоци- ативность не очевидна, но также имеет место. Доказа- тельство ассоциативности симметрической разности при- ведено, например, в [1, с. 23]. В рамках данной теории можно продолжать введение все новых операций над множествами. Однако перед этим естественно дать ответ на вопрос: не является ли уже введенная система операций избыточной? Избыточ- ность будем понимать в смысле существования на мно- жестве всех введенных операций непустого подмноже- ства, через элементы которого можно выразить все ос- тальные операции исходного множества. Рассмотрим этот вопрос. Теорема 1.3. Пусть АиВ — любые множества. Тогда А о В = (А Д В) Д (А п В) (1.7) и при этом множества (А Д В) и (А п В) не пересекаются. Доказательство. Пусть имеем множества А и В. Об- щие элементы множеств А и В составляют множество А п В, которое единственно по теореме 1.1. Следователь- но, те элементы, которые не принадлежат А п В, могут принадлежать лишь А, но не принадлежать В, либо — принадлежать В, но не принадлежать А. Первое из этих множеств определено нами как А — В, второе — как В - А, и они единственны. Таким образом, элементы, принад- лежащие как множеству А, так и множеству В, можно представить единственным образом суммой трех мно- жеств: (А - В) о (А п В) о (В - А). С другой стороны, по аксиоме Z3, эта сумма равна объединению А и В: (А - В) и (А п В) о (В - А) = А о В. Из определения разности и пересечения множеств имеем: (А - В) n (А п В) = 0, (А - В) п (В - А) = 0, (А п В) п (В - А) = 0. На основании свойства коммутативности суммы мно- жеств получим, что А и В = (А - В) и (А п В) и (В - А) = = (А - В) о (В - А) о (А п В) = (А Д В) и (А п В). Заметим еще, что для любых двух непересекающихся множеств их сумма равна симметрической разности. Следовательно, 14
А и В = (А А В) о ( А п В) = (А А В) А (А п В). Теорема доказана. Структура суммы множеств А и В показана на рис. 1.3. Из теоремы 1.3 следует, что операция суммы множеств может быть единственным образом выражена через опера- ции симметрической разности и пересечения. Аналогично доказывается (проверьте это!) что, А-В=АА(АпВ). (1.8) Из соотношений (1.7) и (1.8) видно, что все ранее вве- денные операции можно истолковать в терминах опера- ции пересечения и симметрической разности. Такой подход получил фундаментальное применение в различных областях математики: теории интегрирова- ния, общей теории меры, теории вероятностей и других. Основанием для его развития явилось понятие кольца множеств. Непустая система множеств С называется кольцом множеств, если она замкнута относительно операций пересечения и симметрической разности: если А, В е С, то А А В G С; если А, В G С, то А п В 6 С. Ясно, что кольцо множеств ассоциативно, коммута- тивно и его нулем служит пустое множество. В кольце может существовать единица. Под единицей по- нимают такое множество Е, что A n Е = А для любого A g С. В частности, пусть D G С — множество, содержащее все другие элементы системы С, кроме самого себя, и не содержащее никаких других множеств. Тогда A n D = А для любого А е С и, следовательно, D = Е. 15
Для кольца с единицей введено понятие алгебры мно- жеств. Алгебраические вычисления в кольцах выполняются по правилам, аналогичным обычным арифметическим. При этом роль «суммы» играет операция Д, а роль «про- изведения» — операция п. В заключение параграфа отметим следующее. Рас- смотренные выше операции объединения, пересечения, разности и симметрической разности множеств, получен- ные исключительно на основе понятия принадлежности элемента множеству и аксиом Zl, Z2 и Z3, составляют основной арсенал операций теории множеств. Вполне естественно возникает вопрос о более подробном иссле- довании их свойств. Такие исследования можно выпол- нять на языке теории множеств, привлекая введенные понятия и аксиомы. Однако было замечено, что многие рассуждения в процессе расширения исследований ста- новятся все более громоздкими и малопонятными, если не ввести соответствующего логического символизма. Та- кой символизм в настоящее время построен средствами алгебры логики. Основания алгебры логики рассматри- ваются нами во второй главе. Можно рекомендовать пред- варительно изучить ее, если возникнет необходимость в более детальном исследовании свойств операций на мно- жествах. В последующих разделах мы перейдем к рас- смотрению вопросов, связанных непосредственно с по- строением множеств и изучением аксиом Z-системы. 1.2. Декартовы произведения, отношения и отношение эквивалентности Пусть X и У — произвольные множества. На основа- нии аксиомы пары составим множество XxY всех упоря- доченных пар (х, у), где х G X, у G У. Поскольку существует не более одного множества, содер- жащего в качестве элементов все пары (х, у), и только та- кие пары, то множество XxY определено ими однозначно: XxY = {(х, у)-, х G X, у G У}. (1.9) Определенное в (1.9) множество именуется декарто- вым произведением множеств X и У. В частности, не исключается случай, когда для каж- дого элемента множества X найдется равный ему эле- 16
мент множества Y и обратно. В таком случае декартово произведение именуется декартовым квадратом и обо- значается X2. Удобно употреблять для декартовых произведений геометрический язык. Элементы множества ХхУ назы- вают точками, множества X и У — осями координат, элементы х — абсциссами, а элементы у — ординатами. Пусть, например, X = {1, 2, 3} и Y = {1, 2}. Соответ- ствующее декартово произведение ХхУ = {(1,1), (1, 2), (2,1), (2, 2), (3,1), <3, 2)}. Это множество можно интерпретировать графическим построением (рис. 1.4). Если задана система п множеств: Хр Х2,..., Хп, то де- картовым произведением X хХ2,...,хХ множеств назы- вается множество всех упорядоченных n-ок, составлен- ных из элементов этих множеств: Х^^хХ = {(хр х2,..„ х„): х,е Хр х2е Х2,... хпе Ха}. Далее мы ограничимся рассмотрением, как правило, декартовых произведений пары множеств. Отношениями называются любые непустые подмно- жества декартовых произведений. Пусть R — отношение, т. е. й С XxY. Вместо (х, у) G R чаще пишут xRy, что означает: «х находится в отноше- нии R к у» или «отношение R имеет место между х и у». Отношение {(х, у): yRx} называется обратным к R и обо- значается R:. Рассмотрим примеры отношений. Определим на множестве всех точек рис. 1.4 отноше- ние R например следующим образом: R = {(1,1), (3, 2)}. (1.10) Этому отношению можно придавать самый различный смысл. Например, объявить элементы множества R как 17
концы некоторой дуги. В этом случае xRy означает: «эле- менты х и у находятся в отношении друг к другу как координаты одного из концов некоторой кривой». Можно, например, объявить, что множество точек, определенных отношением R, и только они, окрашены в красный цвет. Тогда запись xRy означает: «гиг/ — координаты красной точки». Остальные точки в нашем примере будут выделены отношением ^={<1, 2), (2, 1), (2, 2), <3, 1)}, которое соответственно означает: «множество координат всех тех точек, которые не являются красными». В отношения могут вступать объекты любой природы. Например, значениями множества X можно закодировать названия книжных издательств, а элементами множества Y — всех фирм некоторого региона, который занимается реализацией этих книг. Тогда отношению (1.10) можно придать смысл множества заключенных договоров между издательствами и торгующими фирмами. Введем новые определения. Левой областью Dt отношения R называют множество всех первых элементов пар, принадлежащих R, правой обла- стью Dr — множество всех вторых элементов этих же пар. На геометрическом языке D{ — проекция отношения R на множество X, a Dr — проекция отношения R на мно- жество Y. Сумму о Dr называют полем отношения R и обо- значают F(R). Элементы левой и правой области отношения R, име- ющие одинаковые значения, рассматриваются как при- надлежащие обеим областям. Поэтому, в частности, для декартового квадрата Хг имеем поле F(R) = X. Важным и очень часто встречающимся типом отно- шения является отношение эквивалентности. Отношением эквивалентности называется всякое от- ношение R, которое удовлетворяет трем условиям: рефлексивности- xRx, симметричности: если xRy, то и yRx, транзитивности: если xRy и yRz, то и xRz для любых (х, у) G R. Пусть X — любое множество, представленное в виде семейства А непустых, непересекающихся подмножеств 18
X.,X„,...X сХ и таких, чтоХ, UX..U...UX = X. Такое 1 i п 7 1 2 п семейство А = {Хр Х2, ... X} называется разбиением мно- жества X. Например, если X — {1, 2, 3, 4, 5, 6}, то в качестве разбиения X можно принять семейство подмножеств А = { X,, Х2, Х3}, где Xt = {1, 2}, Х2 = {3, 4}, а Х3 = {5, 6}. Каждое их этих подмножеств не пусто, но пусто любое их попарное пересечение. Сумма же этих множеств со- ставляет все X. Теорема 1.4. Если А = { Х1,Х2,..., XJ — разбиение множества X, то отношение R =u. , R,, (1.11) где RAi = {(х, у}: х, у G X.}, есть отношение эквивалент- ности с полем X. Доказательство. Построив декартовы квадраты на ка- ждом из подмножеств X, получим всевозможные пары элементов (х, у) Е X.2. Отсюда — выполнение условий рефлексивности, симметричности и транзитивности для любой пары элементов из отношения эквивалентности RAi = К*. У>= *> У е X,}. Действительно, рефлексивность (xRA.x) имеет место, поскольку пара (х, х) Е X2; симметричность определяет- ся тем, что если (х, у) g X2, то и (у, х) g X.2; транзитив- ность также выполняется, поскольку если (х, у) g X.2 и (у, z) Е X2, то и (х, z) 6 X2 для любых X, у, Z G X2. Таким образом, RA. есть отношение эквивалентности с полем Х и й, = и. , R... Теорема 1.4 каждому разбиению множества X ставит в соответствие некоторое отношение эквивалентности. Докажем обратное утверждение. Теорема 1.5. Для каждого отношения эквивалентнос- ти R с непустым полем X существует такое разбиение А множества X, что R = R,. Доказательство. Пусть на X определено отношение эквивалентности R. Зафиксируем некоторый элемент х g X и построим множество X. всех тех элементов у, для которых выполнено x.Ry. Аналогично для некоторого другого элемента х. по- строим множество X. Покажем, что множества X. и X. либо не пересекают- ся, либо совпадают. 19
Пусть некоторый элемент х принадлежит как X. так и X.. Тогда по построению X. имеем x.Rx, а по построе- нию X. имеем xRx. Благодаря симметричности отноше- ния R будет выполнено xRx}, а вследствие транзитивно- сти — x Rx. I J Пусть теперь с — произвольный элемент из Х(. Тогда cRx? а поскольку по доказанному выше x.Rx., то cRx. и С G X.. Аналогично доказывается, что всякий элемент х G X. принадлежит X.. Таким образом, если Х( и X. имеют хотя бы один общий элемент, то они совпадают. В противном случае X. п X. пусто. Отсюда следует, что R определяет некоторое разбие- ние А множества X, т. е. R = RA, что и требовалось дока- зать. Геометрический смысл этой теоремы состоит в следу- ющем. Из примеров построения отношений на декарто- вом произведении видно, что одни и те же отношения (подмножества декартового квадрата) можно вводить различными способами. Так же обстоит дело и с отноше- ниями эквивалентности. Теорема 1.5 утверждает, что каким бы способом ни было введено отношение эквива- лентности R с непустым полем X, оно определяет неко- торое разбиение А множества X и, вследствие этого, мо- жет быть представлено в виде (1.11), т. е. как RA. При этом то обстоятельство, что RA введено лишь на основа- нии принадлежности элементов множеству и аксиом Z1,...,Z3, представляет существенную теоретическую цен- ность. Мы можем допустить широту различных способов построения отношения эквивалентности R, пользуясь лишь своей интуицией. Гарантом непротиворечивости такого построения аксиомам теории множеств, согласно теореме 1.5, является выполнение условий рефлексивнос- ти, симметричности и транзитивности. Их выполнение обеспечивает также и автоматическое выполнение R = RA. Если R — Ra, то множества, принадлежащие семей- ству А, называются классами эквивалентности. По- скольку классы, как множества разбиения, не пересека- ются, каждый из них полностью определяется любым из элементов, принадлежащих данному классу. При этом 20
все другие элементы могут быть получены на основе удов- летворения их свойствам рефлексивности, симметрично- сти и транзитивности по отношению к выбранному эле- менту — представителю класса. Класс эквивалентности, содержащий как представи- тель класса элемент х, обозначают х / R, а само семей- ство классов эквивалентности А — как X / R. Это семей- ство называется фактором множества X, или фактор- множеством X, по отношению к R. При построении классов теорема 1.5 может оказать- ся более полезной в следующей формулировке. Пусть на декартовом квадрате X2 определено отноше- ние эквивалентности R, = и , R., А 1= l,n Ai7 где А = {XVX2,..., — разбиение множества X. Если некоторая пара (х, у) e RA, то найдется такое натуральное k < п, что (х, у) е R при i = k и (х, у) g R при i Ф k . Согласно формулировке, любая пара элементов, нахо- дящихся в отношении RA, может принадлежать одному и только одному из классов этого отношения. Рассмотрим некоторые примеры отношений эквива- лентности. Предположим, что X представляет множество зака- занных библиотекой книг, которые получены ею в тече- ние календарного года из различных организаций. Вве- дем отношение эквивалентности R следующим образом. Скажем, что книги xt и х2 эквивалентны, если они име- ют один и тот же тип. Будем считать, что определено следующее множество типов: учебные, научные, науч- но-популярные и технические издания. Рефлексивность, симметричность и транзитивность здесь очевидны. Дан- ное отношение разбивает все множество полученных биб- лиотекой за год книг на классы эквивалентных элемен- тов. Этих классов столько же, сколько и типов: в данном случае — четыре. Полем R является все множество X. Фактор-множество определится так: X / R = {Xv Х2, Х3, Х4}, где Хг — все учебные издания, Х? — все научные изда- ния, Х3 — все научно-популярные издания, Х4 — все технические издания. 21
Пусть X = {хр х2,..., хп} представляет множество фирм, выпускающих продукты производственной деятельно- сти. Каждая из них выпускает различные продукты: Р = {Рр Р2> — ’Рп}- Построим декартово произведение ХхР. Элементы этого декартового произведения условимся обозначать х.-р: (р. — продукт фирмы х_). Определим на ХхР отношение эквивалентности. Скажем, что элемен- ты х.р и хк-р[ эквивалентны, если выпускается один и тот же продукт: (р. = р). Рефлексивность, транзитивность и симметричность здесь очевидны. Классов столько, сколько различных продуктов выпускается всеми фир- мами. Их совокупность представляет фактор-множество ХхР / R. Если выйти за рамки нашей задачи, каждый класс эквивалентности может представлять интерес с точки зрения анализа цен и качества изготовляемой про- дукции. Полем отношения R является все ХхР. Рассмотрим еще пример, когда полем отношения эк- вивалентности является не все X, а подмножество X. Пусть X = {1, 2, ..., 10}. Определим отношение эквива- лентности. Скажем, что хг и х2 эквивалентны, если xt mod 2 = х2 mod 2 = 0. (Выражение a mod b означает: «остаток от деления а на Ь».) Проверим выполнение усло- вий рефлексивности, симметричности и транзитивности. Рефлексивность выполняется, ибо xr mod 2 = x2mod 2 = 0 для любых четных и только четных х} = х2 е X. Симметричность также выполняется, так как если Xj mod 2 = х2 mod 2 = 0, то и х2 mod 2 = xt mod 2 = 0 для любых четных и только четных xt = х2 е X. Аналогично проверяется выполнение транзитивнос- ти, когда любые хр х2 е X четны и только четны. Следовательно, введенное отношение R есть отноше- ние эквивалентности. Полем F(R) этого отношения явля- ется множество четных чисел, принадлежащих X. данного примера это поле представляет единственный класс — четные числа множества X. Подмножество не- четных чисел множества X никаким классом четных чисел являться не может. Оно представляет всего лишь дополнение F(R) до всего X. Рассмотрим пример отношения, которое не является отношением эквивалентности. Пусть на декартовом квад- рате введено отношение х < у. Такое отношение не мо- 22
жет являться отношением эквивалентности хотя бы по одной из следующих причин. Рефлексивность не выпол- няется, поскольку х не может быть меньше самого себя. Симметричность также не имеет места: если х < у, то у никак не может быть меньше х. Легко видеть, что отно- шение х < у транзитивно, но, как следует из определения отношения эквивалентности, лишь этого недостаточно. 1.3. Понятия образа, прообраза, функции и отображения на конечном множестве. Аксиома выделения Рассмотрим декартово произведение множеств А и В. Пусть на АхВ определено некоторое отношение R. Пусть также D; и Dr — левая и правая части этого отношения. Определим некоторое подмножество X с. Dt и построим подмножество Y с Dr как множество всех тех вторых элементов пар (х, у) е R, для которых х е X. Множество Y называют образом множества X при отношении R. Для образа применяют специальное обозначение: ДДХ). В нашей постановке Rl(X) = У. Пусть У с Dr. Определим подмножество Xе е Л( как множество всех тех первых элементов пар (х, у) е R, для которых у е У. Множество Xе называют прообразом мно- жества У при отношении R. Прообраз обозначают симво- лами R~l(Y). На рис. 1.5 представлено отношение R, отмеченное символом «х», на декартовом произведении множеств А = {1, 2, 3, 4, 5} и В = {1, 2, 3, 4}. Полагая, например, X = {2, 3} с: А, получим Rl(X) = = {3, 4} = У. С другой стороны, полагая У = {3, 4}, полу- 23
чим Xе = R~4Y) = {1, 2, 3, 4}. Из этого примера видно, что X, в общем случае, не равно Xе, т. е. X. Отношение R с ХхУ называется функцией, если для любых х е X и уг, у2& Y таких, что (х, yj е R и (х, у2) е R, следует, что уг = у2. Из этого определения, в частности, вытекает, что от- ношение R, представленное на рис.1.5, функцией не яв- ляется. Примером функции на том же декартовом произ- ведении является отношение R, представленное на рис.1.6. 1 2 3 4 5 Рис. 1.6 Функции обычно обозначают малыми латинскими буквами f, g, h ... . Левая Dt(f) и правая Dr(f) области отношения f называются соответственно областью опре- деления и областью значений функции f. На рис. 1.6 областью определения отношения f являет- ся множество Dt(f) = {1, 2, 3, 4}, а областью значений — множество Dr(f) = {2, 3, 4}. Применяется и другая терминология. Если Dt(f) = X, a Dr(f) с У, то f называют отображением множества X в множество У. Если же Dr(f) = У, то f называют отобра- жением множества X на множество У или сюръекцией. Если Dff) = X, то говорят, что f определена на X. Множество всех отображений из X в У обозначают сим- волами Ух. Утверждение f е Ух принято записывать так- же в виде F'.X—>У. Из определения функции вытекает, что существует не более одного элемента у е У, такого, что xfy, т. е. элемент у определяется функцией однозначно. Его назы- вают значением функции f для аргумента х и обознача- ют /(х). Пусть D[f) — область определения и Dr(f) — область значений функции f. Если для любых двух различных 24
х, и x2 значения функции ftxj и f(x2) также различны, то такая функция называется инъективной. Функция f называется биективной или взаимно-одно- значной функцией, если она сюръективна и инъективна. Для взаимно-однозначных функций имеет место сле- дующая теорема. Теорема 1.6. Если функции f vig взаимно-однозначны, то функция f(g(x)) также взаимно-однозначна. Доказательство. Действительно, если f(g(x)) = f(g(x'J), то g(x) = g(x') и, соответственно, если g(x) = g(x'), то х = х', что и требовалось доказать. Поясним введенные определения геометрическими построениями. На рис. 1.7 представлена функция f об- щего вида. Ее значения отмечены символом х. Из ри- сунка видно, что областью ее определения является мно- жество X = {1, 2, 3, 4, 5}, а областью значений — множе- ство У = {2, 3, 4}. В'1 Рис. 1.7 Пример сюръективной, но не инъективной функции, представлен на рис. 1.8. Эта функция инъективной не является, поскольку элементы 3 и 5 множества X при- нимают одни и те же значения на множестве У. В‘ -I"- 1111---------------► 1 2 3 4 5 А Рис. 1.8 25
Очевидно, что биекцию можно построить только на де- картовом квадрате. Функция f, изображенная на рис. 1.9, является примером такого (и далеко не единственного) по- строения. Заметим, что любая биекция позволяет считать мно- жества X — области определения и У — области значений равными по числу элементов: для каждого значения аргу- мента имеем единственное значение функции и обратно. Эта точка зрения будет значительно шире представлена в после- дующих параграфах при изучении бесконечных множеств. В заключение этого параграфа отметим, что понятие функции позволяет заменить аксиому пары более общей аксиомой — аксиомой выделения (Z5). Аксиома выделения (Z5). Пусть X — произвольное множество, х е. X и Ф(х) — функция со значениями на множестве {0, 1}. Тогда существует множество Z, для ко- торого х е Z тогда и только тогда, когда х е X и Ф(х) = 1. Функции, которые могут принимать любое одно из двух значений {0, 1}, называются бинарными. В алгебре логики бинарные функции рассматриваются как выска- зывателъные функции, или предикаты. В таком случае их значения интерпретируются соответственно как «ложь» или «истина». Рассмотрим пример построения множества на основа- нии аксиомы выделения. Пусть ХхУ — декартово произведение 4x4 элементов и (х, у) е ХхУ. Определим Ф((з), (z = (х, у)) следующим образом. Скажем, что (1, если х = у, О в противном случае. 26
Перебирая все элементы декартового квадрата, полу- чим множество Z как подмножество ХхУ, определяющее единичное значение высказывательной функции Ф(г). В нашем примере получим Z = {(1, 1), (2, 2), (3, 3), (4, 4)}. Оно представляет линейную биекцию из X на Y. Итак, аксиома выделения дает метод построения мно- жеств. В частности, становится ясно, что аксиома пары есть весьма частный случай аксиомы выделения. Однако между ними столь велико число логических построений, что применение аксиомы пары в системе аксиом теории множеств методологически вполне оправдано. 1.4. Аксиомы степени и бесконечности. Мощности и кардинальные числа множеств Аксиома степени (Z4). Для любого множества X су- ществует множество всех его подмножеств Р(Х). Принимая этот факт как очевидный, тем не менее интересно проанализировать структуру Р(Х). Множество называется конечным, если число его эле- ментов можно выразить каким-либо натуральным числом. Для конечных множеств имеет место следующая теорема. Теорема 1.7. Пусть X = {хр х2,..., хп} — множество, содержащее п элементов. Тогда множество всех под- множеств множества X биективно множеству всех бинар- ных функций, определенных на X, число которых 2". Доказательство. Ясно, что ни одно из подмножеств X не может содержать больше элементов, чем X. Поста- вим в биективное соответствие каждому из подмножеств ZcX бинарную функцию у2,..., уп), элементы кото- рой определим следующим образом: (1, если х.е Z, О в противном случае. Поскольку наше построение включает все подмноже- ства от 0 до X, то в результате получим последователь- ность всех бинарных функций со значениями от (0, 0,..., 0) до (1, 1, ..., 1). Каждой такой функции поставим во вза- имно-однозначное соответствие двоичное число от 0 до 11...1 = 2n — 1, где в равенстве слева имеем п единиц. Следовательно, число всех бинарных функций будет 2", что и требовалось доказать. 27
Пусть, например, А = {1, 2, 3}. Тогда элементами мно- жества всех подмножеств А будут: { { }, 1, 2, 3, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} }. В соответствии с этим построением имеем множество бинарных функций: ООО, 100, 010, 001, 110, 101, 011, 111. Отдавая дань заключению теоремы 1.7, множество всех подмножеств Р(Х) конечного множества X обозначают 2х. Представляет несомненный интерес расширение тео- ремы 1.7 для множеств, содержащих бесконечное число элементов. Однако для этого необходимо вначале допус- тить само существование таких множеств. Ни одна из введенных ранее аксиом не утверждала, хотя и не отри- цала этого. Поэтому до сих пор не ясно, можно ли рас- сматривать как множество всю непрерывную прямую, всю плоскость, тело и т. д. Очевидным представляется только следующий факт. Аксиома бесконечности (Z6). Существует, по крайней мере, одно бесконечное множество — натуральный ряд чисел. На основании этого можно приступить к построению множеств более сложной структуры: прямой, плоскости и т. д. Естественно, при этом возникает вопрос: как срав- нивать эти множества по числу элементов? В частности, формально пытаясь на основании аксио- мы степени расширить теорему 1.7 на множество всех подмножеств натурального ряда, получим, что число эле- ментов множества всех подмножеств натурального ряда lim 2" = оо. п— Ясно, что этот тривиальный результат ничего не дает в сравнении множеств: исходного и полученного. Нужны более тонкие оценки структуры бесконечных множеств. Известные оценки базируются на понятиях мощности и эквивалентности множеств. Мощностью конечного множества называется число всех элементов данного множества. Мощность произволь- ного конечного множества X обозначается | X |. Скажем, что два множества X и У из семейства А (ко- нечных или бесконечных) эквивалентны, если существу- ет биекция f: X—>Y. Это отношение рефлексивно, симметрично и транзи- тивно. Действительно, рефлексивность вытекает из суще- 28
ствования тождественной функции /: X —> X, в случае Y = X. Симметричность следует из существования обрат- ной функции для любой биекции f: из f: X —> У следует, что Л1: Y —> X. Транзитивность определяется свойством суперпозиции биективных функций (теорема 1.6). Следовательно, данное отношение разбивает все мно- жества семейства А на классы эквивалентных элемен- тов. Рассмотрим, в чем смысл этого отношения. Для взаимно-однозначных функций имеет место сле- дующая теорема. Теорема 1.8. Если функция / взаимно однозначно ото- бражает конечное множество У на У, то условия | X | = п и IУI =п эквивалентны. Доказательство. Если {хД — последовательность с п попарно различными членами и множеством значений X, то благодаря биективности функции f имеем {ДхД} — последовательность с п попарно различными членами и множеством значений У, что и требовалось доказать. Таким образом, мощность — это то общее, что есть у различных конечных эквивалентных множеств. Принципиально ничего противоречащего этому не об- наруживается и в случае бесконечного числа элементов у эквивалентных множеств. Для того чтобы определять мощности бесконечных множеств, введено понятие кардинальных чисел. Кардинальным числом называется символ, определя- ющий количество элементов бесконечного множества. Кардинальное число натурального ряда условились обозначать символом Хо (читается — алеф нуль). Пусть для некоторого конечного множества X имеем |Х| = п. Тогда, естественно, допустимо сравнение п < Хо. Обозначим К — кардинальное число множества всех подмножеств натурального ряда. Расширяя теорему 1.7 на натуральный ряд, получим, что К = 2ко. Возникает вопрос: X = Хо или X > Хо? Если X > Хо, то мощность натурального ряда меньше, чем мощность мно- жества всех его подмножеств, и мы, во-первых, имеем способ построения более мощных множеств, переходя от X к Р(Х), а во-вторых, создаются предпосылки построе- ния шкалы мощностей, в том числе бесконечных мно- жеств. Решение этих вопросов рассматривается ниже. 29
1.5. Счетные и континуальные множества Вначале сравним мощности некоторых известных мно- жеств. Пусть имеем множество всех положительных це- лых четных чисел {2, 4, 6, ...}. Для того чтобы устано- вить биекцию между этим множеством и натуральным рядом, занумеруем элементы множества четных чисел по следующей схеме: 2, 4, 6, 8, ... 1, 2, 3, 4, ... Биекция устанавливается соотношением k = 2п, где k — значение элемента множества четных чисел, ап — значение элемента натурального ряда. Мы видим, что мощности этих множеств равны, не- смотря на то что положительные четные числа составля- ют подмножество натурального ряда. Попытаемся установить биекцию между натуральны- ми и целыми числами. Для этого перепишем ряд целых чисел в следующем виде: О, -1, 1, -2, 2, ... Очевидно, что каждому члену этого ряда можно поста- вить во взаимно-однозначное соответствие натуральное число по схеме: О, -1, 1, -2, 2, ... 1, 2, 3, 4, 5, ... Таким образом устанавливается эквивалентность меж- ду целыми и натуральными числами. Покажем далее, что мощность множества всех раци- ональных чисел также равна Ко Известно, что всякое рациональное число q можно представить в виде несократимой дроби: q = т / п, где т, п — целые числа. Назовем сумму |т| + п высотой рационального числа q. Например, высоту 1 имеют толь- ко число 0 = 0/ 1. Высоту 2 имеют только числа 1 / 1 и -1 / 1. Высоту 3 имеют 2 / 1, 1 / 2, —2 / 1 и -1 / 2. Ясно, что число чисел данной высоты конечно. Поэтому мож- но занумеровать все рациональные числа по возраста- нию высоты так, что и в пределах одной высоты каждое получит свой номер, например также по возрастанию. Тем самым устанавливается биекция между всеми раци- ональными и всеми натуральными числами. Можно привести много других примеров эквивалент- ности множеств. 30
В частности, множество всех многочленов от одной переменной с целыми или рациональными коэффициента- ми биективно натуральному ряду. Множество всех алгебраических чисел, т. е. корней многочленов с целыми коэффициентами, — также. Вообще будем говорить, что множество счетно, если оно биективно сопоставлено натуральному ряду. Докажем наиболее важные свойства счетных множеств. Свойство 1. Всякое подмножество счетного множества конечно либо счетно. Пусть А — счетное множество, а В — его подмноже- ство. Занумеруем элементы А следующим образом: a , а2, ..., ал, ... . Очевидно, если В с А, то для каждого элемента Ьг, Ь2, ..., Ьп найдутся элементы из А. Если при этом п — конечно, то и мощность В также конечна. Ина- че — мощность В равна Ко. Свойство 2. Сумма конечного или счетного множества счетных множеств счетна. Пусть Аг, А2, ... — счетные множества. Все элементы Л2, ... можно записать в виде следующей бесконечной таблицы: ail «12 «13 «и “ а21 «22 а23 а24 •" «31 а32 a33 а34 "• «41 «42 а43 «44 - где в i-ой строке стоят все элементы множества А.. Занумеруем эти элементы по диагоналям. При этом элементы, которые принадлежат одновременно несколь- ким множествам, будем нумеровать только один раз: 31
Тогда каждый элемент суммы получит свой номер. Тем самым устанавливается взаимно-однозначное соответ- ствие между натуральным рядом и суммой конечного или счетного числа множеств. Свойство 3. Всякое бесконечное множество содержит счетное подмножество. Пусть А — бесконечное множество. Тогда в нем найдет- ся элемент at. Далее выбираем элемент а2, отличный от ар и т. д. Этот процесс не может закончиться из-за нехватки элементов за конечное число шагов, поскольку А — беско- нечно. Таким образом, получаем В = {at, а.,, ... } с А. Существуют ли несчетные множества? Теорема 1.9. Множество действительных чисел, за- ключенных между нулем и единицей, несчетно. Доказательство. Предположим, что получено счет- ное множество всех действительных чисел, заключенных на отрезке [0, 1]. Каждую десятичную цифру такого чис- ла обозначим а., где i — номер числа, a j — номер разря- да этого же числа: ai = O, auaJ2a13...aln... fl2 — ®21 tt22 ®23’" а2п"’ а = 0, а , а , а .... а ... п ’ л1 п2 пЗ пп Построим действительное число Ь по следующему пра- вилу. Сначала запишем нуль и запятую. Затем возьмем число, получившее первый номер, и рассмотрим его пер- вый десятичный знак. Если au = 1, то положим Р( = 2. В противном случае положим Р = 1. Аналогично вычис- лим Р2, рассматривая а22 числа а2. Таким образом, пере- берем все числа. В результате будет получено число Ь, которое не рав- но ни одному из чисел а. Оно отличается от первого чис- ла хотя бы в первом знаке, от второго — во втором и т. д. Следовательно, наше предположение о том, что множе- ство чисел на отрезке [0, 1] счетно, неверно. Доказательство этой теоремы основано на диагональ- ной процедуре Кантора, которая описана выше. Мощность множества точек на отрезке [0, 1] обознача- ется С и именуется — континуум. Далее мы можем рас- смотреть множество точек на полупрямой. Легко видеть, 32
что мощность этого множества также равна С, посколь- ку имеет место биекция : -ln[O, 1] = [0, о°]. Таким образом, приходим к выводу о том, что отре- зок [0, 1] и полупрямая эквивалентны. Далее с помощью той же функции устанавливаем биекцию между полу- прямой и прямой. Несколько сложнее дело обстоит с квадратом. Известно доказательство того факта, что множества точек, принад- лежащих квадрату и стороне квадрата, равномощны. Идея доказательства принадлежит Кантору и состоит в сле- дующем. Пусть точка А(х, у) принадлежит квадрату со стороной [0, 1]. Представим х и у в виде: х = 0, х1х2х3..., у = 0, У1 у2 у3, а затем каждой такой точке поставим в соответствие действительное число а = Xii/i х2у2х3у3... Ясно, что разным точкам квадрата соответствуют и разные действительные числа. Кантор показал, что об- ратное соответствие также имеет место. Эта идея Кантора дает ключ к доказательству несчет- ности множества точек, принадлежащих кубу и любому другому n-мерному телу, когда п — конечно. Обобщим теорему 1.7 на бесконечные множества. Теорема 1.10. Мощность множества всех подмножеств натурального ряда равна мощности континуума: К = С . Доказательство. Построим биективное соответствие между множеством всех подмножеств натурального ряда и всеми вещественными числами на полуинтервале [0, 1). Для этого рассмотрим некоторое произвольное действи- тельное число 0 < а< 1. В двоичной системе счисления оно может быть представлено следующим образом: а = Q,ClC2...Cn..., (1.12) где Сг С2...Сп... — двоичные цифры представления числа а. В частности, минимальному числу 0 — ставится в соот- ветствие значение а = 0, 0 0...0..., а максимальному 1 — ставится в соответствие значение а = 0, 1 1...1... . Все остальные числа занимают промежуточные значения. Для построения нашего соответствия разобьем мно- жество всех подмножеств натурального ряда на два клас- са: класс А, для которого дополнение конечно, и класс В, для которого дополнение бесконечно. Очевидно, что класс А представляет счетное множество. Поставим всем подмно- 2. Дискретная математика 33
жествам Р класса В в соответствие множество всех ве- щественных чисел на полуинтервале [0, 1). При этом будем учитывать то обстоятельство, что всякое рацио- нальное число имеет в двоичной системе бинарное пред- ставление: с бесконечным числом нулей и бесконечным числом единиц. Поэтому при построении биекции, с целью устранения возможной неоднозначности, одно из таких представлений необходимо отбросить. Сопоставим с каждым подмножеством р вещественное число а так, что если п е р с В, то соответствующая цифра Сп в двоичном разложении (1.12) равна единице. В противном случае положим С = 0. Покажем, что та- кое соответствие биективно. Действительно, класс В можно представить объедине- нием двух непересекающихся подмножеств: первое из них биективно множеству всех рациональных чисел с бесконечным числом нулей после последней значащей единицы, второе — множеству всех рациональных чи- сел, представляемых бесконечными периодическими последовательностями с периодом повторения более еди- ницы, и всех иррациональных чисел. При этом представ- ление чисел с бесконечным числом единиц отбрасывает- ся, иначе бы множество В имело конечное дополнение. Поскольку объединение всех рациональных и иррацио- нальных чисел представляет все множество R, то отсюда и вытекает биекция установленного соответствия. Согласно ранее доказанному, мощность множества всех действительных чисел на отрезке [0, 1] равна мощности континуума. Следовательно, эту же мощность имеет и класс В натурального ряда. Таким образом, мощность всех подмножеств натурального ряда равна мощности множества А и В. Поскольку А всего лишь счетно, то мощность A и В равна мощности континуума: К = С . Теорема доказана. Из этой теоремы следует, что Ко< К, поскольку мощность любого счетного множества необходимо мень- ше, чем любого несчетного. 34
1.6. Ординалы и трансфиниты. Аксиома выбора и континуум-гипотеза В математике счетные множества применяются не только для того, чтобы ответить на вопрос «сколько?», но и на вопрос «какой по порядку?». Для того чтобы изучать порядок расположения элементов в множествах, вводится понятие упорядоченного множества. Различа- ют частично упорядоченные, линейно упорядоченные и вполне упорядоченные множества. Пусть X — произвольное множество. Отношение R, построенное на декартовом квадрате X2 называют час- тичной упорядоченностью, если оно удовлетворяет ус- ловиям: рефлексивности: aRa, транзитивности: если aRb и bRc, то aRc, антисимметричности: если aRb и bRa, то а = Ь. Частичную упорядоченность принято обозначать сим- волом <. Запись а < b означает, что (a, b) е R. При этом элементами а и Ь могут служить объекты любой приро- ды: числа, геометрические фигуры, слова и т. д. Смысл символа < во всех случаях таков: «предшествует или рав- но». Например, «хр> < «х2», если хА и х2 — это фамилии студентов в групповом журнале. В случае, когда а Ф Ь, пользуются символом < и пи- шут а < Ь, что означает: «а строго подчинено Ь» или «а меньше Ь». Если задана частичная упорядоченность R на X2, то поле F(R) называется частично упорядоченным множеством. Построим пример частично упорядоченного множества. Пусть дано множество X = {1, 2, 3, 4}. Скажем, что хе X делит у е X, если найдется такое целое k, что kx = у. С помощью непосредственной проверки убеждаемся, что это отношение рефлексивно, транзитивно и антисиммет- рично. Соответствующий этому случаю декартов квад- рат представлен на рис. 1.10. На этом рисунке элемен- ты, удовлетворяющие отношению R, выделены жирным шрифтом. Полем этого отношения является всё X. Как видно из рис. 1.10, не все элементы х, у явля- ются попарно сравнимыми. Если на декартовом квадрате с отношением R имеются такие пары (х, у}, что (х, у} g R и (у, х) £ R, то говорят, что элементы х и у не сравнимы 35
по отношению к R. Так, в рассмотренном выше примере не сравнимыми являются элементы 2, 3 и 3, 4. Возмож- ность наличия несравнимых элементов и обусловливает понятие частично упорядоченного множества. <1,1> (1,2) (1,3) (1,4) (2,1) (2,2) (2,3) (2,4) (3,1) (3,2) (3,3) (3,4) (4,1) (4,2) (4,3) (4,4) Рис. 1.10 На одном и том же множестве можно вводить час- тичную упорядоченность различными способами. Напри- мер, определив на X естественный порядок х < у, как «х меньше или равно у», имеем частичную упорядочен- ность, но без несравнимых элементов. Если на частично упорядоченном множестве несрав- нимых элементов нет, то такое множество называется линейно упорядоченным или просто упорядоченным. Примерами упорядоченных множеств являются мно- жества натуральных, рациональных, целых, а также дей- ствительных чисел. Линейно упорядоченные множества различают в зави- симости от существования первого элемента. Например, упорядочивая натуральные и целые числа естественным порядком, видим, что у натурального ряда первый эле- мент имеется, а у множества целых чисел его нет. Элемент х упорядоченного множества X называют ми- нимальным (максимальным), если в X нет такого эле- мента у, что у < х (у > х). Упорядоченное множество называют вполне упорядо- ченным, если любое его непустое подмножество содер- жит минимальный элемент. Если упорядоченное множество конечно, то оно, оче- видно, и вполне упорядочено. Примером упорядоченно- го, но не вполне упорядоченного множества может слу- жить отрезок [0, 1]. Само это множество содержит мини- мальный элемент. Однако его подмножество, состоящее из положительных чисел, минимального элемента не со- держит. Пусть А — подмножество множества X, упорядочен- ного отношением <. Элемент х е X называется верхней 36
гранью множества А в том и только в том случае, когда для любого у е А либо у < х, либо у = х. Аналогично элемент х е X называется нижней гра- нью множества А в том и только в том случае, когда для любого у е А либо у > х, либо у = х. Таким образом, у множества А может существовать много различных верхних и нижних граней. Элемент х е X называется точной верхней гранью (supremum, или сокращенно sup) множества А тогда и только тогда, когда он является верхней гранью А и предшествует всем остальным верхним граням этого множества. Элемент х е X называется точной нижней гранью (infinum, или сокращенно inf) множества А тогда и только тогда, когда он является нижней гранью А и ему пред- шествуют все остальные нижние грани этого множества. Говорят, что два упорядоченных множества А и В имеют один и тот же порядковый тип или ординал, если между ними можно установить взаимно-однозначное со- ответствие, сохраняющее порядок элементов. Например, любые два отрезка имеют один и тот же порядковый тип. Сохраняет также порядок и отображе- ние всей прямой на интервал. Отрезок же и прямая име- ют разные порядковые типы. Если между ними и можно установить биекцию, она обязательно нарушит порядок: у отрезка есть начало и конец, а у прямой их нет. Порядковые типы вполне упорядоченных множеств называют также порядковыми числами или — в случае бесконечных множеств — трансфинитами (от латин- ских слов trans — через и finitae — конечный). Порядковое число линейного упорядоченного конеч- ного множества однозначно определяется числом п его элементов и имеет то же обозначение. Трансфинит натурального ряда принято обозначать со. Теорема 1.11. Упорядоченная сумма вполне упорядо- ченных множеств Хг, Х2,..., Хп — вполне упорядоченное множество. Доказательство. Пусть X -— произвольное под- множество упорядоченной суммы вполне упорядоченных множеств Xv Х2,..., Хп. Рассмотрим первое из множеств X*, содержащее элементы из X. Пересечение X n Xk яв- ляется подмножеством вполне упорядоченного множе- 37
ства Хк и, следовательно, имеет первый элемент. Этот первый элемент будет и первым элементом X, что и тре- бовалось доказать. Из этой теоремы следует, что сумма порядковых чи- сел также является порядковым числом. Следующие примеры иллюстрируют возможность построения мно- жеств с одним и тем же кардинальным числом, но раз- личными порядковыми типами: 1, 2, ... , т, 1, 2, ..., п, ..., со имеет трансфинит т +со, 1, 2, ... , и, ..., со, 1, 2, ..., т имеет трансфинит со+ т, 1, 2, ... , п, ..., со, 1, 2, ..., п, ..., со имеет трансфинит 2со. Поступая аналогично, можно построить множества, упорядоченные по типам со2, со", 2“, со“ и т. д. Ясно, что если множества конечны, то их порядковые числа связаны отношением порядка. Аналогичная ситу- ация имеет место для вполне упорядоченных бесконеч- ных множеств. Это отношение устанавливается теоремой, которую мы приводим без доказательства. Теорема 1.12. Любые два порядковых числа соа и сор связаны между собой одним и только одним из соотно- шений: “а < “₽’ “а = ЛИб° “а > “₽• Поскольку каждому порядковому числу отвечает оп- ределенная мощность, то из сравнения порядковых чи- сел вытекает и сравнимость мощностей вполне упорядо- ченных множеств. Рассмотрим примеры. Трансфиниты всех счетных или конечных множеств образуют вполне упорядоченное множество. Его транс- финит обозначают С0р Убедимся в том, что множество всех счетных и конечных множеств несчетно. Действи- тельно, если обозначить — порядковое число всех счет- ных трансфинитов и предположить счетность числа всех трансфинитов, то cOj + 1 — счетно. Это противоречит на- шему предположению о том, что следует за всеми трансфинитными числами конечной или счетной мощ- ности. Обозначим Kj — мощность, отвечающую трасфиниту С0р и покажем, что не существует мощности т, для которой Х0<7П< Действительно, если бы такая мощность существовала, то в множестве всех трансфинитов, предшествующих С0р 38
имелось бы подмножество мощности тп. Это подмноже- ство вполне упорядочено и счетно. Но тогда его порядко- вый тип предшествовал бы Юр следуя за всеми счетными трансфинитами. В итоге имеем противоречие. Приведенные рассуждения показывают, что мощнос- ти любых вполне упорядоченных множеств сравнимы между собой. Возникает вопрос: существуют ли несравнимые мощ- ности множеств? Отрицательный ответ на этот вопрос строится на ос- новании аксиомы выбора. Аксиома выбора (Z7). Для каждого семейства А не- пустых непересекающихся множеств существует множе- ство В, имеющее один и только один общий элемент с каждым из множеств X е А. Таким образом, предполагается существование неко- торой функции выбора f, определяющей получение един- ственного общего элемента с каждым из множеств се- мейства А. На основании этой аксиомы доказана следующая теорема. Теорема 1.13 (Цермело). Всякое множество X может быть вполне упорядочено. Доказательство. Расположим элементы данного не- пустого множества в трансфинитную последовательность х2, ..., ха, ..., ... (Е, < Е) без повторений; ординал Е, являющийся длиной этой по- следовательности, будет определен в ходе ее построения. Для построения этой последовательности применим функцию выбора f(Y) е Y для каждого непустого Yc X. Положим хг = f(X), х2 = f(X - {xj), ..., хш = f(X - {xn: п е со}) и вообще х^ = f(X - {х^: ц < Е,}) для всех ординалов Е,. Такое построение применяем до тех пор, пока не по- лучим равенство {х^: г] < Е,} = X. Тогда ординал Е, возьмем в качестве Е. Поскольку для каждого множества ординалов суще- ствует ординал, превосходящий все ординалы, то ситуа- ция, когда все ординалы исчерпаны, а множество всех построенных элементов х^ не совпадает с X, исключает- ся. Этим доказательство теоремы Цермело завершается. Изложенное доказательство (1904 г.), а следователь- но, и аксиома выбора в свое время были опротестованы 39
(без теоретических доказательств в чисто интуитивном плане) частью математиков. Как главный повод для критики выдвигался неконструктивный характер дока- зательства теоремы Цермело. Эмиль Борель, например, заметил, что «построение, которое нельзя описать, рас- суждение, не могущее быть выполнено во всех его шагах до конца, все это находится вне науки». Действительно, теорема Цермело никакой конкретной функции выбора не предлагает даже в простейшем слу- чае — множества всех действительных чисел. Однако другие математики, например Адамар, ниче- го недопустимого в этом не находили и видели в аксиоме выбора лишь высокий уровень математической абстрак- ции. Такая ситуация сохраняется и в настоящее время. Одни математики принимают аксиому выбора, а другие — нет. Принимая аксиому выбора, возможно сравнивать мощ- ности любых бесконечных множеств. Проблема сравнения мощностей состоит в следующем. Для любой пары множеств X и У, имеющих мощности Кх и Ку соответственно, возможно одно и только одно из четырех соотношений: А. Элементы множества X можно поставить в биек- тивное соответствие с некоторой частью элементов множества У. Тогда Кх< Ку. В. Элементы множества У можно поставить в биек- тивное соответствие с некоторой частью элементов множества X. Тогда Ку < Кх. С. Элементы множества X можно поставить в биек- тивное соответствие с некоторой частью элементов множества У, а элементы множества У можно по- ставить в соответствие с некоторой частью элемен- тов множества X. В этом случае, как утверждает теорема Кантора—Бернштейна [3], Ку = Кх. D. Ни А, ни В не имеют места. В этом случае мощно- сти Кх и Ку не сравнимы. Из теоремы Цермело вытекает следствие о сравнении мощностей множеств. Следствие теоремы Цермело. Для любых двух мощ- ностей имеет место только одно из трех соотношений: К < К , К = К„или К < К„. -A. T I X I X 40
Доказательство. Множества X и У можно вполне упо- рядочить по теореме Цермело. Следовательно, соответ- ствующие ординалы этих множеств сравнимы. Но тогда, тем более, сравнимы и кардинальные числа. Таким образом, строится бесконечный, ряд алефов Ко, Кр к2,.„, Км, Ки+р... . При построении этого ряда возникает естественный вопрос: какой же их алефов соответствует мощности континуума К? Здесь существует всего лишь континуум-гипотеза, которая утверждает, что К = К . Как показывают исследования последних лет, на основании аксиомы выбора не удается доказать или оп- ровергнуть континуум-гипотезу. Возможно лишь, что К > Kj В заключение отметим, что множества и отношения на них является предметом изучения любой математи- ческой дисциплины. Исследования же дискретной мате- матики проводятся на множествах мощности < Ко. Из всего рассмотренного выше видно, что сюда относятся конечные либо счетные множества, изучению которых посвящены следующие разделы. Задачи 1.1. Пусть универсальное множество I = {1, 2, 3, 4, 5}. Выписать элементы множества М = (А - В) и (А П В), если А = {1, 3, 5}, В = {3, 4, 5}; А = {2, 4, 5}, В = {1, 4}; А = {1}, В = 0. 1.2. Пусть универсальное множество I состоит из целых чисел. Из каких элементов состоит множество М = Ап В, если А состоит из чисел вида 4п, а В — из чисел вида Зп, где п g N. 1.3. Пусть универсаль- ное множество I = {а, Ъ, с}. Выписать все подмноже- ства этого множества. 1.4. Множества А, В и С представляют собой об- ласти плоскости, изобра- женной на рис. 1.11. Рис. 1.11 41
Изобразить следующие множества: М = А и В; М = Ап В п С; М = (Л - В) - С; М = А - (В - С); М = А и (В n С). 1.5. В результате поиска в Интернете выданы адреса Web-страниц www.contl, www.cont2, www.cont3, www.stl, www.st2, www.st3,www.inf.ru,www.inf.au, содержащих комбинацию ключевых слов «electronic_libraries». Извест- но, что страницы с адресами www.contl, www.cont3, www.stl, www.st2,www.inf.au содержат информацию о книгах по техническим наукам, страницы www.stl, www.st2, www.st3,www.inf.ru,www.inf.au — сведения о периодичес- ких изданиях, адрес www.inf.au указывает на страницу, с информацией об электронных библиотеках Австралии. Найти множество всех адресов, указывающих на страни- цы, содержащие информацию о периодических изданиях по техническим наукам, исключая издания в Австралии. Дать теоретико-множественную интерпретацию задачи. 1.6. Сформулировать следующую задачу в терминах теории множеств. Имеется набор ключевых слов для поиска в Интернете информации, связанной с современными средствами элек- тронного документооборота. Из этих ключевых слов мож- но выделить слова, позволяющие найти Web-страницы, содержащие информацию о современных текстовых про- цессорах, современных средствах хранения документов, способах передачи электронных документов по каналам связи, и некоторые страницы со специфической инфор- мацией. Требуется выделить из всех ключевых слов та- кие, которые позволят находить страницы, не связан- ные с хранением и передачей документов, однако содер- жащие сведения о современных текстовых процессорах. 1.7. Выписать все элементы декартового произведе- ния множеств А и В, если А = {а, Ъ, с}, В = {1, 2}. 1.8. Найти правую и левую область отношения R = {(1, 5}, (1, 6), (1, 7)}. 1.9. Отношение R = {(1, 1), (2, 2), (3, 3), (1, 2), (2, 1)} определено на декартовом квадрате множества А = {1, 2, 3}. Доказать, что R — отношение эквивалентности. Выпи- сать классы эквивалентности. 1.10. Является ли отношением эквивалентности отно- шение R, определенное следующим образом на декар- товом квадрате множества натуральных чисел, отличных 42
от единицы: (х, у) е R, если и только если х и у имеют общие делители, отличные от единицы. 1.11. Привести пример рефлексивного отношения, которое не является симметричным и транзитивным. 1.12. Привести пример симметричного отношения, ко- торое не является рефлексивным и транзитивным. 1.13. Привести пример транзитивного отношения, ко- торое не является рефлексивным и симметричным. 1.14. Привести пример рефлексивного и симметрич- ного отношения, которое не является транзитивным. 1.15. Привести пример рефлексивного и транзитивно- го отношения, которое не является симметричным. 1.16. Привести пример симметричного и транзитив- ного отношения, которое не является рефлексивным. 1.17. Является ли отношение R = {(1, а), (1, Ъ), (2, а)}, определенное на декартовом произведении множеств А = {1, 2}, В = {a, fe}, функцией? 1.18. Найти образ отрезка [1, 10] при отображении У = Igx. 1.19. Найти прообраз отрезка [—1, 1] при отображении у = sin(x). 1.20. Является ли функция /(х) = хг инъективной? 1.21. Является ли отношение R = {(а]5 & J, (а2, Ь2), (а3, Ь3)}, определенное на декартовом произведении множеств А = = {ар а2, а3}, В = {fe1, Ъ2, Ь3}, функцией? Если да, то яв- ляется ли данная функция сюръекцией, инъекцией? 1.22. Является ли отношение R = {(1, 4), (2, 3), (3, 2), (4, 1)}, заданное на декартовом квадрате множества А = {1, 2, 3, 4}, биективным отображением? 1.23. Отношение R на множестве всех книг библиоте- ки определим следующим образом. Пара книг а и b при- надлежит R, если и только если в этих книгах есть ссыл- ки на одни и те же литературные источники. Является ли R а) рефлексивным отношением; Ь) симметричным отношением; с) отношением эквивалентности? 1.24. Отношение R на некотором множестве ключе- вых слов для поиска в Интернете определим следующим образом. Пара ключевых слов а и Ъ принадлежит R, если и только если они начинаются с одного и того же симво- ла. Является ли R отношением эквивалентности? Если да, то описать классы эквивалентности, индуцированные данным отношением. 43
1.25. Пусть отношение R задано на декартовом про- изведении множеств К и Р, где К — множество клю- чевых слов, а Р — множество Web-страниц. Пара (х, у) принадлежит R, если и только если ключевое слово х содержится на странице у. Является ли R функцией? 1.26. Пусть отношение R задано на декартовом про- изведении множеств В и Р, где В — множество всех книг в книжном магазине, Р — множество цен. Пара (х, у) принадлежит R, если и только если книга х имеет цену у. Является ли R функцией? Если да, то является ли дан- ная функция сюръективной, инъективной? 1.27. Пусть отношение R задано на декартовом произ- ведении множеств D и N, где D — множество всех до- кументов, содержащихся в папке «Входящие», a N — множество всех номеров, служащих для регистрации этих документов. Является ли отношение R функцией? Если да, то является ли данная функция биекцией? 1.28. Установить взаимно-однозначное соответствие между множеством всех натуральных чисел, которые при делении на 3 дают остаток 2, и натуральным рядом. 1.29. Установить взаимно-однозначное соответствие между интервалом (а, Ъ) и всей числовой прямой. 1.30. Установить взаимно-однозначное соответствие между лучом [а, Ъ) и лучом [а, °о). 1.31. Установить взаимно-однозначное соответствие между точками плоскости и точками сферы, из которой выброшена одна точка. 1.32. Установить взаимно-однозначное соответствие между точками открытого квадрата и0<х<1, 0<у<1 и точками конечной части плоскости. 1.33. Найти мощность множества всех последователь- ностей натуральных чисел. 1.34. Найти мощность всех конечных последователь- ностей натуральных чисел. 1.35. Найти мощность всех возрастающих последователь- ностей натуральных чисел. 1.36. Можно ли построить на плоскости континуум попарно непересекающихся окружностей? 1.37. Можно ли построить на плоскости континуум попарно непересекающихся букв Г? 1.38. Найти мощность множества всех действитель- ных чисел, в десятичном разложении которых встреча- ется цифра 3.
2. ОСНОВЫ МАТЕМАТИЧЕСКОМ ЛОГИКИ 2.1. Высказывания и функции на высказываниях Математическая логика изучает высказывания, зна- чениями которых может быть «истина» либо «ложь». Так, например, высказывание 3>5 ложно, а высказыва- ние 5>3 истинно. Высказывания могут носить не только математический характер. Например, высказывание «до- кумент получен» может быть истинным или ложным в зависимости от того, какой документ, когда, кем полу- чен и др. Формальный анализ этой ситуации и подобных ей невозможен без определения основных понятий мате- матической логики. Эти понятия вводятся следующим образом. Было замечено, что можно получить формальные ре- зультаты, абстрагировавшись от способа вычисления ис- тинности самих высказываний. Для этого высказывания достаточно рассматривать как некоторые переменные, уже получившие значения «истина» либо «ложь». Поясним это на примере. Пусть переменные xt и х2 представляют два различных высказывания: xt = а > О, х2 = а < 1, где а — вещественная переменная. Значения переменных xt и х2 истинны либо ложны в зависимости от того, какие значения принимает вещественная пере- менная а. Так, если а = 3, то х± — истинно, а х2 — ложно. Ограничившись только значениями переменных xt и х2, а не способами их получения, можно формализовать про- цесс перехода от более простых высказываний к более сложным, введя функции F на множестве переменных хр ... , хп, значения которых также могут быть только «истина» или «ложь». Такие функции называются логи- ческими или булевыми. В связи с этим математическая логика различает пер- вичные высказывания, построенные в некоторой пред- метной области, и вторичные, представляющие перемен- ные математической логики. Первичные высказывания именуются атомами, а вторичные — молекулами. 45
Работа с молекулами позволяет исследовать свойства логических функций, выполнить обобщения, а затем, в случае необходимости, вернуться к первичным смысло- вым формам. Так, например, высказывание х} = а > О принимает значение «истина» в том и только в том слу- чае, когда а принадлежит положительной полуоси, а выс- казывание х2 = а < 1 принимает значение «истина» тогда и только тогда, когда а принадлежит интервалу (-°°, 1). Располагая переменными хр х2 мы можем, например, поставить вопрос о построении функции F(xv х2), кото- рая принимает значение «истина» тогда и только тогда, когда оба значения аргументов х, и х2 истинны без вся- кого отношения к атомарному смыслу. Предположим, что мы построили такую булеву функцию истинности. Тогда мы можем попытаться построить и новое высказывание в атомарном смысле, которое бы соответ- ствовало данной функции. В нашем случае оно выразится так: «точка а принадлежит отрезку [0, 1]». Ясно, что любой из булевых функций может отвечать множество атомар- ных высказываний из различных предметных областей. Рассмотрим вопрос о построении логических функций. Ясно, что логические функции строятся на конечных множествах. Поэтому вначале исследуем вопрос о том, какова мощность множества всех логических функций. Поскольку каждая логическая переменная может при- нимать только одно из двух значений, то множество всех значений переменных имеет мощность т = 2", что эквива- лентно размещению всех двоичных чисел в разрядной сетке длины п. В 1.4 нами рассмотрен вопрос о мощности множества всех бинарных функций на дискретном множестве мощ- ности т. Мощность этого множества равна 2т. Это мно- жество функций можно построить путем перебора всех бинарных значений функции на множестве всех бинар- ных значений аргументов. Поэтому число всех функций F, построенных на мно- жестве переменных хр х2,..., х , будет равно 2га, где т = 2". Это число обозначается р(п). Необходимо отметить, что р(п) растет очень быстро в зависимости от п. Так, для различных п имеем: р(1) = 4, р(2) = 16, а р(4) = 65536. 46
Поэтому, несмотря на то что при любом конечном п значение р(п) конечно, уже при п>10 простой перебор всех функций становится практически невозможным даже на суперсовременных компьютерах. Представляется целесообразным построить и иссле- довать свойства функций одной и двух переменных. Все функции одной переменной представлены в табл. 2.1. В этой таблице и далее мы условимся для обозначения «истина» применять символ «1», а для обозначения «ложь» — символ «О». Эти обозначения также являются общепринятыми, но экономят символы. Таблица 2.1 Функции одной переменной X Fi ^2 $ 0 0 0 1 1 1 0 1 0 1 Из табл. 2.1 видно, что значения функций F1 и F* не зависят от х. Функция F/ тождественна х. Эти функции не могут представить существенного интереса. Представляет интерес функция F,', значения которой обратны по отношению к значениям аргумента. В связи с этим F* получила специальное название — отрицание. Далее в том же плане предстоит рассмотреть функции двух аргументов. Все они представлены в табл. 2.2. Пред- варительно сделаем некоторые замечания. Таблица 2.2 Функции двух переменных X F?, (i = l,n) 1 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 47
Отметим, что функция может быть представлена как операция, если все ее значения лежат в области опреде- ления этой же функции. В этом смысле все функции математической логики могут быть потенциально пред- ставлены операциями. 2.2. Операции математической логики Функции F* поставлена в соответствие операция от- рицания, или логическое «не». Эта операция имеет следу- ющее обозначение: например, если х = 0, то —>х = 1. Отрицание определяется таблицей истинности 2.1 для функции F', рассмотренной выше. Операция отрицания является унарной, так как имеет один аргумент. Ее смыс- ловое значение: «не истина» это «ложь», а «не ложь» — это «истина». Перейдем теперь к рассмотрению бинарных, т. е. опе- раций, имеющих два аргумента, которые можно полу- чить из табл. 2.2 при анализе свойств функций. Ниже рассмотрены только те функции, которые представляют определенный интерес, аналогично тому, как было сде- лано при анализе табл. 2.1. Функция Ff представлена операцией, которая получила название конъюнкция или логическое умножение. Этой операции соответствует союз «и» в русском языке. В мате- матической логике для нее приняты обозначения & или л. Какой из них применять — дело вкуса. Мы, следуя [2], будем использовать, как правило, первый из них. Конъ- юнкция истинна тогда и только тогда, когда истинны оба высказывания, связанные ею. Рассмотрим в качестве примера высказывания xt = а < 1, х2 = а >.0 и х3 = xt & х2. Из табл. 2.2 видно, что х3 истинно тогда и только тогда, когда xt = х2 = 1. Если теперь вернуться к атомарному смыслу, то получится, что х3 истинно тогда и только тог- да, когда ае[О, 1]. Таким образом, создаются предпосыл- ки получения новых атомарных высказываний на осно- ве формальных результатов математической логики. В этом же плане мы рассмотрим и другие функции, ко- торые получили специальные наименования. Следующая из них — функция F* представлена опе- рацией, которая именуется разделительная дизъюнкция, исключающее «или» или сложение по модулю два. Из 48
табл. 2.2 видно, что она принимает значение «истина» тогда и только тогда, когда или один, или другой из операндов истинны, но не оба имеют одно и то же значение истинности. В латыни есть союз «aut» для разделительной дизъюнкции, в русском языке это союз «или ... или». Опера- ция имеет обозначение «@». Иногда, если смысл не теря- ется, то применяют также обозначение «+». Рассмотрим пример. Пусть xt = аеА, х2 = be В, где А и В — произвольные множества, и х3 = xt @ х2. В этом случае х3 примет значение «истина» исключительно на симметрической разности множеств А и В. Проверьте это! Функции F? поставлена в соответствие операция дизъ- юнкция. В отличие от предыдущей она включительна. В латыни ей соответствует союз «vel». В связи с этим для нее и принято и обозначение «V». В русском языке ей соответствует союз «или». В качестве примера рассмот- рим высказывание х3 = х, v х2, где хг = аеА, х2 = аеВ, А и В — произвольные множества. Данное высказыва- ние истинно тогда и только тогда, когда истинно хотя бы одно из высказываний xt, х2 или оба вместе. Нетрудно проверить, что х3 истинно тогда и только тогда, когда элемент а принадлежит объединению множеств А и В. Функции F3 поставлена в соответствие операция, име- нуемая стрелка Пирса. Обозначается: «1». Она принимает значение «истина» тогда и только тогда, когда оба ее операнда ложны. Функции Fg поставлена в соответствие операция экви- валентность. Обозначается «~». Ее применение позволяет индицировать эквивалентность операндов в смысле истин- ности. Это дает возможность расширить эквивалентность вплоть до атомов. Например, пусть xt = (a mod 2 = 0), хг = (b mod 2 = 0) и х3 = хг~х2 Тогда х3 принимает значе- ние «истина» тогда и только тогда, когда а и Ъ находятся в одном классе эквивалентности, то есть оба четные или оба нечетные. Функции F13 поставлена в соответствие операция, име- нуемая импликация. Смысл английского слова «im- plication» означает «подразумеваемое». Соответствующее обозначение «—>» или «23». Такая интерпретация поро- дила некоторые споры. Пусть, например, xt — высказы- вание, означающее «2 + 2 = 5», а х2 — высказывание, 49
которое определяет «3 + 3 = 6». Тогда, согласно табл. 2.2, из того, что X] — ложно, а х2 — истинно, подразумевает- ся, что х3 — истинно, хотя никакой связи по смыслу между xt и х2 нет. В данной ситуации необходимо снова отметить, что математическая логика ответственности за смысл первичных высказываний не несет. Они могут быть построены не по правилам математической логи- ки, а по правилам предметной области. Тем не менее абстрактный результат нисколько не противоречит ло- гическому смыслу операции. В математике конструкция «если А, то В» ложна тогда и только тогда, когда из истины следует ложь. Функции поставлена в соответствие операция, име- нуемая штрих Шеффера. Она обозначается символом «|». Ее истинностное значение утверждает, что «кто-то лжет»: высказывание, определенное либо первым, либо вторым из двух операндов данной операции, ложно. 2.3. Понятие формулы и свойства операций Как и в элементарной алгебре, в математической логике из элементарных операций можно строить фор- мулы. Например, х} & х2 v —,х1 & х2 — формула. Ясно, что какой бы сложной ни была формула, содер- жащая п переменных, для нее всегда найдется единствен- ная соответствующая ей функция. Это связано с тем, что математическая логика располагает всеми функциями из конечного множества попарно различных функций. Ниже будет показано, что одной и той же функции можно по- ставить в соответствие несколько различных формул. Две различные формулы называются эквивалентны- ми, если соответствующие им функции равны. Из единственности построения функций следует, что формулы эквивалентны-, если их таблицы истинности совпадают. Представляет интерес исследование вопроса о тожде- ственных преобразованиях формул. Для того чтобы вы- полнять такие преобразования, необходимо предварительно рассмотреть свойства операций математической логики. Обозначим xt о х2 любую из операций &, v или @. Существенно только, чтобы символ «о» имел в тожде- 50
стве везде один и тот же смысл. В этом случае непосред- ственно проверяется, что имеют место свойства 1) и 2): 1) ассоциативность ((Xj о х2) о х3) = (Xj о ( х2 о х3)); 2) коммутативность (Xj о х2) = (х2 о х,). Для дизъюнкции и конъюнкции также выполняются дистрибутивные законы: ((xt & х2) v х3) = (xt v х3) & ( х2 v х3)); ((хг V х2) & Х3) = (х] & Х3) V ( х2 & Х3)). Имеет место закон двойного отрицания —1—>Х = X. Кроме того, выполняются следующие свойства опе- раций математической логики: Законы де Моргана -.(Xi & х2 ) = (-.х1 v -,х2) ; v х2 ) = ( -п х, & -,х2). Законы идемпотентности xv х = х;х&х = х. Законы поглощения х vO = х ; х v 1 = 1; х&0 = 0; х & 1 = х. Закон исключенного третьего X V —iX = 1. Закон противоречия х & —>х = 0. Закон силлогизма (( х у) & (у -> z)) ~Чх -> г). При тождественных преобразованиях формул исполь- зуются приоритеты операций. Считается, что операция & сильнее, чем v. Поэтому если нет скобок, то вначале вы- полняется &, а затем v. Остальные бинарные операции имеют тот же приоритет, что и v. 2.4. Полнота и замкнутость систем булевых функций Система функций {Flt F2, ..., Fn} называется функцио- нально полной, если любая булева функция может быть записана в виде формулы через функции этой системы. Введем обозначения Х° = X • С V —|Х • -1(7, 51
где о — параметр, равный либо 0, либо 1, и использует- ся обычное умножение. Очевидно, что 1—х при о = 0, X при 0=1. Такое представление выражает следующий факт: х° = = 1 тогда и только тогда, когда х = о. Введем также следующие обозначения: */•1 V -^0 V ... V .а. , Х1 = Х1 & Х2 &"• &Хп. Теорема 2.1. Каждую функцию математической логи- ки можно представить в виде F(xp х2, ...,xn) = v(ol о2.яп) х* & xf &... & хв°” & & F(op о2, ..., оп), (2.1) где дизъюнкция берется по всевозможным наборам пе- ременных хг, х2, .... хв. Доказательство. Рассмотрим произвольный набор ар а2, ..., ап и покажем, что левые и правые части (2.1) при- нимают на нем и только на нем одно и то же значение. Левая часть (2.1) дает _F(0Cj, ос2, ..., oQ. Соответственно правая & «2"2&- & апЛ & -> Оп)- Конъюнкция а’1 & а°2 &... & а’" = 1 тогда и только тогда, когда = 0^, о2 = а2, ..., ов = (Хв. Следовательно, на этом и только на этом наборе о , о2,..., ов имеет место тождество atal& а2а2 а™ & F(av а2, .... ап) = F(ax, а2,..., ав). При этом остальные дизъюнктивные члены в (2.1) обращаются в нуль. Разложение (2.1) называется совершенной дизъюнк- тивной нормальной формой (СД.Н.Ф.), если оно берется по всем наборам о,, о„ ..., а для которых выполнено Р(ор о2, ?.:,оп) = 1. В связи с этим определение С.Д.Н.Ф. записывается в виде F(xx, х2, ..., х„) = v(el o2.on) х°'&х°2& ... & х-. Применение понятия С.Д.Н.Ф. позволяет легко уста- новить полноту операций отрицания, конъюнкции и дизъ- юнкции. Теорема 2.2. Система операций отрицания, конъюнк- ции и дизъюнкции полна. 52
Доказательство. Пусть F(xp х2, ..., хп) = 0. Тогда представим ее в виде F(xp х2, ..., xn) = Xj & -ixr Если же F(xp х2, ..., хл) = 1, то представим ее как С.Д.Н.Ф. Учитывая, что '-1Х при о = 0, . X при 0=1, получим доказательство теоремы. Пусть Ф — некоторое подмножество булевых функ- ций. Замыканием Ф называется множество всех буле- вых функций, которые можно представить в виде фор- мул через функции множества Ф. Замыкание множества Ф обозначается [Ф]. Если Ф = [Ф], то Ф замкнуто. Можно показать, что замыкание обладает рядом свойств, важ- нейшими из которых являются: Фс[Ф] и [[Ф]] = [Ф]. В терминах замыкания можно дать следующее опре- деление полноты. Система функций {Fp F2, ..., FJ = Ф называется полной, если замыкание Ф равно множеству всех булевых функций. Отметим, что подробно и глубоко замкнутые классы булевых функций были изучены американским матема- тиком Э. Постом. Из результатов его теории, в частности, следует, что рассмотренная выше система операций отрицания, конъ- юнкции и дизъюнкции является лишь примером пол- ных систем. 2.5. Исчисление предикатов Пусть А — произвольное множество и х , х2, ..., хп<еА. Построим функцию Рь4—»{0,1}. Такая функция называ- ется предикатом, а множество А — предметной облас- тью предиката. Сами переменные хр х2, ..., хп называ- ются предметными переменными, а число п — местно- стью предиката. Рассмотрим, например, одноместный предикат Р(х — поэт-классик), который принимает значение 1, если х — фамилия и ини- циалы поэта-классика, и 0 — в противном случае. При подстановке х = «Пушкин А. С.» имеем Р = 1, а напри- мер, если х = «Достоевский Ф. М.», то Р — 0, т. е. 53
в данном случае в качестве предметной области рассмат- ривается литературоведение. Такая ситуация может возникнуть, например, тогда, когда происходит диалог пользователя с компьютером на интеллектуальном уровне. В процессе этого диалога компь- ютер выдает текущий запрос на экран или в аудиосистему: «Сообщите фамилию и инициалы интересующего вас поэта-классика». Если вы сообщаете, скажем, «Пуш- кин А. С.», то диалоговая система сужает область своего определения на базу данных, соответствующую жизни и деятельности А. С. Пушкина. Это происходит благодаря тому, что вычисляемый диалоговой системой предикат при- нимает истинное значение — 1. Если же вы сообщите, ска- жем, «Достоевский Ф. М.», то предикат примет значение О и настроенная на него компьютерная программа, возмож- но, сообщит, что Ф. М. Достоевский как поэт неизвестен. В данном случае мы не останавливаемся на описании способа вычисления предиката. Отметим только, что по- добные вычисления здесь полностью относятся к компе- тенции программирования. Рассмотрим еще построение предиката, который при- нимает значение 1, если конец вектора V = (xv,yj при- надлежит квадрату со стороной единичной длины, сме- щенного относительно центра системы координат хОх на I единиц вправо и на т единиц вверх (рис. 2.1). В этом случае предметной областью является теория множеств. Вначале определим предикат принадлежнос- ти. Скажем, что Р(а е А) = 1 тогда и только тогда, когда а G А. 54
Для построения предиката выделим геометрическое место точек квадрата. Очевидно, неравенство -0,5 < (х — /) < 0,5 выделяет полосу единичной ширины, смещенную на 1 единиц впра- во по оси х. Аналогично неравенство -0,5 < (у - т) < 0,5 выделяет полосу также единичной ширины, но смещен- ную на т единиц вверх по оси ординат. Обозначим выде- ленные множества соответственно X, и У . I т Ясно, что пересечение этих множеств определяет изоб- раженный на рисунке квадрат. Тогда наш предикат мо- жет быть записан следующим образом: Р((хо, yj е X, n УД. Если при этом требуется выразить этот же предикат через операции отношений и операции математической логики, то поступим следующим образом. Вначале опре- делим предикат отношения: Р(х < у) = 1 тогда и только тогда, когда х < у. Далее заметим, что Р((х , уД е X, п УД = P((xv, ув) g X) & Р((хв, ув) е УД. Справедливость данного выражения проверяется не- посредственно. Выразим теперь предикаты отношения через преди- каты принадлежности: Р((х , у)е Х,) = Р(-0,5 < (х - I) < 0,5), Р((х„" ув) е УД = Р(-0,5 < (у - т) < 0,5). Окончательно получим Р((ХГ, ув) extn УД = Р(-0,5 < (х„- 1) < 0,5) & Р(-0,5 < < (yv~ т) < 0,5) = Р(-0,5 < (х - 1)) & Р(-0,5 < (у- т)) & & Р((хо- ) < 0,5) & Р((уи- т) < 0,5). Правую часть этого отношения можно реализовать на уровне команд любого современного микропроцессора. Данный пример иллюстрирует применение предика- тов в графическом интерфейсе компьютерных диалого- вых систем. 2.6. Введение в методы теории доказательств Рассмотренные выше предикаты определяют принад- лежность точки геометрическому множеству через прос- тые арифметические вычисления и операции алгебры логики. Это наводит на мысль, что многие другие математические построения можно сделать очень нагляд- ными, если пользоваться логическими символами и ло- 55
гическими законами. В подтверждение этой точки зре- ния, были формализованы и развиты методы теории доказательств. Суть этих методов состоит в следующем. Вначале фор- мируется предметный язык, в терминах которого сужде- ния данной теории записываются в виде формул. Напри- мер, в теории множеств элементами такого языка явля- ются символы обозначения элементов множеств, операции принадлежности, включения, объединения множеств и другие. К числу примеров формул теории множеств от- носятся: х е А, А с В, С = А В и другие. Затем описывается аксиоматика предметной области и определяется эквивалентный ей класс формул математи- ческой логики. На основании законов математической логики описываются правила вывода, с помощью кото- рых можно переходить от одних формул к другим. С этой целью в теории доказательств вводятся новые понятия. К их числу относятся кванторы, выводимые формулы и тавтологии, или общезначимые формулы. Под квантором понимается характеристика степени значения предиката от входящих в него предметных пере- менных. Используются два квантора: всеобщности и суще- ствования. Квантор всеобщности обозначается «V». На- пример, символы «\/х» читаются так: «Для всех х ...». Квантор существования обозначается «3». Символы «Зх» читаются соответственно: «Существует х такой, что ...». Если существует вывод формулы F из формул F, F2, ..., F , по данным правилам, говорят что F выводима и пи- шут Fv F2, ...,Fn + F. Формула называется тавтологией или общезначимой, если она истинна при любых значениях входящих в нее переменных. Например, Vx х v —ix = 1. Тавтология оп- ределяет логический закон. Ее обозначение «|=»- Основ- ной задачей теории доказательств является получение тавтологий, например более простых из более сложных или обладающих другими полезными качествами. В качестве примера рассмотрим применение методов теории доказательств к выводу закона теории множеств: А - (А п В) = А - В. Введем предикат принадлежности Р(х е А) следую- щим образом: 56
1 если хе А, Р(х е А) = О если х g А. Аналогично построим предикат 1 если х g А, Р(х g А) = О если х е А. Непосредственно убеждаемся в том, что Р(х е А) = = —Р{х g А). Поставим во взаимно-однозначное соответствие акси- омам и операциям теории множеств формулы математи- ческой логики. Из этих формул мы будем применять следующие: х е A о В <=> Р(х е А и В) = Р(х е A) v Р(х е В); х е А п В <=> Р(х g А п В) = Р(х е А) & Р(х е В); х е А - В <=> Р(х е А ~ В) = Р(х е А) & -J°(x е В). На основании этих эквивалентностей переходим к доказательству закона теории множеств: Р(х е А - (А п В)) = Р(х е А) & Р(х <£ А п В) = = Р(х G А) & -тР(х е А п В) = = Р(х е А) & —1В(х еА) & Р(х е В) = = Р(х е А) ) & (~Р(х е А) & -Р(х е В)) = = (Р(х еА)) & -гР(х е A)) v (Р(х е А) & -Р(х е В)) = = О V (Р(х g А) & -Р(х е В)) = Р(х g А) & Р(х е В)). Имеем окончательно: х gA - (Ап В): х е А - В. Задачи В задачах 2.1 — 2.15 построить таблицы истинности для следующих функций алгебры логики: 2.1. F(x, у, z) = -ix & у v —i(x v z). 2.2. F(x, у, z) = z (-iX v —it/). 2.3. F(x, у, z) = x & у -» ~i(x v —ii/). 2.4. F(x, y, z) = (x & у & -iz) - (-ix v y). 2.5. F(x, y, z) = (-,x v -,z) - y. 2.6. F(x, y, z) = (x -> y) -> -iz. 2.7. F(x, y, z) = (—ix -> ~^y) &. (y z). 2.8. F(x, y, z) = x & (y -> z) v -,z/. 2.9. F(x, y, z) = -n(x v у v z). 2.10. F(x, y, z) = (x - y) & (r^y ~ -,z). 2.11. F(x, y, z) = (—iX —> -iz) ~ y. 2.12. F(x, y, z) = (~,y v -iz) —> (x v z). 2.13. F(x, y, z) = x (—y v ->z). 57
2.14. F(x, у, z) = (—ix —>£/)& (—у —> x) & —iz. 2.15. F(x, y, z) = z v x & —y. В задачах 2.16 — 2.25 упростить выражения, исполь- зуя известные свойства операций и законы математичес- кой логики: 2.16. х & (—>х & у v z) & (х v -iz). 2.17. (—ix v у) & (—у v х & z). 2.18. х & {у ~ х) & (—ix v —iz). 2.19. (х —> у)&. х &—>у. 2.20. (“ix &£/)—> (z & х). 2.21. (х & у ~ z) & х & -iz. 2.22. (х & z v —ix &-£/) & (z —> у). 2.23. (х v у &.—tZ v —,х &—у & z) & х & —у. 2.24. (х -> у) &. {у -> х). 2.25. (х & -у & z v —ix & -iz) & у. В задачах 2.26 — 2.35 построить С.Д.Н.Ф. (совершен- ные дизъюнктивные нормальные формы) по таблицам истинности, которые приведены ниже. 2.27 2.26 X У Z F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 2.28 X У 2 F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 X У Z F 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0 2.29 X У Z F 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 58
В задачах 2.36 — 2.44 построить предикаты принад- лежности некоторой произвольной точки А(х, у) областям, определяемым следующими геометрическими фигурами: 59
2.36. Кругом радиуса г = 5 с центром в точке (5,5). 2.37. Кругом радиуса г = 10 с центром в точке (-5,5). 2.38. Треугольником, вершины которого имеют координаты: А(5, 5), В(5, 0), С(0, 5). 2.39. Квадратом с центром в начале координат и сто- роной а = 7. 2.40. Любым прямоугольником, две стороны которого расположены на осях координат. Длины этих сторон: по оси абсцисс 5, по оси ординат — 10. 2.41. Кольцом с центром в начале координат. Его ра- диусы: г = 4, R = 6. 2.42. Кольцом с центром, смещенным от начала коор- динат на 3 единицы вправо и 2 единицы вверх. Его ради- усы: г = 4, R = 6. 2.43. Областью, ограниченной параболой у = х2 и от- резком вещественной оси [—1, 1]. 2.44 . Областью, ограниченной прямой у = х и отрез- ком вещественной оси [0, 5]. В задачах 2.45 — 2.50 доказать следующие тождества вначале на языке теории множеств, а затем — на языке теории доказательств: 2.45. А п (А и В) = А. 2.46. А и (А п В) = А. 2.47. А и (В п С) = (А и В) п (А и С). 2.48. А л (В и С) = (А п В) и (А л С). 2.49. 1 \ (А и В) = (1 \ A) n (1 \ В). 2.50. 1 \ (А и В) = <1 \ А) п (I \ В).
3. КОМБИНАТОРИКА Комбинаторика — это раздел математики, изучающий методы построения конечных или счетных множеств. В настоящем разделе мы ограничимся лишь конечными множествами. При комбинаторных построениях решается либо задача выбора, либо задача расположения. В первом случае определяются правила, по которым из исходных множеств выбир.' ются элементы, а во вто- ром — из заданных элементов строятся новые множе- ства. В любом из этих случаев имеем построение комби- наторной конфигурации. Комбинаторика включает в себя вопросы существова- ния комбинаторных конфигураций, исследования их мощностей и алгоритмов построения. Основными классами комбинаторных конфигураций являются размещения, перестановки и сочетания, имену- емые как соединения, а также композиции и разбиения. 3.1. Размещения Пусть X — конечное множество, содержащее п эле- ментов. Такое множество в комбинаторике именуют n-множеством X или п-Х множеством. Мы будем строить размещения на основе постановок задач выбора и расположения. Запишем эти задачи вначале в их простейшей формули- ровке. Начнем с задачи выбора. Пусть задано п-Х множе- ство. Можно считать, что в качестве элементов п-Х = = {хр ..., хп} имеем пронумерованные шары, помещен- ные в непрозрачную урну. Требуется построить комби- наторную конфигурацию — множество Y всех возмож- ных вариантов выбора одного шара без повторений. При этом порядок представления элементов в множестве Y существенным не является. Поясним эту задачу примером. Пусть на столе у техни- ческого секретаря некоторой фирмы лежит п зарегистри- рованных писем (имеем множество п-Х). Руководитель 61
фирмы для ознакомления выбирает наугад только одно из них. Требуется построить комбинаторную конфигу- рацию: множество У всех возможных вариантов выбора. Соответствующая задача расположения ставится сле- дующим образом. Будем рассматривать множество п-Х как набор из п пронумерованных ячеек, например урн, в каждой из кото- рых могут размещаться какие-либо объекты, например шары. Сколькими способами и как можно расположить по одному разу в каждой урне один шар, если порядок выбора урн не существенен? Примером такой задали является следующая. Некоторый актовый зал представлен п пронумерован- ными местами (имеем множество п-Х). Требуется запи- сать все варианты возможного размещения одного чело- века на этих местах (множество У). Порядок представле- ния элементов в множестве У существенным не является. Считаем, что один человек не может занимать несколько мест одновременно. Решения этих задач очевидны. Количество способов выбора либо расположения в обеих наших задачах равно п, а для решения поставленных задач достаточно пере- писать все элементы множества п-Х в множество n-Y в произвольном порядке, то есть отобразить п-Х на себя. Задачи выбора и расположения, как правило, объеди- няют общим термином — размещения. В простейшей постановке задачи алгоритм построе- ния множества размещений n-Y можно записать, напри- мер, в следующем виде: (1 = 1, п (yi = х.)), (3.1) где запись «г = 1, п» означает, что i — переменная, оп- ределяющая номер шага алгоритма, пробегает все значе- ния от 1 до п, а у. определяется элементом х. множества п-Х на каждом из этих шагов. Для обеих наших задач алгоритм (3.1) дает уг = хр у2 = х2, ..., уп = хл. Очевидно, можно построить другой алгоритм полу- чения той же комбинаторной конфигурации, отличаю- щейся порядком элементов. Например, можно получить элементы уг = х2, у2 = х , однако новой комбинаторной конфигурации при этом не получится, поскольку поря- док расположения элементов комбинаторной конфигу- рации не является существенным. 62
Размещения, отличающиеся только порядком состав- ляющих их элементов, будем рассматривать как равные, поскольку равны и соответствующие им множества. Любые алгоритмы решения задачи размещения, кото- рые на одном и том же множестве исходных данных дают одни и те же комбинаторные конфигурации, мы будем рассматривать как эквивалентные. Заметим еще, что любой из элементов множества п-Х можно однозначно определить своим номером. Тогда без ограничения общности можно считать п-Х = {1, ..., п}, а алгоритм (3.1) записывать в виде (i = 1, п (у. = i)). Пусть теперь имеем два непересекающихся множества: n-Xt и п2-Х2, — и поставлены те же задачи выбора и распо- ложения на их объединении: п-Х = п1-Х1 и п2-Х2. Оче- видно, в этом случае количество всех способов размеще- ний равно пг + п2, а алгоритм их построения можно за- писать, например, так: (i = 1, 2 (j = 1, п. (у.. = (i, /»)). (3.2) В этом алгоритме для каждого i = 1, 2 во внешних скобках перебираются все значения j = 1, п. в скобках второй вложенности и при этом для каждой пары I, j имеем у.. = (i, /) во внутренних скобках. Угловые скобки используются для обозначения упорядоченных множеств. Предположим, например, что необходимо отправить заказной документ из Харькова в Киев. Для этого имеется пг = 3 железнодорожных почтовых рейса (Xj = {1, 2, 3}) и п2 = 2 авиа (Х2 = {1, 2}). Код железнодорожных рейсов обозначим 1, а код авиа — 2. Этот код условимся писать перед кодом рейса. В такой интерпретации алгоритм (3.2) дает перебор всех возможных способов отправки докумен- та из Харькова в Киев: | <1, 1) <1, 2) <1, 3)| I (2, 1) <2, 2) J. Всего имеем 3 + 2 = 5 способов. Предположим теперь, что имеем семейство непересе- кающихся множеств: пг-Ху, п2-Х2, ..., п-Хг. Чему равно число п элементов размещений? В этом случае по индук- ции получим п = пг+ п2+...+пг. Соответствующий алго- ритм размещений будет иметь вид 63
(i = 1, r(j = 1, n. (y.. = (i, j)))). Пусть имеем декартово произведение nl-Xl и п2-Х2 множеств. Поставим на этом декартовом произведении задачи выбора или расположения. В таком случае реше- ние задач, очевидно, состоит в подсчете и переборе всех упорядоченных пар {х , х2). Запишем алгоритм построе- ния размещений: (i = 1, zij (j = 1, п2 (у.. = (i, j»)). (3.3) В качестве примера построим все возможные танцу- ющие пары ytj, если имеем щ = 2 девушки и п2 = 3 юно- ши. Применяя алгоритм (3.3), имеем значения ( <1, 1) <1, 2) <1, 3) | I (2, 1) <2, 2) <2, 3) J. Здесь первой цифрой кодирована девушка, а второй — юноша. При выполнении алгоритма (3.3) каждому из п1 зна- чений i ставится в соответствие п2 значений j. Поэтому число элементов размещений на декартовом произведе- нии множеств п1-Х1 и п2-Х2 равно прп2. Геометрическая интерпретация способов расположения одного шара в ячейках декартового произведения дан- ного примера представлена на рис. 3.1. Пусть имеем декартово произведение множеств п^Х^ п2-Х2, п-Хг В этом случае, индуктивно обобщая ре- зультат, полученный выше, видим, что число элементов размещений на данном декартовом произведении мно- жеств п2-Х2, ..., п-Хг равно прп^п^ Соответствующий алгоритм будет иметь вид (il = 1, пх (i2 = 1, п2, ..., (ir = 1, nr(y;1 j2 ir = = (il, i2...ir))...). (3.4) 64
Геометрическая интерпретация размещений в случае г = 2 рассмотрена выше и представляет множество точек на плоскости (рис. 3.1). В случае, когда г = 3, имеем множество точек в трехмерном пространстве, и т. д. Усложним теперь задачу расположения в сторону уве- личения числа размещаемых объектов. Будем рассматривать множество п-Х как набор из п пронумерованных урн, в каждой из которых могут разме- щаться пронумерованные шары — объекты из множе- ства r-S. Сколькими всеми различными способами и как мож- но расположить г различных шаров на данном множе- стве урн? Порядок расположения всех этих шаров в каж- дой из r-ок будем считать несущественным. Обозначим соответствующий элемент размещений У1,2,.... г ~ *2’ —’ О’ где ike {1, 2, ..., п} — номер урны, в которой размещает- ся /г-ый шар; k е {1, 2, ..., г}. Покажем, что множество всех таких размещений мож- но определить алгоритмом: (il = 1, п {i2 = 1, п, ..., (ir = 1, п {ук 2 г = = <il, i2, ..., ir))...). ... (3.5) Действительно, выбор размещения первого шара мы можем выполнить п различными способами: il = 1, п во внешних скобках. С каждым из этих способов может ком- бинировать п размещений второго шара: i2 = 1, п во внутренних скобках первой вложенности. В результате имеем п2 способов размещения двух шаров. При индук- тивном предположении, что размещены г-1, шар имеем пг~1 способов размещений 1—1 шара, которым соответству- ет г-1 вложенных скобок по переменным il, i2, ..., ir-1 в алгоритме (3.5). Следовательно, в результате выполне- ния этого алгоритма имеем пг различных элементов кон- фигурации размещений. Сформулируем постановку задачи выбора. В урне имеется п пронумерованных шаров: имеем мно- жество п-Х. Один шар извлекается наугад, и номер его фиксируется. Далее шар снова возвращается в урну. Процедура выбора шаров повторяется г раз: имеем мно- жество r-S, элементами которого являются номера ша- гов выбора шара из урны. 3. Дискретная математика 65
Сколько и каких различных r-ок можно получить та- ким выбором? Эта задача именуется выбор с возвращением. Обозначим соответствующий элемент выбора: У1,2,....г= О- где i е {1, 2, и} — номер, присвоенный k-салу из- влеченному шару в выбранной г-ке. Покажем, что требуемая комбинаторная конфигура- ция определяется алгоритмом (il = 1, п (i2 = 1, п, ..., (ir = 1, п(у1 2 г = = <il, i2, ..., ir»...). ’ "~Г (3.6) Действительно, выбор первого шара мы можем выпол- нить п различными способами: il = 1, п. Поскольку пер- вый шар вновь возвращается в урну, то с каждым из этих способов может комбинировать п выборов второго шара: i2 = 1, п в скобках второй вложенности. В резуль- тате имеем п2 способов выбора двух шаров. При индук- тивном предположении, что выбраны г-1 шар имеем пг~1 способов выбора, что обеспечивается применением i—1 вложенных скобок по переменным il, 12, ..., ir-1 в алго- ритме (3.6). Следовательно, в результате выполнения этого алгоритма имеем пг различных элементов выбора значений i , i2,..., ir, что и требовалось показать. Сравним алгоритмы (3.5) и (3.6). Они тождественны по записи и отличаются только обозначениями перемен- ных. Следовательно, с теоретике-множественной точки зрения каждый из этих алгоритмов решает одну и ту же задачу, а именно: дает построение множества всех фун- кций, определенных на декартовом произведении r-Sxn-X, где каждая функция yl 2 г однозначно определяется набором значений i2, ..., i). Все проведенные нами выше рассуждения можно объе- динить в виде теоремы. Теорема 3.1. Размещение г различных объектов п раз- личными способами эквивалентно построению всех фун- кций F:r-S—>п-Х, число которых равно пг. Все функции размещений в качестве примера при г = 2 и п = 3 приведены на рис. 3.2. Число таких функций в данном примере составляет nr = З2 = 9. 66
п-Х (3,1) 3-- • 2-- 1-- • ----1—I-----► 1 2 п-Х Рис. 3.2 3.2. Размещения без повторений Введем ограничения на постановку задачи о размеще- ниях. Пусть на декартовом произведении п-Х и r-S мно- жеств построены все функции F:r-S > п-Х. Сколько из них инъективных? В качестве примера рассмотрим слу- чай, когда г = п = 3. Все функции, соответствующие этому случаю, пред- ставлены на рис. 3.3: (1,1,1) (1,1,2) (1,1,3); (1,2,1) (1,2,2) (1,2,3); (1.3,1) (1,3,2) (1,3,3); (2,1,1) (2,1,2) (2,1,3); (2,2,1) (2,1,2) (2,1,3); (2,3,1) (2,3,2) (2,3,3); (3,1,1) (3,1,2) (3,1,3); (3,2,1) (3,2,2) (3,2,3); (3,3,1) (3,3,2) (3,3,3). Рис. 3.3 67
В данном примере из всех полученных функций име- ем 6 инъективных. Все они выделены (рис. 3.3). Размещения, соответствующие инъективным функци- ям, называются размещениями без повторений либо инъ- ективными размещениями. Ясно, что инъективные функции составляют всего лишь подмножество всех функций F : r-S > п-Х. Поэто- му для их получения достаточно наложить ограничения на алгоритмы (3.5) или (3.6). Рассмотрим этот вопрос на примере решения задачи выбора без повторений г объек- тов на множестве п-Х. Данная задача имеет следующую интерпретацию. В урне имеется п пронумерованных шаров. После- довательно один за другим извлекаются г шаров и их номера фиксируются. Сколько и каких различных г-ок шаров может быть выбрано? Проведем соответствующие комбинаторные рассуждения. Выбор значения первого элемента у1 можно осуществить п способами. Выбор второго элемента у2 можно выполнить только п-1 способами с каждым из первых, запретив при- менять уже выбранное значение. Индуктивно предполагая, что таким образом выбраны уже г — 1 элемент, получим, что r-ый элемент можно выбрать п(п —1...(п - (г - 1)) спо- собами с каждым из предыдущих, поскольку для него за- прещен выбор любого из уже выбранных предыдущих зна- чений. Поэтому всего будет получено п(п - l...(n - (г - 1)) различных элементов комбинаторной конфигурации. Для определения числа инъективных размещений приняты обозначения: А'или [и]г- В соответствии с проведенными выше рассуждениями имеем Апг = п(п - 1)... (и - (г - 1)). (3.7) Выражение (3.7) представляет полином от перемен- ной п степени г: Аг = У. . s(r, k)nk. Коэффициенты s(r, k) этого полинома известны в ком- бинаторике как числа Стирлинга первого рода. Алгоритм инъективных размещений получим, если введем рассмотренные выше ограничения в алгоритме (3.6). С учетом ранее введенных обозначений будем иметь: (il = 1, п (i2 = 1, п,..., (ir = 1, n(yl 2 r_ (il, i2, ..., ir )...). (3.8) 68
12 il ... ir il... ir-1 Рассмотренная нами задача именуется выбор без воз- вращений. Соответствующая задача расположения имеет следу- ющую формулировку. Требуется расположить г пронумерованных шаров по п пронумерованным урнам так, чтобы ни в одну урну не попадало два шара одновременно. Сколько возможно расположений и каких? Эта задача также решается с применением алгоритма (3.8), соответственно в обозначениях, принятых для ал- горитма (3.5). Изложенное выше позволяет получить доказательство следующей теоремы. Теорема 3.2. Размещения г различных объектов п раз- личными способами без повторений эквивалентны всем инъективным функциям, определенным на множестве r-S со значениями в множестве п-Х, число которых Апг = п(п - 1)... (и - (г - 1)). 3.3. Перестановки и подстановки Рассмотрим теперь частный случай инъективных раз- мещений, когда г = п, по-прежнему полагая, что п-Х = = {1, 2, ..., п}. В этом случае можно считать, что имеет место биек- ция f: п-Х > п-Х. Любая такая биективная функция на- зывается подстановкой, а результат ее применения к мно- жеству п-Х — перестановкой. Подстановки обозначаются символами f, g, h или дру- гими латинскими буквами. Подстановка задается в виде биективной таблицы, где верхняя строка представляет исходный элемент, а ниж- няя — полученный из исходного путем изменения по- рядка компонент элемента. Например, подстановка (12 3 3 2 1 переводит элементы множества {1, 2, 3} так: 1 в 3, 2 в 2, а 3 в 1. В другом примере таблицы 69
/1 2 3j /1 2 3\ f1 2 3j \2 2 2/ \2 2 1) \4 5 6/ подстановками не являются: в первом и во втором слу- чаях разные элементы переходят в один и тот же эле- мент, а в третьем появились значения, не принадлежа- щие X = {1, 2, 3}. Задача получения множества всех подстановок на п-Х эквивалентна задаче получения всевозможных переста- новок местами элементов соответствующего п-Х упоря- доченного множества. Так, из множества всех функций, полученных при решении задачи о размещениях при п = = г = 3, имеем перестановки: <1, 2, 3>, <1, 3, 2), <2, 1, 3), <2, 3, 1), <3, 1, 2), <3, 2, 1). Далее нам понадобится понятие факториала целого положительного числа п. Так называется обозначение п\. (Символ «п!» читаются «п-факториал»). Значение п! определяется следующим образом: (1, если п = О, 1 2 •... • п, если п > О. Теорема 3.3. Число всех перестановок множества п-Х равно Ап" = п!. (3.9) Доказательство. Все перестановки множества п-Х оп- ределяются множеством всех подстановок из п-Х на п-Х. Поэтому, полагая в формуле (3.7) п = г, получим _Ал" = n(n - 1 •... (и - (и - 1)) = п(п - 1) •... • 1 = п\, что и требовалось доказать. Поскольку любая подстановка осуществляет биекцию из п-Х на п-Х, это наводит на мысль, что можно запи- сывать подстановки в виде одной строки, рассматривая соседние элементы, как подстановки из х. > х.+1 >... . В связи с тем, что множество п-Х конечно, этот процесс должен закончиться на том же элементе, на котором на- чался, а затем повториться. Поэтому однострочные подстановки называют циклами. Одной подстановке мо- жет соответствовать некоторое множество циклов. Пояс- ним это на примере. (12345678 45678321 70
Тогда 1 —> 4, 4 —> 7, 7 —» 2... и можно разложить под- становку в произведение двух циклов, области которых отмечены квадратными скобками. /=[1 4 7 2 5 8][3 6]. Пусть дана подстановка f = [хр х2, хп]. Пару (х., х) (2 < у) будем называть инверсией, подстановки f, если х. > х.. Подстановка называется четной, если число инверсий в ней четно, и нечетной в противном случае. Так, подстановка [1 4 7 2 5 8] имеет следующие ин- версии: (4 2), (7 2), (7 5), (8 1) и, следовательно, является четной. Подстановка называется транспозицией, если она пред- ставляет цикл длины два. Понятия инверсии и транспозиции широко использу- ются в алгоритмах сортировки. Пусть элементы п-Х расположены в случайном поряд- ке. Составим предикат: р(х., х;) = 1 тогда и только тогда, когда имеет место инверсия х(, х.. Пусть также функция transp(x., х;) осуществляет транспозицию элементов х., х., т. е. переставляет их местами. Тогда алгоритм (i = 1, п - 1(р(х., х.+1) > transpfx., х.+1)) (3.10) «выталкивает» наибольший элемент в конец списка эле- ментов множества п-Х. Решая эту же задачу повторно, для элементов множествен - j)-X, (ji = 1, п - 1) можно упорядочить все элементы п-Х по возрастанию. Алго- ритм этой сортировки запишется так: (j = 1, п - l(i = 1, п - у(р(х.,х. + 1) > transpfx., х.+1))). (3.11) В программировании он имеет наименование сорти- ровка пузырьком. Множество всех подстановок п-Х множества обознача- ют S . п В алгебре этими же символами обозначают так назы- ваемую симметрическую группу. Рассмотрим, с чем свя- зано применение этого понятия к перестановкам. Произведением подстановок f и g называют подста- новку, полученную последовательным применением вна- чале подстановки f, а затем — g, и пишут gf. Например, если (1 2 3\ /123 I, g = I 321/ \2 3 1 71
/12 3 то gf = | \1 3 2 Непосредственно проверяется, что операция произве- дения подстановок свойствами коммутативности, вооб- ще говоря, не обладает. Для того чтобы убедиться в этом, достаточно рассмотреть в предыдущем примере произве- дение fg. Применяя последовательно вначале g, а потом f, получим /12 3 fg = | \2 1 3 Докажем, что операция произведения подстановок ассоциативна, т. е. (hg)f = h(gf). Пусть а — произвольная компонента элемента пере- становки, которая применением f переходит в Ь. Запи- шем это как а —f—> Ь. Пусть также имеем Ъ с и с —h—> d. Тогда, последовательно применяя вначале (hg)f, а за- тем h(gf), получим а —f—> b, Ъ —he—> d => а —d\ а —е,~» с, с —d => а —d, что и требовалось доказать. Считается, что множество G образует группу, если каждой паре элементов f, g&G поставлен в соответствие элемент h = gf&G так, что (hg)f = h(gf) и при этом для любого /ев существует обратный элемент fx&G, такой что Л1/ = Нетрудно заметить, что в соответствии со свойством биекции, данным по определению, для любой f^Sn одно- значно установлена обратная подстановка, обозначаемая f1, которая принадлежит G. Для того чтобы ее полу- чить, достаточно поменять строки в записи f. Если те- перь обозначить е как тождественную подстановку, т. е. подстановку, переводящую каждый элемент в себя, то становится видно, что для всех feG имеем f Tf = е. Рассмотрим пример. Пусть (1 2 3\ /3 1 2\ /12 3\ |, тогда f1 = I I и ff1 = I |. 3 12/ \1 2 3/ \1 2 3/ 72
Из перечисленных свойств множества Sn следует, что оно действительно образует группу. Групповые свойства перестановок используются при доказательстве различных комбинаторных построений. Ниже мы используем эти свойства для исследования структуры соединений. 3.4. Сочетания, структура соединений Вернемся к задаче о размещениях как к построению всех функций на декартовом произведении r-S и п-Х мно- жеств. Из изложенного в 3.3 следует, что множество всех таких функций можно представить в виде двух непере- секающихся множеств: функций с повторениями значе- ний и инъективных функций. Покажем, что инъективные функции можно разбить на классы эквивалентности. Ясно, что если г > п, то множество инъективных функ- ций пусто. Это непосредственно вытекает из формулы (3.7). Поэтому будем считать, что г < п. Элементы у — {х , х2, ... х) и у' = (х', х', ... х^) эквива- лентны, если найдется такая подстановка f, что f(y) = у'. Покажем, что это отношение рефлексивно, симмет- рично и транзитивно и, следовательно, разбивает все мно- жество инъективных функций у на классы. Действительно, рефлексивность следует из суще- ствования единичной подстановки е(у) = у, симметрич- ность вытекает из существования обратной подстановки: если f(y) = у', то Лх(у') = у, транзитивность определяется правилом произведения подстановок: если f^y) = у', a f2(y') = у", то /2Цу) = у". Рассмотрим теперь вопросы о построении и числе клас- сов эквивалентности. Для построения любого класса эквивалентности выбе- рем произвольную инъективную функцию у = (хр х2, ... х) и построим все перестановки ее значений. Таких пере- становок будет г!. Множество всех этих перестановок обра- зует класс функций, замкнутый относительно всевозмо- жных подстановок на множестве {хр х2, ... х}. В качестве представителя класса можно выбрать любую из этих функ- ций. Мы выберем такую, для которой хх < х2 < ...< хг. 73
Если г = п, то этими подстановками исчерпывается все множество инъективных функций, поскольку г! = = А', в противном случае найдется функция со значени- ями (х', х', х^), из которых хотя бы одно отлично от любых других из всех предыдущих перестановок. Но тогда вместе с ней имеем еще г! перестановок, соответ- ствующих новому классу инъективных функций. Пред- ставителя полученного класса снова выберем так, чтобы было выполнено х'< х' < ...< х'. Поступая аналогично, построим все классы эквива- лентности. Обозначим число всех классов эквивалентности т. Поскольку каждый класс эквивалентности содержит г! инъективных функций, определенных на {хр х2, ..., х } и при этом имеем все классы, то ттг-r! =ЛГ. Следовательно, т= А' /г!. " (3.12) Отношение А' / г! имеет специальные обозначения: ( Пг ) ЛИб° Сп- (Первое читается: «п над г», второе — «С из п по г».) Число Сгг определяет количество классов перестановок в разбиении множества инъективных функций на клас- сы. Каждый такой класс полностью определяется своим представителем, для которого выполнено: хг< х2 < ...< хг. Поэтому можно считать, что Сгп определяет мощность мно- жества всех упорядоченных r-ок, со значениями в п-Х. Это множество имеет специальное наименование — соче- тания. Есть и другое название: r-подмножества п-Х мно- жества. Обобщая полученные результаты, получаем следую- щую теорему. Теорема 3.4. Сочетания из п различных элементов по г (п>г) эквивалентны множеству классов упорядоченных размещений, инвариантных относительно всех переста- новок входящих в них элементов. Число этих классов C; = A;/r! = n!/(d(n-r)!). Пример структуры соединений представлен на рис. 3.4. Числа Сгп исторически известны как биномиальные коэффициенты. Они обладают рядом интересных свойств, которые будут рассмотрены в следующем разделе. 74
Структура соединений F: r-S > п-Х, г = 3, п = 4. Размещений: пг (ш 112 113 114' 121 122 123 124 131 132 133 134 141 142 143 144 211 212 213 214 221 222 223 224 231 232 233 234 241 242 243 244 311 312 313 314 321 322 323 324 331 332 333 334 341 342 343 344 411 412 413 414 421 422 423 424 431 432 433 434 '441 442 443 444' Всех инъективных (упорядоченных) размещений: Arn = п(п - 1) ... (н - (г - 1)) 123 132 213 231 312 321 124 142 214 241 412 421 134 143 314 341 413 431 1234 243 324 342 423 432 перестановок: г! Сочетаний как классов инъективных размещений: С' -A^/ri = nl/(r!(n-r)!) Рис. 3.4 3.5. Свойства биномиальных коэффициентов Своим историческим названием числа С[обязаны фор- муле бинома Ньютона: (а + Ь)" = PL 0 С'агЬп~г. (3.13) В этой формуле числа Спг определяют число про- изведений arbn r, которое равно числу всех сочетаний из п по г при суммировании этих произведений от г = 0 до п. Этот факт имеет вполне комбинаторное обоснование. Формула (3.13) относится к классу производящих фун кций, которые будут рассмотрены в 3.6. Здесь же нас интересуют свойства биномиальных коэффициентов. Полагая в(3.13)а = Ь = 1, получим S;_0C;=2«. (3.14) Этой формулой выражается число всех г-подмножеств п-Х множества. Из формул (3.6) и (3.2) следует, что Сп = п(п ~ “ (г - 1)) / г! 75
Умножив и разделив обе части этого равенства на (п — г)!, получим С; = п!/(г!(п - г)!). (3.15) Из этой формулы при подстановках вместо г значе- ния (п - г) следует, что (X = С"~г. Это свойство называет- ся симметрией биномиальных коэффициентов. Далее, при г = 0 или г = п из (3.15) С° = С” = 1. (3.16) Докажем, что для Сл имеет место соотношение Сг”= Сг.+Сг~1- (3.17) Зафиксируем любой элемент х. в <хх, х2, ...хп>. Тогда множество всех r-элементных подмножеств п-Х множе- ства распадается на два непересекающихся класса: тех, что не содержат х., и тех, что его содержат. Число эле- ментов первого класса равно С ' , так как г-подмножество строится на (п—1)-Х множестве. Число элементов второ- го класса равно C'J1, поскольку эти элементы определя- ются всеми (г-1)-подмножествами, построенными на (п-1)-Х множестве, с которыми комбинирует элемент х.. Доказательство окончено. Свойства (3.16) и (3.17) позволяют расположить бино- миальные коэффициенты в виде треугольника, по краям которого записаны единицы, а каждый элемент внутри вычисляется как сумма чисел, находящихся в верхнем ряду над ним. Строки имеют номера, идущие сверху вниз, начинаясь с нуля. Ими определяются значения п в (3.17). Значения г в этом же соотношении определяются номе- ром элемента в строке. Эти значения также начинаются с нуля. Построенная треугольная таблица чисел известна как треугольник Паскаля’. 1 1 1 12 1 13 3 1 1 4 6 4 1 1 5 10 10 5 1 Она наглядно определяет значения биномиальных коэффициентов при малых значениях п и г. 76
3.6. Понятие производящей функции Из математического анализа хорошо известен ряд Маклорена: <р(х) = X; _ 0 акхк, (3.18) где ак = <pfe(0) / k\. В разложении (3.18) произвольной аналитической в окрестности нуля функции ср(х) ставится в биективное соответствие последовательность чисел ак. В комбинаторном анализе часто приходится сталки- ваться с задачами оперирования числовыми последова- тельностями, отвечающими различным комбинаторным конфигурациям. Например, могут потребоваться вычис- ление суммы биномиальных коэффициентов с различ- ными весами, как-то: X” ,Ck, X" nkCh- а также вычисления произведений рядов, составленных из этих коэффициентов, и др. В таком случае часто ока- зывается возможным упростить процесс получения ре- зультата, если сопоставить с комбинаторной последова- тельностью {afc} функцию, определяемую формальным рядом flx)-2J.,a/. (3.19) Такая /(х) именуется производящей функцией. Если в ряде (3.19) все ак, начиная с некоторого k, рав- ны нулю, то суммирование осуществляется в конечных пределах, и построенная таким образом производящая функция носит название полиномиальной. Для произвольных производящих функций 4<х) = Ч" - о akx" и = Ч" - о \хк определены операции сложения: /а(х) + /Ь(Х) - Z» _0(ак + ък) хк, (3.20) умножения на число Xf(x) = E; = 0XaX (3.21) и произведение Коши /0(x)4(x) = ^-ocZ> (3-22) где ск = Zk_0(abkJ. Поясним применение производящих функций на при- мере исследования свойств сочетаний. Пусть хр х2, ..., хп — элементы п-Х множества. Соста- вим произведение /(х) = (1 + ххх)(1 + х2х)...(1 + хпх). 77
Раскрываем в этом произведении скобки: /(х) = 1 + (Xj + х2 + ...+ хп)х + + (ххх2+ х1х3+...+ хп_1хп)х2+...+(х1х2...хп)хп. (3.23) В этой формуле каждое слагаемое х1х2...хк (1 < k < п) можно считать ^-сочетаниями из п элементов хр х2, хп. Число таких сочетаний равно Ск. Полагая в (3.23) зна- чения х = х2 = ... = х =1, получим /•(х) = X" = „ С*х* = (1 + х)" . (3.24) В данном случае производящей функцией после- довательности С* является функция (1 + х)п. Это частный случай бинома Ньютона, с которым мы встречались в 3.5. Полагая х = 1, как и в (3.13), получим Ck = 2". (3.25) Подставляя, например в формулу (3.24) х — — 1, ви- дим, что коэффициенты С* обладают следующим свой- ством Е;_о(-1)*Сл* = О. (3.26) Это свойство вытекает из симметрии коэффициентов С* и С^к, однако с помощью производящих функций оно до- казывается проще, чем комбинаторными рассуждениями. Докажем еще тождество Ск ~Ък nC‘Ck~s. (3.27) Для доказательства воспользуемся производящей фун- кцией (1 + x)n+m = (1 + х)"(1 + х)т. Перемножив соответствующие ряды по правилу про- изведения Коши, получим производящую функцию К» пСкхк Xй п Скхк = 1." С‘Ск‘хк, k = О п Л = О т k = О т п для которой С\ =Е* пС‘Ск-°, п+т 8—0 т п что в точности совпадает с (3.27). Ниже приведено комбинаторное доказательство этого же факта, которое выглядит более громоздко. Предположим, что в урне имеется п + т шаров: п — белых и т — красных. Выбор k шаров можно выполнить Ск+т способами. При этом все ^-подмножества можно клас- сифицировать по числу шаров одного цвета, например крас- ного. Любое /г-подмножество, содержащее s красных ша- ров, можно получить, выбирая s красных шаров одним из С'способов, а затем k-s белых шаров — одним из С*“спо- т п 78
собов. Таким образом, число всех подмножеств, включаю- щих s красных шаров, равно C*~s. Суммируя это произ- ведение от 0 до k, получим тождество (3.27). Эти примеры показывают, что производящие функ- ции позволяют в ряде случаев упростить доказательства комбинаторных построений. 3.7. Соединения с повторениями Задача построения всех размещений из п элементов по г рассмотрена в 3.1 — 3.3. Показано, что число всех размещений равно пг, а среди них А' — инъективных. Остальные пг—А' размещений определим как размеще- ния с повторениями. Отметим, что в случае, когда г > п, согласно (3.6), Z/ = О и можно считать, что все пг разме- щений являются размещениями с повторениями. Рассмотрим, что подразумевают под перестановками и сочетаниями с повторениями. Задача построения перестановок с повторениями сос- тоит в следующем. Пусть множество п-Х состоит из элементов различ- ных видов и при этом имеем k. неразличимых элементов i-oro вида (i = 1, q), таких, что fex + k2 +...+ kq = п. Например, 6-Х множество может иметь следующую структуру: X = {1, 1, 1, 2, 2, 3}. Тогда kT = 3, k2 = 2, k3 = 1. Построим на п-Х все перестановки и определим мощ- ность этого множества. Теорема 3.5. Если множество п-Х состоит из элементов различных видов и при этом имеем k. неразличимых эле- ментов-i-oro вида (i = 1, q), таких, что k + k2+...+ k = п, то число всех перестановок с повторениями равно п! / (Лгх! /г2! ...k\). (3.28) Доказательство. Преобразуем п-Х в индексирован- ное множество п-Х', присвоив каждому элементу п-Х' индекс, равный его порядковому номеру. Например, для п-Х из приведенного выше примера будем иметь п-Х' {I1, I2, Is, 24, 25, З6}. Далее будем считать, что элементы п-Х', имеющие разные индексы, также различны. В таком случае мощ- ность множества всех перестановок п-Х' равна п\. 79
Заметим, что каждый элемент полученного множества перестановок включает в себя все отмеченные элементы Aj-подмножества X. Учитывая это, аннулируем индекса- цию на элементах ^-подмножества. В результате имеем разбиение всего множества и! перестановок на классы эк- вивалентных (в данном случае попарно совпадающих) эле- ментов. Поскольку элементы /гх-подмножества можно пе- реставлять kJ различными способами, то столько же эле- ментов будет содержать каждый из классов. Следовательно, всего таких классов будет п!/ /гх!. Составим из представи- телей данного класса множество мощности n!/ kJ, а затем последовательно применим к нему процесс аннуляции индексов, описанный выше для k2, ..., /г^-подмножеств. В результате имеем множество перестановок с повторения- ми мощности nl/(kj kJ —kJ), что и требовалось доказать. Рассмотрим пример. Пусть 4-Х = {2, 2, 3, 3}. Проиндексируем все элемен- ты этого множества: {2х, 22, 3s, З4}, и построим все его перестановки, рассматривая его элементы как попарно различные. В таком случае имеем 4! = 24 элемента всех перестановок: <2Х223334) <2Х223433) <2Х332234) <2Х343822) <2Х342238> <2Х332234> <222х3334> <33222х34) <3422332х> <222х3433> <34222х33> <3322342х) <332х2234> <22332х34) <3433222х> <342х3322> <33342х22> <2234332х> <342х2233> <22342х33> <3334222х> <332х2234> <22382х34> (3433222х>. Аннулировав индексацию, получим <2233) <2233) <2323) <2332) <2323) <2323) <2233) <3223) <3232) <2233) <3223) <3232) <3223) <2323) <3322) <3232) <3322) <2332) <3223) <2323) <3322) <3223) <2323) <3322). Выделив представителей классов эквивалентностей, по- лучим все перестановки с повторениями: <2233) <2323) <2332) <3223) <3232) <3322). Всего перестановок в рассмотренном примере имеем 4! / (2!2!) = 6. Рассмотрим задачу построения сочетаний с повторени- ями. Пусть имеем отображение F: г-Х —> n-Y. При этом соот- ношения между г и п могут быть выбраны произвольно: г < п, г = п или г > п. Скажем, что элементы у, y'&Y эквива- лентны, если найдется такая подстановка f, что у' = f(y). 80
Как и в 3.4, доказывается, что это отношение рефлексив- но, симметрично и транзитивно, а следовательно, разби- вает все множество размещений на классы эквивалентных элементов. Обозначим число этих классов С. п Рассмотрим пример. Пусть п — г = 3. Построив все размещения, получим <111) <112) <113) <121) <122) <123) <131) <132) <133) <211) <212) <213) <221) <222) <223) <231) <232) <233) <311) <312) <313) <321) <322) <323) <331) <332) <333). Разбивая это множество элементов на классы, заме- тим, что число элементов в каждом классе будет, вообще говоря, различным. Это следует из различной повторяе- мости компонент, составляющих каждую перестановку. Например, класс, определяемый элементом 111, будет представлен в единственном числе, поскольку любая пере- становка переводит этот элемент в себя. Класс, опреде- ляемый представителем 122, согласно (3.28), состоит из трех элементов, поскольку n\/(k*k£) = 3!/(2!1!) = 3, и т. д. В рассматриваемом нами примере разбиение на клас- сы можно выполнить так, как показано в левой части рис. 3.5. На этом рисунке все сочетания с повторениями выделены курсивом. <111} (123) {112} (121) (211) (124) {113} (131) (311) (125) {122} (212) (221) (134) {123} (132) (213) (231) (312) (321) (135) {133} (313) (331) (145) {222} (234) {223} (232) (322) (235) {233} (323) (332) (245) {333} (345) Рис. 3.5 В общем случае выберем представитель у = <z/t, у2, ..., у} любого класса так, чтобы было выполнено ух у2 ...уг. Да- лее, следуя Эйлеру, поставим в биективное соответствие сочетаниям с повторениями сочетания без повторений по правилу: <i/i, У2, Уг} <=> <УР У2+1, Уг+(г - 1)). (3.29) 81
В нашем примере соответствующая биекция представ- лена левой и правой частями рис. 3.5. Число всех сочетаний без повторений в условиях (3.29) определится как C'+r_v Следовательно, столько же име- ем сочетаний с повторениями. На основании проведенных рассуждений имеем тео- рему. Теорема 3.6. Сочетания с повторениями из п элементов по г эквивалентны множеству всех классов размещений, инвариантных относительно всех перестановок входящих в них элементов. Число этих классов равно С' = = (п + Г - 1)! / (r!(n - 1)!). (3.30) Из (3.30), в частности, следует, что С'+г^ = . 3.8. Разбиения множеств Под разбиением множества п-Х на k блоков понима- ют любое семейство непустых множеств {Xt,X2, .... Xk}, таких, что X, u Х„ u...u X, = п-Х и X. n X. = 0 для 12 ft I J любых i, j < k. Например, множество {1, 2, 3, 4} можно разбить на два блока следующими способами: {{1,2,3}, {4}}, {{1,2,4}, {3}}, {{1, 3, 4}}, {2}}, {1,2}, {3,4}}, {{1,3}, {2,4}}, {{1,4}, {2,3}}, {{1}, {2,3,4}}. Теорема 3.7. Пусть S(n, k) — число разбиений мно- жества п-Х на k блоков. Тогда вычисление S(n, k) может быть выполнено рекурсивно на основе тождеств: S(n, k) = S(n - 1, k - 1) + kS(n - 1, k), если 0 < k < n, (3.31) S(n, n) = 1, если n = 0, (3.32) S(n, 0) = 0, если n > 0. (3.33) Доказательство. Формулы (3.32) и (3.33) очевидны. Для доказательства (3.31) рассмотрим множество всех разбиений п-Х на k подмножеств. Это множество можно представить двумя непере- секающимися классами: тех разбиений, которые содер- жат одноэлементный блок {и}, и тех, которые его не со- держат. В этом случае п содержится по крайней мере в двухэлементном блоке. Мощность первого класса равна S(n— 1, /г-1), т. е. такова, каково число разбиений мно- жества {1, 2, ..., и—1} на k—1 блоков. Мощность второго 82
класса равна kS(n-l, k), поскольку каждому разбиению множества {1, 2, и—1} на k блоков соответствует в этом классе ровно k разбиений, образованных добавлением элемента п поочередно к каждому блоку. Доказатель- ство окончено. Числа S(n, k) называются числами Стирлинга второ- го рода. Рассчитанные по формулам (3.31) — (3.33), они могут быть представлены в виде треугольной таблицы — треугольника Стирлинга. Треугольник Стирлинга для значений п от 0 до 7 представлен в табл. 3.1. Таблица 3.1 Числа Стирлинга второго рода п k 0 1 2 3 4 5 6 7 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 2 0 1 1 0 0 0 0 0 3 0 1 3 1 0 0 0 0 4 0 1 7 6 1 0 0 0 5 0 1 15 25 10 1 0 0 6 0 1 31 90 65 15 1 0 7 0 1 63 301 350 140 21 1 Числа Белла определяются как сумма всех разбиений от 0 до п блоков множества п-Х-. X=Z" = 0 S(n, k). (3.34) Первые восемь чисел Белла представлены в табл. 3.2 При подсчете числа разбиений необходимо иметь в виду, что числа Белла растут очень быстро. Так, напри- мер, уже при п = 20 Вп = 51 724 158 235 372. Табл ица 3.2 Числа Белла п 0 1 2 3 4 5 6 7 Вп 1 1 2 5 15 52 203 877 Рассмотрим вопрос о построении алгоритма разбиений. Каждому разбиению множества п-Х на k блоков мож- но сопоставить функцию F, отображающую множество 83
значений каждого блока разбиений на его номер в мно- жестве k-Y. Благодаря нашему построению каждая та- кая функция сюръективна. Поскольку любое разбиение инвариантно относитель- но всех перестановок составляющих его блоков, то каж- дому разбиению будет соответствовать в точности kl раз- личных сюръективных функций, отвечающих различным перестановкам номеров блоков разбиения множества п-Х. Другими словами, каждому разбиению множества п-Х на k блоков соответствует свой класс эквивалентности, построенный на множестве всех сюръективных функций из п-Х на k-Y, инвариантный относительно всех переста- новок элементов k-Y на фиксированных блоках п-Х. Обратно, всякой сюръективной функции F:n-X —> k-Y можно поставить в соответствие некоторое разбиение множества п-Х на k блоков. Для этого объединим в один блок Х.с п-Х, (I = 1, k) те значения из п-Х, которые функцией F отображаются на одно и то же значение из k-Y. По нашему построению ни один из k полученных блоков не пуст, пересечение всех этих k блоков пусто, а их объединение составляет п-Х. Следовательно, мно- жество блоков {Хр Х2, ..., Х^, определенное поставлен- ным соответствием, представляет разбиение п-Х. Определим на множестве {Хр Х2, ..., XJ функцию F*, которая отображает любой блок X. на свой собственный номер I. Ясно, что F* биективна на всяком фиксирован- ном множестве блоков {Хр Х2, ..., XJ. С другой стороны, любая из F* однозначно связана с F: она может быть получена из F путем объединения в один блок X. с п-Х, (i = 1, k) тех значений из п-Х, которые функцией F отображаются на одно и то же значение из k-Y. Проведенные выше рассуждения позволяют сформули- ровать алгоритм построения всех разбиений множества п-Х: 1. Построить на множестве всех сюръективных фун- кций F:n.-X —> k-Y все классы эквивалентности, инвари- антные всевозможным перестановкам элементов k-Y, и выбрать по представителю этих классов. 2. Каждому представителю класса F поставить в соответ- ствие биективную функцию F* с областью определения, получаемой путем объединения в один блок X. с п-Х, (i = 1, k) тех значений из п-Х, которые функцией F отобра- 84
жаются на одно и то же значение из k-Y и областью значе- ний k-Y, т. е. для каждой функции F построить такую функцию F* , что Х2, Хг} > k-Y. 3. Для каждой из F* построить искомые блоки, на основании биекции F*: {X,, Х2, ...., X) = F* l(k-Y). Из рассмотренного выше следует, что имеет место за- висимость между числами S(n, k) и множеством всех сюръективных функций F из п-Х на k-Y' каждому раз- биению соответствует свой класс эквивалентности, опре- деляемый всевозможными перестановками блоков раз- биения. Поэтому, обозначив символами sn к множество всех функций F, получим, что S(n, k)=snJk\. (3.35) В качестве примера рассмотрим применение рассмот- ренного выше алгоритма к построению всех разбиений множества п-Х = {1, 2, 3, 4} на два блока. На рис. 3.6 приведены значения всех функций, опре- деленных на 4-Х со значениями в 2-Y. Подмножество сюръ- ективных функций F выделено полужирным шрифтом. Множество п-Х представлено верх- ними прямоуголь- ными областями, представители всех классов эквивалент- ности — левой пря- моугольной облас- тью. Каждому пред- ставителю класса эквивалентности со- ответствует допол- нение класса. Дополнения по- казаны правой пря- моугольной областью. В нашем примере в каждом клас- се эквивалентности имеем всего kl — 2! = 2 элемента. Представитель каждого класса и его дополнение пред- ставлены в одной строке. На рис. 3.7 слева изображены представители классов эквивалентности, образованные множеством функций F, и cd Я Я Я Я Я га cd к ф ft к S к в я ф § га к га га П-Х 1,2,3,4 <1,1,1,1) <1.1,1,2) <1,1,2,1) <1,1,2,2) <1,2,1,1) <1,2,1,2) <1,2,2,1) <1,2,2,2) га к п-Х 1,2,3,4 cd Ч Я К Я ф и ч о я Я в я ф § и Я я я <2,2,2,2) <2,2,2,1) <2,2,1,2) <2,2,1,1) <2,1,2,2) <2,1,2,1) <2,1,1,2) <2,1,1,1) Рис. 3.6 85
п-Х k-Y 1,2,3,4 1 2 <1,1,1,2) {1,2,3} {4} <1,1,2,1) {1,2,4} {3} <1,1,2,2) {1,2} {3,4} <1,2,1,1) {1,3,4} {2} <1,2,1,2) {1-3} {2,4} <1,2,2,1) {1,4} {2,3} <1,2,2,2) {1} {2,3,4} Рис. 3.7 а справа — искомые бло- ки разбиения множества п-Х. Эти блоки получены путем построения всех отображений F* -1: {Хх, Х2, X) = F*~\k-Y). 3.9. Разбиения чисел Под разбиением числа п понимается его пред- ставление в виде п = Xj + х2 +...+ хк (х. > О — целое). При этом порядок слагаемых не существенен, а Xj>x2>...> Xk. Суммы считаются эквивалентными, если они отлича- ются лишь порядком слагаемых. Число разбиений числа п на k слагаемых будем обо- значать Р(п, k), а число всех разбиений — Р(п). Очевидно, что Р(п) = , Р(п, k), п> 0. (3.36) k 1 2 4 5 6 7 Разбиения п P(n,k) 7 1 6 1 3 5 2 4 3 5 11 4 4 2 1 3 3 1 3 2 2 4 111 3 3 2 11 2 2 2 1 3 1111 2 2 2 111 2 111111 1111111 1 Рис. 3.8 86
Рассмотрим пример. Пусть необходимо получить все разбиения числа п = 7. Это возможно сделать различны- ми способами, показанными на рис. 3.8. Разложение Р(п) в сумму Р(п, k) делает наглядной структуру разбиений числа п, однако вычисление значе- ний Р{п) непосредственно по формуле (3.36) не всегда возможно, поскольку сами значения Р(п, h) заранее, как правило, неизвестны. Для подсчета Р(п) удобно воспользоваться функцией Q(m, п), значением которой является число способов пред- ставления целого т в виде суммы при условии, что каж- дое слагаемое не превосходит п. Число разбиений целого п равно Q(n, п) = Р(п). Теорема 3.8. Пусть Q(m, п) — функция, значением которой является число способов представления целого т в виде суммы при условии, что каждое слагаемое не превосходит п. Тогда функция Q(m, п) удовлетворяет следующему рекурсивному определению: Q(m, п) = [(тп = 1) v (n = 1) —> 1, (m < п) —> Q(m, т — 1), (т = п) —> 1+ Q(m, т - 1), (т > п) —> Q(m, п - 1) + Q(m - п, п)]. (3.37) Доказательство. Такое определение функции Q вы- текает из следующих рекурсивных рассуждений. • Если п = 1, то Q(m, 1) = 1, поскольку существует только одно разбиение числа т, в котором наибольшее слагаемое есть единица. • Если т = 1, то Q(l, п) = 1, так как существует только одно разбиение целого числа 1, независимо от величины п как наибольшего слагаемого. • Если т < п, то Q(m, п) — Q(m, т) означает, что никакое разбиение т не может содержать слагаемого п, большего т. • Если п = т, то Q(m, т) = 1 + Q(m, т — 1) опреде- ляет существование только одного разбиения т со слага- емым, равным т; при этом все другие разбиения имеют наибольшее слагаемое п < т — 1. • Если т > п, то Q(m, п) = Q(m, п — 1) + Q(m - п, п), поскольку любое разбиение т с наибольшим слагаемым, меньшим или равным п, либо не содержит и в качестве слагаемого — в этом случае данное разбиение также вхо- 87
дит в число Q(m, п - 1), либо содержит п — при этом остальные слагаемые образуют разбиение числа т — п. Доказательство окончено. При исследовании свойств чисел Р(п) могут также оказаться полезными диаграммы Феррерса. Диаграмма Феррерса состоит из k строк, соответствующих слагае- мым разбиения, причем i ая строка содержит последова- тельность из х. точек. Например, разлагая 7 на четыре слагаемых, имеем одну из диаграмм Феррерса (рис. 3.9). k • , 7 = 3+ 2 + 14-1 Рис. 3.9 Каждому разбиению, изображенному диаграммой Фер- рерса соответствует сопряженное разбиение, которое полу- чается заменой строк столбцами (рис. 3.10). k , 7 = 4 + 2 + 1 Рис. 3.10 Непосредственно из определения диаграммы Феррер- са следует, что число разбиений числа п на k слагаемых равно числу разбиений числа п с наибольшим слагаемым, равным k. Некоторые другие полезные утверждения, основанные на построении диаграмм Феррерса, приведены в [3]. Получим алгоритм генерирования всех разбиений чис- ла п. Пусть п = аг + а2 + ... + ак. Обозначим s < п такое, что ( а. + 1 + 1 + ... + 1 , если k > j, s = < ' I а. в противном случае, где i = max(m: ат > 1), j = а,- 1. 88
Для построения этого алгоритма достаточно заметить, что разбиение s', непосредственно следующее за s, имеет вид s' = X, Ls z j + (s mod j), где символами |_ s/j] обозначено наибольшее целое, не превосходящее s/j. При этом все элементы разбиения п: av а2, ..., a._t являются общими как для s, так и для s'. Инициация алгоритма осуществляется значениями i = 1, а. = п, j = п — 1, k = 1. 3.10. Композиции чисел Под композицией числа п на k слагаемых х , х2, ..., хп понимают k перестановку (вообще говоря, с повторения- ми), удовлетворяющую условию п = хг + х2 +...+ хп. Выпишем, например, все композиции числа 3:' 3 = 3, 3 = 2 + 1, 3 = 1+2, 3 = 1 + 1 +1. Число композиций 'Vik, п) числа п из k слагаемых равно числу способов распределения п шаров по k урнам при условии отсутствия пустых урн. Число шаров, по- павших в урну с номером i, дает слагаемое х_. Отсюда следует, что T(fe, п) = С^. Следовательно, число всех композиций числа п равно 2,<к п) = С*;1 = 2П1. l<k<n v ' l<k<n п -1 Предположим, что п2, ..., пк — целые положи- тельные числа. Обозначим через Дп) количество всех ком- позиций вида: п = хр х2, ..., хт, где т произвольно, а части х. принимают любое из значений пг, п2, ..., пк. Количество тех композиций числа п, в которых пос- ледней частью является п., очевидно равно f(n — nj). Следо- вательно, f(n) = f(n - nt) + f(n - n2) +...+ f(n - nk). (3.38) При этом ДО) = 1 и Дп) = 0, если п < 0. Пусть, напри- мер, пг = 4, п2 = 6, п3 = 10. Тогда ДО) = 1; Д1) = Д2) = ДЗ) = 0, Д4) = 1, Д5) = 0, Д6) = 1, Д7) = 0, Д8) = Д4) + Д2) = 1, Д9) = 0, ДЮ) = Д6) + Д4) + ДО) = 3, ДИ) = Д7) + f(5) + Д1) = 0 и т. д. К рассматриваемой задаче сводится решение вопроса, возникающего в теории информации. По информацион- 89
ному каналу передаются электронные документы несколь- ких типов. Длительность передачи каждого типа доку- ментов равна соответственно п,, п2, пк единиц време- ни. Какое общее число документов можно передать за промежуток времени длиной п? Это количество f(n) можно подсчитать, пользуясь рекуррентной формулой (3.38). Задачи 3.1. Электронные документы передаются по семи ка- налам связи из пункта Л в пункт В. В пункте В докумен- ты редактируются и передаются обратно в пункт А. а) Сколькими способами можно передать документ из пункта А в пункт В и обратно? б) Дать ответ на тот же самый вопрос, если документ не может вернуться в пункт А по тому же каналу, по которому он был передан в пункт В. 3.2. В борьбе за призовые места на студенческой олим- пиаде по информационным технологиям участвуют 16 ко- манд. Сколькими способами могут быть распределены первое и второе место? 3.3. Сколько четырехзначных чисел можно составить из цифр 0, 1, 2, 3, 4, 5, если: а) ни одна из цифр не повторяется более одного раза; б) цифры могут повторяться; в) числа должны быть нечетными (цифры могут по- вторяться)? 3.4. Сколько имеется пятизначных чисел, которые делятся на пять? 3.5. На одной из боковых сторон треугольника взято п точек, на другой — т точек. Каждая из вершин при основании треугольника соединена прямыми с точками, взятыми на противоположной стороне: а) сколько точек пересечения этих прямых образует- ся внутри треугольника? б) на сколько частей делят треугольник эти прямые? 3.6. Сколько существует двузначных чисел, у кото- рых обе цифры четные? 3.7. Сколько существует пятизначных чисел, у кото- рых все цифры нечетные? 3.8. В прямоугольной таблице из т строк и п столб- цов записаны числа +1 и —1 так, что произведение чисел 90
в каждой строке и каждом столбце равно 1. Сколькими способами можно таким образом заполнить таблицу? 3.9. В электронной библиотеке имеется 10 статей по заданной тематике. Сколькими способами можно скопиро- вать три статьи на диск на локальном компьютере? 3.10. В электронной папке содержится 5 документов. Выбранный наугад документ копируется в другую пап- ку, после чего еще один выбранный наугад документ копируется на дискету. Сколькими способами можно проделать эти операции? 3.11. Сколькими способами можно разместить на пол- ке 5 книг? 3.12. Сколькими способами можно разместить элемен- ты множества {1, 2, ..., 2п} так, чтобы каждое четное число имело четный номер? 3.13. Сколько можно составить перестановок из п книг, в которых данные 2 книги не стоят рядом? 3.14. Сколькими способами можно расположить на шахматной доске 8 ладей так, чтобы они не могли бить друг друга? 3.15. Сколькими способами можно разместить 4 доку- мента на 25 местах? 3.16. Учащемуся необходимо сдать 4 экзамена на протя- жении 8 дней. Сколькими способами это можно сделать? 3.17. Имеется 10 электронных документов, три из кото- рых нужно поместить в очередь на печать на лазерном принтере. Сколькими способами это можно сделать? 3.18. Имеется 5 компьютеров и 4 пользователя. Сколь- кими способами можно распределить пользователей по компьютерам, если каждому пользователю должен достаться компьютер и не разрешается работать двум пользователям за одним компьютером? 3.19. Имеется 10 символов, которые можно исполь- зовать для составления двухбуквенного кода электрон- ного документа. Сколько кодов можно составить из этих символов? 3.20. В библиотеке 5 книг по информационным техно- логиям. Сколькими способами можно выбрать из них 3 книги? 3.21. Сколькими способами из 7 документов можно выбрать 3? 91
3.22. В компьютерной сети работают п пользователей, причем каждый из них связался с остальными по E-mail в течение одного часа один раз. Сколько сеансов связи пользователей друг с другом произошло в течение этого часа? 3.23. В скольких точках пересекаются диагонали вы- пуклого n-угольника, если никакие 3 из них не пере- секаются в одной точке? 3.24. Дано п точек, никакие 3 из которых не лежат на одной прямой. Сколько прямых можно провести, соеди- няя точки попарно? 3.25. На плоскости проведено п прямых так, что ника- кие 2 из них не параллельны и никакие 3 не пересекают- ся в одной точке: а) найти количество точек пересечения этих прямых; б) сколько треугольников образуют эти прямые? в) на сколько частей делят плоскость эти прямые? г) сколько среди них ограниченных частей и сколько неограниченных? 3.26. Сколько имеется четырехзначных чисел, у ко- торых каждая следующая цифра больше предыдущей? 3.27. Сколько существует четырехзначных чисел, у которых каждая следующая цифра меньше предыдущей? 3.28. В выпуклом n-угольнике проведены все диа- гонали. Известно, что никакие три из них не пересекаются в одной точке. На сколько частей разделится при этом многоугольник? 3.29. В компьютерном классе имеется 6 компьютеров. Для научного эксперимента требуется отобрать 4 компь- ютера. Сколькими способами можно это сделать? В задачах 3.30 — 3.32 получить производящие функ- ции для следующих последовательностей: 3.30. ап = а", (л = О, 1, ...). 3.31. а" = Ск, (k = 0, 1, ..., л). 3.32. ak = Ск+к, (Л = 0, 1, ...). 3.33. Сколько всего различных неупорядоченных пар цифр можно выбрать из цифр О, 1, 2, ..., 6? 3.34. Сколько различных слов можно получить, пере- ставляя буквы в слове «математика»?
4 . ОСНОВЫ ТЕОРИИ ГРАФОВ 4.1. Основные понятия и определения Пусть дано множество V = {п , о2, ..., vn} и в V определе- но семейство U — {и±, и2, .... ит} пар элементов ик = {и., щ}, (k = 1, т) произвольной кратности и упорядочения. Пара {V, 17} называется граф. Графы, как правило, обозначают прописными латинскими буквами, например G, Н. При- нято также писать G(V, U) для того, чтобы определить некоторый конкретный граф G. Элементы v2, .... ип называются вершинами графа, а пары uh — {u, v^, (k = 1, т) — ребрами. Определению графа можно дать следующую интер- претацию. Пусть имеем описание графа: G(V,E) = {{ иг, v2, ..., о6}, { { и,}, <о5, vj, {и3, v4}, <иг> из>’ vs Hl- Это описание можно отобразить графически, как пока- зано на рис. 4.1. На этом рисунке некоторые ребра отме- чены стрелкой, а соответствующие им пары вершин в описании графа выделены угловыми скобками. Это свя- зано с тем, что для некоторого произвольного ребра можно принимать или не принимать во внимание порядок распо- ложения его концов. Рис. 4.1 Если этот порядок не существенен, то ребро называется неориентированным, в противном случае ребро называ- ется ориентированным. Ориентированные ребра называ- ются также дугами. 93
Для ориентированного ребра определены понятия на- чальной и конечной вершины. Начальная вершина записы- вается в начале пары вершин, определяющих дугу, а конеч- ная — в конце. Так, на рис. 4.1 ребра (i?5, и (о2, ия) являются дугами. Они представлены упорядоченными пара- ми вершин и в связи с этим обозначены так же, как обозна- чаются упорядоченные множества. Ребра {bp i?3}, {i?3, v4} неориентированы. Для любого неориентированного ребра полагают, что {о(, = {и., и.} так же, как и в случае неупорядоченных множеств. Реб- ро {о., о.} называется петлей. На рис. 4.1 имеем петлю {i>3, oj. Петли обычно неориентированы. Граф, у которого все ребра неориентированы, назы- вается неориентированным. Неориентированное ребро может быть эквивалентно паре ориентированных ребер, если это возможно по условию задачи. Граф, у которого все ребра ориентированы, называет- ся ориентированным или орграфом. На рис. 4.1 приведен смешанный граф, т. е. содер- жащий как ориентированные, так и неориентированные ребра и петлю. Многие теоремы и определения в теории графов могут быть отнесены как к ориентированным, так и к неориенти- рованным графам. В таких случаях для обозначения ребер применяют круглые скобки, например ребро {о3, v4} в гра- фе рис. 4.1 можно обозначать (vg, иЛ) либо (о4, о3), а ребро (р5, nJ — соответственно как (ц., О]), указав при этом, что данное ребро представляет дугу. Принято также обозначе- ние всех ребер круглыми скобками как в случае ориенти- рованных графов, так неориентированных, если совершен- но ясно, о каком из типов этих графов идет речь в тексте. Некоторые вершины графа G могут не войти в список пар. Такие вершины называются изолированными. В рас- смотренном примере это вершина v6. Граф, у которого все вершины изолированы, называется нулъ-графом. Множество ребер такого графа пусто. Антиподом нуль-графа является полный граф. Ребрами полного графа являются все возможные пары его вершин. Как в случае ориентированного графа, так и в случае неориентированного, говорят, что ребро инцидентно паре определяющих его вершин. 94
Одной и той же паре вершин можно поставить в соот- ветствие множество инцидентных ребер. Такие ребра называются кратными. Так, на рис. 4.2 представлена пара вершин (и, и), инцидентных трем различным реб- рам и2, и3. Одно из них направлено, а два — нет. Рис. 4.2 Граф называется плоским, если он может быть изоб- ражен на плоскости так, что все пересечения ребер есть его вершины. Так, граф, приведенный на рисунке 4.1, плоским не является, а на рис. 4.2, — плоский. Если граф G представлен конечным множеством ре- бер, то он называется конечным, независимо от числа вершин. В противном случае граф называется бесконеч- ным. Граф Н называется частью графа G или частичным графом Н с G, если множество его вершин V(H) содер- жится в множестве вершин V(G) графа G и все ребра Н являются ребрами G. Частным, но важным типом час- тичных графов являются подграфы. Пусть А — подмножество множества вершин V графа G. Подграф G(A) графа G есть такая часть графа, множе- ством вершин которого является А, а ребрами — все реб- ра из G, оба конца которых лежат в А. Для любой части Н графа определена дополнитель- ная часть Н (дополнение), состоящая из всех тех ребер, которые не принадлежат Н, и всех инцидентных им вер- шин. 4.2. Графы и бинарные отношения Пусть на множестве V = {а, Ь, с, ..., г} задано бинар- ное отношение R, т. е. определено множество U упоря- доченных отношением R пар вершин. Ясно, что любое такое отношение вместе с множеством V представляет некоторый граф G = (V, U). 95
Обратное, вообще говоря, не верно. Неоднозначность определяется тем, что на графах кратность ребер может быть задана произвольно, в то время как на бинарном отношении кратность вводить не принято. В остальном связь между графами и бинарными отношениями оказы- вается столь тесной, что представляет интерес ее отдель- ное рассмотрение. Пусть на множестве V = {а, Ъ, с, ...} заданы отношение R и граф G = (V, U) так, что R определено на V и порождает UR a U, т. е. R выделяет часть графа Н cR. Если R рефлексивно, т. е. aRa Va g R, to Ur представ- ляет множество петель на каждой из вершин VR. Если R симметрично, т. е. aRb —> bRa \/а G R, то каж- дому ребру Н соответствует ребро противоположной на- правленности, что может быть эквивалентно неориентиро- ванному графу. Если R транзитивно, то Н вместе с любыми дугами (а, Ь), (b, с) G UR содержит и их замыкание (а, с). Напомним, что отношение R, удовлетворяющее свой- ствам рефлексивности, симметричности и транзитив- ности, является отношением эквивалентности. Следова- тельно, если для графа G на множестве V определено отношение эквивалентности R, то такой граф представ- ляется прямой суммой полных графов — подграфов G, определенных на классах эквивалентностей. Так, на рис. 4.3 приведен граф G, представленный прямой сум- мой трех полных подграфов Gx, G2 и Gg. G — Gt G2 G2 Рис. 4.3 Напомним, что отношение а > b, а, Ъ G V называется частичным упорядочением, в смысле «равно или следует за», если оно обладает следующими свойствами: 96
• a > a; • a> b и b > а ч a = b; • а>ЬиЬ>с->а>с. Из этих свойств следует, что если на множестве вершин графа G определено частичное упорядочение, то граф G имеет петли, любые его две вершины соединены дугой, а для каждой пары дуг, инцидентных одной и той же вершине, определена замыкающая их транзитивная дуга. Пример такого графа приведен на рис. 4.4. Если потребовать, чтобы отношение а > b имело стро- гую частичную упорядоченность, то а — Ъ не имеет места и соответствующий граф представляется без петель. Если множество V упорядочить линейно, то станет справедливо только одно из соотношений: а > Ъ или Ъ > а. Соответствующий граф представлен на рис. 4.5. Рис. 4.5 Для любого отношения R существует обратное от- ношение Л-1 такое, что bR'a тогда и только тогда, когда aRb. Если R = R'1, то такое отношение называется сим- метри ческим. Любое симметрическое отношение эквивалентно либо неориентированному графу, либо графу, в котором каж- дой дуге соответствует дуга противоположной направлен- ности. 4. Дискретная математика 97
Нулевому отношению отвечает нуль-граф, универ- сальному отношению — полный граф. 4.3. Понятие изоморфизма и изоморфизм плоских графов Один и тот же граф можно изображать по-разному. Во-первых, в соответствии с описанием графа верши- ны допускается представлять точками, которые в про- странственном отношении могут располагаться произ- вольно друг по отношению к другу, но так, чтобы раз- ным вершинам отвечали бы и разные точки. Очевидно, что в этом случае, несмотря на то, что визуальное изоб- ражение графа может существенно измениться, оба изоб- ражения — исходное и измененное •— должны соответ- ствовать одному и тому же описанию графа. Во-вторых, можно перенумеровать вершины уже изобра- женного графа и при этом потребовать не различать описа- ний, поскольку граф при этом фактически остался тем же. В таких ситуациях необходимо четко определиться, какие графы считать одинаковыми, а какие — разными. С этой целью вводится понятие изоморфизма графов. Слово «изоморфизм» в переводе с греческого означает — одинаковой формы. Графы G(V,U) и G' (V', U') называются изоморфными, если существует биекция между множествами вершин V и V, а также между множествами ребер U и U', сохраняю- щая отношение инцидентности: если v е V, v е V, и е U и и' е U', то вершина о' инцидентна ребру U' тогда и толь- ко тогда, когда вершина v инцидентна ребру U. Графы, содержащие различное число вершин или ре- бер, не могут быть изоморфными. Понятие изоморфизма позволяет упростить решение ряда задач. Поясним это на примере решения задачи укладки графов. Под укладкой графа понимают такое его изоморфное преобразование, при котором граф ста- новится плоским. Задача укладки имеет применение, например, при разработках информационных, транспортных, энергети- ческих сетей и т. д. Одной из первых задач укладки графов была следую- щая старинная шуточная задача. Три поссорившихся 98
соседа имеют три общих колодца. Можно ли провести непересекающиеся дорожки от каждого дома к каждому из колодцев? Строгое доказательство невозможности получения положительного решения этой задачи принадлежит Жор- дану. Им была доказана следующая теорема, которая на первый взгляд кажется очевидной. Теорема 4.1 (Жордан). Если L — непрерывная за- мкнутая кривая без самопересечений на плоскости, то L делит плоскость на внешнюю и внутреннюю области так, что любая непрерывная линия, соединяющая две точки х и у с внутренней и внешней областью, пересекает L. Построим для задачи о трех соседях и трех колодцах граф, соответствующий взаимному расположению домов и колодцев. Этот граф изображен на рис. 4.6 слева. На рис. 4.6 справа изображен граф, изоморфный исходно- му. Из теоремы Жордана следует, что соединение вер- шин vdS и vk2 ребром без пересечения с замкнутой кри- вой L не представляется возможным. Конечно, пытаясь получить любое другое решение задачи, можно перенумеровать вершины нашего графа, однако, поскольку перенумерация вершин любого графа с сохранением инцидентности этих вершин ребрам при- водит к изоморфизму этих же графов, то и в общем слу- чае имеем отрицательное решение задачи о трех колод- цах и трех поссорившихся соседях. Граф, изображенный на рис. 4.6 слева, получил спе- циальное обозначение Agg. Другой, замечательный в отношении планарности граф, представлен на рис. 4.7. Этот граф имеет обозна- 99
чение C75S. Обозначение U обычно принимается для пол- ных графов. То, что граф U56 не плоский, доказывается точно так же, как и для графа А,3. В теории плоских графов один из фундаментальных результатов принадлежит Понтрягину и Куратовскому. Ими доказана следующая теорема. Теорема 4.2 (Понтрягин и Куратовский). Для того чтобы граф G был плоским, необходимо и достаточно, чтобы он не содержал частичного графа, изоморфного Аз или и&- Доказательство этой теоремы ввиду его громоздкости мы опустим. 4.4. Степени вершин графа Пусть G — неориентированный граф. Степенью вершины v в графе G без петель называется число ребер р(и), инцидентных этой вершине. Теорема 4.3. Сумма степеней всех вершин графа без петель равна удвоенному числу т его ребер: Е“_, р(о.) = 2т. (4.1) Доказательство. Подсчет всех степеней вершин гра- фа можно вести по вершинам. Количество ребер, инци- дентных вершине и, равно р(и). Но при этом каждое реб- ро считается дважды: в начальной и конечной верши- нах. Следовательно, имеет место (4.1). Теорема 4.4. Число вершин, имеющих нечетную сте- пень, четно. Доказательство. Обозначим Sj и S2 — количество всех вершин графа, имеющих нечетную и соответственно — четную степень. По теореме 1 + S2 = 2т. Следователь- 100
но, Xj = 2т — Х2. Правая часть этого соотношения четна. Поэтому четна и левая. Теорема доказана. Граф G называется однородным степени г, если ло- кальные степени всех его вершин равны г. Примерами таких графов являются правильные многогранники: куб, октаэдр и т. д. Из формулы (4.1) следует, что в однородном графе степени г число ребер т = пг / 2. (4.2) Рассмотрим теперь случай ориентированного графа G. Обозначим через р(п) и p*(v) числа ребер, выходящих из вершины v и соответственно входящих в вершину о. Эти числа называются локальными степенями вершины V. Для числа ребер в G, аналогично (4.1), имеем m = j р(п.) = Z"_ j р*(п ). (4-3) Ориентированный граф называется однородным степе- ни п, если все его локальные степени имеют одно и то же значение р(и) = р*(п) = п (4.4) для любой вершины из G. Для однородного ориентированного графа имеет мес- то соотношение, аналогичное (4.2): т - пг. (4.5) 4.5. Представление графов матрицами Матричные представления графов используются при решении прикладных задач, особенно в тех случаях, когда при моделировании предметной области применяются алгебраические доказательства. Пусть имеем граф G{V, U). Его матрицей смежности называется квадратная матрица (а ) порядка п2, где п — число вершин, а а.. — число ребер, инцидентных верши- нам о. и о.. Если граф не имеет кратных ребер, то а = 1, когда V. и о. смежные, и а.. = О, когда и. и и. не смеж- ные. Если граф не имеет петель, то все его диагональные элементы равны нулю. Рассмотрим примеры. На рис. 4.8 изображены три неориентированных графа. В первом случае (рис. 4.8, а) имеем граф без петель и без кратных ребер. Во втором случае (рис. 4.8, б) имеем кратные ребра. В третьем случае (рис. 4.8, е) в вершинах 101
Рис. 4.8 Pj и t>4 имеются петли. Соответствующие этим трем слу- чаям матрицы смежности представлены ниже: а) 'О 1 О Г 10 11 0 10 0 .110 0. б) '0 2 0 3" 2 0 11 0 10 0 .3 10 0. '0 10 1" 10 11 0 10 0 .110 2. Для неориентированного графа матрица смежности яв- ляется симметрической. Для ориентированного графа матрица смежности симметрической, вообще говоря, не является. Матрицей инциденций неориентированного графа называется матрица (а ) размера п т, где п — число вершин, ат — число ребер, построенная по правилу 11, если i-ая вершина инцидентна j-ому ребру, 0 — в противном случае. Соответствующие рис. 4.8 матрицы инциденций пред- ставлены ниже: '111110 0' 1100011 0000001 Д) 0 1 1 1 1 0- . Примечание. Для графа на рис. 4.8 приняты следующие обозначе- ния ребер: «1 = (U1’U2)1> а2 = (УРУ2)2’ аз = (у1’у4)1’ а4 = (У1’У4)2’ а5 = аб = а7 = (и1’р2)- Матрица инциденций неориентированного графа об- ладает следующими очевидными свойствами: • в графе без петель каждый столбец этой матрицы имеет в точности две единицы, соответствующие паре вершин ребра, 102
• если в графе имеются петли, то в столбцах, соответ- ствующих петлям, имеется по одной единице, а в ос- тальных — по две. Матрицей инциденций ориентированного графа назы- вается матрица (а ) размера п т , где п — число вер- шин, ат — число ребер, построенная по правилу (1, если i-ая вершина начальная для уого ребра, -1, если i-ая вершина конечная для /ого ребра, О, в случае когда вершина и ребро не инцидентны. Рассмотрим, например, граф, изображенный на рис. 4.9. Рис. 4.9 Построенная в соответствии с описанным правилом матрица инциденций этого графа имеет вид <1 100000> -10-10000 0-111000 0 0 0 -1 -1 1 о 0 0 0 0 1 -1 1 <0 0 0 0 0 0 -1> . Примечание. Для графа на рис. 4.9 приняты следующие обозначе- ния дуг: а! = а2 = (иРи3)’ аз = (из’у2)’ а4 = °5 = (U5’V4)> a6 = а7 = <V6’y5)- Ориентированный граф, как правило, петель не со- держит. Его матрица инциденций имеет в каждом стол- бце +1 и —1, которые отвечают началу и концу каждого ребра. 4.6. Представление графов списками инцидентности. Оценка пространственной сложности алгоритмов Применение компьютерных технологий, связанных с решением задач на графах, породило новые способы пред- ставления графов. Это связано с тем, что матричное описа- 103
ние графов, будучи весьма привлекательным с точки зре- ния теоретических доказательств, приводит к неоправдан- но большому расходу оперативной памяти компьютера. Под пространственной характеристикой сложнос- ти алгоритма понимают оценку 0(/(пр п2, ..., nfc)) требу- емой памяти компьютера в зависимости от мощностей п , п2, ..., пк множеств исходных данных при неограни- ченном увеличении этих мощностей. По определению классического анализа <р(п) = 0(/(п)) означает, что | <р(п) | < Af(n) при п —> <» для любых поло- жительных А, т. е. оценка O(f(nlt п2, ..., пД) является асимптотической. При оценке пространственных затрат алгоритмов фу- нкцию <р(п) обычно определяют как требуемое число ячеек памяти в зависимости от п. Для вычисления Дп) имеем уравнение lim <р(п) / f(n) = const, n В случае представления графов матрицами смежнос- ти видим, что f(n) = п2, где п — число вершин графа и <р(и) = 0(п2). В случае представления графов матрицами инци- дентности имеем f(n, nJ) — nvnu, где nv, пи — соответственно число вершин и число ребер графа и ф( nv, пи) = O(nvnu). Исследования показали, что пространственные зат- раты можно уменьшить, если изменить способ представ- ления графов. В качестве альтернативы был предложен способ, именуемый представление графов списками ин- цидентности. Такое представление в программировании базирует- ся на понятиях указателя, записи и списка. Пусть имеем некоторое множество переменных: А, В, С, ... . Поставим каждой из этих переменных в однознач- ное соответствие некоторое целое число. Это число назо- вем указателем на переменную, например А, и обозначим @4 в формулах либо А на графиках. Указатель на несу- ществующую переменную условимся обозначать специ- альным символом — nil. Так, при размещении данных в памяти компьютера указатель представляет физический адрес ячейки памя- ти, где находится соответствующая переменная. 104
Под записью понимают поименованное упорядоченное множество переменных. Например, переменные <х, у, г> можно поименовать так: А — <х, у, z>. При этом пред- полагается, что переменные х, у или 2 представляют любые математические объекты, например скаляры, век- торы и т. д. Эти переменные называются полями записи. Для того чтобы адресоваться, скажем, к полю х записи А применяют обозначение: А.х. Под списком понимают упорядоченную последова- тельность записей, в которой каждая предыдущая запись содержит в качестве одного из полей указатель на после- дующую запись. Кроме того, определен указатель на пер- вую запись как на начало списка, а последняя в качестве поля указателя содержит nil. Таким образом, список любого числа записей полностью определяется указате- лем на его начало. Списки инцидентности строятся следующим образом. Имеется общая таблица начала, в которой представле- ны указатели на начало списков каждой из вершин гра- фа G. Каждая запись имеет минимум два поля. В одно из них помещается номер вершины, смежной с той, что приведена в таблице начала, а в другое — указатель на следующую запись. Каждая последующая запись имеет аналогичную структуру. Она представлена полем верши- ны, смежной с таблицей начала, и указателем на следую- щую запись. При этом, если вершина начала инцидент- на кратным ребрам, то соответствующая смежная ей вер- шина должна повторяться в списке столько раз, какова кратность ребра. Таким же образом строятся все осталь- ные списки для каждой из вершин таблицы начала. Списки инцидентности на примере представления гра- фа (рис. 4.9) приведены на рис. 4.10. Из описанного построения видно, что каждый список инцидентности представляет множество ребер, инциден- тных данной вершине графа. Множество всех списков, отвечающих каждой из вершин некоторого графа G, пред- ставляет данный граф. В теоретико-множественной формулировке списки могут быть представлены упорядоченным семейством упорядоченных множеств. Например, граф, изображен- ный на рис. 4.9, представляется следующим семейством: 105
{V2, Vs), (0), (v2, P4>, (0),<n6), <P5». В данном семействе порядковый номер списка соответ- ствует номеру вершины графа, а элементы каждого из списков определяют множество ребер, инцидентных дан- ной вершине. Р1 V2 V3 nil F »2 nil . к. nil F F nil v. ь- V3 nil F > F Ve nil Рис. 4.10 Такой способ представления графов обладает тем пре- имуществом, что общее количество числа необходимых для этого ячеек памяти определяется всего лишь как 0(п+т). Кроме того, структура мобильна в отношении к преобразованиям графа, связанных с добавлением или уменьшением числа его ребер: ребро просто включается в список либо удаляется из списка. Отметим, что в различных языках программирования имеются эффективные средства организации и обработ- ки списков. 4.7. Маршруты, цепи, циклы и связность Пусть G — конечный граф. Маршрутом S в G назы- вается последовательность ребер, S = (ир и2, ..., ип), (4.6) в которой любые соседние два ребра и. , и, (i = 2, п) имеют общую вершину. На графах допускаются маршруты, в которых не при- нимаются во внимание направления ребер. Такие марш- руты называются неориентированными. Пусть на графе определен маршрут (4.6). Та вершина ребра Uj, которая не является общей с вершиной ребра и2, называется начальной вершиной маршрута S. Аналогично вводится понятие конечной вершины мар- шрута: та вершина ребра ип, которая не является общей с вершиной и г называется конечной вершиной марш- рута S. 106
Остальные вершины маршрута S называются внут- ренними. Нулъ-маршрутом называется маршрут, не содержа- щий ребер. Вершина и. называется достижимой из вершины и., если существует маршрут из и. в и.. Для определенности считают, что любая вершина и. достижима из себя нуль- маршрутом независимо от наличия петель. Неориентированный граф называется связным, если все его вершины попарно достижимы. Неориентированный граф называется соотнесенным, если он получен из ориентированного либо смешанного графа заменой всех дуг на неориентированные ребра. Ориентированный либо смешанный граф называется связным, если связан соответствующий ему соотнесен- ный граф. Ясно, что отношение достижимости, построенное на ребрах графа, является отношением эквивалентности и разбивает любой граф на классы связных подграфов. Маршрут называется цепью, если все его ребра различ- ны, и — простой цепью, если все его вершины различны. Цепь называется циклом, если начальная и конечная вершины цепи равны. Другое определение цикла — зам- кнутая цепь, которое понимается в первоначальном опре- делении. Цикл называется простым, если все его вер- шины различны. Началом (концом) цикла можно считать любую из его вершин. На ориентированном графе аналогично понятию цепи вводится понятие пути, а аналогично понятию цикла — понятие контура. Путь — это ориентированная цепь. Контур — это замкнутый путь. Рассмотрим примеры различных мар- шрутов на графе G (рис. 4.11). Маршрут (u4, Up u2) является простой цепью. Маршрут (u4, Up и2, и3, и7, а4) цепью не является, поскольку ребро встречается в нем дважды. Маршрут (u4, и3, и2, и4) представляет цепь, но не простую, поскольку вершина v3 встречается на ней дважды: как начало ребра и как конец ребра us. Такая цепь содержит в себе цикл. В данном случае в цепи (u4, и3, и2, и4) имеем цикл 107
(u3, u2, Uj). Этот цикл простой. Примером не простого цикла может служить маршрут (u1, и2, и3, и7, и6, п5). Существенный интерес в теории графов, а также для приложений представляют маршруты, которые образу- ют эйлеровы и гамильтоновы циклы и цепи. Такие мар- шруты рассматриваются нами ниже. 4.7. Эйлеровы циклы и цепи Считают, что начало теории графов положила задача, предложенная Эйлером. В каких случаях конечный граф можно определить циклом без дополнений? Если граф G представим таким циклом, то он называется эйлеровым графом. Теорема 4.5. Конечный граф G является эйлеровым графом тогда и только тогда, когда он связан и все степе- ни его вершин четны. Доказательство. Условие связности, очевидно, необ- ходимо. Условие четности степеней вершин также не- обходимо, поскольку цикл, выйдя по одному ребру, дол- жен возвратиться по другому. Докажем достаточность. Предположим, что необходи- мые условия выполнены. Начнем строить цепь из произ- вольной вершины а = v0 и будем продолжать ее, перехо- дя от 1>ок от Oj к о2 и так далее, последовательно отме- чая пройденные ребра. Очевидно, список вершин, начавшись на v0, должен на v0 и закончиться за конеч- ное число шагов. В противном случае приходим к проти- воречию о связности графа либо, допуская связность, к противоречию о четности степеней всех его вершин. Если при построении цепи все ребра графа G оказа- лись отмеченными, то эйлеров цикл построен и этот цикл 108
является эйлеровым графом G. В противном случае на G будут не отмечены некоторые ребра. В силу связности графа G неотмеченные ребра составят связный подграф G'. Все степени вершин этого подграфа четны. Это обуслов- лено тем, что все вершины как исходного графа, так и построенного цикла имеют четные степени. На графе G' найдется хотя бы одно из неотмеченных ребер, которое инцидентно одной из вершин построенной цепи. Это обус- ловлено связностью графа G. Обозначим эту вершину Ь. Повторяя процесс построения цикла из вершины Ъ на подграфе G', снова возвращаемся в эту же вершину за конечное число шагов. Обозначим: P(v.,v.) — некоторая цепь из V. в V.. Очеви- дно, объединяя цепи так, что Р(а, Ь) о P(b, b) и Р(Ь, а), мы имеем цикл Р'(а, а), который мощнее по множеству входящих в него ребер, чем Р(а, а). Если цикл Р'(а, а) Ф G, то повторим процесс увели- чения мощности цикла Р'(а, а), включив в него новые ребра, аналогично ранее выполненному процессу. Тогда за конечное число шагов k имеем Рк(а, а) = G, что и требовалось доказать. Ясно, что доказанная теорема определяет также и алгоритм построения эйлерового цикла на графе. Эйлеровой цепью называется цепь, проходящая через каждое ребро графа в точности один раз. Говорят, что множество цепей Pt, Р2,..., Рп покрывает граф G, если G = Р, о P,o...u Р и Р, n Р„ п...п Р = 0. Теорема 4.6. Пусть G — связный граф с k вершинами нечетной степени. Тогда минимальное покрытие графа цепями имеет мощность k / 2. Доказательство. Согласно теореме 4.4 число вершин нечетной степени четно. Следовательно, каждая из k вер- шин нечетной степени должна быть концом одной из покры- вающих цепей графа. Отсюда с необходимостью следует, что число всех покрывающих цепей должно быть не менее, чем k / 2. Расширим граф G до эйлерова графа, добавив k / 2 ребер, соединяющих различные пары вершин нечетной сте- пени. Тогда на графе определен единственный эйлеров цикл. Аннулируя ребра, вместе с каждым аннулированным реб- ром имеем и новую цепь. Тогда число k / 2 является также и достаточным числом цепей, покрывающих граф. 109
Для ориентированных графов можно получить ана- логичный результат. В частности, имеет место Теорема 4.7. Для того чтобы на ориентированном гра- фе G существовал контур, содержащий все дуги G, необ- ходимо и достаточно, чтобы число всех входящих и вы- ходящих дуг было одинаковым в каждой из вершин. Такой контур называется эйлеровым контуром. 4.9. Гамильтоновы циклы. Оценка временной сложности алгоритмов Цикл на графе G называется гамильтоновым, если соответствующая ему последовательность ребер содержит каждую вершину графа G в точности один раз. Аналогично вводится понятие гамильтонова конту- ра на ориентированном графе. Примеры гамильтонового цикла и графа, для которо- го такого цикла не существует, представлены на рис. 4.12. Рис. 4.12 На рис. 4.12, направление одного из гамильтоновых циклов отмечено стрелками. Соответствующий гамиль- тонов цикл представлен последовательностью ребер {(fp f4)’ <р4’ р5)> <р5’ рз)’ <рз’ р2)’ (р2> pi)}- Можно заме- тить, что ребро (о4, t>3) в этом цикле не используется. Этот факт указывает на то, что в гамильтоновом цикле могут участвовать не все ребра графа. Существенным в цикле данного типа является наличие всех вершин гра- фа. В связи с этим в случаях, когда нет кратных ребер, гамильтонов цикл записывают последовательностью вер- шин. Так, в рассмотренном примере гамильтонов цикл можно представить следующей последовательностью вер- шин: {1>р i>4, i?5, l>3, l>2}. Нетрудно заметить, что при такой записи каждый гамильтонов цикл должен соответство- вать некоторой допустимой перестановке всех вершин графа. Ясно, что одному и тому же графу можно поста- 110
вить в соответствие некоторое множество гамильтоновых циклов. Пример на рис. 4.12 иллюстрирует случай, ког- да это множество пусто, поскольку вершина и4 необходи- мо должна быть повторена дважды. Укажем некоторые задачи, интерпретация которых сос- тоит в необходимости построения гамильтоновых циклов. Задача о шахматном коне. Можно ли, начиная с про- извольного поля на шахматной доске, ходить конем в такой последовательности, чтобы пройти через все поля и вернуться в исходное? Задача о званом обеде. Обед накрыт на круглом столе. Среди приглашенных некоторые являются друзьями. При каких условиях можно рассадить всех так, чтобы по обе стороны каждого из присутствующих сидели его друзья? Задача о коммивояжере. Коммивояжер должен объез- дить все п городов. Для того чтобы сократить свои рас- ходы, он хочет построить такой маршрут, чтобы объез- дить все города точно по одному разу и вернуться в ис- ходный с минимумом затрат. В настоящее время не получено необходимых и дос- таточных условий существования для гамильтоновых циклов. С другой стороны, существует очевидный алгоритм, который, казалось бы, можно применить к решению любой задачи о гамильтоновом цикле: генерируем все перестановки вершин и проверяем, какая из них являет- ся гамильтоновым циклом. Всех перестановок, очевид- но, будет и!. Оценим временную сложность этого алгоритма. Под временной характеристикой сложности алгоритма пони- мают асимптотическую оценку О(/(п1, п2, ...nJ) требуе- мого времени работы компьютера в зависимости от мощ- ностей np п2, ..., nk множеств исходных данных при нео- граниченном увеличении этих мощностей. Поскольку компьютеры могут обладать различной производитель- ностью, то оценка временных затрат может быть выра- жена в количестве элементарных операций: сложений, умножений или других операций, выполняемых компь- ютером и принятых за основу. Легко видеть, что ограничением применения предло- женного выше метода является то, что для его реализа- 111
ции потребуется О(пп!) вычислительных операций (и операций на каждую из п! перестановок). Так, если п = 20 и каждый элементарный шаг компьютера выпол- няется за 10-7 с, то решение задачи о построении гамиль- тонова цикла займет порядка 20 20! ~ 48 • 1018 операций или 45 1011 с, что составляет порядка 1500 веков. Проблема существования гамильтонового цикла при- надлежит к классу так называемых NP-полных задач. Это широкий класс задач, для которых не известен алго- ритм полиномиальной сложности их решения, т. е. алго- ритм с числом шагов, ограниченных полиномом от раз- мерности задачи. Задача же построения гамильтонового цикла, как указано выше, в максимальном случае реша- ется алгоритмом факториальной сложности. Чтобы убедиться в том, что и! растет быстрее, чем произвольный многочлен, покажем, что он растет быст- рее, чем показательная функция, начиная с некоторого достаточно большого значения п. Для этого рассмотрим варианту X = с" / п\, с > 1. Нетрудно заметить, что х„+1 = с / (п + 1). Поэтому, как только п + 1 > с, эта варианта становит- ся убывающей, а поскольку она ограничена нулем, то предел ее также есть нуль. Для решения ЛГР-полных задач известен метод, позво- ляющий сократить число шагов, сводя задачу от факто- риальной к экспоненциальной сложности. Этот метод известен под названием «backtracing» или «алгоритм с возвратами». Его суть в применении к задаче построе- ния гамильтоновых циклов состоит в следующем. Будем искать решение в виде последовательности вер- шин {vt, v2, ..., пп}, начиная от корневой вершины vv Имея частичное решение {vp v2,..., v.}, I < n, пытаемся найти такое допустимое значение v. +1 относительно ко- торого можно предположить, что оно может расширить частичное решение до {Up v. + J. Если такое пред- положение возможно, то ц включается в частичное решение и процесс продолжается. Если никакая верши- на не может претендовать на и + 1, то следует возврат на шаг к v.-p a v. из данного частичного решения исключа- 112
ется. Процесс поиска нового допустимого значения про- должается, начиная с v. р Когда vn найдено, отмечают {Op v2, uj как решение. Если поставлена задача отыскания всех решений, то попытка получения каждого нового решения осуществ- ляется возвратом на шаг от vn в предположении, что решение как бы получено не было. Таким образом, отыс- кивается множество всех решений, которое, в частно- сти, оказывается пустым, если гамильтонова цикла на графе не существует. Из описания алгоритма с возвратами видно, что зада- ча построения всех гамильтоновых циклов на графе G может быть решена путем сопоставления исходному гра- фу некоторого другого графа G', построенного из частич- но пересекающихся цепей {i^, р2, ..., р.}, (i < п). Подмно- жество G', состоящее из цепей {рр р2, .... vj, таких что рп смежна с р] на G, представляет множество решений за- дачи. Граф G' называется соотнесенным графом. Рассмотрим решение задачи о коммивояжере на примере графа G (рис. 4.13). Имеем пять пунктов V = {1, 2, 3, 4, 5}. Стоимость доставки информации из пункта i в пункт j пока- зана числами над ребрами графа. Требуется, используя ком- пьютерную сеть, моделируемую данным графом, обеспечить перекличку пунктов (например, фирм, принадлежащих од- ной корпорации и т. д.), начиная с пункта 1. Для решения поставленной задачи построим гамильтонов цикл мини- мальной стоимости передачи информации либо несколько таких циклов в случае их одинаковой стоимости. Задачу будем решать в два этапа. Вначале построим все гамильтоновы циклы из пункта 1. Для этого приме- ним алгоритм с возвратами. Затем на множестве полу- ченных циклов выберем циклы минимальной длины. 5. Дискретная математика 113
Построение цепей графа G' применением алгоритма с возвратами приведено на рис. 4.13 справа, где цепи, соответствующие гамильтоновым циклам, выделены жирными линиями. Всего имеем четыре гамильтоновых цикла: а) {1, 2, 3, 5, 4, 1}, b) {1, 2, 5, 3, 4, 1}, с) {1, 4, 3, 5, 2, 1}, d) {1, 4, 5, 3, 2, 1}. Стоимости передачи информации каждым из этих циклов вычисляются ниже: а) 9+10+2+2+6 = 29, Ь) Э+8+2+5+6 = 30, с) 6+5+2+8+Э = 30, d) 6+2+2+10+9 = 29. Решению поставленной задачи отвечают гамильтоно- вы циклы а) и d). Можно показать, что алгоритмы с возвратами имеют вычислительную сложность О(сп), где с > 1 — константа, определяемая свойствами присоединенного графа. Такое быстродействие при больших п значительно выше, чем в случае применения алгоритмов факториальной сложнос- ти. Например, возвращаясь к рассмотренному выше при- меру оценки быстродействия алгоритма с возвратами при п = 20, видим, что в случае когда с = 2 (граф G' двоичное дерево), имеем всего 220 или порядка 106 вычислительных операций. На любом современном компьютере это прак- тически не займет времени. Однако, при увеличении раз- мерности задачи всего лишь в несколько раз снова возни- кают проблемы реального времени. Это способствует раз- витию новых идей построения гамильтоновых циклов. 4.10. Деревья Связный неориентированный граф называется деревом, если он не имеет циклов. Это определение исключает наличие на дереве петель и кратных ребер. Прямая сум- ма несвязных деревьев, рассматриваемая в целом как граф, называется лесом. В произвольном графе G вершина а называется кон- цевой, если р(п) == 1. Инцидентное ей ребро называется концевым ребром. 114
Теорема 4.8. Любое конечное дерево имеет хотя бы две концевые вершины и хотя бы одно концевое ребро. Доказательство. Пусть va — некоторая вершина де- рева. Будем обходить дерево, начиная с этой вершины, так, что, войдя в вершину по одному ребру, выходим из нее по другому. Поскольку дерево не содержит циклов, ни одна из пройденных вершин не будет повторена. В связи с тем, что дерево конечно, процесс должен закон- читься в некоторой вершине vb. Эта вершина концевая и ей инцидентно только одно ребро, по которому в нее вош- ли. Если va также концевая вершина, то имеем две кон- цевые вершины и не менее одного концевого ребра. Если же va не является концевой вершиной, то по- строим вторую цепь из 1>о. По этой цепи придем к неко- торой концевой вершине vc. Вершины vb и vc различны, так как граф не содержит циклов. То, что цепь, постро- енная из vb в vc, содержит не менее одного ребра, теперь очевидно. Теорема 4.9. Дерево с п вершинами содержит п — 1 ребро. Доказательство проведем индукцией по п. При п = 2 утверждение очевидно. Пусть дерево G содержит п вер- шин. Удалим из него какую-нибудь концевую вершину и инцидентное ей концевое ребро. Получим новое дере- во, содержащее п — 1 вершину и, по предположению ин- дукции, п - 2 ребра. Следовательно, исходное дерево со- держит (п*2)+1 = п-1 ребро. Теорема 4.10. В дереве G любые две вершины va нача- ла и иь конца какого-либо маршрута определяют цепь и притом единственную. Доказательство. Предположим, что на дереве G име- ются два маршрута, связывающих va и vb. Тогда имеем цикл и G не является деревом. Это противоречие дока- зывает теорему. Теорема 4.11. На п вершинах можно построить п"~2 различных дерева. Доказательство. Пусть V — множество вершин мощ- ности п. Обозначим элементы множества V числами 1, 2, ..., п (4.7) и построим какое-либо дерево G на V. Для этого дерева введем символ, характеризующий его однозначно. 115
Согласно теореме 4.8 в G существуют концевые вер- шины. Обозначим через Ьг первую концевую вершину в последовательности (4.7), а через (а1, Ь}) — соответству- ющее концевое ребро. Удалив из G это ребро вместе с вершиной мы получим новое дерево G^ Для этого дерева снова найдется в (4.7) первая концевая вершина Ь2 с ребром (а2, Ь2). Будем повторять такой процесс до тех пор, пока не останется единственное ребро (ап1, bn соединяющее две оставшиеся вершины. Тогда символ о (G) = К, а2, ..., ап2] (4.8) однозначно определяется деревом G. Обратно, каждый символ о (G) определяет дерево G с помощью обратного построения. Если дано (4.8), то на- ходим первую вершину Ь} в (4.7), которая не содержится в (4.8). Далее удаляем вершину а} из (4.8) и Ьг из (4.7) и продолжаем построение для всех оставшихся чисел из (4.8). В (4.8) каждая вершина может принимать все возмо- жные значения из (4.7). Следовательно, имеем задачу размещения из п—2 по п, что и определяет л"2 различ- ных деревьев. Теорема 4.11 представляет интерес в связи с поста- новкой следующей задачи. Задача о минимальном соединении. Пусть для неко- торого множества V населенных пунктов известна стои- мость ц(ц, о.) (i, j < п) сооружения средств информаци- онной сети между любыми двумя городами и., v. е V. Как должна быть спроектирована сеть, чтобы она обеспечи- вала связь между всеми городами, а ее общая стоимость была минимальна? Аналогичные вопросы возникают при проектировании дорог, трубопроводов и т. д. Такие зада- чи называются задачами о минимальном соединении. В терминах теории графов эта задача формулируется следующим образом. Построим полный граф G, содер- жащий все вершины множества V. Каждому ребру Е гра- фа G припишем меру ц(Е). Под мерой ц(Е) на графе по- нимают вещественную неотрицательную функцию, для которой должно быть выполнено о Е2) = pCEj) + р(К2), где Ег и Е2 — любые непересекающиеся множества. Задача о минимальном соединении состоит в построении 116
части графа G* с: G, содержащего все вершины G, и тако- го, чтобы мера ц = G, р(Е) была минимальной. Ясно, что G* есть дерево. Предположив далее наличие цикла в G*, мы имеем возможность уменьшить ц, удалив ребро. По теореме 4.11 решение этой задачи полным пере- бором потребует построения п"~2 деревьев. Можно значи- тельно уменьшить число вариантов, если воспользовать- ся простым алгоритмом, который предложил Борувка. Этот алгоритм состоит в следующем. Вначале находим ребро Е} с минимальной мерой p(Ej). Обозначим соответствующую ему часть дерева G*. На каж- дом последующем шаге строим часть G* при помощи до- бавления к G*_ j такого ребра Е., что оно имеет минималь- ную меру р(Б,), а граф G* t не имеет циклов. Если имеется несколько ребер одинаковой длины, то можно выбрать любое из них. Ясно, что граф G * t есть остовное дерево. То, что он имеет минимальную меру ц, доказано в [5]. 4.11. Раскраска вершин и теорема Шеннона об информационной емкости графа Пусть дан граф G. Этот граф называется k-раскра- шиваемым, если существует такое разбиение множества его вершин на k классов Ср С2, ..., сп, (4.9) что все ребра в G соединяют вершины только из разных классов. Само такое разбиение называется k-раскраской. При раскраске каждое ребро имеет две вершины необхо- димо разного цвета, а все вершины, относящиеся к одно- му и тому же классу, окрашены в один и тот же цвет. Наименьшее число k классов раскраски называется хроматическим числом графа G. Если число способов раскраски графа равно хроматическому числу, то граф именуют k-хроматическим, а классы (4.9) — хроматичес- ким разложением G. Теорема 4.12. Пусть G — связный неориентированный граф. Для того чтобы граф был бихроматическим, необ- ходимо и достаточно, чтобы он не имел циклов нечетной длины. Необходимость. Предположим, что граф G — бихро- матический и имеет хотя бы один цикл нечетной длины. 117
Обходя этот цикл, мы будем иметь чередующиеся цвета смежных вершин. Поскольку число вершин в цикле не- четно, то, дойдя до вершины, с которой начали обход цикла, получим, что она должна иметь цвет противопо- ложной раскраски. Приходим к противоречию. Достаточность. Произвольный граф G может быть раскрашен бихроматически следующим образом. Зафи- ксируем произвольную вершину V и раскрасим ее в один из двух различных цветов. Все смежные с ней вершины раскрасим в противоположный цвет и так далее, пока не раскрасим весь граф. Предположим, что при такой рас- краске некоторая вершина V* оказалась раскрашена в два различных цвета. Тогда из Ив 7*существует две цепи: одна четной, а другая — нечетной длины. Эти две цепи образуют цикл нечетной длины. Приходим к противоре- чию, что и доказывает теорему. В' [5] показано, что если максимальная степень вер- шин графа G равна г, то граф G представляется г-раскра- шиваемым, за исключением двух случаев: при г = 2 граф G имеет компоненту связности, явля- ющуюся циклом нечетной длины, при г > 2 полный граф с г + 1 вершинами является компонентой связности графа G. Пусть G — граф без петель и кратных ребер. Подмно- жество вершин S с G называется внутренне устойчивым, если никакие вершины v2e S несмежные. Пусть А — семейство всех таких подмножеств. Числом внутренней устойчивости графа G называется величина a((G) = maxSeA|S|. Теорема 4.13. Хроматическое число k(G) и число внут- ренней устойчивости a((G) связаны неравенством |У| <a((G)k(G) для G = (V, Е). Доказательство. Правильно раскрасим вершины гра- фа G в k(G) цветов. Тогда каждое множество вершин И., окрашенных в один и тот же цвет, внутренне устойчиво и, следовательно, |И I <«(((?) и |у| = Е. |У. I <a((G)fe(G). Отображение ф множества V в себя называется сох- ранным, если для любой пары несмежных вершин и v2 вершины ф(1\) и ф(и2) также несмежные и различны. Ясно, что сохранное отображение переводит всякое внут- ренне устойчивое множество во внутренне устойчивое. 118
Определим произведение графов G] = (Vp EJ и G2(V2, Е2) следующим образом. Под произведением GxxG2, будем по- нимать граф, множеством вершин которого является де- картово произведение а вершины (пр t>2), (иД v2) е g V^xV^ смежные, если • Uj смежная с и/ в Gx и v2 смежная с о2 в G2 либо • t>1 смежная с о/, i?2 = v2 либо • о, = и/, a t>2 смежная с v2. Теорема 4.14 (Шеннон). Для любых двух графов G± = (Vp £,) и G2 = (V2, Е2) имеем < a((GtxG2), но если для графа G} существует сохранное отображение ф, такое, что множество ф^) внутренне устойчиво, то = «((GjXG,). Доказательство. Если S* и S2 наибольшие внутренне устойчивые множества для Gj и G2 то S1xS2 — внутренне устойчиво и «((GjXGg) > I StxS2| = I .S\ | | S21 = a((G1)a((G2). Пусть теперь ф-сохранное отображение для графа G и множество ф(1\) внутренне устойчиво. Для произвольных v' g V1 и v" е V2 обозначим f(v', v") = (ф(г/), v"). Пусть So — наибольшее внутренне устойчивое множество графа G}xG?. Непосредственно проверяется, что f(S0) также внутренне устойчиво и I (80) | = | So |. Распределим элементы из f(SQ) по k классам в зависимости от элемента v' в паре (v', t>"). Каждый класс содержит не более, чем a((G2) элементов. Следовательно, a((GtxG2) = | f(S0) | < Aa((G2) < a((G1)a((G2). Отсюда и вытекает доказываемое равенство. Рассмотрим пример применения теоремы Шеннона к задаче об информационной емкости множества инфор- мационных сообщений. Пусть по информационному каналу передается пять сообщений: vv v2, vg, t>4, t>5. При приеме сообщение может быть истолковано как vt или и2, соответственно сообщение и2 как и2 или и3 и так далее, наконец, vs — как t>5 или и1. Какое наибольшее количество сообщений можно принять, не спутав друг с другом? Задача сводится к нахождению наибольшего внутрен- не устойчивого множества S графа, изображенного на рис. 4.14. Очевидно, что здесь a((G) = 2, и можно считать, что S = (i?1, о3) или S = (fp г4) или S = (vg, и5) и т. д. 119
Предположим, что мы будем использовать сообщения, определенные на GxG. Тогда a((G) = (a((G2))2 = 4. В част- ности, сообщения PjPp v1v3, v3vl, v3v3 нельзя спутать. Информационной емкостью графа G называют число 0(G) = sup"a((G"). Так как a((Gn) < |У”| = |У|", то 0(G) = = М. Отсюда и из теоремы 4.12 следует, что если для графа G = (V, Е) существует сохранное отображение ф, такое, что множество ф(У) внутренне устойчиво, то для такого графа 0(G) = a((G). 4.12. Раскраска ребер графа и теоремы о хроматическом классе Пусть дан связный неориентированный граф G. Рас- красим его ребра в какой-либо цвет. Раскраска называ- ется правильной, если никакие два ребра, инцидентных данной вершине, не окрашены в один и тот же цвет. Наименьшее число q цветов, достаточных для правиль- ной раскраски графа, называется хроматическим клас- сом. Пусть р — наибольшая из степеней вершин гра- фа. Тогда, очевидно, < q. В задачах, связанных с применением информацион- ных технологий, вершины графа G можно интерпрети- ровать как некоторые узлы — информационные центры, способные принимать и передавать информацию по ка- налам — ребрам графа G. Каждый такой канал должен иметь уникальный адрес на множестве всех адресов дан- ного узла. В качестве такого адреса можно принять цвет, отвечающий правильной раскраске графа G. Возникает вопрос: какова должна быть минимальная мощность множества всех адресов информационных каналов для 120
того, чтобы обеспечить возможность однозначной адре- сации между всеми информационными центрами? Ясно, что множество всех таких адресов составляет хромати- ческий класс графа G. Для хроматических графов Шенноном доказана сле- дующая теорема, которую мы приводим без доказа- тельств. Теорема 4.15 (Шеннон). Хроматический класс графа не превосходит L3 рппх / 2_|, где символами LaJ обозначено наименьшее целое, не превосходящее вещественное а. Приведем пример, когда эта оценка не улучшаема. Действительно, если множество вершин графа состоит из трех точек а, b и с, а степени вершин равны соответ- ственно р(а) = p(b) = k и р(с) = 2lfe / 2j, то для правиль- ной его раскраски потребуется точно |_3& / 2J цветов. Например, если р(а) = p(ft) — 3, а р(е) = 2|_fe / 2j = 2, то для правильной раскраски этого графа потребуется че- тыре цвета. Оценка, полученная Шенноном, может быть улучше- на для некоторых частного вида графов. Некоторые та- кие графы рассмотрены В. Г. Визингом. Теорема 4.16 (Визинг). Пусть R — наибольшее число ребер между смежными вершинами. Тогда q < р + R. Представляет интерес рассмотреть случай, когда R = 1. Тогда равенство q — р + 1 достигается при четном р >2 для полного графа U t,. Пусть р = 2т > О. В этом случае граф Пршах+1 имеет 2т + 1 вершину и среди любых т + 1 его ребер хотя бы два имеют общую вер- шину. Поэтому окрасить одним цветом можно не более чем т его ребер. Поскольку всего он имеет (2т + 1)т ребер, то должно выполняться неравенство qm i (2т + l)zn или q i (2т + 1) = р^ 4- 1. По теореме же Визинга q < pmax + 1. Следовательно, имеет место точное равенство q — pinax+ 1. Задачи Построить графы для решения задач 4.1 — 4.2. 4.1. Перевозчику (П) нужно переправить через реку волка (В), козу (К) и мешок с капустой (М). Лодка так мала, что кроме перевозчика может взять только один 121
из этих объектов. Кроме того, капусту нельзя оставлять вместе с козой, а козу — с волком. Как можно осуще- ствить переправу? 4.2. Два человека имеют полный кувшин воды в 8 лит- ров, а также два пустых кувшина в 5 и в 3 литра. Как они могут разделить воду поровну? 4.3. Пусть имеется множество V, состоящее из 3 доку- ментов. Построить граф для отношения а е А, характе- ризующий принадлежность документа а множеству А, где А пробегает все подмножества множества К. 4.4. Пусть имеется множество Т, состоящее из трех компьютерных сетей: SI, S2, S3. Известно, что компью- тер К1 входит только в сеть S1, компьютер К2 — только в сеть S2, а компьютер КЗ входит в две сети: 81 и S2. Построить граф, характеризующий принадлежность ком- пьютера компьютерным сетям. 4.5. Показать, что два графа на данном рисунке изо- морфны. 4.6. Потоки документов циркулируют между города- ми А2, Ая и городами В2, Ва. Можно ли проложить непересекающиеся маршруты, соединяющие каждый город А. с каждыми городом В? 4.7. Найти степени вершин для графов тетраэдра и куба. 4.8. Найти сумму степеней всех вершин для следую- щего графа: 4.9. Построить матрицы смежности и инцидентности для тетраэдра. 4.10. Являются ли эйлеровыми графами: прямоуголь- ник с главной диагональю, куб? 122
4.11. Какова мощность минимального покрытия куба цепями? 4.12. На графе, который определен прямоугольником с непересекающимися диагоналями, построить покры- тие графа цепями. 4.13. Решить задачу о званом обеде, когда число уча- стников обеда равно 5: хозяин — мужчина. Остальные две пары (мужчина, женщина) — гости. Хозяин знаком со всеми приглашенными мужчинами. Обе женщины знакомы друг с другом. 4.14. Привести любое решение задачи шахматного коня. 4.15. Применив алгоритм с возвратами, построить все гамильтоновы, циклы для графа, образованного квадра- том с пересекающимися диагоналями. 4.16. Подсчитать, сколько каталогов можно постро- ить в WINDOWS, если всего имеем 5 папок. 4.17. Для некоторой информационной сети, состоящей из 4 абонентских пунктов известны стоимости сооруже- ния любого из ее участков (табл. 4.1). Таблица 4.1 Стоимости сооружения пунктов информационной сети Пункты Стоимости (тыс. грн 1 2 3 4 1 — 2 3 5 2 2 — 3 4 3 3 3 — 6 4 5 4 6 — Используя алгоритм Борувки, спроектировать инфор- мационную сеть минимальной стоимости. 4.18. Граф представлен ромбом с диагональю. Являет- ся ли он бихроматическим? 4.19. Пусть все п городов имеют друг с другом по од- ному информационному каналу связи. Применив теоре- му Визинга, определить минимальное число адресов ка- налов.
ОТВЕТЫ И РЕШЕНИЯ 1.1. А - Б = {1}, А п В = {3, 5}, М = (А - В) и (А п В) = {1, 3, 5}; А - В = {2, 5}, А п В = {4}, М = {2, 4, 5}; А - В = {1}, А п В = 0, М= {1}. 1.2. Из условия задачи видно, что множество А состоит из чисел, нацело делящихся на 4, а множество В — из чисел, нацело делящихся на 3. По условию множество М должно со- стоять из чисел, которые нацело делятся как на 3, так и на 4. Поскольку 3 и 4 взаимно просты, можно утверждать, что мно- жество М состоит из чисел, нацело делящихся на их произве- дение. Таким образом, множество М состоит из чисел вида 12п, т. е. из чисел, нацело делящихся на 12. 1.3. Выпишем все множества, являющиеся подмножествами универсального множества I. Поскольку пустое множество 0 является подмножеством любого множества, то Ml = 0 явля- ется подмножеством I. Так как множество I является подмно- жеством самого себя, то М2 = I = {а, Ь, с} также входит в число подмножеств универсального множества. Выпишем остальные подмножества: М3 = {а}, М4 = {fe}, М5 = {с}, Мб = {а, Ь}, М7 = {а, с}, М8 = {Ь, с}. 1.4. Ответами являются заштрихованные области плоскостей. М = А - (В - С) М - А о (В n С) 1.5. Обозначим через I универсум — множество всех выданных адресов. Пусть А — множество всех адресов, указывающих на страницы, содержащие информацию по техническим наукам, В — множество всех адресов страниц, со сведениями о периоди- ческих изданиях, С — множество адресов страниц, где приведена информация об изданиях Австралии. Тогда искомое множество X можно выразить через имеющиеся множества по формуле: X = (А п В) \ С, из которой получаем: X = {www.stl, www.st2}. 1.6. Введем следующие обозначения. I — универсальное мно- жество всех ключевых слов. А, В и С — множества ключевых слов универсума, которые можно использовать для поиска ин- формации соответственно о современных текстовых процессорах, современных средствах хранения документов и способах переда- 124
чи электронных документов по каналам связи. Тогда искомое множество X ключевых слов можно выразить через множества А, В, С следующим образом: X — А \ (В и С). Задача теперь состоит в том, чтобы для известных множеств А, В, С определить X. 1.7. Декартово произведение множеств А и В представляет со- бой множество всевозможных упорядоченных пар, в которых пер- вые элементы принадлежат множеству А, а вторые — В. Следова- тельно, имеем следующее выражение АхВ = {(а, 1), (а, 2), (b, 1), (Ь, 2), (с, 1), (с, 2)}. 1.8. Dr = {5, 6, 7}, R = {1}. 1.9. Покажем, что данное отношение рефлексивно. Дей- ствительно, для любого х е А пара (х, х) входит в отношение R, так как в R включены пары (1, 1), (2, 2), (3, 3). Это отношение также симметрично, так как для любых х, у из А в отношение R пары (х, у) входят или не входят одновременно. Данное отноше- ние является также транзитивным. Действительно, достаточно рассмотреть случаи, когда (х, у) g R и (у, z) g R. Во всех этих случаях пары (х, z) также принадлежат R. Например, (1, 2) е R, (2, 1) g R. В этом случае пара (1, 1) также принадлежит R. Так как данное отношение рефлексивно, симметрично и транзитив- но, то оно является отношением эквивалентности и индуцирует разбиение множества А на попарно непересекающиеся непустые классы эквивалентности: {1, 2}, {3}. В данном случае элемент 3 попал в отдельный класс, поскольку он не образовал ни одной пары с элементами 1 и 2. 1.10. Для ответа на вопрос задачи необходимо проверить, об- ладает ли данное отношение свойствами рефлексивности, сим- метричности и транзитивности. Это отношение, очевидно, реф- лексивно, так как любое натуральное число, отличное от едини- цы, имеет хотя бы один делитель, отличный от единицы. Таким делителем является, например, само число. Данное отношение также симметрично, так как если числа х, у имеют общий дели- тель, отличный от единицы, то, очевидно, числа у, х имеют такой же общий делитель. Покажем, что свойство транзитивности в данном случае не выполняется. Рассмотрим числа х = 6, у = 15, z = 5. Числа х и у имеют общий делитель 3, отличный от едини- цы. Числа у и z имеют общий делитель 5, также отличный от единицы. Однако числа х и 2 не имеют ни одного общего делите- ля, отличного от единицы. Мы показали, что возможен случай, когда пары (х, у), (у, г) принадлежат данному отношению, а пара (х, z) не принадлежит этому отношению. 1.11. Рассмотрим отношение R = {(а, а), (Ь, Ь), (с, с), (a, t>), (b, с)}, определенное на декартовом квадрате множества А = {а, Ь, с}. Это отношение, очевидно, рефлексивно. Покажем, что оно не является симметричным. Действительно, пара (а, Ь) принадлежит отношению, а пара (Ь, а} — нет. Покажем, что свойство транзитивности также не выполняется. Действитель- но, пары (а, Ь) и (Ь, с) принадлежат данному отношению, а пара (а, с) — нет. 125
1.12. Рассмотрим отношение Л = {(а, Ь), (Ь, а)}, заданное на декартовом квадрате множества А = {а, Ь}. Это отношение, оче- видно, симметрично. Свойство же рефлексивности не выполняет- ся, так как, например, пара (а, а) не входит в отношение. Свой- ство транзитивности также не выполняется, так как пары (а, Ь) и (Ь, а) принадлежат отношению Л, а пара (а, а) не принадлежит. 1.13. Рассмотрим отношение Л = {(а, 6), (Ь, с), (а, с)}, заданное на декартовом квадрате множества А = {а, Ь, с}. Это отношение транзитивно. Для того чтобы убедиться в этом, достаточно прове- рить только один вариант. Пары (а, Ь) и (Ь, с) входят в отноше- ние Л. Для транзитивных отношений пара (а, с) также должна принадлежать Л. В данном случае это так. Для данного отноше- ния других вариантов, для которых (х, у) е Л и (у, z) е Л, нет. Данное отношение не является рефлексивным, так как пара (а, а) не принадлежит Л. Свойство симметричности также не выполня- ется, так как пара (а, Ь) принадлежит Л, а пара (t>, а) — нет. 1.14. Отношение Л на множестве слов русского языка определим следующим образом. Пара слов (а, Ь) принадлежит отношению Л, если и только если эти слова имеют хотя бы одну общую букву. Например, пара слов («топор», «ведро») входит в отношение Л, так как эти слова имеют общую букву «о», а пара («дом», «луг») не входит в Л, так как эти слова не имеют общих букв. Очевидно, определенное таким образом отношение рефлексивно, так как любое слово имеет общие с самим собой буквы. Это отношение также симметрично, так как если слово а имеет общие буквы со словом Ъ, то слово Ъ имеет те же общие буквы со словом а. Рас- смотрим слова «корова», «вагон», «нить». Первое и второе слова имеют общие буквы. То же можно сказать о втором и третьем словах. Однако первое и третье слова не имеют общих букв. Это говорит о том, что свойство транзитивности не выполняется. 1.15. Отношение Л на множестве всех подмножеств множе- ства А = {1, 2} определим следующим образом. Пара подмно- жеств X и Y множества А входит в Л, если и только если X с Y. Отношение Л является рефлексивным, так как для любого мно- жества X справедливо X с X. Это отношение также транзитив- но, так как из X с У и У с Z всегда следует X с Z. Свойство же симметричности не выполняется, так как, например, множество {1} включено в А, а множество А не включено в множество {1}. 1.16. Рассмотрим отношение Л = {(а, Ь), (Ъ, а), (а, а)} на де- картовом квадрате множества Л = {a, 6}. Это отношение симмет- рично, так как пары вида (х, у) и (у, х) принадлежат или не принадлежат Л одновременно. Для проверки транзитивности необходимо рассмотреть следующие варианты, где пары вида (х, у), (у, z) принадлежат отношению Л. В случае (в, Ь) е Л, (б, a) G е Л очевидно выполнение транзитивности, так как (а, а) G Л. В случаях когда (Ь, а) е Л, и (а, а) е Л очевидно выполнение транзитивности, так как имеем (а, а) е Л. Для варианта (a, a) G Л, (a, b) G Л свойство транзитивности выполняется, так как (а, Ь) е G Л. Свойство же рефлексивности не выполняется, так как пара (б, б) не принадлежит отношению. 126
1.17. Не является, так как элементу 1 е А ставятся в соот- ветствие различные элементы a, b G В. 1.18. Функция у = Igx непрерывна и монотонна. Значению х — 1 соответствует значение у = Igl = О. Значению х = 10 соответствует у — lgl0=l. Следовательно, образом отрезка [1, 10] при данном отображении является отрезок [0, 1]. 1.19. Поскольку функция у — sinx принимает значения, не выходящие за границы промежутка [-1, 1], для каждого а из этого промежутка уравнение sinx = а имеет решение, и для любого х существует значение sinx, можно утверждать, что прообразом данного промежутка при отображении у = sinx яв- ляется вся числовая ось. 1.20. Не является, так как существуют такие различные значения xt и х„, что /(xt) = Дх2). Например, пусть х1 = 1, х2 = -1. Тогда ДхД = V = (-1)2 = Дх2). 1.21. Поскольку каждому элементу множества А соответ- ствует единственный элемент множества В, то можно утверж- дать, что данное отношение является функцией. Данная функ- ция не является инъекцией, так как существуют различные элементы множества А, которым соответствует один и тот же элемент из В. Так, различным элементам а2и а3 соответствует элемент Ь2. Данная функция также не является сюръекцией, так как элемент Ъ3 не входит ни в одну упорядоченную пару. 1.22. Для ответа на вопрос задачи прежде всего необходимо проверить, является ли отношение В отображением. Так как каждый элемент х из А входит в пары вида (х, у) лишь один раз, можно утверждать, что мы имеем дело с отображением. Это отображение инъективно, так как для различных первых элементов пар xl, х2 вторые элементы этих пар также различ- ны. Отображение В является сюръекцией, так как правая часть отношения В совпадает с множеством А. Таким образом, отно- шение В является инъективным и сюръективным отображени- ем, следовательно, В — биекция. 1.23. Отношение В рефлексивно, так как две одинаковые книги содержат ссылки на одни и те же литературные источ- ники. Данное отношение также симметрично, так как если в книгах а и b имеется ссылка на какой-либо литературный ис- точник, то в книгах b и а, очевидно, есть ссылки на тот же литературный источник. Свойство транзитивности, вообще го- воря, не выполняется, так как возможны случаи, когда книги а и b содержат ссылки на общие литературные источники, книги b и с также ссылаются на общие литературные источники, а книги а и с не имеют общих ссылок. 1.24. Это отношение, очевидно, рефлексивно и симметрично. Оно также транзитивно, так как если слова а и b начинаются с некоторой буквы х, слова b и с начинаются с некоторой бук- вы у, то очевидно, что х = у, следовательно, слова аис начина- ются с одной и той же буквы. Классы эквивалентности в дан- ном случае представляют собой множества слов, начинающих- ся с одной и той же буквы. 127
1.25. Не является, так как одно и то же ключевое слово может содержаться на различных Web-страницах. Это говорит о том, что условие однозначности не выполняется. 1.26. Является, поскольку одна и та же книга не может иметь разные цены в одном магазине. Данная функция не яв- ляется инъективной, так как две разные книги могут иметь одну и ту же цену. Эта функция является сюръективной, так как в магазине не может существовать книга без цены. 1.27. Данное отношение является функцией, так как ка- ждому входящему документу однозначно соответствует его ре- гистрационный номер. Эта функция является биекцией, так как каждому регистрационному номеру однозначно соответству- ет документ. 1.28. Остаток 2 имеет любое натуральное число, предшеству- ющее натуральному числу, делящемуся на 3. Поставим каждо- му такому числу во взаимно-однозначное соответствие его по- рядковый номер. Имеем счетное множество натуральных чисел с остатком 2. 1.33. Данное множество континуально. 1.34. Данное множество счетно. 1.35. Данное множество континуально. 1.36. Можно. 1.37. Можно. 1.38. Данное множество континуально. X У 2 F 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 X У 2 F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 128
2.16. X & ( -1Х & </ V 2) & (X V -12) = X & (X V -12) & ( —1X & & J/ V 2) = X & (-1X & у V 2) = X & -iX &i/VX&2 = 0vX&2 = = X & 2. 2.17 (—iX V y) & ( —y V x & 2) = -1X & —y V у & -у V —iX & X & &2Vi/&X&2 = -iX & —>y vOvOvX&i/&2 = ——iX & -y V X & у & 2. 2.18. x & (у ~ x) & (-|X V -,2) = X &( —iX V 2) & (y - x) = = (x & -iX V X & —12) & (x & у V -1X & —>y) = (О V x&—12) & & (x & у V —iX & —it/) = X&-i2&(X&J/V —iX & —у) = X & -iZ &. & X & у V X & -12 & —a & —у = X & X & у & -12 V X & -1X & &-iI/&-i2 = X& J/&-i2v0 = X& i/ & -12. 2.19. (x —> y) & x & -y = (-ix v y) & x & -y = -ix & x & & —>«/ v x & -y & i/ = 0v0 = 0. 129
2.20. (-1Х & у ) (2 & х) = —1(—1Х & у) V 2 & X = (-i(-iX) V —у) V V X & 2 — X V —<4/ V X & 2 = (X V X & 2) V —it/ = X V -11/. 2.21. (х & у - 2) & X & —12 = (х & у & 2 V —1(Х & у) & & -12) & Х& -|2 = X&1/&2&X&-12V (-1Х V —14/) & -12 & & X & —12 = X & X & I/ & 2 & —12 V —тХ & -12 & X & —12 V —у & -12 & & X & ->2 = 0 V —iX & X & -12 & -12 V X & -12 & -12 & &J/=0v0vX&t/&-i2 = X & у & -12. 2.22. (х &2 V —iX &-1J/) & (2 —> у) = (х & 2 V —1Х & —у) & (-12 V у) = = X & 2 & -12 V —тХ & -4/&-12VX&J/&2V —тХ & —у & у = 0 V -1Х & & —у &-T2VX&y&.ZvO = X&Ly^2'J -1Х & —у & -12. 2.23. (х V У & -12 V —тХ 8г —у & 2) & X & —у = X & X & —у V X & &—>£/&£/& -12 V X & -it/ & —тХ &-ii/&2 = X&-ii/v0v0 = X& -у. 2.24. (х у) & {у -> х) = (-пХ V у) & (-у v х) =-.х &-у v у & & —у V —iX &XVl/&X = X& l/V —тХ & -у = х - у. 2.25. (х & —у 8г Z V -1Х & -12) & у = X & —у 8г Z & у V -1Х & —iz & & у = 0 V —тХ & -12 & у = —1Х & у 8г -12. 2.26. F(x, у, 2) = —1Х & —у 8г ~tZ V —iX 8г—у & 2 V X & —у & 2. 2.27. F(x, у, г) = -тХ & —у & -12 v х & —у & —a v х & —у & г. 2.28. F{x, у, 2) = —1Х & у & 2. 2.29. F(x, у, 2) = —1Х & —у 8г—>z v х & —у & г. 2.30. F(X, у, 2) = —тХ & у & 2 V X & —у & 2 V X & у & -12. 2.31. F(x, у, z) = -ix & —у & —a v -ix & —у & zv -ix & у & -12. 2.32. F(x, у, z) = -л & —у & -12 v -ix & y-tz v -ix 8г у & г v x 8г & —y & —<2. 2.33. F{x, y, 2) = —a: 8г—у & z v -ix &t/&2vx&-ij/ & z. 2.34. F(x, y, z) = x 8г у8г -avx&y&z. 2.35. F(x, y,z) = -X 8г -У 8г -еч-а8гу8г-&чх8г-у8г-а. 2.36. (х - 5)2 + (у - 5)2 < 25 = 1. 2.37. (х + 5)2 + (г/ - 5)2 < 100 = 1. 2.38. (г/ > (15 - 5х) / 3) & (у > (5х - 15) / 2) & ( у < 5) = 1. 2.39. Данный квадрат имеет вершины с координатами: (3.5, 3.5), (-3.5, 3.5), (-3.5, -3.5), (3.5, -3.5). Следовательно, решением будет (-3.5 < х < 3.5) & ( -3.5 < у < 3.5) = 1. 2.40. Прямоугольник может быть расположен в любом квад- ранте. Поэтому имеем (0 < х < 5) & (0 < у < 10) V; V (5 < х < 0) & (0 < у < 10) V; V (-5 < х < 0) & (-10 < у < 0) V; V (0 < х < 5) & (-10 < у < 0) = 1. 2.41. Данное кольцо ограничено окружностями: х2 + у2 = 16, х2 + у2 = 36. Следовательно, имеем решение: (х2 + у2 > 16) & & (х2 + у2 < 36) = 1. 2.42. ((х - З)2 + (у - 2)2 > 16) & ( (х - З)2 + (у - 2)2 < 36) = 1. 2.43. (-1 < х < 1) & (у < х2) = 1. 2.44. (0 < х < 5) 8г (у < х) = 1. 2.45. (0 < х < 5) & (у < х) = 1. 2.46. На языке теории множеств доказательство может быть выполнено следующим образом. Пусть некоторый элемент х G А о (А и Б). Это означает, что этот элемент принадлежит одновременно множествам А и A v В, 130
что, очевидно, предполагает его принадлежность множеству А. Значит, из того, что z е А п (Ли В) следует хе А. Предположим теперь, что хе А. Тогда можно утверждать, что х е А и В. Таким образом, из того, что хе А, следует, что элемент х одновременно принадлежит множествам А и Аи В. Мы показали, что утвержде- ния xeAt~'i(AvjB)nxeA эквивалентны, следовательно, мно- жества A n (A В) и А равны. На языке теории доказательств построение можно выпол- нить так. Пусть X — произвольное множество, х е X. Построим преди- кат: Р(х е X) = 1 тогда и только тогда, когда х е X. Затем имеем: Vx еА п (А и В) <=> Vx Р(х е А п (А и В)) = Р(х е А) & & Р(х е (А и В)) = Р(х е А) & (Р(х е A) v Р(х е В)) = Р(х е A) v v Р(х е А) & Р(х е В). Для того чтобы правая часть этого равен- ства имела истинное значение для любого х, достаточно потребо- вать: Р(х е А) = 1. Но тогда истинна и левая часть. Имеем окончательно: х е А п (А и В): х е А. 2.48. Пусть х е А и (В n С). Это означает, что х принадлежит хотя бы одному из множеств: А или В гл С. Если этот элемент принадлежит множеству А, то он также принадлежит множе- ствам A VJ В и А с С. Если х принадлежит множеству В n С, то он принадлежит одновременно множествам В и С и, следова- тельно, множествам АиВиАиС. Мы показали, что из того, что х е А и (В n С) следует хе (А и В) n (Au С). Предположим теперь, что х е (А о В) г, (Au С). Это означает, что х одновремен- но принадлежит множествам А и В и A u С, что влечет х е А, и, очевидно, х е Л и (В л С). Итак, из того, что хе (Л и В) г, л(Аи С), следует хе Аи(Вг, С). Мы доказали, что утверждения х е А и (В л С) и х е(А и В) л (Л и С) эквивалентны, следова- тельно, множества Л и (В л С) и (Ли В) л (Л и С) равны. На языке теории доказательств построение можно выпол- нить так. Пусть X — произвольное множество, х е X. Построим пре- дикат: Р(х е X) = 1, если и только если х е X. Тогда имеем Vx е А и (В л С) <=> Vx Р(х е А и (В л С)) = Р(х е A) v Р(х е е (В п С)) = Р(х G A) v Р(х е В) & Р(х е С). Используя закон дистрибутивности для дизъюнкции, получим Р(х е A) v Р(х е В) & Р(х е С) = = (Р(х е A) v Р(х е В)) & (Р(х е A) v Р(х е С)) = = Р(х е А и В) & Р(х е А и С) = Р(х е (А иВ) л (А и С)). Имеем окончательно: х е А и (В л С) : х е (А и В) л (А и С). 2.50. Пусть хе / \ (Ли В). Это говорит о том, что данный элемент не принадлежит объединению множеств А и В, что, в свою очередь, означает, что х не принадлежит ни множеству А, ни множеству В. Отсюда вытекает, что хе I \ А и х е I \ В, откуда, очевидно, можно заключить, что х е (I \ A) n (Z \ В). Мы показали, что из того, что хе I \ (A vj В) следует хе (I \ А) п n (I \ В). Пусть теперь хе (I \ А) п (I \ В). Тогда х является одновременно злементом множеств I \ А и I \ В, откуда можно 131
заключить, что х не принадлежит ни множеству А, ни множеству В. Таким образом, данный элемент не принадлежит множеству 4 и В, что, в свою очередь, означает, что х принадлежит множе- ству I \ (А и В). Мы показали, что из того, что хе (/ \ А) о (/ \ В), следует хе I \ (А о В). Так как мы доказали, что утверждения хе Ц \ А) п (7 \ В) и х е I \ (А и В) эквивалентны, можно утверждать, что множества (/ \Л) п (/ \ В) и / \ (А и В) равны. 3.1. а) Поскольку всего имеется 7 каналов, то документ можно отправить из пункта А в пункт В семью различными способа- ми. Столькими же способами можно отправить документ из пункта В в пункт А. Следовательно, всего существует 7x7 воз- можных маршрутов следования документа. б) Из 49 маршрутов возможного следования документа сле- дует исключить 7 маршрутов, для которых используется один и тот же канал связи. Ответ: 49 — 7 = 42. 3.2. Первое место может получить одна из 16 команд. После того, как определено первое место, второе место может занять одна из 15 команд. Следовательно, общее число способов, кото- рыми могут быть распределены первое и второе места, равно 16x15 = 240. 3.3. а) Первой цифрой числа может быть одна из 5 цифр 1, 2, 3, 4, 5 (0 не может быть первой цифрой, потому что в таком случае число не четырехзначное). Если первая цифра выбрана, то вторая может быть выбрана 5 способами, третья — 4 спосо- бами, четвертая — 3 способами. Согласно правилу умножения общее число способов равно 5х5х4хЗ = 300. б) Первой цифрой числа может быть одна из цифр 1, 2, 3, 4, 5 (5 возможностей), для каждой из следующих цифр имеем 6 возможностей (0, 1, 2, 3, 4, 5). Следовательно, число искомых чисел равно бхбхбхб = 5х63 = 1080. в) Первой цифрой может быть одна из цифр 1, 2, 3, 4, 5, а последней — одна из цифр 1, 3, 5 (числа должны быть нечетны- ми). Следовательно, общее количество чисел равно бхбхбхЗ = 540. 3.4. 18000. 3.5. а) тп; б) (zn + l)(n + 1). 3.6. 20. 3.7. 55. 3.8. Все таблицы, имеющие указанное в условии задачи свой- ство, можно составить следующим образом. Всюду, кроме пос- ледней строки и последнего столбца, произвольно выписываем +1 и -1. Это можно сделать 2('"*1Х"-1) способами. Пусть р — про- изведение всех выписанных чисел. Теперь в каждой из первых т~1 строк на пересечении с п—т столбцом выписываем +1 или —1 так, чтобы произведение чисел во всей строке было равно 1. Обозначим произведение чисел, которые будут выписаны в п - т столбце, через х. Теперь в каждом из п—1 столбцов на пересече- нии с тп-й строкой выпишем также +1 или —1 так, чтобы про- изведение в столбце было равно 1. Произведение чисел, ко- торые будут выписаны в /n-й строке, обозначим через у. Заме- 132
тим, что х и у имеют одинаковые знаки. Действительно, рх = 1, ру — 1, и поэтому ррху = 1, и, значит, ху > О. Выпишем на пересечении т-й строки и n-го столбца число 1 с тем же зна- ком, который имеют х и у. В результате мы составили таблицу, обладающую указанным свойством. Число всех таких таблиц равно 3.9. Поскольку при копировании статьи из электронного каталога сама статья остается в библиотеке, возможно копи- рование одной и той же статьи несколько раз. С учетом этого факта искомое число комбинаций равно 103 = 1000. 3.10. Как и в предыдущей задаче, при копировании элект- ронного документа сам документ остается в папке. Следова- тельно, общее число возможных комбинаций равно 52 = 25. 3.11. Искомое число способов равно числу способов упоря- дочения множества, состоящего из 5 элементов, т. е. Р = 1 2 х хЗ -4 - 5 = 120. 3.12. Четные числа можно расставить на местах с четными номерами (таких мест п) nl способами; каждому способу разме- щения четных чисел на местах с четными номерами соответ- ствует п! способов размещения нечетных чисел на местах с не- четными номерами. Поэтому общее число перестановок ука- занного типа по правилу умножения равно п! п! = (п!)2. 3.13. Определим число перестановок, в которых данные два элемента (книги) а и 6 стоят рядом. Могут быть следующие слу- чаи: а стоит на первом месте, а стоит на втором месте, ..., а стоит на (п — 1)-м месте, а b стоит правее а; число таких случаев равно п - 1. Кроме того, а и Ь можно поменять местами, и, следова- тельно, существует 2(п — 1) способов размещения а и b рядом. Каждому из этих способов соответствует (п — 2)! перестановок других элементов. Следовательно, число перестановок, в кото- рых а и b стоят рядом, равно 2 (п - 1) • (п - 2)! = 2 • (л - 1)!. Поэтому искомое число перестановок равно л! - 2 (л — 1)! = =(п - 1)! (л - 2). 3.14. При указанном расположении ладей на каждой верти- кали и каждой горизонтали стоит лишь одна ладья. Рассмот- рим одно из таких положений ладей. Пусть — номер верти- кали, в которой стоит ладья из первой горизонтали, а2 — но- мер вертикали, в которой стоит ладья из второй горизонтали, .... ag — номер вертикали, в которой стоит ладья из последней, восьмой горизонтали. Тогда (аг а2, ..., ag) есть некоторая пере- становка чисел 1, 2, ..., 8. Среди чисел aJt а2.а8нет ни одной пары равных, иначе две ладьи попали бы в одну вертикаль. Следовательно, каждому расположению ладей соответствует определенная перестановка чисел 1, 2, ..., 8. Наоборот, каждой такой перестановке соответствует такое расположение ладей, при котором они не бьют друг друга. Следовательно, число ис- комых положений ладей равно Pg = 8! = 40320. 3.15. Искомое число способов равно числу размещений из 25 по 4: А^= 25 24 - 23 - 22 = 303600. 133
3.16. Искомое число способов равно числу 4-элементных упорядоченных подмножеств (дни сдачи экзаменов) множества из 8 элементов, т. е. А4 = 8 - 7 • 6 • 5 = 1680 способов. Если известно, что последний экзамен будет сдаваться на восьмой день, то число способов равно 4 А4 = 7 6 5 • 4 = 840. 3.17. Af0“ 10 • 9 8 = 720 способов. 3.18. А4 = 5 • 4 • 3 2 = 120 способов. 3.19. Если символы не повторяются, то существует А2В= 10 - 9 = 90 кодов. Однако, вообще говоря, символы могут повторяться, следовательно, к данному числу нужно прибавить 10 комбинаций, в которых на первом и втором местах стоят одни и те же символы. Имеем: 90 + 10 = 100. 3.20. Искомое число способов равно числу трехэлементных подмножеств множества из 5 элементов: С4 = =5!/(3! • 2!) = 10. 3.21. Следует рассмотреть все возможные 3-элементные под- множества множества, состоящего из 7 элементов. Искомое число способов равно: С73 = 7 6 • 5/(1 -2 3) = 35. 3.22. Сеансов связи было столько, сколько можно выделить 2-элементных подмножеств в множестве из п элементов, то есть С2 = п(п-1)/2. 3.23. Каждой точке пересечения двух диагоналей соответствует 4 вершины н-угольника, а каждым 4 вершинам п-угольника соответствует 1 точка пересечения (точка пересечения диагона- лей четырехугольника с вершинами в данных 4 точках). Поэто- му число всех точек пересечения равно числу способов, которы- ми среди п вершин можно выбрать 4 вершины: Сп4 — п(п - 1)х х(п - 2)(п - 3) /(1 2 • 3 • 4) = п(п - 1)(п - 2)(и - 3) / 4. 3.24. С2" п(п - 1) / 2. 3.25. а) С2, б) С2. в) Будем проводить прямые последовательно одну за другой. Заметим, что если проводить А-ю прямую, то общее количество частей плоскости увеличится на (А - 1) + 1, где k - 1 — количество точек пересечения этой прямой, с ранее проведенными прямыми. Отсюда следует, что если провести все п прямых, то общее количество частей плоскости увеличится на количество всех точек пересечения (их будет Сп2) плюс коли- чество самих прямых. Вначале была одна часть (вся плоскость). Поэтому после проведения п прямых получим 1 + Сп2 + п = = (п2+ п +2) / 2 частей, г) Представим себе, что мы построили окружность, охватывающую все ограниченные части плоско- сти. Из этой окружности будет выходить 2п лучей, которые разделят внешность окружности на 2п частей. Таким образом, количество неограниченных частей равно 2п. Следовательно, ограниченных частей будет 1+ С2 - п = (н2 - Зп + 2)/2. 3.26. С4 = 126. 3.27. С4В= 210. 3.28. Если не проведено ни одной диагонали, имеем одну часть. Будем последовательно проводить диагонали. Заметим, что после проведения каждой диагонали число частей уве- личивается на единицу плюс количество точек пересечения 134
с теми диагоналями, которые уже проведены. Поэтому число частей, которые получаются после проведения всех диагона- лей, равно 1 плюс число точек пересечения плюс число всех диагоналей. Если никакие 3 диагонали не пересекаются в од- ной точке, число точек пересечения равно С*. Число диагона- лей равно л(п-3)/2, следовательно, общее число частей равно 1 + С4+ п(п - 3)/2 = (п - 1)(п - 2)(п2 - Зп + 12)/24. 3.29. С? = С2 = 15. 3.30. Производящей функцией данной последовательности “ 1 является A(s) = l/(l-as). Тогда имеем V ansn =------ (т. е. n=o 1 - as сумму бесконечно убывающей геометрической прогрессии); ряд в левой части сходится при |a.s| < 1. 3.31. Производящая функция данной последовательности равна A(s) = £ Cknsk = (1 + s)n. k=o 3.32. Л(а) = —-n+1. Это следует из равенства----—- = = 1 + С*х + С2+1х2 +... + С"+к_1хк +..., которое можно доказать, например, методом математической индукции. 3.33. Число всех таких сочетаний равно С2+2_! = 8•7/2 = 28. 3.34. Число различных слов в данном случае равно 101/(2! х х 3! 2!) = 151200. 4.1. В качестве вершин будем брать комбинации объектов, находящихся на первом берегу. Первая комбинация — ПВКМ. Искомый граф: .М-------ПКМк ПВКМ------ВМ-------ПВМ^ \к---------ПК 'В-------пвк' Обозначено: П — перевозчик; В — волк; К — коза; М — мешок с капустой. 4.2. Обозначим: {k8, k5, k3} — множество, состоящее из кув- шинов, емкостью 8, 5 и 3 литров соответственно, а числами на со- ответствующих местах — количество литров воды в каждом из этих кувшинов. Одно из решений задачи имеет вид: {8, 0, 0}, {5, 0, 3}, {5, 3, 0}, {2, 3, 3}, {2, 5, 1}, {7, 0, 1}, {7, 1, 0}, {4, 1, 3}, {4, 4, 0}. 4.3. Искомый граф представлен на рисунке ниже: 135
4.4. Этот граф должен иметь вид, изображенный на рисунке ниже: 4.6. Нет. 4.7. Поскольку из каждой вершины тетраэдра исходят три ребра, то степени всех вершин тетраэдра равны трем. В связи с тем, что каждая вершина куба инцидентна трем ребрам, то сте- пени вершин куба также равны трем. 4.8. Сумма степеней всех вершин равна 18 — удвоенному числу ребер графа. 4.9. Один из вариантов матрицы смежности для тетраэдра: 0 111 10 11 110 1 1110 Матрица инцидентности для тетраэдра может выглядеть так: 1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 4.10. Нет. 4.11. Четыре. 4.12. Перенумеровав вершины прямоугольника слева направо и сверху вниз, получим две цепи: <1,2,4,3> и <2,3,1,4>, кото- рые покрывают граф. 4.13. Обозначим: 1— хозяин, 2,3 — гости-мужчины, 4,5 — гости-женщины. Искомый граф может иметь следующий вид: 4.14. Один из вариантов решения задачи шахматного коня приведен ниже. Номера в клетках обозначают номера ходов. Начало обхода шахматной доски — из клетки al. 136
56 41 58 35 50 39 60 33 47 44 55 40 59 34 51 38 42 57 46 49 36 53 32 61 45 48 43 54 31 62 37 52 20 5 30 63 22 И 16 13 29 64 21 4 17 14 25 10 6 19 2 27 8 23 12 15 1 28 7 18 3 26 9 24 4.15. Гамильтоновых циклов здесь столько же, сколько и всех перестановок чисел {1, 2, 3, 4} — т. е. 4!. Для их построе- ния достаточно сгенерировать все 24 перестановки. 4.16. Всего можем иметь 552 = 53 — 125 различных деревьев. Следовательно, столько же каталогов. 4.17. Возможно два дерева минимальной стоимости: {(1, 2), (2, 4), (2, 3)} и {(1, 3), (1, 2), (2, 4)}. В обоих случаях стоимость сооружения информационного канала равна 9 тыс. грн. 4.18. Нет. 4.19. Это число равно п.
ЛИТЕРАТУРА 1. Куратовский К., Мостовский А Теория множеств. — М.: Мир, 1970. 2. Яблонский С. В. Введение в дискретную математи- ку. — М.: Наука, 1979. 3. Глускин Л. М„ Шварц В. Я., Шор Л. А. Задачи и алгоритмы комбинаторики и теории графов. — Донецк: Вища школа, 1982. 4. Липский В. Комбинаторика для программистов. — М.: Мир, 1988. 5. Оре О. Теория графов. — М.: Наука, 1980. Список дополнительной литературы по главам К главе 1 6. Александров П. С. Введение в теорию множеств и общую топологию. — М.: Наука, 1987 7. Кановей В. Г. Аксиома выбора и аксиома детерми- нированности. — М.: Наука, 1984. 8. Колмогоров А. Н., Фомин С. В. Элементы теории функций и функционального анализа. — М.: Наука, 1976. 9. Френкель А. А, Бар-Хиллел И. Основания теории множеств. — М.: Наука, 1966. 10. Хаусдорф Ф. Теория множеств. — ОНТИ, 1937. К главе 2 11. Гильберт Д., Бернайс П. Основания математики. Логические исчисления и формализация арифметики. — М.: Наука, 1974. 12. Ершов Ю. Л., Палютин Е. А. Математическая ло- гика. — М.: Наука, 1979. 13. Клини С. Математическая логика. — М.: Наука, 1973. 14. Новиков П. С. Элементы математической логики. — М.: Наука, 1979. 15. Шенфилд Д. Р. Математическая логика. — М.: Мир, 1975. 138
К главе 3 16. Виленкин Н. Я. Комбинаторика. — М.: Наука, 1987. 17. Постников М. М. Магические квадраты. — М.: Наука, 1964. 18. Райзер Дж. Комбинаторная математика. — М.: Мир, 1966. 19. Риордан Дж. Введение в комбинаторный анализ. — Мир: 1963. 20. Сачков В. Н. Комбинаторные методы дискретной математики. — М.: Наука, 1977. 21. Холл М. Комбинаторика, — М.: Мир, 1966. К главе 4 22. Берж К. Теория графов. — М.: Наука, 1973. 23. Зыков А. А. Теория конечных графов. — Новоси- бирск: Наука, 1969. 24. Кристофидес Н. Теория графов. Алгоритмичес- кий подход. — М.: Мир, 1978. 25. Харри Ф. Теория графов. — М.: Наука, 1973.
АЛФАВИТНЫЙ УКАЗАТЕЛЬ А Абсцисса, 17 Аксиома бесконечности (Z6), 23 выбора (Z7), 35 выделения (Z5), 23 объемности (Z1), 6 пары (Z2), 9 степени (Z4), 27 суммы (Z3), 10 Алгебра множеств, 16 Алгоритмы с возвратами, 112 Аргумент и значение функ- ции, 24 Б Бесконечный граф, 95 Биеция, 24 Бинарное отношение. 95 Бинарные функции, 23 Булевы функции, 45 В Вершины графа, 93 Вполне упорядоченное множество, 35 Временная сложность алго- ритма, 110 Выводимая формула, 56 Г Гамильтонов контур, 110 Гамильтонов цикл, 110 Граф, 93 Группа, 71 д Декартов квадрат, 16 Декартово произведение, 16 Дерево, 114 Диагональная процедура Кантора, 32 Диаграммы Феррерса, 88 Дизъюнкция, 48 Дополнение, 13 Дополнение графа, 95 Достаточное условие равен- ства множеств, 8 Достижимая вершина на графе, 107 Дуга графа, 93 Е Единица кольца множеств, 15 3 Задача выбора, 61 Задача выбора с возвращени- ем, 66 Задача расположения, 69 Задача укладки графов, 98 Замыкание множества булевых функций, 53 Запись, 104 И Изолированные вершины графа, 94 Изоморфизм графов, 98 Импликация, 49 Инверсия, 71 Инцидентное ребро, 94 Инъекция, 24 К Кардинальное число, 27 Кванторы, 56 Классы эквивалентности, 20 Комбинаторная конфигура- ция, 61 Конечное множество, 23 Конечный граф, 95 Континуум, 32 Контур на графе, 107 Концевая вершина, концевое ребро, 114 140
Конъюнкция, 48 Кратные ребра графа, 95 Л Левая область отношения, 18 Лес, 114 Линейно упорядоченное множество, 36 Локальные степени вершин графа, 101 М Маршрут на графе, 106 Матрица инциденций, 102 Матрица смежности, 101 Мера на графе, 116 Методы теории доказа- тельств, 56 Минимальный и максималь- ный элементы множества, 36 Множество, 5 Мощность конечного множе- ства, 28 Н Неориентированное ребро, 94 Нуль кольца множеств, 15 Нуль-граф, 94 Нуль-маршрут, 107 О Область определения и область значений функции, 24 Образ множества, 23 Объединение, 10 Однородный граф степени г, 101 Операция математической логики, 48 Ординал, 37 Ордината, 17 Ориентированные ребра графа, 93 Ориентированный граф, орграф, 94 Отношение, 17 Отношение порядка на множествах, 10 Отношения эквивалентности, 18 Отображения, 24 П Парадокс Рассела, 5 Пересечение, 12 Перестановки, 69 Перестановки и сочетания с повторениями, 79 Плоский граф, 95 Подграф, 95 Подстановка, 69 Покрытие графа цепями, 109 Поле отношения, 18 Полнота системы функций, 51 Полный граф, 94 Порядковые числа (трансфи- ниты), 37 Правая область отношения, 18 Правильная раскраска графа, 120 Предикат, 53 Произведение, 12 Производящая функция, 77 Прообраз множества, 23 Простой цикл, 107 Пространственная характе- ристика сложности алгорит- ма, 104 Путь на графе, 107 Р Разбиения множеств, 19 Размещения без повторе- ний, 68 Размещения с повторения- ми, 79 Разность множеств, 13 Ребра графа, 93 С С.Д.Н.Ф, 52 Связный граф, 107 Симметрическая разность множеств, 13 Симметрическое отношение, 97 141
Система Цермело (Х-система), 6 Сложение по модулю два, 48 Смешанный граф, 94 Собственное подмножество, 13 Соотнесенный граф, 107 Сопряженное разбиение, 88 Сочетания, 74 Сочетания с повторения- ми, 80 Списки инцидентности, 104 Список, 105 Стрелка Пирса, 49 Счетное множество, 31 Сюръекция, 24 Т Таблица начала списка инцидентности, 105 Тавтология, 56 Точная верхняя и нижняя грани множества, 37 Транспозиция, 71 Треугольник Стирлинга, 83 У Указатель, 104 Упорядоченная пара, 10 Универсальное множество, 13 Упорядоченное множество, 10 Ф Фактор-множество, 21 Функция, 24 Функция отрицания, 47 X Хроматический класс, 120 Хроматическое число графа, 117 ц Цепь, 107 Цикл, 107 Ч Частичная упорядоченность множества, 35 Частичный граф, 95 Числа Белла, 83 Числа Стирлинга первого рода, 68 Числа Стирлинга второго рода, 83 Ш Штрих Шеффера, 50 Э Эйлеров граф, 108 Эйлеров контур, 110 Эйлерова цепь, 109 Эквивалентность, 49
СОДЕРЖАНИЕ ПРЕДИСЛОВИЕ............................................3 1. ТЕОРЕТИКО-МНОЖЕСТВЕННЫЕ ОСНОВАНИЯ ДИСЦИПЛИНЫ 5 1.1. Понятия и аксиомы теории множеств .............5 1.2. Декартовы произведения, отношения и отношение эквивалентности ..................................16 1.3. Понятия образа, прообраза, функции и отображения на конечном множестве. Аксиома выделения ............23 1.4. Аксиомы степени и бесконечности. Мощности и кардинальные числа множеств............27 1.5. Счетные и континуальные множества ............30 1.6. Ординалы и трансфиниты. Аксиома выбора и континуум- гипотеза .........................................35 Задачи.............................................41 2. ОСНОВЫ МАТЕМАТИЧЕСКОЙ ЛОГИКИ.......................45 2.1. Высказывания и функции на высказываниях.......45 2.2. Операции математической логики ...............48 2.3. Понятие формулы и свойства операций...........50 2.4. Полнота и замкнутость систем булевых функций..51 2.5. Исчисление предикатов.........................53 2.6. Введение в методы теории доказательств........55 Задачи.............................................57 3. КОМБИНАТОРИКА......................................61 3.1. Размещения....................................61 3.2. Размещения без повторений.....................67 3.3. Перестановки и подстановки....................69 3.4. Сочетания, структура соединений...............73 3.5. Свойства биномиальных коэффициентов...........75 3.6. Понятие производящей функции..................77 3.7. Соединения с повторениями.....................79 3.8. Разбиения множеств ...........................82 3.9. Разбиения чисел...............................86 3.10. Композиции чисел.............................89 Задач и......................................... 90 4. ОСНОВЫ ТЕОРИИ ГРАФОВ...............................93 4.1. Основные понятия и определения................93 4.2. Графы и бинарные отношения....................95 4.3. Понятие изоморфизма и изоморфизм плоских графов.98 4.4. Степени вершин графа........................ 100 4.5. Представление графов матрицами.............. 101 4.6. Представление графов списками инцидентности. Оценка пространственной сложности алгоритмов.... 103 4.7. Маршруты, цепи, циклы и связность........... 106 4.7. Эйлеровы циклы и цепи....................... 108 4.9. Гамильтоновы циклы. Оценка временной сложности алгоритмов............................ 110 4.10. Деревья.................................... 114 4.11. Раскраска вершин и теорема Шеннона об информационной емкости графа................. 117 4.12. Раскраска ребер графа и теоремы о хроматическом классе120 Задачи............................................121 ОТВЕТЫ И РЕШЕНИЯ.................................... 124 ЛИТЕРАТУРА.......................................... 138 АЛФАВИТНЫЙ УКАЗАТЕЛЬ................................ 140
Серия «Учебники» Асеев Георгий Георгиевич Абрамов Олег Мартович Ситников Дмитрий Эдуардович Дискретная математика Учебное пособие Ответственный редактор Е В. Бузаева Технический редактор А. М. Спивак Редактор С. Г. Веселова Корректор М. В. Весновская Верстка Е. С. Островский Лицензия ЛР № 065194 от 2 июня 1997 г Подписано в печать 20.08.2003 г. Формат 84x108'/32. Бумага тип № 2. Гарнитура Journal. Печать высокая. Тираж 5000 экэ. Заказ 1323. Издательство «ФЕНИКС» 344002, г. Ростов н/Д, пер. Соборный, 17 «ТОРСИНГ» 61057, Украина, г. Харьков, ул. Сумская, 13 Отпечатано с готовых диапозитивов в ФГУИПП «Курск» 305007, г Курск, ул. Энгельса, 109