Автор: Гданский Н.И.
Теги: теория вероятностей математическая статистика комбинаторный анализ теория графов математика алгоритмы кодирование дискретная математика прикладная математика
ISBN: 978-5-89522-400-7
Год: 2019
4
... каким бы я был теперь
несчастным человекол/, если бы
смолоду не приобрел известный
запас знаний и вкус к ни.н.
Честерфилд. Письма к сыну
ПРИКЛАДНАЯ
ДИСКРЕТНАЯ МАТЕМАТИКА
ЛОГИКА. ГРАФЫ. АВТОМАТЫ.
АЛГОРИТМЫ. КОДИРОВАНИЕ
В. И. ГДАНСКИЙ
Н. И.ГДАНСКИЙ
ПРИКЛАДНАЯ
ДИСКРЕТНАЯ МАТЕМАТИКА
ЛОГИКА. ГРАФЫ. АВТОМАТЫ.
АЛГОРИТМЫ. КОДИРОВАНИЕ
Москва
«Вузовская книга»
2019
ББК22.17.Я73
Г26
Гданский Н. И.
Г26 Прикладная дискретная математика. Логика. Графы. Автома-
ты. Алгоритмы. Кодирование / Н. И. Гданский. — М.: Вузовская
книга, 2019. — 508 с.: ил.
ISBN 978-5-89522-400-7
Изложены основы дискретной математики в объеме, достаточном для
понимания и использования ее методов при решении задач. При мини-
мально возможном числе вводимых теоретических понятий акцент сде-
лан на более глубоком их объяснении, выявлении связи с практикой, вы-
работке у студентов навыков самостоятельного решения заданий метода-
ми дискретной математики. С этой целью в пособии приведены много-
численные примеры и задачи.
Для студентов, аспирантов и преподавателей технических вузов.
ББК 22.17.я73
ISBN 978-5-89522-400-7
© Гданский Н. И., 2009
© ЗАО «Издательское предприятие
«Вузовская книга», 2011
ВВЕДЕНИЕ
Каждая математическая дисциплина оперирует некоторым набором
абстрактных объектов. Например, арифметика — вещественными чис-
лами. Данные наборы называют предметными множествами теории.
Для описания необходимых свойств объектов из этих наборов и
выполнения действий с ними используют формулы — записи специаль-
ного вида, в которых наряду с обозначениями самих объектов исполь-
зуют знаки действий — операции. Те из операций, которые в результате
дают объект из предметного множества, называют предметными. Так, в
арифметике предметными будут операции сложения (а + Ь), умножения
(axft), вычитания (а- Ь) и деления (а : Ь), поскольку при применении
их к вещественным числам в результате они снова дают вещественное
число. В отличие от них операции сравнения (а = Ь, а^Ь, а<Ь и др.)
являются логическими, поскольку их результат, который можно обозна-
чить как «да — нет» («истина — ложь»), не принадлежит к предметной
области теории.
Логические операции являются неотъемлемой частью всех матема-
тических дисциплин, поскольку сущность применяемых в логических
операциях преобразований заключается в сравнении тех или иных ха-
рактеристик объектов теории. В зависимости от решаемых задач срав-
нения могут быть как простыми, так и довольно сложными, тогда их
называют рассуждениями. Предметом логики как науки является изуче-
ние рассуждений, применяемых в повседневности и научных дисцип-
линах, безотносительно к изучаемым в них объектам.
Возрастание роли логики и логических методов в науке и практике
во многом связано с тем, что вычислительным устройствам наряду с
традиционными предметными операциями передают выполнение ло-
гических действий, которые еще сравнительно недавно считались пре-
рогативой человеческого интеллекта. Поскольку компьютер в отличие
от человека не обладает интуицией, все выполняемые им логические
действия должны быть четко изложены и представлены в виде про-
грамм. Формализация логических методов является одной из основных
задач математической логики.
Для использования в полной мере возможностей современной вы-
числительной техники и программного обеспечения в практических
4
Введение
приложениях каждому инженеру наряду со знанием своей основной
предметной области необходимы достаточно глубокие познания в тео-
рии информационных технологий. Их дает дискретная математика.
Основными ее разделами, наиболее востребованными на практике, по-
мимо математической логики, являются теории, рассматривающие ко-
нечные автоматы, графы, алгоритмы решения задач, а также кодирова-
ние дискретных множеств.
Раздел I является вводным. В нем даны основные понятия и мето-
ды, используемые в дискретной математике, изложены основы теории
множеств. Рассмотрены бинарные отношения, наиболее употребитель-
ные в теории и практике информационных технологий. Также пред-
ставлены различные системы записи чисел и комбинаторные методы
подсчета множеств, состоящих из конечного числа элементов.
Раздел II, посвященный математической логике, занимает в учеб-
ном пособии центральное место. В первой главе этого раздела подроб-
но изложена алгебра логики: анализ и все вопросы, касающиеся ее
практического использования в решении задач. Вторая глава раздела
представляет собой введение в аксиоматическое построение математи-
ческих теорий. Третья глава посвящена конечнозначной логике, в ней
упор сделан на методы построения формул. В четвертой — кратко про-
анализирована теория вероятности как пример континуумзначной ло-
гики. В пятой главе дана теория нечетких множеств и начала нечеткой
логики. Здесь кратко рассмотрены операции с нечеткими множества-
ми, особенности булевой алгебры на них, а также изложены основы
построения нечетких систем управления. Шестая и седьмая главы по-
священы логике предикатов и теории автоматического вывода.
В разделе III даны основы теории графов. Приведены базовые по-
нятия, способы задания графов. Рассмотрены основные виды графов,
примеры их использования при моделировании и исследовании раз-
личных систем, наиболее употребительные алгоритмы, применяемые
при построении остовных деревьев, оптимальных маршрутов. На уров-
не основных понятий и упрощенных методов анализа введены отобра-
жения и операции на графах: изоморфизм и гомеоморфизм, построе-
ние обходов, реберных и вершинных раскрасок, проверка планарности.
В разделе IV рассмотрена теория конечных автоматов. Даны основ-
ные понятия теории, практические методы построения двоичных авто-
матов по различным исходным данным.
Раздел V посвящен теории комбинаторных алгоритмов, предназна-
ченных для обработки дискретных множеств. Вначале в нем рассмотре-
ны понятия корректных и некорректных, разрешимых и неразрешимых
Введение
5
задач, введено интуитивное понятие алгоритма. Затем показана форма-
лизация понятия алгоритма при помощи машины Тьюринга и аппарата
рекурсивных функций. Разобран основной качественный показатель
комбинаторных алгоритмов — сложность, от которого зависит общее
время решения тех или иных задач. Приведена классификация алго-
ритмов по их сложности, введены классы Р и NP.
Раздел VI посвящен теории двоичного кодирования. Рассмотрены
основные характеристики и качественные показатели кодов. Даны не-
избыточные методы кодового представления числовой и символьной
информации, а также избыточные методы кодирования, среди которых
основное место отведено линейным кодам.
Изложение материала в учебном пособии по возможности макси-
мально упрощено и построено в расчете на базовые знания студентов
по курсу средней школы, математическому анализу, линейной алгебре
и теории вероятностей.
В конце каждой темы приведены задачи для самостоятельного ре-
шения. Их содержание, с одной стороны, максимально приближено к
прикладным приложениям теоретических разделов, с другой — помога-
ет усвоению учебного материала. Решение их составляет основу семи-
нарских занятий. Также даны варианты контрольных заданий по ос-
новным темам курса.
Раздел I
ОСНОВЫ ТЕОРИИ МНОЖЕСТВ И КОМБИНАТОРИКА
Любая теория предназначена для изучения свойств некоторого на-
бора (множества) абстрактных объектов, моделирующих изучаемую
реальную среду. Теория множеств рассматривает общие количествен-
ные и структурные свойства таких конечных и бесконечных наборов, а
также операции с множествами.
Количественные характеристики конечных множеств, являющиеся
наиболее существенными при решении многих практических задач,
являются предметом комбинаторики.
ГЛАВА 1
МНОЖЕСТВА, ОПЕРАЦИИ С НИМИ. АЛГЕБРА МНОЖЕСТВ
1.1. Элементы и множества
Понятия множества и его элемента первичны, поэтому их нельзя
строго выразить через термины, введенные в других дисциплинах. Ин-
туитивно множество можно определить как совокупность объектов
(элементов), имеющих некоторые общие свойства. Обычно множества
обозначают заглавными латинскими буквами без индексов и с индек-
сами (А, В, С, Ait Cj), их элементы — прописными буквами (также без
индексов и с индексами).
Объекты, рассматриваемые в качестве элементов множеств, могут
иметь самую различную природу, быть абстрактными и реальными:
числа, геометрические фигуры, предметы окружающей среды, люди и
т. д. Особую роль в теории множеств играют пустое и универсальное
множества.
ОПРЕДЕЛЕНИЕ. Пустым называется множество, не содержащее
элементов. Обозначается оно 0.
Допустим, рассматриваются множества, состоящие из объектов не-
которого вида. Универсальным называется множество U, содержащее
полный набор таких объектов.
Множества бывают конечными (с ограниченным числом элементов)
и бесконечными (с неограниченным числом элементов).
Глава 1. Множества, операции с ними. Алгебра множеств 7
Для конкретного множества А универсальное множество U, как
правило, можно принять не единственным образом.
Пример 1. Универсальное множество U=R = (-оо, +оо) составляют
все вещественные числа. Выделим в нем следующие множества:
1) Д+ = (0, +°о) — множество всех положительных вещественных
чисел;
2) Л" = (-оо,0) — множество всех отрицательных вещественных
чисел;
3)Д+=[0,+оо) — множество всех неотрицательных вещественных
чисел;
4) А’=(-оо, 0] — множество всех неположительных вещественных
чисел.
Все рассмотренные множества бесконечны.
Пример 2. Универсальное множество U=R+ — совокупность всех
неотрицательных вещественных чисел. Выделим в нем следующие
множества:
1) Е2 = {0, 1} — множество из двух чисел: 0 и 1;
2) N= {1, 2, 3,...} — множество натуральных (положительных це-
лых) чисел;
3) N = {0, 1, 2, 3,...} — расширенное множество натуральных чисел;
4) Р= {1, 2, 3, 5, 7, 11,...} — множество положительных простых чи-
сел (делящихся нацело только на себя и на единицу).
Первое множество конечно, т. к. в нем всего два элемента, осталь-
ные бесконечны. В качестве U для 1)—4) можно было бы принять мно-
жество R всех вещественных чисел.
Пример 3. Универсальное множество С = {множество всех окружно-
стей на декартовой плоскости Оху}. На нем можно рассмотреть множе-
ства (Да, Ь) окружностей с общим центром в точке с координата-
ми (х = а, у = Ь). Каждое из них бесконечно, поскольку их элементы од-
нозначно характеризуются радиусами R, а множество {R}-R+— бес-
конечно.
Пример 4. Пусть А — это множество студентов в некоторой группе.
Данное множество конечно. По отношению к Л в качестве универсаль-
ного могут быть приняты следующие более широкие множества:
!){/] = {множество всех студентов данного факультета};
2) U2 = {множество всех студентов вуза} и т. д.
ОПРЕДЕЛЕНИЕ. Декартовым произведением множеств А и В назы-
вают множество, обозначаемое А х В и состоящее из всех возможных
8
Раздел I. Основы теории множеств и комбинаторика
пар (я, Z>), где а еЛ, b еВ. Степенью п множества А называют декартово
произведение Л х Л х ... х Л, куда Л входит п раз. Обозначается оно Л".
Пример 5.А = {0, 1}, В - {а, Ь}.
Л2 = {(0, 0); (0, 1); (1, 0); (1, 1)}; Л х В= {(0, я); (0, 6); (1, я); (1, й)};
Вх А = {(я, 0); (я, 1); (Ь, 0); (b, 1)}; В2 = {(я, a); (a,b)- (b,a)- (b,b)}.
Как видно из примера 5, декартово произведение не коммутативно'.
в нем нельзя переставлять местами различающиеся сомножители.
Пример 6. С помощью степеней множества всех вещественных чи-
сел В удобно задавать декартовы координаты точек в многомерных
пространствах:
1) R2 = {(x,y), xeR, y£R} — множество декартовых координат всех
точек на плоскости;
2) R3 = {(x, у, z), xeR, yeR, zeR} — множество декартовых коорди-
нат точек в трехмерном пространстве.
1.2. Отображения, функции, предикаты
ОПРЕДЕЛЕНИЕ. Рассмотрим некоторые множества Л и В. Отобра-
жением f множества Л в множество В называют любое правило, по
которому элементам яеЛ ставят в соответствие элементы Ь&В. При
этом элемент b еВ называют образом элемента я еЛ, элемент я называют
прообразом элемента Ь.
При обозначении отображений используют префиксную форму, где
их знак ставится в начале записи. Для конкретных элементов обозначе-
ние имеет вид /(я) = Ь, для множеств Л и B'.f'. А -> В.
ОПРЕДЕЛЕНИЕ. Для отображения f.A^> В множество Л называют
областью определения отображения/, множество В — областью значений.
Множество образов b =f(a) всех элементов области определения Л на-
зывают образом множества А и обозначают /(Л).
ОПРЕДЕЛЕНИЕ. Если областью определения отображения явля-
ется декартово произведение длины п ./. Aj х Л2 х ... х Ап -> В, то ото-
бражение называют п-местным.
ОПРЕДЕЛЕНИЕ. Отображение f'.A^> В называют инъекцией, если
образы любых двух различных элементов ах еЛ, я2 еЛ, ах я2 тоже раз-
личны: /(Я[) *Дя2), т. е. в инъекции различные элементы из области оп-
ределения не могут отображаться в один образ.
Отображение f.A-x В называют сюръекцией, если/(Л) = В, т. е. обра-
зом области определения Л является вся область значений В.
Глава I. Множества, операции с ними. Алгебра множеств
9
Отображение f:A-> В, являющееся одновременно инъекцией и
сюръекцией, называют взаимно однозначным или биекцией.
Важный практический смысл биекции или взаимно однозначного
отображения f'.A^> В заключается в том, что каждому элементу а еЯ
ставится в соответствие один и только один образ f(a) = Ь&В, и наобо-
рот, каждому образу ЬеВ соответствует один и только один прообраз
а еЯ. При этом общее количество элементов в конечных множествах А
и В совпадает. Проверить взаимную однозначность (биективность) ото-
бражения можно и другим путем.
ОПРЕДЕЛЕНИЕ. Отображение f:A^> В называют однозначным, ес-
ли любому элементу а еА поставлен в соответствие единственный эле-
мент Ь&В.
ОПРЕДЕЛЕНИЕ. Пусть f — отображение из А в В (f: А -> В). Об-
ратным к f называется отображение/”': 7?->Я, которое переводит эле-
менты b еВ в элементы а еА, такие, что Да) = Ь.
УТВЕРЖДЕНИЕ. Если отображение f.A^> В однозначно и обрат-
ное к нему отображение f~l: Л—> А существует и однозначно, то/явля-
ется биекцией (взаимно однозначным отображением).
Пример 1. Пусть А - {места в вагоне), В= {пассажиры}, отображение
/ задано билетами. В вагоне есть свободные места. Здесь отображение
/: Я>-> В инъективно, но не сюръективно (f однозначно, но обратное
отображение/-1: ВеА не определено на свободных местах). Поэтому/
не взаимно однозначно.
Пример 2. Пусть А = {места в вагоне), В = {пассажиры}, отображение
/задано билетами. В вагоне все места заняты. Здесь отображение f'.A^> В
взаимно однозначно, поскольку оно одновременно инъективно и
сюръективно (/ однозначно, обратное к нему отображение /~1:В->А
существует и также однозначно, а именно, каждому месту соответствует
пассажир).
ОПРЕДЕЛЕНИЕ. Пусть на множествах Л, В, С заданы отображения
g: А -> В; f\ В -> С. Композицией отображений gnf называют отображе-
ние h=fg (h:A^>C), полученное при последовательном применении
отображений g nf.
Операция композиции сохраняет взаимную однозначность отобра-
жений, т. е. если gvtf взаимно однозначны, то h =gf также представляет
собой взаимно однозначное отображение.
Отображения f'.A->B, где областью значений В являются числовые
множества, называют функциями.
10
Раздел I. Основы теории множеств и комбинаторика
Для них используют ту же систему обозначений, что и для отобра-
жений. Различие в терминологии следующее.
ОПРЕДЕЛЕНИЕ. Пусть/— функция, действующая из области оп-
ределения А в область значений В. Элементы а еЛ называют
аргументами функции/ элементы b =/(а) <=В — значениями функции f.
Для функций, как для частного случая отображений, также рас-
сматривают инъективность, сюръективность, биективность, однознач-
ность и обратные функции.
Пример 3. A = R-— множество всех вещественных чисел, В = [-1, +1],
/= sin. Функция/однозначна, но не взаимно однозначна, т. к. значения
образов b = sin(a) по заданному элементу а еА определяются однознач-
но, а обратное отображение /-1: В->А, задающее значения прообразов
по их образам (а = sin-1(^))> имеет при каждом b бесконечное число ре-
шений (функция сюръективна, но не инъективна).
Пример 4. А = [-л/2, тт/2]; В= [-1, +1]; /=sin. Данная функция вза-
имно однозначна.
Пример 5. Рассмотрим произвольную линейную функцию / с нену-
левым линейным коэффициентом, отображающую одно множество
вещественных чисел А на другое — В . В общем случае формула перехо-
да от элемента аеЛ к некоторому элементу Ь&В имеет вид b = CQa +
+ Cj, где Со и С\ — некоторые константы. При Со^О такая функция
однозначна.
Докажем от противного. Допустим, существует некоторый элемент
а'еЛ, который отображается на множество В не единственным образом,
т. е. имеет как минимум два различных образа Ь' и Ь" (Ь' - Ь" 0). Т. к.
Ь' = Сйа' + С\ и Ь” = Соа' + С/ то, вычитая из первой формулы вторую,
получим Ь' - Ь" = С0(а' - а') = 0. При Со 0 это противоречит предполо-
жению о различии Ь' и Ь", а следовательно, о неоднозначности рас-
смотренной линейной функции.
Следствие. Любая линейная функция f с ненулевым линейным коэффи-
циентом не только однозначна, но и взаимно однозначна.
Справедливость данного утверждения следует из того, что обратной
к линейной функции / переводящей элементы аеА в элементы Ь<=В по
формуле b = Соа + Ct (где Со 0), будет также линейная функция /* с не-
нулевым линейным коэффициентом, переводящая элементы Ь&В в
элементы а еА по формуле а = (1/С0)Ь - С\/Со.
Особое место среди отображений занимают логические функции,
называемые также предикатами.
Глава 1. Множества, операции с ними. Алгебра множеств 11
ОПРЕДЕЛЕНИЕ. Отображение называют логической функцией или
предикатом, если ее областью значений являются логические значения
«ложь» («false») и «истина» («true»), которые в математике обозначают
соответственно 0 и 1. Таким образом, у логической функции область
значений Е2 = {0, 1}.
Предикаты, как и отображения, могут быть «-местными. В отличие
от отображений и функций их обозначают заглавными латинскими бу-
квами с индексами и без — например, Q(x), Р(х,у), R2(x,y, z). Посколь-
ку результат у предикатов — логическое значение, то они формулиру-
ются в отличие от обычных числовых функций в виде некоторого логи-
ческого условия.
ОПРЕДЕЛЕНИЕ. Областью истинности предиката Р(хх,х2, ...,хп),
определенного на декартовом произведении Х} хХ2 х ... хХп, называет-
ся множество наборов значений (х1;х2, ...,хп), принадлежащих Х{ х Х2х
х ... хХп, на которых Р(х{, х2,..., х„) = «истина» (Р(х{,х2, ...,хп) = 1).
Пример 6. U-R. Q(x) = «x больше 0». Для любого вещественного
числа х можно определить, положительно оно или нет. В первом случае
б(х)=1, во втором б(х) = 0. Областью истинности данного предиката
будет множество R+, входящее в U= R .
Пример 7. U=R+. Qfx) = «х может быть представлен в виде дроби
т/п, где т и п — целые числа, т > 0, п > 0». Поскольку логическое усло-
вие предиката совпадает с определением неотрицательного рациональ-
ного числа, то его областью истинности будут все такие числа на неот-
рицательной числовой полуоси.
Пример 8. U= R2. Р(х, у) = «х больше у». Областью истинности пре-
диката Р(х, у) на декартовой плоскости Оху будет полуплоскость, лежа-
щая ниже прямой х = у.
Функции, у которых область значений В совпадает с областью оп-
ределения А, называют предметными.
ОПРЕДЕЛЕНИЕ. Пусть множество А задано на некотором более
широком множестве В. Характеристической функцией множества А на-
зывается функция %я(х), определенная на В, такая, что
[О, если х £ А,
(1, если х е А.
Характеристическую функцию можно интерпретировать как пре-
дикат, если придать числовым значениям 0 и 1 логические значения
«ложь» и «истина».
12
Раздел I. Основы теории множеств и комбинаторика
1.3. Метод математической индукции
Допустим, необходимо доказать справедливость бесконечной по-
следовательности утверждений Р(п), зависящих от натуральной пере-
менной п. Метод математической индукции — один из способов дока-
зательства. Он заключается в следующем.
1. Вначале доказывают справедливость утверждения Р(п) при п = 1
(базис индукции).
2. Затем доказывают, что из истинности Р(к) для любого натураль-
ного числа к следует истинность и Р(к + 1) (индуктивный переход).
Если оба пункта доказаны, то утверждение Р(п) истинно для всех
натуральных чисел. В тех случаях, когда доказывается справедливость
Р(п) для всех п > п0 > 1, базис индукции доказывают при п = п0.
Пример 1. Докажем методом математической индукции равенство
1 + 3 + 5 + ... + (2л - 1) = п2.
Решение.
Базис индукции, л = 1 : 1 = 1 — равенство выполняется.
Индуктивный переход. Покажем, что из справедливости равенства
для любого натурального числа к следует его истинность для (к + 1)
(индуктивный переход).
1 + 3 + 5 + ... + (2к - 1) + (2(к + 1) - 1) = к2 + (2(fc + 1) - 1) =
= fc2 + 2fc+l = (fc+l)2.
Следовательно, по теореме о методе математической индукции ра-
венство справедливо для всех натуральных чисел, что и требовалось
доказать.
Пример 2. Докажем методом математической индукции неравенство
log„ 2 > 1/л при л > 1.
Решение. Для упрощения доказательства перейдем к следующему
равносильному неравенству: 2" > л. Его получим, умножая обе части на
л и возводя л в степени, стоящие в левой и правой частях.
Базис индукции, л = 2 : 4 > 2 — неравенство выполняется.
Индуктивный переход. Покажем, что из 2k>k для любого натураль-
ного числа к следует 2(* +1J > к + 1.
2<а+1)=2-2а >2 *>((*4-1)/*)-* = * +
Справедливость переходов следует из индуктивного допущения
2к > к и неравенства 2 > ((& + 1)/к), верного для всех натуральных к (т. к.
при к > 1 выполняется: 2к > к + 1).
Глава 1. Множества, операции с ними. Алгебра множеств
13
По теореме получим, что рассмотренное неравенство справедливо
для всех натуральных чисел, больших 1, что и требовалось доказать.
ПримерЗ. Докажем методом математической индукции, что выра-
жение 1 + 32"~1 при всех натуральных п делится нацело (без остатка) на 4.
Решение.
Базис индукции. л=1:1+32-1=4 — делится нацело на 4.
Индуктивный переход. Покажем, что если 1 + 32А’-1 для любого на-
турального числа к делится нацело на 4, то и 1 + з2^+1)-1 делится на-
цело на 4.
l + 3Wi)-1 = i + 32(^,)-1_(i + 32^1) + 1 + 3U-|=(32a + 1)-1_324-1) + i+32^| =
= 32fc-l. (32_1) + 1 + 32*-1 =32*-!. (8 + 1 + 32А-1).
Число 1 + 32(fc+ *)-1 представлено в виде суммы двух слагаемых. Пер-
вое содержит множитель 8, второе делится на 4 нацело по индуктивно-
му допущению. Следовательно, сумма также делится на 4. Индуктив-
ный переход доказан.
По теореме получаем справедливость свойства для всех натураль-
ных чисел, что и требовалось доказать.
Задачи
Доказать по методу математической индукции справедливость для нату-
ральных п следующих соотношений:
1) I2 + 22 + ... + п1 = п{п + 1)(2п+ 1)/6;
2) l3 + 23 + ...+n3 = (l+2 + ... + и)2;
3) 72л“‘ + 62л’1+ 1 кратно 14;
4) 22л~1 + 32л~1 + 1 кратно 6;
5) 22л - 52л кратно 7;
6) 1+<7 + ... + дл = (1-дл+1)/(1-<?) при </*1.
1.4. Способы задания множеств
Для задания множества необходимо как-либо указать его элементы
на более широком универсальном множестве U, которое вводится явно
либо о нем можно догадаться из постановки задачи. Используют сле-
дующие способы.
Перечисление
Все элементы множества А указывают непосредственно:
A = {aha2, ...,а„}.
14
Раздел I. Основы теории множеств и комбинаторика
Пример 1.
1) множество студентов группы — задается списком группы;
2) множество букв русского алфавита — задается перечислением в
алфавите.
Способ прост и позволяет избежать неоднозначных толкований,
однако, перечислением могут быть полностью заданы только множест-
ва с конечным числом элементов.
Задание с помощью логических функций (предикатов)
На универсальной совокупности U рассматриваемых объектов вво-
дится одноместный предикат Р, выполняющий роль характеристиче-
ской функции задаваемого множества А. Условие включения элемента а
в множество А можно представить в виде а еА <=> Р(а).
Пример 2. Введем свойства на расширенном множестве натураль-
ных чисел N:
1) D2(n) = «число п делится без остатка на 2» — свойство выполняет-
ся для четных чисел, для нечетных не выполняется;
2) Рг(п) = «число п делится без остатка только на 1 и на само себя» —
свойство выполняется только для простых чисел.
Пример 3. Описания множеств.
1) U = N. Множество четных чисел — с помощью D2(n);
2) U=N. Множество простых чисел — с помощью Рг(п).
3) U=R. Множество решений уравнения sin(x) = 0. Для элементов
хеR общим логическим свойством является «быть решением уравне-
ния sin(x) = О».
Данный способ позволяет задавать как конечные, так и бесконеч-
ные множества. Основной недостаток его заключается в том, что при
использовании логических функций могут возникнуть парадоксы. На-
пример «парадокс брадобрея». В некотором полку (который принимаем
в качестве U) есть брадобрей. Множество А всех его клиентов а задано
логическим условием Р(а) = «если а не бреется сам, то он обязан поль-
зоваться только услугами брадобрея; если же а бреется сам, то он не
должен обращаться к брадобрею». Задание множества А описанием
а еА <=> Р(а) не корректно, поскольку сам брадобрей не может быть ни
включен в А, ни исключен из Л.
Утверждения, в которых противоречиво задается принадлежность
объектов к тому или иному множеству, известны еще с Древней Греции.
Например, известное изречение «Лжец» мудреца Эпименида: «Я утвер-
ждаю, что я — лжец». Если говорящий лжец и каждое его высказывание
Глава 1. Множества, операции сними. Алгебра множеств 15
ложно, то его утверждение неверно и он не лжец. Если же допустить,
что говорящий не лжец и сказал правду, то отсюда следует, что на са-
мом деле он лжец.
Одну из первых теоретико-множественных формулировок парадок-
сов дал английский математик Бертран Рассел в письме к Готлибу
Фреге: «Будет ли множество М всех множеств, не являющихся своими
элементами, своим собственным элементом (МеМ)?» Если МеМ,
то по определению множества М оно не должно входить само в себя.
В случае MiМ по определению Мвключение должно быть.
В основе всех рассмотренных парадоксов лежат попытки дать опи-
сание логических свойств объекта через сам объект. При этом возни-
кают своего рода «логические кольца». Возможность их заложена в са-
мом интуитивном определении множества и его элементов (п. 1.1), в ко-
тором данные понятия взаимосвязано выражаются одно через другое.
Для устранения парадоксов Б. Расселом предложена теория клас-
сов, в которой множества строятся по шагам и если построение множе-
ства еще не завершено, то его еще нельзя использовать как целостный
элемент самого себя.
Второй путь заключается в использовании аксиоматического под-
хода, при котором вводятся ограничения на свойства множеств, позво-
ляющие избежать появления парадоксов. Обычно используется систе-
ма аксиом Цермело —Френкеля. Но существуют и другие системы.
1.5. Предметные операции на множествах.
Формула множества
Для того чтобы можно было конструировать множества сложной
структуры (составные) из некоторых исходных (простых), на них вво-
дятся предметные операции.
ОПРЕДЕЛЕНИЕ. Объединением множеств А и В называют множест-
во С, содержащее элементы, входящие хотя бы в одно из них. Обозна-
чают как С = ЛиВ= {х/(хе А) или (хе В)}.
Пересечением множеств А и В называют множество С, содержащее
элементы, входящие одновременно в А и В. Обозначают: С = Ас^В-
= {х / (х еА) и (х iВ)}.
Разностью множеств А и В называют множество С, содержащее все
элементы из множества А, не входящие в В. Обозначают: С = А\В =
= {х/(х еА), но (х iВ)}.
Симметрической разностью множеств А и В называют множество С,
содержащее элементы из А\В и из В\А. Обозначают: С=А А В = (А\В) и
и (5\Л)-
16
Раздел I. Основы теории множеств и комбинаторика
Рассмотрим множества, состоящие из объектов некоторого вида,
содержащихся в заданном универсальном множестве U. Дополнением
множества А называют множество С, содержащее элементы из U, не
входящие в А. Обозначают дополнение как С = А либо С = -> А.
Дополнение любого множества можно представить как результат
его вычитания из универсального: -> А = U\ А.
Результатом выполнения рассмотренных предметных операций (и,
п, \, А, -п) всегда является множество.
ОПРЕДЕЛЕНИЕ. Формулой множества называется:
1) любое выражение вида А, В, С, ..., где А, В, С,... — обозначения
простых множеств, заданных непосредственным определением;
2) любое выражение вида А и В; А о В', А\В', А&В', Л, где А, В —
формулы множеств.
Графически множества для наглядности изображают в виде плоских
фигур (кругов, овалов, прямоугольников и т. д.), а универсальное — по-
казывают в виде прямоугольной рамки, охватывающей все множества.
При этом элементами множеств являются все точки плоскости, кото-
рые находятся внутри соответствующей фигуры. Если универсальное
множество не указывается, то такой способ графического изображения
множеств называют диаграммой Эйлера. Если оно указывается, то по-
строение называют диаграммой Эйлера — Венна. На рис. 1.1 показаны
результаты выполнения введенных выше операций объединения, пере-
сечения, разности, симметрической разности (а—г — диаграммы Эйле-
ра) и дополнения (д — диаграмма Эйлера — Венна).
Для упрощения записи выражений, содержащих операции на мно-
жествах, обычно принимают, что самой сильной операцией (выпол-
няющейся ранее других, если другой порядок не оговорен скобками)
является отрицание. Второй по силе операцией является пересечение,
остальные — равносильны. Если операции равны по силе, то они вы-
полняются в порядке слева направо.
Рис. 1.1
Глава J. Множества, операции с ними. Алгебра множеств 17
Пример 1.
А<л В г\С — формула множества, которую с учетом введенного
старшинства операций следует понимать как Л и (5 n С) .
2. С А — запись не является формулой множества, т. к. в ней од-
номестная операция дополнения соединяет два множества.
Для наиболее полной характеристики содержательного смысла
формулы составного множества F, в которую входят простые множест-
ва^, Л2, ..., Ап, рассмотрим множество {7?} всех возможных пересечений
простых множеств либо их дополнений {Л"1 п Л“2 n... п Л“", где а, = 0
или 1, Л? = Л,-, Л,° =-Aj}. Представляя вектор индексов (а1;а2,...,а„) в
виде записи двоичного числа Nb промежутке от 0 до 2" -1 упорядочи-
ваем по возрастанию этих чисел все элементы {А}. Назовем их элемен-
тарными пересечениями. Эти пересечения для двух и трех простых кру-
говых множеств даны в виде диаграмм Эйлера — Венна на рис. 1.2.
Рис. 1.2
Диаграммы Эйлера — Венна для заданного числа исходных мно-
жеств, на которых показаны все их возможные элементарные пересече-
ния, назовем полными диаграммами пересечений. Такие диаграммы с
круговыми изображениями исходных множеств могут быть построены
только для двух и трех множеств (рис. 1.2). При четырех и выше необ-
ходимо использовать вместо кругов более сложные фигуры.
Таблицы с упорядоченными по возрастанию чисел N элементарными
пересечениями для двух и трех простых множеств имеют следующий вид:
N л2
0 0 0
1 0 1
2 1 0
3 1 1
N ^3 л2 ^1
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
18 Раздел 1. Основы теории множеств и комбинаторика
Любой формуле составного множества F(A{,A2, ...,Ап) можно вза-
имно однозначно поставить в соответствие вектор, отражающий вхож-
дение в него элементарных пересечений {R}. Назовем его вектором
включений. Если формула имеет сложный вид, построение данного век-
тора можно проводить поэтапно. При объединении двух множеств в
итоговом векторе включений учитываются единицы из обоих векторов,
при пересечении остаются только единицы, входящие одновременно в
оба вектора. При применении дополнения в векторе происходит замена
О на 1 и 1 на 0. При вычитании Л\5 в итоговый вектор включают 1 толь-
ко в том случае, когда в векторе А стоит 1, а в векторе 5 — 0.
Пример 2. Построить векторы включений для составных множеств,
заданных на простых множествах Л и В следующими формулами: 1) Fx =
= ->(Ли 5); 2) F2 = -(А Д В); 3) F3 = А пВ'и -> (А и В). Результаты при-
вести в таблице.
Решение. При определении векторов включений используем стар-
шинство операций. Вектор включений для 5, строим поэтапно, исполь-
зуя объединение А и В. Вектор включений для F2 находим с использо-
ванием формулы А Д JS - (А\В) о (5\Л)- В случае F3 рассматриваем пред-
варительно векторы формул А п В, А и В и -> (А и В).
N Л в Ли5 ЛД5 ^2 Л п В -п (Л и В)
0 0 0 0 1 0 1 0 1 1
1 0 1 1 0 1 0 0 0 0
2 1 0 1 0 1 0 0 0 0
3 1 1 1 0 0 1 1 0 1
Данную конструкцию назовем таблицей пересечений.
Задачи
1. Определить, будут ли следующие выражения формулами множеств:
а) А п С\; б) А и В; в) (-, А Д С); г) n С?
2. Указать очередность выполнения операций в формулах:
а) -> А Д -1 В и С; б) -> А п -> С; в) Ли В n С и D.
3. Построить таблицы пересечений и изобразить все элементарные пересе-
чения на полных диаграммах пересечений для составных множеств, заданных
формулами:
а) (Л Д 5)\С; б)(Л и 5 и С); в) Л о (5и С); г) (Л Д В) и (Л\Q;
д)Лп5пСи(5Д-.С).
4. Привести примеры непустых исходных множеств Л, В, С, при которых
будет выполняться равенство составных множеств:
а)ЛД5иЛи5; б) Л\(5иС)иЛ\5.
Глава 1. Множества, операции с ними. Алгебра множеств
19
1.6. Операции сравнения — логические операции с множествами
ОПРЕДЕЛЕНИЕ. Два множества Л и В называют равными, если они
состоят из одних и тех же элементов. Обозначается равенство как И = В.
Если все элементы множества А принадлежат множеству В (\fa еА =>
аеВ), то говорят, что А нестрого включается в В. Обозначают как А с В.
Если ЛсВ, но Л * В, то имеет место строгое включение, которое
обозначают как Л с В.
Операции равенства нестрогого и строгого включений (=; с; с) на-
зывают операциями сравнения.
Свойства операций сравнения
1. Операции нестрогого включения и равенства обладают рефлек-
сивностью: Л с Л; Л = А.
2. Операции нестрогого, строгого включений и равенства обладают
транзитивностью:
а) если (Л с В), (В с Q, то Л с С;
б) если (Л с В), (В с С), то Л с С;
в) если (Л = В), (В= Q, то Л = С.
3. Интуитивный принцип объемности. Если выполняется (ЛсВ) и
(Вс Л), то справедливо: А = В.
Результатом выполнения операций сравнения является логическое
значение — «истина» либо «ложь». Например, результат выражения Л = Л
всегда истинен, выражение ЛсВ может быть либо ложным, либо ис-
тинным — в зависимости от рассматриваемых множеств Л, В. В этом
заключается принципиальное отличие операций сравнения от пред-
метных операций, результатом выполнения которых всегда является
множество.
ОПРЕДЕЛЕНИЕ. Операции со значениями истинности, обратны-
ми к операциям сравнения (=; с; с), назовем отрицаниями операций
сравнения.
Например, операция (^) в выражении Л В означает, что множества
Л и В состоят не из одинаковых элементов, операция (<z) в выражении
А а В означает, что отсутствует строгое включение множества Л в В.
Указанные операции можно рассматривать как сокращенную за-
пись двухместных предикатов, где аргументами являются множества, а
результат — логическое значение.
20
Раздел I. Основы теории множеств и комбинаторика
Для строгого доказательства включения либо равенства составных
множеств, заданных формулами, можно использовать таблицы пересе-
чений или полные диаграммы пересечений. При этом справедливы три
следующих правила.
Правило 1. Если векторы включений у формул F\ и F2 совпадают, то
всегда F, = F2.
Правило 2. Если все элементарные пересечения формулы F, содер-
жатся в элементарных пересечениях формулы F2, то в общем случае F{
нестрого входит в F2 (F, с F2). Наличие строгого включения F, в F2 либо
равенство F, и F2 зависит от конкретных рассматриваемых множеств.
Правило 3. Если векторы включений формул составных множеств
индифферентны, не совпадают и ни один из них не входит в другой, то
никаких предварительных заключений при сравнении конкретных
примеров данных составных множеств по их формулам делать нельзя.
Пример 1. Сравнить составные множества, заданные в примере 2
п. 1.5 на простых множествах А и В;
1) Ft = (А и В); 2) F2 = (Л А В)\ 3) = Л п Ви (Аи В).
Решение. Т. к. векторы включений для формул F2 и F2 совпадают, то
составные множества, задаваемые ими, всегда равны: F2 = F2. Вектор
включений F{ строго входит в вектор для F2, поэтому в общем случае
F{ с F2. С использованием диаграмм Эйлера — Венна несложно пока-
зать, что если Л п В * 0, то имеет место строгое включение F\ с F2. При
Л п В = 0 равенство F} = F2.
Пример 2. Рассмотрим составные множества, заданные формулами
F{=A&B и Г2 = -1Л. Их векторы включений (ОНО) и (1100) индиф-
ферентны. Как несложно проверить, при Л а В с U выполняется стро-
гое включение Fx = В\А a F2, поскольку пересечение А\В, соответст-
вующее третьей компоненте векторов, в этом случае пусто. При
A=U*0 получим Fl=AA.B = -tB, F2 = ->A = 0. Следовательно в дан-
ном случае F2 с F}.
Задачи
1. Сравнить пары составных множеств, заданных следующими формулами:
a) Ft = Л Д В и F2 - С п (А и В);
б) F, = Л и Си Г2 = -, (С\(Л и Я));
в) Ft = -п (Л и {В Д С)) и F2 = В п С.
Глава 1. Множества, операции с ними. Алгебра множеств 21
1.7. Алгебра множеств. Ее формулы, теоремы и законы
В математике алгеброй называют множество объектов с введенны-
ми на них операциями.
ОПРЕДЕЛЕНИЕ. Алгеброй множеств называют совокупность мно-
жеств и операций над ними — предметных (и, п , \, Д, ->) и сравнения
(с, с, =), а также отрицаний операций сравнения.
В алгебрах выражения над объектами, правильно записанные при
помощи введенных операций, называют формулами.
ОПРЕДЕЛЕНИЕ. Формулой алгебры множеств называют любое вы-
ражение вида А р В, где А, В — формулы множеств, р — операция срав-
нения либо ее отрицание.
Формулы, справедливые для любых входящих в них множеств, на-
зываются теоремами алгебры множеств. Они задают всегда верные рас-
суждения о множествах. Количество всех возможных теорем алгебры
множеств бесконечно.
Пример 1. Рассмотрим следующие выражения:
а) -> (А ий) =-1А-, В; б) Аи В = Ап В;
в) Ап В qAu В; г) (Аи В) пС = (Ап С) и (В пС).
Выражение а) не является формулой алгебры множеств, т. к. в пра-
вой части его стоит выражение, не являющееся формулой множества.
Выражения б)—г) — формулы алгебры множеств. Как нетрудно пока-
зать на примерах, равенство б) справедливо только в одном случае, ко-
гда А = В, в других случаях оно ложно. Поэтому оно не будет теоремой.
Нестрогое включение в) и равенство г) выполняются всегда, поэтому
они являются теоремами алгебры множеств.
Среди теорем особо выделяют такие, где используется операция
сравнения «равенство» (=), поскольку такие теоремы задают эквива-
лентные преобразования формул (не нарушающие их истинности).
Наиболее употребительные теоремы с равенствами называют законами
алгебры множеств. В качестве законов обычно приводят следующие
теоремы.
1. Коммутативные законы — действуют относительно операций
объединения и пересечения.
А^л В = В А, А п В = В п А.
2. Ассоциативность (для операций объединения и пересечения).
(А о В) о С = А о (В о Q = А и В С-
(А п В) п С = А п (В п С) = А п В п С.
22 Раздел I. Основы теории множеств и комбинаторика
3. Дистрибутивные законы,
(А о В) n С= (А п С) и (Вгу С);
(А гуВ) и С= (А u С) n (Ви Q.
4. Идемпотентность.
А и А = А; А гу А = А.
5. Поглощение.
A u (А п В) = A; A n (А и В) = А.
6. Законы де Моргана.
(А и В) = А п В; (А п В) = А и В.
7. Закон исключения третьего.
~.~.А=А.
8. Операции с пустым и универсальным множествами.
(Ли U) = U; (Аи0)=А;
(AryU)=A-, (Лп0) = 0;
(t/n0) = 0;(t/u0)=l/;
0 = If;U= 0.
Рассмотрим проверку правильности рассуждений о множествах, за-
даваемых формулами алгебры множеств. В общем случае она может
быть выполнена с использованием полных диаграмм пересечений, а
также с помощью векторов включений.
Пример 2. Проверить справедливость первого закона де Моргана:
-п (А и В) = А п В.
Решение. Необходимо выяснить равенство в общем случае состав-
ных множеств, заданных формулами (Л иВ) и F2 = -i А п В.
Построим на полных множествах элементарных пересечений векторы
включения для Fi и F2:
N А В Аул В Рх ->А -в Р2
0 0 0 0 1 1 1 1
1 0 1 1 0 1 0 0
2 1 0 1 0 0 1 0
3 1 1 1 0 0 0 0
Т. к. данные векторы совпадают, то составные множества, заданные
формулами F\ и F2, равны при любых входящих в них множествах А и В.
Рассмотренное равенство является теоремой алгебры множеств.
Также строгое доказательство закона можно дать на полной диа-
грамме пересечений для двух множеств (рис. 1.2).
Для доказательства того, что некоторая формула не является теоре-
мой алгебры множеств, достаточно указать хотя бы один случай ее на-
рушения — например, на конкретных множествах или на диаграммах
Глава 1. Множества, операции с ними. Алгебра множеств 23
Эйлера или Эйлера — Венна, которые не обязательно должны быть
полными диаграммами пересечений.
Притер 3. Будет ли теоремой формула А\В = -,(Агу В)?
Решение. Проверка на диаграмме Эйлера — Венна для произволь-
ных множеств U, А, В (рис. 1.3) показывает, что формула дала неверный
результат, следовательно, она не будет теоремой.
Замечание. Доказанный выше факт не означает, что конкретные
составные множества, задаваемые формулами (А п 5) и А\В, всегда не
равны. Например, в частном случае при А= U равенство выполняется, по-
скольку А \В = -1 В, -1 (А п В) = -I В.
Задачи
1. Выразить аналитически в виде формул множества а)— ж) (рис. 1.4), ука-
занные на диаграммах штриховкой.
Рис. 1.4
24
Раздел I. Основы теории множеств и комбинаторика
2. Изобразить, используя полные диаграммы пересечений, множества, за-
данные следующими формулами:
а) (Л А В) и (СЛ В); б) А п (В и Q; в) А п В; г) (-, (А\В)\С);
д) (-, А & В); е) (Л\В); ж) (-, (А п В)\С); з) А А (Си В);
и) (Л А ->В) п (-, В и С).
3. Сравнить следующие пары составных множеств, заданные формулами:
а) -1 (Л и В) и -л Л п В; б) (Л п В) п (Л u С) и (В п Л) п (В и С);
в) (Л \В) Д-1Ви-1Лп-,В;г)ЛиВи (Л\В) А В;
д) (ЛДВ)\Си(Л\(ВиС))и(В\(ЛиС)).
4, Проверить (доказать или опровергнуть), будут ли приведенные ниже
формулы теоремами алгебры множеств:
а) (Л А В) u 1 (Л 1 В) = -I (Л и В); б) Л п (В\Л) = 0;
в) Л\(ВиС)=Лп -,(Ви С);г) (Аи В) г>А=А;
д) (Л А В)\С= (Л\(В и О) и (В\(Л и О);
е)-1ЛД-1ВсЛиВ; ж) А\(Ви С) с-> В; з) Л п Вс (Л и В) А С;
и) А Л В с —(А гу В гу С).
ГЛАВА 2
МОЩНОСТЬ МНОЖЕСТВ
2.1. Мощность. Счетные множества
Количество элементов конечных множеств может быть выражено
неотрицательным целым числом. Для оценки количества элементов в
бесконечных множествах вводится обобщенное понятие числа — мощ-
ность, которая для конкретного множества А обозначается как | А |. На
конечных множествах она совпадает с числом элементов, ее можно оп-
ределить простым подсчетом.
Пример 1. |{а, Ь, с}| = 3; |{ 1,..., 10}| = 10.
Для исследования мощности бесконечных множеств используют
отображения.
ОПРЕДЕЛЕНИЕ. Множества А и В называют эквивалентными
{имеющими одинаковую мощность), если между ними можно установить
взаимно однозначное отображение. Обозначают как | А | = | В |.
Для конечных множеств эквивалентность означает равенство чисел
элементов.
Рассмотрим самый простой вид бесконечных множеств.
ОПРЕДЕЛЕНИЕ. Счетными называют все множества, эквивалент-
ные множеству N натуральных чисел. Мощность | А| обозначают Ко
(алеф нуль, алеф — первая буква древнееврейского алфавита): 1А| = Ко.
Основное свойство счетных множеств заключается в том, что их
элементы можно пронумеровать числами натурального ряда. Это по-
зволяет использовать различные алгоритмы их последовательной об-
работки.
Вопрос о допустимости использования в математике бесконечных
величин и множеств занимал умы мыслителей еще с древности. Уже
тогда признавалось существование потенциальной бесконечности, под
которой понимается отсутствие предела у возрастающих числовых по-
следовательностей, например у натурального ряда N.
В то же время, многие видные ученые начиная с античности (Ари-
стотель) до второй половины XIX в. (Лейбниц, Гаусс, Коши и др.) вы-
ступали против признания и использования в математике актуальной
26 Раздел I. Основы теории множеств и комбинаторика
Е ........—
бесконечности, при которой бесконечные множества в символьном виде
вводятся в формулы подобно обычным конечным и с ними допускается
выполнение различных действий.
Переворот совершил в конце XIX в. немецкий математик Георг
Кантор, который вопреки существовавшему мнению ввел в математику
актуально бесконечные множества, доказав целый ряд теорем, раскры-
вающих их свойства.
Пример 2. Найдем мощность множества N2 всех четных положи-
тельных чисел (делящихся без остатка на 2).
Решение. Все числа в JV2 имеют вид п2 = 2п, где neN. Отображение
/: NN2, задаваемое этой зависимостью, является линейным с нену-
левым линейным коэффициентом (С0 = 2). Как доказано ранее, оно
взаимно однозначно. По определению множества N2 и N эквивалентны.
Таким образом, множество TV2 так же счетно, как и N, | N21 = 17V| = Ко.
Пример 3. Найти мощность множества Z всех целых чисел в интер-
вале (-00; +оо).
Решение. Аналогично доказываем | Z\ = Хо путем построения взаим-
но однозначного отображения f'.Z^>N. Разобьем / на два подмноже-
ства: N, N_, где N_ — неположительные целые числа (0 и все отрица-
тельные). Обозначим через N2 множество натуральных четных чисел,
через N2 — множество натуральных нечетных чисел ({1, 3, 5, 7,...}).
Искомое отображение f строим из двух отдельных взаимно одно-
значных отображений следующим образом:
А-»А2; n2 = 2ir,
N_ -> N2; п2 = -2п_ + 1.
И первая и вторая части построенного отображения являются ли-
нейными с ненулевыми линейными коэффициентами (С0 = 2, -2), сле-
довательно, они взаимно однозначны. Т. к. Z=N\jN:, N = N2u N2, то
искомое взаимно однозначное отображение построено. Следовательно
|Z| = |A| = K0.
Замечание. Взаимно однозначное отображение может быть по-
строено различными способами. В примере 3 его можно указать, например,
следующим образом:
Z: О 1 2 -1 -2 3 4 ...
Г г г г г Г Г ...
N: 1 2 3 4 5 6 7 ...
Глава 2. Мощность множеств
27
Пример 4. Найти мощность множества А рациональных чисел в сег-
менте [0, 1].
Решение. По определению рациональными являются числа, кото-
рые могут быть представлены в виде а = ±п/т, где п, т — целые числа,
п > 0, т > 0. На сегменте [0, 1] п < т. Упорядочить данные числа можно
следующим образом. В первой строке расположить числа, где после
сокращения числителя и знаменателя знаменатель равен 1; во второй —
несократимые числа со знаменателем 2, не вошедшие в строку 1; в
третьей — несократимые числа со знаменателем 3, не вошедшие в стро-
ки 1 и 2, и т. д.
В итоге получаем таблицу:
т=\\ 0/1, 1/1;
т = 2: 1/2;
т = 3: 1/3, 2/3;
т = 4: 1/4, 3/4;
Таблица содержит все числа из Л, причем каждое входит ровно один
раз. Если задать порядок по строкам таблицы сверху вниз и внутри
строк слева направо, то каждому ее элементу можно взаимно однознач-
но поставить в соответствие свой порядковый номер — натуральное
число:
0/1 ++ 1, 1/1 ++ 2, 1/2 ++ 3, 1/3 ++ 4, 2/3 ++ 5, 1/4 ++ 6, 3/4 ++ 7,... .
Отсюда следует, что построено взаимно однозначное отображение
/: Л-> N, |Л |= Ко .
Пример 5. Найти мощность множества А рациональных чисел на
всей числовой оси (-оо; -юо).
Решение. Рациональные числа в А можно представить в виде а = ±п/т,
где п, т — целые неотрицательные числа (лг^О). Упорядочиваем их
аналогично рациональным числам из [0,1], рассматривая вместо зна-
менателей веса чисел W=n + m. Таблица будет иметь следующий вид:
Ж=1: 0/1;
W=2: +1/1; -1/1;
1И=3: +2/1; +1/2; -1/2; -2/1;
Вводя пересчет элементов по аналогии с примером 4, также можно
показать, что в данном случае | А | = is'o.
Для практического определения счетной мощности множеств мож-
но использовать следующие утверждения.
28
Раздел I. Основы теории множеств и комбинаторика
Теорема 2.1. Любое подмножество В счетного множества А конечно
или счетно.
Доказательство. Упорядочим элементы множества А = {а,, а2, •••} и
удалим из него все элементы, не входящие в В. При этом всегда будет
получено упорядоченное конечное или бесконечное (счетное) множе-
ство элементов, составляющее подмножество В.
Теорема 2.2. Объединение любого конечного или счетного числа счет-
ных множеств тоже всегда является счетным множеством.
Доказательство. Допустим, есть конечное или счетное число мно-
жеств Ль А2, А3,.... Объединение их обозначим через Л. В общем случае
Ль А2, А3,... могут пер'есекаться, поэтому перейдем к непересекающим-
ся множествам В\ = А3; В2 = (Л2\Л]); В3 = (Л3\(Л, иЛ2)) и т. д. Очевидно,
иД = иЛ,=Л. Мощность числа элементов в каждом множестве Bt не
превышает счетную. Поэтому их можно записать в виде упорядоченной
последовательности (й;1, bi2,...). Объединяя такие записи множеств
В3,В2, ..., получим запись элементов всего исходного множества Л в
виде следующей таблицы:
^12 ^13 —
Z?2i b22 Ь23 ...
*31 Ъ32 Ь33 ...
В этой таблице все элементы Л присутствуют ровно один раз. Для
доказательства счетности множества Л графически укажем на рис. 2.1
способ упорядочения его элементов (сопоставления их числам из нату-
рального ряда).
Рис. 2.1
Данный способ упорядочения задает взаимно однозначное отобра-
жение множества А на N. Отсюда следует: | А | = Ко.
Пример 6. На плоскости (х, у) задана ортогональная сетка с шагом 1
(рис. 2.2). Найти мощность множества Л узлов сетки.
Глава 2. Мощность множеств
29
Решение. Мощность множества горизонтальных линий равна мощ-
ности множества всех целых чисел Z. Выше показано, что оно счетно.
Также счетно множество вертикальных линий. По доказанной ранее
теореме о счетной сумме счетных множеств получим | А | = Ко.
Рис. 2.3
Замечание. Задачу можно решить, непосредственно указав взаимно
однозначное отображение Например так, как показано на рис. 2.3.
Для практического сравнения мощностей множеств также может
быть использована теорема, сформулированная Кантором и доказанная
Шредером и Бернштейном.
Теорема 2.3 (Кантора — Бернштейна). Пусть А и В — некоторые про-
извольные множества. Если А эквивалентно некоторому подмножеству В}
множества В, а В — некоторому подмножеству Ах из А, то А эквива-
лентно В : | А | = | В |.
Доказательство производится путем построения взаимно одно-
значного отображения между А и В.
2.2. Множества мощности континуум
Рассмотрим одну из возможных процедур, позволяющую получать
множества с мощностью, превышающей некоторую исходную.
ОПРЕДЕЛЕНИЕ. Множеством всех подмножеств или булеаном мно-
жества М называют множество, состоящее из всех подмножеств М.
Обозначают его через [Л/]-
Пример 1. М= {а, Ь}. [Л/] = {(0, а, Ь, (а, Ь)}.
Пример 2. М= {1, 2, 3}. [ЛГ| = {(0, 1, 2, 3, (1, 2), (1, 3), (2, 3), (1, 2, 3)}.
30
Раздел I. Основы теории множеств и комбинаторика
У конечных множеств М мощность [М\ равна 2^1 Поэтому для мно-
жества всех подмножеств (булеана) также применяют обозначение 2м.
Пример 3. М~ N= {1,2,3,...}. В [М\ войдут:
а) нулевой элемент 0;
б) все натуральные числа поодиночке;
в) все возможные их сочетания по 2, 3, 4 и т. д. (конечной длины);
г) все возможные сочетания натуральных чисел счетной длины.
Теорема2.4 (Г. Кантора). При M*<Z> справедливо: |<|[Л/]|, т. е.
мощность любого непустого множества М меньше мощности множества
его подмножеств.
Доказательство. Для конечных множеств утверждение очевидно,
т. к. при п > 1 выполняется условие п < 2п.
Рассмотрим бесконечные множества. Т. к. Ма[М\, то всегда
| М\ < |[Л/]|- Докажем утверждение теоремы от противного. Допустим,
| Л/| = |[ЛД|. По определению эквивалентности множеств это означа-
ет, что существует взаимно однозначное отображение
которое каждому элементу а&М ставит в соответствие некоторое под-
множество .4 с \М\.
Анализируя все элементы аеМ и их образы Да) =Л с [ЛД, строим
вспомогательное множество X следующим образом: если элемент а не
входит в свой образ, а g Да), то а включается вX.
Множество X е[Л/], поскольку [Л/] содержит все возможные под-
множества М. Т. к. f — взаимно однозначное отображение, то для X
должен существовать элемент х еМ, такой, что/-1 :%->х,Дх) =Х.
Для элемента х есть только две возможности: а) х еX, б) х &Х. Допус-
тим, верно а). Т. к. х содержится в своем образе, то он не должен вхо-
дить в X, х gX. В случае б) также получаем противоречие, поскольку х по
алгоритму должен быть включен в X. Полученное противоречие пока-
зывает, что/-| на множестве X не определено, следовательно, взаимно
однозначное отображение f\M^> [Л/] не существует и | М\ * |[Л/]|. Сле-
довательно, | М\ < |[Л/]|-
Следствия.
1. Мощности бесконечных множеств также, как и конечных, могут
различаться.
2. Множеств с максимально возможной мощностью не существует,
поскольку для любого множества М всегда можно рассмотреть множе-
ство его подмножеств [М\. В теории множеств доказана теорема Церме-
ло, которая утверждает, что для произвольных множеств А и В всегда
Глава 2. Мощность множеств
31
есть только три возможности: а) | А | < | В |; б) | А | > | В |; в) | А | = | В |. От-
сюда следует, что несравнимых по мощности множеств не существует.
ОПРЕДЕЛЕНИЕ. Множествами мощности континуум называют
множества, эквивалентные множеству вещественных чисел на отрез-
ке [0,1 ]. Обозначается данный вид мощности С либо К.
Можно показать путем построения соответствующего взаимно од-
нозначного отображения, что между мощностями счетного множества
и множества мощности континуум существует следующая связь: |[AQ| =
= 2У=С.
В отличие от счетных, множества мощности континуум нельзя упо-
рядочить. Множество вещественных чисел на отрезке [0; 1 ] является как
бы эталоном для других множеств мощности континуум, с которым их
сравнивают путем построения взаимно однозначных отображений.
Г. Кантором дано прямое доказательство несчетности данного множе-
ства с помощью диагональной процедуры.
Теорема 2.5 (Г. Кантора). Множество вещественных чисел на отрезке
[0;1] несчетно.
Доказательство. Любое из этих чисел можно задать в виде конеч-
ной либо бесконечной десятичной дроби а = 0,а1а2а3..., где 0<а,<9.
Представим каждую конечную дробь а = 0,ос1ос2ос3...ссАг в бесконечной
форме: а = 0, a^aj.. .(ak_ j)99... .Для числа 1 получаем 1 =0,99... .
Допустим, рассматриваемое множество счетно. При этом все веще-
ственные числа на отрезке [0; 1] могут быть упорядочены в виде счет-
ного списка, в который каждое из них входит ровно один раз и пред-
ставлено бесконечной последовательностью десятичных знаков:
Р1 =0, Рн Р12 Р13 Р14-"
Рз = Р21 Р22 Р23 ₽24"•
Рз = ₽31 Р32 Рзз Рз4"‘
Р4 = 0, Р41 Р42 Р43 Р44...
Построим бесконечную дробь у = О.у^уз... по следующему правилу:
если Р/7= 1, то у,-=2, а если Р17^ 1, то у, = 1. Из алгоритма построения
следует, что дробь у не совпадает ни с одним из чисел pz, поскольку у,-
Р/7. Следовательно вещественное число у, принадлежащее отрезку [0; 1],
не содержится в списке. Получаем противоречие с допущением о воз-
можности упорядочения всех вещественных чисел из данного отрезка.
Пример 4. Найти мощность множества R вещественных чисел на
всей числовой ОСИ (-00; +оо).
32
Раздел I. Основы теории множеств и комбинаторика
Решение. Очевидно, | R | > С, поскольку отрезок [0; 1]сй. Докажем
строгое равенство | R | = С путем построения взаимно однозначного ото-
бражения f множества А = [0; 1] на R. С помощью одних линейных ото-
бражений невозможно взаимно однозначно отобразить конечный отре-
зок на бесконечную область. Данным свойством обладает тригонометри-
ческая функция y = tg(x). Но она действует на отрезке [—тг/2; +л/2], по-
этому вначале необходимо взаимно однозначно отобразить отрезок [0; 1]
(множество А) на отрезок [-л/2; +л/2] (который обозначим множест-
вом В), а затем множество В взаимно однозначно отобразить на R.
Первая задача может быть решена с помощью линейного отображе-
ния. Поскольку оно имеет два неизвестных коэффициента (Со, Cj), то
их можно найти, подставив в уравнение связи b = Соа + С, две пары зна-
чений из множеств А и В, которые должны взаимно однозначно ото-
бражаться друг в друга. Если взять в качестве таких пар минимальные и
максимальные значения на отрезках (0 <-> -тг/2; 1 <-> +л/2), то множест-
ва точек, лежащие между ними, взаимно однозначно отобразятся друг
на друга и задача будет выполнена. Подставляя выделенные пары в
уравнение связи, получим систему двух уравнений:
-л/2 = Со х 0 + С,;
+л/2 = Ср х 1 + С|.
Решая систему (например, методом исключения), получим
Со = л; С, = -л/2.
Взаимно однозначное отображение множества А на В (обозначим
его g: А -» В) примет вид а еА, g(a) = па - л/2 = Ье.В.
Для взаимно однозначного отображения множества В на R (обозна-
чим его h : В -> R) используем функцию tg : b еВ, h(b) = tg(Z>) = reR.
Итоговое отображение f'.A-^R представим в виде композиции
/= hg. Т. к. h и g взаимно однозначны, то и f по свойству композиций
будет взаимно однозначным. Подставляя уравнение й(а) в зависимость
г(Ь), найдем уравнение для отображения /, связывающее элементы а еЛ
с элементами г &R: г = tg(na - л/2).
Из факта построения взаимно однозначного отображения f:A->R
по определению следует эквивалентность множеств Ли R. Отсюда по-
лучим | R | = | Л | = С.
С точки зрения мощности, множество всех точек, лежащих внутри
и на границе квадрата [0; 1] х [0; 1], эквивалентно мощности всех точек
на отрезке [0; 1].
Теорема 2.6 (Г. Кантора). Множество всех точек декартова квадра-
та [0; 1) х [0; 1) имеет мощность континуум.
Глава 2. Мощность множеств
33
Доказательство. Построим взаимно однозначное отображение всех
точек из квадрата [0; 1] х [0; 1] на множество вещественных точек от-
резка [0; 1].
Как и при доказательстве теоремы 2.5, каждое из вещественных чи-
сел, задающих координаты точек квадрата [0;1]х[0;1] или отрезка
[0; 1], представим в виде бесконечной десятичной дроби а = 0,а1а2а3...,
где 0<а,<9. Все конечные дроби а = 0,a|Oc2oc3...oc^. для единообразия
задаем в эквивалентной бесконечной форме: ос = 0,оС|Ос2ос3,..(осА.- 1)99....
В том числе 1 = 0,99... .
При выбранном способе представления каждой точке отрезка соот-
ветствует одна бесконечная десятичная дробь х = 0,х1х2х3..., задающая ее
координату на отрезке. Каждой точке квадрата — две дроби х = 0,х1х7х3...
иу = 0,У\У1У3..., которые равны ее декартовым координатам по осям.
Искомое взаимно однозначное отображение строим следующим
образом. Каждой бесконечной десятичной дроби х = 0,х1х2х3..., задаю-
щей координату точки на отрезке [0; 1], ставим в соответствие две дро-
би х' = 0,х1'х2Х3... и у' = 0,У\'У2Уз ’ которые однозначно задают точку
квадрата [0; 1] х [0; 1], по следующему правилу:
х/ = X,, у/ = х2, х2' = х3, у2' =х4,..., х„' = х2„_,, у„' = х2„.
Отображение является однозначным, имеет обратное отображение
(х',у')-»х, которое также однозначно. Следовательно, оно является
взаимно однозначным и |[0; I ] х [0; 1]| = С, что и требовалось доказать.
Аналогично можно доказать мощность континуум для всех точек
куба [0; I]3 = [0; 1] х [0; 1] х [0; 1] и других более высоких декартовых
степеней [0; 1]" множества [0; 1].
Полученный результат был удивителен для всех математиков, в том
числе для самого Г. Кантора, поскольку он входил в противоречие с по-
нятием пространственной размерности объектов. Однако построенное
отображение не является непрерывным в обе стороны, что является в
математике достаточным условием для сохранения размерности.
Пример 5. Найти мощность множества R2 точек на декартовой
плоскости.
Решение. Используя отображение вида г = tg(?ra — тг/2) из примера 4,
можно взаимно однозначно отобразить все точки декартовой плоско-
сти на декартов квадрат [0; 1] х [0; 1], мощность которого, как доказано
в теореме 2.6, равна континууму. Следовательно, | R21 = С.
3 а м е ч а н и е. Т. к. процесс порождения множеств с большей мощно-
стью бесконечен, то рассмотрев множество [Л] всех подмножеств контину-
ального множества Л, получим множество 2А, мощности большей, чем кон-
34_________Раздел I. Основы теории множеств и комбинаторика_
тинуум |[Л]| = 2с>С. Мощность 2е имеет, в частности, множество всех
функций, определенных на R.
Применение теоремы Кантора — Бернштейна значительно упрощает
доказательство эквивалентности множеств мощности континуум оди-
наковой размерности. Для этого проще всего воспользоваться мас-
штабным изменением размеров объектов, которое можно выполнить
линейными преобразованиями с ненулевыми линейными коэффици-
ентами, задающими взаимно однозначные отображения.
Пример 6. Найти мощность множества А точек, принадлежащих
КРУГУ Радиуса г = 0,5 с центром в точке (1; 1) на декартовой плоскости.
Рис. 2.4
Решение. Докажем эквивалентность А множеству точек квадрата
[0; 1] х [0; 1] (множество В, рис. 2.4).
1. Вначале докажем эквивалентность Л некоторому подмножеству В.
Используя взаимно однозначное отображениех'=1хх-0,5;у'=1ху-
-0,5, отобразим круг Л на круг Л', расположенный внутри В. Отсюда
следует: | А' | = | А |, А’ с В.
2. Докажем, что В эквивалентно подмножеству А. При помощи вза-
имно однозначного отображения х' = 0,5 хх + 0,75; у' = 0,5 ху + 0,75,
квадрат В отобразим на квадрат меньшего размера В', расположенный
внутри круга Л. Отсюда следует: | В’ | = | В |, В’ с Л.
По теореме Кантора — Бернштейна из 1 и 2 следует: | А | = | В |. Отсю-
да с учетом результатов теоремы 2.6 получим | Л | = С.
Задачи
1. Найти мощность:
а) всех вещественных чисел в интервале [5; 10];
б) множества вещественных чисел (-оо; -г] и (г; +оо), где г — некоторое по-
ложительное вещественное число;
Глава 2. Мощность множеств
35
в) множества вещественных чисел в объединении отрезков вида [2г; 2i + 1),
где! eZ;
г) множества вещественных чисел (-со; 0] u (1; +оо);
д) интервалов г2), где г, и г2 — рациональные числа;
е) множества всех точек на окружности радиуса 1 с центром в точке (0; 0);
ж) множества точек на параболе у = (х - 2)2 при -со < х < +оо.
2. Построить пример взаимно однозначного отображения:
а) множества Nl0 целых чисел, кратных 10, на множество N2 четных чисел;
б) множества вещественных чисел [0; 4] на множество вещественных чисел
[0; 4] и (7; 10];
в) множества всех окружностей на плоскости на множество всех квадратов
на плоскости со сторонами, параллельными осям координат.
3. Построить взаимно однозначное отображение отрезка [0; 1] на положи-
тельную полуось [0; +оо).
4. Существует ли взаимно однозначное отображение:
а) множества всех вещественных чисел R на множество всех целых чисел Z?
б) множества всех рациональных вещественных чисел на множество всех
целых чисел?
5. Привести примеры счетных подмножеств на множествах:
а) всех прямых на плоскости;
б) шаров в пространстве;
в) векторов в и-мерном пространстве.
6. Будут ли иметь одинаковую мощность:
а) множества N3 и jV4 всех натуральных чисел, кратных соответственно 3 и 4?
б) множества N% и #4 всех трехзначных в десятичной системе счисления
натуральных чисел, кратных 3 и 4?
7. Доказать с применением теоремы Кантора —Бернштейна эквивалент-
ность множеств точек:
а) шара с радиусом R > 0 и соответствующей ему сферы;
б) 3-мерного пространства и прямой линии в нем.
ГЛАВА 3
БИНАРНЫЕ ОТНОШЕНИЯ НА МНОЖЕСТВАХ
3.1. Определение и способы задания отношений
ОПРЕДЕЛЕНИЕ, п-местным (п-арным) отношением р на множест-
вах Х1;Х2, ...,Х„ называют любое подмножество декартова произведе-
ния X, х Х2 х ... х Х„.
Поскольку отношения представляют собой множества специаль-
ного вида, то между ними определены все предметные и логические
операции, введенные ранее для обычных множеств.
Задание отношения р эквивалентно введению на Х{ х Х2 х ... х Хп
некоторого предиката Р(х{,х2, ...,х„) (логического условия), для кото-
рого (Р(х,, х2,..., х„) = true ((х,, х2,хп) е р) .
При п = 1 отношение называют унарным, смысл его заключается в
задании подмножества исходного множества X.
В случае и = 2 отношение называют бинарным, оно задает на декар-
товом произведении Х,хХ2 множество упорядоченных пар (х,у), где
х € Х|, у gX2.
Поскольку наиболее распространенными являются бинарные от-
ношения, у которых Х1=Х2 = Х, в дальнейшем будут рассматривать-
ся только отношения на декартовом квадрате Х2=ХхХ При необхо-
димости исходное множество дополнительно указывается нижним ин-
дексом: рл.
Для обозначения бинарных отношений применяется инфиксная
система записи, при которой знак отношения помещается между эле-
ментами пары. Если пара (х, у) (хеХ,уеХ) принадлежит отношению р,
то это обозначается какх рлу, если (х, у) не принадлежит р, то (х-> рл у).
ОПРЕДЕЛЕНИЕ. Полным называют отношение, содержащее весь
декартов квадрат %2 = Хх X. Обозначается оно JJX.
Диагональным называют бинарное отношение, содержащее все пары
вида (х, х), где х еХ Обозначается оно idx.
Для единичного исходного множества (|Х| = 1) idx= Ux. При |Х| > 1
всегда справедливо строгое включение: idxa Ux.
Отношения на конечных множествах могут быть заданы следую-
щими способами.
Глава 3. Бинарные отношения на множествах
37
Перечисление (список пар)
В этом случае все упорядоченные пары (х,у), образующие отноше-
ние, указываются в виде некоторой последовательности (списка). По-
ложение пар в списке может быть любым.
Пример 1. Х=Е2 = {0, 1}. Х2 = {(0; 0); (0; 1); (1; 0); (1; 1)}. Зададим от-
ношение р списком: р = {(0; 0); (1; 0); (1; 1)}. В отношение не включен
только один из элементов А"2 — пара (0; 1).
Матрица
Декартов квадрат Х2 = Хх X множества X, где определено бинарное
отношение, может быть задан в виде матрицы, где, например, строки
соответствуют первому элементу пары, а столбцы — второму элементу.
Если пара (х, у) входит в отношение р, то элемент матрицы Р на пересе-
чении строки, соответствующей х, и столбца, соответствующего у, при-
нимается равным 1. Если пара (х, у) не входит в р, то данный элемент
равен 0. В тех случаях, когда нельзя сказать ни хру ни (x-i ру), в мат-
рице будем ставить прочерк «—».
Пример 2. Задать матрицу отношения из примера 1.
Решение имеет следующий вид:
х\у 0 1
0 1 0
1 1 1
Матричное задание отношений более наглядно при изучении их
свойств.
Для того чтобы ввести отношения на бесконечных множествах, как и
при задании самих множеств, необходимо применять и другие способы.
Задание отношений при помощи предикатов
Если для отношения р, заданного на всем квадрате X2 либо его час-
ти возможности всего две (хру либо х-. ру), то такой набор пар эле-
ментов (х, у) всегда может быть интерпретирован как область истинно-
сти некоторого двухместного предиката Р(х,у), заданного на X2, кото-
рый определяется следующим образом: P(x,y) = true, если хру, иначе
Р(х, у) = false.
Данный прием позволяет во многих случаях довольно просто зада-
вать отношения не только на конечных, но и на бесконечных множест-
вах любой мощности.
38 Раздел I. Основы теории множеств и комбинаторика
Пример 3. Отношение из примера 1 можно задать при помощи пре-
диката Р(х,у) = 'х>у', поскольку все пары (х,у), входящие в отношение
и только они, удовлетворяют данному условию.
Пример 4.Х= R2. Зададим отношение при помощи предиката Р(х, у) =
= «х больше у». Оно будет образовано парами (х, у) из области истинно-
сти предиката Р(х,у), которая на декартовой плоскости будет полу-
плоскостью, лежащей ниже прямой х = у.
Замечание. 1. В ряде случаев При задании отношения с помощью
предикатов необходимо дополнительно уточнять условие непринадлежно-
сти пары элементов (х, у) отношению р — (х->ру), поскольку отрицание
предиката может быть интерпретировано неоднозначно.
2. Будем считать, что в исходном множестве А все элементы разные и ра-
венство элементов может означать только тождество элемента с самим собой.
В случае одинаковых элементов в А для непротиворечивого задания отно-
шения на него необходимо накладывать дополнительные ограничения.
3.2. Аксиомы на отношениях
Тип отношений может быть установлен путем проверки справедли-
вости некоторых их элементарных свойств, которые также называют
аксиомами. Рассмотрим их общие формулировки, а также структурные
свойства отношений, вытекающие из выполнения данных аксиом.
1. Рефлексивность: VxeX(x рх). Запись означает, что для всех эле-
ментов х еАпары (х, х) принадлежат отношению р.
При выполнении рефлексивности idA ср в отношение входят все
пары из одинаковых элементов (х, х), которые в его матрице распола-
гаются на главной диагонали.
2. Антирефлексивность: VxeA(x->px). Для всех хе А пары (х, х) не
принадлежат отношению р.
В случае антирефлексивности ни одна из пар idA не входит в отно-
шение. Если не выполняется ни рефлексивность, ни антирефлексив-
ность, то это свидетельствует о том, что часть диагонали принадле-
жит отношению, а часть — нет (либо на ней отношение вообще не оп-
ределено).
3. Симметричность: Vx, у еА(х ру ->у рх). Для всех х, у еУ из при-
надлежности пары (х, у) отношению р следует принадлежность отно-
шению р симметричной ей пары (у, х).
Матрица такого отношения симметрична по вхождению пар в него
относительно главной диагонали.
Глава 3. Бинарные отношения на множествах
39
4. Антисимметричность'. Vx, у&Х((хру) и (у рх) ->х = у). Для всех
х, у еХиз одновременной принадлежности пар (х, у) и (у, х) отношению р
следует, что х и у — один и тот же элемент. При выполнении антисим-
метричности:
1) для всех различающихся элементов х и у на симметричных отно-
сительно главной диагонали матрицы элементах (х, у), (у, х) вхождение
в отношение р должно быть противоположным (например, (хру) и
(у —> р х)) либо отрицательным, при котором (х -> р у) и (у р х);
2) пары из одинаковых элементов (х, х) — на главной диагонали
матрицы — могут как входить, так и не входить в отношение.
5. Асимметричность'. Vx, уе%((хру) -> (у-> рх)). Для всехх.уеЛГиз
принадлежности пары (х, у) отношению р следует, что (у, х) обязательно
не принадлежит р.
Асимметричность — частный случай антисимметричности, отлича-
ется от нее тем, что главная диагональ матрицы полностью не входит в
отношение, id сер (иначе для пары (х, х)ер получим противоречие:
(хрх) -> (х —। рх)). Поэтому при выполнении данной аксиомы автома-
тически выполняется антирефлексивность.
6. Транзитивность'. Vx, у, z^X((x ру) и (у pz) -» (х pz)). Для всех
х, у, z еХ из принадлежности пар (х, у) и (у, z) отношению р вытекает
принадлежность ему и пары (х, z).
Транзитивность означает для всех возможных наборов элементов
х, у, z следующее: если пары (х,у) и (у, z) входят в отношение, то пара
(х, z), стоящая в матрице отношения на пересечении строки, соответст-
вующей х, и столбца, соответствующего z, также должна входить в от-
ношение. Нарушение данного свойства хотя бы для одной тройки х, у, z
(при котором обязательно должны выполняться три условия: (хру),
(у р z) и (х -> р z)) означает отсутствие транзитивности.
В аксиоме транзитивности все три элемента в дальнейшем будем
считать различными, иначе аксиома превращается в тривиальные ра-
венства, например, при х = у: (у р z) -> (у р Z). Отсюда следует, что для
отношений на множествах с числом элементов меньше трех, аксиома
транзитивности всегда выполняется.
Пример 1. Проверить справедливость аксиом 1)—6) для отношения,
заданного в примерах 1—3 п. 3.1.
Решение. Проверку проще всего производить по матрице отноше-
ния, приведенной в примере 2.
1. Главная диагональ матрицы (пары (0, 0) и (1, 1)) целиком входит
в отношение, следовательно, оно рефлексивно и не является антиреф-
лексивным.
40 Раздел I. Основы теории множеств и комбинаторика
2. На двух парах, симметричных относительно главной диагонали
((0, 1) и (1, 0)), вхождение противоположное: 0 р 1, и 1 р 0. Других пар
недиагональных элементов нет. Поскольку главная диагональ входит в
отношение, оно является антисимметричным, но не асимметричным.
3. Как показано выше, при двух элементах в множестве транзитив-
ность выполняется всегда.
Ответ: заданное отношение рефлексивно, антисимметрично и тран-
зитивно.
Пример 2. Проверить справедливость аксиом 1)—6) для отношения,
заданного на множестве Х= {р, q, г}, следующей матрицей:
р q Г
р 1 1 0
q 0 1 1
Г 1 0 0
Решение.
1. Диагональные элементы (р,р), (q, q) входят в отношение, (г, г) —
нет, следовательно, для отношения не выполняется ни аксиома реф-
лексивности, ни аксиома антирефлексивности.
2. На всех парах, симметричных относительно главной диагонали,
вхождение противоположное. Поскольку на главной диагонали есть
пары, входящие в отношение, оно является антисимметричным, но не
асимметричным.
3. Проверим транзитивность. Пары (р, q), (q, г) входят в отношение,
пара (р, г) — не входит. Следовательно, транзитивность не выполняется.
Ответ: для заданного отношения справедлива только аксиома ан-
тисимметричности.
3.3. Основные типы отношений
Рассмотрим наиболее употребительные типы отношений.
Отношение эквивалентности
Данное отношение удовлетворяет следующим трем аксиомам:
1) рефлексивности; 2) симметричности и 3) транзитивности.
Практический смысл отношения эквивалентности заключается в
том, что оно разбивает множество, на котором определено, на классы.
Глава 3. Бинарные отношения на множествах
41
ОПРЕДЕЛЕНИЕ. Пусть множество X разбито на подмножества
Xh Х2,Хп таким образом, что все они попарно не пересекаются и
объединение их равно X:
l)uXi = X, (i= 1,и);
2) VXj <=Х, \fXj еУ, (Z *j) =>Х^Х~0.
В этом случае говорят, что произведено разбиение Xна классы Xlt...,
Хп. Элементы и множества Xэквивалентны по отношению к его раз-
биению, если они принадлежат одному и тому же классу Хк.
Замечание. 1. Мощность множества классов эквивалентности мо-
жет быть как конечной, так и бесконечной (счетной, континуум и т. д.).
2. Смысл понятия эквивалентности в том, что с точки зрения разбие-
ния множества X элементы х, и Xj неразличимы, если попадают в один
класс. Обычно отношение эквивалентности обозначают символом «=».
ОПРЕДЕЛЕНИЕ. Поэлементным будем называть такое разбиение
множества на классы эквивалентности, где каждый класс Xt содержит
ровно один элемент из X.
Фиктивным будем называть разбиение в котором выделен один
класс Xt, совпадающий со всем X, (X, = X).
Пример 1. Рассмотрим в качестве X множество натуральных чи-
сел N. Его можно разбить отношением эквивалентности на два непересе-
кающихся класса, дающих в сумме все N'. множество четных (делящих-
ся на 2 без остатка) чисел N2 и множество нечетных (делящихся на 2 с ос-
татком 1) чисел N2. При этом само множество пар отношения будет
образовано: а) всеми парами четных чисел; б) всеми парами нечетных
чисел. Смешанные пары (четное число с нечетным и наоборот) в него
не войдут.
Данное отношение эквивалентности можно задать при помощи
предиката Р(х, у) = «х -у кратно 2».
Пример 2. Х= N. А", = {1}, Х2 = {2, 3}, Х2 = {4, 5, 6, 7),.... Х, = {множест-
во целых чисел от 2'"1 до 2/-1}. Выделенные множества Х1,Х2,... не
пересекаются, объединение их равно N. Следовательно, они разбивают
N на классы. Их число бесконечно. Несложно показать, что |{А,}| = Хо.
Множество пар, составляющих отношение, будет следующим: {(1, 1);
(2, 2); (2, 3); (3, 2); (3, 3); (4, 4); (4, 5); (4, 6); (4, 7); (5, 4); (5, 5); (5, 6) ...}.
Отношение можно задать при помощи предиката, непосредственно
задающего структуру классов эквивалентности: Р(х, у) = «2'~’ <х, у <
< 2' - 1, ieN».
Пример 3. Х= {1, 2, 3, 4, 5, 6}. Ниже при помощи матриц приведены
примеры отношений, реализующих следующие разбиения X на классы:
42 Раздел I. Основы теории множеств и комбинаторика
1) разбиение: Х{ - {1, 2}, Х2 = {3}, Х3 = {4, 5, 6}; 2) фиктивное: АГ1 =Х, 3) по-
элементное: Х} = {1}, Х2 = {2}, Х3 = {3}, Х4 = {4}, Х5 = {5}, Х6 = {6}.
1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0
2 1 1 0 0 0 0 2 1 1 1 1 1 1 2 0 1 0 0 0 0
3 0 0 1 0 0 0 3 1 1 1 1 1 1 3 0 0 1 0 0 0
4 0 0 0 1 1 1 4 1 1 1 1 1 1 4 0 0 0 1 0 0
5 0 0 0 1 1 1 5 1 1 1 1 1 1 5 0 0 0 0 1 0
6 0 0 0 1 1 1 6 1 1 1 1 1 1 6 0 0 0 0 0 1
Отношение нестрогого (частичного) порядка
При данном отношении справедливы аксиомы: 1) рефлексивности;
2) антисимметричности; 3) транзитивности.
Отношение нестрогого порядка задает некоторый способ сравнения
элементов на рассматриваемом множестве таким образом, что для каж-
дого его элемента х пара (х, х) также принадлежит отношению. Данные
отношения обычно обозначают символом «<», т. к. на числовых множе-
ствах нестрогий порядок может быть задан предикатом «х меньше или
равен у». Если х < у, то говорят, что х подчинен у либо х не превосходит у.
ОПРЕДЕЛЕНИЕ. Множества, на которых введено отношение не-
строгого (частичного) порядка, называют частично упорядоченными.
Частичный порядок на X называется линейным, если все пары эле-
ментов из X сравнимы, т. е. для любых х, у&Х можно выяснить (х<у)
либо (у <х).
Пусть X — частично упорядоченное множество. Наименьшим назы-
вают элемент а еХ, который подчинен (не превосходит) всех остальных
элементов X, т. е. Ух еХ(а <х). Наибольшим называют элемент а <=Х, ко-
торому подчинены все остальные элементы из X — \fx&X(x<a). Обо-
значаются наименьший и наибольший элементы как min А" и max А".
У линейно упорядоченного множества любое подмножество также
является линейно упорядоченным.
Пример 4. Рассмотрим в качестве исходного множество натураль-
ных чисел N. Зададим на нем два варианта отношения нестрогого по-
рядка с помощью предикатов:
1) Р(х, у) = «х<у»;
2) Р(х, у) = «х делится без остатка на у».
Оба отношения удовлетворяют аксиомам рефлексивности, анти-
симметричности и транзитивности.
Глава 3. Бинарные отношения на множествах 43
Первое отношение задает на N линейный порядок, поскольку оно
определено для всех пар натуральных чисел. Наименьший элемент
min%= 1, наибольшего не существует.
Второе отношение не обеспечивает на N линейный порядок, по-
скольку существуют пары несравнимых натуральных чисел. Например,
(2, 3), (4, 5) ит. д. Наименьшего и наибольшего элементов нет.
Отношение строгого порядка
Отношение данного типа задает способ сравнения элементов на
множестве X таким образом, что все возможные пары элементов (х, х)
не принадлежат отношению. Данные отношения обозначают символом
«<», т. к. на числовых множествах строгий порядок может быть задан
предикатом «х строго меньше у».
Для определения отношения строгого порядка достаточно прове-
рить на парах элементов, составляющих его, справедливость только
двух аксиом: 1) асимметричности и 2) транзитивности.
Замечание. Зачастую в число аксиом отношения строгого порядка
включают аксиому антирефлексивности. Однако, как показано выше,
справедливость данной аксиомы следует из выполнения асимметричности.
По аналогии с частичным (нестрогим) порядком, множества, на ко-
торых введено отношение строгого порядка, называют строго упорядо-
ченными. Данный порядок на X называется линейным, если все пары
элементов из Xсравнимы.
Пример 5. Рассмотрим для множества X- Е2 = {0, 1} булеан [Л] = {(0);
(0); (1); (0; 1)}. Через {х}; будем обозначать подмножества Xв порядке их
вхождения в [А]. Введем на множестве [А] отношения строгого и не-
строгого порядка соответственно при помощи предикатов:
a) P({x}i, {х}7) = «{х}(- с {х}у (подмножество {х}( строго входит в под-
множество {х}7)>>;
б) (2({х}/; {х}7) = «{х}, с (х}у (подмножество {х},- нестрого входит в под-
множество {х}у)».
Если отрицаниям данных предикатов придать естественный смысл
обратного включения:
Р({х},-, {х}у) = «{х}у с {х},» и Q ({х},-, {х}у) = «{х}у с {х},»,
то оба отношения будут вводить на [А] соответственно частичный стро-
гий и нестрогий порядок. Оба порядка не будут линейными, поскольку
не позволяют сравнить между собой {х}2= (0) и {х}^= (1).
44
Раздел 1. Основы теории множеств и комбинаторика
Матрицы отношений будут следующими:
0 0 1 (0,1)
0 1 1 1 1
0 0 1 — 1
1 0 — 1 1
(0,1) 0 0 0 1
0 0 1 (0,1)
0 0 1 1 1
0 0 0 — 1
1 0 — 0 1
(0,1) 0 0 0 0
Замечание. Если в примере 5 в качестве отрицаний предикатов, за-
дающих отношения, принять:
-1 Р({х};, {х}7) = «{х}у с {%}, или {x}j не сравнимо с {х},»;
-> С({х}„ {х}у) = «{х}у с {х},- или {х}у не сравнимо с {х},»,
то данные отношения будут задавать полный порядок.
3.4. Проверка типов отношений. Решение задач
Для строгого доказательства принадлежности введенного на неко-
тором множестве X бинарного отношения р тому или иному типу необ-
ходимо проверить справедливость выполнения всех аксиом данного
типа для всех возможных упорядоченных пар (х, у) eJf2.
Для доказательства того, что бинарное отношение р на множестве X
не принадлежит к рассматриваемому типу, достаточно указать хотя бы
один случай нарушения какой-либо из аксиом данного типа отноше-
ний на элементах из X.
Пример 1. Рассмотрим множество всех треугольников {7}, заданных
длинами их сторон (а, Ь, с) (а, Ь,с — вещественные числа). Проверить,
будет ли устанавливать нестрогий порядок на {7} отношение 7}р 7} =
= «периметр 7} не меньше периметра 7}».
Решение. Обозначим периметр треугольника 7} через Р(1У). Для от-
ношения нестрогого порядка должны выполняться аксиомы рефлек-
сивности, антисимметричности, транзитивности.
1. Рефлексивность. V7] e {7} (P(Tt) р Р(Т,)) означает: «периметр Р(7})
каждого треугольника Ti не меньше Р(Т^». Данное условие выполняет-
ся для всех элементов {7}, поскольку для каждого Р(Т^) как для вещест-
венного числа справедливо равенство Р(1]) = P(Tj).
2. Антисимметричность. Выполнение аксиомы у заданного отно-
шения для любых треугольников Tt и 7} сводится к выполнению усло-
вия «если P(Tt) < P(Tj) и P(Tj) < Р(1У), то Т, = Ту, т. е. 7) и 7} — один и тот
же элемент. Очевидно оно нарушается, поскольку можно привести
пример двух треугольников с одинаковыми периметрами (т. е. выпол-
няются обе посылки), но у которых не совпадают длины сторон.
Глава 3. Бинарные отношения на множествах 45
Ответ', предложенное отношение не является отношением не-
строгого порядка на множестве {7}, поскольку у него не выполняется
аксиома антисимметричности.
Замечание. В рассмотренном примере 1 справедливость аксиомы
транзитивности можно не проверять, т. к. отрицательный ответ уже получен.
Пример 2. Выяснить, какой тип отношений вводит на множестве
всех множеств U предикат Р(Х, Y) = «мощность множества X равна
мощности множества K(|yV| = | К|)»?
Решение.
1. Отношение является рефлексивным, поскольку мощность любого
множества равна самой себе: VZе U(X р X).
2. Аксиома симметричности также выполняется, поскольку равен-
ство мощностей множеств не зависит от порядка их упоминания — для
VZ, Уе {/из равенства | А^| = | К| следует | К| = | А"|.
3. Транзитивность. Допустим, для некоторых множеств X, Y, Z
справедливо: |Х| = |У|, |K| = |Z|. Для доказательства транзитивности
необходимо сначала доказать, что | Z| = | Z\. По определению эквива-
лентных множеств из |Z| = | У|, | К| = | Z| следует, что существуют вза-
имно однозначные отображения f.X->Y и g: Y-+Z. Композиция h =
= gf, переводящая X в Z, по свойству взаимно однозначных отображе-
ний также будет взаимно однозначна. Отсюда получим, что | = | Z\,
что и требовалось доказать.
Т. к. для рассмотренного отношения справедливы аксиомы рефлек-
сивности, симметричности и транзитивности, то оно является отноше-
нием эквивалентности.
Ответ', заданный предикат вводит на множестве всех множеств U
отношение эквивалентности.
2. На множестве нечетных арабских цифр задать следующие бинарные от-
ношения: .
а) рефлексивное и не транзитивное;
46
Раздел I. Основы теории множеств и комбинаторика
б) антирефлексивное и симметричное;
в) задающее строгий порядок;
г) антирефлексивное и асимметричное;
д) антисимметричное и не транзитивное.
3. На множестве из трех элементов {а, Ь, с} задать при помощи списков или
таблиц бинарные отношения следующего типа:
а) эквивалентности (отличное от поэлементного и фиктивного);
б) строгого порядка;
в) нестрогого порядка.
4. На множестве простых чисел в интервале [0; 10] построить примеры от-
ношений:
а) антирефлексивного, симметричного и не транзитивного;
б) транзитивного, но не антисимметричного.
5. Проверить, будут ли разбивать на классы множество N;
а) подмножества N^, Ny,..., N^-T’ состоящие соответственно из чисел, име-
ющих остаток 0,1,..., k- 1 при делении на заданное натуральное число к\
б) подмножества {1}, N2, NJt ..., состоящие соответственно из числа 1 и
чисел, делящихся без остатка на 2, 3, 4,...;
в) подмножества #(1), #(2), 7V(3),..., состоящие из чисел, которые можно
представить в виде произведения, состоящего соответственно из одного, двух,
трех и т. д. простых чисел, отличных от 1.
6. Будет ли задавать отношение эквивалентности на множестве рациональ-
ных чисел в интервале [0, 1]:
а) объединение рациональных чисел в классы, если их можно представить
дробью с одинаковым знаменателем;
б) объединение рациональных чисел в одинаковые классы, если их можно
представить в виде несократимой дроби с одинаковым знаменателем.
7. Ввести отношения эквивалентности, строгого и нестрогого порядка на
множествах:
а) всех кругов на плоскости, заданных декартовыми координатами центра и
радиусом;
б) всех прямых на плоскости, заданных в декартовых координатах канони-
ческой формулой ах + by + с = 0.
8. Дано множество V всех векторов двухмерного евклидового пространст-
ва Е1, в котором скалярное произведение векторов 7 = (д', Ь') и (у’,) = (д", Ь") оп-
ределено как (у*,у") = (а'ха"+ b’xb"). Выяснить, будут ли задавать отноше-
ние эквивалентности на Иследующие предикаты:
а) Р(У, у") = «(у , у") < 0»;
б) P(v', v") = «(v*, v") > 0»;
9. На булеане множества {а, 0, у} ввести отношения:
а) эквивалентности (отличное от поэлементного и фиктивного);
б) строгого порядка.
Глава 3. Бинарные отношения на множествах
47
10. На множестве целых чисел в интервале Х= [0; 10] построить примеры
отношений строгого порядка, которые:
а) задают линейный порядок на X;
б) не обеспечивают линейный порядок на X.
11. На множестве F всех функций одной переменной, определенных на
отрезке [а, Ь], отношение задано предикатом
= «Vx е [а, *](|/i(х) | < |/2(х) |)».
Доказать, что данное отношение вводит на F частичный порядок. Прове-
рить, будет ли этот порядок линейным. Существуют ли при данном порядке
наименьший и наибольший элементы?
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ОБЩАЯ ТЕОРИЯ МНОЖЕСТВ»
В. 1.
1. Выразить с помощью теоретико-множественных операций в виде фор-
мулы заштрихованное множество на диаграмме Эйлера:
2. Построить взаимно однозначное отображение множества натуральных
чисел N на множество рациональных чисел из интервала [0, 2].
В. 2.
1. Доказать по методу математической индукции, что при всех де А
1 + 4 + 7 + ... + (Зд - 2) = п х (Зл - 1 )/2.
2. Доказать второй закон де Моргана алгебры множеств.
В. 3.
1. Изобразить на полной диаграмме пересечений Эйлера — Венна множе-
ство, задаваемое формулой ДА (А п 5 и Q.
2. Привести на множестве Х= {0,1} примеры двух отношений:
а) антирефлексивного и симметричного;
б) не рефлексивного, не антирефлексивного, но антисимметричного.
В. 4.
1. Доказать по методу математической индукции, что при любых натураль-
ных п 42 * * * * * В." + 5" - 1 кратно 20.
2. Проверить (доказать или опровергнуть), будет ли формула (АД5)с (А\В)
теоремой алгебры множеств.
48
Раздел I. Основы теории множеств и комбинаторика
В. 5.
1.. Проверить (доказать или опровергнуть), будет ли формула (А п В) с
-л (А Д В) теоремой алгебры множеств.
2. Проверить, будет ли отношением эквивалентности на множестве нату-
ральных чисел Nотношение, задаваемое предикатом Р(х, у) = «х2 +у2 = 25».
В. 6.
1. Выразить с помощью теоретико-множественных операций в виде фор-
мулы заштрихованное множество на диаграмме Эйлера — Венна:
2. Привести собственный пример множеств А и В и отображения/: А -> В,
которое является сюръективным, но не инъективным. Ответ обосновать.
В. 7.
1. Доказать по методу математической индукции, что при любых натураль-
ных п выражение 22" + 32" -1 кратно 6.
2. Проверить (доказать или опровергнуть), будет ли формула (А Л В) с -> А
и В теоремой алгебры множеств.
В. 8.
1. Выразить с помощью теоретико-множественных операций в виде фор-
мулы заштрихованное множество на диаграмме Эйлера:
2. Доказать эквивалентность множества точек трехмерного шара единич-
ного диаметра и множества точек куба с единичной длиной ребер.
В. 9.
1. Привести пример формул составных множеств ЛДД, В, С), F2(A,B,Q
таких, что равенство F\(A, В,С) = F2(A, В)', а) выполняется для попарно непере-
секаюшихся исходных множеств А, В, С и б) не выполняется для пересекаю-
щихся А, В, С.
Глава 3. Бинарные отношения на множествах
49
2. Найти мощность множества точек на одном витке спирали с радиусом R
и шагом Р, задаваемом параметрическим уравнением
x = Asin/, y-Rcosl, z = Pt, 0</<2л.
В, 10.
1. Изобразить на полной диаграмме пересечений Эйлера — Венна множе-
ство, задаваемое формулой -> А п В А (А и (С\В)).
2. Ввести отношения а) строгого и б) нестрогого порядка на множестве век-
торов на евклидовой плоскости. Исследовать линейность порядков, наличие
наименьшего и наибольшего элементов.
В. 11.
1. Привести примеры непустых множеств А, В и С, для которых формула
А и В и С= С: а) справедлива и б) несправедлива.
2. Найти мощность точек части плоскости, ограниченной эллипсом
4х2+у2 = 1.
В. 12.
1. Можно ли придумать пример множества А, для которого не выполняется
закон исключения третьего? Ответ обосновать.
2. Будут ли задавать отношение эквивалентности на множестве натуральных
чисел Nпредикаты: а) Р(х, у) = «х-у = 1», б) Q(x, у) = «х-у = 0».
В. 13.
1. Доказать по методу математической индукции, что при любых натураль-
ных л справедливо: 0 + 2 + 6 +... + (и2- л) = п х (и2 - 1 )/3.
2. Можно ли построить взаимно однозначное отображение множества чет-
ных натуральных чисел Д'2 на множество вещественных чисел из интервала
[0; 0,1] ? Ответ обосновать.
В. 14.
1. Изобразить на полной диаграмме пересечений Эйлера множество, зада-
ваемое формулой (В\А) и (Сг>А\В).
2. Привести пример отображения на множестве геометрических фигур, ко-
торое однозначно, но не взаимно однозначно.
В. 15.
1. Привести пример непустых множеств А, В, С, для которых (А* В, А* С,
В* С) и одновременно справедливы формулы Ar>Br^C=C, A<jB<jC=A.
2. Проверить (доказать или опровергнуть), будет ли формула А\Вс:—.А
теоремой алгебры множеств.
В. 16.
1. Доказать по методу математической индукции, что разность З2"- 5" при
любых натуральных п > 2 кратна 4.
2. Ввести отношение частичного порядка на множестве квадратичных па-
рабол на плоскости, задаваемых формулой у = ах2 + Ьх + с. Исследовать линей-
ность порядка, наличие наименьшего и наибольшего элементов.
В. 17.
1. Изобразить на полной диаграмме пересечений Эйлера — Венна множе-
ство, задаваемое формулой (А п В) о С.
2. Заданы множества Х= {А, *, } и У= {а, Ь, с}. Построить декартовы про-
изведения Ух У, Ух Хи декартов квадрат X2.
50
Раздел I. Основы теории множеств и комбинаторика
В. 18.
1. Выразить с помощью теоретико-множественных операций в виде фор-
мулы заштрихованное множество на диаграмме Эйлера — Венна:
2. Доказать справедливость для любых множеств А и В следующего соот-
ношения: если А с В, то В с-1А.
В. 19.
1. Проверить (доказать или опровергнуть), будет ли формула (А г В) с
А Л - В теоремой алгебры множеств.
2. Привести пример взаимно однозначного отображения множества нату-
ральных чисел .<¥на декартов квадрат j¥2.
В. 20.
1. Изобразить на полной диаграмме пересечений Эйлера множество, зада-
ваемое формулой В А (А и С г -> В).
2. Можно ли построить взаимно однозначное отображение множества ве-
щественных чисел из [0; 1] на множество рациональных чисел из интервала
[-со; +со]? Ответ обосновать.
В.21.
1. Изобразить на полной диаграмме пересечений Эйлера — Венна множе-
ство, задаваемое формулой А п (йи Q.
2. Привести на множестве Х= {А, В, С, D} пример отношения, которое реф-
лексивно, симметрично, но не транзитивно.
В. 22.
1. Доказать по методу математической индукции, что при любых натураль-
ных/! справедливо неравенство
I2 + З2 + 52 + 72 + ... + (2л - I)2 < и х (2л - 1) х (2л + 1)/3.
2. На декартовом квадрате множества Х= {0; 1; 2} задать при помощи пре-
диката отношение эквивалентности, разбивающее Хг на два класса эквива-
лентности.
В. 23.
1. Выразить с помощью теоретико-множественных операций в виде фор-
мулы заштрихованное множество на диаграмме Эйлера:
Глава 3. Бинарные отношения на множествах
51
2. Привести примеры непустых множеств А и В, для которых формула
-Ju B = -iA : а) выполняется и б) не выполняется.
В. 24.
1. Привести пример двух формул составных множеств Ft(A,B,C),
F2(A,B,C) таких, что: а) для попарно непересекающихся исходных множеств
А, В, С выполняется равенство F\(A, В,С) = F2(A, В, Су, б) для пересекающихся
А, В, С выполняется строгое включение F^A, В, С) с F2(A, В, С) .
2. Привести собственный пример множеств А и В и отображения /: А—> В,
которое является инъективным, но не сюръективным. Ответ обосновать.
В. 25.
1. Для множеств Х= {а, 0, у} и Y= {1; 2; 3; 4} построить следующие декарто-
вы произведения: Хх Y, YxX,X2 и Y2.
2. Найти мощность множества точек на гиперболе у=1/(х-2) при
хе(3; +<ю).
В. 26.
1. Изобразить на полной диаграмме пересечений Эйлера — Венна множе-
ство, задаваемое формулой -> (А Д В) А С.
2. Привести на множестве У={Д, ?, О} пример отношения, которое анти-
рефлексивно и не транзитивно.
В. 27.
1. Проверить, будут ли приведенные ниже записи формулами алгебры
множеств: а) А & В qAu гл В; (У) (В -< С) = А; в) Агл В с В. Ответ обосновать.
2. Проверить справедливость аксиом для отношения на множестве
Х= {0; 1; 2; 3}, заданного таблицей:
0 1 2 3
0 0 1 1 0
1 1 0 1 0
2 1 1 0 0
3 1 1 1 0
ГЛАВА 4
СИСТЕМЫ СЧИСЛЕНИЯ
Дискретное (цифровое) представление информации позволило
значительно повысить качество выполняемых операций на всех этапах
ее обработки — при записи, преобразовании, передаче и хранении.
Системой счисления называют используемый способ записи вели-
чин в виде отдельных чисел, изображаемых при помощи специальных
символов: цифр и букв. Он зависит от вида решаемых задач и приме-
няемых для этого вычислительных устройств.
Для компьютеров в настоящее время общепринятым стандартом
является двоичная система представления чисел, когда элементар-
ная единица памяти (бит) может принимать только два возможных
состояния, обычно* кодируемые нулем и единицей. Однако в течение
нескольких десятилетий исследуются возможности и других систем
счисления.
Двоичную информацию в памяти ЭВМ интерпретируют системой
счисления с основанием 16 (шестнадцатеричной), что связано с байто-
вой адресацией памяти, принятой в современных компьютерах и алго-
ритмических языках.
4.1. Позиционные системы счисления с постоянными основаниями.
Двоичная система. Двоичные векторы
В позиционных системах счисления вещественные числа представ-
ляют при помощи целой и дробной частей, разделенных между собой
запятой. И целую часть, и дробную записывают при помощи последо-
вательности отдельных знаков, стоящих в разрядах — местах, за кото-
рыми закреплен порядковый номер, отсчитываемый от запятой. В це-
лой части отсчет идет от разделяющей запятой справа — налево от 0 и
выше. Дробная часть изображается в разрядах, стоящих слева — напра-
во. Номера разрядов в ней убывают от (-1) слева направо.
Наиболее употребительной является система счисления, называе-
мая десятичной, в которой 10 единиц каждого младшего разряда состав-
ляют одну единицу следующего за ним старшего. Отношение едини-
цы старшего разряда к единице младшего, равное 10, называют основа-
нием системы. Подобные системы счисления, где соотношение единиц
Глава 4. Системы счисления
53
в разрядах постоянно, называют позиционными с постоянными осно-
ваниями.
При постоянном основании р для изображения любого целого чис-
ла А используют его разложение по целым неотрицательным степеням
(О, 1, 2, 3, ...) основанияр:
А = акрк + ... + а2р2 + а{р1 +аар°.
Запись числа имеет вид Ар = afc...a2«i«o- В цифровой записи числа
основание системы также помечают, когда это необходимо, нижним
индексом.
Пример 1. Запись 12510 означает следующее разложение числа по
степеням числа 10: 1 х 102 + 2 х 101 + 5 х 10° = 100 + 20 + 5.
Запись числа 125 ]0 в восьмеричной системе счисления выглядит как
1758 = 1 х 82 + 7 х 81 + 5 х 8°. Т. е. при его переводе в десятичную систему
получим 1758= 12510.
Дробные числа в системах с постоянным основанием р разлагают
по отрицательным (-1,-2,...) степеням р. Таким образом, запись Ар =
= 0,а_1,а_2 означает Ар = +а_2р~2 +... + a_sp~s.
Пример 2. 0,4710 = 4 х Ю-1 + 7 х 10~2; 0,2657 = 2x7 4+ 6x7 ~2+ 5x7-3.
С помощью позиционных систем с постоянными основаниями
можно представить точно либо приближенно (с любой заданной точно-
стью) любое вещественное число.
Из позиционных систем счисления проще всего двоичная, с основа-
нием 2, где числа записываются с помощью символов из множества
£2={0, 1}. Единица старшего разряда равна двум единицам предшест-
вующего. Для записи числа в этой системе его разлагают по степеням
основания 2. Например, для числа 12510 = 1 х 26 + 1 х 25 + 1 х 24 + 1 х 23 +
+ 1 х 22 + 1 х 2° = 64 + 32 + 16 + 8 + 4 + 1. Т. е. двоичная запись числа 12510
имеет вид 11111012. В силу своей простоты двоичная система нашла
широкое применение в различного рода вычислительных и управляю-
щих устройствах, т. к. для ее физической реализации достаточно обеспе-
чить только два состояния логических элементов: «да — нет», «включе-
но — выключено» и т. п. Двоичная система также служит модельной при
исследовании структурных свойств множеств и логических объектов.
Перевод целых чисел из двоичной системы в десятичную
Двоичную запись числа представляют в виде разложения по степе-
ням числа 2, где каждое слагаемое представлено в десятичной системе.
После суммирования получается искомая десятичная запись числа.
54
Раздел I. Основы теории множеств и комбинаторика
Пример 3. Переведем в десятичную систему число, представленное
в виде 11010012.
Решение. Последовательно записываем разложение числа по степе-
ням основания 2, выражаем полученные степени в десятичной системе
и суммируем: 11010012 = 1 х 26 + 1 х 25 + 1 х 23 + 1 х 2° = 641О + 3210 + 810 +
+ 110 = 1051О.
Перевод целых чисел из десятичной системы в двоичную
Проще всего разложить десятичное число по степеням 2 последова-
тельным многократным делением его на 2. При этом остатки от деле-
ния на каждом шаге и самое последнее частное образуют обратную
двоичную запись числа.
Пример 4. Переведем в двоичную систему число 2310.
Решение. Последовательно делим число и его частные на 2, выделяя
подчеркиванием остатки от деления на каждом шаге и самое последнее
частное:
23 2
22 11 |2
± 10 5 2
±42 2
1 2 1
0.
Двоичную запись числа получаем, располагая подчеркнутые числа в
обратном порядке: 2310= 101112.
Перевод дробных частей чисел из двоичной системы в десятичную
Двоичную запись числа представляют в виде разложения по степе-
ням числа (1/2), выраженным в десятичной системе. После суммирова-
ния получается искомая десятичная запись числа.
Пример 5. Переведем в десятичную систему счисления дробь
0,101012.
Решение. Последовательно записываем разложение числа по сте-
пеням основания 1/2, выражаем степени в десятичной системе и сум-
мируем:
0,101012 = 1X 2 4 + 1X 2~3 + 1X 2-5 = 0,510 + 0,12510 + 0,0312510 = 0,6562510.
Глава 4. Системы счисления
55
Перевод дробных частей чисел из десятичной системы в двоичную
Деление на 1/2 заменяем умножением на 2. После каждого умноже-
ния целую часть произведения отделяем и заносим в запись числа, а
оставшуюся дробную часть снова умножаем. Процесс продолжаем до
тех пор, пока: а) в дробной части будет получен 0 (конечная дробь) либо
б) определится период в бесконечной периодической дроби.
Пример 6. Переведем в двоичную систему дробь 0,75]0.
Решение.
0,75 0,5
х 2 х 2
1,5 1,0
В дробной части получен 0, следовательно, дробь конечная.
Ответ: О,751о = 0,112.
Пример 7. Переведем в двоичную систему дробь 0,81о.
Решение.
0,8 0,6 0,2 0,4
х2х2х2х2
1,6 1,2 0,4 0,8
Процесс остановлен, т. к. найден полный период бесконечной дро-
би (значение 0,8 получено вновь).
Ответ: 0,810 = 0,( 1100)2-
ОПРЕДЕЛЕНИЕ. Двоичным или булевым «-мерным вектором назы-
вают вектор вида Ьп= (Ь{, Ь2, ...,Ьп)е Е2, каждая компонента Z?z(l</<«)
которого может принимать значения из множества Е2 = {0,1).
Весом двоичного вектора b " называется количество единиц в его
двоичной записи. Обозначается т(й"). Например, со( 1, 0, 0, 1, 1, 0) = 3.
Двоичный вектор Ьп* является обратным (инвертированным) к Ьп,
если он образован из b п заменой нулей единицами, а единиц — нуля-
ми. Например, если b = (0, 1, 1, 1, 0, 1), то b* = (1, 0, 0, 0, 1, 0).
В качестве меры близости булевых векторов используют расстояние
Хэмминга.
ОПРЕДЕЛЕНИЕ. Расстоянием Хемминга р между булевыми векто-
рами а" и р" называют величину
п
p(a",P") = ^(a/-P/)(mod2),
/=1
56 Раздел I. Основы теории множеств и комбинаторика
где вычитание бинарных чисел по mod 2 производится по следующим
правилам: 0 -0=1- 1 = 0; 0 - 1 = 1-0 = 1.
Расстояние Хэмминга равно количеству координат, по которым
различаются векторы а" и р”.
ПримерЯ. р(100011, 110011) = 1, р(0101, 1010) = 4.
ОПРЕДЕЛЕНИЕ. Булевы векторы а" и р", различающиеся ровно
по одной координате (р(ос",р") = 1, называют соседними.
Рассмотрим наиболее употребительные интерпретации булевых
n-мерных векторов.
1. Представление в виде двоичных чисел. Если в записи вектора р"
устранить запятые, ее можно рассматривать как двоичную запись неко-
торого целого числа. Наименьшим таким числом является 0. Ему соот-
ветствует вектор р" =(0,...,0). Наибольшим является число 2"—1, ко-
торому соответствует р" =(!,..., 1). Следовательно, при помощи векто-
ров р" можно записать все 2" целых чисел из отрезка [0,2"—1]. Такие
числа будем называть порядковыми номерами векторов.
Лексикографическим называют такой порядок векторов р", когда
соответствующие им двоичные числа расположены по возрастанию от 0
до 2я-1.
В качестве примера рассмотрим полное множество 3-мерных дво-
ичных векторов, расположенных в лексикографическом порядке:
0 (0,0,0), 4 (1,0,0),
1 (0,0,1), 5 (1,0,1),
2 (0,1,0), 6 (1,1,0),
3 (0, 1, 1), 7 (1, 1, 1).
2. Бинарное дерево Тп. Сопоставим множеству всех 2я векторов b"
следующую древовидную структуру, начинающуюся в корневой вершине О
(вершине нулевого уровня). Из нее выходят вниз два отрезка (ребра),
соответствующие значениям Ь{ = 0 (влево) и Б = 1 (вправо) и оканчи-
вающиеся вершинами первого уровня. Из них выходят вниз по два ребра,
соответствующие й2=0 (влево) и й2=1 (вправо) и оканчивающиеся
новыми вершинами второго уровня и т. д. Процесс завершается построе-
нием всех вершин п-го уровня. Данная структура называется бинарным де-
ревом и обозначается Тп. На рис. 4.1 показано дерево Т3 для 3-мерного
булевого вектора bJ = (х, у, z).
Глава 4. Системы счисления
57
О уровень
1 уровень
2 уровень
3 уровень
Рис. 4.1. Бинарное дерево Т3
Пронумеруем слева направо все вершины л-го уровня от 0 до 2"-1.
Каждому вектору b " можно однозначно поставить в соответствие путь
из корневой вершины О в вершину и-го уровня с порядковым номером
вектора Ьп. Например, вектору (0, 1, 0) в рассмотренном примере соот-
ветствует путь из корневой вершины в вершину 2 (0102 = 210) по реб-
рам х = 0, у = 1, z= 0. Таким образом, бинарное дерево полностью опи-
сывает все 2" векторов b".
О I
°----;—о
п = 1
Рис. 4.2. Единичные и-мерные кубы В1, В2 и плоские проекции кубов В3, В4
3. Единичный п-мерный куб Вп. Единичным «-мерным кубом назы-
вают полный набор вершин, соответствующих векторам Ь ", в котором
каждые две соседних вершины (которым соответствуют векторы, раз-
личающиеся ровно по одной координате) соединены отрезком (ребром).
Обозначается единичный «-мерный куб как Вп. На рис. 4.2 показаны
кубы В\ В2, а также плоские проекции кубов В3, В4.
ОПРЕДЕЛЕНИЕ. Дана вершина а’ в В". Множество вершин В"
{Р"}, для которых р(ос”, р”) = г, называют сферой радиуса г. Множест-
во {у"} вершин В", для которых р(а", у”)<г, называют шаром радиуса г.
58
Раздел 1. Основы теории множеств и комбинаторика
4.2. Шестнадцатеричная система счисления. Арифметические
действия в системах с постоянными основаниями
На элементарном уровне физическую память компьютера можно
описать как массив битов, каждый из которых принимает состояние О
или 1 и, следовательно, может быть описан одноразрядным двоичным
числом. Однако в качестве минимальной адресуемой единицы памяти в
современных процессорах и алгоритмических языках принят байт —
группа из 8 подряд стоящих битов. Каждому байту соответствует уни-
кальный адрес — некоторое число. Кроме того, аппаратные и про-
граммные средства позволяют одновременно работать с группами, со-
держащими 2, 4, 8 и более байтов. Последовательность из двух байтов
(16 бит) называют словом, из 4 байтов (32 бит) — двойным словом.
Содержимое байта в двоичной системе можно представить двоич-
ным 8-разрядным числом. Для сокращения записи содержимого байтов
их разбивают на две группы по 4 бита — тетрады, каждая из которых
представлена числом в шестнадцатеричной системе счисления. Для ко-
дирования десятичных чисел в диапазоне от 0 до 15 и соответствующих
им двоичных тетрад в данной системе используют следующую систему
обозначений:
Десятичное число Двоичная тетрада Ш естнадцатеричное число
0 0000 0
1 0001 1
2 0010 2
3 ООН 3
4 0100 4
5 0101 5
6 ОНО 6
7 0111 7
8 1000 8
9 1001 9
10 1010 А
11 1011 В
12 1100 С
13 1101 D
14 1110 Е
15 ни F
Глава 4. Системы счисления
59
Для обозначения чисел от 10 до 15 используют как прописные, так
и строчные начальные буквы латиницы.
Из двоичной системы в шестнадцатеричную числа переводят, груп-
пируя их цифры в тетрады (начиная с младших разрядов) и заменяя со-
ответствующими шестнадцатеричными цифрами. Если в старших раз-
рядах числа остается меньше 4 знаков, их дополняют спереди незнача-
щими нулями.
Пример 1. Перевести в шестнадцатеричную систему счисления дво-
ичное число, задающее содержимое байта: 110010112.
Решение. Разбиваем байт на две тетрады: 11002 и 10112. Применяя
замены 11002 = С16, 10112 = 516, получим 1100 10112 = СВ16.
Пример 2. Перевести в шестнадцатеричную систему двоичное число
101101101102.
Решение. В этом числе 11 символов. Разбиваем его на тетрады,
дополняя спереди группу из 3 старших разрядов незначащим нулем.
Полученные тетрады заменяем соответствующими шестнадцатерич-
ными числами: 01012 = 516, 10112 = В16, 01102 = 616. В итоге получим
101101101102 = 55616.
Обратный переход из шестнадцатеричной системы в двоичную осу-
ществляют последовательной заменой шестнадцатеричных чисел в раз-
рядах соответствующими двоичными тетрадами. Незначащие нули в
старших разрядах получаемого двоичного числа отбрасывают.
Пример 3. Перевести число 3Z>1.F16 из шестнадцатеричной системы в
двоичную.
Решение. Заменяем числа в разрядах на двоичные тетрады: 3,6 = 00112,
Z>16 = hoi 2, 116 = 00012, F16 = 11112. Устраняя незначащие нули в старших
разрядах, в итоге получаем 3DlFi6 = 111101000111112.
Числа переводят из десятичной системы счисления в шестнадцате-
ричную и обратно по общим правилам.
Аналогичные правила перевода применяют во всех случаях, когда
одно основание является степенью другого.
Пример 4. Перевести число 16259 из девятеричной системы в тро-
ичную.
Решение. Поскольку 9 = З2, каждое число в разрядах записываем в
троичной системе в виде двузначного числа (при необходимости спере-
ди добавляем незначащий нуль): 19 — 013, 69 — 203 , 19 = 013, 59= 123. Объ-
единяя записи и отбрасывая вначале незначащий нуль, получаем 16259 =
= 12001123.
60
Раздел I. Основы теории множеств и комбинаторика
Во всех системах счисления с постоянным основанием р операции
сложения, вычитания, умножения и деления выполняют так же, как и в
десятичной, учитывая, что каждый старший разряд содержит р единиц
предшествующего младшего.
Пример 5. Сложить числа 10112 и 101012.
Решение. р = 2. Записываем одно число под другим таким образом,
чтобы разряды с одинаковыми номерами располагались друг под дру-
гом. При переполнении в разряде (2 единицы) одну единицу добавляем
в следующий старший разряд. Добавляемые единицы указываем вверху
записи.
1111
10 11
+ 10 10 1
1 о о о о б
В итоге получим 10112 + 101012 = 1000002.
Пример 5. Вычесть число 8ВАУ) 16 из С5/)16.
Решение. Т. к. большее число вычитается из меньшего, присваиваем
результату знак «минус» и меняем числа местами. Вверху указываем
единицы, занимаемые из старших разрядов.
1 1 1
8 В А 3 9
С 5 D
8 . A D D С
Ответ: C5D16 - 8BA39I6 = -8ADDCI6.
Пример 6. Перемножить числа 1638 и 578.
Решение. р = 8.
163
х 57
1445
+ 1077
12435
Ответ: 1638 х 578 = 124358.
Пример 7. Разделить число 34225 на 415.
Решение. р = 5.
Глава 4. Системы счисления
61
_3422141
314 I43
_232
223
4
Ответ'. 34225: 415 = 435 (в остатке 4).
4.3. Смешанные позиционные системы счисления.
Факториальная система
Важным обобщением позиционных систем с постоянным основа-
нием являются смешанные системы, где основания меняются от разря-
да к разряду. Обозначим основания разрядов с номерами 0, 1,к через
Р$,Р\, ...,р^ Тогда запись вида = ocfc...oc2ocioco означает представление в
смешанной системе счисления величины ocfcx^(jt_1)x...x^1x^0+...+
+ а2ХР[ хРо + otix7’o + ао- Каждый коэффициент а, удовлетворяет нера-
венству 0 < а,- <pt. Наиболее известным примером смешанной системы
счисления является общепринятая система измерения времени: «с —
мин — ч — сут. — нед. — г.», основаниями в которой являются числа
рй = 60, рх = 60, р2 = 24, р3 = 1,р4 = 52.
Перевод целых чисел из десятичной системы в смешанную
с основаниямирй,р3, —,Рк
Проще всего осуществить такой перевод последовательным делени-
ем числа и его частных на основания p0,pit ,Рк- Остатки от деления на
каждом шаге и самое последнее частное в итоге образуют искомую за-
пись числа в смешанной системе.
Пример 1. Выразим временной период А= 1526840 с в общеприня-
той системе измерения времени «с — мин — ч — сут. — нед. — г.», где
р0 = 60, рх = 60, р2 = 24, р3 = 7, р4 = 52.
Решение. 1526840160
1526820|25447I60
20 25440I424|24
7 408 |17 | 7
16 14|2
3
62
Раздел I. Основы теории множеств и комбинаторика
Рассматривая в обратном порядке остатки от деления на каждом
шаге и самое последнее частное, получим искомую запись числа:
А = ос4осзос2а1ао= 2/3/16/07/20 = 2 нед. 3 дн. 16 ч 7 мин 20 с.
Обратный перевод из смешанной системы в десятичную осуществ-
ляют посредством умножения каждого символа ак на сомножитель,
представляющий собой произведение P/JJ^-i) ••PiPo’ с последующим
суммированием полученных произведений.
С точки зрения практического применения в комбинаторных зада-
чах из смешанных систем счисления для представления целых чисел
наиболее важна факториальная, где стоимость каждого разряда с номе-
ром i равна /!. При этом основание разряда равно /?, = /+!. Запись
ак... в факториальной системе обозначает число Аф = акх к'.+
+ ... + а2 х 2! + ocj х 1! + ос0. Поскольку в математике принято соглашение
0! = 1, то в факториальной системе всегда задается а0 = 0. Правила пере-
вода из десятичной системы счисления в факториальную и обратно
аналогичны правилам для всех смешанных систем.
Пример 2. Перевести в факториальную систему счисления число
Л = 62710.
Решение.
627 Ц
627|627 | 2
0 6261313|3
1 3121104|4
1 1041 26 | 5
0 25 | 5
1
Ответ: Искомое представление числа в факториальной системе
имеет видЛф = 510110.
Обратный перевод выполняется следующим образом:
Л = 5 х 5! + 1 х 4! + 0 х 3! + 1 х 2! + 1 х 1! = 5 х 120 + 1 х 24 + 1 х 2 + 1 х 1 =
= 600 + 24 + 2+ 1 = 62710.
Факториальная запись чисел удобна для подсчета вариантов мно-
жеств, состоящих из взаимно отличных друг от друга объектов.
Глава 4. Системы счисления
63
Задачи
1. Перевести в двоичную систему числа:
а) 1О521о; б) О,9651о; в) 31,5310; г) 159,6610.
2. Перевести в десятичную систему числа:
а) 11001102; б) 0,00102; в) 10101,0112; г) 110,01012.
3. Доказать, что в «-мерном кубе В":
а) количество вершин в сфере радиусом 1 равно п, а количество вершин в
шаре радиусом 1 равно п + 1;
б) количество вершин в сфере радиусом 2 равно п(п- 1)/2, а количество
вершин в шаре радиусом 2 равно п(п + 1 )/2 + 1.
4. Доказать (например, с использованием метода математической индук-
ции), что общее количество вершин в бинарном дереве Тп равно 2”+| - 1.
5. Доказать методом математической индукции, что в «-мерном кубе В"
число ребер равно п х 2я'1.
6. Доказать, что на множестве всех «-мерных булевых векторов расстояние
Хэмминга удовлетворяет неравенству треугольника
р(а”,р”) + р(Р", уп)>р(а”,у"),
где ал, Р”, ул — любые векторы из b ".
7. Пусть В" — множество всех «-мерных двоичных векторов Ь", которые
появляются случайно с одинаковой вероятностью. Доказать, что средневероят-
ный вес сосв(6л) булевых векторов b л равен «/2.
8. Перевести в двоичную систему и систему с основанием 4 числа B23DA16,
AD7C|6.
9. Перевести в десятичную систему числа F9B8316, CAF516.
10. Перевести в шестнадцатеричную систему числа 1101102, 11011012,
10110110101012.
И. Перевести, используя сокращенные правила перевода, из восьмеричной
системы в двоичную числа 5716S, 173g, 265g.
12. Перевести следующие дроби в десятичную систему:
а) 0,168; б) 0,213; в) 0,436; г) 0,57.
13. Выполнить следующие арифметические действия:
а) 120211013 - 2100122313, 74358139 - 5250489;
б) 101111012х 11012,Л4£>316хС5Л16;
в) 53627:657, 675168:478.
14. Перевести в факториальную систему числа:
а) 17210; б) 93410; в) 21578;г) 15356.
15. Перевести в десятичную систему из факториальной числа:
а) 423010; б) 231200; в) 142110; г) 502110.
ГЛАВА 5
КОМБИНАТОРИКА
Задачи комбинаторики предусматривают количественный подсчет
конечных множеств, формируемых из одного и того же набора дис-
кретных объектов. Такие множества и алгоритмы их обработки назы-
вают комбинаторными. Необходимость в подобного рода подсчетах
обычно возникает при определении вероятности, оценках, подсчетах,
задачах планирования и т. д.
Поскольку свойства дискретных наборов и способы формирования
множеств из них различны, то при определении общего количества
конкретных вариантов множеств необходимо уметь правильно сводить
реальные практические задачи к стандартным расчетным схемам и
применять соответствующие методы подсчета.
С точки зрения подсчета числа вариантов расположения заданного
множества объектов на выделенных местах (либо выборки некоторого
заданного набора из. более широкого множества) существенными яв-
ляются следующие характеристики задачи:
а) число объектов и число мест, обозначим их соответственно кип,
параметр к называют объемом выборки,
б) сходство либо различие — как между размещаемыми объектами,
так и между выделенными местами.
Величины кип являются натуральными числами. Рассмотрим бо-
лее подробно свойство сходства — различия. Как правило, в каждой
конкретной комбинаторной задаче вводятся явно или понятны из по-
становки существенные признаки объектов и мест, по значениям кото-
рых можно однозначно определить для них одинаковость, сходство (при
совпадении всех признаков) либо различие (все или часть признаков
отличны).
Например, если при размещении студентов первого курса в актовом
зале существенным признаком для студентов принять только курс обу-
чения, то по нему все они (как объекты размещения) одинаковы. Если
же существенными признаками являются паспортные данные, то по
ним все студенты различны. Аналогично, если для каждого кресла в
актовом зале учитывается его ряд и место в нем, то все места для раз-
мещения в задаче подсчета следует считать различными. Если же поло-
Глава 5. Комбинаторика
65
жение кресел в общем зале не важно, то в задаче все места для разме-
щения будут одинаковы.
Предварительно рассмотрим три основных правила, применяемых
при подсчете числа комбинаторных множеств. Общее количество всех
возможных вариантов некоторого множества Л обозначим через N(A).
Правило умножения. Пусть порождение комбинаторного множества
А = {л,, а2,..., ак} представимо через последовательный выбор его эле-
ментов а}, а2,..., ак из некоторого исходного множества, причем числа
вариантов выбора M«i), М«2), •••, не зависят от того, какой из
элементов выбран на каждом шаге. Тогда общее количество N(A) вари-
антов выбора для всего множества А равно произведению
N(A) = Мл,) х М«2) х - х М«Д
Замечание. При количественной независимости чисел вариантов
выбора Мд,),..., N(ak) качественный состав л,,..., ак может быть зависи-
мым, например, при выборке из исходного множества, где все элементы
различны.
Правило суммы. Если вся совокупность подсчитываемых вариан-
тов {Л} комбинаторного множества А может быть разбита на классы эк-
вивалентности {Л,}, {А2},..., {/4J, для которых
Гj '
= П W=0 >
4i=l у
то общее число N(A') вариантов выбора множества А равно сумме
МЯ) = МИ!}) + МИД) + - + MW)-
Правило учета сходства-различия объектов при их расположении на
различных местах. Рассмотрим расположение т объектов {л,, а2,..., ат}
на п различных местах (т < п) и выделим подмножество из s объектов
которые для определенности будем считать первыми по счету:
{л,, л2,..., л5}.
Обозначим через М«р а2> as> as+i> alr) число расположений
для случая, когда все объекты из выделенного подмножества
{а,, л2,..., лД различны (л,- = ay, 1 < /, J <s, i* j), а среди остальных (m - s)
объектов могут быть как различные, так и группы одинаковых.
Также рассмотрим число расположений Mai = «2 = = as, as+},..., л,„)
для случая, когда все s объектов из выделенного подмножества оди-
наковы (л, = а2=... = as), а для остальных (m-s) объектов свойство
сходства-различия сохраняется. Для двух рассмотренных чисел вариан-
тов расположений справедливо следующее соотношение:
Л^(Л] = а2 — ... = л5, л5+,,..., лт) — N(at, а2,..., л5, л?+,, ..., ani)/sl
66
Раздел I. Основы теории множеств и комбинаторика
Рассмотрим основные методы формирования комбинаторных
множеств и соответствующие им способы подсчета общего количества
вариантов.
5.1. Размещения
ОПРЕДЕЛЕНИЕ. Задан набор из к различных объектов и п разных
мест для их расположения. Размещением из /7 по Л называют такое рас-
положение объектов, при котором на каждом из п мест независимо мо-
жет быть помещен один из к объектов. Поскольку размещаемые объекты
могут повторяться любое число раз, то данный случай также можно на-
звать размещением с повторениями. Общее число размещений из п по к
обозначают U(n, к) либо U*.
Несложно доказать, например, по индукции или с использованием
Правила умножения, что U* =кп.
Многие практические задачи оценки количества объектов сводятся
к подсчету размещений.
Пример 1. Найдем количество //попарно различных 3-значных чи-
сел для двух случаев их записи в восьмеричной системе:
1) когда в начале записей разрешены незначащие нули;
2) когда в записях незначащие нули недопустимы.
Решение.
1. Если нет ограничения на использование нулей, то в каждом разря-
де чисел может быть до 8-ми цифр: 0, 1,2, 3, 4, 5, 6, 7. Получаем задачу
размещения с параметрами/7 = 3, к = 8. Следовательно, N = Uf =83 = 512.
2. Если использование незначащих нулей в начале записи чисел не-
допустимо, то в каждом из двух младших разрядов, как и в случае 1,
может быть одна из 8-ми цифр, а в старшем разряде только одна из 7
(1, 2, 3, 4, 5, 6, 7). Поскольку числа вариантов цифр в разрядах незави-
симы, то общее количество различных чисел в данном случае составит
д/=7 х 82 = 448.
Пример 2. Рассмотрим систему счисления с основанием 6. Найдем
количество N попарно различных 4-значных чисел, в записи которых
использованы только нечетные цифры.
Решение. В каждом из 4-х разрядов может быть лишь одна из 3-х
цифр: 1, 3, 5. Получаем задачу размещения с параметрами /7 = 4, к = 3.
Следовательно, N = = З4 = 81.
Глава 5. Комбинаторика
67
5.2. Перестановки и размещения без повторений.
Упорядоченность перестановок
ОПРЕДЕЛЕНИЕ. Перестановкой длины п называют расположение п
неодинаковых объектов на п различных местах. Общее количество всех
возможных попарно различных перестановок длины п обозначают как
Р(п), А(п, и) либо Д".
Размещением без повторений из п по к (п> к) называют расположе-
ние к неодинаковых объектов на п различных местах (не более одного
объекта на место). Общее количество мест больше числа объектов.
Полное количество всех попарно различных вариантов размещений без
повторений из к по п обозначают как А(к, п) либо Ак.
Очевидно, что перестановки — частный случай размещений без по-
вторений при равном количестве объектов и мест (к = п).
Теорема 5.1.
Акп =и(и-1). .. (и-£ + 1)
Ап„=п\
Доказательство.
Рассмотрим только первую формулу, т. к. вторая следует из нее.
Первый из размещаемых объектов можно разместить на любом из п
имеющихся мест (число вариантов выбора N(a{) = n). Для второго раз-
мещаемого объекта число вариантов выбора N(a1) = n-i, поскольку
1 место уже занято. Для третьего по порядку размещаемого объекта
Л'(Дз) = п - 2,..., для к-го (последнего) — N(ak) = (п - к+ 1). По Правилу
умножения общее количество вариантов размещений без повторений
из п по к равно произведению чисел вариантов Mai), N(a2), >
Я* = и х (и - 1) х ... х (и - &+ 1) = п\/(п - к)'..
Замечание. Обычно при расчете размещений без повторений по-
лагают, что мест п больше, чем объектов к (п>к). Однако количество не-
одинаковых объектов к может быть больше, чем мест для размещения п
(к>п). Данный случай можно рассматривать аналогично предыдущему,
представив его как распределение п мест по к объектам. При этом количе-
ство возможных размещений равно к\/(к - л)!.
Таким образом, в задаче о распределении к неодинаковых объектов
на п различных местах количество возможных размещений всегда мож-
но представить в виде Ау = М\/(М — т)1, где М-тах(£, л); т - min(£, п).
При подсчете вариантов вместо п неодинаковых объектов всегда
можно взять п различных натуральных чисел, например, 1, 2,..., п.
68
Раздел 1. Основы теории множеств и комбинаторика
ОПРЕДЕЛЕНИЕ. Полной перестановкой л„ (1, 2,..., п) называют
результат перестановки длины п чисел 1, 2, ..., п, куда каждое из них
входит лишь раз. Общее количество перестановок л„ равно А„ = п1.
Частичной перестановкой длины к ккп (1,2,..., п) будем называть резуль-
тат размещениями без повторений к различных чисел из {1,2,
Общее количество перестановок {пк} равно Ак = и!/(и - к)!.
Пару элементов в перестановке (a,-, aj) будем считать упорядочен-
ной, если at<at при /<j. Каждую полную перестановку чисел л(1, 2,....
п) = (ль л2,..., л„) можно взаимно однозначно охарактеризовать векто-
ром инверсий d = (dl,d2,..., d„), определяющим меру неупорядоченно-
сти перестановки л. Это соответствие устанавливают следующим об-
разом: каждый элемент d, равен числу элементов, стоящих слева от л,-
и превышающих его (т. е. нарушающих порядок). У первого элемента
= 0. Полностью упорядоченной перестановке чисел (1, 2,..., п) соот-
ветствует Jmin = (0, 0,..., 0), а максимально неупорядоченной переста-
новке (и, п - 1,..., 1) — вектор инверсий с?тах = (0, 1,..., п - 2, п - 1). Ка-
ждый вектор инверсий можно рассматривать как обращенную слева
направо запись некоторого числа N(d) в факториальной системе счисле-
ния. Вектору N (dmin) соответствует 0, вектору N(dmm) — число (и! - 1).
Следовательно, множество всех полных перестановок л (1, 2,..., п) мож-
но взаимно однозначно отобразить на множество всех целых чисел
от 0 до (и! - 1).
ОПРЕДЕЛЕНИЕ. Весом вектора инверсий d =(d{, d2,..., dn) назы-
вают сумму его компонент:
_ п
1=1
Вес вектора инверсий перестановки л = (л1; л2,..., л„) равен количе-
ству перемен мест рядом стоящих элементов, необходимому для пол-
ного упорядочения перестановки, соответствующей вектору d.
Пример 1.
1) <7(4, 5,1,3, 6, 2) = (0,0,2, 2, 0,4), 7V= 2x2!+ 2x3!+ 4x5! = 2x2 +
+ 2x6 + 4x 120 = 49610, со„(7) = 8;
2)rf(3, 1,6, 5,2,4) = (0, 1,0, 1,3,2), 7V= 1x1! + 1x3! + 3x4!+ 2x5! =
= 1 х 1 + 1х6 + Зх24 + 2х 120 = 31910, a„(d) = 7.
Глава 5. Комбинаторика
69
ОПРЕДЕЛЕНИЕ. Лексикографическим будем называть порядок пе-
рестановок л (1, 2, и) = (л1; л2,л„), при котором соответствующие
им числа в факториальной системе счисления расположены по возрас-
танию от 0 до (и! - 1).
Пример 2. Найдем, сколькими способами можно полностью осна-
стить ротор обрабатывающего центра с 6-ю пронумерованными пози-
циями при наличии 10 различных инструментов.
Решение. Поскольку и инструменты, и позиции для их установки раз-
личны, то задача сводится к подсчету размещений без повторений. Т. к.
видов инструментов больше, чем позиций на роторе, решение находим по
формуле =М\/(М-т)\, где М= max(k, п) = тах( 10,6) = 10; т-min(k,n) =
= min( 10,6) = 6. Подставляя, получим z416o = 10-9-8 -7 -6-5 = 151200.
5.3. Сочетания
ОПРЕДЕЛЕНИЕ. Сочетаниями из л по Л называют расположения к
одинаковых объектов на п различных местах, когда на одно место мож-
но поместить только один объект. Общее количество всех таких воз-
можных попарно различных сочетаний обозначают как С(п, к) либо C,f.
Теорема 5.2.
ск = n(n-V)...(n-k+ V) = п\
" ~ к\ (п-к)\к\
Доказательство.
Вначале условно примем, что все к располагаемых объектов раз-
личны между собой, т. е. выполняется условие (а^а2, 1 <i, j <к, i*j).
При этом задача подсчета числа вариантов расположения сводится к
подсчету размещений без повторений из п по к. По теореме 5.1 полу-
чим, что число вариантов расположения различных объектов равно
Мд,а2, ...,ак) = п(п-1)...(п-к+ 1) = ^_ку-
Однако, принимая во внимание, что в условии теоремы все к рас-
полагаемых объектов одинаковы = а2 = ... = ак), то по Правилу учета
сходства-различия объектов при их расположении на различных местах
получим искомое соотношение:
=Mai =а2 = ... = а^ = N(ax, а2,..., а^/к\ = п(п = !)...(« -к+ 1)/Л! =
_ п]-
(п-ку.к'.’
что и требовалось доказать.
70 Раздел I. Основы теории множеств и комбинаторика
С использованием вспомогательного утверждения
методом математической индукции можно также доказать справедли-
вость разложения возведенной в степень суммы слагаемых (бинома
Ньютона) в сумму их степеней:
(х + у)п = j^Ck„xkyn-k.
k=0
Из бинома Ньютона можно непосредственно получить следующие
практически важные разложения:
П п
1=!"= (р+(1-р)Г = о=(1 -1)" =
k=Q k=Q
п
2и=(1 + 1)и = £С„\
(х-у)п = £(-iy-kCk„xkyn-k.
k=0
Все пары значений коэффициентов Ск и С”~к в разложении би-
нома Ньютона, равноотстоящие от начала и конца суммы, одинаковы:
f<k _ s-<n-k
'-'и “ '-'и •
Справедливость этого свойства следует непосредственно из формул
для коэффициентов Ск и С"~к, у которых переставлены сомножители
в знаменателе. Подсчет числа Сп~к можно также представить как под-
счет распределения к свободных мест по п объектам.
Замечание. В случае к > п (количество возможных объектов для раз-
мещения больше числа мест) Ск =С„ = 1, поскольку все выборки объема п
одинаковы и вариант их размещения на п местах один.
Формулу для подсчета сочетаний часто используют при оценках ко-
личества двоичных векторов заданного веса, т. к. каждому двоичному
«-мерному вектору веса к соответствует некоторое сочетание к одина-
ковых объектов, расположенных на п местах.
ОПРЕДЕЛЕНИЕ. Сочетаниями с повторениями из л по Л называют
расположения к одинаковых объектов на п различимых местах, когда на
одном месте может быть любое количество имеющихся в наличии объ-
Глава 5. Комбинаторика 71
ектов. Общее количество всех таких возможных попарно различных
сочетаний обозначают как V(n, к) либо Vk.
Теорема 5.3.
„к / z i\ / / и (И + Л-1)!
Уп =сп+к_{ = (п+к-1)х(п+к-2У-- = ———К.
к\ (п - 1)!к!
Доказательство. Вначале докажем индукцией по к, что при любых
натуральных п и к справедливо следующее вспомогательное свойство:
ЕС'+М = Ск+к.
i=0
Базис индукции, к = 1.
C°-i + dn= 1 + п = (и +!)!/((« +1 -1)!)!) = С*+1
Следовательно, формула при к= 1 верна.
Индуктивный переход. Покажем, что из правильности формулы для
любого к > 1 вытекает ее справедливость и для к + 1.
уы -Ск , nk+l (и + 1)! , (п+к)\
л+/с п\к\ (и-1)(£ + 1)
(п + к)'. (и + fc + l)! ^+1
Переход доказан, из теоремы о методе математической индук-
ции следует правильность вспомогательного свойства для любых нату-
ральных к.
Докажем основное утверждение теоремы индукцией по числу мест п
при фиксированном к.
Базис индукции. Минимальное значение п = 1. Вариант расположе-
ния один, при котором все объекты помещены на единственное место.
Подставляя в формулу значения птлк, получим
vk = ckk =
1 1+* 1 й\к\
Следовательно, базис индукции выполняется.
Индуктивный переход. Допустим, что формула верна для некоторо-
го п. Докажем на основе этого предположения, что она верна и для п +1.
Зафиксируем одно из (и + 1) мест для размещения и разобьем все
множество возможных вариантов на (А+1) класс эквивалентности:
72 Раздел I. Основы теории множеств и комбинаторика
Ап, А1г..., Ак, где класс Л, (1 < i < к) — множество всех вариантов разме-
щений, у которых на выделенное место помещено ровно s объектов.
Поскольку во всех вариантах размещений класса Дна остальных/) мес-
тах находится ровно к- i объектов, то 7У{(Л,)} = V*~‘. Используя Правило
суммы с использованием вспомогательного свойства, для // получим
Укп+Х =tC<n+i-l =CH+k =C(kn+l)+k-l.
1=0 i=0
Из доказанных базиса и индуктивного перехода по теореме о методе
математической индукции вытекает справедливость данной формулы
для любых натуральных пик.
5.4. Подсчет вариантов размещения объектов
для специальных случаев
Учет одинаковых мест при расположении объектов
При расчете размещений и сочетаний обычно полагают, что места,
предназначенные для объектов, различны. Однако в тех случаях, когда
места не различны, для заданной выборки (которая может состоять как
из одинаковых, так и из различных объектов) вариант размещения один.
Пример 1. Дан исходный набор из р различных объектов. Выборки
из него объемом к размещают на п местах. Сколько всего существует
вариантов данных размещений в случаях, когда: а) все места различны;
б) все места одинаковы.
Решение. В обоих случаях а) и б) формирование всего множества ва-
риантов можно представить в виде последовательного выполнения двух
операций: 1) выбора к объектов из р различных (число всех возможных
разных выборок обозначим 7УВ) и 2) размещения к выбранных объектов
на п местах (число размещений обозначим Np). Т. к. числа вариантов NB
и TVp при последовательном выборе не зависимы, то общее число вари-
антов N находим по Правилу умножения: N= NB х Np.
Поскольку при выборе кизр различных объектов не важен их поря-
док, то NB = Ср. Данный выбор может быть интерпретирован как рас-
пределение к одинаковых меток по р местам.
Рассмотрим величину Np. Если все места различны, то Np =АВ.
Если же места одинаковы, то в соответствии с вышесказанным вариант
размещения один, Np = 1.
Глава 5. Комбинаторика
73
В итоге искомое число вариантов равно в случае a) N = Ск х Ак, в
случае б) — N = Ск.
Учет сходства части размещаемых объектов
В классических задачах комбинаторики все к объектов выборки
одинаковы либо все они различны. Однако на практике зачастую воз-
никают задачи, когда это ограничение нарушается и сходство может
быть частичным. Решение данных задач зависит от соотношения объ-
ема выборки к и числа мест п.
1 .к<п. Рассмотрим задачи, где объектов не больше, чем мест для
их размещения, к<п. В общем случае выборка может состоять из не-
скольких групп одинаковых объектов, в том числе содержащих по од-
ному объекту.
Теорема 5.4. Пусть выборка из к объектов состоит из з групп одина-
ковых объектов. В каждой группе i (1 < / < s) число объектов обозначено к,
(к[< 1, к, + к2 + ... + ks = k).
Тогда общее количество различных сочетаний объектов на п местах
при к<п равно
N=------------------.
(n-kyxky.x...xks\
Доказательство. Процесс формирования всех вариантов различных
сочетаний объектов на п местах можно представить в виде последова-
тельного расположения объектов из первой, второй,..., s-й групп. При
расположении первой число вариантов = Ckl, поскольку к-. одина-
ковых объектов помещаются на п местах. При расположении второй
группы N2 = СкД , поскольку после размещения первой группы оста-
ется только п-к, мест для размещения. Аналогично, для каждой груп-
пы /(1 <i<s):Ni = Ск'_к Общее количество вариантов различных
сочетаний объектов на п местах находим по Правилу умножения:
N = NlxN2x...xNs = C„kl *Сп_ккг х...хСп_к^_к^ =
л! (л-^)! * (д~^1 _
(n-ki)\xkl! (n-k\-k2y.xk2\ (n-kl-...ks)\xks\
n!
(n-ky.xktlx...xks!
74
Раздел I. Основы теории множеств и комбинаторика
Замечание. В случае обычных сочетаний при s = 1 получим: к = Л, и
N = Ckn.
Пример 2. Задано число 53023500521. Сколько всего различных за-
писей чисел (в том числе с незначащими нулями) можно получить из
него путем всех возможных перестановок цифр?
Решение. В запись числа входят 5 цифр (0, 1, 2, 3, 5), поэтому общее
число групп одинаковых объектов s = 5. Соответствующие числа одина-
ковых объектов в группах: к} = 3 (в записи три нуля), к2 = 1 (одна едини-
ца), к3 = 2 (две двойки), к4 = 2 (две тройки), к5 = 3 (три пятерки). Общее
количество цифр к = к{ + ...+к5 = 3 + 1 + 2 + 2 + 3=11 и равно числу мест
для размещения п. Подставляя данные величины в формулу для общего
числа сочетаний, найдем искомое количество получаемых при переста-
новках цифр различных чисел:
(11-11)!хЗ!х1!х2!х2!хЗ!
= 11x10x9x8x7x5 = 277200.
2 .к> п. Рассмотрим предыдущий тип задач, в котором общее число
к потенциальных объектов для размещения превышает число мест п
(к>п).
Теорема 5.5. Допустим, из к объектов для размещения s одинаковые, а
(k - s) остальных попарно различны. Тогда общее число вариантов их рас-
положения на п местах при п<к равно
?1 1
N=(k-sy.n'. У---------i----------,
q^0(k-s-n + q)'.(n-qy.ql
где q0 = max(0, n + s - к), q{ = min(i, n).
Доказательство.
При подсчете мощности множества размещений всех выборок из к
на п различных местах его можно разбить на классы эквивалентности с
одним и тем же количеством одинаковых элементов в каждой выборке.
Обозначим это количество одинаковых элементов в выборке через q.
В зависимости от соотношения величин п, к, s число q изменяется в
следующих пределах:
max(0, п + s - к) = q0<q<q\ = min(s, ri).
Общее число выборок, содержащих q одинаковых объектов и п - q
/-n-q (k — s)\
различных, равно: = —---------—-----—, поскольку из k-s раз-
(k-s-n+q)\(n-q)\
Глава 5. Комбинаторика
75
личных объектов необходимо выбрать (например, нанесением одина-
ковых пометок) п - q объектов для размещения.
Для каждой выборки, включающей q одинаковых объектов и п - q
различных, количество вариантов размещения объектов на п местах
и I
равно An~q =—. Таким образом, N„ = C!!~q*A"~q.
q\ ч к-s n
Общее количество вариантов по Правилу суммы будет равно
1
(t.sL„^ra,
где q0 = max(0, n + s- k), q{ = min(i, n), что требовалось доказать.
Пример 3. На шести одинаковых пронумерованных позициях рото-
ра обрабатывающего центра п можно разместить з = 4 одинаковых и
(k-s) = 5 попарно различных деталей. Найти общее количество раз-
личных вариантов их размещения.
Решение. Л=5 + 4 = 9, Минимальное число одинаковых деталей, кото-
рые можно установить на роторе q(] = min(0, n-k + s) = min(0, 6 + 4 - 9) =
- 1, т. к. после максимального использования различающихся деталей
на роторе останется 1 свободное место. Максимальное число одинако-
вых деталей на роторе qY = max(s, п) = max(4, 6) = 4. Общее количество
вариантов находим по общей формуле:
лг с,Л 1 . 1 . 1 . 1
10!5!1! 1!4!2! 2!3!3! 3!2!4!)
= 720 +1800 + 120 + 300 = 4020.
Задачи
1. Найти максимальное число мест п, при котором общее число вариантов
расположения на них 4 одинаковых объектов не превышает 1000.
2. Найти максимальное число мест п, при котором число вариантов распо-
ложения на них (л - 2) различных одинаковых объектов менее 600.
3. Рассчитать максимальное число попарно различных объектов, разме-
щаемых на 4 различных местах не более чем 1300 различными способами.
4. В 2п пронумерованных проточках кольцевой детали устанавливают по-
очередно детали типов А и В. Число деталей А равно п, деталей В — также п.
Найти общее число вариантов их размещения, если детали А попарно различ-
ны, а детали типа В одинаковы.
5. Решить задачу 4 в предположении, что все детали В также попарно раз-
личны.
76
Раздел I. Основы теории множеств и комбинаторика
6. Рассмотрим множество всех полных перестановок {л (1, 2,.... «)}, имею-
щих равные вероятности. Доказать, что:
а) средневероятный вес вектора инверсий перестановок <ои(<7) равен
л(п -1)/4;
б) количество всех перестановок, у которых в векторах инверсии встреча-
ются только числа от 0 до А включительно, равно
^=(Л + 1)'1’*ч(Л + 1)!;
в) общее число нулей в векторах инверсий всех полных перестановок дли-
ны п равно п!(1 + 1/2+ 1/3 + ... + 1/п);
г) вероятность того, что максимальная компонента вектора инверсий пере-
становки равна к, выражается числом
Рк =[(1 + 1)"-а-'(Л + 1)!-Л"-^!].
7. Доказать, что:
а) число всевозможных частичных перестановок л* длины к, имеющих ров-
но один нуль в векторе инверсий, равно
Скп (к -1)!;
б) число всевозможных частичных перестановок длины к, имеющих ровно
к - 1 нулей в векторе инверсий, равно
кк(к-1).
" 2 ’
в) общее число нулей в векторах инверсий всех частичных перестановок
длины к{пк} равно
Скк\\ 1 + - + - + ... + -1.
2 3 к)
8. Сколько различных слов (в том числе не имеющих смысла) можно полу-
чить путем всех возможных перестановок букв в слове «комбинаторика»?
9. Алгоритм обрабатывает пары множеств (порядок в паре не имеет значе-
ния) из набора, содержащего 3 одинаковых и 5 попарно различных множеств.
Найти общее количество различных способов выбора пар множеств.
10. Множество содержит 4 одинаковых объекта и 4 различных. Сколько
существует всех возможных вариантов выборок из данного множества по 6 объ-
ектов? Порядок вхождения объектов в выборку не имеет значения.
11. В цехе необходимо расставить 7 новых станков, их которых 3 одинако-
вы, остальные — различны. Найти общее количество различных вариантов их
расстановки на выделенных для этого 8 различных местах.
12. В спортивном состязании присуждается одно первое место, одно второе
и два третьих (порядок третьих призеров не имеет различия). Найти общее чис-
ло вариантов ранжирования призеров при 10 участниках.
Глава 5. Комбинаторика
77
13. Сколько существует различных шестизначных чисел в десятичной сис-
теме счисления, у которых в записи:
а) ровно две одинаковых цифры;
б) ровно три одинаковых цифры;
в) не менее четырех одинаковых цифр;
г) не более трех одинаковых цифр?
Ответы дать в виде формул.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«СИСТЕМЫ СЧИСЛЕНИЯ. КОМБИНАТОРИКА»
В. 1.
1. Перевести в двоичную, восьмеричную, шестнадцатеричную и фактори-
альную системы счисления число 659]0.
2. Сколько трехзначных десятичных чисел (в том числе с незначащими ну-
лями) имеют в своей записи: а) ровно две одинаковых цифры; б) ровно три
одинаковых цифры?
В. 2.
1. Перевести в системы счисления с основанием 2, 4, 8, 16 и 10 число
512110ф.
2. Имеется 8 объектов, из которых 2 одинаковые, остальные попарно раз-
личны. Найти, сколькими вариантами можно расположить их на 9 местах.
В.З.
1. Выполнить действия в системе счисления с основанием 8 : 35768 + 346578;
37538-75718; 5728 х 3748.
2. На 12 возможных местах необходимо разместить 2 станка типа А. 3 стан-
ка типа Б и 4 станка типа В. Сколько всего существует различных вариантов
расположения? Ответ дать формулой.
В. 4.
1. Перевести, используя минимальное число операций, в системы счисле-
ния с основаниями 2, 4, 8, 16 число 111110.
2. Какое минимально возможное количество п различных объектов необхо-
димо взять, чтобы они располагались на п местах не менее, чем 1000 различны-
ми вариантами.
В. 5.
1. Выполнить действия в системе счисления с основанием 5:
4353; 24125:305; 2315х425.
2. Кодировка некоторого изделия состоит из 5 символов. Два первых означа-
ют в десятичной системе счисления номер модели изделия. Третий и четвер-
тый — независимо принимают значения 0 или I в зависимости от дополнитель-
ных признаков. На пятой позиции может находиться одна из букв А, В, С, D, Е.
Какое максимальное число видов изделий может быть закодировано с использо-
ванием данных обозначений?
78
Раздел I. Основы теории множеств и комбинаторика
В. 6.
1. Выполнить действия в системе счисления с основанием 9:
64879 : 259; 638529 - 872539; 3829 х 579.
2. Рассматривается множество всех записей чисел в факториальной системе
счисления длины 5. Найти, сколько единиц встречается в этих записях.
В. 7.
1. Представить дробь О,41о в системе с основанием 7.
2. Из 24 спортсменов формируют команду из 6 человек. Найти общее число
различных вариантов ее формирования в двух случаях: а) порядок участников
имеет значение; б) не имеет значения. Ответ дать формулой.
В. 8.
1. Выполнить в системе счисления с основанием 9 следующие действия:
2859 - 7529, 44279 + 87659.
2. Найти, сколькими вариантами можно разместить 4 попарно различных и
3 одинаковых объекта на 10 разных местах. Сколько существует вариантов раз-
мещения при неразличимых местах?
В. 9.
1. Перевести, используя минимальное число операций, в системы счисле-
ния с основаниями 2, 4, 8, 16 число 2342000ф.
2. Рассматривается множество всех векторов инверсий перестановок
л(1, 2, 3,4, 5, 6). Найти их суммарный вес.
В. 10.
1. Перевести дробь О,43751о в восьмеричную систему счисления, а дробь
0,328 — в десятичную систему счисления.
2. В лотерее N номеров. Какова вероятность угадать в одном билете:
а) ровно к', б) не более к номеров? Ответ дать формулой.
В. 11.
1. Перевести, используя минимальное число операций, в системы счисле-
ния с основаниями 2, 4, 8, 16 число 87210.
2. Рассматривается множество всех перестановок л (1,2,3,4,5). Найти, сколь-
ко раз в записи их векторов инверсий встречается цифра 2.
В. 12.
1. Перевести дробь О,610 в троичную систему счисления.
2. Из 12 юношей и 5 девушек необходимо составить смешанную эстафет-
ную команду, состоящую из трех юношей и одной девушки. Сколько существу-
ет различных вариантов формирования при условии, что порядок участников в
команде не имеет значения?
В. 13.
1. Перевести, используя соотношение З2 = 9, число 1932]0 в девятеричную, а
затем в троичную системы счисления.
2. Какое число п различающихся мест необходимо взять, чтобы 3 одинако-
вых объекта располагались на них как минимум 210 способами.
В. 14.
1. Перевести в десятичную, двоичную, восьмеричную и шестнадцатерич-
ную системы счисления число 522 100ф.
Глава 5. Комбинаторика
79
2. На 10 различающихся местах помещают 8 объектов, из которых половина
одинаковые, остальные попарно различны. Найти число возможных вариантов
расположения. Сколько вариантов размещения при одинаковых местах?
В. 15.
1. Выполнить следующие действия в шестнадцатеричной системе счисле-
ния: CF8]6-D1B516,4EA216+8CD316.
2. Рассматривается система счисления с основанием 7. Найти, сколько раз-
личных 5-значных чисел в ней можно записать при помощи нечетных цифр.
Ответ дать формулой.
В. 16.
1. Перевести дробь 0,48 в троичную систему.
2. Рассматривается множество всех записей чисел в факториальной системе
длины 6. Найти, сколько троек встречается в этих записях.
В. 17.
1. Перевести в десятичную систему счисления число 110011002 и в двоич-
ную — число 5441100ф.
2. В накопителе А находится п различных деталей типа I, в накопителе Б —
п различных деталей типа II. Из накопителей осуществляется упорядоченная
поочередная выборка всех деталей. Вначале выбирают одну деталь из А, за-
тем — из Б, потом снова из А и из Б и т. д. до тех пор, пока накопители не опус-
теют. Найти общее число всех возможных различных выборок данного вида.
В. 18.
1. Перевести число 1011011012 в факториальную систему счисления, число
45041010ф — в десятичную систему.
2. Какое минимально возможное количество п различных объектов необхо-
димо взять, чтобы получить из них не менее 987 различных размещений из п по 4.
В. 19.
1. Перевести, используя минимальное число операций, число 999щ в двоич-
ную, восьмеричную, шестнадцатеричную и факториальную системы счисления.
2. Какое максимальное число различных объектов п можно взять, для то-
го, чтобы число различных вариантов их расположения на 5 местах не превы-
шало 800.
В. 20.
1. Перевести, используя минимальное число операций, в системы счисле-
ния с основаниями 2, 4, 8, 16 число 45032010ф.
2. В походе участвуют 4 женщин и 4 мужчин. Найти, сколько существует
вариантов их размещения в 4 различных двухместных байдарках при следую-
щих условиях: а) в одной байдарке должен плыть один мужчина и одна женщи-
на и б) в одной байдарке могут плыть любые два участники похода.
В. 21.
1. Выполнить действия в системе счисления с основанием 7:
45167 + 243517; 32517-б5417.
2. При распознавании элементов некоторого множества автоматизированная
система независимо использует 7 логических признаков, принимающих значе-
80 Раздел I. Основы теории множеств и комбинаторика
ния «да» или «нет», и 2 численные характеристики, изменяющиеся от 5 до 12 и
от 23 до 41. Какое максимальное число элементов может распознать система?
В. 22.
1. Представить в восьмеричной системе дробь 0,810.
2. На 7 местах располагаются выборки из объектов, общее число которых
равно 10, половина из них одинаковы, половина — попарно различны. Найти
общее число различных расположений. Ответ дать формулой.
В. 23.
1. Выполнить действия в шестеричной системе счисления: 342156 + 52436;
43256- 55136.
2. В некотором алфавите 20 букв. Сколько из них можно составить попарно
различных слов длины 4, у которых одна и та же буква повторяется не более 2 раз?
Ответ дать формулой.
В. 24.
1. Перевести в системы счисления с основаниями 2, 7 и 16 число 165410.
2. Какое максимальное число п мест необходимо взять, чтобы 4 одинаковых
объекта располагались на них не более, чем 250 способами?
В. 25.
1. Перевести дробь 0,37 в десятичную систему счисления. Ответ дать с точ-
ностью до четвертого знака после запятой.
2. В левой и правой частях аудитории по 25 пронумерованных мест. На лек-
цию пришло 20 студентов первого курса, которые разместились слева, и 18 вто-
рокурсников, занявших места справа. Сколькими различными вариантами
студенты могут занять отведенные им места в аудитории? Ответ дать в виде
формулы.
В. 26.
1. Перевести в двоичную, восьмеричную и шестнадцатеричную системы
счисления число 331100ф.
2. На роторе станка находится 12 пронумерованных рабочих позиций. В них
поочередно размещают детали вида I (общее их количество — 10) и детали вида 11
(которых всего 8). Сколько существует различных вариантов размещения дета-
лей на роторе, если детали вида I попарно различны, а детали вида II — одина-
ковы. Ответ дать формулой.
В. 27.
1. Перевести дробь 0,61о в систему счисления с основанием 7. Ответ дать с
точностью до пятого знака после запятой.
2. Сколько существует вариантов размещения 3 белых, 5 красных и 6 чер-
ных фишек на 17 различных местах? Ответ дать формулой.
Раздел II
МАТЕМАТИЧЕСКАЯ ЛОГИКА
Задачей логики является изучение рассуждений, применяемых в
повседневности и научных дисциплинах, безотносительно к изучаемым
в них объектам.
Логика возникла как часть риторики — науки убеждения. И была
необходима для обоснования методов рассуждений, применяемых при
доказательстве правоты в спорах. Особенно востребованными риторика
и люди, владеющие ею — софисты, были в Древней Греции, где в горо-
дах утверждались демократические элементы жизни и было принято
отстаивать свою точку зрения в диспутах. Софисты умели не только
искусно доказывать самые различные утверждения, но и опровергать их.
В Древней Греции впервые были формально рассмотрены основ-
ные понятия логики и причины истинности или ложности заключений,
получаемых из истинных посылок. Основателем европейского направ-
ления в логике считают Сократа, выдвинувшего на первый план метод
поиска истины. Первое же систематизированное изложение логики
дано Аристотелем, построившим теорию силлогизмов — способов по-
строения умозаключений.
Новый импульс развитие логики получило в XVIII—XIX вв., когда в
результате развития естественных наук выявилось сходство применяе-
мых в них методов рассуждений. Первая попытка математизации логи-
ки сделана Лейбницем. Однако широкое использование математиче-
ских методов началось в середине XIX в. после применения в логике
Дж. Булем математических обозначений. Это позволило упростить ис-
пользование логических методов и в дальнейшем способствовало полу-
чению ряда глубоких прикладных и общетеоретических результатов.
Математическая логика — самостоятельная часть логики, исполь-
зующая математические методы исследований и изучающая основания
математики и принципы построения математических теорий.
ГЛАВА 1
АЛГЕБРА ЛОГИКИ
1.1. Объекты изучения алгебры логики. Булевы константы,
переменные и векторы
Объектами алгебры логики (булевой алгебры) являются высказы-
вания.
ОПРЕДЕЛЕНИЕ. Высказыванием называется любое утверждение, о
котором имеет смысл говорить, истинно оно либо ложно.
Истина обозначается И, ложь — Л. При математическом обозначе-
нии вместо И используется 1, вместо Л — 0. Множество значений ис-
тинности Е2 = {0, 1}. По числу значений истинности алгебра логики на-
зывается также 2-значной логикой.
Высказывания обычно обозначаются латинскими буквами.
ОПРЕДЕЛЕНИЕ. Если высказывание всегда истинно (равно 1) ли-
бо всегда ложно (0), то оно называется булевой константой.
Если высказывание может принимать оба истинностных значения
(и 0, и 1), то оно называется булевой переменной.
Примеры.
1) а = «999 — самое большое натуральное число» — булева константа,
а = 0;
2) b = «999 — самое большое трехзначное натуральное число» — булева
константа, Ь=\\
3) с = «сегодня выходной день» — булева переменная, поскольку с мо-
жет принимать значения и 0, и 1;
4) d= «дом большой» — фраза не является высказыванием, посколь-
ку не ясно, какой дом можно считать большим;
5) е = «дом имеет 12 этажей» — булева переменная.
ОПРЕДЕЛЕНИЕ. Рассмотренные выше высказывания являются
простыми, т. к. они выражают одну законченную мысль. Более сложные
высказывания называют составными.
ОПРЕДЕЛЕНИЕ. Вектор хп =(х1,...,хп), у которого каждая ком-
понента х, е £2(1 < / < п) называется двоичным или булевым.
Глава 1. Алгебра логики
83
1.2. Булевы функции, способы их задания. Элементарные функции.
Алгебра логики, ее формулы
ОПРЕДЕЛЕНИЕ. Пусть х" — «-мерный двоичный вектор. Функ-
ция /(хя), х"еЕ", принимающая значения 0 и 1, называется булевой
функцией или функцией алгебры логики.
По числу переменных п функции алгебры логики называют одноме-
стными (п= 1), двухместными (п = 2) и т. д.
Способы представления функций алгебры логики /(хя) зависят от
представления всех наборов значений Е", которые принимает вектор
ее переменных хп. Наиболее просто все возможные наборы можно пе-
речислить в таблице, где они располагаются в лексикографическом по-
рядке по возрастанию соответствующих им двоичных чисел. Значения
истинности функции f помещаются в отдельном столбце, который на-
зывается вектором истинности функции /(хя). Вся конструкция на-
зывается таблицей истинности функции /(хя).
Рассмотрим элементарные функции, которые являются базовыми в
алгебре логики.
1. Константы. Функции, определенные при любом числе перемен-
ных п и принимающие на всех наборах только одно значение истинно-
сти (0 или 1).
2. Одноместные функции, не являющиеся константами. Обозначив
переменную в них через х, получим следующую таблицу истинности:
X fl
0 0 1
1 1 0
ОПРЕДЕЛЕНИЕ. Функцию j\ называют тождественной. Обозна-
чают /Дх) =х. Функцию/2 называют отрицанием. Обозначают/2(х) =-.х
либо /2(х) = х.
3. Двуместные функции. Рассмотрим следующие двуместные функ-
ции, не являющиеся константами и которые нельзя свести к одномест-
ным функциям. Переменные обозначим через х и у:
X У А А А А А А А
0 0 0 0 0 1 1 1 1
0 1 0 1 1 0 1 1 0
1 0 0 1 1 0 0 1 0
1 1 1 1 0 1 1 0 0
84
Раздел II. Математическая логика
ОПРЕДЕЛЕНИЕ. Функцию Д называют конъюнкцией (логическим
умножением). Способы обозначения следующие: f3(x, у)=х&у либо
/3(х, у) = ху, либоД(х, у) = х л у.
Функцию Д называют дизъюнкцией (логическим сложением). Обо-
значаютД(х, у) = х v у .
Функцию Д называют сложением по модулю 2. Обозначают Д (х, у) =
= хФу.
Функцию Д называют эквивалентностью. Обозначают как Д(х, у) =
= х = у либо Д (х, у) = х <-> у.
ФункциюД называют импликацией. ОбозначаютД(х, у) = х->у либо
х су.
ФункциюД называют штрих Шеффера. Обозначают Д(х, у) = х |у.
Функцию Д называют функцией Вебба или стрелкой Пирса. Обозна-
чают Д(х, у) = х >L у.
ОПРЕДЕЛЕНИЕ. Символы &, v, Ф, =, ->, |, 1 — называют логи-
ческими связками.
Для упрощения записи выражений приняты следующие соглаше-
ния о силе логических связок:
1) -л — самая сильная (при отсутствии скобок применяется ранее
других);
2) & — вторая по силе;
3) связки v, Ф, |, i равносильны;
4) связка = самая слабая.
Равносильные связки выполняются в порядке слева направо.
Функции 0, 1, Д—Д называют элементарными. При помощи этих
функций можно выразить более сложные «-местные функции алгебры
логики (п > 3).
ОПРЕДЕЛЕНИЕ. Соседними по переменной X/ называют пары буле-
вых векторов а - (ocj..., а(+1,0, а;+1,...,а„) и р = (аь ..., а,-^, 1, а,+1,
..., а„), различающиеся только по одной переменной х? Существенными
называются такие переменные х( функции Дх"), для которых существует
хотя бы одна пара соседних по х; наборов значений переменных а и Р,
на которой Да) *ДР). Если же изменение только одной переменной не
влечет изменение функции, то эта переменная называется фиктивной.
Фиктивные переменные могут быть исключены из формульно-
го выражения функции. Очевидно, у констант все переменные являют-
ся фиктивными, у функций Д—Д — все переменные являются сущест-
венными.
Глава 1. Алгебра логики
85
Пример 1. Найти существенные и фиктивные переменные функции
трех переменныхДх, у, z), таблица истинности которой приведена ниже.
Решение. ________________
1. На наборах (0, 0, 0), (1, 0, 0), соседних по х, ДО, 0, 0) фД1, 0, 0), следовательно, переменная х — существенная. 2. Т. к. на всех парах наборов, соседних по у — (0,0, 0) и (0, 1, 0), (0, 0, 1) и (0, 1, 1), (1, 0, 0) и (1, 1, 0), (1,0, 1) и (1, 1,1) — функция принимает одинаковые значения, то у — фиктивная переменная. 3. На наборах (0, 0, 0), (0, 0, 1), различающихся только значениями переменной z,ДО, 0, 0) *Д0, 0, 1), X У Z f
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
следовательно, переменная z — существенная.
Ответ', переменные х, z — существенные, у — фиктивная.
Для функции из примера 1 можно предложить формулу Дх, у, z) =
= х Ф z, в которую не входит фиктивная переменная у.
Наряду с элементарными, выделим и другие наиболее употреби-
тельные типы булевых функций.
ОПРЕДЕЛЕНИЕ. Элементарными пороговыми называют функции
одной и двух переменных, у которых значение истинности изменяется
один раз — либо на нулевом наборе переменных (0,0, ...,0), либо на
единичном наборе (1, 1, ..., 1).
Данные функции имеют очевидный логический смысл и простую
физическую реализацию. К пороговым относятся обе одноместные
функции, существенно зависящие от своей переменной — тождествен-
ная функция Д (х) = х и отрицание f2(x) = х. Среди двуместных функций
пороговыми являются 4 функции: 1) конъюнкция Д = &; 2) дизъюнкция
Д =v; 3) штрих Шеффера Д = |; 4) функция Вебба Д =
Пороговый (скачкообразный) принцип действия рассмотренных
двухместных функций Д, Д, Д, Д позволяет ввести их аналоги на слу-
чай произвольных «-местных функций.
ОПРЕДЕЛЕНИЕ. Обобщенными пороговыми называют следующие
«-местные функции:
1) обобщенная конъюнкция & (х"), равная 1 при х" =(1,1, и 0 на
всех остальных наборах;
2) обобщенная дизъюнкция v (хл), равная 0 при х” = (0,0,..., 0) и 1 на
всех остальных наборах;
3) обобщенная функция Шеффера | (х"), равная 0 при х” =(1,1, ...,1)
и 1 на всех остальных наборах;
86 Раздел II. Математическая логика
4) обобщенная функция Вебба >L (х"), равная 1 при х" = (0,0,..., 0) и О
на всех остальных наборах.
Принципиальная схема функционального элемента, реализующего
обобщенную конъюнкцию &(х"), может быть представлена (рис. 1.1, а)
в виде последовательного соединения входов 1,..., п, соответствующих
переменным (хь ..., х„). Сигнал от входа В к выходу & схемы передается
только при одновременной подаче дополнительных сигналов на все
входы 1,..., п. В противном случае цепь разрывается. Схема обобщен-
ной дизъюнкции v(x") может быть представлена (рис. 1.1,6) в виде
параллельного соединения входов В ней для появления выход-
ного сигнала достаточно его подачи хотя бы на один из входов.
Применяя дополнительно отрицание к входам схемы, аналогично
можно представить обобщенные функции Вебба (рис. 1.2, а) и Шеффе-
ра (рис. 1.2, 6).
Рис. 1.2
Глава 1. Алгебра логики
87
Наряду с таблицами истинности применяются и другие способы за-
дания функций алгебры логики, основанные на перечислении всех
возможных наборов переменных.
Задание функции при помощи вектора истинности
Пример 2. Рассмотрим для примера функцию трех переменных
/(х, у, z), имеющую приведенную ниже таблицу истинности.
можные значения истинности вектора z "~т — по столбцам. Значения
истинности функции f на каждом наборе а" = (а|,...,ат, ат+1,...,а„)
помещаются в клетки, образованные пересечением строки (ос1,...,ат)
и столбца (ост+|,.
В рассмотренном выше примере 2 в случае разбиения переменных
(х, у, z) на подмножества (х) и (у, z) матрица принимает следующий вид:
то, что полные наборы переменных х", соответствующие соседним
(как по вертикали, так и по горизонтали) клеткам, различаются по од-
ной координате.
Задание с помощью полного бинарного дерева
Для описания «-местной функции f{xn) используется свойство
бинарного дерева высоты п, заключающееся в том, что каждой висячей
вершине в нем взаимно однозначно соответствует некоторый набор
значений вектора х". Соответственно этой висячей вершине можно
88
Раздел II. Математическая логика
приписать такое же значение истинности, которое имеет на данном
наборе функция f. В качестве примера (рис. 1.3) приведем задание с
помощью бинарного дерева рассмотренной выше трехместной функ-
ции/^ (10110110).
1 0 1 10 11 о— f
Рис. 1.3
Первый ряд цифр, приписанных висячим вершинам дерева, обо-
значает лексикографический номер набора, второй — сам набор, а тре-
тий — значение функции на нем.
Задание с помощью л-мерного единичного куба Вп
Поскольку вершины Вп также можно взаимно однозначно отобра-
зить на множество всех наборов х" то и-местную функциюДх") можно
задать, приписывая ее значения истинности со-
ответствующим вершинам куба Вп. На рис. 1.4
показано задание функции/=(10110110) на
кубе В3. Значения истинности приписаны
вершинам куба.
ОПРЕДЕЛЕНИЕ. Алгеброй логики назы-
вают множество булевых констант и перемен-
ных вместе с введенными на них логическими
связками.
Формульное задание
Функции алгебры логики могут быть заданы в виде аналитических
выражений.
ОПРЕДЕЛЕНИЕ. Пусть X — алфавит переменных и констант,
используемых в алгебре логики; F — множество обозначений всех эле-
Глава 1. Алгебра логики
89
ментарных функций и их обобщений при числах переменных, превы-
шающих 2.
Формулой над X, F (формулой алгебры логики) назовем все сле-
дующие записи вида:
а) х, где х <=Х;
б) F2, Fi & F2> Ft v F2, Ft F2, Ft = F2, F{ Ф F2, Fx IF2, Fi | F2, где Fit
F2 — формулы над X, F;
в) Fn), где n > 2, Flt Fn — формулы над X, F, h — обозна-
чение обобщенной пороговой функции из F.
Как следует из определения, для двухместных элементарных функ-
ций используется инфиксная форма записи, при которой функцио-
нальный символ помещают между аргументами, для отрицания и
обобщенных функций используют префиксную форму записи, при ко-
торой функциональный символ ставят перед списком аргументов.
Пример 3.
1. Выражения х & -> (у -> z); |(х, у, z v и) являются формулами алгеб-
ры логики, поскольку удовлетворяют данному выше определению.
2. Выражение ->x&(y|z) не является формулой алгебры логики,
поскольку неправильно применена операция
ОПРЕДЕЛЕНИЕ. Функцией, реализуемой формулой F, называется
функция, получаемая при подстановке значений переменных в F. Обо-
значим ееД/)-
Пример 4. Рассмотрим формулу F=xy Ф (х -> z)- Для того чтобы по-
строить таблицу истинности реализуемой функции, необходимо после-
довательно с учетом силы логических связок выполнить логическое
умножение ху, затем импликацию (х—>z), после чего сложить получен-
ные значения истинности по модулю 2. Результат выполнения дейст-
вий показан в таблице:
X У Z. ху x-»z F
0 0 0 0 1 1
0 0 1 0 1 1
0 1 0 0 1 1
0 1 1 0 1 1
1 0 0 0 0 0
1 0 1 0 1 1
1 1 0 1 0 1
1 1 1 1 1 0
90
Раздел II. Математическая логика
Формульное представление функций позволяет априори оценивать
многие свойства функций. Переход от формульного задания к таблице
истинности всегда может быть выполнен путем последовательных под-
становок значений истинности в элементарные функции, входящие в
формулу. Обратный переход неоднозначен, поскольку одна и та же
функция может быть представлена различными формулами. Он требует
отдельного рассмотрения.
1.3. Моделирование составных высказываний при помощи
алгебры логики
Составные логические высказывания в повседневной жизни фор-
мулируют в словесном виде. Например, «Если на улице идет дождь, то
надо взять с собой зонт либо остаться дома».
Для того чтобы использовать аппарат логики для решения данных
задач, необходимо вначале все словесные выражения в них представить
в виде логических формул. Последовательность такого перехода состо-
ит из двух основных этапов.
1. Выделить в словесной постановке задачи все простые перемен-
ные высказывания, которые выражают только одну законченную
мысль, не делимую на более мелкие смысловые фрагменты, и сопоста-
вить им логические переменные. Например, в приведенном выше
предложении такими простыми высказываниями являются следующие:
а) «на улице идет дождь»;
б) «надо взять с собой зонт»;
в) «(надо) остаться дома».
Обозначим их соответственно латинскими буквами х, у, z и примем
в качестве логических переменных.
2. Введенные на первом шаге логические переменные соединяют
между собой логическими связками, правильно передающими смысл
исходного словесного предложения.
При этом:
а) частицу «не» заменяют логической связкой -> («отрицание»);
б) союзы «и», «но», означающие одновременность выполняемых
действий, заменяют логической связкой & («умножение»), имеющей
такой же смысл в логике;
в) союзы «или», «либо», выражение «хотя бы один», означающие
условие выполнения хотя бы одного из заданных действий, заменяют
Глава 1. Алгебра логики
91
логической связкой v («логическое сложение»), имеющей такой же
смысл в логике;
г) сочетания «если — то», «следовательно», означающие, что в паре
высказываний из первого вытекает второе, заменяют логической связ-
кой -> («импликация, логическое следование»), фраза «А достаточно
для Б» передается прямой импликацией А-> Б, выражение «А необхо-
димо для Б» передается обратной импликацией Б -> А;
д) сочетания и слова «необходимо и достаточно», «равно», «все рав-
но, что», «тождественно», «эквивалентно», означающие, что в паре вы-
сказываний из первого вытекает второе и одновременно из второго вы-
текает первое, заменяют логической связкой = («эквивалентность, ло-
гическое равенство»);
е) словосочетание «либо — либо» имеет смысл исключающего
«или» и означает, что из двух частей высказывания может быть истин-
ным ровно одно, его заменяют логической связкой Ф («сложение по
модулю 2»),
Если то или иное логическое действие относится к группе простых
высказываний, при необходимости в логической формуле надо исполь-
зовать скобки.
В рассмотренном выше предложении из того факта, что на улице
идет дождь следует, что надо взять с собой зонт или остаться дома. В со-
ответствии с перечисленными выше правилами, простые высказывания
х, у, z, обозначающие эти действия, необходимо соединить между собой
следующим образом: х —> (у v z).
В сумме со смысловой расшифровкой переменных х, у, z, данная
запись (логическая формула) полностью передает смысл исходного
предложения. При этом формула поясняет логические связи понятий,
использованных в нем.
Пример 1. Ввести булевские высказывания-переменные и составить
при помощи логических связок формулу составного высказывания-
пословицы: «все равно, что в лоб, что по лбу».
Решение.
1. Выделим из словесного предложения простые переменные выска-
зывания и обозначим их латинскими буквами: х = «в лоб»; у = «по лбу».
2. Соединяем между собой логическими связками введенные ло-
гические переменные. Сочетание «все равно, что» заменяем связкой
«эквивалентность» =.
В итоге получим следующий ответ: х = «в лоб»; у = «по лбу»;Дх,у) =
= (х = у).
92
Раздел II. Математическая логика
Задачи
1. Определить, будут ли формулами алгебры логики следующие записи:
a) v (х,->у ®z, x->z); б)х Ф (у | (у, и); в)ун®у(у->г,-,х,у);
г) х&у Ф (у гх, у, г); д) ху v Ф (у, г).
Если выражение является формулой, указать правильный порядок выпол-
нения действий. В неправильных записях указать ошибки.
2. Ввести булевские высказывания-переменные и составить при помощи
элементарных булевых функций формулы составных высказываний:
а) «если в задаче ход решения неправильный или получен неверный ответ,
то задача не засчитывается»;
б) «высказывания а и b одновременно верны или одновременно ложны то-
гда и только тогда, когда из высказывания а следует справедливость высказы-
вания с»,
в) «рабочий процесс в аппарате может производиться только при условии
загрузки емкости не менее чем на треть и температуры в ее рубашке не ниже
100° и не выше 150°».
3. Ввести булевские высказывания-переменные и построить таблицы ис-
тинности для следующие логических функций:
а) «если в комиссии из трех человек “за” голосует не менее двух человек, то
принимается положительное решение»;
б) «если в комиссии из трех человек “за” голосует ровно два человека, то
принимается положительное решение»;
в) аппарат оснащен четырьмя аварийными датчиками х, у, z, и. Автомати-
ческое отключение главного двигателя происходит при срабатывании ровно
одного из датчиковхиу либо при совместном срабатывании г и и;
г) машинный агрегат имеет датчики и концевые выключатели, обозначен-
ные х, у, z, и. Пуск двигателя происходит при условии срабатывания датчиков х,
у и отключенном и либо при срабатывании z, и и отключенных х, у.
4. Построить таблицы истинности функций, заданных следующими фор-
мулами:
a)xy->yz; б) (х vy) Ф (х->у); в) (хФух)->ху; г)х(х|у)Фу; д)х-> (y->z);
е)х®у->ху; ж) (xsy) ->(у ->х); з) (у ->х)->(х->у).
5. Найти существенные и фиктивные переменные функций:
а) (x®y)->yz; б)х v угФх);в)ху vxy; г) (х-> (у-*г)) -> ((х->у) -> (х->г));
д) (10100101); е) (00110011); ж) (10011010), з) (0101).
6. Привести собственный пример функции трех переменных, у которой две
переменных являются фиктивными.
7. Доказать, что существует ровно две функции, у которых фиктивными яв-
ляются все переменные.
8. Доказать, что при любом п существует ровно 4 «-местных пороговых
функции, равных обобщенным функциям &(х”), v(x"), Ф(х"), |(х").
9. Доказать, что число всех различных «-местных булевых функций равно 2 .
10. Доказать, что число всех различных «-местных булевых функций, у кото-
рых хотя бы одна переменная является фиктивной, равно 2
Глава 1. Алгебра логики
93
1.4. Эквивалентность формул. Тавтологии. Законы логики.
Двойственность
Для каждого п количество «-местных взаимно различных булевых
функций ограничено. В то же время можно показать, что число воз-
можных формул, составленных из п переменных, счетно. Отсюда сле-
дует, что функции могут быть представлены формулами неединствен-
ным образом.
ОПРЕДЕЛЕНИЕ. Формулы и F2 эквивалентны, если реализуе-
мые ими функции совпадают, т. е. имеют одни и те же значения истин-
ности на одинаковых наборах переменных. Преобразование форму-
лы F3 называют эквивалентным, если вновь получаемая формула F2 эк-
вивалентна ей.
Пример 1.
1. Формулы F{=xvy и F2 = x& у неэквивалентны, поскольку су-
ществуют наборы значений переменных (например, х = 0, у = 0), где
соответствующие функции принимают различные значения.
2. Формулы F{ = х v у и F3 = ->(х & у) эквивалентны, поскольку реа-
лизуемые ими функции совпадают.
Проверку эквивалентности проще всего проводить на таблицах ис-
тинности. Ниже приведены таблицы истинности для функций, реали-
зующих формулы F}, F2 и F3. Векторы истинности у F{ и F3 совпадают, у
F} и F2 — нет.
X У = X V у F2 = х & у F3 = -,(x&y)
0 0 1 0 1
0 1 0 1 0
1 0 1 0 1
1 1 1 0 1
ОПРЕДЕЛЕНИЕ. Формула называется тождественно истинной
(ложной), если реализуемая ею функция является константой 1 (0). То-
ждественно истинные формулы также называют тавтологиями, тожде-
ственно ложные функции — противоречиями.
Тавтологии являются теоремами алгебры логики. Они задают пра-
вильные рассуждения, верные при любых значениях высказываний,
входящих в них.
94
Раздел II. Математическая логика
Пример 2. Выяснить, будут ли тавтологиями следующие формулы:
F{ = х v х v у, F2 = (х | у) Ф ху, F3=xy® (х v у).
Решение. Из нижеприведенных таблиц истинности для функций,
реализующих формулы F{, F2 и F3, следует, что формулы F{, F2 — тав-
тологии (векторы истинности у них состоят только из единиц), F3 не
является тавтологией, т. к. соответствующий ей вектор истинности
имеет нули.
X У 1\ = х v х v у /’2=(х|у)Фху F3 =xy®(xvy)
0 0 1 1 0
0 1 1 1 1
1 0 1 1 1
1 1 1 1 0
Замечание. В процессе выяснения, является ли некоторая форму-
ла F тавтологией или противоречием, фактически проверяется ее эквива-
лентность константам 1 и 0.
Можно показать, что количество всех возможных тавтологий счет-
но для любого числа п переменных, используемых в них.
ОПРЕДЕЛЕНИЕ. Основные, наиболее употребительные тавтоло-
гии, которые задают эквивалентные преобразования формул, называют
законами алгебры логики.
Перечислим их.
1. Коммутативные законы сложения и умножения:
xvy = yvx, х &у -у &х.
2. Ассоциативные законы сложения и умножения:
(х V у) V Z = X V (у V z) = X V у V Z,
(х & у) & Z = X & (у & z) — X &У & Z-
3. Дистрибутивные законы:
x&(yv^)=x&yvx&z,
X V у & z = (х v у) & (х V z).
4. Правила де Моргана снятия отрицания:
-> (х & у) = х v у, -1 (х v у) = х & у.
5. Идемпотентность:
xvx = x, х&х = х.
6. Правила поглощения:
х v (х & у) = х, х & (х v у) = х.
7. Закон противоречия:
х&х =0.
Глава 1. Алгебра логики
95
8. Закон исключения третьего:
х ух = 1.
9. Операции с константами:
х у 0 = х, ху 1 = 1, х & 0 = 0, х &. 1 = х.
Справедливость перечисленных законов может быть проверена, как
и обычная эквивалентность формул.
Пример 3. Доказать первое правило де Моргана.
Решение. Построим векторы значений истинности функций для
формул -.(х&у) и хуу. Как видно из приведенной ниже таблицы,
они полностью совпадают (столбцы 4 и 7).
X У х &у -.(х&у) X У X vy
0 0 0 1 1 1 1
0 1 0 1 1 0 1
1 0 0 1 0 1 1
1 1 1 0 0 0 0
Отсюда следует, что данная формула справедлива при любых значе-
ниях входящих в нее переменных и является тавтологией.
Законы логики могут быть использованы для аналитического упро-
щения формул. Также для преобразования формул можно использовать
принцип двойственности.
ОПРЕДЕЛЕНИЕ. Обратными {инвертированными) называют значе-
ния а" и р" «-местного булевого вектора х", у которых различаются
все компоненты: р,- = а,- при всех 1 < i < п. Обозначим их как р" = а"*.
Пример 4. (О, 1,0)* = (1,0, 1);(1, 1,0)* = (0,0, 1); (1, 0)* = (0,1).
При табличном задании обратные наборы а" и р" находятся на
одинаковых расстояниях от начала и конца таблицы, поскольку соот-
ветствующие им двоичные числа аир связаны соотношением а + р =
= 2"- 1.
ОПРЕДЕЛЕНИЕ. Симметричными называют такие «-местные буле-
вы функции Дх"), которые принимают одинаковые значения истинно-
сти на всех обратных наборах, т. е./(а") =Ла"*) при всех а"е Вп.
Вектор истинности таких функций симметричен относительно сво-
ей средины. Симметричными являются константы 0, 1, сумма по моду-
лю 2, эквивалентность и т. д. Все пороговые функции не симметричны.
ОПРЕДЕЛЕНИЕ. Двойственными называют такие «-местные функ-
ции/и g, для которых на всех наборах а"еЛ" справедливо равенство
96
Раздел II. Математическая логика
Да") = g(a"*), т. е. на обратных наборах/и g принимают различные зна-
чения истинности. Двойственность обозначается как f=g*.
Пример 5. Проверить двойственность функций/, = х & у,/2 =х vy.
Решение. Из соотношений
/1(00) = о =1=72(11), /|(01) = 0 =Т= 4(10),
/1(10) = 0 = 1 = /2(01), /(11) = 1 =0 = /2(00)
следует, что функции являются двойственными, / = /2*.
Понятие двойственности симметрично, поэтому из f=g* всегда
следует g=/*.
У симметричных функций двойственность совпадает с отрицанием,
т. к. /*(%"*) =/(%"*) =/(%"). Поэтому 0* = 1, 1* = 0, (х®у)* =х®уФ 1 =
= (х^у) и т. д. У несимметричных функций, например пороговых, по-
нятие двойственности не сводится к отрицанию: х* = х х, х* = х х =
= (х & у)* = (х v у) —1 (х&у), (x|y)* = (xly)*-,(x|y).
ОПРЕДЕЛЕНИЕ. Рассмотрим сложную «-местную функцию сле-
дующего вида: F(xn) = /(/Дх"),...,/*(%")).
Функцию/в дальнейшем будем называть внешней, функции /1;...,
fk — внутренними.
Принципом двойственности называют следующее соотношение:
г*(х")=/*(/*(х"),...,/;(х")).
Справедливость его следует непосредственно из определения двой-
ственности:
_Г*(х") = Г(х"*) = /(/(х"*),..., /Дх"*)) =
=7(71*(х"),...,л*(х"))=/*(/1*(х"),...,л*(х")).
Применение принципа двойственности упрощает многие преобра-
зования формул. В частности, он позволяет аналитически доказывать
одни законы логики на основе других. Здесь используется следующее
очевидное свойство формул: если А = В, то А* = В*. Например, первое
правило де Моргана можно представить в виде А = В, где А = -> (х &у),
В = х v у. Переходя к А* = (х v у), В* = х 8с у, получим второй закон.
Задачи
1. Проверить эквивалентность следующих пар формул:
a) F\ = ху v7i< F2=xvyr, б) F, = (х->у) ® у и F2 = 1;
в) F, = х Фуг и F2 = Ф (х, у, г) v уг v у.
2. Доказать справедливость:
а) ассоциативного закона сложения;
Глава 1. Алгебра логики
97
б) первого дистрибутивного закона;
в) первого правила поглощения.
3. Проверить, будут ли двойственными функции:
а)/,=л-|у и /2 = хФу; б) fx =х|у и /, =х©у;
в) /, = (10100010) и /2 = (11100000); г) /, = (10100010) и/2= (10111010).
4. Найти с использованием принципа двойственности функции, двойст-
венные к: а) ху -1 yz; б) ху | (х v z) у; в) х Ф у.
5. Доказать, что функция, двойственная к пороговой, также будет пороговой.
6. Доказать, что для обобщенных функций верно
&(x") = v(x")*, Ф(х") = |(х")*.
7. При помощи принципа двойственности доказать справедливость:
а) ассоциативного закона умножения на основании ассоциативного закона
сложения;
б) второго правила поглощения на основании первого.
8. Доказать эквивалентность формул:
a)xv(x&y) их vy; б)х |у и-1 (х&у); в) х Фу и -i (х vy);
г) (х = у) и (х —>у)(у -> х); д) (х-> (у -> z)) и (ху -> z).
9. Проверить, будут ли тавтологиями следующие формулы:
а) (х -> у) (у -> z) -> (х -> z); б) (х -> у)х -> у; в) ху v ху = х;
г)г->(хФу) = (х|г)(хуу VZ); д)х->(у->х).
10. Доказать, что:
а) если А и В — тавтологии, то А&.(В\/ А) —противоречие;
б) если А и В — противоречия, то С v A v В — тавтология.
11. А, В, С, D — некоторые высказывания. Найти истинность составных
высказываний:
a)Cv5 D если £> = Л;
б) А -> С, если AvB = JI, ВС = И;
в) (А -> 0 © D, если A vC = И, А © С= И, В -> D = Л;
г) В v С, если В® С = Л, А &С =И;
д) С& А, если -1(/^5) = И,Л->С=И,СФ7) = Л;
е) А © С, если Л v В v С = И, (С -> А) & (А -> 0 = Л.
1.5. Специальные формульные представления булевых функций
Как уже отмечалось, наиболее удобными для физической реализа-
ции являются пороговые функции. Это тождественная функция х, от-
рицание х, конъюнкция &, дизъюнкция v, штрих Шеффера |, функция
Вебба Ф, а также обобщения функций &, v, |, 1 на случай произволь-
ного числа переменных.
Поэтому с практической точки зрения основной интерес представ-
ляют формульные представления булевых функций при помощи рас-
98
Раздел II. Математическая логика
смотренных выше пороговых элементарных и обобщенных функций.
Набор элементарных либо обобщенных функций, при помощи кото-
рого синтезируют формулы, будем называть базисным набором.
1.5.1. Конъюнкции и дизъюнкции над множеством переменных.
Нормальные формы
ОПРЕДЕЛЕНИЕ. Конъюнкцией над множеством переменных Х= (х1;
..., х„) называется логическое произведение вида
^ = х^'&...&х““,
где (хп,...,хй)сX, x$k =xik либо xik.
Конъюнкцию К можно представить как результат (s- 1) примене-
ния двуместной функции логического умножения либо одной обоб-
щенной функции &, а также одноместной функции Аналогом функ-
ции & по принципу действия (выделение 1 на крайней позиции вектора
истинности) является функция Вебба Ф. Поскольку правило х&у =
= х Ф у справедливо для любого числа переменных, то любая конъюнк-
ция К может быть представлена в виде А’ = Ф(х/7“'1,...,х,7““), где Ф —
обобщенная функция Вебба. Данное представление назовем представ-
лением в базисном наборе (->, Ф). Отрицание х может быть выражено
при помощи функции Вебба следующими способами: х = Ф (х, х) =
= Ф (х, 0) = Ф (0, х) (дублирующая подстановка (х, х) на практике реали-
зуется замыканием входов элемента Ф, а подстановка 0 — заземлением
соответствующего входа у функционального элемента (рис. 1.5)). По-
этому любая конъюнкция К может быть полностью выражена при по-
мощи элементов Ф (в базисном наборе (Ф)). При этом общее число
функциональных элементов в конъюнкции К при использовании обоих
базисных наборов одинаково.
Рис. 1.5
Глава 1. Алгебра логики
99
ОПРЕДЕЛЕНИЕ. Дизъюнкцией над множеством переменных Х=
= (xj,хп) называется логическая сумма вида
D = x,f1v...vx?'i,
где (хп,...,xis)сX, xlikk = xik либо xjk.
Дизъюнкция D может быть реализована как при помощи (s - 1)
двуместной функции v, так и применением одной обобщенной функ-
ции v, а также одноместной функции Поскольку аналогом функции v
по принципу действия (выделение 0 на крайней позиции вектора ис-
тинности) является функция штрих Шеффера |, то с учетом зависимо-
сти х v у = х | у, любая дизъюнкция D может быть представлена в виде
D = \(x^ail,...,x^ais),
где | — обобщенная функция Шеффера. Данное представление назовем
представлением в базисном наборе (->, |).
Т. к. отрицание можно выразить через |: х = | (х, х) = | (х, 1) = | (1, х)
(рис. 1.6), то с использованием данных правил любая дизъюнкция D мо-
жет быть полностью выражена при помощи элементов | (в базисном на-
боре (I)). При этом у одной и той же дизъюнкции общее число функцио-
нальных символов при использовании обоих наборов также одинаково.
Рис. 1.6
ОПРЕДЕЛЕНИЕ. Дизъюнктивной нормальной формой (ДНФ) булевой
функции f(xn) называется формульное выражение вида
f=K^...vKp,
где Кр — конъюнкции.
Для соединения конъюнкций в ДНФ могут использоваться как
2-местная, так и обобщенная функция v. Последняя с использованием
эквивалентного соотношения
может быть заменена обобщенной функцией Вебба.
100
Раздел II. Математическая логика
ОПРЕДЕЛЕНИЕ. Веббовой нормальной формой (ВНФ) булевой функ-
цииfix”) назовем ее выражение вида
а^ф^,...,^),
где К{,Кр — конъюнкции, представленные как Ks =Ф (хД10"1,x^a,s),
(l<s<p).
С помощью ДНФ и ВНФ наиболее просто выражаются булевы функ-
ции, у которых в векторе истинности преобладают нули и мало единиц.
Замечание 1. В виде ДНФ и ВНФ могут быть представлены все
функции алгебры логики, не равные константе 0. Эта функция не предста-
вима в данных формах, поскольку при наличии хотя бы одной конъюнкции
в формулах ДНФ или ВНФ в векторе истинности функции также должна
присутствовать хотя бы одна единица.
Замечание 2. Выражения с одним слагаемым видаf= К} для сохра-
нения общности также будем относить к ДНФ (ВНФ). Назовем такие фор-
мы вырожденными.
Пример 1. Представить ДНФ булевой функции f=xyvxyz в эк-
вивалентной ВНФ. Дать решение задачи: а) в базисном наборе (->, Ф) и
б) в базисном наборе (Ф).
Решение. Заменяя умножение во внутренних конъюнкциях ДНФ
функцией Вебба, вначале изменим внутренние конъюнкции формы:
ху = Ф(х,у), xyz = Ф (х, у, z). Внешнее сложение преобразуем с исполь-
зованием правилам ..., Кр) = -> Ф (К{,..., Кр). В итоге получим иско-
мое выражение функции в базисном наборе 4-):
/=-, Ф(Ф(х,у), Ф (х, у, ?)).
Применяя эквивалентную замену х = Ф(х, х), находим формульное
выражение функции, содержащее только функцию Вебба:
/=ф[ф(ф(ф(х,х),у), Ф(х, Ф(у,у), ф(г,г))), Ф(Ф(Ф(х, х), у),
Ф(х, Ф(у, у), Ф(г, ?)))].
Полученные выражения дают искомое решение задачи.
ОПРЕДЕЛЕНИЕ. Конъюнктивной нормальной формой (КНФ) буле-
вой функции Дх") называется ее формульное выражение вида
f=D{&. ...&.Dp,
где Др ..., Dp — дизъюнкции.
В К.НФ могут использоваться 2-местная или обобщенная функ-
ции &. Последняя с использованием эквивалентного соотношения
& (Др ..., Dp) = -11 (/>!,..., Dp) может быть заменена обобщенной функ-
цией Шеффера.
ОПРЕДЕЛЕНИЕ. Шефферовой нормальной формой (ШНФ) булевой
функции f(xn) назовем ее выражение вида
f=^\(Dl,...,Dp),
Глава 1. Алгебра логики
101
где Dlt... ,Dp — дизъюнкции, представленные в эквивалентной форме
Л = |(х^...,х,;п, (12/<р).
Замечание 3. В виде КНФ и ШНФ могут быть представлены все
функции алгебры логики, не равные константе 1. Данная функция не пред-
ставима в виде КНФ и ШНФ, поскольку при наличии хотя бы одной дизъ-
юнкции в их формулах вектор истинности функции также должен иметь
хотя бы один нуль.
Замечание 4. Выражения с одним сомножителем вида /=Д[ для
сохранения общности будем считать вырожденными КНФ (ШНФ).
Пример 2. Перевести КНФ булевой функции f- (х v у v z) & (у v z)
в эквивалентную ШНФ. Дать решение задачи: а) в базисном наборе
(-1, |) и б) в однофункциональном наборе (|).
Решение. Заменим сложение во внутренних суммах (дизъюнкциях)
КНФ обобщенной функцией Шеффера: (х v у v z) = | (х, у, Z); (у v z) =
= |(y,z). Затем по правилу &(Z)1;..., Dp) = -i|(Dt,..., Dp) производим за-
мену внешнего сложения. В итоге получаем выражение функции в ба-
зисном наборе (-1, |):
/= --1 (I (х, у, z),l(y,z))-
После эквивалентной замены х = |(х, х), находим формулу функ-
ции, содержащую только функцию Шеффера:
/=1 [| (I (х, |(у,у), |(z, г)), Io, I (z, ?))), |(|(х, |(у, у), |(z, z)), |(у, I (z, z)))].
Таким образом, получены обе искомые формулы.
Задачи
1. Доказать (например, с использованием таблиц истинности) правиль-
ность следующих подстановок:
а) х = Ф (х, х) = Ф (х, 0) = Ф (0, х);
б) х =|(х,х) = |(х, 1) = |(1,х).
2. Доказать эквивалентность следующих обобщенных формул:
а) Л = v (хн ..., х,) и F2 = Ф (хн ..., х5);
б) = & (Xt,.... xs) и F2 = | (x1;.... хД
3. Представить ДНФ в виде эквивалентной ВНФ. Дать решения задачи в
базисных наборах (->, Ф) и (|):
а)/=х yzvy vz;
б)/=ху vx у vyz.
4. Преобразовать КНФ булевых функций в эквивалентные ШНФ с исполь-
зованием базисных наборов (->, |) и (|):
a)/=(xvy vz)(xvy vz);
6)/=(xvy)(y vz)(xvz).
102
Раздел И. Математическая логика
1.5.2. Конституенты единицы. Совершенные дизъюнктивные и
веббовы нормальные формы
ОПРЕДЕЛЕНИЕ. Пусть функция Дх") на наборе а" = (cq,..., ая)
равна 1. Конъюнктивной конституентой единицы функции/на наборе
а” назовем конъюнкцию К= х“* &...&Х™, где х“'=х, приа;=1 и
х/' = X; при а, = 0 (/ = 1,..., п).
Аналогично веббовой конституентой единицы функции f назовем
подстановку вида V= I (xfal,..., хя .
И конъюнктивная и веббова конституенты единицы, соответст-
вующие набору а", принимают значение 1 только на нем. На всех ос-
тальных наборах они равны 0.
Пример 1. Построить все конъюнктивные и веббовы конституенты
единицы функции F, заданной следующей таблицей истинности:
X У Z F К, К2 К,
0 0 0 0 0 0 0
0 0 1 1 1 0 0
0 1 0 0 0 0 0
0 1 1 1 0 1 0
1 0 0 0 0 0 0
1 0 1 0 0 0 0
1 1 0 1 0 0 1
1 1 1 0 0 0 0
Решение.
Функция принимает значение 1 на наборах (0, 0, 1), (0, 1, 1), (1, 1, 0).
На наборе (0, 0, 1) конъюнктивная конституента единицы K{=xyz, на
наборе (0, 1, 1) К2-х у z, на наборе (1, 1,0) K3 = xyz. В таблице ис-
тинности даны векторы истинности конституент К{—К3. Они показы-
вают назначение конституент — выделение одной из единиц в векторе
истинности исходной функции.
Веббовы конституенты получаем из К3—К3 с использованием двух
преобразований: 1) инвертирования внутренних переменных в конь-
юнкциях и 2) замены конъюнкции функцией Вебба. В итоге получим
все веббовы конституенты единицы функции .F: Ej = >k(x,у,z); V2~
= (х, у, z); V3 = l (х, у, z).
Векторы истинности конституент V3—V3 совпадают с векторами ис-
тинности К3-К3.
Глава 1. Алгебра логики
103
ОПРЕДЕЛЕНИЕ. Совершенной дизъюнктивной нормальной формой
(СДНФ) булевой функции Дх") называют выражение вида
f=Klv...vKp,
где К{, ...,Кр — все конъюнктивные конституенты единицы функции
Дх").
Совершенной веббовой нормальной формой (СВНФ) булевой функции
Дх") называют выражение вида
/=-Ф(И. ...,7Р),
где И,,Vp — веббовы конституенты единицы функцииДх").
СДНФ (как и все ДНФ) задают формульные выражения булевых
функций в базисном наборе {-,, &, v}. СВНФ задает выражение функ-
ций в базисном наборе Ф}. Т. к. -> (х) = Ф (х, х), то данную формулу
всегда можно представить в однофункциональном наборе {Ф}.
Пример 2. Построить СДНФ и СВНФ (с использованием наборов
{->, Ф} и {Ф}) функции f-(01010010) из примера 1.
Решение.
1. Конъюнктивные конституенты единицы функции Д—К3 по-
строены в примере 1. СДНФ получаем, логически складывая их:
f=xyzvxyzvxyz=v(xyz,xyz,xyz).
2. Веббовы конституенты единицы функции Kj— V3 также берем из
примера 1. СВНФ в базисном наборе Ф} получаем, подставляя Vr—V3 в
функцию Вебба и инвертируя ее:
f = Ф(ф(х, у,z), Ф(х, у, z), Ф (х, у, z).
СВНФ в базисном наборе {Ф} имеет вид
/ =ф [ф (ф (х, у, ф (z, z)), ф (х,ф (у, у),Ф (z, z)), ф (ф (х, х),Ф (у, у), z)),
Ф(Ф(х,у,Ф(г,г)), Ф(х,Ф(у, у),Ф(г,г)), Ф(Ф(х,х),Ф(у,у),г))].
Три полученных формульных выражения дают искомое решение
задачи для булевой функции из примера 1.
Как и все ДНФ и ВНФ, их совершенные виды существуют толь-
ко для функций, не равных тождественному нулю. В том случае, ког-
да вектор истинности функции имеет только одну единицу, ее СДНФ
и СВНФ являются вырожденными, т. е. состоят только из одной кон-
ституенты.
1.5.3. Конституенты нуля. Совершенные конъюнктивные
и шефферовы нормальные формы
Как отмечалось, при помощи СДНФ и СВНФ наиболее просто вы-
ражаются функции, у которых в векторе истинности преобладают нули.
Если в векторе истинности больше единиц, то используют аналогичные
104
Раздел II. Математическая логика
совершенные конъюнктивные и шефферовы формы, в которых в каче-
стве внутренних функций входят конституенты нуля.
ОПРЕДЕЛЕНИЕ. Пусть на наборе а" = (ос15 ..., аи) булева функция
f(xn) принимает значение 0. Дизъюнктивной конституентой нуля функ-
ции/назовем дизъюнкцию вида
/) = х1"’а1 v... vx^“",
где х/а' = —, х,- при а,- = 1 и х/а' = х,- при а,- = 0 (1 < / < и).
Аналогично шефферовой конституентой нуля функции f назовем
подстановку вида S = | (х™1,..., х“").
Как дизъюнктивная, так и шефферова конституенты нуля, соответ-
ствующие набору а", принимают значение 0 только на нем. На всех
остальных наборах они равны 1.
ПримерЗ. Построить все дизъюнктивные и шефферовы конститу-
енты нуля функции, заданной следующей таблицей истинности:
X У Z F А А А
0 0 0 1 1 1 1
0 0 1 1 1 1 1
0 1 0 0 0 1 1
0 1 1 0 1 0 1
1 0 0 1 1 1 1
1 0 1 0 1 1 0
1 1 0 1 1 1 1
1 1 1 1 1 1 1
Решение. Функция принимает значение 0 на наборах (0, 1, 0), (0, 1, 1),
(1,0,1). На наборе (0,1,0) дизъюнктивная конституента нуля D} =
= xvyvz, на наборе (0,1,1) D2 = xvyvz, на наборе (1,0,1) D3 =
= xvyvz. В таблице дополнительно указаны векторы истинности кон-
ституент D{—D3. Каждая из них выделяет ровно один из нулей в векторе
истинности исходной функции.
Шефферовы конституенты получаем из D{—D3, инвертируя внут-
ренние переменные в них и заменяя дизъюнкцию функцией Шеффера.
В итоге получим: 5, = | (х, у, z); S2 = I (*> У> S3 = | (х, у, z). Поскольку
преобразование эквивалентное, векторы истинности 53 совпадают с
векторами для D{~D3.
Глава 1. Алгебра логики
105
ОПРЕДЕЛЕНИЕ. Совершенной конъюнктивной нормальной формой
(СКНФ) булевой функцииДх") называют выражение вида
где Д15 Dp — дизъюнктивные конституенты нуля функции.
Совершенной шефферовой нормальной формой (СШНФ) булевой
функцииДх") называют выражение вида
где 5,, ..., Sp — шефферовы конституенты нуля функции Дх").
СКНФ, как и все КНФ, являются функциями в базисном наборе
{-,, &, v}. СШНФ можно наряду с основным представлением задать в
однофункциональном базисном наборе {|}.
Пример 4. Построить СКНФ и СШНФ (для каждого из базисных
наборов {-., |} и {|}) функции/= (11001011) из примера 3.
Решение.
1. Дизъюнктивные конституенты нуля Dx— D3 найдены в примере 3.
СКНФ получаем, логически умножая их:
f= (х v у v z) & (х v у v г) &(х vу v г).
2. Шефферовы конституенты 5,— также были найдены в приме-
ре 3. СШНФ в базисном наборе {-,, |) получаем, подставляя в
функцию Шеффера с последующим ее инвертированием:
/= -, | (| (х, х), у, I (z, Z)), | (| (х, х), у, Z), | (х, I (у, у), Z))).
СШНФ в базисном наборе {|}имеет вид
/= I [|(I(|(х, х),у,|(г, г)), |(|(х,х),у,г),|(х,|(у,у),г)), |(|(|(х, x),y,|(z, z)),
|(|(х, х),у, г), | (х,|(у,у), г))].
Искомые формы построены.
СКНФ и СШНФ существуют только для функций, не равных тож-
дественной единице. В случае, когда вектор истинности функции имеет
только один нуль, ее СКНФ и СШНФ являются вырожденными.
Рассмотренные выше ДНФ, КНФ, ВНФ и ШНФ допускают не-
единственное представление функций. Совершенные формы являются
их частными случаями.
1.5.4. Полиномы Жегалкина
Помимо представлений с помощью базисных наборов, состоящих
из пороговых функций, при решении практических задач необходимо
также использовать формулы стандартного вида на основе наборов,
содержащих наряду с пороговыми и симметричные функции. Такими
формулами являются полиномы Жегалкина.
106
Раздел II. Математическая логика
ОПРЕДЕЛЕНИЕ. Произведением над множеством переменных X=
= (Х|,х„) называют выражение вида
Р = х(1 &...&хй,
где (xn,...,xis)^X.
ОПРЕДЕЛЕНИЕ. Полиномом Жегалкина булевой функции Дх") на-
зывают выражение вида
/= а0 Ф оцД © ... Ф <xkPk,
где (Рь ...,Рк) — все возможные произведения над множеством пере-
менных Х= (хь ...,х„), а0, а1;..., ак — булевы константы (0 или 1), знак Ф
означает сумму по модулю 2.
Произведения, входящие в полином с нулевыми коэффициентами,
обычно просто опускают.
Полиномы Жегалкина задают разложение функций в базисном на-
боре {0, 1, &, Ф}. Функция & — пороговая, функции (0, 1, Ф) — симмет-
ричные. В виде полинома Жегалкина может быть представлена любая
булева функция. Рассмотрим первый метод определения полинома по
таблице истинности функции.
Метод неопределенных коэффициентов
Допустим, необходимо найти полином для некоторой булевой
функции /(х"). Для этого выполняем следующие действия.
1. Представляем полином в общем виде: /= а0 Ф а{Р{ © ... © акРк,
где (Д,..., Рк) — все возможные (с точностью до перестановок) произ-
ведения над множеством переменных функции Х= (х1;..., х„), ос0, а1;
..., ак— неопределенные коэффициенты.
2. Рассматриваем таблицу истинности функции. Поочередно под-
ставляем в формулу полинома значения переменных. При этом получа-
ем уравнения относительно неопределенных коэффициентов. Решая их
поочередно, находим все значения коэффициентов.
X У Z f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Пример 5. Найти коэффициенты полинома
Жегалкина функции/= (01101111).
Решение. Обозначим переменные функции че-
рез х, у, z и построим ее таблицу истинности.
В общем виде полином имеет вид
/= а0 Ф а jX © ajy © а3г © 0С4ХУ © a5xz © © a7xyz-
Поочередно подставляя наборы значений пе-
ременных в формулу полинома, получаем уравне-
ния относительно его коэффициентов. Решаем их
и найденные числовые значения для упрощения
Глава 1. Алгебра логики
107
решения последующих уравнений сразу подставляем в них. Номер шага
равен лексикографическому номеру рассматриваемого набора.
ШАГ 0. (х, у, z) = (0, 0, 0). ДО, 0, 0) = ос0 ® cq х 0 Ф а2 х 0 Ф а3 х 0 ® а4 х
х0х0Фа5х0х0Фа6х0х0Фа7х0х0х0 = 0. Отсюда следует а0 = 0.
ШАГ 1. (х, у, z) = (0, 0, 1). ДО, 0, 1) = ОС[ х 0 ® а2 х 0 Ф а3 х 1 Ф а4 х 0 х
х0®а5х0х1®а6х0х1®а7х0х0х1 = 1. Отсюдаа3 = 1.
ШАГ 2. (х, у, z) = (0,1, 0). ДО, 1,0) = а1х0®а2х1Ф1х0ха4х0х1Ф
Фа5хОхО®а6х 1 х 0 ® а7 х 0 х 1 х0=1. Получим а2 = 1.
ШАГ 3. (х, у, z) = (0, 1, 1). ДО, 1,1) = 1 х 0 Ф 1 х 1 Ф 1 х 1 ф а4 х 0 х 1 ф
®а5х0х 1Фа6х 1 х 1 ® а7х 1 х 1 = 0. Получим а6 = 0.
ШАГ 4. (х, у, z) = (1, 0, 0). Д1, 0, 0) = cq х 1 ф 1 х 0 ® 1 х 0 Ф а4 х 1 х 0 ®
Фа5х1х0Фа6х0х0Фа7х1х0х0=1. Получимcq = 1.
ШАГ 5. (х, у, ^) = (1, 0, 1). Д1, 0, 1) = 1 х 1 ф 1 х 0 Ф 1 х 1 ф а4 х 1 х 0 Ф
Фа5х1х1®0х0х1Фа7х1х0х1 = 1. Получим а5 = 1.
ШАГ 6. (х, у, z) = (1,1, 0). Д1,1,0) = 1х1Ф1х1Ф1х0Фа4х1х1Ф
Ф1х1хОФ1х1хОФа7х1х1хО=1. Получим а4 = 1.
ШАГ 7. (x,y,z) = (l, 1, 1). Д1, 1, 1) = 1 х 1 Ф 1 х 1 Ф 1 х 1Ф 1 х 1 х 1 Ф
Ф1х1х1Ф1х1х1Фа7х1х1х1 = 1. Получим а7 = 1.
Подставляя поочередно найденные значения коэффициентов а0,
а3, а2, а6, а1; а5, а4, а7 в первоначальную формулу, получим искомое
представление функции в виде полинома Же галкина: /=хФуФг®хуФ
Фхг® xyz.
В методе неопределенных коэффициентов используется прямое
вычисление значений коэффициентов из уравнений. Для булевых
функций с малым числом единиц в векторе значений проще использо-
вать СДНФ либо СВНФ.
Метод построения полинома Жегалкина по СДНФ (СВНФ)
Для построения полинома для заданной булевой функции Дх") вы-
полняют следующие действия.
1. Вначале строят СДНФ (СВНФ) функцииДх"), в которых исполь-
зуется базисный набор {->, &, v} ({(—,, Й)-
2. Преобразуются внутренние функции построенной формы. С ис-
пользованием эквивалентных преобразований:
а) —, х = х ® 1;
б)х4'У=1ФхФуФху,
осуществляется переход к базису {0, 1, &, Ф} во всех внутренних функ-
циях формы.
108
Раздел II. Математическая логика
3. Заменяется внешняя функция формы. СДНФ и СВНФ представ-
ляют собой суммы конституент единицы, которые никогда не прини-
мают значение 1 на одинаковых наборах. Поэтому для соединения дан-
ных конституент вместо эквивалентного правила xvy = x®y®xy и
вышеприведенной для функции Вебба формулы б) можно использовать
неэквивалентные в общем случае правила замены:
v(Kl,...,Kp)=Kl®...®Kp,
-,l(Ki,...,Kp) = Kl®...®Kp.
4. После раскрытия скобок в произведениях, получаемых во внут-
ренних функциях, их общая сумма упрощается путем устранения из нее
парных слагаемых. При этом используется эквивалентное преобразо-
вание а) х ® х = 0.
5. Полученная в итоге сумма произведений над множеством пере-
менных Х= (х1; ...,х„) является искомым полиномом Жегалкина функ-
ции f(xn).
Пример 6. Построить полином Жегалкина для функции/= (01010010)
из примера 1 с использованием ее СДНФ.
Решение. Внутренние конъюнкции элементарных наборов и СДНФ
будут следующие:
К, = х у z, К2 = х у z, К2 = х у z.
СДНФ имеет вид
/=х у zvx У z vxy z = v(x у z, xyz,xyz).
Преобразуем внутренние конъюнкции, выполняя замену -1х=х® 1
и раскрывая скобки в произведениях:
Kl = (x®\)(y®\)z=(xy®x®y®\)z=xyz®xz®yz®Z,
К2 = (х® l)yz = xyz®yz,
K3=xy(z® V)=xyz®xy.
Заменяя внешнюю функцию логического сложения конституент
единицы сложением по модулю 2, получим сумму произведений сле-
дующего вида:
f=xyz®xz®yz®z®xyz®yz®xyz®xy.
Устраняя из нее парные слагаемые по правилу х © х = 0, получим в
итоге искомый полином Жегалкина:
f=z®xy®xz®xyz-
Замечание. Булевы функции могут быть разложены в полином
Жегалкина, в отличие от нормальных форм, единственным способом. Это
несложно доказать от противного.
Глава 1. Алгебра логики
109
Задачи
1. Привести пример задания одной и той же булевой функции при помощи
двух различных ДНФ.
2. Построить СДНФ и СВНФ следующих функций:
а) ((х->у) ->z) &х; б) (х|у) © z; в) (xy-»yz); г) (01101000);
д) (1001101000001001); е) (0001001001010001); ж) (0100101000101001).
3. Построить СКНФ и СШНФ следующих функций:
а) ((х vy) ->z); б) (хФу) ©z; в) (xy->yz); г) (11101001);
д) (0111101011101101); е) (1011001101110111); ж) (1100110001011111).
4. Доказать эквивалентность в общем случае правил:
a) ->х = х© 1;
б) х Ф у = 1 © х © у © ху;
в) х v у - х © у © ху;
г)х©х = 0.
5. Доказать справедливость для конституент Д,..., Кр СДНФ и СВНФ правил
замены:
а) v (^, •••> Кр) = ® ® Кр\
б)-.1(К1,...,Кр) = Д®...®Кр.
6. Построить методом неопределенных коэффициентов полиномы Жегал-
кина следующих функций: а)х|у© z; б) (х = у) -> (у -> х); в) (х v у) ® (х->у);
г) (х Фух) ->ху; д)х-> (y->z); е) (х|у)® (x->z); ж) (х = у) -> (x = z)-
7. Построить при помощи СДНФ полиномы Жегалкина функций задачи 6,
а)-ж).
8. Построить при помощи СВНФ полином Жегалкина функций задачи 6,
а)-ж).
9. Доказать единственность разложения булевых функций в полином Же-
галкина.
1.6. Минимизация нормальных форм булевых функций
При решении задач анализа и проектирования логических схем ос-
новными критериями их оптимальности, как правило, являются мини-
мумы общего числа функциональных или релейных элементов, входя-
щих в них, а также общего числа соединений в схеме. Данная миними-
зация упрощает последующую физическую реализацию схем, повыша-
ет их надежность и в то же время уменьшает габариты, материалоем-
кость, себестоимость.
Рассмотрим построение булевых функций, соответствующих логи-
ческих схемам с данными свойствами.
ОПРЕДЕЛЕНИЕ. Минимальной ДНФ (МДНФ) функции алгебры
логики J\xn) называется ее ДНФ, содержащая в своей формуле мини-
мально возможное число символов переменных.
110
Раздел II. Математическая логика
Аналогично вводятся понятия минимальных КНФ (МКНФ), ми-
нимальных ВНФ (МВНФ), минимальных ШНФ (МШНФ).
Каждую из совершенных нормальных форм произвольной булевой
функции Дх") (СДНФ, СКНФ, СВНФ, СШНФ) можно представить в
виде
/ = Г(ф(х1а11,...,х“1"),...,Ф(х1“Ч...,х^")),
где F — внешняя функция, ф(х“'1,..., х“'") — внутренняя функция, ко-
торая при подстановке переменных (х{,...,хп) является конституентой
нуля либо единицы на одном из наборов значений переменных х", т. е.
принимает на нем значение нуль (единица), а на всех других наборах —
противоположное значение. В СВНФ и СШНФ внешними являются
функции -4 = v и -1| = &.
ОПРЕДЕЛЕНИЕ. Наборы переменных (х™1,..., х“'"), входящие во
внутренние функции ф в совершенных нормальных формах, назовем
элементарными наборами.
Множество элементарных наборов в рассматриваемой совершен-
ной форме булевой функции будем обозначать через {N} = {Nlt..., Nk},
где к — число нулей (единиц) в векторе значений исходной функции,
равное числу внутренних функций ф в форме. Как отмечалось ранее, в
совершенных нормальных формах используются только пороговые
функции. СДНФ и СВНФ строятся по единичным значениям функ-
ции, СКНФ и СШНФ — по нулевым.
В процессе минимизации производится параллельное сокращение:
а) чисел переменных во внутренних функциях ф(х“'1,..., х“'я);
б) числа к самих внутренних функций ф(х“'1,..., х“'").
Для характеристики данных сокращений вводятся вспомогательные
понятия простых наборов, сокращенных и тупиковых нормальных форм.
ОПРЕДЕЛЕНИЕ. Набор переменных (х®'1,...,х“'"), входящий во
внутреннюю функцию ф единичной (нулевой) нормальной формы бу-
левой функции f(xn), называют ее простым набором, если при удале-
нии из (х®'1,..., х“'") любой переменной ха,к новая функция
ф(х“'1,...,х^-1), х“^+1>,...,х“'"). получает новые единичные (нулевые)
значения в векторе истинности, которых нет у исходной функции /\хп).
Множество простых наборов в нормальных формах будем обозна-
чать через {Р} = {Р1;..., Ps}, где s — общее число таких наборов.
Глава 1. Алгебра логики
111
Пример!. Рассмотрим функцию /(х, у, z) = (00101100). Необходи-
мо выяснить, какие из ее элементарных наборов СДНФ являются про-
стыми.
Решение. СДНФ имеет вид /=xyzvxyzvxyz.
Элементарные наборы будут следующими:
М = (%, У, Z), N2= (х> Ь *), N3 = (х, у, z).
Рассмотрим элементарный набор = (х, у, z) и попробуем удалить
из него поочередно каждую из его переменных:
а) удаление х приводит к тому, что новая сокращенная конъюнк-
ция у z будет иметь помимо единицы на наборе (0, 1, 0) дополнитель-
ное значение 1 на наборе (1, 1, 0). Но/(1, 1,0) = 0, поэтому переменную
х из набора удалять нельзя;
б) удаление у приводит к тому, что новая конъюнкция xz будет
иметь дополнительное значение 1 на наборе (0,0,0), но /(0, 0, 0) = 0,
поэтому переменную у также удалять нельзя;
в) аналогично удаление z приводит к тому, что новая конъюнкция
будет иметь значение 1 на наборе (0, 1, 1). Поскольку/(0, 1, 1) = 0, то
эту переменную нельзя удалять из набора.
Из а), б), в) следует, что элементарный набор = (х,у, г) является
простым набором. Аналогичная проверка элементарных наборов N2 =
= (х, у, z) и М = (х, у, z) показывает, что у них можно удалить третью
переменную. При этом конъюнкции, соответствующие новым наборам
jV^ = =(х, у), примут дополнительные единичные значения на тех
наборах ((1, 0, 1) и (1, 0, 0)), где функция равна 1. Отсюда следует, что
элементарные наборы N2 = (х, у, z) и N3 = (х, у, z) не являются просты-
ми наборами в СДНФ функции f.
Очевидно, что у любой минимальной нормальной формы внутрен-
ние функции должны содержать только простые наборы переменных.
Поскольку обратное условие не является достаточным, то вводится по-
нятие сокращенных нормальных форм.
ОПРЕДЕЛЕНИЕ. Сокращенной дизъюнктивной (шефферовой, конъюнк-
тивной, веббовой) нормальной формой СкДНФ (СкШНФ, СкКНФ, СкВНФ)
функции /\хп) называют соответствующую нормальную форму, у ко-
торой во всех внутренних функциях <р подставлены только простые на-
боры переменных.
Смысл сокращенных форм в том, что у них уже нельзя удалить пе-
ременные во внутренних функциях без нарушения правильности пред-
ставления исходной функции.
112 Раздел II. Математическая логика
ОПРЕДЕЛЕНИЕ. Тупиковой дизъюнктивной (шефферовой, конъюнк-
тивной, веббовой) нормальной формой ТДНФ (ТШНФ, ТКНФ, ТВНФ)
функции f(xn) называют соответствующую нормальную форму, у ко-
торой нельзя удалить ни одну из внутренних функций ср, входящих во
внешнюю функцию F.
Т. к. внутренние функции <р являются аргументами внешней функ-
ции F, то понятие тупиковой нормальной формы имеет смысл, сход-
ный с сокращенной, с той лишь разницей, что минимальным является
набор аргументов внешней функции, а не внутренних.
Очевидно, минимальная форма любой функции является одновре-
менно и тупиковой. На этом свойстве основаны алгоритмы минимиза-
ции нормальных форм. Суть их заключается в том, что вначале строит-
ся множество всех тупиковых нормальных форм функции {7}, а затем из
них выбирается минимальная форма (зачастую их бывает несколько).
1.6.1. Метод покрытий
Метод включает в себя последовательное решение следующих задач.
I. Определение множества всех элементарных наборов функции
{N} = {7V,,..., Nk} и совершенной нормальной формы.
II. Построение сокращенной нормальной формы и определение
множества простых наборов {Р} = {Р1г..., Ps}, входящих в ее внутренние
функции.
III. Формирование матрицы А покрытий множества элементарных
наборов {N} = {Ni,..., Nk} простыми наборами {Р} = {Р15..., PJ.
IV. Построение решеточного выражения В и упрощение его, по-
строение множества всех тупиковых нормальных форм {7} и выбор из
них минимальной формы (их может быть несколько).
Решение задачи I изложено в предыдущем пункте. Рассмотрим по-
следовательно решение задач II—IV. Вначале задачи II — построение
сокращенной нормальной формы и определение множества простых
наборов {7’} = {7’|,..., Ps}.
Обобщенный метод Куайна
Алгоритм основан на применении следующих законов алгебры ло-
гики, справедливых для пороговых функций, а следовательно, и для
нормальных форм рассматриваемого вида. Пусть имеется представле-
ние булевой функции f в виде некоторой нормальной формы /=
= 7г(ф(х“11, ...,х“1и), ..., qXx"*1, ...,х“ь)). Множества переменных, вхо-
дящих во внутренние функции, обозначим через2^,..., Хк.
Глава 1. Алгебра логики
113
Допустим, у внутренних функций формы есть два набора перемен-
ных Хр = (х?р\ ...,х“рп) и Xq = (XyqX,...,x^qn), соседних по переменной
с номером л У них = <х^г_]), <хрг = —><х^г, <хр(г+\) =
— ^5(г+1)> •••> рп = &дн'
Для данной нормальной формы справедливы следующие обобщен-
ные операции склеивания:
а) полное склеивание:
/ = Лф(*1),.... ф(ХДф(^), ..., ф(ад = Лф(*1),.... ф(^ \хГ). •••>
ф(^9_1),ф(^+1),-,Ф(^));
б) неполное склеивание (дополнение):
/ = Лф(^),ф(^),ф(Х?),ф(Х*)) =
= Г(фИ1), • • ,ф(^)> ф(*Д ...,ф(ХА), ф(^ \хГ)).
В операции а) удаляется функция ф(А^), а также переменная х^рг из
у(Хр). В операции б) к существующему набору внутренних функций
<pC¥|),у(Хк) добавляется новая функция ^(Хр\х^рг), в которой от-
сутствует переменная с номером г.
Если набор с номером р отличается от набора с номером q отсутст-
вием одной переменной xfpr(Xp = Xq\xfpr), то для любой формы спра-
ведлива операция
в) поглощения (удаления внутренней функции с расширенным на-
бором переменных):
f = Лф(^1), ф(^),Ф(Хв),ф№)) = Лф(^),....
ф(^),ф(^ч), ф(хв+1),..., ф(ад.
Если наборы переменных во внутренних функциях Хр и Xq одинако-
вы (полностью совпадают), то справедлива операция
г) удаления дубликатов:
/ = Лф(^), ф(*Д ф(*Д ф(^))=Лф(*1),
ф(^), ф(^9-1), ф(Л?+1)> "> ф(^*))-
Справедливость введенных операций, которые являются правилами
преобразования нормальных форм, следует из свойств пороговых
функций.
Обобщенный алгоритм Куайна включает следующие операции:
1) проведение в совершенной нормальной форме всех возможных
операций неполного склеивания;
114
Раздел II. Математическая логика
2) в полученной дополненной нормальной форме выполнение всех
возможных операций полного склеивания;
3) выполнение всех возможных операций поглощения и удаления
дубликатов.
Полученная формула анализируется и, если возможно, к ней снова
применяют операции 1)—3) и т. д. В результате получается нормальная
форма, состоящая из простых наборов, т. е. сокращенная нормальная
форма рассмотренной функции.
Пример 2. Рассмотрим функцию из примера 1 и построим для нее
СкДНФ.
Решение. СДНФ функции: f = xyzvxyzvxyz. Элементарные
наборы: Aq = (х, у, z), N2=(x, у, z), N2=(x, у, z).
1. Производим в СДНФ все операции неполного склеивания. Для
этого рассматриваем в ней все возможные пары элементарных наборов
и к тем из них, которые являются соседними (отличающимися ровно
по одной переменной), применяем операцию неполного склеивания:
a) и Л(> не соседние, поскольку у них отличие по двум перемен-
ным (х и у);
б) и N3 не соседние, отличие по всем трем переменным;
в) N2 и 7V3 — соседние, т. к. отличаются ровно по одной перемен-
ной — z
Применяем к этой паре операцию неполного склеивания (допол-
нения):
f = xyzvxyzvxyzvxy.
2. Применяем операцию поглощения. Вначале — Kxyz nxy:f=
= х yzvxy zvxy, затем — к х у г и х у: f = х yzv ху.
Поскольку одинаковых наборов во внутренних конъюнкциях нет,
то правило удаления дубликатов не используется.
Последняя полученная формула и будет искомой СкДНФ функции
/= (00101100). Ее простыми наборами являются PY=(xyz), Р2=(ху).
III. Формирование матрицы А покрытий множества простых наборов
{/*} = {/*!,..., Ps} элементарными наборами {TV} = {N\,..., Nk}.
Допустим, на предыдущих шагах построены: множество простых
наборов {?} = {Р15..., Ps}, входящих в сокращенную форму, и множество
элементарных наборов {TV} = {N}, ..., Nk}, входящих в совершенную
форму. Строим матрицу А размером s х к покрытий простых наборов {?}
элементарными наборами {N} по следующему правилу. Строки А соот-
Глава 1. Алгебра логики
115
ветствуют простым наборам Pit столбцы — элементарным наборам Nj.
Элементы atJ задаем следующим образом: а^= 1, если набор Д входит в
Nj, если не входит — то а^- 0. В итоге получаем матрицу Л, содержащую
единичные и нулевые элементы:
v2 Nk
Pi «11 «12 aik
Ps &s2 &sk
IV. Построение решеточного выражения В и упрощение его. Построе-
ние множества {Т} всех тупиковых нормальных форм функции.
Для каждого столбца j матрицы покрытий А, который соответствует
элементарному набору N-, выписываем номера строк 1 = 1^,..., ijnj, у ко-
торых ау = 1. Строим по ним дизъюнкцию = (// v... v i ). Она пока-
зывает все возможные варианты вхождения простых наборов в элемен-
тарный Nj. Решеточное выражение записывают в виде конъюнкции
всех Dj:
B = &Dj.
В решеточном выражении В раскрывают все скобки, представив его
в виде дизъюнкции элементарных конъюнкций е,, е2, ..., es\
B = e{v e2v ...v es.
В полученной дизъюнкции В производим все операции удале-
ния дублирующих членов и все операции поглощения. В том случае,
когда операции применялись, получим новый упрощенный вид дизъ-
юнкции В:
В' =е\ v ... v е'р.
Каждая элементарная конъюнкция е'г, входящая в В', описывает ту-
пиковую нормальную форму функции f следующим образом: набор пе-
ременных е'г задает номера простых наборов, входящих в нее.
После построения множества {Г} всех тупиковых форм из них вы-
бирается самая короткая (с наименьшим числом переменных), которая
и будет искомой минимальной нормальной формой.
ПримерЗ. Построить МДНФ функции, заданной вектором истин-
ности: /=(01100111).
Решение. Переменные обозначим х, у, Z-
116
Раздел II. Математическая логика
1. Множество {N} элементарных наборов, на которых функция рав-
на единице, имеет вид: = (х, у, z); N2=(x,y,z); N3=(x,y,z); N4 =
= (x, У> z); N5 = (x, y, z). При умножении этих наборов получаем кон-
ституенты единиц функции.
СДНФ имеет вид f = xyzvxyzvxyzvxyzvxyz.
2. СкДНФ определяем по алгоритму Куайна:
а) неполное склеивание в СДНФ:
f = ху zvx yzvxy zvx yzvx у zvy Zv yzvxzvx у;
б) полное склеивание:
f = yzvyzvxzvxy.
Полученная форма является искомой СкДНФ. Множество простых
наборов {Р} имеет вид
Л = (у, Z),P2 = (у, Z), Р3 = (х, z), Р4 = (х, у).
3. Строим матрицу покрытий А:
М ДГ2 *4 ^5
Р1 1 0 1 0 0
Р2 0 1 0 1 0
Л 0 0 1 0 1
Л 0 0 0 1 1
4. Строим решеточное выражение. Поскольку элементарный набор
Nr покрывается простым набором Pb N2-Р2, N3-(Pi и Р3), N4-(P2 и
Р4), N5 - (Р3 и Р4), то выражение принимает следующий вид:
В = 1 & 2 & (1 v 3) & (2 v 4) & (3 v 4).
5. Поочередно раскрываем скобки в конъюнкции В, устраняя по-
вторные сомножители в слагаемых и применяя правило поглощения:
В= (121 v 123) & (2 v 4) & (3 v 4) = (12 v 123) & (2 v 4) & (3 v 4) = 12 &
& (2 v 4) & (3 v 4) = (122 v 124) & (3 v 4) = 12 & (3 v 4) = 123 v 124.
Таким образом, функция имеет две ТДНФ, в которые входят про-
стые наборы (Рь Р2, Р3) и (Рь Р2, Р4):
Т\=у zvyzvxz, Т2=у zv yzvx у.
Т. к. в обеих формах по 6 символов переменных, то они обе являют-
ся искомыми МДНФ рассмотренной функции.
Пример 4. Построить МВНФ функции из примера 3 с использова-
нием базисных наборов {->, >L} и {>!<}.
Глава 1. Алгебра логики
117
Решение.
1. Элементарные наборы, на которых внутренние функции СВНФ
образуют конституенты единицы, являются инвертированными по от-
ношению к наборам из ДНФ и имеют вид
Ny = (x,y,z\, N2 = (x,y,z); N3 = (x,y,z); N4=(x,y,z)-, N5=(x,y,z).
СВНФ для базисного набора {-,, Ф} имеет вид
/= -IФ (Ф (х,у, z); Ф (х, у,г); Ф(х,у, z); Ф(х, у,z); Ф(х,у,z)).
2. СкВНФ определяем по алгоритму Куайна:
а) неполное склеивание в СВНФ:
/= Ф (Ф (х, у, z); Ф (х, у, z); Ф (х, у, z); Ф (х, у, z); Ф (х, у, z); Ф (у, z);
(у,г);Ф(х,т);Ф(х,у);
б) полное склеивание:
/= - Ф (Ф (у, Т); Ф (у, z); Ф (х, z); Ф (х, у)).
Полученная форма является искомой СкВНФ. Множество простых
наборов {Р} имеет вид
Pi = (y,z), P2=(y,z), P3=(x,z), Р4 = (х,у).
3. Построение матрицы покрытий, решеточного выражения и его
преобразования выполняются аналогично примеру 3.
Полученные в итоге ТВНФ в базисе {->, Ф} имеют вид
= -п Ф (Ф (у, z); Ф (у, z); Ф (у, z),
Т2 = -, Ф (Ф(у, z); Ф(у, г);Ф(х,у).
Обе формы будут минимальными.
Переход к однофункциональном набору {Ф} осуществляем с ис-
пользованием правила ->Л = Ф(Л, 0). Тождественный нуль формально
является функцией, однако на практике его получают, заземляя соот-
ветствующий вход элемента {Ф}. После замены получим
Ту = Ф (Ф (Ф (у, Ф (z, 0)); Ф (Ф (у, 0), z); Ф (Ф (х, 0), Ф (z, 0))), 0),
Т2 = Ф (Ф (Ф (у, Ф (z, 0)); Ф (Ф (у, 0), z); Ф (Ф (х, 0), Ф (у, 0))), 0).
1.6.2. Метод минимизирующих карт
Для функций с небольшим числом переменных можно использо-
вать метод минимизирующих карт. Рассмотрим метод на примере
ДНФ. Допустим, необходимо построить МДНФ «-местной булевой
функции/(х").
1. Вначале строится полная карта всех возможных конъюнкций из
переменных хп и их отрицаний. В первых п столбцах строят все воз-
11°Раздел II. Математическая логика
можные одиночные сочетания из (х15 ...,хи) и их отрицаний. В следую-
щих п(п - 1)/2 строят все различные (с точностью до перестановок) по-
парные произведения переменных, стоящих в первых п столбцах. Далее
строят все различные произведения по 3,4,..., и множителей. Ниже
показана карта для 3-местных функций.
1 2 3 4 5 6 7
0 -.X -<У -z — x —i у -1X-.Z -y-z -,X-.y-.Z
1 -|Х -<y г — x —i у -,xz — yz -x-,yz
2 -|Х У —iZ -xy -1X-.Z y-z -xy-,z
3 -1 X У Z -,xy -xz yz -xyz
4 X ~>у ->z x-y X-,Z ^y^z x —i у —i z
5 X -<У ' z x —у XZ — yz X^yz
6 X У -yZ xy X—i Z y-z xy^z
7 X У z xy XZ yz. xyz
В самом крайнем правом столбце стоят конъюнкции вида
Х=х!а1& ... &х“",
где х“' либо х“' -Xj. Полная карта имеет одинаковый вид для всех
«-местных булевых функций.
2. Рассматриваем конкретную минимизируемую «-местную булеву
функцию/(х") и строим для нее множество элементарных наборов {N},
входящих во внутренние конъюнкции СДНФ. Например, у функции
/=(01100111) из примера 3 множество {N} будет следующим: 7^ =
= (х,у, z); N2 = (x,y,z); N3=(x,y,z\, N4 = (x,y,zy, N5=(x,y,z).
В полной карте вычеркиваем те строки, у которых в последнем
столбце стоят наборы переменных, не входящие в СДНФ функции.
В рассматриваемом примере — это строки 0, 3, 4. Их номера можно бы-
ло бы определить по вектору истинности /, поскольку на этих местах
стоят нули.
3. Все конъюнкции, попавшие в вычеркнутые строки, вычеркиваем
и из оставшихся строк. В примере таблица примет следующий вид:
1 2 3 4 5 6 7
0
1 -yz -x-yz
2 y-z -xy-,z
Глава 1. Алгебра логики
119
1 2 3 4 5 6 1
3
4
5 XZ У Z X^yz
6 ху y^Z xy^z
7 ху XZ xyz
В каждой строке оставляем только те конъюнкции, которые имеют
минимальное число сомножителей. Более длинные вычеркиваем. В при-
мере необходимо вычеркнуть все конъюнкции в столбце 7.
4. Множество тупиковых ДНФ {7} строим следующим образом:
рассматриваем все возможные логические суммы, состоящие из конъ-
юнкций, взятых по одной из каждой строки, устраняя возможное дуб-
лирование. В примере {7} имеет вид
Т} =yzvyz vxz, Т2= у zvyz vxy.
5. Из множества тупиковых ДНФ {7} выбираем формы с мини-
мальным количеством переменных, которые и будут искомыми мини-
мальными формами.
Обе тупиковые формы являются также и минимальными.
Задачи
1. Доказать справедливость следующих правил преобразования нормальных
форм:
а) полного склеивания;
б) неполного склеивания;
в) поглощения;
г) удаления дубликатов.
2. Доказать, что к простым элементарным наборам не применимы правила
склеивания.
3. Построить СкДНФ, СкВНФ (в базисах {—>, Ф} и {4}) для функций:
а) (ху) | (zvii); б) (xy->zu) ->z; в) (х-»и) (Zvy); г) (01101110);
д) (0110001010001001); е) (0011100101011010); ж) (1001011011000101).
4. Построить МДНФ, МВНФ (в базисах {-,, 4} и {Ф}) следующих функций:
а) (х->у) ->у z: б) (х->у z) -> и; в) (ху | и) (xy->zu); г) (01010011);
д) (1000001010011000); е) (0101100101101000); ж) (1100010001100011).
5. Построить СкКНФ, СкШНФ (в базисах {-,, |} и {|}) для функций:
а) (ху) I (zvu); б) (x->yz) в) (ху| и) ® (xy->zu); г) (11010110);
д) (1110101011101001); е) (0111101101011110); ж) (1101011011010101).
6. Построить МКНФ, МШНФ (в базисах |) и {|}) для функций:
а) (х ->у) ->у z,', б) (х ->у z)', в) (1110011011001011); г) (х-> и) v^y;
д)ху->ги;е) (01110110); ж) (0111100101111010); з) (1011101011011001).
120
Раздел II. Математическая логика
7. Построить по методу минимизирующих карт МДНФ следующих функций:
а)(ху->ги) ->z; б) (х->и) (zvy); в) (01101011); г) (0010111010001010).
8. Рассмотреть метод минимизирующих карт для МКНФ и построить ми-
нимальные формы для функций:
a)xy->z«; б) (01100101); в) (0110110011011010).
1.7. Частично определенные функции. Их минимальное
доопределение
При конструировании логических устройств зачастую встречаются
ситуации, когда у реализуемой ими булевой функции f(xn) на некото-
рой части наборов переменных х " значения функции не заданы. Обыч-
но так бывает в тех случаях, когда состояния системы, описываемые
данными наборами переменных, физически не достижимы либо сраба-
тывание управляющей системы не влияет на производственный про-
цесс. Допустим, необходимо реализовать функцию трех переменных
/= (O1O77OO1), у которой в векторе истинности на местах с номерами 3 и
4 (соответствующих наборам переменных (011) и (100)) значения не
заданы и могут быть выбраны любыми (0 или 1).
ОПРЕДЕЛЕНИЕ. Если значения функции f(xn) не определены на
некотором числе р наборов ее переменных х ", то ее называют частично
определенной, сокращенно — ЧОФ.
Очевидно, доопределить (т. е. присвоить недостающие значения
истинности функции/нар неопределенных наборах) можно 2Р спосо-
бами. В рассмотренном выше примерер = 2; 2Р = 4. Наборам с номерами
3 и 4 могут быть присвоены значения (00), (01), (10), (11).
ОПРЕДЕЛЕНИЕ. Функция g называется доопределением частично
определенной функции/, если она совпадает с ней на тех наборах, где/
определена.
Например, функция g = (01000001) является одним из 4 возможных
доопределений частично определенной функции/= (010??001).
Построение доопределений возможно различными способами. Од-
нако для практики представляют наибольший интерес те из них, у ко-
торых реализующие их физические устройства будут иметь наиболее
простую структуру. Нормальные формы таких доопределений содержат
минимальное число символов переменных.
ОПРЕДЕЛЕНИЕ. Пусть/(х") частично определенная функция. Ее
единичным f\(xn) (нулевым /0(х")) доопределением называют такое до-
Глава 1. Алгебра логики
121
определение, где на месте неизвестных значений/стоят только едини-
цы (нули).
Допустим, для ЧОФ необходимо построить нормальную форму за-
данного типа.
ОПРЕДЕЛЕНИЕ. Минимальным доопределением частично определен-
ной функции f называют ее доопределение g, имеющее минимальное
число символов переменных, входящих в соответствующую нормаль-
ную форму.
Для ДНФ справедлива
Теорема 2.1.1 о минимальном допределении частично определен-
ной функции. Минимальная ДНФ ЧОФ f(xn) есть самая короткая дизъ-
юнкция простых наборов единичного доопределения f\(xn) которые в сово-
купности покрываются всеми единицами нулевого доопределения /Дх").
Смысл утверждения теоремы заключается в следующем:
1) наиболее короткие простые наборы {Р}1 имеет функция /Дх").
(т. к. у нее в векторе истинности максимально возможное число единиц);
2) минимально возможное число единиц в векторе значений (кото-
рые характеризуются элементарными наборами {jV}0) имеет функция
/Дх"), поэтому
3) минимальную ДНФ следует выбирать из всех тупиковых ДНФ,
у которых простые наборы {Р}1 покрываются элементарными набора-
ми {М°-
Из теоремы вытекает следующий алгоритм построения минималь-
ного дополнения частично определенной функции f(xn).
1. Определяем СДНФ, СкДНФ и простые наборы {Р}1 = {Pj,..., Рт}1
единичного доопределения функции /Дх").
2. Строим элементарные наборы {jV}° = {М> •••> нулевого доопре-
деления функции /0(х").
3. Формируем матрицу покрытий А простых наборов {Р}1 элемен-
тарными наборами {jV}°.
4. Строим по единичным элементам столбцов j = 1,..., к матрицы А
дизьюнкции Dj и решеточное выражение В = Р1&... & Dk.
5. Раскрывая в В все скобки и производя сокращения, находим для
заданной ЧОФ все ТДНФ аналогично обычным функциям.
6. Из множества всех ТДНФ выбираем МДНФ, которая будет равна
искомому минимальному доопределению g. Неизвестные значения ис-
тинности исходной ЧОФ определяем непосредственной подстановкой
122 Раздел II. Математическая логика
соответствующих наборов переменных в полученную МДНФ либо по
ее полной таблице истинности.
Пример. Найти минимальное доопределение частично определен-
ной функции/= (1? 10? 1??).
Решение. Переменные функции обозначим через х, у, z- Применим
метод покрытий.
1. Вначале строим СДНФ единичного доопределения /j = (11101111):
fi=xyzvxyz\'xyzvxyzvxyzvxyzvxyz.
Применяя правила алгоритма Куайна, получаем СкДНФ:
fl=xyvxzvyzvyzvyzvxyvxzvxzvxy = xvyvz.
Простые наборы единичного доопределения Д следующие: = (х),
Р2=(У), P3=(Z), т = 3.
2. Элементарные наборы функции нулевого доопределения
/0 = (10100100):
Ni =(х,y,z), N2=(x,y,z), N3=(x,y,z), k = 3.
3. Матрица покрытий простых наборов Р\, Р2, Р3 функции эле-
ментарными наборами N{, N2, N3 функции /0 имеет следующий вид:
стых наборов в элементарные: В = (2 v 3) & 3 & (1 v 2).
5. Раскрываем скобки: В = (23 v 33) & (1 v 2) = 3 & (1 v 2) = 13 v 23.
6. В итоге получим две тупиковых ДНФ. В первую входят простые
наборы Р, и Р3, во вторую — Р2 и Р3:
/1 =XVZ, f2=yVZ.
Поскольку первая функция имеет только одно отрицание, примем
ее в качестве искомого доопределения g. Столбец истинности ее имеет
вид g= (10101111). Таким образом, в минимальном доопределении на
наборах с номерами 1, 4, 6, 7 должны стоять соответственно значения
0, 1, 1, 1.
Алгоритмы, аналогичные рассмотренному для ДНФ, могут быть
применены и для других форм.
Глава 1. Алгебра логики
123
Задачи
1. Найти минимальное доопределение частично определенных функций:
а) (??1011?0); б) (10??011?); в) (?1?011?0); г) (?00??11?);
д) (011??1??01??0? 1?); е) (?1? 110? 1?001 ? 10?); ж) (?0011 ?0? 1 ?0? 1? 11).
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ. НОРМАЛЬНЫЕ ФОРМЫ.
ПОЛИНОМ ЖЕГАЛКИНА»
В. 1.
1. Ввести булевские высказывания-переменные и составить при помощи
элементарных булевых функций формулу составного высказывания: «четырех-
угольник является квадратом тогда и только тогда, когда у него равны между со-
бой все стороны и равны между собой все углы».
2. Построить методом неопределенных коэффициентов полином Жегалки-
на функции/= (10101011).
В. 2.
1. Имеются некоторые простые высказывания х, у, Z- Известно, что
(х -»у) = И, (х vy) = И, (г = х) = Л. Найти истинность составного высказывания
(x->y)->(y/z).
2. Найти МДНФ и МВНФ (в базисах {->, Ф) и {Ф)) функции/=у & (x/z).
В. 3.
1. Найти существенные и фиктивные переменные булевой функции
/=х&у&г© Ф(х, у, z)-
2. Построить при помощи СДНФ полином Жегалкина для функции
/=(10010001).
В. 4.
1. Ввести простые булевские высказывания-переменные и составить фор-
мулу высказывания: «для того чтобы четырехугольник был ромбом, необходимо
и достаточно, чтобы дайны его сторон были равны либо он был параллело-
граммом и его диагонали пересекались под прямым углом».
2. Построить для булевой функции/= (0001001001010001) СДНФ и СВНФ в
базисе {—1, Ф}.
В. 5.
1. Проверить (доказать или опровергнуть), будет ли формула f = xyz(x vy)
противоречием.
2. Построить СкШНФ функции/=(1101011010111101).
В. 6.
1. Имеются некоторые простые высказываниях, у, Z- Известно, что (х =у) =
= Л, (хму)=Л, £-»х = Л. Найти истинность составного высказывания (х|у) -»
(y = z)-
2. Построить СкДНФ функции/= (0001000100110011).
124
Раздел II. Математическая логика
В. 7.
1. Проверить справедливость правила: (х = у) s(x->y) &(у vx).
2. Построить СкКНФ и СкШНФ (в базисах {—•, |} и {|}) функции
/= (0111011110111011).
В. 8.
1. Доказать справедливость дистрибутивного закона алгебры логики
xvy &z=(x vy) & (х vz).
2. Построить при помощи СДНФ полином Жегалкина для функции
/=у&(х|г).
В. 9.
1. Ввести простые булевские высказывания-переменные и составить фор-
мулу высказывания: «для того чтобы треугольник с длинами сторон а, Ь, с был
прямоугольным, необходимо и достаточно, чтобы квадрат длины какой-либо из
его сторон был равен сумме квадратов длин двух остальных сторон».
2. Построить СкДНФ функции /= (0001000110101000).
В. 10.
1. Имеются простые высказывания х, у, z, и. Известно, что высказывания
xvy и г®у истинны, а высказывание xvy vz — ложно. Определить истин-
ность высказывания х у = z и.
2. Найти МКНФ и МШНФ (в базисах {->, |} и {|}) функции/= х © у z.
В. 11.
1. Найти существенные и фиктивные переменные булевой функции
/= (0100010010111011).
2. Построить СкКНФ и СкШНФ (в базисах {-., 4} и {Ф}) функции
/= (01100111).
В. 12.
1. Система блокировки некоторого устройства принимает сигналы от дат-
чиков А, В, С. Блокировка должна срабатывать при одновременном получении
сигналов от Я и В либо только одного сигнала от датчика С. Ввести необходи-
мые обозначения, булевские высказывания-переменные и построить таблицу
истинности, описывающую функционирование данной системы.
2. Построить минимальное доопределение частично определенной функ-
ции/» (01??01?1).
В. 13.
1. Имеются простые высказывания х, у, z, и. Известно, что высказывания
хФу и | (у, Z, и) являются истинными. Определить истинность высказывания
x&y&z&u.
2. Найти МКНФ и МШНФ (вбазисах {-., |} и {|}) функцииf=x^»yz-
В. 14.
1. Найти существенные и фиктивные переменные булевой функции
/=х&у © 4 (х,у,z) © 4 (х,у, z).
2. Построить СкДНФ и СкВНФ (в базисах Н, 4} и {Ф}) функции
/= (0110011101101010).
Глава 1. Алгебра логики
125
В. 15.
1. Будут ли формулами записи х v у у (у & г), Ф (х, у, z), х & у vy.
В правильных записях указать порядок выполнения операций.
2. Построить минимальное доопределение частично определенной функ-
ции/^ (0??011?1).
В. 16.
1. Имеются некоторые простые высказывания х, у, z. Известно, что
(хФу) = И, (xvy) = H, (г=х) = Л.
Найти истинность составного высказывания (х —>у) —> (у/г).
2. Построить при помощи СДНФ полином Жегалкина для функции
/=y&(xvx z).
В. 17.
1. Система управления имеет три входных и один выходной канал. Выход-
ной сигнал в системе должен вырабатываться при отсутствии сигналов на входе
либо поступлении ровно двух сигналов. Ввести необходимые обозначения, бу-
левские высказывания-переменные и построить таблицу истинности, описы-
вающую функционирование данной системы.
2. Построить минимальное доопределение частично определенной функ-
ции/^ (10?1?0?1).
В. 18.
1. Доказать с помощью метода математической индукции обобщенный дист-
рибутивный закон алгебры логики, справедливый для любого числа перемен-
ных п > 2:
xvy]&y2&...&y„=(xvy1)&(xvy2)&... &(xvy„).
2. Построить СШНФ и СкШНФ (в базисах {—, |} и {|}) функции
/=|(Ьz)&(xvyvz).
В. 19.
1. Доказать с помощью метода математической индукции обобщенное пра-
вило де Моргана, справедливое для любого числа переменных п > 2:
-! (X, &Х2 & ... &Х„) = X, vx2 V... V х„.
2. Найти МКНФи МШНФ (в базисах {—., |} и {|}) функции/=хФу г.
В. 20.
1. Ввести булевские высказывания-переменные и составить при помощи
элементарных булевых функций формулу составного высказывания: «если че-
тырехугольник является параллелограммом, то у него равны противолежащие
углы и равны противолежащие стороны».
2. Построить методом неопределенных коэффициентов полином Жегалки-
на функции/= (01010010).
В. 21.
1. Проверить, будет ли тавтологией формулах&y&z-> (хФуФг).
2. Построить при помощи СДНФ полином Жегалкина для функции
/= (01001100).
126
Раздел II. Математическая логика
В. 22.
1. Имеются некоторые простые высказываниях,)/,г, и. Известно, что
х vy = JI, х—>z = JI, х|н = Л.
Найти истинность составного высказывания (х = и) -> (у = z)
2. Найти МДНФ и МВНФ (в базисах {->, Ф) и {Ф}) функции/=х©уг.
В. 23.
1. Найти существенные и фиктивные переменные функции
/= (х |у) (хv(у-»z)) (xvy vг).
2. Построить минимальное доопределение частично определенной функ-
ции/=(10?1?0?1).
В. 24.
1. Ввести булевские высказывания-переменные и составить при помощи
элементарных булевых функций формулу составного высказывания: «если за-
дача решена неправильно, то ответ неверный, следовательно, из правильного
ответа следует правильность решения задачи».
2. Построить методом неопределенных коэффициентов полином Жегалки-
на функции/= (х —>у).
В. 25.
1. Доказать с помощью метода математической индукции обобщенное пра-
вило де Моргана, справедливое для любого числа переменных п > 2:
-л (Х, VXj V ... VX(|) =Xj &х2 &... &х„.
2. Найти МДНФ и МВНФ (в базисах {-, Ф} и {4-}) функции/=х©у?.
В. 26.
1. Определить существенные и фиктивные переменные функции
/= (00110011).
2. Построить СКНФ и СШНФ функции:/= (х Фу) © z-
В. 27.
1. Система управления главным двигателем аппарата включает четыре ава-
рийных датчика — х, у, z, и. Автоматическое отключение главного двигателя
происходит при срабатывании не менее трех из них. Ввести булевские выска-
зывания-переменные и построить таблицу истинности для управляющей
функции.
2. Найти МДНФ и МВНФ (в базисах {-,, Ф} и {Ф}) функции/= х © у z.
В. 28.
1. Найти существенные и фиктивные переменные в функции
f = xzvy zv х у z.
2. Построить СДНФ и СВНФ функции/= (01101000).
1.8. Анализ и синтез релейных управляющих схем
Релейные схемы (PC) являются одними из наиболее простых и рас-
пространенных в технике устройств управления. Отличительно осо-
бенностью PC является дискретный логический принцип срабатыва-
Глава 1. Алгебра логики
П1
ния их элементов, реагирующих на внешние воздействия по принципу
«включен — выключен». Это позволяет при анализе существующих
схем и проектировании новых использовать методы алгебры логики.
1.8.1. Релейные схемы. Связь их физической структуры и функций
проводимости с алгеброй логики
а\~
ап
РУ
/1
Рис. 1.7
Со структурной точки зрения в PC можно выделить входы а =(аъ
задающие внешние воздействия на схему, выходы f = (f|, ...,/m),
а также само релейное устройство (РУ) (рис. 1.7).
Задачей РУ является соединение вхо-
дов а с выходами f в зависимости от
внешних воздействий, а также логиче-
ской структуры самого РУ.
РУ состоят из дискретно срабаты-
вающих релейных элементов (РЭ), реаги-
рующих на внешние воздействия, и соединений между ними, а также с
входами и выходами PC. Будем рассматривать PC наиболее простого
типа с одним входом и одним выходом. Обычно их назначение заключа-
ется в подаче питания на исполнительный электродвигатель.
Релейные элементы по принципу действия делят на контактные и
бесконтактные. В первых набор контактов замыкается либо размыкает-
ся при механическом нажатии на некоторый переключатель. В бескон-
тактных РЭ положение контактов изменяется при наличии электриче-
ских, магнитных, тепловых и других воздействий заданного уровня.
Поскольку с точки зрения анализа и синтеза PC конструктивное
исполнение РЭ несущественно, будем обозначать последние в виде ме-
ханических реле, содержащих две группы контактов — нормально
замкнутых и нормально разомкнутых.
На рис. 1.8 схематически показан РЭ, обозна-
ченный Xи имеющий оба вида контактов: х} — нор-
мально разомкнутый (в свободном состоянии про-
водимость отсутствует, при нажатии на кнопку —
появляется) и х2 — нормально замкнутый (в свобод-
ном состоянии проводимость есть, в нажатом — от-
сутствует). С точки зрения булевой алгебры контак-
Рис. 1.8
ту х1 соответствует тождественная функция X, поскольку в нем прово-
димость совпадает с наличием внешнего воздействия. Контакт х2 реа-
лизует функцию отрицания х, т. к. при отсутствии воздействия прово-
димость у него есть, а при нажатии на переключатель цепь разрывается.
128
Раздел II. Математическая логика
Функционирование РУ полностью определяется состоянием РЭ,
входящих в них, и способом их соединения между собой. Пусть PC со-
держит п РЭ. Обозначим ихХ,, ...,Хп. Нормально разомкнутым контак-
там каждого реле А}(1 </<л) ставим в соответствие переменную х,-,
нормально замкнутым контактам Xt — отрицание xt. Различные кон-
такты одного реле, принадлежащие к одной группе (замкнутые или
разомкнутые), входят в разные цепи и если по одним проводимость
есть, то по другим ее может не быть. Обозначим проводимость в общей
цепи от входа к выходу PC через f Если общая цепь замкнута, то/= 1,
иначе/= 0.
При таком способе кодирования текущего состояния контактов РЭ
и общей проводимости в PC f последняя является булевой функцией
переменных xY,...,xn и их отрицаний. Поскольку PC в большинстве
своем представляют электрические схемы, то данное отображение
/(хь ..., х„) обычно называют функцией проводимости.
Таким образом, функциональные свойства PC с одним входом и
одним выходом однозначно описываются ее булевой функцией прово-
димости Дх1; ...,х„).
Рассмотрим, каким образом характер соединений между контакта-
ми РЭ определяет функцию проводимости. На рис. 1.9 показано после-
довательное соединение двух контактов X и Y. Каждый из них может
быть как замкнутым, так и разомкнутым. Схема реализует логическую
операцию умножения &, т. к. функция проводимости равна единице
тогда и только тогда, когда одновременно есть проводимость в обоих
контактах Хи Y.
Рис. 1.9
Рис. 1.10
В случае параллельного соединения (рис. 1.10) контактов схема реа-
лизует логическое сложение «ИЛИ», поскольку для выполнения условия
f= 1 достаточно выполнения хотя бы одного из условий Х= 1 либо Y= 1.
Физическая структура PC, в которой используются только парал-
лельные и последовательные соединения, изоморфна некоторой фор-
муле алгебры логики, отражающей наличие контактов РЭ в схеме, вид
Глава 1. Алгебра логики
129
и порядок их соединения. Изоморфный характер отображения означа-
ет, что каждому нормально разомкнутому или замкнутому контакту PC
взаимно однозначно соответствует своя переменная формулы либо ее
отрицание, а для каждого соединения между контактами PC в формуле
есть своя элементарная функция, стоящая между соответствующими
выражениями формулы. На рис. 1.11 приведена принципиальная схема
PC, изоморфная формуле алгебры логики F(x, у) = х & у у х.
Как и в алгебре логики, где одна и та же функция может быть реа-
лизована множеством различных формул, у PC для обеспечения задан-
ной функции проводимости могут быть использованы различные фи-
зические структуры. Поэтому все вопросы анализа, синтеза и оптими-
зации PC можно свести к изучению соответствующих им функций и
формул в алгебре логики.
Замечание. Структура формул алгебры логики позволяет изоморф-
но отобразить только системы с параллельными и последовательными со-
единениями элементов (в данном случае — контактов РЭ). Схемы со сме-
шанным порядком соединения элементов, которые нельзя эквивалентно
преобразовать только к параллельным и последовательным соединениям,
нельзя изоморфно отобразить формулами алгебры логики. Например, для
схемы с 6 контактами РЭ, показанной на рис. 1.12, не существует изоморф-
ной формулы алгебры логики, содержащей 6 обозначений переменных и их
отрицаний. Наиболее короткая формула для функции проводимости дан-
ной схемы, например, f=x(y zvy z)vxz содержит? таких символов.
Рис. 1.12
130
Раздел И. Математическая логика
1.8.2. Проектирование релейных схем
Рассмотрим проектирование физической структуры PC по задан-
ной функции проводимости. Наиболее употребительным критерием
оптимальности PC является минимальность общего числа контактов
РЭ, входящих в схему, поскольку при этом повышается надежность
схемы, снижается вес, габариты, себестоимость, энергопотребление.
Аналогичный критерий оптимальности был ранее рассмотрен для
нормальных форм. Оптимальные по нему формы называют минималь-
ными. Однако, если отказаться от обязательного представления формул
в нормальной форме, то можно получить и более оптимальные их вари-
анты с точки зрения уменьшения в них числа переменных. Для этого в
МДНФ и МКНФ необходимо дополнительно использовать дистрибу-
тивные законы алгебры логики, которые являются аналогами правил
вынесения за скобки:
x&yvx&z = x&(yvz);
(х v у) & (х v z) = х v у & z-
При оптимизации схем часто также применяют правила поглощения:
х (х v у) =х;
xvxy = х.
В данных законах вместо х, у, z могут быть подставлены любые
формулы. При наличии нескольких вариантов использования данных
законов следует выбирать те, которые обеспечивают сокращение наи-
большего числа переменных в формуле.
ОПРЕДЕЛЕНИЕ. Оптимальными в классе нормальных форм будем
называть PC, соответствующие МДНФ либо МКНФ, построенным по
заданной функции проводимости. Абсолютно оптимальными будем на-
зывать PC, полученные при максимальном сокращении числа пере-
менных в соответствующих формулах.
Пример. Построить 1) оптимальную в классе нормальных форм и
2) абсолютно оптимальную PC, реализующие функцию проводимости
/= (01001100).
Решение. Обозначим РЭ схемы через X, У, Z. СДНФ функции имеет
следующий вид:
f = ху zv ху zv ху z.
МДНФ имеет вид f =х у zvху. Она содержит 5 символов пере-
менных. Принципиальная схема PC, реализующей данную формулу
будет следующей:
Глава 1. Алгебра логики
131
Соответствующая ей физическая схема имеет следующий вид:
Полученная схема будет оптимальной в классе нормальных форм.
Применение дистрибутивного закона к найденной выше МДНФ по-
зволяет сократить ее и дает формулу f = у& (х z v х), которая содержит
только 4 символа переменных. Следовательно, приведенная выше PC
не является абсолютно оптимальной. Принципиальная и физическая
схемы абсолютно оптимальной PC даны на рис. 1.15, а и б.
Рис. 1.15
При оптимизации физической структуры существующей PC внача-
ле по ней строится соответствующая формула алгебры логики. Затем с
использованием формульных преобразований или таблицы истинности
определяется МДНФ либо МКНФ. Если необходимо, далее формула
сокращается с использованием дистрибутивных и других законов ал-
гебры логики.
Для построения оптимальных PC при частичном задании их функ-
ций проводимости вначале ЧОФ необходимо доопределить оптималь-
ным образом.
132
Раздел 11. Математическая логика
Задачи
1. Построить оптимальные PC, реализующие функции:
а)ху vyz vxz; 6)x|(y-»z); в) (х->у) & (у -^z); г)ху ® xz;
д) (10011 101); е) (01101110); ж) (0110100010010111).
2. Найти функции проводимости, оптимизировать PC, схемы которых ука-
заны на: а) рис. 1.16; б) рис. 1.17.
Рис. 1.16
3. Построить оптимальные PC для частично определенных функций:
а) (0??011??); б) (?0?0? 111); в) (170101??).
4. Обозначить РЭ, их контакты и построить PC, блокирующую главный
привод аппарата в следующих случаях: а) открыт загрузочный или разгрузоч-
ный люк; б) давления в рабочей емкости или в рубашке отклоняются от допусти-
мых пределов; в) рабочая емкость загружена менее чем на 1/4 полезного объема.
5. Система управления приводами П1 и П2 содержит два датчика Д1 и Д2.
При включенном Д1 и отключенном Д2 оба привода включаются, при вклю-
ченном Д2 и отключенном Д1 включен только П1. В остальных случаях оба
привода отключены. Построить управляющую PC.
6. Освещение в помещении должно включаться ровно одним из трех пере-
ключателей. Построить функцию проводимости и соответствующую PC.
Глава 1. Алгебра логики
133
1.9. Применение алгебры логики к анализу
логических рассуждений
Предметом изучения логики является сам процесс построения ло-
гического вывода рассуждений, безотносительно к содержательному
смыслу исходных высказываний.
Логика рассуждений зачастую бывает достаточно сложной. Для
анализа ее правильности любое рассуждение должно быть представлено
в формализованном виде.
ОПРЕДЕЛЕНИЕ. Пусть Plt Р2,..., Рк — некоторые исходные выска-
зывания, которые могут быть как простыми, так и составными. Их на-
зывают посылками. На основании одновременной истинности посылок
делается вывод о справедливости некоторого нового высказывания V,
который называют заключением.
Если вывод делается только в одну сторону, от посылок к заключе-
нию (прямая посылка), то данное действие описывается при помощи
логической связки «импликация» (->). Если же верна и обратная по-
сылка от И к Р1; Р2, ..., Рк, то их соединяют связкой «эквивалентность»
(=). Это следует из тавтологии: (х =у) = (х -> у) & (у -> х).
ОПРЕДЕЛЕНИЕ. Получаемую формулу вида F= (Р, & Р2 & ... & РД
-> V (либо F= (Р1 & Р2 & ... & Рк)=У) называют формулой логического
заключения.
Очевидно, каждое конкретное рассуждение является частным слу-
чаем применения некоторой общей логической формулы. Рассмотрим
примеры рассуждений и построим соответствующие им формулы логи-
ческих заключений.
Пример 1. Пусть А, В, С — некоторые элементарные высказывания.
Относительно них сформулировано следующее рассуждение: «если из
справедливости А следует В, а из В следует С, то из А следует С».
Обозначив Р, = А -> В, Р2 = В -> С, У=А-+С, получим формулу за-
ключения вида F= (А -> В) & (В -> Q -> (А -> Q.
Пример 2. Высказано следующее рассуждение: «Если некоторая за-
дача решена верно, то ответ будет правильный. Следовательно из пра-
вильности ответа следует верность решения задачи».
Рассмотрим элементарные высказывания: А = «Задача решена
верно», В = «Получен правильный ответ». Введя составные высказыва-
ния — посылку Р\=А-+В и заключение V=B-yA, получим формулу
вывода F= (А -> В) -> (В -> А).
134
Раздел II. Математическая логика
ОПРЕДЕЛЕНИЕ. Логический вывод называют правильным, если
соответствующая ему формула логического заключения является тавто-
логией.
Рассмотрим формулу заключения из примера 1. Проверим ее тавто-
логичность путем построения таблицы истинности соответствующей
функции. После поэтапного ее построения получим, что F= (А -> В) &
(5->С)->(Л->С) = 1.
А В с 1\=А^В Р2 = в -> с л&л У=А-+С Т=Р1&Р2-> и
0 0 0 1 1 1 1 1
0 0 1 1 1 1 1 1
0 1 0 1 0 0 1 1
0 1 1 1 1 1 1 1
1 0 0 0 1 0 0 1
1 0 1 0 1 0 1 1
1 1 0 1 0 0 0 1
1 1 1 1 1 1 1 1
Ответ: F — тавтология, поскольку реализующая ее функция тожде-
ственно равна 1. Рассуждения, основанные на ней, являются всегда
правильным.
Проверим правильность формулы заключения из примера 2 путем
построения векторов истинности посылки, заключения и итоговой
функции, соответствующей F.
А в II г Ьо V=B-+A F= Pl -» V
0 0 1 1 1
0 1 1 0 0
1 0 0 1 1
1 1 1 1 1
F не является тавтологией, поэтому соответствующий ей логиче-
ский вывод может давать неверные результаты. Например, посылка Рх
может быть равна 1 (если задача решена верно, то ответ всегда прави-
лен), однако заключение V может быть неверным (правильный ответ
может быть получен путем неверного решения). Поэтому при Р, = 1 и
V= 0 рассуждение будет неверно. Это соответствует ситуации, когда
решение «подогнано под ответ». Таким образом, использование непра-
Глава 1. Алгебра логики
135
вильного логического вывода привело к тому, что в некоторых ситуа-
циях неверно и конкретное рассуждение, основанное на нем.
Замечание. Правильность рассуждения в каком-либо конкретном
случае не является достаточным условием правильности примененного в
нем логического вывода. В частности; в примере 2 можно рассмотреть си-
туацию, когда Pj = 1 и К= 1. Тогда F= Р\ —> К= 1, т. е. в данном случае рас-
суждение верно. Однако, если формула заключения F не является тавто-
логией, то всегда можно указать случаи, когда F= 0 и рассуждение не верно.
При всем многообразии рассуждений их формулы заключений, от-
ражающие логику, обычно сводятся к нескольким наиболее распро-
страненным видам. Рассмотрим их.
Основные виды тавтологий, применяемых в логических рассуждениях
1. А &. (А -> В) -> В. Правило сокращения посылки «модус поненс»:
«если верно Л и из Л следует В, то верно и В».
2. -I В & (Л -> В) -> Л. Опровержение посылки. «Если В неверно и
из Л следует В, то неверно и Л».
3. ((Л! v Л2 v ... v Л„) -> В) = (Л! -> В) & (А2 ->В)& ... & (А„ В). До-
казательство путем разбора частных случаев.
4. Схемы доказательств «от противного»:
а) Л = (-, Л -> (В & В)). «Правильность некоторого утверждения Л
можно доказать, показав, что из его отрицания следует одновременно
справедливость некоторого утверждения В и его отрицания»;
б) (А -> В) = ((Л & В) -> -1 А). Противоречие по посылке. Пусть тео-
рема утверждает, что из Л следует В. Если допустить, что Л верно, а В
не верно, то отсюда можно доказать ложность Л — посылки теоремы
(т. е. одновременно истинны Л и-. Л);
в) (А-> В) = ((А &В)В). Противоречие по заключению. Если
допустить, что Л верно, а В не верно, то можно доказать истинность
В — заключения теоремы. В итоге получаем одновременную истин-
ность В и В.
Задачи
1. Доказать справедливость тавтологии (х = у) = (х -> у) & (у -> х).
2. Доказать справедливость стандартных формул логических заключений,
приведенных в пунктах 1—4.
3. Проверить правильность рассуждения: «Если событие Л произошло и
оно происходит при наличия условий В, то условия В также выполнены».
4. Предприятию требуется один сотрудник без вредных привычек. Первый
кандидат сказал о себе следующее: «Я курю только когда выпью, но курить бро-
136
Раздел II. Математическая логика
сил». Второй кандидат сообщил: «Я тоже курю только когда выпью, но бросил
пить». С помощью формул логических заключений выяснить, кто из кандида-
тов должен быть принят на работу.
1.10. Замкнутость и полнота систем функций
1.10.1. Операции суперпозиции и замыкания. Полнота, базис
системы функций
Однотактные (не содержащие элементов памяти) дискретные логи-
ческие устройства реализуют на выходе некоторый набор функций ал-
гебры логики Fm = (fj, F2,..., Fm), которые в каждый момент времени
зависят только от состояния входов устройства х” =(х1,х2,...,хп):
Fm = Fm(xn). Практически такие устройства проектируют и изготавли-
вают из отдельных неделимых элементов, реализующих некоторый на-
бор (систему) {/} элементарных функций алгебры путем присоедине-
ния выходов одних элементов ко входам других.
При проектировании логических устройств актуальными являются
следующие вопросы.
1. Задана система элементарных функций {/}• Какие выходные
функции Fj можно получить, используя функции из {/}?
2. Задано множество выходных булевых функций {F} (в частности,
равное всему множеству функций алгебры логики Р2). Какой должна
быть исходная система элементарных функций {/}, обеспечивающая
возможность получения на выходе любой из функций множества {F}1
Для обоснованного ответа на данные вопросы используют понятия
суперпозиции, замкнутости и полноты систем функций.
ОПРЕДЕЛЕНИЕ. Рассмотрим множество логических связок {£},
соответствующее некоторой системе функций {/}. Суперпозицией над {/}
называется любая функция <р, которую можно реализовать формулой
над {F}.
Практически суперпозицию можно представить как результат под-
становки функций из {/} в качестве аргументов в функции из этого же
множества.
Пример 1. Рассмотрим систему функций {/} = {/j(x) = х, f2(x, у) = х & у,
f3(x,y)=xv у}. Подставляя в функцию/3(х,у) вместо первого аргумен-
та х функцию /](х), вместо второго — f2(x, у), получим суперпозицию
h(x, у) =/з(/1(х),/2(л', у)) =х vx&y. Физическая реализация подстановки
показана на рис. 1.18.
Глава 1. Алгебра логики
137
Рис. 1.18
ОПРЕДЕЛЕНИЕ. Пусть М— некоторое множество функций алгеб-
ры логики (Р2). Множество всех суперпозиций над М называется замы-
канием множества Ми обозначается \М]. Получение [М\ по исходному
множеству М называется операцией замыкания. Множество М называется
функционально замкнутым классом, если [М] ~М. Подмножество т с М
называется функционально полной системой в М, если [/и] = М.
Замыкание \М\ представляет собой все множество функций, кото-
рое можно получить из М путем применения операции суперпозиции,
т. е. всех возможных подстановок.
Замечания. 1. Очевидно, любая система функций {/} является
функционально полной в себе самой.
2. Без ограничения общности можно считать, что тождественная функ-
ция f(x) =х, не изменяющая значений истинности переменных, изначально
входит в состав любой системы функций.
Пример 2. Для рассмотренных ниже систем функций {/} выполнить
следующие действия:
1) найти замыкание [/];
2) выяснить, будет ли система {/} замкнутым классом;
3) найти функционально полные системы в {/}
Решение.
!.{/} = {0}. При подстановке функции {f= 0} в саму себя получаем ее
же, т. е. никаких новых функций не образуется. Отсюда следует: [/] = {/}•
Рассмотренная система является функционально замкнутым классом.
Функционально полная система в ней одна и равна всей {/}.
2. {/} = {0,Подстановка -Д-а) дает тождественную функцию,
которая формально не расширяет исходную систему. Однако при под-
становке (0) получим тождественную единицу — новую функцию,
которой не было в исходной системе: (0) = 1. Применение всех других
138
Раздел II. Математическая логика
подстановок не приводит к появлению новых функций, например:
0 = 0, 0(-,х) = 0.
Таким образом, применение операции суперпозиции позволило
получить более широкое по сравнению с исходным множество функ-
ций [/] = {0, -I, 1}. Отсюда следует строгое вхождение: {/} а. [/]. Исход-
ная система {/} не является функционально замкнутым классом. Кроме
самой системы {/} других функционально полных систем в ней нет,
поскольку в случае ее сужения из одной функции /=0 нельзя путем
подстановки получить отрицание, а из одной функции отрицания нель-
зя получить тождественный нуль.
3. {/} = {&, v, -,}. Замыканием данной системы является все множест-
во функций алгебры логики Р2, т. к. формулу любой из них можно пред-
ставить в виде ДНФ либо КНФ, в которых используются элементарные
функции {/} = {&, v, -,}. Данный факт является конструктивным дока-
зательством полноты рассмотренной системы функций в Р2; [/] = Р2.
Поскольку в Р2 содержится бесконечное множество других функ-
ций, отличных от {/} = {&, v, -J, то отсюда следует строгое вхождение:
{/}<=[/] Рассмотренная система не является функционально замкну-
тым классом.
Помимо самой системы функционально полными в ней будут под-
системы {/11 = {&, -,} и {f}2 = (v, -i}. Это следует из того, что при помо-
щи правил де Моргана функцию логического сложения v можно выра-
зить через {&, ->}, а функцию логического умножения & — через {v,
(x&y) = -,(xvy),(xvy) = -,(x&y).
Других функционально полных подсистем в {/} нет.
Проверку полноты подсистемы функций {/"} j с {/} во всей системе {/}
можно производить путем сведения {/}! к другой, заведомо полной в {/}
системе.
Неполноту подсистемы {/}i в {/} можно проверить, доказав строгое
вхождение [Д] с [/].
ОПРЕДЕЛЕНИЕ. Подмножество т с М называют функциональным
базисом (базисом) системы М, если [/и] = М, а после исключения из нее
любой функции множество оставшихся не полно в М.
Замечание. Базисами системы функций {/} являются все ее функ-
ционально полные подсистемы {/}[, которые невозможно уменьшить без
потери полноты в {/}.
Пример 3. Для всех систем, рассмотренных в примере 2, найти ба-
зисы.
Глава 1. Алгебра логики
139
Решение. В случаях 1 и 2 функционально полными являются только
сами системы и сузить их невозможно. Следовательно, они же являют-
ся и базисами.
В случае 3 есть две функционально полные в {/} подсистемы {/Jj =
= {&, ->} и {/}2 = {v, -i}, которые невозможно сократить без потери пол-
ноты. Они будут базисами системы {/} = {&, v, -,}.
ОПРЕДЕЛЕНИЕ. Пусть система {/} является замкнутым классом.
Ее подмножество {/}] с {/} называют предполным классом в {/}, если {/}i
не полно в {/} ([/j] с [/]), а для любой функции ср из системы {/}, не
входящей в {/Ji ф е {/} \ {Л1) справедливо: [ipu = [/], т. е. прибав-
ление ф к {/}i делает ее полной в {/}•
Задачи
1. Проверить замкнутость множеств функций:
а) б) {1, -,}; в) {(0111), (10)}; г) {(ИЮНЮ), (ОНО)};
д) {(0001), (00000001), (0000000000000001),...}.
2. Проверить полноту систем функций в Р-р
а) {0, -,}; б) {(0101), (1010)}; в) {Ф}; г) {(0001), (1010)}.
3. Найти замыкание системы функций и ее базис:
а) {0, 1, -,}; б) {(1000), (1010), (0101)}; в) {(0001), (1110), (10)};
г) {(1010), (0001), (0111)}.
1.10.2. Функции, сохраняющие константы. Классы Тй и Т\
ОПРЕДЕЛЕНИЕ. Функция f(xn) сохраняет 0, если/(0,..., 0) = 0.
Функция f(xn) сохраняет 1, если /(1,..., 1) = 1.
Множества функций п переменных, сохраняющих 0 и 1, обознача-
ют, соответственно, и Т". Все множества функций алгебры логики,
сохраняющих 0 и 1, обозначают То и Т\. Каждое из множеств То и Т\
является замкнутым предполным классом в Р2.
Из элементарных функций в То и 1\ одновременно входят, напри-
мер, & и v. Принадлежность любой функции к классам То, Т\ можно
проверить по первому и последнему значению ее вектора значений в
таблице истинности либо непосредственной подстановкой нулей и
единиц в формулу при аналитическом задании функции.
ОПРЕДЕЛЕНИЕ. Дублирующей называют такую подстановку, при
которой вместо нескольких независимых переменных в функцию под-
ставляют одну и ту же переменную. При этом величины переменных в
наборах, которые раньше принимали значения независимо друг от
друга, всегда будут одинаковыми.
140
Раздел II. Математическая логика
Задачи
1. Проверить принадлежность к классам То и 7\ функций:
а) обощенного сложения; б) обощенного умножения; в) констант; г) xyvyz;
д)х—>у->ху; е)х®у; ж) (х] ® ... ®хл) -> (у, © ... ®ym) при п, тeN.
2. Доказать замкнутость каждого из классов То и 7\.
3. Доказать, что если fix") й Тй, то из нее путем дублирующей подстановки
можно получить константу 1 либо отрицание.
4. Доказать, что если /(х") g 1\, то из нее путем дублирующей подстановки
можно получить константу 0 либо отрицание.
5. Доказать предполноту каждого из классов Тй и 1\ (например, сведением
дополненной системы к {/} = {&, v,
6. Найти мощность классов 70" и Т".
1.10.3. Самодвойственность. Класс S
Функции f(x") и g(x") двойственны (/=£*), если они принимают
противоположные значения на обратных наборах значений перемен-
ных /(x") = g(x"*).
ОПРЕДЕЛЕНИЕ. Функция / = (х") называется самодвойственной,
ecmf=f*.
Множество самодвойственных функций п переменных обозначают
Sn, а все множество самодвойственных функций алгебры логики — 5.
Это множество является замкнутым предполным классом в Р2.
Из определения самодвойственных функций несложно показать,
что первая половина их векторов истинности после симметричного от-
ражения слева-направо и последующего инвертирования должна сов-
падать со второй половиной.
Пример. Проверить самодвойственность функций:
а)-,х; б)хфу; в) (00101011).
Решение. Проверку производим по векторам истинности с использо-
ванием описанного выше их свойства для самодвойственных функций.
а)Делим вектор истинности функции -.хна две половины: (110).
Поскольку в первой половине один символ (1), то симметричное отра-
жение дает его же. Инвертируя его, получим символ 0, который совпа-
дает со второй половиной вектора. Следовательно, отрицание — само-
двойственная функция.
б) Вектор истинности функции х 4- у делим на две половины: (00110).
Симметричное отражение первой половины относительно разделяю-
щей черты не меняет ее. После инвертирования получим последова-
Глава I. Алгебра логики
141
тельность (11), которая не совпадает со второй половиной вектора ис-
тинности (10). Поэтому х Фу — не самодвойственная функция.
в) Делим вектор истинности на две половины: (0010| 1011). Симмет-
рично отразим первую половину относительно разделяющей черты —
(0100) и инвертируем ее — (1011). Полученная последовательность сов-
пала со второй половиной вектора истинности, следовательно, рас-
смотренная функция — самодвойственная.
Ответ’, функции а)->х и в) (00101011) — самодвойственны, функ-
ция б)х Фу — нет.
Рассмотрим самодвойственность элементарных функций с учетом
числа переменных п в них.
л = 0. Константы 0 и 1 не являются самодвойственными.
и=1. Тождество и отрицание входят в S (xeS, хе5).
/1 = 2. Ни одна из элементарных функций не входит в 5. Все двухме-
стные самодвойственные функции/(х, у) имеют одну фиктивную пере-
менную и сводятся к функциям х, у, —1 х, —1 у.
Следовательно, для получения самодвойственных функций, имею-
щих две существенных переменных, необходимо рассматривать п > 3.
Для несамодвойственных функций справедлива
Лемма о несамодвойственной функции. Если f(xn)eS, то из нее пу-
тем подстановки х и х вместо переменных х,, х2, ..., х„ можно получить
константу.
Доказательство. Из /(х")е5 следует, что существует набор а =
= (а15 а2, а«)> л™ которого /(ab а2,..., а„) = /(а,, а2 ..., ал) = С. Под-
становки выбираем по правилу ф,(х) = х“', где <р,(х) =х при a, = 1, <р(- (х) =
= х при az = 0. В итоге получаем функцию одной переменной Г(х), ко-
торая принимает следующие значения: Д(0) = /(ф/0), ..., ф„(0)) = С, F(l) =
=/(Ф1(1), ..., ф„(1)) = С, т. е. является константой.
Задачи
1. Будут ли двойственными функции: а) [ и Ф; б) | и Ф; в) (10100010) и
(11100000); г) (10100010) и (10111010).
2. Найти с использованием принципа двойственности функции, двойст-
венные к: а) ху v yz; б) ху | (х v z) у; в) х Ф у.
3. Доказать, что если f (?) е S, то в ее векторе значений будет равное чис-
ло значений 1 и 0.
4. Будут ли самодвойственными функции:
а)х; б) х; в) ху vxz vyz; г) (01001011); д) (1100101100101100).
5. Доказать, что если /(х")е5, то/(х, х, ...,х) е(х, х).
142
Раздел II. Математическая логика
6. Доказать, что все двухместные самодвойственные функции Дх, у) имеют
ровно одну фиктивную переменную и сводятся к функциям х, у, х, -i у.
7. Доказать замкнутость класса S.
8. Доказать предполноту класса 5 (например, используя лемму о несамо-
двойственной функции и 3-местную самодвойственную функцию
/= (00010111)).
9. Найти мощность класса S".
1.10.4. Монотонность. Класс М
ОПРЕДЕЛЕНИЕ. Булев вектор а” предшествует вектору р", если
для всех их компонент z (1 < / < п) выполняется условие а, < р,. Обозна-
чают предшествование как а"<р". Функцию f(xn) называют моно-
тонной, если на всех предшествующих наборах ее переменных а" и р"
(а" <Р") предшествование сохраняется и для значений функции, т. е.
выполняется условие /(а") </(Р").
Свойство предшествования вводит на множестве п — мерных буле-
вых векторов Е2 бинарное отношение нестрогого порядка, поскольку
оно удовлетворяет аксиомам рефлексивности, антисимметричности и
транзитивности. При п > 1 данное отношение вводит на Е2 частичный
порядок, т. к. есть не сравнимые между собой наборы — например (01)
и (10), (011) и (ПО) и др.
Множество монотонных функций п переменных обозначается М",
все множество монотонных функций алгебры логики — М. Оно является
предполным классом в Р2. Если функция f<tM, то ее называют немоно-
тонной. Выяснить монотонность любой функции можно непосредствен-
ной проверкой всех предшествующих наборов по таблице истинности.
Замечание. Если функция на некотором наборе а” равна 0, то ее
значения на всех последующих наборах р", сравнимых с а" (а"<р"),
можно не проверять, поскольку значение /(а") = 0 предшествует любому
значению /(Р”). Аналогично, если функция на некотором наборе р” рав-
на 1, то ей предшествуют любые значения на всех предшествующих набо-
рах а”, сравнимых с р” (а”<р”).
Пример. Проверить монотонность функций:
a) -ix; б)х vy; в) (001 01011).
Решение. Задачу решаем с учетом вышеприведенного замечания пу-
тем проверки сохранения функциями свойства предшествования на
всех парах сравнимых наборов переменных в таблице истинности.
Глава 1. Алгебра логики
143
X У Z /
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
а) Функция х принимает значение 1 на наборе х= (0). Он является
предшествующим набору х= (1): (0) < (1). Сравнивая значения функ-
ции: /(0) = 1 >/(1) = 0, получим нарушение предшествования. Следова-
тельно, отрицание не монотонно.
б) Первое единичное значение функции — на наборе (х, у) = (0, 1).
С ним сравним набор (1,1). Для данной пары наборов: /(0, 1) = 1 =
=/(1,1) = 1 — отношение предшествования сохраняется. Аналогично
для следующего набора (х, у) = (1, 0) с единичным значением функции
сравнимым является набор (1, 1). В этом случае/(1, 0) = 1 =/(1, 1) = 1 —
отношение также сохраняется. Поскольку все сравнимые наборы про-
верены, то функция логического сложения является монотонной.
в) Рассмотрим первое единичное значение функции — на наборе
(х, у, z) = (0, 1, 0). С ним сравнимы наборы (0, 1, 1), (1, 1, 0) и (1, 1,1).
Проверка набора (0, 1, 1) дает /(0, 1, 0) = 1 >/(0, 1, 1) = 0 — нарушение
отношения предшествования. Следовательно, данная функция не мо-
нотонна.
Ответ', функции а)->х и в) (00101011) не монотонны, функция
б) х v у — монотонна.
Монотонными являются элементарные функции 0, 1, х, v, &. Для
немонотонных функций (не входящих в Л/) справедлива следующая
лемма.
Лемма о немонотонной функции. Если f(xn)eM, то из нее путем под-
становки констант 0, 1 и тождественной функции х всегда можно полу-
чить функцию отрицания х.
Доказательство. Из f(xn) следует, что существуют наборы аир
такие, что а<Р, а /(а)>/(Р). При этом /(а) = 1, /(Р) = 0. Т. к. а<р,
то для компонент этих векторов с одинаковыми номерами возможны
только три варианта: 1) а, = Р, = 0; 2) а; = р; = 1; 3) а; = 0, P, = 1.
Третий вариант присутствует всегда, иначе наборы аир полно-
стью совпадут.
144
Раздел II. Математическая логика
Выполним следующие подстановки в f(xn). В первом случае (а,=
= Р, = 0) вместо соответствующих переменных подставим тождествен-
ный 0, во втором случае (а, = р,= 1) — тождественную единицу, а в
третьем (а, = 0, Р, = 1) — тождественную функцию х. В итоге получим
функцию одной переменной Fix), у которой ДО) = /(а) = 1, Д1) = /(Р) =
= 0. Следовательно функция Fix) эквивалентна отрицанию х.
Задачи
1. Проверить монотонность функций: а) ху v yz v xz; б) x у ® у z; в) ху —> x у;
r)xvy; д) (01100111); е) (00100011).
2. Доказать, что если ft То nf еМ, то/= 1.
3. Доказать, что cc.wftl\ nfeM,xof=0.
4. Доказать замкнутость класса М.
5. Доказать предполноту класса М (например, с использованием леммы о
немонотонной функции и сведением дополненной системы к {/} = {&, v, -,}).
1.10.5. Линейность. Класс L
ОПРЕДЕЛЕНИЕ. Функция fix”) называется линейной, если она
представима в виде линейного полинома Жегалкина: /(х") = а0Ф
а^! Ф ... Ф а„хп, где а0, ..., а„ — логические константы, принимаю-
щие значения 0 или 1 .
Множество линейных функций п переменных обозначают £", все
множество линейных функций алгебры — L. Это множество является
предполным классом в Р2. Если функция f%L, то ее называют нелиней-
ной. Проверить линейность любой функции можно путем ее разложе-
ния в полином Жегалкина.
Из элементарных функций линейными являются константы 0 и 1,
одноместные функции х и х, двухместные функции Ф и =.
В общем случае справедлива следующая лемма.
Лемма о нелинейной функции. Если функция fix”) <£f, то путем под-
становки вместо ее переменных констант 0, 1, функций х, х и, возмож-
но, навешивания общего отрицания из fix") всегда можно получить двух-
местную функцию умножения ху.
Доказательство. Из fix") &L следует, что ее можно представить в
виде /(x") = Z(x”) + JV(x”), где £(х”) — линейная часть (возможно,
£(х") = 0), N(xn) — нелинейная часть N(x”)^0.
Рассмотрим самое короткое произведение, содержащееся в нели-
нейной части Nix”). Выделим в нем две произвольные переменные
(допустим, начальные) и обозначим их х и у. Данное произведение
можно представить в виде xyxkl...xks. Другие произведения, содержа-
Глава 1. Алгебра логики
145
щие хи у, будут обязательно включать и другие сомножители xk(s+l),
...,xkm. Подставляя вместо переменных xH,...,xfa константу 1, а вме-
сто остальных (включая х^(5+1),..., хкт) константу 0, получим функцию
двух переменных Fix, у), которая в общем случае имеет следующий вид:
F(x, у) = ху + cqx + + «3.
При ocj = 1 выполняем подстановку у = у, если а2= 1> то выполняем
подстановку х = х. В итоге получаем новую функцию Ft(x, у) - ху + а3.
Если а3 = 0,то искомое умножение получено, если а3 = 1 , то умно-
жение получаем, навешивая общее отрицание:
fi(x, у) = F2(x, у) = ху.
Задачи
1. Почему линейны все функции, у которых число переменных не превы-
шает 1?
2. Какие из перечисленных систем линейных функций образуют базис в L:
а) {0, х©у}; б) {1,х©у}; в) {0, 1,х®у}?
3. Доказать, что если fix") линейна и не является константой, то в векто-
ре значений Дх") всегда будет равное число значений 1 и 0. Верно ли обрат-
ное? Ответ обосновать.
4. Проверить линейность функций:
а)ху vyz vxz; б)х—>у —>ху; в) (10110110); г) ху —>х у; д) (10011001);
е) (0001100111111011).
5. Найти мощность класса L".
6. Сколько существует в L" функций, существенно зависящих ровно от к
(к < п) своих переменных?
7. Доказать замкнутость класса L.
8. Доказать предполноту класса L в Р2, например, с использованием леммы
о нелинейной функции и сведением дополненной системы к {/} = {&, v, -,}.
1.10.6. Критерий Поста полноты системы функций в алгебре логики
Рассмотренные выше замкнутые классы функций То, Д, S, М, и L
исчерпывают все множество предполных классов в Р2. Они являются
независимыми в том смысле, что ни один из них не может быть выра-
жен с помощью теоретико-множественных операций через остальные.
Поэтому для любого непустого множества функций справедлива сле-
дующая теорема.
Теорема 2.1.2 (Поста). Система функций {/} полна в Р2 тогда и только
тогда, когда она не содержится целиком ни в одном из замкнутых пред-
полных классов То, Т\, S, Ми L.
Доказательство. Необходимость. Пусть {/} полна в Р2 ([{/}] = Р2)-
Докажем, что {/} не содержится ни в одном из классов То, 7\, S, М, и L.
146
Раздел II. Математическая логика
Допустим верно обратное и {/} входит полностью в один из этих клас-
сов, обозначим его через К. Но тогда [{/}] с Л'с Р2, т. е. имеет место
строгое включение [{/}] с Р2, что противоречит определению полноты {/}.
Достаточность. Пусть {/} целиком не содержится ни в одном из
классов То, Т1г S, М, и L. Докажем ее полноту. Из условия невхождения
следует, что в {/} можно выделить подмножество из пяти функций {/0, /,
А, /У, таких, что/0 gТо, gfMiM, fLiL (функции не обя-
зательно должны быть все различны). Для полноты достаточно дока-
зать, что из этой подсистемы с помощью суперпозиции всегда можно
выделить функции {-,, &}, т. к. они образуют полную систему в Р2.
Покажем, что из функций f0, f, fs всегда можно получить констан-
ты 0 и 1. Из условий/0 gГд, / &Т\ следует:/о(0,..., 0) = 1, /(1,..., 1) = 0.
Рассмотрим все возможные варианты значений /0 и Д на противопо-
ложных наборах и применим к этим функциям дублирующие подста-
новки вида/(х, х, ...,х).
1. _/о( 1, ••> 1) - 1> /1(0, 0) = 0- Дублирующие подстановки f0(x,..., х)
и/Дх,..., х) дают новые функции, являющиеся искомыми константами:
/о'-1, />0.
2. f0( 1,..., 1) = 1, /ДО,..., 0) = 1. Дублирующие подстановки дают: /0' =
= 1, f{ = x. Подставляя далее, получим f{(fo(.x))sO.
3. /0(1,..., 1) = 0, /1(0,..., 0) = 0. Из дублирующих подстановок следует:
/о = %, s 0. Применяя взаимную подстановку, получим /Д/Д*)) = 1.
4. /0(1,..., 1) = 0, /ДО,..., 0) = 1. После дублирующих подстановок по-
лучим: /0' =х, f{ = x. По лемме о несамодвойственной функции из fs
подстановкой х всегда можно получить одну из констант. Вторую по-
лучаем при помощи функции х.
Таким образом, доказано, что {0, 1} е[{/), /, /$}]. По лемме о немо-
нотонной функции из/м путем подстановки констант 0, 1 всегда может
быть получена функция х. Отсюда следует: {0, 1,х} е[{/0, /, fs, fM]].
По лемме о нелинейной функции из fL путем подстановки функций
0, 1, х всегда может быть получена функция умножения ху. В итоге по-
лучаем {->, &} 6 [{/0, /, /5, fM, fL}\. Т. к. [{-,, &}] = Р2, то отсюда следует
[{/о, Л> А. А/. АЯ = Л» [1/7] = чт0 и требовалось доказать.
Пример 1. Проверить полноту системы функций {/} = {/ = х & у, f2 =
= х->у}вР2.
Решение. Используем теорему Поста. Функция f =х&у не входит в
классы 5, L, но входит в классы То, Г,, М. Следовательно у функции/2 =
= х->у достаточно проверить ее вхождение в То, 7\, М. Т. к. /2 входит
Глава I. Алгебра логики
147
в Г], то отсюда следует, что вся система {/} целиком содержится в Т\.
Следовательно, по теореме Поста она не полна в Р2.
Пример 2. Можно ли с помощью операции суперпозиции из систе-
мы функций {/} = {/ = (1010),/2 = (0110),/3 = (0011)} получить функции
gl = (1011),g2 = (l 111).
Решение. Для наглядности решения рассмотрим таблицу истинно-
сти функций/ь /2, /3Hgbg2. Переменные обозначим х и у.
X У /1 /2 /з 8\ 81
0 0 1 0 0 1 1
0 1 0 1 0 0 1
1 0 1 1 1 1 1
1 1 0 0 1 1 1
Как следует из векторов истинности, / = у, /2 = х Ф у, f2 = х. Провер-
ка вхождения данных функций в предполные классы показывает, что
все они принадлежат классу L линейных функций. Т. к. данный класс
замкнут относительно операции суперпозиции, то ее применение к
функциям /1; /2, /3 будет давать только линейные функции.
Разложение функции g{ в полином Жегалкина дает выражение
1 Ф у ф ху. Данная функция нелинейна и не может быть получена из
системы (/} с помощью операции суперпозиции. g2 является линейной
функцией — константой 1. Выражение для нее с использованием {/}
может быть получено, например, в результате следующей подстановки:
1=хФ х=/2(/3(х),/1(х)).
Ответ: 1) функция g[ не может быть получена из системы {/} с по-
мощью операции суперпозиции; 2) g2 = /2(/з(х),/(х)).
Система, состоящая из одной функции х|у — «штрих Шеффера»,
полна в Р2. Это следует из возможности представления любой функции
алгебры логики в виде ШНФ. Также данная функция не входит ни в
один из предполных классов То, 1\, S, Мп L.
ОПРЕДЕЛЕНИЕ. Если система, содержащая одну функцию/ пол-
на в Р2, то функцию/называют шефферовой.
Задачи
1. Проверить полноту в Р2 систем функций: а) {&, х|у}; б) {v,->};
в) {->, х -> у z}; г){&, 1,®}; д) {—>, 0}; е) {->, ж){&,у, ->}; з) {х4у, х|у};
и) {(1011), (10010110)}; к) {x^-yz, (1001)}; л) {(1010), (11011101)}.
2. Дополнить систему функций до полной в Р2 при помощи функций, не
являющихся шефферовыми: а) {(1001), (ОНО)}; б) {—>,x—>yz}.
148
Раздел II. Математическая логика
3. Проверить, можно ли только с помощью операции суперпозиции по-
лучить:
а) из функции (0001) функцию (1001);
б) из функции {х 4 у} функцию х & у;
в) из функции {х у} функцию xvy;
г) из функций {х © у, ху} функцию xvy.
4. Найти все шефферовы функции от двух переменных.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ОПЕРАЦИЯ СУПЕРПОЗИЦИИ.
ЗАМЫКАНИЕ И ПОЛНОТА СИСТЕМ ФУНКЦИЙ.
ПРЕДПОЛНЫЕ КЛАССЫ В АЛГЕБРЕ ЛОГИКИ»
В. 1.
1. Проверить вхождение в класс М функций: a)x®(y4z); б) (01101011);
в) х ® у ® Z-
2. Проверить полноту в Р2 системы функций {(1101), (1011), (1001)}.
В. 2.
1. Найти мощность множества функций Ln п Т}}1.
2. Существуют ли шефферовы функции, у которых вектор истинности на-
чинается с 0? Ответ обосновать.
В. 3.
1. Найти замыкание и базис множества функций {(ОНО), (10), (1001)}. От-
вет обосновать.
2. Выяснить, можно ли с помощью операции суперпозиции получить из
множества функций {&, ®} функцию (0100). Ответ обосновать.
В. 4.
1. Проверить вхождение в класс S функций: a)xj ®х2®... ®х„ (н>0);
б) (00010111); в) х —> (у ® z).
2. Построить пример шефферовой функции, зависящей от трех переменных.
В. 5.
1. Найти замыкание и все базисы множества функций: {(1010), (1100),
(0111)}.
2. Проверить полноту в Р2 системы функций {х ->у, х -> yz}.
В. б.
1. Проверить вхождение в классы То и 7^ функций: a)x®y®z; б) х}&
х2 &... &х„ &у1&у2 & ... &ут(п>0, т>0); в) х -> (ух © у2 © ... © у„) (л>1).
2. Проверить полноту в Р2 системы функций: {(11011101), (1010)}.
В. 7.
1. Доказать, что классы 5 и L не совпадают.
2. Проверить, можно ли с помощью операции суперпозиции получить из
функций {ху, х v у, х —> у} функцию х. Ответ обосновать.
Глава 1. Алгебра логики
149
В. 8.
1. Найти замыкание множества функций {(1110), (1001), (0111)}.
2. Дополнить систему функций до полной в Р2 ПРИ помощи функций, не
являющихся шефферовыми: {/} = {х © у © z, (х -> у) z}.
В. 9.
1. Проверить вхождение в класс L функций: a)x®(y = z); б) (00010111);
в)х yvxу.
2. Можно ли с помощью операции суперпозиции получить при помощи
функций {(1110),(1010)} функцию (1000)?
В. 10.
1. Найти число функций в множестве Тц гГГ".
2. Проверить полноту в Р2 системы функций {х & у, х vy, х —>у}.
В. 11.
1. Найти замыкание и базис множества функций {(1110), (10), (0101)}. От-
вет обосновать.
2. Проверить полноту в Р2 системы функций {(1101), (1011)}. Ответ обос-
новать.
В. 12.
1. Доказать, что множества функций S" г>Т" и S" Г'.Т" совпадают.
2. Проверить, можно ли с помощью операции суперпозиции получить из
функции {1110} функцию {1011}. Ответ обосновать.
В. 13.
1. Проверить вхождение в классы То и 7^ функций: a) Xj ® х2 ® ... ® х„
(п > 0); б) х | у © z); в) х © (у 4 z).
2. Проверить, можно ли с помощью операции суперпозиции получить из
функций {0001,1101,0101} функцию (1011). Ответ обосновать.
В. 14.
1. Найти замыкание системы функций и ее базис: {(1010), (1100), (0111)}.
Ответ обосновать.
2. Проверить полноту в Р2 следующей системы функций:
|xvy, x&y&z, х vy &z, (x vy) &z}.
B. 15.
1. Найти мощность множества функций 5"пГ1".
2. Проверить, можно ли с помощью операции суперпозиции получить из
функции {v} функцию {—>}. Ответ обосновать.
В. 16.
1. Проверить вхождение в класс S функций:
а) х® у ® z; б) х у vxy; в) х® (у 4-z).
2. Проверить полноту в классе L системы функций {(1001), (10)}. Ответ
обосновать.
В. 17.
1. Найти замыкание и базис множества функций {(0001), (10), (0101)}. От-
вет обосновать.
150
Раздел II. Математическая логика
2. Проверить, можно ли с помощью операции суперпозиции получить из
функции {1110} функцию {0111}. Ответ обосновать.
В. 18.
1. Проверить вхождение в класс L функций: a)x®(y4-z); б) (00110011);
в) 4- (х, у, г).
2. Найти замыкание системы функций {&, ®, 1, 0 } и ее базис. Ответ обос-
новать.
В. 19.
1. Доказать, что классы 5 и М не совпадают.
2. Проверить, можно ли с помощью операции суперпозиции получить из
функций {ОНО, 0001} функцию тождественный ноль 0. Ответ обосновать.
В. 20.
1. Найти, используя теорему Поста, замыкание системы функций и ее ба-
зис: {(1011), (1101), (0100), (0010)}. Ответ обосновать.
2. Существуют ли шефферовы функции, у которых вектор истинности за-
канчивается 1? Ответ обосновать.
В. 21.
1. Найти число функций в множестве S"\T".
2. Проверить, можно ли с помощью операции суперпозиции получить из
функции {—>} функцию {v }. Ответ обосновать.
В. 22.
1. Проверить вхождение в класс М функций: а)х-> Си ®у2® ••• ®У„)
(п> 1); б) (00000011).
2. Дополнить систему функций {/} = {1011} до полной в Р2 при помощи
функций, не являющихся шефферовыми.
В. 23.
1. Найти замыкание системы функций и указать в ней базис: {х—>у, 0,
хФу, 1}. Ответ обосновать.
2. Построить пример полной в Р2 системы функций, содержащей эквива-
лентность {=} и не включающей шефферовых функций.
В. 24.
1. Доказать, что классы М и То не совпадают.
2. Проверить, можно ли с помощью операции суперпозиции получить из
функции {1000} функцию {1001}. Ответ обосновать.
В. 25.
1. Найти число функций в множестве
2. Проверить полноту в Р2 системы функций {(ООН), (0101), (0111)}. Ответ
обосновать.
В. 26.
1. Будет ли система функций {/} = {(0110), (10001000)} полна в Р2? Ответ
обосновать.
2. Проверить, можно ли с помощью операции суперпозиции получить из
функции/= (11101110) функцию (1001)? Ответ обосновать.
Глава 1. Алгебра логики
151
1.11. Анализ и синтез функциональных схем
Функциональные схемы (ФС) предназначены для преобразования
логической информации. Исходная информация, закодированная в
виде дискретных сигналов, подается на входы схемы хп. Затем данная
информация перерабатывается и в дискретной форме считывается с
выходов схемы ут (и, т — числа ее входов и выходов). Рассмотрим
ФС, функционирующие в двузначной логике и имеющие один выход
(т= 1). Преобразование информации в них может быть задано в виде
функции алгебры логики у- f(xn). Вместо релейных элементов в ФС
используются функциональные элементы (ФЭ), реализующие, как
правило, элементарные логические функции.
ОПРЕДЕЛЕНИЕ. Анализом называется построение формулы алгеб-
ры логики (если необходимо — ее таблицы истинности) по заданной ФС.
Для построения формулы по заданной схеме необходимо связи ме-
жду ФЭ в ФС представить в виде подстановок в соответствующие им
элементарные функции. При этом предполагается, что переработка
информации производится поэтапно от входов к выходам. В реальных
схемах для обеспечения временного согласования работы всех ФС ис-
пользуют дополнительные элементы.
Анализ ФС можно выполнять двумя способами — от входов к выхо-
дам и от выходов к входам. Рассмотрим первый способ, применяя до-
полнительные обозначения для промежуточных соединений схемы.
Пример 1. В качестве ФЭ приняты {&, v, -i}. Произвести анализ ФС,
физическая структура которой дана на рис. 1.19.
Рис. 1.19
152
Раздел II. Математическая логика
Решение. Обозначив промежуточные соединения ФЭ так, как пока-
зано на рисунке, по шагам определяем сигналы, соотвествующие им.
При этом перемещаемся от входов схемы к ее выходу.
ШАГ1.Я = у, Q = z.
ШАГ2. Х=х&R=x&y, Р = х&у, W=P&.Q = x&.y&z.
ШАГЗ. Y=X&.z = x&.y &.z, U=P&z = x&y&z-
ШАГ 4. Z= Tv U= х &. у &.zvх &у &z.
ШАГ 5. F=Zv W=x&.y &zvx&y&z vx&y&z.
Таким образом, рассмотренная ФС реализует следующую формулу
алгебры логики:
ДХ, у ,-Z) = X & у &.ZVX&. у &zv х& у &z-
Найденная формула представляет собой СДНФ. Вектор ее значе-
ний истинности имеет вид (00000111).
В зависимости от исходных данных, среди задач синтеза (проекти-
рования) ФС можно выделить:
1) синтез схем по заданным формулам;
2) синтез схем по заданным функциям.
ОПРЕДЕЛЕНИЕ. Синтезом ФС по заданной формуле называют по-
строение структуры ФС, соответствующей заданной формуле алгебры
логики.
Решение подобных задач производится по алгоритму, обратному
методу анализа. Как отмечено в п. 1.7, структура формул алгебры логи-
ки позволяет изоморфно отобразить только системы с параллельными
и последовательными соединениями элементов. Поэтому в ФС, изо-
морфно соответствующей формуле, должны быть только соединения
данного вида.
ОПРЕДЕЛЕНИЕ. Синтезом ФС по заданной функции называют по-
строение структурной схемы, реализующей заданную функцию алгебры
логики.
Поскольку представление функций формулами неоднозначно, то
данная задача имеет неединственное решение. Как и в случае релейных
схем, оптимальными являются ФС, состоящие из минимального коли-
чества ФЭ и соединений между ними. Такие ФС можно получить, ис-
пользуя формулы с минимальным числом переменных.
Как и для PC, будем отдельно рассматривать формулы, оптималь-
ные в классе нормальных форм (которые равны соответствующим ми-
нимальным формам), а также абсолютно оптимальные формулы, полу-
чаемые из минимальных нормальных форм путем их дальнейшего со-
кращения с применением законов алгебры логики. Способы получения
оптимальных формул те же, что и в релейных схемах. В примере 1 рас-
Глава 1. Алгебра логики
153
смотрена ФС, реализующая функцию (00000111). Данная ФС не опти-
мальна, поскольку соответствующая ей формула описывает СДНФ
F=xyzvxyz vxyz, которая не является минимальной. Минимизируя
ее, получим МДНФ следующего вида: F=xyvxz. Ей соответствует ФС
на рис. 1.20
Если применить дистрибутивный закон к МДНФ, то получим фор-
мулу с еще меньшим числом переменных: f=x(yvz). Для данной функ-
ции она совпала с МКНФ. Ей соответствует абсолютно оптимальная
схема.
Рис. 1.21
Очевидно, данная схема значительно проще исходной (рис. 1.19).
Поскольку синтез оптимальных ФС сводится к построению минималь-
ных формул, то аналогично строятся оптимальные схемы и в других
базисах. Аналоги первого и второго дистрибутивных законов алгебры
логики для шефферовых и веббовых форм можно получить, заменяя в
данных законах:
&(х,у) = ->|(х,у) = 4<(-, х,->у);
V (X,у) = I (-1 X, ->у) = -, Ф (х, у).
Пример 2. Построить ФС, реализующую одноразрядный двоичный
сумматор двух чисел при помощи ФЭ, соответствующих базису {-,, Ф}, а
также в базисе {ф}.
Решение. Обозначим одноразрядные двоичные числа, подаваемые
на вход, через (х, у). На выходе должна быть получена их сумма в двоич-
ной системе. Если х= 1, у= 1, то = 210 =102, поэтому для изображе-
ния ее в общем случае необходимо использовать два двоичных знака,
154
Раздел II. Математическая логика
а ФС должна иметь два выхода. Обозначим их f (старший разряд сум-
мы) и g (младший разряд). Таблицы истинности функций/(х, у), g(x, у):
X У ЖУ) g(x,y)
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Строим СВНФ функций в базисе {-,, Ф}./имеет в векторе истинно-
сти одну единицу, поэтому ее форма состоит из одной конституенты:
/= Ф (-, х, у). У функции g СВНФ имеет вид
£ = -Д(Ф(х, ->у),Ф(-. х, у)).
Данные формы являются минимальными. При объединении входов эле-
ментов функциональную схему можно представить в следующем виде:
Рис. 1.22
В рассмотренном примере невозможно упрощение веббовых нор-
мальных форм при помощи законов алгебры логики. В однофункцио-
нальном базисе {Ф} ФС получим, применяя подстановку -,х = Ф(х, х).
Соответствующая схема дана на рис. 1.23.
Рис. 1.23
Глава 1. Алгебра логики
155
Задачи
1. Построить с использованием ФЭ {&, v, -,} оптимальные в классе нормаль-
ных форм и абсолютно оптимальные ФС, реализующие следующие функции:
а) (х ->у) Ф zy; б) (х Фу) | z, в) ху —> yz; г) х | (у vz); д) х -> (у -> z);
е) (10011101); ж) (01101011); з) (1110101111111110).
2. Построить с использованием ФЭ {v, -л} ФС функций задачи 1, а)—ж).
3. Построить с использованием ФЭ {&, -л} ФС функций задачи 1, а)—ж).
4. Построить ФС, реализующую одноразрядный двоичный сумматор (при-
мер 2)при помощи ФЭ следующего вида:
а) {&, v, —б) {v, —в) {&, —г) {х |у}.
5. С помощью ФЭ {&, v, -i} построить ФС следующих устройств:
а) преобразователя с двоичными входами (х, у) и выходом/, который рабо-
тает следующим образом: при подаче х = 0 на выходе f=y, а при подаче х = 1 на
входе /= у;
б) избирательного устройства с двоичными входами (х, у) и выходами/0,
/2, /з, которое воспринимает на входе комбинацию значений (ху) как двоичное
число i, лежащее в интервале от 0 до 3. Значения выходов для каждого I следую-
щие: fi= 1, а все остальные fj=O,
6. Можно ли в качестве базиса при построении ФС принять следующие на-
боры функций:
а) (1001), (10001110);
б) 0101), (1011), (1101);
в) (1010), (01110001)?
Ответ обосновать.
7. Привести примеры управляющих функций, ФС которых нельзя постро-
ить только из одних ФЭ типа {->}.
8. Привести примеры управляющих функций, ФС которых нельзя постро-
ить только из одних ФЭ типа {Ф, =}.
9. Дана ФС из ФЭ {&, v, ->} (рис. 1.24).
Рис. 1.24
Можно ли из нее исключить путем эквивалентных преобразований:
а) все элементы {-л};
б) все элементы {&};
в) все элементы {v}?
156
Раздел II. Математическая логика
10. Оптимизировать ФС из ФЭ {&, v, —>}, приведеную на рис. 1.25.
Построить ФС:
а) оптимальную в классе нормальных форм и
б) абсолютно оптимальную.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ПРИМЕНЕНИЕ АЛГЕБРЫ ЛОГИКИ К АНАЛИЗУ И СИНТЕЗУ
РЕЛЕЙНЫХ И ФУНКЦИОНАЛЬНЫХ СХЕМ,
ПРОВЕРКЕ ПРАВИЛЬНОСТИ ВЫСКАЗЫВАНИЙ»
В. 1.
1. Построить оптимальную PC с концевыми выключателями х, у, z, которая
замыкает цепь в следующих случаях: а) при включенных х, у и отключенном z,
б) включенных у, z и отключенном х; в) включенных г, хи отключенному.
2. Дана ФС из ФЭ {&, v, ->}.
Можно ли из нее исключить путем эквивалентных преобразований а) все
элементы {-J; б) все элементы {&}; в) все элементы {v}?
В. 2.
1. Оптимизировать PC.
Глава 1. Алгебра логики
157
2. Построить в базисе {4-} оптимальную ФС, реализующую функцию
(10101011).
В. 3.
1. Построить оптимальную PC для автоматического распознающего уст-
ройства, содержащего три входа и один выход. Сигнал на выходе появляется
только в том случае, когда на входы поступило менее двух сигналов.
2. Оптимизировать ФС.
В. 4.
1. Проверить правильность утверждения: «Если А вытекает только из В ли-
бо только из С, то отсюда следует Л или В или отрицание С».
2. Любую ли ФС можно построить из ФЭ типа: а) {4-}, б) {->, &} и почему?
В. 5.
1. Построить оптимальную PC, реализующую функцию (01101010).
2. Построить с использованием ФЭ {v, ->} оптимальную ФС, реализующую
функцию х 4- у.
В. 6.
1. Построить оптимальную PC, реализующую функцию (01011101).
2. Проверить правильность утверждения: «Если А равно В или С, то из ус-
ловия, что отрицание В имплицирует С, следует Л».
В. 7.
1. Привести собственный пример PC, у которой в РЭ использованы нор-
мально замкнутые контакты, но все их можно исключить путем эквивалентного
преобразования схемы.
2. Привести примеры функций, ФС которых нельзя построить только из
ФЭ вида {&, v}. Ответ обосновать.
В. 8.
1. В системе управления приводами П1 и П2 — два датчика Д1 и Д2. П1
включается при включенном Д1 и выключенном Д2, П2 включается при вклю-
ченном Д2 и выключенном ДЕВ остальных случаях приводы отключены. По-
строить оптимальную управляющую PC.
2. Оптимизировать ФС.
В. 9.
1. Построить оптимальную PC, реализующую функциюf=x(xy—>yz).
2. Проверить правильность утверждения: «Если из Л следует В, то из отри-
цания В следует отрицание Л».
158
Раздел II. Математическая логика
В. 10.
1. Оптимизировать PC.
2. Построить при помощи ФЭ {v, ->} оптимальную ФС для автоматического
распознающего устройства, содержащего три входа и один выход. Сигнал на
выходе появляется только в том случае, когда на входы поступило нечетное
число сигналов (1 или 3).
В. 11.
1. Построить оптимальную PC, реализующую функцию f=x^tyz.
2. Построить с использованием ФЭ {&, оптимальную ФС, реализующую
функцию f=x->y->z.
В. 12.
1. Проверить правильность утверждения: «Если А следует совместно из В и
С, то обратное кА утверждение следует из отрицания В либо из отрицания С».
2. Построить с использованием ФЭ{м, ФС, реализующую функцию
хФуФг
В. 13.
1. Построить оптимальную PC, реализующую функциюху—>zu.
2. Построить с использованием ФЭ {v, ->} оптимальную ФС, реализующую
функцию х ® у.
В. 14.
1. Построить оптимальную PC, реализующую функцию (хФу) —>xz.
2. Дана ФС из ФЭ {&, v, ->}:
Можно ли из нее исключить путем преобразований а) все элементы {->};
б) все элементы {&}; в) все элементы {v}? Ответ обосновать.
В. 15.
1. Построить оптимальную PC, реализующую функцию (х ® z) & (у —> z).
2. Построить с использованием ФЭ {&, ->} оптимальную ФС, реализующую
функцию х | у.
В. 16.
1. Построить логическую функцию и оптимальную PC, имеющую три входа
и один выход. На выходе сигнал 1 появляется только тогда, когда на вход пода-
ются одна либо три единицы, иначе на выходе — 0.
Глава 1. Алгебра логики
159
2. Проверить правильность утверждения: «Из одновременной справедливо-
сти А и отрицания В либо А и отрицания С следует одновременная справедли-
вость А, В, С либо их отрицаний».
В. 17.
1. Построить оптимальную ФС, реализующую одноразрядный двоичный
сумматор при помощи ФЭ {|}.
2. Построить при помощи ФЭ {&, оптимальную ФС с двумя входами х, у
и двумя выходами f g, реализующую в двоичной системе вычисление полинома
Р(х,У) = х + у + 1. На выход/подается старший разряд двоичного значения по-
линома, на выход# — младший.
В. 18.
1. Проверить правильность утверждения: «Из справедливости ровно одного
из утверждений А, В или С следует одновременная справедливость А и отрица-
ния В либо В и отрицания С».
2. Оптимизировать ФС.
В. 19.
1. Построить оптимальную PC, реализующую функцию (10101100).
2. Любую ли ФС можно построить только из элементов, реализующих
функцию: а) (1000); б) (1100); в) (1110); г) (1111)? Ответ обосновать.
В. 20.
1. Построить оптимальную PC, реализующую функцию (01011010).
2. С помощью ФЭ {&, ->} построить оптимальную ФС преобразователя с дво-
ичными входами (х, у) и выходом / на который выдается сумма х и у по модулю 2.
В. 21.
1. Построить оптимальную PC, реализующую функцию (01001100).
2. Построить с использованием ФЭ {v, ->} оптимальную ФС, реализующую
функцию (х —> у) & х г.
В. 22.
1. Построить оптимальную PC с концевыми выключателями х, у, z, которая
замыкает цепь в следующих случаях: а) при включенных х, у и отключенном z',
б) включенных у, z и отключенном х; в) включенных z, х и отключенному.
160
Раздел II. Математическая логика
2. Привести примеры функций, ФС которых нельзя- построить только из
одних ФЭ типа Ф, 1}. Решение обосновать.
В. 23.
1. Построить оптимальную PC, реализующую функцию х ->у z.
2. Построить с использованием ФЭ {/} оптимальную ФС, реализующую
функцию (х v у) -> z.
В. 24.
1. В каких случаях верно рассуждение: «Если С следует из Л и С следует из
В, то из С следует выполнение А или В»?
2. Можно ли построить любую ФС при помощи ФЭ, реализующего функ-
цию (10001000). Ответ обосновать.
В. 25.
1. Построить оптимальную PC, реализующую автоматическую систему
управления, содержащую 2 датчика и 2 выхода/и g. На выходе f сигнал появля-
ется тогда, когда оба датчика включены, на выходе g — когда оба датчика одно-
временно выключены.
2. Построить с использованием ФЭ {|} оптимальную ФС, реализующую
функцию (00101101).
В. 26.
1. Проверить правильность рассуждения: «Если для осуществления собы-
тия С необходимо одновременное выполнение условий А и В, то из отсутствия С
вытекает невыполнение А или В».
2. Оптимизировать ФС.
В. 27.
1. Установка имеет основной привод П1 и вспомогательный П2, а также
датчики Д1, Д2, ДЗ. Ш должен включаться при включенных Д1, Д2 и отклю-
ченном ДЗ. П2 должен включаться наоборот, при отключенных Д1, Д2 и вклю-
ченном ДЗ. В остальных случаях приводы должны быть отключены. Построить
оптимальную PC для управления приводами Ш, П2 отдатчиков Д1, Д2, ДЗ.
2. Построить с использованием ФЭ {v, -л} оптимальную ФС, реализующую
автоматическую систему управления из задачи 1 В. 25.
ГЛАВА 2
АКСИОМАТИЧЕСКИЙ ПОДХОД К ПОСТРОЕНИЮ ТЕОРИЙ.
АЛГЕБРАИЧЕСКИЕ СИСТЕМЫ.
ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ
Применение аксиоматического подхода во многих случаях позволя-
ет установить причинно-следственные связи в теориях, упростить ис-
следование математических объектов за счет полного либо частичного
сведения их к другим, изученным ранее.
И в аксиоматических, и в прикладных конструктивных теориях
вначале в символьной форме задают множества изучаемых объектов и
операций над ними. Рассуждения об объектах с использованием опера-
ций представляют символьными записями специального вида — фор-
мулами.
Основное различие заключается в способах преобразования рас-
суждений. В аксиоматических системах для этого допускается исполь-
зование только заранее заданных формальных процедур (правил) пре-
образования формул. В конструктивных теориях наряду с формальны-
ми приемами применяют и другие методы, существенно учитывающие
свойства предметного множества и введенных на нем операций — на-
пример, таблицы истинности, диаграммы, логические схемы и др.
Понятие аксиом впервые было использовано в евклидовой геомет-
рии для обозначения утверждений теории, истинность которых не мо-
жет быть выяснена в ее рамках. Однако это не означает, что справедли-
вость аксиом не доказуема в общем случае. Для проверки применимо-
сти некоторой аксиоматической теории К в каждом конкретном случае
(для заданного набора объектов М и операций на нем) как раз необхо-
дима проверка выполнимости аксиом К. Производиться она должна
методами, лежащими за рамками теории К. Положительный результат
проверки аксиом К для некоторого математического объекта автомати-
чески влечет за собой справедливость для него всех теорем К — истин-
ных утверждений теории, которые получены в ней путем правильного
вывода из аксиом.
162
Раздел II. Математическая логика
2.1. Универсальные и предметные формальные теории.
Общие принципы их построения
С точки зрения области приложения формальные теории можно
подразделить на универсальные, в которых изначально задаваемые
множества изучаемых объектов и операций обезличены и не несут ни-
какой смысловой нагрузки, и предметные, предназначенные для иссле-
дования конкретных объектов с заданными на них операциями.
Построение формальной аксиоматической теории обычно включа-
ет следующие этапы.
I. Вводят формальное обозначение множества теории (например,
М) и его элементов. От выбора обозначения содержание теории не за-
висит. Обычно множества обозначают заглавными латинскими буква-
ми, их элементы — прописными.
В универсальных теориях смысловое содержание М не указывают.
Формальное обозначение предметного множества теории играет роль
«шаблона», в который затем можно «подставлять» реальные исследуе-
мые объекты.
В прикладных теориях рассматривают конкретные множества (на-
пример, высказывания, релейные схемы) и их элементы.
II. Вводят формальные обозначения операций {/} над М.
В универсальных теориях операциям {/} также не придают содержа-
тельного смысла. Обычно указывают только число переменных в них.
При одной переменной операцию называют унарной, при двух — би-
нарной и т. д.
В предметных теориях операциям задают реальное содержание пу-
тем описания способов их выполнения.
При выборе множества {/} обычно используют один из двух альтер-
нативных подходов:
а) включают операции в {/} таким образом, чтобы они были незави-
симы — ни одна не выражалась бы через остальные;
б) используют расширенное множество операций {/} для упроще-
ния вида получаемых формул.
Для более удобного последующего использования операций в фор-
мулах обычно оговаривают старшинство операций — очередность их
выполнения при последовательной записи, если другой порядок не за-
дан скобками.
III. Правильно записанные выражения, содержащие обозначения
элементов М и операций из {/}, в теориях называют формулами. Обыч-
но понятие формулы вводится дедуктивно. Смысл его заключается в
Глава 2. Аксиоматический подход к построению теорий... 163
том, что формулой называют: а) любую переменную или константу из
М и б) результат правильного применения операций из {/} к формулам.
IV. Выделяют подмножество формул {Л} = {Л15 А„}, которые в
данной теории полагают всегда истинными — при любых значениях
переменных, входящих в них. Их называют аксиомами.
В универсальных построениях аксиомы в принципе не доказуемы,
поскольку М и {/} изначально не несут никакой смысловой нагрузки.
В то же время, принятие аксиом накладывает на них некоторую систе-
му ограничений, сужая область применения теории только до тех ре-
альных объектов, у которых выполняются аксиомы {Л}.
В предметных теориях справедливость аксиом можно проверить,
используя свойства конкретных изучаемых Л/и {/}.
При выборе аксиом {Л}, как и для {/}, можно принять:
а) систему независимых аксиом, содержащую минимальное их ко-
личество, либо
б) расширенную систему аксиом, позволяющую упростить провер-
ку истинности конкретных формул.
ОПРЕДЕЛЕНИЕ. Подмножество аксиом Хс {Л} называется незави-
симым, если ни одна из аксиом в X не может быть выведена из аксиом,
не входящих в X.
Независимость принятой системы аксиом {Л} обычно доказывается
путем поочередного исключения всех аксиом А, из {Л} и доказательства
неполноты получаемой системы аксиом {Л}\Л,-, заключающейся в том,
что из нее нельзя вывести некоторые формулы первоначальной теории.
Для доказательства зависимости аксиомы Л, достаточно построить
ее выражение через аксиомы множества {Л}\Л?
V. Задают множество отношений между формулами, называемых
правилами вывода: {Р} = {Др ..., Pk}.
Правила вывода задают «верные» преобразования формул, позво-
ляющие из истинных посылок всегда получать истинные заключения.
К основным правилам, верным для всех формальных систем, отно-
сятся правила подстановки и замены. Справедливость их следует из
общего для всех теорий понятия теоремы (тавтологии).
Правило подстановки. Пусть A(q) — тавтология данной теории (тож-
дественно истинная формула), в которой переменной является некото-
рая формула q. Назовем A(q) исходной тавтологией. Подставляя в нее
формулу р вместо q, получаем новую тавтологию А(р), которая называ-
ется результатом подстановки.
164
Раздел II. Математическая логика
Правило замены. Если в формулу F входит подформула Л и ее заме-
нить эквивалентной формулой В, то вновь полученная формула F(B)
будет иметь то же значение истинности, что и исходная Р(Д).
Иногда данные правила явно включают в множество {Р}.
В предметных теориях для увеличения потенциальных возможно-
стей формального вывода, а также для упрощения его построения до-
бавляют и другие правила вывода. В отличие от правил подстановки и
замены, истинность данных правил обязательно должна проверяться с
использованием свойств конкретных изучаемых Л/и {/}.
Рассмотрим основные понятия аксиоматических теорий.
ОПРЕДЕЛЕНИЕ. Выводом в аксиоматической теории К называют
последовательность формул Д,..., Fn, где любая из них — либо аксиома
теории К, либо результат применения ее правил вывода {Р} к предыду-
щим формулам.
ОПРЕДЕЛЕНИЕ. Формулу Ртеории К называют теоремой теории К,
если существует вывод F{ ,..., Fn , в котором Fn = F.
Из определения следует, что теоремы могут быть получены только
из аксиом теории К при помощи ее правил вывода {Р}. Для обоснова-
ния их справедливости не требуется никаких дополнительных предпо-
ложений.
ОПРЕДЕЛЕНИЕ. Формулу F называют следствием в теории К мно-
жества формул Г, если существует вывод Р1;..., Fn = F, где любая фор-
мула Д принадлежит множеству {Л} и {Г} (аксиомы, дополненные фор-
мулами из Г) либо является результатом применения правил вывода {Р}
к предыдущим формулам. Формулы, входящие в Г, называют гипоте-
зами. Обозначают: Г |—F.
2.2. Универсальные алгебраические системы
Совокупность множества объектов с введенными на них операция-
ми обобщенно называют алгебраической системой.
Конструктивный подход предполагает изучение свойств некоторо-
го конкретного множества и операций на нем. Аксиоматическим мето-
дом исследуют абстрактные алгебраические системы, для которых
априори задают некоторый набор аксиом, являющихся обобщени-
ем свойств реальных объектов, выявляемых при их конструктивном
исследовании. Исторически аксиоматический подход был впервые
применен к группам.
Глава 2. Аксиоматический подход к построению теорий...
165
2.2.1. Группы
Рассмотрим некоторое обобщенное предметное множество М, на
котором введена двухместная операция /, условно называемая умноже-
нием и являющаяся отображением Применение ее к
элементам х, у g М обозначают как х у или ху.
ОПРЕДЕЛЕНИЕ. Алгебраическую систему с одной бинарной опе-
рацией {М, f=«- »} называют полугруппой, если данная операция f ассо-
циативна, т. е. для любых х, у, zеМ справедливо х • (у • z) = (х • у) • z (не
важен порядок выполнения операции).
Для выполнения преобразований элементов из М с использованием
f (например, решения уравнений) существенными являются существо-
вание в алгебраической системе {М, f] общего единичного элемента и
элементов, обратных к каждомухеМ.
ОПРЕДЕЛЕНИЕ. Единичным элементом е алгебраической системы
{М, /=«»} называют такой элемент ееМ, при котором для любого
х е М справедливо:
е • х = х • е = х.
Обратным к элементухеМ в алгебраической системе {M,f} назы-
вают такой элемент х-1 еМ, при котором
х-1 -х = хх~' =е.
ОПРЕДЕЛЕНИЕ. Алгебраическую систему {М,/=«•»} называют
группой, если выполнены три условия:
1) бинарная операция f ассоциативна;
2) существует единичный элемент;
3)для каждого элемента хеМ существует обратный к нему эле-
мент х-1.
Рассмотренную выше операцию умножения, в отличие от обычного
умножения на числовых множествах, называют групповым умножением.
Единичный элемент (общий для всех), так же как и обратные эле-
менты в группе — единственные.
Если операция f коммутативна (для х, у еМ справедливо х • у=у х),
то и группа называют коммутативной или абелевой (по имени норвеж-
ского математика Н. Абеля).
В практических приложениях встречаются алгебраические системы
с конечными множествами. Например, в алгебре логики в качестве
предметного используется множество Е2 - {0, 1}.
ОПРЕДЕЛЕНИЕ. Группы G={M,f}, содержащие конечное число
элементов (|А/| < оо), называют конечными. Число р((7) = |Л/| называют
166
Раздел II. Математическая логика
порядком группы. Если множество М бесконечно, то порядок группы
также называют бесконечным.
Рассмотрим примеры алгебраических систем с одной бинарной
операцией.
Примеры 1.
1. М= R,f — умножение вещественных чисел.
Операция ассоциативна и коммутативна, существует единичный
элемент (для VxeR справедливо: 1 х=х- 1 =х), однако для элемента
О 6 А не существует обратного элемента, для которого хч • 0 = 0 • х-1 = 1.
Поэтому данная система не будет группой.
2. М = Я+, /— умножение вещественных чисел.
Т. к. для каждого положительного вещественного числа х > 0 суще-
ствует обратное ему число 1/х, для которого (1/х) х = х • (1/х) = 1, то
данная система будет коммутативной группой бесконечного порядка
(поскольку |Л/| = С).
3. М= R,f— сложение вещественных чисел.
Операция ассоциативна и коммутативна, существует единичный
элемент (для VxgT? справедливо: 0 + х = х + 0 =х). При VxgT? существу-
ет обратный элемент (-х), для которого (-х) +х = х + (-х) - 0. Поэтому
данная система будет коммутативной группой бесконечного порядка.
4. М= {четные числа}, f— сложение целых чисел.
Операция ассоциативна и коммутативна, существует единичный
элемент (0). При VxeA существует обратный элемент (-х), также чет-
ный. Система является коммутативной группой бесконечного порядка
(М = к0).
5. М= {рациональные числа}, f— сложение дробных чисел.
Как и для целых чисел, можно доказать, что система является ком-
мутативной группой бесконечного порядка (|Л/| = Ко).
6. М= {невырожденные квадратные матрицы пхп}, f — умножение
матриц.
Операция умножения матриц ассоциативна, но не коммутативна,
что несложно показать на примере:
Г0 В (0 3^ = (4 0^ ГО 3> ГО В = (6 0^
1^2 oj\4 oj 1^0 6,1*44 oj\2 oj 4 4/
Для всего множества матриц существует единичный элемент — еди-
ничная матрица Е. Также для каждой невырожденной матрицы АеМ
существует обратная ей матрица А~‘, для которой А • А~‘ =А~‘ • А = Е.
Глава 2. Аксиоматический подход к построению теорий... 167
Следовательно, данная система является некоммутативной группой
бесконечного порядка.
7. М= {0, 1, 2}, f — сложение по модулю 3. Операция ассоциативна
и коммутативна, существует единичный элемент (0). Для всех а еМ су-
ществуют обратные элементы, равные (-а) = 3 - а:
(-0) = 3, (-1) = 3-1 = 2, (-2) = 3-2 = 1.
Поэтому данная система будет коммутативной группой порядка 3
(т = |Л/| = 3).
Задачи
1. Доказать единственность единичного элемента в группе.
2. Доказать единственность обратного элемента для каждого элемента
группы.
3. Выяснить, будут ли перечисленные алгебраические системы группами.
В случае положительного ответа дополнительно исследовать их коммутатив-
ность, а также порядок:
а) М = N, f— сложение натуральных чисел;
б) М = N, f— умножение натуральных чисел;
в) М= {четные числа}, f— умножение целых чисел;
г) М= {-1; +1}, /—умножение целых чисел;
д) М = {рациональные числа}, f — умножение дробных чисел;
е) М = {п-мерные пространственные векторы с вещественными координата-
ми},/— сложение векторов;
ж) М= {квадратные матрицы пхп}, f— сложение матриц;
з) М= {0,1, 2, 3}, /—сложение по модулю 4;
е) М= {0,1, 2, 3}, /—умножение по модулю 4.
2.2.2. Подгруппы. Порядок элементов конечных групп.
Циклические группы
ОПРЕДЕЛЕНИЕ. Рассмотрим группу {М, /=« »}. Алгебраическая
система {т, /'}, в которой т 0, т с М, а /' совпадает на М с /, являет-
ся подгруппой, если /: т х т -> т и все элементы, обратные к элементам
из т, также входят в т.
Всякая подгруппа содержит единичный элемент группы е.
Каждая группа содержит, как минимум две подгруппы, называемые
тривиальными. Это:
а) подгруппа, состоящая из одного единичного элемента группы е
(минимально возможная подгруппа) и
б) подгруппа, включающая всю исходную группу (максимально
возможная подгруппа).
168
Раздел II. Математическая логика
Рассмотрим примеры алгебраических систем в группах и выясним,
будут ли они подгруппами.
Примеры 2.
1. С={Л/ = Л+, f — умножение вещественных чисел}. Алгебраиче-
ская система {т = N = {множество натуральных чисел}, f — умножение
натуральных чисел} не будет группой, поскольку обратные к элементам
п вещественные числа вида 1/и не входят в N, нарушается условие f'.mx
хт-^т.
2. G = {М= R, f — сложение вещественных чисел}. Алгебраическая
система G' = {т = {множество целых чисел}, f — сложение целых чи-
сел} является подгруппой.
3. Группа бесконечного порядка G={M=R, f — сложение вещест-
венных чисел по модулю 2л}. Алгебраическая система G' = {т = {0, л/2,
л, Зл/2}, f — сложение вещественных чисел по модулю 2л} является
подгруппой G порядка 4.
Рассмотрим произвольную конечную группу (p(G) = |Л/| < оо). Для
любого ее элемента а среди степеней а1, а2,... всегда встретится повтор
элементов, при котором: aJ = a‘,j>i. Умножая обе части равенства на
обратный элемент (а1)-1, получим aJ~‘ = e, где е — единичный элемент
по групповому умножению.
ОПРЕДЕЛЕНИЕ. Группу G порядка p(G) называют циклической, ес-
ли все ее элементы могут быть представлены в виде степеней элементов
е, а1, а2,..., ap(Gt-1 некоторого элемента группы а.
ОПРЕДЕЛЕНИЕ. Наименьшее натуральное число р(а), при кото-
ром для элемента а группы G справедливо соотношение л?(а) = е, назы-
вают порядком элемента а. Совокупность элементов е, а1, а2,ар^~!
составляет циклическую подгруппу в G.
Замечание. Для единичного элемента е каждой группы порядок
р(е) = 1, для всех других — превышает 1.
Пример 3. Рассмотрим конечную группу порядка 6: G={M= {0, л/6,
л/3, л, 2л/3, 5л/6}, f — сложение вещественных чисел по модулю л} и
исследуем порядок ее элементов {0, л/6, л/3}.
1. Элемент 0 — единичный элемент группы. Его порядок равен 1.
2. Порядок р(л/6) элемента л/6 &М равен 6. Подгруппа, образуемая
его степенями, равна всей G.
3. Порядокр(п/3) элемента л/3 еМ равен 3. Совокупность степеней
элемента {л/3, 2л/3, Зл/З = 0 (гпобл)} образует в G циклическую под-
группу порядка 3.
Глава 2. Аксиоматический подход к построению теорий...
169
Ответ: в рассмотренной группе порядка 6 выделенные элементы
имеют порядки 1, 6, 3.
Для конечных групп справедлива
Теорема 2.2.1 (теорема Лагранжа). Порядок р(а) любого элемента а
конечной группы Gявляется делителем порядка группы p(G).
Следствие. Конечная группа G= {М, f} при простом значении ее по-
рядка p(G) всегда является циклической, т. е. все элементы из Ммогут
быть представлены в виде степеней е, а{, а2,..., некоторого эле-
мента группы а. Отличительной особенностью циклических групп, имею-
щих простой порядок p(G), является то, что у всех ее элементов а, кроме
единичного {а е), порядок равен p(G), т. е. каждый из них порождает
всю группу.
Пример 4.G— конечная группа простого порядка 5: G= {М= (0, 1,2,
3, 4}, f — сложение по модулю 5}. Единичным элементом группы е яв-
ляется 0. Перечислим степени всех остальных элементов а1, а2, а3, а4,
а5 = е:
1) а = 1: а1 = 1, а2 = 2, а3 = 3, а4 = 4, а5 = 0;
2) а = 2: а1 - 2, а2 = 4, а3 = 1, а4 = 3, а3 = 0;
3) а = 3: а1 - 3, а2 = 1, а3 = 4, а4 = 2, а5 = 0;
4) а = 4: а1 = 4, а2 = 3, а3 = 2, а4 = 1, а5 = 0.
Ответ: каждый из ненулевых элементов группы порождает все
предметное множество группы Л/, различен лишь порядок перечисле-
ния его элементов.
Задачи
1. Выяснить, будут ли в заданных группах G= {M,f} подгруппами выделен-
ные алгебраические системы {m,f}:
а) (7 = {М= {-1; +1},/— умножение целых чисел}, {т = {+1}, f — умножение
целых чисел};
б) G= {М= {целые числа}, f — сложение целых чисел}, {m = N, f — сложе-
ние натуральных чисел};
в) G= {М= {0, 1, 2, 3, 4, 5}, f — сложение по модулю 6}, {т = {0, 1, 3, 5}, /—
сложение по модулю 6};
г) G= {М= {0, 1, 2, 3, 4, 5}, f — сложение по модулю 6}, {/« = {0,2,4}, /—
сложение по модулю 6}.
2. Найти порядкир(а) элементов а конечных группах (7= {M,f\ и построить
подгруппы, порождаемые ими:
a) G= {М= {0,1, 2, 3}, /—сложение по модулю4}, а, = 2, а2 = 3;
б) G= {М= {0, 1, 2, 3,4, 5, 6}, /— сложение по модулю 7}, а, = 2, а2 = 4, а3 = 5.
170
Раздел II. Математическая логика
2.2.3. Кольца, поля
Рассмотрим на предметном множестве М две бинарных операция f
и g, условно называемых умножением и сложением, f: Мх М-у М,
g\ Мх М-ч► М.
ОПРЕДЕЛЕНИЕ. Алгебраическую систему с двумя бинарными
операциями {М, f = « », g = « + »} называют кольцом, если выполнены
три условия:
1) бинарная операция сложения g образует на М коммутативную
группу (аддитивная группа кольца);
2) бинарная операция умножения f образует на М полугруппу
(мультипликативная группа кольца);
3) сложение и умножение связаны дистрибутивными законами: для
любых х, у, z е М справедливы соотношения x-(y + z)=x-y + x-z и
(х + у) -z = x-z + y -Z-
Единичный элемент операции сложение g = « + » называют по ана-
логии с числовыми группами нулем, для поля он всегда существует.
Обратный кх элемент для данной операции обозначают как (-х). Сло-
жение с ним у + (-х) обозначают каку -х.
ОПРЕДЕЛЕНИЕ. В том случае, когда мультипликативная группа
кольца коммутативна, все кольцо также называют коммутативным.
Если мультипликативная группа кольца имеет единичный элемент,
кольцо называют кольцом с единицей.
Два элемента кольца, отличных от нуля, произведение которых
равно нулю, называют делителями нуля. Кольцо, не содержащее таких
элементов нуля, называют кольцом без делителей нуля.
ОПРЕДЕЛЕНИЕ. Кольцо с единицей (1) {M,f=« •»,£ = « + »} назы-
вают полем, если каждый ненулевой элемент хеЛ/ имеет обратный
элементх-1 еМпо операции умножения, при'которомх-х-1 = 1.
Очевидно, поля не содержат делителей нуля.
Рассмотрим примеры алгебраических систем с двумя бинарными
операциями.
Примеры 5.
1. М= R, f, g — умножение и сложение вещественных чисел.
Данная система является коммутативным кольцом с единицей без
делителей нуля. Также она является полем, поскольку для любого не-
нулевого вещественного числа х существует обратное к нему по умно-
жению число
х 1 = 1/х.
Глава 2. Аксиоматический подход к построению теорий...
171
2. М= {четные числа}, f,g — умножение и сложение целых чисел.
Данная система является коммутативным кольцом без единицы,
поэтому не образует поля.
3. М= {рациональные числа}, f, g — умножение и сложение дробных
чисел.
Данная система является коммутативным кольцом с единицей без
делителей нуля. Поскольку для любого ненулевого рационального чис-
ла х = (+т/п) (т, п gTV) существует обратное к нему по умножению чис-
ло = 1/х = (±п/т), то система также она является полем.
4. М = {квадратные матрицы и хи}, f, g — умножение и сложение
матриц.
Данная система является некоммутативным кольцом с единицей.
Кольцо содержит делители нуля, например:
1 (П (О ОНО 01 fl 2W2 “4W° Д
0 0Д0 2j“l40 О/ Д 4/Д1 2 J До 0/
Поэтому система не образует поля.
5. М= N = {0, 1,...} — расширенный натуральный ряд,/, g — умно-
жение и сложение mod/:, где k&N.
Если к — простое число, то данная система является полем, которое
называют полем Галуа. (Э. Галуа — французский математик.) Обознача-
ется оно GF(k).
При составном к рассмотренная система не будет полем.
Задачи
1. Доказать, что всякая подгруппа содержит единичный элемент группы е.
2. Доказать, что поля не содержат делителей нуля.
3. Доказать, что при к — составном положительном целом числе расши-
ренный натуральный ряд вместе с умножением и сложением по mod к не обра-
зуют поле.
4. Выяснить, образуют ли перечисленные алгебраические системы кольцо
(с проверкой коммутативности, наличия единицы и делителей нуля), а также —
поле:
а) м= {-1; +1}, /, # — умножение и сложение целых чисел;
б) М= {-1; 0; +1}, / g — умножение и сложение целых чисел;
в) М= {0,1,..., к- 1}, f g — умножение и сложение целых чисел по моду-
лю к [к — простое число);
г) М- {0, 1,..., к- 1}, f,g — умножение и сложение целых чисел по моду-
лю к {к — составное число).
172
Раздел II. Математическая логика
1.1А. Решетки
Простейшей алгебраической системой, вводящей порядок на эле-
ментах заданного множества, является частично упорядоченное мно-
жество (см. разд. I). На нем введено бинарное отношение частичного
(нестрогого) порядка (<), удовлетворяющее аксиомам рефлексивности,
антисимметричности и транзитивности. Рассмотрим производные от
него более сложные универсальные системы — решетки и булевы ал-
гебры.
Вначале дадим интуитивное определение. Решеткой называют час-
тично упорядоченное множество М, в котором для каждого двухэле-
ментного подмножества (a, b) с М существует точная нижняя (inf(а, Ь))
и верхняя (sup (а, />)) грани.
Бинарные операции определения inf(a, b) и sup (а, Ь) обычно назы-
вают конъюнкцией и дизъюнкцией и обозначают в алгебраических тео-
риях как « » и « + ».
С использованием введенных операций дают формальное (аксио-
матическое) определение решеток.
ОПРЕДЕЛЕНИЕ. Решеткой называют алгебраическую систему с
двумя бинарными операциями (конъюнкция и дизъюнкция) {М, f= «»,
g = « + »}, которые удовлетворяют следующему набору аксиом:
1) коммутативность:
а + b = b + а, а - b = b • а;
2) ассоциативность:
(а + Б) + с = а + (Ь + с), (а • Ь) • с = а (Ь • с);
3) идемпотентность:
а + а = а, а • а = а;
4) поглощение:
а + (а Ь) = а, а • (а + Ь) = а.
Замечание. Аксиома ассоциативности 2) означает несуществен-
ность порядка расчета отдельных бинарных операций одного вида при их
последовательном выполнении. Данную аксиому для обеих операций ре-
шетки можно представить в виде
а ° (Ь ° с) = (а ° Ь) ° с = а ° b ° с,
что показывает возможность обобщения рассмотренных бинарных опера-
ций на случай любого числа переменных, используемых в них. Обобщен-
ную операцию обычно обозначают в префиксной форме ° (а, Ь, с,...).
Вследствие ассоциативности исходной бинарной операции порядок вы-
числения результата в ее обобщении не нужно указывать, поскольку пра-
вильной будет любая последовательность действий.
Глава 2. Аксиоматический подход к построению теорий...
173
Наборы операций и аксиом для решеток независимы, следователь-
но, являются минимальными.
Пример 6. На множестве вещественных чисел R в качестве конъ-
юнкции и дизъюнкции приняты обычные операции умножения и сло-
жения вещественных чисел. Необходимо выяснить, будет ли данная
алгебраическая система решеткой.
Решение. Для умножения и сложения вещественных чисел справед-
ливы аксиомы коммутативности и ассоциативности, однако не выпол-
няются идемпотентность и поглощение.
Ответ’, рассмотренная алгебраическая система не является ре-
шеткой.
ОПРЕДЕЛЕНИЕ. Дистрибутивной называют решетку, для которой
дополнительно выполняется аксиома дистрибутивности, связывающая
обе бинарных операции:
а (Ь + с) = а b + а с, а + b с = (а + Ь) (а +с).
Пример 7. Рассмотрим алгебру подмножеств, в которой множеством
объектов Л/является булеан [А] непустого множествах На элементах М
(подмножествах X) отношение частичного порядка задано предикатом
Р(х, у) = «хсу». Проверить, будет ли рассмотренная алгебраическая
система дистрибутивной решеткой в случае естественного задания на
ней при хсу коммутативных бинарных операций конъюнкции и дизъ-
юнкции:
х • у = inf(x, у) = х, х + у = sup(x, у) = у.
Решение. При заданных операциях конъюнкции и дизъюнкции они
имеют смысл пересечения и объединения множеств, поскольку в слу-
чае хсу:х-у=х=хпу, х + у=у=хиу. При этом аксиомы 1)—4) оп-
ределения решетки и аксиома дистрибутивности совпадают с соответ-
ствующими законами алгебры множеств, рассмотренными в разд. I.
Ответ: заданная алгебраическая система является дистрибутивной
решеткой.
Замечание. Поскольку в аксиомы решетки и свойства дистрибу-
тивности операции конъюнкции и дизъюнкции входят симметрично, то в
конкретных системах их можно менять местами. Так, в Примере 2 можно
задать в случае хсу:ху=у = хиу, х+у = х = хпу. В силу симметричного
вхождения операций в формулировки аксиом новая структура также будет
дистрибутивной решеткой.
Пример 8. Определить, является ли дистрибутивной решеткой ал-
гебраическая система {М= R, Дх, у) = min (х, у), g(x, у) = max (х, у)}.
174
Раздел II. Математическая логика
Решение. При заданных операциях конъюнкции (min (х, у)) и дизъ-
юнкции (тах(х, у)) выполнение аксиом коммутативности, ассоциа-
тивности и идемпотентности очевидно. Рассмотрим справедливость
первого равенства в аксиоме поглощения. В соответствии с ним для
любых вещественных чисел а, b должно выполняться равенство
max(a, min (а, Ь)) = а.
Для доказательства можно использовать метод разбора возможных
случаев. Примем два исхода: 1) а < Ь и 2) а > Ь;
1) a<b-+ min (a, b) = a, max (а, а) = а;
2) а > b -> min (а, b) = b, max (а, Z>) = а.
Поскольку в обоих случаях левая часть равна а, то первое равенство
аксиомы выполняется. Аналогично можно доказать и второе. Следова-
тельно аксиома поглощения справедлива и рассмотренная алгебраиче-
ская система будет решеткой.
Аналогично путем разбора возможных случаев можно доказать вы-
полнение первого равенства в аксиоме дистрибутивности, которое при-
нимает вид: min(a, max(Z>, с)) = max (min (a, b), min(a, с)). В качестве пол-
ного набора можно, например, рассмотреть случаи:
1) a = min (а, Ь, с);
2а) b = min (а, Ь, с), а < с; 26) b = min (а, Ь, с), а > с;
За) с = min (а, Ь, с), а<Ь; 36) с = min (а, Ь, с), а > Ь.
Подстановкой в левую и правую части равенства несложно показать
его выполнение во всех случаях. Поэтому первое равенство аксиомы
всегда справедливо.
Аналогично можно доказать выполнение и второго равенства. Сле-
довательно аксиома дистрибутивности справедлива для данной алгеб-
раической системы.
Ответ', рассмотренная алгебраическая система является дистрибу-
тивной решеткой.
В решетках рассматривают только одну операцию сравнения эле-
ментов множества М — равенство. В отличие от предметных операций
«•»,« + » и других, она является логической. Аксиомы и выводимые из
них теоремы данных алгебраических систем представляют собой сим-
вольные записи с равенством и задают эквивалентные преобразования
формул, не изменяющие их истинности.
В общем случае под равенством интуитивно понимают полное сов-
падение элементов, стоящих в левой и правой частях данного отноше-
ния, например, если элементы являются целыми числами. Однако для
сложных объектов под равенством обычно имеют в виду достаточно
Глава 2. Аксиоматический подход к построению теорий... 175
высокую степень сходства их характерных признаков, которые задают в
соответствующей предметной теории.
Помимо равенства в предметных теориях для сравнения элементов
используют и другие логические операции. Например, в случае когда
элементы М сами являются множествами, — строгое и нестрогое вклю-
чение. С применением данных операций также можно формулировать
аксиомы теорий, которые затем могут быть использованы при выводе
теорем.
2.2.5. Булевы алгебры
ОПРЕДЕЛЕНИЕ. Единицей бинарной коммутативной операции «°»,
заданной на множестве М, называют элемент ее Л/, при котором для
любого элемента хеМ справедливо: х° е- е ° х = х.
Замечание. Для задания единицы достаточно выполнения на всех
элементах хеМ одного из свойств: х0 е = х либо е0 х = х, поскольку равен-
ство следует из коммутативности рассмотренной операции.
Если единица у бинарной коммутативной операции существует, то
она единственна, поскольку для двух любых единичных элементов
е{ еЛ/и е2 еМ из определения единицы следует е1 = е2° е^ = е2.
ОПРЕДЕЛЕНИЕ. Единичным элементом решетки (М, -, +) называют
единицу ее первой операции « » конъюнкции, задающей inf (а, Ь). Ну-
левым элементом решетки (Л/, •, +) называют единицу ее второй опера-
ции « + » дизъюнкции, определяющей sup (а, Ь). Обозначают единич-
ный и нулевой элементы как 1 и 0.
Нулевой и единичный элементы решетки (Л/, , +) являются, соот-
ветственно наименьшим и наибольшим элементами М с точки зрения
частичного порядка, введенного на нем. Только в этом случае свойства
х • 1 = inf (х, 1) = х, х + 0 = sup (х, 0) = х выполняются для всеххеМ.
С помощью единичного и нулевого элементов для дистрибутивной
решетки вводят понятие дополнения.
ОПРЕДЕЛЕНИЕ. Операцией дополнения в решетке (М, , +), имею-
щей единичный 1 и нулевой 0 элементы, называют унарную операцию,
в которой каждому хеМставят в соответствие элементх еМ, называе-
мый дополнением х, для которого выполняются два равенства:
х-х = 0, х + х = 1.
Результат применения операции дополнения к элементу х обозна-
чается как х или х.
В дистрибутивных решетках с дополнением каждый элемент хеМ
имеет единственное дополнение. Если допустить обратное, т. е. суще-
176
Раздел II. Математическая логика
ствует элемент хеМ, у которого два различных дополнения Xj и х2, то,
последовательно используя аксиомы дистрибутивной решетки и свой-
ства обратного элемента, получим
X, = X, • 1 = X, • (Х + Х2) = *1 • X + х, х2 = 0 + Xi • х2 - х • х2 + *1 • х2 =
= х2 • (х + х0 = х2 • 1 = х2,
что противоречит допущению о неединственности дополнения элемента х.
Пример 9. Выяснить существование единичного и нулевого элемен-
тов в алгебре подмножеств (М= [Л], п, и) из примера 7 п. 2.2.4. Можно
ли ввести в алгебре подмножеств операцию дополнения?
Решение. Поскольку М= [А], то при заданных операциях конъюнк-
ции (пересечение множеств п) и дизъюнкции (объединение множеств
и) равенства
хп 1 = 1 пх = х; хи0 = 0их = х
выполняются для всех хеЛ/ тогда и только тогда, когда 1 =Х (универ-
сальное множество), а 0 = 0.
С учетом смысла конъюнкции и дизъюнкции, а также нулевого и
единичного элементов дополнение х любого элемента хе Л/должно
удовлетворять условиям
хпх = 0, x<jx=X.
Очевидно, данные условия будут выполнены для любого хеЛ7 в
случае х = А\х (в х входят все элементы X, не входящие в его подмно-
жество х).
Ответ: решетка (М = [Л],о) имеет единичный элемент 1=Х и
нулевой элемент 0=0. Операция дополнения любого элемента хеМ
сводится к вычитанию х из универсального множества X: х = А\х.
Замечание. Для решетки (М = [A], u, n) 1 = 0, 0 = X, а операция до-
полнения такая же: х = Х\х.
ОПРЕДЕЛЕНИЕ. Булевой алгеброй называют дистрибутивную ре-
шетку с унарной операцией дополнения.
Замечания. 1. Булева алгебра является универсальной аксиомати-
ческой системой, у которой изначально принятые множества объектов и
операций не имеют предметного содержания. Связи на них накладывает
только система аксиом. Для сравнения объектов используется только одна
логическая операция — равенство.
2. Для решетки, имеющей единичный 1 и нулевой 0 элементы, спра-
ведливость аксиомы идемпотентности вытекает из аксиомы поглощения:
из а + (а • 1) = а следует а + а = а, а из а • (а + 0) = а следует а а = а. Поэто-
му идемпотентность исключают из минимального набора аксиом булевой
алгебры.
Глава 2. Аксиоматический подход к построению теорий... 177
С учетом последнего замечания развернутое аксиоматическое опре-
деление булевой алгебры дают в следующем виде.
ОПРЕДЕЛЕНИЕ. Булевой алгеброй называют множество М с вве-
денными на нем двумя бинарными операциями — конъюнкцией « • » и
дизъюнкцией «+», унарной операцией дополнение «-,», единичным 1 и
нулевым 0 элементами, которые в сумме удовлетворяют следующим
аксиомам:
А1 — коммутативность:
a) a + b = b + а; 6)ab = ba;
А2 — ассоциативность:
а) (а + Ь) + с = а + (Ь + с); б) (а • Ь) • с - а • (Ь • с);
АЗ — поглощение:
а) а + (а • Ь) = а; б) а • (а + Ь) - а;
А4 — дистрибутивность:
а) а + b • с = (а + Ь) • (а + с); б) а (Ь + с) = а • Ь + а с;
А5 — свойства единичного и нулевого элементов:
а)я + 0 = 0 + а=а; б) а 1 = 1 а = а;
А6 — законы дополнительности:
а) а + а = 1; б) а -а = 0 .
Замечания. 1. Наборы операций и аксиом для булевых алгебр неза-
висимы и являются минимальными.
2. В булевой алгебре не оговаривается понятие формулы, старшинство
операций и правила вывода. Отсюда следует, что порядок выполнения би-
нарных операций должен определяться скобками. По умолчанию в качест-
ве правил вывода могут использоваться только правило подстановки и пра-
вило замены.
Пример 10. Рассмотрим натуральное число N. Возьмем в качестве
множества объектов М числа N, 1 и все целые делители N (например,
при N= 20 М= {1, 2, 4, 5, 10, 20}). Примем в качестве нулевого элемента
число 1, в качестве единичного — число N. Операции введем следую-
щим образом:
1) х = N/x;
2) х у = НОД(х, у) — наибольший общий делитель х, у;
3) х + у = НОК(х, у) — наименьшее общее кратное х, у.
Выполнимость аксиом булевой алгебры может быть проверена не-
посредственной проверкой соответствующих арифметических опера-
ций. Рассмотренное множество М вместе с введенными на нем опера-
циями является булевой алгеброй.
178 Раздел II. Математическая логика
Используя аксиомы булевой алгебры, правила подстановки и заме-
ны, можно доказать справедливость следующих ее свойств:
1) идемпотентность;
2) законы де Моргана:
-1 (а + b) = -I а • -I Ь, (а Ь) = а + -> Z>;
3) отрицание третьего:
-> -1 а = а\
4) правила действия с константами:
я+1 = 1,а-0 = 0,-,0=1,-,1 = 0;
5) законы поглощения дополнений:
а + (-, а • Ь) = а + Ь, а • (-> а + Ь) = а • Ь;
6) склеивание:
(а + Ь) • (а + -1 Ь) = а, (а Ь) + (а • Ь) = а,
а также других.
Для пояснения вывода в скобках указывают используемые аксио-
мы, при необходимости — способ их применения.
Пример 11. Доказать в булевой алгебре свойство отрицания третье-
го: -1 -1 а = а.
Решение.
1) а • -1 а = 0 (Абб применена к а, А1б);
2) а а = 0;
3) а + а = 1 (Аба применена к а, Ala);
4) -1 а + а = 1.
Из равенств 2) и 4) следует, что элемент а является дополнением
элемента а : а = ->(-, а).
Однако элемент -> а также является обратным к -> а. В силу дока-
занной выше единственности обратного элемента, элемент -> а сов-,
падает с а: -> -> а = а, что и требовалось доказать.
Пример 12. Доказать правило действия с константами: а 0 = 0.
Решение.
1)яО = (А1б);
2)0-л= (А5а применить к а);
3)0(я + 0)= (АЗа);
4)0,
что и требовалось доказать.
Пример 13. Доказать в булевой алгебре второй закон де Моргана:
-1 (а • b) = -1 а + -) Ь.
Решение. Для краткости вывода используем в нем доказанное выше
правило а • 0 = 0.
Глава 2. Аксиоматический подход к построению теорий... 179
Правая часть закона является дополнением произведения а Ь, то-
гда и только тогда, когда для нее выполняются два свойства:
1) (а • Ь) • (- а + Ь) = 0 (Абб для (я • />));
2) (а • b) + (-1 а + -1 b) = 1 (Аба для (а • Ь)).
Докажем их.
1. (а • Ь) • Ь а + Ь) = (Мб);
(а • b • -1 а) + (а b • -i b) = (Абб применить к b • -> Ь);
(а • b • -1 а) + (а • 0) = (А1б применить к b • а);
(а • -1 а • Ь) + (а • 0) = (Абб применить к а • а);
(0 • Ь) + (а • 0) = (А1б применить к 0 • Z>);
(Ь • 0) + (а • 0) = (правило а • 0 = 0);
0 + 0 = (А5а применить к 0);
0.
2. (а Ь) + (-1 а + -1 Ь) = (А4а);
(-,а+-,/>+ а) • (—1 а +-,b + b) = (Аба применить к b + Ь);
(-,а +—.b +а) • (-1 а + 1) = (Ala применить к b + а)',
(-. а + а + Ь) • (-, а + 1) = (Аба применить к а + а);
(1 + Ь) • (а+ 1) = (Ala применить к-, а+ 1);
(! + £)• (1 + а) = (А5б к b и -л а);
(1 + 1 • Ь) • (1 + 1 а) = (АЗа к скобкам);
11 = (А5б);
1.
Ответ: в силу того, что свойства 1) и 2) доказаны, сумма (-, а + -> Ь)
является дополнением произведения а - Ь,т. е. второй закон де Моргана
доказан.
В универсальных алгебраических системах не используются свойст-
ва элементов множества М и правил выполнения предметных операций
с ними помимо тех, которые заданы аксиомами этих систем.
Рассмотрим примеры предметных теорий, которые являются буле-
выми алгебрами.
I. Алгебра подмножеств. Выше показано, что для построенной на бу-
леане непустого множества Xалгебраической системы (Л/ = [А], • = п, +
= u, 1 = X, 0 = 0, х = Х\х) выполняются все аксиомы булевой алгебры.
Справедливость их (в виде соответствующих законов алгебры мно-
жеств) доказывается при помощи полных диаграмм пересечений либо
векторов включений.
II. Алгебра логики. В качестве предметного в данной теории принято
множество Л/всех высказываний. Если операциям конъюнкции, дизъ-
юнкции и дополнения придать смысл логических конъюнкции (&),
180
Раздел II. Математическая логика
дизъюнкции (v) и отрицания (-1), а нулевому и единичному элементу —
значения 0=Л, 1 = И, то аксиомы булевой алгебры совпадут с одно-
именными законами алгебры логики. Справедливость их доказывается
в рамках самой алгебры логики при помощи таблиц истинности. Сле-
довательно, данная алгебраическая система также относится к булевым
алгебрам.
Задачи
1. Доказать, что приведенное в примере 10 множество М вместе с введен-
ными на нем операциями является булевой алгеброй.
2. Доказать тождественную справедливость в булевой алгебре следующих
формул:
а) первого закона де Моргана;
б) а+ 1 = 1;
в) закон поглощения дополнений: а +(-д а • Ь) = а + Ь;
г) склеивания: (а + Ь) (а + Ь) = а.
2.3. Аксиоматическое построение исчисления высказываний
Исчисление высказываний (ИВ) — предметная аксиоматическая
система, предназначенная для построения и определения истинности
сложных высказываний, составленных из простых высказываний при
помощи логических связок алгебры логики. Результаты, полученные
при использовании формального подхода, помогают глубже понять
структуру ИВ и используются в теориях более высоких порядков.
Прикладной интерпретацией ИВ является алгебра логики. Здесь к
исследованию сложных высказываний наряду с формальными приема-
ми применены другие средства, наиболее мощным из которых являют-
ся таблицы истинности. Они позволяют выяснить тавтологичность,
противоречивость, эквивалентность формул и т. д. Однако решение
ряда вопросов (например, построение логического вывода) с помощью
таблиц истинности затруднено либо вообще невозможно.
В ИВ тавтологиями называют формулы, истинные при любых зна-
чениях своих переменных, а теоремами — утверждения, получаемые из
аксиом при помощи правил вывода.
Рассмотрим наиболее известные примеры формальных аксиомати-
ческих построений ИВ. Описание их дадим путем изложения пяти обя-
зательных пунктов, полностью определяющих формальную теорию.
Они даны в разд. 2.1.
Глава 2. Аксиоматический подход к построению теорий...
181
Система Э. Мендельсона
I. Обозначения переменных и констант М — множество латин-
ских букв.
II. Множество операций — логические связки {/} = {-,, —>}.
III. Определение формул — дедуктивное.
IV. Множество аксиом Л2, Л3 = {Л} следующее:
Лр Л -+(В-> Л);
Л2: (А -> (В^ С)) ((Л -> 5) -> (Л -> Q);
Л3:
V. Правило вывода одно: modus ponens (m. р.) — правило сокращения
посылки. Словесно оно может быть сформулировано следующим обра-
зом: «если верно высказывание Л и из Л следует В, то верно и В». В ос-
нове правила лежит тавтология: Л & (Л -> В) = В. Специальное обозна-
чение его имеет вид
А, А-у В
В
Введенную теорию обозначают логикой Д. Ее предметное множе-
ство составляют высказывания. Также определен смысл операций.
Множества логических связок {/} и аксиом {Л} в независимы. Объем
системы минимален, однако построение выводов в ней затруднено.
Формально правило вывода одно, но наряду с ним при выводе все-
гда используют правила подстановки и замены. Справедливость аксиом
теории и правила modus ponens можно доказать конструктивным путем
(с использованием таблиц истинности) либо от противного. В послед-
нем случае все равно необходимо использовать свойства логических
связок алгебры логики.
Для любой формальной теории, описывающей ИВ, множество ис-
пользуемых операций — логических связок {/} должно быть полно в
множестве всех функций алгебры логики Р2. В случае независимости
операций (например, в логике они составляют функциональный
базис в Р2.
Пример. Доказать лемму о том, что в для любой формулы А спра-
ведливо:
|— (А -> А), т. е. \/А е Д |— (А -> А).
А Д
Доказательство. Построим вывод утверждения леммы из аксиом
А2—А2 с применением правила вывода modus ponens:
182
Раздел II. Математическая логика
1) (Л-> (8-> Q) -> ((Л-> В) -> (Л-> Q) = (А2, подстановки: (А->А)
вместо В, А вместо Q;
2) = (Л -> ((Л -> Л) -> Л)) -> ((Л -> (Л -> Л)) -> (Л -> Л));
3) Л-> (Д-> Л) = (Л], подстановки: (Л->Л) вместо В)',
4) Л-> ((Л-> Л)-> Л) (т. р. к 4) и 2));
5) (Л-> (Л-> Л))-> (Л->Л);
6) Л-> (Д-> Л) = (Ль подстановка: Л вместо В)-,
7) Л-> (Л-> Л) (т. р. к 7) и 5));
8) (А -> А), и т. д.
Таким образом, построен вывод Т’1,Fs, в котором Fs = А -> Л.
Это доказывает утверждение леммы о том, что в логике для лю-
бой формулы Л утверждение (Л -> Л) является теоремой. При выясне-
нии истинности формул зачастую проще проверить формулы, равно-
сильные данной. Одним из способов получения равносильных формул
является вынесение формул, входящих в гипотезы, в следствие.
Теорема 2.2.2 (теорема дедукции Эрбана). Пусть Г — гипотезы, а А,
В — формулы. Тогда Г и Л |— В <=> Г |— (Л->.8).
Следствие 1. (Л -> Д) & (8 -> С) |—Л -> С.
Следствие 2. (Л -> (В -> Q) & В |—Л -> С.
ОПРЕДЕЛЕНИЕ. Теория L называется противоречивой, если в ней
существует формула Л, такая, что Л и Л — теоремы в L. Если таких
формул Л не существует, то теория называется непротиворечивой.
Непротиворечивость формальных теорий L, описывающих ИВ,
может быть получена с помощью теоремы Кальмара.
Теорема 2.2.3 (теорема Кальмара). Любая теорема теории L является
тавтологией.
Справедливость теоремы следует из того, что: 1) аксиомы каждой
теории являются тавтологиями, а применяемые к ним правила вывода
сохраняют тавтологичность формул и 2) для любой тавтологии сущест-
вует вывод ее из аксиом теории.
Следствие. Система L непротиворечива, т. к. по теореме Кальмара
каждая теорема является тавтологией. Отрицание тавтологии является
противоречием, следовательно, оно не будет являться тавтологией и не
будет теоремой в L.
Формальные системы в ИВ с независимыми множествами аксиом
были предложены и другими исследователями. Укажем в них только
характеристики, существенно отличающие их от Ьл.
Глава 2. Аксиоматический подход к построению теорий...
183
Система Гильберта — Аккермана
II. Множество логических связок {/} = {v, ->}.
IV. Множество аксиом {Л}:
Лр (Л v Л) -> А;
Л2: Л -> (Л v В);
Л3: (Л v В) -> (В v В);
Л4: (В->С)->((ЛуВ)->(ЛvQ).
Система Рассела — Бернайса
II. Множество логических связок {/} = {v, ->}.
IV. Множество аксиом {Л}:
Лр (Л v Л) —> Л;
Л2: Л -> (Av А);
А3: (A v В)-> (В v А);
Л4: (Л-> В)-> ((Cv Л)-> (Cv В)).
Система Россера
II. Множество логических связок {/} = {&, ->}.
IV. Множество аксиом {Л}:
Лр Л-> (Л&Л);
Л2: (Л&Л)->Л;
Л3: (Л-> В)(В & С)->-> (С&Л)).
Для практической реализации логического вывода более предпоч-
тительными являются формальные системы ИВ с расширенными мно-
жествами аксиом и операций. Одной из таких является система
П. С. Новикова.
Система П. С. Новикова
II. Множество логических связок {/} = {->, &, v}.
IV. Множество аксиом {Л}:
Лр Л->(В->Л);
Л2: (Л -> (В-> Q) -> ((Л -> В) -> (В-> Q);
Л3: Л &В->Л;
Л4: Л &В->В;
Л5: (Л -> В) -> ((Л-> Q) -> (Л -> В& Q);
Л6: Л —> (Л v В);
Л7: В—>(ЛуВ);
Л8: (A-^C)^((B->C)->(Av В^С))-,
А9: (Л^В)^((В^>-,Л);
Л10: (Л^^^Л);
Ли: (-,-,Л->Л).
184
Раздел II. Математическая логика
Задачи
1. Доказать, что логические связки, используемые в качестве операций в
логике Lj, составляют функциональный базис в Р2.
2. Будет ли множество логических связок, используемых в системах Гиль-
берта — Аккермана и Рассела — Бернайса, функциональным базисом в Р2?
3. Доказать истинность аксиом А 1; А2, А3 логики Lt в алгебре логики.
4. Доказать справедливость в алгебре логики правил:
а) утверждающего модуса (modus ponens) ;
Я
б) отрицающего модуса ( modus tollens)
->Р
ГЛАВА 3
КОНЕЧНОЗНАЧНЫЕ ЛОГИКИ
Законы логики, сформулированные Аристотелем в IV в. до н. э., так
же, как и аксиомы геометрии Евклида, представлялись в течение дли-
тельного периода времени незыблемыми. Было принято считать, что
они не только характеризуют свойства человеческого мышления, но и
являются частью самой природы.
Однако глубокое исследование логики, попытки строгого обосно-
вания математических дисциплин, а также стремление расширить об-
ласть применения логических форм анализа привели к построению
других логик, основанных либо на обобщении законов, сформулиро-
ванных Аристотелем, либо на замене их другими.
3.1. Многозначные логики
В 20-х гг. XX в. польским математиком Я. Лукасевичем и Э. Постом
были предложены логики, в которых число значений истинности к бы-
ло больше двух. Неоднозначность определения элементарных функций
трехзначной логики наглядно показала абстрактный характер логиче-
ских систем. Так, придавая третьему значению истинности смысл,
промежуточный между И и Л, Пост предложил обобщение функции
отрицания вида x=x® l(mod3). Лукасевич ввел функцию отрицания
N(x) = 2 - х. Таблицы истинности х и N(x) имеют следующий вид:
X X А(х)
0 1 2
1 2 1
2 0 0
При определении других элементарных функций, зависящих уже от
двух переменных, количество возможных вариантов еще более возрас-
тает. В отличие от алгебры логики, данные системы называют много-
значными логиками.
186
Раздел II. Математическая логика
Конкретный вид элементарных функций в данных логиках выби-
рают в зависимости от того, какой смысл присваивается значениям ис-
тинности. Это могут быть степени необходимости, возможности, веро-
ятности, неопределенности некоторых событий, качественные града-
ции свойств объектов и т. д.
Число значений истинности к в многозначных логиках может быть
как конечным, так и бесконечным. При к < оо логики называют конеч-
нозначными, при |А| = Ко — счетнозначными, а в случае |А| = С — конти-
нуум-значными.
Выбор двухзначной либо какой-либо другой разновидности много-
значных логик должен в каждом конкретном случае производиться на
основе анализа свойств моделируемых объектов.
Поскольку в конечнозначных логиках основной характеристикой
является число допустимых значений истинности, то их называют так-
же А-значными логиками.
3.2. Элементарные функции конечнозначных логик. Представление
функций формулами специального вида
Будем рассматривать число значений истинности k>2, keN. Мно-
жество всех значений истинности обозначим через Ек = {0, 1,..., к- 1}.
Произведением Ек называется множество всех наборов вида (хь ...,
х„), где все х, еЕк.
ОПРЕДЕЛЕНИЕ. Функцию f(xn) называют функцией конечнознач-
ной (k-значной) логики, если хп е Ek, fixn) еЕк.
Множество всех функций А-значной логики обозначается Рк.
Определения существенных и фиктивных переменных, формул,
операций суперпозиции и замыкания, полноты имеют тот же вид, что и
в алгебре логики.
Основные способы задания функций А-значной логики — с помо-
щью таблиц истинности и формульное выражение через элементарные
функции. В таблицах истинности наборы значений переменных распо-
лагают в лексикографическом порядке, при котором векторам хп соот-
ветствуют числа от 0 до кп - 1 в системе счисления с основанием к.
В качестве элементарных выделяют следующие функции:
1. Константы. Принимают постоянное значение (от 0 до А: - 1), не
имеют существенных переменных.
2. Отрицание Поста: х Ф l(modA). Обозначается х".
3. Отрицание Лукасевича: (к-l) -х. Обозначается N(x) или ~х.
Глава 3. Конечнозначные логики
187
4. Характеристическая функция 1-го рода'. г(х): /,-(х) = < ’ ’
Г 1 у — у
5. Характеристическая функция 2-города'. Jt(x): /,(%)=•! ’ . ’
6. Минимум', min (х, у).
7. Максимум: max (х, у).
8. Сумма по mod к: х Ф у.
9. Произведение по mod к: ху (mod к).
in [О, Х<у,
10. Усеченная разность: х-у = <
[х-у х>у.
11. Импликация: х у = j Х<У>
[(Л-1)-х+у, х>у.
12. Функция Вебба: Vk (х, у) = max (х, у) Ф 1.
1, о ,, (к + 1-у, х<у,
13. Разность по mod к: х - у = <
[х-у, х>у.
Для функций из Рк существуют формульные выражения, аналогич-
ные нормальным формам и полиному Жегалкина в алгебре логики.
ОПРЕДЕЛЕНИЕ. Первой формой функции Дх") еРк является ее
представление в виде
/(х„) = max {min(/(a),/ai(x2),..., Ja„(x„))}, a"e Ek,
где максимум взят по всем наборам значений переменных х".
ОПРЕДЕЛЕНИЕ. Второй формой функции f(xn)<=Pk является ее
представление в виде
/(^) = E/(a") jalWl Ja2(^2)- й"еЕ"к,
где сумма берется по всем наборам значений х ".
Замечание 1. Построение первой и второй форм функций произво-
дится непосредственно по наборам переменных и значениям функции.
При этом наборы, на которых/= 0, можно опускать, поскольку внутренние
функции форм на них обращаются в нуль и не влияют в итоге на значение
всего выражения.
Замечание 2. Внутренние функции в первой и второй формах вы-
полняют роль конституент, выделяющих значения функции только на за-
данных наборах значений ее переменных.
188
Раздел II. Математическая логика
ОПРЕДЕЛЕНИЕ. Многочленом по модулю к называют выражение
вида
Q(x") = a0®a1X1®...®amAm,
где а, еЕк, aXj — произведения переменных х, еЕк.
Поскольку умножение ассоциативно, то величина произведения
x-х -... х не зависит от порядка выполнения элементарных умноже-
ний, и его будем обозначать в виде степени Xs, где s — число сомножи-
телей в произведении.
ОПРЕДЕЛЕНИЕ. Функция f(xn) <=Рк реализуется многочленом
Q(xn) по модулю к, если(2(х") = Дхп) при всех xns.Ek.
В первой и второй формах функции в Рк представимы всегда.
В форме многочлена Q (х") по модулю к все функции в Рк представимы
только тогда, когда к — простое число, поскольку в этом случае все сте-
пени переменной Xs при s = 0, 1 будут попарно различными
функциями и относительно сложения и умножения по модулю к обра-
зуют поле. При составном к данная структура не будет полем. Поэтому
в этом случае представление многочленами возможно не для всех
функций.
В <2(х”) общее число попарно различных (с точностью до переста-
новки сомножителей) произведений, содержащих степени переменных
из х" от 0 до к-1, равно числу кп всех возможных наборов перемен-
ных. Для построения Q(x") можно использовать метод неопределен-
ных коэффициентов.
N X У f
0 0 0 0
1 0 1 0
2 0 2 0
3 1 0 0
4 1 1 1
5 1 2 1
6 2 0 0
7 2 1 2
8 2 2 2
Пример 1. Представить функцию f=xy2 при к= 3
в первой и второй формах.
Решение. Построим таблицу истинности функции
f =ху2. Поскольку функция принимает ненулевые
значения только на наборах с номерами 4, 5, 7, 8, то
внутренние функции форм строим только по данным
наборам путем подстановки в них значений пере-
менных и самой функцииДх, у).
Рассмотрим для примера построение внутренних
функций форм для набора 5 (х= 1, у = 2, /(1, 2) = 1).
В первой форме внутренняя функция имеет вид
min (1, J^x), J2(y)), где первый аргумент 1 равен зна-
чению функции, индексам характеристических функций по х и у при-
своены значения переменных в наборе. Аналогично для второй формы
получим слагаемое 1 • у,(х) -j2(y) =jY(x) j2(y).
Глава 3. Конечнозначные логики
189
Первая форма принимает вид
/= max {min(l, ^(у)), min(l, J^x), J2(y)), min(2, J2(x), J\(y)),
min(2, /2(x), J2(y))}.
Вторая форма:
/=Л(х)Л(у) ® JiWj’jCv) © Ф 2j2(x)j2(y).
Пример 2. Представить функцию f=xa.y2 при 4 = 3 в виде много-
члена по модулю 3.
Решение. Вначале строим таблицу истинности заданной функции
/=хсу2.
Рассмотрим в общем виде многочлен <2(х,у) от
двух переменных х, у, содержащий все возможные
слагаемые — произведении переменных, степени
которых не превышают 2 (2 = 3 - 1):
Q(x, у) = а0 Ф cqx Ф а-у Ф а3ху Ф а4х2 ф а^у2 Ф
Ф ОбХ2у Ф а7ху2 Ф agX2y2.
Последовательно подставляем наборы пере-
менных с номерами 0—8 в общее выражение мно-
гочлена и определяем значения коэффициентов.
При решении уравнений вычитание, как и сло-
жение, выполняют по модулю к.
N X У У2 f
0 0 0 0 2
1 0 1 1 2
2 0 2 1 2
3 1 0 0 1
4 1 1 1 2
5 1 2 1 2
6 2 0 0 0
7 2 1 1 1
8 2 2 1 1
Для упрощения вначале рассматриваем нулевой набор и находим на
нем коэффициент а0:
0. х = 0, у = 0. Q = а0 = 2, => а0 = 2.
Затем подставляем в уравнение наборы 1 и 2, на которых х = 0 и из
полученной системы двух уравнений находим коэффициенты а2 и а5:
1 .х = 0,у = 1. Q = 2 Ф а2• 1 Ф а5• 1 = 2, =>а2® а5=0.
2 . х = 0, у = 2. 2 = 2 ® а2 • 2 ® а5 • 1 = 2,=> 2а2 ® а5 = 0.
Из 1 и 2 следует: а2 = 0, а5 = 0.
Рассматриваем наборы 3 и 6, на которых у = 0, и из полученной сис-
темы двух уравнений находим коэффициенты а2 и а5:
3 .х=1,у=0. 2 = 2®а1- 1Фа4 - 1 = 1 =>aj®a4=l - 2 = 2.
6. х = 2, у = 0. 2 = 2 Ф aj • 2 Ф а4 • 1 = 0 => 2otj Ф а4 =0-2=1.
Из 3 и 6 следует: осj = 2, а4 = 0.
По оставшимся наборам 4, 5, 7, 8 строим систему уравнений с че-
тырьмя неизвестными а3, а6, а7, а8.
4.х=1,у=1. 2 = 2Ф2Фа3-1-1Фа6-11Ф<х7-1-1Фа8-1-1 = 2.=>
1 Ф а3 Ф а6 Ф а7 Ф а8 = 0.
190 Раздел II. Математическая логика
5.х=1, у = 2. <2 = 2Ф 2 Ф а3 • 1 • 2 Ф аб • 1 • 2Ф а7 1 • 1 ф а8 • 1 • 1 = 2 =>
1 Ф 2а3 Ф 2а6 Ф а7 Ф а8 = 2.
7.х = 2,у=1. е = 2Ф1Фа3-21Фа6-1-1Фа7-21Фа811 = 1 =>
2а3 Ф а6 Ф 2а7 ф а8 = 1.
8.х=2, у =2. <2 = 2Ф1Фа3-2-2Фа61-2Фа7-2-1Фа81-1=2 =>
а3 Ф 2а6 Ф 2а7 Ф а8 = 2.
Перенеся свободные коэффициенты в правые части уравнений, по-
лучим систему следующего вида:
а) а3Фа6Фа7Фа8 = 1;
б) 2а3 Ф 2а6 Ф а7 Ф а8 = 1;
в) 2а3 Ф а6 ф 2а7 Ф а8 = 1;
г) а3 Ф 2а6 Ф 2а7 ф а8 = 1.
Сложив б)-г), получим 2а3 Ф 2аб Ф 2а7 = 0.
Отсюда: а3 Ф аб ф а7 = 0. Вычитая полученное уравнение из а), по-
лучим а8 = 1. Подставим ot8 = 1 в б)—г).
Складывая б) и в), получим а3 = 0. Из б) и г) получим а6 = 0, из в) и
г): а7 = 0.
В итоге искомый многочлен примет вид /= 2 Ф 2х Ф х2у2.
Задачи
1. Найти выражения функций в первой форме:
а)/=хФуД= 3, 4; 6)f=xj£y), k = 3, 4; в)/=тах(х, у), k = 3; r)f=xy,k = 4;
a)f=-l(xcy),k=3; e)f=x2y2,k = 4; ж)/=-, тах(х,у), к = 3.
2. Найти выражение функций во второй форме:
а)/= min(xy, хсу), к= 3; б)/= min(x,y2), к = 4; в)/= тах(х,у), к- 3;
Г)/=ХУ, ^=4; д)/=-л (хсу),Л= 3; е)/=х2у2, к=4\ ж)/=-1тах(х,у), к = 3.
3. Разложить функции в многочлен по модулю к'.
a)/=min(x,j2(y)), к= 3, 5; 6)/=min(x,у2), &=3, 5; в)/=хсу, к=3\
r)f=x2y2,k = 3; a)f=x су3, к=3.
3.3. Законы А-значных логик
По аналогии с алгеброй логики основные эквивалентности формул
в А:-значных логиках называют законами. Они отражают свойства эле-
ментарных функций.
Для операций f (min, max, Ф и • (умножение)) справедливы свойства
коммутативности:
1- f(.x,y)=f(y,x)
и ассоциативности:
2. f(x, у, z) =f(x,f(y, г)) у), z).
Глава 3. Конечнозначные логики
191
Для следующих пар операций f ng', а)• (умножение); ф; б) min, max;
в) max, min справедлив дистрибутивный закон:
3- f(g(x, y),z) = g(f(x, z)).
Для функций min, max выполняется идемпотентность:
4. min(x, x) = x; max(x, x) = x.
3.4. Функциональная полнота в Pk
Полнота в Pk имеет тот же смысл, что и в алгебре логики. При ис-
следовании ее могут быть применены те же способы. Практическое
применение критериев полноты, подобных теореме Поста, затруднено
тем, что с ростом к быстро возрастает число замкнутых предполных
классов в Рк (в Р2 их 5, в Р3 — 18 и т. д.). Поэтому здесь необходимо раз-
рабатывать машинные методы проверки. Реальное исследование пол-
ноты систем производится путем сведения их к заведомо полным либо
применением специальных критериев. Полными являются, например,
системы, которые используются в стандартных способах представления
функций.
Рассмотрим примеры полных систем.
1. Система Россера — Туркетта:
Aj = {0, 1,..., к- 1, J0(x), ./Дх),..., min(x,y), max(x,y)} — ис-
пользуется в первой форме.
2. Система:
Л2 = {0, 1,..., к - l,y0W,JiW> >A-i(x),х' У>х® У} ~ используется во
второй форме.
3. Система Поста:
Л3 = {х, тах(х, у)}.
4. При простых к:
Л4 = {0, 1,..., к - 1, х -у, х® у} — используется в многочленах.
Пример. Определить, какие из констант {0, 1,..., к - 1} можно уда-
лить в системе (Россера — Туркетта), не нарушая ее полноты.
Решение. Поскольку функции Д(х) принимают значения 0 и (А: - 1),
то подставляя в них постоянные значения можно получить данные
константы. Например: ТД2) = 0; /,(1) = А- 1.
Для практически важных систем функций разработаны специаль-
ные критерии полноты. Рассмотрим Pj^ — множество всех функций в
Рк от одного аргумента.
192
Раздел II. Математическая логика
ОПРЕДЕЛЕНИЕ. Подстановками называют разнозначные функ-
ции одного аргумента, принимающие все к возможных значений истин-
ности. Множество всех подстановок в обозначают черезSk.
Очевидно, подстановки задают взаимно однозначные отображения
Ек в само себя. Множество функций одного аргумента, не являющихся
разнозначными (т. е. таких, у которых имеются повторяющиеся значе-
ния истинности), обозначается через CSk. Очевидно, что CSk - \Sk.
ОПРЕДЕЛЕНИЕ. Существенными называются функции Рк, сущест-
венно зависящие от двух и более переменных и принимающие все к
значений истинности.
Приведем критерии полноты функциональных систем, исполь-
зующих существенные функции и функции из Р^\
Критерий Слупецкого. Функциональная система {P^uf(x)} полна
в Рк при к > 3 тогда и только тогда, когда /(х) — существенная функция.
Критерий Яблонского. Система {CSk и/(х)} полна в Рк при к >3
тогда и только тогда, когда /(х) — существенная функция.
Данный критерий показывает, что вместо всего множества одно-
местных функций Р^ (в критерии Слупецкого) достаточно использо-
вать множество функций одного аргумента, не являющихся разнознач-
ными CSk.
Критерий Саломаа. Система {Sku f(x)} полна в Рк при к> 5 <=> ко-
гда /(х) — существенная функция.
Задачи
1. Какие из характеристических функций второго рода можно исключить
из системы Россера — Туркетта, не нарушая ее полноты?
2. Какие константы можно исключить из системы А2, не нарушая ее пол-
ноты?
3. Доказать полноту систем:
а) {/с - 1, х Ф у, тах(х, у)} в Рк (сведением к системе Поста);
б) {1,хФу, х-у} в Рк (сведением к система Поста, используя функции ~х,
min(x,y)).
3.5. Счетнозначная логика
Если осуществить предельный переход при &->оо, то получим ло-
гику со счетным числом значений истинности (мощность счетного
множества обозначается bs0). Называют данную логику счетнозначной.
Глава 3. Конечнозначные логики
193
Обозначим ее по аналогии с ранее введенными логиками через Рк0.
Множеством значений истинности в Рк0 является расширенный
(включающий 0) натуральный ряд No = {0,1,...}.
Элементарные функции в Рк0 вводят по аналогии с Рк — и величи-
ны переменных, и сама функция принимают значения из расширен-
ного натурального ряда.
Существенной особенностью данной логики является теоретиче-
ская невозможность полного задания функций табличным методом.
Применяют различные способы аналитического задания, а фрагменты
таблиц используют только для иллюстрации свойств соответствующих
функций.
Поскольку счетнозначная логика не нашла широкого применения в
технике, в данном пособии она не рассматривается.
Функциональные свойства любой логики наряду с числом значений
истинности и видом допускаемых формул определяются содержанием
элементарных функций, введенных в ней. Анализ построения традици-
онных многозначных логик показывает, что элементарные функции в
них введены путем обобщения функций алгебры логики и обычных
арифметических операций. Вместе с тем, потребности практики, в ча-
стности, построение функциональных схем, показывают необходи-
мость рассмотрения и других видов элементарных функций. Например,
аналогов пороговых функций алгебры логики.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ:
«СТАНДАРТНЫЕ ПРЕДСТАВЛЕНИЯ ФУНКЦИЙ
МНОГОЗНАЧНЫХ ЛОГИК»
В. 1.
Найти выражение функции в первой и второй формах конечнозначной
логики: f=x®y, к=3.
В. 2.
Найти выражение функции в первой и второй формах конечнозначной
логики: f=x J2(y), к=3.
В.З.
Разложить функцию трехзначной логики/=хэу2 в многочлен по модулю к.
В. 4.
Найти выражение функции в первой и второй формах конечнозначной
логики: /= -л (.<□}’), к= 3.
В. 5.
Найти выражение функции в первой и второй формах конечнозначной
логики: f=x2y2, к = 4.
194
Раздел II. Математическая логика
В. 6.
Разложить функцию трехзначной логики /=-i(x®max(xj)) в многочлен
по модулю к.
В. 7.
Найти выражение функции в первой и второй формах конечнозначной
логики: /=min(xy, xzoy),k = 3.
В. 8.
Найти выражение функции в первой и второй формах конечнозначной
логики: /= min(x, у2), к = 3.
В. 9.
Найти выражение функции в первой и второй формах: f=xny2, к= 3.
В. 10.
Разложить функцию трехзначной логики /= 12(ХУ) ® min(x, у) в многочлен
по модулю к.
В. И.
Найти выражение функции в первой и второй формах конечнозначной
логики: f=xy2,k = 4.
В. 12.
Найти выражение функции в первой и второй формах конечнозначной
логики: /= х J/у), к = 4.
В. 13.
Найти выражение функции в первой и второй формах конечнозначной
логики: /= -1 тах(х, у), к = 3.
В. 14.
Разложить функцию трехзначной логики /= min(x,у2(у)) в многочлен по
модулю к.
В. 15.
Найти выражение функции в первой и второй формах конечнозначной
логики: /= -1 (/2(х) ® лйп(х, у)), к-3.
В. 16.
Разложить функцию трехзначной логики f= х у в многочлен по модулю к.
В. 17.
Найти выражение функции в первой и второй формах конечнозначной
логики: f=xy2, к=3.
В. 18.
Разложить функцию трехзначной логики /=min(x, у2) в многочлен по мо-
дулю к.
В. 19.
Найти выражение функции в первой и второй формах конечнозначной
логики: /= -1 (х ® тах(х, у)), к= 3.
В. 20.
Разложить функцию трехзначной логики /=хФ (хзу) в многочлен по мо-
дулю к.
Глава 3. Конечнозначные логики
195
В. 21.
Найти выражение функции в первой и второй формах конечнозначной
логики: f=xmax(x,J2(y)),k = 4.
В. 22.
Найти выражение функции трехзначной логики /=(100001001) во второй
форме, не используя констант.
В. 23.
Найти выражение функции в первой и второй формах конечнозначной
логики: /= -п (/(х) Ф тах(х, у)), к = 3.
В. 24.
Разложить функцию трехзначной логики /г/^ФтахСх.у) в многочлен
по модулю к.
В. 25.
Разложить функцию пятизначной логики в многочлен по модулю к:
/=(1111122222333334444400000).
В. 26.
Привести пример функции в Р4, которая допускает разложение в много-
член по модулю к.
В. 27.
Привести пример полной в Рк системы функций, которая не совпадает с
системами, используемыми в стандартных формах. Ответ обосновать.
ГЛАВА 4
КОНТИНУУМ-ЗНАЧНЫЕ ЛОГИКИ. ТЕОРИЯ ВЕРОЯТНОСТИ.
ЛОГИЧЕСКИЙ ПОДХОД
Континуум-значными называют логики, в которых мощность мно-
жества значений истинности к равна континууму: | к | = С. Непрерывные
множества, имеющие мощность континуум, обычно используют для
оценки истинности высказываний либо других объектов и явлений в
тех случаях, когда логические операции на исходных множествах объ-
ектов также заданы в виде непрерывных функций.
Одной из первых логических по своему внутреннему содержанию
дисциплин, в которых для оценки истинности использовано непре-
рывное множество, стала теория вероятности — наука, изучающая за-
кономерности случайных явлений.
На начальном этапе основной причиной ее развития послужили за-
дачи из области азартных игр. Однако дальнейшее развитие техники,
военного дела, потребности статистического учета в управлении госу-
дарством и другие причины привели к значительному развитию анали-
тического аппарата теории вероятности и появлению в ее рамках мно-
гочисленных специализированных приложений. Вследствие особой
практической значимости она обычно излагается в качестве отдельной
прикладной математической теории.
Рассмотрим основные понятия теории вероятности с точки зрения
математической логики.
4.1. Алгебра событий. Вероятность
Объектами данной теории являются события, под которыми пони-
мают реальные или абстрактные явления (опытные факты, утвержде-
ния и т. д.), которые могут осуществиться либо не осуществиться.
Обычно их обозначают заглавными латинскими буквами Л, В, С,... .
ОПРЕДЕЛЕНИЕ. Элементарным называют такое событие, которое
нельзя представить в виде комбинации некоторых составляющих его
более простых событий.
Глава 4. Континуум-значные логики. Теория вероятности. Логический подход 197
Составным называют событие, которое можно выразить через дру-
гие составляющие его события.
Обозначим все множество элементарных и составных событий че-
рез Ms. Оно составляет предметное множество теории вероятности.
ОПРЕДЕЛЕНИЕ. Невозможными называют такие события, кото-
рые не могу осуществиться ни при каких условиях. Обозначим их через
0. События, которые происходят во всех случаях, при любых условиях,
называют достоверными. Обозначим их 1.
Пример 1. Рассмотрим арифметику вещественных чисел.
1. Событие А = «2 х 2 = 5» является в данной арифметике невозмож-
ным.
2. Событие В = «2 х 2 = 4» является достоверным.
Невозможные события принимают нулевыми элементами множе-
ства Ms, а достоверные — единичными.
Операции отрицания, умножения (конъюнкции) и сложения (дизъ-
юнкции) на Ms вводятся следующим образом.
ОПРЕДЕЛЕНИЕ. Пусть И и В — некоторые события.
1. Отрицанием события И называют событие, являющееся противо-
положным кА. Обозначается: А.
2. Конъюнкцией событий И и В называют событие, заключающееся в
совместном осуществлении событий И и В. Обозначается: А & В = АВ.
3. Дизъюнкцией событий Ап В называют событие, заключающееся в
возможности осуществления хотя бы одного из событий А и В. Обозна-
чается: Av В.
Пример 2. Рассмотрим на множестве всех целых чисел события
А = «число х — положительное», В = «число х — четное».
Результат применения введенных операций:
1) А = «число х не является положительным, т. е. х равно нулю либо
меньше нуля»;
2) АВ = «число х — одновременно положительное и четное»;
3) A v В = «число х — положительное либо четное».
ОПРЕДЕЛЕНИЕ. События А п В называются несовместными при
АВ = 0, т. е. в том случае, когда появление одного события исключает
появление другого.
ОПРЕДЕЛЕНИЕ. Если частные события At, А2, ..., Ап описывают
все множество возможных исходов некоторого обобщенного события
(Д[ v Д2 v v Ап = 1), то их называют полной группой событий.
198
Раздел II. Математическая логика
Операции отрицания, сложения и умножения позволяют конструи-
ровать сколь угодно сложные составные события из исходных элемен-
тарных.
ОПРЕДЕЛЕНИЕ. Совокупность множества событий Ms с бинар-
ными операциями умножения и сложения, унарной операцией отрица-
ния, а также нулевым (0) и единичным (1) элементами образуют алгебру
событий. Обозначим ее через Bs.
При введенном смысловом содержании алгебры событий и опера-
ций на ней можно показать, что будут выполнены все 6 парных аксиом
булевой алгебры (Al—А6, гл. 2). Следовательно Bs является булевой ал-
геброй.
Рассмотрим аксиоматическое определение вероятности, сформули-
рованное советским математиком А. Н. Колмогоровым.
ОПРЕДЕЛЕНИЕ. Действительную числовую функцию Р(А), задан-
ную на множестве событий Ms булевой алгебры Bs, называют вероятно-
стью, если для нее выполняются три следующие аксиомы.
1. Аксиома неотрицательности: V A eMsp(A) > 0.
2. Аксиома нормированное™: вероятность достоверного события
Р(1) = 1.
3. Аксиома аддитивности: для любой (конечной или бесконечной) после-
довательности попарно несовместных событий А, В, С,... вероятность их
суммыр(А + В + С+ ...) = р(А) + р(В) + р(С) + ....
Функция Р(А) задает при помощи вещественных чисел из отрезка
[0, 1] степень истинности, правдоподобности события А (возможности
его наступления). Поэтому теория вероятности может быть интерпре-
тирована как континуум-значная логика, заданная на булевой алгебре
событий Bs.
ПримерЗ. Осуществляется случайный выбор из некоторого набора
предметов Al,A2,...,AiV, у которых вероятности выбора одинаковы.
Найти вероятности событий At—AN, заключающихся в выборе соответ-
ствующих предметов.
Решение. В данном случае вероятности выбора всех предметов оди-
наковы: Р(Л[) = Р(А2) = ... = P(An). В сумме они должны давать 1, по-
скольку других исходов, помимо Al,A2,...,AN, нет. Поэтому искомые
вероятности равны: Р(Л]) - ... = P(AN) = \/N.
ОПРЕДЕЛЕНИЕ. Условной вероятностью Р(А/В) называют вероят-
ность осуществления события А при наличии события В. В общем слу-
чае Р(А/В) = Р(АВ)/Р(В\
Глава 4. Континуум-значные логики. Теория вероятности. Логический подход 199
ОПРЕДЕЛЕНИЕ. События Л и В независимы, если Р(А/В) = Р(А), а
Р(В/А) = Р(В).
Данное определение означает, что осуществление события А ника-
ким образом не влияет на событие В и наоборот.
Основной задачей теории вероятности является вычисление степе-
ни истинности (вероятности) сложных составных событий по извест-
ным вероятностям простых событий, входящих в них.
Задачи
1. Доказать, что алгебра Bs является булевой.
2. Может ли АВ = A v В? Привести пример.
4.2. Основные свойства вероятности
Рассмотрим основные свойства функции вероятности, которые вы-
текают из ее аксиом, а также определения независимости событий.
1. Если события А{,А2, ...,А„ составляют все множество возможных
исходов (т. е. полную группу событий, при которой AivA2v...\/A„ = V),
то Р(А{ vA2 v ... vAn) = 1.
Справедливость утверждения следует непосредственно из аксио-
мы 3.
2. Р(А)= 1-Р(А).
События А и А являются полной группой, из свойства 1 следует
Р(А) + Р(А) = 1. Отсюда вытекает свойство 2.
З. Р(0) = 0.
Р(0) = Р(-п 1)=1-Р(1) = 0.
4. Р(АВ) = 0, если события Ан В несовместны.
Т. к. событие С = АВ, заключающееся в одновременном совершении
А и В, невероятно, то С = 0. Отсюда по свойству 3 получим
Р(АВ) = Р(С) = 0.
5. Р(А vB) = Р(А) + Р(В) - Р(АВ).
Представим события А и В в следующем виде: А=АХ\/АВ, А{ =
= А \АВ, В = В х\/ АВ, Вх = В\АВ. Событие С=A v В можно представить в
виде суммы несовместных событий: С = Аг vB, vAB. Применяя аксио-
му 2, получим: Р(С) = Р(Л[) + Р(В}) + Р(АВ). Подставляя соотношения
РС^) = Р(А) - Р(АВ) и Р(В{) = Р(В) - Р(АВ) в полученную формулу, по-
лучим требуемое выражение.
6. Р(АВ) = Р(Л) Р(В/А) = Р(В) Р(А/В).
Следует из определения условной вероятности.
200
Раздел 11. Математическая логика
7. Если А и В независимы, то Р(АВ) = Р(А) Р(В).
8. Если А и В несовместны, то Р(А у В) = Р(Л) + Р(В).
Задачи
1. Доказать, что Р(АВ) < Р(А) для любых событий А и В.
2. Доказать, что Р(АВ) > Р(А) + Р(В) - 1 для любых событий А и В.
3. Доказать свойство вероятности 7.
4. Доказать свойство вероятности 8.
5. Доказать, что для любых событий А и В из Ms выполняется свойство:
Р(А v В) > Р(АВ).
4.3. Повышение надежности дискретных устройств путем
применения дублирования
В общем случае устройства дискретной структуры, например, при-
боры, состоят из отдельных элементов, надежность работы которых
(вероятность правильного функционирования) может быть оценена
некоторой вероятностью, причем обычно ошибки в работе элементов
можно считать независимыми случайными величинами.
Для повышения общей надежности работы прибора его наименее
надежные элементы дублируют — параллельно с ним в прибор встраи-
вают один или несколько аналогичных элементов. При выходе из строя
первого элемента специальное устройство переключает цепь с него на
дублирующий элемент, в результате чего весь прибор продолжает пра-
вильно функционировать.
Обозначим через В событие, заключающееся в правильной рабо-
те всего прибора. Допустим, первоначальная конструкция (без дуб-
лирования) содержит п элементов с номерами 1, 2,..., п. События, вы-
ражающие их безошибочное функционирование, обозначим через
At, А2, Поскольку весь прибор работает правильно только при
условии отсутствии сбоев у его элементов, то при любом их соединении
В = А{А2 ...Ап.
В силу независимости событий Ах, А2,..., Ап по свойству 7 вероятно-
сти Р(В) = P(Ai)P(A2)...P(A„).
Пусть некоторый элемент а, имеющий вероятность правильной ра-
боты р, продублирован т раз путем замены его одиночного вхождения
(рис. 4.1) на /«-кратное параллельное (рис. 4.2).
Вероятность выхода из строя элемента а равна 1 -р. При /«-крат-
ном дублировании элемента вероятность одновременного выхода строя
всех т элементов равна (1 -р)т. При т —> оо она приближается к нулю,
Глава 4. Континуум-значные логики. Теория вероятности. Логический подход 201
а надежность работы всей группы, равная 1 - (1 -р)т, стремится к 1. На
этом принципе основано повышение надежности за счет дублирования.
Рис. 4.1 Рис. 4.2
Замечание. В формуле для вероятности выхода из строя всех т эле-
ментов (1 -р)т предполагается, что переключающие устройства имеют на-
дежность, равную 1. Обычно она близка к единице, поскольку данные уст-
ройства имеют сравнительно простую структуру.
Задачи
1. Надежность элемента а равна р, надежность переключательного элемен-
та b - q. Рассчитать надежность следующих дублирующих схем:
ГЛАВА 5
ТЕОРИЯ НЕЧЕТКИХ МНОЖЕСТВ.
НЕЧЕТКАЯ ЛОГИКА
У обычных множеств предполагается, что всегда можно выяснить,
принадлежит ли им объект или нет. Но в ряде случаев четкую границу
провести нельзя. Человеческие суждения по многим вопросам в силу
субъективности невозможно свести к однозначным «да» или «нет». Так
же показания приборов из-за ограниченной точности измерений либо
наложения нескольких процессов зачастую не позволяют делать точные
суждения о наличии или отсутствии событий. Невозможность приня-
тия четких решений обычно обусловлена недостатком сведений об объ-
екте либо наличием противоречивой информации о нем.
Трудности с машинной идентификацией объектов окружающей сре-
ды, например, зрительных образов, во многом обусловлены тем, что
теоретическим фундаментом применяемых алгоритмов являются чет-
кие теория множеств и логика. Человек же, благодаря элементам об-
разного, нечеткого мышления обычно без труда справляется с подоб-
ными задачами.
Термин «нечеткий» (расплывчатый, размытый) — перевод англий-
ского слова fuzzy — ворсистый (свойство ткани). Основной задачей не-
четких теорий является формализация данного типа мышления с целью
последующего его применения в автоматизированных системах.
Алгебра нечетких множеств — одно из обобщений обычной алгебры
множеств на случай мощности континуум-множества значений харак-
теристической функции. Алгебра нечеткой логики является одной из
возможных континуум-значных логик. Системы, реализующие элемен-
ты нечеткого мышления, в настоящее время применяют для управ-
ления сложными техническими объектами и технологическими про-
цессами, транспортом, бытовой техникой и в других областях. Для
ускорения нечетких вычислений функции, реализующие нечеткую
логику, встраивают аппаратно в специализированные микросхемы не-
четкого вывода.
Глава 5. Теория нечетких множеств. Нечеткая логика
203
5.1. Нечеткие множества. Основные понятия
ОПРЕДЕЛЕНИЕ. Пусть Х~ произвольное непустое конечное или
бесконечное четкое множество. Множество А называют нечетким, ес-
ли каждый его элемент — это пара (ц^(х),х), в которой х&Х, а ц^(х) —
вещественное число из отрезка [0, 1], задающее степень принадлежно-
сти элемента х к А. Множество X называют носителем А, а отображение
ц^(х): X—> [0, 1] — функцией принадлежности.
Пример 1. Рассмотрим на дискретном трехэлементном множестве-
носителе А" = {х1,х2,х3} нечеткие множества А = {(0,6; xj; (0,9; х3)} и В =
= {(0,8;х1);(0,7;х3)}.
Наряду с отрезком [0, 1] в качестве области значений функции при-
надлежности используют также другие множества.
Замечание. Все четкие подмножества X можно представить как ча-
стный случай нечетких, у которых для V х еХ: ц^(х) = 1 или 0.
Пример 2. Множество-носитель X — все возможные целочисленные
значения возраста человека {0, 1, 2,...}. Сформируем на нем нечеткое
множество «детский возраст» на основе формализации субъективного
понятия «ребенок».
Решение. Исходя из интуитивного восприятия данного слова, ре-
бенком с полной уверенностью можно считать каждого человека, кото-
рому исполнилось не более 8 лет. В формализованном виде с помощью
функции принадлежности на интервале 0<х<8 это мнение выражает-
ся следующим образом: ц^(0) = ц^(1) = ... = ц^(8) = 1. Однако нельзя ска-
зать, что после исполнения 8 лет данное качество у человека сразу пол-
ностью утрачивается. Логичнее предположить, что это свойство посте-
пенно (допустим, по линейному закону) убывает в течение 4 лет. Зна-
чения функции принадлежности при этом должны линейно убывать от
1 до 0 : ц^(9) = 0,75; ц^(10) = 0,5; цл( 11) = 0,25; цл(12) = 0. Очевидно, при
всехх> 12 функция принадлежности равна 0. Рассматривая непрерыв-
ную линию, проходящую через заданный набор дискретных точек
(рис. 5.1), можно путем интерполирования определить для дробного
числа лет величину свойства «быть ребенком». Например, в 9,5 лет
цл = (9,5) = 0,625.
ПримерЗ. Оценивается расстояние между мобильным роботом и
препятствиями. Множество-носитель X- Р+ = [0, +оо), в качестве еди-
ницы измерения примем сантиметры. Задать множество значений, со-
ответствующих понятию «очень близко».
204
Раздел II. Математическая логика
Рис. 5.1. Функция принадлежности терма «Ребенок»
Если в качестве искомого принять обычное четкое множество, на-
пример [0, 20], то нелогично расстояние в 21 см полностью исключать
из понятия «очень близко», т. к. практически при управлении на этом
удалении должны в той или иной мере применяться те же алгоритмы,
что и на расстояниях из [0, 20].
Приемлемым выходом из данной ситуации является введение не-
четкого множества А, у которого функция принадлежности определе-
на, например так, как показано на рис. 5.2.
Рис. 5.2. Функция принадлежности термов лингвистической
переменной «Расстояние»
В этом случае при 0 <х< 20 степень принадлежности равна 1, а при
20<х<60 функция цл(х), задающая свойство расстояния «очень близ-
ко», линейно убывает от 1 до 0. Например, цл(30) = 0,75; цл(40) = 0,5;
цл(50) = 0,25. > __ /
Наиболее употребительными являются функции,-принадлежности
треугольного и трапецеидального вида.
Глава 5. Теория нечетких множеств. Нечеткая логика
205
ОПРЕДЕЛЕНИЕ. Лингвистической называют переменную, опреде-
ленную на некотором четком множестве — носителе X. Терм-множест-
вом называют множество всех возможных значений лингвистической
переменной — термов. Это словесные понятия естественного языка.
Для каждого из них при помощи соответствующих функций принад-
лежности вводят на Xнечеткое множество.
Пример 4. Рассмотрим расстояние между мобильным роботом и
препятствиями. Лингвистическую переменную «Расстояние» в этом
случае можно полностью определить терм-множеством {Очень близко,
Близко, Средне, Далеко}. Задавая термам функции принадлежности так,
как показано на рис. 5.2, всем им ставим в соответствие отдельные
нечеткие множества. При таком определении, например, значение
х = 50 с одинаковой степенью 0,25 принадлежит термам «Очень близко»
и «Близко».
Пример 5. Введем на множестве-носителе Xиз примера 2, задающем
все возможные целочисленные значения возраста человека, лингвисти-
ческую переменную «Возраст». Для нее наряду с термом «Ребенок»
можно ввести термы «Подросток», «Юноша», «Молодой человек» и т. д.
Очевидно, этим термам должны соответствовать свои функции при-
надлежности.
В автоматизированных системах с нечеткой логикой вначале полу-
ченные четкие показания измерительных приборов фаззифицируются
(переводятся в нечеткий формат), обрабатываются, а затем дефаззифи-
цируются и в виде обычных четких сигналов подаются на исполнитель-
ные устройства.
ОПРЕДЕЛЕНИЕ. Фаззификация — процесс перевода реальных чет-
ких значений физических и других величин в значения термов логико-
лингвистических переменных на основе подстановки данных четких
значений в функции принадлежности данных переменных.
Пример 6. Выполнить фаззификацию четких значений возраста х =
= 6, 9, 15 лет относительно терма «Ребенок» лингвистической перемен-
ной «Возраст» из примера 2.
Решение. Подставляя данные величины в график данной лингви-
стической переменной на рис. 5.1, получим в первом случае значение 1,
во втором 0,75, в третьем — 0.
Пример 7. Выполнить фаззификацию четких значений расстояния
х= 50, 140 и 300 см для термов «Очень близко», «Близко», «Средне», «Да-
леко» лингвистической переменной «Расстояние» из примера 4.
206
Раздел II. Математическая логика
Решение. Подставляя четкие значения расстояния в графики термов
на рис. 5.2, получим следующие ненулевые их значения:
х = 50 см: «Очень близко» = 0,25; «Близко» = 0,25;
х = 140 см: «Близко» = 0,5; «Средне» = 0,5;
х = 300 см: «Средне» — 0,35; «Далеко» » 0,10.
ОПРЕДЕЛЕНИЕ. Дефаззификация — обратный процесс выделения
четких значений из нечетких.
При дефаззификации нечетких множеств применяют методы:
а) центра тяжести, б) медианы и др. Процедура выполнения данного
действия подобна определению усредненных характеристик случайных
величин в теории вероятности — математического ожидания, медианы,
моды и т. д.
ОПРЕДЕЛЕНИЕ. Дефаззификацией по методу центра тяжести
нечеткого множества А, заданного на носителе X, называют вычисле-
ние усредненного значения элементов А по формуле, аналогичной
математическому ожиданию случайной величины.
В случае дискретного носителя Х= {х1; х2,...} и непрерывного — Х=
= [a, />] четкая величина Ад по методу центра тяжести определяется, со-
ответственно, по следующим формулам:
ь
Ху-ц^хД |хцл(х)<7х
Л _ х<еХ Д = «___________________
а
В знаменателе величины Ад при непрерывном X стоит площадь под
кривой ц(х), а в числителе — аналог первого момента случайной вели-
чины. Для краткости будем обозначать их Svt М.
ОПРЕДЕЛЕНИЕ. Дефаззификацией по методу медианы нечеткого
множества А, заданного на носителе X, называют определение такого
усредненного значения Ад элементов А, для которого в случае дискрет-
ного и непрерывного носителей выполняются следующие соотношения:
xy =minx, :{ £ цл(х,)цл(х,)}; |цл(х)<& = рл(х)<7х.
XjeX,Xi<Xj х,еХ а лг1
В случае непрерывного множества-носителя X геометрический
смысл величины А()с (рис. 5.3), определяемой по методу центра тяжести,
заключается в том, что это координата по оси абсцисс центра тяжести С
Глава 5. Теория нечетких множеств. Нечеткая логика
207
заштрихованной фигуры. При использовании метода медианы величи-
на Адт совпадает с медианой фигуры т, которая делит площадь под
кривой функции принадлежности на две равные части (I и II).
Рис. 5.3. Дефаззификация по методам центра тяжести и медианы
Пример 8. Произвести дефаззификацию нечеткого множества, зада-
ваемого термом «Ребенок» лингвистической переменной «Возраст» из
примера 2: 1) по методу центра тяжести; 2) по методу медианы.
Решение. 1. Применим метод центра тяжести:
Y х,.ц^(х,-) = (0 + 1+...+8) 1+9-0,75+10 0,5+11 0,25 = 50,5;
£ ц^(х,)=91+0,75 + 0,5 + 0,25 = 10,5; Адс= 50,5/10,5«4,8.
2. Определим среднее значение по методу медианы. Т. к.
| Z Нй(*/)=^ = 5,25; £цл(х,)=5; £цл(х,)=6, то Адт=5.
х,<4 х,<5
Ответ', среднее значение терма «Ребенок» по методу центра тяжести
Адс х 4,8; по методу медианы Адт = 5.
Обычно функции принадлежности исходных и результирующих не-
четких множеств на непрерывных носителях кусочно-линейны и состо-
ят из отрезков прямых — констант, у которых ц(а) = ц(Л) (рис. 5.4, а), и
наклонных (ц(п) * ц(/>) (рис. 5.4, б).
При ц = = const (рис. 5.4, а):
Ь b 1
S = |ц(х)Дх = ц, (b-а); М = |х-|д(х)<7х = — ц, -(Ь2 -а2),
а а
208
Раздел II. Математическая логика
а б
Рис. 5.4. Линейные участки графиков функций принадлежности
Для наклонных отрезков (рис. 5.4, 6):
b 1
*5’= Jp(x)Jx=-(n(a)+n(Z>))(Z>-a);
а
b 1 1
М = |хц(х)<& = —(ц(а) b - p(Z>) a')-(b + а) ч—(ц(6) - ц(а)) • (b2 + ab + а2).
а
Длина отрезка по оси х, на котором площадь на участке [а, х] равна
заданному значению S', в первом случае (рис. 5.4, а):
х-а = 5'/ц1,
во втором случае (рис. 5.4, б):
|2S\ 2z \ z J
x-a = C . ---+ ц (а) -ц(а) ,
\ ’ C
1 ДС .
p(Z>)-p(a)
Пример 9. Произвести дефаззификацию нечеткого множества, зада-
ваемого термом «Средне» лингвистической переменной «Расстояние» из
примера 4: 1) по методу центра тяжести; 2) по методу медианы.
Решение. 1. В соответствии с вышесказанным разбиваем график
функции принадлежности на три участка — [120,160], [160,260] и
[260, 340]. Используя формулы для постоянных и наклонных линейных
участков, находим их площади: = 20, 5^ = 100, 53 = 40 и суммарную
площадь S=51, + S2 + 53 = 160.
Глава 5. Теория нечетких множеств. Нечеткая логика
209
М{ = |х-цл(х)<7х=|.(-1-120)(280)+| 1 (25600 + 19200 + 14400) =
120 2 3
= -16 800 + 19 733 «2933;
260 340
М2 = |х'ц^(х)йх = 21000; M-i= j хц^(х)<7х«114б7;
160 260
М = МХ + М2 + М^ 2933 + 21000 + 11467 «35 400;
Адс« 35400/160 «221,25.
2. Определим среднее значение по методу медианы. Т. к. величина
полуплощади 5/2=160/2 = 80 находится между 5j = 20 и 5( + 52=120
(5j < 5/2 < 5j + 52), то искомую точку Адт ищем на втором участке [160, 260]
по величине площади S' = 5/2 - 5] = 60. По формуле для 11 = 11! = const по-
лучим Адт -a = S'/\Lx = 60. Отсюда следует: Адт = 160 + 60 = 220.
Ответ", среднее значение терма «Средне» по методу центра тяжести
Адсх 221, по методу медианы А()т = 220.
Задачи
1. Выполнить фаззификацию четких значений возраста х = 7, 11, 13 лет
относительно терма «Ребенок» лингвистической переменной «Возраст» из
примера 2.
2. Выполнить фаззификацию четких значений расстояний х=60, 130 и
320 см из множества-носителя Х= R+ = [0, +оо) примера 3 относительно термов
«Очень близко», «Близко», «Средне», «Далеко» лингвистической переменной
«Расстояние» из примера 4.
3. Произвести дефаззификацию нечеткого множества, задаваемого термом
«Очень близко» лингвистической переменной «Расстояние» из примера 4 по ме-
тоду центра тяжести и по методу медианы.
4. Решить задачу 3 для терма «Близко».
5.2. Предметные операции на нечетких множествах.
Формулы нечетких множеств
Пусть А и В — произвольные нечеткие множества на общем носи-
теле X. Рассмотрим предметные операции на них, дающие в результате
новые нечеткие множества. Наиболее употребителен следующий спо-
соб их задания.
ОПРЕДЕЛЕНИЕ. Дополнением нечеткого множества называют не-
четкое множество С = А = {((1 - цл(х)), х)}.
Объединением нечетких множеств А и В называют нечеткое мно-
жество С = йиД = {(тах(цл(х), ц^(х)), х)}.
210
Раздел II. Математическая логика
Пересечением называют нечеткое множество C=^n5={(min(p^(x),
Цд(х),х)}.
Разностью называют нечеткое множество С = Л\Л = {(min(|.iy4(x),
1-ц5(х)),х)}.
Симметрической разностью называют нечеткое множество С =
= ЛД2М(тах(ттцу|(х),1-цл(х)); тш(ц,(х); 1-цл(х))},х)}.
Пример 1. Рассмотрим операции дополнения, объединения и пере-
сечения на нечетких множествах из примера 1 разд. 5.1:
-> Л = {(0,4; х0; (1,0; х2); (0,1; х3)}; А и В = {(0,8; х0; (0,9; х3)};
Л п2?= {(0,6; х0; (0,7;х3)}.
Если нечеткие множества заданы на непрерывном множестве-
носителе, то данные операции сводятся к построению дополнения до
значения 1, максимума и минимума для соответствующих функций
принадлежности.
Пример 2. На рис. 5.5 жирными линиями показаны функции при-
надлежности нечетких множеств, задающие результат применения опе-
раций дополнения, объединения и пересечения к нечетким множест-
вам Л и В, соответствующие термам «Очень близко» и «Близко» из при-
мера 3 разд. 5.1.
Рис. 5.5. Результаты применения операций дополнения, объединения
и пересечения к нечетким множествам
Т. к. результатом применения предметных операций являются но-
вые нечеткие множества, это позволяет с их помощью строить сложные
множества из более простых.
ОПРЕДЕЛЕНИЕ. Формулами нечетких множеств называют:
а) любые обозначения непосредственно заданных (например, пере-
числением) нечетких множеств: Л, В, А^ и т. д.;
Глава 5. Теория нечетких множеств. Нечеткая логика
211
б) все выражения вида-, Л, A <лВ, Ас\В, А\В, где А,В— формулы
нечетких множеств.
Данное определение позволяет отличать правильные записи от не-
верных. Например, выражение Я -'В, не удовлетворяющее ему, не яв-
ляется формулой нечеткого множества.
Замечание. В том случае, если нечеткие множества А, и Аг имеют
различные носители У| и Х2, применить к ним предметные операции воз-
можно, если принять новое расширенное множество-носитель Х% = ХулХ2.
Предметные операции на нечетких множествах можно вводить раз-
личным образом, учитывая характер решаемой задачи.
Например, в качестве функций принадлежности пересечения и
объединения можно принять ограниченное произведение max {0, цл(х) +
+ цй(х)-1} и ограниченную сумму min{l, цДх) + цй(х)}. Также для этих
функций используют алгебраическое произведение цл(х) • цй(х) и алгеб-
раическую сумму цл(х) + цй(х) - цл(х) • цй(х).
Для функции принадлежности разности нечетких множеств можно
использовать формулу max {0, цл(х) - цй(х)} и т. д.
На рис. 5.6 в качестве иллюстрации дан результат применения в
функции принадлежности объединения множеств А и В, соответст-
вующих термам «Очень близко» и «Близко» из примера 3 разд. 5.1, огра-
ниченной суммы (а) и алгебраической суммы (б).
Рис. 5.6. Функции принадлежности объединения множеств с использованием
ограниченной (а) и алгебраической суммы (б)
Задачи
1. Построить с применением обычных функций принадлежности дополне-
ние, объединение и пересечение нечетких множеств, заданных на носителе
Х= {ХрХг.Хз.хД:
А = {(0,2;х1); (0,4;х2); (0,6;х3); (0,8;х^}, В = {(0,9;Х[); (0,6;х2); (0,3;х3)}.
212 Раздел II. Математическая логика
2, Решить задачу 1 для нечетких множеств, соответствующих термам «Близ-
ко» и «Средне» из примера 3 разд. 5.1.
3. Решить задачу 1 с использованием в качестве функций принадлежности
объединение и пересечение ограниченной суммы и ограниченного произведения.
5.3. Операции сравнения нечетких множеств —
включение и равенство
Сравнивать можно только те нечеткие множества, которые заданы
на одном носителе. Вначале рассмотрим равенство, поскольку это ос-
новная операция сравнения в логике.
Пусть на множестве-носителе X заданы произвольные нечеткие
множества А и В. Нечеткие множества, как расширение обычных чет-
ких, могут совпадать строго (полностью).
ОПРЕДЕЛЕНИЕ. Нечеткие множества А и В строго (четко) рав-
ны, если совпадают их функции принадлежности на множестве-носи-
теле X: \/хеХ: цА(х) = цв(х). Обозначать будем как обычное равенство
четких множеств: А = В.
Поскольку основная причина использования нечетких множеств
заключается в анализе нестрогих рассуждений, для их оценки необхо-
димо рассмотреть величины данного типа.
ОПРЕДЕЛЕНИЕ. Нечеткой логической величиной (значением) назы-
вают вещественное число на отрезке [0, 1].
ОПРЕДЕЛЕНИЕ. Степенью включения множества в множество на-
зывают нечеткую величину
v(A, В) = min{max(-i ц/х), цг(х))}, хеХ.
При v(A, В) > 0,5 множество А нечетко включается в В. Обознача-
ется как А с В. При v(A, В) <0,5 множество нечетко не включается в
В. Обозначается как A & В.
Замечания. 1.Из общего вида формулы для степени включения
v(A, В) следует, что ее.можно интерпретировать как минимальное значе-
ние функции принадлежности множества (-пЛ и В).
2. Элементы носителя X, не входящие в множества А и В, можно не
рассматривать при определении включения, т. к. они не влияют на величи-
ну v(A, В).
Из определения нечеткого включения несложно вывести критерий,
позволяющий упростить его практическую проверку.
Глава 5. Теория нечетких множеств. Нечеткая логика 213
Теорема 5.1 (Критерий нечеткого включения множеств). Нечеткое
множество А включается в нечеткое множество В тогда и только то-
гда, когда на всех элементах х еХ выполняется хотя бы одно из условий:
-> цДх) - или Нв(х) 0,5.
Рассмотрим примеры проверки включения нечетких множеств на
дискретных и непрерывных носителях.
Пример 1. Х= {xltx2, х3}; А = {(0,7; х0; (0,9; х3)}; В = {(0,9; atj); (0,7; х3)}.
Найти степень включения А в В.
Решение. v(A, В) = min{max(0,3; 0,9); max(0,l; 0,7)} = min {0,9; 0,7} =
= 0,7 > 0,5. Следовательно, А с В.
Пример 2. X={xltx2,x3}; й = {(0,7;х2); (0,9; х3)}; 5 = {(0,9;х3); (0,7; х3)}.
Найти степень включения Л в В.
Решение. у(А, В) = min{max(l; 0,9); max(0,3; 0); max(0,l; 0,7)} = min{l;
0,3; 0,7} = 0,3 < 0,5. Следовательно, А ё. В.
ПримерЗ. На множестве-носителе Х= R+ = [0, +<ю) заданы нечеткие
множества А и В с треугольной и трапецеидальной функциями при-
надлежности (рис. 5.7). Показана функция принадлежности дополне-
ния -1 А, жирной линией — функция принадлежности объединения
—>A\jB, а также — минимальное значение равное v(A, В).
Рис. 5.7. Графический расчет степени включения нечетких множеств
В общем случае, при отсутствии строгого равенства для оценки бли-
зости нечетких множеств используются нечеткие логические величины.
ОПРЕДЕЛЕНИЕ. Степенью нечеткого равенства множеств А и В
называют нечеткую величину
ц (А, В) = min {v(A, В), v(B, й)}.
214
Раздел II. Математическая логика
При ц(Л, 5) >0,5 множества А и В нечетко равны. Обозначается как
Ах В. При ц(А, В) <0,5 множества А и В нечетко не равны. Обозна-
чается как А* В.
Замечание. Если одно из множеств не включается в другое, то не-
равенство их очевидно. Если А с В и А ф В, то имеет место строгое вклю-
чение нечеткого множества А в В: Асе В.
Используя определение равенства, несложно вывести критерий,
позволяющий связать его со свойствами функции принадлежности
сравниваемых множеств.
Теорема 5.2 (Критерий нечеткого равенства множеств). Нечеткие
множества А, В, заданные на общем носителе X, нечетко равны тогда и
только тогда, когда на всех элементах х еХ выполняется одно из парных
условий:
ц^(х) < 0,5; цг(х) < 0,5 либо ц^(х) > 0,5; цг(х) > 0,5.
Пример 4. Рассмотрим множества Х,А,В из примера 1. Найти сте-
пень равенства А и В.
Решение. Как уже показано выше, у(Л, В) = 0,7. Обратное включение:
у(А, В) = min{max(0,l; 0,7); max(0,3; 0,9)} = min{0,7; 0,9} = 0,7. ц(А, В) =
= min{v(X, В), v(B, А) = min{0,7; 0,7} = 0,7 > 0,5. Следовательно, Ах В.
Результатом выполнения рассмотренных операций включения и
равенства является нечеткое логическое значение, которое можно ин-
терпретировать как степень истинности высказывания.
Несложно показать, что при строгом равенстве нечеткое равенство
также выполняется. Обратное неверно, т. е. нечеткое равенство слабее
строгого.
Задачи
1. Доказать, что из строгого равенства нечетких множеств следует их нечет-
кое равенство.
2. Доказать, что в общем случае из нечеткого равенства нечетких множеств
не следует их строгое равенство.
3. Доказать критерий 5.1 нечеткого включения множеств.
4. Доказать критерий 5.2 нечеткого равенства множеств.
5. Х= {Xj, х2, х3}. Проверить нечеткое включение множеств:
а) А = {(0,1; Xj); (0,8; х2)} в В = {(0,3; х,); (0,9; х2)};
б) А = {(0,3; х^; (0,5; х2)} в В= {(0,2; х0; (0,6; х2); (0,7; х3)};
в) А = {(0,3; X]); (0,5; х2); (0,1; х3)} в В = {(0,1; х,); (0,2; х2); (0,3; х3)};
г) А- {(0,1; х,); (0,3; х2); (0,5; х3)} в В = {(0,2;х0; (0,4; х2); (0,6;х3)}.
Глава 5. Теория нечетких множеств. Нечеткая логика
215
6. Проверить нечеткое равенство множеств из задачи 5 а)—г).
7. Проверить нечеткое равенство множеств А и В из примера 2 разд. 5.2
(рис. 5.4).
5.4. Алгебра нечетких множеств
ОПРЕДЕЛЕНИЕ. Множество всех нечетких множеств X на общем
множестве-носителе X вместе с введенными на них операциями обра-
зуют алгебру нечетких множеств (АНМ).
ОПРЕДЕЛЕНИЕ. Формулами алгебры нечетких множеств называют
все выражения вида F\pF2, где F\,F2 — формулы нечетких множеств,
р — логическая операция либо ее отрицание.
При подстановке конкретных значений в формулу АНМ она полу-
чает нечеткое логическое значение. При значении логической опера-
ции > 0,5 формула считается истинной, при < 0,5 — ложной.
Как и в других формальных теориях, формулы АНМ, истинные для
любых входящих в них нечетких множеств на X, называют теоремами
АНМ. Основные наиболее употребительные теоремы называют зако-
нами АНМ.
Введем для множества всех нечетких множеств на общем носителе X
нулевой элемент —' пустое множество 0 и единичный элемент — сам
носитель X. Тогда для АНМ с обычными функциями принадлежности
дополнения, объединения и пересечения можно доказать справедли-
вость всех аксиом Al—А6 булевой алгебры. В случае рассматриваемой
алгебраической системы они принимают следующий вид:
А1* — коммутативность:
А<аВ«ВиА\ АпВ^ВпА;
А2* — ассоциативность:
Аг\(В пС)^(Аг\В)пС',
АЗ* — поглощение:
Агу(ВиА)^А;
А4* — дистрибутивность:
А и(ВпС)^(А и В)п(АиС);
АгАВ'^С) а(А<->В)^>(АоС);
А5* — свойства единичного и нулевого элемента:
АиХ «ХиА«А;
216
Раздел II. Математическая логика
А6* — законы дополнительности:
йп-,й»0.
Особенность выполнения рассмотренных аксиом заключается в
том, что аксиомы Al*—А5* выполняются строго (в смысле совпадения
функций принадлежности нечетких множеств в левой и правой частях).
У них знак нечеткого равенства » может быть заменен строгим равенст-
вом =. Аксиома А6* выполняется нечетко — в общем случае строгое
равенство не выполняется.
Пример 1. Доказать строгое выполнение первого закона поглоще-
ния: Аи(ВпА) а А.
Решение. Рассматриваем на произвольном носителе X произвольные
множества А и В. Множества в правой и левой частях: М2 = А,
Mi-Au(Br\A), Для любого элемента хеХ функция принадлежности
М\: цл/1(х) = шах(ц/)(х), min(p/)(x), цв(х))). При раскрытии скобок про-
анализируем два возможных случая:
1) цл(х) < цв(х) и 2) цл(х) > цв(х).
В первом случае (х) = тах(цл(х), р/х)) = цА(х) = рМг(х).
Во втором случае рМ1(х) = тах(р/х), рв(х)) = р/х) = рд/2(х).
Поскольку функции включения для М{ и М2 совпадают, то выпол-
няется условие их строгого равенства.
Ответ: Из произвольности множеств X, А и В вытекает строгое
выполнение первого закона поглощения.
Пример 2. Доказать строгое выполнение первого закона дистрибу-
тивности: Аи(ВоС) х(АиВ)г^(АиС).
Решение. В качестве А, В, С принимаем произвольные нечеткие
множества на общем носителе X. Множества в левой и правой частях:
М2 = (АиВ)п(АиС).
Для любого элемента хеХ: р^х) = шах(рл(х), min(p5(x), рс(х))),
Рду2(х) = min(max(p/)(x), цв(х)), тах(цл(х), рс(х))).
С учетом симметричного вхождения в формулу множеств В и С
необходимо проверить только часть возможных случаев (в скобках от-
метим симметричные по В и С):
1) р/х) < рв(х) < цс(х) (рл(х) < рс(х) < рв(х)):
Рл/,(х) = шах(рл(х), рв(х)) = рв(х), pMj(x) = min(pB(x), рс(х)) = рв(х);
Глава 5. Теория нечетких множеств. Нечеткая логика
217
2) Цл(х) < цА(х) < цс(х) (цс(х) < цА(х) < ц5(х)):
Ил/, W = тах(ц^(х), ц£(х)) = цл(х), Цл/2(х) = тт(цл(х), цс(х)) = цл(х);
3) Рд(х) < цс(х) < р.А(х) (цс(х) < ця(х) < Цл(х)):
ц^/х) = тах(цл(х), цй(х)) = рл(х), ц^/x) = тт(цл(х), цл(х)) = рл(х).
Во всех рассмотренных случаях функции включения совпадают,
следовательно, строго равно М2.
Ответ'. Из произвольности множеств X, А, В, С вытекает строгое
выполнение первого закона дистрибутивности.
Пример 3. Доказать нечеткое выполнение первого закона дополни-
тельности: А и А « X.
Решение. Используем критерий 5.2. Рассмотрим произвольное не-
четкое множество А на произвольном носителе X. Обозначим множе-
ство в левой части А и А через М{.
Функция принадлежности элементов носителя X: цЛ(х) = 1 >0,5.
Для множества в левой части: = max(p^(x), 1 -цл(х)). Поскольку в
сумме два числа дают 1, то, очевидно, оба они не могут быть меньше
0,5. Отсюда для любого элемента х^Х следует справедливость соотно-
шения > 0,5. Из критерия 5.2 получим нечеткое равенство носителя
и нечеткого множества в левой части.
Ответ: Из произвольности множеств X и А вытекает нечеткое вы-
полнение первого закона дополнительности.
Из справедливости аксиом Al*—А6* следует, что АНМ является бу-
левой алгеброй и для нее автоматически выполняются производные за-
коны булевой алгебры. В данном случае они принимают следующий вид:
идемпотентность:
Аг<А~А;
законы де Моргана:
-,(А'^В)~^.Аг<^В-, -,(AriB')x>-lAu-lB;
отрицание третьего:
-^(А)*А;
действия с константами:
Йп0«0; АиХ^Х
и другие.
Перечисленные производные законы выполняются строго, поэтому
в них можно использовать знак строгого равенства.
218
Раздел II. Математическая логика
Также в АНМ для выполнения эквивалентных преобразований
формул дополнительно используют свойства дополнений:
Лич АиВ « ВиЛиА;
An-iAnBxBrx-^BrxA.
Предварительное рассмотрение показывает, что свойства дополне-
ний являются теоремами булевой алгебры. Их справедливость можно
доказать в рамках данной теории. Однако проще это можно выполнить
непосредственно в АНМ.
Пример 4. Доказать справедливость первого свойства дополнений.
Решение. Анализ формулы показывает, что в общем случае имеет
место нечеткое равенство множеств в левой и правой частях равенства.
Рассматриваем на произвольном носителе X произвольные множе-
ства А и В. Множества в левой и правой частях: М{ = A'u-t А, Мг =
= В<->-< В. Как в примере 3, для любого элементах&Хвыполняется:
ИМ1(х) = шах(цл(х), 1 - Мх)) °>5J
Нм2(х) = шах(ц5(х), 1 - ця(х)) > 0,5.
Ответ-. По критерию 5.2 из произвольности множеств X, А и В вы-
текает справедливость первого свойства дополнений.
Для выполнения эквивалентных преобразований формул в АНМ
применяют следующие тавтологии, которые называют свойствами опе-
рации включения:
(А с В) ~(.^В с -,Л); (-,ЛсЛ)»(-,ЛсЛ);
(йс(5и-.5))«((йп^й)сД);
В отличие от рассмотренных выше формул с нечеткими равенства-
ми множеств, в левой и правой частях свойств операции включения
стоят рассуждения, истинность которых также выражают нечеткими
значениями. Введем их нечеткое равенство по аналогии с нечетким ра-
венством множеств.
ОПРЕДЕЛЕНИЕ. Степенью нечеткого равенства нечетких величин
называют нечеткую величину ц(х, y) = min{min(l -х, у), min(x, 1-у)}.
При ц(х, у) >0,5 величины х и у нечетко равны. Обозначается как
х«у. При ц(х, у) <0,5 величины х и у нечетко не равны. Обозначает-
ся как х 5 у.
Аналогов свойств операций сравнения в булевых алгебрах нет, по-
этому данные свойства необходимо доказывать только средствами са-
мой прикладной теории.
Глава 5. Теория нечетких множеств. Нечеткая логика
219
Пример 5. Доказать справедливость первого свойства операции
включения: (А с В) «(-, В с А).
Решение. Рассмотрим на произвольном носителе X произвольные
множества А и В, для которых справедливо нечеткое включение А с. В.
По критерию 5.1 это эквивалентно тому, что на всех элементах хеXвы-
полняется хотя бы одно из условий: цл(х) > 0,5; цв(х) > 0,5.
Используя закон отрицания третьего, представим цй(х) = цй(х).
Отсюда следует, что на всех элементах хеХ выполняется хотя бы одно
из условий: —1 —1 pis(x) > 0,5; -> цл(х) > 0,5, что по критерию 5.1 равно-
сильно включению множеств -> В с -> А, что требовалось доказать.
Остальные свойства операции включения можно доказать по ана-
логии.
В случае использования других функций принадлежности предмет-
ных операций аксиомы булевой алгебры в полном объеме обычно не
выполняются.
Рассмотрим в качестве примера использование в функции принад-
лежности пересечения и объединения, соответственно, ограниченного
произведения тах{0, цл(х) + цв(х) - 1} и ограниченной суммы min{l,
Цл(х) + цв(х)}.
Аксиомы коммутативности при этом выполняются, поскольку сво-
дятся к аналогичным свойствам вещественных чисел.
Пример 6. Проверить справедливость аксиомы ассоциативности для
операции пересечения Ji n(SnC) «(Ji n S)nC в случае использования
в ее функции принадлежности ограниченного произведения тах{0,
цл(х) + цв(х) - 1}.
Решение. Рассмотрим произвольном на носителе X произвольные
множества Ji, В и С. Множества в левой и правой частях: М\ = Ап
(BriC), M2 = (Ar'iB)r'iC. Для любого элемента хеХ функции принад-
лежности на М1 и Мг будут следующими:
HM1(x) = max{0, max{0, цв(х) + цс(х) - 1} + ц/х) - 1};
Рм2(*) = тах{0, тах{0, ц/х) + цв(х) - 1} + цс(х) - 1};
Рассмотрим основные возможные случаи для величин ц^(х), цв(х),
PcW-
1. цв(х) + цс(х) > 1; цДх) + цв(х) > 1;
Им,(х) = Цм2(х)= тах{0, цл(х) + цв(х) + цс(х) - 2.
220
Раздел II. Математическая логика
мв(*) + М*) 1; М*) + нв(х) >1;
ил/1и) = им2(х)=°-
3. цй(х) + Hc(x) > 1; цл(х) + цй(х) <1;
Цлл(х) = Мм2(*) = 0-
4. цв(х) + Мс<х) Ъ Мл(*) + MbW ;
Цм1(х) = йл/2(х) = 0-
Ответ'. По критерию 5.2 из произвольности множеств А", А, В и С
вытекает справедливость аксиомы ассоциативности для операции пе-
ресечения при использования в ее функции принадлежности ограни-
ченного произведения.
Пример 7. Проверить для заданных функций принадлежности спра-
ведливость первой аксиомы поглощения Аи(Вг>А)~ А.
Решение. Рассмотрим на носителе X множества А и В. Множества
в левой и правой частях: MI = А и (В п А), М2 = А. Для любого элемента
х еХих функции принадлежности имеют вид
Рл/,(х) = min{l, цДх) + шах{0, цй(х) + цс(х) - 1}}; HMj(x) = ц/х).
В случае цл(х) = 0,2; цй(х) = цс(х) = 0,7 получим
p.Wi(x) = min{l, 0,2 + max{0; 0,4}} = 0,6 > 0,5; р.ду2 (х) = 0,2 < 0,5.
Нарушено условие критерия 5.2 нечеткого равенства множеств.
Следовательно, построен пример, опровергающий первую аксиому
поглощения в случае использования в функциях принадлежности пере-
сечения и объединения ограниченного произведения и ограниченной
суммы.
Ответ: Первая аксиома поглощения в рассмотренном случае не
выполняется.
Задачи
1. Доказать строгое выполнение второго закона поглощения:
Агу(ВиА) ~ А.
2. Доказать строгое выполнение второго закона дистрибутивности:
Ап(5иС)«(Яп5)и(АглС).
3. Доказать строгое выполнение свойства единичного элемента:
Ar.X ~ Xг.Л-Л.
4. Доказать строгое выполнение свойства нулевого элемента:
Ли0«0иЛ»0.
Глава 5. Теория нечетких множеств. Нечеткая логика
221
5. Доказать нечеткое выполнение второго закона дополнительности:
Лгл-,Л»0.
6. Привести пример строгого выполнения первого свойства дополнений.
7. Доказать нечеткое выполнение свойства дополнений:
Ли->Ли5кйи->ВиЛ
8. Доказать справедливость второго свойства операции включения:
(-,Лсй)«(-,5сЛ).
9. Будет ли выполняться закон отрицания третьего в случае использования
в функциях принадлежности пересечения и объединения ограниченного про-
изведения и ограниченной суммы?
5.5. Нечеткие высказывания, переменные и логические связки.
Нечеткие логические формулы
ОПРЕДЕЛЕНИЕ. Нечетким называют высказывание А, степень
истинности которого оценивается нечетким логическим значением.
Если А < 0,5, то высказывание ложно, если А >0,5, то — истинно. При
А = 0,5 высказывание называют индифферентным.
ОПРЕДЕЛЕНИЕ. Нечеткой логической константой {переменной)
называют постоянную (переменную) нечеткую логическую величину.
При А < 0,5 константу называют ложью, при А > 0,5 — истиной. Обо-
значают их Л и И.
В качестве нечеткой переменной могут быть приняты значения
функции принадлежности терма лингвистической переменной, задан-
ной на некотором множестве-носителе.
На множестве нечетких высказывании вводятся логические связки
(операции), аналогичные элементарным функциям алгебры логики. По
смыслу они подобны предметным операциям на нечетких множествах.
Рассмотрим традиционную форму определения нечетких логиче-
ских связок.
1. Отрицание нечеткого высказывания А А = 1- А.
2. Конъюнкция нечетких высказываний А и В:
А& В = min(X, В).
3. Дизъюнкция: A vВ = шах(Д, В).
4. Импликация: А—>В = тах{1-А,В).
5. Эквивалентность: {А = В) = min(max(l-А, В), тах(Д, 1- В)).
Старшинство операций принято в порядке 1)—5).
222
Раздел II. Математическая логика
Пример. Найти степень истинности высказывания C = AvB = A->
А & В при А = 0,8; 5 = 0,3.
Решение. Порядок выполнения действий определяется старшинст-
вом логических операций:
1) Л &5 = min(0,8; 0,3) = 0,3;
2) A v5 = тах(0,8; 0,3) = 0,8;
3) Л->Л&5 = тах(1 - 0,8; 0,3) = 0,3;
4) С = min(max(l - 0,8; 0,3), тах(1 - 0,3; 0,8)) = min(0,3; 0,8) = 0,3.
Ответ: степень истинности высказывания равна 0,3.
ОПРЕДЕЛЕНИЕ. Нечеткой логической формулой F называют:
а) любую нечеткую константу А или переменную Х\
б) любое выражение вида -> А, А&В, Av В, А->В, (А = В), где
А, В — нечеткие логические формулы.
Алгебра нечетких высказываний сходна с алгеброй нечетких мно-
жеств, построенных на четком множестве-носителе.
По аналогии с предметными функциями нечеткой теории мно-
жеств, нечеткие логические связки могут быть введены различными
способами. Например, для нечеткого логического умножения и суммы
можно использовать ограниченное произведение и сумму либо алгеб-
раическое произведение и сумму.
Задачи
1. Найти степень истинности высказывания (A vB)&(-,A vC) при А = 0,6;
5 = 0,3; С = 0,9.
2. Найти степень истинности высказывания (А -> -> В) = (А —> С) при А = 0,6;
5 = 0,3; С = 0,9.
5.6. Логико-лингвистическое описание функционирования
нечетких систем. Нечеткие базы знаний
Нечеткая система управления (НСУ) использует нечеткое описание
управляемого процесса и системы выработки управляющих воздейст-
вий для получения команд, необходимых для достижения поставлен-
ной цели. В общем случае НСУ имеет п входов (рис. 5.8), на которые
подается вектор значений лингвистических переменных х = (х1;...,х„),
описывающих текущее состояние объекта, и т выходов, на которые
система выдает вектор значений лингвистических переменных у =
= (уь..., ут), задающих в нечеткой форме необходимое управление.
Глава 5. Теория нечетких множеств. Нечеткая логика
223
НСУ Ут
х Х1хХ2...хХ„ Нечеткая база знаний у J[X г2.,.х гп
Рис. 5.8. Общая схема НСУ
Для каждого из входов х, (1 < I < п) и выходов yj (1 <j < т) на соот-
ветствующих четких множествах-носителях Xt и Yj, выражающих воз-
можные значения состояний объекта и величин управляющих воздей-
ствий, заданы функции принадлежности ц,-: А,-> [0, 1]; ц-: > [0, 1];
которые определяют нечеткие множества Xj и Таким образом, об-
ластью определения векторов входов х и выходов у являются декар-
товы произведения нечетких множеств: Х\ х Х2 х... х Х„ и Y\ х Y2 х... х Ym.
Назначение НСУ заключается в выработке для каждого заданного
значения вектора входов хр =(х*соответствующего ему векто-
ра выходов ук =(У1,--,у„), описывающего требуемое управляющее
воздействие. Система реализует отображение F: Х{ хХ2 х...хХ„ —>У\х
xY2x...xYm.
В обычных СУ для построения аналогичных отображений исполь-
зуют математические модели объектов.
В НСУ отображение F строится на основании мнений экспертов.
Они на основе собственных знаний об объекте и управлении им фор-
мируют описание процесса принятия решения в виде набора некото-
рых априорных утверждений — правил и условий их применения.
Формализация данных правил и создание на основе знаний экспертов
соответствующего блока управления позволяют в дальнейшем исклю-
чить их из схемы управления и выполнять его в автоматическом режиме.
ОПРЕДЕЛЕНИЕ. Экспертной оценкой влияния входов системы х =
= (х1,...,х„) на ее выходы у =(у1,...,ут) называют рассуждения (пра-
вила) следующего вида: «Если выполнено некоторое условие относи-
тельно термов входных лингвистических переменных =(х*,...,х*)
(посылка), то необходимо задать соответствующие значения термам
выходных лингвистических переменных ук = (ук,-.-, ук„) (вывод)».
224 Раздел II Математическая логика
Посылка экспертной оценки в общем случае представляет собой
нечеткую логическую формулу/над множеством входных термов НСУ
х = (х1,...,х„), с использованием логических связок «отрицание» (->),
«конъюнкция» (&) и «дизъюнкция» (v). Нечеткие логические значения
термам задают функции принадлежности.
Поскольку одновременное выполнение условий выражается логи-
ческой связкой «умножение» (&), то в выводе экспертной оценки усло-
вия на выходные данные перемножают.
Помимо присваивания термов, в выводе экспертной оценки при-
меняют присваивание четких констант либо функций, задающих зави-
симости между входными переменными.
Формальная запись экспертной оценки будет следующей:
/(х1;..., %„)->(/! = yf)&...&(ym = ук).
При составлении формулы посылки в экспертной оценке учитыва-
ется, что конъюнкция сильнее дизъюнкции.
Пример 1. Входными параметрами НСУ примем лингвистические
переменные «Расстояние» и «Скорость». Переменная «Расстояние»,
имеющая терм-множество {Очень близко, Близко, Средне, Далеко} дана в
примере 4 разд. 5.1. Функции принадлежности ее термов приведены на
рис. 5.9.
Рис. 5.9. Функции принадлежности термов лингвистической
переменной «Скорость»
Лингвистической переменной «Скорость» сопоставим терм-мно-
жество {Малая, Средняя, Высокая}. Функции принадлежности ее термов
носителю V= {множество всех значений скорости, выраженных в см/с}
вводим так, как показано на рис. 5.9.
Целью управления является скорейшее достижение тележкой мо-
бильного робота заданного объекта с плавной остановкой перед ним.
Рассмотрим влияние расстояния и скорости на силу тока, которую
необходимо подавать на двигатель постоянного тока привода тележки.
Глава 5. Теория нечетких множеств. Нечеткая логика 225
Для этого введем лингвистическую переменную «Сила тока» с терм-
множеством {Малая, Средняя, Большая}.
Функции принадлежности термов носителю I = {множество всех зна-
чений силы тока, выраженных в амперах (/!)} зададим на рис. 5.10.
Рис. 5.10. Функции принадлежности термов лингвистической
переменной «Сила тока»
Для достижения цели управления заданы следующие правила.
1. «Если («Расстояние» = «Близко») или («Расстояние» = «Среднее») и
(«Скорость» = «Высокая»), то («Сила тока» = «Малая»),
2. «Если («Расстояние» = «Среднее») и («Скорость» = «Средняя»), то
(«Сила тока» = «Средняя»).
3. «Если («Расстояние» = «Среднее») и («Скорость» = «Малая») или
(«Расстояние» = «Далеко»), то («Сила тока» = «Большая»).
Для более удобного представления правил обозначим лингвистиче-
ские переменные и их термы следующим образом:
А) Переменная «Расстояние» — X. Термы: «Очень близко» — Xi,
«Близко» — Х2, «Среднее» — ХЗ, «Далеко» — Л4.
Б) Переменная «Скорость» — V. Термы: «Малая» — И1, «Средняя» —
V2, «Высокая» — V3.
В) Переменная «Сила тока» — I. Термы: «Малая» — 71, «Средняя» —
12, «Большая» —13.
Тогда формулы правил можно представить в следующем виде:
1) (Х=Х2) v (Х=ХЗ)(У= ИЗ) -> (7= 71);
2) (Х=ХЗ)(7= И2) -> (7= 72);
3) (Х=ХЗ)(7= И1) v (Х=Х4) -> (7=73).
В реальных системах используют достаточно широкие наборы пра-
вил. Их совместное выполнение выражают логической связкой «сло-
жение» (v).
ОПРЕДЕЛЕНИЕ. Нечеткой базой знаний, задающей р экспертных
оценок влияния входов системы х =(хь...,х„) на ее выходы
У = (У1, • Ут),
226
Раздел П. Математическая логика
называют набор из р правил, которые в логической форме совместно
представляют в виде суммы
= yf)&...&(ym=y£)}.
Нечеткая база знаний при помощи набора экспертных оценок зада-
ет частный случай общего отображения F:XlxX2x--x^n^^\x
х Г2 х...хРт. Обозначим его через Ф. На его основе по заданному входу
х*=(х*,...,х*т) должна производиться выработка управляющего воз-
действия у*=(У1*,у„). Математическое представление информации
в базе знаний определяется содержанием логических связок, исполь-
зуемых в ней для записи посылок и выводов в экспертных оценках.
Для полноты нечеткой базы знаний для каждого из термов (значе-
ний) входных и выходных лингвистических переменных должно суще-
ствовать хотя бы одно правило, в котором они используются, соответ-
ственно, в качестве посылки и следствия. В противном случае база не-
четких правил является неполной.
Рассмотренную в примере 1 совокупность правил управления силой
тока, подаваемого на двигатель привода тележки мобильного робота,
можно принять в качестве нечеткой базы знаний.
Задача
1. Является ли нечеткая база знаний в примере 1 полной?
5.7. Нечеткий логический вывод
На каждом такте управления в НСУ применяется следующий алго-
ритм действий:
1) фаззификация входных величин — перевод четких значений вход-
ных параметров в нечеткие величины лингвистических переменных;
2) нечеткий логический вывод;
3) дефаззификация — получение четких значений выходных пара-
метров по нечетким величинам, полученным в итоге вывода.
ОПРЕДЕЛЕНИЕ. Нечетким логическим выводом называют процесс
определения нечеткого выхода системы у* = (у*,-.-,у*т) по заданному
нечеткому входу х* = (х1*,...,х*) с помощью нечеткой базы знаний Ф:
Глава 5. Теория нечетких множеств. Нечеткая логика
227
^1хУ2х...х^^У1хУ2х...хУт, нечетких логических связок и опера-
ций с нечеткими множествами.
В общем случае формулу нечеткого логического вывода представ-
ляют следующим образом:
у’ = х* • (Ф: хХ2 х...хХ„ хУ2 х...хУт),
где • — композиционное правило (метод} или правило свертки нечеткого
вывода, задающее закон, по которому совместно преобразуется х и
набор правил в базе знаний Ф.
Обозначим наборы значений функций принадлежности для вхо-
дов х* и выходов у* через М* и М*. Смысл композиционного пра-
вила заключается в максимальном использовании связей между х и у,
задаваемых базой знаний Ф, при определении у*. В настоящее время
существуют десятки композиционных правил. Рассмотрим наиболее
употребительные из них.
Набор значений Л7* функций принадлежности для входов х*
обычно получают в результате фаззификации точных значений вход-
ных параметров системы.
Пример 1. Датчик расстояния показал величину х= 140 см, а датчик
скорости — v= 10 см/с. Произвести их фаззификацию относительно
лингвистических переменных «Расстояние» и «Скорость».
Как показано в примере 7 разд. 5.1, при х= 140 см степень принад-
лежности термов «Близко» = 0,5; «Средне» = 0,5. У термов «Очень близко»
и «Далеко» она равна 0.
Как следует из рис. 5.9, при v= 10 см/с: степень принадлежности
термов «Малая» = 0,25; «Средняя» = 0,6; «Высокая» = 0.
Ответ'. С учетом введенных обозначений степень истинности не-
четких высказываний о равенстве лингвистических переменных их
конкретным термам будет следующей:
(Х=Х1) = (Х=Х4) = 0', (Х=Х2) = 0,5', (Х= ХЗ) = 0,5.
(К= И) = 0,25; (У= И2) = 0,6; (К= КЗ) = 0.
Вначале значения лингвистических переменных подставляют в по-
сылки правил и определяют их достоверность d, — степень истинности
соответствующих нечетких формул.
Пример 2. Определить достоверность dy-<73 посылок правил вывода
1)—3) в нечеткой базе данных управления двигателем мобильного робо-
та при х = 140 см, v = 10 см/с.
228
Раздел 11. Математическая логика
Решение. Подставляя в левые части правил 1)—3) степени истинно-
сти нечетких высказываний из примера 1, получим искомые степень
достоверности посылок правил 1)—3):
1) dx = (Х=Х2) v (%=%3)(И= И) = 0,5 v 0,5 & 0 = 0,5;
2)t/2 = (A'=A'3)(K= И2) = 0,5 & 0,6 = 0,5;
3) d3 = (Х=Х3)( V = И1) V (%=Х4) = 0,5 & 0,25 v 0 = 0,25.
Отвепг. Степени достоверность посылок правил вывода 1)—3) рав-
ны: dx = 0,5; d2 = 0,5 и d3 = 0,25.
В каждом конкретном случае решение о применении того или
иного метода композиции должно осуществляться на основе экспери-
ментальной проверки с использованием тестовых примеров. Рассмот-
рим максиминный метод, а также метод масштабирования.
5.7.1. Максиминный метод композиции
Данный метод композиции в сочетании с дефаззификацией по ме-
тоду центра тяжести наиболее часто используется в практике нечеткого
вывода, его обычно применяют при аппаратной реализации функций
нечеткого вывода.
ОПРЕДЕЛЕНИЕ. При максиминном методе композиции вначале по
степени достоверности <7, посылок экспертных правил Р,(1 < i <р) в вы-
водах этих правил отсекают часть функции принадлежности, лежащую
выше уровня dh затем логически суммируют все полученные отсечен-
ные выводы правил. Полученное в итоге нечеткое множество является
нечетким выводом при максиминном методе композиции.
Пример 3. Выполнить по максиминному методу композиции нечет-
кий вывод для силы тока с использованием НСУ из примера 1 разд. 5.6
при четких входных данных: х= 140 см, v= 10 см/с.
Решение. В примере 2 найдены степени достоверности посылок пра-
вил вывода 1)—3) — dx = 0,5; d2 - 0,5 и d3 = 0,25.
Поскольку выводы правил 1)—3) совпадают соответственно с терма-
ми «Малая», «Средняя» и «Большая» лингвистической переменной «Сила
тока», то у их функций принадлежности, приведенных на рис. 5.10,
отбрасываем части графика выше уровней dx = 0,5; d2 = Q,5 и <73 = 0,25.
После логического суммирования (взятия максимума) всех полученных
отсеченных выводов получаем жирную кривую, показанную на рис. 5.11,
которая равна нечеткому выводу по максиминному методу.
Глава 5. Теория нечетких множеств. Нечеткая логика
229
О 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 1,00 1,10 1,20 1,30 1,40 1.50
Рис. 5.11. Нечеткий вывод по максиминному методу
При дефаззификации кусочно-линейных нечетких выводов на не-
прерывных носителях необходимо вначале определить узловые точки —
точки пересечения отрезков, образующих вывод. Координаты точек
будем задавать значениями (х, ц(х)), отрезки — совокупностью крайних
точек. Для двух пересекающихся непараллельных отрезков (А, В) =
= ((а, ц(а)), (b, p(Z>))) и (С, D) = ((с, ц(с)), (d, ц(</))) (рис. 5.12, а) коорди-
наты точки пересечения П = (х„, ц„), можно найти по формулам
хп = (ц(с) - ц(а) + tg( • а - tg2 • c)/(tg, - tg2);
p„ = p(a) + tgi • (х„-а),
где tg] = (p(Z>)-p(a))/(Z>- a); tg2 = (p(o') - p(c))/(J-с) — тангенсы углов
наклона отрезков (А, В) и (С, D) к оси X.
Если отрезок (С, Z>) — константа, у которой ц(с) = ц((7) = ц2
(рис. 5.12, б), то
^ = a + (P2-P(a)/tgb =
Рис. 5.12. Пересечения отрезков в функции принадлежности
Выполним дефаззификацию нечеткого вывода из примера 3 по ме-
тоду центра тяжести.
1. Рассчитаем значения координат узловых точек (рис. 5.11): А = (0,1;
0,5); В= (0,117; 0,33); С= (0,15; 0,5); D = (0,675; 0,5); Е= (0,7625; 0,25).
230
Раздел II. Математическая логика
2. Вычисляем для функции принадлежности нечеткого вывода
(рис. 5.11) площади под кривой и суммы площадей на подряд стоящих
отрезках [0;0,1]; [0,1; 0,117]; [0,117; 0,15]; [0,15; 0,675]; [0,675; 0,7625];
[0,7625; 1,5] по формулам из разд. 5.1. Выполняя вычисления с точно-
стью до 4-го знака после запятой, получим следующие значения: =
= 0,05; 32 = 0,0071; У3 = 0,0137; У4 = 0,2625; У5 = 0,0328; У6 = 0,1844.
Последовательные суммы площадей: + 32 = 0,0571; Л1] + 32 + =
= 0,0708; + S2 + У3 + У4 = 0,3333; + S2 + 53 + У4 + У5 = 0,3661; 5= 0,5505.
3. Вычисляем для функции принадлежности нечеткого вывода мо-
менты на отрезках [0; 0,1]; [0,1; 0,117]; [0,117; 0,15]; [0,15; 0,675]; [0,675;
0,7625]; [0,7625; 1,5] по формулам из разд. 5.1с точностью до 6-го знака
после запятой: = 0,0025; М2 = 0,000761; Л/3 = 0,001844; Л/4 - 0,108281;
Л/5 = 0,033906; М6 = 0,239824. М= М{ + ...+ Л/6 = 0,387116.
4. Четкое значение силы тока по методу центра тяжести 1дс = М/5=
= 0,387116/0,5505 = 0,70 Л.
Выполним дефаззификацию нечеткого вывода из примера 3 по ме-
тоду медианы, используя предыдущие расчеты.
1. Половинное значений площади под графиком функции принад-
лежности 5/2 = 0,5505/2 = 0,2753.
2. Найденное значение попадает между последовательными сумма-
ми площадей участков ч- Л'з = 0,0708 <S/2 <SX + У2 + У3 + У4 = 0,3333.
Следовательно, медиана находится на участке 4 — [0,15; 0,675].
3. На участке 4 медиана должна отсекать площадь, равную
S' = 5/2 - + 32 + У3) = 0,2045.
4. По формуле из разд. 5.1 рассчитываем разность
(х - 0,15) = S'/ц = 0,2045/0,5 = 0,4090.
Отсюда получим искомое четкое значение силы тока по методу ме-
дианы: 1дт-х = 0,4090 + 0,15 = 0,5590 .
5.7.2. Метод масштабирования выполнения композиции
ОПРЕДЕЛЕНИЕ. При методе масштабирования вначале по степе-
ни достоверности d, посылок экспертных правил Р, (1 < i <р) в выводах
этих правил выполняют сжатие (масштабирование) функции принад-
лежности по оси ц на величину <7, (0 < dt< 1), а затем получают нечеткий
вывод путем логического суммирования всех полученных масштабиро-
ванных выводов правил.
Пример 4. Выполнить по методу масштабирования нечеткий вывод
для НСУ из примера 3.
Глава 5. Теория нечетких мноэкеств. Нечеткая логика 231
Решение. Дефаззификация и определение степени достоверность
посылок правил вывода 1)—3) выполняется аналогично: =0,5; </2 = 0,5
и d3 = 0,25.
Выполняем сжатие по оси ц графиков функций принадлежности
термов «Малая», «Средняя» и «Большая» (рис. 5.9) лингвистической пе-
ременной «Сила тока», которые являются выводами правил 1)—3), соот-
ветственно с коэффициентами 0,5; 0,5 и 0,25, и логически суммируем их.
Ответ: результат масштабирования выводов правил показан на
рис. 5.13, их логическая сумма выделено жирной кривой.
0 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 1,00 1,10 1,20 1,30 1,40 1,50
Рис. 5.13. Дефаззификация получаемого нечеткого вывода
производится аналогично
Алгоритмы нечеткого вывода в реальном времени непосредственно
используют на обычных ПК либо на специализированных устройствах
с микросхемами, аппаратно реализующими нечеткие вычисления.
Также используют второй вариант, при котором с нечеткой управ-
ляющей системы снимают входо-выходную характеристику, оптимизи-
руют ее и записывают в ассоциативную память. При этом достигается
максимальное быстродействие системы даже на низкопроизводитель-
ных вычислительных устройствах.
Для оценки быстродействия систем нечеткого управления исполь-
зуют показатель FLIPS — число нечетких выводов в секунду. В совре-
менных системах он достигает десятков миллионов.
Высокое быстродействие позволяет применять НСУ для управле-
ния в режиме реального времени роботами, автомобилями, поездами,
самолетами и ракетами.
Для проектирования НСУ в настоящее время используют специа-
лизированные пакеты прикладных программ.
Задачи
1. Выполнить дефаззификацию по методам центра тяжести и медианы не-
четкого множества, у которого функция принадлежности ц(х) задана на носи-
теле А"следующим образом (рис. 5.14):
232
Раздел И. Математическая логика
а) при х < 0 ц(х) = О;
б) при О < х < 40 ц(х) — квадратичная парабола, проходящая через три точки
с координатами (х; ц(х)): {(0; 0); (20; 0,75); (40; 1)};
в) при40<х<80 ц(х)= 1;
г) при 80 <х ц(х) = 0.
2. Выполнить по максиминному методу композиции нечеткий вывод для
силы тока в НСУ из примера 1 разд. 5.6 при четких входных данных примера 1:
х = 310 см, v = 6 см/с. Произвести дефаззификацию по методам центра тяжести
и медианы.
3. Решить задачу 2 с применением метода масштабирования.
4. Система управляет заслонкой воздухозаборника двигателя. В упрощен-
ном варианте входная лингвистическая переменная «Обороты вала двигателя»
имеет терм-множество {Низкие, Высокие}, а выходная лингвистическая пере-
менная «Угол поворота заслонки» — терм-множество {Малый, Большой}.
Функции принадлежности термов для входной и выходной лингвистиче-
ских переменных даны на рис. 5.15.
Нечеткая база знаний содержит две экспертные оценки:
1)«если («Обороты вала двигателя» = «Низкие»), то («Угол поворота заслон-
ки» = «Малый»);
2) «если («Обороты вала двигателя» = «Высокие»), то («Угол поворота заслон-
ки» = «Большой»),
Глава 5. Теория нечетких множеств. Нечеткая логика 233
Выполнить нечеткий вывод по максиминному методу при числе оборотов
вала п = 2,5 тыс. об/мин. Произвести дефаззификацию по методам центра тяже-
сти и медианы.
5. Решить задачу 4 при числе оборотов вала п = 3 тыс. об/мин с применени-
ем метода масштабирования.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ТЕОРИЯ НЕЧЕТКИХ МНОЖЕСТВ.
НЕЧЕТКАЯ ЛОГИКА»
В. 1.
1. Пусть Х= {Xj, х2, х3}. Проверить нечеткое включение множества А =
= {<0,1; Х| >; <0,8; х2 >} в В = {<0,3; Х| >; < 0,9; х2 >}.
2. Выполнить фаззификацию четких значений глубин х = 20, 150, 450, 550 и
800 м относительно термов лингвистической переменной «Глубина погруже-
ния», заданных графиками своих функций принадлежности:
В. 2.
1. Указать значения нечетких переменных х и у, при которых степень ис-
тинности нечеткой формулы A=(xv у)&(х-> у) будет равна 0,4. Ответ обос-
новать.
2. Обозначим нечеткие множества, соответствующие термам «Малая»,
«Средняя», «Большая» лингвистической переменной «Глубина погружения» из
В. 1 через X], Х2, Х2. Построить для обычного определения предметных опера-
ций следующие составные нечеткие множества: а) - Х2, б) Х\ и Х2; в) Х2 <~\Ху,
г)^з/^2.
В. 3.
1. Доказать справедливость в АНМ свойства дополнений: A n-i A а В г.-, В.
Как выполняется данное свойство — строго ли нечетко?
2. Обозначим нечеткие множества, соответствующие термам «Малая»,
«Средняя», «Большая» лингвистической переменной «Глубина погружения» из
В. 1 через Х\, Х2, Х2. Определить степени нечеткого включения Х2 в объеди-
нение множеств Xt, Х2.
234
Раздел IL Математическая логика
В. 4.
1. Определить (доказать или опровергнуть) будет ли формула (А п -,В) и
С с (А и С) \ В теоремой АНМ,
2. Выполнить по методу центра тяжести дефаззификацию нечеткого выво-
да, функция принадлежности которого задана следующим графиком:
В. 5.
1. Доказать истинность свойства операции включения в АНМ: (А с (В и
-2?))«((/1 п -1 А) с В. Как оно выполняется строго ли нечетко?
2. Выполнить по методу медианы дефаззификацию нечеткого вывода, при-
веденного в В. 4.
В. 6.
В топке котла сжигается твердое топливо. Для регулирования температуры
горения в топку дополнительно подается природный газ. Допустимая темпера-
тура процесса горения находится в пределах [870; 920] градусов, оптимальная —
[895; 897] градусов.
Лингвистическая переменная «Температура» задана терм-множеством
{Низкая, Пониженная, Оптимальная, Повышенная, Высокая}. Функции принад-
лежности термов приведены ниже:
Лингвистическая переменная «Расход газа» (единица измерения — м3/ч)
имеет терм-множество {Малый, Средний, Высокий}. Функции принадлежности
термов следующие:
Глава 5. Теория нечетких множеств. Нечеткая логика
235
Целью нечеткой системы управления является поддержание оптимальной
температуры горения топлива. Для достижения ее заданы следующие правила.
1. «Если («Температура» = «Оптимальная») и («Расход газа» = «Малый») или
(«Температура» = «Повышенная») и («Расход газа» = «Малый»), или («Температу-
ра» = «Повышенная») и («Расход газа» = «Средний»), или («Температура»,= «Высо-
кая»), то («Расход газа» = «Малый»).
2. «Если («Температура» = «Пониженная») и («Расход газа» = «Малый») или
(«Температура» = «Оптимальная») и («Расход газа» = «Средний»), или («Темпе-
ратура» = «Повышенная») и («Расход газа» = «Высокий»), то («Расход газа» =
«Средний»).
3. «Если («Температура» = «Низкая») или («Температура» = «Пониженная»)
и («Расход газа» = «Высокий»), или («Температура» = «Пониженная») и («Расход
газа» = «Средний»), или («Температура» = «Оптимальная») и («Расход газа» =
«Высокий»), то («Расход газа» = «Высокий»),
Для данной нечеткой системы управления:
1) ввести обозначения лингвистических переменных и их термов;
2) представить правила вывода в логической форме;
3) выполнить по максиминному методу композиции нечеткий вывод для
расхода газа при четких входных данных: температура = 875 градусов, расход
газа =10 м3/ч;
4) произвести дефаззификацию нечеткого вывода по методу центра тяжести.
В. 7.
1 .Доказать справедливость свойства дополнений в АНМ: Аи-АиВ*
kBj-^Bj А.
2 . Для нечеткой системы управления, данной в В. 6, произвести фаззифи-
кацию четких значений температуры 872, 892, 915 градусов, а также четких зна-
чений расхода газа 15, 25, 45 м3/ч.
В. 8.
1. Пусть Х= {x^x-^Xj}. Проверить нечеткое включение множества А =
= {<0,6; Х|>; <0,7; х2>; <0,5; х3 >} в В = {< 0,7; х3 >; < 0,5;х2 >; <0,6; х3>}.
2. Обозначим нечеткие множества, соответствующие термам {Низкая, По-
ниженная, Оптимальная, Повышенная, Высокая} лингвистической переменной
«Температура» из В. 6, через Х^Х-^Х-^Х^Ху Построить для обычного опре-
236
Раздел II. Математическая логика
деления предметных операций следующие составные нечеткие множества:
а) —’ X 3, б) Х3 и.Х2; в) XX3‘, г)Х3\Х2, л)Х2^Х3.
Ъ.9.
1. Доказать истинность свойства операции включения в АНМ: (ju->j)c
(5иС)»(Ви-,Л)с(ЛиС).
2. Указать значения нечетких переменных х и у, при которых степень ис-
тинности формулы А = (х -> у) v (х & у) будет равна 0,7. Ответ обосновать.
В. 10.
Решить задачу из В. 6 по методу масштабирования при четких входных
данных: температура = 915 градусов, расход газа 65 = м3/ч. Произвести дефаззи-
фикацию нечеткого вывода по методу медианы.
В. 11.
1. Определить степень истинности нечеткой формулы А = (-> х v у) —>
(х&у) при значениях нечетких переменных х = 0,2 и у = 0,6.
2. Обозначим нечеткие множества, соответствующие термам {Малый, Сред-
ний, Высокий} лингвистической переменной «Расход газа» из В. 6, через Xt, Х2,
Х3. Построить для обычного определения предметных операций следующие
составные нечеткие множества: a)-i^2; tyX^Xf, B)^2ri%3; г)Х3\Х2;
д) Х3 Л Х2.
В. 12.
1. Построить на носителе Х= {х,, х2, х3} нечеткое множество В, включаю-
щее элементы х1,х2,х3 и индифферентное к множеству Я= {<0,1;Xj >; <0,5;
х2 >; < 0,9; х3 >}.
2. Выполнить по методу центра тяжести дефаззификацию нечеткого выво-
да, функция принадлежности которого задана следующим графиком:
В. 13.
1. Доказать строгое выполнение второго закона дистрибутивности в АНМ:
А (В и С)® (А гу В) и (А гу С).
2. Выполнить по методу медианы дефаззификацию нечеткого вывода, при-
веденного в В. 12.
Глава 5. Теория нечетких множеств. Нечеткая логика
237
В. 14.
1. Пусть Х= {х15 х2, х3}. Проверить нечеткое включение множества А-
= {< 0,1;Х| >; <0,3; х2 >; <0,5; х3>} в В= {<0,2; X] >; (0,4;х2>; <0,6; х3>}.
2. Рассматривается нечеткая система управления, в которой термы «Ма-
лая», «Средняя», «Большая» лингвистической переменной «Глубина погружения»
из В. 1 являются выводами правил 1)—3). Выполнить по максиминному методу
композиции нечеткий вывод в данной системе при степенях достоверности
посылок правил 1)—3), равных 0,5; 1 и 0. Произвести дефаззификацию нечет-
кого вывода по методу центра тяжести.
В. 15.
1. Доказать строгое выполнение второго закона де Моргана в АНМ:
-> (А о В)« -I А и В.
2. Обозначим нечеткие множества, соответствующие термам {Низкая, По-
ниженная, Оптимальная, Повышенная, Высокая} лингвистической переменной
«Температура» из В. 6 через Xt, Х^, Х3, Х\, Х5. Определить степени нечеткого
включения Х3 в объединение множеств Х2, Хц.
В. 16.
1. Доказать справедливость закона АНМ: Ло0 »0и А? А. Как он выпол-
няется — строго ли нечетко?
2. Лингвистическая переменная «Обороты вала двигателя» имеет терм-
множество {Низкие, Средние, Высокие}. Их функции принадлежности заданы
следующими графиками:
0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5 7
Выполнить фаззификацию четких значений оборотов вала двигателя
х= 1,0; 3,0; 4,0; 4,5; 6,0 тыс. об/мин.
В. 17.
1. Найти степень включения нечеткого множества, соответствующего терму
«Оптимальная» лингвистической переменной «Температура» из В. 6, в нечеткие
множества термов «Пониженная» и «Повышенная».
2. Рассматривается нечеткая система управления, в которой термы «Ма-
лая», «Средняя», «Большая» лингвистической переменной «Глубина погружения»
из В. 1 являются выводами правил 1)—3). Выполнить по методу масштабирова-
ния нечеткий вывод в данной системе при степенях достоверности посылок
238
Раздел II. Математическая логика
правил 1)—3), равных 0; 0,5 и 1. Произвести его дефаззификацию по методу
медианы.
В. 18.
1. Пусть Х= {х15 jc2, х3}. Проверить нечеткое включение множества А =
= {<0,3;Xj>; <0,5; х2>; <0,1; х3>} в В = {< 0,1;Х| >; < 0,2; х2 >; <0,3; х3>}.
2. Обозначим нечеткие множества, соответствующие термам «Низкие»,
«Средние», «Высокие» лингвистической переменной «Обороты вала двигателя»
из В. 16, через Хъ Х2, -^з- Построить для обычного определения предметных
операций следующие составные нечеткие множества: а)->Х3;
в)Х2г.Х3; г)Х3\Х2; ц)Х2ЬХ3.
В. 19.
1. Найти степень включения нечеткого множества, соответствующего тер-
му «Средний» лингвистической переменной «Расход газа» из В. 6, в нечеткие
множества термов «Малый» и «Высокий».
2. Рассматривается нечеткая система управления, в которой термы «Низ-
кие», «Средние», «Высокие» лингвистической переменной «Обороты вала двига-
теля» из В. 16 являются выводами правил 1)—3). Выполнить по максиминному
методу композиции нечеткий вывод в данной системе при степенях достовер-
ности посылок правил 1)—3), равных 0,5; 0,5 и 0. Произвести дефаззификацию
нечеткого вывода по методу центра тяжести.
В. 20.
1. Доказать справедливость закона АНМ: Аг\Х а X А. Как он вы-
полняется — строго ли нечетко?
2. Обозначим нечеткие множества, соответствующие термам «Низкие»,
«Средние», «Высокие» лингвистической переменной «Обороты вала двигателя»
из В. 16, через Xt, Х2, Х3. Определить степени нечеткого включения Х2 в объ-
единение множеств Х^, Х3.
В. 21.
1. Пусть Х= {хь х2, х3}. Проверить нечеткое включение множества А =
= {<0,1;Х|>; <0,1; х2>; <0,1; х3>} в В = {< 0,1; >; < 0,2; х2 >; <0,3;х3 >}.
2. Решить задачу 2 В. 19 по методу масштабирования при степенях досто-
верности посылок правил 1)—3), равных 0; 1 и 0,5. Произвести его дефаззифи-
кацию по методу медианы.
В. 22.
1. Доказать строгое выполнение первого закона де Моргана в АНМ:
-л (А и В)« -1A -J).
2. Выполнить по методу центра тяжести дефаззификацию нечеткого выво-
да, функция принадлежности которого задана следующим графиком:
Глава 5. Теория нечетких множеств. Нечеткая логика
239
В. 23.
1. Определить степень истинности нечеткой формулы ?4 = (x->-i.y)v
(-1 х & у) при значениях нечетких переменных х = 0,3 и у = 0,8.
2. Выполнить по методу медианы дефаззификацию нечеткого вывода, при-
веденного в В. 22.
ГЛАВА 6
ЛОГИКА ПРЕДИКАТОВ
Существуют логические высказывания, истинность которых не мо-
жет быть установлена в исчислении высказываний (ИВ) из-за того, что
в них речь идет не об одном элементе некоторого множества или мно-
жестве в целом как объекте высказывания, а о некоторой совокупности
элементов из него.
Наиболее известным примером такого высказывания является из-
речение: «Все люди смертны. Сократ — человек, следовательно, Сократ
смертен». В ИВ нет средств, для того, чтобы выразить понятие «все».
Аристотель в своей логике преодолевал данные трудности за счет рас-
смотрения довольно узкого класса высказываний.
Основным побудительным мотивом к расширению ИВ стала необ-
ходимость строгого логического обоснования математических дисцип-
лин, поскольку с его помощью невозможно строгое построение даже
самых простых из них, например арифметики.
6.1. Кванторы, предикаты, предметные функции
Для формулирования высказываний, в которых предметом рас-
смотрения являются элементы множеств, вводятся специальные логи-
ческие символы — кванторы:
1) V — «любой». Выражение V хР(х) для логической функции Р(х)
читается как «Для любого х справедливо Р(х)»;
2) 3 — «существует». Выражение ЗхР(х) означает: «Существуют х,
для которых справедливо Р(х)».
Замечание 1. Квантор 3 можно было бы не вводить, поскольку вы-
ражение 3 х Р(х) является сокращенной записью выражения -> (V х) ->
(Р(х)) — «Не для любого х справедливо отрицание Дх)».
Объектами изучения (предметным множеством) алгебры логики
являются высказывания. Элементарные высказывания задают исход-
ные логические значения, по которым можно судить об истинности
сложных составных. Однако в науке и повседневной жизни рассматри-
Глава б. Логика предикатов
241
ваются и другие предметные множества, элементы которых не несут
изначально первичных логических значений. Например, числовые
множества R, N, множество студентов некоторого вуза и т. д. Для при-
своения логических значений элементам произвольных предметных
множеств М используют обобщение понятия высказывания — преди-
кат. В общем случае это высказывание — функция Р(х”) = Р(хх,..., х„),
у которого переменные (хь ...,х„) принимают значения из М, а Р при-
нимает значения «истина» (И= 1) либо «ложь» (Л = 0). Область истин-
ности предиката Р — множество значений переменных (х1; ...,х„), на
котором Р= 1.
Рассмотрим действие предикатов на конечных множествах. Пусть
М является конечным множеством элементов М={а{,ат}, Р(х) —
предикат на М. Тогда справедлива следующая
Теорема 6.1.
3 х Р(х) = Р(ах) v ... v Р(ат),
VxP(x)sP(ai)&...&P(%).
Справедливость теоремы следует непосредственно из определения
функций v и &.
Следствие. В тех случаях, когда структура множества М конечна, у
формул ИП можно исключить кванторы и перейти по формулам, приве-
денным в теореме, от предикатов к высказываниям на элементах множе-
ства М. Тем самым, формулы будут сведены к обычным формулам ИВ.
Однако в общем случае такой переход нельзя выполнить, поскольку вводимые
формулы рассматриваются безотносительно к структуре множеств М.
Она может быть как конечной, так и бесконечной.
Пример 1. Ввести предметное множество М, предикаты и выразить в
виде формулы следующее рассуждение: «У всех птиц есть крылья, но не
все они умеют летать».
Решение. Поскольку в предложении речь идет только о птицах, то
принимаем М= {Птицы}. Первое свойство птиц, которое упоминается
в предложении — «есть крылья», второе — «умеют летать». Поэтому для
формальной записи необходимы два одноместных предиката (посколь-
ку каждое свойство относится к одной птице), определенных на М:
Р(х) = «х имеет крылья», Q(x) = «х умеет летать».
Предикат Р(х) истинен на всем множестве М. Это показываем кван-
тором V, предикат Q(x) истинен не на всем множестве М) — поэтому
перед ним ставим -> V.
Поскольку смысл союза «но» передается логической связкой &, то
искомая формула принимает вид V х Р(х) & -> V х б(х).
242
Раздел II. Математическая логика
Ответ: предметное множество М= {Птицы}', предикаты: Р(х)-«х
имеет крылья», 0(х) = «х умеет летать»; формула рассуждения VxP(x) &
3х->0(х).
Замечание 2. Из замечания 1 следует, что формула может быть
представлена в эквивалентном виде: V х Р(х) & Э х -i 0(х).
На рассматриваемом предметном множестве М могут быть опреде-
лены отображения, образ которых лежит в самом М. Такие отображе-
ния называют предметными функциями (в отличие от предикатов, кото-
рые являются логическими функциями).
Пример 2. Рассмотрим множество вещественных чисел R. В ариф-
метике используются двухместные предметные функции «сложение»
(х+у), «вычитание» (х-у), «умножение» (хху) и «деление» (х:у). У них
не только аргументы, но и результат принадлежит R, т. е. является ве-
щественным числом. Следовательно, данные функции — предметные.
В рассматриваемой теории кванторы применяются только к пере-
менным. Такие построения называют теориями первого порядка. В тео-
риях более высокого порядка кванторы применяют к предметным
функциям, а также к предикатам.
6.2. Терм, формула, свободные и связанные переменные.
Логика предикатов
Рассмотрим следующие алфавиты:
1) - (х, у, z,..., х;, у/; г,-,...) — символы предметных переменных;
2) ст2 = (а, Ь, с,..., a,, Z>„ с„ ...) — символы предметных констант;
З) ст3 = (/, g, h, ..., fj, git hjt ...) — символы функциональных пере-
менных;
4) ст4 = (Р, Q, R, Pj, Qj, Rj,...) — символы предикатных пере-
менных;
5) ст5 = (&, v, -1,...) — символы логических связок;
6) ст6 = (V, 3) — кванторы;
7) ст7 = («(«,»)») — скобки.
ОПРЕДЕЛЕНИЕ. Множество символов ст = Ст] и ст2 и стзи ст4 назы-
вают сигнатурой. Термом сигнатуры ст является:
1) всякая предметная переменная и константа (обозначения их
должны быть взяты из алфавитов Ст|, ст2;
2) если tb ..., tk — термы, а/ — функциональная переменная, то ре-
зультат подстановкиf(f,..., tk) также является термом.
Глава 6. Логика предикатов
243
Терм является обобщением переменной и константы, в котором
могут присутствовать предметные функции, но нет логических функ-
ций — предикатов.
ОПРЕДЕЛЕНИЕ. Формула сигнатуры о и понятие свободных и свя-
занных переменных вводятся следующим образом:
1. Если (/[,..., tk) — термы, (х1;...,хт) — множество переменных,
входящих в них, а Р — предикатная переменная, то Р(?1;..., tk) назовем
элементарной формулой или атомом, а (х1; ...,х,„) — его свободными пере-
менными.
2. Если А и В — формулы, то выражения вида F=Av В, F=A&B,
F=A —> В, F=A = В, F= -i А тоже являются формулами.
Свободные переменные формул А и В являются свободными пере-
менными формулы F.
3. Если А — формула со свободными переменными (xh ...,xm), то
выражения вида F= Ух/Л(х1,...,хт), F= Зх,Л(х1,...,хт) тоже являются
формулами, в которых переменная х(- будет связана соответственно
кванторами V и 3, а переменные (хь ..., хт)\х, свободны в F.
Смысл связанной переменной в том, что ей заранее указывается,
какие значения в своей области изменения она может принимать. Сво-
бодная же переменная может принимать любые значения из данной
области.
ОПРЕДЕЛЕНИЕ. Формула называется замкнутой, если все вхож-
дения в нее переменных связаны. Одна и та же переменная может быть
одновременно свободной и связанной в одной формуле. Например,
переменная х в формуле А(х, у) —> V хб(х, у).
ОПРЕДЕЛЕНИЕ. Терм t свободен для переменной Xj в формуле А, если
никакое свободное вхождение х, в Л не лежит в области действия ника-
кого квантора V ху или 3 ху, где ху — переменная, входящая в t.
Примеры.
1. Терм Xj свободен для х, в формуле P(xi), но не свободен для х,- в
формуле А = V ху Р(х().
2. Терм/(х, у) свободен для х в формуле А = V у Р(х, у) -> Q(x), но не
свободен в формуле В = 3 z У х Р(х, у) -> Q(x).
ОПРЕДЕЛЕНИЕ. Логикой предикатов (ЛП) называется расшире-
ние алгебры логики, в котором:
1) в качестве предметных рассматриваются любые множества;
2) допускаются кванторы по переменным;
244
Раздел II. Математическая логика
3) на предметном множестве допускаются предметные и логические
функции (предикаты);
4) дано понятие формулы, учитывающее 1)—3).
Формулы алгебры логики являются частным случаем формул ЛП.
Задачи
1. Определить, будут ли формулами ЛП следующие выражения:
а) -1Vх Р(х, у); б) S(z) -> Р(х,у) —> 3 х Q(x,у);
в) Р(х, у) & V х С(х, у); г) Ух Р(х, у) -> VfQ(f(x), у).
2. Указать свободные и связанные переменные в формулах:
а) -л Q(x) &Vx Р(х, у); б) 3 х 5(х, у) v V и P(z, и) —> Q(x,у);
в) -1 Ух 3 у Р(х, у) & 0(х, у); г) Ух Р(х, y)-»VzQ(x, у, z, и);
д) 3 х V у Р(х, у) & -1 R(x, у, z).
3. Привести собственный пример высказывания, которое можно предста-
вить в виде формулы Л П, но нельзя в алгебре логики.
4. Доказать, что на одноэлементных множествах М кванторы 3 и У совпа-
дают.
5. Построить на множествах М с произвольными числами элементов при-
меры предикатов, для которых действие кванторов 3 и У совпадает.
6. Построить на двухэлементном множестве М пример двухместного пре-
диката, у которого действие кванторов 3 и V не совпадает.
7. Перевести на язык формул следующие предложения, предварительно
введя предметные множества и необходимые предикаты:
а) «не все змеи ядовиты»;
б) «можно обмануть кого-то, но нельзя обмануть всех»;
в) «некоторые остроумны только тогда, когда это не касается их самих»;
г) «любой, кто одновременно обладает способностью плавать и летать —
либо рыба, либо птица»;
д) «не существует самого большого простого числа» (с использованием пре-
дикатов Р(х, у) = «х >у» и 2(х) = «х — простое целое число»)',
е) «не каждое вещественное число является рациональным»;
ж) «любой четырехугольник является ромбом тогда и только тогда, когда
длины его сторон равны»;
з) «каждый ромб с четырьмя равными углами является квадратом»;
и) «ночью все кошки серы».
8. Представить в виде: а) формулы ЛП; б) формулы ИВ пословицу «У семе-
рых нянек дитя без глазу».
9. Выразить в виде формулы ЛП:
а) дистрибутивность сложения относительно умножения для вещественных
чисел;
б) ассоциативность сложения для вещественных чисел;
в) коммутативность умножения целых чисел.
10. Определить область истинности предикатов при х, у eN:
а) «х-у= 10»; б) «ху = 16»; в) «х/у-Ъу.
Глава 6. Логика предикатов
245
6.3. Интерпретация формул ЛП
Рассмотрим некоторую формулу ЛП В. Пусть в ее запись входят
следующие символы:
1) предметных переменных (хь х2,..., х„);
2) предметных констант А = (аь а2, ..., ят);
3) функциональных переменных F= (J\,f2,
4) предикатных переменных Р = (Ри Р2, Ps).
ОПРЕДЕЛЕНИЕ. Набор {X, A, F, Р} называют сигнатурой формулы В.
В общем виде формулу можно представить в виде некоторой зави-
симости В {X, A, F, Р}, связывающей X, A, F, Р. Содержание этой зави-
симости можно раскрыть, придавая конкретный смысл ее элементам,
начиная с выяснения того, о каких объектах идет речь в формуле.
ОПРЕДЕЛЕНИЕ. Зафиксируем некоторое предметное множество М
и зададим на нем набор фиксированных переменных X', констант А',
функций F', предикатов Р'. Набор 1={М, Х’,А', F', Р'} называют интер-
претацией формулы В, М— предметной областью интерпретации I.
Если формула замкнута, то она в каждой своей интерпретации либо
истинна, либо ложна, т. е. превращается в логическую константу. Если
же формула имеет свободные переменные, то при задании интерпрета-
ции она превращается в логическую функцию, принимающую значе-
ния истинности в зависимости от значений свободных переменных на
предметном множестве М.
Пример 1. Допустим, дана замкнутая формула ЛП:
В = Vx3yP(x, у),
в ней Х= (x,y),A = F= (0); Р= (Р(х, у)).
1. Рассмотрим первую интерпретацию формулы В. В ней принима-
ем M={N} — множество натуральных чисел, Р(х, у) = S(x, у) = «у боль-
ше х». В интерпретации = (N, (х, у), 0, 0, 8(х, у)) формула В приобре-
тает следующий смысл: «Для любого натурального числа х существует
натуральное число у, большее его». Очевидно, в интерпретации фор-
мула В = И.
2. Рассмотрим вторую интерпретацию формулы В. М-{N}, Р(х,у) =
= Q(x,y) = «y меньше х». В интерпретации /2 = (П, (х,у), 0, 0, 0(х,у))
формула имеет смысл: «Для любого натурального числа х существует
натуральное число у, меньшее его». Поскольку для х= 1 меньшего чис-
ла не существует, то в интерпретации 12 формула В = Л.
Пример 2. Рассмотрим формулу В(х) = -> 3 у (Р(х, у) & Р(у, а) & 8(х, у)).
В ней одна свободная переменная — х, множества X, A, F, Р следующие:
Х= (х, у), А = (a), F= (0); Р= (Р(х, у), 5(х, у)).
246
Раздел II. Математическая логика
Дадим следующую интерпретацию формулы В. М= {7V} — множест-
во натуральных чисел, а = 1, Р(х, у) = NE(x, у) = «у не равно х», S(x, у) =
= Div(х, у) = «у делит х без остатка». В интерпретации I=(N, (х, у), (1),
0, (NE(x, у), Div(x, у))) формула В истинна при данном значении х то-
гда и только тогда, когда не существует натурального у, не равного 1 и х,
которое делит х без остатка. Таким образом, в приведенной интерпре-
тации формула В принимает значения истинности тогда и только тогда,
когда число х является простым. Подставляя различные значения х,
будем получать следующие значения истинности: 5(2) = И, 5(4) = Л,
5(7) = И, 5(10) = Л, 5(17) = И и т. д.
ОПРЕДЕЛЕНИЕ. Формула 5 истинна (ложна) в данной интерпре-
тации, если В= И (5 = Л) при любом значении свободных переменных,
входящих в нее.
Интерпретация 1= {М, X', A', F', Р’} выполняет формулу В{Х,А,
F, Р}, если высказывание 5 {X', A', F', Р'} истинно. Обозначаем I' = 5.
Интерпретация 1= {М,Х',А', F', Р’} опровергает формулу В{Х,А,
F, Р}, если высказывание 5 {X', АF', Р'} ложно. Обозначаем Z —. ] = 5.
Формула 5 общезначима (противоречива) на множестве М, если лю-
бая интерпретация I с предметной областью М выполняет (опроверга-
ет) формулу В.
Формула 5 выполнима на множестве М, если существует интерпре-
тация I с предметной областью М, которая выполняет формулу 5.
Пример 3. Рассмотрим формулу 5 {(х, у), 0, 0, (Р, Q)} = -> Р(х, у, z) ->
Q(x, у, z). В качестве предметной области М примем множество {0, 1}.
В качестве интерпретации на М зададим Р(х, у, z) = (х -> у) Ф z,
Q(x,y,z) = z. Формула 5=(х-»у)Ф.г->г является тавтологией в ИВ.
Это можно строго доказать при помощи таблицы истинности. Поэтому
интерпретация выполняет ее на множестве М.
При доказательстве общезначимости формул обычно применяют
метод доказательства от противного — допускают существование интер-
претации, в которой формула будет ложна, и приводят утверждение к
противоречию. Для доказательства противоречивости формулы доста-
точности привести хотя бы одну интерпретацию, в которой она ложна.
Пример 4. Доказать общезначимость формулы -> 3 х Р(х) V х Р(х).
Решение. Допустим, на некотором непустом множестве М и сигна-
туре ст формула ложна. Из ложности импликации следует одновремен-
ное выполнение двух условий:
-1 3 х Р(х) = И и -1 V х Р(х) = Л.
Глава 6. Логика предикатов
TAI
Применяя отрицания к обеим частям, получим, что справедливы
утверждения 3 х Р(х) = Л и V х Р(х) = И. Первое буквально означает, что
выражение «существуют истинные значения предиката Р на множест-
ве М» ложно. Из него следует, что таких значений нет и предикат Р
на М тожественно ложен. Однако из второго условия вытекает, что все
значения Р на М должны быть истинны. Полученное противоречие до-
казывает тождественную истинность формулы.
Ответ', формула -> 3 х Р(х) -> -> V х Р(х) общезначима.
Пример 5. Доказать или опровергнуть общезначимость формулы
3 х Р(х) —> V х Р(х).
Решение. Допустим, на некотором ненулевом множестве М и сигна-
туре о формула ложна. Отсюда следует одновременная истинность ус-
ловий 3 х Р(х) = И и V х Р(х) = Л.
Из первого вытекает, что на М существует (хотя бы одно) истинное
значение Р. Из второго следует, что не все значения Р на М истинны.
Противоречия нет. Для строгого доказательства опровержимости фор-
мулы приведем пример интерпретации, в которой формула Сложна: I-
= (N, (х), 0, 0, (Р(х) = «х = 2»)).
Ответ: формула 3 х Р(х) -> V х Р(х) не общезначима.
Задачи
1. Доказать, что интерпретация Г= (N, (х), 0, 0, (Р(х) = «х = 2»)) опроверга-
ет формулу 3 х Р(х) —> V х Р(х) из примера 5.
2. Проверить истинность и ложность формулы В(х, y,f\, fXi,P2) =
= P(f2t(x, уХ/^Су)) в соответствующих интерпретациях:
а) М= R,f\(x, у) = (х2 - 2ху); /^(у) = -у2; Р(х, у) = «х>у»;
б) Л/= Р;/2|(х,у) = (х2 - 2ху); /12(у) = -у2; Р(х,у) = «х<у».
3. Доказать, что:
а) формула тождественно истинна в данной интерпретации тогда и только
тогда, когда ее отрицание тождественно ложно;
б) формула выполнима, но не тождественно истинна тогда и только тогда,
когда ее отрицание не является тождественно ложным.
4. Доказать выполнимость следующих формул:
а) 3 х Р(х); б) Ух Р(х); в) 3 хУу (Р(х, у) & Р(у, х)); г) 3 х У у Р(х, у);
д) 3 х 3 у (Р(х) & Р(у)).
5. Доказать или опровергнуть общезначимость следующих формул:
a)-i (ЭхР(х) —> V хР(х)); б) УхР(х) ->3хР(х);
в) 3 х У у Р(х, у) —> У у 3 х Р(х, у); г) V х 3 у Р(х, у) -> 3 у У х Р(х, у);
д) (3 хА v 3 х 5) -> 3 х (Л v 5); е) У х(Л(х) 5(х)) -> (3 х Л(х) & У х 5(х)).
248
Раздел II. Математическая логика
6.4. Равносильность формул ЛП
ОПРЕДЕЛЕНИЕ. Две формулы ЛП называют равносильными (экви-
валентными), если они принимают одинаковые истинностные значе-
ния при всех одинаковых значениях своих свободных переменных. На
любой интерпретации они одновременно истинны или ложны.
Перечислим основные, наиболее часто используемые случаи равно-
сильности формул:
1) V х Р(х) = V у Р(у);
2)ЗхР(х) = Зу Р(у);
3) V х V у Р(х, у) = У у V х Р(х, у);
4) 3 х 3 у Р(х, у) = 3 у 3 х Р(х, у);
5) -> V х Р(х) = З х -> Р(х);
6) -1 3 х Р(х) = V х -> Р(х);
7) V х Р(х) =-1 V 3 х-1 Р(х);
8) 3 х Р(х) = -1 V х -1 Р(х);
9) 3 х (Р(х) & Q) = 3 х Р(х) & Q;
10) V х (Р(х) v Q) = y х Р(х) v Q',
11) 3 х (Р(х) v Q(x)) = 3 х Р(х) v 3 х Q(x);
12) V х (Р(х) & 0(х)) = V х Р(х) & V х Q(x).
Доказательство равносильности (неравносильности) формул явля-
ется частным случаем доказательства истинности (ложности) формул.
Логическая связка «=» может быть выражена через прямую и обратную
импликации: (А = В) = (А -> В) & (В А). Поэтому доказательство ис-
тинности операции «=» сводится к доказательству одновременной ис-
тинности прямой (А —> В) и обратной (В -> А) импликаций. Для про-
верки неэквивалентности формул А и В достаточно доказать нарушение
хотя бы одной из импликаций (А —> В) и (В -^А). Это следует из тавто-
логии -> (А = В) = (-> (А -> В) v -> (В -> А)).
Пример 1. Доказать равносильность формул -> V х Р(х) и 3 х Р(х).
Решение. Допустим, на некотором непустом множестве М и сигна-
туре о рассматриваемые формулы неравносильны. Эквивалентность
двух формул Р| = Р2 ложна, когда ложна хотя бы одна из импликаций
“^^2> ^2^ Д •
1. Допустим, ложна прямая импликация: -> V х Р(х) —> 3 х Р(х) = Л.
Из этого предположения вытекает одновременное выполнение двух
условий: -1 V х Р(х) = И, Зх->Р(х)=Л. Из первого условия после при-
менения отрицания к обеим частям следует: VxP(x) = Л, т. е. не на всех
элементах множества М предикат Р(х) истинен и существуют элементы
(хотя бы один, обозначим его х0), где он ложен (Р(х0) = Л). Но из вто-
Глава 6. Логика предикатов
249
рого условия следует, что нет ни одного элемента х множества М, на
котором -> Р(х) = И (или Р(х) = Л). Полученное противоречие опровер-
гает предположение о ложности прямой импликации.
2. Предположим, ложна обратная импликация: 3 х -> Р(х) ->
VxP(x) = Л. Следовательно, одновременно выполняются условия: Зх->
Р(х) = И, -1 V х Р(х) = Л. Из второго следует, что на всех элементах мно-
жества М предикат Р(х) истинен. Из первого вытекает, что в множест-
ве М существуют элементы, на которых истинно отрицание предика-
та Р(х). Следовательно, предположение о ложности обратной имплика-
ции также приводит к противоречию.
Ответ-, поскольку прямая и обратная импликации тождественно
истинны, то их произведение (тождественное равенство) также всегда
истинно.
Для строгого доказательства неравносильности формул Fx и Р2 дос-
таточно привести хотя бы одну из интерпретаций, на которых F1^F2.
В качестве подсказки для построения таких интерпретаций могут быть
использованы соотношения, получаемые при попытке доказать равно-
сильность формул методом от противного (в том случае, если не удается
получить противоречие).
Пример 2. Доказать неравносильность формул Fx = V х 3 у Р(х, у) и
F2 = 3 у У х Р(х, у).
Решение. Рассмотрим в качестве предметной области М множест-
во NBcex натуральных чисел. В качестве предиката зададим Р(х, у) = «у не
равно х».
1. Рассмотрим истинность формулы Fx в данной интерпретации 1=
- (N, (х, у), 0, 0, (Р(х, у))). Получаемая замкнутая формула VхЗуР(х,у)
означает высказывание «для любого натурального числа х существует
натуральное число у, не равное ему». Это утверждение истинно, т. к.
множество N имеет более одного элемента. Следовательно, в заданной
интерпретации Д = И.
2. Формула Р2 = 3 у V х Р(х, у) означает в рассмотренной интерпре-
тации высказывание «существует натуральное число у, не равное лю-
бому натуральному числу х», т. е. не являющееся натуральным. Т. к.
утверждение ложно, то в данной интерпретации F2 = Л.
Ответ: полученное неравенство формул строго доказывает их не-
равносильность.
Задачи
1. Доказать тождественную истинность формулы (А = В) = (-1 (А —> В)х/
-,(В-> А)) на основании тавтологии (А = В) = (А —> В) & (В А).
250
Раздел II. Математическая логика
2. Доказать или опровергнуть равносильность формул:
а) 3 х Р(х) = (V х Р(х); б) Vх Р(х) & 2 s V х (Р(х) & Q);
в) 3 х Р(х) v Q = 3 х(Р(х) v 2); г) 2 v V х Р(х) s V х(2 vР(,х));
д) V х Р(х, у) 2 = 3 у Р(х, y)—>Q', е) 2 м 3 х Р(х) = 3 х(2 v Р(х));
ж) v х Р(х) 2=з х(Лх) -> 2); з) 2 -> з х />(х) = з х(2 -> Р(х));
и) V х Р(х) & V у Q(y) = V у Р(у) & V х Q(x); к) 3 х Р(х) -> Q = V х(Р(х) -> 2) •
6.5. Аксиоматическое построение ЛП.
Исчисление предикатов
В ИВ формальный аксиоматический подход ненамного расширяет
возможности при анализе высказываний, поскольку там есть такое
мощное средство проверки истинности формул, как таблицы истинно-
сти. Поскольку в ЛП рассматриваются высказывания, применимые для
произвольных предметных множеств и произвольных предикатов, то
такой прямолинейный метод проверки здесь не применим в силу того,
что нельзя описать все возможные наборы переменных, констант, пред-
метных и логических функций (предикатов), входящих в формулы. По-
этому здесь значение аксиоматического метода значительно возрастает.
Как и в алгебре логики, формальное аксиоматическое построение в
ЛП называется исчислением предикатов (ИП).
Принципы задания ИП те же, что и у ИВ. При выборе аксиом {Я}
можно принять:
а) систему независимых аксиом, содержащую минимальное их ко-
личество, либо
б) расширенную систему аксиом, позволяющую упростить провер-
ку истинности конкретных формул.
Рассмотрим в качестве примера формальное аксиоматическое по-
строение логики предикатов по Э. Мендельсону.
Обозначения предметных переменных, констант и функциональ-
ных переменных, термов и предикатов — при помощи букв латинского
алфавита.
I. Множество логических связок {/} = {->, ->}.
II. В определении формул по сравнению с ЛП должно быть учте-
но более узкое множество логических связок. Их вводят следующим
образом:
1. Если — термы, — множество переменных,
входящих в них, а Р— предикатная переменная, то P(t{, называют
элементарной формулой или атомом, a (xb ...,хт) — его свободными пере-
менными.
Глава 6. Логика предикатов
251
2. Если А и В — формулы, то выражения F= Л -» В, F=-,A тоже яв-
ляются формулами. Свободные переменные формул А и В являются
свободными переменными формулы F.
3. Если А — формула со свободными переменными (х1;...,хт), то
выражения вида F= Ух,Л(Х|, ...,xm), 2?=Зх/Л(х1, ...,xm) тоже являются
формулами, в которых переменная х(- связана соответственно квантора-
ми V и 3, а переменные (хн ..., хт)\х,- свободны в F.
III. Множество аксиом Ai; А2, А3, А4, А5 = {Л} следующее:
А}: А (В А);
А2. (Д —> (Д _> Q) _> ((д _> й) _> (д Q);
Л3: (-> 5 -> -> Л) -> ((-, 5 -> Л) -> S);
Л4; V х Л(х) -> А(у), где Л(х) есть формула теории, а у — терм теории,
свободный для х в А(х);
А5: V х(А —> В) —> (А —> VxS), если формула А не содержит свобод-
ных вхождений х.
IV. Множество правил вывода {Р}:
a) modus ponens;
б) правило обобщения (свертывания квантора общности):
Л —> V хА.
В данной системе аксиомы независимы, их число минимально. Пер-
вые три аксиомы совпадают с аксиомами исчисления высказываний.
К ним добавлены еще две аксиомы, определяющие свойства кванторов.
Минимальный набор аксиом приводит (как и в исчислении выска-
зываний) к тому, что при данном построении теории в ней усложняется
построение выводов. Поэтому для практических целей обычно рас-
сматривают построения ИП и с расширенными наборами аксиом.
6.6. Теории первого порядка
В теориях первого порядка (К) допускаются кванторы и предикаты
только по предметным переменным. Они позволяют описывать логику
достаточно содержательных математических дисциплин — например,
арифметики. Теории, в которых эти ограничения сняты, имеют более
высокий порядок.
Рассмотрим аксиоматическое построение теорий первого порядка.
Оно обычно включает в себя следующие шаги.
1. Определения терма и формулы остаются в силе — те же, что и у
логики предикатов.
252
Раздел II. Математическая логика
2. Все множество аксиом делится на две части:
а) логические, отражающие общие свойства логических рассужде-
ний и поэтому верные, независимо от содержания теории К, и
б) собственные аксиомы, учитывающие специфику предметной об-
ласти К и операций на ней. Последние изменяются при переходе от
одной теории к другой.
3. В качестве правил вывода в любой теории К достаточно принять
правила вывода, применяемые в ИП, поскольку вывод формул является
чисто логическим действием и правильность его определяется тождест-
венной истинностью тавтологий, используемых в них.
Простейшие примеры теорий первого порядка можно построить на
основании отношений. эквивалентности и порядка, применяемых в
теории множеств.
I. Теории первого порядка с равенством.
В рассуждениях зачастую идет речь о равенстве сравниваемых объ-
ектов. Поскольку сравнение является логической операцией, рассмот-
рим минимальную теорию, в которой введен специальный предикат
равенства и опишем свойства данной теории с помощью аксиом.
Пусть на некотором предметном множестве М задано некоторое
множество предметных переменных X, предметных констант А, функ-
циональных переменных F.
Множество предикатных переменных содержит логическую функцию
Р = Р(х,у) = «х эквивалентно у» (либо «х=у»), В общем случае отно-
шение эквивалентности удовлетворяет аксиомам: 1) рефлексивности,
2) симметичности и 3) транзитивности: V х, V у, V z^X (если х р у и
У pz, тохрг).
Для того чтобы обеспечить выполнение данных свойств в теориях с
равенствами, их можно было бы непосредственно добавить в качестве
аксиом к логическим аксиомам. Однако обычно вместо них используют
упрощенный набор аксиом следующего вида:
1) V х (х = х) — рефлексивность равенства-,
2) (х = у) —> (А(х, х) А(х, у)) — подстановочность равенства.
Справедливость обычных аксиом симметричности и транзитивно-
сти можно вывести из 1)—2) с использованием тавтологий ИВ.
II. Теория частичной упорядоченности.
По аналогии с равенством рассмотрим минимальную аксиоматиче-
скую теорию, в которой введен специальный предикат, устанавливаю-
щий порядок на парах элементов из предметного множества.
М — некоторое множество объектов, X — множество предметных
переменных на М.
Глава 6. Логика предикатов
253
Предметных констант и функциональных переменных нет: А = 0,
F=0.
Множество предикатных переменных Р = Р(х, у) = «х нестрого пред-
шествует у» = «х < у».
Бинарное отношение нестрогого порядка удовлетворяет аксиомам
рефлексивности, антисимметричности и транзитивности.
Подход к аксиоматическому заданию теории частичной упорядо-
ченности, включающей данное отношение, аналогичен включению
отношения эквивалентности. Вместо полного добавления к аксиомам
ИП аксиом 1)—3) присоединяются только аксиомы 1) рефлексивность
и 3) транзитивность. Антисимметричность можно вывести из получив-
шегося набора аксиом. В теориях частичной упорядоченности отноше-
ние нестрогого порядка на элементах предметного множества всегда
вводит нестрогий частичный порядок.
Если дополнительно ввести в данную теорию аксиому вида
V х V у еХ (х < у или у < х),
то она превращается в теорию линейного порядка, поскольку все пары
элементов из Xбудут сравнимы.
Задачи
1. Построить в теории частичной упорядоченности вывод аксиомы анти-
симметричности из аксиом антирефлексивности и транзитивности с использо-
ванием аксиом ИП.
6.7. Модальности. Модальная логика, интерпретированная
посредством кванторов
В обычной четкой логике для каждого объекта или явления есть
только две возможности — либо он существует, либо не существует.
Однако действительное положение вещей может быть рассмотрено как
реализация только одного из бесчисленных возможных вариантов его
реализации. Поэтому в высказываниях можно выделить два вида ин-
формации — основную и дополнительную.
В основную информацию входят некоторые исходные сведения об
объектах или явлениях, связях между ними, их свойствах, степени
общности этих связей и свойств. Для передачи возможности или необ-
ходимости, а также других оттенков смысла рассматриваемой основной
информации в высказывания можно включать различного рода допол-
нительные сведения. Они содержат следующие добавочные характери-
стики объектов, их связей и свойств:
а) закономерность или случайность связей и явлений («необходи-
мость», «возможность»);
254
Раздел II. Математическая логика
б) степень обоснованности высказываемых суждений («достовер-
ность», «вероятность»);
в) оценки («хорошо», «плохо», «удовлетворительно»);
г) временные оценки событий («раньше», «позже», «одновремен-
но») и т. д.
ОПРЕДЕЛЕНИЕ. Модальностью называется прямо или косвенно
высказанная дополнительная информация об объектах суждений, их
свойствах и связях между ними. Модальная логика изучает высказыва-
ния, содержащие модальности.
Модальные понятия по степени универсальности делят на абсолют-
ные и сравнительные. Первые применяют к отдельным объектам, они
задают их свойства. Например, понятия «хорошо» и «плохо», «было»,
«есть», «будет». Вторые относят к парам либо более широким наборам
объектов и используют в качестве отношений между ними. Например,
сравнительные характеристики «лучше» и «хуже», «раньше», «позже»,
«одновременно».
Изучение основных модальных понятий — «необходимо», «воз-
можно», «случайно» начал еще Аристотель. Затем круг модальностей
был существенно расширен. В принципе число групп модальных поня-
тий и выражаемых ими точек зрения не ограничено. Современная ло-
гика наряду с общими принципами модальной оценки, выделяет также
наиболее важные из частных групп и делает их предметом специаль-
ного исследования. Отдельные группы модальностей обладают своими
специфическими законами.
Например, логика времени, которая рассматривает временные мо-
дальные понятия «было», «будет», «раньше», «позже», «одновременно»
и др., имеет элементарные законы: «Ни одно событие не происходит
раньше самого себя», «Неверно, что произойдет логически невозмож-
ное событие» и т. д.
Эпистемическая логика имеет дело с модальностями «полагает»,
«сомневается», «убежден» и т. п. У нее в качестве законов приняты вы-
сказывания; «Если субъект убежден в чем-то, неверно, что он убежден
также в противоположном», «Невозможно полагать что-то и вместе с
тем сомневаться в этом» и т. п.
В модальной логике обычно рассматриваются «необходимость» и
«возможность», которым придается следующий смысл:
• «необходимость» — это свойство связей и явлений, которое за-
ключается в их обязательном осуществлении;
• «возможность» — свойство связей и явлений, заключающееся в
том, что они могут осуществиться.
368
Раздел IV. Основы теории конечных автоматов
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«КОНЕЧНЫЕ АВТОМАТЫ»
В. 1.
Оптимизировать заданную схему двоичного автомата.
В. 2.
Автомат с множествами входов, выходов и внутренних состояний Х= {а, Ь},
Z= {х,у, z}, Q= {G|, G2> 2з> 64} задан следующей таблицей состояний:
9(6-1) z(6)
а Gi X Qi
ь Gi У Qi
а Qi z Q3
ь Qi X Gi
а Q3 z Qi
ь G3 X
а G4 X 2з
ь У G3
Требуется:
1) проверить, будет ли автомат сокращенным (если нет — произвести со-
кращение);
2) перейти к двоичному виду и построить оптимальную схему автомата.
В.З.
Построить граф переходов, таблицу состояний и оптимальную схему дво-
ичного автомата с входным и выходным множествами X=Z={Q, 1}, реализую-
щего функцию ?(/,) = min(х(!)_!), x(i,_2)). В начальный момент времени х(/0) = О,
х(6-1) = 0.
В. 4.
По заданному графу переходов построить двоичный автомат оптимальной
структуры (привести канонические уравнения и схему).
256
Раздел II. Математическая логика
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ЛОГИКА ПРЕДИКАТОВ»
В. 1.
1. Перевести на язык формул пословицу «Все любят добро, да не всех лю-
бит оно», предварительно введя предметное множество и используя предикаты
Р(х) = «х любит добро» и Q(x) = «добро любит х».
2. Доказать выполнимость на множестве натуральных чисел формулы
Vx3y Р(х, у).
В. 2.
1. Перевести на язык формул пословицу «В роде глупцов старшего нет»,
предварительно введя предметное множество и используя предикат Р(х, у) = «х
старше у».
2. Доказать или опровергнуть общезначимость формулы
3 у Р(х, у) -* V у Р(х, у).
В. 3.
1. Указать свободные и связанные переменные в формулах:
а) -> Q(x) & V х В(х, у); б) 3 х S(x, у) v У и A(z, и) В(х, у).
2. Выразить в виде формулы ЛП следующее предложение, предваритель-
но введя предметное множество и используя предикат Р(х, у) = «х знаком с у»:
«У любого студента нашего института существуют знакомые ему другие студен-
ты, следовательно, у нас есть студенты, знакомые со всеми остальными». Дока-
зать или опровергнуть общезначимость данной формулы.
В. 4.
1. Определить область истинности предиката Р(х, у) - «х, умноженное на у,
равно 20» на предметном множестве М = N.
2. Будут ли формулами ЛП следующие выражения:
V х Р(х, у) -> V fQiflx), у); Л(х) & -п В(х, у) -> 3 х С(х, у) ?
Ответ обосновать.
В. 5.
1. Пусть предикаты А(х,у) и В(х,у) определены на одинаковом множестве
объектов М и имеют области истинности ПА, QB. Выразить через них область
истинности предиката Р(х, у) = А(х, у) v В(х, у).
2. Доказать или опровергнуть равносильность формул
ЗхР(х) и —> Vх-iР(х).
В. 6.
1. Может ли терм принимать логическое значение, если предметное мно-
жество М= R~ = (-со; 0)? Ответ обосновать.
2. Доказать или опровергнуть общезначимость формулы
V х Р(х) -> 3 х Р(х).
В. 7.
1. Пусть Р1, Q3, R2 — одно-, трех- и двухместные предикаты. Будут ли фор-
мулами логики предикатов следующие выражения: 3gQ3(g(x), с, у); Р1(с);
УуЯ^Хру); Зх \//й2(х,Ду)); VxP*(x,c)? Ответы обосновать.
366 Раздел IV. Основы теории конечных автоматов
4. Граф переходов оптимального автомата в двоичной форме имеет
следующий вид:
Рис. 2.8. Граф переходов оптимального автомата из примера 2
Ответ: искомые оптимизированные канонические уравнения, схе-
ма, таблица состояний и граф переходов автомата построены.
Задачи
1. Оптимизировать канонические уравнения, построить по ним граф пере-
ходов и функциональную схему:
«i=J4i(^-i)92(^-i)vx?i(r,._i)?2(r,_i);
<71 (6 ) = (* V ?! (/,_[) V ?2 (/,_[)) & (X V ?! (/,_!) V ?2 (/,_!)) &
(xv?1(rj_1)v?2(riч));
?2(/;) = (х V?!(/,_!) V ?2(^-!))&(X V?!) V ?2))& (х Vq{
2—9. Построить оптимальные канонические уравнения и схемы двоичных
автоматов, осуществляющих преобразования, заданные в задачах 1—8 п. 1.1.
10. По заданной канонической таблице состояний построить оптимальную
функциональную схему автомата и граф переходов.
X 92('<-1) Z 91(0 92(0
0 0 0 0 1 1
0 0 1 1 0 1
0 1 0 0 1 0
0 1 1 1 0 0
1 0 0 0 0 0
1 0 1 0 0 1
1 1 0 1 0 1
1 1 1 0 1 1
11. Для автомата, заданного графом переходов на рис. 2.9, найти разбиение
множества внутренних состояний на классы эквивалентности, при их наличии
произвести сокращение, перейти к двоичному виду и построить оптимальную
структурную схему.
258
Раздел II. Математическая логика
2. Доказать или опровергнуть равносильность формул
ЗхР(х) и ->Vx-,P(x).
В. 15.
Дано предметное множество М= {0,1,2}. Ввести на нем двухместный пре-
дикат Р(х, у), такой, что формула УхЗуДх, у) будет истинна, а формула
3 у V х Р(х, у) — ложна.
2. Проверить выполнимость, истинность и ложность формулы
В{х,у, fi(x,y), /2(х,у), Дх.у)) = Р(А2(х,у),/1(х,у))
в интерпретации M=Nf\(x, у) = ху,/2(х, у) = = х+у, Р(х, у) = «х равно у».
В. 16.
1. Определить область истинности предиката Р(х, у) = «х, деленное на у,
равно 3» на предметном множестве M=N.
2. Перевести на язык формул следующее предложение, предварительно
введя предметное множество и необходимые предикаты: «Каждый квадрат яв-
ляется одновременно ромбом и прямоугольником».
В. 17.
1. Придумать для формулы В(х, y,z) = Vx3y3z Р(х, у, z) пример интерпре-
тации на предметном множестве М = N, в которой В(х, у, z) истинна.
2. Доказать или опровергнуть общезначимость формулы
V х 3 у Р(х, у) —» 3 у V х Р(х, у).
В. 18.
1. Перевести на язык формул ЛП следующее предложение, предварительно
введя предметное множество и используя предикат Дх, у) = «х делится без ос-
татка на у»: «Существуют натуральные числа, которые одновременно делятся
без остатка на 2, 3 и 5».
2. Доказать выполнимость на множестве М = Nформулы 3 х Дх).
В. 19.
1. Дано предметное множество М ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Ввести на нем
двухместные предметную функцию Дх, у) и предикат Дх,у), для которых фор-
мула V х 3 у P(fix, у), Ду, *)) будет истинна.
2. Доказать или опровергнуть общезначимость формулы
3 у 3 х Дх, у) -> V у 3 х Дх, у).
В. 20.
1. Перевести на язык формул следующее предложение, предварительно
введя предметное множество и необходимые предикаты: «Не все треугольники
являются остроугольными».
2. Привести пример двухместного предиката Дх, у) на предметном множе-
стве M=N, для которого областью истинности является множество всех набо-
ров вида (10m, Юр), где т,р — натуральные числа.
В. 21.
1. Выразить на предметном множестве М= {треугольники} в виде формулы
ЛП следующее утверждение, предварительно введя необходимые предметные
функции и предикаты: «Любые два прямоугольных треугольника являются по-
добными, если катеты их пропорциональны либо они имеют одинаковые ост-
рые углы».
364 Раздел IV. Основы теории конечных автоматов
Минимизируя формы, получаем соответствующие МДНФ:
^=91(6-1)92(6-1);
9i(6) = 9i(6-i);
92(6) = 91 (6-1) 92 (6-1) V 91(6-1) 92 (6-1)
Поскольку полученные выражения нельзя минимизировать дальше
путем применения законов алгебры логики, то данные выражения бу-
дут одновременно оптимальными в классе нормальных форм и абсо-
лютно оптимальными. Следовательно, они задают канонические выра-
жения соответствующих автоматов. Схему оптимального автомата до-
полнительно упрощаем за счет объединения слагаемого 9i(6-i)92(6-i)>
содержащегося в z2 и 92(г,) (рис. 2.6).
Рис. 2.6. Схема оптимального автомата из примера 1
Ответ: искомая таблица состояний, канонические уравнения и
схема оптимального автомата автономного светофора построены.
Обычно функции выходов и переходов, получаемые после перевода
множеств Q, X, Z в двоичной системе, являются частично определен-
ными. Поэтому оптимальное доопределение их необходимо искать по
правилам для ЧОФ.
Пример 2. Заданы канонические уравнения автомата Мили:
Z = XQ1 (Г,_! )q2 (6-!) V xq{ (6-1 )92 (6-j) V xqx )q2;
91 (/,) = (x v 9i (64) v 92 (6-!)) & (x v 9] (6_,) v 92 (/,_i));
92 (6) = X 91 (6-1 )92(6-1) v X 9i (r,_i )92 (6-1) v xqx (tiA )q2 (tiA) v
x9i(6-i)92(6-i);
9i(6>)=0;
92(/o) = 0.
ГЛАВА 7
ПРОБЛЕМА РАЗРЕШИМОСТИ.
ТЕОРИЯ АВТОМАТИЧЕСКОГО ВЫВОДА
Логика предикатов является основанием конкретных прикладных
теорий. Основной проблемой в ней является выяснение общезначимо-
сти ее формул — будут ли они ее теоремами. Если формула А исчисле-
ния предикатов общезначима, то она может быть использована для
логических рассуждений в любой теории первого порядка. Если А не
общезначима, то при ее применении могут быть получены (не обяза-
тельно) ошибочные суждения.
Выяснение общезначимости формул в любой математической ло-
гике называется проблемой разрешимости. В прикладных теориях наряду
с формальными приемами применяют методы, существенно учиты-
вающие свойства рассматриваемых объектов (высказываний, мно-
жеств) и операций на них (предметных и логических).
В аксиоматических теориях (ИВ, ИП) для проверки общезначимо-
сти формулы А можно использовать только формальные приемы — вы-
вод Л из аксиом теории, доказательство опровержимости формулы ->Л
и т. д. Таким образом, проверка общезначимости формул в ИП может
быть сведена к проблеме существования алгоритма разрешимости, по-
зволяющего для каждой формулы выяснить ее общезначимость. В об-
щем случае ответ на этот вопрос дает
Теорема Чёрча. Проблема разрешимости в ИП алгоритмически не раз-
решима.
Хотя теорема утверждает, что общего алгоритма (применимого ко
всем формулам ИП) проверки разрешимости не существует, такие ал-
горитмы построены для отдельных классов формул, в частности, для
формул монадической логики, в которой допускаются только одноме-
стные кванторы. Разработка эффективных разрешающих алгоритмов
позволяет производить проверку общезначимости формул машинными
методами, сочетающими логические операции с перебором вариантов.
362
Раздел ГУ. Основы теории конечных автоматов
Канонические уравнения и схема автомата указывают структуру ав-
томата, выполняющего требуемые преобразования. Поскольку канони-
ческие уравнения и структура автомата по заданной таблице состояний
могут быть заданы неоднозначно, то для определенности решения за-
дачи необходимо накладывать на искомую структуру дополнительные
требования. Таким требованием является минимальность синтезируе-
мой структуры по числу входящих в нее элементов.
Задачи
1—10. Закодировать множества Q, X, Z в двоичной системе и построить дво-
ичные таблицы состояний для автоматов из задач 1—10 п. 1.1.
11. Закодировать множества Q, X, Zb двоичной системе и построить двоич-
ные таблицы состояний для автомата из задачи 12 п. 1.2.
12. Построить канонические уравнения и схему автомата с одним двоич-
ным входом, одним двоичным внутренним состоянием и двумя двоичными
выходами, описывающими двоичную сумму входа с внутренним состоянием.
Состояние инвертируется при входе, равном 0, и сохраняется при входе 1.
2.3. Оптимальные автоматы
Введем критерий оптимальности синтезируемых автоматов, исходя
из требования минимальности их структуры.
ОПРЕДЕЛЕНИЕ. Рассмотрим некоторый автомат (X, Z, Q, F, G), в
котором множества Q, X, Z закодированы в двоичной системе. Если
функции выходов и переходов автомата F.XxQ^Z, G: XxQ -> Q яв-
ляются минимальными нормальными формами алгебры логики, то ав-
томат будем называть оптимальным в классе нормальных форм.
Если же функции выходов и переходов автомата F: Хх Q —> Z, G'.Xx
XQ—>Q являются абсолютно оптимальными формулами алгебры логи-
ки, то автомат будем называть абсолютно оптимальным.
Смысл введенных определений в том, что соответствующие реаль-
ные автоматы будут иметь в своей физической структуре минимальное
число элементарных функциональных элементов, а также соединений
между ними.
Построение оптимальных автоматов Мили и Мура производится
теми же способами, что и у функциональных схем (однотактных авто-
матов).
Пример 1. Ввести двоичные коды для множеств Q, X, Z автономного
светофора, заданного в примере 1 п. 1.5, и построить для него: 1) табли-
262
Раздел II. Математическая логика
В примере после замены
(С(х, у) = Р(х)) = (Q(x, у) -> Р(хУ) & (Р(х) -» Q(x, у))
получим
А = V х Р(х) -+ 3 y((Q(x, у) -> Р(х)) & (Р(х) -> Q(x, у))).
2. Исключить из Л все логические связки «—>» (импликация).
Для этого используем правило замены (В -> Q = (-> В v Q. Во всех
заменах необходимо учитывать очередность выполнения операций,
предписанную структурой формулы. В примере вначале выполняем
замены в области действия квантора 3 у:
(Q(x, у) -> Р(х)) - Ь Q(*, у) v Р(х)),
(Р(х) Q(x, у)) = (-, Р(х) v Q(x, у)).
При этом получаем формулу вида
А = V х Р(х) -> 3 у((-, 2(х, у) v Р(х)) & (-, Р(х) v 2(х, у))).
Заменяя оставшуюся импликацию, в итоге получим
А = -л (V х Р(х)) v 3 у((-. 2(х, у) v Р(х)) & (-, Р(х) v 2(х, у))).
После применения пунктов 1 и 2 в формуле остаются только логи-
ческие связки v и & .
3. Внести отрицание (->) внутрь формулы.
После выполнения операции отрицание не должно стоять перед
скобками либо перед кванторами, а может быть только перед предика-
тами. Для этого используются законы де Моргана и следующие равно-
сильности формул ИП:
1)-, V х S(x) = 3 х-> 5(х);
2) -> 3 х В(х) s V х -л В(х).
В примере, используя закон 1), получим
А = 3 х(—> Р(х)) v 3 у((—> 2(х, у) v Р(х)) & (-, Р(х) v Q(x, у))).
4. Вынести кванторы в начало формулы.
Для этого используются законы:
1) 2(х)В(х) v С = 2(х) (В(х) v Q;
2) 2(х)Б(х) & С = Q(x) (В(х) & Су,
з) с^ад v е2(х)Д(х)=с,(х)е2(у) (ад v ад));
4) Q^Btx) & е2(х)Д(х)=Q^Qity) (ад & ад)).
В формулах 1)—4) под Q(x) понимается любой из кванторов V и 3,
подформула С не должна содержать переменную х. Для того чтобы при
вынесении в начало формулы не изменялись первоначальные области
действия кванторов и не нарушалась эквивалентность преобразований,
необходимо производить переименование связанных переменных так,
360 Раздел IV. Основы теории конечных автоматов
му уравнений называют каноническими уравнениями автомата. Для
инициального автомата Мили они имеют вид
\т(/,.) = ^(х''(/,),9^(^1));
9рОо)~9о •
Пример 1. Зададим при помощи канонических уравнений иници-
альный автомат Мили, имеющий один двоичный вход х, один двоич-
ный выход z и одно двоичное внутреннее состояние q-.
9(0) = °-
Пример 2. Найти числовую форму таблицы состояний и построить
граф переходов для инициального автомата Мили, заданного в приме-
ре 1 каноническими уравнениями.
Решение. Входными переменными таблицы принимаем величины
х(/,) и выходными z(r,) и qtij). Для упрощения вида таблицы обо-
значаем х(/,) = х и z(tt) = z-
В двух крайних левых столбцах, соответствующих х и ^(/г _L)^. пере-
числяем в лексикографическом порядке все возможные их значения
истинности; в крайних правых столбцах, соответствующих z и <?(О, —
значения функций v и & (по каноническим уравнениям).
В итоге, после добавления начального состояния, получаем сле-
дующую таблицу состояний:
X 9(',-i) Z 9(0
0 0 0 0
0 1 1 0
1 0 1 0
1 1 1 1
9(0) = 0-
Граф переходов автомата с цифровыми обозначениями множеств Q,
X, Zнаиболее удобно строить по двоичной таблице состояний.
Поскольку внутренних состояний два: д = 0ид=1,то отмечаем две
вершины. Дуги, выходящие из вершины q = 0 со значениями х = 0 и
х= 1, возвращаются в нее же со значениями г = 0 и z= 1- Дуги, выходя-
щие из вершины q= 1 со значениями х = 0 и х = 1, возвращаются в вер-
264
Раздел II. Математическая логика
Задачи
1. Указать, в каких случаях необходимо произвести переименование пере-
менных при вынесении кванторов:
а) V х V у (Р(х, у) -> 2(х)) —> 3 z R(x, у, г);
б)-1ЭхУуЭгУи 7?(х, у, z, и) & -> 3 у В(х, у);
в) Э х VуА(х, y,z) = — 3x V у В(х,у)\
г) 3 х V уА(х, у) & 3 х V у В(х, у);
дЬ Vx 3 у А(х, у) 3 х V у (В(х, у) г С(х, z));
е) V х Vу 3 z (А(х, у) -> В(х, г)) = 3 z С(х, у, г);
ж) Зх V у -I V и -> А(х, у, z, и) v 3 х -> V у В(х, у, z, и).
2. Доказать справедливость правил преобразования формул:
a) Q(x)B(x) v С = Q(x) (В(х) v Q;
б) С1(х)Д(х) v С2(х)Д(х) = G1(x)22(y) (5(х) v Д(у));
в) В у (С & D) = (B v С) & (В v D).
7.2. Скулемовская форма
Допустим, некоторая формула представлена в ПНФ с матрицей в
виде конъюнкции дизъюнкций:
я'=е2(х2)... е„(х„))(д1 &d2& ... & Dk).
Пусть Qr — первый слева квантор существования, т. е. перед ним
стоят только кванторы всеобщности: 21 = ... = Qr_l = V. Операция заме-
ны квантора существования 3 заключается в следующем:
1) исключаем из префикса 3 хг;
2) вместо него вводим ранее не встречавшийся в формуле символ
функциональной переменной f и рассматриваем функцию /(х1;х2,...,
хг _j), которую подставляем в матрицу вместо всех вхождений перемен-
ной хг.
Замечание. Если r= 1, то вместо переменной хг в матрицу подстав-
ляем константу (функцию, которая не зависит ни от одной переменной).
ОПРЕДЕЛЕНИЕ. Описанная выше операция называется заменой
квантора существования. Вводимые при этом функции и константы
называют скулемовскими, а получаемая после выполнения всех замен
квантора существования (слева направо) формула называется стан-
дартной формой Скулема.
Квантор 3 предписывает переменной хг пробегать не все возможные
значения в области изменения, а только некоторые их них. Поэтому
действие его в общем случае можно заменить некоторой предметной
функцией. При переходе к скулемовской форме нарушается эквива-
лентность исходной формулы, но сохраняется свойство невыполнимо-
сти. Справедлива следующая
358
Раздел IV. Основы теории конечных автоматов
Векторы истинности функций выходов F и переходов G автомата в
двоичной кодировке заданы столбцами таблицы z(t) и qt.Q. Поскольку
при двоичном кодировании множеств X, Z, Q нет избыточности, обе
функции являются полностью определенными.
Пример 2. На вход автомата поступает последовательность из сим-
волов «а» и «Ь». Необходимо распознать во входном потоке наличие
сочетаний «ааа»и «аЬ».
Требуется:
1) ввести множества X, Z, Q, построить граф переходов и таблицу
состояний;
2) перейти к двоичной форме представления информации и по-
строить числовую таблицу состояний.
Решение. 1. Множество входов Х={а,Ь}. Множество выходов Z=
= {нет, да}. Для ожидания ввода допустимой последовательности сим-
волов вводим состояние <20Ж, для запоминания ввода одиночного и по-
вторного символа «а» вводим состояния Qa и Qaa. Множество внутрен-
них состояний Q = {Сож, Qa, Qaa}. Граф переходов дан на рис. 2.2.
Рис. 2.2. Граф переходов автомата из примера 2
Таблица состояний имеет следующий вид:
X QVi-i) z QQi)
а Сож нет Qa
а Са нет Qaa
а Qaa да Qaa
Ь Qo* нет QoX
Ь Qa да 2ож
Ь Qaa да Gox
2. Перейдем к числовой двоичной форме представления. Т. к. |Х| =
= |Z| = 2, |Q\ = 3, то п = т= 1, р = ]log2|31[ = 2. Из соотношения 2Р = 22 =
266
Раздел II. Математическая логика
б) алгоритм работает теоретически бесконечно долго при наличии
общезначимости у Л;
в) алгоритм работает теоретически бесконечно долго при наличии
невыполнимости А.
В первом случае алгоритм решает задачу, во втором и третьем — нет.
Начало конструированию разрешающих алгоритмов было положе-
но Эрбраном, который предложил в 30-х гг. XX в. теоретически пра-
вильный алгоритм построения интерпретаций, опровергающих рас-
сматриваемую формулу. В нем доказательство общезначимости форму-
лы А сводится к доказательству невыполнимости ее отрицания В = А.
Основная идея алгоритма заключается в том, что невыполнимость
формулы В, замененной матрицей скулемовской формы, проверяется
на одной специальной предметной области — эрбрановском универсуме,
который строится по В и описывает все возможные варианты значений
термов, которые могут входить в нее (с точностью до обозначений). По-
скольку такие области в большинстве случаев бесконечны, то проверку
общезначимости формул на них алгоритм теоретически никогда бы не
закончил. Проверка невыполнимости (если таковая имеет место) тео-
ретически должна заканчиваться за конечное число шагов.
Матрица скулемовской формы является конъюнкцией дизъюнктов
вида
M=Dl&D2&... &Dk.
Очевидно, матрица М опровержима (невыполнима) тогда и только
тогда, когда на любой интерпретации I опровержим хотя бы один из
дизъюнктов Д, входящих в нее.
Обозначим множество дизъюнктов, входящих в матрицу, через S:
S={Dl, D2,, Dk}.
Множества всех констант и символов функциональных перемен-
ных, входящих в S, обозначим соответственно через {С5} и {Fs}.
Эрбрановский универсум, соответствующий множеству дизъюнк-
тов S, обозначим через H(S). Он строится следующим образом:
0. Множество нулевого уровня Но = {С5}. Если дизъюнкты матрицы М
не содержат констант (Cs = 0), то вводим в Но новую (не входящую в М)
константу с: Но = {с}.
1. Через Fs(Hq) обозначим результат всех возможных подстановок
констант, содержащихся в Но, в функции из {Fs}. Множество первого
уровня Н] = Яо u FS(HO).
i.F^Hj^) — результат всех возможных подстановок констант из
в функции из {Fs}. Множество i-ro уровня Я, = Я,_[ и FgiHi^).
В пределе получаем: H(S) = Нх.
ГЛАВА 2
АНАЛИЗ И СИНТЕЗ ДВОИЧНЫХ АВТОМАТОВ
Представления автоматов с помощью графа переходов и таблицы
состояний в большей степени задают назначение и схему функциони-
рования автомата. Для его практической реализации необходимо ука-
зать физическую структуру, которая могла бы выполнить данные пре-
образования. Задача построения такой структуры имеет множество ре-
шений, поэтому на данном этапе, как и при задании общей схемы
функционирования, возникает проблема оптимизации.
В большинстве рассмотренных выше примеров входы, выходы и
внутренние состояния автоматов не являются числами. Однако в ре-
альных автоматах, осуществляющих достаточно сложные преобразова-
ния, данные объекты, как правило, кодируют в виде чисел (обычно в
двоичной системе счисления), поскольку преобразование информации
проще осуществлять в числовой (цифровой) ее форме. Перевод вход-
ной и (при необходимости) выходной информации в числовое пред-
ставление обычно выполняют кодирующие устройства, стоящие на
входе и выходе автомата.
2.1. Числовая форма задания автоматов.
Двоичные автоматы
ОПРЕДЕЛЕНИЕ. Представления таблицы состояний и графа пере-
ходов, в котором множества Q, X, Z входов, выходов и внутренних со-
стояний автомата закодированы числами в некоторой системе счисле-
ния, для краткости называют числовой формой их представления в отли-
чие от нечисловой, в которой множества Q, X, Z обозначены в иной фор-
ме. Если для кодирования использована двоичная система счисления,
автомат будем называть двоичным.
Символу 0 обычно придают логическое значение «ложь», симво-
лу 1 — логическое значение «истина». Поэтому при двузначном коди-
ровании элементов множеств Q, X, Z описывать структуру и функцио-
нирование дискретных автоматов можно при помощи алгебры логики.
268
Раздел II. Математическая логика
становкой в него вместо предметных переменных термов из эрбранов-
ского универсума H(S).
Каждый основной пример дизъюнкта D, не содержит переменных и
является как бы одним из возможных значений D, при подстановке в
него конкретных величин литер, входящих в него. Т. к. матрица, соот-
ветствующая 5, является произведением дизъюнктов /),, то, если ос-
новной пример какого-либо дизъюнкта ложен на интерпретации I,
ложной будет и вся матрица. В этом случае интерпретация / будет опро-
вергать исходную формулу, порождающую 5.
Пример 5. Найти основные примеры дизъюнкта D2 из множества
S= {Р(а),Р(х)}.
Решение. В примере 1 показано, что H(S) = {a}. Следовательно, ос-
новной пример один — Р(а).
Пример 6. Найти основные примеры дизъюнкта Д2 из множества
S={P(a),P(x)vQ(f(x))}.
Решение. В примере 2 найдено: H(S) = ...}.
Следовательно основные примеры будут следующими:
1) Р(а) v 2) Р(№) v 0(ДДа))); 3) Р(ЛДа)))) v
4) Л/(Ж«))))) v 0(W№))))) и т. д.
Допустим, доказывается невыполнимость некоторой формулы В в
логике предикатов, имеющей сигнатуру {X, A, F, Р} (X, A, F, Р— множе-
ства предметных переменных, констант, функциональных и предикат-
ных переменных в В), и задача уже сведена к определению невыполни-
мости множества дизъюнктов S, по которому построен эрбрановский
универсум H(S).
ОПРЕДЕЛЕНИЕ. Эрбрановской интерпретацией (Н-интерпрета-
цией) множества дизъюнктов S, построенного по формуле В с сигна-
турой {X, A, F, Р}, называется любая интерпретация / над H(S) вида
/= A', F', Р'}, в которой:
1) А' = А , т. е. / отображает константы в самих себя;
2) F' ~ F, функции из F' действуют на H(S) так же, как и функции F;
3) предикаты Р' могут быть равными (по истинности) предикатам
из эрбрановского базиса, либо обратными к ним.
В дизъюнктах D, на данных интерпретациях вместо констант, пере-
менных и функций должны использоваться элементы H(S), а вместо
предикатов — либо значения на термах из H(S) (элементы эрбранов-
ского базиса), либо их отрицания.
Пример 7. Привести примеры эрбрановских интерпретаций множе-
ства дизъюнктов S= {Р(х) v Q{f(x)), Р(а) v Q(y)}.
354
Раздел IV. Основы теории конечных автоматов
мата Мили Qr&Q ла входящих стрелках стоят обозначения элементов
из множества выходов, равные Z,, Z3, Z4, Z6 (рис. 1.10, значения входов
на стрелках не указаны). В этом случае состоянию Qr автомата Мили Qr
соответствует подмножество состояний автомата Мура, состоящее из
элементов {Qrl, С,.3, £?,4, Q*}.
Рис. 1.10. Принцип формирования множества внутренних состояний
эквивалентного автомата Мура
Поскольку автомат Мура является автоматом второго рода, у кото-
рого вначале определяется текущее внутреннее состояние (?(/,), а затем
выход Z(r,) = F(2(r,)), то при таком выборе множества его внутренних
состояний Q' значения функции выходов на внутренних состояниях QtJ
задаем следующим образом: F(Q^ = Zj.
Рассмотрим построение функции переходов G': Хх Q' -> Q'. Допус-
тим, в исходном автомате Мили для пары значений (Qr,Xk) функции
переходов би выходов /"принимали следующие значения:
G(Qr,Xk) = Qs,
F{Qr,Xk) = Z,.
Состоянию Qr соответствует в автомате Мура подмножество со-
стояний {Q,y}. Из данных состояний строим переход по входу Хк в со-
стояние Qsh соответствующее состоянию Qs автомата Мили и обеспечи-
вающее выход, равный Z/.
Для инициального автомата Мили с заданным начальным состоя-
нием Q(/o) = Qp в качестве начального состояния в эквивалентном авто-
мате Мура можно принять любое из соответствующих ему состояний
{2 } в множестве Q'.
Пример 2. Построим автомат Мура, эквивалентный сокращенному
автомату Мили из примера 2 п. 1.4.
Решение. Задаем множества входов и выходов автомата Мура:
X' = Х= {a, b}; Z' = Z= {x,y,z}, Z}=x, Z2 = y, Z} = z-
Строим множество внутренних состояний автомата Мура, последо-
вательно рассматривая внутренние состояния автомата Мили.
270
Раздел II. Математическая логика
Решение. Эрбрановский базис
А = {Р{а), Q(a), РЩа)), PtfUW)), 2(ЛЛ«))))> }
имеет счетное число элементов. Обозначая отрицание через ~, полное
семантическое дерево T(S) можно представить в следующем виде:
Рис. 7.1. Полное семантическое дерево примера 1
Для определенности все узлы в T(S) пронумеруем следующим об-
разом: корню присваиваем номер 0; узлам первого уровня (слева напра-
во) — номера 1, 2; узлам второго уровня (слева направо) — номера
3, 4, 5, 6;...; узлам z'-го уровня — номера 2'"1, 2', 2' + 1 ..., 2,+1 - 2 ит. д.
Рассмотрим полное семантическое дерево T(S), соответствующее
некоторой невыполнимой формуле В. Если S — множество дизъюнк-
тов, соответствующее В, то это означает, что каждая //-интерпретация
опровергает хотя бы один из его дизъюнктов /),. Поскольку каждый
дизъюнкт /), содержит конечное число литер, то его опровержение
должно произойти в некотором внутреннем узле полного семантиче-
ского дерева T(S).
ОПРЕДЕЛЕНИЕ. Узел J полного семантического дерева T(S) назы-
вается опровергающим, если все интерпретации /(/), содержащие его,
опровергают некоторый основной пример дизъюнкта D^S, а все узлы,
лежащие выше/, не опровергают ни одного из Dt eS.
Пример 2. Построить полное семантическое дерево T(S) для множе-
ства дизъюнктов S = {-> Р v Q, ^Qv R,-> Pv R, P}, выявить опровер-
гающие узлы в нем.
Решение. В данном случае матрица формулы является формулой
алгебры логики. Ее эрбрановский универсум H(S) = 0, А' = 0, F' = 0.
Эрбрановский базис А = {Р, Q, R}. Обозначая отрицание через ~, полное
семантическое дерево можно представить в виде, представленном на
рис. 7.2.
Для определенности будем считать, что атомы базиса Р=И, Q = И,
R = И, а их отрицания — ложны. Тогда:
а) узел 2 будет опровергать дизъюнкт D4 = PeS;
352
Раздел TV. Основы теории конечных автоматов
Ь/у
Рис. 1.8. Граф переходов автомата из задачи 4.3
1.5. Автоматы Мура
В п. 1.1 автоматы Мура определены как автоматы второго рода, у
которых функция выходов явно не зависит от входа: Z(/;) = Г(2(/,)). Од-
нако в общем случае неявная зависимость выходов Z от входов X при-
сутствует, поскольку Z зависит от внутренних состояний Q, a Q в свою
очередь, от входов X.
Наиболее распространенным практически используемым автома-
том Мура является автономно работающий светофор, в котором подача
выходных световых сигналов «красный — желтый — зеленый — жел-
тый — ...» происходит не зависимо от внешних условий, а только по
предыдущему состоянию и сигналу от реле времени, задающего дли-
тельность включения цветов. Если принять сигналы от реле одинако-
выми, то рассматриваемый автомат будет автономным.
Для задания автоматов Мура используют те же способы, что и для
автоматов Мили. При этом на графе переходов значения выходов про-
ставляют не на дугах, а внутри либо рядом с вершинами, обозначаю-
щими состояния.
Пример 1. Построить граф переходов и таблицу состояний для авто-
номно работающего светофора.
Решение. Поскольку автомат является автономным, то входные сиг-
налы можно на дугах графа переходов не отмечать.
Выходной информацией, выдаваемой устройством, являются све-
товые сигналы красного, зеленого и желтого цвета. Обозначим их, со-
ответственно К, 3, Ж. Внутренние состояния, соответствующие крас-
ному и зеленому цвету, обозначим через qK и q3. Поскольку желтый цвет
должен зажигаться дважды при разных внутренних состояниях (после
красного и после зеленого цветов), для него отводим два соответст-
вующих состояния: q^ и q.*.r Задавая необходимые переходы, получим
искомый граф переходов, показанный на рис. 1.9.
272
Раздел 11. Математическая логика
Алгоритм проверки невыполнимости формул при помощи
семантического дерева
1. Формулу В представляют в виде пренексной нормальной формы В'
с матрицей ЛЛконъюнкцией дизъюнктов.
2. Путем устранения кванторов существования В' приводят к ску-
лемовской форме, бескванторная часть которой рассматривается как
множество дизъюнктов S.
3. Строят эрбрановский универсум H(S), эрбрановский базис Л.
4. Строят семантическое дерево по уровням. В каждом из них про-
изводят проверку узлов j на опровержимость (будут ли интерпретации I{j)
опровергать хотя бы один дизъюнкт D, из Л).
Если узел j является опровержимым, то узел отмечают и дальнейшее
построение дерева из него прекращают.
Если узел j не является опровержимым, то построение дерева из
него продолжается.
5. Если на некотором шаге все построенные концевые узлы оказа-
лись опровержимыми и дальнейшее построение дерева оказалось не-
возможным, то множество дизъюнктов S, а следовательно и исходная
формула В — невыполнимы.
Если построение семантического дерева продолжается, то на во-
прос о невыполнимости S нельзя дать ни положительный, ни отрица-
тельный ответ.
Задачи
1. При помощи построения семантического дерева проверить невыполни-
мость следующих множеств дизъюнктов:
а) {Р(х), 7W))}; б) {Р, Р v Q, QY,
B){PvRvQ,-,Q,-,PvQ,-,R,vPvR}-,
г) {5, Р v R у 5, Р у 5, R};
д) {Р(х), Р(х) v Q(x, а), Q(y, «)}; е) {Р(х), Р(х) у Qtfx))}.
7.5. Метод резолюций
После появления ЭВМ метод, основанный на теореме Эрбрана,
был использован для практической проверки общезначимости формул
(путем проверки невыполнимости их отрицаний). Практика показала,
что данный метод подходит только для проверки относительно простых
формул. При усложнении формул множество основных примеров, ко-
торые необходимо проверять, быстро растет и проверка становится
технически невозможной. Алгоритм их проверки, основанный на при-
менении теоремы Эрбрана (и соответственно семантических деревьев),
350
Раздел IV. Основы теории конечных автоматов
2. Т. к. предельная глубина, на которой может быть получено расщеп-
ление классов эквивалентности состояний автомата, равна k=P- 1, то при
к>Р разбиение классов эквивалентности остается стабильным всегда.
Из рассмотренных свойств классов ^-эквивалентности вытекает
простейший алгоритм построения сокращенных автоматов, который
заключается в последовательном определении классов эквивалентно-
сти {0}к до тех пор, пока их структура не стабилизируется.
Пример 1. Произвести сокращение автономного автомата, граф пе-
реходов которого дан на рис. 1.3 в п. 1.3.
Решение.
к=1. A(Ql,d)=A(Q2,a) = ...=A(Qp_l,a)-y, A(QP,a) = z, следова-
тельно, {2}1 = {(0J, q2, ..., Qp.j, (2р)}.
к = 2. A(Q{, a)=A(Q2, а) = ... =A(QP_2, а) =уу, A(QP_3, a)=zy, A(QP,a) =
=yz, {2}1={(е„ 22, Qp-2), (О-
к= 3. A(Qi, a) =A(Q2, а) =... = A(QP_3, а) =ууу, A(QP_2, а) = zyy, A(QP^, а) =
=yzy,A(QP, a) =yyz, {2}3 = {(Q3, Q2,..., 2p_3)> (2p_2), (2p-i), (QP)}.
k = P- 1. A(Qh a) = yp~l, A(Q2, a) = zyp~\ A(Q3, a) =yzyp~3, A(QP, a) =
=yP2z, {0p~l = {(0), (22),.... (2P-i), (Qp)}.
Ответ: получено разбиение на классы для предельной глубины
(Р- 1), при котором каждый класс эквивалентности содержит одно со-
стояние. Следовательно, автомат является сокращенным и не имеет
эквивалентных состояний.
Пример 2. Произвести сокращение автомата, граф переходов кото-
рого дан в примере 1 п. 1.3.
Решение. Определим разбиение множества внутренних состояний
автомата на классы эквивалентности. Из таблиц реакций глубины 1 и 2,
построенных в примере 2 п. 1.3, следует, что {2}1 = {Q}2 = {(0), (0, Q3)}-
По следствию 1 из свойства 2 разбиение {01 = {Q}2 на классы эквива-
лентности {2} = {(21), (22, 2з)} является искомым.
Заменяя состояния Q2, Q3 одним состоянием Q2, получим сокра-
щенный автомат с двумя внутренними состояниями, эквивалентный
исходному автомату. Его граф переходов дан на рис. 1.5.
Рис. 1.5. Граф переходов сокращенного автомата из примера 2
274
Раздел II. Математическая логика
Пример 1. Доказать при помощи метода резолюций невыполни-
мость множества дизъюнктов 5 = {Р, Q, -> Р v Q}.
Решение. 1) резольвента Q и -> Р v -> Q равна -> Р; 2) резольвента Р и
-1Р равна П. Следовательно, построен резолютивный вывод {Р, ->
Pv-, 0, -> 0, D} пустого дизъюнкта из S, что доказывает невыполни-
мость S.
Обозначая применение правила резолюции в виде пары ребер, со-
единяющих исходные дизъюнкты с их резольвентой, резолютивный
вывод можно изобразить в виде дерева вывода. В примере 1 дерево вы-
вода дано на рис. 7.4.
Р Q
Рис. 7.4. Дерево вывода из примера 1
Задачи
1. Доказать принцип резолюции в ИВ.
2. Доказать при помощи принципа резолюции невыполнимость и постро-
ить соответствующие деревья вывода для множеств дизъюнктов:
а) {Р v 2,-I Р vQ, Р v2,-> Р v-> 0}; б) {Р v Q у R, Р у R, Q, R}\
v){^Pv^Q,Qv^R,Pv-,Q,R}; г) {Р, 2 v R,^Pv^R,^Qv R};
д) {Pv2vP,-,PvP,-,2,-,P},
е) {PvPv2,-> 2,-iPv2,-iP,T’vP};
ж) {S,Pv Rv-i S, Pv-i S,R,}.
7.5.2. Операции подстановки, унификации и склейки
В ИВ литеры дизъюнктов в конкретных интерпретациях являют-
ся логическими константами, поэтому поиск контрарных литер прост.
В теориях первого порядка, где в качестве литер выступают предикаты,
являющиеся логическими функциями от констант, предметных пере-
менных и функций, поиск контрарных литер усложняется.
Рассмотрим множество дизъюнктов S. Поскольку невыполнимость
5 доказывается сразу для всех возможных интерпретаций, ТО для полу-
чения контрарных пар литер в дизъюнктах £ (и соответственно получе-
ния резольвент) можно использовать дизъюнкты не только в их исход-
348
Раздел IV. Основы теории конечных автоматов
1.4. Свойства классов ^-эквивалентности. Построение
сокращенных автоматов
Для построения итоговых классов эквивалентности множества со-
стояний автомата {0 и последующего их сокращения могут быть ис-
пользованы классы ^-эквивалентности {0^ при различной глубине ре-
акций к (к = 0, 1, 2,...). Рассмотрим свойства классов ^-эквивалент-
ности состояний автомата.
1. При любых к > 0 справедливо: {0 A+1 с {0 к.
Данное свойство очевидно, поскольку из совпадения реакций
Л(0, Xk+l) длины к + 1 для любых состояний 0 вытекает совпадение и
более коротких реакций A(Qit X*) длины к. Из свойства 1 вытекает, что
при увеличении глубины к классы ^-эквивалентности множества {2}
могут распадаться (расщепляться) на более мелкие, либо сохраняться
(стабилизироват ъся).
2. Если для некоторого к > 0 выполняется условие {Q}4+1 = {Q}k (т. е.
все классы ^-эквивалентности стабилизировались), то равенство {0Z =
= {Q}k будет выполняться и для всех значений глубины 1> к + 1. Это озна-
чает, что с ростом к стабильность классов ^-эквивалентности сохранится.
Доказательство. Достаточно доказать, что из условия {0t+1 = {0A
для любого к>0 вытекает справедливость утверждения {0*+2 = {0fc+1.
По определению ^-эквивалентности для этого необходимо доказать,
что для: 1) любых двух (к+ ^-эквивалентных состояний 0, Qj (входящих
в некоторый класс (к+ 1)-эквивалентности и взятых качестве
начальных) и 2) любого входного слова X = (X(tl), X(t2),..., X(tk+2)) дли-
ны А:+2 соответствующие им выходные слова Z(X,0) wZ(X, QJ) будут
совпадать.
Рассмотрим работу автомата в момент времени При начальных
состояниях Qh Qj функция выходов F даст некоторые одинаковые эле-
менты Zp
F: (X(tJ), Qj) = Z0); F: (X(tj), QJ) = Z(tr).
Функция переходов G выдаст соответственно некоторые значения
состояний:
G-. (X(tJ), Qj) = Q(X(tJ)„ Qt); G: (X(tj), QJ) = Q(X(tx), QJ).
Новые состояния Q(X(tJ), QJ) и Q(X(tJ), QJ) будут ^-эквивалентными,
поскольку начальные состояния 0, Qj являются (к+ ^-эквивалентны-
ми. При этом, возможно, состояния Q(X(t\), Qj) и Q(X(tJ), QJ) будут со-
вместно входить в некоторый класс ^-эквивалентности Qk,r, отличный
276
Раздел II. Математическая логика
юнкту была применена подстановка X = {их/уг,..., ит/ут}. В итоге ее
применения: а) все переменные (у15 ...,ут) были заменены термами (и{,
б) термы из которые входят в множество (yh ...,ут),
также были заменены термами (i/j,ит). Результат второй подстанов-
ки обозначим через (^Х,/„X). При последовательном применении 0,
а затем X возможно появление тождественных элементарных подстано-
вок, при которых /,Х = х/. Например, подстановка 0 содержит элемен-
тарную подстановку {у/х}, а X — элементарную подстановку {х/у}.Тогда
при последовательном применении 0 и X появится элементарная тож-
дественная подстановка {х/х}.
Если в подстановки 0 и X входят одинаковые предметные перемен-
ные х( и у7 (х, = уу), то при второй подстановке X элементарная подста-
новка Uj/yj уже не будет «срабатывать», поскольку все элементы у7 уже
будут заменены при первой подстановке.
ОПРЕДЕЛЕНИЕ. Если первой была применена подстановка 0, а
второй подстановка X, то их композицией (0 ° X) называют подстановку,
выполняющую сразу те же замены, что и при данные подстановки при
последовательном применении.
Утверждение. Композиция (0°Х) подстановок 0 = {^/Xj,..., tn/x„] и
Х = {«[/у!,..., wm/ym} может быть получена из подстановки {^Х/х,,...,
Г„Х/х„, Mj/ур ..., ит/ут} вычеркиванием:
а) всех элементарных подстановок Г,Х/х,-, у которых Г,Х = х( (тождест-
венных);
б) всех элементарных подстановок Му/уу, у которых yje(xl, ...,хп)
(т. е. таких элементарных подстановок, которые не будут применяться
во второй подстановке X вследствие того, что элементы уу уже изменены
первой подстановкой 0). Справедливость утверждения следует из сде-
ланных выше замечаний.
Пример 3. Построить композицию (0 ° X) подстановок 0 = {у/х, z/y,
fia)/z} и X = {b/z, х/у}.
Решение. Т. к. уХ =х, гХ = b, а кДа) подстановка X не применима, то
{ZjX/xj, ..., tnX/xn, ujyx,..., ujym} = {x/x, b/y,fla)/z, b/z, x/y}.
Вычеркиваем первую элементарную подстановку х/х (тождествен-
ную), а также четвертую и пятую b/z, х/у, которые не участвуют во вто-
рой подстановке X из-за того, что переменные z, У изменены в первой
подстановке.
Ответ-. (0 ° X) = {b/y,f(a)/z}.
346
Раздел IP. Основы теории конечных автоматов
выходных слов назовем соответственно для фиксированного состояния
и всего автомата реакциями глубины к и будем обозначать через A(Q:, Хк)
иЛ(%*).
На практике реакции глубины к состояний 2( автомата А можно
представить в виде таблицы, у которой слева перечислены все входные
слова из множества Хк, а справа в соответствующих колонках — иско-
мые реакции Л(2„ Хк) глубины к для всех внутренних состояний авто-
мата 2,- Для краткости данную таблицу будем называть таблицей реак-
ций состояний автомата глубины к.
Пример 2. Построить для автомата из примера 1, заданного графом
переходов (рис. 1.4), таблицы реакций состояний глубины 1 и 2 .
Решение. Построим таблицу реакций глубины 1. Для этого в левом
столбце перечислим все возможные входные слова длины 1 (это а и Ь),
справа приведем соответствующие реакции глубины 1 состояний авто-
мата 21, 2г, 2з- Т. к.
Таблицу реакций состояний глубины 2 строим аналогично. В левом
столбце перечисляем все возможные входные слова длины 2, а справа
соответствующие им реакции глубины 2 при начальных состояниях
автомата 2i, Qi, 2з:
Х2 = {Х(^Х(/2)} Z2 = {Z(/!)Z(/2)}
21 Qi Q3
аа ZX xz xz
ab zy xz xz
Ьа zz yx XX
ЬЬ zz УУ xy
Ответ: построенные таблицы описывают искомые реакции со-
стояний глубины 1 и 2 для автомата из примера 1.
278
Раздел II. Математическая логика
j-1: е12 = е32 - у, е22 =Да), => подвыражения с индексом j = 2 не сов-
падают;
j = 3: е13 = е23 = е33 = z, => подвыражения с индексом j = 3 совпадают;
У = 4: е14 = и, e14=g(z), e34 = g(x), => подвыражения с индексом j = 4 не
совпадают.
Ответ: подвыражения, стоящие на первых и третьих позициях,
совпадают, а на вторых и четвертых позициях — не совпадают.
ОПРЕДЕЛЕНИЕ. Рассмотрим множество выражений £= {£[, £2,
..., Ек} следующего вида:
£1 = е12,..., е15);
Д2 = Е2(е2Х, е22,..., 62s);
Ек = Е^ек^екЪ -,eks).
Множеством рассогласований Dj множества выражений Е называют-
ся несовпадающие подвыражения еу1, ед,..., ejk с минимальной величи-
ной индекса у. Если для всех индексов 1 <J<s подвыражения совпада-
ют, то множество рассогласований множества выражений Е принимаем
равным нулю: Dj = 0.
Для множества Е= {Р(х, у, z, и), P(x,f(a), z,g(z)), Р(х,у, z,g(yY)} из
примера 5 множеством рассогласований будет Д2 = {у,Да)}. Рассмотрим
на этом множестве Е, каким образом можно, последовательно устраняя
рассогласования, унифицировать все множество.
1. Вначале множество рассогласований равно D2 = {у, Да)}- Его
можно унифицировать при помощи подстановки 0 = {Да)/у} на множе-
стве Е. После применения 0 получим
£,0 = Р(х,Да), Z, и), E2Q = P(x,f[a), z, g{z)), E,Q = P(x,Да), z, gtfW).
2. Для индексов J= 1,2,3 подвыражения совпадают. Множество
рассогласований равно D4 = {u,g(z),g(flay)}. Его можно унифицировать
при помощи подстановки 02 = {Да)/г, giflp))/u} на множестве Е. После
применения 02 получим
Д002 = Р(х, Да), Да), я(/(а))), Д2002 = Р(х, Да), Да), ЛДа))),
£3002 = Р(х,Да),Да), g(/(a))).
Таким образом, множество Е унифицируемо, и найденный унифи-
катор имеет вид
0°02 = {Да)/у,Да)Л,д/(а))М
В общем случае для определения унифицируемости множества вы-
ражений Е и нахождения наиболее общего унификатора (если он суще-
ствует) применяется алгоритм унификации.
344 Раздел IV. Основы теории конечных автоматов
можных входов X, поступающих на вход автомата в моменты времени
6, t2>tk. Множество всех таких слов обозначим через Хк. Множество
всех входных слов конечной длины обозначим через X. По аналогии
множество всех возможных выходных слов конечной длины обозначим
Z, множество всех возможных выходных слов длины к — Zk.
Многие свойства автоматов наиболее просто иллюстрируются на
автономных автоматах, у которых множество входов X состоит из од-
ного элемента а (|А"| = 1), и соответственно все множества Хк имеют
один элемент ак.
Рис. 1.3. Граф переходов автономного автомата
На рис. 1.3 дан граф переходов автономного автомата с одноэле-
ментным входом Х= (а), Р внутренними состояниями Q = (Qt, Q2,..., Qp)
и множеством возможных выходов Z=(y,z)-
У автономных автоматов обозначения входа на дугах перехода мож-
но опустить.
Очевидно, что конечный результат работы автомата А в общем слу-
чае зависит не только от того, какое слово X подано на его вход, но и
от начального состояния автомата Q(t0).
ОПРЕДЕЛЕНИЕ. Выходным словом Z(X,Q(t0)), соответствующим
входному слову X длины к и начальному состоянию автомата Q(t0), на-
зывается последовательность элементов из множества возможных вы-
ходов Z, поступившая на выход автомата в моменты времени t2,..., tk.
Зависимость Z(X, Q(t0)) задает автоматное отображение из множе-
ства возможных входов X в множество всех возможных выходных слов
Z. Основные свойства этого отображения следующие.
1. Свойство сохранения длины. Входное X и выходное Z - Z(X, Q(tQ))
слова имеют одинаковую длину по количеству входящих в них элемен-
тов множеств X и Z. При этом один элемент в данных множествах мо-
жет кодироваться несколькими символами, поэтому с точки зрения
кодирующих символов входное и выходное слова могут иметь различ-
ную длину.
280
Раздел II. Математическая логика
отрицания либо с отрицанием). Если для множества выражений Е =
= {£), Ег,..., Ек} существует наибольший общий унификатор ст, то мно-
жество литер {А, ст} называется склейкой для Д(.
Пример 7. Построить склейку для дизъюнкта Dt = Р(х) v P(f(y}') v
W))vC(y).
Решение. Одинаковыми являются первая, вторая и третья литеры.
Е= {л,Ду),Да)}. Наиболее общий унификатор ст = {а/у,Да)/х}. Д,ст =
= P(/(a)) v Р(Да)) v Р(Яа)) v Q(a) = Р(Да)) v Q(a) .
Ответ: склейкой для рассмотренного дизъюнкта является множе-
ство литер {Р(Да)), Q(a)}.
Если в результате склейки в Д(ст осталась одна литера, то она назы-
вается единичной.
Задачи
1. Построить примеры дизъюнкта D, = Р(х) v б(у,Дг)) v R(u, g(x)), получен-
ные в результате применения подстановок:
а) 0 = {а/х, b/z,fia')/u}; б) X = {у/х, z/y}; в) ст = {g(a)/x, g(z)/y, a/z}.
2. Найти композицию подстановок:
а) 0 = {c/x,f{z)/y, y/z} и X = {b/x, zjy, g(x}/z};
б) 0 = {а/х, zjy} и X - {у/х, b/z, g{a)/z};
в) 0 = {у/х, z/y, b/z} и X = {а/х, x/y,fic)/z}.
3. Построить пример коммутативных подстановок. Доказать некоммута-
тивность подстановок в общем случае.
4. Выяснить унифицируемость множеств. В случае положительного ответа —
определить наиболее общий унификатор:
а) {Р(х), Л«), Р(Ь)}; б) {Р(х), Р(у), ?(/>)}; в) {0(x,y), Q(x, b), Q{z,y)};
г) {Q(a, b), Q(x,y), Q(x, с)}; д) {б(х,у), б(х,Да, Z>)), Q(a, z)}-
5. Проверить наличие склеек у дизъюнктов и построить их:
а) Р(х, a} v Р(у, b) v Q(z); б) Р(х) v Р(а) v Q(y, Дх)) v Q(y, Да));
в) Р{х) v 2(Да)) v Р(/(а)); г) Q(x, у) v С(у, Да)) v Q(z, и).
7.5.3. Правило и метод резолюции в теориях первого порядка
ОПРЕДЕЛЕНИЕ. Рассмотрим дизъюнкты Dr и D2, называемые
посылками. Dx и Д2 не должны иметь общих переменных. Под дизъюнк-
том D\ будем понимать Dx либо его склейку А^ст, под Д'2 — либо D2, ли-
бо его склейку Д2ст. Если литеры Е{ еД] и -> А2еД2 имеют наибольший
общий унификатор ст', то дизъюнкт Д = (Д']\А]СТ') v (Д'2\— А2ст') назы-
вают резольвентой или заключением посылок Д] и Д2. Литеры L\ и Ь2
называют отрезаемыми.
Понятия резолютивного вывода и доказательства невыполнимости
множества дизъюнктов путем вывода из него пустого дизъюнкта такие
же, как и для ИВ.
342 Раздел IV. Основы теории конечных автоматов
9. Для входа из задачи 2 распознающий автомат по парам значений вход-
ных элементов {Х(({), X(t2)}, {X(t2), Л(/3))}, {X(f3), X(t.)},... должен выдавать сле-
дующие выходные: 00—>0, 01—>1,10—>2, 11—>3. Принять, чтоX(t0) = 0.
10. Модифицировать автомат Мили из задачи 9 так, чтобы он распознавал
требуемым образом только непересекающиеся подряд идущие парные комби-
нации из нечетного и четного входных элементов {Xit^, X(t2)}, {X(j3), У(/4))},
до5),ад,до7),^8)},....
1.2. Таблица состояния автомата
Рассмотрим наряду с графом переходов табличный способ задания
автоматов. Обозначим текущий момент времени через а предыдущий
момент времени через 1^^
ОПРЕДЕЛЕНИЕ. Таблицу, в которой перечислением задают функ-
ции выходов F и переходов G автомата, называют таблицей состояний
автомата. Ее входными переменными являются элементы декартова
произведения (Jfx Q), описывающие все возможные сочетания входов и
внутренних состояний автомата, при этом вход задается в текущий мо-
мент времени а внутреннее состояние — в предыдущий момент вре-
мени /,_р Выходными данными таблицы являются значения Z, Q в те-
кущий момент времени г,. Для инициального автомата начальные со-
стояния указывают отдельно.
Пример. Построить таблицу состояний для автомата, рассмотрен-
ного в примере 1 п. 1.1 (рис. 1.1).
Решение. X = Z= {a, b}, Q = {Qa, Qb}. Упорядочивая в лексикографи-
ческом порядке все возможные сочетания (X,, QI), получим входные
столбцы таблицы. В выходных столбцах будут находиться соответст-
вующие им значения функций выходов Z (Xh Qj) и переходов Q (X,, Qj),
которые переносим из графа переходов (рис. 1.1).
Ответ: искомая таблица состояний имеет вид
Дб) 2(6-1) Z(t?) QQD
а Qa a Qa
а Qb b Qa
ь Qa b Qb
ь Qb a Qb
Замечание. В случае применения числовых кодировок входов, вы-
ходов и внутренних состояний автоматов в двоичной (многозначной) сис-
теме, таблица состояний будет соответственно таблицей истинности неко-
торых функций в алгебре логики (многозначной логике). Данные функции,
как правило, являются частично определенными.
282
Раздел II. Математическая логика
Правила, по которым производится удаление дизъюнктов, называ-
ются стратегией вычеркивания. В процессе порождения дизъюнктов
вычеркиваются все тавтологии и наддизъюнкты.
Проверка тавтологичности дизъюнкта сводится к проверке наличия
в нем контрарных пар литер (одинаковых, но отличающихся наличием
отрицания).
Проверка поглощения дизъюнктов сложнее, т. к. само определение
свойства дано через некоторую подстановку, существование которой
для сложных дизъюнктов неочевидно.
Стратегия вычеркивания сохраняет полноту метода резолюции при
значительном сокращении объема необходимых выкладок.
Наряду с рассмотренной применяется еще целый ряд разновидно-
стей и модификаций метода резолюции, назначение которых — уско-
рить вывод пустого дизъюнкта в случае невыполнимости исходного
множества дизъюнктов.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ПРОБЛЕМА РАЗРЕШИМОСТИ.
ТЕОРИЯ АВТОМАТИЧЕСКОГО ВЫВОДА»
В. 1.
1. Представить в скулемовской форме формулу
V xV у (Р(х, у) -> 2(х)) -> V у 3 z R{x, у, z).
2. С помощью принципа резолюции доказать невыполнимость и построить
дерево вывода для дизъюнктов S={PvQv R,-, Pv R,-,Q,-,R}.
В.2.
1. Представить в скулемовской форме формулу
V х V у (Л(х, у) & V х В(х)) —> 3 х V у 3 z V и С (х, у, z, и).
2. С помощью принципа резолюции доказать невыполнимость и построить
дерево вывода для множества дизъюнктов S={PvQvR,-i Pv R, Q, -> R}.
В. 3.
1. Представить в скулемовской форме формулу
-i3xVy3zVw R(x, у, z, ы) = 3 х V у А(х, у) & -> 3 х Vy В(х, у).
2. С помощью принципа резолюции доказать невыполнимость и построить
дерево вывода для множества дизъюнктов 5= {Р, QvR,-iPv-iR,-^QvR}.
В. 4.
1. Представить в скулемовской форме формулу
-IV х 3 у А(х, у) —> -I 3 х V у((5(х, у) = С(х, у)).
340 Раздел IV. Основы теории конечных автоматов
Вершины графа переходов обозначают все его возможные внутрен-
ние состояния Q (рис. 1.2). Начальное состояние (?ож обозначаем звез-
дочкой. Построим функции выходов и переходов.
Рис. 1.2. Граф переходов автомата из примера 2
Вначале рассмотрим дуги, выходящие из вершины 2ОЖ. Если при
0 = Сож получены символы «0» или «1», то они могут быть началом до-
пустимой записи суммы. Их необходимо запомнить путем перехода в
соответствующее состояние (Qo или 0J. При получении символа «+»
следует остаться в том же состоянии (?ож. На всех трех дугах, выходящих
из вершины еож, ставим выход 0, поскольку не получено полной запи-
си суммы.
Рассмотрим построение дуг, выходящих из вершин Qo и Qt. При по-
лучении символа «+» необходимо перейти соответственно в состояния
<20+ и Ql+. Если же получены цифры «0» или «1», то необходимо запом-
нить их, перейдя в состояния Qo или Qlt поскольку они могут быть на-
чалом новой допустимой записи суммы. На всех дугах, выходящих из
вершин Qo и С], ставим выход 0, поскольку на входе еще не получено
полной записи суммы.
Построим дуги, выходящие из вершин Qo+ и Ql+. При получении
символа «+» необходимо перейти в состояние (?ож и выдать пустой сим-
вол, поскольку последовательности «0++» и «1++» не являются допус-
тимыми. Если же получены цифры «0» или «1», то необходимо запом-
нить их, перейдя в состояния Qo или Qt, как возможное начало новой
допустимой записи суммы, а в качестве выходов обозначить соответст-
вующее значение суммы полученных символов.
284 Раздел II. Математическая логика
2. Доказать справедливость тавтологий
(В = О = (В-* С) & (С-> В) и (В->С) = (-, В vC),
используемых при построении пренексных форм.
В. 13.
1. Представить в скулемовской форме формулу
-> 3 х 3 у (А(х, у) & -1 3 х В(х)) &->3x-.Vy3£V« С(х, у, z, и).
2. Построить собственный пример невыполнимого множества дизъюнктов,
содержащего три предиката.
В. 14.
1. Представить в скулемовской форме формулу
Зх Vy-i V и -1 А(х,у, z, u) v3x-> Vу В(х,у, z, и).
2. С помощью принципа резолюции доказать невыполнимость и построить
дерево вывода для дизъюнктов
S={Pv^Qv R, -,Pv R, Q,-,R}.
В. 15.
1. Представить в скулемовской форме формулу
-> 3 х V у V zA(x, у, z) = -> 3 х V у В(х, у, z).
2. При помощи построения семантического дерева проверить невыполни-
мость следующего множества дизъюнктов:
5= {Р v б v Д, Р v Д, G, Д, ? v Д}.
В. 16.
1. Представить в скулемовской форме формулу
-> V у 3 zA(x, у, z) & (V х (3 у А(х, у, z) -> V z В(х, у, z)))-
2. При помощи построения семантического дерева проверить невыполни-
мость следующего множества дизъюнктов: £= {Q(x, а), Р(у), -> Р{Ь)}.
В. 17.
1. Представить в скулемовской форме формулу
-I (А(х, у) v V х 3 z -> В(х, у, г)) = 3 х V у С(х, у, и).
2. Проверить наличие склеек у дизъюнктов и построить их:
2(х, у) v Q(y, Да)) v Q(z, и).
В. 18.
1. Представить в скулемовской форме формулу
V х V у 3 г (Я(х, у) —> 5(х, г)) & 3 г С(х, у, z).
2. При помощи построения семантического дерева проверить невыполни-
мость множества дизъюнктов £= {Р(у), -> Р(Дс)), -> Q(x)}.
В. 19.
1. Представить в скулемовской форме формулу
-> V х 3 у А(х, у, z) & -13 х V у В(х, у) -» 3 х V у С(х, у).
2. Проверить наличие склеек у дизъюнктов и построить их:
В. 20.
1. Представить в скулемовской форме формулу
V х(Р(х, у, z) -> б(х)) & 3 х (-, V z Р(х) v 2(г)).
338
Раздел IV. Основы теории конечных автоматов
Автоматы второго рода всегда могут быть представлены в виде эк-
вивалентных им автоматов первого рода при помощи следующей под-
становки:
Д/,) = Д2(/,), X(t;» = F(G(e(/,._1), X(t,)) =F'((Q(t^),X^).
ОПРЕДЕЛЕНИЕ. Автоматами Мили называют автоматы первого
рода.
Автоматами Мура называют автоматы второго рода, у которых
функция выходов явно не зависит от входа:
дг,)=де(г,.)).
Структура и схема функционирования любого автомата в графиче-
ском виде может быть задана при помощи графа переходов, который
также называют диаграммой Мура (диаграммой переходов).
ОПРЕДЕЛЕНИЕ. Графом переходов (диаграммой Мура) автомата
Мили называется ориентированный граф, в котором множество вершин
соответствует множеству всех возможных внутренних состояний авто-
мата; значения входов и выходов показаны на ориентированных ребрах
(дугах), которые показывают направление переходов. Выходы задают
после разделительной линии либо в скобках. Начальное состояние
инициального автомата отмечается звездочкой.
В качестве входов и выходов у реальных автоматов может использо-
ваться самая различная информация, например звуковая или зрительная.
Рассмотрим примеры построения графов переходов.
Пример 1. На вход автомата поступает, по одному, случайная после-
довательность из символов а и Ь. Ввести множества Q, X, Z и построить
граф переходов для автомата, заменяющего текущий символ X(t,)
(а -> b, b -> а) в том случае, когда предыдущий символ .¥(/,_]) был равен
Ь, и сохраняющего текущий символ при предыдущем а. Первый посту-
пающий символ сохраняется.
Решение. Множество возможных входов Х={а, Ь}. Множество воз-
можных выходов Z=X. Внутренние состояния предназначены для за-
поминания необходимой информации. Поскольку для изменения те-
кущего входного символа необходимо помнить предыдущий, то для
запоминания полученного в предыдущий момент времени символа а
вводим состояние Qa, а для запоминания b — состояние Qb. Следова-
тельно, множество возможных внутренних состояний Q = {Qa, Qb}. Т. к.
первый получаемый символ не инвертируется, то начальным состояни-
ем принимаем Qa.
Построение графа переходов начинаем с размещения его вершин, обо-
значающих все возможные внутренние состояния Q-{Qa, Qb} (рис. 1.1).
ЗАКЛЮ ЧЕНИЕ К РАЗДЕЛУ
«МАТЕМАТИЧЕСКАЯ ЛОГИКА»
Основными побудительными причинами, приведшими к выделе-
нию логики в самостоятельную научную отрасль, стали:
1) необходимость непротиворечивого построения основ математи-
ки как одного из возможных способов познания окружающей действи-
тельности;
2) потребность в обосновании методов рассуждений, применяемых
как в научных дисциплинах, так и обыденной практике.
При получении нового знания в логике используют как аксиомати-
ческий, так и конструктивный подходы. Аксиоматический метод, при-
меняемый в исчислениях, предполагает дедуктивный способ формаль-
ного вывода следствий из аксиом теории при помощи заданного набора
правил преобразования символьной информации. Он помогает лучше
понять внутренние связи между базовыми и производными объектами
теорий, однако не всегда удобен при решении практических задач.
Среди аксиоматических теорий можно выделить предметные, пред-
назначенные для исследования заданных объектов и операций с ними
(например, исчисление высказываний), а также универсальные, у кото-
рых формально вводимое множество обезличено (исчисление предика-
тов), что позволяет применять эти теории в качестве логической осно-
вы в различных дисциплинах.
Конструктивный подход предполагает формализацию некоторого
заданного набора объектов и операций над ними. Например, совокуп-
ности всех множеств с введенными на них предметными и логическими
операциями, высказываний с логическими связками и т. д. Это позво-
ляет совмещать формальные методы преобразования информации об
объектах (использование их символьных отображений и методов их
изменения) с конструкциями, существенно учитывающими свойства
предметного множества и операций на нем — диаграмм Венна, таблиц
истинности и др. Данный подход обычно более нагляден. Он отражает
индуктивный способ познания — от частному к общему. Осмысление
Раздел IV
ОСНОВЫ ТЕОРИИ КОНЕЧНЫХ АВТОМАТОВ
ГЛАВА 1
ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ
Исторически первыми автоматами были механические устройства,
выполнявшие некоторые действия без участия человека. Функции
управления в них, как правило, выполнялись при помощи разного рода
кулачковых механизмов.
Под автоматами в современной трактовке данного термина обычно
понимают:
1) реальные физические устройства, осуществляющие преобразова-
ние информации, энергии, веществ без непосредственного участия че-
ловека;
2) программы, управляющие работой ЭВМ либо других специали-
зированных вычислительных устройств, входящих в состав систем
управления роботами.
С точки зрения изучения свойств и основных закономерностей
структуры и функционирования автоматов оба определения равно-
сильны в том смысле, что работа автомата в самом общем виде может
быть рассмотрена как процесс преобразования некоторой входной ин-
формации в требуемую выходную.
Дискретность означает, что
1) входы, выходы и внутренние состояния автомата являются дис-
кретными множествами;
2) срабатывание автомата происходит теоретически мгновенно в
дискретные моменты времени (начальный момент, предшест-
вующий работе, обозначается t0).
При цифровой физической реализации дискретность автомата со-
храняется: он состоит из некоторых неделимых элементов, соединен-
ных между собой связями. Элементы принимают конечное число со-
стояний, обычно два: «включен/выключен» в механических системах,
«высокое/низкое напряжение» — в электрических и т. д.
Конечность означает, что автомат имеет ограниченную физическую
структуру, т. е. мощности множеств входов, выходов и внутренних со-
стояний автомата конечны.
288
Раздел II. Математическая логика
кам, обе построены на булевых алгебрах. Однако различный физиче-
ский смысл предметных множеств, логических функций и введенных
элементарных функций приводит к тому, что данные теории имеют
довольно существенные различия.
Рис. 7.5. Классификация логических теорий
Элемен-
тарные
логики
Логики
первого
порядка
Логики
второго
порядка
В науке основополагающая роль логики заключается в формализа-
ции знаний, в процессе которой систематизируются соответствующие
факты, явления и закономерности, выявляется общность методов
исследования в различных дисциплинах, границы применимости тео-
рий и т. д.
Как показано на примере булевых алгебр, выяснение общности
(эквивалентности) применяемых в разных научных теориях логических
систем либо их отдельных частей позволяет обоснованно переносить
результаты из одной теории в другую с применением соответствующей
их интерпретации.
Зачастую выяснение формальных логических связей между объек-
тами, явлениями позволяет яснее увидеть объективно существующие
связи между ними.
334
Раздел III. Теория графов
В. 18.
1. Построить матрицу инцидентности для графа, имеющего следующую
матрицу смежности
001110
001101
110100
111010
100101
010010
2. Будет ли планарен граф? Ответ обосновать.
В. 19.
1. Построить матрицы смежности и инцидентности для следующего графа:
2. Найти хроматические числа %(G) и x'(G) и построить правильные рас-
краски с минимальными числами используемых цветов графа из задачи 2 В. 7.
В. 20.
1. Построить, используя алгоритм Прима, минимальное остовное дерево в
следующем графе:
2. Выяснить планарность графа из задачи 1 В. 4.
В. 21.
1. Для взвешенного графа из задачи 1 В. 20 построить по алгоритму Дейкст-
ры кратчайший путь из вершины 1 в вершины 5 и 8.
2. Найти максимальный поток в заданной сети, имеющей два источника и
два стока. Определить остаточную пропускную способность дуг сети.
Раздел III
ТЕОРИЯ ГРАФОВ
На начальных этапах анализа и синтеза многие системы зачастую
представляют в виде набора некоторых объектов, соединенных между
собой связями. Теория графов изучает общие свойства таких структур.
ГЛАВА 1
ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ ГРАФОВ.
ПРИМЕРЫ ЕЕ ПРИМЕНЕНИЯ
1.1. Псевдографы, графы, способы их задания
Рассмотрим некоторое множество элементов вида Vt (i= 1, ..., п) и
производное от него множество Xпар элементов из Vвида (1<, V), где
(1 <i,j< п).
ОПРЕДЕЛЕНИЕ. Элементы множества V называют вершинами.
Если порядок следования элементов в парах Х= {(!<, V), (1 <i,j< л)} не
зафиксирован, то такие пары называют ребрами, а совокупность G =
= (У,Х) — неориентированным псевдографом. В том случае, когда все па-
ры X упорядочены, их называют дугами, а совокупность G=(V,X) —
ориентированным псевдографом.
Для краткости прилагательное «неориентированный» в названиях
будет опускаться. Графически вершины обычно изображают точками
или окружностями малого диаметра, ребра — линиями, дуги — однона-
правленными стрелками.
ОПРЕДЕЛЕНИЕ. Если элементам-ребрам (элементам-дугам) Xt] =
= {(К> ^/)} псевдографа G=(V,X) присвоены некоторые числовые зна-
чения dy (1 <i,j<n), называемые весами ребер (дуг), то псевдограф на-
зывают взвешенным.
Также веса ребер или дуг называют расстояниями. Множество всех
весов задают матрицей D размером п х п, а весь взвешенный псевдограф
обозначают как G = (V, X, D).
Пример 1. Псевдограф задан множествами V= (1,2,3); Х=((1, 1),
(1, 1), (1, 2), (1, 2), (2, 3), (3, 3), (3, 3)). Графическое изображение псев-
дографа дано на рис. 1.1.
332
Раздел III. Теория графов
В. 8.
1. Для взвешенного графа из задачи 2 В. 7 найти по методу Шимбелла сте-
пени D2, D\ D4 матрицы весов D. Определить кратчайшее расстояние между
вершинами 1 и 4, 2 и 5.
2. Найти хроматические числа /((7) и /'(G) и построить правильные рас-
краски с минимальными числами используемых цветов следующего графа: И=
= (1,2, 3,4, 5,6, 7), Х= ((1,2), (1, 4), (1,6), (1, 7), (2, 3), (2,4), (2, 5), (2, 7), (3, 4),
(3,6), (4, 5), (4, 6), (5, 7)).
В. 9.
1. Для взвешенного графа из задачи 2 В. 7 построить по алгоритму Дейкст-
ры кратчайший путь из вершины 1 в вершины 4 и 5.
2. При каких числах вершин п число ребер в полном графе Кп будет кратно 3?
В. 10.
1. Построить матрицы смежности и инцидентности для графа, заданного
списками: V= (1, 2, 3, 4, 5), Х= ((1, 2), (1, 3), (1,4), (2, 3), (2, 5), (3,4), (4, 5)).
2. Найти хроматические числа /(G) и /'(G) и построить правильные раскрас-
ки с минимальными числами используемых цветов следующего графа: V=
= (1,2, 3,4, 5, 6), Х= ((1,3), (1, 5), (1,6), (2,4), (2, 6), (3, 5), (4,6), (5,6)).
В. 11.
1. Найти хроматические числа /(G) и /1(G) и построить правильные рас-
краски с минимальными числами используемых цветов графа из задачи 1 В. 3.
2. Доказать, что граф Х3 4 не планарен.
В. 12.
1. Построить, используя алгоритм Прима, минимальное остовное дерево в
следующем графе:
2. Доказать, что /(Тп) = 2 при любом п > 2.
В. 13.
1. Для взвешенного графа из задачи 1 В. 12 найти по методу Шимбелла сте-
пени Д2, D3, D4 матрицы весов D. Определить кратчайшее расстояние между
вершинами 1 и 4, 4 и 8.
2. Построить матрицы смежности и инцидентности для графа, заданного
списками: К= (1,2, 3,4, 5,6), ^=((1,3), (1,4), (1,5), (1,6), (2,3), (2,4), (2,6),
(3,4),(3, 5), (4, 6),(5, 6)).
292
Раздел Ill. Теория графов
ОПРЕДЕЛЕНИЕ. Если в множестве ребер (дуг) X есть одинаковые
элементы, то их называют кратными. Мультиграф без кратных ребер
называют графом. Ориентированный граф для краткости обозначения
называют также орграфом.
Пример 4. V= (1, 2, 3), Х= ((1, 2), (2, 3)). На рис. 1.4 показан граф и
орграф с данными множествами (И, X).
Рис. 1.4. Граф и орграф из примера 4
ОПРЕДЕЛЕНИЕ. Если вершины графа (орграфа) V) и Г) соединены
ребром (дугой) Xk = (Vh Pj), то их называют смежными. Вершину и
ребро (дугу) Xk = (Vh У), образованные данной вершиной, называют
инцидентными. Степенью вершины Vназываются число d(V) ребер (дуг),
инцидентных ей. Если d(V) = 0, то вершину называют изолированной,
если d( И) = 1, то — висячей.
В примере 3 д(У{) = 2, д(У2) - 3, d(y3) = 1, вершина И3 — висячая.
ОПРЕДЕЛЕНИЕ. Рассмотрим граф G = (V,X). Граф = (Г], на-
зывают подграфом графа G, если V{ с У, X, с X.
ОПРЕДЕЛЕНИЕ. Последовательность вершин и ребер, связываю-
щих их, называется маршрутом (путем). Число ребер в маршруте назы-
вается длиной маршрута. Маршрут, в котором все ребра попарно раз-
личны, называется цепью. Цепь, в которой все вершины попарно раз-
личны, называется простой цепью. Маршрут, в котором начальная и
конечная вершины совпадают (Г, = К„), называется циклом. Цикл, в ко-
тором кроме У{ и К„ все вершины различны, называется простым.
В примере 3 последовательность (У1Х1 У2Х3 ^з) — маршрут из вер-
шины У3 в вершину У3.
Пример 5. У= (1,2, 3,4), Х= ((1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)).
Граф показан на рис. 1.5. Номера ребер заданы числами 1-6.
В графе выделены следующие циклы:
(У{ 1 К2 2 И3 3 И4 6 У21 И) — никл длины 5;
(Ej 1 И2 2 И3 3 И4 4 У3) — простой цикл длины 4.
330
Раздел III. Теория графов
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ТЕОРИЯ ГРАФОВ»
В. 1.
1. Доказать с использованием матрицы смежности, что для любого полного
двудольного графа у'(К„Д = п.
2. Будет ли планарен изображенный ниже граф? Ответ обосновать.
В. 2.
1. Построить матрицы смежности и инцидентности для графа, заданного
списками: V= (1, 2, 3, 4, 5), Х= ((1, 3), (1, 5), (2,4), (2, 5), (3, 4), (4, 5)).
2. Будут ли изображенные ниже графы: а) гомеоморфны, б) изоморфны? От-
вет обосновать.
В. 3.
1. Проверить планарность графа.
2. Найти хроматические числа %(б) и х'(<7) и построить правильные рас-
краски с минимальными числами используемых цветов для единичного куба В\
В. 4.
1. Найти вершинное и реберное хроматические числа графа. Построить
правильные раскраски с минимальными числами используемых цветов.
294
Раздел III. Теория графов
б) К= (1, 2, 3, 4), Х= ((1, 2), (1, 3), (1, 4), (2, 3));
в) V= (1, 2, 3, 4, 5), Х= ((1, 3), (1, 5), (2, 4), (2, 5), (3, 4), (4, 5));
г) К= (1, 2, 3, 4, 5, 6),Х= ((1, 3), (1,4), (1, 6), (2, 4), (2, 5),(3, 5),(3, 6), (4, 6)).
3. Построить матрицы смежности и инцидентности для графа из примера 5.
4. Построить матрицы инцидентности для графов, имеющих следующие
матрицы смежности:
01011 ЛЛ1 1 01010
10101 UU1 1 ЛЛ1 л 10101
А = 01010 UU1U 1101 01010
10101 1 1 U 1 1Л1 л 10101
ною 1 U 1 и 01010
Использование графовых представлений систем позволяет более
наглядно представить их структуру, выявить свойства, пояснить методы
исследования. Рассмотрим основные виды графов и примеры их при-
менения в исследовании систем разного рода.
1.2. Деревья
ОПРЕДЕЛЕНИЕ. Связный граф, не содержащий циклов, называют
деревом. В общем случае граф без циклов (состоящий из деревьев), на-
зываются лесом. Дерево с п вершинами обозначают Тп, лес, содержащий
и вершин и к деревьев, обозначают Wn,к.
Пример дерева (Г9) показан на рис. 1.6, а, пример леса (РИ163) — на
рис. 1.6, б).
Рис. 1.6. Дерево Т9 и лес 1Е16 3
ОПРЕДЕЛЕНИЕ. Звездой называют дерево, у которого все ребра
инцидентны в одной вершине, называемой центром звезды. Ребра звез-
ды называют лучами.
Примеры звезд с количеством лучей т = 0, 1,5,8 показаны на
рис. 1.7.
328
Раздел III. Теория графов
Каждый планарный граф также может быть уложен без пересечения
ребер на сфере или других видах поверхностей.
Критерием планарности графов является
Теорема 2.11 (Понтрягина — Куратовского). Граф планарен тогда и
только тогда, когда он не содержит подграфов, гомеоморфных графам
^5 и ^3,3-
Пример 2. Определить планарность графа К4 4.
Решение. Поскольку граф К4 4 содержит в качестве подграфа KJ 3, то
по теореме Понтрягина — Куратовского он не планарен.
ОПРЕДЕЛЕНИЕ. Часть плоскости, ограниченную простым цик-
лом плоского графа и не содержащую внутри себя других вершин и ре-
бер, называют его гранью. Цикл, ограничивающий грань, называют гра-
ницей грани. Грани, находящиеся внутри плоского графа, называют
внутренними, грань, находящуюся снаружи — внешней.
Каждое ребро плоского графа принадлежит ровно двум граням. Его
удаление приводит к тому, что две грани сливаются в одну.
Для плоских графов (псевдографов) справедлива
Теорема 2.12 Формула Эйлера. Если п — количество вершин, т —
количество ребер, г — количество граней некоторого связного плоского
графа G, то
г + п - т = 2.
Замечание. Формула Эйлера может быть применена только к ruio-i
ским графам, у которых можно выделить грани.
Пример 3. Проверить выполнимость формулы Эйлера для плоского
графа G = (Ц X), V= (1, 2, 3, 4, 5, 6), Х= ((1, 2), (1,3), (1,4), (2,3), (3,4),
(4, 5), (4, 6), (5, 6)) на рис. 2.13.
Решение. Характеристики графа следующие: п = 6, т = 8, г = 4 (3 внут-
ренних грани и одна внешняя). Подставляя в формулу Эйлера, получим
4 + 6 - 8 = 2.
296
Раздел III. Теория графов
Рис. 1.8. Полное множество размещений
б) из каждой вершины первого уровня проводим ребра, соответст-
вующие всем объектам {Z>1; b2, b2, Z>4}. Получаем вершины второго уровня;
в) из вершин второго уровня проводим ребра, соответствующие
объектам {с1; с2}. Полученные вершины третьего уровня описывают все
искомое множество размещений.
Дерево на рис. 1.8 показывает способ образования всех возможных
комбинаций. Общее их число равно 3 • 4 2 = 24.
Ответ: вероятность появления каждой из комбинаций равна 1/24.
1.2.4. Иерархические структуры и процессы
Во многих структурах и алгоритмах на элементах вводится некото-
рый порядок (иерархия). Если каждый из элементов низкого порядка
связан только с одним элементом более высокого порядка и не имеет
связей с другими элементами такого же порядка, то данная структура
называется иерархической и может быть отображена в виде дерева.
326 Раздел III. Теория графов
шин тремя цветами (I, II, III) существует (она показана на изображении
графа), то отсюда следует, что х(0 = 3.
Рис. 2.11. Граф к примеру 1
2. Рассмотрим реберную раскраску. Из теорем 2.8, 2.9 следует, что
maxd(v)<x'(G)</n. В данном примере 4<x'(G)S7. Т. к. правильную
реберную раскраску графа можно построить четырьмя цветами (на ри-
сунке цвета ребер обозначены I*, II*, III*, IV*), то отсюда следует:
Х'(0 = 4.
Ответ: х((7) = 3, х'((7) = 4. Правильные вершинная и реберная рас-
краски графа даны на рис. 2.11.
В ряде случаев построение правильных реберных раскрасок проще
производить с использованием матрицы смежности графа. В ней ребра
вместо единиц отмечаются числовыми обозначениями присвоенных им
цветов. Например, для графа на рис. 2.11 соответствующая матрица
смежности имеет вид
' О III О О I '
III О I О II
О I О II III .
О О II О IV
, I II III IV о,
Матрица смежности, соответствующая правильной реберной рас-
краске, обладает следующим свойством — в каждой строке и каждом
столбце не может больше одного раза встречаться обозначение одного и
того же цвета.
Точные значения хроматических чисел получены для отдельных
классов графов, например для планарных графов (допускающих уклад-
ку на плоскости без пересечения ребер), графов, не содержащих нечет-
ных простых циклов.
Теорема 2.10 (Д. Кенига). /(б) = 2 тогда и только тогда, когда граф G
не содержит нечетных простых циклов.
Теорема Кенига позволяет упростить определение хроматического
числа некоторых видов графов.
298
Раздел III. Теория графов
об оптимальном покрытии некоторой территории с выделенными на-
селенными пунктами сетью дорог, телеграфных коммуникаций и т. д.
Для решения этой задачи используют алгоритм Прима.
Алгоритм Прима построения минимального остовного дерева
ШАГ 1. Вначале текущее множество вершин VTvt реберХтискомого
минимального остовного дерева T=(VT, Х7) устанавливают пустыми:
Ут:=0, Хт:=0.
ШАГ 2. В цикле по всем ребрам из Х\ХТ, добавление которых к уже
имеющемуся множеству Хт не вызовет появление цикла в текущем Т,
выбирают ребро минимального веса X' = (V', V"). Его добавляют к уже
имеющемуся множеству Хт. В качестве нового множества вершин при-
нимают VTu {V, V'}.
ШАГ 3. Проверка окончания цикла: VT= V — все вершины исход-
ного графа G = (V, X, D) исчерпаны. Если выполняется строгое включе-
ние с V, то переход на ШАГ 2.
Справедлива
Теорема 1.1. Алгоритм Прима всегда находит во взвешенном графе
(псевдографе) остовное дерево минимального веса.
В случае определения во взвешенном графе (псевдографе) остов-
ного дерева с максимальным суммарным весов ребер, в алгоритме
Прима на ШАГе 2 выбирают ребро максимального веса.
Задачи
1. Доказать, что в любом дереве Тп число ребер равно п - 1.
2. Доказать, что любой лес Wn к имеет число ребер п-к.
3. Доказать, что связный граф является деревом тогда и только тогда, когда
любые две его различные вершины соединяет единственная простая цепь.
4. Связный граф имеет один цикл длины т. Сколькими способами можно
выделить в нем остовное дерево?
5. Доказать, что в любом дереве Т„, имеющем хотя бы одно ребро, число
висячих вершин не менее 2.
1.3. Полные графы
ОПРЕДЕЛЕНИЕ. Пусть граф имеет п вершин. Если каждые две раз-
личные вершины графа соединены ребром, то граф называют полным.
Полный граф, содержащий п вершин, обозначают Кп. Примеры полных
графов с количеством вершин и = 1, 2, 3, 4, 5 показаны на рис. 1.10.
Все элементы матрицы смежности полного графа К„, кроме нуле-
вых диагональных, равны 1.
324
Раздел III. Теория графов
3. Выяснить, существуют ли гамильтоновы цепи и циклы в графах Т„ (и > 3),
^,Кп(п>3),К„^В"(П>2).
4. Доказать, что граф с висячей вершиной не имеет гамильтонова цикла.
5. Привести собственный пример графа, имеющего гамильтонову цепь, но
не имеющего гамильтонова цикла.
6. Доказать, что показанный ниже граф не имеет гамильтонова цикла:
Рис. 2.9. Граф к задаче 6
7. Определить наличие эйлерова цикла и цепи в графе:
Рис. 2.10. Граф к задаче 7
8. Доказать, что эйлеровой цепью обладает всякий связный граф, у кото-
рого количество вершин нечетной степени не больше 2.
2.3. Раскраски графов
В ряде случаев при разработке систем требуется присвоить их эле-
ментам (либо связям) некоторые свойства таким образом, чтобы объек-
ты с одинаковыми свойствами не взаимодействовали непосредственно
между собой. Часто такое требование встречается при составлении рас-
писаний различного рода.
В графовых моделях приписывание свойств вершинам или ребрам
условно называют раскраской, т. е. полагается, что каждому свойству
соответствует свой определенный цвет.
ОПРЕДЕЛЕНИЕ. Если смежные вершины (ребра) графа раскра-
шены в различающиеся цвета, то соответствующая вершинная (ребер-
ная) раскраска называется правильной.
300
Раздел III. Теория графов
Двудольные графы используют для изучения свойств систем, со-
стоящих из двух однородных групп, внутри которых связи между объек-
тами отсутствуют. Обычно ставится задача установить связи между объ-
ектами из разных групп наилучшим образом — в зависимости от задан-
ного критерия оптимальности. Рассмотрим примеры задач данного типа.
1.4.1. Задачи о расписаниях
Для выполнения заказа необходимо изготовить комплект деталей
Л1; А2, ...,Л10, трудоемкости изготовления которых составляют соответ-
ственно 15, 18, 20, 20, 26, 30, 33, 36, 40 и 60 мин. Требуется распределить
данные детали между тремя рабочими Б1; В2, В3 таким образом, чтобы
минимизировать общее время изготовления всего комплекта деталей.
Каждый вариант распределения деталей может быть представлен в
виде взвешенного двудольного графа. Один из оптимальных вариантов
распределения показан на рис. 1.12.
Рис. 1.12. Один из оптимальных вариантов распределения
1.4.2. Распределение ресурсов
Задано множество заказов А1г А2, ...,Л5, стоимости которых в оди-
наковых единицах измерения равны соответственно 1; 1; 1; 2,6; 4. Так-
же задано множество предприятий В2,..., В6 — потенциальных изго-
товителей данных заказов, производственные мощности которых соот-
носятся как 1 : 1,2 : 1,4 : 1,5 : 2 : 2,4. Каждое предприятие может участ-
вовать в выполнении любого количества заказов, и каждый заказ может
выполняться любым числом предприятий.
Требуется найти оптимальное распределение заказов по предприяти-
ям, при котором будет минимизировано общее время их выполнения.
Возможные варианты распределения заказов можно интерпретиро-
вать в виде набора взвешенных двудольных графов. Один из оптималь-
ных вариантов дан на рис. 1.13.
322
Раздел III. Теория графов
Кратчайший путь, определяемый по алгоритму Дейкстры, может
быть одним из нескольких существующих.
Недостаток метода — неприменимость при отрицательных весах
ребер, которые иногда используются при решении задач.
2.2.2. Гамильтоновы цепи и циклы
ОПРЕДЕЛЕНИЕ. Простой цикл, содержащий все вершины графа,
называется гамильтоновым. Гамильтоновой цепью называется простая
цепь, содержащая все вершины графа.
Очевидно, если граф имеет гамильтонов цикл, то он имеет и га-
мильтонову цепь, обратное верно не всегда.
Пример 4. Определить, существует ли гамильтонов цикл и гамильто-
нова цепь в показанном на рис. 2.7 графе G=(V,X), V= (1, 2, 3, 4, 5, 6),
*= ((1, 2), (1, 3), (1, 4), (2, 3), (3, 4), (4, 5), (4, 6), (5, 6)).
Решение. 1. Рассмотрим построение гамильтонова цикла. Допустим,
он существует. В качестве начальной может быть принята любая вер-
шина, например, Ир При переходе от К, к К5 и обратно вершина И4
должна быть пройдена как минимум 2 раза. Поэтому любой цикл, со-
держащий все вершины графа, не будет простым (а следовательно, и га-
мильтоновым).
2. Цепь Iх! И2И3И4И5И6 является гамильтоновой.
Ответ: гамильтонова цепь в данном графе G существует, а гамиль-
тонов цикл — нет.
Аналитических критериев существования гамильтоновых цепей и
циклов в графе не найдено. Доказан ряд достаточных условий, при вы-
полнении которых граф гарантированно содержит гамильтонов цикл.
Например, доказанная норвежским математиком О. Оре
Теорема2.4. Если у связного графа G=(V,X) число вершин | = п > 3 и
для степеней d(Vj), d(Vj) любых двух его несмежных вершин Vtu Vj выполня-
ется условие d( V) + d( Уф > п, то в G есть гамильтонов цикл.
302
Раздел III. Теория графов
1.5.1. Комбинаторика и алгебра логики
Как было показано выше, сама структура кубов обеспечивает ши-
рокое их применение при изучении и интерпретации свойств булевых
наборов и булевых функций, заданных на них, поскольку многие свой-
ства данных объектов проявляются именно на соседних наборах.
1.5.2. Теория кодирования
Единичные «-мерные кубы являются наиболее удобным объектом
для изучения свойств и иллюстрации структуры двоичных кодов, наи-
более распространенных в практических приложениях.
Задачи
1. Найти число ребер в кубе В".
2. Задан куб S4. Какова минимальная длина пути в нем из вершины (1101) в
вершину (ОНО)?
3. Доказать, что если две вершины куба В" не соединены ребром, то рас-
стояние Хэмминга между соответствующими булевыми векторами а", Р" ле-
жит в интервале [2, п].
4. В кубе В" выделены два непересекающихся шара с одинаковым радиу-
сом. Каков может быть максимальный радиус данных шаров?
1.6. Сети
ОПРЕДЕЛЕНИЕ. Псевдограф G= (V, X), у которого выделено неко-
торое множество из к вершин Р= {v15..., v^-полюсов, называют к-по-
люсной сетью. Обозначают данную сеть как Г = (Р, V,X), Г = ({vj,..., yj,
И, X) либо Г = (vb ..., vk). Вершины сети, отличные от полюсов, называ-
ют внутренними. Простые цепи, соединяющие полюсы сети, называют
цепями сети. Цепи сети минимально возможной длины называют крат-
чайшими.
На практике наибольшее применение нашли одно- и двухполюс-
ные сети. Деревья с выделенной корневой вершиной (корневые) явля-
ются однополюсными сетями. Рассмотрим основные примеры приме-
нения сетей.
1.6.1. Моделирование транспортных систем. Потоки в сетях
Одно из основных приложений сетей — моделирование транспорт-
ных систем, по которым перемещаются люди, автомобили, корабли,
транспортируют грузы, жидкие продукты и т. д. В данных моделях
пункты, в которых происходит изменение потоков транспортируемых
320
Раздел III. Теория графов
Ответ: в результате выполнения первого этапа алгоритма Дейкстры
для взвешенного графа (рис. 2.4) получены следующие значения крат-
чайших длин путей от вершины V\ до остальных вершин графа, кото-
рые метками указаны на рис. 2.6.
Рис. 2.6. Кратчайшие длины путей от вершины
Под бесконечностью «<х>» в практических расчетах принимают ре-
альное число, заведомо большее суммарного веса любого из путей в
графе. Если такая оценка не известна из предыдущих расчетов, то в ка-
честве ее можно принять, например, п dmax, где п — число вершин гра-
фа, rfmax — максимальный вес ребра графа.
Если граф несвязный, то необходимо изменить условие завершения
работы первого этапа на ШАГе 3. В этом случае работа завершается,
когда у всех непосещенных вершин величины меток равны оо.
Второй этап алгоритма Дейкстры — определение кратчайшего пути до
заданной вершины.
Допустим, для всех вершин некоторого взвешенного графа G =
= (V,X, D) найдены кратчайшие длины путей (метки) из вершины Ин и
задана вершина Кк, в которую необходимо попасть из нее. Требуется
построить цепь минимальной длины из Ки в
Построение цепи начинается с конечной вершины Кк.
ШАГ 1. Начальные присваивания. В качестве текущей вершины цепи
VT принимаем конечную вершину Ук. Предыдущая вершина цепи Ипр = 0.
ТТТАГ 2. Выбор очередной вершины цепи. Рассматривают все вершины
графа, смежные с текущей вершиной цепи Ит, отличные от предыдущей
вершины Ипр. Среди них выбирают такую соседнюю вершину Ис, для
которой выполняется равенство Л/(/с) + JCT = M(VT). При этом текущую
вершину Кт принимают в качестве предыдущей: Ипр = Vy, а найденную
соседнюю вершину считают следующей текущей: Ит = Vc.
304
Раздел III. Теория графов
3) для источника ги и стока сети vc:
X чМ = X = А,
xe5"(v„) xefl+(vc)
где А — количество продукта, подаваемого через источник в сеть и вы-
ходящего из ее стока, называемое суммарным потоком в сети (потоком в
сети). Максимально возможную его величину сокращенно называют
максимальным потоком в сети.
Физически поток обычно означает количество продукта, переда-
ваемого по выделенному участку транспортной системы за единицу
времени. Первое условие выражает ограниченность пропускной спо-
собности рассмотренного участка. Второе — неразрывность потока во
внутренних вершинах, передаваемый продукт в них не появляется и не
исчезает. Третье означает отсутствие потерь и добавок продукта при его
передаче по сети в целом — сколько продукта поступает в источник,
столько же удаляется из стока.
ОПРЕДЕЛЕНИЕ. Если для дуги сети x=(Vh PJ) выполняется усло-
вие то данную дугу называют насыщенной. Если выполняется
условие dy > <р,у , то дугу называют ненасыщенной, а величину (dtJ - <р;у) —
остаточной пропускной способностью дуги.
Для оценки потока в сети используют понятие разреза.
ОПРЕДЕЛЕНИЕ. Множество дуг сети, удаление которых разрывает
все цепи в ней таким образом, что начала всех дуг лежат в одной части
сети, а концы — в другой, называют разрезом. Разрез можно указать пу-
тем перечисления дуг {(^, PJ)}, образующих его. Обозначим разрез через
5{(К„ !<)}. Пропускной способностью P(S{(V\, PJ)}) разреза S{(Vi, Vj)} на-
зывают сумму пропускных способностей дуг {(И,-, Vj)}, образующих его:
P(S{(V,;Vj)})= X d(x).
хеД+(И)
Разрез с минимальной пропускной способностью называют мини-
мальным.
В сетевой модели транспортной системы на рис. 1.15 показаны раз-
резы, обозначенные 5Х и 5П. Как следует из рисунка,
Р(^) = Р({(КХ, У2); (К1; У3); (И„ К4)}) = 10 +15 + 45 = 70,
P(Sn) = P({(V2, К5);(К3, К6);(К4, К6)}) = 20 + 40 +15 = 75.
Связь максимального потока в сети с разрезами устанавливает
Теорема 1.2 (Форда —Фалкерсона). В любой взвешенной ориентиро-
ванной двухполюсной сети Г = ({ги, vc}, V, X, D) максимальный поток в се-
ти равен пропускной способности ее минимального разреза.
318
Раздел III. Теория графов
В алгоритме Е. Дейкстры (Голландия) использован принцип дина-
мического программирования, предложенный Р. Веллманом (США) и
заключающийся в поэтапном отбрасывании заведомо худших вариан-
тов в процессе их перебора.
В алгоритме осуществляется последовательное прохождение (посе-
щение) вершин взвешенного графа с присвоением и последующей кор-
рекцией меток на них, которые имеют смысл минимально известных
расстояний от данных вершин до Ин. Метку вершины V] будем обозна-
чать М(У;).
Алгоритм включает два этапа — на первом расставляются метки и
уточняется их значение, на втором строится искомый кратчайший путь.
Первый этап алгоритма Дейкстры — расстановка меток.
ШАГ 1. Начальные присваивания. Все вершины отмечаются, как не-
посещенные. Вершине VH присваивается метка 0, всем остальным —
метка «оо» (бесконечность).
ШАГ 2. Выбор очередной вершины и ее обработка. Из непосещенных
выбирают вершину с минимальной меткой. Обозначим ее Vu. Рассмат-
ривают все смежные с ней непосещенные вершины — «соседи». Для
каждого «соседа» Ис выполняют следующие действия.
1. К метке выбранной вершины Vu прибавляют вес duc ребра (Им, Vc),
соединяющего ее с Vc.
2. Полученную сумму M(VM) + duc сравнивают с существующей мет-
кой «соседа» Ус. Если М( VM) + duc < М( Vc), то найден более короткий
путь из VH в Vc через Vu. Это новое значение присваивают в качестве
метки соседней вершине Vc: M(VC) := M(VU) + dMC. Иначе значение метки
M(VC) остается прежним.
После обработки всех соседних с VM вершин, она отмечается как
посещенная.
ШАГ 3. Проверка завершения работы первого этапа алгоритма. Если
множество непосещенных вершин содержит только одну вершину, то
алгоритм завершает свою работу, поскольку улучшать метки больше
невозможно — у последней вершины не может быть непосещенных
соседних вершин. В качестве искомых минимальных расстояний при-
нимают текущие значения меток вершин. Если же число непосещен-
ных вершин больше 1, то переход на ШАГ 2 и продолжение выполне-
ния алгоритма.
Пример 2. Выполнить первый этап алгоритма Дейкстры для верши-
ны взвешенного графа, данного на рис. 2.4.
306
Раздел III. Теория графов
ШАГЗ. Коррекция текущего значения максимального потока в сети.
Прибавляем найденные на ШАГе2 значения максимальных потоков в
независимых маршрутах М3,..., Мк к текущему общему максимальному
потоку в сети:
Лт :=Л.Г + А(Л1\) + А(Л12) + + Л(Л4).
ШАГ 4. Коррекция сети. Найденные на ШАГе2 максимальные по-
токи AtM^, ...,A(Mk) вычитаем из пропускной способности соответст-
вующих дуг сети. Дуги с нулевой остаточной пропускной способностью
удаляем.
ШАГ 5. Проверка завершения работы алгоритма. Если после кор-
рекции в сети не осталось маршрутов из источника уи в сток vc, то ис-
комый максимальный поток в сети равен найденному текущему Л :=ЛТ;
алгоритм завершает свою работу, поскольку все пропускные возможно-
сти сети исчерпаны.
Если же в корректированной сети существуют маршруты из источ-
ника ги в сток vc, то переход на ШАГ 2 и продолжение выполнения ал-
горитма.
Пример 2. Найти максимальный поток в сети на рис. 1.15 по данно-
му алгоритму.
Решение. ШАГ 1. Начальные присваивания. Ау := 0.
I итерация. ШАГ 2. Выбор независимых маршрутов в сети и определе-
ние потоков в них. В качестве М{ возьмем маршрут (ги = Кр К2, К5,
vc = К7), рассмотренный в примере 1. Для него А(М{) = 10.
Также несложно выделить независимый от маршрут Л/2 =
= (уи = К1; К3, К6, vc = К7). Выполним для него расчет максимальной про-
пускной способности и скорректируем пропускную способность дуг:
Л(М2) = min{rf13, d36, d61} = min{45, 40, 30} = 30. dl3 = dl3 - 30 = 15, d36'=
= d36 - 30 = 10, d61' = d67 - 30 = 0.
ШАГ 3. Коррекция текущего значения максимального потока в сети.
АТ := АТ + A(My) + А(М2) = 0 + 10 + 30 = 40.
ШАГ 4. Коррекция сети. Найденные на ШАГе 2 максимальные по-
токи А(М{), А(М2) в маршрутах М{, М2 вычитаем из пропускной спо-
собности их дуг. Дуги с нулевой остаточной пропускной способностью
удаляем. Результат дан на рис. 1.16, а.
ШАГ 5. Проверка завершения работы алгоритма. В корректирован-
ной сети (рис. 1.16, а) существуют маршруты из источника ги в сток ус,
например М3 = (ги = Кр К4, К2, К5, ус= К7). Продолжение выполнения ал-
горитма.
316
Раздел III. Теория графов
матрицы Z>*+1, задающие минимальную стоимость перехода длины
(к + 1) от вершины Vt к вершине Vj, определяют в результате умножения
матрицы D на матрицу Dk по специальному правилу:
dy+l =min'{(dn +'d*), (di2 +'d^,...,(din+’dk)},
где:
1) в операции попарного суммирования элементов «+'» при нали-
чии хотя бы одного нулевого значения вся сумма принимается равной
нулю;
2) операция «min'» означает выбор минимального ненулевого эле-
мента списка. Нулевые значения в расчет не принимаются.
Степени матрицы Dk+l для графа будут также симметричны, как и
D, однако на главной диагонали у них будут появляться ненулевые эле-
менты.
Кратчайшая цепь между вершинами графа с п вершинами может
включать не более (п - 1) ребер, иначе цепь будет содержать циклы и ее
можно сократить. Предельное число ребер (л-1) в кратчайшем пути
достигается, например, между вершинами V{ и У„ в графе, представ-
ляющем одну простейшую цепь (рис. 2.5):
~Qn
Рис. 2.5. Связный граф с п вершинами в виде одной цепи
Поэтому искомое кратчайшее расстояние между заданной парой
вершин Vt и Vj в общем случае определяется как минимальное из значе-
ний элементов dl;dy,dy-,...,dfj~i, соответствующих матрице D и ее сте-
пеням D2, D3,..., Dn~l.
Пример 1. Для графа с пятью вершинами, данного на рис. 2.4, найти
по методу Шимбелла степени D2, D\ D4 матрицы весов D. Определить
кратчайшее расстояние между вершинами Vx и V2.
Решение. В исходной матрице весов D расстояние dl2 = 30 и соответ-
ствует ребру графа Р2.
Найдем степени D. Проиллюстрируем применение правил умноже-
ния матриц в методе Шимбелла на примере вычисления элемента d2j в
степенной матрице D2'.
308
Раздел III. Теория графов
а) все события обозначены множеством вершин V, среди них выде-
лено исходное событие ги (начало работ) и завершающее событие v3 (за-
вершение выполнения всего проекта), внутренние вершины сети зада-
ют промежуточные события — этапы, которые необходимо выполнить в
процессе реализации проекта;
б) все работы обозначены дугами, соединяющими между собой па-
ры событий — вершин.
Графическое изображение данной сети называют сетевым графи-
ком. Для обозначения последовательности действий в сетевой график
вводят также фиктивные работы, которые не связаны с выполнением
каких-либо действий. Соответствующие работы обозначают штрихо-
выми дугами.
В качестве примера рассмотрим организацию некоторого произ-
водства. Проект требует выполнения следующих работ:
I) маркетинговые исследования; II) предпроектные исследования
по оборудованию; III) организация сети сбыта; IV) проведение реклам-
ной кампании; V) разработка технического задания на производствен-
ное оборудование; VI) разработка технической документации на произ-
водственные помещения и коммуникации; VII) закупка стандартного
оборудования; VIII) проектирование и изготовление нестандартного
оборудования; IX) строительство производственных помещений и мон-
таж коммуникаций; X) монтаж стандартного оборудования, XI) монтаж
нестандартного оборудования; XII) пусконаладочные работы.
Данные работы обозначим в сетевом графике дугами с соответст-
вующими номерами.
Событиями в данном проекте будут следующие:
1) начало работ (исходное событие); 2) завершение маркетинговых
исследований; 3) завершение предпроектных исследований; 4) органи-
зация сети сбыта; 5) организация рекламной кампании; 6) подготовка
технического задания на производственное оборудование; 7) заверше-
ние разработки технической документации на производственные по-
мещения и коммуникации; 8) завершение закупки стандартного обору-
дования; 9) завершение проектирования и изготовления нестандарт-
ного оборудования; 10) завершение строительства производственных
помещений и монтажа коммуникаций; 11) завершение установки обо-
рудования и пусконаладочных работ; 12) завершение проекта (завер-
шающее событие).
Событиям сопоставляем вершины с соответствующими номерами.
Сетевой график выполнения проекта дан на рис. 1.17.
314
Раздел III. Теория графов
графы G и Н изоморфны и с учетом нумерации вершин в графах иско-
мое отображение вершин имеет вид
<р : {1 <4 5; 2 <4 6; 3 <4 8; 4 <4 7}.
Располагая ребра в графах в лексикографическом порядке, получим
матрицы инцидентности графов следующего вида:
110 0 0 1 1 0 0 0
10 110 1 0 1 1 0
Б(0 = 0 110 1 ; 5(Я)= 0 0 1 0 1
0 0 0 1 1 0 1 0 1 1
Матрица В(Н) может быть получена из матрицы 21(G) путем пере-
становки строк 3 и 4 и столбцов 3 и 4.
ОПРЕДЕЛЕНИЕ. Граф //является подразбиением графа G, если он
может быть получен из G последовательным применением операции
подразбиения ребер. Графы G и Н гомеоморфны, если у них существуют
изоморфные подразбиения.
Очевидно, для проверки гомеоморфности графов достаточно устра-
нить у них все подразбиения ребер и проверить изоморфизм получен-
ных графов.
Задачи
1. Найти дополнения графов: Кп, Кп т.
2. Выяснить изоморфизм следующих пар графов. При положительном от-
вете построить примеры взаимно однозначных отображений на множествах
вершин и ребер. Отрицательный ответ обосновать.
а) (7= (К, X), (К= (1, 3, 5, 7), Х= ((1, 3), (3, 5), (1, 7)));
H=(W, Y), (1Г= (2, 4, 8), Y= ((2, 8), (2, 4), (4, 8)));
б) G= (V, X), (И= (1, 3, 6), Х= ((1, 3), (3, 6), (1, 6)));
Н= (У Y), (1Г= (2, 4, 7), У= ((2, 7), (4, 7)));
в) G= (V, X), (К= (1, 3, 6), Х= ((1, 3), (3, 6), (1, 6)));
Я= (У Y), (1Г= (2, 5, 7), У= ((2, 7), (2, 5), (5, 7)));
г) (7= У,Х), (V= (1, 2, 5, 8), Х= ((1,2), (2, 5), (1, 5)));
Н= (У У), (1Г= (3, 4, 6, 9), У= ((3, 9), (4, 9), (6, 9))).
3. Перечислить все возможные неизоморфные графы с тремя вершинами.
4. Перечислить все возможные неизоморфные деревья с четырьмя верши-
нами.
2.2. Маршруты и обходы в графах
В процессе проектирования зачастую требуется найти оптимальную
последовательность действий по одиночной либо парной обработке
объектов. Для этого в графовых моделях систем необходимо строить
310
Раздел III. Теория графов
позиции. На рис. 1.19 показана 4-полюсная сеть Г = (х, у, z,f), соответ-
ствующая функции проводимости f = (xvy)(x V£).
Рис. 1.19. Графовая сетевая модель функциональной схемы,
соответствующая функции проводимости f = (х v у) (х v z)
1.6.4. Однополюсные сети — корневые деревья
Выше рассмотрены примеры применения корневых деревьев в тео-
рии множеств, комбинаторике и теории вероятностей, булевой алгебре,
теории автоматического вывода. Данные сети также широко использу-
ются в теории алгоритмов и других областях математики.
Задачи
1. Какова величина суммарной пропускной способности минимального
разреза сети на рис. 1.15?
2. Найти максимальный поток в сети с двумя истоками, данной на
рис. 1.20.
3. Построить графовую сетевую модель релейной схемы, соответствующей
функции проводимости f = (х v у) v xz v у.
4. Построить графовую сетевую модель функциональной схемы, соответст-
вующей функции проводимости f= (х —>у) 4- (z v и).
312
Раздел III. Теория графов
операциии/2. При этом для V а еА из b = £(а) следует: /2(6) = ^(/Да)).
В частном случае для графов определение принимает следующий вид.
ОПРЕДЕЛЕНИЕ. Графы (псевдографы) G=(V,X) и H=(W\ Y) изо-
морфны, если существуют взаимно однозначные отображения <р: К->
W, ф:Х-> Y, такие, что для каждого ребра х=(у,и)<=.Х справедливо:
ц/(х) = (<p(v), <p(u)).
Можно в качестве исходных множеств у графов принять вершины,
а операции — соединение их ребрами, можно и наоборот: исходными
считать множества ребер, а операцией — соединение их вершинами.
Отображение £ построено из двух частей — ф и ф. Из взаимно одно-
значного характера отображений ф и ф вытекают простейшие необхо-
димые условия существования изоморфного отображения графов Gx =
= (И], Хх) и G2 - (И2, Х2). б\ и G2 должны иметь одинаковые:
1) числа вершин.(| Kj = | И2|);
2) числа ребер (1^ | = |yV2|).
Изоморфные графы имеют одинаковую структуру в смысле нали-
чия соединений между внутренними элементами. Граф Gj, изоморф-
ный некоторому исходному графу G, отличается от него лишь обозна-
чением вершин.
Пример2. Рассмотрим графы G=(V,X) (И=(1,2,3), Х=((1,2),
(2,3)) и Н= (PK, Y) = (РК= (5, 6, 8), Y= ((5, 8),(6, 8)). Они изоморфны,
т. к. искомые взаимно однозначные отображения <р : РИ и \ц :X-+Y
существуют. На рис. 2.2 они показаны графически. В виде списков ото-
бражения ср и ф можно представить следующим образом:
Ф : {1 <-> 5; 2 <-> 8; 3 <-> 6}; ф: {(1,2) <-> (5,8); (2,3) <-> (6,8)}.
Второй возможный вариант отображений ф и ф имеет вид
Ф : {1 <-> 6; 2 <-> 8; 3 <-> 5}; ф: {(1,2) (6,8); (2,3) <-> (5,8)}.
312
Раздел III. Теория графов
операциии/2. При этом для V а еЛ из b = £(а) следует: /2(6) -
В частном случае для графов определение принимает следующий вид.
ОПРЕДЕЛЕНИЕ. Графы (псевдографы) G=(V, X) и Я=(ИЛ, Y) изо-
морфны, если существуют взаимно однозначные отображения <р: К->
W, \y:X-*Y, такие, что для каждого ребра x = (v, м)еХ справедливо:
ф(х) = (ф(г),ф(м)).
Можно в качестве исходных множеств у графов принять вершины,
а операции — соединение их ребрами, можно и наоборот: исходными
считать множества ребер, а операцией — соединение их вершинами.
Отображение £ построено из двух частей — ф и ф. Из взаимно одно-
значного характера отображений ф и ф вытекают простейшие необхо-
димые условия существования изоморфного отображения графов -
= (Vlt Х{) и G2 - (V2, Х2). G{ и G2 должны иметь одинаковые:
1) числа вершин.(| Kj = | И2|);
2) числа ребер (IXj = |yV2|).
Изоморфные графы имеют одинаковую структуру в смысле нали-
чия соединений между внутренними элементами. Граф б\, изоморф-
ный некоторому исходному графу G, отличается от него лишь обозна-
чением вершин.
Пример2. Рассмотрим графы G=(V,X) (И=(1,2,3), .¥=((1,2),
(2,3)) и Н= (И/, Y) = (РИ= (5, 6, 8), Y= ((5, 8),(6, 8)). Они изоморфны,
т. к. искомые взаимно однозначные отображения ф : W и \ц :X-+Y
существуют. На рис. 2.2 они показаны графически. В виде списков ото-
бражения ф и ф можно представить следующим образом:
Ф : {1 <-> 5; 2 <-> 8; 3 <-> 6}; ф: {(1,2) <-> (5,8); (2,3) <-> (6,8)}.
Второй возможный вариант отображений ф и ф имеет вид
Ф : {1 <-> 6; 2 <-> 8; 3 <-> 5}; ф : {(1,2) <-> (6,8); (2,3) о (5,8)}.
310
Раздел III. Теория графов
позиции. На рис. 1.19 показана 4-полюсная сеть Г = (х, у, z,f), соответ-
ствующая функции проводимости f = (xvy)(xvz).
Рис. 1.19. Графовая сетевая модель функциональной схемы,
соответствующая функции проводимости f = (х v у)(х v z)
1.6.4. Однополюсные сети — корневые деревья
Выше рассмотрены примеры применения корневых деревьев в тео-
рии множеств, комбинаторике и теории вероятностей, булевой алгебре,
теории автоматического вывода. Данные сети также широко использу-
ются в теории алгоритмов и других областях математики.
Задачи
1. Какова величина суммарной пропускной способности минимального
разреза сети на рис. 1.15?
2. Найти максимальный поток в сети с двумя истоками, данной на
рис. 1.20.
3. Построить графовую сетевую модель релейной схемы, соответствующей
функции проводимости f = (х v у) v xz v у.
4. Построить графовую сетевую модель функциональной схемы, соответст-
вующей функции проводимости f= (х —>у) 4- (z V и).
314
Раздел III. Теория графов
графы би Н изоморфны и с учетом нумерации вершин в графах иско-
мое отображение вершин имеет вид
<р : {1 <-> 5; 2 <-> 6; 3 8; 4 <-> 7}.
Располагая ребра в графах в лексикографическом порядке, получим
матрицы инцидентности графов следующего вида:
110 0 0 110 0 0
7?((7) = 10 110 0 110 1 10 110 0 0 10 1
0 0 0 1 1 0 10 11
Матрица В(Н) может быть получена из матрицы B(G) путем пере-
становки строк 3 и 4 и столбцов 3 и 4.
ОПРЕДЕЛЕНИЕ. Граф Я является подразбиением графа G, если он
может быть получен из G последовательным применением операции
подразбиения ребер. Графы G и Н гомеоморфны, если у них существуют
изоморфные подразбиения.
Очевидно, для проверки гомеоморфности графов достаточно устра-
нить у них все подразбиения ребер и проверить изоморфизм получен-
ных графов.
Задачи
1. Найти дополнения графов: Кп, Кп т.
2. Выяснить изоморфизм следующих пар графов. При положительном от-
вете построить примеры взаимно однозначных отображений на множествах
вершин и ребер. Отрицательный ответ обосновать.
a) G= (К, X), (К= (1, 3, 5, 7), Х= ((1, 3), (3, 5), (1, 7)));
н= (W, Y), (1Г= (2, 4, 8), Y= ((2, 8), (2, 4), (4, 8)));
б) G = (Г,X), (К= (1, 3, 6),Х= ((1,3), (3, 6), (1, 6)));
Я= (IT, Y), (1Г= (2, 4, 7), Y= ((2, 7), (4, 7)));
в) G= (7, X), (V= (1, 3, 6), Х= ((1, 3), (3, 6), (1, 6)));
Я= (И; Y), (W= (2, 5, 7), Y= ((2, 7), (2, 5), (5, 7)));
г) G= (V,X), (V= (1, 2, 5, 8), X= ((1, 2), (2, 5), (1, 5)));
Я= (Y), (1T= (3, 4, 6, 9), Г= ((3, 9), (4, 9), (6, 9))).
3. Перечислить все возможные неизоморфные графы с тремя вершинами.
4. Перечислить все возможные неизоморфные деревья с четырьмя верши-
нами.
2.2. Маршруты и обходы в графах
В процессе проектирования зачастую требуется найти оптимальную
последовательность действий по одиночной либо парной обработке
объектов. Для этого в графовых моделях систем необходимо строить
308
Раздел III. Теория графов
а) все события обозначены множеством вершин V, среди них выде-
лено исходное событие ги (начало работ) и завершающее событие v3 (за-
вершение выполнения всего проекта), внутренние вершины сети зада-
ют промежуточные события — этапы, которые необходимо выполнить в
процессе реализации проекта;
б) все работы обозначены дугами, соединяющими между собой па-
ры событий — вершин.
Графическое изображение данной сети называют сетевым графи-
ком. Для обозначения последовательности действий в сетевой график
вводят также фиктивные работы, которые не связаны с выполнением
каких-либо действий. Соответствующие работы обозначают штрихо-
выми дугами.
В качестве примера рассмотрим организацию некоторого произ-
водства. Проект требует выполнения следующих работ:
I) маркетинговые исследования; II) предпроектные исследования
по оборудованию; III) организация сети сбыта; IV) проведение реклам-
ной кампании; V) разработка технического задания на производствен-
ное оборудование; VI) разработка технической документации на произ-
водственные помещения и коммуникации; VII) закупка стандартного
оборудования; VIII) проектирование и изготовление нестандартного
оборудования; IX) строительство производственных помещений и мон-
таж коммуникаций; X) монтаж стандартного оборудования, XI) монтаж
нестандартного оборудования; XII) пусконаладочные работы.
Данные работы обозначим в сетевом графике дугами с соответст-
вующими номерами.
Событиями в данном проекте будут следующие:
1) начало работ (исходное событие); 2) завершение маркетинговых
исследований; 3) завершение предпроектных исследований; 4) органи-
зация сети сбыта; 5) организация рекламной кампании; 6) подготовка
технического задания на производственное оборудование; 7) заверше-
ние разработки технической документации на производственные по-
мещения и коммуникации; 8) завершение закупки стандартного обору-
дования; 9) завершение проектирования и изготовления нестандарт-
ного оборудования; 10) завершение строительства производственных
помещений и монтажа коммуникаций; 11) завершение установки обо-
рудования и пусконаладочных работ; 12) завершение проекта (завер-
шающее событие).
Событиям сопоставляем вершины с соответствующими номерами.
Сетевой график выполнения проекта дан на рис. 1.17.
316
Раздел III. Теория графов
матрицы Dk+i, задающие минимальную стоимость перехода длины
(к + 1) от вершины FJ к вершине Vj, определяют в результате умножения
матрицы D на матрицу Dk по специальному правилу:
<Ay+1 = +'dy), (di2 +'d2l), ...,(din +'dk)},
где:
1) в операции попарного суммирования элементов «+'» при нали-
чии хотя бы одного нулевого значения вся сумма принимается равной
нулю;
2) операция «min'» означает выбор минимального ненулевого эле-
мента списка. Нулевые значения в расчет не принимаются.
Степени матрицы Dk+1 для графа будут также симметричны, как и
D, однако на главной диагонали у них будут появляться ненулевые эле-
менты.
Кратчайшая цепь между вершинами графа с п вершинами может
включать не более (л - 1) ребер, иначе цепь будет содержать циклы и ее
можно сократить. Предельное число ребер (л-1) в кратчайшем пути
достигается, например, между вершинами К] и Vn в графе, представ-
ляющем одну простейшую цепь (рис. 2.5):
И v2 и3 vn
Рис. 2.5. Связный граф с и вершинами в виде одной цепи
Поэтому искомое кратчайшее расстояние между заданной парой
вершин Vt и Vj в общем случае определяется как минимальное из значе-
ний элементов dij,dy,d^,...,dy~i, соответствующих матрице D и ее сте-
пеням/)2, Z)3, ...,/)"’1.
Пример 1. Для графа с пятью вершинами, данного на рис. 2.4, найти
по методу Шимбелла степени D2, D3, D4 матрицы весов D. Определить
кратчайшее расстояние между вершинами к] и И2.
Решение. В исходной матрице весов D расстояние rf12 = 30 и соответ-
ствует ребру графа VY V2.
Найдем степени D. Проиллюстрируем применение правил умноже-
ния матриц в методе Шимбелла на примере вычисления элемента dy в
степенной матрице D2:
306
Раздел III. Теория графов
ШАГ 3. Коррекция текущего значения максимального потока в сети.
Прибавляем найденные на ШАГе2 значения максимальных потоков в
независимых маршрутах Л/1;Мк к текущему общему максимальному
потоку в сети:
АТ:=АТ + А(М1) + А(М2) +... + А(Мк).
ШАГ 4. Коррекция сети. Найденные на ШАГе 2 максимальные по-
токи А(М1), ...,А(Мк) вычитаем из пропускной способности соответст-
вующих дуг сети. Дуги с нулевой остаточной пропускной способностью
удаляем.
ШАГ 5. Проверка завершения работы алгоритма. Если после кор-
рекции в сети не осталось маршрутов из источника ги в сток ус, то ис-
комый максимальный поток в сети равен найденному текущему Л :=АТ;
алгоритм завершает свою работу, поскольку все пропускные возможно-
сти сети исчерпаны.
Если же в корректированной сети существуют маршруты из источ-
ника уи в сток vc, то переход на ШАГ 2 и продолжение выполнения ал-
горитма.
Пример 2. Найти максимальный поток в сети на рис. 1.15 по данно-
му алгоритму.
Решение. ШАГ 1. Начальные присваивания. А^ := 0.
I итерация. ШАГ 2. Выбор независимых маршрутов в сети и определе-
ние потоков в них. В качестве возьмем маршрут (ги = И2, V5,
vc = Г7), рассмотренный в примере 1. Для негоЛ(Л/1) = 10.
Также несложно выделить независимый от М{ маршрут М2 =
= (уи = К], И3, V6, vc = И7). Выполним для него расчет максимальной про-
пускной способности и скорректируем пропускную способность дуг:
А(М2) = min{rf13, rf36, d67} = min{45, 40, 30} = 30. <7i3'= d13 - 30 = 15, d76'=
= d36 - 30 = 10, d67' = d67 - 30 = 0.
ШАГ 3. Коррекция текущего значения максимального потока в сети.
АТ :=АТ + А(М1)+А(М2) = 0 + 10 + 30 = 40.
ШАГ 4. Коррекция сети. Найденные на ШАГе 2 максимальные по-
токи А(М1), А(М2) в маршрутах Л/3, М2 вычитаем из пропускной спо-
собности их дуг. Дуги с нулевой остаточной пропускной способностью
удаляем. Результат дан на рис. 1.16, а.
ШАГ 5. Проверка завершения работы алгоритма. В корректирован-
ной сети (рис. 1.16, а) существуют маршруты из источника уи в сток vc,
например Л/3 = (уи = Р1, К4, V2, Г5, гс=Г7). Продолжение выполнения ал-
горитма.
318
Раздел III. Теория графов
В алгоритме Е. Дейкстры (Голландия) использован принцип дина-
мического программирования, предложенный Р. Веллманом (США) и
заключающийся в поэтапном отбрасывании заведомо худших вариан-
тов в процессе их перебора.
В алгоритме осуществляется последовательное прохождение (посе-
щение) вершин взвешенного графа с присвоением и последующей кор-
рекцией меток на них, которые имеют смысл минимально известных
расстояний от данных вершин до VH. Метку вершины Vt будем обозна-
чать Л/([^).
Алгоритм включает два этапа — на первом расставляются метки и
уточняется их значение, на втором строится искомый кратчайший путь.
Первый этап алгоритма Дейкстры — расстановка меток.
ШАГ 1. Начальные присваивания. Все вершины отмечаются, как не-
посещенные. Вершине VH присваивается метка 0, всем остальным —
метка «оо» (бесконечность).
ШАГ 2. Выбор очередной вершины и ее обработка. Из непосещенных
выбирают вершину с минимальной меткой. Обозначим ее Км. Рассмат-
ривают все смежные с ней непосещенные вершины — «соседи». Для
каждого «соседа» Ис выполняют следующие действия.
1. К метке выбранной вершины Ин прибавляют вес rfMC ребра (Им, Кс),
соединяющего ее с Ис.
2. Полученную сумму Л/( Им) + с/мс сравнивают с существующей мет-
кой «соседа» Ис. Если М(УЫ) + d,tc < ЛДИС), то найден более короткий
путь из Кн в Vc через Км. Это новое значение присваивают в качестве
метки соседней вершине Vc: M(VC) := Л/(ИМ) + dMC. Иначе значение метки
M(VC) остается прежним.
После обработки всех соседних с Vu вершин, она отмечается как
посещенная.
ШАГ 3. Проверка завершения работы первого этапа алгоритма. Если
множество непосещенных вершин содержит только одну вершину, то
алгоритм завершает свою работу, поскольку улучшать метки больше
невозможно — у последней вершины не может быть непосещенных
соседних вершин. В качестве искомых минимальных расстояний при-
нимают текущие значения меток вершин. Если же число непосещен-
ных вершин больше 1, то переход на ШАГ 2 и продолжение выполне-
ния алгоритма.
Пример 2. Выполнить первый этап алгоритма Дейкстры для верши-
ны взвешенного графа, данного на рис. 2.4.
304
Раздел III. Теория графов
3) для источника ги и стока сети vc:
Е фМ = Е Ф(*) = 4
хеД"(ги) xeD+(vc)
где А — количество продукта, подаваемого через источник в сеть и вы-
ходящего из ее стока, называемое суммарным потоком в сети {потоком в
сети). Максимально возможную его величину сокращенно называют
максимальным потоком в сети.
Физически поток обычно означает количество продукта, переда-
ваемого по выделенному участку транспортной системы за единицу
времени. Первое условие выражает ограниченность пропускной спо-
собности рассмотренного участка. Второе — неразрывность потока во
внутренних вершинах, передаваемый продукт в них не появляется и не
исчезает. Третье означает отсутствие потерь и добавок продукта при его
передаче по сети в целом — сколько продукта поступает в источник,
столько же удаляется из стока.
ОПРЕДЕЛЕНИЕ. Если для дуги сети х= (Vh Р)) выполняется усло-
вие то данную дугу называют насыщенной. Если выполняется
условие djjXfjj , то дугу называют ненасыщенной, а величину - фу) —
остаточной пропускной способностью дуги.
Для оценки потока в сети используют понятие разреза.
ОПРЕДЕЛЕНИЕ. Множество дуг сети, удаление которых разрывает
все цепи в ней таким образом, что начала всех дуг лежат в одной части
сети, а концы — в другой, называют разрезом. Разрез можно указать пу-
тем перечисления дуг {(Р), ₽))}, образующих его. Обозначим разрез через
S{(Vh ^)}' Пропускной способностью P{S{{Vi, PJ)}) разреза S{(Vh Р))} на-
зывают сумму пропускных способностей дуг {(Р), Vj)}, образующих его:
Р(3{(У,;У;)}) = Е
хеД+(Г,-)
Разрез с минимальной пропускной способностью называют мини-
мальным.
В сетевой модели транспортной системы на рис. 1.15 показаны раз-
резы, обозначенные и Зц. Как следует из рисунка,
Р(3[) = Р({(Ир И2); (Ир И3); (И1; И4)}) = 10 +15 + 45 = 70,
Р(5П) = Р({(И2, И5); (Из, У6); (И4, О) = 20 + 40 +15 = 75.
Связь максимального потока в сети с разрезами устанавливает
Теорема 1.2 (Форда — Фалкерсона). В любой взвешенной ориентиро-
ванной двухполюсной сети Г = ({ги, vc}, И, X, D) максимальный поток в се-
ти равен пропускной способности ее минимального разреза.
320
Раздел HI. Теория графов
Ответ: в результате выполнения первого этапа алгоритма Дейкстры
для взвешенного графа (рис. 2.4) получены следующие значения крат-
чайших длин путей от вершины до остальных вершин графа, кото-
рые метками указаны на рис. 2.6.
М(2) = 25
Рис. 2.6. Кратчайшие длины путей от вершины И,
Под бесконечностью «а» в практических расчетах принимают ре-
альное число, заведомо большее суммарного веса любого из путей в
графе. Если такая оценка не известна из предыдущих расчетов, то в ка-
честве ее можно принять, например, п dmax, где п — число вершин гра-
фа, </тах — максимальный вес ребра графа.
Если граф несвязный, то необходимо изменить условие завершения
работы первого этапа на ШАГеЗ. В этом случае работа завершается,
когда у всех непосещенных вершин величины меток равны оо.
Второй этап алгоритма Дейкстры — определение кратчайшего пути до
заданной вершины.
Допустим, для всех вершин некоторого взвешенного графа G =
= (V, X, D) найдены кратчайшие длины путей (метки) из вершины Кн и
задана вершина Гк, в которую необходимо попасть из нее. Требуется
построить цепь минимальной длины из Гн в Кк.
Построение цепи начинается с конечной вершины Кк.
ПТАГ 1. Начальные присваивания. В качестве текущей вершины цепи
Кт принимаем конечную вершину Кк. Предыдущая вершина цепи Кпр = 0.
ПТ АГ 2. Выбор очередной вершины цепи. Рассматривают все вершины
графа, смежные с текущей вершиной цепи Кт, отличные от предыдущей
вершины Кпр. Среди них выбирают такую соседнюю вершину Гс, для
которой выполняется равенство Л/(КС) + JCT = Л/(ИТ). При этом текущую
вершину Гт принимают в качестве предыдущей: Кпр = Кт, а найденную
соседнюю вершину считают следующей текущей: Кт = Vc.
302
Раздел III. Теория графов
1.5.1. Комбинаторика и алгебра логики
Как было показано выше, сама структура кубов обеспечивает ши-
рокое их применение при изучении и интерпретации свойств булевых
наборов и булевых функций, заданных на них, поскольку многие свой-
ства данных объектов проявляются именно на соседних наборах.
1.5.2. Теория кодирования
Единичные л-мерные кубы являются наиболее удобным объектом
для изучения свойств и иллюстрации структуры двоичных кодов, наи-
более распространенных в практических приложениях.
Задачи
1. Найти число ребер в кубе В".
2. Задан куб 54. Какова минимальная длина пути в нем из вершины (1101) в
вершину (ОНО)?
3. Доказать, что если две вершины куба В” не соединены ребром, то рас-
стояние Хэмминга между соответствующими булевыми векторами а", р" ле-
жит в интервале [2, л].
4. В кубе Вп выделены два непересекающихся шара с одинаковым радиу-
сом. Каков может быть максимальный радиус данных шаров?
1.6. Сети
ОПРЕДЕЛЕНИЕ. Псевдограф G= (И, X), у которого выделено неко-
торое множество из к вершин Р = {уь ..., ук}-полюсов, называют к-по-
люсной сетью. Обозначают данную сеть как Г = (Р, V, X), Г = ({vj,..., vk},
V, X либо Г = (vb ..., vk). Вершины сети, отличные от полюсов, называ-
ют внутренними. Простые цепи, соединяющие полюсы сети, называют
цепями сети. Цепи сети минимально возможной длины называют крат-
чайшими.
На практике наибольшее применение нашли одно- и двухполюс-
ные сети. Деревья с выделенной корневой вершиной (корневые) явля-
ются однополюсными сетями. Рассмотрим основные примеры приме-
нения сетей.
1.6.1. Моделирование транспортных систем. Потоки в сетях
Одно из основных приложений сетей — моделирование транспорт-
ных систем, по которым перемещаются люди, автомобили, корабли,
транспортируют грузы, жидкие продукты и т. д. В данных моделях
пункты, в которых происходит изменение потоков транспортируемых
322
Раздел III. Теория графов
Кратчайший путь, определяемый по алгоритму Дейкстры, может
быть одним из нескольких существующих.
Недостаток метода — неприменимость при отрицательных весах
ребер, которые иногда используются при решении задач.
2.2.2. Гамильтоновы цепи и циклы
ОПРЕДЕЛЕНИЕ. Простой цикл, содержащий все вершины графа,
называется гамильтоновым. Гамильтоновой цепью называется простая
цепь, содержащая все вершины графа.
Очевидно, если граф имеет гамильтонов цикл, то он имеет и га-
мильтонову цепь, обратное верно не всегда.
Пример 4. Определить, существует ли гамильтонов цикл и гамильто-
нова цепь в показанном на рис. 2.7 графе G = (И, X), V= (1, 2, 3, 4, 5, 6),
У= ((1, 2), (1, 3), (1, 4), (2, 3), (3, 4), (4, 5), (4, 6), (5, 6)).
Решение. 1. Рассмотрим построение гамильтонова цикла. Допустим,
он существует. В качестве начальной может быть принята любая вер-
шина, например, При переходе от У\ к К5 и обратно вершина К4
должна быть пройдена как минимум 2 раза. Поэтому любой цикл, со-
держащий все вершины графа, не будет простым (а следовательно, и га-
мильтоновым).
2. Цепь KiK2K3K4K5K6 является гамильтоновой.
Ответ', гамильтонова цепь в данном графе G существует, а гамиль-
тонов цикл — нет.
Аналитических критериев существования гамильтоновых цепей и
циклов в графе не найдено. Доказан ряд достаточных условий, при вы-
полнении которых граф гарантированно содержит гамильтонов цикл.
Например, доказанная норвежским математиком О. Оре
Теорема 2.4. Если у связного графа G=(V,X) число вершин | И| = п > 3 и
для степеней d( Уф, d( Уф любых двух его несмежных вершин У( и Vj выполня-
ется условие d( + d( Уф > п, то в G есть гамильтонов цикл.
300
Раздел III. Теория графов
Двудольные графы используют для изучения свойств систем, со-
стоящих из двух однородных групп, внутри которых связи между объек-
тами отсутствуют. Обычно ставится задача установить связи между объ-
ектами из разных групп наилучшим образом — в зависимости от задан-
ного критерия оптимальности. Рассмотрим примеры задач данного типа.
1.4.1. Задачи о расписаниях
Для выполнения заказа необходимо изготовить комплект деталей
At, А2, —,А1о, трудоемкости изготовления которых составляют соответ-
ственно 15, 18, 20, 20, 26, 30, 33, 36, 40 и 60 мин. Требуется распределить
данные детали между тремя рабочими В{, В2, В3 таким образом, чтобы
минимизировать общее время изготовления всего комплекта деталей.
Каждый вариант распределения деталей может быть представлен в
виде взвешенного двудольного графа. Один из оптимальных вариантов
распределения показан на рис. 1.12.
Рис. 1.12. Один из оптимальных вариантов распределения
1.4.2. Распределение ресурсов
Задано множество заказов Alt А2, ...,As, стоимости которых в оди-
наковых единицах измерения равны соответственно 1; 1; 1; 2,6; 4. Так-
же задано множество предприятий В1г В2,..., В6 — потенциальных изго-
товителей данных заказов, производственные мощности которых соот-
носятся как 1: 1,2 : 1,4 : 1,5 : 2 : 2,4. Каждое предприятие может участ-
вовать в выполнении любого количества заказов, и каждый заказ может
выполняться любым числом предприятий.
Требуется найти оптимальное распределение заказов по предприяти-
ям, при котором будет минимизировано общее время их выполнения.
Возможные варианты распределения заказов можно интерпретиро-
вать в виде набора взвешенных двудольных графов. Один из оптималь-
ных вариантов дан на рис. 1.13.
324
Раздел III. Теория графов
3. Выяснить, существуют ли гамильтоновы цепи и циклы в графах Тп (л>3),
4. Доказать, что граф с висячей вершиной не имеет гамильтонова цикла.
5. Привести собственный пример графа, имеющего гамильтонову цепь, но
не имеющего гамильтонова цикла.
6. Доказать, что показанный ниже граф не имеет гамильтонова цикла:
7. Определить наличие эйлерова цикла и цепи в графе:
8. Доказать, что эйлеровой цепью обладает всякий связный граф, у кото-
рого количество вершин нечетной степени не больше 2.
2.3. Раскраски графов
В ряде случаев при разработке систем требуется присвоить их эле-
ментам (либо связям) некоторые свойства таким образом, чтобы объек-
ты с одинаковыми свойствами не взаимодействовали непосредственно
между собой. Часто такое требование встречается при составлении рас-
писаний различного рода.
В графовых моделях приписывание свойств вершинам или ребрам
условно называют раскраской, т. е. полагается, что каждому свойству
соответствует свой определенный цвет.
ОПРЕДЕЛЕНИЕ. Если смежные вершины (ребра) графа раскра-
шены в различающиеся цвета, то соответствующая вершинная (ребер-
ная) раскраска называется правильной.
298
Раздел III. Теория графов
об оптимальном покрытии некоторой территории с выделенными на-
селенными пунктами сетью дорог, телеграфных коммуникаций и т. д.
Для решения этой задачи используют алгоритм Прима.
Алгоритм Прима построения минимального остовного дерева
ШАГ 1. Вначале текущее множество вершин Ут и ребер Хт искомого
минимального остовного дерева Т= (Ут, Хт) устанавливают пустыми:
Ут:=0,Хт:=0.
ШАГ 2. В цикле по всем ребрам из Х\ХГ, добавление которых к уже
имеющемуся множеству Хт не вызовет появление цикла в текущем Т,
выбирают ребро минимального веса X' = (У', У"). Его добавляют к уже
имеющемуся множеству Хг. В качестве нового множества вершин при-
нимают Уги{У, У'}.
ШАГ 3. Проверка окончания цикла: Ут= У — все вершины исход-
ного графа G=(V,X, D) исчерпаны. Если выполняется строгое включе-
ние Ку-с У, то переход на ШАГ 2.
Справедлива
Теорема 1.1. Алгоритм Прима всегда находит во взвешенном графе
(псевдографе) остовное дерево минимального веса.
В случае определения во взвешенном графе (псевдографе) остов-
ного дерева с максимальным суммарным весов ребер, в алгоритме
Прима на ШАГе 2 выбирают ребро максимального веса.
Задачи
1. Доказать, что в любом дереве Тп число ребер равно п - 1.
2. Доказать, что любой лес Wn к имеет число ребер п-к.
3. Доказать, что связный граф является деревом тогда и только тогда, когда
любые две его различные вершины соединяет единственная простая цепь.
4. Связный граф имеет один цикл длины т. Сколькими способами можно
выделить в нем остовное дерево?
5. Доказать, что в любом дереве Тп, имеющем хотя бы одно ребро, число
висячих вершин не менее 2.
1.3. Полные графы
ОПРЕДЕЛЕНИЕ. Пусть граф имеет п вершин. Если каждые две раз-
личные вершины графа соединены ребром, то граф называют полным.
Полный граф, содержащий п вершин, обозначают Кп. Примеры полных
графов с количеством вершин п = 1, 2, 3, 4, 5 показаны на рис. 1.10.
Все элементы матрицы смежности полного графа Кп, кроме нуле-
вых диагональных, равны 1.
326 Раздел III. Теория графов
шин тремя цветами (I, II, III) существует (она показана на изображении
графа), то отсюда следует, что х((7) = 3.
Рис. 2.11. Граф к примеру 1
2. Рассмотрим реберную раскраску. Из теорем 2.8, 2.9 следует, что
max rf(v) < у'((7) </п. В данном примере 4 <£((!) <1. Т. к. правильную
реберную раскраску графа можно построить четырьмя цветами (на ри-
сунке цвета ребер обозначены I*, II*, III*, IV*), то отсюда следует:
Х'(0 = 4.
Ответ: х((7) = 3, х'(0 = 4. Правильные вершинная и реберная рас-
краски графа даны на рис. 2.11.
В ряде случаев построение правильных реберных раскрасок проще
производить с использованием матрицы смежности графа. В ней ребра
вместо единиц отмечаются числовыми обозначениями присвоенных им
цветов. Например, для графа на рис. 2.11 соответствующая матрица
смежности имеет вид
' О III О О I '
III О 10 II
0 I 0 II III .
О 0 II О IV
ч I II III IV о,
Матрица смежности, соответствующая правильной реберной рас-
краске, обладает следующим свойством — в каждой строке и каждом
столбце не может больше одного раза встречаться обозначение одного и
того же цвета.
Точные значения хроматических чисел получены для отдельных
классов графов, например для планарных графов (допускающих уклад-
ку на плоскости без пересечения ребер), графов, не содержащих нечет-
ных простых циклов.
Теорема 2.10 (Д. Кенига). х((7) = 2 тогда и только тогда, когда граф G
не содержит нечетных простых циклов.
Теорема Кенига позволяет упростить определение хроматического
числа некоторых видов графов.
296
Раздел III. Теория графов
б) из каждой вершины первого уровня проводим ребра, соответст-
вующие всем объектам {61; Ь2, Ь3, Ь4}. Получаем вершины второго уровня;
в) из вершин второго уровня проводим ребра, соответствующие
объектам {с1; с2}. Полученные вершины третьего уровня описывают все
искомое множество размещений.
Дерево на рис. 1.8 показывает способ образования всех возможных
комбинаций. Общее их число равно 3 4 • 2 = 24.
Ответ’, вероятность появления каждой из комбинаций равна 1/24.
1.2.4. Иерархические структуры и процессы
Во многих структурах и алгоритмах на элементах вводится некото-
рый порядок (иерархия). Если каждый из элементов низкого порядка
связан только с одним элементом более высокого порядка и не имеет
связей с другими элементами такого же порядка, то данная структура
называется иерархической и может быть отображена в виде дерева.
328
Раздел III. Теория графов
Каждый планарный граф также может быть уложен без пересечения
ребер на сфере или других видах поверхностей.
Критерием планарности графов является
Теорема 2.11 (Понтрягина — Куратовского). Граф планарен тогда и
только тогда, когда он не содержит подграфов, гомеоморфных графам
и *з,з-
Пример 2. Определить планарность графа К4 4.
Решение. Поскольку граф К4 4 содержит в качестве подграфа К3 3, то
по теореме Понтрягина — Куратовского он не планарен.
ОПРЕДЕЛЕНИЕ. Часть плоскости, ограниченную простым цик-
лом плоского графа и не содержащую внутри себя других вершин и ре-
бер, называют его гранью. Цикл, ограничивающий грань, называют гра-
ницей грани. Грани, находящиеся внутри плоского графа, называют
внутренними, грань, находящуюся снаружи — внешней.
Каждое ребро плоского графа принадлежит ровно двум граням. Его
удаление приводит к тому, что две грани сливаются в одну.
Для плоских графов (псевдографов) справедлива
Теорема 2.12 Формула Эйлера. Если п — количество вершин, т —
количество ребер, г — количество граней некоторого связного плоского
графа G, то
г+п-т = 2.
Замечание. Формула Эйлера может быть применена только к пло-"
ским графам, у которых можно выделить грани.
Пример 3. Проверить выполнимость формулы Эйлера для плоского
графа G = (Ц X), V= (1, 2, 3, 4, 5, 6), Х= ((1, 2), (1,3), (1,4), (2, 3), (3,4),
(4, 5), (4, 6), (5, 6)) на рис. 2.13.
Решение. Характеристики графа следующие: п - 6, т - 8, г=4 (3 внут-
ренних грани и одна внешняя). Подставляя в формулу Эйлера, получим
4 + 6 - 8 = 2.
294
Раздел Ш. Теория графов
б) К= (1, 2, 3, 4), Х= ((1, 2), (1, 3), (1, 4), (2, 3));
в) V= (1, 2, 3, 4, 5), Х= ((1, 3), (1, 5), (2, 4), (2, 5), (3, 4), (4, 5));
г) V= (1, 2, 3, 4, 5, 6), Х= ((1, 3), (1, 4), (1, 6), (2,4), (2, 5),(3, 5),(3, 6), (4, 6)).
3. Построить матрицы смежности и инцидентности для графа из примера 5.
4. Построить матрицы инцидентности для графов, имеющих следующие
матрицы смежности:
01011 ПП1 1 01010
10101 UU1 1 ЛП1 л 10101
А = 01010 , _ U01U , . __ ’ Л 11Л1 ’ Л 01010
10101 1 1 U 1 1 Л 1 л 10101
НОЮ 1U1 и 01010
Использование графовых представлений систем позволяет более
наглядно представить их структуру, выявить свойства, пояснить методы
исследования. Рассмотрим основные виды графов и примеры их при-
менения в исследовании систем разного рода.
1.2. Деревья
ОПРЕДЕЛЕНИЕ. Связный граф, не содержащий циклов, называют
деревом. В общем случае граф без циклов (состоящий из деревьев), на-
зываются лесом. Дерево с п вершинами обозначают Т„, лес, содержащий
п вершин и А: деревьев, обозначают W к.
Пример дерева (Г9) показан на рис. 1.6, а, пример леса (1И16 3) — на
рис. 1.6, б).
а б
Рис. 1.6. Дерево идее Wl6 3
ОПРЕДЕЛЕНИЕ. Звездой называют дерево, у которого все ребра
инцидентны в одной вершине, называемой центром звезды. Ребра звез-
ды называют лучами.
Примеры звезд с количеством лучей т = 0, 1,5,8 показаны на
рис. 1.7.
330
Раздел III. Теория графов
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ТЕОРИЯ ГРАФОВ»
ВЛ.
1. Доказать с использованием матрицы смежности, что для любого полного
двудольного графа х'(^„,„) = «-
2. Будет ли планарен изображенный ниже граф? Ответ обосновать.
В. 2.
1. Построить матрицы смежности и инцидентности для графа, заданного
списками: V= (1, 2, 3,4, 5), Х= ((1, 3), (1, 5), (2,4), (2, 5), (3,4), (4, 5)).
2. Будут ли изображенные ниже графы: а) гомеоморфны, б) изоморфны? От-
вет обосновать.
В. 3.
1. Проверить планарность графа.
2. Найти хроматические числа x(Q и x'(Q и построить правильные рас-
краски с минимальными числами используемых цветов для единичного куба В\
В. 4.
1. Найти вершинное и реберное хроматические числа графа. Построить
правильные раскраски с минимальными числами используемых цветов.
292
Раздел III. Теория графов
ОПРЕДЕЛЕНИЕ. Если в множестве ребер (дуг) X есть одинаковые
элементы, то их называют кратными. Мультиграф без кратных ребер
называют графом. Ориентированный граф для краткости обозначения
называют также орграфом.
Пример 4. V= (1, 2, 3), Х= ((1, 2), (2, 3)). На рис. 1.4 показан граф и
орграф с данными множествами (И, X).
Рис. 1.4. Граф и орграф из примера 4
ОПРЕДЕЛЕНИЕ. Если вершины графа (орграфа) Vj и Г) соединены
ребром (дугой) Xt=(Vj, Уф, то их называют смежными. Вершину V, и
ребро (дугу) Xk = (Vj, Уф, образованные данной вершиной, называют
инцидентными. Степенью вершины Vназываются число d(V) ребер (дуг),
инцидентных ей. Если d(V) = 0, то вершину называют изолированной,
если d(V) = 1, то — висячей.
В примере 3 d(V{) = 2, д(Уф = 3, d(V3) = 1, вершина И3 — висячая.
ОПРЕДЕЛЕНИЕ. Рассмотрим граф G= (V, X). Граф (71 = (К1, A'j) на-
зывают подграфом графа G, если У{ с У, Х{ с X.
ОПРЕДЕЛЕНИЕ. Последовательность вершин и ребер, связываю-
щих их, называется маршрутом {путем). Число ребер в маршруте назы-
вается длиной маршрута. Маршрут, в котором все ребра попарно раз-
личны, называется цепью. Цепь, в которой все вершины попарно раз-
личны, называется простой цепью. Маршрут, в котором начальная и
конечная вершины совпадают (Vj = Уф, называется циклом. Цикл, в ко-
тором кроме Vj и Уп все вершины различны, называется простым.
В примере 3 последовательность (VjXj У2Х3 ^з) ~ маршрут из вер-
шины Vj в вершину И3.
Пример 5. К= (1,2, 3,4), Х= ((1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)).
Граф показан на рис. 1.5. Номера ребер заданы числами 1—6.
В графе выделены следующие циклы:
(Vj 1 У2 2 И3 3 У4 6 V2 1 Vj) — цикл длины 5;
(Vj 1 У2 2 У3 3 У4 4 Vj) — простой цикл длины 4.
332
Раздел III. Теория графов
В. 8.
1. Для взвешенного графа из задачи 2 В. 7 найти по методу Шимбелла сте-
пени D2, D\ D4 матрицы весов D. Определить кратчайшее расстояние между
вершинами 1 и 4, 2 и 5.
2. Найти хроматические числа %((7) и %'(0 и построить правильные рас-
краски с минимальными числами используемых цветов следующего графа: V =
= (1,2, 3,4, 5, 6, 7), Х= ((1,2), (1, 4), (1,6), (1, 7), (2, 3), (2,4), (2, 5), (2, 7), (3, 4),
(3,6), (4, 5), (4, 6), (5, 7)).
В. 9.
1. Для взвешенного графа из задачи 2 В. 7 построить по алгоритму Дейкст-
ры кратчайший путь из вершины 1 в вершины 4 и 5.
2. При каких числах вершин п число ребер в полном графе Кп будет кратно 3?
В. 10.
1. Построить матрицы смежности и инцидентности для графа, заданного
списками: И= (1, 2, 3,4, 5),2Г= ((1, 2), (1, 3), (1, 4), (2, 3), (2, 5), (3, 4), (4, 5)).
2. Найти хроматические числа х(б) и х'(О и построить правильные раскрас-
ки с минимальными числами используемых цветов следующего графа: V=
= (1, 2, 3,4,5,6),Х= ((1, 3), (1,5), (1, 6), (2,4), (2, 6), (3, 5), (4,6), (5,6)).
В. 11.
1. Найти хроматические числа x(Q и х'(6) и построить правильные рас-
краски с минимальными числами используемых цветов графа из задачи 1 В. 3.
2. Доказать, что граф К3 4 не планарен.
В. 12.
1. Построить, используя алгоритм Прима, минимальное остовное дерево в
следующем графе:
2. Доказать, что х( Д„) = 2 при любом п > 2.
В. 13.
1. Для взвешенного графа из задачи 1 В. 12 найти по методу Шимбелла сте-
пени Д2, Д3, Д4 матрицы весов Д. Определить кратчайшее расстояние между
вершинами 1 и 4, 4 и 8.
2. Построить матрицы смежности и инцидентности для графа, заданного
списками: И= (1,2,3,4,5,6), Х=((1,3), (1,4), (1,5), (1,6), (2,3), (2,4), (2,6),
(3,4),(3, 5), (4, 6),(5, 6)).
Раздел III
ТЕОРИЯ ГРАФОВ
На начальных этапах анализа и синтеза многие системы зачастую
представляют в виде набора некоторых объектов, соединенных между
собой связями. Теория графов изучает общие свойства таких структур.
ГЛАВА 1
ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ ГРАФОВ.
ПРИМЕРЫ ЕЕ ПРИМЕНЕНИЯ
1.1. Псевдографы, графы, способы их задания
Рассмотрим некоторое множество элементов вида V\ (i= 1, ..., п) и
производное от него множество Xпар элементов из Vвида (Р', Vj), где
(1 <i,J<n).
ОПРЕДЕЛЕНИЕ. Элементы множества V называют вершинами.
Если порядок следования элементов в парах Х= {(Vh ty, (1 < i, j < n)} не
зафиксирован, то такие пары называют ребрами, а совокупность G =
= (V,X) — неориентированным псевдографом. В том случае, когда все па-
ры X упорядочены, их называют дугами, а совокупность G=(V,X) —
ориентированным псевдографом.
Для краткости прилагательное «неориентированный» в названиях
будет опускаться. Графически вершины обычно изображают точками
или окружностями малого диаметра, ребра — линиями, дуги — однона-
правленными стрелками.
ОПРЕДЕЛЕНИЕ. Если элементам-ребрам (элементам-дугам) Xtj =
= {(Р/, ^)} псевдографа G = (V,X) присвоены некоторые числовые зна-
чения бу (1 < i, j < п), называемые весами ребер (дуг), то псевдограф на-
зывают взвешенным.
Также веса ребер или дуг называют расстояниями. Множество всех
весов задают матрицей D размером п х п, а весь взвешенный псевдограф
обозначают как G = (V, X, D).
Пример!. Псевдограф задан множествами V= (1,2,3); .¥=((1,1),
(1, 1), (1, 2), (1, 2), (2, 3), (3, 3), (3, 3)). Графическое изображение псев-
дографа дано на рис. 1.1.
334
Раздел HI. Теория графов
В. 18.
1. Построить матрицу инцидентности для графа, имеющего следующую
матрицу смежности
001110
001101
110100
111010
100101
010010
2. Будет ли планарен граф? Ответ обосновать.
В. 19.
1. Построить матрицы смежности и инцидентности для следующего графа:
2. Найти хроматические числа %(G) и %'(G) и построить правильные рас-
краски с минимальными числами используемых цветов графа из задачи 2 В. 7.
В. 20.
1. Построить, используя алгоритм Прима, минимальное остовное дерево в
следующем графе:
2. Выяснить планарность графа из задачи 1 В. 4.
В. 21.
1. Для взвешенного графа из задачи 1 В. 20 построить по алгоритму Дейкст-
ры кратчайший путь из вершины 1 в вершины 5 и 8.
2. Найти максимальный поток в заданной сети, имеющей два источника и
два стока. Определить остаточную пропускную способность дуг сети.
288
Раздел И. Математическая логика
кам, обе построены на булевых алгебрах. Однако различный физиче-
ский смысл предметных множеств, логических функций и введенных
элементарных функций приводит к тому, что данные теории имеют
довольно существенные различия.
Рис. 7.5. Классификация логических теорий
Элемен-
тарные
логики
Логики
первого
порядка
Логики
второго
порядка
В науке основополагающая роль логики заключается в формализа-
ции знаний, в процессе которой систематизируются соответствующие
факты, явления и закономерности, выявляется общность методов
исследования в различных дисциплинах, границы применимости тео-
рий и т. д.
Как показано на примере булевых алгебр, выяснение общности
(эквивалентности) применяемых в разных научных теориях логических
систем либо их отдельных частей позволяет обоснованно переносить
результаты из одной теории в другую с применением соответствующей
их интерпретации.
Зачастую выяснение формальных логических связей между объек-
тами, явлениями позволяет яснее увидеть объективно существующие
связи между ними.
Раздел IV
ОСНОВЫ ТЕОРИИ КОНЕЧНЫХ АВТОМАТОВ
ГЛАВА 1
ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ
Исторически первыми автоматами были механические устройства,
выполнявшие некоторые действия без участия человека. Функции
управления в них, как правило, выполнялись при помощи разного рода
кулачковых механизмов.
Под автоматами в современной трактовке данного термина обычно
понимают:
1) реальные физические устройства, осуществляющие преобразова-
ние информации, энергии, веществ без непосредственного участия че-
ловека;
2) программы, управляющие работой ЭВМ либо других специали-
зированных вычислительных устройств, входящих в состав систем
управления роботами.
С точки зрения изучения свойств и основных закономерностей
структуры и функционирования автоматов оба определения равно-
сильны в том смысле, что работа автомата в самом общем виде может
быть рассмотрена как процесс преобразования некоторой входной ин-
формации в требуемую выходную.
Дискретность означает, что
1) входы, выходы и внутренние состояния автомата являются дис-
кретными множествами;
2) срабатывание автомата происходит теоретически мгновенно в
дискретные моменты времени ••• (начальный момент, предшест-
вующий работе, обозначается /0).
При цифровой физической реализации дискретность автомата со-
храняется: он состоит из некоторых неделимых элементов, соединен-
ных между собой связями. Элементы принимают конечное число со-
стояний, обычно два: «включен/выключен» в механических системах,
«высокое/низкое напряжение» — в электрических и т. д.
Конечность означает, что автомат имеет ограниченную физическую
структуру, т. е. мощности множеств входов, выходов и внутренних со-
стояний автомата конечны.
ЗАКЛЮ ЧЕНИЕ К РАЗДЕЛУ
«МАТЕМАТИЧЕСКАЯ ЛОГИКА»
Основными побудительными причинами, приведшими к выделе-
нию логики в самостоятельную научную отрасль, стали:
1) необходимость непротиворечивого построения основ математи-
ки как одного из возможных способов познания окружающей действи-
тельности;
2) потребность в обосновании методов рассуждений, применяемых
как в научных дисциплинах, так и обыденной практике.
При получении нового знания в логике используют как аксиомати-
ческий, так и конструктивный подходы. Аксиоматический метод, при-
меняемый в исчислениях, предполагает дедуктивный способ формаль-
ного вывода следствий из аксиом теории при помощи заданного набора
правил преобразования символьной информации. Он помогает лучше
понять внутренние связи между базовыми и производными объектами
теорий, однако не всегда удобен при решении практических задач.
Среди аксиоматических теорий можно выделить предметные, пред-
назначенные для исследования заданных объектов и операций с ними
(например, исчисление высказываний), а также универсальные, у кото-
рых формально вводимое множество обезличено (исчисление предика-
тов), что позволяет применять эти теории в качестве логической осно-
вы в различных дисциплинах.
Конструктивный подход предполагает формализацию некоторого
заданного набора объектов и операций над ними. Например, совокуп-
ности всех множеств с введенными на них предметными и логическими
операциями, высказываний с логическими связками и т. д. Это позво-
ляет совмещать формальные методы преобразования информации об
объектах (использование их символьных отображений и методов их
изменения) с конструкциями, существенно учитывающими свойства
предметного множества и операций на нем — диаграмм Венна, таблиц
истинности и др. Данный подход обычно более нагляден. Он отражает
индуктивный способ познания — от частному к общему. Осмысление
338 Раздел IV. Основы теории конечных автоматов
Автоматы второго рода всегда могут быть представлены в виде эк-
вивалентных им автоматов первого рода при помощи следующей под-
становки:
до = Л0(0, до) = ДС(2(?/-1), ДО). ДО) =^'((2(^-1), *(',))•
ОПРЕДЕЛЕНИЕ. Автоматами Мили называют автоматы первого
рода.
Автоматами Мура называют автоматы второго рода, у которых
функция выходов явно не зависит от входа:
Д0 = Д2(0)-
Структура и схема функционирования любого автомата в графиче-
ском виде может быть задана при помощи графа переходов, который
также называют диаграммой Мура (диаграммой переходов).
ОПРЕДЕЛЕНИЕ. Графом переходов {диаграммой Мура) автомата
Мили называется ориентированный граф, в котором множество вершин
соответствует множеству всех возможных внутренних состояний авто-
мата; значения входов и выходов показаны на ориентированных ребрах
(дугах), которые показывают направление переходов. Выходы задают
после разделительной линии либо в скобках. Начальное состояние
инициального автомата отмечается звездочкой.
В качестве входов и выходов у реальных автоматов может использо-
ваться самая различная информация, например звуковая или зрительная.
Рассмотрим примеры построения графов переходов.
Пример 1. На вход автомата поступает, по одному, случайная после-
довательность из символов а и Ь. Ввести множества Q, X, Z и построить
граф переходов для автомата, заменяющего текущий символ У(/,)
{а -> Ь, Ь -> а) в том случае, когда предыдущий символ Д^_1) был равен
Ь, и сохраняющего текущий символ при предыдущем а. Первый посту-
пающий символ сохраняется.
Решение. Множество возможных входов Х={а,Ь}. Множество воз-
можных выходов Z=X. Внутренние состояния предназначены для за-
поминания необходимой информации. Поскольку для изменения те-
кущего входного символа необходимо помнить предыдущий, то для
запоминания полученного в предыдущий момент времени /,_] символа а
вводим состояние Qa, а для запоминания b — состояние Qb. Следова-
тельно, множество возможных внутренних состояний Q = {Qa, Qb}. Т. к.
первый получаемый символ не инвертируется, то начальным состояни-
ем принимаем Qa.
Построение графа переходов начинаем с размещения его вершин, обо-
значающих все возможные внутренние состояния Q={Qa, Qb} (рис. 1.1).
284
Раздел II. Математическая логика
2. Доказать справедливость тавтологий
(В = С) = (В -> С) & (С -> В) и (5 -> о = (-, В о,
используемых при построении пренексных форм.
В. 13.
1. Представить в скулемовской форме формулу
-1 3 х 3 у (А(х, у) & -> 3 х В(х)) & -> 3 х -> У у 3 z V и С(х, у, z, и).
2. Построить собственный пример невыполнимого множества дизъюнктов,
содержащего три предиката.
В. 14.
1. Представить в скулемовской форме формулу
3 х V у Ум-, А(х, у, z, и) v 3 х -> Чу В(х, у, z, и).
2. С помощью принципа резолюции доказать невыполнимость и построить
дерево вывода для дизъюнктов
S={Pv-iQv R, P v R. Q,-<R}.
В. 15.
1. Представить в скулемовской форме формулу
-> 3 х Vу -> V zА(х, у, z) = -13 х Чу В(х, у, г).
2. При помощи построения семантического дерева проверить невыполни-
мость следующего множества дизъюнктов:
5= {Р у Q у R, Р v R, Q, R, Р v R}.
В. 16.
1. Представить в скулемовской форме формулу
-1 Чу 3zA(x, у, z)&(4x (ЭуА(х, y,z)-+4z В(х, у, г))).
2. При помощи построения семантического дерева проверить невыполни-
мость следующего множества дизъюнктов: 5 = (£)(х, а), Р(у), Р(Ъ)}.
В. 17.
1. Представить в скулемовской форме формулу
-> (А(х, у) v V х 3 z -1 В(х, у, ?)) = 3 х Уу С(х, у, и).
2. Проверить наличие склеек у дизъюнктов и построить их:
Q(x, у) v Q(y, Да)) v Q(z, и).
В. 18.
1. Представить в скулемовской форме формулу
ЧхЧу 3 г (А(х,у) -> В(х, г)) &3 гС(х,у, г).
2. При помощи построения семантического дерева проверить невыполни-
мость множества дизъюнктов 5= (Р(у), -> Р(Дс)), -> Q(x)}.
В. 19.
1. Представить в скулемовской форме формулу
-> V х 3 у А(х, у, z) & -1 3 х Ч у В(х, у) -> 3 х V у С(х, у).
2. Проверить наличие склеек у дизъюнктов и построить их:
Р(х) v (ДДа)) v Р(Да)).
В. 20.
1. Представить в скулемовской форме формулу
Vх(Р(х,у, z) ->Q(x)) &Bx(-i4zР(х) v2(г)).
340 Раздел IV. Основы теории конечных автоматов
Вершины графа переходов обозначают все его возможные внутрен-
ние состояния Q (рис. 1.2). Начальное состояние 0ОЖ обозначаем звез-
дочкой. Построим функции выходов и переходов.
Рис. 1.2. Граф переходов автомата из примера 2
Вначале рассмотрим дуги, выходящие из вершины £?ож. Если при
Q = бож получены символы «0» или «1», то они могут быть началом до-
пустимой записи суммы. Их необходимо запомнить путем перехода в
соответствующее состояние (0П или Qt). При получении символа «+»
следует остаться в том же состоянии 0ОЖ. На всех трех дугах, выходящих
из вершины 0ОЖ, ставим выход 0, поскольку не получено полной запи-
си суммы.
Рассмотрим построение дуг, выходящих из вершин Qo и 0,. При по-
лучении символа «+» необходимо перейти соответственно в состояния
0о+ и 0i+- Если же получены цифры «0» или «1», то необходимо запом-
нить их, перейдя в состояния 0О или 01( поскольку они могут быть на-
чалом новой допустимой записи суммы. На всех дугах, выходящих из
вершин 0О и 0Ь ставим выход 0, поскольку на входе еще не получено
полной записи суммы.
Построим дуги, выходящие из вершин 0О+ и 01+. При получении
символа «+» необходимо перейти в состояние 0ОЖ и выдать пустой сим-
вол, поскольку последовательности «0++» и «1++» не являются допус-
тимыми. Если же получены цифры «0» или «1», то необходимо запом-
нить их, перейдя в состояния 0О или 01; как возможное начало новой
допустимой записи суммы, а в качестве выходов обозначить соответст-
вующее значение суммы полученных символов.
282
Раздел II. Математическая логика
Правила, по которым производится удаление дизъюнктов, называ-
ются стратегией вычеркивания. В процессе порождения дизъюнктов
вычеркиваются все тавтологии и наддизъюнкты.
Проверка тавтологичное™ дизъюнкта сводится к проверке наличия
в нем контрарных пар литер (одинаковых, но отличающихся наличием
отрицания).
Проверка поглощения дизъюнктов сложнее, т. к. само определение
свойства дано через некоторую подстановку, существование которой
для сложных дизъюнктов неочевидно.
Стратегия вычеркивания сохраняет полноту метода резолюции при
значительном сокращении объема необходимых выкладок.
Наряду с рассмотренной применяется еще целый ряд разновидно-
стей и модификаций метода резолюции, назначение которых — уско-
рить вывод пустого дизъюнкта в случае невыполнимости исходного
множества дизъюнктов.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ПРОБЛЕМА РАЗРЕШИМОСТИ.
ТЕОРИЯ АВТОМАТИЧЕСКОГО ВЫВОДА»
В. 1.
1. Представить в скулемовской форме формулу
Vx Vу (Р(х, у) -> 0(х)) —> Vy 3 z R(x, у, z).
2. С помощью принципа резолюции доказать невыполнимость и построить
дерево вывода для дизъюнктов S={PvQv R, -<PvR, — Q, -i К}.
B.2.
1. Представить в скулемовской форме формулу
Vх Vу (А(х, у) & Vх 5(х)) —> 3 х Vу 3 z V и С (х, у, z, и).
2. С помощью принципа резолюции доказать невыполнимость и построить
дерево вывода для множества дизъюнктов 5= (Р v Q v R, -> Р v R, -> Q, -i R}.
B. 3.
1. Представить в скулемовской форме формулу
->3xVy3zVu R(x, у, z, u) = 3х V уЛ(х, у) & -,3xVyP(x, у).
2. С помощью принципа резолюции доказать невыполнимость и построить
дерево вывода для множества дизъюнктов 5= (P,Qv R, Р v -> R.-^Q v R}.
В. 4.
1. Представить в скулемовской форме формулу
-> Vx 3 уА(х, у) —> —i 3 х Vу((Р(х,у) = С(х, у)).
342 Раздел IV. Основы теории конечных автоматов
9. Для входа из задачи 2 распознающий автомат по парам значений вход-
ных элементов (Д^), X(t2)}, {X(t2), -¥(/3))}, {X(J3), X(t4)},... должен выдавать сле-
дующие выходные: 00—>0, 01—11—>3. Принять, чтоX(t0) = 0.
10. Модифицировать автомат Мили из задачи 9 так, чтобы он распознавал
требуемым образом только непересекающиеся подряд идущие парные комби-
нации из нечетного и четного входных элементов (Д^), X(t2)}, {X(t3), Д/4))},
(ДГ5),ДГ6)},{ДГ7),ДГ8)},....
1.2. Таблица состояния автомата
Рассмотрим наряду с графом переходов табличный способ задания
автоматов. Обозначим текущий момент времени через а предыдущий
момент времени через
ОПРЕДЕЛЕНИЕ. Таблицу, в которой перечислением задают функ-
ции выходов F и переходов G автомата, называют таблицей состояний
автомата. Ее входными переменными являются элементы декартова
произведения (Zx Q), описывающие все возможные сочетания входов и
внутренних состояний автомата, при этом вход задается в текущий мо-
мент времени а внутреннее состояние — в предыдущий момент вре-
мени Выходными данными таблицы являются значения Z, Q в те-
кущий момент времени ф Для инициального автомата начальные со-
стояния указывают отдельно.
Пример. Построить таблицу состояний для автомата, рассмотрен-
ного в примере 1 п. 1.1 (рис. 1.1).
Решение. X = Z= {a, b}, Q = {Qa, Qb}. Упорядочивая в лексикографи-
ческом порядке все возможные сочетания (Д, Q,), получим входные
столбцы таблицы. В выходных столбцах будут находиться соответст-
вующие им значения функций выходов Z (Д, Qj) и переходов Q (Xh Qj),
которые переносим из графа переходов (рис. 1.1).
Ответ: искомая таблица состояний имеет вид
ДО ZQ,) QM
а Qa a Qa
а Qb b Qa
ь Qa b Qb
ь Qb a Qb
Замечание. В случае применения числовых кодировок входов, вы-
ходов и внутренних состояний автоматов в двоичной (многозначной) сис-
теме, таблица состояний будет соответственно таблицей истинности неко-
торых функций в алгебре логики (многозначной логике). Данные функции,
как правило, являются частично определенными.
280
Раздел II. Математическая логика
отрицания либо с отрицанием). Если для множества выражений Е =
= {Е^, Е2,Ек} существует наибольший общий унификатор ст, то мно-
жество литер {Ест} называется склейкой для Е>,.
Пример?. Построить склейку для дизъюнкта D.= Р(х) v P(f(y)) v
Ptf(a))vQ(y).
Решение. Одинаковыми являются первая, вторая и третья литеры.
Е= {х,Ду),Да)}. Наиболее общий унификатор ст = {a/y,f{a)/x}. Dp =
= Р(ЛаУ) v P(f(a}} v Р(Ла)) v Q(a) = Р(/(а)) v Q(a) .
Ответ: склейкой для рассмотренного дизъюнкта является множе-
ство литер 2(a)}.
Если в результате склейки в До осталась одна литера, то она назы-
вается единичной.
Задачи
1. Построить примеры дизъюнкта Д = Р(х) v Q(y, f(z)) v R{u, g(x)), получен-
ные в результате применения подстановок:
а) 0 = {а/х, b/z,f(a)/u\: б) А = {у/х, z/y}: в) ст = {g{a)/x, g(z)/y, a/z}.
2. Найти композицию подстановок:
а) 0 = {с/х, f{z)/y, y/z] и А = {b/x, z/y, g{x)/z}:
б) 0 = {а/х, z/y}w'k~ {у/х, b/z, g(a)/z}’,
в) 0 = {у/х, z/y, b/z} и А = {а/х, x/y,f{c)/z}.
3. Построить пример коммутативных подстановок. Доказать некоммута-
тивность подстановок в общем случае.
4. Выяснить унифицируемость множеств. В случае положительного ответа —
определить наиболее общий унификатор:
а) {Л*)> Ла). Р(Ь)}: б) {Р(х), Р(у), Р(Ь)}: в) {Q(x,y), Q(x, b), Q(z,y)};
г) {Q{a, b), Q{x, y), Q(x, с)}; д) {Q(x, y), Q(x,f{a, b)), Q(a, г)}.
5. Проверить наличие склеек у дизъюнктов и построить их:
а) Р(х, a) v Р(у, b) v Q(z); б) Р(х) v Р(а) v Q(y,/(x)) v Q(y,f{a))-,
в) P(x) v Q(f{a)) v P(f(a)): r) Q(x, y) v 2(у,Да)) v Q(z, u).
7.5.3. Правило и метод резолюции в теориях первого порядка
ОПРЕДЕЛЕНИЕ. Рассмотрим дизъюнкты и D2, называемые
посылками. Dx и Е>2 не должны иметь общих переменных. Под дизъюнк-
том D'x будем понимать либо его склейку Dxa, под D'2 — либо D2, ли-
бо его склейку D2a. Если литеры eDl и -> L2eD2 имеют наибольший
общий унификатор о', то дизъюнкт D = v (Z>'2\-i L2a’) назы-
вают резольвентой или заключением посылок Dx и D2. Литеры Lx и Ь2
называют отрезаемыми.
Понятия резолютивного вывода и доказательства невыполнимости
множества дизъюнктов путем вывода из него пустого дизъюнкта такие
же, каки для ИВ.
344 Раздел IV. Основы теории конечных автоматов
можных входов X, поступающих на вход автомата в моменты времени
t2,tk. Множество всех таких слов обозначим через Хк. Множество
всех входных слов конечной длины обозначим через У. По аналогии
множество всех возможных выходных слов конечной длины обозначим
Z, множество всех возможных выходных слов длины к — Zk.
Многие свойства автоматов наиболее просто иллюстрируются на
автономных автоматах, у которых множество входов X состоит из од-
ного элемента а (|Х| = 1), и соответственно все множества Хк имеют
один элемент ак.
Рис. 1.3. Граф переходов автономного автомата
На рис. 1.3 дан граф переходов автономного автомата с одноэле-
ментным входомХ= (а), Рвнутренними состояниями Q = (Qt, Q2,..., QP)
и множеством возможных выходов Z=(y,z).
У автономных автоматов обозначения входа на дугах перехода мож-
но опустить.
Очевидно, что конечный результат работы автомата А в общем слу-
чае зависит не только от того, какое слово X подано на его вход, но и
от начального состояния автомата б(/0).
ОПРЕДЕЛЕНИЕ. Выходным словом Z(X, Q(t0)), соответствующим
входному слову X длины к и начальному состоянию автомата Q(t0), на-
зывается последовательность элементов из множества возможных вы-
ходов Z, поступившая на выход автомата в моменты времени t2,..., tk.
Зависимость Z(X, Q(t0)) задает автоматное отображение из множе-
ства возможных входов X в множество всех возможных выходных слов
Z. Основные свойства этого отображения следующие.
1. Свойство сохранения длины. Входное X и выходное Z = Z(X, Q(t^)
слова имеют одинаковую длину по количеству входящих в них элемен-
тов множеств X и Z. При этом один элемент в данных множествах мо-
жет кодироваться несколькими символами, поэтому с точки зрения
кодирующих символов входное и выходное слова могут иметь различ-
ную длину.
278
Раздел II. Математическая логика
j = 2: е12 = е32 = У, е22 =Да), => подвыражения с индексом j = 2 не сов-
падают;
j = 3: е13 = е23 = е33 = z, => подвыражения с индексом j = 3 совпадают;
У = 4: е14 = и, e24 = g(z), e34 = g(x), => подвыражения с индексом j = 4 не
совпадают.
Ответ: подвыражения, стоящие на первых и третьих позициях,
совпадают, а на вторых и четвертых позициях — не совпадают.
ОПРЕДЕЛЕНИЕ. Рассмотрим множество выражений Е'={£’1,£’2,
..., Ек} следующего вида:
^1 = ^1(ец>е12, -,еь);
£2 = £2(е21, е22,..., e2i);
^к = ^l(ekl> ек2’ •"> eks)-
Множеством рассогласований Dj множества выражений Е называют-
ся несовпадающие подвыражения еу1, е]2,.... ejk с минимальной величи-
ной индекса у. Если для всех индексов 1 <j<s подвыражения совпада-
ют, то множество рассогласований множества выражений Е принимаем
равным нулю: Dj = Z>.
Для множества Е = {Р(х, у, z, и), P(x,f(a), z, g(z)~), Р(х, у, z, g(y))} из
примера 5 множеством рассогласований будет Z>2 = {y,f(a}}. Рассмотрим
на этом множестве Е, каким образом можно, последовательно устраняя
рассогласования, унифицировать все множество.
1. Вначале множество рассогласований равно D2 = {y,f(a)}. Его
можно унифицировать при помощи подстановки 0 = {J{a)/y} на множе-
стве Е. После применения 0 получим
^0 = Р(х,Да), Z, и), Е2В = P(x,f(a), z, g(z)), E3Q = P(x, fta), z, g(Aa)).
2. Для индексов J= 1,2,3 подвыражения совпадают. Множество
рассогласований равно Д4 = {и,g(z),g(/(a))}. Его можно унифицировать
при помощи подстановки 02 = {fla)/z, g(f(a))/u} на множестве Е. После
применения 02 получим
Л,002 = P(x,f(a),f(a),g(f(a))), Е2002 = Р(х, Да), Да), ^(Да))),
Д3002 = Р(х, Да), Да), g(/(a))).
Таким образом, множество Е унифицируемо, и найденный унифи-
катор имеет вид
9 ° 02 = {Да)/У,fia)/z,gif{a))/u}.
В общем случае для определения унифицируемости множества вы-
ражений Е и нахождения наиболее общего унификатора (если он суще-
ствует) применяется алгоритм унификации.
346
Раздел IV. Основы теории конечных автоматов
выходных слов назовем соответственно для фиксированного состояния
и всего автомата реакциями глубины к и будем обозначать через A(Q/, Хк)
пА(Хк).
На практике реакции глубины к состояний Q, автомата А можно
представить в виде таблицы, у которой слева перечислены все входные
слова из множества Хк, а справа в соответствующих колонках — иско-
мые реакции A(Qh Хк) глубины к для всех внутренних состояний авто-
мата Qj. Для краткости данную таблицу будем называть таблицей реак-
ций состояний автомата глубины к.
Пример 2. Построить для автомата из примера 1, заданного графом
переходов (рис. 1.4), таблицы реакций состояний глубины 1 и 2 .
Решение. Построим таблицу реакций глубины 1. Для этого в левом
столбце перечислим все возможные входные слова длины 1 (это а и Ь),
справа приведем соответствующие реакции глубины 1 состояний авто-
мата Qlt Q2, Q3. Т. к.
Таблицу реакций состояний глубины 2 строим аналогично. В левом
столбце перечисляем все возможные входные слова длины 2, а справа
соответствующие им реакции глубины 2 при начальных состояниях
автомата Qlt Q2, Q2.
X2 = {X(tl)X(t2)} Z2 = {Z{QZO2)}
Q, q2 03
аа ZX xz xz
ab zy xz xz
Ьа zz yx XX
bb zz УУ xy
Ответ: построенные таблицы описывают искомые реакции со-
стояний глубины 1 и 2 для автомата из примера 1.
276
Раздел П. Математическая логика
юнкту была применена подстановка X = {и1/у1,ит/ут}. В итоге ее
применения: а) все переменные (у15 ...,ут) были заменены термами (мь
ит); б) термы из (fb...,/„), которые входят в множество (у1г ...,ут),
также были заменены термами (иь ит). Результат второй подстанов-
ки обозначим через (/Д,Г„Х). При последовательном применении 6,
а затем X возможно появление тождественных элементарных подстано-
вок, при которых /Х = х,-. Например, подстановка 0 содержит элемен-
тарную подстановку {у/х}, а X — элементарную подстановку {х/у}.Тогда
при последовательном применении 0 и X появится элементарная тож-
дественная подстановка {х/х}.
Если в подстановки 0 и X входят одинаковые предметные перемен-
ные х, и у7- (х,= уу), то при второй подстановке X элементарная подста-
новка Иу/у,- уже не будет «срабатывать», поскольку все элементы у7 уже
будут заменены при первой подстановке.
ОПРЕДЕЛЕНИЕ. Если первой была применена подстановка 0, а
второй подстановка X, то их композицией (0 ° X) называют подстановку,
выполняющую сразу те же замены, что и при данные подстановки при
последовательном применении.
Утверждение. Композиция (0 ° X) подстановок 0 = {tjxr,..., tn/xn} и
Х = {и{/У\,..., ит/Ут} может быть получена из подстановки {ZjX/xj, ...,
Г„Х/х„, их/уь..., ит/ут} вычеркиванием:
а) всех элементарных подстановок t/k/xf, у которых /X = х, (тождест-
венных);
б) всех элементарных подстановок и7/уу, у которых Ууе(хь ...,хя)
(т. е. таких элементарных подстановок, которые не будут применяться
во второй подстановке X вследствие того, что элементы уу уже изменены
первой подстановкой 0). Справедливость утверждения следует из сде-
ланных выше замечаний.
Пример 3. Построить композицию (0 ° X) подстановок 0 = {у/х, z/y,
f(a)/z} и X = {b/z, х/у}.
Решение. Т. к. уХ = х, zX = b, а кДа) подстановка X не применима, то
{^Х/хр .... /яХ/хя, и^ур ..., ит/ут} = {х/х, b/y,f(a)/z, b/z, х/у}.
Вычеркиваем первую элементарную подстановку х/х (тождествен-
ную), а также четвертую и пятую b/z, х/у, которые не участвуют во вто-
рой подстановке X из-за того, что переменные z, у изменены в первой
подстановке.
Ответ-. (0 ° X) = {b/y,f(a}/z}-
348
Раздел IV. Основы теории конечных автоматов
1.4. Свойства классов Л-эквивалентности. Построение
сокращенных автоматов
Для построения итоговых классов эквивалентности множества со-
стояний автомата {0} и последующего их сокращения могут быть ис-
пользованы классы А:-эквивалентности {Q]k при различной глубине ре-
акций к (к = 0, 1, 2,...). Рассмотрим свойства классов А-эквивалент-
ности состояний автомата.
1. При любых к> 0 справедливо: {2}*+1 с {Q}*.
Данное свойство очевидно, поскольку из совпадения реакций
A(Qj, Xk+l) длины к + 1 для любых состояний 2, вытекает совпадение и
более коротких реакций A(Qit Z*) длины к. Из свойства 1 вытекает, что
при увеличении глубины к классы ^-эквивалентности множества {2}
могут распадаться (расщепляться) на более мелкие, либо сохраняться
(стабилизироват ься).
2. Если для некоторого £> О выполняется условие {2}^+1 = {Q}k (т. е.
все классы А>эквивалентности стабилизировались), то равенство {2}/ =
= {2}* будет выполняться и для всех значений глубины 1>к+ 1. Это озна-
чает, что с ростом к стабильность классов ^-эквивалентности сохранится.
Доказательство. Достаточно доказать, что из условия {0}fc+1 = {2}fc
для любого к>0 вытекает справедливость утверждения {Q}k+2 = {2}fc+1-
По определению ^-эквивалентности для этого необходимо доказать,
что для: 1) любых двух (к + ^-эквивалентных состояний Qit Qj (входящих
в некоторый класс (к+ 1)-эквивалентности и взятых качестве
начальных) и 2) любого входного слова X = (X(t\), X(t2),..., X(tk+2)) дли-
ны £+2 соответствующие им выходные слова Z(X, Qt) uZ(X,Qj) будут
совпадать.
Рассмотрим работу автомата в момент времени t}. При начальных
состояниях Qi, Qj функция выходов У7 даст некоторые одинаковые эле-
менты Zp
F. (ОД, £) = Z(r1); F: (X(t{), Qj)=Z(tl).
Функция переходов G выдаст соответственно некоторые значения
состояний:
G: (X(t{), 2,) = Q(X(tx)„ 2,); G- (X(t{), Q}) = Q(X(t{), QJ).
Новые состояния 2(ДО> Q) И QCWi), Qj) будут ^-эквивалентными,
поскольку начальные состояния 2<> Qj являются (к+ ^-эквивалентны-
ми. При этом, возможно, состояния 2(AVi), Qi) и 2(Ж)> Qj) будут со-
вместно входить в некоторый класс ^-эквивалентности Qk,r, отличный
274
Раздел II. Математическая логика
Пример 1. Доказать при помощи метода резолюций невыполни-
мость множества дизъюнктов 5 = {Р, Q, Р v -> Q}.
Решение. 1) резольвента Q и -> Р v -> Q равна Р; 2) резольвента Р и
-1Р равна D. Следовательно, построен резолютивный вывод {Р,
Pv -iQ,-iQ, О} пустого дизъюнкта из S, что доказывает невыполни-
мость S.
Обозначая применение правила резолюции в виде пары ребер, со-
единяющих исходные дизъюнкты с их резольвентой, резолютивный
вывод можно изобразить в виде дерева вывода. В примере 1 дерево вы-
вода дано на рис. 7.4.
Р Q -Py-Q
Рис. 7.4. Дерево вывода из примера 1
Задачи
1. Доказать принцип резолюции в ИВ.
2. Доказать при помощи принципа резолюции невыполнимость и постро-
ить соответствующие деревья вывода для множеств дизъюнктов:
a) {PvQ, PvQ, Р v—i Q, Pv-, Q}; 6) {Pv-, Qv-, R, Pv-, R, Q, R};
в) {-> P v Q, 2 v R, P v Q, R}; г) {P, Q v R, P v R, Q v P };
д) (Pvg v A,P vP,-> 2,-i A},
e) {PvPv2,-,2,-iPv2,-lP,-’fvP);
ж) {5,-,PvPv-,5,Pv-,5,-,P,}.
7.5.2. Операции подстановки, унификации и склейки
В ИВ литеры дизъюнктов в конкретных интерпретациях являют-
ся логическими константами, поэтому поиск контрарных литер прост.
В теориях первого порядка, где в качестве литер выступают предикаты,
являющиеся логическими функциями от констант, предметных пере-
менных и функций, поиск контрарных литер усложняется.
Рассмотрим множество дизъюнктов S. Поскольку невыполнимость
5 доказывается сразу для всех возможных интерпретаций, то для полу-
чения контрарных пар литер в дизъюнктах 5 (и соответственно получе-
ния резольвент) можно использовать дизъюнкты не только в их исход-
350
Раздел IV. Основы теории конечных автоматов
2. Т. к. предельная глубина, на которой может быть получено расщеп-
ление классов эквивалентности состояний автомата, равна k = P- 1, то при
к>Рразбиение классов эквивалентности остается стабильным всегда.
Из рассмотренных свойств классов ^-эквивалентности вытекает
простейший алгоритм построения сокращенных автоматов, который
заключается в последовательном определении классов эквивалентно-
сти {Q}k до тех пор, пока их структура не стабилизируется.
Пример 1. Произвести сокращение автономного автомата, граф пе-
реходов которого дан на рис. 1.3 в п. 1.3.
Решение.
k=l. A(Qh a) = A(Q2, а) = ... =A(QP_l, а) = у, A(QP,a)=z, следова-
тельно, {£?}1 = {(01; Q2,..., Qp-J, (QP)}.
к=2. A(Ql,a)=A(Q2,a)-...= A(QP_2, а) = уу, A(QP_, ,a)=zy, A(QP, а) =
= {01 = {(Gn Q2,0Р_2), (Qp^), (QP)}.
k=3. A(Qh a) =A(Q2, a) = ... = A(QP_3, a)=yyy, A(QP_2, a) = zyy, A(QP_{, a) =
=yzy, A(Qp, a) =yyz, {Q}3 = {(21; Q2,.... QP.3), (QpJ, (QPj, (QP)}.
k = P-1. A(Qlt a) =yp~', A(Q2, a)=zyp~2, A(Q3, a) =yzyp~3, ..., A(QP, a) =
=yp'\ {<2}= {(Qi), (62), .... (0p_i)> (Gp)}-
Ответ: получено разбиение на классы для предельной глубины
(Р- 1), при котором каждый класс эквивалентности содержит одно со-
стояние. Следовательно, автомат является сокращенным и не имеет
эквивалентных состояний.
Пример 2. Произвести сокращение автомата, граф переходов кото-
рого дан в примере 1 п. 1.3.
Решение. Определим разбиение множества внутренних состояний
автомата на классы эквивалентности. Из таблиц реакций глубины 1 и 2,
построенных в примере 2 п. 1.3, следует, что {Q}1 = {Q}2 = {(Ql), (Q2, Q3)}-
По следствию 1 из свойства 2 разбиение {Q}1 ~{Q}2 на классы эквива-
лентности {Q} = {((?!), (Q2, <23)} является искомым.
Заменяя состояния Q2, Q3 одним состоянием Q2, получим сокра-
щенный автомат с двумя внутренними состояниями, эквивалентный
исходному автомату. Его граф переходов дан на рис. 1.5.
Рис. 1.5. Граф переходов сокращенного автомата из примера 2
272
Раздел 11. Математическая логика
Алгоритм проверки невыполнимости формул при помощи
семантического дерева
1. Формулу В представляют в виде пренексной нормальной формы В'
с матрицей Л/-конъюнкцией дизъюнктов.
2. Путем устранения кванторов существования В' приводят к ску-
лемовской форме, бескванторная часть которой рассматривается как
множество дизъюнктов S.
3. Строят эрбрановский универсум H(S), эрбрановский базис Л.
4. Строят семантическое дерево по уровням. В каждом из них про-
изводят проверку узлов j на опровержимость (будут ли интерпретации /(/)
опровергать хотя бы один дизъюнкт Z), из 5).
Если узелJ является опровержимым, то узел отмечают и дальнейшее
построение дерева из него прекращают.
Если узел j не является опровержимым, то построение дерева из
него продолжается.
5. Если на некотором шаге все построенные концевые узлы оказа-
лись опровержимыми и дальнейшее построение дерева оказалось не-
возможным, то множество дизъюнктов S, а следовательно и исходная
формула В — невыполнимы.
Если построение семантического дерева продолжается, то на во-
прос о невыполнимости 5 нельзя дать ни положительный, ни отрица-
тельный ответ.
Задачи
1. При помощи построения семантического дерева проверить невыполни-
мость следующих множеств дизъюнктов:
а) (Р(х), -п Р(Ла))}; б) {Р, Р v Q, Q};
в) (PvPvG,-,2,-.PvQ,-,Р, vPvP};
г) {S,-,PvRv-,S,Pv-,S,~, R};
д) {Р(х), Р(х) v Q(x, а), Q(y, а)}; е) {Р(х), Р(х) v <2(/U))}.
7.5. Метод резолюций
После появления ЭВМ метод, основанный на теореме Эрбрана,
был использован для практической проверки общезначимости формул
(путем проверки невыполнимости их отрицаний). Практика показала,
что данный метод подходит только для проверки относительно простых
формул. При усложнении формул множество основных примеров, ко-
торые необходимо проверять, быстро растет и проверка становится
технически невозможной. Алгоритм их проверки, основанный на при-
менении теоремы Эрбрана (и соответственно семантических деревьев),
352
Раздел IV. Основы теории конечных автоматов
3.
Ь/у
Рис. 1.8. Граф переходов автомата из задачи 4.3
1.5. Автоматы Мура
В п. 1.1 автоматы Мура определены как автоматы второго рода, у
которых функция выходов явно не зависит от входа: Z(?r) = Од-
нако в общем случае неявная зависимость выходов Z от входов X при-
сутствует, поскольку Z зависит от внутренних состояний Q, a Q в свою
очередь, от входов X.
Наиболее распространенным практически используемым автома-
том Мура является автономно работающий светофор, в котором подача
выходных световых сигналов «красный — желтый — зеленый — жел-
тый — ...» происходит не зависимо от внешних условий, а только по
предыдущему состоянию и сигналу от реле времени, задающего дли-
тельность включения цветов. Если принять сигналы от реле одинако-
выми, то рассматриваемый автомат будет автономным.
Для задания автоматов Мура используют те же способы, что и для
автоматов Мили. При этом на графе переходов значения выходов про-
ставляют не на дугах, а внутри либо рядом с вершинами, обозначаю-
щими состояния.
Пример 1. Построить граф переходов и таблицу состояний для авто-
номно работающего светофора.
Решение. Поскольку автомат является автономным, то входные сиг-
налы можно на дугах графа переходов не отмечать.
Выходной информацией, выдаваемой устройством, являются све-
товые сигналы красного, зеленого и желтого цвета. Обозначим их, со-
ответственно К, 3, Ж. Внутренние состояния, соответствующие крас-
ному и зеленому цвету, обозначим через и q3. Поскольку желтый цвет
должен зажигаться дважды при разных внутренних состояниях (после
красного и после зеленого цветов), для него отводим два соответст-
вующих состояния: q^ и <?жз. Задавая необходимые переходы, получим
искомый граф переходов, показанный на рис. 1.9.
270
Раздел II. Математическая логика
Решение. Эрбрановский базис
А = {Р(а), Q(a), Р(Да)), Qtf(a)), P(f(f(a))), Q(f(f(a)))), ...}
имеет счетное число элементов. Обозначая отрицание через полное
семантическое дерево T(S) можно представить в следующем виде:
Рис. 7.1. Полное семантическое дерево примера 1
Для определенности все узлы в T(S) пронумеруем следующим об-
разом: корню присваиваем номер 0; узлам первого уровня (слева напра-
во) — номера 1, 2; узлам второго уровня (слева направо) — номера
3, 4, 5, 6; ...; узлам /-гоуровня — номера 2'~1, 2', 2' + 1..., 2'+1 - 2 ит. д.
Рассмотрим полное семантическое дерево T(S), соответствующее
некоторой невыполнимой формуле В. Если S — множество дизъюнк-
тов, соответствующее В, то это означает, что каждая 77-интерпретация
опровергает хотя бы один из его дизъюнктов Д. Поскольку каждый
дизъюнкт Б, содержит конечное число литер, то его опровержение
должно произойти в некотором внутреннем узле полного семантиче-
ского дерева T(S).
ОПРЕДЕЛЕНИЕ. Узел J полного семантического дерева T(S) назы-
вается опровергающим, если все интерпретации 1(f), содержащие его,
опровергают некоторый основной пример дизъюнкта Dj&S, а все узлы,
лежащие выше j, не опровергают ни одного из D^S.
Пример 2. Построить полное семантическое дерево T(S) для множе-
ства дизъюнктов S= {-1 Р v Q, Q v R, Р v R, Р}, выявить опровер-
гающие узлы в нем.
Решение. В данном случае матрица формулы является формулой
алгебры логики. Ее эрбрановский универсум 77(5) = 0, А' = 0, F' = 0.
Эрбрановский базис А = {Р, Q, R}. Обозначая отрицание через ~, полное
семантическое дерево можно представить в виде, представленном на
рис. 7.2.
Для определенности будем считать, что атомы базиса Р = И, Q = И,
R = И, а их отрицания — ложны. Тогда:
а) узел 2 будет опровергать дизъюнкт Z>4 = P&S;
354 Раздел IV. Основы теории конечных автоматов
мата Мили QreQ на входящих стрелках стоят обозначения элементов
из множества выходов, равные Z{, Z3, Z4, Z6 (рис. 1.10, значения входов
на стрелках не указаны). В этом случае состоянию Qr автомата Мили Qr
соответствует подмножество состояний автомата Мура, состоящее из
элементов Qr3, Qr4, Q*}.
Рис. 1.10. Принцип формирования множества внутренних состояний
эквивалентного автомата Мура
Поскольку автомат Мура является автоматом второго рода, у кото-
рого вначале определяется текущее внутреннее состояние <2(/,), а затем
выход Z(tj) = то при таком выборе множества его внутренних
состояний Q' значения функции выходов на внутренних состояниях QtJ
задаем следующим образом: = Zj.
Рассмотрим построение функции переходов G': Q' -> Q'. Допус-
тим, в исходном автомате Мили для пары значений (Qr,Xk) функции
переходов G и выходов /"принимали следующие значения:
G(Qr,Xk) = Qs,
F{Qr,Xk)=Zl.
Состоянию Qr соответствует в автомате Мура подмножество со-
стояний {QrJ}. Из данных состояний строим переход по входу Хк в со-
стояние Qsl, соответствующее состоянию Qs автомата Мили и обеспечи-
вающее выход, равный Z,.
Для инициального автомата Мили с заданным начальным состоя-
нием Q(t0) = QpB качестве начального состояния в эквивалентном авто-
мате Мура можно принять любое из соответствующих ему состояний
{Qpj} в множестве Q'.
Пример 2. Построим автомат Мура, эквивалентный сокращенному
автомату Мили из примера 2 п. 1.4.
Решение. Задаем множества входов и выходов автомата Мура:
Х'=Х={а, b}; Z' =Z={x,y,z}, Z]=x, Z2 = y, Z3 = z.
Строим множество внутренних состояний автомата Мура, последо-
вательно рассматривая внутренние состояния автомата Мили.
268
Раздел II. Математическая логика
становкой в него вместо предметных переменных термов из эрбранов-
ского универсума H(S).
Каждый основной пример дизъюнкта 7), не содержит переменных и
является как бы одним из возможных значений 7), при подстановке в
него конкретных величин литер, входящих в него. Т. к. матрица, соот-
ветствующая 5, является произведением дизъюнктов /),, то, если ос-
новной пример какого-либо дизъюнкта ложен на интерпретации I,
ложной будет и вся матрица. В этом случае интерпретация I будет опро-
вергать исходную формулу, порождающую S.
Пример 5. Найти основные примеры дизъюнкта D2 из множества
S={P(a),-,P(x)}.
Решение. В примере 1 показано, что H(S) = {a}. Следовательно, ос-
новной пример один-----1 Р(а).
Пример 6. Найти основные примеры дизъюнкта D2 из множества
S={P(a), P(x)vQ(f(x))}.
Решение. В примере 2 найдено: H(S) = ...}.
Следовательно основные примеры будут следующими:
1) Л«) v 0(/(а)); 2) Р(Да)) v 3) Р(/Ш v
4) Р(МШ) v 2(/(ЖЯа))))) и т. д.
Допустим, доказывается невыполнимость некоторой формулы В в
логике предикатов, имеющей сигнатуру {X, A, F, Р} (X, A, F, Р — множе-
ства предметных переменных, констант, функциональных и предикат-
ных переменных в В), и задача уже сведена к определению невыполни-
мости множества дизъюнктов S, по которому построен эрбрановский
универсум H(S).
ОПРЕДЕЛЕНИЕ. Эрбрановской интерпретацией (Н-интерпрета-
цией) множества дизъюнктов S, построенного по формуле В с сигна-
турой {X, A, F, Р}, называется любая интерпретация I над H(S) вида
7= A', F', Р’}, в которой:
1) А =А , т. е. / отображает константы в самих себя;
2) F' = F, функции из F' действуют на 77(5) так же, как и функции F;
3) предикаты Р' могут быть равными (по истинности) предикатам
из эрбрановского базиса, либо обратными к ним.
В дизъюнктах 7), на данных интерпретациях вместо констант, пере-
менных и функций должны использоваться элементы H(S), а вместо
предикатов — либо значения на термах из H(S) (элементы эрбранов-
ского базиса), либо их отрицания.
Пример 7. Привести примеры эрбрановских интерпретаций множе-
ства дизъюнктов S= \Р(х) м 2(/(х)), Р(а) у Q(y)}.
ГЛАВА 2
АНАЛИЗ И СИНТЕЗ ДВОИЧНЫХ АВТОМАТОВ
Представления автоматов с помощью графа переходов и таблицы
состояний в большей степени задают назначение и схему функциони-
рования автомата. Для его практической реализации необходимо ука-
зать физическую структуру, которая могла бы выполнить данные пре-
образования. Задача построения такой структуры имеет множество ре-
шений, поэтому на данном этапе, как и при задании общей схемы
функционирования, возникает проблема оптимизации.
В большинстве рассмотренных выше примеров входы, выходы и
внутренние состояния автоматов не являются числами. Однако в ре-
альных автоматах, осуществляющих достаточно сложные преобразова-
ния, данные объекты, как правило, кодируют в виде чисел (обычно в
двоичной системе счисления), поскольку преобразование информации
проще осуществлять в числовой (цифровой) ее форме. Перевод вход-
ной и (при необходимости) выходной информации в числовое пред-
ставление обычно выполняют кодирующие устройства, стоящие на
входе и выходе автомата.
2.1. Числовая форма задания автоматов.
Двоичные автоматы
ОПРЕДЕЛЕНИЕ. Представления таблицы состояний и графа пере-
ходов, в котором множества Q, X, Z входов, выходов и внутренних со-
стояний автомата закодированы числами в некоторой системе счисле-
ния, для краткости называют числовой формой их представления в отли-
чие от нечисловой, в которой множества Q, X, Z обозначены в иной фор-
ме. Если для кодирования использована двоичная система счисления,
автомат будем называть двоичным.
Символу 0 обычно придают логическое значение «ложь», симво-
лу ( — логическое значение «истина». Поэтому при двузначном коди-
ровании элементов множеств Q, X, Z описывать структуру и функцио-
нирование дискретных автоматов можно при помощи алгебры логики.
266
Раздел И. Математическая логика
б) алгоритм работает теоретически бесконечно долго при наличии
общезначимости у А;
в) алгоритм работает теоретически бесконечно долго при наличии
невыполнимости А.
В первом случае алгоритм решает задачу, во втором и третьем — нет.
Начало конструированию разрешающих алгоритмов было положе-
но Эрбраном, который предложил в 30-х гг. XX в. теоретически пра-
вильный алгоритм построения интерпретаций, опровергающих рас-
сматриваемую формулу. В нем доказательство общезначимости форму-
лы А сводится к доказательству невыполнимости ее отрицания В = А.
Основная идея алгоритма заключается в том, что невыполнимость
формулы В, замененной матрицей скулемовской формы, проверяется
на одной специальной предметной области — эрбрановском универсуме,
который строится по В и описывает все возможные варианты значений
термов, которые могут входить в нее (с точностью до обозначений). По-
скольку такие области в большинстве случаев бесконечны, то проверку
общезначимости формул на них алгоритм теоретически никогда бы не
закончил. Проверка невыполнимости (если таковая имеет место) тео-
ретически должна заканчиваться за конечное число шагов.
Матрица скулемовской формы является конъюнкцией дизъюнктов
вида
М= £>, & Z>2 & ... & Dk.
Очевидно, матрица М опровержима (невыполнима) тогда и только
тогда, когда на любой интерпретации I опровержим хотя бы один из
дизъюнктов Dj, входящих в нее.
Обозначим множество дизъюнктов, входящих в матрицу, через 5:
S={Dl,D2,...,Dk}.
Множества всех констант и символов функциональных перемен-
ных, входящих в S, обозначим соответственно через {С5} и {Fv}.
Эрбрановский универсум, соответствующий множеству дизъюнк-
тов S, обозначим через H(S). Он строится следующим образом:
0. Множество нулевого уровня Но = {С5}. Если дизъюнкты матрицы М
не содержат констант (Cs= 0), то вводим в Яо новую (не входящую в М)
константу с: Но = {с}.
1. Через FS(HO) обозначим результат всех возможных подстановок
констант, содержащихся в Но, в функции из {f5}. Множество первого
уровня Hj = Но u Fs(H0).
• ••
i. F^H^) — результат всех возможных подстановок констант из
Д_! в функции из {f5}. Множество /-го уровня Hj = Я(_, о Fs (Hj^).
В пределе получаем: Я(5) = Нж.
358
Раздел ГУ. Основы теории конечных автоматов
Векторы истинности функций выходов F и переходов G автомата в
двоичной кодировке заданы столбцами таблицы z(Q и ^(Г,). Поскольку
при двоичном кодировании множеств X, Z, Q нет избыточности, обе
функции являются полностью определенными.
Пример 2. На вход автомата поступает последовательность из сим-
волов «а» и «6». Необходимо распознать во входном потоке наличие
сочетаний «ааа» и «аЬ».
Требуется:
1) ввести множества X, Z, Q, построить граф переходов и таблицу
состояний;
2) перейти к двоичной форме представления информации и по-
строить числовую таблицу состояний.
Решение. 1. Множество входов Х={а, Ь}. Множество выходов Z=
= {нет, да}. Для ожидания ввода допустимой последовательности сим-
волов вводим состояние (20Ж> для запоминания ввода одиночного и по-
вторного символа «а» вводим состояния Qa и Qaa. Множество внутрен-
них состояний Q = {20Ж, 2а, 0аа}. Граф переходов дан на рис. 2.2.
Рис. 2.2. Граф переходов автомата из примера 2
Таблица состояний имеет следующий вид:
X б«_,) z б«)
а Сож нет Qa
а ба нет Qaa
а Qaa да Qaa
ь бож нет бож
ь Qa да бож
ь Qaa да бож
2. Перейдем к числовой двоичной форме представления. Т. к. |У| =
= |Z| = 2, |Q\ = 3, то п = т = 1, p = ]log2|3|[ = 2. Из соотношения 2Р = 22 =
264
Раздел II. Математическая логика
Задачи
1. Указать, в каких случаях необходимо произвести переименование пере-
менных при вынесении кванторов:
а) V х V у (Р(х, у) -> 0(х)) -> 3 z R(x, у, г);
б) -> 3 х V у 3 z V и R(x, у, z, и) & 3 у В(х, у);
в) 3 х -> Vy А(х, у, z) = -1 3 х Vy В(х, у);
г) 3 х VуА(х, у) & -1 3 х V у В(х, у);
д) Vх 3 у А(х, у) -> 3 х V у (Д(х, у) = С(х, z));
е) Vх Vу 3 z (А(х, у) -> В(х, z)) = 3 z С(х, у, г);
ж) Зх Vy-> Vu -> А(х, y,z, u) v3 хVу В(х, у, z, и).
2. Доказать справедливость правил преобразования формул:
а) 2(х)5(х) v С= 0(х) (5(х) v С);
б) Q{(x)B(x) v Q2(x)D(x) = 0j(x)02(y) (Д(х) v Д(у));
в) В v (С & D) = (В v С) & (В v D).
7.2. Скулемовская форма
Допустим, некоторая формула представлена в ПНФ с матрицей в
виде конъюнкции дизъюнкций:
А' = (Q^x,) е2(х2)... Qn(x„)){D{ &D2& ... &Dk).
Пусть Qr — первый слева квантор существования, т. е. перед ним
стоят только кванторы всеобщности: =... = Qr_l = V. Операция заме-
ны квантора существования 3 заключается в следующем:
1) исключаем из префикса 3 хг;
2) вместо него вводим ранее не встречавшийся в формуле символ
функциональной переменной f и рассматриваем функцию /(х1;х2,...,
хг _ 0, которую подставляем в матрицу вместо всех вхождений перемен-
ной хг.
Замечание. Если г - 1, то вместо переменной хг в матрицу подстав-
ляем константу (функцию, которая не зависит ни от одной переменной).
ОПРЕДЕЛЕНИЕ. Описанная выше операция называется заменой
квантора существования. Вводимые при этом функции и константы
называют скулемовскими, а получаемая после выполнения всех замен
квантора существования (слева направо) формула называется стан-
дартной формой Скулема.
Квантор 3 предписывает переменной хг пробегать не все возможные
значения в области изменения, а только некоторые их них. Поэтому
действие его в общем случае можно заменить некоторой предметной
функцией. При переходе к скулемовской форме нарушается эквива-
лентность исходной формулы, но сохраняется свойство невыполнимо-
сти. Справедлива следующая
360
Раздел IV. Основы теории конечных автоматов
му уравнений называют каноническими уравнениями автомата. Для
инициального автомата Мили они имеют вид
qp{tj) = G{xn{ti), qp(tt_x)y,
qp(h) = qo-
Пример 1. Зададим при помощи канонических уравнений иници-
альный автомат Мили, имеющий один двоичный вход х, один двоич-
ный выход z и одно двоичное внутреннее состояние q:
z(/,) = x(Z,-)v^_1);
- 9(?,) = х(Гг)&9(Гм);
?(/о) = о.
Пример 2. Найти числовую форму таблицы состояний и построить
граф переходов для инициального автомата Мили, заданного в приме-
ре 1 каноническими уравнениями.
Решение. Входными переменными таблицы принимаем величины
x(tj) и ?(/,_[), выходными z(tj) и qfJi). Для упрощения вида таблицы обо-
значаем x(tj) - х и ?(Г,) = z-
В двух крайних левых столбцах, соответствующих х и пере-
числяем в лексикографическом порядке все возможные их значения
истинности; в крайних правых столбцах, соответствующих z и q(tt), —
значения функций v и & (по каноническим уравнениям).
В итоге, после добавления начального состояния, получаем сле-
дующую таблицу состояний:
X Z 9(0
0 0 0 0
0 1 1 0
1 0 1 0
1 1 1 1
9(/о) = о.
Граф переходов автомата с цифровыми обозначениями множеств Q,
X, Zнаиболее удобно строить по двоичной таблице состояний.
Поскольку внутренних состояний два: 9 = 0и^=1,то отмечаем две
вершины. Дуги, выходящие из вершины q = 0 со значениями х = 0 и
х- 1, возвращаются в нее же со значениями z = 0 и z = 1. Дуги, выходя-
щие из вершины q= 1 со значениями х = 0 и х = 1, возвращаются в вер-
262
Раздел И. Математическая логика
В примере после замены
(<2О, У) = Л*)) = (Q(x, у) -> Р(х)) & (Р(х) -> Q(x, у))
получим
А = V х Р(х) -> 3 y((Q(x, у) -> Р(х)) & (Р(х) -> Q(x, у))).
2. Исключить из Л все логические связки «->» (импликация).
Для этого используем правило замены (В-> С) = (-> В v С). Во всех
заменах необходимо учитывать очередность выполнения операций,
предписанную структурой формулы. В примере вначале выполняем
замены в области действия квантора 3 у:
(Q(x, у) Р(х)) = (-, Q(x, у) v Р(х)),
(Р(х) -> Q(x, у)) Ь Р(х) v Q(x, у)).
При этом получаем формулу вида
А = V х Р(х) -> 3 у((-. Q(x, у) v Р(х)) & (-1 Р(х) v Q(x, у))).
Заменяя оставшуюся импликацию, в итоге получим
А = (V х Р(х)) v 3 у((-. Q(x, у) v Р(х)) & (-1 Р(х) у Q(x, у))).
После применения пунктов 1 и 2 в формуле остаются только логи-
ческие связки v и & .
3. Внести отрицание (-,) внутрь формулы.
После выполнения операции отрицание не должно стоять перед
скобками либо перед кванторами, а может быть только перед предика-
тами. Для этого используются законы де Моргана и следующие равно-
сильности формул ИП:
1) -1 V х В(х) = 3 х -1 5(х);
2) 3 х В(х) = Vx~, В(х).
В примере, используя закон 1), получим
А = 3 %(-, Р(х)) v 3 у((-, Q(x, у) v Р(х)) & (-, Р(х) v 2(х, у))).
4. Вынести кванторы в начало формулы.
Для этого используются законы:
1) Q(x)B(x) vC = Q(x) (В(х) v Q;
2) Q(x)B(x) &С= Q(x) (В(х) & С);
3) 0,(х)5(х) v Q2(x)D(x) = Qt(x)Q2(y) (В(х) v D(y));
4) Q}(x)B(x) & Q2(x)D(x) = Q}(x)Q2(y) {B{x) & Z>(y)).
В формулах 1)—4) под Q(x) понимается любой из кванторов V и 3,
подформула С не должна содержать переменную х. Для того чтобы при
вынесении в начало формулы не изменялись первоначальные области
действия кванторов и не нарушалась эквивалентность преобразований,
необходимо производить переименование связанных переменных так,
362 Раздел ГУ. Основы теории конечных автоматов
Канонические уравнения и схема автомата указывают структуру ав-
томата, выполняющего требуемые преобразования. Поскольку канони-
ческие уравнения и структура автомата по заданной таблице состояний
могут быть заданы неоднозначно, то для определенности решения за-
дачи необходимо накладывать на искомую структуру дополнительные
требования. Таким требованием является минимальность синтезируе-
мой структуры по числу входящих в нее элементов.
Задачи
1—10. Закодировать множества Q, X, Zb двоичной системе и построить дво-
ичные таблицы состояний для автоматов из задач 1—10 п. 1.1.
11. Закодировать множества Q, X, Zb двоичной системе и построить двоич-
ные таблицы состояний для автомата из задачи 12 п. 1.2.
12. Построить канонические уравнения и схему автомата с одним двоич-
ным входом, одним двоичным внутренним состоянием и двумя двоичными
выходами, описывающими двоичную сумму входа с внутренним состоянием.
Состояние инвертируется при входе, равном 0, и сохраняется при входе 1.
2.3. Оптимальные автоматы
Введем критерий оптимальности синтезируемых автоматов, исходя
из требования минимальности их структуры.
ОПРЕДЕЛЕНИЕ. Рассмотрим некоторый автомат (X,Z,Q,F,G), в
котором множества Q, X, Z закодированы в двоичной системе. Если
функции выходов и переходов автомата F.XxQ-^Z, G.XxQ^Q яв-
ляются минимальными нормальными формами алгебры логики, то ав-
томат будем называть оптимальным в классе нормальных форм.
Если же функции выходов и переходов автомата F. X х Q Z, G:Xx
х Q -> Q являются абсолютно оптимальными формулами алгебры логи-
ки, то автомат будем называть абсолютно оптимальным.
Смысл введенных определений в том, что соответствующие реаль-
ные автоматы будут иметь в своей физической структуре минимальное
число элементарных функциональных элементов, а также соединений
между ними.
Построение оптимальных автоматов Мили и Мура производится
теми же способами, что и у функциональных схем (однотактных авто-
матов).
Пример 1. Ввести двоичные коды для множеств Q, X, Z автономного
светофора, заданного в примере 1 п. 1.5, и построить для него: 1) табли-
ГЛАВА 7
ПРОБЛЕМА РАЗРЕШИМОСТИ.
ТЕОРИЯ АВТОМАТИЧЕСКОГО ВЫВОДА
Логика предикатов является основанием конкретных прикладных
теорий. Основной проблемой в ней является выяснение общезначимо-
сти ее формул — будут ли они ее теоремами. Если формула А исчисле-
ния предикатов общезначима, то она может быть использована для
логических рассуждений в любой теории первого порядка. Если А не
общезначима, то при ее применении могут быть получены (не обяза-
тельно) ошибочные суждения.
Выяснение общезначимости формул в любой математической ло-
гике называется проблемой разрешимости. В прикладных теориях наряду
с формальными приемами применяют методы, существенно учиты-
вающие свойства рассматриваемых объектов (высказываний, мно-
жеств) и операций на них (предметных и логических).
В аксиоматических теориях (ИВ, ИП) для проверки общезначимо-
сти формулы А можно использовать только формальные приемы — вы-
вод А из аксиом теории, доказательство опровержимости формулы А
и т. д. Таким образом, проверка общезначимости формул в ИП может
быть сведена к проблеме существования алгоритма разрешимости, по-
зволяющего для каждой формулы выяснить ее общезначимость. В об-
щем случае ответ на этот вопрос дает
Теорема Чёрча. Проблема разрешимости в ИП алгоритмически не раз-
решима.
Хотя теорема утверждает, что общего алгоритма (применимого ко
всем формулам ИП) проверки разрешимости не существует, такие ал-
горитмы построены для отдельных классов формул, в частности, для
формул монадической логики, в которой допускаются только одноме-
стные кванторы. Разработка эффективных разрешающих алгоритмов
позволяет производить проверку общезначимости формул машинными
методами, сочетающими логические операции с перебором вариантов.
364
Раздел IV. Основы теории конечных автоматов
Минимизируя формы, получаем соответствующие МДНФ:
*1 = 9i(7,-i);
*2=9i(7/-i)92(7,-i);
9i(7,) =
92 (7/) = 9i (7,ч) Яг (7,-1) V 91 (7,_1) 92 (7,-1) •
Поскольку полученные выражения нельзя минимизировать дальше
путем применения законов алгебры логики, то данные выражения бу-
дут одновременно оптимальными в классе нормальных форм и абсо-
лютно оптимальными. Следовательно, они задают канонические выра-
жения соответствующих автоматов. Схему оптимального автомата до-
полнительно упрощаем за счет объединения слагаемого 9i(7,-i)92(7/-i),
содержащегося в z2 и 92(/,) (рис. 2.6).
Рис. 2.6. Схема оптимального автомата из примера 1
Ответ’, искомая таблица состояний, канонические уравнения и
схема оптимального автомата автономного светофора построены.
Обычно функции выходов и переходов, получаемые после перевода
множеств Q, X, Z в двоичной системе, являются частично определен-
ными. Поэтому оптимальное доопределение их необходимо искать по
правилам для ЧОФ.
Пример 2. Заданы канонические уравнения автомата Мили:
г = X9i (/,-1 )92 (/,_i) v X9i (Г,_1 )92 (Г,_1) v X9i (tiA )q2 (r,_j);
91 (Г,-) = (х v 9i (r,_i) v 92 (r,_i)) & (х v 9i (r,_i) v 9 2 (11А));
92 (7,-) = 9i (7,-i )9г (7,-1) v х 9i (r,_j )92 (r,-i) v X9i )q2 ) v
^9i(7,-i)92(7,-i);
9i(70)=°;
9г(7()) = 0-
258
Раздел И. Математическая логика
2. Доказать или опровергнуть равносильность формул
ЗхР(х) и -,Vx-iP(x).
В. 15.
Дано предметное множество М= (0, 1, 2}. Ввести на нем двухместный пре-
дикат Р(х,у), такой, что формула VхЭуР(х,у) будет истинна, а формула
3 у V х Р(х, у) — ложна.
2. Проверить выполнимость, истинность и ложность формулы
Д(х, у, //х, у), f2(x, у), Р(х, у)) = P(f2(x, y),j\(x, у))
в интерпретации M=NJ\(x, у) = ху,/2(х,у) = = х + у, Р(х,у) = «х равно у».
В. 16.
1. Определить область истинности предиката Р(х, у) = «х, деленное на у,
равно 3» на предметном множестве М = N.
2. Перевести на язык формул следующее предложение, предварительно
введя предметное множество и необходимые предикаты: «Каждый квадрат яв-
ляется одновременно ромбом и прямоугольником».
В. 17.
1. Придумать для формулы Д(х, у, ^) = Vx3y3? Р(х-, у, z) пример интерпре-
тации на предметном множестве М= N, в которой В(х, у, z) истинна.
2. Доказать или опровергнуть общезначимость формулы
Vх 3 у Р(х, у) -> 3 у V х Р(х, у).
В. 18.
1. Перевести на язык формул ЛП следующее предложение, предварительно
введя предметное множество и используя предикат Р(х, у) = «х делится без ос-
татка на у»: «Существуют натуральные числа, которые одновременно делятся
без остатка на 2, 3 и 5».
2. Доказать выполнимость на множестве М= N формулы 3 х Р(х).
В. 19.
1. Дано предметное множество М={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Ввести на нем
двухместные предметную функцию Дх, у) и предикат Р(х,у), для которых фор-
мула V х 3 у P(flx, y),f(y, х)) будет истинна.
2. Доказать или опровергнуть общезначимость формулы
В у 3 х Р(х, у) -> V у 3 х Р(х, у).
В. 20.
1. Перевести на язык формул следующее предложение, предварительно
введя предметное множество и необходимые предикаты: «Не все треугольники
являются остроугольными».
2. Привести пример двухместного предиката Р(х,у) на предметном множе-
стве M—N, для которого областью истинности является множество всех набо-
ров вида (10m, Юр), где т,р — натуральные числа.
В. 21.
1. Выразить на предметном множестве М= {треугольники} в виде формулы
ЛП следующее утверждение, предварительно введя необходимые предметные
функции и предикаты: «Любые два прямоугольных треугольника являются по-
добными, если катеты их пропорциональны либо они имеют одинаковые ост-
рые углы».
366 Раздел IV. Основы теории конечных автоматов
4. Граф переходов оптимального автомата в двоичной форме имеет
следующий вид:
Рис. 2.8. Граф переходов оптимального автомата из примера 2
Ответ: искомые оптимизированные канонические уравнения, схе-
ма, таблица состояний и граф переходов автомата построены.
Задачи
1. Оптимизировать канонические уравнения, построить по ним граф пере-
ходов и функциональную схему:
*1 = *91 (*,-1 )9г (0-1) v xq{ (/,_! )q2 (t^);
91 Ю = (х V91 (*/-i) v q2(/,_!)) & (х V ?!(?,_!) V ?2 (?,_!)) &
(XV 9! (/,._!) V?2(/,м));
92(г,-) = (х v (г, ) v q2 (Г,.-!)) & (х v (?,_!) v q2 (/,_!>) & (х v q{ (/,_!)).
2—9. Построить оптимальные канонические уравнения и схемы двоичных
автоматов, осуществляющих преобразования, заданные в задачах 1—8 п. 1.1.
10. По заданной канонической таблице состояний построить оптимальную
функциональную схему автомата и граф переходов.
X 9i(',-i) 92(//-1) Z 91(0 9г(0
0 0 0 0 1 1
0 0 1 1 0 1
0 1 0 0 1 0
0 1 1 1 0 0
1 0 0 0 0 0
1 0 1 0 0 1
1 1 0 1 0 1
1 1 1 0 1 1
11. Для автомата, заданного графом переходов на рис. 2.9, найти разбиение
множества внутренних состояний на классы эквивалентности, при их наличии
произвести сокращение, перейти к двоичному виду и построить оптимальную
структурную схему.
256
Раздел II. Математическая логика
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ЛОГИКА ПРЕДИКАТОВ»
В. 1.
1. Перевести на язык формул пословицу «Все любят добро, да не всех лю-
бит оно», предварительно введя предметное множество и используя предикаты
Р(х) = «х любит добро» и 0(х) = «добро любит х».
2. Доказать выполнимость на множестве натуральных чисел формулы
У хЭу Р(х,у).
В. 2.
1. Перевести на язык формул пословицу «В роде глупцов старшего нет»,
предварительно введя предметное множество и используя предикат Р(х, у) = «х
старше у».
2. Доказать или опровергнуть общезначимость формулы
3 у Р(х, у) -> V у Р(х, у).
В. 3.
1. Указать свободные и связанные переменные в формулах:
а) -> Q(x) & V х В(х, у); б) 3 х S(x, у) v V и A(z, и) -> В(х, у).
2. Выразить в виде формулы ЛП следующее предложение, предваритель-
но введя предметное множество и используя предикат Р(х, у) = «х знаком с у»:
«У любого студента нашего института существуют знакомые ему другие студен-
ты, следовательно, у нас есть студенты, знакомые со всеми остальными». Дока-
зать или опровергнуть общезначимость данной формулы.
В. 4.
1. Определить область истинности предиката Р(х, у) = «х, умноженное на у,
равно 20» на предметном множестве М= N.
2. Будут ли формулами ЛП следующие выражения:
V х Р(х, у) -> V/0(/(x), у); А(х) & В(х, у) -» 3 х С(х, у) ?
Ответ обосновать.
В. 5.
1. Пусть предикаты А(х, у) и В(х, у) определены на одинаковом множестве
объектов М и имеют области истинности О.А, £iB. Выразить через них область
истинности предиката Р(х, у) = А(х, у) v В(х, у).
2. Доказать или опровергнуть равносильность формул
ЗхЛ(х) и -iVx-iP(r).
В. 6.
1. Может ли терм принимать логическое значение, если предметное мно-
жество М= R" = (-оо; 0)? Ответ обосновать.
2. Доказать или опровергнуть общезначимость формулы
VхР(х) ->ЗхР(х).
В. 7.
1. Пусть Р1, S3, R2 — одно-, трех- и двухместные предикаты. Будут ли фор-
мулами логики предикатов следующие выражения: BgQ3(g(x),c, у); Р'(с);
Vy R2(xr,y); Зх V/Z?2(x,/(y)); Vx?'(x, с)? Ответы обосновать.
368 Раздел IV. Основы теории конечных автоматов
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«КОНЕЧНЫЕ АВТОМАТЫ»
В. 1.
Оптимизировать заданную схему двоичного автомата.
Требуется:
1) проверить, будет ли автомат сокращенным (если нет — произвести со-
кращение);
2) перейти к двоичному виду и построить оптимальную схему автомата.
В. 3.
Построить граф переходов, таблицу состояний и оптимальную схему дво-
ичного автомата с входным и выходным множествами X=Z={Q, 1}, реализую-
щего функцию г(/() = min(x(r(_j), х(/,_2)). В начальный момент времени х(/0) = О,
= 0.
В. 4.
По заданному графу переходов построить двоичный автомат оптимальной
структуры (привести канонические уравнения и схему).
Глава 2. Анализ и синтез двоичных автоматов
369
В. 5.
Автомат с множествами входов, выходов и внутренних состояний X- {а, Ь},
Z= {х, у, z, и}, Q= 02, 03, 04, 05} задан графом переходов.
Требуется:
1) проверить, будет ли автомат сокращенным (если нет — произвести со-
кращение);
2) перейти к двоичному виду и построить оптимальную схему автомата.
В. 6.
Автомат Мили задан следующей таблицей состояний:
х(?;)
а Qi
ь
а е2
ь g2
а G3
ь 2з
а 04
ь Qa
X Qi
У G3
X Gi
У e3
z Qa
z Q3
X q2
У G3
Требуется:
1) проверить, будет ли автомат сокращенным (если нет — произвести со-
кращение);
2) перейти к двоичному виду, построить оптимальную схему автомата.
370
Раздел IV. Основы теории конечных автоматов
В. 7.
Оптимизировать заданную схему двоичного автомата.
В. 8.
Построить абсолютно оптимальную схему для двоичного инициального ав-
томата Мили, имеющего два входа х1;х2, одно внутреннее состояние q и один
выход г, в котором z=x{ Фх2Ф qO.-i), <10i)=-'(.xlx2)'Kq(ti_l). Начальное состоя-
ние q(t0) = 0.
В. 9.
Построить граф переходов, таблицу состояний и оптимальную схему дво-
ичного автомата с входным и выходным множествами X=Z= {0, 1}, реализую-
щего функцию ?(/,) =х(/,) Фх(?,_[). В начальный момент времени х(/0) = 0.
В. 10.
Автомат с множествами входов, выходов и внутренних состояний Х= (а, Ь],
Z- {х, у, г}, Q = {0!, Q2, 03} задан графом переходов.
Требуется:
1) проверить, будет ли автомат сокращенным (если нет — произвести со-
кращение);
2) перейти к двоичному виду и построить оптимальную схему автомата.
В. 11.
Построить двоичный автомат оптимальной структуры по заданному графу
переходов.
Глава 2. Анализ и синтез двоичных автоматов
371
В. 12.
Построить абсолютно оптимальную схему для двоичного инициального ав-
томата Мили, имеющего два одноразрядных входа хи х2, одно внутреннее со-
стояние q и два выхода Z[, Z2- Состояние q инвертирует свое значение, если сум-
ма входов Xj, х2 равна нулю по модулю 2, иначе q неизменно. Двоичное число
Z[ z2 равно сумме величин х1; х2, q. Начальные значения внутренних состояний —
единичные.
В. 13.
Автомат Мили задан графом переходов.
Требуется:
1) проверить, будет ли автомат сокращенным (если нет — произвести со-
кращение);
2) построить эквивалентный ему автомат Мура;
3) перейти к двоичному виду и построить оптимальную схему автомата.
В. 14.
На вход инициального автомата поступает по одному последовательность
символов «а» и «0». Необходимо распознать наличие во входном потоке подряд
идущих сочетаний = «аа» и «00». При их появлении автомат, соответ-
372 Раздел ГУ. Основы теории конечных автоматов
ственно, должен выдавать значения «а» и «р», иначе — пустое значение 0. В на-
чальный момент времени X(ta) = а.
Требуется:
1) ввести множества входов, выходов и внутренних состояний, построить
граф переходов и таблицу состояний автомата;
2) закодировать множества автомата в двоичной системе,
3) построить таблицу состояний в двоичной форме;
4) синтезировать оптимальные канонические уравнения автомата;
5) построить схему оптимального автомата.
В. 15.
Неинициальный автомат задан графом переходов.
Требуется:
1) определить эквивалентные состояния, при их наличии произвести со-
кращение;
2) закодировать множества входов, выходов и внутренних состояний авто-
мата в двоичной системе;
3) построить таблицу состояний в двоичной форме;
4) синтезировать оптимальные канонические уравнения автомата;
5) построить схему оптимального автомата.
В. 16.
На вход инициального автомата поступает последовательность символов из
0,1 и 2. Автомат должен распознавать наличие во входном потоке упорядочен-
ных последовательностей = 00 и 01. При их наличии автомат должен
выдавать логическое значение «true», при нарушении порядка — «false». В на-
чальный момент времени X(t0) = 0.
Требуется:
1) ввести множества входов, выходов и внутренних состояний, построить
граф переходов и таблицу состояний автомата;
2) закодировать множества автомата в двоичной системе;
3) построить таблицу состояний в двоичной форме;
4) синтезировать оптимальные канонические уравнения;
5) построить схему оптимального автомата.
В. 17.
Построить граф переходов двоичного автомата с входным и выходным мно-
жествами X=Z={0,1}, реализующего следующую функцию: z(tJ) = max(x(/1_l),
x(Z,_3). В начальный момент времени х(/0) = 1, x(t_j) = 0, x(Z,_2) = 1.
Глава 2. Анализ и синтез двоичных автоматов 373
В. 18.
Вход инициального автомата совпадает со входом задачи В. 14. При нали-
чии чередования входных символов, например, ра, рара, автомат должен вы-
давать логическое значение «true», при повторном поступлении букв (аа или
РР) автомат должен выдавать «false». В начальный момент времени X(tQ) = р.
Требуется:
I) ввести множества входов, выходов и внутренних состояний, построить
граф переходов и таблицу состояний автомата;
2) построить схему оптимального двоичного автомата.
В. 19.
На вход инициального автомата поступает по одному последовательность
символов 0 и 1. Автомат должен распознавать наличие во входном потоке нали-
чие комбинации ЛГ(Г/_1)ъ¥(Г/.) = 01. При ее получении автомат должен выдавать
логическое значение «true», при других сочетаниях символов XfJj^yXfj:) автомат
выдает «false». В начальный момент времени А"(/о) = 1.
Требуется:
1) ввести множества входов, выходов и внутренних состояний, построить
граф переходов и таблицу состояний автомата;
2) закодировать множества автомата в двоичной системе;
3) построить таблицу состояний в двоичной форме;
4) синтезировать оптимальные канонические уравнения;
5) построить схему оптимального автомата.
В. 20.
Решить задачу из В. 19 для случая распознавания во входном потоке подряд
идущих комбинаций символов Xfj^Xfjj) = 00 и 11. При их получении автомат
должен выдавать, соответственно, значения 0 и 1, при других сочетаниях — 0.
В. 21.
Для неинициального автомата, заданного графом переходов:
1) определить эквивалентные состояния, при их наличии произвести со-
кращение;
2) закодировать множества входов, выходов и внутренних состояний авто-
мата в двоичной системе;
3) построить таблицу состояний в двоичной форме;
4) синтезировать оптимальные канонические уравнения;
5) построить схему оптимального автомата.
31^
Раздел IV. Основы теории конечных автоматов
В. 22.
Автомат Мили задан следующей таблицей состояний:
qQi-1)
X 21
У 21
X 22
У 22
X 23
У 23
X 24
У 24
qtfi)
а Qi
ь Qi
с Q3
а 24
а 22
ь 24
с 23
а 24
Требуется:
1) проверить, будет ли автомат сокращенным (если нет — произвести со-
кращение);
2) перейти к двоичному виду, построить оптимальную схему автомата.
Раздел V
ТЕОРИЯ КОМБИНАТОРНЫХ АЛГОРИТМОВ
При расчете, проектировании и управлении отдельными объектами
и системами специалистам необходимо решать большое число задач по
обработке конечных дискретных множеств различной природы. Общей
чертой большинства задач на дискретных множествах является то, что
их невозможно решить, используя заранее известные аналитические
решения (задаваемые, например, в виде формул). Решение их требует
выполнения того или иного перебора объектов или их сочетаний. Такие
задачи и алгоритмы их решения называют комбинаторными. Исследо-
вание их общих закономерностей составляет предмет теории комбина-
торных алгоритмов.
ГЛАВА 1
ОБЩАЯ ХАРАКТЕРИСТИКА ЗАДАЧ. ИНТУИТИВНОЕ
ОПРЕДЕЛЕНИЕ АЛГОРИТМА
1.1. Корректные и некорректные, разрешимые задачи
Разработка любого объекта или производственного процесса может
быть представлена в виде некоторого набора взаимосвязанных задач.
Необходимым условием для формализации каждой задачи и после-
дующего ее автоматизированного решения прежде всего является кор-
ректная постановка. Она подразумевает однозначное задание некото-
рого исходного множества объектов и реальной цели, которая должна
быть достигнута в итоге после обработки данного множества.
Пример 1. Найти максимальный из элементов в числовом масси-
ве А[п].
Постановка задачи корректна — указано множество и признак, по
которому необходимо произвести выбор.
Пример 2. Задано натуральное число п. Проверить, будет ли оно
простым.
376 Раздел V. Теория комбинаторных алгоритмов
Постановка корректна — указан объект задачи и из определения
простого числа вытекает свойство, которое для него должно быть про-
верено: «делится нацело только на себя и на единицу».
Пример 3. Задача нематематического характера «сочинить стихотво-
рение» — не корректна, поскольку однозначно не указан ни объект, ни
способ его создания.
Задачи, решение которых может быть формализовано и выполнено
с помощью вычислительных машин или других автоматических уст-
ройств, называют разрешимыми.
Очевидно, некорректные задачи в таком понимании не являются
разрешимыми. Однако корректная постановка не гарантирует разре-
шимости задачи (не является достаточным условием). Строгое доказа-
тельство этого факта дал английский математик Алан М. Тьюринг. Та-
ким образом, наряду с разрешимыми существуют и неразрешимые кор-
ректно поставленные задачи.
1.2. Интуитивное определение алгоритма.
Основные требования к алгоритмам. Примеры
Понятие алгоритма первично. Словесно алгоритм можно опреде-
лить как последовательность точно сформулированных и однозначно
определенных действий по решению поставленной задачи. Данные ос-
новные свойства алгоритмов обеспечивают практическую возможность
их выполнения (и соответственно решения задач) при помощи вычис-
лительных машин.
Исторически первыми алгоритмами были правила выполнения
арифметических действий с числами, поскольку именно числа являют-
ся первым и наиболее важным абстрактным математическим объектом.
Выполнение этих действий также было механизировано и автоматизи-
ровано в первую очередь при помощи различных устройств. Этот факт
является конструктивным доказательством того, что данные правила
действительно являются алгоритмами.
Однако потребности развития кибернетики и появление ЭВМ по-
требовали обобщения понятия алгоритма на решение широкого круга
задач, в том числе качественно отличных от вычислительных. Практи-
ческая необходимость в точном определении алгоритма состояла в вы-
яснении возможности решения той или иной задачи с помощью ЭВМ,
которая является как бы универсальным устройством для практической
реализации алгоритмов, записываемых в ее память в виде программ.
Идея перепрограммируемых устройств зародилась в машиностроении.
Глава 1. Общая характеристика задач. Интуитивное определение алгоритма 377
Еще в начале XIX в. были разработаны и построены ткацкие станки, в
которых узоры задавались с помощью перфокарт.
Допустим, для решения некоторой корректной задачи сформулиро-
вана последовательность точных и однозначно определенных действий,
которая является алгоритмом в интуитивном смысле. Основные про-
блемы, возникающие при последующем практическом решении задачи
с помощью данного алгоритма, можно сформулировать следующим
образом:
1. Будет ли правильным предлагаемый алгоритм решения? Под пра-
вильностью понимается полное совпадение получаемого решения с
искомым (тонный алгоритм) либо достаточная близость его к искомому
(приближенный алгоритм).
2. Реальные характеристики физических устройств, используемых
при решении задач, обуславливают дополнительные требования к алго-
ритмам. Они должны обеспечивать приемлемые: а) время решения за-
дач; б) размер памяти, необходимой для записи исходных данных зада-
чи, алгоритма решения и промежуточных результатов расчета.
Оптимальными называют алгоритмы, требующие минимальных за-
трат машинного времени и машинной памяти на решение поставлен-
ной задачи.
В общем случае для решения задач используют различные методы,
например вычисление результата по явной формуле, метод проб и
ошибок и др. Отличительной особенностью комбинаторных задач яв-
ляется необходимость выполнения перебора возможных вариантов ре-
шения. Каждая комбинаторная задача на исходном дискретном пред-
метном множестве М может быть сведена к определению экстремума
целевой функции F, определенной на объектах qf из некоторого конеч-
ного множества вариантов решения задачи Q(M), порожденного М:
F^j) -> minили Д?,) -> max(<7,-e(2(A/)).
При конечном исходном предметном множестве М(\М\ = п) мощ-
ность Q(M) также конечна, однако может быстро возрастать с увеличе-
нием п. Обозначим мощность Q(M) через N. Объект Q(M), на котором
достигается оптимальное значение Д^,), обозначим через qom.
При построении переборных алгоритмов можно выделить два ос-
новных подхода: 1) использование полного перебора объектов q^Q{M)
и 2) направленный перебор, в той или иной форме использующий гра-
диент (направление возрастания) функции /'на объектах q^QiM}.
Преимуществом первого подхода является гарантированное опре-
деление глобального экстремума целевой функции Дд() на Q(M). Не-
378 Раздел V. Теория комбинаторных алгоритмов
достатком является недопустимо большое время счета при значитель-
ном числе N возможных решений Q{M).
Для второго подхода характерно резкое сокращение перебора за
счет исключения из рассмотрения большого числа заведомо неопти-
мальных элементов qteQ(M). Однако направленный перебор в итоге не
всегда приводит к абсолютно оптимальному решению <70п1.
Допустим, для геометрической интерпретации задачи поиска экс-
тремума F(qj на Q(M) все объекты <7,е(2(Л/) взаимно однозначно ото-
бражены на множество точек некоторого пространства размерности т
(на рис. 1.1—1.3 даны примеры отображения объектов qt на двумерную
плоскость Оху). Тогда значения Д^) целевой функции могут быть про-
иллюстрированы набором точек {qt> F(qt)) в пространстве размерности
(т + 1). На рис. 1.1—1.3 значения F{q^) даны по оси z трехмерного про-
странства Oxyz-
Эффективность поиска экстремума функции F(q:) на Q(M) зависит
прежде всего от вида самой функции. Рассмотрим типичные ситуации
при поиске максимума.
Допустим, функция F(qj) имеет на множестве Q(M) один экстремум
(на элементе <70п1) и строго монотонна на всем Q(M) (рис. 1.1) в том
смысле, что при удалении q, от <?опт значения Д#,) всегда убывают. Тогда
любое улучшение значений Д^,) при помощи полного либо направлен-
ного перебора приближает к глобальному экстремуму <70пт, и поиск его
требует небольшого числа расчетов значений Д#,) (по сравнению с
мощностью всего Целевые функции данного типа характерны,
например, для задач сортировки (упорядочения) массивов.
Рис. 1.1. Целевая функция задачи с одним экстремумом
Также функция Д#,) может иметь на Q(M) наряду с глобальным
экстремумом <70пт и локальные qni (/> 1), в которых значение F(qAi) явля-
Глава 1. Общая характеристика задач. Интуитивное определение алгоритма 379
ется лучшим не на всей области Q(M), а только на части ее (рис. 1.2).
Направленный поиск для таких функций зачастую приводит к одному
из данных локальных экстремумов qni (на рис. 1.2 — <7л1). При этом по-
лучаемое значение целевой функции F(qni) может быть значительно
хуже искомого F(qom). Таким образом, в данном случае происходит за-
мена глобальной оптимальности получаемого решения задачи на ло-
кальную.
Рис. 1.2. Целевая функция задачи с несколькими экстремумами
Если же целевая функция выражает с помощью формулы алгебры
логики, логики предикатов либо другой теории некоторое логическое
условие P(q}), и решение задачи сведено к выяснению существования
элементов qom на множестве 0(Л/)> на которых P{q^ принимает значе-
ние «истина» (рис. 1.3), то простое вычисление значений Р на элемен-
тах обычно мало информативно, т. к. при значениях P(q^ = «ложь»
функция ведет себя как константа и не указывает направления поиска
(градиент). Все элементы q( с ложным значением целевой функции
фактически являются точками локальных минимумов на Q(M).
Q(M)
Рис. 1.3. Целевая функция задачи логического типа
380
Раздел V. Теория комбинаторных алгоритмов
Эффективность алгоритма поиска экстремума Г(^,) также сущест-
венно зависит от того, в какой форме представлено само множество
Q(M). Как показано в п. 1.1 разд. II, множество Е"2 булевых векторов
длины п, например, может быть представлено в виде упорядоченного
списка, полного бинарного дерева либо и-мерного куба. За счет изме-
нения представления Q(M) можно значительно упростить и ускорить
поиск решения.
Рассмотрим примеры построения целевой функции и формулиро-
вания критерия оптимальности в комбинаторных задачах.
Пример 1. Задача: найти максимальный из элементов в числовом
массиве Л [л].
Решение. В качес.тве Q(M) выступает исходное множество М — мас-
сив А[п] (Q(M) = М). С помощью предиката S(x, у) = «х больше у» целе-
вая функция может быть представлена в виде формулы логики преди-
катов F(x) = V у S(x, у), определенной на предметном множестве Q(M) =
= А[п]. Условие оптимальности имеет вид
F(x) = V у S(x, у) = «истина» (х, yeQ(M)).
Ответ: задача относится к третьему типу, точное ее решение требу-
ет полного перебора и сравнения всех элементов массива, т. е. требует
исследования всего множества вариантов Q(M).
Пример 2. Задано натуральное число п. Проверить, будет ли оно
простым или составным.
Решение. Само определение простого числа («делится нацело только
на себя и на единицу») дает простейший алгоритм решения — прове-
рить делимость п нацело для чисел 2, 3,..., п - 1. У данного алгоритма
исходное множество М содержит один элемент — число п. В рассмот-
ренном алгоритме множество вариантов решения задачи Q(n) = {2, 3,...,
л-1}, У=|С(л)| = л-2. Введя предикат D{x) = «n кратно х» целевую
функцию можно представить в виде формулы логики предикатов
F(x) = D(x), определенной на предметном множестве Q(n).
Условие оптимальности, выполняющееся для составного числа,
имеет вид
F(n) = 3 х D(x) = «истина» (х е(7(л)).
Ответ: задача относится к третьему типу, решение ее в общем слу-
чае требует полного перебора множества объектов Q(n).
Анализ самой задачи из примера 2 показывает, что с помощью не-
сложной модификации работа алгоритма может быть значительно ус-
корена, что особенно важно при проверке больших чисел.
Глава 1. Общая характеристика задач. Интуитивное определение алгоритма 381
ПримерЗ. Задан линейный массив некоторых объектов А[п]. Необ-
ходимо упорядочить объекты массива по некоторому признаку, напри-
мер по возрастанию или убыванию некоторой числовой характеристи-
ки а,- элементов массива.
Решение. В рассматриваемой задаче М = {а,}, |М| = п. Q(M) = {множе-
ство л {а,} всех полных перестановок тЩс^, ..., ап) числовых характери-
стик а, элементов массива}. .У= |Q(Af)| = л!. В качестве целевой функции
можно принять, например, вектор инверсий перестановок d(Tfn(a},
ап)), критерием оптимальности — минимум факториального числа
Ф^Дл"^,..., а„))), соответствующего вектору d^^a^ ..., а„)). Такие за-
дачи, называемые обычно сортировкой, составляют значительную до-
лю всех задач, решаемых при проектировании.
Условие оптимальности имеет следующий вид:
Ф(<У(л"(а1;..., а„))) -> min (л^(а1; ..., а„) ел{а,}).
Минимум целевой функции в данной задаче всегда существует и
равен 0. Если все рассматриваемые характеристики а,- элементов масси-
ва различны, то задача имеет одно оптимальное решение qonT. Посколь-
ку любое упорядочивание массива приближает к qQm, то задача отно-
сится к первому рассмотренному типу. Если имеются одинаковые ха-
рактеристики а„ то задача имеет несколько оптимальных решений, ко-
торые все соответствуют значению Ф^л"^,..., а„))) = 0.
Ответ: задача относится к первому типу, для решения ее можно
использовать методы градиентного типа, основанные на направленном
поиске.
Простейшие точные алгоритмы решения данной задачи, исполь-
зующие принцип поэтапного упорядочения перестановок, требуют вы-
2
полнения порядка п операции сравнения, что значительно меньше,
чем при переборе всех л! возможных перестановок. Следовательно дан-
ные алгоритмы сильно сокращают число анализируемых вариантов по
сравнению с полным перебором. Однако на практике размерность мас-
сива А может быть большой (миллионы и более элементов) и операцию
сортировки в процессе решения общей задачи требуется выполнять
неоднократно. Поэтому применение оптимальных алгоритмов актуаль-
но и в задачах такого типа.
Пример 4. Задача коммивояжера (ЗК). Задано п упорядоченных на-
селенных пунктов {v”}= {vj, v2, г„}. Все расстояния между ними из-
вестны и заданы симметричной матрицей стоимости С размером п х п,
382
Раздел V. Теория комбинаторных алгоритмов
элементы которой удовлетворяют неравенству треугольника, т. е. при
любых /, J, к, лежащих в пределах 1 < i,J, к<п, справедливы соотношения
Cij = Cji’ ciJ+cjk - cik-
Коммивояжеру требуется выбрать из всего множества циклических
обходов {0(7")} пунктов {?"}, такой обход O"onj={vil,va,...,vi„,vil} у
которого общая длина
л-1
^-(^опт) = + cin,il
J=l
будет минимально возможной.
Решение. Искомый оптимальный обход (возможно, неединствен-
ный) всегда существует. Найти его можно, например путем построения
всех возможных циклов {Qv"}, вычисления их длин и выбора обхода
минимальной протяженности. В данном алгоритме при исходном мно-
жестве М={7"}, мощности п множеством объектов перебора (элемента-
ми Q(M)) является множество {Qv”}. Мощность его равна 0,5(л- 1)!.
Целевой функцией является длина обхода ЦО"). Критерий ее опти-
мальности — минимум:
ДО/)-*min (O,"g{O(v")}).
Как правило, при большой размерности задача имеет много ло-
кальных экстремумов.
Ответ: в общем случае задача относится ко второму типу, поиск
глобального экстремума требует полного перебора всех вариантов, ме-
тоды направленного поиска могут дать локально оптимальное решение.
Поскольку в ЗК мощность общего числа различных вариантов об-
хода Q(M) быстро растет с увеличением п, на практике точное решение
задачи с использованием алгоритма полного перебора может быть по-
лучено при сравнительно малых значениях п — до 8—10. При увеличе-
нии п время его работы недопустимо возрастает и он становится беспо-
лезным. Практически приемлемый выход заключается в применении
«хороших» приближенных алгоритмов, основанных на направленном
поиске, обеспечивающих, с одной стороны, быстрое решение задачи, а
с другой — максимально возможную близость получаемых приближен-
ных решений к искомому точному .
Пример 5. Задача: проверка истинности конъюнктивных нормаль-
ных форм (КНФ) булевых функций f(xn).
Глава 1. Общая характеристика задач. Интуитивное определение алгоритма 383
КНФ (разд. III) — это формульное выражение булевой функции
f{xn) Z), & ... & Dp, в котором Ds (1 <s<p) — логические суммы
(дизъюнкты) над множеством переменных X = (х,....,х„): Z) = x,“'lv...
vx“u, где {xn,...,xis)^X, x°f = x,k либо xik.
Пример КНФ булевой функции трех переменных: /(х3) =
(х, v х2 v х3) & (х, v х3) & (х2 v х3).
Требуется определить по КНФ булевой функции Дх"). будет ли она
выполнима, т. е. существуют ли такие наборы истинности переменных
х" =а'\ при которых формула принимает логическое значение «исти-
на» (обозначаемое как 1). Очевидно, при этом должны принять значе-
ние 1 все дизъюнкты формулы
£,(«") = ... = 0,(а") =1.
Решение. В данной задаче M=X=(xt, |Л/| = н. Q(M) = {множе-
ство Е"2 всех значений булевых векторов длины /?}, 7У= |(?(Л/)| = 2". Це-
левой функцией в задаче является сама КНФ (формула алгебры логи-
ки). Критерий оптимальности:
Дхл)= «истина», (х" е£2).
Ответ', задача относится к третьему типу.
Простейшим алгоритмом определения истинности КНФ булевой
функции является последовательная проверка всех 2" значений истин-
ности наборов переменных х" функции и их подстановка в КНФ, т. е.
полный перебор всего множества возможных исходов Q(M). Такой ал-
горитм неэффективен в том смысле, что число вычислений в нем быст-
ро увеличивается с ростом числа переменных п. Несмотря на то, что
задача занимает особое место в теории алгоритмов, до сих пор не удает-
ся найти точный метод ее решения, существенно сокращающий пере-
бор по сравнению с полным.
Задачи
1. Доказать, что в задаче коммивояжера число всех различных вариантов
циклических обходов Q(M) = {0(7")} для множества п упорядоченных населен-
ных пунктов {7"} равно 0,5(л - 1)!.
2. Допустим, необходимо найти оптимальное по некоторому признаку раз-
мещение 5 различных объектов на р различных местах при условии s<p. Какова
мощность множества всех различных вариантов размещений?
3. Решить задачу 2 в предположении, что все 5 размещаемых объектов оди-
наковы.
384
Раздел V. Теория комбинаторных алгоритмов
1.3. Блок-схема алгоритма
Сложные алгоритмы при описании разбивают на некоторую взаи-
мосвязанную совокупность более простых действий. Связи между со-
ставляющими алгоритм действиями представляют в виде ориентиро-
ванного графа, называемого блок-схемой. Пример дан на рис. 1.4.
1\°Д Условие 1 > Гуууу^
^>»| Блок П»| Блок 2]»| Ветвление Условие 2Выход
Условие 3
Рис. 1.4. Пример блок-схемы алгоритма
Вершинами данного графа обозначают следующие составные части
алгоритма.
1. Начало работы алгоритма. Вершина «Вход». Здесь обычно осуще-
ствляется ввод исходных данных, выполняются некоторые предва-
рительные расчеты. Из данной вершины выходит одна дуга, входящих
дуг нет.
2. Расчетные блоки. В примере — вершины «Блок 1»—«Блок 4». Здесь
обычно: а) осуществляются некоторые вычисления либо б) обозначе-
на отдельная автономная часть алгоритма, не связанная с остальными.
В такие вершины может входить любое число дуг, а выходить — толь-
ко одна.
3. Ветвления. Вершина «Ветвление». Осуществляет передачу управ-
ления при условии выполнения некоторых логических условий (в при-
мере их три), описывающих в сумме все множество возможных исхо-
дов. В такие вершины входит одна дуга, а выходит число дуг, равное
числу проверяемых условий.
4. Завершение работы алгоритма. Вершина «Выход». Как и в расчет-
ных блоках, может иметь любое число входящих дуг, но не имеет вы-
ходных.
С помощью блок-схем удобно передавать общую структуру алго-
ритмов, абстрагируясь от конкретного содержания выполняемых в них
операций.
ГЛАВА 2
ФОРМАЛИЗАЦИЯ ПОНЯТИЯ АЛГОРИТМА
Интуитивное определение алгоритма не может быть выбрано в ка-
честве универсального практического критерия реализуемости того или
иного метода вычислений на ЭВМ, поскольку используемые в нем сло-
весные выражения не имеют строгого математического определения и,
соответственно, не могут быть проверены.
Исследование алгоритмов также осложняется большим их много-
образием. Даже небольшая модификация алгоритма может значительно
изменить свойства его программной реализации — размер необходи-
мой памяти, время счета.
С учетом вышесказанного в теории алгоритмов выработан следую-
щий принципиальный подход к формализации понятия алгоритма.
В качестве критерия реализуемости того или иного метода на ЭВМ
принята возможность его моделирования (реализации) при помощи
следующих способов:
1) виртуального физического устройства (машина Тьюринга);
2) формульного выражения (рекурсивные функции);
3) преобразования слов в некотором алфавите при помощи опера-
ции подстановки (канонические системы Поста, нормальные системы
Маркова).
В теории алгоритмов доказана сводимость всех перечисленных спо-
собов формализации: любой алгоритм, описанный одним из способов,
может быть выражен при помощи всех других. Таким образом, с точки
зрения формализации алгоритма все три перечисленных подхода экви-
валентны.
Поэтому формально алгоритмом считается любой метод вычисле-
ний, который может быть выражен при помощи хотя бы одного из пе-
речисленных способов. Рассмотрим два из них — машину Тьюринга
(виртуальное программируемое физическое устройство) и рекурсивные
функции (формульные выражения).
386
Раздел V. Теория комбинаторных алгоритмов
2.1. Машина Тьюринга
Машина Тьюринга является виртуальным устройством для автома-
тического преобразования слов (последовательностей символов) в не-
котором алфавите.
2.1.1. Устройство, принцип работы, основные понятия
Машина Тьюринга состоит из потенциально неограниченной слева
и справа ленты Л, управляющего устройства УУ и считывающей голов-
ки Г (рис. 2.1).
Рис. 2.1. Устройство машины Тьюринга
Лента разбита на ячейки, в которых могут располагаться по одному
символу из некоторого внешнего алфавита А = {а0, а1гВ алфа-
вите А выделяется пустой символ А. Ячейка, содержащая пустой сим-
вол, также называется пустой.
УУ может находиться в состояниях Q = {q0, q\,..., qr„\}- Среди мно-
жества Q выделяют подмножества начальных и заключительных со-
стояний.
Работа машины Тьюринга происходит следующим образом. УУ
считывает информацию в текущей ячейке (некоторый символ из Л) и с
учетом текущего состояния (принадлежащего Q):
1) печатает новый символ в ячейке;
2) меняет свое состояние;
3) сдвигает считывающую головку Г на одну ячейку влево (Z), впра-
во (7?) или остается на месте (А).
Математически работу машины Тьюринга можно описать тремя
функциями, обеспечивающими выполнение перечисленных действий:
1) функцией выходов F: Q х А -> Л (печать символов);
2) функцией переходов G: Q х А —> Q (изменение состояния);
3) функцией движения D: Q х А -> {L, R, 5} (сдвиг).
Обычно все три функции задают одновременно.
Табличный способ задания
Столбцы таблицы соответствуют возможным состояния УУ, стро-
ки — символам внешнего алфавита Л:
Глава 2. Формализация понятия алгоритма
387
В клетке таблицы на пересечении строки, соответствующей симво-
лу ар и столбца, соответствующего состоянию qt, стоит набор величин
(qjp ajp dy), которые являются значениями функций переходов, выходов
и движения:
Qij- G(ap qj), ay=F(ap qj), dy=D(ap qj).
Если для данных ар qj значения (qip aip dy) не определены, то в таб-
лице ставится прочерк.
Задание в виде программы
Программа представляет собой список всех наборов значений ар qt,
на которых определены функции G, F, D, и соответствующих им значе-
ний G, F, D: qy=G(ap qj), ау= F(ap qj), dtj=D(ap qj).
ОПРЕДЕЛЕНИЕ. Пусть самая левая непустая ячейка ленты Л со-
держит символ д ь а самая правая непустая — символ ар. Последова-
тельность символов Р=ар ... ар называют словом, а количество s симво-
лов в слове — длиной слова.
ОПРЕДЕЛЕНИЕ. Пусть в некоторый момент времени t на ленте
записано слово Р, УУ находится в состоянии q,, а Г — напротив симво-
ла ajm слова Р. Последовательность (ар ... apm_V} Qiajm ••• ajd называют
конфигурацией машины в момент времени t и обозначают Kt.
Конфигурация полностью описывает текущее состояние машины
Тьюринга.
ОПРЕДЕЛЕНИЕ. Конфигурации в начале работы и в конце назы-
вают начальной и заключительной.
Обозначим конфигурацию в момент t через Kt, а в следующий мо-
мент времени (1 + 1) — через Kt+i. Конфигурацию Kt+l называют непо-
388
Раздел V. Теория комбинаторных алгоритмов
средственно выводимой из К,. Обозначается KJ= Kl+l. Если К-, — началь-
ная конфигурация, а Кт — конечная, то Кт называют заключительно
выводимой из Кх.
Пусть Рх — некоторое исходное слово. Машина Тьюринга Т, начав
работу над ним:
1) остановится через конечное число шагов /и;
2) никогда не остановится.
В первом случае говорят, что машина Т применима к слову Рх, а ко-
нечное словоРт— результат применения ТкР{ (обозначается ДД)).
Во втором случае говорят, что Тне применима к Рх.
Обычно по умолчанию считается, что:
1) исходное слово Рх — непустое;
2) в начальный момент Г находится напротив самой левой непустой
ячейки Л;
3) начальное состояние УУ равно q0.
ОПРЕДЕЛЕНИЕ. Зоной работы Т на слове Р называется множество
всех ячеек Л, которые хотя бы один раз обозреваются во время работы
головкой Г.
ОПРЕДЕЛЕНИЕ. Основным машинным кодом целого числа а (а>0)
называется слово к(а), состоящее из (а+1) единицы и обозначаемое
1“+1. Вектор а = (аь а2, ап) изображается кодом
Ца) = 1а1+1 01а2+1 0 ... 01а"+1.
2.1.2. Примеры машин Тьюринга
Рассмотрим примеры:
а) применения машин Тьюринга к конкретным словам;
б) построения машин Тьюринга, выполняющих заданные действия,
либо обладающих некоторыми свойствами.
Пример 1. Задана машина Тьюринга с программой
?о А ?2 1 R
9о 0 91 1 R
9о 1 9о 1 R
91 A 9j 1 R’
91 0 9о О L
9i 1 9о 1 R
начальное состояние — 9(), заключительное — q2.
Два первых символа каждой строки программы задают набор теку-
щих значений qh aj. Например, в первой строке первый символ «9()» оз-
начает текущее состояние УУ, второй «А» — текущий символ на ленте.
Глава 2. Формализация понятия алгоритма
389
Три последующих символа задают действия, которые необходимо вы-
полнить при данных <7( и Oj. В первой строке символы q2, 1, R означают,
что надо: 1) перевести УУ из состояния q0 в состояние q2; 2) в обозре-
ваемую ячейку ленты записать вместо текущего «Л» символ «1»; 3) пе-
редвинуть головку на одну клетку вправо по ленте.
Требуется применить машину к слову Р= 101.
Решение. Опишем функционирование машины в виде последова-
тельности конфигураций с подробным пояснением их построения.
t= 1. Кх = 90Ю1. Действия машины при сочетании <?01 заданы треть-
ей строкой программы. По ней <7(1, q0) - q0, F(l, q0) = 1, Z)(l, q0) = R. По-
этому следует оставить в ячейке символ 1, сохранить состояние УУ q0 и
перейти вправо.
t = 2. К2 = 1<?001. Действия машины при сочетании <?оО заданы второй
строкой программы. По ней (7(0, q0~)) = q{, F(0, q0) = 1, Z)(0, q0) = R. Сле-
довательно, надо изменить в ячейке символ 0 на 1, перевести УУ в со-
стояние <?! и перейти вправо.
/= 3. К3 = 11^1. G(l, <?,) = q0, F(l, 91) = 1, £>(1, qj = R.
t = 4. К, = 111%. (7(Л, q0) =q2, F(A., q0) = 1, Д(Л, q0) = R.
t=5. Ks= llll^-
Машина завершила свою работу, поскольку достигнуто заключи-
тельное состояние.
Ответ: а) Т применима к слову 101; б) 71(101) = 1111.
Пример 2. Задана машина Тьюринга с программой
<7о Л Яо 1 R
Яо 0 ql 1 R
Яо 1 Яо 1 R
Я\ Л Яг 1 R’
<71 0 q0 0 R
Я\ 1 Яо 1 R
начальное состояние — q0, заключительное — q2.
Необходимо применить машину к слову Р= 11.
Решение. Опишем функционирование машины в виде последова-
тельности конфигураций: = <у011, К2= 1<у01, К2= 11<70, = 111<70,...
R-n —
Очевидно, на слове Р= 11 машина никогда не остановится, т. к. она
будет бесконечно сдвигаться по ленте вправо и выполнять замену пус-
тых символов единицами: Л -> 1. Это можно строго доказать, напри-
мер, методом математической индукции.
Ответ: заданная машина Тьюринга не применима к слову 11.
390 Раздел И Теория комбинаторных алгоритмов
ПримерЗ. Построить машину Тьюринга, перемещающуюся слева
направо и стирающую левую часть любого слова до тех пор, пока не
встретит в его записи на ленте либо после нее два или больше подряд
идущих пустых символа Л. Например, исходное слово 10ЛЛ1Л0 должно
быть преобразовано в новое слово 1Л0, а слово 10Л1Л0 должно быть
полностью стерто.
Решение. Обозначим через qQ начальное состояние УУ. Как обычно,
по умолчанию считаем, что:
1) исходное слово Р— непустое;
2) в начальный момент Г находится напротив самой левой непустой
ячейки Л.
Признаком окончания стираемой части слова являются два подряд
идущих пустых символа. В каждом состоянии искомой машины проис-
ходит сдвиг вправо. Для остальных действий можно использовать логи-
ку, заданную блок-схемой на рис. 2.2:
Рис. 2.2. Блок-схема алгоритма примера 3
1) в начальном состоянии q0 при считывании 0 или 1 происходит их
стирание с сохранением q0, при считывании Л — переход в состояние qt
(запоминание первого пустого символа Л);
2) в СОСТОЯНИИ
а) при считывании символа 0 либо 1 — их стирание с переходом в qa
(поскольку последовательность из подряд стоящих пустых символов
прервалась);
б) при считывании пустого символа Л (который будет вторым под-
ряд) — переход в заключительное состояние q2.
Глава 2. Формализация понятия алгоритма
391
Записывая в виде набора команд действия, соответствующие со-
стояниям q0 и q{, получим искомую программу:
9о А 91 Л R
9о 0 9о А R
9о 1 9о А R
9о А 9г А R’
91 0 q0 Л R
91 1 9о А R
начальное состояние q0, конечное — q2.
Пример 4. Построить машину Тьюринга, прибавляющую два к про-
извольному числу а (реализующую численную функциюДа) = а + 2).
Решение. В основном машинном коде число а представлено словом
вида 1“+1. Машина Тьюринга должна вместо него записать на ленте
слово 1а+3, соответствующее числу (а + 2).
Обозначим начальное состояние q0. Допустим, длина записи 1а+1
будет увеличена на 2 путем последовательной замены двух самых левых
пустых символов на единицы. Блок-схема данного варианта алгоритма
представлена на рис. 2.3.
Рис. 2.3. Блок-схема алгоритма примера 4
Последовательно реализуя блок 1 и 2 за счет использования состоя-
ний qn и qx, а также принимая в качестве конечного состояния q2, полу-
чим программу искомой машины Тьюринга:
9о А 91 1 L
9о 0
90 1 9о 1 £
91 А 92 1
91 О
9о 1
начальное состояние — q0, конечное — q2.
392 Раздел V. Теория комбинаторных алгоритмов
Задачи
1. Выяснить применимость:
1) машины Тьюринга из Примера 1 к слову Р = 12001;
2) машины Тьюринга из Примера 2 к слову Р= 1011;
3) машины Тьюринга
Qo Л ?! 1 L
Qo 0 9j 0 5
Qo 1 Q\ ° R
Qo A 9i 1 L
91 0 qx 0 5
91 1 92 ° R
с начальным состоянием q0 и конечным д2 к словам: а) Р- 11; б) Р= 101.
2. Построить машины Тьюринга со следующими свойствами:
1) Т применима к любому слову из 0 и 1;
2) Т не применима к словам из 0 и 1, содержащим О2;
3) Тне применима к слову 1“0.
3. Построить машину Тьюринга, переводящую Кх в Кт:
1)Х1 = 9о1“;Лм = 91О“+1 (а>0);
2)^1 = 901а;Ат = 911“01“(а>0);
3)^ = 901“;Ат = 910“1“(а>0).
4. Построить машину Тьюринга, у которой на словах, состоящих только из
0 и 1, зоной работы будут:
1) крайний левый нуль и все единицы, предшествующие ему слева;
2) все левые нули и единицы до крайнеголевого подслова, равного 11.
5. Построить машину Тьюринга, которая:
1) все символы записи основного машинного кода к(а) числа а разделяет
дополнительными нулями;
2) сдвигает запись Л(Т) по ленте на клетку вправо;
3) складывает два неотрицательных целых числа cq и а2, представленные в
основном машинном коде в виде вектора lal+10 la2+1;
4) делит неотрицательные целые числа на два (без остатка).
2.1.3. Тезис Тьюринга. Существование неразрешимых
корректных задач
Практика построения машин Тьюринга показывает, что с их помо-
щью можно реализовать все «правильные» в интуитивном смысле алго-
ритмы — последовательности точно сформулированных и однозначно
выполняемых действий.
Этот факт позволяет как бы привязать свойство методов «быть ал-
горитмом» к данной формальной системе. Такое утверждение сформу-
лировано в форме тезиса Тьюринга.
Теорема 2.1 (Тезис Тьюринга'). «Всякий алгоритм может быть реа-
лизован машиной Тьюринга».
Глава 2. Формализация понятия алгоритма
393
Смысл тезиса в том, что реализуемость при помощи машин Тью-
ринга объявляется критерием алгоритмичности методов. При этом
проверка соответствия некоторого метода неточному интуитивному
определению алгоритма заменяется точным утверждением о возможно-
сти его реализации с помощью конкретного устройства. Математиче-
ская строгость данного утверждения заключается в том, что оно может
быть либо строго доказано либо опровергнуто.
Тезис Тьюринга является одним из возможных строгих определе-
ний понятия «алгоритм», данным с помощью некоторой предваритель-
но введенной конструкции. Подтверждением правильности такого под-
хода является его эквивалентность аналогичным определениям, вве-
денным при помощи других аналогичных подходов — аппарата рекур-
сивных функций, канонических систем Поста, нормальных систем
Маркова.
Введение строгого формального понятия «алгоритм» позволило
строго доказать существование неразрешимых корректных задач. Тью-
ринг доказал данный факт на примере проблемы остановки. Она заклю-
чается в следующем. Требуется построить распознающую машину Тью-
ринга То, которая для произвольной машины Т и произвольного слова
на ленте Р определяла бы применимость Т к. Р. Если Т остановится че-
рез конечное число шагов, начав работу над Р, то машина TQ должна
выработать логическое значение «истина» — Тп(Т, Р) = И. Если Т, начав
работу над Р, никогда не остановится, то Т0(Т, Р) = Л.
Сформулированная задача о построении распознающей машины
Тьюринга является корректной в том смысле, что у нее точно указан
объект — машина Тьюринга. Также точно указано действие, которое
она должна производить — определять конечность числа шагов работы
машины Тьюринга на заданном слове.
В теории алгоритмов методом «от противного» строго доказана тео-
рема о том, что распознающей машины Тьюринга, решающей пробле-
му остановки для произвольной машины Тьюринга, не существует. Это
является строгим доказательством существования корректных алгорит-
мически неразрешимых задач.
2.2. Рекурсивные функции
Данный математический аппарат также является одним из возмож-
ных способов формализации понятия алгоритма для числовых функ-
ций. Исторически появление такого подхода объясняется тем, что пер-
вые алгоритмы были сконструированы именно для выполнения опера-
394
Раздел V. Теория комбинаторных алгоритмов
ций с числами. Любое преобразование над числами (в том числе и уже
представленное в виде алгоритма) можно формально представить в ви-
де некоторой функции. Однако не для каждой функции вычисление
может быть организовано в виде алгоритма. Именно этот факт позволя-
ет связать понятие «алгоритм» с возможностью вычисления функций
некоторого вида — по аналогии с подходом Тьюринга, у которого поня-
тие алгоритма было приравнено к возможности построения соответст-
вующей вычисляющей машины.
Для конструирования, описания и изучения свойств функций из
множеств {/}, имеющих бесконечную мощность, в теории алгоритмов
принят конечный (финитный) подход, при котором любая сколь угодно
сложная функция Ft из бесконечного множества {/} может быть скон-
струирована из конечного числа простых базовых функций {/ь
при помощи конечного набора операций {Р},Ps}.
Областью определения и областью значений рассматриваемых функ-
ций является расширенный натуральный ряд N = {0, 1, 2, 3,...}. Каждая
«-местная функция Дхи ..., х„) является отображением/: У” -> N.
2.2.1. Примитивно-рекурсивные функции
Для определения данного класса функций используется финитный
подход.
ОПРЕДЕЛЕНИЕ. Простейшими называют следующие функции:
1) 0(х) = 0 — нулевая функция (константа)',
2) s(x) = х + 1 — функция следования;
3) /„(Хр ..., хя) =хт (1 < т <п) — селекторная функция.
Повторное применение функции следования Дх) к нулевой функ-
ции 0(х) = 0 позволяет получить все остальные константы из натураль-
ного ряда (У= 1, 2,...), т. е. реализовать здесь финитный подход.
ОПРЕДЕЛЕНИЕ. Суперпозицией функцийf(xx, ...,хт) Hg^Xj, ...,хя), ...,
gOT(xb..., хя) называется новая функция
F(xl; ...,хп) —f(g\(^\, ...,хя), ...,gm(Xi, ...,х„)),
которая образована из f подстановкой вместо аргументов (xb ...,хт)
функцийg^Xj, ...,хя), ...,gm(x1} ...,хя). Обозначается как S(fm, g” ,...,g"m).
Введенная операция суперпозиции описывает подстановку в функ-
цию вместо всех ее аргументов других функций. Она является обобще-
нием аналогичной операции, рассмотренной ранее в алгебре логики.
Применение селекторной функции в операции суперпозиции позволя-
ет реализовать частичные подстановки, перестановку и унификацию
параметров в функциях.
Глава 2. Формализация понятия алгоритма 395
Пример 1. Заданы функции Дх, у, z) и g(x, у, z). Рассмотрим примеры
реализации перечисленных операций.
1. Частичная подстановка:
q(x, у, z) =fig{x, у, z), у, z) = S(f3, g(x, у, z), 132(х, у, z), 13(х, у, z)).
2. Перестановка аргументов:
h(x, у, z) —fiy, x, z) = S(f3, l\(x, y, z), l\(x, y, z), I3fix, y, z)).
3. Унификация аргументов:
P(x, у, z) —fix, x, z) = S(f3, l\{x, y, z), 1](х, y, z), I33(x, y, z)).
ОПРЕДЕЛЕНИЕ. Операция примитивной рекурсии определяет по
«-местной функции g(xr,...,xn) и (и + 2)-местной функции h(x.\,...,xn,
хл+1,хл+2) новую (и+1)-местную функцию Дхр ..., хп, у) при помощи
схемы примитивной рекурсии, которая имеет вид
Дх1( ...,х„, 0)=g(xi, ...,хл);
Дхь ...,х„,у + 1) = Л(х1; ...,x„,y,fixlt ...,х„,у));у>0.
Операция примитивной рекурсии определена при всех п > 0. Обо-
значается как Rn(g, Л).
Данная операция позволяет реализовать рекурсивный способ вы-
числения функций, который в общем случае нельзя организовать при
помощи простейших функций и суперпозиции.
При минимальном числе переменных и = 0 операция примитивной
рекурсии R0(g, h) определяет функцию одной переменной Ду) по:
а) некоторой константе Се N;
б) функции двух переменных h(y,z)'.
fiV=g=C;
fiy + 1) =й(у,Ду));у > 0.
Пример 2. Применить операцию примитивной рекурсии к констан-
те 0 и селекторной функции 1\ (х, у).
Решение, и = 0, g = 0, h(x, у) = 1} (х, у). По схеме примитивной рекур-
сии получаем функцию одной переменной:
ДО) = g=0;
Дх + 1) = Л(х,Дх)) = /3(х,Дх))) =х; х > 0.
В итоге получим 7?0(0(х), l](x, у)) = max (0, х - 1).
Пример 3. Применить операцию примитивной рекурсии к функци-
ям g(x) = 1\(х) и h(x, у, z) = S(s', /Зз(х, у, z)).
Решение. Применяя схему примитивной рекурсии, получаем функ-
цию двух переменных:
Дх, 0)=g(x) = Z11(x)=x;
Дх,у + 1) = h(x,у,fix,у)) = 5(5*, /33(х,у,fix,у))) =Дх,у) + 1 = х+у; у >0.
396
Раздел V. Теория комбинаторных алгоритмов
Таким образом, в результате получена функция сложения
R\(.l\{x), S(sx, 1\{х,у, г))) = х + у.
ОПРЕДЕЛЕНИЕ. Классом примитивно рекурсивных функций Кар на-
зывают все множество функций, которые могут быть получены из про-
стейших функций с помощью конечного числа применений операций
суперпозиции и примитивной рекурсии.
Таким образом, класс Кщ., имеющий бесконечную мощность, опре-
делен при помощи трех базовых функций и двух операций. В примере 3
доказана принадлежность к классу Кар функции сложения х + у путем
построения для нее вывода из простейших функций при помощи опе-
раций суперпозиции и примитивной рекурсии. Аналогично можно по-
казать принадлежность к классу ЛГпр целочисленных функций умноже-
ния, усеченной разности, возведения в степень и др.
Однако в теории алгоритмов строго доказано, что не все функции,
вычисление которых может быть представлено с помощью алгоритмов,
принадлежат классу
Задачи
Доказать принадлежность к классу /С11р следующих целочисленных функций:
1)Дх) = 2х;
2)Дх,у) = ху;
3)Дх,у) = х<
2.2.2 Частично-рекурсивные и общерекурсивные функции.
Тезис Черча
Для расширения класса примитивно рекурсивных функций исполь-
зуется дополнительная операция минимизации.
ОПРЕДЕЛЕНИЕ. Пусть Дх1;...,хя) — произвольная «-местная функ-
ция. Новая «-местная функция g(x1; ...,хя) вводится следующим обра-
зом. Анализируются все возможные наборы переменных (oq,..., ая) и
для них — уравнение вида
..., ая_1,у) = а„.
Рассматриваются следующие возможные ситуации.
1. Уравнение имеет решение уое N:
а) если для всех 0<у <у0 значения функцииДа1;..., ая_1;у) опреде-
лены и отличны от ая, то полагаем: g(oq,..., ал) = уп;
б) если существует у} такое, что 0 <j^0 и значение функции
/(cq,..., ая_1,у1) не определено, то считаем, что значение g(cq,...,a„)
также не определено.
Глава 2. Формализация понятия алгоритма
397
2. Уравнение не имеет решений у0 е N. Полагаем, что значение
g(a1;ая) не определено.
Способ построения функции g(xt, ...,х„) называют минимизацией по
переменнойхп. Обозначается pxn(f(x„)).
Очевидно, при применении операции минимизации в отличие от
суперпозиции и примитивной рекурсии могут порождаться функции,
определенные не на всей области изменения переменных.
ОПРЕДЕЛЕНИЕ. Классом частично-рекурсивных функций Кчр назы-
вают все множество функций, которые могут быть получены из про-
стейших функций с помощью конечного числа применений операций
суперпозиции, примитивной рекурсии и минимизации.
Термин «частично» в определении функций означает, что значения
их могут быть определены не при всех значениях переменных.
ОПРЕДЕЛЕНИЕ. Классом общерекурсивных функций Кор называют
все частично-рекурсивные функции, полностью определенные на всей
области значений своих переменных.
Для введенных классов рекурсивных функций справедливы сле-
дующие строгие включения:
^пр Кор Кчр-
Аппарат частично-рекурсивных функций является достаточным для
формализации понятия «алгоритм» применительно к вычислению чи-
словых функций, что нашло свое выражение в тезисе Черча.
Теорема 2.2 (Тезис Черча). «Всякая функция, вычислимая некоторым
алгоритмом, является частично-рекурсивной».
Как и в тезисе Тьюринга, свойство алгоритмичности функции сведе-
но к ее принадлежности к математически строго определенному классу.
В теории алгоритмов строго доказано, что определения, вводимые
тезисами Тьюринга и Черча, эквивалентны в том смысле, что:
а) всякая частично-рекурсивная функция вычислима и с помощью
машины Тьюринга;
б) всякая функция, вычислимая с помощью машины Тьюринга, яв-
ляется также частично-рекурсивной.
ГЛАВА 3
РАЗМЕР ЗАДАЧИ. СЛОЖНОСТЬ АЛГОРИТМА
3.1. Размер задачи. Скорость роста
Все решаемые задачи требуют предварительного задания исходных
данных. Как правило, в них можно выделить характерное число, опре-
деляющее величину этих данных. Например:
а) при проверке, будет ли заданное число простым или составным,
характерным является само число;
б) в задаче коммивояжера характерным принимают число городов и;
в) при проверка истинности КНФ булевой функций Дх") — число
переменных п в функции и т. д.
При вводе в ЭВМ исходные данные кодируются каким-либо спосо-
бом. Примерами кодирования чисел являются:
а) основной машинный код в машинах Тьюринга;
б) представления в позиционных системах счисления.
Символьная информация задается в стандартных кодах либо в спе-
циальном графическом представлении.
Как правило, с точки зрения принципиального решения задачи все
способы кодирования эквивалентны. Однако в ряде случаев за счет бо-
лее удобной формы представления можно использовать более простой
или быстрый алгоритм.
ОПРЕДЕЛЕНИЕ. Размером задачи называют длину последователь-
ности символов, в которой закодированы все исходные данные.
Например, представление чисел в основном машинном коде требует
п + 1 символ, а представление в позиционной системе с основанием b —
только ]logA«[ символов. Для ЭВМ размер памяти обычно оценивается
числом байтов — последовательностей из восьми бинарных разрядов.
С ростом п размер задачи всегда возрастает, однако в одних случаях
необходимое число символов возрастает быстрее, чем в других. Так,
(л+ 1) > ]logA«[. Для оценки поведения функций, зависящих от цело-
численных натуральных характеристических параметров, вводят поня-
тие скорости роста.
Глава 3. Размер задачи. Сложность алгоритма
399
Рассмотрим на множестве натуральных чисел ДГфункцииДи) и g(ri).
ОПРЕДЕЛЕНИЕ.
1. Функции g(ri) и Ди) имеют одинаковую скорость роста, если при
всех достаточно больших и, начиная с некоторого и0, выполняется ус-
ловие
С[Ди) < Ди) < С2Ди), где С[ > О, С2 > 0 — некоторые константы.
2. Скорость роста функции g(n) больше скорости роста функции Ди),
если для любой сколь угодно большой константы С существует некото-
рое и0, начиная с которого выполняется условие
СДи) < Ди).
3. Скорость роста функции Ди) ограничена снизу скоростью роста
функции Ди), если при всех достаточно больших и, начиная с некото-
рого и0, выполняется
СДи) < g(n), где С — константа.
4. Скорость роста функции Ди) ограничена сверху скоростью роста
функции Ди), если при всех достаточно больших и, начиная с некото-
рого и0, выполняется условие:
Ди) < СДи), где С — константа.
Данное определение позволяет сравнивать между собой скорости
роста функций достаточно произвольного вида как имеющих, так и не
имеющих предел отношения Ди)/Ди) при п -> <ю.
Замечание. Если скорость роста функции g(n) равна скорости роста
функции Ди), то скорость роста Ди) ограничивает скорость роста Ди) и
сверху и снизу.
Пример 1. Рассмотрим задачу с характерным параметром и, у кото-
рой входными данными являются все простые делители числа п, не
равные единице. С увеличением п число делителей к(п) будет постоян-
но изменяться в пределах от 1 (у простого числа) до log2n (у степеней 2).
Поэтому для длины входа к(п) не существует элементарной монотон-
ной функции с одинаковой скоростью роста. Для нее можно только
лишь указать ограничения, верные при любых и: 1 < к(п) < log2n.
В общем случае, для каждой положительной функции натурального
параметра к(п) возможны следующие случаи:
1) не существует монотонной функции Ди) с одинаковой скоростью
роста, а при всех п, начиная с некоторого и0, возможны лишь оценки
Сн/н(и)<Ди)<Св/в(и),
где Сн>0, Св>0 — нижняя и верхняя константы;/н(и),/в(и) — различ-
ные функции.
400
Раздел V. Теория комбинаторных алгоритмов
2) существует монотонная функция Ди) с одинаковой скоростью
роста, для которой при всех и, начиная с некоторого и0, выполняется
СнДи) <Ди) <СвДи),
где Сн, Св — константы,
Во втором случае при наличии монотонной функции Ди) с одина-
ковой скоростью роста для отношения k(n)/f(n) при и -> оо может: а) не
существовать и б) существовать ограниченный предел
к(п) _ _
lim-----= Сп > 0.
„-+»/(и) р
ОПРЕДЕЛЕНИЕ. Случай 2 б) является наиболее распространен-
ным при анализе скорости роста реальных функций натурального па-
раметра. Константу Ср в приведенном выше пределе назовем констан-
той скорости роста, а соответствующую скорость роста — устойчивой.
Функции Ди), зависящие от натурального параметра и, могут иметь
любой вид, однако скорости их роста Ди) для большей наглядности и
упрощения сравнений выражают через модельные элементарные
функции (логарифмы, степенные, показательные и др.) либо их произ-
ведения. Наиболее часто используют степенные функции па. При а = 1
скорость роста функции па называют линейной, при а = 2 — квадратич-
ной, при а = 3 — кубической и т. д. Все скорости роста вида па называют
полиномиальными. С увеличением а полиномиальная скорость роста
также возрастает.
Существуют функции, скорости роста которых превосходят при
п -> оо любую (со сколь угодно большим показателем а) полиноми-
альную скорость. Например, 2я, еп, п\. Скорости такого типа называют
экспоненциальными.
Из двух функций gj(«), g2(n) с одинаковой устойчивой скоростью
роста Ди) меньшие значения в пределе будет иметь функция с меньшей
константой скорости роста Ср.
Пример 2. Определить скорость роста Ди) функции g^ri) = (п- 5)/3,
константу скорости роста Ср, а также определить пороговое значение
параметра и0 и константы Сь С2, при которых справедливо соотноше-
ние С^Ди) < Ди) < С^Ди).
Решение. Т. к. при и оо предел отношения g\(n)/n существует и ра-
вен 1, то скорость роста функции g^n) равна линейной полиномиаль-
ной Ди) = и1, а константа скорости роста Ср = 1/3.
Определим параметры и0, С,, С2. Для этого используем следующие
соотношения:
(1/6) х и1 < (и - 5)/3 < (1/3) х и1.
Глава 3. Размер задачи. Сложность алгоритма
401
Правое неравенство очевидно и выполняется при любых п, кон-
станта (1/6) в левой части задана произвольно из условия 1/6 < 1/3, ве-
личину п0 определим из левого неравенства:
(1/6) х и1 < (и - 5)/3 => 3 х п <6 х п -30 => 3 х и > 30 => л>10.
Ответ: f[n) = пх,Ср = 1/3, п0 = 10, Ct = 1/6, С2 = 1/3.
Пример 3. Определить скорость роста Ди) функции #2(и)= 0>25 х
х (и - 1)(и + 2), константу скорости роста Ср, а также определить поро-
говое значение параметра п0, нижнюю и верхнюю константы С{, С2, при
которых справедливо соотношение С\Ди) <g(n) <
Решение. При п -> оо предел отношения £2(и)/и2 существует и равен
1/4. Следовательно, скорость роста функции g2(n) равна квадратичной
полиномиальной: Ди) = и2, Ср = 1/4.
Определим и0, С\, С2. Для этого используем соотношение
и2/4 < 0,25 х (и - 1)(и + 2) < и2/3.
Определим граничное значение и0, начиная с которого будут вы-
полняться неравенства в левой и правой частях.
Левая часть:
и2/4 х 0,25 < (и - 1)(и + 2) => и2 < и2 + и- 2=>и>2=>и0 = 2.
Правая часть:
0,25 х (и - 1)(и + 2) < и2/3 => Зи2 + Зи - 6 < 4и2 => и2 - Зи + 6 > 0.
Т. к. дискриминант уравнения отрицательный, то данное неравен-
ство справедливо при любых и.
Ответ: fin) = п\Ср= 1/4, и0-2,С1= 1/4, С2 =1/3.
Обозначим скорость роста размера задачи через г (и). Рассмотрим
примеры ее определения.
Примеры 4. 1. При проверке, будет ли число и простым или состав-
ным, г(и) задачи определяется длиной записи самого числа п. В пози-
ционных системах с основанием b — размер задачи r(n) = ]logjп[.
2. В задаче коммивояжера из всех исходных данных наиболее быст-
ро (и2) растет число элементов симметричной матрицы стоимости С
размером п х п. Поэтому скорость роста размера данной задачи будет
квадратичной полиномиальной — г(и) = п2.
Задачи
1. Определить постоянную скорость роста Ди) функции g(n) = 5 х (и -1) х
х (и + 3)/(и + 5), константу скорости роста Ср, а также найти значения n0, С1( С2,
при которых справедливо соотношение С(Ди) <g(n) < C^fln).
402
Раздел V. Теория комбинаторных алгоритмов
2. Найти скорость роста Ди) и константы скорости роста С функций:
a)gi(«) = 0,l х (и!-2я2 + Зи+ 10)/(Зи - 1);
б) g2(n) = (ея + Зя10 + 7)(4я3 - 6п 2 + 2я + 5);
в) 5з(«) = 2” + пп -п2.
3. Доказать, что:
а) скорость роста функции и! превосходит в пределе при п -> <х> скорость
роста функции 2 я;
б) скорость роста функции 2я превосходит в пределе при я->оо любую
(со сколь угодно большим показателем а) скорость роста полиномиальной
функции и “.
4. Выяснить для функции скорости роста Ди) = и2(1 +(-!)")+ 2и+ 1:
а) устойчивость скорости роста;
б) ограниченность снизу;
в) ограниченность сверху.
3.2. Сложность алгоритма. Классификация алгоритмов
по сложности
Размер задачи г(и) оценивает величину памяти, необходимой для
представления исходных данных задачи в ЭВМ.
Однако возможность представления условия задачи в памяти ЭВМ
не гарантирует ее практического решения. Во-первых, как правило,
нужна дополнительная память для хранения промежуточных и оконча-
тельных результатов счета.
Во-вторых, время решения может оказаться недопустимо большим.
И первое условие, и второе зависят от алгоритмов, применяемых при
решении задачи.
Размер дополнительной памяти, как правило, определить неслож-
но. Рассмотрим время счета. В процессе реализации расчетного алго-
ритма, выбранного для решения задачи, необходимо выполнять опре-
деленное число элементарных арифметических, логических и других
операций — сложения, вычитания, умножения, деления, возведения в
степень, сравнения и т. д.
Пусть в процессе решения задачи при помощи некоторого алгорит-
ма выполняются элементарные операции с номерами 1, 2, Сред-
нее время выполнения этих операций на используемой ЭВМ обозна-
чим через ..., tk, число операций, зависящее от применяемого алго-
ритма решения, — черезg|(и),
Обозначим полное время счета алгоритма через Т(п). Достаточно
точно его можно выразить в виде суммы: Т(п) = Т^п) + Т’2(и) + ••• + ^(и),
Глава 3. Размер задачи. Сложность алгоритма
403
где Тх(п), Т2(п), ..., Тк(п) — общее время выполнения каждой из опера-
ций 1, 2,к. Выражая все величины ТДГ) через /;И£,(и), получим
Т(п) = ^&(п).
i=i
Рассмотрим зависимость скорости роста общего времени счета ал-
горитма Ди) от чисел выполняемых операций gt(п)—gk(n).
Теорема 2.3. О скорости роста времени счета алгоритма. Пусть при
выполнении алгоритма используются элементарные операции
У операции с номером s (1 <s<k) число выполняемых операций gs(n) имеет
устойчивую скорость роста fs(n). У остальных операций i (1 <i<k, i*s)
числа выполняемых действий g^ri) ограничены сверху функциями со скоро-
стями роста, меньшими fs(ri).
Тогда при п—ж скорость роста общего времени счета алгоритма Т\п)
будет устойчивой и равна скорости роста fs(n) независимо от среднего
времени выполнения 11г..., tkэлементарных операций f[(n), ...,fk(n).
Доказательство. Представим общее время счета алгоритма Ди) в
следующем виде:
к
T(n) = tsgs(n)+ £ t^n).
/=1, i*s
У операции s для числа выполняемых действий gs(ri) по определе-
нию одинаковой скорости роста с fs(n) существуют такие значения
nOs е N, Cls > 0, > 0 , что при V и > и01 выполняется условие CXsfs(n) <
^gstn^Cxfsfn).
Рассмотрим остальные операции i (1 <i<k, i*s). Очевидно, £,(и)^0.
По определению ограниченности сверху для любой операции i сущест-
вуют такие значения nQieN, С2/>0, что при V и >и0,- выполняется усло-
вие: g,(И) < С,,:fi(n).
Принимая = 0^; С2 = тахС2/; п0 =тахн0/, зависимость всех пар
i<i<k i£i<k
функций g,(«), f(n) при V п > и0 можно представить в унифицирован-
ном виде: gi(ri) < C2fj(n), а для общего времени счета — записать нера-
венство
C\tsfs{n)<T(n)<C2
tsfs(n)+ Y
1=1, i*s
Поскольку все скорости роста/ (н) при i*s меньше скорости роста
Д(и), то по определению для константы С = 1 всегда найдется такое зна-
404
Раздел V Теория комбинаторных алгоритмов
чение параметра n'Oiе N, что при V n>n'Oi справедливо: fj(ri)<fs(ri).
Принимая в качестве п'о = шах(и0, п'о1,n'jk), получим, что при V п > п'о
правое неравенство может быть представлено в виде
к
T(n)<C’2xfs(n)x^ti.
к
Вводя новые константы Cj = Cf х/3; C2=C'2x'^tj, получим, что при
i=i
V п > п'о выполняется соотношение, доказывающее справедливость тео-
ремы:
С^п^Т^С^п),
т. е. одинаковую скорость роста общего времени счета Т(п) и макси-
мальной из скоростей роста числа элементарных операций алгоритма,
что и требовалось доказать.
Замечания. 1. Одинаковая скорость роста числа выполняемых опе-
раций может быть у нескольких элементарных операций. Справедливость
доказанного утверждения при этом сохраняется.
2. Если у максимально растущих чисел операций g^ri) скорость роста не
является устойчивой, а известна лишь верхняя ее оценка, то справедлив
следующий вариант теоремы 2.3.
Теорема 2.4. О верхней оценке скорости роста времени счета алго-
ритма. Пусть при выполнении алгоритма используются элементарные
операции Числа этих операций g\(n),gk(ri) ограничены сверху
скоростью роста функции fin).
Тогда при п^<х> скорость роста общего времени счета алгоритма
Т(п) также будет ограничена сверху скоростью роста функции fin).
Доказательство теоремы 2.4 можно выполнить по аналогии с дока-
зательством теоремы 2.3.
Следствие. Скорость роста общего времени счета алгоритма Т(п) оп-
ределяется скоростями роста fin), ...,fk(n) чисел элементарных операций
gi(n),..., gk(n) либо их верхними границами.
ОПРЕДЕЛЕНИЕ. Скорость роста общего времени счета алгорит-
ма Т\п) называют сложностью алгоритма и обозначают через Ди).
В зависимости от сложности все комбинаторные алгоритмы делятся
на несколько основных групп.
ОПРЕДЕЛЕНИЕ. Полиномиальными называются алгоритмы, слож-
ность которых ограничена полиномом.
Примеры 1. а)Ди) = и; б)Ди) = и2; в)Ди) = и х logn < и2.
Глава 3. Размер задачи. Сложность алгоритма
405
ОПРЕДЕЛЕНИЕ. Экспоненциальными называются комбинаторные
алгоритмы, сложность которых в пределе при бесконечном возраста-
нии п превышает полином любой степени.
Примеры 2. a)f(n) = еп; 6)f(n) = пп; a)f[n) = п\, г)Дл) = 2".
ОПРЕДЕЛЕНИЕ. Субэкспоненциальными называются алгоритмы,
сложность которых в пределе при бесконечном возрастании л превы-
шает полином любой степени, но меньше 2"5 при любом 8 > 0.
Пример 3.f(n) = л10®”.
Рассмотрим примеры расчета сложности алгоритмов.
Пример 4. Задача: упорядочить объекты линейного числового мас-
сива Л [и] по убыванию его элементов а,-.
Предлагаемый алгоритм решения: внутренняя (без использования
дополнительной памяти) сортировка с выбором. В данном алгоритме
выполняется и - 1 шаг. На первом определяется минимальный из п
элементов а2,..., ап и путем обмена с помещается на первое место.
На втором определяется минимальный из п-1 элементов а2,...,ап и
путем обмена с а2 помещается на второе место и т. д.
Необходимо определить сложность алгоритма как функцию харак-
терного числа задачи, которым является длина массива п.
Решение. В алгоритме используются две основные операции —
1) сравнение величин элементов массива и 2) обмены пар элементов
местами. Определим в зависимости от параметра задачи п числа вы-
полняемых основных операций. Обозначим их соответственно g}(n) и
g2(n). Т. к. всего выполняется л-1 шаг, на каждом один обмен, то
g2(n) = п - 1. На первом шаге выполняется (л - 1) сравнение, на втором —
(л-2),..., на последнем (л - 1)-м — одно сравнение. gt(n) определяем
как сумму арифметической прогрессии:
gi(n) = (л - 1) + (л - 2) +... + 1 = л(л - 1 )/2.
Т. к. для найденных функций выполняются следующие предельные
оценки:
то по определению g^n) имеет квадратичную полиномиальную ско-
рость роста, а£2(л) — линейную.
Ответ'. Поскольку у операции сравнения 1 устойчивая квадратич-
ная полиномиальная скорость роста, а у операции обмена 2 — устойчи-
вая линейная скорость, то по теореме 2.3 скорость роста общего време-
ни счета (сложность) алгоритма будет устойчивой и равна максималь-
406
Раздел V. Теория комбинаторных алгоритмов
ной из скоростей роста чисел элементарных операций, т. е. будет квад-
ратичной полиномиальной.
Пример 5. Необходимо определить сложность алгоритма полного
перебора в задаче коммивояжера ЗК для п населенных пунктов {v"} =
= {V1, V2,V„}.
Решение. На каждом из (и - 1)!/2 возможных обходов при полном
переборе требуется выполнить следующие операции:
1) сформировать сам обход О" = {v(1, vi2, ...,
2) вычислить длину обхода {v;1, v,-2,v;n} L(On);
3) сравнить длину обхода ЦОп) с текущим значением минимума
Zmin и при необходимости — скорректировать Zmin.
Поскольку формирование обхода О” требует п элементарных опе-
раций, вычисление длины — также п сложений, то числа выполняемых
операций (и), g2(n), g3(n) будут следующими:
£1(и) = и!/2, g2(n) = п'./2, g/n) = (п- 1)1/2.
Для найденных функций выполняются следующие предельные
оценки:
lim sM
= —; lim lim
2 n\ 2 —1)! 2
По теореме 2.3 сложность алгоритма будет устойчивой и равна мак-
симальной из скоростей роста чисел элементарных операций, т. е. будет
факториальной по п.
Ответ: Сложность алгоритма относится к экспоненциальному типу.
Сравнительные значения величин функций для трех рассмотрен-
ных типов скоростей роста при значениях характерного параметра п -
= 10, 100, 1000 приведены в таблице.
Вид алгоритма Функция и = 10 «=100 и = 1000
1. Полиномиальный и1 10 ю2 103
п log и 10 2- 102 3 103
И2 102 104 106
п3 103 10б ю9
„1° Ю10 Ю20 ю30
2. Субэкспоненциальный п1пл 200,7 1,62- 1013 5,29 1029
3. Экспоненциальный еп 0,22 • 105 0,27- 1043 0,78 Ю208
2п 0,1 • 104 0,12-1031 0,1 • Ю301
п\ 0,36 - 107 10158 4 102567
пп ю10 ю200 103000
Глава 3. Размер задачи. Сложность алгоритма
407
Выводы по практическому применению алгоритмов
1. Субэкспоненциальные и экспоненциальные алгоритмы имеют
практическое значение только при малых п (обычно при п < 10).
2. При значительных значениях параметра п необходимо применять
только полиномиальные алгоритмы.
3. При решении задач большой размерности по п необходимо ис-
пользовать полиномиальные алгоритмы степени не выше 2—3.
4. При наличии нескольких алгоритмов одинаковой сложности для
решения одной задачи следует выбирать алгоритмы с минимальной
константой скорости роста.
Задачи
1. КНФ некоторой «-местной булевой функции f(xn) содержит т дизъюнк-
тов, в которые входит ровно одна переменная либо ее отрицание х;. И пере-
менные, и их отрицания могут повторно входить в КНФ любое число раз. Длина
КНФ т линейна по числу ее переменных п. Построить алгоритм проверки вы-
полнимости КНФ рассмотренного вида, имеющий в худшем случае линейную
сложность по параметру п.
2. Необходимо выяснить, будет ли натуральное число п простым или со-
ставным. Разработать алгоритмы решения задачи, имеющие в худшем случае
сложность по числу необходимых операций деления:
а) линейную по п\
б) меньшую, чем линейная.
3. Есть п одинаковых монет. Известно, что среди них одна фальшивая,
имеющая меньший вес. Также имеются двухчашечные весы, позволяющие
сравнивать между собой любые веса.
Разработать алгоритмы поиска фальшивой монеты, имеющие в худшем
случае сложность общего числа взвешиваний по п:
а) линейную;
б) меньшую, чем линейная.
ГЛАВА 4
ТОЧНЫЕ И ПРИБЛИЖЕННЫЕ АЛГОРИТМЫ.
ОЦЕНКИ ИХ СЛОЖНОСТИ
Точными называют алгоритмы, дающие абсолютно (глобально) оп-
тимальные решения задач. Исходя из сложности имеющихся, уже по-
строенных правильных точных алгоритмов решения комбинаторных
задач выделяют несколько классов таких задач.
4.1. Класс Р. Полиноминальная сводимость
ОПРЕДЕЛЕНИЕ. Класс наиболее эффективно решаемых задач,
для которых существуют точные алгоритмы решения полиномиальной
сложности (со скоростью роста общего времени счета Ди) = иа), назы-
вают классом Р.
К данному классу относятся все простейшие задачи вычислитель-
ного характера, например арифметические действия. Однако к классу Р
также относится и большое число комбинаторных задач. Рассмотрим
примеры таких задач и строго докажем их принадлежность классу Р.
Пример 1. Задача: определение максимального (минимального) эле-
мента в числовом линейном массиве А[п].
Решение. Если массив не представлен в памяти вычислительного
устройства специальным образом (например, упорядочен по возраста-
нию или убыванию элементов), то только просмотр всех элементов
требует п операций. Число операций сравнения равно п-l. Поэтому
сложность алгоритма Ди) = п.
Ответ: данная задача по определению принадлежит классу Р.
Пример 2. Задача: сортировка линейного числового массива А[п] по
возрастанию (убыванию).
Решение. Как показано в п. 3.2, алгоритм сортировки с выбором
(который является не самым быстрым из существующих алгоритмов
сортировки) имеет квадратичную полиномиальную сложность.
Ответ: Задача сортировки линейных массивов входит в Р.
Глава 4. Точные и приближенные алгоритмы. Оценки их сложности
409
Замечание. Данный простейший алгоритм решения не оптимален в
том смысле, что можно указать другие алгоритмы решения данной задачи,
затрачивающие меньшее число операций сравнения. Цель приведенного
алгоритма — показать, что для рассмотренной задачи существуют алгорит-
мы решения полиномиальной сложности.
Из того факта, что до настоящего времени для некоторой задачи не
удалось разработать точный алгоритм решения полиномиальной слож-
ности нельзя делать категоричный вывод, что задача не принадлежит
классу Р. Невозможность построения точного алгоритма решения по-
линомиальной сложности для данной задачи должна быть доказана ма-
тематически строго, иначе всегда остается потенциальная возможность
разработки такого алгоритма.
Для практического исследования сложности алгоритмов исполь-
зуют понятие полиномиальной сводимости. Оно заключается в сле-
дующем.
ОПРЕДЕЛЕНИЕ. Рассмотрим первый алгоритм AIt решающий не-
которую задачу I, а также второй алгоритм Аи, предназначенный в об-
щем случае для решения другой задачи II, отличающейся от I. Допус-
тим, построен вспомогательный алгоритм А', позволяющий выразить
АИ при помощи полиномиального числа вспомогательных операций и
полиномиального числа обращений к алгоритму Ах. В этом случае А'
называют полиномиальным сведением алгоритма Аи к а алгоритм Ал
называют полиномиально сводимым к алгоритму At.
Свойство полиномиальной сводимости транзитивно, если алгоритм
А} полиномиально сводим к Аи, а Ап — к Аш, то очевидно, что и по-
линомиально сводим к Аш. Также для данного свойства очевидна спра-
ведливость аксиом рефлексивности и симметричности. Следовательно,
полиномиальная сводимость вводит на множестве всех алгоритмов би-
нарное отношение эквивалентности и разбивает его на классы эквива-
лентных (полиномиально сводимых) алгоритмов.
Использование понятия полиномиальной сводимости позволяет
при исследовании сложности алгоритмов использовать следующее ут-
верждение.
Теорема 4.1. Если алгоритм Alt полиномиально сводим к другому алго-
ритму Aj, имеющему полиномиальную сложность (А^еР), то Ап также
имеет полиномиальную сложность (Иц еР).
Понятие полиномиальной сводимости позволяет строго доказывать
принадлежность задач классу Р при помощи аппарата машин Тьюринга.
410
Раздел V. Теория комбинаторных алгоритмов
4.2. Класс NP. TVP-полнота
Рассмотрим произвольные комбинаторные задачи. Размерность их
будем обозначать через п. Допустим, условие задачи задано некоторой
совокупностью данных х, а ответом в ней является некоторая другая
совокупность данных у.
ОПРЕДЕЛЕНИЕ. Предикатом задачи называется логическая функ-
ция Рп(х, у), дающая при заданных совокупностях условий и возмож-
ных решений задачи (х, у) ответ, будет ли у являться правильным ре-
шением задачи при исходных данных х. Если у — правильное реше-
ние для х, то Рп(х,у), должен быть равен «true», иначе — Рп(х, у) =
«false».
Формальная запись предиката задачи Р'\х, у) должна быть допол-
нена соответствующим алгоритмом проверки. Так же, как в случае ал-
горитмов решения самой задачи, для вычисления истинности предика-
та может быть построено множество алгоритмов проверки. Сложность
их тоже может быть различной. Практический интерес представляют
алгоритмы проверки, имеющие минимальную сложность.
ОПРЕДЕЛЕНИЕ. Минимальную сложность алгоритмов, вычис-
ляющих предикат некоторой задачи Рп(х, у), называют трудоемко-
стью проверки задачи.
ОПРЕДЕЛЕНИЕ. Если для задачи существует предикат Р"(х,у) с
полиномиальной сложность вычисления его истинности, то говорят,
что задача имеет полиномиальную трудоемкость проверки. Класс всех
задач с полиномиальной трудоемкостью проверки обозначают NP.
Рассмотрим примеры определения трудоемкости проверки задач.
Пример 1. Задача по определению максимального (минимального)
элемента в числовом массиве А[п].
Решение. В простейшем случае проверка, будет ли некоторый вы-
бранный элемент максимальным (минимальным) потребует, как и сам
алгоритм поиска п просмотров элементов и (и - 1) операции сравнения.
Сложность такого алгоритма проверки трудоемкости задачи Ди) = и.
Ответ’. Задача определения экстремального элемента в числовом
массиве принадлежит классу NP.
Отметим, что в данном примере сложности решающего и прове-
ряющего алгоритмов равны.
Пример 2. Сортировка линейного числового массива А[п] по возрас-
танию (убыванию).
Глава 4. Точные и приближенные алгоритмы. Оценки их сложности 411
Решение. Ответом в данной задаче является сам отсортированный
массив. Проверка его упорядоченности требует выполнения (и -1)
операции сравнения. Сложность проверки линейна и меньше квадра-
тичной сложности решения
Ответ: задача сортировка линейного числового массива принадле-
жит классу NP.
В примерах 1, 2 рассмотрены задачи из класса Р и доказано, что они
входят и в класс NP. В действительности это свойство справедливо для
всех задач из класса Р, т. к. для любой задачи может быть указан алго-
ритм проверки со сложностью, не превышающей сложность алгоритма
решения. Отсюда следует нестрогое включение: /’с NP.
Строгое включение Pc NP можно было бы доказать в том случае,
если хотя бы для одной задачи было строго доказано, что она имеет по-
линомиальную трудоемкость проверки, однако не может быть решена
никаким алгоритмом с полиномиальной сложностью.
Если же удастся доказать, что из полиномиальной проверки трудо-
емкости любой задачи вс'егда следует существование разрешающих ее
алгоритмов полиномиальной сложности, то тем самым удалось бы до-
казать строгое равенство P=NP.
Рассмотрим примеры задач, для которых доказана полиномиальная
трудоемкость проверки, однако все попытки построить решающие алго-
ритмы с полиномиальной сложностью пока остаются безрезультатными.
Пример 3. Проверка истинности конъюнктивных нормальных форм
(КНФ) булевых функций /(х").
Условие задачи х — множество дизъюнктов Дь ..., Dp, которые яв-
ляются логическими суммами переменных из множества X- (хь ...,хп)
либо их отрицаний. Решение у может быть представлено в виде неко-
торого набора значений переменных а”, на котором /(ал) = 1.
Точный алгоритм проверки заключается в однократной подстанов-
ке набора а” в КНФ и проверке условия 01(ал) = ... = Д/,(ал) = 1.
Пример 4. Задача коммивояжера. При известной минимальной дли-
не обхода Zmin и некотором заданном обходе городов (vzl, vz2,..., vin) ал-
горитм проверки решения будет заключаться в подсчете длины данно-
го обхода по матрице стоимостей и сравнении полученной длины
с Zmjn. Данный алгоритм требует линейное число операций по числу
городов п.
Сложности Ди) = и“ алгоритмов решения задач из класса Р легко
сравнить между собой, рассматривая их показатели а. Для того чтобы
412
Раздел V. Теория комбинаторных алгоритмов
сравнивать между собой сложности решения задач из класса NP, введе-
но понятие УУР-полноты, основанное на рассмотренном ранее понятии
полиномиальной сводимости.
ОПРЕДЕЛЕНИЕ. Задачу из класса NP называют NP-полной, если
точные алгоритмы решения других задач из класса NP полиноминально
сводимы к точному алгоритму решения данной задачи.
На практике доказательство УУР-полноты конкретной задачи I про-
изводят следующим образом:
а) показывают, что /с NP — задача принадлежит классу NP (имеет
полиномиальную трудоемкость проверки);
б) доказывают, что некоторая уже известная УР-полная задача по-
линомиально сводима к I. В силу транзитивности свойства полиноми-
альной сводимости отсюда следует сводимость к ней всех других NP-
полных задач.
В настоящее время строго доказана УУР-полнота следующих комби-
наторных задач:
• проверка истинности КНФ;
• задача коммивояжера;
• поиск гамильтонова обхода в графе и нескольких сотен других.
Частные упрощенные случаи УУР-полных задач могут иметь точные
полиномиальные алгоритмы решения, поэтому их необходимо рас-
сматривать особо.
Понятие УУР-полноты имеет следующую связь с решением пробле-
мы Р = УУР. Если удастся построить точный полиномиальный алгоритм
решения хотя бы одной из УУР-полных задач, то отсюда автоматически
будет вытекать существование полиномиальных алгоритмов решения и
для всех других УУР-полных задач, а следовательно, и доказательство
равенства классов Р = NP. В то же время, если Р* УУР, то ни для какой
из УУР-полных задач не может существовать полиномиальных алгорит-
мов решения.
В настоящее время среди специалистов по теории алгоритмов пре-
обладает мнение, что верно строгое включение PczNP и для УУР-
полных задач не существует полиномиальных алгоритмов решения.
4.3. Основные виды сложностей комбинаторных алгоритмов
Основным критерием оптимальности алгоритмов является их
сложность, оценивающая количество необходимых операций, а следо-
вательно, и время работы алгоритма. У алгоритмов с жесткой структу-
рой, которые на каждом множестве с характерным параметром п вы-
Глава 4. Точные и приближенные алгоритмы. Оценки их сложности
413
полняют одинаковое число одних и тех же операций, сложность явля-
ется постоянной функцией от п.
Однако основная часть применяемых на практике алгоритмов су-
щественно учитывает свойства обрабатываемых множеств. Сокращение
перебора в них, как правило, обеспечивается за счет проверки допол-
нительных логических условий, существенно сокращающих число рас-
сматриваемых вариантов. Поскольку у таких алгоритмов количество
операций будет переменным на множествах с одинаковым числом эле-
ментов (но различным по составу), то к понятию сложности алгоритма
в общем случае следует подходить дифференцированно.
Допустим, некоторый алгоритм А предназначен для решения опре-
деленной задачи на множествах из некоторой совокупности {М\. Рас-
смотрим основные виды сложности алгоритмов, представляющие
практический интерес, и продемонстрируем их на примере простей-
шего модельного алгоритма, который путем последовательного перебо-
ра элементов линейного массива вещественных чисел ЛДи] определяет
первый по счету отрицательный элемент. В данном алгоритме выпол-
няется только одна операция — сравнение текущего элемента с нулем.
Число этих операций и определяет сложность алгоритма.
1. Минимальная сложность. Это минимально возможная сложность,
которую имеет алгоритм А на совокупности множеств {Л/}. Определяет-
ся как
min/(и, А, {М}) = min f(n, А, МА.
Mj е {М}
Обычно используется в качестве дополнительного критерия качест-
ва алгоритмов. В примере минимальная сложность алгоритма достига-
ется на массиве чисел М{п], у которого самый первый элемент /я, <0.
Число операций сравнения равно 1, поэтому ming(n, А, {М}) - 1 = п°.
Отсюда следует, что минимальная сложность min Ди, А, {М}) = п°.
2. Максимальная сложность. Максимально возможная сложность
max/(и, А, {М})= max f(n, А, МА.
Mj е {М}
Существенная характеристика алгоритма, позволяет оценить пре-
дельное число операций и время работы алгоритма А на заданной сово-
купности множеств {М}. В рассмотренном алгоритме максимальное
число операций выполняется в том случае, если отрицательный эле-
мент стоит на самом последнем месте либо вообще отсутствует в масси-
ве. При этом число операций maxg(n,A, {М}) = п = п1, максимальная
сложность max Ди, А, {М}) = п'.
414
Раздел V. Теория комбинаторных алгоритмов
3. Сложность на характерных множествах. В любых наборах мно-
жеств, как правило, можно выделить множества М’, которые наиболее
часто обрабатываются алгоритмом, либо обработка которых имеет по-
вышенную ценность для решения конкретных задач. Их сложности
оцениваются отдельно: Ди, А, М*). Для рассмотренного модельного
алгоритма характерными являются:
1) множество М~, состоящее только из отрицательных чисел;
2) множество М+, содержащее только положительные числа.
Для них
Ди, А, М~) = 1 = и0; Ди, А, М+) = п = п1.
Соответственно,
Ди, А, М") = и0; Ди, А, М+) = и1.
4. Средневероятная сложность алгоритма А на наборе множеств {М} —
это величина /ср(и, Л, {Л/}), равная скорости роста следующего числа
операций:
gcp(n, А, {М} = £ р(ЛД)Ди, A, Mj),
где суммирование производится по всем Mt е {М}; p(Mj) — вероятность
появления множества Л/,-; Ди, А, М) — сложность алгоритма А на кон-
кретном множестве е {М}.
Сложность gcp имеет смысл математического ожидания, т. е. усред-
ненной величины Ди, А, по всем М, е {М}.
В рассмотренном модельном алгоритме сложность применения к
конкретному множеству Mi е {М} зависит от того, на каком месте стоит
первый отрицательный элемент. Если он стоит на месте k (1 < к < п), то
сложность алгоритма на таком массиве равна также к. Если отрица-
тельных элементов нет, то сложность равна и. Допустим, все события,
заключающиеся в появления первого отрицательного элемента на мес-
те с номером к (А<к<п), а также событие, заключающееся в полном
отсутствии отрицательных элементов, равновероятны. Поскольку чис-
ло элементарных исходов равно (п+ 1), то вероятности их одинаковы и
равны 1/(и+1). Подставляя значения чисел операций и вероятность
появления соответствующих массивов в формулу математического
ожидания, получим следующее выражение для средневероятного числа
операций сравнения:
gcp(n, А, {М}) = [1 + 2 + ... + (и - 1) + п + п]/(п + 1) = 0,5 х и х (и + 3)/(и + 1).
При п -> оо gcp(n, А, {М}) -> 0-,5 х п, следовательно, средневероятная
сложность алгоритма является линейной полиномиальной:
/ср(«,д {м)=«‘-
Глава 4. Точные и приближенные алгоритмы. Оценки их сложности 415
Применяемые на практике алгоритмы требуют, как правило, ис-
пользования более тонких методов оценки их сложности для подсчета
чисел выполняемых операций.
4.4. Приближенные алгоритмы решения комбинаторных задач
При больших размерностях экспоненциальные точные алгоритмы
решения комбинаторных задач требуют недопустимо большого време-
ни. Поэтому возникает проблема решить задачу не точно, а прибли-
женно, но таким образом, чтобы:
1) полученное решение было бы максимально близко к точному;
2) приближенный алгоритм являлся бы полиномиальным с наибо-
лее возможной низкой степенью.
Основной принцип построения приближенных алгоритмов заключает-
ся в замене требования глобальной оптимальности локальной оптималь-
ностью.
Рассмотрим задачу коммивояжера (ЗК).
По приближенному методу ближайшего соседа для построения оп-
тимального обхода по множеству V, содержащему п городов, применя-
ется следующий критерий локальной оптимальности. Допустим, уже
построен обход по вершинам Vik. В качестве следующей верши-
ны P^+i) принимаем вершину из множества У\(Уа,вершин, еще
не вошедших в обход, у которой расстояние до Vjk будет минимально.
Справедлива следующая теорема.
Теорема 4.2. Если С=(п * п) — симметричная матрица стоимостей,
удовлетворяющая неравенству треугольника, а О”пт и Рпат — точное
оптимальное решение (полученное полным перебором всех обходов) и при-
ближенное оптимальное решение, полученное по методу ближайшего со-
седа, то
Z(P"nT)/Z(OnonT)<(]lg«[+l)/2.
Приведенная теорема дает оценку точности приближенного алго-
ритма: во сколько раз приближенное оптимальное решение может быть
хуже точного. Для таких оценок важен вопрос: достигается ли она —
т. е. существует ли пример, на котором ЦРп)/ЦО,) = (]lgп[ + 1 )/2.
Построена матрица стоимостей, на которой Д(РЯ)/£(ОЯ) >lg«/3. Это
дает основание утверждать, что по сложности оценка достигается.
Сложность алгоритма имеет порядок и2, поскольку мы делаем п ша-
гов, на каждом из которых просматриваем (и- 1), (п-2),..., 1 расстоя-
ние. Общее количество просмотров равно и2/2 « О(и2).
416
Раздел V. Теория комбинаторных алгоритмов
Путем усложнения локально оптимальных методов можно значи-
тельно повышать их точность. Например, в ЗК метод ближайшего сосе-
да можно усовершенствовать следующим образом. На £+1-м шаге
ищем город ближайший не к последней вершине Vjk, а ко всему
множеству (Va,..., Vik). Такой алгоритм называется алгоритмом включе-
ния ближайшего города.
Несмотря на усложнение, такой алгоритм тоже можно реализовать
со сложностью и2. Справедлива следующая.
Теорема4.3. Если С=(п хи) — симметричная матрица стоимостей,
удовлетворяющая неравенству треугольника, О”пт — точное оптимальное
решение (полученное полным перебором всех обходов), а Рп0ПТ — приближен-
ное оптимальное решение, полученное по методу включения ближайшего
города, то
L(P"om)/L(p"om) <2.
Т. к. построен пример, в котором lim [£(Р”ПТ)/£(О"ПТ)1 -> 2 при
и —> оо , то оценка достигается.
Принцип локальной оптимальности может быть реализован раз-
личными способами. Например, в ЗК может быть построен некоторый
начальный полный обход Оп, а затем он модифицируется таким об-
разом, чтобы порядок обхода вершин был изменен не более к раз
(^-замена). В качестве локального оптимума Рпот принимается обход
минимальной длины, полученный из начального Оп путем применения
всех возможных £-замен.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«ТЕОРИЯ КОМБИНАТОРНЫХ АЛГОРИТМОВ»
В. 1.
Задана машина Тьюринга
?0 А ?3 A S
4о 0 4о । Я
4о 1 41 0 R
41 A q3 А 5
41 0 4о 0 R
42 1 42 1
42 А
42 0 42 1
42 1 42 0 5
с начальным состоянием q0 и конечным — q3.
Глава 4. Точные и приближенные алгоритмы. Оценки их сложности 417
Необходимо выяснить ее применимость к словам:
а) 1011; б) 00101.
В. 2.
Задача. Поиск всех подграфов^ в произвольном графе G = (V, Л); | У\ = п.
Алгоритм. Поиск выполняется перебором всех возможных попарно раз-
личных сочетаний вершин графа G длины 5 и обязательной проверкой наличия
всех ребер, соединяющих их.
Необходимо найти сложность данного алгоритма проверки и константу
скорости роста, если среднее время проверки наличия одного ребра равно tn.
Характерным параметром задачи принять п — число вершин в графе G.
В.З.
Определить скорость Ди) и константу скорости роста функции g(n) = 5 х
х (е" + log10« - 7)(4я3 + Зп + 5).
В. 4.
Найти сложность алгоритма и константу скорости роста при выполнении
умножения квадратных матриц п х п.
В. 5.
Доказать, что функции gx(n) = log10« + 5 и g2(n) = 2 х (log2п - 3) имеют оди-
наковые скорости роста.
В. 6.
Найти сложность алгоритма и константу скорости роста при выполнении
умножения квадратной матрицы п х п на вектор длины п.
В. 7.
Сравнить скорости роста функций g^n) = 2 х З2" + 5я8 + 1 и g2(n) = 7 х 23я+
+ log2«.
В. 8.
Построить машину Тьюринга, не применимую к словам, имеющим длину,
большую 4.
В. 9.
На расширенном натуральном ряду задана функция/(х, у, z) =х + у + Z- Не-
обходимо с помощью операции суперпозиции и использования простейших
функций получить из нее функцию g(x) = 3 х х.
В. 10.
Заданы два конечных множества А и В одинаковой мощности.
Разработать алгоритм проверки включения множеств А с В, определить его
сложность, а также константу скорости роста, если время сравнения одной па-
ры элементов равно /с.
В. И.
Построить машину Тьюринга, которая умножает любое число а, заданное
основным машинным кодом к(а), на 2.
В. 12.
Для машины Тьюринга из задачи 1 выяснить применимость к словам:
а) 101001; б) 01110.
418
Раздел V. Теория комбинаторных алгоритмов
В. 13.
Построить машину Тьюринга, не применимую к словам, содержащим по-
следовательность символов 101.
В. 14.
Задача. Бинарное отношение введено на декартовом квадрате множества
А[п] при помощи таблицы. Необходимо проверить, будет ли отношение сим-
метричным.
Алгоритм. Для всех l<,i<,n; i<j <п производится проверка:
(а(у р ву() & (aji р а у) или (а у -> р ау7) & (ау7 -> р а у). Если условие выполнено для
всех i,j, то отношение симметричное, иначе — нет.
Необходимо найти сложность данного алгоритма проверки и константу
скорости роста, если среднее время проверки одной пары элементов обозначим
через tn. Характерным параметром задачи принять п — число элементов в мно-
жестве А.
В. 15.
Определить скорость fin) и константу скорости роста функции g(ri) =
= (n\-n3 + n2)(e" + lof’3n + 2n+ 1).
В. 16.
На расширенном натуральном ряду задана функция fix, у, z, и) = х + 2у +
+ 3z +4и. Необходимо с помощью операции суперпозиции и использования
простейших функций получить из нее функцию ^(х) = 5(х + у).
В. 17.
Доказать, используя определения, что скорость роста функции 100 х п\
меньше в пределе при п -> <х> скорости роста функции пп.
В. 18.
Построить машину Тьюринга, у которой зоной работы будут 3 крайних ле-
вых символа любого слова.
В. 19.
Задача. Необходимо найти всевозможные различные гамильтоновы цепи в
произвольном графе G=(V,X); |И| = и. Обходы одной цепи в прямом и обрат-
ном направлении считать различными.
Алгоритм. Поиск выполняется путем перебора всех возможных сочетаний
вершин графа G длины п и проверкой наличия всех ребер между подряд стоя-
щими в выборке вершинами.
Необходимо найти сложность данного алгоритма проверки и константу
скорости роста, если среднее время проверки наличия одного ребра равно tn.
Характерным параметром задачи принять п — число вершин в графе G.
В. 20.
Сравнить скорости роста функций g1(n) = n2" + 5n + 12 и g2(n) = nloS1" +
+ 10n3 + n- 1.
В. 21.
Найти сложность, а также константу скорости роста алгоритма транспони-
рования квадратной матрицы размером п х п.
Глава 4. Точные и приближенные алгоритмы. Оценки их сложности 419
В. 22.
Алгоритм проверки некоторого свойства булевой функции f(xn), завися-
щей от переменных (xpXj, ...,хя), требует анализа всех сторон ее таблицы ис-
тинности. Найти сложность данного алгоритма.
В. 23.
Найти сложность алгоритма и константу скорости роста при выполнении
сложения квадратных матриц п х п.
В. 24.
Алгоритм решения задачи требует проверки всех ребер и-мерного единич-
ного куба. Найти сложность данного алгоритма, приняв характерным парамет-
ром задачи размерность куба п.
Раздел VI
КОДИРОВАНИЕ И СЖАТИЕ ИНФОРМАЦИИ
При передаче, хранении, анализе и машинной переработке всех ви-
дов информации возникает необходимость в ее кодировании, т. е.
представлении в специальной форме, а также в уменьшении ее объема.
Переход от непрерывного аналогового к дискретному кодированию
позволил значительно поднять качество процесса передачи и перера-
ботки информации практически без потери ее исходного содержания.
ГЛАВА 1
ОСНОВНЫЕ ТЕРМИНЫ ТЕОРИИ КОДИРОВАНИЯ
И СЖАТИЯ ИНФОРМАЦИИ
1.1. Кодирование и сжатие информации
Рассмотрим процесс кодирования. Обозначим через А алфавит со-
общений, описывающих исходную информацию, через В — кодирую-
щий алфавит (символы, используемые при замене исходной информа-
ции на кодовую). Через SB обозначим множества всех слов соответ-
ственно в алфавитах Л и В.
ОПРЕДЕЛЕНИЕ. Кодированием {кодом) множества SA называют
однозначное отображение множества на множество слов C{SA) с SB.
Обозначается <р: SA —> C{SA) с SB. Само множество C{SA) называют кодом
SA. Обратное отображение из C(SA) в SA называют декодированием.
Наряду с кодированием для обеспечения технической реализации
процессов хранения, передачи и обработки информации требуется зна-
чительное уменьшение ее объема. Соответствующее дополнительное
преобразование называют сжатием информации.
Информация, порождаемая источником, преобразуется в коди-
рующем устройстве и подается на передающее устройство, откуда по
линии связи через приемник поступает в декодирующее устройство, а
затем к потребителю. При наличии помех в линии связи информация
искажается, поэтому помимо передачи параллельно должна решаться
задача устранения возникающих ошибок.
Глава 1. Основные термины теории кодирования и сжатия информации 421
Схематически весь процесс преобразования информации и переда-
чи ее от источника к потребителю представлен на рис. 1.1.
Точная Искаженная
________информация_______информация
| Передатчик)------------>] Линия связи
Кодированная
информация
Кодирующее
устройство
Исходная
информация
| Источник |
Декодирующее
устройство
| Потребитель |
Рис. 1.1. Общий алгоритм передачи и приема кодированной информации
Основной целью теории кодирования и сжатия информации явля-
ется построение алгоритмов, оптимизирующих процессы ее преобразо-
вания, передачи и исправления.
Главными требованиями к данным алгоритмам является простота
математического описания и практической реализации методов коди-
рования и декодирования (исключая те случаи, когда требуется обеспе-
чить конфиденциальность передаваемой информации).
Для численной оценки эффективности методов кодирования и сжа-
тия необходимо точное математическое определение количества ин-
формации.
1.2. Информация и энтропия
Словесно информацию (лат. informatio — сведения, разъяснения,
изложение) можно определить как сведения, предназначенные для
хранения, передачи и преобразования.
В общем случае понятие «количество» информации о некотором
объекте может оценивать три взаимосвязанных ее свойства, сущест-
венных для получателя:
1) смысл (семантическая теория информации);
2) ценность (прагматическая теория информации);
3) уменьшение неопределенности знаний об объекте (статистиче-
ская теория информации).
Смысл и ценность информации могут быть определены только ее
конечным адресатом — человеком. Поскольку данные оценки являются
422
Раздел VI. Кодирование и сжатие информации
субъективными, для них сложно дать количественное измерение.
Уменьшение неопределенности основано на учете объективных веро-
ятностных характеристик информационного объекта, поэтому именно
это свойство применяют для количественной оценки информации.
Пусть по каналам связи передается некоторый символ а, который
может принимать т независимых равновероятных состояний а1г а2,...,
ат. В качестве величины, характеризующей информацию, несущую
символом а, принята величина 1= log2m.
ОПРЕДЕЛЕНИЕ. Единица информации (1 бит) — это информация,
которую содержит один элемент, способный принимать т = 2 равнове-
роятных независимых состояния. Один бит совпадает с логической
единицей: 1= log22 = 1.
Если вероятности всех т состояний alt а2,..., ат одинаковы (pj =
= р2 —...=рт = 1/т) и независимы, то количество информации в одном
символе можно представить в виде
1= log2w =-log2p.
В случае неравной вероятности состояний аьа2,...,ат каждое из
них а( несет информацию 1= -log2p(.
ОПРЕДЕЛЕНИЕ. Энтропией называется средняя величина инфор-
мации, приходящаяся на один символ:
^ = Xp,log2p,-.
i=i
Энтропия имеет вероятностный смысл математического ожидания
и характеризует среднюю степень неопределенности поступающих со-
общений.
В случае р2 = 1, р2 = ... = рт = 0 (символ всегда принимает одно и то
же значение) Я= -log21 = 0 — неопределенность отсутствует, энтропия
минимальна.
В случае рх =р2 = ... =рт = 1/т (все состояния равновероятны) Н=
= -т х (\/т) х log2(l/m) = log2m — энтропия максимальна, отсутствует
определенность.
1.3. Основные структурные свойства кодов и их численные
характеристики
Основными являются следующие свойства кодов.
I. Число символов, используемых при кодировании, — основание
кода. Обозначается через т. В зависимости от величины т различают
следующие коды.
Глава 1. Основные термины теории кодирования и сжатия информации 423
1. Единичные коды (т = 1). Используется один символ. Кодовые со-
общения представляют собой его повторы различной длины. Приме-
няются редко.
2. Двоичные коды (т = 2). Используются два символа, обозначаемые
обычно 0 и 1. Сообщения состоят из наборов данных символов. Эти
коды получили наибольшее распространение, поскольку современные
физические устройства, хранящие, преобразующие и передающие ин-
формацию работают, как правило, в двоичной системе счисления (с дву-
мя рабочими состояниями).
3. Многозначные коды (т>2). Используют 3 и более символов при
кодировании. По распространенности занимают промежуточное место
между двоичными и единичными кодами. Для эффективного исполь-
зования их необходимо применять аппаратуру, работающую в системе
счисления с соответствующим основанием т > 2.
II. Длина кодовых слов (число символов в них).
Обозначается через п. В зависимости от величины п коды бывают:
1. Равномерные. Длина п у всех слов одинакова.
2. Неравномерные. Длины кодовых слов л,- могут различаться.
Каждый вид кода имеет свои преимущества и недостатки, поэтому
они применяются в зависимости от конкретных требований, предъяв-
ляемых к ним.
III. Полнота используемых комбинаций кодовых слов.
Данный признак обычно вводится для равномерных кодов. Полное
число возможных комбинаций, представимых в рассматриваемом коде,
обозначим через N. В словах длины и с основанием т всего имеется тп
различных комбинаций, следовательно, для них N=mn. Количество
комбинаций, используемых кодом для передачи информации, обозна-
чим через Np. В зависимости от соотношения Nn Np коды делят на:
1. Неизбыточные, у которых N= N, т. е. для передачи информации
используются все возможные кодовые комбинации.
2. Избыточные, у которых N> Np — для передачи информации ис-
пользуется только часть возможных кодовых комбинаций. Оставшаяся
часть применяется, как правило, для распознавания и коррекции воз-
можных ошибок передачи.
Введем основные характеристики избыточности кодов.
ОПРЕДЕЛЕНИЕ. Избыточностью кода называют величину
/e=l-(logOT^/logOTJV).
Поскольку 1 < Np < N, то величина R лежит в интервале от 0 до 1.
Для простых кодов (N= Np) R = 0.
424
Раздел VI. Кодирование и сжатие информации
В тех случаях когда для передачи информации используется фикси-
рованное число разрядов к (из общего их числа и), то подставляя в
формулу для R значения Np = mk и N=mn, получим R=(n-k)/n, где
(и - к) — число разрядов, не задействованных в непосредственной пе-
редаче информации.
ОПРЕДЕЛЕНИЕ. Скоростью передачи кодовых сообщений называет-
ся величина
R' = 1 - R.
ОПРЕДЕЛЕНИЕ. Информационными называют разряды кодовых
слов, непосредственно передающие полезную информацию. Их число
обозначим через к.
Проверочными называют разряды кодовых слов, которые служат для
обнаружения и устранения ошибок передачи информации. Их число
обозначим через г. Очевидно, г=п-к.
Замечание. Неу всех кодов, обладающих возможностью обнаруже-
ния и устранения ошибок, можно явно выделить информационные и про-
верочные разряды.
Поскольку на практике наибольшее распространение имеют дво-
ичные коды (/и = 2), в дальнейшем будет рассматриваться только этот
тип. Для него используют следующие дополнительные числовые харак-
теристики.
IV. Вес кодовой комбинации со — количество единиц в данной ком-
бинации.
Например, со(10011) = 3, со(ОООООООЮ) = 1.
V. Кодовое расстояние векторов (расстояние Хэмминга) р — количе-
ство несовпадающих компонент в сравниваемых векторах.
Пример 1. р ((10011), (01001)) = 3, р ((10011), (01100)) = 5.
VI. Ошибкой при передаче кодового слова c=(cj,..., с„) называют из-
менение какого-либо одного передаваемого символа с,- (i = 1, ...,п) на
противоположный ему (0 на 1, 1 на 0).
Число ошибок равно расстоянию Хэмминга р(с, с') между отправ-
ленным и принятым словами с и с'.
Пример 2. 1. Если при передаче слова с = (10011) получено слово
с'= (11001), то произошли ошибки в разрядах с номерами 2 и 4,
р((10011), (11001)) = 2.
2. Если с — (00110), а с' = (11111), то произошли ошибки в разрядах с
номерами 1, 2, 5. р((00110), (11111)) = 3.
Глава 1. Основные термины теории кодирования и сжатия информации 425
1.4. Основные характеристики методов сжатия информации
Сжатие обеспечивает необходимое уменьшения объема информа-
ции для практической реализации и оптимизации процессов ее переда-
чи, обработки и хранения. Эта проблема особенно актуальна для визу-
альной и звуковой информации.
По структурным свойствам методы сжатия делят на простые (базо-
вые) и составные. В простых используют один алгоритм, который мо-
жет быть достаточно сложным. В составных методах последовательно
применяют несколько базовых методов сжатия, а также другие вспо-
могательные преобразования информации.
В общем случае качество сжатия определяется двумя взаимосвязан-
ными основными показателями: коэффициентом сжатия (отношение
размера исходного файла к размеру закодированного) и точностью, под
которой понимают степень сохранения качества исходной кодируемой
информации.
По точности методы сжатия делят на две большие группы — сжа-
тие без потерь (при сжатии и последующей распаковке исходная ин-
формация восстанавливается полностью) и сжатие с потерями (англ. —
lossy compression) — после восстановления часть исходной информации
теряется.
Основным недостатком методов сжатия без потерь является низкий
коэффициент сжатия (средние значения близки к 2—3). Для обеспече-
ния хранения и передачи (особенно в динамическом режиме) больших
объемов информации необходимы коэффициенты сжатия, равные де-
сяткам и даже сотням. Их могут дать только методы сжатия с потерями.
Они существенно учитывают особенности восприятия кодируемой ин-
формации человеком и отбрасывают либо усредняют такие ее состав-
ляющие, которые не только не влияют на распознавание общего смыс-
ла информации, но и на ее эстетическую оценку.
ГЛАВА 2
НЕИЗБЫТОЧНЫЕ КОДЫ. МЕТОДЫ СЖАТИЯ БЕЗ ПОТЕРЬ
У неизбыточных кодов для передачи информации применяются все
возможные кодовые комбинации либо число неиспользуемых (избы-
точных) комбинаций относительно невелико и они могут быть исполь-
зованы для распознавания и коррекции ошибок. С другой стороны,
неизбыточность можно трактовать таким образом, что в кодовую ин-
формацию не вносится дополнительная составляющая, необходимая
для выполнения вспомогательных действий по ее обработке. Отдельно
рассмотрим коды для чисел и текстовой информации.
Методы сжатия без потерь дают низкий средний коэффициент сжа-
тия, но при этом полностью сохраняют всю сжимаемую двоичную ин-
формацию.
Обычно исходную информацию теоретически представляют в ли-
нейной форме — в виде вектора, состоящего из некоторого набора не-
делимых элементов. При битовом представлении линейной информа-
ции — это 0 или 1. Однако при кодировании обычно за единицу ин-
формации принимают байт (8 бит). Главной идеей сжатия без потерь
является применение сокращенных кодов для часто встречающихся в
общей записи длинных последовательностей элементов.
Основными методами этой группы являются следующие.
1. Методы кодирования длин серий (run-lengh encoding, RLE). В них
непосредственно указывают одинаковые последовательностей коди-
руемых элементов.
2. Словарные методы. Последовательности элементов заменяют их
сокращенным кодом, который содержится в специальной таблице —
словаре. Наилучшие результаты дает метод Зива — Лемпеля, на основе
которого разработан целый ряд методов сжатия.
3. Энтропийные (статистические) методы при сжатии каждого сим-
вола существенно используют вероятность его появления в тексте.
Последняя группа с учетом специфики их построения будет рас-
смотрена отдельно в гл. 3.
Глава 2. Неизбыточные коды. Методы сжатия без пот ерь 427
2.1. Равномерные коды для чисел
2.1.1. Простой двоичный код
Количество всех возможных комбинаций из 0 и 1 длины п равно 2Л.
Все возможные комбинации располагают обычно в лексикографиче-
ском порядке, когда соответствующие им двоичные числа от 0 до 2” - 1
расположены в порядке возрастания. Например, при п = 3 сообщения с
номерами 1—8 кодируются следующими комбинациями:
1 2 3 4 5 6 7 8
ООО 001 010 011 100 101 ПО 111
0 1 2 3 4 5 6 7
В третьей строке указаны лексикографические номера кодовых на-
боров.
Очевидно, если задано число всех различных сообщений N, то для
передачи их по неизбыточному простому коду требуется число разрядов
п = ]log2 АТ — ближайшее целое число сверху к log2 N. При N, не равном
степени 2 (например Np = 10), получаемый простой код (п = ]log210[ = 4)
содержит некоторую избыточность, т. к. у него Np<N (10 < 24 = 16, R =
= 1 - log210/log216 = 1 - 3,32/4 = 0,17). Эта избыточность обусловлена
структурой используемых кодов и не может быть применена для гаран-
тированного выявления (а тем более исправления) даже в одном разря-
де передаваемых сообщений. Данный вид кодов используется для
передачи информации по каналам, в которых отсутствуют помехи и
искажения.
2.1.2. Двоично-десятичные коды
В некоторых случаях для более быстрого и удобного преобразова-
ния информации, выраженной в десятичной системе счисления, при-
меняют двоично-десятичные коды, в которых цифры от 0 до 9 кодиру-
ются в простом двоичном коде. Т. к. число кодируемых цифр равно 10,
то для них необходимо использовать равномерные коды, имеющие
длину п = ]log210[ = 4. Простой двоично-десятичный код, представлен-
ный в лексикографическим порядке, имеет вид
0 1 2 3 4 5 6 7 8 9
0000 0001 0010 ООП 0100 0101 ОНО 0111 1000 1001
Как показано в п. 2.1.1, такой код избыточен с R = 0,17.
В ряде случаев для замены операции вычитания сложением приме-
няют самодополняющие коды.
428 Раздел VI. Кодирование и сжатие информации
ОПРЕДЕЛЕНИЕ. Дополнением цифры а в системе счисления с ос-
нованием т называют цифру ат = т - а - 1.
Например, в двоичной системе счисления 02 = 2- 0-1 = 1, 12 = 2 -
- 1 - 1 = 0. В десятичной системе 010 = 10-0- 1 = 9, 110= 10-1-1 = 8
и т. д.
ОПРЕДЕЛЕНИЕ. Самодополняющими двоично-десятичными называ-
ют такие коды, у которых С2(а10) = С2(д10), т. е. коды дополнительных
десятичных цифр являются их двоичными дополнениями. Очевидно,
самодополнительные коды полностью определяются кодами цифр 0—4.
Наиболее употребительными являются следующие из них.
1. Код Айкена. В нем цифры 0—4 кодируются их двоичными изобра-
жениями. В итоге код имеет вид
0 1 2 3 4 5 6 7 8 9
0000 0001 0010 ООН 0100 1011 1100 1101 1110 1111
2. Код с избытком 3. Образован отсечением кодов трех первых (0, 1, 2)
и трех последних (13, 14, 15) чисел в полном коде длины 4, для того,
чтобы кодовые числа образовывали непрерывную последовательность
чисел. Представив в третьей строке десятичную запись кодовых слов,
получим следующий вид кода:
0123456789
ООП 0100 0101 ОНО 0111 1000 1001 1010 1011 1100
3 4 5 6 7 8 9 10 11 12
2.1.3. Отраженные коды. Коды Грея
Источником ошибок при декодировании может служить большое
расстояние Хэмминга между кодами подряд идущих чисел. Например:
а) в простом двоично-десятичном коде С(7) = 0111, С(8) = 1000; б) в коде
с избытком 3 С(4) = 0111, С(5) = 1000; в) в коде Айкена С(4) = 0100,
<7(5) = 1011. Во всех случаях перемена символов происходит сразу во
всех четырех разрядах.
ОПРЕДЕЛЕНИЕ. Отраженными называют коды, у которых кодо-
вые комбинации соседних по величине цифр различаются ровно в од-
ном разряде.
Построение отраженных кодов можно выполнить разными спосо-
бами. В табл. 2.1 приведены возможные варианты отраженных кодов
длины 3 для чисел от 1 до 8.
Глава 2. Неизбыточные коды. Методы сжатия без потерь
429
Таблица 2.1
Примеры отраженных кодов длины 3 для чисел от 1 до 8
Число 1 2 3 4 5 6 7 8
Код № I 000 001 011 111 101 100 ПО 010
Код № 2 000 001 101 100 110 111 011 010
Код № 3 000 010 НО 100 101 111 011 001
При выборе кода в первую очередь необходимо учитывать простоту
алгоритмов кодирования и декодирования сообщений. Наиболее полно
данному требованию отвечает код Грея.
Алгоритм построения кода Грея
В обычной двоичной записи чисел 0, 1,2,... в нулевом (первом
справа) разряде происходит чередование цифр 0 — 1—0 — 1— ..., в первом
(втором справа) разряде — чередование удвоенных комбинаций 00 —
11—00 — 11—..., во втором — чередование учетверенных комбинаций
0000—1111—0000—1111—... и т.д. Обобщая, можно заметить, что в к-м
разряде происходит чередование комбинаций длины 2fc+1. Код Грея об-
разуется следующим образом: в каждом к-м разряде длины чередую-
щихся комбинаций удвоены (до 2к+2), причем первая комбинация име-
ет прежнюю длину 2 ^+1.
Сравнительные комбинации простого кода и кода Грея для чисел
0—15 приведены в табл. 2.2.
Таблица 2.2
Простой двоичный код и кода Грея для чисел от 0 до 15
Число Простой код Код Грея Число Простой код Код Грея
0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 ООН 10 1010 1111
3 ООП 0010 11 1011 1110
4 0100 ОНО 12 1100 1010
5 0101 0111 13 1101 1011
6 ОНО 0101 14 1110 1001
7 0111 0100 15 1111 1000
Т. к. код Грея является отраженным, то соседние комбинации раз-
личаются только в одном разряде. Рассмотрим симметрию в словах ко-
дов Грея длины п.
1. Для разрядов с 0 по и-2 (без старшего крайнего левого с номе-
ром п - 1) ось симметрии проходит между числами 2я'1 - 1 и 2я-1.
430 Раздел VI. Кодирование и сжатие информации
2. Для разрядов с 0 по (и - 3) (без двух старших разрядов п - 1, п - 2)
дополнительные оси симметрии проходят между числами (2я’2-1,
2я’2); (2 х 2я’2-1,2 x2я’2) и т. д.
В рассмотренном выше примере с п = 4 ось симметрии разрядов 0—2
проходит между числами 7 и 8; оси симметрии разрядов 0—1 между чис-
лами Зи4, 7и8,11и12; оси симметрии для разряда 0 между числами 1
и 2, 3 и 4, 5 и 6, 7 и 8, 9 и 10, 11 и 12, 13 и 14.
Правило перевода простого двоичного кода в код Грея
Двоичная запись числа дополняется справа нулем и складывается
поразрядно по модулю 2 (без переноса единицы в старший разряд) с
обычной двоичной записью. Самый младший разряд суммы (крайний
справа) отбрасывается.
Пример 1. Найти код Грея двоичного числа 1110, соответствующего
1410.
Решение.
11100
1110
10010.
Ответ: Отбрасывая самый младший (подчеркнутый) разряд, полу-
чим искомый код Грея двоичного числа 11102 = 1001г. Его можно про-
верить по таблице.
Правило перевода кода Грея в простой двоичный код
Используется операция инвертирования — замены двоичного знака
обратным к нему (0 на 1, 1 на 0). Двоичная запись числа строится сле-
дующим образом: рассматриваются все разряды кода Грея слева напра-
во (от старших к младшим) и цифра разряда инвертируется столько раз,
сколько единиц ей предшествует слева в коде Грея. Очевидно, что
крайняя слева цифра (в самом старшем разряде) всегда сохраняется.
Пример 2. Найти двоичный код числа, имеющего код Грея 1011г.
Решение. 1. Крайняя слева цифра 1 сохраняется.
2. Вторая слева цифра 0 инвертируется один раз, поскольку слева от
нее в коде Грея стоит одна единица (0 —> 1).
3. Третья слева цифра 1 также инвертируется один раз, т. к. слева от
нее в коде Грея стоит одна единица (1 -> 0).
4. Четвертая слева цифра 1 инвертируется 2 раза (1 -> 0; 0 -> 1).
Ответ: В итоге получаем, что простой двоичный код числа, задан-
ного кодом Грея 1011г, равен 11012.
Глава 2. Неизбыточные коды. Методы сжатия без потерь 431
Задачи
1. Построить коды Грея чисел, двоичные коды которых равны: а) 10101;
б) 11011; в) 10010.
2. Определить двоичные коды чисел, имеющих следующие коды Грея:
а) 110100; б) 101001; в) 11100.
2.2. Равномерные коды для символьной информации
Исторически первой возникла необходимость кодирования букв и
знаков препинания при передаче текстовых сообщений по телеграфу в
XIX в. Вначале возник неравномерный код Морзе, затем его сменил
равномерный код Бодо.
2.2.1. Телеграфный код Бодо
При построении данных кодов учитывается лишь число передавае-
мых символов. В телеграфном коде Бодо (Ж. М. Э. Бодо — француз-
ский инженер и изобретатель), рассчитанном на передачу букв алфави-
та, каждая буква кодируется 5 двоичными разрядами. Максимальное
число различных букв в этом случае равно 25 = 32. Этого хватает для
передачи всех латинских букв, число которых 26 (также кодируется
пробел). В русском алфавите 34 буквы, поэтому при их кодировании
объединяют в один символ буквы «е» и «ё», а также «ь» и «ъ».
2.2.2. Представление символьной информации в памяти компьютера
Примерный подсчет показывает, что для представления заглавных
и строчных букв латинского и какого-либо другого национального ал-
фавита, знаков препинания, цифр и математических символов требует-
ся около 150 кодовых комбинаций. Из условия для равномерного кода
H = ]log2M следует, что в этом случае необходимо использовать 8 дво-
ичных разрядов (бит) — 1 байт. Данная единица измерения принята в
современных процессорах и алгоритмических языках также в качестве
минимальной адресуемой единицы памяти.
ОПРЕДЕЛЕНИЕ. Равномерные коды, использующие 8 двоич-
ных разрядов (1 байт) для кодирования одного символа, называют
байтовыми.
В современных персональных компьютерах и телекоммуникацион-
ных системах основным стандартом является байтовый код ASCII
(American Standard Code for Information Interchange — американский
стандартный код для обмена информацией). В нем регламентированы
только 127 первых кодовых слов, которые начинаются с 0 в старшем
432 Раздел VI. Кодирование и сжатие информации
разряде байта (основная часть кода). Это управляющие коды, заглавные
и строчные английские буквы, цифры, знаки препинания, математичес-
кие символы. Например, код пробела равен 00100000, А — 01000001, 0 —
00110000, 1 — 00110001, клавиша ESC — 0001011.
Следующие 127 кодовых слов, начинающиеся с 1 в старшем разря-
де — расширение основной части кода, в которую включают кодировки
букв национального алфавита и других символов. Расширение так же
стандартизируется для конкретных стран. Например, в России — стан-
дарты КОИ-7, КОИ-8.
Недостатком ASCII являются неодинаковые расширения, исполь-
зуемые в разных странах. Для устранения его введен международный
стандарт Unicode, в котором для одного символа использовано 2 байта —
16 бит. В нем число кодируемых символов равно 216 = 65536, что позво-
ляет использовать единую таблицу для всех алфавитов.
2.3. Сжатие байтовой информации групповыми методами (RLE)
В данных методах для сокращения линейной последовательности
байтов подряд стоящие байты с одинаковым содержанием заменяют
одним (или двумя) данными байтами и байтом-счетчиком (counter),
задающим длину такой последовательности. Т. к. число-счетчик зано-
сится в байт, то в нем не может быть указано больше, чем 28- 1 = 255
повторов. Практически метод может быть реализован множеством ва-
риантов, которые различаются между собой тем, что в них:
1) указывается или нет в отдельных счетчиках число подряд идущих
различающихся байтов;
2) выделяется или нет байт-счетчик (обычно для выделения приме-
няется внесение одной или двух единиц в его старшие разряды) и т. д.
Если у байта-счетчика в качестве сигнального разряда, обозначаю-
щего счетчик, использован только один старший разряд, то в байте
можно указать только 127 повторов, если используются два разряда —
63 повтора. Рассмотрим наиболее употребительные варианты RLE.
1. RLE-алгоритм с двумя типами счетчиков. В этом варианте ис-
пользуются счетчики как для групп одинаковых, так и для различаю-
щихся байтов. Байты-счетчики можно не выделять, если оговорить,
какая группа байтов в архиве идет первой. Обычно полагают, что пер-
вой идет группа повторяющихся байтов. Если в исходном файле ее нет,
то вставляют фиктивную группу данного типа нулевой длины.
2. RLE-алгоритм с одним типом счетчиков. Счетчик используется
только для групп одинаковых байтов. Самый экономный способ его
Глава 2. Неизбыточные коды. Методы сжатия без потерь 433
выделения — помещение одной единицы в старший бит байта-
счетчика. При этом в нем для числа повторов останется только 7 бит, в
которых максимально можно задать 127 повторов. Для обеспечения
однозначной декодируемое™ получаемого сжатого файла необходимо
при его кодировании предусмотреть обработку различающихся инфор-
мационных байтов, у которых в старшем разряде стоит единица. Обыч-
но перед такими байтами вставляют дополнительный фиктивный счет-
чик кратности 1.
3. RLE-алгоритм без указания счетчика. В алгоритме различающие-
ся байты не подсчитываются, а из группы одинаковых байтов сохраня-
ют два первых, причем после второго из них ставится счетчик повторов.
При декодировании два подряд стоящих одинаковых байта в сжатом
файле означают группу данных байтов в исходном файле. Счетчик по-
второв можно уменьшить на 2, в результате получится число экземпля-
ров повторяющегося байта, которые осталось вставить в распаковывае-
мую последовательность.
Пример 1. Задана линейная последовательность из 9 байтов, содер-
жимое которых для краткости представим в 16-ричной системе:
(35)(D1)(71)(71)(71)(71)(B5)(35)(31). Требуется сжать данную последо-
вательность при помощи трех методов и определить величины коэф-
фициента сжатия. При этом:
1) в RLE-алгоритме с двумя типами счетчиков счетчики не выде-
лять, первой должна идти группа повторяющихся байтов;
2) в RLE-алгоритме с одним типом счетчиков счетчик выделять од-
ной единицей в старшем разряде;
3) в RLE-алгоритме без указания счетчика величина счетчика по-
второв уменьшается на 2.
Решение. Предварительный анализ последовательности: первые два
байта различны, а начиная с третьего идет группа из четырех одинако-
вых байтов, затем три различных.
1. RLE-алгоритм с двумя типами счетчиков. Поскольку по соглаше-
нию в начале кода должна стоять группа одинаковых байтов, вставляем
в начало архива фиктивный счетчик с нулевым значением и байт про-
извольного содержания (нулевой) — [00]16[00]16.
Первые два различающиеся байта (35)(D1) кодируем последова-
тельностью [O2][35][D1], вторую группу из четырех одинаковых байтов
(71) —как [04] [71], третью группу из трех разных байтов — как [03] [В5]
[35] [31].
Искомый код: [00][00][02][35][Dl][04][71][03][B5][35][31], Длина ар-
хива равна 11. Коэффициент сжатия в данном случае: к = 9/11 » 0,82.
434
Раздел VI. Кодирование и сжатие информации
2. RLE-алгоритм с одним типом счетчиков. Первые два различаю-
щиеся байта (35)(D1) кодируем последовательностью [35][81 ][D1], в
которой второй байт задает единичное повторение, вторая труппа бай-
тов кодируется так же, как в примере 1 с различием в старшем разряде
байта-счетчика — [84] [71], третья группа кодируется последовательно-
стью [81] [В5] [35] [31].
Искомый код: [35][81][D1 ][84][71 ][81][В5Ц35][31 ]. Длины исходной
последовательности и архива одинаковы — по 9 байтов. Коэффициент
сжатия k= 1.
3. RLE-алгоритм без указания счетчика. Построение кода: первая и
третья группы сохраняются, вторая кодируется последовательностью
[71] [71Ц02].
Искомый код: [35][D1][71][71][02][В5][35][31]. Длина архива равна 8.
Коэффициент сжатия £=9/8 = 1,125.
Таким образом, искомые архивы найдены, коэффициенты сжатия
для случаев 1)—3) равны, соответственно, 0,82; 1 и 1,125.
Минимальные (£min) и максимальные (£тах) значения коэффициен-
та сжатия, определяемые соответственно для наиболее неудобных (для
каждого метода) последовательностей и наиболее удобных (при одина-
ковом содержимом всех байтов), дают значения £mjn = 0,5 - 0,75; £max =
= 63,5 - 127,5. Средние значения — от 2 до 4.
Групповые методы просты в реализации, работают быстро. Они
эффективны при сжатии несложных по числу деталей и глубине цветов
растровых изображений. Для текстов и полноцветных изображений
коэффициент сжатия обычно меньше 1, т. е. архив по размеру превы-
шает исходный файл с данными.
Задачи
1. Сжать заданную в 16-ричной системе последовательность байтов
(33)(33)(В7)(99)(33)(33)(00)(00)(00)
при помощи RLE-алгоритма с двумя типами счетчиков. Счетчики не выделять,
первой должна идти группа повторяющихся байтов.
2. Сжать последовательность байтов
(Fl)(CF)(CF)(CF)(CF)(3B)(35)(5E)(5E)(10)
при помощи RLE-алгоритма с одним типом счетчиков. Счетчик выделять од-
ной единицей в старшем разряде.
3. Сжать последовательность байтов
(88)(F6)(E6)(E6)(E6)(E6)(19)(19)(19)(29)
при помощи RLE-алгоритма без указания счетчиков. Величина счетчика по-
второв уменьшается на 2.
Глава 2. Неизбыточные коды. Методы сжатия без потерь 435
4. Декодировать последовательность байтов
[00][00][03][33][В7][ВВ][0б][33][02] [СЕ] [С5],
сжатую при помощи RLE-алгоритма с двумя типами счетчиков при дополни-
тельном условии, что счетчики не выделяются и первой должна идти группа
повторяющихся байтов.
5. Декодировать последовательность байтов
[82][ВЗ][81][В1][81][С9][83][34],
сжатую при помощи RLE-алгоритма с одним типом счетчиков, в котором счет-
чик повторяющихся байтов выделяется одной единицей в старшем разряде.
6. Декодировать последовательность байтов
[82][B3][B3][00][59][83][83][03],
сжатую при помощи RLE-алгоритма без указания счетчика при условии, что
величина счетчика повторов уменьшается на 2.
7. Рассмотреть вариант RLE-алгоритма без указания счетчика, в котором
на счетчик повторов используются два байта. Рассчитать для него минималь-
ные и максимальные значения коэффициентов сжатия.
2.4. Сжатие байтовой информации по методу LZW
Алгоритм Лёмпеля —Зйва —Вёлча (LZW— Lempel— Ziv—Welch) —
универсальный алгоритм сжатия данных любого типа (текстовых, гра-
фических и др.) без потерь, основанный на поиске одинаковых после-
довательностей (строк) единиц информации во всем сжимаемом файле.
Строками называют последовательности байтов. Строка единичной
длины — одиночный байт. Алгоритм имеет ряд вариантов реализации.
LZW-сжатие последовательно заменяет строки символов некото-
рыми кодами в порядке их появления без предварительного анализа
всего файла. В алгоритме используется кодовая таблица строк — сло-
варь. Изначально в него включают все строки единичной длины (бай-
ты) и 2 вспомогательных символа, все вместе они занимают позиции с О
по 257. При включении строк длины 2 и более их ставят на позиции 258
и выше. Сжатие обеспечивается за счет замены строки ее кодовым обо-
значением.
Несмотря на то что в процессе сжатия по LZW-алгоритму необхо-
димо строить словарь, для выполнения обратного процесса декодиро-
вания (распаковки сжатого файла в исходный) нет необходимости в его
передаче вместе с архивом, поскольку при распаковке идентичная таб-
лица строится по сжатым данным.
Битовая длина п двоичных кодовых комбинаций, порождаемых
алгоритмом при сжатии, должна превышать длину единичных исход-
436
Раздел VI. Кодирование и сжатие информации
ных символов. Поскольку в рассматриваемом случае единичные сим-
волы кодируются 8 битами, то для кодовых комбинаций принимают
битовые длины п, большие 8. Минимальное значение п = 9. Для коди-
рования строк, длины большей 1, используются номера позиций с 258
до последней позиции таблицы, имеющей номер 2"-1. При п = 9, номер
29’1 = 511.
Рассмотрим вариант алгоритма сжатия с постоянной 10-битной
длиной кодовых комбинаций. Для краткости будем обозначать в 16-рич-
ной системе:
1) 8-битное содержимое байтов исходной последовательности дву-
мя числами в круглых скобках;
2) 10-битные коды номеров позиций таблицы — тремя знаками в
квадратных скобках.
Общая схема 10-битного LZW-алгоритма сжатия
I. Начальные действия. Вначале на позиции с 0 по 255 в словарь по-
мещают коды всех строк единичной длины — байтов, задающих по воз-
растанию все 8-разрядные двоичные числа от 0 = (00000000)2 = (00) 16 до
255 = (11111111)2 = (FF)16.
Позиции таблицы с номерами 256 и 257 используем соответственно
для вспомогательных кодов очистки и конца записи.
Двоичный номер позиции в таблице одновременно является кодом
внесенной в нее строки. Если длина номера меньше 10, спереди добав-
ляем незначащие нули до длины 10. Коды позиций с 0 по 257 равны:
[ООО]-[OFF], [100], [101].
Для сжатия строк длины, большей 1, в словаре остаются позиции с
258 по 1023 = 210- 1.
Формирование сжатого документа начинается с добавления в него
кода [256] 10 = [100] 16 символа очистки 256.
II. Сжатие исходного массива байтов. Циклически до окончания ис-
ходной последовательности байтов считываем из нее содержимое оче-
редных байтов, формируем из них проверяемую строку и выясняем,
есть ли она в словаре.
Если проверяемая строка присутствует в нем, то считываем в нее
следующий байт. Если же проверяемой строки нет в словаре, то:
а) заносим в формируемый архив код предыдущей строки, которая
равна проверяемой без последнего байта;
б) заносим всю проверяемую строку на первую по счету свободную
позицию словаря;
в) принимаем в качестве новой строки последний байт проверяемой;
Глава 2. Неизбыточные коды. Методы сжатия без потерь
437
г) переходим на считывание очередного байта в новую проверяемую
строку.
III. Завершение записи. Заносим в сжатый файл код текущей строки
и код конца записи.
Пример 1. Выполнить при помощи данного выше 10-битного LZW-
алгоритма сжатие байтовой (8-битной) информации, заданной в 16-рич-
ной системе: (25)(43)(F5)(25)(43)(F5)(25)(25)(43)(F5)(F7). Привести ко-
довую таблицу. Рассчитать коэффициент сжатия.
Решение.
I. Начальные действия. В позиции 0—255 кодовой таблицы помещаем
содержимое одиночных байтов, в позиции 256 и 257 — символы очистки
и конца записи. Коды позиций с 0 по 257: [000] — [OFF], [100], [101].
В начало формируемого архива заносим код символа очистки [100].
II. Сжатие. Для краткости операцию считывания содержимого оче-
редного байта обозначим как (содержимое байта). Номер пункта оз-
начает номер считываемого байта.
1. —> (25). Строка (25) есть в таблице, продолжаем считывание.
2. (43). Строки (25)(43) в таблице нет: а) в архив заносим 10-бит-
ный код [025]; б) в первую свободную позицию таблицы с номером
258 = [102] — строку (25)(43); в) новая строка — (43).
3. —> (F5). Строки (43)(F5) в таблице нет. Заносим в архив [043], в
позицию таблицы с номером 259 = [103] содержимое (43)(F5). Новая
строка — (F5).
4. -> (25). (F5)(25) в таблице нет. Заносим в архив [0F5], в позицию
таблицы с номером 260 = [104] — (F5)(25). Новая строка — (25).
5. (43). (25)(43) есть в таблице, продолжаем считывание.
6. (F5). (25)(43)(F5) в таблице нет. Заносим в архив [102] — код
строки (25)(43), в позицию таблицы с номером 261 = [105] содержимое
(25)(43)(F5). Новая строка — (F5).
7. -> (25). (F5)(25) есть в таблице, продолжаем считывание.
8. -> (25). (F5)(25)(25) в таблице нет. Заносим в архив [104] — код
строки (F5)(25), в позицию таблицы с номером 262 = [106] — (F5)(25)(25).
Новая строка — (25).
9—10. -> (43), -> (F5). Строки (25)(43), (25)(43)(F5) есть в таблице,
продолжаем считывание.
11. —> (F7). (25)(43)(F5)(F7) в таблице нет. Заносим в архив [105], в
позицию таблицы с номером 263 = [107] — (25)(43)(F5)(F7). Новая стро-
ка - (F7).
III. Завершение считывания. Заносим в архив [0F7], затем код конца
записи [101].
438
Раздел VI. Кодирование и сжатие информации
Ответ', объединяя коды, получим искомый 10-битный сжатый код
в десятичном виде: [100][025][043][0F5][102][104][105][0F7][101],
Кодовая таблица: начало с [ООО] по [101] — стандартное, [102] —
(25)(43), [103] - (43)(F5), [104] - (F5)(25), [105] - (25)(43)(F5), [106] -
(F5)(25)(25), [107] - (25)(43)(F5)(F7).
Битовая длина исходной последовательности равна 8x11 = 88, у
сжатого файла вместе с кодами вспомогательных символов — 10 х 9 =
= 90, коэффициент сжатия к = 88/90 ® 0,98 < 1 .
Общая схема 10-битного LZW-алгоритма распаковки
I. Начальные действия. Формируем стандартное начало кодовой
таблицы с [000] по [101]. Первый код архива [100] игнорируется. Теку-
щую строку полагаем пустой.
II. Распаковка сжатого файла. Циклически до появления признака
конца записи считываем 10-битные участки кода. Каждый такой код к
моменту его считывания из архива уже присутствует в таблице. Соот-
ветствующую ему строку <s'> добавляем к существующей текущей
<sT>. Для обновленной текущей строки <sT> <У> проверяем, входит
ли она в кодовую таблицу. Если входит, то сохраняем текущую строку
< 5Т > < s’> и продолжаем считывание. Если строка < 5Т > < s’> не входит в
таблицу, то выполняем следующие действия:
а) в таблицу заносим отсутствующее в ней начало строки < sT > < s’>
минимально возможной длины;
б) выводим в итоговый файл подстроку < 5Т >,
в) принимаем в качестве текущей строку < $’> и продолжаем считы-
вание.
III. Завершение распаковки. После появления признака конца архи-
ва записываем содержимое текущей строки в итоговый файл.
В приведенном простейшем варианте LZW-алгоритма длина кодо-
вых комбинаций п постоянна. Однако при сжатии большого байтового
массива может возникнуть ситуация, когда кодовая таблица, в которую
можно вносить только 2" - 258 новых строк, будет переполнена, т. е. в
ней будет использована последняя позиция с номером 2я - 1. При ми-
нимальном значении п = 9 номер последней заполненной позиции ра-
вен 29 - 1 = 511.
Оптимальным с точки зрения итогового битового размера получае-
мого сжатого файла является постепенное наращивание длины п кодо-
вой комбинации на 1 бит, начиная с и = 9. Увеличение и с 9 до 10 позво-
ляет дополнительно заполнять в таблице позиции с 512-й по 1023 =
= 210- 1, возрастание и с 10 до 11 — позиции с 1024-й по 2047 = 211 -1 и т. д.
Глава 2. Неизбыточные коды. Методы сжатия без потерь
439
При этом алгоритм распаковки может без дополнительного указания
обнаружить увеличение длины кодовых комбинаций следующим обра-
зом. Допустим, при начальном использовании 9 бит из архива считана
двоичная комбинация [100000000]2 = [100] 16. Это код очистки, который
не должен встречаться в кодовой последовательности. Его появление
сигнализирует о том, что необходимо перейти к считыванию битовых
последовательностей с длиной на единицу больше. Для сохранения
данного свойства в дальнейшем при увеличении п необходимо все по-
зиции вида 2" (512, 1024 и т. д.) оставить резервными и не использовать
для кодирования строк.
Одной из основных операций LZW-алгоритма, существенно лими-
тирующих его быстродействие, а также требования к дополнительной
памяти, является проверка наличия строк в таблице.
Рассмотрим данную операцию более подробно. Если строка одно-
байтная, то поиск не требуется — строка есть в таблице, номер ее равен
содержимому байта. Если же в строке число байтов t больше 1, то ее
можно представить в виде < начало строки длиной (/-!)>< последний
байт строки >, где для начала строки длиной (/- 1) номер N ее позиции
в кодовой таблице уже найден на предыдущем шаге.
Общее количество информации в таблице без потери ее содержания
можно сократить, сохраняя в ней не всю строку, а только пару < номер N
позиции начала строки > < последний байт строки >.
Простой переборный поиск по таблице, начиная с позиции N+ 1, не
допустим, поскольку алгоритм будет работать слишком медленно. На
практике для оптимального хранения такой информации используют
хэш-таблицы, в которые включают элементы вида < номер начала
строки > < последний байт строки > < номер полной строки >. Ключом
для поиска является пара < номер начала строки > < последний байт
строки >, которая хранится в таблице как одно число.
При использовании хэш-таблицы для получения номера полной
строки либо выяснения, что такого номера не существует, требуется в
среднем несколько проверок. Единственным недостатком используе-
мых хэш-таблиц является то, что у них предусматривают предельную
длину кодовой комбинации.
Минимальное значение коэффициента сжатия достигается на ис-
ходной последовательности, в которой нет подряд стоящих одинаковых
пар байтов. При самом экономном варианте с постепенным наращива-
нием битовой длины кодовых слов к » 8/9.
Максимальное значение к достигается на последовательностях, со-
стоящих из одинаковых байтов, например, (00). При 9-битных кодах
440
Раздел VI. Кодирование и сжатие информации
кге 10,26, при п = 9 и 10 величина к& 17,46. С увеличением максималь-
ной длины п коэффициент сжатия таких последовательностей и дальше
возрастает.
Алгоритм LZW широко используется для сжатия информации в са-
мых разных областях — от аппаратных протоколов сжатия в модемах до
графических форматов GIF и TIFF. В отличие от RLE, увеличение архи-
ва по сравнению с исходным файлом у LZW встречается крайне редко.
Задачи
1. Сжать заданную в 16-ричной системе последовательность байтов при
помощи 10-битного LZW-алгоритма:
(72)(38)(234)(38)(234)(38)(72)(41)(38)(234).
Привести кодовую таблицу. Рассчитать битовые длины исходной последо-
вательности, сжатого файла и коэффициент сжатия.
ГЛАВА 3
ЭНТРОПИЙНЫЕ (СТАТИСТИЧЕСКИЕ) МЕТОДЫ
Данные виды кодов являются неравномерными. Основное их на-
значение — сокращение общего объема передаваемой информации за
счет использовании статистических свойств (вероятности появления)
кодируемых элементов в составе общего массива.
Вначале энтропийные методы использовали в основном при пере-
даче текстовой информации, в связи с чем такое кодирование называли
также алфавитным. Однако затем эти методы стали широко использо-
вать и для сжатия визуальной, звуковой и других видов информации.
Энтропийные методы можно применять как для прямого кодиро-
вания массива, состоящего из отдельных символов любого вида, так и
для сжатия данных массивов, уже переведенных в двоичную форму
(оцифрованных) на предварительной стадии обработки информации.
Эта операция не изменяет вероятностные характеристики ее исходных
элементов.
3.1. Код Морзе. Префиксные коды. Стоимость кода
Пусть информация задана при помощи букв некоторого алфавита
А = {flj, а2,..., а„}. При неравномерном двоичном кодировании каждая
буква а; заменяется последовательностью с, из 0 и 1 (кодовым словом),
с, = С(а;), причем длины кодовых слов I(с,) могут различаться. Соответ-
ствующее однозначное отображение множества А = {а{, а2,..., ап} на
множество заменяющих их кодовых слов C={cj, с2, ..., сл} называют
алфавитным кодом.
Исторически первым алфавитным кодом был телеграфный код
Морзе (азбука Морзе), разработанный в 1838 г. (Сэмюэл Финли Бриз
Морзе — американский изобретатель и художник). В нем для передачи
букв алфавита, цифр, знаков препинания и других символов использо-
ваны короткие и длинные импульсы (точки и тире), получающиеся за-
мыканием и размыканием электрической цепи, а также паузы между
ними. Единицей измерения принято время передачи точки. Длитель-
ность тире в три раза больше. Самые короткие паузы, равные по дли-
442 Раздел VI. Кодирование и сжатие информации
тельности точке — между импульсами внутри кода буквы, между буквами
в три раза длиннее, пробелы между словами длиннее точки в семь раз.
Если бы паузы были одинаковы, т. е. не содержали бы никакой ин-
формации, код был бы двоичным. Если обозначить последовательность
«точка + короткая пауза» нулем, последовательность «тире + короткая
пауза» единицей, а длинную паузу двойкой, то код Морзе можно пред-
ставить как троичный с т = 3.
Основной проблемой неравномерных двоичных кодов является
обеспечение их однозначной декодируемости. При этом любая получен-
ная последовательность из нулей и единиц должна однозначно перево-
диться в последовательность букв алфавита А. Для этого можно, как в
коде Морзе, использовать разделители кодов букв. Однако наиболее
эффективно применение префиксных кодов.
ОПРЕДЕЛЕНИЕ. Префиксным кодом называют код, удовлетво-
ряющий условию Фано (Р. М. Фано, США) — в нем никакое слово ct
из С не является началом никакого другого слова с7 е С.
Условие Фано позволяет обойтись при передаче кодированной ин-
формации без специальных разделителей и передавать ее в виде непре-
рывной последовательности из 0 и 1. Для декодирования получаемых
последовательностей можно использовать следующий алгоритм.
Алгоритм декодирования сообщений в префиксном коде
ШАГ 1. Начальное текущее кодовое слово W: - 0.
ШАГ 2. Отделить от последовательности очередной крайний левый
символ w' и присоединить справа к W: = IVw'.
ШАГ 3. Сравнить новое текущее кодовое слово Wсо словами кодо-
вой таблицы. Если совпадения нет — переход на ШАГ 2. Если совпаде-
ние есть — декодировать W, т. е. при наличии совпадения (Mz=cj ) зане-
сти в декодируемую запись символ а,-, соответствующий с)= С(а().
ШАГ 4. Если декодирование сообщения закончено — выход из ал-
горитма. Если нет — переход на ШАГ 1.
Пример 1. Определить, будет ли префиксным код С= (1; 01; 10; 000).
Решение. Первая кодовая комбинация 1 стоит в начале третьей ком-
бинации 10.
Ответ: Код не является префиксным.
Пример2. Определить, будет ли префиксным код С=(0; 10; 110; 111).
Решение. Перебор всех кодовых комбинаций показывает, что ника-
кая их них не является началом другой.
Ответ: код является префиксным.
Глава 3. Энтропийные (статистические) методы
443
Пример 3. Расшифровать, используя алгоритм, кодовое сообщение
1001110111, в котором использован префиксный код («а» <-> 0; «б»<-> 10;
«в» <-» 110; «н»<-> 111).
Решение. 1. Отделяя первый символ 1, не получим совпадения ни с
одной из кодовых комбинаций. Продолжая отделение, получим 10 —
код буквы «б». Запоминаем ее, остаток сообщения 01110111 не пуст,
поэтому расшифровку продолжаем с ШАГа 1.
2. Первый символ остатка 0 — код буквы «а». Запоминаем ее и про-
должаем расшифровку остатка 1110111с ШАГ а 1.
3. Дважды считывая символы 1, получим комбинации 1 и 11, не яв-
ляющиеся кодовыми. Считывая третий символ 1, получим 111 — код
буквы «н». Запоминаем ее и продолжаем расшифровку остатка 0111 с
ШАГа 1.
4. Первый символ 0 — код буквы «а». Запоминаем ее и продолжаем
расшифровку остатка 111с ШАГа 1.
5. 111 — код буквы «н». Запоминаем ее. Остаток сообщения пуст,
завершаем расшифровку.
Ответ'. Записывая все полученные буквы слева направо, получим,
что в кодовом сообщении 1001110111 зашифровано слово «банан».
В рассмотренном общем алгоритме декодирования префиксных ко-
дов основное время затрачивается на сравнение текущего кодового
слова W со словами кодовой таблицы. Для ускорения данного поиска
оптимально построенному префиксному коду С = {cj, с2, ..., с„} взаимно
однозначно сопоставляют растущее вниз двоичное кодовое дерево, в
котором комбинации кода cj соответствуют листьям — висячим вер-
шинам дерева, которые назовем кодовыми. Корню дерева (вершине
нулевого уровня, к = 0) соответствует пустое кодовое слово. Всем вер-
шинам уровней к = 1, 2,... соответствуют двоичные слова такой же дли-
ны. Правило, по которому стоится дерево, следующее. Если некоторой
вершине V уровня к соответствует кодовое слово vk = (bx, Ь2,..., Ьк),
то для вершин уровня к +1, соответствующих левому и правому ребрам,
выходящим из V, соответствуют слова voi+1= (Z>b b2,..., bk, 0) и vf+I =
= (61S 62,..., 1).
Если при построении дерева получена кодовая вершина W, для ко-
торой двоичная запись является словом рассматриваемого префикс-
ного кода с2 е С, то по свойству данных кодов из вершины W не могут
выходить ребра, ведущие в другие вершины нижнего уровня. В тех слу-
чаях, когда код не является префиксным, то у него обязательно нару-
шается данное свойство, т. е. у дерева существует хотя бы одна внут-
444
Раздел VI. Кодирование и сжатие информации
ренняя кодовая вершина, не являющаяся висячей, из которой вниз вы-
ходит хотя бы одно ребро.
На рис. 3.1 и 3.2 даны деревья, соответствующие кодам из примеров
1 и 2. У первого дерева вершина, соответствующая коду q = 1, не явля-
ется висячей, поэтому код не является префиксным. У второго кода все
кодовые вершины являются листьями, поэтому он префиксный.
Рис. 3.1. Дерево из примера 1
Условие Фано задает ограничение на структуру кода, но не указы-
вает, как оптимально выбрать кодовые комбинации для каждой буквы
алфавита.
В качестве основного критерия оптимальности принят минимум
объема информации, передаваемой по линии связи. Для этого исполь-
зуют сведения об относительной частоте появления отдельных букв в
передаваемых сообщениях. При больших объемах передаваемой ин-
формации вероятности появления каждой буквы, как правило, можно
считать независимыми. Вероятности, соответствующие {а(, а2,..., а„},
обозначим через {рх,р2, Уменьшение общего объема передавае-
мой информации достигается за счет того, что наиболее часто встре-
чающиеся буквы кодируются в неравномерных кодах малым числом
нулей и единиц. Данный принцип интуитивно использовал Морзе в
своей азбуке при кодировании букв английского алфавита.
В общем случае для неравномерных кодов стоимостью S(C) кода С,
отображающего последовательности w из букв алфавита А - {аь а2,..., ап}
(имеющие вероятности появления {рх,р2, на некоторые кодовые
двоичные слова C(w), называют математическое ожидание (средне-
вероятную величину) длины слов C(w), приходящейся на одну бук-
ву алфавита А. В частности, для алфавитных кодов, переводящих буквы
{а1га2, ..., а„} в двоичные слова В = {Ь1г Ь2,..., Ьп}, имеющие длины /(/>]),
1(Ь2), ..., цьпу.
п _
адФ.Ф,),
1=1
Глава 3. Энтропийные (статистические) методы 445
Оптимальным называют код С, отображающий последовательно-
сти w из букв алфавита А = {аь а2,а„} (с вероятностями появления
{р1;р2, • ,РЛ}) на кодовые двоичные слова C(w) с минимально возмож-
ной величиной стоимости S(C).
Очевидно, чем меньше стоимость кода 5(C), тем меньше двоичной
информации будет содержаться в сжатой записи. Из определения стои-
мости следует, что ее величина никогда не может быть меньше, чем ве-
личина энтропии, содержащейся в кодируемых символах. Оптималь-
ные коды в отдельных случаях достигают этой границы, но обычно,
вследствие дискретного характера кодирования, их стоимость несколь-
ко хуже, чем величина энтропии. Рассмотрим методы построения оп-
тимальных неравномерных двоичных кодов.
3.2. Классический метод Хаффмана
Первым был разработан метод Шеннона — Фано, по которому мож-
но строить коды, близкие к оптимальным. Однако вскоре был предло-
жен метод Хаффмана, позволяющий эффективно строить оптимальные
алфавитные коды.
В нем вначале буквы упорядочиваются по убыванию вероятностей
их появления. Затем для двух нижних вероятностей списка (с наи-
меньшими значениями) применяется операция склейки, заключаю-
щаяся в замене их одной суммарной вероятностью, которая вставляется
в список вероятностей таким образом, чтобы сохранялся их общий по-
рядок (по убыванию). Операция повторяется до тех пор, пока в преоб-
разованном списке не останется две вероятности. Им присваиваются
начальные кодовые значения 0 и 1. Оптимальные коды букв определя-
ются путем обратного преобразования вероятностей к исходному спи-
ску с присваиванием на каждом шаге двум вероятностям дополнитель-
ных знаков 0 и 1.
Пример 1. Работу метода рассмотрим на примере кодирования ал-
фавита, содержащего семь букв: a, b, с, d, e,fg, появляющихся с веро-
ятностями соответственно 0,35; 0,2; 0,15; 0,1; 0,1; 0,05; 0,05. Упорядо-
ченные по убыванию вероятностей появления буквы занесены в две
первые колонки табл. 3.1. В ней также показаны результаты выполне-
ния склеек вероятностей. Каждый раз две вероятности с самыми малы-
ми значениями (нижние в текущем списке) суммируются и вновь
вставляются в список. Суммарные вероятности отмечены звездочками.
Процесс построения оптимального кода (ШАГи 0—5) выполняется в
порядке, обратном склейке.
446
Раздел VI. Кодирование и сжатие информации
Таблица 3.1
Применение метода Хаффмана
| Буквы | Вероятность Скл. 1 Скл. 2 Скл. 3 Скл. 4 Скл. 5 ШагО Шаг 1 Шаг 2 ШагЗ Шаг 4 Шаг 5
а 0,35 0,35 0,35 0,35 0,4* 0,6* 0 1 00 00 00 00
ь 0,2 0,2 0,2 0,25* 0,35 0,4 1 00 01 10 10 10
с 0,15 0,15 0,2* 0,2 0,25 01 10 11 010 010
д 0,1 0,1 0,15 0,2 11 010 ОН ОН
е 0,1 0,1 0,1 011 ПО НО
f 0,05 0,1* 111 1110
g 0,05 НИ
Оптимальные коды букв a, b, с, d, e,f, g даны в последнем столбце
таблицы, соответствующем ШАГу 5. Стоимость кода
5= 0,35x2 + 0,2x2 + 0,15x3 + 0,1x3 + 0,1x3 + 0,05x4 + 0,05x4 = 2,55.
Она близка к энтропии, содержащейся в кодируемых символах:
7
-ff = 2>log2A.«2,5015.
i=i
Для кодирования 7 букв равномерным кодом использовалось бы
3 символа, стоимость кода также была бы равна 3. Использование ал-
фавитных кодов позволило уменьшить ее в среднем на 0,45 символа на
букву.
С точки зрения оптимальности кода наименования букв исходного
алфавита А = {аь а2,ап} не имеют значения, важны лишь вероятно-
сти их появленияр{,р2, Обычно буквы указывают в порядке убы-
вания их вероятностей, а код указывают перечислением кодовых слов
для этого же порядка букв.
3.3. Блочное и словесное двоичное кодирование
Еще больше приблизить стоимость кода к энтропии по сравнению с
методом Хаффмана для алфавитного кодирования можно в том случае,
если отказаться от обязательного кодирования одиночных букв и наря-
ду с ними кодировать группы подряд стоящих букв — блоки. Данный
вид кодирования называют блочным. Если в качестве блоков прини-
мают слова естественного языка, то такой вариант кодирования назы-
вают словесным.
Глава 3. Энтропийные (статистические) методы
447
Блоки могут быть рассмотрены в качестве обобщенных букв. На
основе анализа частоты их появления во входных последовательностях
блоки можно сжимать так же, как и отдельные буквы, в частности, по
методу Хаффмана. Соответствующий метод называют блочным кодом
Хаффмана.
Обычно при блочном сжатии используют группы букв одинаковой
длины т (равномерный код). Побуквенный алфавитный код может
рассматриваться как частный случай равномерного блочного при т = 1.
С увеличением т кодирование равномерных блоков по методу Хафф-
мана позволяет сколь угодно приблизить стоимость кода к энтропии.
При расчете стоимости блочного кода необходимо учитывать, что в
сжимаемых группах содержится по т символов.
Пример 1. Алфавит содержит две буквы а и Ь, которые появляются во
входной последовательности с вероятностями 0,75 и 0,25. Определить:
1) энтропию данной последовательности;
2) алфавитный код Хаффмана и его стоимость;
3) блочный код Хаффмана длины 3 и его стоимость
Решение. 1. Энтропия входной информации равна
Н= -0,75 х log20,75 - 0,25 х log20,25 = 0,311 + 0,5 « 0,811.
2. Алфавитный код Хаффмана. Поскольку символа 2, то им при-
сваиваются коды 0 и 1. Стоимость такого кода
5а = 0,75х 1 + 0,25 х 1= 1.
3. Блочный код Хаффмана. Блоки длины 3 и соответствующие им
вероятности заданы в табл. 3.2. Там же дано построение кода.
Таблица 3.2
Построение блочного кода Хаффмана
Буквы Вероятность Скл. 1 1 Скл. 2 Скл. 3 । Скл. 4 Скл. 5 Скл. 6 Шаг 1 Шаг 2 ШагЗ Шаг 4 Шаг 5 Шаг 6 Шаг 7
ааа 0,422 0,422 0,422 0,422 0,422 0,422 0,578* 0 1 1 1 1 1 1
aab 0,141 0,141 0,141 0,155* 0,282* 0,296* 0,422 1 00 01 000 001 001 001
aba 0,141 0,141 0,141 0,141 0,155 0,282 01 000 001 010 010 010
baa 0,141 0,141 0,141 0,141 0,141 001 010 ОН ОН ОН
abb 0,047 0,061* 0,094* 0,141 ОН 0000 0001 00000
bab 0,047 0,047 0,061 0001 00000 00001
bba 0,047 0,047 00001 00010
bbb 0,014 00011
5б = [0,422 х 1 + 3 х 0,141 х 3 + 3 х 0,047 х 5 + 0,014 х 5]/3 « 0,822.
448
Раздел VI. Кодирование и сжатие информации
Стоимость равномерного блочного кода Хаффмана длины 3 (0,822)
значительно ближе к энтропии входной последовательности (0,811),
чем стоимость обычного алфавитного кода Хаффмана (1).
Практическое использование блочного кодирования ограничено
из-за больших объемов получаемых кодирующих таблиц. Поэтому в
настоящее время данные виды кодирования представляют в основном
теоретический интерес. Идеи, заложенные в них, применяют, в частно-
сти, для распознавания текстовой информации.
Задачи
1. Определить, будут ли префиксными коды:
а) (01;110;111;000;101); б) (01; 10; 11;00); в) (0; 11; 111; 110; 101); г) (1; 01; 011; 000).
2. Расшифровать двоичную последовательность
011101011110100111010111101100011011,
используя алгоритм декодирования сообщений, заданных в префиксном коде.
Префиксный код имеет вид: «а» <-> 1; «б» <->ООО; «в» <->001; «е»<->010; «и»<->
01100; «к» о.01101; «м» о-01110; «т»еОШ1.
3. Построить код Хаффмана для алфавитов со следующими вероятностями
появления букв: а) (0,4; 0,3; 0,2; 0,1); б) (0,3; 0,25; 0,15; 0,15; 0,1; 0,05); в) (0,25;
0,2; 0,15; 0,15; 0,1; 0,1; 0,05); г) (0,3; 0,25; 0,2; 0,1; 0,1; 0,05).
4. Доказать, что алфавитный код (00; 01; 10; 11) для вероятностей появле-
ния букв (0,4; 0,3; 0,2; 0,1) не будет оптимальным.
5. Доказать, что для вероятностей появления букв (0,3; 0,25; 0,2; 0,2; 0,05)
алфавитный код (0; 10; НО; 111; 1110) будет оптимальным.
3.4. Метод Хаффмана с фиксированной кодовой таблицей
Классический алгоритм Хаффмана строит оптимальный префикс-
ный алфавитный код для текстового массива, у которого известны ве-
роятности появления букв. Основными недостатками при его исполь-
зовании для сжатия файлов являются следующие;
1) требуется выполнять два прохода по сжимаемому файлу, первый
раз — для выяснения вероятностей появления букв, второй — для ко-
дирования;
2) в сжатый файл необходимо дополнительно записывать кодовую
таблицу, в которой задано соответствие кодируемых символов и коди-
рующих их двоичных слов.
Эти недостатки могут быть устранены за счет применения постоян-
ной кодирующей таблицы. Она позволяет выполнять сжатие и распа-
ковку за один проход, освобождает от сохранения и передачи кодовой
таблицы вместе со сжатым файлом (архивом). При этом из-за исполь-
Глава 3. Энтропийные (статистические) методы
449
зования усредненной таблицы стоимость кодового отображения для
конкретного файла будет несколько хуже оптимальной.
Идея кодирования с фиксированной кодовой таблицей использо-
вана в алгоритме CCITT Group 3. Он используется при сжатии битовых
(монохромных) двухцветных изображений (обычно — черный и бе-
лый), в частности — при факсимильной связи. Считывание изображе-
ния осуществляется по строкам в виде последовательностей подряд
идущих черных и белых точек, называемых сериями. Их заменяют дли-
нами серий и кодируют по методу Хаффмана с фиксированной кодовой
таблицей.
Используются два вида кодов:
1) коды завершения — коды длин серий от 0 до 63 с шагом 1 (табл. 3.3);
2) коды составные — обозначения длин серий, кратных 64 (от 64 до
2560 = 64 х 40 с шагом 64, табл. 3.4).
Оба вида кодов построены отдельно для белых и черных серий пу-
тем применения классического алгоритма Хаффмана к большому объ-
ему факсимильных изображений Вначале по ним были найдены усред-
ненные значения вероятностей появления длин серий, а затем они бы-
ли закодированы по методу Хаффмана.
Таблица 3.3
Коды завершения
Длина серии Код белой подстроки Код черной подстроки Длина серии Код белой подстроки Код черной подстроки
0 00110101 0000110111 32 00011011 000001101010
1 00111 010 33 00010010 000001101011
2 0111 11 34 00010011 000011010010
3 1000 10 35 00010100 000011010011
4 1011 011 36 00010101 000011010100
5 1100 ООН 37 00010110 000011010101
6 1110 0010 38 00010111 000011010110
7 1111 00011 39 00101000 000011010111
8 10011 000101 40 00101001 000001101100
9 10100 000100 41 00101010 000001101101
10 00111 0000100 42 00101011 000011011010
11 01000 0000101 43 00101100 000011011011
12 001000 0000111 44 00101101 000001010100
13 000011 00000100 45 00000100 000001010101
14 110100 00000111 46 00000101 000001010110
15 110101 000011000 47 00001010 000001010111
16 101010 0000010111 48 00001011 000001100100
17 101011 0000011000 49 01010010 000001100101
18 0100111 0000001000 50 01010011 000001010010
450
Раздел VI Кодирование и сжатие информации
19 0001100 00001100111 51 01010100 000001010011
20 0001000 00001101000 52 01010101 000000100100
21 0010111 00001101100 53 00100100 000000110111
22 0000011 00000110111 54 00100101 000000111000
23 0000100 00000101000 55 01011000 000000100111
24 0101000 00000010111 56 01011001 000000101000
25 0101011 00000011000 57 01011010 000001011000
26 0010011 000011001010 58 01011011 000001011001
27 0100100 000011001011 59 01001010 000000101011
28 0011000 000011001100 60 01001011 000000101100
29 00000010 000011001101 61 00110010 000001011010
30 00000011 000001101000 62 00110011 000001100110
31 00011010 000001101001 63 00110100 000001100111
Таблица 3.4
Коды составные
Длина серии Код белой подстроки Код черной подстроки Длина серии Код белой подстроки Код черной подстроки
64 поп 0000001111 1344 011011010 0000001010011
128 10010 000011001000 1408 011011011 0000001010100
192 01011 000011001001 1472 010011000 0000001010101
256 0110111 000001011011 1536 010011001 0000001011010
320 00110110 000000110011 1600 010011010 0000001011011
384 00110111 000000110100 1664 011000 0000001100100
448 01100100 000000110101 1728 010011011 0000001100101
512 01100101 0000001101100 1792 00000001000 совп. с белой
576 01101000 0000001101101 1856 00000001100 —//—
640 01100111 0000001001010 1920 00000001101 —//—
704 011001100 0000001001011 1984 000000010010 —//—
768 011001101 0000001001100 2048 000000010011 —//—
832 011010010 0000001001101 2112 000000010100 —//—
896 011010011 0000001110010 2176 000000010101 —//—
960 011010100 0000001110011 2240 000000010110 —//—
1024 011010101 0000001110100 2304 000000010111 —//-—
1088 011010110 0000001110101 2368 000000011100 —//—
1152 011010111 0000001110110 2432 000000011101 —//—
1216 011011000 0000001110111 2496 000000011110 —//—
1280 011011001 0000001010010 2560 000000011111 —//—
Из кодовых таблиц следует, что они позволяют использовать коды с
шагом 1 от 0 до 63, с шагом 64 — от 64 до 2560. Максимально предста-
вимая длина равна 2560.
Обозначим число целых вхождений числа 2560 в общую длину се-
рии L через #2560, число в интервале [64—2496], кратное 64, — через А,
число в интервале [0—63] — через В.
Глава 3. Энтропийные (статистические) методы
451
Тогда L можно представить математически в виде L = #2560 х 2560 +
+А + В.
Код числа L строится в виде [£] = [2560] [2560]... [2560] [Л] [5], где
код [2560] повторяется #25бо Раз-
Алгоритм Хаффмана с фиксированной таблицей
CCITT Group 3 (сжатие)
Для каждой строки изображения выполняются следующие действия.
1. Считывают подряд идущие серии из белых и черных пикселей.
Если первый пиксель — черный, то вводится начальная серия белых
пикселей длины 0.
2. Для всех кодируемых длин серий одноцветных пикселей после-
довательно:
а) выделяют длины, кратные 2560, и по числу их вхождений в архив
вставляется код величины 2560 (если таких чисел нет, то нет и ни одной
такой кодовой вставки);
б) из оставшегося числа выделяют значения, кратные 64, которые
представляются в составном коде (если таких чисел нет, то нет и кодо-
вой вставки);
в) оставшееся число представляется кодом завершения и включает-
ся в архив.
Практически, в начале у двоичной записи длины серии Ь2 удобнее
выделить число В в интервале [0—63]. Его запись содержится в 6 млад-
ших байтах Ь2. Затем перейти к целому числу L' = [(L2- В)/б4] путем
побитового сдвига двоичной записи L2 влево на 6 разрядов. По L' опре-
деляем в виде целой части частного (£'/40) величину #2560 = [#/40], а
затем А = 64(# - #2560 х 40).
Пример 1. Выполнить сжатие по алгоритму CCITT Group 3 битовой
последовательности, в которой последовательно, начиная с черного
цвета, идут серии черного и белого цветов с длинами 4, 57, 13, 3245, 182.
Найти битовые длины исходной последовательности и сжатого файла,
рассчитать коэффициент сжатия.
Решение. Поскольку первая битовая последовательность — черная,
то вводим перед ней белую последовательность длины 0. Посколь-
ку длины 0, 4, 57, 13 меньше 64, их коды берем непосредственно из
табл. 3.3 для подстрок соответствующего цвета, который указан ниж-
ним индексом:
[0]6 = 00110101, [4]ч = 011, [57]б = 01011010, [13]ч = 00000100.
Длина очередной белой серии 3245 превышает 64 и 2560, расклады-
ваем ее: 3245 = 2560 + 640 + 45.
452 Раздел VI. Кодирование и сжатие информации
Код данного числа состоит из подряд стоящих кодов [2560]б =
= 000000011111, [б40]6 = 01100111, [45]6 = 00000100. Первый и второй
берем из табл. 3.2 составных кодов, третий — из табл. 3.1.
Длина последней черной серии 182 превышает 64, но меньше 2560,
поэтому раскладываем ее как: 182 = 128 + 54.
Код числа состоит из подряд стоящих кодов [128]ч = 000011001000,
[54]ч = 000000111000. Первый берем из табл. 3.4, второй — из табл. 3.3.
Ответ'. Записывая слитно полученные коды и выделяя (для нагляд-
ности) коды длин черных серий курсивом, получим сжатую битовую
последовательность вида
00110101011010110100000010000000001111101100111000001000000
11001000000000111000.
Битовая длина исходной последовательности равна
4 + 57+ 13 + 3245+ 182 = 3501,
у сжатой последовательности общая длина равна
8 + 3 + 8 + 8+12 + 8 + 8+12+12 = 79.
Коэффициент сжатия равен 3501/79 = 44,3.
Поскольку рассмотренный алгоритм CCITT Group 3 генерирует
префиксный код, распаковка архивов, полученных с его помощью,
производится по стандартному алгоритму для префиксных кодов.
Рассмотрим для алгоритма CCITT Group 3 минимальные и макси-
мальные значения коэффициентов сжатия. Очевидно, самой худшей
для данного метода будет исходная битовая последовательность, в ко-
торой чередуются одиночные белые и черные пиксели (мелкая рябь).
Длины таких серий будут кодироваться, соответственно комбинациями
00111 и 010. Отсюда получаем минимально возможное значение коэф-
фициента сжатия: £min = (1 + 1 )/(5 + 3) = 0,25.
Максимальное сжатие будет для длинных белых либо черных одно-
цветных последовательностей пикселей. Поскольку для кодирования
каждых 2560 подряд стоящих одноцветных пикселей в архиве требуется
12 пикселей (код 000000011111), то А:тах® 2560/12® 213.
Отметим, что мелкая рябь на изображении не несет никакой ин-
формации и, как правило, не встречаются в реальных передаваемых
материалах. В то же время длинные одноцветные последовательности
встречаются во всех изображениях, особенно документов. Наряду с са-
мостоятельным применением данный алгоритм также применяется в
качестве одного из этапов в составных методах архивации.
Глава 3. Энтропийные (статистические) методы
453
3.5. Урезанный код Хаффмана
Для того чтобы избежать хранения и передачи кодовой таблицы
большого объема, также применяют урезанный код Хаффмана, в кото-
ром оптимально кодируется только ограниченное число наиболее часто
встречающихся букв входного алфавита. Остальные кодируются парой,
в которой вначале идет код специального префикса, а затем исходный
код самой буквы. Префикс включается в качестве буквы в кодовую таб-
лицу наряду с кодируемыми буквами входного алфавита. При этом ве-
роятность появления префикса равна сумме вероятностей букв, перед
которыми он будет ставиться. Для краткости назовем их некодируемыми.
Пример 1. Для семибуквенного алфавита {a, b, с, d, e,f, g} из приме-
ра 1 п. 3.2, в котором вероятности появления букв равны 0,35; 0,2; 0,15;
0,1; 0,1; 0,05; 0,05, выполнить следующие действия:
1) построить урезанный код Хаффмана при условии, что в кодовую
таблицу вносятся только коды букв, имеющих вероятности выше 0,1;
2) подсчитать стоимость кода при условии, что исходные коды
букв — равномерные длины 3;
3) закодировать полученным кодом последовательность fbadc при
условии, что равномерные двоичные коды букв d, e,f, g равны соответ-
ственно 011, 100, 101, ПО.
Решение. 1. Из всех букв алфавита поставленному требованию удов-
летворяют только а, Ь, с. Поэтому в кодовую таблицу вносим их и пре-
фикс, который обозначим символом рг. Ему сопоставляем вероятность
0,3, равную сумме вероятностей некодируемых букв d,e,f,g, которые
он замещает в таблице.
Построение оптимального кода производится по классическому
методу Хаффмана. В табл. 3.5 показаны результаты выполнения склеек
и обратные шаги.
Таблица 3.5
Кодирование букв а, Ь, с и префикса рг по методу Хаффмана
Буквы Вероятность Скл. 1 Скл. 2 ШагО Шаг 1 Шаг 2
а 0,35 0,35 0,65* 0 1 1
рг 0,3 0,35* 0,35 1 00 01
b 0,2 0,3 0,2 01 000
С 0,15 001
Оптимальные коды букв а,Ь,с и префикса рг даны в последнем
столбце.
454
Раздел VI. Кодирование и сжатие информации
2. Стоимость кода
5= 0,35 х 1 + 0,2 х 3 + 0,15 х 3 + 0,3 х (2 + 3) = 2,9.
Она значительно хуже стоимости классического кода Хаффмана
(2,55), поскольку суммарная вероятность некодируемых букв довольно
велика — 0,3.
3. Коды букв/и d состоят из кода префикса (01) и прежнего равно-
мерного кода. Коды букв Ь, а, с берем из таблицы. Соединяя вместе ко-
ды для отдельных букв, получим искомый код строки:
01101000101011001.
Урезанный код Хаффмана не является префиксным в строгом
смысле. Поэтому распаковка сжатых с его помощью двоичных после-
довательностей осуществляется при помощи модифицированного ал-
горитма декодирования сообщений в префиксном коде, который отли-
чается тем, что после считывания кода специального префикса в деко-
дируемую строку переносится исходный код некодируемой буквы.
Пример 2. Декодировать последовательность 0000110001101101011,
полученную сжатием букв алфавита {a, b, с, d, e,f, g} с использованием
урезанного кода, построенного в примере 1.
Решение. Применяя модифицированный алгоритм декодирования
сообщений в префиксном коде, последовательно получаем коды, кото-
рым соответствуют кодируемые буквы либо код префикса 01, после ко-
торого считываем исходный равномерный код буквы: 000->Z>, 01 +
+ 100 —>е, 01 -ь 101 —1-> а, 01 +011-></.
Ответ: соединяя буквы вместе, получим искомую буквенную по-
следовательность: befad.
3.6. Сдвиговые коды
Назначение кодов данного вида — сокращение кодовой таблицы.
Основная идея их состоит в оптимальном кодировании букв, имеющих
наибольшие вероятности появления, а буквы с меньшими вероятно-
стями кодируются аналогичными словами с добавлением перед ними
префикса, задающего сдвиг по списку букв алфавита.
Общий алгоритм построения сдвигового кода предусматривает сле-
дующие действия:
1) упорядочение всех букв по степени убывания их вероятностей
появления;
2) разделение списка всех букв на блоки одинакового размера;
Глава 3. Энтропийные (статистические) методы
455
3) кодирование букв первого блока, содержащего буквы с макси-
мальными вероятностями;
4) повторение кодов букв для второго, третьего и других блоков с
прибавлением к ним соответственно одного, двух и более префиксов.
Наилучшие результаты по стоимости кода дает сдвиговый код Хафф-
мана, у которого кодирование букв самого первого блока и префикса
(пункт 3 общего алгоритма) производится по классическому методу
Хаффмана. Префикс включается в список букв первого блока с вероят-
ностью, которая равна разности 1 и суммы вероятностей букв первого
блока.
Более высокую стоимость дает двоичный сдвиговый код, у которого
кодирование букв самого первого блока и префикса производится про-
стым двоичным кодом без учета вероятностей появления букв.
Пример 1. Для алфавита из 13 букв {a, b, с, d, e,f, g, h,j, k, I, m, n} c
вероятностями появления {0,13; 0,05; 0,18; 0,05; 0,06; 0,01; 0,16; 0,11; 0,03;
0,07; 0,09; 0,01; 0,05} построить путем разделения на два блока:
1) сдвиговый код Хаффмана;
2) двоичный сдвиговый код.
Подсчитать стоимость обоих кодов.
Решение. По общему алгоритму построения сдвигового кода выпол-
няем следующие действия.
1. Упорядочиваем буквы по вероятностям и заносим их в основную
кодовую табл. 3.6.
Таблица 3.6
Сдвиговый код Хаффмана и двоичный сдвиговый код
№ Буква Вероятность Сдвиговый код Хаффмана Двоичный сдвиговый код
1 С 0,18 000 000
2 g 0,16 001 001
3 а 0,13 010 010
4 h 0,11 НО ОН
5 1 0,09 111 100
6 к 0,07 ОНО 101
7 е 0,06 0111 110
8 п 0,05 10000 111000
9 ь 0,05 10001 111001
10 d 0,05 10010 111010
11 j 0,03 10110 111011
12 f 0,01 10111 111100
13 т 0,01 100110 111101
456
Раздел VI. Кодирование и сжатие информации
2. Делим список букв пополам. Поскольку длина блока целое число,
принимаем ее равной 7. В первый блок длины 7 с максимальными ве-
роятностями появления букв вошли {с, g, a, h, I, к, е}, во второй блок
длины 6 — буквы {п, b, dj,f, т}.
3. Кодирование букв первого блока.
Рассмотрим вначале сдвиговый код Хаффмана. Сумма вероятно-
стей букв блока {c,g, a, h, I, к, е} равна 0,80. Следовательно, на сдвиго-
вый префикс (обозначим его рг) приходится вероятность 0,20. При по-
строении вспомогательной кодовой таблицы для первого блока он бу-
дет поставлен на первое место. Результат применения классического
метода Хаффмана представлен ниже.
Таблица 3.7
Построение классического кода Хаффмана для букв {с, g, a, h, I, к, е)
Буквы Вероятность 3 и Скл. 2 Скл. 3 Скл. 4 Скл. 5 Скл. 6 Шаг 1 Шаг 2 ШагЗ Шаг 4 Шаг 5 Шаг 6 Шаг 7
рг 0,20 0,20 0,20 0,26* 0,34* 0,40* 0,60* 0 1 00 01 10 10 10
С 0,18 0,18 0,20* 0,20 0,26 0,34 0,40 1 00 01 10 11 000 000
g 0,16 0,16 0,18 0,20 0,20 0,26 01 10 11 000 001 001
а 0,13 0.13 0,16 0,18 0,20* 11 000 001 010 010
h 0,11 0,13* 0,13 0,16 001 010 011 110
/ 0.09 0,11 0,13 011 НО 111
к 0.07 0.09 111 ОНО
е 0,06 0111
Подставляем полученные коды букв {с, g, a, h, I, к, е} в первый блок
основной таблицы. Затем повторяем коды букв для второго блока с
прибавлением к ним вначале кода префикса 10.
Итоговый вид кода задан в четвертой колонке основной таблицы.
Построим двоичный сдвиговый код. Буквам первого блока
{с, g, a, h, I, к, е} присвоим простые двоичные коды, соответствующие
числам от 0 до 6. Сдвиговому префиксу присвоим простой двоичный
код числа 7 (111). Затем повторяем коды букв для второго блока с при-
бавлением к ним вначале кода префикса 111.
Стоимость сдвигового кода Хаффмана
5= (0,18 + 0,16 + 0,13 + 0,11 + 0,09) х 3 + (0,07 + 0,06) х 4 + (0,05 +
+ 0,05 + 0,05 + 0,03 + 0,01) х 5 + 0,01 х 6 = 3,54.
_______________Глава 3. Энтропийные (статистические) методы 457
Стоимость двоичного сдвигового кода
S = (0,18 + 0,16 + 0,13 + 0,11 + 0,09 + 0,07 + 0,06) х 3 + (0,05 + 0,05 +
+ 0,05 + 0,03 + 0,01 + 0,01) х6 = 3,60.
Задачи
1. Выполнить сжатие по алгоритму CCITT Group 3 битовой последователь-
ности, в которой последовательно, начиная с черного цвета, идут серии черного
и белого цветов с длинами 10, 10, 100, 100, 1000, 1000. Рассчитать коэффициент
сжатия.
2. Выполнить сжатие по алгоритму CCITT Group 3 битовой последователь-
ности, в которой последовательно, начиная с белого цвета, идут серии черного
и белого цветов с длинами 15, 57, 1300, 3500, 356, 984. Рассчитать коэффициент
сжатия.
3. Построить урезанный код Хаффмана, в котором кодируются тольку бук-
вы с вероятностями, превышающими 0,1, для алфавитов со следующими веро-
ятностями появления букв:
а) (0,3; 0,25; 0,15; 0,15; 0,1; 0,05);
б) (0,25; 0,2; 0,15; 0,15; 0,1; 0,1; 0,05);
в) (0,2; 0,15; 0,15; 0,13; 0,12; 0,1; 0,1; 0,05).
4. Декодировать последовательность 0101100100001101101100, полученную
сжатием букв алфавита {a, b, с, d, е, f, g} с использованием урезанного кода,
построенного в примере 1.
3.7. Арифметическое кодирование
Данный вид кодирования является одним из наиболее перспектив-
ных современных энтропийных методов. Принципиальное отличие
этого метода кодирования от алфавитных кодов (например, классиче-
ского метода Хаффмана и его разновидностей) в том, что итоговый код
строится не для отдельных букв, а сразу для всей входной последова-
тельности символов.
В классическом варианте, как и у метода Хаффмана, рассматри-
вается кодирование слова, состоящего из букв (символов) алфави-
та Я = {а1, а2,..., ап}, для которых известны вероятности появления
{Pi,р2, ...,рп}. Основная идея метода заключается в том, что в процессе
кодирования строится сужающийся на каждом шаге кодовый полуин-
тервал, принадлежащий полуинтервалу [0,1), а результат представляет-
ся всего одним дробным числом из данного полуинтервала. По полу-
ченному итоговому числу можно однозначно восстановить входную
последовательность.
Завершение процесса кодирования можно производить двояко: ли-
бо вставкой в конце последовательности кода специального символа
458 Раздел VI. Кодирование и сжатие информации
EOF (End Of File — конец файла), либо дополнительным указанием
длины входной последовательности. Оба варианта близки по эффек-
тивности. В первом символ EOF необходимо дополнительно включать
во входной алфавит. В дальнейшем будем рассматривать именно этот
вариант.
Допустим, известны вероятности {рьр2, ...,рп} появления букв
А - {аь а2,..., а„} в кодируемых словах-сообщениях, в которых не задан
признак их окончания, и известна средняя длина сообщений L.
При использовании дополнительного символа окончания слова
EOF его добавляют в конец каждого сообщения. Поскольку это новый
символ, его также присоединяем к буквам алфавита А — в конец списка
на первое свободное место с номером (и + 1). При этом общая вероят-
ность появления символа EOF будет равна pn+1 = !/(£ + 1), а исходные
вероятности появления каждой буквы исходного алфавита А необходи-
мо умножить на суммарную вероятность р' = L/(L+ 1) их появления в
дополненном слове при наличии символа EOF. В итоге получим новый
скорректированный алфавит, у которого вероятности появления его
букв в тексте сообщения следующие:
А' = {аь а2,..., а„, а„+1 = EOF};
p' = L/(L + l); P' = {p1’=pi хр',р2' =р2хр',... ,р„'=р„хр',
р„+1'= 1/(L + 1)}.
С учетом вероятностей Р’ = {р\,р2, полуинтервал [0,1)
разбивают на полуинтервалы 7, с длинами, равными {Pi',p2, ,р„',
Рп+1'}- Соответствующие массивы значений нижних и верхних границ
полуинтервалов I, состоят из значений £7, = {р/,4-и HIt =
= {Pi'>+ •••> +р/}- = 0-
Идеальный алгоритм кодирования некоторого сообщения ai{ai2...
aim (EOF) в алфавите А' включает следующие шаги.
ШАГ 0. Начальные присваивания. Вводятся нижняя, верхняя грани-
цы Low, High и длина Range текущего кодового полуинтервала [Low,
High), которым присваивают значения 0, 1, 1:
Low := 0, High := 1, Range := High - Low = 1.
ШАГи к (к = 1,..., т). Считываем очередной символ aik = aj. По нему
корректируем длину и границы текущего кодового полуинтервала
High := Low + Range Hip
Low := Low + Range Lip
Range := High - Low.
ШАГ m + 1. Заключительный. На выход алгоритма подается число,
принадлежащее последнему кодового полуинтервалу [Low, High).
Глава 3. Энтропийные (статистические) методы
459
В виде десятичных и обыкновенных дробей границы кодовых ин-
тервалов и выбираемые на них кодовые числа представляют только для
более удобной иллюстрации работы метода. На практике вычисления
производят в двоичной системе счисления. Поскольку все рассматри-
ваемые числа принадлежат полуинтервалу [0,1), длина кода равна числу
бит в дробной части двоичной записи получаемого оптимального дво-
ичного кодового числа. Наименьшая длина его получается при округ-
лении двоичного значения верхней границы полуинтервала High до
первого разряда, в котором она отличается от Low.
Замечание. Поскольку верхняя граница High не входит в состав по-
луинтервала, при округлении ее записи обязательно должны отбрасываться
единицы в записи двоичной дроби справа от сохраняемых знаков. Иначе
при отбрасывании одних нулей полученное число войдет в следующий по
порядку полуинтервал в качестве его начальной точки. В частности, если
двоичные записи High и Low одинаковой длины заканчиваются комбина-
циями вида (10...0) и (01...1), наименьшую длину двоичной записи будет
иметь в полученном итоговом полуинтервале число, соответствующее
нижней границе Low.
Пример 1. Закодировать при помощи арифметического кода с ис-
пользованием символа окончания кода EOF фамилию «Хаффман».
Найти итоговый полуинтервал с границами в виде обыкновенных дро-
бей и соответствующий ему оптимальный двоичный код минимальной
длины.
Решение. Полный алфавит символов, входящих в сообщение, со-
стоит из 6 букв: А = {х, а, ф, м, н, EOF}.
Так как с учетом EOF в сообщение войдет 8 символов, то вероятно-
сти появления букв алфавита A: P-{Pi = 1/8; р2 = 1/4; р3= 1/4; Рц=р3 =
=р6=1/8}.
Массивы значений нижних и верхних границ интервалов букв на
[0; 1) следующие:
LI{ = 0; LI2 = LI3 +Pi = 1/8; LI3 = LI2 + p2 = 3/8; Z/4 =LI3 +p3 = 5/8;
LI5 = Z/4 +p4 = 3/4; LI6 = LIS +p5 = 7/8; HIl = 1/8; HI2 = 3/8; HI3 = 5/8;
Я/4 = 3/4;Я/5 = 7/8;Я/6 = 1.
Результаты применения общего алгоритма кодирования к каждому
символу сообщения приведены в табл. 3.8.
В конце получен полуинтервал [33111/1048576; 33112/1048576). Пе-
реведем дроби, задающие его нижнюю и верхнюю границы, в двоичную
систему счисления. С учетом
Ю4857610= 165 = 220;
331111О = 8- 163+ 1 162 +5 16 + 7 = 815716 = 10000001010101112;
3311110 = 8158,6 = 10000001010110002;
460
Раздел VI. Кодирование и сжатие информации
в двоичной системе счисления нижняя и верхняя границы итогового
полуинтервала имеют вид
33111/1048576 = 0,000010000001010101112;
33112/1048576 = 0,000010000001010110002.
В соответствии с замечанием на с. 459 самую краткую двоичную за-
пись в итоговом полуинтервале имеет его нижняя граница
0,00001000000101 0101112.
Его дробную часть принимаем в качестве арифметического кода за-
данного слова: С(Хаффман EOF) = 00001000000101010111.
Ответ: [33111/1048576; 33112/1048576), 000010000001010101112.
Таблица 3.8
Арифметическое кодирование букв сообщения
Символ Интервал буквы на [0; 1) Текущий кодовый интервал Длина кодового интервала
X [0; 1/8) [0;1/8) 1(1/8)= 1/8
а [1/8; 3/8) [0+(1/8)(1/8);0+(3/8)-(1/8) = = [1/64; 3/64) (1/8)(1/4) = 1/32
ф [3/8; 5/8) [1/64 + (3/8)-(1/32); 1/64+ (5/8) х х (1/32)) = [7/256; 9/256) (1/32)-(1/4) = = 1/128
ф [3/8; 5/8) [7/256 + (3/8)-(1/128);7/256 + + (5/8)-(1/128)) = = [31/1024; 33/1024) (1/128)(1/4) = = 1/512
м [5/8; 3/4) [31/1024+ (5/8)(1/512)); 31/1024 + (3/4)(1/512)) = = [129/4096; 130/4096) (1/512)(1/8) = =1/4096
а [1/8; 3/8) [129/4096 + (1/8)-(1/4096)); 129/4096 + (3/8)(1/4096)) = = [1033/32768; 1035/32768) (1/4096)(1/4) = = 1/16384
н [3/4; 7/8) [1033/32768+ (3/4)(1/16384); 1033/32768 + (7/8)( 1/16384)) = = [4138/131072; 4139/131072) (1/16384)(1/8) = = 1/131072
EOF [7/8; 1) [4138/131072+ (7/8)-(1/131072); 4138/131072+ 1 (1/131072)) = = [33111/1048576; 33112/1048576) (1/131072)-(1/8) = = 1/1048576
В рассмотренном выше примере длина кодовой комбинации равна
20 двоичным символам, средняя битовая длина кода одного символа
равна (/,)ср = 20/8 = 2,5 (бит/символ). При использовании равномерного
кодирования средняя битовая длина кода символа равна 3.
Глава 3. Энтропийные (статистические) методы
461
Поскольку в отличие от алфавитного кодирования у арифметиче-
ского применяется не побуквенное кодирование, а сжатие сразу всей
входной последовательности символов, то формула для стоимости ал-
фавитного кода, основанная на сжатии отдельных букв, не может быть
применена к оценке эффективности арифметического кода. В данном
случае стоимость кода следует понимать в обобщенном вероятностном
смысле как математическое ожидание длины двоичного кодового сло-
ва, приходящейся на одну букву входной последовательности.
Пример 2. Для полного набора входных последовательностей длин
т = 1, 2, 3 из букв а и Ь, которые появляются независимо с вероятно-
стями 0,75 и 0,25 без учета символа окончания сообщения EOF:
1) построить соответствующие покрытия полуинтервала [0, 1);
2) для последовательностей длины т = 3 определить стоимость ариф-
метического кода.
Решение. Для большей наглядности границы кодовых полуинтерва-
лов выразим в виде простых дробей.
1. При длине т = 1 однобуквенные последовательности а и Ь, разби-
вают исходный полуинтервал [0,1) на две части [0; 3/4) и [3/4; 1), длины
частей равны 3/4 и 1/4.
При длине т = 2 последовательности аа, ab и ba, bb разбивают полу-
ченные выше полуинтервалы в том же отношении 3 к 1: аа — [0; 9/16),
ab - [9/16; 3/4), Ьа - [3/4; 3/4 + 1/4 х 3/4) = [3/4; 15/16), bb- [15/16; 1);
длины частей равны 9/16, 3/16, 3/16 и 1/16.
При длине т = 3 для последовательностей получаем следующие по-
луинтервалы, их длины укажем в скобках:
ааа - [0; 27/64) (27/64),
aba- [9/16; 45/64) (9/64),
baa - [3/4;27/32) (3/64),
bba — [15/16; 63/64) (3/64),
2. Стоимость арифметического кода определяем как математиче-
ское ожидание длины двоичного кодового слова, приходящейся на од-
ну букву входной последовательности. Для построения кода у каждой
aab - [27/64; 9/16) (9/64),
abb- [45/64;3/4) (3/64),
bab — [27/32; 15/16) (3/64),
bbb — [63/64; 1) (1/64).
последовательности w вначале строим двоичную запись границ кодо-
вых полуинтервалов, затем по ним — кодовые числа C(w) (округлением
двоичной записи верхней границы полуинтервала):
ааа - [0; 27/64) = [0,(0)2; 0,0110112) -> С(ааа) = (0,012),
aab -[27/64; 9/16) = [0,0110112; 0,10012) -> С(ааЬ) = (0,12),
aba- [9/16; 45/64) = [0,10012; 0,1011012) -> C(aba) = (0,1012),
abb - [45/64;3/4) = [0,1011012; 0,112) -> C(abb) = (0,112),
462
Раздел VI. Кодирование и сжатие информации
baa- [3/4;27/32) = [0,112; 0,110112) -> С(Ьаа) = (0,11012),
bab - [27/32; 15/16) = [0,110112; 0,1 111 12) -> C(bab) = (0,111112),
bba — [15/16; 63/64) = [0,111112; 0,1111112) -> C(bba) = (0,1111112),
bbb - [63/64; 1) = [0,1111112; 0,(1)2) -> C(bbb) = (0,11111112).
Стоимость рассмотренного арифметического кода находим, сумми-
руя произведения вероятностей слов на битовые длины их кодовых чи-
сел и разделив итоговую сумму на 3:
5(C) = [2 х 27/64 + 1 х 9/64 + 3 х 9/64 + 2 х 3/64 + 4 х 3/64 + 5 х 3/64 +
+ 6 х 3/64 + 7 х 1/64 ]/3 = [37/16]/3 = [37/48] = 0,7708.
Полученная стоимость меньше не только стоимости равномерного
блочного кода Хаффмана длины 3 (0,822), но и величины энтропии
входной последовательности (0,811) (пример 1 разд. 3.3). Это вызвано
тем, что получаемое кодовое число содержит не всю информацию об
исходной последовательности. Не указана ее длина, вместо нее также
можно было использовать признак конца записи EOF.
Декодер работает в обратном порядке. Обозначим кодовое число
через Code. Определяя, в какой части полуинтервала [0,1) находится
число Code, декодер распознает соответствующую букву алфавита а,.
Для нее должно выполняться условие
£7, < Code < HIt.
Доля, вносимая ah удаляется из Code при помощи преобразования
вида
Code := (Code - LIl)/(Hll - LI?) = (Code - LI^/Pi.
Число шагов декодирования равно количеству букв в исходной по-
след о вател ьн ости.
Пример 3. Декодировать арифметический код 00001000000101010111
в алфавите символов А = {х, а, ф, м, н, EOF}, имеющих вероятности по-
явления Р= {/>! = 1/8; р2 = 1/4; р3 = 1/4; р4=р5=р6 = 1/8}.
Решение. Как и в примере 1, на полуинтервале [0; 1) массивы значе-
ний нижних и верхних границ полуинтервалов для букв из А следующие:
Ых = 0; Ы2 = Ыг +Pi = 1/8; LI3 = Ы2 =р2 = 3/8; Ы4 = Ы3+р3 = 5/8;
Ы5 = ££4 +р4 = 3/4; Ы6 = Ы5 +р5 = 7/8; НЦ = 1/8; Н12 = 3/8;
Ш3 = 5/8; Н14 = 3/4; Ш5 = 7/8; Ш6 = 1.
Кодовая комбинация при арифметическом кодировании означает
дробную часть числа, находящегося в полуинтервале [0; 1). Для большей
наглядности представим кодовое число в виде обыкновенной дроби в
десятичной системе: Code = 0,000010000001010101112 = 33111/1048576.
Глава 3. Энтропийные (статистические) методы
463
Последовательно определяем вхождение кодового числа Code в по-
луинтервалы букв на [0;1) и после выделения каждой буквы в декоди-
рованной последовательности пересчитываем Code.
1. Ых = 0 < Code= 33111/1048576 < НЦ = 1/8. Следовательно, первым
символом в декодированной последовательности является первая буква
алфавита «х».
Пересчитываем кодовое число:
Code:= (Code-Lljfa = (33111/1048576-0)/(1/8) = 33111/131072.
2. LI2 = 1/8 < Code< Ш2 = 1/4. Вторым символом в декодированной
последовательности является вторая буква алфавита «а».
Новое значение кодового числа:
Code := (Code - Ы2)/р2 = (33111/131072 - (1/8))/( 1/4) = ((33111 -
- 16384)/131072)/(1/4) = 16727/32768.
3. Ы3 = 3/8 < Code < Ш3 = 5/8. Третьим символом в декодированной
последовательности является третья буква алфавита «ф».
Code := (Code - LI3)/p3 = (16727/32768-(3/8))/(1/4) = 4439/8192.
4. LI3 = 3/8 < Code < HI3 = 5/8. Четвертым символом в декодирован-
ной последовательности является третья буква алфавита «ф».
Code := (Code - LI3)/p3 = (4439/8192 - (3/8))/( 1/4) = 1367/2048.
5,£/4=5/8<Со(/е<Я/4 = 3/4. Пятым символом в декодированной
последовательности является четвертая буква алфавита «м».
Code := (Code - ЬЦ)/р4 = (1367/2048 -(5/8))/( 1/8) = 87/256.
6. Ы2= 1/8 < Code < Ш2 = 3/8. Шестым символом в декодированной
последовательности является вторая буква алфавита «а».
Code := (Code - Ы2)/р2 = (87/256 - (1/8))/( 1/4) = 55/64.
7. Z/5= 3/4 < Code < HIS = 7/8. Седьмым символом в декодированной
последовательности является пятая буква алфавита «н».
Code := (Code - Ы5)/р5 = (55/64 - (3/4))/( 1/8) = 7/8.
8. LI6= 7/8 < Code < HI6 = 1. Получен код шестого символа алфавита
(EOF), задающего завершение процесса декодирования.
Ответ: В процессе декодирования получено исходное слово
«Хаффман».
Распаковка архива, так же, как и прямое кодирование, производит-
ся последовательно, начиная с первого символа.
Выше изложены идеальные алгоритмы, которые не учитывают на-
копление погрешностей, вызванное округление чисел в процессе счета,
и другие факторы, существенно осложняющие практическую реализа-
цию арифметического кодирования и декодирования.
464 Раздел VI. Кодирование и сжатие информации
Требуемая для представления границ кодового полуинтервала [Low;
High) точность возрастает вместе с длиной входной последовательности
символов w, поскольку длина интервала равна вероятности p(w) появ-
ления w. Поэтому практические алгоритмы должны отслеживать воз-
можности переполнения при расчете числовых значений границ. Од-
ним из выходов является применение масштабирования при округле-
нии, при котором каждый очередной полуинтервал перед разбиением
растягивается до первоначального [0; 1).
Алгоритм может применяться в двух вариантах: а) при известных
вероятностях появления букв в кодируемой последовательности и
б) при отсутствии данной информации. Вариант а) более оптимален, но
требует двух проходов: первый для расчета вероятностей, второй: для
самого сжатия. Вариант б), при котором вначале полагают все вероят-
ности равными, а затем уточняют их, менее оптимален, но реализуется
за один проход.
Существенным положительным свойством алгоритма является то,
что для декодирования исходного сообщения нет необходимости дожи-
даться полного завершения процесса кодирования и оба процесса мо-
гут осуществляться параллельно.
Алгоритмы арифметического сжатия имеют более сложную струк-
туру и предъявляют более высокие требования к вычислительным
ресурсам по сравнению с семейством алгоритмов, основанных на мето-
де Хаффмана. Однако они позволяют достичь коэффициентов ком-
прессии наиболее близких к максимально возможным и поэтому уже
сегодня используются в стандартах сжатия изображений JPEG2000,
МРЕС-4идр.
С использованием варианта арифметического сжатия, называемого
Q-coder, группой экспертов ISO (Joint Bi-level Experts Group) разрабо-
тан алгоритм JBIG для сжатия битовых черно-белых изображений.
Сжатие изображения осуществляется по строкам в порядке их поступ-
ления. JBIG поддерживает постепенный показ изображения по мере
получения файла с незначительным снижением его качества. Это по-
зволяет быстро просматривать большое число изображений.
Задачи
1. Дан 5-буквенный алфавит А = {a, b, с, d,e}, у которого вероятности появ-
ления букв равны соответственно (0,3; 0,25; 0,2; 0,15; 0,1). Средняя длина сооб-
щений равна 4. Определить для последовательности adeb, используя арифмети-
ческий код с применением символа EOF: а) кодовый полуинтервал, у которого
Глава 3. Энтропийные (статистические) методы
465
границы выражены в виде обыкновенных дробей и б) оптимальный двоичный
код в бинарном виде.
2. Дан шестибуквенный алфавит А = {a, b, с, d, e,f}, у которого вероятности
появления букв равны соответственно (0,25; 0,25; 0,2; 0,15; 0,1; 0,05). Средняя
длина сообщений равна 5. Определить для последовательности fad, используя
арифметический код с применением символа EOF: а) кодовый полуинтервал, у
которого границы выражены в виде обыкновенных дробей, и б) оптимальный
двоичный код в бинарном виде.
3. Определить стоимость арифметического кода, использующего символ
EOF, для последовательностей длины т= 3 в алфавите из двух букв, имеющих
независимые вероятности появления 1/3 и 2/3 при средней длине сообщений,
равной 3.
4. Для 4-буквенного алфавита А = {a, b, с, d\, у которого вероятности появ-
ления букв равны соответственно 0,4; 0,3; 0,2; 0,1, декодировать 5-буквенную
последовательность по ее кодовому битовому числу, полученному в арифмети-
ческом коде без использования символа EOF и равному:
а) 0; б) 100011; в) 111111111.
ГЛАВА 4
ИЗБЫТОЧНЫЕ КОДЫ
4.1. Обнаружение и исправление ошибок.
Разделимые и неразделимые коды
Основное назначение избыточных кодов — обнаружение и исправ-
ление ошибок, возникающих обычно в процессе передачи кодовой ин-
формации. Ошибкой при передаче двоичной информации называется
любое изменение 0 на 1 или 1 на 0.
У неизбыточных кодов некоторая избыточность возникает в тех
случаях, когда количество передаваемых сообщений N не равно степе-
ни числа 2. Например, в двоично-десятичных кодах. Однако этот вид
избыточности не может быть использован для гарантированного ис-
правления ошибок.
Рассмотрим равномерный код с длиной слов п. Общее число кодо-
вых комбинаций N= 2п. Если для передачи информации используется
только часть (Np) из Nкомбинаций, то избыточность кода равна
Np log2 Np
/X = 1------= 1-------.
log22" n
ОПРЕДЕЛЕНИЕ. Допустим, по каналу связи передано некоторое
точное кодовое слово с. Говорят, что при передаче слова с произошло t
ошибок, если полученное слово с' различается от с ровно в t разрядах,
т. е. р(с, с') = t.
Как правило, процесс возникновения ошибок имеет вероятностную
природу и определяется свойствами каналов связи, а также внешними
воздействиями на него. Допустим, передаются слова длины п. Вероят-
ность того, что при передаче слова произойдет ровно i ошибок, обозна-
чим через р;. Из свойств вероятности следует:
р, > 0, i = 1, ..., и;
Ро +Р1 + + Pti ~
Глава 4. Избыточные коды
467
Исправляющие способности кода обычно оценивают долей ис-
правляемых комбинаций:
5 = # /N <1
где #пер — общее число всех передаваемых слов; ДГиспр —- количество
правильных и исправленных слов в них (Л^испр < Л^пер).
При заданной 5 соотношение между длиной слов п и числом гаран-
тированно исправляемых ошибок t должно быть выбрано таким обра-
зом, чтобы суммарная вероятность р2(=Ро+Р1 + • +Pt исправляемых
ошибок была бы не меньше, чем 5:
Ра 8.
Данное неравенство задает связь и и (.
Процесс получения ошибок при передаче равномерных кодов можно
геометрически интерпретировать следующим образом. Все возможные
N= 2я комбинаций сообщений можно сопоставить вершинам «-мер-
ного единичного куба Вп. Например, у равномерного кода длины 4
комбинации могут быть представлены в виде вершин 4-мерного куба:
Рис. 4.1. Плоская проекция единичного куба В 4
Допустим, исходное сообщение с было равно 0100. При передаче
произошла ошибка в третьем разряде и было получено сообщение с' -
= 0110. Вершина с' является соседней с с (р(с, с') = 1). Множество всех
вершин с', у которых р(с, с') < 1, является шаром радиуса 1 с центром в с
и обозначается как 5я(с). В данном примере: 5я(0100) = {(0100), (1100),
(0000), (ОНО), (0101)}.
Если в кодовом слове с длины п произошло t ошибок, то искажен-
ное слово с' можно представить в виде суммы с' = с + А/, где А? — вектор
веса t. Множество всех искаженных векторов с', у которых число оши-
бок не превышает t, образует шар S" с центром в вершине с и радиусом t
468
Раздел VI. Кодирование и сжатие информации
в л-мерном единичном кубе Вп. Для того чтобы код позволял исправ-
лять не менее t ошибок, в шар S" каждого кодового сообщения с не
должно попадать других сообщений (как правильных, так и ошибоч-
ных). Это условие выполняется, если между любыми двумя точными
кодовыми словами расстояние р(с, С[) будет не менее, чем 2t+ 1. В рас-
смотренном случае с t < 1 минимально возможное расстояние между
центрами точных сообщений должно быть не менее 3. В 4-мерном кубе
можно выбрать, например, вершину q = (1010). У нее p(qq) = 3, Шар
5^(1010) = {(1010), (0010), (1110), (1000), (1011)}. Очевидно, 5^(0100) п
5"(1О1О) = 0. Других вершин q, у которых выполнялись бы одновре-
менно условия p(q, с) > 3, p(q, q) > 3, в кубе В4 указать нельзя. Поэтому
код длины 4 может быть использован для исправления не более одной
ошибки при передаче только двух сообщений.
ОПРЕДЕЛЕНИЕ. Код обнаруживает t ошибок, если он позволяет
выяснить наличие ошибок в полученном кодовом слове при условии,
что в нем может содержаться от 0 до t ошибок. Код исправляет t ошибок,
если он может восстановить исходное (не содержащее ошибок) кодовое
слово по реально переданному слову, в котором может содержаться от 0
до t ошибок.
На практике для каждого избыточного кода наиболее важными яв-
ляются следующие вопросы: 1) сколько ошибок может исправлять код;
2) как практически реализовать процесс исправления ошибок.
Рассмотрим первую задачу.
ОПРЕДЕЛЕНИЕ. Кодовым расстоянием кода С называют величину
d(C) = minp(q, Cj), где минимум расстояния Хэмминга берется по всем
различным кодовым словам С.
Необходимое и достаточное условие того что код С исправляет t
ошибок, можно выразить через d(C) следующим образом:
Теорема 4.1. Код С исправляет t ошибок тогда и только тогда, когда
его кодовое расстояние d(C) > 2t + 1.
Доказательство. Необходимость. Допустим обратное — у кода С,
исправляющего t ошибок, кодовое расстояние rf(Q < It + 1. Отсюда сле-
дует, что существует пара кодовых слов ср, сг, у которой p(q,, cr) < 2t + 1.
При этом множества всех искаженных векторов ср, сг', (которым соот-
ветствуют шары Snt(cp), Snt(cr) в л-мерном двоичном кубе Вп) имеют не-
пустое пересечение. Для кода срг, принадлежащего такому пересече-
нию, нельзя определить точное сообщение, поскольку его расстояния
до обоих точных кодовых слов ср, сг не превышают t. Полученное про-
тиворечие доказывает необходимость теоремы.
Глава 4. Избыточные коды
469
Достаточность. Допустим для кодового расстояния некоторого ко-
да С справедливо d(C) > 2t + 1. Отсюда следует аналогичное неравенство
для любой пары слов ср, сг кода р(с/,, cr) > 2t + 1. Ошибочные сообщения,
отличающиеся от ср и сг не более чем в t символах, будут попадать в не-
пересекающиеся шары, следовательно их можно исправить: заменить
словом, соответствующим центру шара.
Свойство кода d(C) > 2t + 1, необходимое для исправления t ошибок,
может быть обеспечено двумя различными способами.
ОПРЕДЕЛЕНИЕ. Разделимым по построению называют код, у кото-
рого каждое полное кодовое слово с длины п состоит из информаци-
онного слова а длины к и дополнительного проверочного слова b
длины r-n-к: с =а Ь. Неразделимым по построению называют код, у
которого кодовые слова нельзя разделить на информационные и про-
верочные подслова.
В общем случае у разделимых равномерных кодов полное кодовое
слово с длины п состоит из информационного подслова а длины к и
проверочного слова b длины г.
Г-а b = а2 ак Ь1 Ь2... Ьг, п = к + г.
Поскольку количество всех различных информационных подслов
а должно быть не менее числа Np всех кодовых сообщений, то
A: = ]log2^[.
Минимальное число проверочных разрядов г определяется числом
информационных разрядов к, а также количеством гарантированно ис-
правляемых ошибок t:r=r(k, t). Точная зависимость r(k,t) найдена
только при t= 1. В этом случае г — минимальное целое число, удовле-
творяющее неравенству
r>log2(r + fc+ 1).
При t > 2 найдены лишь оценки. Расчетные проверки для зависимо-
сти г {к, f) при малых значениях к и t дали значения, приведенные в
табл. 4.1.
Таблица 4.1
Зависимость минимального числа проверочных разрядов г от к и t
t\k 1 2 3 4 5
1 2 3 3 3 4
2 4 7 8 8 9
3 6 11 12 13 14
4 8 15 16 17 19
5 И 19 21 22 23
470 Раздел VI. Кодирование и сжатие информации
4.2. Линейные коды. Систематический код
В простейшем случае для передачи и приема кодированной инфор-
мации с обнаружением и исправлением ошибок у передатчика (кодера)
и приемника (декодера) должны быть таблицы правильных (разрешен-
ных) кодов С=\С\,Сг, —,CN^, а также задано правило, по которому
любая принятая комбинация С в случае наличия ошибок в ней отно-
сится к тому или иному разрешенному коду С, (1 < i < Np).
Однако количество комбинаций Np = 2к, используемых кодом, бы-
стро растет с увеличением числа информационных разрядов к. В реаль-
ных системах к составляет десятки и сотни. При этом хранение табли-
цы кода требует слишком много памяти, а использование ее в динами-
ческом режиме вообще технически невозможно.
Поэтому на практике применяют методы кодирования, не требую-
щие хранения полной таблицы кода С, а также соответствующие им
правила обнаружения и исправления ошибок. Такими свойствами об-
ладают, в частности, линейные и циклические коды.
ОПРЕДЕЛЕНИЕ. Линейными называют разделимые двоичные ко-
ды, у которых множество всех разрешенных комбинаций образует ли-
нейное пространство относительно операции поразрядного сложения
по модулю 2.
Данное определение означает, что если слова С( и Cj входят в код С,
то их сумма С, © Су, в которой производится поразрядное сложение по
модулю 2, также будет принадлежать С. У каждого линейного кода с к
информационными разрядами можно (неединственным образом) вы-
делить к линейно независимых слов, с помощью которых путем сложе-
ния можно получить любое из 2к слов кода С.
ОПРЕДЕЛЕНИЕ. Матрицу Gnk размерами кхп, строки которой
образуют к линейно независимых слов С1;..., Ск кода С, называют по-
рождающей или производящей матрицей кода С.
Наиболее употребительными являются систематические линейные
коды.
ОПРЕДЕЛЕНИЕ. Систематическими называются такие коды, в ко-
торых проверочные разряды являются линейной комбинацией инфор-
мационных разрядов, т. е. любой разряд Z>,(1 <i<r) можно представить
в виде
bj = сси «1 © ... © ахкак=(ау,а)',
Ь2 = «21 а1 ® ••• ® а2А ак = (а2’аХ
Ьг= аг1 © ... © агк ак =(аг,а),
где а = (а(1, ай,.... aik) — постоянные для данного кода булевы векторы.
Глава 4. Избыточные коды
471
ОПРЕДЕЛЕНИЕ. Матрицу а (размером г х к)
“п ai<t
“rl • • • агк
задающую линейные выражения проверочных разрядов (Z>1; ...,br) сис-
тематического кода через информационные (аи ак), называют мат-
рицей связи.
При помощи матрицы связи зависимость проверочного подслова b
от информационного а можно представить в виде
где bТ, ат — вектор-столбцы.
При построении систематических кодов используется следующее
основное их свойство. Пусть С и С — две разрешенные кодовые ком-
бинации: С = аЬ, С'=а'Ь'. Тогда для суммы С® С' по модулю 2 (CL =
= СФ С' =(ja®a')(b®b') = a^ b^) по свойству систематических кодов
получим
Т Т ““ Т т* Т т* Т —
=(6 +b ) = аа + аа' = а(а +а ) = aas.
Таким образом, слово CL также удовлетворяет определению систе-
матического кода. Следовательно для задания всего кода достаточно
определить к исходных линейно независимых кодовых слов С1г..., Ск.
Очевидными являются следующие требования к производящей
матрице кода Gnk:
а) все исходные коды (строки матрицы) должны быть ненулевыми и
различаться между собой не менее чем по d(C) разрядам р(С,-, Q > d(C) >
>2t+ 1;
б) количество единиц в каждой строке не менее d(C).
Общий алгоритм построения производящей матрицы
систематических кодов
Матрицу Gn к представим в виде двух матричных блоков А (инфор-
мационная подматрица размером к х к) и В (проверочная подматрица
размером к х г):
Gnk=(A)(B).
472 Раздел VI. Кодирование и сжатие информации
1. Информационная подматрица. Поскольку строки в А должны быть
линейно независимыми, обычно в качестве А принимают диагональ-
ную единичную матрицу Е размером к х к.
Л = £= ’1 0 ... 0 0 0 1 ... 0 0 0 0 ... 1 0 0 0 ... 0 1
2. Проверочная подматрица. Из общих требований к G„ к следу-
ет, что:
а) в строках В должно быть не менее d(C) - 1 единиц (т. к. одну еди-
ницу дает Л);
б) сумма по модулю любых двух строк не должна быть менее d(C) - 2
(т. к. разность 2 дают строки в матрице А).
Существует целый ряд специальных алгоритмов построения прове-
рочных подматриц. Необходимость в их применении особенно сказы-
вается при больших ли/.
Пример 1. Найти производящую и полную матрицы равномерного
кода С, передающего 14 сообщений с гарантированным исправлением
одной ошибки.
Решение. 1. Определяем длину информационной части слов:
к = ]log2#[ = ]log214 [ = 4.
2. Определяем длину проверочной части слов. По теореме для га-
рантированного исправления одной ошибки (/=1) должно выполнять-
ся cf(Q=3. По формуле г > log2 (г + к + 1) подбором находим 3>log2(3 +
+ 4 + 1) = 3. Отсюдаг= 3 => л = к + г=7.
3. Информационная подматрица А = Ец.
4. Проверочная подматрица определяется из условий:
а) в каждой строке должно быть не менее d(C) - 1 = 3 - 1 = 2 единицы;
б) сумма по модулю 2 любых строк В не менее 3-2=1. Подбором
строк строим следующую матрицу размером £ х г=(4 х 3):
fOllA
Глава 4. Избыточные коды
473
5. Производящая матрица С74 имеет вид
<1 0 0 0 0 1 п
О: II 0 0 1 0 0 1 0 0 1 1 0 1 1 0
0 0 1 1 1 1J
6. Построение полной матрицы кода обычно производится сле-
дующим образом:
а) первую строку берут нулевой: С; = (0000000);
б) следующие к строк — из производящей матрицы G7 4:
fG'i
Q =С
С< °7’4’
чС5>
в) остальные строки с 6-й по 14-ю получают суммированием всех
возможных сочетаний строк производящей матрицы (С2 - С5) по моду-
лю 2. Вначале используют все различные (с точностью до перестановок)
суммы по 2 строки, затем по 3, 4 и т. д.
В данном примере: С6 = С2 Ф С3; С7 = С2 Ф С4; С8 = С2 Ф С5; С9 = С3 Ф С4;
С|0 = С3®С5; СП = С4ФС5; С12 = С2 Ф С3 Ф С4; С13 = С2ФС3ФС5; С14 = С2Ф
С4 Ф с5.
Полный код представлен в виде матрицы С, данной ниже.
<0000000'
1 0 0 0 0 1 1
0 10 0 10 1
0 0 10 110
0 0 0 1 1 1 1
110 0 111
10 10 10 1
10 0 110 0
0 110 0 11
0 10 10 10
0 0 1 1 0 0 1
1 1 1 0 0 0 0
110 10 0 1
10 110 10,
Замечания. 1. Количество всех возможных сумм всегда равно 2к.
Следовательно, в построенном выше коде остались неиспользованными
две возможных комбинации — слова, соответствующие суммам С3 Ф С4 Ф С5
и С2 Ф С3 Ф С4 Ф С5.
474
Раздел VI Кодирование и сжатие информации
2. Аддитивный способ образование кодовых слов в сочетании с еди-
ничной формой информационной матрицы позволяет производить коди-
рование любых исходных сообщений только с использованием производя-
щей матрицы, без полного кода.
Пример 2. В построенном выше коде с производящей матрицей G-, 4
необходимо закодировать неизбыточное сообщение (1101).
Решение. Для получения под слова (1101) в информационной части
кодового слова необходимо сложить строки с номерами 1, 2, 4 (номера
разрядов подслова, в которых стоят единицы). В итоге получим
С(1101) = 1000011 © 0100101 © 0001111 = 1101001.
Ответ: Неизбыточное слово (1101) имеет код (1101001).
Единичный вид информационной матрицы также позволяет до-
вольно просто получить матрицу связи кода а. Соотношение ЬТ = а. ат
выполняется для всех возможных кодовых слов с = а Ь. Поэтому связь
матриц В и А также можно представить в виде
Вт=аАг.
Т. к. А = Е, то Аг-Е, отсюда следует: а = Вт.
Пример 3. В коде, построенном в примере 1,
а = Вт
'011Г
1011
11101J
Следовательно, проверочные разряды связаны с информационны-
ми таким образом:
Ьх = 0 х © 1 х а2 © 1 х а3 © 1 х а4;
b2 = 1 х П1 © 0 х а2 © 1 х а3 © 1 х а4;
b3 = 1 х Я] ф 1 х а2 © 0 х а3 © 1 х а4.
При кодировании неизбыточного слова 1101 получим
bx = а2 © а3 © а4 = 1 © 0 © 1 = 0;
b2 = at © а3 © а4 = 1 © 0 © 1 = 0;
/>3 = а1©а2®а4=:1®1®1 = 1-
Полное кодовое слово С(1101) = 110lblb2b3 = 1101001. Результат сов-
падает с примером 2.
ОПРЕДЕЛЕНИЕ. Проверочной матрицей Я называется матрица, со-
стоящая из матрицы связей а и приписанной к ней справа единичной
матрицы Д. размером (г х г):
Н= (а)(Ег).
Глава 4. Избыточные коды
475
Назначение матрицы Н — проверка правильности выполнения ко-
дирования в систематическом коде. Для этого нужно кодовое слово
С=(а Ь) = а2... ак Ьх Ь2... Ьг
умножить справа на Н. При этом получается некоторый вектор d =
= (d\,..., dr) размерности г. Каждая компонента его равна
= оспйГ1 + а,2а2 + ... + aikak + bt.
Если кодирование выполнено правильно, то должно выполняться
уравнение связи: bt = + ai2a2 +... + ajkak. При этом <7,-= />, + />, = О
(modi). Следовательно, при правильном кодировании d=HC = Q
(modi).
Замечание. Выполнения условия d = НС = 0 является достаточным
условием правильности кодирования, поскольку полное множество кодо-
вых слов С совпадает с множеством всех решений уравнения НС = 0.
Следствие. В систематических кодах кодирование может произво-
диться путем приписывания исходному неизбыточному информационному
слову а проверочных разрядов, рассчитываемых путем скалярного умно-
жения слова а на проверочную матрицу а.
Задачи
1. Проверить правильность построения производящей матрицы Gn 7:
д 0 0 0
0 1 0 0
0 0 1 0
II 6м 0 0 0 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 1 1 1 1
0 0 0 1 1 1 0
0 0 0 1 1 0 1
0 0 0 1 0 1 1
1 0 0 0 1 1 1
0 10 10 11
0 0 1 0 0 1 1
2. Определить минимальные длины информационной части слов к и про-
верочной части г, производящие и проверочные матрицы для кодов, гарантиро-
ванно исправляющих:
а) 2 ошибки в 9 сообщениях;
б) 3 ошибки в 7 сообщениях;
в) 2 ошибки в 17 сообщениях.
4.3. Коды Хемминга
Данные коды являются разновидностью линейных кодов с мини-
мальным расстоянием d(C) = 3, исправляющей одну ошибку и обнару-
живающей двойные. Для исправления и обнаружения одной ошибки
дополнительно к к разрядам информационного слова а вводится
476
Раздел VI. Кодирование и сжатие информации
r= ]log2fc[ проверочных разрядов. Само проверочное слово b принима-
ется равным инвертированной поразрядной сумме (по модулю 2) дво-
ичных номеров тех разрядов информационного слова а, значения
которых равны 1. Номера информационных разрядов отсчитываются
с единицы справа налево. Поразрядное суммирование по модулю 2
двоичных слов обозначим через «#», инвертирование двоичных слов —
через «*».
Найденное полное кодовое слово с = а b передается по каналу связи.
Пример 1. Построить код Хемминга для передачи информацион-
ного слова а = 1001010 с исправлением одной ошибки.
Решение. 1. Число информационных разрядов к = 7. Рассчитываем
число проверочных разрядов: г = ]log27[ = 3.
2. Суммируем поразрядно по модулю 2 в двоичной системе номера
информационных разрядов, значения которых равны 1 (второй, четвер-
тый и седьмой): 010 # 100 # 111 = 001.
3. Полученную сумму инвертируем (001*) и полученное провероч-
ное подслово /> = 110 присоединяем к информационному подслову.
Ответ'. Код Хемминга для передачи информационного слова а =
= 1001010 имеет общую длину 3 + 7 = 10 и равен с - ab = 1001010110.
Для принятого слова с' = а'Ь' в коде Хемминга по известным пара-
метрам слова к и г вновь рассчитывается проверочное слово Ь", которое
сравнивается с принятым проверочным словом Ь' путем поразрядного
сложения. Если полученное суммарное слово А = />'#/>" равно нулю, то
ошибок при передаче не обнаружено. Если же сумма А ненулевая, то в
полученном информационном подслове а' содержится ошибка в раз-
ряде с номером, который задает двоичное число А.
Пример 2. Получены две кодовых комбинации
1010101111, 0111010111,
которые являются словами в коде Хемминга с параметрами к = 1, г= 3.
Проверить наличие ошибок в них.
Решение. Для каждого из принятых слов с' = а'Ь' вновь рассчитыва-
ем проверочное слово Ь" и поразрядно складываем его с Ь'. Дальней-
ший анализ выполняем по полученной сумме А.
1. Ь" (1010101) = (111# 101 #011#001)* = 111, А = />"#/>"= Ш # Ш =
= 000, следовательно, ошибок не выявлено.
2. Ь" (0111010) = (110# 101 # 100 # 010)* = 010, А = />"#/>"= 010# 111 =
= 101, следовательно, ошибка в полученном информационном подсло-
Глава 4. Избыточные коды
477
ве а' произошла в позиции номер 5 (5 = Ю12). Исправленное подслово
а' = 0101010.
Ответ: первое полученное слово 1010101111 не содержит ошибок,
во втором 0111010111 — ошибка в пятом разряде.
Для обнаружения двойных ошибок в (к, г) коде Хемминга к г прове-
рочным разрядам добавляют еще один разряд контроля четности, в ко-
торый заносят 0, если сумма всех разрядов четна (равно нулю по моду-
лю г) и 1 — в противном случае.
Задачи
1. Построить код Хемминга для передачи информационных слов длины 9:
101100110, 010110101.
2. Проверить наличие ошибок в кодовых комбинациях
101101001, 010110011, 101001010,
которые являются словами в коде Хемминга с параметрами к = 6, г= 3.
4.4. Циклические коды
Среди линейных систематических кодов выделяют циклические
коды (CRC, Cyclic Redundancy Check — избыточная циклическая про-
верка). Свое название они получили из-за того, что циклическая (кру-
говая) перестановка символов в их кодовых словах дает комбинации,
также принадлежащие коду. Например, если слово С,= (с1; с2,..., с„_1г
сп) входит в циклический код С, то к нему принадлежит и его круговая
перестановка С/ = (с2,..., с„_|, сп, Cj).
Все слова циклического кода делятся без остатка на некоторый вы-
бранный полином, называемый производящим.
Указанные свойства используют при построении данных кодов, а
также при обнаружении и исправлении ошибок в сообщениях, переда-
ваемых с использованием циклических кодов.
4.4.1. Отображение двоичных кодовых слов на множество
многочленов над полем GF(2). Расширенные поля GF(2m)
Для построения циклических кодов используют запись их кодовых
слов в виде многочленов (полиномов) специального вида, у которых
коэффициенты принимают ^значения из множества £’2 = {0, 1}. Расши-
ренный натуральный ряд N вместе с умножением и сложением по
mod 2 образует поле Галуа GF(2). Поэтому будем называть их многочле-
нами над полем GF(2).
478 Раздел VI. Кодирование и сжатие информации
Слову С( = (с„, c„_ltс2, Cj) двоичного кода длины п ставят в соот-
ветствие многочлен, у которого коэффициенты совпадают с двоичны-
ми компонентами С(:
Л-1 (*) = СПХ”~1 + СЯ-1Х"’2 + - + С2Х+С1.
Например, слову (1100) соответствует многочлен Р\(х) =х3 + Х2; сло-
ву (100111) — многочлен Р2(х) =х5+х2 + х + 1.
Для многочленов над полем GF(2) определены коммутативные опе-
рации сложения и умножения. При сложении коэффициенты резуль-
тирующего многочлена определяют сложением по модулю 2 соответст-
вующих коэффициентов исходных. Вычитание по модулю 2 совпадает
со сложением.
Пример 1. Р{ (х) + Р2(х) = Р2(х) + Р^ (х) = Р\ (х) - Р2(х) = х5 + х3 + х + 1.
Умножение производится по обычным правилам с последующим
сложением по модулю 2 совпадающих слагаемых.
Пример 2. Рх (х) х Р2(х) = (х3 + х2) х (х5 + х2 + х + 1)=х8+х7 + х5+х4 +
+х4 + х3+х3 + х2 = х8+х7 + х3+х2.
Множество М всех многочленов над полем GF(2) вместе с опреде-
ленными на нем операциями сложения и умножения по mod 2 образуют
коммутативное кольцо с единицей. Аддитивной единицей является ну-
левой многочлен Р(х) = 0, а мультипликативной единицей — многочлен
Р(х) = 1. Поскольку для всех многочленов, не равных Р(х) = 1, не суще-
ствует обратный элемент х -1 е М по операции умножения, при котором
х х х -1 = 1, то данная структура не образует поле.
Также определена операция деления многочленов, которая анало-
гична обычному делению многочленов с той разницей, что все дейст-
вия производятся по модулю 2.
ПримерЗ. Разделить многочлен Р2(х) =х5 + х2+х+1 на многочлен
Р1(х)=х3 + х2.
Решение. _х5 + х2 + х + 11 х3 +х2
х5 + х4 |х2+ х+1 (остаток = х+1)
_х4 +х2
х4 + Х3
х+ 1
Ответ: Р2(х): Р^х) = х2 + х + 1, остаток = х + 1.
Глава 4. Избыточные коды
479
ОПРЕДЕЛЕНИЕ. Неприводимым называют многочлен, не предста-
вимый в виде произведения многочленов низших степеней, отличных
от самого многочлена и единицы.
Неприводимому многочлену соответствует двоичное число, яв-
ляющееся степенью простого числа.
Примеры 4. Неприводимые многочлены:
1)х + 1; 2)х2+х + 1; З)х3+х + 1; 4)х4 + х+ 1; 5)х4+х3 + 1;
6)х6+ х+1; 7)х7+х3+ 1.
Им соответствуют двоичные слова, обозначающие следующие числа:
1) (11) = 3; 2) (111) = 7; 3) (1011) = 11; 4) (10011) = 19; 5) (11001) = 25 = 52;
6) (1000011) = 67; 7) (10001001) = 137.
Рассмотренное кольцо многочленов над полем GF(2) содержит бес-
конечное (счетное) их число. Вследствие фиксированной разрядности
кодовых чисел при построении кодов применяют конечные структуры.
Для их получения используют аналоги целочисленных сложения и ум-
ножения по mod£ — сложение и умножение многочленов по модулю
фиксированного многочлена Рт(х), где т — степень заданного много-
члена.
ОПРЕДЕЛЕНИЕ. Многочлены 2Дх) и Q2(x) равны по модулю много-
члена Рт(х), если равны их остатки отделения на Pm(x).
В том случае, когда многочлен Рт(х) является неприводимым, рас-
смотренное равенство многочленов над полем GF(2) по модулю Р„(х)
позволяет выделить из общего кольца многочленов над полем GF(2)
поле по модулю Рт(х).
ОПРЕДЕЛЕНИЕ. Поле, образованное многочленами над полем
GF(2) по модулю неприводимого многочлена Рт(х), называют расшире-
нием поля степени т над GF(2) или расширенным полем. Оно содержит 2™
элементов и обозначается Gf(2m).
Если многочлен Р(х) можно представить в виде произведения мно-
гочленов низших степеней, рассматриваемая структура имеет делители
нуля и, следовательно, не является полем.
Поскольку поле GF(2m) конечно, то для любого его элемента а среди
степеней а1, а2,... всегда встретится повтор элементов, при котором:
aj = a‘,j>i. Умножая обе части равенства на обратный элемент (а')-1,
получим а'~‘ = е, где е — единичный элемент по групповому умножению.
ОПРЕДЕЛЕНИЕ. Наименьшее число р, при котором ар = е, назы-
вают порядком элемента а. Совокупность элементов е, а1, а2,..., ар~1 со-
ставляет полугруппу в поле GF(2m), которую называют циклической.
480
Раздел VI. Кодирование и сжатие информации
Рассмотрим состав расширенного поля GF(2m) по модулю неприво-
димого многочлена Рт(х). Многочлены, составляющие его, будем обо-
значать Pj(x), где индекс i изменяется от 0 до 2'"- 1. Очевидно, в каждое
поле GF(2m) входят:
1) нулевой элемент (единица по групповому сложению), многочлен
р0(х) = 0;
2) единичный элемент (единица по групповому умножению), мно-
гочлен р,(х) = 1;
3) все произведения х,- (1 < / < 2'”) по модулю многочлена Рт(х).
Множеству многочленов из GF(2m) соответствуют все двоичные
числа длины т от 0 до 2"' - 1. Кроме первых двух (0 и 1) остальные дво-
ичные числа расположены неупорядоченно по возрастанию.
Пример 5. Рассмотрим неприводимый многочлен Р2(х)=х2+х+1,
соответствующий простому числу 7 (примеры 4). Определить для него
состав расширенного поля GF(22).
Решение. 1. Т. к. т = 2, 2т = 4, то искомое поле СД22) должно содер-
жать многочлены р0(х), р/х), р2(х), р3(х).
2. Два начальных многочлена в нем: р0(х) - 0, Д](х) = 1.
3. Следующий многочлен р2(х) =х хр^х) =х имеет степень меньше
т = 2, поэтому входит в GF(2m) без изменения.
4. Степень многочлена р3(х) =х хр2(х) =х2 равна т, поэтому его
включаем в поле по модулю Р2(х) =х2 +х + 1: р3(х) =х2 +х2 + х + 1 =х + 1.
Ответ: Расширенное поле GF(22) по модулю неприводимого мно-
гочлена Р2(х)=х2 +х+ 1 содержит множество многочленов {0, 1,х,х+ 1}.
Им соответствуют двузначные двоичные комбинации {00,01, 10, 11},
задающие числа 0, 1,2, 3.
Пример 6. Определить состав расширенного поля GF(24) по модулю
неприводимого многочлена Р4(х) = х4 + х + 1, соответствующего про-
стому числу 19 (примеры 4).
Решение. 1. ли = 4, 2т = 16. Поле GF(24) должно содержать многочле-
ны р0(х),д1(х), ...,р15(х).
2. po(x) = O,pi(x)= 1.
3. Многочленыр2(х) -х, р3(х) = х2, р4(х) = х3 имеют степени меньшие
т = 4, поэтому входят в поле без изменения.
4. Степень многочлена р5(х) = х х р4(х) = х4 равна т, поэтому его
включаем в поле по модулю Р4(х) = х4 + х + 1: р5(х) = х4 + х4+х + 1 = х + 1.
5. Многочленыр6(х) =х хр5(х) =х2 +х, р7(х) =х хр6(х) =х3 ч-х2 имеют
степень меньше т = 4 и входят в поле без изменения.
Глава 4. Избыточные коды
481
6. Степень многочлена р8(х) =х х р7(х) = х4 + х3 равна т, по модулю
Д4(х): р8(х) = х4+х3+х4 + х+1=х3+х+1.
7. Остальные многочлены находим аналогично:
р9(х) =х4 + х2+х + х4+х+1=х2 + 1;
Рю(х)=х3+х;
р11(х)=х4 + х2+х4 + х+1=х2+х+1;
р12(х)=х3 + х2+х;
р13(х) =х4 + х3+х2 +х4 + х+ 1 =х3 + х2 +х+ 1;
р14(х) =х4 + х3 + х2 +х + х4 +х + 1 =х3 +х2 + 1;
р15(х) = х4 + х3 + х + х4 + х + 1 = х3 + 1.
Ответ: расширенное поле ОД!4) по модулю неприводимого много-
члена Р4(х) =х4 + х+ 1 содержит множество из 16 многочленов {0, 1, х, х2,
х3, Х+ 1, X2 + Х, X3 + Х2, X3 + Х+ 1, X2 + 1, X3 + Х, X2 +Х+ 1, X3 + Х2 + Х, X3 + Х2 +
+ х+ 1,х3 + х2 + 1,х3+ 1}.
Им соответствуют четырехзначные кодовые комбинации {0000, 0001,
0010, 0100, 1000, ООП, ОНО, 1100, 1011, 0101, 1010, 0111, 1110, 1111,
1101, 1001}, задающие числа 0, 1,2, 4, 8,3,6, 12, 11,5, 10,7, 14, 15, 13,9.
Замечание. Как можно заметить, у кодовых комбинаций, соответ-
ствующих многочленам с подряд идущими номерами происходит цикличе-
ское перемещение слева направо единичной кодовой комбинации по нуле-
вому полю до достижения старшего разряда, после чего комбинация изме-
няется после умножения по модулю на неприводимый многочлен.
Задачи
1. Доказать, что совокупность элементов е, а\ а2,..., арЛ, где р — порядок
элемента а, составляет полугруппу в поле GF(2m).
4.4.2. Построение циклического кода
Именно неприводимые многочлены в теории циклических кодов
играют роль производящих.
Циклический сдвиг кодовых слов (с„, с2, <ц) при помощи
многочленов отображается следующим образом. Перемещение компо-
нент слова ся_[,..., с2, <4 на одну позицию справа налево без нарушения
порядка их следования соответствует тому, что степени всех слагаемых
(кроме самого старшего сях"-1) многочлена Д1_|(х) увеличились на еди-
ницу или, что тоже самое, умножению 7’я_1(х)-сях"-1 на х. Для того
чтобы крайняя левая компонента слова с„ оказалась в крайней правой
позиции нового слова, ее нужно добавить к данному произведению.
482 Раздел VI. Кодирование и сжатие информации
В итоге циклический сдвиг кодового слова (с„, с„_1,...,с2, cj) на од-
ну позицию может быть представлен новым многочленом 2яЧ(х), ко-
торый выражается через Ря_[(х) следующим образом:
□Li (х) = (Л_! (х) - спх ”-1) х х+сп = Pn_i (х) х х - сп (хя -1).
Вычитание с„(хя - 1) называют взятием остатка по модулю (хя - 1).
Во вновь полученном многочлене 2яЧ(х) старшим коэффициен-
том будет £„_!• Применяя для него операцию циклического сдвига на
одну позицию, получим новый многочлен
Q2n-\(х) = QxnA(X) X X - с„_] (х” -1) = РяЧ(х) X X -с„(хя -1)X х2 - С„_|(хя -1).
Продолжая применять операцию сдвига, для циклического сдвига
на s позиций будем получать многочлены вида
2Я_1 (х) = Рп_}(х) х xs -сп (хя -1) х xi-1 -c„_i(хя -1) х х5-2 -cn_i+1 (х" -1) =
= Рп-\ (х) X х * - (х " -1) X [с„ X Xi-1 - С„_] X Xi-2 -... - c„_i+1 ].
Очевидно, все многочлены Q^x) будут без остатка делиться на
Л-1(х)> если на него будет делиться многочлен (хя -1).
Учитывая данное условие, сформулируем требования к производя-
щим многочленам Р(х).
1. Р(х) должен быть ненулевым.
2. Вес слова С, соответствующего Р(х), должен быть не меньше ми-
нимального кодового расстояния: со(С') > </(Qmin.
3. Р(х) должен иметь степень г (г — число проверочных разрядов в
кодовых словах).
4. Р(х) должен быть делителем полинома (хя- 1).
Замечание. Поскольку вычисления производятся над числовым
полем GF(2), то для того чтобы избавиться от вычитания, вместо полинома
(хя - 1) рассматривают эквивалентный ему по модулю 2 полином (хя + 1).
Циклический код однозначно определяется своим производящим
многочленом Р(х). Его выбирают, исходя из требуемых вышеперечис-
ленных свойств с учетом общей длины кодового слова п, а также чисел
информационных и проверочных разрядов к, г, обеспечивающих необ-
ходимое число исправляемых ошибок /.
При построении кодового слова многочлен Q(x) степени к, соответ-
ствующий исходному информационному слову, преобразуют в много-
член Р(х) степени не более п - 1, который без остатка делится на произ-
водящий многочлен Р(х) степени г = п-к. Рассмотрим последователь-
Глава 4. Избыточные коды
483
ность операций при преобразовании исходного информационного сло-
ва в кодовую комбинацию.
Алгоритм построения кодовой комбинации в циклическом коде
1. Исходное информационное слово длины к преобразуют в соот-
ветствующий многочлен Q(x) степени не выше к - 1.
2. Умножают Q(x) на одночлен хг. В итоге получают многочлен
Q(x)xr, соответствующий исходному информационному слову с добав-
ленными к нему слева г нулями.
3. Делят многочлен Q(x)xr на производящий многочлен Р(х) степе-
ни г. В общем случае получается частное от деления С(х) такой же сте-
пени, что и Q(x), и остаток R(x) степени не выше г.
4. Многочлен F(x) степени не более п - 1, соответствующий кодовой
комбинации, принимается равным: F(x) = Q(x)xr+ R(x).
5. Получение искомой кодовой комбинации по многочлену Дх).
Пример 7. Для циклического кода с параметрами п = 9, к=5, г = 4 и
производящим многочленом Р4(х) = х4 + х + 1 получить кодовую комби-
нацию для информационного слова 10111.
Решение. 1. Слову 10111 соответствует многочлен Q(x) = х4 + х2+х+1.
2. Q(x)xr = (2(х)х4 = х8 + х6 + х5 + х4.
3. Делим многочлен х8+х6 + х5+х4 на производящий многочлен
Р4(х) = х4 + х + 1:
_х8 + х6+х5+х4 1х4 + х+1
х8 + х5 + X4 | х4 + х2
_х6
X6 +х3 +Х2
х3 + Х2 (остаток).
Получим частное С(х) = х4 + х2 и остаток R(x) = х3 + х2.
4. Многочлен Дх) = <2(x)xr + R(x) = х8 + х6 + х5 + х4 + х3 + х2.
5. Дх) =х8 + х6 + Х5 + х4 + х3 +Х2 <-> 101111100.
Ответ'. Искомая кодовая комбинация равна 101111100.
На практике наиболее применимы следующие циклические коды,
использующие соответствующие полиномы:
1) CRC-16 (х16 + х15 = х2 + 1);
2) CRC—CCITT (х16+ х12 ч-х5 + 1);
3) CRC-32 (х32 + х26 + х23 + х22 + х16 + х12 + х11 +х10+х8 + х7 + х5 + х4 +
+ х2 + х+ 1).
Задачи
1. Решить задачу из примера 7 для исходного информационного слова 11001.
484 Раздел VI. Кодирование и сжатие информации
4.4.3. Коды Боуза — Чоудхури — Хоквингема (БХЧ)
Разновидность двоичных циклических кодов была независимо
предложена А. Хоквингемом (Франция) и Р. К. Боузом и Д. К. Рой —
Чоудхури (США). Данный метод кодирования обеспечивает построе-
ние циклических кодов с минимальным кодовым расстоянием, спо-
собных исправлять многократные ошибки. Для кодирования и декоди-
рования здесь в отличие от обычных циклических кодов используется
порождающий многочлен, разлагаемый на множители более низких
степеней:
Р(х) =gt(x) *<?2(х) х ... xgj(x).
Для построения БХЧ-кодов применяют следующий алгоритм. Вна-
чале по заданной длине кода п и числу исправляемых ошибок t из соот-
ношения п = 2т - 1 определяют максимальную степень т сомножителей
порождающего многочлена. Затем находят j = 2t- 1 число сомножите-
лей порождающего многочлена Р(х). По найденным ти/в специальной
таблице минимальных многочленов подбирают сомножители для Р(х).
4.4.4. Коды Рида — Соломона
Коды Рида — Соломона, называемые также PC-кодами, являются
недвоичными циклическими кодами. Для обозначения информации у
них используются символы из поля Галуа GF(q), содержащего q = 2т > 2
элементов.
При данном способе кодирования передаваемая битовая информа-
ция делится на блоки по т бит. Наибольшее распространение коды Ри-
да — Соломона получили для передачи блоков по 8 бит (байтов).
Очевидно, в каждом из блоков может быть записано двоичное чис-
ло в интервале от 0 (все биты нулевые) до 2т - 1 (все биты заполнены
единицами). Вся передаваемая битовая информация представляется в
виде последовательности чисел в данном интервале, каждое из которых
можно отобразить на многочлен степени 2т - 1.
Обозначим биты из первого блока через (Ро, рь ..., Рт_[). Им ставит-
ся в соответствие многочлен из расширенного поля GF(2m) над число-
вым полем Галуа GF(2):
PU) = Р0Х° + pjX1 + ... + pffl_! Xffl-‘.
ОПРЕДЕЛЕНИЕ. В общем случае PC-кодом называют цикличе-
ский (и, &)-код, у которого п = q- 1, а множество кодовых комбинаций
соответствует многочленам степени не выше п -1 с коэффициентами
из поля GF(q), где q>2 и является степенью простого числа. Корнями
порождающего многочлена являются п - к последовательных степеней:
Глава 4. Избыточные коды
485
а, а2, а3, а0-1 некоторого элемента а е GF(q), где D — минимальное
кодовое расстояние кода.
Из определения вытекает, что PC-код является подклассом БЧХ-
кодов.
При фиксированных п и к не существует кода, у которого мини-
мальное кодовое расстояние больше, чем у РС-кода.
4.5. Основные методы исправления ошибок
Предположим, код может исправлять t ошибок в получаемых кодо-
вых словах. Рассмотрим практическое решение задачи по исправлению
ошибок. Существуют два основных метода.
4.5.1. Метод с использованием кодов-спутников
(декодирующих таблиц)
Идея метода заключается в построении таблицы, содержащей все
возможные (правильные и неправильные) сообщения, которые должны
быть исправлены после передачи кодового сообщения по линиям связи.
Построение таблицы осуществляется следующим образом. Если ис-
ходное кодовое слово длины п обозначить через с, то в случае t ошибок
передачи искаженное слово с' равно сумме с' = с + Д(, где Д, — двоичный
вектор веса /, который в дальнейшем будем называть искажением. Для
построения таблицы достаточно задать все множество векторов-
искажений, вес которых не превышает t.
Множество всех искажений длины п веса 1 обозначим через {Д}i. Их
общее число равно С‘„ = п. Принимая их лексикографический порядок,
при котором их двоичные числа расположены по возрастанию, пред-
ставим {Д}[ в виде
(О,.-0,0,1)
{AJ = (О,...0,1,0)
(1,... 0,0,0).
По аналогии множество всех искажений веса 2 обозначим через
{Д}2. Их общее число равно С2 = л(л - 1 )/2. Располагая искажения в ес-
тественном порядке, представим {Д}2 в виде
(0,...0,1,1)
{Д2} = (0,...0,0,1)
(1,...,0,0).
486 Раздел VI. Кодирование и сжатие информации
Пользуясь описанным способом, строим упорядоченные множества
векторов искажений {А}ь {А}2,{Д},. Обозначим их последователь-
ность через {Д}!_,, общее число их, равное С1п + С2„ +... + С'п — через Nt.
ОПРЕДЕЛЕНИЕ. Кодами-спутниками исходного кодового слова Ci в
коде, исправляющем t ошибок, называют все множество слов {С,}(, ко-
торые получаются при двоичном сложении слова С, со всеми словами
из {А}х_,.
Декодирующую таблицу строят следующим образом.
1. В первой строке располагают по порядку все точные кодовые
слова С], С2,..., Ск.
2. Во второй строке под каждым словом С, помещают его двоичную
сумму с первым вектором искажений {А}х из {Д}] С, ® {Д}х.
3. В третьей строке под каждым словом С, помещают его сумму со
вторым вектором искажений {Д}2 из {Д}х _С,- Ф {Д}2 и т. д.
Построение заканчивается тогда, когда исчерпываются все элемен-
ты множества {Д} х
с. С2
{А}1 Сх Ф {А}1 С2Ф {А}1 Q® {А}1
{А}2 q ф {А}2 С2 Ф {А}2 Ск Ф {А}2
{А}м Сх Ф {А}№ С2 Ф {A}Nl Q®{A}M
В каждом столбце под точным кодовым словом С,- стоит множество
его кодов-спутников {С,}(.
Процесс декодирования с использованием декодирующей таблицы
происходит следующим образом. Для каждого принятого сообщения С
определяют, в какую группу кодов-спутников {С,}( оно входит. После
чего слово С расшифровывается как Ct — кодовое слово, породившее
код-спутник {С,}(.
Пример 1. Построить декодирующую таблицу для кода С длины 5,
гарантированно исправляющего 1 ошибку, у которого кодовые слова
имеют вид Сх = (00000), С2 = (11100), С3 = (00111). Декодировать с по-
мощью таблицы ошибочные полученные сообщения С' = (11110) , С" =
= (01000) и С'" = (11011).
Решение. 1. {Д}х_х = {(00001), (00010), (00100), (01000), (10000)}. Де-
кодирующая таблица принимает следующий вид:
Глава 4. Избыточные коды
487
Таблица 4.2
Декодирующая таблица
<Ah-i\Q С, Сг Сз
(00001) 00001 11101 00110
(00010) 00010 НПО 00101
(00100) 00100 11000 00011
(01000) 01000 10100 01111
(10000) 10000 01100 10111
2. Используя табл. 4.2, исправляем полученные ошибочные сооб-
щения следующим образом:
а) С = (НПО)->С2= (11100) (т. к. С попадает в код-спутник слова
С2 — во второй столбец),
б) С" = (01000) -> С] = (00000) (С" попадает в код-спутник слова С) —
в первый столбец),
в) С" = (11011) не попадает ни в один из кодов-спутников, следова-
тельно его исправить данным кодом нельзя.
Ответ: Декодированные первое и второе сообщения равны (11100)
и (00000), третье сообщение при помощи данного кода исправить не-
возможно.
Метод декодирующих таблиц прост в применении и универсален
(применим и к разделимым, и к неразделимым кодам), однако при
больших п и t для хранения кодов-спутников требуется много памяти,
также велики затраты времени на перебор таблицы. Поэтому данный
метод имеет скорее теоретическое значение, а на практике для разде-
лимых кодов используется метод синдромов.
4.5.2. Метод синдромов
В данном методе существенно учитывается разделимость исполь-
зуемого кода. Рассмотрим исходное кодовое слово с = ab кода С. Если
переданное слово с' = а'Ь' не содержит ошибок, то для него удовлетво-
ряется условие связи Ь'Т= аа'т, где а — матрица связи.
ОПРЕДЕЛЕНИЕ. Синдромом слова с' - а'Ь' называют вектор, рав-
ный произведению Нс' (Н— проверочная матрица кода). Обозначается
синдром как S(c').
Учитывая, что Н = (аЕг), каждую компоненту з, синдрома S(c')
можно представить в виде суммы (ci,, а)®^, b) = (aj, а)®Ь(, где а, —
z-я строка матрицы сс; — вектор длины г , у которого на 1-й позиции
стоит единица, а все остальные компоненты равны нулю. Очевидно,
488 Раздел VI. Кодирование и сжатие информации
если ошибки отсутствуют (с' = с), то выполняется условие = (ос,-, а).
При этом S(c') = Нс' = Hc = Q.
Внесение р ошибок в слово с можно представить в виде его двоич-
ного сложения с некоторым двоичным вектором искажений А, имею-
щим веер: с' = сФА. При этом 5(с') = 5(с) +5(A) = 5(A). Отсюда следу-
ет, что синдром полученного слова равен синдрому его искажения А и
для выявления всех возможных ошибок необходимо знать синдромы
всех возможных искажений {А}1_,
Пример 2. Рассмотрим код из примера 1 разд. 4.2 с п = 7 и t = 1. Для
каждого возможного искажения А, из множества {А}1_/ находим соот-
ветствующий синдром путем умножения искажения на проверочную
матрицу. Таблица синдромов приведена ниже.
Таблица 4.3
Таблица синдромов
№ п/п Искажение Синдром
1 1000000 011
2 0100000 101
3 0010000 НО
4 0001000 111
5 0000100 100
6 0000010 010
7 0000001 001
Нетрудно заметить, что при t = 1 синдромы равны z-м столбцам
проверочной матрицы Н.
Допустим, получено слово с' = (0111010). Его синдром S=Hc^ =
= (110) = 53, следовательно, произошло искажение с номером 3: А =
= (0010000) и исходное слово с= (0101010).
Для гарантированного исправления не менее t ошибок необходимо,
чтобы число всех возможных ненулевых синдромов длины г (равное
2г-1) было не меньше, чем число Nt всех искажений {А}]_, с весами
1,2,...,/: Nt =С1П+С„ + ... + С'„. Отсюда получим условие синдромной про-
верки:
2Г-1>С'+С2 + ... + С'.
Для / = 1 оно принимает вид 2r- 1 > п.
Пример 3. Систематический код должен обеспечить передачу двух
сообщений (Np = 2) с гарантированным исправлением двух ошибок.
Глава 4. Избыточные коды
489
Необходимо найти:
1) параметры кода к, г, п, кодовое расстояние d(C);
2) производящую G и полную матрицы С кода;
3) множество векторов искажений {А} 1_/, декодирующую таблицу и
таблицу синдромов, а также
4) декодировать примеры ошибочных полученных сообщений
а) с'= (11101), б) с" = (01000) двумя рассмотренными методами.
Решение. 1. к= ]log2Ar/,[ = ]2[ = 1. Длину проверочной части слов оп-
ределяем по табл. 5.1 для зависимости r(k, t): r = r(l, 2) = 4. Полная дли-
на кодового слова п = к + г= 5. Кодовое расстояние d(C) - 2,+ 1 = 5.
2. Производящую и полную кодовую матрицы строим по вышеиз-
ложенным правилам:
G5,! = (Л)(S) = (1)(1111); С = Ы = f °°°°° ).
3. Множество векторов искажений {А}(первый столбец табл. 4.4)
формируем из лексикографически упорядоченных векторов искажений
единичного {А}х и двойного {А}2 весов.
Коды-спутники полученных кодовых слов С[ = (00000) и с2 = (11111)
(второй и третий столбцы табл. 4.4) получаем, складывая и с2 с векто-
рами искажений из {А}1(.
Таблица 4.4
Таблица искажений, кодов-спутников и синдромов
{А}1_, С1 с2 яд,
00001 00001 11110 0001
00010 00010 11101 0010
00100 00100 11011 0100
01000 01000 10111 1000
10000 10000 01111 1111
00011 00011 11100 ООП
00101 00101 ною 0101
01001 01001 юно 1001
10001 10001 OHIO 1110
00110 00110 11001 оно
01010 01010 10101 1010
10010 10010 01101 1101
01100 01100 10011 1100
10100 10100 01011 1011
11000 11000 00111 0111
490
Раздел VI Кодирование и сжатие информации
Матрицу связи а и проверочную матрицу Н определяем по прави-
лам: а = ВТ, Н= аЕг В итоге получим
Л1 1 0 0 0Л
1
1
н =
10 10 0
10 0 10
1 0 0 0 1
Синдромы искажений (четвертый столбец табл. 4.4) получаем, ум-
ножая проверочную матрицу Н на векторы искажений из множества
{А}!-/.
4. Рассмотрим декодирование следующих полученных сообщений,
содержащих ошибки: а)с' = (11101), б) с" = (01000).
с'= (11101). Проверка по столбцам 2 и 3 показывает, что слово по-
падает во вторую строку (соответствующую ошибке 00010) третьего
столбца декодирующей таблицы (соответствующего кодовому слову
11111). Синдром Яс'= (0010) также попадает во вторую строку, ука-
зывая на ошибку 00010. Следовательно, исправленное сообщение рав-
но 11111.
с" = (01000). Слово попадает в четвертую строку (соответствующую
ошибке 01000) второго столбца декодирующей таблицы (соответст-
вующего кодовому слову 00000). Синдром Нс' = (1000) также попадает в
четвертую строку, указывая на ошибку 01000. Следовательно, исправ-
ленное сообщение равно 00000.
Задачи
1. Сформировать множество {Д}2 для кода длины 5.
2. Построить код, гарантированно исправляющий 2 ошибки при передаче
6 сообщений, и его декодирующую таблицу.
3. Построить код, гарантированно исправляющий 2 ошибки при передаче
8 сообщений, и его таблицу синдромов.
4. Для кода из Задачи 2 построить таблицу синдромов.
5. В таблице синдромов некоторого кода С не содержится синдром полу-
ченного слова с. Может ли код С исправить слово с?
4.6. Обнаруживающие коды
Задачей данной группы кодов является эффективное обнаружение
ошибок при передаче информации. Для исправления информации ис-
пользуется ее повторная передача по каналу информации.
Глава 4. Избыточные коды
491
4.6.1. Код с однократной проверкой четности
У данного кода длины п следующие характеристики: k = n—\, r = 1.
Для проверки выделен последний разряд кодового слова, который до-
полняется нулем или единицей таким образом, чтобы общее число
единиц в кодовом слове всегда было четным. Кодовое расстояние рас-
сматриваемого кода d = 2. Коэффициент избыточности мал: R = 1/и.
Недостаток данного кода в том, что он обнаруживает (без исправ-
ления) только нечетные (/=1,3,5,...) ошибки, но не обнаруживает
четные ошибки (/=2, 4, 6,...).
Код с однократной проверкой четности имеет смысл применять в
таких системах, где вероятность р ошибки в одном разряде достаточно
мала и выполняется условие пр « 1. Рассмотрим случай, когда ошибки
в разрядах происходят независимо. Вероятность нечетного числа оши-
бок (/ = 1, 3, 5,...) равна
Лечет = С'р‘(1 - Р)”А + С3р3(1 - РУ'3 + С5„р5(1 - р)”-5 + ... + C„V(1 - РГ3,
где s — ближайшее снизу к п нечетное число.
Вероятность четного числа ошибок (/ = 2, 4, 6,...) равна
Лет = С2пр2(\ - РУ~2 + с№ (1 - рУ~* + с6пр6 (1 - рУ~6 +... + Сг„рг (1 - рУ~г,
— ближайшее снизу к п четное число.
Т. к. пр « 1, то в обеих вероятностях слагаемые, начиная со второ-
го, намного меньше первого. Поэтому с большой точностью можно
считать:
Лечет«С>1(1-р)П-1=пр(1-^)"-1;
D /"*2 2/1 2 n(jl 1) 2/1 \
Лет~СиР (l-Р) =---2---Р ^~Р'
Отметим, что при выполнении условия пр «1 соотношение рас-
смотренных вероятностей будет следующим:
Р «Р
* чет х нечет*
Полная вероятность ошибок в слове равна
Лш — Ле чет + Лет * Лечет ~ ПР^
При отсутствии проверки вероятность приема ошибочного сооб-
щения равна Лш ® пр^-рУ1-
492 Раздел VI. Кодирование и сжатие информации
При наличии проверки четности вероятность пропуска неправиль-
но переданного сообщения уменьшается до
р - ~ 1) „2/1 _ \п-2
Лет ~ 2 Р Р) >
Относительное уменьшение вероятности ошибочного приема сле-
дующее:
Пример. Рассчитать вероятность ошибки при передаче 32-разряд-
ных слов в ЭВМ без однократной проверки четности и при ее наличии,
если вероятность ошибки в одном разряде равна 10 Л
Решение. Без однократной проверки четности вероятность приема
ошибочного сообщения равна
Рош = 32 х10~4 (0,9999)31 « 3 х 10’3.
При наличии проверки на четность длина информационного под-
слова уменьшается на 1, вероятность приема ошибочного сообщения
снижается до значения
Лет =—у—(Ю“4)2(О,99 99)30 »5х10"6.
При передаче массива, содержащего N ошибочных слов, вероят-
ность приема неправильного сообщения равна Л^ет и уже при неболь-
ших N практически равна нулю.
Поскольку сам код не является исправляющим, после выявления
ошибок сообщения повторяют. Данные коды широко применяются
при передаче информации в ЭВМ.
4.6.2. Код с простым повторением
У данного кода проверочное слово образуется путем повторения
информационного: b=a, c=ab. При этом к-г-п/!.. Избыточность
R = r/n = 0,5. Кодовое расстояние d(C) = 2 — поскольку расстояние Хэм-
минга между каждыми соседними кодовыми словами увеличивается в
два раза.
Код обнаруживает ошибочность сообщений при наличии нечетного
числа ошибок всегда, при наличии четного числа ошибок — только
тогда, когда они стоят на различных позициях в информационном и
проверочном подсловах.
Глава 4. Избыточные коды
493
По сравнению с предыдущим кодом количество передаваемой ин-
формации значительно увеличивается, однако помехозащищенность
также существенно возрастает.
Рассмотрим случай, когда пр « 1. Как и в предыдущем разделе по-
лучим
PW4e^Cl„p\l-py-l=nP(l-Py-1-,
D ~Г’2„2/1 „\«-2 „2/1 ..л-2.
•"чет ~Спр (1 р) Р ( Р) ’
•^ош ~ ^нечет + ^чет ® ^нечет ~ пР^У ~ Р)
Вероятность необнаружения ошибок при наличии кода с простым
повторением равна вероятности того, что число ошибок четно, и они
стоят на одинаковых позициях в информационном (а) и провероч-
ном (Ь) словах кодового сообщения:
п _____\п/2—2 \п/2—4 .
Лч/обн-^ п/2Р (1_Р) +С пЦР (l-p) +••
» 0,5(Л7 / 2) (п / 2 -1) р2 (1 - р)я/2-2.
Пример. Рассчитать вероятность приема ошибочного сообщения
при передаче исходного кода длины 4 с вероятностью р ошибки в одном
разряде 10 ~4, а также с использованием повторения. Во сколько раз
уменьшается вероятность ошибки?
Решение. Параметры кода: и = 8, k = r = 4 . При передаче только од-
ного 4-разрядного информационного подслова (без применения повто-
рения) вероятность приема ошибочного сообщения равна
рош = 4х 10"4(0,9999)3«4х Ю"4.
При наличии повторения вероятность необнаружения ошибки в
8-разрядном слове равна
/’н/обн * 0,5(8/2)(8/2 - 1) 10-8( 1 - 10-4)8/2-1« 6 X 10-8.
Ответ: Вероятность приема ошибочного сообщения® 6 х 10 "8, она
уменьшилась в 4 х 10 -4/6 х 10~8 = 6000 раз.
Таким образом, за счет простого повторения вероятность приема
ошибочного сообщения уменьшена более чем в 6 тыс. раз. При этом
длина каждого передаваемого слова удвоилась, следовательно, весь пе-
редаваемый объем информации увеличился также в два раза.
4.6.3. Корреляционный код
В данном коде также используется идея повторения разрядов ин-
формационного подслова а. Каждый его разряд заменяется двумя ко-
довыми разрядами по следующему правилу: если а, = 0, то вставляется
494 Раздел VI. Кодирование и сжатие информации
набор (01); если а,= 1, то набор (10). Например (1011) кодируется сло-
вом (10)(01)(10) (10) = 10011010.
Наличие искажений можно установить по появлению в парных раз-
рядах сочетаний 00 либо 11. Вероятностные характеристики корреля-
ционного кода такие же, как и у кода с простым повторением. Он при-
меняется при повышенной вероятности искажений в соседних разрядах.
Задачи
1. Рассчитать вероятность ошибки при передаче 16-разрядных слов в ЭВМ
без однократной проверки четности и при ее наличии, если вероятность ошиб-
ки в одном разряде равна 10“3.
2. Рассчитать вероятность приема ошибочного сообщения при передаче
исходного кода длины 8 с вероятностью р ошибки в одном разряде 10'3, а также
с использованием повторения. Во сколько раз уменьшается вероятность ошибки?
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ
«КОДИРОВАНИЕ И СЖАТИЕ ИНФОРМАЦИИ»
В. 1.
1. Декодировать заданную в 16-ричной системе последовательность байтов
[02][В7Ц03][ВЗ][FF] [В 1 ][05][В9], сжатую при помощи RLE-алгоритма с двумя
типами счетчиков при дополнительном условии, что счетчики не выделяются и
первой должна идти группа повторяющихся байтов. Рассчитать коэффициент
сжатия.
2. Необходимо при помощи систематического кода передавать 6 символов.
Ошибки при передаче одного разряда кода независимы и происходят с вероят-
ностью 10’2. Сколько ошибок у минимального по длине п кода необходимо
исправлять в принимаемых кодовых сообщениях для того, чтобы доля исправ-
ляемых комбинаций превышала 0,98?
В. 2.
1. Закодировать алгоритмом Хаффмана с фиксированной таблицей бито-
вую последовательность, содержащую чередующиеся белые и черные серии
длин 102; 4; 91; 37; 3029. Рассчитать коэффициент сжатия.
2. Проверить, может ли следующий код исправлять 1 ошибку: (0000), (0101),
(1111)? Ответ обосновать.
В.З.
1. Сжать заданную в 16-ричной системе последовательность байтов при
помощи 10-битного LZW-алгоритма:
(С8)(С8)(62)(23)(С8)(С8)(62)(23)(07)(23)(С8).
Привести кодовую таблицу. Рассчитать битовые длины исходной последо-
вательности, сжатого файла и коэффициент сжатия.
Глава 4. Избыточные коды
495
2. Найти производящие, полные и проверочные матрицы кода, передаю-
щего 12 сообщений с гарантированным исправлением 2 ошибок. Определить
избыточность кода и построить первые 15 строк таблицы синдромов.
В. 4.
1. Сжать заданную в 16-ричной системе последовательность байтов
(73)(B3)(FF)(B9)(B9)(B9)(24)(24)(42)
при помощи RLE-алгоритма с двумя типами счетчиков. Счетчики не выделять,
первой должна идти группа повторяющихся байтов. Рассчитать коэффициент
сжатия.
2. Построить декодирующую таблицу для кода С, гарантированно исправ-
ляющего 1 ошибку: £[ = (01010), с2 = (10101), с3 = (11111), а также декодировать
ошибочные полученные сообщения ci' = (11110), с]" = (10000) и С['"= (01000).
В. 5.
1. Построить код Хаффмана для алфавита, в котором вероятности появле-
ния букв следующие: 0,3; 0,25; 0,2; 0,15; 0,1. Рассчитать энтропию, содержа-
щуюся в символах и стоимость кода.
2. Во сколько раз уменьшится вероятность получения ошибочного сообще-
ния при использовании в 16-битных словах кода с однократной проверкой чет-
ности, если ошибки в разрядах независимы и происходят с вероятностью р?
Ответ дать в виде формулы.
В. 6.
1. Построить урезанный код Хаффмана для алфавита, в котором вероятно-
сти появления букв следующие: (0,26; 0,20; 0,14; 0,12; 0,10; 0,08; 0,07; 0,03) при
условии, что в кодовую таблицу вносятся буквы с вероятностью, превышающей
0,1. Рассчитать энтропию, содержащуюся в символах, и стоимость кода.
2. Необходимо при помощи систематического кода закодировать 18 симво-
лов с исправлением одной ошибки. Найти минимальные общую длину п кодо-
вого слова и длину к информационной части, построить производящую матри-
цу и таблицу синдромов.
В. 7.
1. Декодировать заданную в 16-ричной системе последовательность байтов
[82][ВЗ][ВЗ][02][59][83][83][03], сжатую при помощи RLE-алгоритма без указа-
ния счетчика при условии, что величина счетчика повторов уменьшается на 2.
Рассчитать коэффициент сжатия.
2. Можно ли с помощью кода {(001100), (110011), (010101} исправить полу-
ченные сообщения: (011100), (100010)? Ответ обосновать.
В. 8.
1. Расшифровать, сообщение 000011000110000001, в котором использован
префиксный код («а»<-> 1; «б» <->01; «г» <->001; «д» <->0001; «з» <->00001; «к»<->
000001; «ч» <-> 000000).
2. Рассчитать, во сколько раз уменьшится вероятность получения ошибоч-
ного сообщения при использовании в 8-битных словах кода с простым по-
вторением, если вероятности ошибок в отдельных разрядах независимы и рав-
ны 10’3.
496
Раздел VI. Кодирование и сжатие информации
В. 9.
1. Проверить, будет ли алфавитный код (11, 10, 01, 000, ООП, 0010) для ве-
роятностей появления букв (0,35; 0,25; 0,15; 0,1; 0,1; 0,05) оптимальным?
2. Необходимо при помощи систематического кода закодировать 19 симво-
лов с исправлением одной ошибки. Найти минимальные общую длину п кодо-
вого слова и длину к информационной части, построить производящую и пол-
ную матрицы кода, а также таблицу синдромов.
В. 10.
1. Построить алфавитный код по методу Хаффмана для алфавита, в кото-
ром вероятности появления букв следующие: (0,35; 0,2; 0,15; 0,15; 0,1; 0,05).
Рассчитать энтропию, содержащуюся в символах, и стоимость кода.
2. Построить в коде Хемминга полные кодовые комбинации для передачи
информационных подслов, имеющих длину 11: 01011110011, 01101110011.
В. И.
1. Сжать заданную в 16-ричной системе последовательность байтов
(E6)(E6)(E6)(B5)(5B)(B5)(19)(19)(9D)(9D)(9D) при помощи RLE-алгоритма без
указания счетчиков. Величина счетчика повторов уменьшается на 2. Рассчитать
коэффициент сжатия.
2. Построить декодирующую таблицу для кода С, гарантированно исправ-
ляющего 1 ошибку: cf =(011100), с2" = (101011), с3"'= (100100), и декодировать
ошибочные полученные сообщения с' = (111100), с" = (011110) и с'" = (111110).
В. 12.
1.Для трехбуквенного алфавита с вероятности появления букв (0,45;
0,3; 0,25):
а) определить энтропию, содержащуюся в символах;
б) построить код Хаффмана и рассчитать его стоимость;
в) построить равномерный блочный код Хаффмана длины 2 и рассчитать
его стоимость.
2. Необходимо при помощи систематического кода закодировать 11 симво-
лов с исправлением одной ошибки. Найти минимальные общую длину п кодо-
вого слова и длину к информационной части, построить производящую, пол-
ную и проверочные матрицы кода, таблицу синдромов.
В. 13.
1. Проверить, будет ли алфавитный код (0, 10, 11, 000, 010, 011, 0111) при
вероятностях появления букв (0,3; 0,2; 0,15; 0,15; 0,1; 0,05; 0,05) оптимальным?
2. Допустим, необходимо при помощи разделяющегося кода закодировать
69 символов с исправлением одной ошибки. Найти минимальные: общую дли-
ну п кодового слова и длину к информационной части.
В. 14.
1. Расшифровать, сообщение 11001111101110011110111111, в котором ис-
пользован префиксный код («а»<-> 0; «б»<-> 10; «в»<-> НО; «и»<-> 1110; «н»<->
11 НО; «р» о 111110; «т» <-> 111111).
2. Можно ли с помощью кода {(001110), (110110), (001001} исправить полу-
ченные ошибочные сообщения: (011100), (100110), (101011)? Ответ обосновать.
Глава 4. Избыточные коды
497
В. 15.
1. Определить для последовательности cbaa, используя арифметический
код с применением символа EOF: а) кодовый полуинтервал, у которого грани-
цы выражены в виде обыкновенных дробей и б) оптимальный двоичный код в
бинарном виде.
2. Код предназначен для исправления 2 ошибок. Могут ли кодовые рас-
стояния между его словами быть: а) меньше 4; б) меньше 5; в) больше 5? Ответ
обосновать.
В. 16.
1. Декодировать заданную в 16-ричной системе последовательность байтов
[82][B3][B1][B9][59][83][34][34], сжатую при помощи RLE-алгоритма с одним
типом счетчиков, в котором счетчик повторяющихся байтов выделяется одной
единицей в старшем разряде. Рассчитать коэффициент сжатия.
2. Проверить наличие ошибок в кодовых комбинациях 1011101111,
0001111010, 1100110111, которые являются словами в коде Хемминга с парамет-
рами k= 1, г=3.
В. 17.
1. Построить код Грея числа, двоичный код которого равен 101010. Прове-
рить, может ли следующий код исправлять 1 ошибку: (000000), (111111),
(010101)? Ответ обосновать.
2. Построить декодирующую таблицу для кода С, гарантированно исправ-
ляющего 2 ошибки: с] = (000000), с2 = (111111); а также декодировать ошибоч-
ные полученные сообщения с' = (101110), с" = (10001) и с"'= (010110).
В. 18.
1. Проверить, будет ли алфавитный код (1, 00, 01, 011, 111) оптимальным
для вероятностей появления букв (0,35; 0,25; 0,2; 0,1; 0,1)?
2. Проверить правильность построения производящей матрицы (7117:
fl 0 0 0 0 0 0 1 1 1 П
0 1 0 0 0 0 0 1 1 1 0
0 0 1 0 0 0 0 1 1 0 1
<41,7 = 0 0 0 1 0 0 0 1 0 1 1
0 0 0 0 1 0 0 0 1 1 1
0 0 0 0 0 1 0 1 0 1 1
1о 0 0 0 0 0 1 0 0 1 Ъ
В. 19.
1. Определить двоичный код числа, имеющего код Грея 110011. Опреде-
лить, будет ли префиксным код (10; НО; 111; 000; 101).
2. Для циклического кода с параметрами п = 9, к = 5 и производящим мно-
гочленом Р4(х) = х4 + х3 + 1 получить кодовую комбинацию для информацион-
ного слова 01101.
В. 20.
1. Необходимо построить алфавитный код для передачи 7 букв, имеющих
вероятности появления: (0,25; 0,2; 0,15; 0,15; 0,1; 0,1; 0,05). Может ли средняя
длина кода быть: а) меньше 4; б) меньше 3; в) меньше 2? Ответ обосновать.
498
Раздел VI. Кодирование и сжатие информации
2. Необходимо при помощи систематического кода закодировать 6 симво-
лов с гарантированным исправлением двух ошибок. Найти параметры кода к, г,
п, производящую, полную и проверочную матрицы кода, а также первые 15 строк
таблицы синдромов.
В. 21.
1. Сжать заданную в 16-ричной системе последовательность байтов
(21)(CF)(B5)(B5)(B5)(B5)(FA)(5B)(1D)(1D)(1D) при помощи RLE-алгоритма с
одним типом счетчиков. Счетчик выделять одной единицей в старшем разряде.
Рассчитать коэффициент сжатия.
2. Задана производящая матрица кода
1
О
О
О
ООО
1 О О
О 1 О
О 0 1
1 1 О
О 1 1
1 0 1
1 1 1
Сколько сообщений с исправлением одной ошибки может быть передано
данным кодом?
В. 22.
1. Проверить, будет ли алфавитный код (01, 00, 10, 111, НО) для вероятно-
стей появления букв (0,3; 0,25; 0,2; 0,15; 0,1) оптимальным?
2. Во сколько раз уменьшится вероятность получения ошибочного сообще-
ния при использовании в 64-битных словах кода с однократной проверкой чет-
ности, если ошибки в разрядах независимы и происходят с вероятностью р?
Ответ дать в виде формулы.
В. 23.
1. Необходимо построить алфавитный код для передачи букв, имеющих ве-
роятности появления (0,3; 0,25; 0,2; 0,15; 0,1). Может ли средняя длина кода
быть: а) меньше 4; б) меньше 3; в) меньше 2? Ответ обосновать.
2. Во сколько раз уменьшится вероятность получения ошибочного сооб-
щения при использовании в 16-битных словах кода с простым повторением
при условии, что ошибки в отдельных разрядах независимы и вероятности их
равны 10 Л
В. 24.
1. Построить код Хаффмана для алфавита, в котором вероятности появле-
ния букв имеют значения (0,4; 0,25; 0,15; 0,1; 0,05; 0,05). Рассчитать энтропию,
содержащуюся в символах и стоимость кода.
2. Проверить наличие ошибок в кодовых комбинациях 011110100,
110110101, 101101110, которые являются словами в коде Хемминга с парамет-
рами к= 6, г= 3.
В. 25.
1. Определить двоичный код числа, имеющего код Грея 011001. Опреде-
лить, будет ли префиксным код (10,11, 011,1111, 0010). Ответ обосновать.
2. Необходимо при помощи систематического кода передавать 11 симво-
лов. Ошибки в разрядах независимы и происходят с вероятностью 10“3. Сколь-
Глава 4. Избыточные коды
499
ко ошибок у минимального по длине п кода необходимо исправлять в прини-
маемых кодовых сообщениях для того, чтобы доля исправляемых комбинаций
превышала 0,998?
В. 26.
1. Определить для последовательности baa, используя арифметический код
с применением символа EOF: а) кодовый полуинтервал, у которого границы
выражены в виде обыкновенных дробей и б) оптимальный двоичный код в би-
нарном виде.
2.Для циклического кода с параметрами «=11, к=6 и производящим
многочленом Рц(х) =х? + Х2 + 1 получить кодовую комбинацию для информаци-
онного слова 110101.
В. 27.
1. Построить код Грея числа, двоичный код которого равен 11100
010. Будетли префиксным код (01, ПО, 111,000, 101)?
2. Доказать условие синдромной проверки
2f-1 > с*+с3 +... + cj,,
которое должно выполняться для гарантированного исправления не менее t
ошибок в коде длины п, имеющем г проверочных разрядов.
В. 28.
1. Построить в коде Хемминга полные кодовые комбинации для передачи
информационных подслов, имеющих длину 10: 1010101010, 0100110110.
2. Возможно ли с помощью кода (10011001, 11100101, 01001010) исправить
следующие полученные сообщения: (01101101), (11001100)? Ответ обосновать.
В. 29.
1. Сжать заданную в 16-ричной системе последовательность байтов при
помощи 10-битного LZW-алгоритма:
(02)(ВА)(02)(ВА)(ВА)(02)(02)(02)(ВА)(ВВ)(ВВ).
Привести кодовую таблицу. Рассчитать битовые длины исходной последова-
тельности, сжатого файла и коэффициент сжатия.
2. Для циклического кода с параметрами п = 9, к= 5 и производящим мно-
гочленом Р4(х) =х4 + х3 + 1 получить кодовую комбинацию для информацион-
ного слова ЮНО.
СПИСОК ЛИТЕРАТУРЫ
1. Айзенберг Н. Н,, ИваськивЮ.Л. Многозначная пороговая логика. Киев:
Наукова думка, 1977.
2. АкимовО. Е. Дискретная математика: логика, группы, графы. 2-е изд., доп.
М.: Лаборатория Базовых Знаний, 2001.
3. БерезинаЛ. Ю. Графы и их применение. М.: Просвещение, 1979.
4. БержК. Теория графов и ее применения. М.: Изд-во иностранной лит-ры,
1962.
5. Брауэр В. Введение в теорию конечных автоматов: пер. с нем. М.: Радио и
связь, 1987.
6. Вентцель Е. С., Овчаров Л. А. Прикладные задачи по теории вероятности. М.:
Радио и связь, 1973.
7. Вентцель Е. С., Овчаров Л. А. Теория вероятностей и и ее инженерные при-
ложения. М.: Наука, 1988.
8. Верещагин Н. К., Шенъ. А. Лекции по математической логике и теории алго-
ритмов. Ч. 2: Языки и исчисления. М.: МЦНМО, 2000.
9. Гаврилов Г. П., Сапоженко А. А. Сборник задач по дискретной математике.
М.: Наука, 1977.
10. Гаврилов М. А., Девятков В. В., Пупырев Е. И. Логическое проектирование
дискретных автоматов. Языки, Методы, Алгоритмы. М.: Наука, 1977.
11. ГиндикинС. Г. Алгебралогики в задачах. М.: Наука, 1972.
12. Дискретная математика и математические вопросы математической кибер-
нетики. Т. 1 / под ред. С. В. Яблонского и О. Б. Лупанова. М.: Наука, 1974.
13. Ерусалимский Я. М. Дискретная математика: теория, задачи, приложения.
М.: Вузовская книга, 2009.
14. Ершов Ю. Л., Палютин Е. А. Математическая логика. М.: Наука, 1979.
15. ЗадеЛ. Понятие лингвистической переменной и его применение к приня-
тию приближенных решений. М.: Мир, 1976.
16. ЗакревскийА. Д. Логические уравнения. Минск: Наука и техника, 1975.
17. Зыков А. А. Теория конечных графов. Новосибирск: Наука, 1969.
18. Ивасъкив Ю. Л. Принципы построения многозначных физических систем.
Киев: Наукова думка, 1971.
19. Карп Р. М. Сводимость комбинаторных проблем. Кибернетический сбор-
ник. Вып. 12. М.: Мир, 1975. С. 16—38.
20. Клини С. К. Математическая логика. М.: Мир, 1973.
21. Кодирование информации. Двоичные коды: справочник / под ред. Н. Т. Бе-
резюка. Харьков: Вища школа, 1978.
Список литературы
501
22. Колдуэлл С.Х. Логический синтез релейных устройств: пер. с англ. М.: Изд-
во иностранной лит-ры, 1962.
23. КофманА. Введение в теорию нечетких множеств: пер. с франц. М.: Радио и
связь. 1982.
24. Кузнецов О. П., Адельсон-Вельский Г. М. Дискретная математика для инжене-
ра. М.: Энергоиздат, 1988.
25. Лавров И. А., Максимова Л. Л. Задачи по теории множеств, математической
логике и теории алгоритмов. М.: ФМЛ, 1995.
26. Мелихов А. Н., Бернштейн Л. С. Конечные четкие и расплывчатые множест-
ва. Ч. I и II. Таганрог: ТРТИ, 1980.
27. Мендельсон Э. Введение в математическую логику: пер. с англ. М.: Наука,
1971.
28. МикуликН.А., РейзинаГ. Н. Решения технических задач по теории вероят-
ности и математической статистике. Минск: Вышейшая школа, 1991.
29. Набебин А. А. Логика и ПРОЛОГ в дискретной математике. М.: МЭИ, 1994.
30. Набебин А. А. Метод резолюций в логике предикатов как основа для языка
программирования ПРОЛОГ. М.: МЭИ, 1990.
31. Нечеткие множества и теория возможностей / под ред. Р. Р. Ягера; пер. с
англ. М.: Радио и связь, 1986.
32. Новиков Ф. А. Дискретная математика для программистов: учебник. СПб.:
Питер, 2000.
33. Нападимитриу X., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и
сложность: пер. с англ. М.: Мир, 1985.
34. Поспелов Д. А. Логические методы анализа и синтеза схем. М.: Энергия,
1974.
35. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и
практика: пер. с англ. М.: Мир, 1980.
36. Савельев А. Я. Прикладная теория цифровых автоматов. М.: Высшая школа,
1987.
37. Скорняков Л. А. Элементы теории структур. М.: Наука, 1970.
38. Фейс Р. Модальная логика. М.: Наука, 1974.
39. Чень Ч.,Ли Р. Математическая логика и автоматическое доказательство: пер. с
англ. М.: Наука, 1983.
40. Шапорев С. Д. Дискретная математика: курс лекций и практических заня-
тий. СПб.: БХВ-Петербург, 2007.
41. ЯблонскийС. В., Гаврилов Г. П., Набебин А. А. Анализ и синтез схем в много-
значных логиках. М.: МЭИ, 1989.
42. Яблонский С. В. Введение в дискретную математику. М.: Наука, 1986.
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ........................................................3
Раздел I. ОСНОВЫ ТЕОРИИ МНОЖЕСТВ И КОМБИНАТОРИКА................6
Глава 1. МНОЖЕСТВА, ОПЕРАЦИИ С НИМИ.
АЛГЕБРА МНОЖЕСТВ..........................................6
1.1. Элементы и множества....................................6
1.2. Отображения, функции, предикаты.........................8
1.3. Метод математической индукции..........................12
1.4. Способы задания множеств...............................13
1.5. Предметные операции на множествах. Формула множества...15
1.6. Операции сравнения — логические операции на множествах.19
1.7. Алгебра множеств. Ее формулы, теоремы и законы.........21
Глава 2. МОЩНОСТЬ МНОЖЕСТВ.....................................25
2.1. Мощность. Счетные множества............................25
2.2. Множества мощности континуум...........................29
Глава 3. БИНАРНЫЕ ОТНОШЕНИЯ НА МНОЖЕСТВАХ......................36
3.1. Определение и способы задания отношений................36
3.2. Аксиомы на отношениях..................................38
3.3. Основные типы отношений................................40
3.4. Проверка типов отношений. Решение задач................44
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «ОБЩАЯ ТЕОРИЯ
МНОЖЕСТВ»...................................................47
Глава 4. СИСТЕМЫ СЧИСЛЕНИЯ.....................................52
4.1. Позиционные системы счисления с постоянными основаниями.
Двоичная система. Двоичные векторы.......................52
4.2. Шестнадцатеричная система счисления. Арифметические
действия в системах с постоянными основаниями............58
4.3. Позиционные смешанные системы счисления.
Факториальная система....................................61
Глава 5. КОМБИНАТОРИКА.........................................64
5.1. Размещения.............................................65
5.2. Перестановки и размещения без повторений. Упорядоченность
перестановок.............................................66
5.3. Сочетания..............................................69
5.4. Подсчет числа вариантов расположений объектов
для специальных случаев..................................72
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «СИСТЕМЫ СЧИСЛЕНИЯ.
КОМБИНАТОРИКА»..............................................77
Раздел II. МАТЕМАТИЧЕСКАЯ ЛОГИКА...............................81
Глава 1. АЛГЕБРА ЛОГИКИ........................................82
1.1. Объекты изучения алгебры логики. Булевы константы, переменные
и векторы................................................82
Оглавление 503
1.2. Булевы функции, способы их задания. Элементарные функции.
Алгебра логики, ее формулы.................................83
1.3. Моделирование составных высказываний при помощи формул
алгебры логики.............................................90
1.4. Эквивалентность формул. Тавтологии. Законы логики.
Двойственность............................................93
1.5. Специальные формульные представления булевых функций.97
1.5.1. Конъюнкции и дизъюнкции над множеством переменных.
Нормальные формы.......................................98
1.5.2. Конституенты единицы. Совершенные дизъюнктивные
и веббовы нормальные формы............................102
1.5.3. Конституенты нуля. Совершенные конъюнктивные
и шефферовы нормальные формы..........................103
1.5.4. Полиномы Жегалкина.............................105
1.6. Минимизация нормальных форм булевых функций.........109
1.6.1. Метод покрытий.................................112
1.6.2. Метод минимизирующих карт......................117
1.7. Частично определенные функции. Их минимальное доопределение ... 120
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ.
НОРМАЛЬНЫЕ ФОРМЫ. ПОЛИНОМ ЖЕГАЛКИНА».................... 123
1.8. Анализ и синтез релейных управляющих схем..................126
1.8.1. Релейные схемы. Связь их физической структуры
и функций проводимости с алгеброй логики..............127
1.8.2. Проектирование релейных схем...................130
1.9. Применение алгебры логики к анализу логических рассуждений.133
1.10. Замкнутость и полнота систем функций...............136
1.10.1. Операции суперпозиции и замыкания. Полнота, базис
системы функций...................................... 136
1.10.2. Функции, сохраняющие константы. Классы и Т\.. 139
1.10.3. Самодвойственность. Класс S.................. 140
1.10.4. Монотонность. Класс М.........................142
1.10.5. Линейность. Класс/,...........................144
1.10.6. Критерий Поста полноты системы функций
в алгебре логики......................................145
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «ОПЕРАЦИЯ СУПЕРПОЗИЦИИ.
ЗАМЫКАНИЕ И ПОЛНОТА СИСТЕМ ФУНКЦИЙ. ПРЕДПОЛНЫЕ
КЛАССЫ В АЛГЕБРЕ ЛОГИКИ»................................ 148
1.11. Анализ и синтез функциональных схем............... 151
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО 7W£ «ПРИМЕНЕНИЕ АЛГЕБРЫ
ЛОГИКИ К АНАЛИЗУ И СИНТЕЗУ РЕЛЕЙНЫХ И ФУНКЦИОНАЛЬНЫХ
СХЕМ, ПРОВЕРКЕ ПРАВИЛЬНОСТИ ВЫСКАЗЫВАНИЙ»............... 156
Глава 2. АКСИОМАТИЧЕСКИЙ ПОДХОД К ПОСТРОЕНИЮ ТЕОРИЙ.
АЛГЕБРАИЧЕСКИЕ СИСТЕМЫ. ИСЧИСЛЕНИЕ
ВЫСКАЗЫВАНИЙ........................................ 161
2.1. Универсальные и предметные формальные теории. Общие
принципы их построения.................................. 162
2.2. Универсальные алгебраические системы............... 164
2.2.1. Группы.........................................165
504
Оглавление
2.2.2. Подгруппы. Порядок элементов конечных групп.
Циклические группы.................................... 167
2.2.3. Кольца, поля.....................................170
2.2.4. Решетки..........................................172
2.2.5. Булевы алгебры...................................175
2.3. Аксиоматическое построение исчисления высказываний....180
Глава 3. КОНЕЧНОЗНАЧНЫЕ ЛОГИКИ............................... 185
3.1. Многозначные логики...................................185
3.2. Элементарные функции многозначных логик. Представление
функций формулами специального вида.........................186
3.3. Законы Л-значных логик................................190
3.4. Функциональная полнота в Рк...........................191
3.5. Счетнозначная логика..................................192
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «СТАНДАРТНЫЕ ПРЕДСТАВЛЕНИЯ
ФУНКЦИЙ МНОГОЗНАЧНЫХ ЛОГИК»............................... 193
Глава 4. КОНТИНУУМ-ЗНАЧНЫЕ ЛОГИКИ. ТЕОРИЯ ВЕРОЯТНОСТИ.
ЛОГИЧЕСКИЙ ПОДХОД........................................... 196
4.1. Алгебра событий. Вероятность..........................196
4.2. Основные свойства вероятности.........................199
4.3. Повышение надежности дискретных устройств путем
применения дублирования....................................200
Глава 5. ТЕОРИЯ НЕЧЕТКИХ МНОЖЕСТВ. НЕЧЕТКАЯ ЛОГИКА............202
5.1. Нечеткие множества. Основные понятия..................203
5.2. Предметные операции на нечетких множествах. Формулы
нечетких множеств..........................................209
5.3. Операции сравнения на нечетких множествах — включение
и равенство................................................212
5.4. Алгебра нечетких множеств.............................215
5.5. Нечеткие высказывания, переменные и логические связки.
Нечеткие логические формулы................................221
5.6. Логико-лингвистическое описание функционирования нечетких
систем. Нечеткие базы знаний...............................222
5.7. Нечеткий логический вывод.............................226
5.7.1. Максиминный метод композиции.....................228
5.7.2. Метод масштабирования выполнения композиции......230
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «ТЕОРИЯ НЕЧЕТКИХ МНОЖЕСТВ.
НЕЧЕТКАЯ ЛОГИКА»...........................................233
Глава 6. ЛОГИКА ПРЕДИКАТОВ....................................240
6.1. Кванторы, предикаты, предметные функции...............240
6.2. Терм, формула, свободные и связанные переменные.
Логика предикатов..........................................242
6.3. Интерпретация формул ЛП...............................245
6.4. Равносильность формул ЛП..............................248
6.5. Аксиоматическое построение ЛП. Исчисление предикатов..250
6.6. Теории первого порядка................................251
6.7. Модальность. Модальная логика, Интерпретированная
посредством кванторов......................................253
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «ЛОГИКА ПРЕДИКАТОВ»............256
Оглавление 505
Глава 7. ПРОБЛЕМА РАЗРЕШИМОСТИ. ТЕОРИЯ АВТОМАТИЧЕСКОГО
ВЫВОДА.......................................................260
7.1. Пренексная нормальная форма............................261
7.2. Скулемовская форма.....................................264
7.3. Эрбрановский универсум и базис, //-интерпретации.......265
7.4. Семантические деревья. Теорема Эрбрана.................269
7.5. Метод резолюций........................................272
7.5.1. Метод резолюций в исчислении высказываний.........273
7.5.2. Операции подстановки, унификации и склейки........274
7.5.3. Правило и метод резолюций в теориях первого порядка..280
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «ПРОБЛЕМА РАЗРЕШИМОСТИ.
ТЕОРИЯ АВТОМАТИЧЕСКОГО ВЫВОДА»..............................282
Заключение к разделу «МАТЕМАТИЧЕСКАЯ ЛОГИКА»...................286
Раздел III. ТЕОРИЯ ГРАФОВ......................................290
Глава 1. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ ГРАФОВ. ПРИМЕРЫ
ЕЕ ПРИМЕНЕНИЯ................................................290
1.1. Псевдографы, графы, способы их задания.................290
1.2. Деревья................................................294
1.2.1. Полное бинарное дерево............................295
1.2.2. Проблема разрешимости. Теория автоматического вывода.295
1.2.3. Комбинаторика. Теория вероятности.................295
1.2.4. Иерархические структуры и процессы................296
1.2.5. Остовные деревья..................................297
1.3. Полные графы...........................................298
1.4. Двудольные графы.......................................299
1.4.1. Задачи о расписаниях..............................300
1.4.2. Распределение ресурсов............................300
1.5. Единичные «-мерные кубы................................301
1.5.1. Комбинаторика и алгебра логики....................302
1.5.2. Теория кодирования................................302
1.6. Сети...................................................302
1.6.1. Моделирование транспортных систем. Потоки в сетях.302
1.6.2. Сетевое планирование..............................307
1.6.3. Моделирование релейных и функциональных схем......309
1.6.4. Однополюсные сети — корневые деревья..............310
Глава 2. ОПЕРАЦИИ И ОТОБРАЖЕНИЯ НА ГРАФАХ......................311
2.1. Изоморфизм и гомеоморфизм графов.......................311
2.2. Маршруты и обходы на графах............................314
2.2.1. Оптимальные маршруты во взвешенных графах.........315
2.2.2. Гамильтоновы цепи и циклы.........................322
2.2.3. Эйлеровы цепи и циклы.............................323
2.3. Раскраски графов.......................................324
2.4. Планарность графов.....................................327
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «ТЕОРИЯ ГРАФОВ».................330
Раздел IV. ОСНОВЫ ТЕОРИИ КОНЕЧНЫХ АВТОМАТОВ....................336
Глава 1. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ...............................336
1.1. Автоматы первого и второго рода. Автоматы Мили и Мура. Граф
переходов. Однотактные и многотактные автоматы............337
506
Оглавление
1.2. Таблица состояний автомата..........................342
1.3. Реакция, эквивалентность и сокращение автоматов.....343
1.4. Свойства классов Л-эквивалентности. Построение сокращенных
автоматов................................................348
1.5. Автоматы Мура.......................................352
Глава 2. АНАЛИЗ И СИНТЕЗ ДВОИЧНЫХ АВТОМАТОВ.................356
2.1. Числовая форма задания автоматов. Двоичные автоматы.356
2.2. Канонические уравнения и схема автомата.............359
2.2.1. Канонические уравнения.........................359
2.2.2. Схема автомата.................................361
2.3. Оптимальные автоматы................................362
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «КОНЕЧНЫЕ АВТОМАТЫ»..........368
Раздел V. ТЕОРИЯ КОМБИНАТОРНЫХ АЛГОРИТМОВ...................375
Глава 1. ОБЩАЯ ХАРАКТЕРИСТИКА ЗАДАЧ. ИНТУИТИВНОЕ
ОПРЕДЕЛЕНИЕ АЛГОРИТМА.......................................375
1.1. Корректные и некорректные,разрешимые задачи.........375
1.2. Интуитивное определение алгоритма. Основные требования
к алгоритмам. Примеры....................................376
1.3. Блок-схема алгоритма................................384
Глава 2. ФОРМАЛИЗАЦИЯ ПОНЯТИЯ АЛГОРИТМА.....................385
2.1. Машина Тьюринга.....................................386
2.1.1. Устройство, принцип работы, основные понятия...386
2.1.2. Примеры машин Тьюринга.........................388
2.1.3. Тезис Тьюринга. Существование неразрешимых
корректных задач......................................392
2.2. Рекурсивные функции.................................393
2.2.1. Примитивно-рекурсивные функции.................394
2.2.2. Частично-рекурсивные и общерекурсивные функции.
Тезис Черча...........................................396
Глава 3. РАЗМЕР ЗАДАЧИ. СЛОЖНОСТЬАЛГОРИТМА..................398
3.1. Размер задачи. Скорость роста.......................398
3.2. Сложность алгоритма. Классификация алгоритмов по сложности.402
Глава 4. ТОЧНЫЕ И ПРИБЛИЖЕННЫЕ КОМБИНАТОРНЫЕ
АЛГОРИТМЫ. ОЦЕНКИ ИХ СЛОЖНОСТИ..............................408
4.1. Класс/*. Полиномиальная сводимость..................408
4.2. Класс NP. АР-полнота................................410
4.3. Основные виды сложности комбинаторных алгоритмов....412
4.4. Приближенные алгоритмы решения комбинаторных задач..415
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «ТЕОРИЯ КОМБИНАТОРНЫХ
АЛГОРИТМОВ»..............................................416
Раздел VI. КОДИРОВАНИЕ И СЖАТИЕ ИНФОРМАЦИИ..................420
Глава 1. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ КОДИРОВАНИЯ И СЖАТИЯ
ИНФОРМАЦИИ..................................................420
1.1. Кодирование и сжатие информации.....................420
1.2. Информация и энтропия...............................421
1.3. Основные структурные свойства кодов и их численные
характеристики...........................................422
1.4. Основные характеристики методов сжатия информации...425
Оглавление 507
Глава 2. НЕИЗБЫТОЧНЫЕ КОДЫ. МЕТОДЫ СЖАТИЯ БЕЗ ПОТЕРЬ.........426
2.1. Равномерные коды для чисел...........................427
2.1.1. Простой двоичный код............................427
2.1.2. Двоично-десятичные коды.........................427
2.1.3. Отраженные коды. Коды Грея......................428
2.2. Равномерные коды для символьной информации...........431
2.2.1. Телеграфный код Бодо............................431
2.2.2. Представление символьной информации в памяти
компьютера............................................431
2.3. Сжатие байтовой информации групповыми методами (RLE).432
2.4. Сжатие байтовой информации по методу LZW.............435
Глава 3. ЭНТРОПИЙНЫЕ (СТАТИСТИЧЕСКИЕ) МЕТОДЫ.................441
3.1. Код Морзе. Префиксные коды. Стоимость кода...........441
3.2. Классический код Хаффмена............................445
3.3. Блочное и словесное двоичное кодирование.............446
3.4. Метод Хаффменас фиксированной кодовой таблицей.......448
3.5. Урезанный код Хаффмена...............................453
3.6. Сдвиговые коды.......................................454
3.7. Арифметическое кодирование...........................457
Глава 4. ИЗБЫТОЧНЫЕ КОДЫ.....................................466
4.1. Обнаружение и исправление ошибок. Разделимые
и неразделимые коды.......................................466
4.2. Линейные коды. Систематический код...................470
4.3. Коды Хемминга........................................475
4.4. Циклические коды.....................................477
4.4.1. Отображение двоичных кодовых слов на множество
многочленов над полем GF(2). Расширенные поля G7?(2m).477
4.4.2. Построение циклического кода....................481
4.4.3. Коды Боуза — Чоудхури — Хоквингема (БХЧ)........484
4.4.4. Коды Рида — Соломона............................484
4.5. Основные методы исправления ошибок...................485
4.5.1. Метод с использованием кодов-спутников
(декодирующих таблиц).................................485
4.5.2. Метод синдромов.................................487
4.6. Обнаруживающие коды..................................490
4.6.1. Код с однократной проверкой четности............491
4.6.2. Коде простым повторением........................492
4.6.3. Корреляционный код..............................493
КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО ТЕМЕ «КОДИРОВАНИЕ И СЖАТИЕ
ИНФОРМАЦИИ»...............................................494
СПИСОК ЛИТЕРАТУРЫ.........................................500
Гданский Николай Иванович
ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
Логика. Графы. Автоматы.
Алгоритмы. Кодирование
Книга издана в авторской редакции
Ответственный редактор М. Б. Гаража
Технический редактор ГТ. С. Корсунская
Корректоры О. А. Белаш, П. С. Корсунская
Компьютерная верстка: А. А. Гуров
Подписано в печать 11.10.2018. Формат 60х 84/16.
Печать офсетная. Бумага офсетная. Гарнитура «Ньютон».
Усл. печ. л. 29,59. Тираж 100 экз.
ООО «Вузовская книга»
Тел. (499) 343-56-74. E-mail: vbook@mail.ru;
www.vuzkniga.ru