Текст
                    z
10
Ф
X
u
Ф
S
VJ
Q.
Ф
ffl
S
X
Т. С. Соболева
А. В. Чечкин
ДИСКРЕТНАЯ
МАТЕМАТИКА
Прикладная математика!
и информатика
academ'a


Редакционный совет серии Председатели совета: академик РАН Ю.И.Журавлев, академик РАН В. А. Садовничий Члены совета: О.М.Белоцерковский (академик РАН), В.П.Дымников (академик РАН), Ю.Г.Евтушенко (академик РАН), И.И.Еремин (академик РАН), В.А.Ильин (академик РАН), П. С. Краснощекое (академик РАН), Е.И.Моисеев (академик РАН), А.А.Петров (академик РАН), Л.Н.Королев (член-корреспондент РАН), Д.П.Костомаров (член-корреспондент РАН), Г.А.Михайлов (член-корреспондент РАН), Ю.Н.Павловский (член-корреспондент РАН), К.В.Рудаков (член-корреспондент РАН), Е.Е.Тыртышников (член-корреспондент РАН), Б.Н.Четверушкин (член-корреспондент РАН) Ответственный редактор серии доктор физико-математических наук Ю.И.Димитриенко
УНИВЕРСИТЕТСКИЙ УЧЕБНИК Серия «Прикладная математика и информатика» Т.С.СОБОЛЕВА, А.В.ЧЕЧКИН ДИСКРЕТНАЯ МАТЕМАТИКА Под редакцией А. В.Чечкина Допущено Министерством образования и науки Российской Федерации в качестве учебника для студентов высших учебных заведений, обучающихся по специальностям направлений подготовки «Информатика и вычислительная техника», «Информационные системы», «Информационная безопасность» ACADEM'A Москва Издательский центр «Академия» 2006
УДК 51(075.8) ББК22.176я73 С123 Рецензенты: чл.-кор. РАЕН, д-р физ.-мат. наук, проф. Е. В. Захаров (зам. декана факультета вычислительной математики и кибернетики МГУ им. М.В.Ломоносова); д-р физ.-мат. наук, проф. И. К.Лифанов (зав. кафедрой высшей математики Военно-воздушной академии им. Н.Е.Жуковского) Соболева Т. С. С123 Дискретная математика: учебник для студ. вузов / Т. С. Соболева, А. В.Чечкин; под ред. А. В.Чечкина. — М.: Издательский центр «Академия», 2006. — 256 с. — (Университетский учебник. Сер. Прикладная математика и информатика). ISBN 5-7695-2823-0 В учебнике рассмотрены общие (множества и отношения, алгебра и топология) и специальные (математическая логика, математическая кибернетика, математическая информатика) вопросы дискретной математики. Для студентов высших учебных заведений. Может быть полезен аспирантам, научным работникам и специалистам в области прикладной математики и современных наукоемких информационных технологий. УДК 51(075.8) ББК22.176я73 Оригинал-макет данного издания является собственностью Издательского центра «Академия», и его воспроизведение любым способом без согласия правообладателя запрещается © Соболева Т. С, Чечкин А. В., 2006 © Образовательно-издательский центр «Академия», 2006 ISBN 5-7695-2823-0 © Оформление. Издательский центр «Академия», 2006
ПРЕДИСЛОВИЕ В настоящее время основное внимание в науке и практике уделяется моделированию, анализу и синтезу информационных систем. Определяющими в таких системах являются информационно-логические, принципиально дискретные процессы решения разнообразных задач. Для этих процессов не существенны место и время их решения. Информационные процессы происходят как бы вне пространства и времени. Они мало зависят от преобразования энергии и вещества. Информационные системы не являются динамическими системами в традиционном смысле. Для описания информационных систем появилась и бурно развивается новая математика. Ее называют по-разному: в России — дискретной математикой (выделяется дискретность структуры информации, собственно информационной системы и ее функционирования); в США — Computer Science (на первое место выдвигается техническая сторона дела — компьютеры); в Западной Европе — информатикой (акцент делается на информационные процессы). По-видимому, те же причины отражаются внутри самой математики, когда специалисты говорят о становлении новой квантовой математики (суперматематики, или некоммутативной математики, и т.п.) при характеристике современного этапа в математике. Один из создателей квантовой математики Джон фон Нейман был и создателем первых электронных вычислительных машин. Дискретная математика, так же как и высшая, состоит из многих разделов. Глубина изложения отдельных разделов курса может быть различной [1 — 15]. Данный учебный курс задуман как начальный базовый курс дискретной математики. В нем отражен опыт авторов чтения курса дискретной математики в Московском государственном университете имени М. В. Ломоносова, в Военной академии ракетных войск стратегического назначения имени Петра Великого и в Российском государственном университете нефти и газа имени И. М. Губкина. Учебник 3
отличается от большинства аналогичных тем, что в нем особое внимание уделяется алгебре и топологии, а также различию сильноформальных (кибернетических) и слабоформальных (информационных) систем. Авторы выражают благодарность коллегам по научному семинару «Интеллектуализация военно-технических систем», с которыми велись постоянные обсуждения основных положений курса.
ВВЕДЕНИЕ Новый период развития математики В истории цивилизации можно выделить три крупных периода: сельскохозяйственный, или аграрный, — до XVII в., индустриальный — с XVII по XX в., информационный — с XX в. Эти периоды определялись научно-техническими революциями и, следовательно, характером тех систем и явлений природы, которые вовлекались в сферу главных производственных интересов и потребностей людей. В каждый период создавались новые технологии производства, новая картина реального мира, новые системы знаний (науки) и, в частности, новая математика (рис. В.1). До XVII в. основная деятельность людей была связана с сельским хозяйством. К этому времени уже систематизированы знания о материальных объектах, главное качество которых — возможность выделять в них части и соединять части в целое. Аграрный период до XVII в. , Материальная картина мира Элементарная математика Арифметика (число) Индустриальный с XVII по XX в. Энергетическая картина мира Высшая математика Анализ (функция) Информационный период с XX в. Информационная картина мира Дискретная математика Алгебра (радикал) Рис. В.1. Три периода развития математики 5
Основные технологии были связаны с преобразованием вещества. Например, обработка земли, урожая, глины, камня, дерева и т. п. В это время господствовала материальная картина реального мира. Вершиной научных знаний к концу XVI в. явилась элементарная математика, которая включала в первую очередь арифметику, а также элементарную алгебру, планиметрию, стереометрию, тригонометрию, сферическую геометрию и др. Большинство математических моделей, используемых в технологических процессах того времени, основывались на понятии числа. К XVII в. основная деятельность людей уже была связана во многом с динамическими системами, с использованием рычагов, блоков, кораблей, парусов, ременных передач. Интенсивно изучалось движение тел на Земле и движение небесных тел. Развитие мореплавания и дальних путешествий вызвало необходимость высокоточного описания движения планет. Уже Галилей использовал понятия скорости, ускорения. Были изобретены механические часы и вскоре паровая машина. Основные технологии стали базироваться на преобразовании энергии из одного вида в другой. Например, из энергии маятника, пружины, пара, ветра в механическую энергию движения. Наступил индустриальный период. Сформировалась энергетическая картина реального мира, которая включила в себя как часть предыдущую материальную картину мира. Пришло время физики. К середине XVII в. оформилась новая математика, в первую очередь, трудами Р.Декарта, И.Ньютона и Г.В.Лейбница. Далее в XVIII —XX вв. продолжалось изучение динамических систем аэромеханики, гидромеханики, электродинамики, микромира и макромира. К середине XX в. человек посредством машин и механизмов во много раз увеличил свои энергетические (мышечные) возможности. В математике этот период связан с господством высшей математики, которая опирается на элементарную математику и включает разные дисциплины. В первую очередь — это анализ (бесконечно малых, функций действительных переменных, функций комплексных переменных, функциональный анализ), а также аналитическая и дифференциальная геометрия, высшая алгебра, теория вероятностей и др. В основе большинства математических моделей, используемых в технологиях индустриального периода, лежит понятие функции. Начиная с середины XX в. в нашу жизнь бурно вошли и вскоре заняли доминирующее место информационные системы различного назначения. Сначала это были кибернетические системы, а затем системы с интеллектуальными свойствами. 6
Кибернетические системы — разнообразные автоматы. Автоматы обрабатывают входные сигналы (входное слово) и вырабатывают выходные сигналы (выходное слово). Те входные слова, которые автомат не обрабатывает, называются нештатными ситуациями. Таким образом, кибернетические системы решают только штатные для них задачи. Интеллектуальные системы нацелены на решение не только своих штатных задач, но и некоторых нештатных для них задач. Примерами интеллектуальных систем являются следующие: человек, высшее животное; сообщество людей, популяция высших животных и т. п.; организационная система с преобладанием человеческого фактора (государство, фирма, армия, школа и т. п.); автоматизированные системы с преобладанием технического фактора (пилотируемый космический корабль, самолет, автомобиль, подводная лодка, надводный корабль, поезд, гидроэлектростанция, система управления производством, операционная система компьютера вместе с пользователем и т. п.); а также автоматические системы с интеллектуальными свойствами, в которых предполагается отсутствие человека (беспилотный межпланетный космический аппарат, навигационная спутниковая группировка и т. п.). Определяющие процессы в кибернетических и интеллектуальных системах — информационно-логические, принципиально дискретные процессы решения разнообразных задач. Такие системы несут на себе функции управления, контроля, прогноза, диагноза, анализа и синтеза динамических систем различного назначения. В середине XX в. появились и быстро распространились на практике разнообразные автоматизированные системы. В настоящее время идет процесс информатизации общества, интеллектуализации организационных систем, внедрения компьютеров в производство, транспорт, коммунальные, торговые, банковские и сервисные системы, бытовую жизнь, спорт, отдых — во все стороны жизни человека. Происходит процесс информатизации разнообразных технических систем, постоянное расширение интеллектуальных возможностей динамических систем. Спросим себя, чем отличается, например, массовый автомобиль начала XXI в. от массового автомобиля начала XX в.? Интересно, что основные динамические (энергетические) показатели таких автомобилей почти одинаковые. Мощность двигателя порядка 100 л. с, средняя скорость движения порядка 100 км/ч, вместимость автомобиля 5 человек, масса автомобиля порядка 1000 кг, бензобак вместимостью порядка 50 л и т. п. Спрашивается, а чем, собственно, различаются автомобили одного класса, которые продолжают совершенствоваться и в настоящее время? 7
Почему с каждым годом обновляется модельный ряд таких автомобилей в мире? Ответ найдем, если проследим за изменениями кибернетических свойств автомобилей. Автомобили одного класса прошлого века и настоящего отличаются электронным оснащением. Современные автомобили имеют: • инжектор вместо карбюратора, т. е. электронное управление получения нужной рабочей смеси в зависимости от режима работы двигателя на этапах разгона, равномерного движения и торможения; • электронный впрыск топлива в цилиндры; • электронную диагностику и корректировку состояния всех важных узлов автомобиля; • электронные средства (интерфейс) общения с водителем; • электронную навигационную систему выбора оптимального маршрута пути; • электронное распознавание и сообщение об опасностях на дороге; • электронную регистрацию и оплату дорожных услуг по пути движения автомобиля; • электронную систему опознавания владельца автомобиля; • электронную систему открывания, закрывания и парковки автомобиля на расстоянии; • электронную систему регулирования сидения под данного водителя, климата и освещения в салоне и многое другое. Аналогичные процессы электронной информатизации происходят в других системах, самолетах, поездах и кораблях, системах освещения и обогрева помещений, в бытовой и производственной технике, в энергетических и транспортных системах, в системах связи и т. п. Приведем еще один важный пример информатизации: создание современной системы связи, всемирной компьютерной паутины Интернет. Она позволяет обращаться с запросами из любой точки Земли к базам данных в любой другой точке Земли, получать информацию, оставлять заказы на услуги, оплачивать счета, покупать и продавать акции, выбирать и покупать товары, участвовать в научных и других конференциях, публиковать свои статьи и книги на электронных страницах, иметь доступ к программным ресурсам любой проблемной области, скачивать видеофильмы, музыку и т. п. Вслед за кибернетическими системами постепенно приходят интеллектуальные технические системы, которые могут решать некоторые нештатные для себя задачи. Процесс информатизации общества постепенно наполняется новым содержанием, связанным с интеллектуализацией систем. 8
На смену энергетической картине мира пришла новая информационная картина реального мира, которая включает предыдущую картину мира как часть. На смену эпохе физики пришла эпоха информатики. Интересно проследить за изменением характера войн в разные периоды развития человечества. Самые передовые достижения в науке и технике в первую очередь применяются на войне. В аграрный период войны определялись главным образом численностью войск (численностью пехоты, конницы, числом мечей, копий, пушек, ружей и т. д.). В индустриальный период войны были войнами моторов (танки, самолеты, корабли и т.д.). Исход боевых действий решался в первую очередь энерговооруженностью боевых машин. Сейчас, в информационный период, характер войн стал совсем другим. Современная война является в основном информационной, когда победа определяется наличием глобальной спутниковой группировки сбора информации и управления боевыми действиями, информационной безопасностью баз данных и знаний, информационной защитой коммуникационных сетей управления, всесторонними глубокими знаниями противника («Я знаю, что он знает, что я знаю, ...»), применением высокоточного автоматического оружия на расстоянии без соприкосновения войск противников, использованием военно- технических систем с элементами искусственного интеллекта и т. д. Классической высшей математики (дифференциального и интегрального исчисления) недостаточно для моделирования кибернетических и интеллектуальных систем. Для описания главных систем информационного периода появилась и бурно развивается новая математика, которую называют дискретной. Дискретная математика ориентирована на описание и исследование информационных систем, функционирующих в языковой (информационной) среде. Напомним, что высшая математика нацелена в первую очередь на моделирование, анализ и синтез физических систем, функционирующих в пространственно-временной (материальной) среде. Различие сред приводит к необходимости развивать различные принципы моделирования. Для пространственно-временной среды характерны инфините- зимальные принципы (непрерывная математика), приводящие к дифференциальному и интегральному исчислениям. Языковая среда имеет информационную (идеальную) природу. Одна и та же языковая среда может быть реализована звуковыми, световыми, атомарными, молекулярными, химическими, биологиче- 9
скими и другими символами. Тем самым языковая среда не имеет ни физическую, ни химическую, ни биологическую, ни какую- либо другую материальную природу. Для языковой среды характерны алгебраические и топологические методы (дискретная математика). Для языка важны три его качества: синтаксис (форма языка), семантика (содержание и смысл языка) и прагматика (целесообразность и назначение языка). Синтаксис и семантику языка с общих позиций изучает математическая логика средствами алгебры и топологии. Математическая кибернетика изучает прагматику языка в рамках кибернетических систем, например таких, как автоматы. При описании кибернетических систем приходится больше внимания уделять синтаксису языка, чем его семантике. Математическая информатика изучает прагматику языка в рамках интеллектуальных систем, например таких, как организационные системы. При моделировании интеллектуальных систем первостепенное внимание уделяется семантике языка по сравнению с синтаксисом. Особое внимание в дискретной математике к алгебре и топологии вызвано тем, что главное понятие «семантическая информация» имеет двойную математическую природу. Во-первых, данные о точке являются элементами булевой алгебры и, значит, они могут быть выражены формулами через образующие этой алгебры. Во-вторых, информация о точке тесно связана с понятием сходимости к точке в топологическом пространстве. Тем самым, алгебра отвечает за синтаксис информации (языка) , а топология — за семантику информации (языка). В заключение кратко обсудим структуру дискретной математики. Так же как высшая математика опирается на элементарную математику и включает ее, дискретная математика опирается на высшую математику и включает ее. Дискретную математику удобно разбить на следующие пять частей. Две части (множества и отношения, алгебра и топология) составляют общие вопросы, а три следующие — математическая логика, математическая кибернетика (теория сильноформальных систем), математическая информатика (теория слабоформальных систем) — специальные вопросы дискретной математики.
ЧАСТЬ I МНОЖЕСТВА И ОТНОШЕНИЯ Глава 1 ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ МНОЖЕСТВ Любая математическая дисциплина строится с помощью таких понятий, как «множество» и «отношение». Эти понятия сами представляют собой серьезные объекты для исследования и изучения. Однако здесь они будут рассматриваться лишь в необходимом объеме. 1.1. Способы задания множеств Понятие множества является первичным и поэтому формально не может быть определено. Под множеством понимается любое собрание определенных и различимых между собой объектов, мыслимое как единое целое. В этом интуитивном определении, принадлежащем немецкому математику Г. Кантору, существенно то, что собрание элементов рассматривается как единое целое. Для удобства и краткости записей будем пользоваться специальными обозначениями — кванторами, формальное определение которых будет дано в гл. 9. Эти обозначения используются во всех разделах математики. Слова «любой», «всякий», «каждый» будем обозначать с помощью квантора V (общности), слова «существует», «найдется», «можно найти» — с помощью квантора 3 (существования). Множества обозначаются прописными буквами латинского алфавита X, У, ..., элементы множеств — строчными буквами я, У, .... Утверждение «Элемент х принадлежит множеству X» записывается следующим образом: х е Х\ «Элемент х не принадлежит множеству У» — х £ Y. Множество называется пустым и обозначается 0, если оно не содержит ни одного элемента. Множество Y называется подмножеством X, если для \/х е Y следует, что х е X. При этом пишут: Y С X. Считаем, что 0 С X для \/Х. Если УС1и7^1,то пишут: Y с X. В этом случае Y называется собственным подмножеством X. 11
Пример 1.1. Рассмотрим цепочку включений множеств 0cNcZcQcRcC. Здесь пустое множество содержится во множестве натуральных чисел, которое содержится во множестве целых чисел, которое содержится во множестве рациональных чисел, которое содержится во множестве вещественных чисел, которое содержится во множестве комплексных чисел. Различают два способа задания множеств: перечислением элементов и описанием свойств элементов. 1. Задание множества перечислением его элементов. Конечное множество можно задать перечислением его элементов и записать в форме X = {Ж1,Х2, • • • ,Хп}. Пример 1.2. Рассмотрим множество {1,2,3}. Оно состоит из элементов 1, 2, 3. В случае бесконечного множества или трудностей с выписыванием элементов конечного множества можно использовать рекурсивное задание множества, когда множество задается перечисляющей процедурой (алгоритмом, см. подразд. 12.1). В этом случае множество задается некоторыми начальными элементами и алгоритмом (процедурой) нахождения новых элементов по уже известным. Пример 1.3. Зададим рекурсивно множество X алгоритмом: 1)ЗеХ; 2) если х е X, то элементы - и (1 — х) принадлежат Х\ х 3) других элементов в X нет. Заметим, что это множество — конечное, и его можно было задать выписыванием его элементов -U Х 2 l 2 31 Г'З' ' 2'3'2Г Частным случаем рекурсивного задания множества является способ задания, основанный на процедуре, называемой математической индукцией. Рассмотрим его на примере задания множества натуральных чисел. Пример 1.4> Множество N задается следующими правилами: 1) задается базис индукции (исходный элемент): 1GN; 12
2) указывается индуктивный переход: если п е N, то (п + 1) е N; 3) устанавливается правило замыкания: других элементов, кроме построенных по правилам 1 и 2, в N нет. Множества, которые можно задать перечислением, называют перечислимыми (см. подразд. 12.1). Но имеются множества, которые задают только описанием свойств их элементов. 2. Задание множества описанием свойств его элементов. Описание свойства элементов обычно задается так: пусть Р(х) — утверждение, заключающееся в том, что элемент х обладает свойством Р. Тогда запись Х = {х:Р(х)} означает, что рассматривается множество всех элементов х, обладающих свойством Р. Таким способом можно задать как конечные, так и бесконечные множества. Пример 1.5. Рассмотрим множество натуральных четных чисел. Это можно записать следующим образом: X = {п: п eN,n — кратное двум}. Если рассматривать теорию множеств без ограничений на способы задания множеств, то такая теория называется наивной теорией множеств. Еще при жизни Г. Кантора, создателя наивной теории множеств, были обнаружены многочисленные парадоксы в этой теории. Приведем один из известных парадоксов Б. Рассела. Пусть М — множество всех множеств. Тогда очевидно, что М е М. Тем самым, существуют множества, содержащие себя как свой элемент. Рассмотрим некоторое множество X, которое не содержит себя как свой элемент. Пусть Y — множество всех таких множеств X, т. е. множество всех множеств, не содержащих себя как свой элемент. Зададимся вопросом: каково множество Y? Содержит оно себя как элемент или нет? Возможны два случая: 1) содержит; 2) не содержит. В первом случае Y e Y. Тогда по определению множества Y имеем Y ф Y. Получили противоречие. 13
Во втором случае У $. Y. Тогда по определению множества Y имеем Y e Y. Получили также противоречие. Иногда этот парадокс Рассела облекают в бытовую форму. Тогда появляется следующая парадоксальная ситуация. В полку имеется полковой Брадобрей, который руководствуется следующим приказом. Брить бороды только у тех людей, которые сами себя не бреют. Спрашивается, может ли Брадобрей брить себе бороду? Получается так, что если он не бреет себе бороду, то по приказу он должен себя брить. Как только Брадобрей начинает брить себе бороду, то по приказу он не должен себя брить. Парадокс. Избежать парадоксов удается только в рамках аксиоматической теории множеств, т. е. теории, которая ограничивает способы задания множеств специальной аксиоматикой. 1.2. Операции над множествами Во многих случаях удается избежать противоречий наивной теории множеств, если выбрать некоторое так называемое универсальное, или опорное, множество U и ограничиться рассмотрением только его подмножеств. В случае необходимости переходят к другому универсальному множеству и работают с его подмножествами и т. д. Если имеются некоторые множества, то из них можно получать новые с помощью определенных операций. Определение 1.1. Объединением, двух множеств X и Y называется множество, обозначаемое X (J Y и состоящее из элементов, принадлежащих хотя бы одному из множеств X или Y. Пример 1.6. Рассмотрим два множества X = {1,3,5}; Y = = {3,5,9}. Их объединением X \J Y будет множество {1,3,5,9}. Определение 1.2. Пересечением, множеств X и Y называется множество, обозначаемое Xf]Yn состоящее из элементов, принадлежащих каждому из множеств X и Y. Пример 1.7. Рассмотрим два множества Х = {1,3,5};У = = {3,5,9}. Тогда пересечением этих множеств будет X f] Y = {3,5}. Замечание 1.1. Аналогично определяется (J Ха (объединение) и f] Xa (пересечение) для любой совокупности множеств Ха, а £ А. Здесь А — некоторое множество, называемое множеством индексов. Если А — множество п первых натуральных чисел, то употребляется п п обозначение (J Xi , f] Xi, а в случае, если А совпадает со всем мно- г=1 г=1 оо оо жеством натуральных чисел, будем писать (J Xi и р| Xi. г=1 г=1 14
Определение 1.3. Разностью множеств X и Y называется множество, обозначаемое X \ Y и состоящее из всех элементов X, не принадлежащих Y. Пример 1.8. Рассмотрим два множества X = {1,3,5}, Y = = {3,8,9}. Разностью этих множеств будет множество X\Y= {1,5}. Замечание 1.2. Множество Y в разности X\Y, вообще говоря, не обязано быть подмножеством X, или содержать общие с X элементы. Определение 1.4. Симметричной разностью множеств X и Y называется множество XAY = (X\Y)\J(Y\X). Определение 1.5. Дополнением к множеству X относительно универсального множества U называется множество X = = и\х = сх. Универсальное множество позволяет геометрически изображать множества и операции над ними с помощью диаграмм Вен- на (рис. 1.1). Определение 1.6. Разбиением, множества Y называется набор его попарно непересекающихся подмножеств 1а, а G Л, где А — некоторое множество индексов, такой, что Y = [J Ха. <хеА XUY XHY X\Y XAY Рис. 1.1. Диаграмма Венна 15
1.3. Характеристическая функция множества Определение 1.7. Характеристической функцией множества XCU называется функция (рис. 1.2), определяемая следующим образом: A j Очевидно, что функции хх(х) и Ху(х) совпадают тогда и только тогда, когда совпадают множества X и У. Характеристическая функция множества обладает следующими легко проверяемыми свойствами: 2) Х() X{)x() 3) Ххиу(я) = Хх {х) + Ху(^) - Xx(x)xy(x). С помощью характеристической функции удобно проводить доказательства некоторых свойств. Рассмотрим следующую теорему. Теорема 1.1. Пусть U — универсальное множество; X, У, Z — его подмножества. Тогда имеют место следующие тождественные равенства. 1. (X U У) U Z = X U (У U Z) 1 _ ассоциативность объединения 2. (X HY) П Z = X П (Y П Z) j и пересечения. З.ХиУ = УиХ1 _ коммутативность объединения и 4.ХПУ = УПХ] пересечения. 5. (X U У) П Z = (X П Z) U (У П Z) \ е, 6. (X П У) U Z = (X U Z) П (У U Z) ) - Дистрибутивность. 7 X U X = X 1 ' ^ „ v > — идемпотентность. о. А Г1 А = A J 9ХиУ = ХГ)У 1 ,, _ -tf - > — закон де Моргана. — Л U I J 10.Х П У п.х up 12.ХП(ХиУ) 11 X U (X П Y) = X 1 v ; i - тождества поглощения. = Х J 17.Х U 17 = 17. 16
1 1 1 I, Xx*' 1 1 v r- X и 1 1 1 1 J ! *x i i ) и Рис. 1.2. Характеристическая функ- Рис. 1.3. Функция принадлеж- ция множества ности нечеткого множества 19.17=0. 20.0 = С/. Доказательство. Используя понятие характеристической функции, проведем доказательство тождества 9. Остальные тождества доказываются аналогично. Для доказательства достаточно установить, что характеристические функции подмножеств, стоящих в правой и левой частях тождества, совпадают. Имеем: - ХУ (*)) = XxnvW = (1 Замечание 1.3. В 60-х годах XX в. американский математик Л. Заде сделал обобщение характеристической функции множества. Он допустил, что функция, задающая множество X, может принимать не только значения 0 и 1, но и промежуточные между ними значения, т. е. любые значения из отрезка [0,1]. Эту функцию он назвал функцией принадлежности множества и обозначил \ix(x) (рис. 1.3). С помощью функции принадлежности Л. Заде описал введенные им нечеткие (размытые) множества (подробнее см. ч. V). 1.4. Декартово произведение множеств Ранее были рассмотрены различные способы получения новых множеств из имеющихся при помощи операций над множествами. Разберем еще два важных способа построения новых множеств. * Здесь и далее знаком ■ будем обозначать окончание доказательства. 17
Пусть Xi,^2, ..., Хп — множества. Определение 1.8. Прямым (декартовым) произведением мноэюеств i, г = 1,2, ..., п: Х\ х Х2 х ... х Хп называется множество всех упорядоченных наборов (xi,X2, .. •, хп), где Xi e Xi, г = 1,2, ..., п. Пример 1.9. Пусть X = R, Y = R — множества точек двух числовых осей. Тогда декартовым произведением X х Y = R2 является множество точек плоскости (рис. 1.4). Каждой точке плоскости соответствует пара точек (проекций) на числовых осях. Пример 1.10. Пусть X = [а,Ь] — отрезок числовой оси, Y — — R — числовая ось. Тогда декартово произведение X х Y есть полоса на плоскости, которая соответствует множеству пар чисел, являющихся декартовыми координатами точек этой полосы (рис. 1.5). Пример 1.11. Пусть X = [а,Ь)\ Y = [c,d]. Тогда декартово произведение X х Y есть множество точек прямоугольника со Yk X а , Л Рис. 1.4. Декартово произведение Рис. 1.5. Декартово произведение двух прямых отрезка на прямую Y d с а ь X X=N Рис. 1.6. Декартово произведение двух отрезков Рис. 1.7. Декартово произведение натуральных чисел на вещественные числа 18
сторонами [а, 6], [c,d], которое coot- Y> ветствует множеству пар чисел, являющихся координатами этих точек (рис. 1.6). Пример 1.12. Пусть X = N — множество натуральных чисел; У = " 1234 = R — множество вещественных чи- рис. i.8. Декартово произ- сел. Тогда декартово произведение ведение натуральных чисел этих множеств X х У есть множе- на числа отрезка ство вертикальных прямых х = 1, х = 2, ... на плоскости (рис. 1.7). Пример 1.13. Пусть X = N, а У = [c,d]. Тогда декартовым произведением этих множеств (X х У) будет множество отрезков на вертикальных параллельных прямых х = 1,х = 2, ... (рис. 1.8). Пример 1.Ц. Рассмотрим два множества X и У. Пусть X — окружность yi радиуса т\ и У — окружность у 2 радиуса Г2- Тогда декартово произведение этих множеств можно представить в виде тора в трехмерном пространстве. В самом деле, пусть т\ > Г2- Рассмотрим в пространстве первую окружность yi- Через каждую точку этой окружности проведем плоскость, перпендикулярную плоскости окружности yi и проходящую через ее центр. В каждой такой плоскости рассмотрим окружность радиуса r<i с центром в точке, принадлежащей первой окружности. Множество всех точек таких окружностей радиуса г2 образует тор, причем любая точка тора может быть описана упорядоченной парой элементов исходных множеств X и У. Первый элемент этой пары представляет собой набор чисел, координат точек первой окружности в некоторой системе координат. Второй элемент этой пары является набором чисел, координат точек второй окружности в своей локальной системе координат. Пример 1.15. Пусть X — множество студентов в учебной группе. Их количество га, У — множество стульев в аудитории, количество которых п. Тогда декартово произведение есть множество X х У всевозможных пар вида (студент, стул). Всего таких различных пар может быть ran. Замечание 1.4. Если множества Х^ (г = 1,2, ...,п) совпадают с множеством X, то их декартово произведение называется степенью множества X и обозначается Хп. Рассмотрим еще один способ получения нового множества. Возьмем произвольное множество X. Составим новое множество, элементами которого сделаем всевозможные подмножества исходного множества X. Это последнее обозначается через 2х. 19
Почему такое обозначение? На этот вопрос будет дан ответ позднее. Пример 1.16. Пусть X = {1,2,3}. Тогда множество всех подмножеств X будет 2х = {0, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, X}. 1.5. Понятие отображения множеств Пусть X и Y — два непустых множества. Отображением f : X —> Y (множества X во множество Y) называется тройка (X, У, /). Здесь X, Y — два непустых множества, / — правило, сопоставляющее каждому элементу х е X однозначно определенный элемент у — f(x) gF. Множество X называется областью определения отображения, элемент х е X — аргументом отображения /, элемент f(x) e Y — образом элемента х при отображении /. При этом пишут х \—> f(x). Часто, в случае когда множества X, Y — числовые, отображение называют функцией. Если только множество Y — числовое, то отображение называют функционалом. Если А с X, то f(A) = {f(x):xeA} называется образом подмножества А при отображении /. Прообразом подмножества В CY называется множество {xeX:f(x)eB}, которое будем обозначать f~lB. В частности, для В = {у} любой элемент из множества f~1{{y}) называется прообразом у. Пример 1.17. Пусть X = Y = {1,2,3}. Отображение f: X —> Y задано следующим образом: Тогда f(X) = {1,2}. У элемента 1 е Y два прообраза — 1 и 2; у элемента 2еУ один прообраз — 3; у элемента 3 е Y прообразов нет. Определение 1.9. Отображение /: X —> Y называется сюръективным (или отобраэюепием «на»), если f(X) = У, т. е. для каждого элемента из Уесть прообраз. Определение 1.10. Отображение /: X —► Y называется инъективным (или отобраэюепием «в»), если из f(x) = f(xl) следует, что х = ж1, т. е. для каждого элемента Y имеется не более одного прообраза. 20
Определение 1.11. Отображение /: X —> Y называется биективным (или взаимно-однозначным), если это отображение одновременно и сюръективно, и инъективно, т. е. это отображение «на» и каждый элемент множества Y имеет ровно один прообраз. Замечание 1.5. Одно и то лее правило соответствия может быть сюръективным, инъективным или биективным отображением в зависимости от исходных множеств X тлУ. Пример 1.18. Обозначим через R+ = {х е R: х > 0}. Рассмотрим следующие три отображения: 9' : R+ —> R; fc:R4 Эти отображения зададим одной формулой: f(x) = x2\ g(x) = = х2; h(x) = х2. Они различны, так как различны исходные множества. При этом / является сюръективным, но не инъективным; g — инъективно, но не сюръективно; h — биективно (рис. 1.9, 1.10). Определение 1.12. Отображения вида /: X —► X называются преобразованиями множества X. Определение 1.13. Тоэюдественным преобразованием данного множества X называется преобразование ех? такое, что ех{х) = х, \/х G X. Определение 1.14. Пусть /: X —> Y и g: Y —> Z — некоторые отображения. Суперпозицией этих отображений называется отображение gf: X —> Z, определяемое следующим образом: (gf)(x) = g(f(x)), xgX. Заметим, что суперпозиция определена не для любых пар отображений. (Почему?) Однако суперпозиция двух преобразований одного и того же множества определена всегда. xi 0 2/1 = 2/2 / у! x% x Рис. 1.9. Сюръективное отоб- Рис. 1.10. Инъективное (а) и биектив- ражение ное {б) отображения 21
Важное свойство ассоциативности суперпозиции отображений дается следующей теоремой. Теорема 1.2. Пусть f:X—>У; g:Y—-+Z; h: Z *-^> V— отображения. Тогда (hg)f = h(gf). Доказательство. Рассмотрим х е X. Тогда имеем (h(gf))(x) = = h(g(f(x))) = (hg)(f(x)) = ((hg)f)(x). ■ Пусть /:1^Ги^:7^1 Определение 1.15. Отображение д называется обратным к отображению / (а отображение / обратным к д), если fg = еу; #/ = ех- Замечание 1.6. Если обратное отображение существует, то оно единственно. В самом деле, пусть /: X —> Y — некоторое отображение множества X во множество Y и отображения д: Y —► X и h: Y —> X — отображения, обратные к /. Тогда (9(fh))(y) = (деу)(у) = д(у) и ((gf)h)(y) = (exh)(y) = h(y). В силу теоремы 1.2 имеем g(fh) = (gf)h. Отсюда получаем д(у) = = h(y),Vy G У, т.е. отображения д и h совпадают. Обратное отображение обозначается f~l. Оно существует не всегда. Необходимое и достаточное условие существования обратного отображения дает следующая теорема. Теорема 1.3. Отображение / имеет обратное тогда и только тогда, когда оно биективно. Доказательство. Пусть /: X —► Y. Необходимость. Итак, пусть существует обратное отображение /-1 = g: Y —> X. Рассмотрим любой у е Y и х = д(у). Тогда f(x) = f(g(y)) = у и х — прообраз у при отображении /. Таким образом, любой у е Y имеет прообраз ж, т. е. / сюръективно. Далее, если ж, х1 е X, причем f(x) = /(я1), то g(f(x)) = g(f(x1)). Следовательно, т. е. х = х1 и / инъективно. Отсюда / биективно, и необходимость доказана. 22
Достаточность. Пусть / биективно. Определим отображение д: Y —> X следующим образом. Положим д(у) = х, если f(x) = у. В силу биективности / отображение д определено на всем У, и д = /-1. ■ Глава 2 КОНЕЧНЫЕ И БЕСКОНЕЧНЫЕ МНОЖЕСТВА Рассмотрим понятие количества элементов в конечном множестве и его обобщение на бесконечные множества. 2.1. Конечные множества и комбинаторика Определение 2.1. Два множества называются эквивалентными, или равномощными, если существует биективное отображение одного из них на другое. В этом случае пишут: X ~ У, или \Х\ — |У|, и говорят, что множества X, Y имеют равные мощности. Определение 2.2. Обозначим множество п первых натуральных чисел через Jn = {1,2, ..., п}. Множество X называется конечным, если оно эквивалентно Jn при некотором п. Число п называется количеством, или числом, элементов множества X. Для конечного множества X через \Х\ обозначим число элементов этого множества, т.е. |Х| = п. Пустое множество считается конечным с числом элементов равным нулю, т. е. |0| =0. Множества, не являющиеся конечными, называются бесконечными. Замечание 2.1. Множество Jn не эквивалентно никакому своему собственному подмножеству. Комбинаторикой называется раздел математики, изучающий способы подсчета числа элементов в конечных множествах. Рассмотрим некоторые результаты комбинаторики. Теорема 2.1 (о сумме). Пусть Х\, ...,Хп — конечные попарно непересекающиеся множества, т.е. Xi(~)Xj = 0, г ф j, hj = 1, ...,п. Тогда \ХХ U X2 U ... U Хп\ = \Хг\ + \Х2\ + ... + \Хп\. Доказательство. Докажем теорему методом математической индукции. 23
Базис индукции. Пусть п — 2. Тогда обозначим Х\ =Х, X2 = Y. Пусть \Х\ = п\ и \Y\ = П2. Так как XC\Y = 0, то зададим биекцию /(г) =ж(г),г = 1, ...,?гь Это означает, что |Х и У| = |Х| + |У|. Индуктивный переход. Пусть теорема верна для п. Тогда |Xl U Х2 U ... U Хп U Xn+i| - |(Xi U Х2 U ... U Хп Теорема 2.2 (о произведении). Пусть заданы конечные множества Х\, ..., Хп. Тогда \Х1хХ2х...хХп\ = \Х1\\Х2\...\Хп1 т. е. число элементов декартова произведения множеств равно произведению количеств элементов сомножителей. Доказательство. Будем доказывать теорему методом математической индукции. Базис индукции. Пусть п = 2. В этом случае все элементы множества Х\ х Х2, т. е. упорядоченные пары (х\, х2), можно расположить в виде прямоугольной таблицы со строками — элементами Х\ и столбцами — элементами Х2. В этой таблице, очевидно, будет |Xi||X2| элементов. Индуктивный переход. Предположим справедливость утверждения теоремы для п. Покажем, что для п + 1 оно будет тоже справедливо. В самом деле, добавляя еще одно множество в декартово произведение, видим, что \ХХ х Х2 х ... х Хп х Xn+i\ = \(Хг х Х2 х ... х Хп) х Xn+i\ = = \ХгхХ2х...х Хп\\Хп+1\ = \Хг\\Х2\... |Х Следующая теорема поясняет применение обозначения 2х для множества всех подмножеств данного множества X. Теорема 2.3. Пусть X — конечное множество. Тогда \2Х\ = = 21х I. Тем самым число характеристических функций подмножеств множества из п элементов равно 2П. 24
Доказательство. Поскольку существует биективное соответствие между подмножествами и характеристическими функциями подмножеств данного множества, достаточно доказать последнее утверждение теоремы. Можно считать, что X = Jn. Тогда характеристической функцией ха{х) подмножества А является n-мерный вектор {oti, 0*2, ..., ап}, координаты которого есть элементы множества {0,1}. При этом а* = 1, если г Е Д и а$ = 0 — в противном случае. Число таких векторов, в силу теоремы 2.2, равно 2П, так как мощность множества {0,1} равна 2, а число таких множеств (координат векторов) равно п. Ш 2.2. Перестановки, размещения и сочетания Рассмотрим несколько важных задач комбинаторики. Определение 2.3. Пусть X = {sci,a?2, •• -»Sn} — конечное множество. Любой упорядоченный набор {xix,Xi2, . ..,ж$п) из п различных элементов множества X называется перестановкой из п элементов множества X. Любой упорядоченный набор (xix,xi2, ...,xim) из m,m < п, различных элементов множества X называется размещением, из п элементов по т. В частности, для т = п размещение будет перестановкой. Любой неупорядоченный набор, т.е. подмножество {ж^,^, •••»хгт} из га, га < п, различных элементов множества X называется сочетанием из п элементов по т. Если в размещении и сочетании из п элементов по т убрать требование наличия различных элементов и разрешить повторение элементов из множества X, то такие размещение и сочетание называются с повторениям/а. Решим следующие комбинаторные задачи. Найти: 1) число Рп всех перестановок из п элементов; 2) число А™ всех размещений из п элементов по т; 3) число С™ = ( ) всех сочетаний из п элементов по ш; 4) число А(п, т) всех размещений из п элементов погас повторениями; 5) число С(п, т) всех сочетаний из п элементов по т с повторениями. Теорема 2.4. Справедливы следующие формулы: п\ Рп = п\, А™ = п(п - 1)... (п - т + 1) = {n-m)V т= (Л = п! п \т) m\(n-m)V 25
A(n, m) = nm, C(n, m) = L ra!(n-l)! ' Доказательство. На первое место в перестановке можно поставить любой из п элементов множества X, на второе место — уже любой из п-\ оставшихся и т. д. На последнее место остается только один элемент. Тем самым всего будет Рп = п(п—1)... 1 = п! перестановок. Аналогично в размещении из п элементов по га получим А™ = п\ = п(п - 1)... (п - га + 1) = '-—. При этом для т = п имеем (п — га)! Л™ = Рп = п!, так как по определению 0! = 1. Теперь рассмотрим число сочетаний С™. Каждое сочетание (подмножество) из га элементов можно сопоставить с классом всех перестановок в нем. Число элементов в таком классе равно Рт = га!. Тогда объединение всех таких классов будет множеством всех размещений из п элементов по га и, следовательно, А" = т\С™. Таким образом, С™ = —^ = —тт"^—тт- т п н ' п га! га!(п-га)! Рассмотрим размещение с повторением из п элементов по га. На первое место в таком размещении можно поставить любой из п элементов множества X, а после этот элемент возвращается в X. Поэтому на второе и остальные места до га можно снова поставить любой из п элементов. Тем самым имеем A(jl, га) = 77- • 77- • . . . • 77- = ТТ.771. т Теперь рассмотрим сочетание с повторением из п элементов по га. Поступим следующим образом. Перенумеруем элементы множества х произвольным образом. Каждое сочетание с повторением закодируем последовательностью 1 и 0 по правилу. Если первый элемент множества X участвует в данном сочетании к\ раз, то в коде сочетания поставим вначале ровно к\ единиц и затем 0. Далее, если второй элемент множества X не участвует в данном сочетании, то в коде этого сочетания ничего не ставим и затем 0, и так далее до последнего элемента из множества X. Только для последнего элемента множества X в коде не будем ставить завершающий 0. Он не нужен, нечего отделять. Таким образом, в коде сочетания с повторением будут 1 в количестве к\ + &2 + . •. + кп = га штук и 0 — в количестве (п — 1) штук. Например, код (1100111) говорит, что первый элемент из множества X в сочетании присутствует два раза, второй элемент не присутствует, а третий элемент присутствует в сочетании три раза и он последний во множестве X. Число единиц — 5, а число нулей — 2 = (3 — 1). Следовательно, это сочетание с повторением из трех элементов по 5. Итак, надо подсчитать число двоичных после- 26
довательностей из 0 и 1 длины (п + т — 1), в которых ровно т единиц. Следовательно, Пример 2.1. Из пяти книг на полку надо поставить только три книги одну за другой. Имеются всего А\ = 5 • 4 • 3 = 60 способов расстановок книг на полке. При этом из пяти книг можно выбрать три книги С| = -pf = 10 способами. Каждые три книги можно на полке переставить Рз = 3! = 6 способами. Рассмотрим еще одну комбинаторную задачу. Требуется разбить конечное множество X из п элементов на т подмножеств причем Xi П Xj = 0, г ф j, | Х* |= fcj, к\ + к2 + ... + кт = п. Сколькими способами можно сделать такое разбиение? Для решения этой задачи возьмем произвольное подмножество Х\ с X из к\ элементов. Это можно сделать Си способами. Среди оставшихся (п-к\) элементов множества X возьмем подмножество Хч из &2 элементов. Это можно сделать Сп2_к способами и т. д. Искомое в задаче число способов разбиения Cn(fci, k<i, .. • ,fem) = Спг • Cn2_ki •... • Cn™ki_k2_..._/Cm_1 = п\ (п — ki)\ n\ = = Пример 2.2. Пять книг надо разместить на двух полках по две и три книги на каждую. Имеются всего Сб(3,2) = -^- = 10 способов разбиения пяти книг на две части по две и три книги. 2.3. Метод включений и исключений Поставим задачу подсчитать число элементов в объединении X = Х\ U Х2 U ... U Хт конечных множеств Х^ г = 1,2, ..., т, которые могут иметь непустые пересечения между собой, т. е. это объединение может быть не разбиением. Из определения операции объединения множеств имеем для мощностей равенство \х1\ + \х2\-\х1пх2\. 27
Для трех множеств, используя дистрибутивность операций объединения и пересечения множеств, получим \хг и х2 и х3| - |Xi| + \х2 и х3\ - \хх п (х2 и xs)\ = = \Хг\ + \Х2\ + |Х3| - \Х2 ПХ3\ - \(Х1 ПХ2) и №Ш3)| = = |Xi| + \Х2\ + |Х3| - |Xi П Х2| - |Xi П Х2\ - \Х2 П Х3\+ +\хгпх2пх3\. Методом математической индукции нетрудно доказать, что в общем случае имеет место следующая теорема. Теорема 2.5 (включений и исключений). Для конечных множеств Х{, г = 1,2, ... ,т, справедлива формула включений и исключений: l<t<j<fe<m Название этой теоремы подчеркивает использование последовательных включений и исключений элементов подмножеств. Иногда удобно формулу из теоремы включений и исключений записывать в другом виде. Пусть подмножество Х{ определяется наличием некоторого свойства Р?: у элементов множества U. Тогда подмножество X = Х\ U X2 U ... U Хт объединяет элементы из С/, которые обладают хотя бы одним из свойств Pi. Дополнение X составляют элементы, которые не обладают ни одним из свойств Pi, г — 1,2, ... ,т. Пересечения вида Х^ П f)Xi2 n ... П Xik объединяют элементы, обладающие одновременно свойствами Pix, Pi2, ..., Pik. Если обозначить число элементов в U через \U\ = n, число элементов, обладающих одновременно набором свойств Ph, Pi2, ..., Pik, через N(Pix, Pi2, ..., Pik), то для числа элементов, не обладающих ни одним из свойств Р$, г = 1,2, ..., 771, имеем формулу М{РЪР2, ...,Рт) = 28
Пример 2.3. Сколько натуральных чисел из первых 100 не делятся одновременно на 2, 3 и 5? Обозначим число натуральных чисел из первых 100, делящихся на два через Nffi). Это число легко найти: Af(P2) = —г- = 50. Здесь квадратные скобки обозначают наибольшее целое число, не превосходящее данное. Аналогично АГ(Р3) = -тН = 33> N{pb) = -г- =20. Далее число L 3 J L 5 J натуральных чисел из первых 100, делящихся одновременно на 2 и 3, т. е. на наименьшее их кратное б, равно N(P2, Рз) = — = 16. L 6 J Аналогично получим 7V(P2,P5) = f^j =10, N(P3,P5)= \™] =6. Наконец, число всех натуральных чисел из первых 100, делящихся одновременно на 2, 3 и 5, равно N(P2, Рз, Ръ) = ~^г = 3. Теперь, применяя формулу включений и исключений, получим ЛГ(Р2, Р3, Р5) = п - N(P2) - N(PS) - N(P5) + 7V(P2, P3) + + iV(P2, P5) + AT(P3, P5) - 7V(P2, P3, P5) = = 100 - 50 - 33 - 20 + 16 + 10 + 6 - 3 = 26. 2.4. Метод рекуррентных соотношений Часто решение одной комбинаторной задачи удается свести к решению аналогичных задач меньшей размерности с помощью некоторого соотношения, называемого рекуррентным. Тем самым решение сложной задачи можно получить, последовательно находя решения более легких задач, и далее, пересчитывая по рекуррентным соотношениям, находить решение трудной задачи. Определение 2.4. Формула вида ап — F(an_i,an_2, ...,ai) называется рекуррентным соотношением между элементами последовательности чисел а\, а2, ..., ап. Рекуррентное соотношение позволяет по известным значени- ям ai, a2, ..., an_i вычислить значение ап и т. д. Пример 2.4' Для числа сочетаний С™ нетрудно получить рекуррентное соотношение С™ = С™_х + C™Z\ * В самом деле, т гт-1 = (гс1)! ~l n~l ml(n-m-l)! (m n(n-l)! т\{п-т)\ п' 29
С помощью этого рекуррентного соотношения можно легко вычислять числа С™. Обычно результаты такого вычисления располагают в форме треугольника Паскаля: 1 1 1 2 1 13 3 1 14 6 4 1 1 5 10 10 5 1 Пример 2.5. Рекуррентное соотношение ап = ап-\ +ап_2 задает так называемые числа Фибоначчи. Зная а\ = 1,а2 = 1, можно найти следующие числа аз = 1 + 1 "= 2 и другие 1,1,2,3,5,8, ... Иногда удается получить из рекурретного соотношения общую формулу для вычисления ап по номеру п. Тогда можно сразу вычислить окончательный результат без вычисления всех предыдущих результатов. Например, будем искать формулу для вычисления числа Фибоначчи в виде ап = Хп. Тогда из рекуррентного соотношения имеем Хп = \п~1 +ХП~2. Разделим обе части равенства на Хп~2 ^ 0. Получим квадратное уравнение X2 — X — 1 = 0. Найдем его корни 1±л/5 м,2 = —£—' В силу того что данное рекуррентное соотношение — линейное, общее решение его будет линейная комбинация ап = dXx" + С2Х2" = Cl Произвольные постоянные найдем из начальных условий а\ = 1, а2 = 1. Получим С\ = —?=, С2 = —у=- Окончательно общее уЪ уЪ решение рекуррентного соотношения будет иметь вид ап = которое называется формулой Бине. Рассмотренный пример позволяет сформулировать общий прием решения линейных рекуррентных соотношений (уравнений) , напоминающий соответствующий прием из теории линейных дифференциальных уравнений [1]. 30
Теорема 2.6. Пусть ап + pian_i + ... + Vkan-k = 0 — линейное однородное рекуррентное соотношение (уравнение) с постоянными коэффициентами, щ = const,г = 1,2, ... ,fc, и пусть X — корень характеристического уравнения Хк + piX^"1 + ... + р& = 0. Тогда: 1) числа СХП, где С — произвольная константа, удовлетворяют данному рекуррентному соотношению; 2) если Xi,X2, • .,Xfc — простые корни характеристического уравнения, то общее решение рекуррентного соотношения имеет вид где Сг,г = 1,2, ..., fc, — произвольные постоянные; 3) если Xi — корень кратности г$, г = 1, ..., s, характеристического уравнения, то общее решение рекуррентного соотношения имеет вид + Ci2n + ... + C^n^-^Xf, г=1 где Qj — произвольные постоянные. Пример 2.6. Рассмотрим соотношение ап = 3an_i — 2an_2, ai = 1, О2 = 3. Оно является линейным рекуррентным соотношением с постоянными коэффициентами ап — 3an_i + 2an_2 = 0. Составим характеристическое уравнение X2 — ЗХ + 2 = 0. Его корни Xi2 = 1,2. Поэтому общее решение имеет вид ап = С\ + С учетом начальных условий имеем Тем самым Ci = -1, С2 = 1. Окончательное решение будет ап = 2п- 1. Для неоднородных линейных рекуррентных соотношений имеет место следующая теорема [1]. Теорема 2.7. Пусть ап +Pian_i + ... +Ркап-к = /W — неоднородное линейное рекуррентное соотношение. Тогда его общее решение представляется в виде суммы общего решения соответствующего однородного линейного рекуррентного соотношения и некоторого частного решения неоднородного рекуррентного соотношения 31
Пример 2.7. Рассмотрим соотношение ап = 3an_i - 2an_2 + + 2 • 3n, ai = 30, a,2 = 86. Оно является неоднородным линейным рекуррентным соотношением ап - 3an_i + 2an_2 = 2 • 3n. Соответствующее ему однородное соотношение было рассмотрено в предыдущем примере и найдено общее решение а° = С\ + + С22П. Теперь найдем частное решение неоднородного соотношения. Так как число 3 не является корнем характеристического уравнения однородного соотношения, то частное решение будем искать в виде а" = АЗп с неопределенным коэффициентом А. Подставим его в неоднородное соотношение с правой частью f(n) = 2 • Зп и найдем А = 9. Тем самым общее решение неоднородного соотношения будет ап = С\ + С^71 + 9 • Зп. Из начальных условий найдем С\ = 1, C<i — 1. Окончательное решение будет ап = 1 + 2п + 9 • Зп. 2.5. Счетные множества и производящие функции Рассмотрим бесконечные множества. Оказывается, что бесконечные множества могут иметь разные мощности, т. е. количества элементов. Пример 2.8. Пусть X — N, где N — множество натуральных чисел; У - множество всех четных чисел. Рассмотрим отображение f(n) — 2п. Это отображение биективно, следовательно, X ~ Y. Определение 2.5. Множество называется счетным, если оно эквивалентно множеству натуральных чисел N. Счетные множества являются в некотором смысле наименьшими из всех бесконечных множеств. Теорема 2.8. Всякое бесконечное множество содержит счетное подмножество. Доказательство. Возьмем элемент х\ из данного бесконечного множества X. Так как X бесконечно, то найдется Х2 G X, Х2 ф х\. Далее выберем хз е X, хз ф х\, х% Ф Х2 и т. д. Подмножество Y = {xi,X2, ...} будет искомым счетным подмножеством. ■ Теорема 2.9. Декартово произведение конечного числа счетных множеств счетно. Доказательство. Достаточно рассмотреть случай двух множеств и можно считать, что эти множества совпадают с N. Таким образом, нужно занумеровать все пары натуральных чисел. Это можно сделать, например, так, как показано на рис. 2.1. ■ 32
(1,1) (2,1) (2,2) ЗДГ (4,1) (5Д) (1,2) 0,3) (3,2) (4,2) (2, 3) / z (3,3) (1,4) Рис. 2.1. Нумерация всех пар натуральных чисел Таким же образом доказывается, что объединение конечной совокупности счетных множеств, объединение счетной совокупности попарно непересекающихся конечных множеств счетно, а также объединение счетной совокупности счетных множеств счетно. Заметим, что всякое счетное числовое множество всегда можно себе представлять в форме числовой последовательности. (Почему?) Определение 2.6. Пусть ао, а\, а,2, ..., ап, ... — числовая последовательность. Тогда сходящийся ряд по системе функций Фп(2),п = 0,1,2,..., zeD, f(z) = an(fn(z) D n=0 называется производящей функцией для последовательности о-п по системе функций cpn(z). Чаще других используются систе- zn мы функций cpn(z) = zn, или срп(г) = —. Пример 2.9. Функция действительной или комплексной переменной n=0 33
является производящей для геометрической прогрессии ап = bqn. При этом для q > 1 прогрессия будет бесконечно возрастающей, при q < 1 — убывающей. Если продифференцировать или проинтегрировать этот степенной ряд почленно, то получим примеры производящих функций многочисленных других последовательностей. Пример 2.10. Функция (бином Ньютона) действительной или комплексной переменной к=0 является производящей для конечной последовательности биномиальных коэффициентов. Используя эту производящую функцию, молено вывести различные свойства биномиальных коэффициентов. Например, при z = 1 получим п 2 = 2_^сп' к=0 Или рассмотрим (1 + z)2n = (1 + z)n(l + z)n. Тогда будем иметь 2n n n C2nz = Z^Cnz 2L, Cnz - k=0 к=0 к=0 Приравнивая коэффициенты при zn, получим рекуррентную формулу п п 2п — 2j п п ~ 2У 2п — 2s ^n^n Здесь использовали равенство Сгп — С%~г. 2.6. Несчетные и континуальные множества Одно из важнейших открытий в теории множеств — открытие Г. Кантором несчетных множеств. Определение 2.7. Всякое бесконечное множество, не являющееся счетным, называется несчетным. Рассмотрим теорему, которая показывает, что несчетные множества существуют. 34
Теорема 2.10 (теорема Г. Кантора). Множество 2N, т.е. множество всех подмножеств натуральных чисел, несчетно. Доказательство. Между подмножествами X С N и их характеристическими функциями хх(х) существует взаимно-однозначное соответствие. Характеристическая функция подмножества из N задается бесконечной последовательностью oil, <*2, • • •, где оц = 1, если г е X, и ai = о, если г £ X. Покажем теперь, что таких последовательностей несчетное множество. Предположим противное. Пусть такие последовательности пронумерованы. Тогда построим новую последовательность, не входящую в наш набор. Строим ее по следующему правилу. В новой последовательности {ai,oi2, ... ,an, ...} положим щ = 1, если в последовательности с номером г (среди пронумерованных последовательностей) на г-м месте стоит 0, и щ = О — в противном случае. Построенная последовательность не может совпасть с первой последовательностью, так как первый элемент новой последовательности отличен от первого элемента последовательности с номером 1. Аналогично новая последовательность не может совпасть со второй последовательностью, так как второй элемент новой последовательности отличен от второго элемента последовательности с номером 2, и т. д. Следовательно, построенная последовательность не совпадает ни с одной из пронумерованных последовательностей. Это противоречит тому, что все возможные последовательности были пронумерованы. ■ Выл рассмотрен вопрос существования несчетных множеств. Множество 2N эквивалентно (почему?) множеству действительных чисел интервала (0;1). Множество действительных чисел на интервале (0; 1) эквивалентно (почему?) множеству всех действительных чисел R. Тем самым множество R несчетно. Определение 2.8. Мощность множества всех действительных чисел R называется континуумом. Замечание 2.2. Имеются несчетные множества мощности, сколь угодно большей, чем континуум. Например, множество всех подмножеств R является множеством 2R мощности большей, чем континуум. Однако неизвестно существование множеств промежуточной мощности между счетным N и континуальным R (проблема континуума). 35
Глава 3 ОТНОШЕНИЯ НА МНОЖЕСТВАХ С отношениями между элементами множеств имеем дело повседневно. Таковые — отношения равенства на произвольных числовых множествах, отношения «больше» и «меньше» между числами, отношения подобия фигур на плоскости и т. д. Оказывается, что и числовые функции можно рассматривать как частный случай отношений. При этом становится легче понять обратимость функции и многое другое. 3.1. Многоместные отношения Будем рассматривать упорядоченные пары элементов х е X, у е У, обозначая их (х,у). Две пары (х, у) и (и, v) считаются равными тогда и только тогда, когда х — и и у = v. Упорядоченная n-ка элементов обозначается (a?i, ..., хп) и, по определению, есть ((жь ... ,xn_i),£n). Определение 3.1. Пусть X и Y — два непустых множества. Бинарным (или двухместным) отношением R для X, Y называется подмножество R с X х Y. Если R есть некоторое бинарное отношение для X, Y и пара (х,у) принадлежит этому отношению, то наряду с записью (х,у) £ R употребляется запись xRy. Элементы х и у называются компонентами (или координатами) отношения R. Определение 3.2. Множество Dr = {х : (3y)xRy} называется областью определения бинарного отношения R. Областью значений бинарного отношения R называется множество Ir = {у : (3x)xRy}. Каждое бинарное отношение R есть подмножество прямого (декартова) произведения некоторых множеств X и У, таких, что DRCX nIRCY. Пример 3.1. Рассмотрим множество {(1,2); (2,4); (3,3); (2,1)}. Это бинарное отношение R для X = {1,2,3}; Y = {1,2,3,4}. Область определения такого отношения Dr есть {1,2,3}Х, а область значений /# — множество {2,4,3,1}У. Пример 3.2. Рассмотрим отношение равенства на множестве действительных чисел. Для такого отношения, как знаем, существует специальное обозначение «=». Итак, отношения равенства есть множество {(х,у): х,у е R,x = у}. Здесь Dr и Ir совпадают с множеством действительных чисел R. 36
Пример 3.3. Отношение «меньше, чем» на множестве целых чисел есть множество {(х, у): х е Z, у е Z, для которых существует целое положительное число z, такое, что х + z = у}. Для этого отношения тоже есть специальное обозначение «<», и оно задается так {(ж, у): х, у е Z, х < у}. Здесь Dr и /# совпадают с множеством целых чисел Z. Определение 3.3. Обратным отношением для отношения R называется отношение .Л"1, такое, что Определение 3.4. Композицией бинарных отношений Щ и #2 называется отношение R2 ° #1 = {(#, г): существует у, такое, что (х,у) eRivi (y,z) e R2}. Для любых бинарных отношений выполняются следующие свойства: 1) (д-1)-1 = л; )1 11 Первое свойство очевидно. Для доказательства второго свойства покажем, что множества, записанные в левой и правой частях равенства, состоят из одних и тех лее элементов. В самом деле, (х,у) € (Д2 ° #i)-1 ^=> (з/,ж) G R,2 о Ri <^=> существует z, такое, что (у; z) e R\ и (z; ж) € i?2 ^=^ существует z, Определение 3.5. Бинарное отношение называется функциональным или просто функцией, если из (ж,y)ef n(x,z)ef следует, что у = z. Часто приходится сталкиваться с трудностями при определении области значений функции. Поэтому, если Df = X и If с У, то говорят, что функция / задана на множестве X со значениями во множестве Y и осуществляет отображение множества X во множество Y (или устанавливает соответствие между множествами X и У). Функция как отображение обозначается (см. прд- разд.2.1) f:X —> У. Еще пишут t/ = /(х), х е X, как в анализе. Пример 3.4' Рассмотрим отношение вида Такое отношение есть функция. (На каких множествах?) Пример 3.5. Отношение вида {(1,2), (1,3), (2,4)} не является функцией. (На каких множествах?) Здесь одному значению ж = 1 соответствует два значения у. А именно: у = 2 и у = 3. 37
Таблица 3.1 Реляционная таблица XI А х2 Х2 х'2 ... Хп г' хп Пример 3.6. Отношение {(#, ж2 + 2я + 1): х — действительное число} — функция, которую обычно записывают у = х2 + 2х + -hi = (z + l)2,zeR. Для отображений были введены понятия инъективности, сюръективности и биективности. В силу того что функция есть отображение, эти понятия применимы и к функции. Пример 3.7. Пусть f(x) = ех, X = R, Y = R. Эта функция инъективна, но не сюръективна, так как она отображает R на часть R (у > 0). Пример 3.8. Пусть f(x) = 2х + 1, X = R, У = R. Данная функция биективна. Здесь имеется взаимно-однозначное соответствие между X и Y. Пример 3.9. Пусть f(x) = х3 - х, X = R, Y = R. Здесь функция сюръективна, но не инъективна, так как существуют значения г/, имеющие два прообраза, х\ и Х2- Определение 3.6. Множество упорядоченных n-к, т. е. ЙС С Х\ х Х2 х ... х Xn, называется п-местным отношением R Многоместные отношения удобно задавать с помощью реляционных таблиц (табл. 3.1). Такое задание соответствует перечислению множества n-к отношения R. Реляционные таблицы широко используют в компьютерной практике в реляционных базах данных. При этом имена множеств JQ называют атрибутами (свойствами), а элементы Х{ е Xi называют доменами (значениями) атрибутов. Заметим, что реляционные таблицы широко используются в повседневной практике. Всевозможные производственные, финансовые, научные и другие отчеты часто имеют форму реляционных таблиц. 3.2. Бинарные отношения на множестве Среди отношений на множествах особую роль играют бинарные отношения между элементами одного множества. Остановимся подробнее на отношениях эквивалентности и отношениях 38
порядка, имеющих большое значение как в теории, так и в практике. Определение 3.7. Бинарным отношением на мноэюе- стве X называется произвольное подмножество R с X2, где X2 — декартов квадрат множества X. Если бинарное отношение задано на конечном множестве, то его можно задавать матрицей. Пусть ж, у, г, ... — элементы множества X. Строки и столбцы такой матрицы соответствуют элементам множества, а элемент матрицы, стоящий на пересечении строки х и столбца у, полагаем равным 1, если xRy, и равным 0 — в противном случае. Пример 3.10. Пусть X = {1,2,3}. Рассмотрим отношение Д1 = {(1,2), (1,3), (2,3)}. Матрица, соответствующая данному отношению, имеет вид Пример 3.11. Пусть X = {1,2,3} и имеем отношение R2 = {(1,1), (1,2), (1,3), (2,2), (2,3), (3,3)}. В этом случае матрица имеет вид Пример 3.12. Пусть Х = {1,2,3}. Для отношения Д3 = {(1,1), (2,2), (3,3)} матрица будет единичной: Пример 3.13. Пусть X = {1,2,3}. Отношение R4 = {(1,1), (1,2), (1,3), (2,2), (3,1), (3,2), (3,3)} имеет матрицу вида Бинарные отношения можно изображать геометрически, сопоставляя элементам множества X точки плоскости, а парам \х)у) 6 R — стрелки (дуги), идущие из х в у. 39
Рис. 3.1. Бинарное отношение Ri Рис. 3.2. Бинарное отношение R2 О 2 Oi зО Рис. 3.3. Бинарное отношение Д3 Рис. 3.4. Бинарное отношение R± Графические изображения бинарных отношений в примерах 3.10 — 3.13 приведены на рис. 3.1 — 3.4. Среди бинарных отношений на множествах выделяются некоторые, обладающие специальными свойствами. Определение 3.8. Бинарное отношение R называется рефлексивным, если xRx для всех ж, т. е. (Уж) (ж, ж) е R. Рефлексивными являются отношения R2,Rs,Ra в примерах, рассмотренных ранее. В матрицах, соответствующих таким отношениям, стоят единицы по главной диагонали. Геометрически на плоскости это означает, что всякая точка множества X имеет петлю (дугу вида (ж, ж)). Определение 3.9. Бинарное отношение называется симметричным,, если xRy тогда и только тогда, когда yRx. Геометрически на плоскости, если X — числовая ось, то R есть множество, симметричное относительно биссектрисы первого и третьего координатных углов. Пример 3.14- Пусть X — множество студентов, R — подмножество пар студентов в одинаковых свитерах. Тогда R — симметричное бинарное отношение. В самом деле, если х имеет такой же свитер, как у, то у имеет такой же свитер, как ж. (Является ли R рефлексивным?) Пример 3.15. Приведем пример несимметричного бинарного отношения. Пусть X — множество студентов, R — подмножество пар студентов, таких, что первый студент пары выше второго по росту. Тогда имеем: если х выше у, то у ниже ж, т. е. пара (у, х) не принадлежит R. Определение 3.10. Бинарное отношение называется транзитивным, если из xRy и yRz следует xRz. Пример 3.16. Пусть х,у е N,# < у и у < z. Тогда х < z. Тем самым отношение «<» транзитивно. 40
Определение 3.11. Бинарное отношение R называется антисимметричным, если из xRy и yRx следует х — у. Пример 3.17. Пусть х,у е N,x < у и у < х, тогда отсюда следует, что х — у. Тем самым отношение «<» является антисимметричным. (Является ли это отношение рефлексивным, транзитивным?) 3.3. Отношение эквивалентности (сходства) Отношение эквивалентности является формализацией такой ситуации, когда говорят о сходстве (одинаковости) двух элементов множества. Определение 3.12. Бинарное отношение R называется отношением, эквивалентности, если оно рефлексивно, симметрично и транзитивно. Отношение эквивалентности xRy часто обозначается: х ~ у. Пример 3.18. Отношение «одного роста» есть отношение эквивалентности на множестве X людей. Рефлексивность. Каждый человек такого же роста, как он сам. Симметричность. Сидоров одного роста с Петровым тогда и только тогда, когда Петров одного роста с Сидоровым. Транзитивность. Если Сидоров одного роста с Петровым, а Петров одного роста с Ивановым, то Сидоров одного роста с Ивановым. Пример 3.19. Отношение обычного равенства на множестве целых чисел есть отношение эквивалентности. Пример 3.20. Отношение подобия на множестве треугольников есть отношение эквивалентности. Пример 3.21. Отношение принадлежности двух студентов к одной студенческой группе есть отношение эквивалентности. Пример 3.22. Отношение х < у на множестве действительных чисел не есть отношение эквивалентности, так как оно не рефлексивно, не симметрично, а лишь транзитивно. Рассмотрим еще два важных примера. Пример 3.23. Пусть Z — множество целых чисел. Назовем два числа х и у из Z сравнимыми (равными) по модулю m(meN) и запишем х = у (mod га), если равны остатки этих чисел от деления их на га, т. е. разность (х — у) делится на га. Отношение «сравнимых по модулю га целых чисел» есть отношение эквивалентности на множестве целых чисел Z. В самом Деле: это отношение рефлексивно, так как для \/х е Z имеем х — - х = о, и, следовательно, оно делится на га; 41
это отношение симметрично, так как если (ж — у) делится на т, то и (у — ж) тоже делится на га; это отношение транзитивно, так как если х — у делится на га, то для некоторого целого t\ имеем х — у — t\m, а если у — z делится на га, то для некоторого целого £2 имеем у — z — t2m\ отсюда х — z = (ti+ tzjrn, т. е. (ж — z) делится на га. Следовательно, это — отношение эквивалентности на множестве целых чисел Z. Пример 3.24- На множестве N х N = N2, где N — множество натуральных чисел, определим отношение R следующим образом: (ж; y)R{u\ v) <==> xv = уи. Например, (3,5)Д(6,10). Это отношение (ж; y)R(u; v) соответствует равенству обыкновенных дробей в арифметике х/у = u/v. Отношение R рефлексивно, (ж; y)R(x\ у), так как ху = ух. Оно симметрично. Пусть (ж; y)R{u; v), тогда (щ v)R(x; у), в силу того что из xv = у и следует иу = vx. Отношение R транзитивно. Если {x\y)R{u\v) и (u;v)R(w;z), то (xt,y)R(w]z), так как при перемножении правых и левых частей равенств xv = у и и uz = vw получаем xvuz = yuvw. После сокращения имеем xz = yw, т. е. R транзитивно. Таким образом, имеем отношение эквивалентности. Замечание 3.1. Если для бинарного отношения потребовать только выполнения свойств рефлексивности и симметричности, а транзитивности не требовать, то получим другой тип отношения. Оно называется отношением толерантности и является формализацией случая, когда два элемента множества не сходны, а только почти сходны (похожи). Определение 3.13. Подмножество [ж] = {у е X: у ~ х] называется классом эквивалентности, содержащим ж (это множество всех элементов X, эквивалентных данному элементу ж). Любой элемент у е [ж] называется представителем этого класса. Пример 3.25. Отношение обычного равенства на множестве целых чисел Z порождает следующие классы эквивалентности: для Уж G Z : [ж] = {ж}, т. е. класс эквивалентности состоит только из одного числа ж (в классе эквивалентности только один представитель — сам элемент ж). Пример 3.26. Рассмотрим отношение принадлежности к одной студенческой группе. Классом эквивалентности является все множество студентов одной группы. 42
Пример 3.27. Отношение сравнимости по модулю га на множестве целых чисел Z порождает следующие классы эквивалентности: вместе с любым числом а е Z в этом же классе эквивалентности содержатся все числа вида а + gra, где q — целое число. Очевидно, что числа 0,1, ...,т — 1 порождают различные классы эквивалентности, которые обозначаются [0], [1], [2], ..., [га — 1]. Они называются классами вычетов по модулю га. Все остальные классы эквивалентности для этого отношения совпадают с ними, так как любое число а е Z можно представить в виде а = qm + г, где 0 < г < га. Теорема 3.1. Пусть R — отношение эквивалентности на множестве X. Тогда: 1) для Мх € X имеем х е [ж]; 2) если х, у е X и xRy, то [х] = [у]. Другими словами, класс эквивалентности порождается любым своим элементом. Доказательство. Воспользуемся рефлексивностью отношения эквивалентности Д, т. е. xRx. Следовательно, по определению, х €. [х]. Пусть z £ [у]. Тогда yRz, и в силу транзитивности отношения эквивалентности имеем: из xRy и yRz справедливо xRz, т. е. z e [х]. Отсюда [у] с [х]. Аналогично в силу симметричности R получаем [х] С [у]. Следовательно, [х] = [у]. ■ Теорема 3.2. Всякое отношение эквивалентности R определяет разбиение множества X на классы эквивалентности относительно этого отношения R. Доказательство. В силу предыдущей теоремы имеем, что Va? € X: х е [х]. Следовательно, каждый элемент множества X принадлежит некоторому классу эквивалентности. Два класса эквивалентности либо не пересекаются, либо совпадают. В самом деле, если z e [х] и z £ [у], то xRz, следовательно, [х] = [z]. Далее имеем yRz и, следовательно, [у] = [z]. А отсюда [х] = [у]. Ш Теорема 3.3. Пусть задано разбиение множества X на попарно непересекающиеся подмножества. Тогда эти подмножества будут классами эквивалентности по некоторому отношению эквивалентности на X. Доказательство. Пусть подмножества Са (а е А) образуют разбиение множества X. 43
Положим х ~ у <f=> х, у лежат в одном и том же подмножестве Са. Полученное отношение рефлексивно, симметрично и транзитивно. (Почему?) Следовательно, это есть отношение эквивалентности, и подмножества Са (а е А) совпадают с классами эквивалентности этого отношения. ■ Определение 3.14. Совокупность классов эквивалентности элементов множества X по отношению эквивалентности R называется фактор-мноэюеством множества X по отношению R и обозначается X/R. Пример 3.28. Рассмотрим R x R = R2 — плоскость XOY. Элементы XOY — точки М(х;у). Пусть бинарное отношение R = {(Mi,M2): х\ = Х2}, т.е. M\RM2 тогда и только тогда, когда х\ = Х2, где Mi(xi]yi);M2{x2',y2) (совпадают первые координаты). Такое отношение симметрично (если у М\ и М.2 совпадают первые координаты, то у М.2 и М\ тоже совпадают). Это отношение рефлексивно (сама точка, взятая дважды, имеет одну и ту же первую координату) и транзитивно (если у М\ и М.2 совпадают первые координаты и у М2 и Ms совпадают первые координаты, то у М\ и Мз первые координаты тоже совпадают). Таким образом, это есть отношение эквивалентности. Класс эквивалентности [М] — все точки, эквивалентные данной, т.е. все точки, имеющие одинаковую первую координату. На плоскости это вертикальные прямые. Таким образом, фактор-множество множества R2 по отношению к R, т. е. множество R2/i?, есть множество всех вертикальных прямых, что соответствует одной оси ОХ (биективно R). 3.4. Отношение порядка (превосходства) Отношение порядка является формализацией часто встречающейся ситуации, когда при сравнении двух элементов множества хотят подчеркнуть, что один элемент превосходит другой. Определение 3.15. Бинарное отношение, рефлексивное, антисимметричное и транзитивное, называется отношением порядка на множестве X и обозначается символом ■< . Пример 3.29. Отношение х < у на множестве R есть отношение порядка. Пример 3.30. Схема организации подчинения в учреждении есть отношение порядка на множестве должностей. Определение 3.16. Отношение порядка на множестве X, для которого любые два элемента сравнимы, т. е. для \/х,у е X, 44
имеем х ■< у, или у ■< х, называется отношением линейного порядка. Если во множестве X есть пары элементов, несравнимых между собой, то отношение порядка называется частичным порядком. Так, в примере 3.29 будет отношение линейного порядка, а в примере 3.30 — нет. Там будет частичный порядок. Так как не любые два служащих учреждения находятся один в подчинении другого. Определение 3.17. Бинарное отношение, которое только рефлексивно и транзитивно, называется отношением пред- порядка. Пример 3.31. Рассмотрим множество {1,2,3} и отношение R = {(1,1), (1,2), (1,3), (2,2), (3,1), (3,2), (3,3)}. Это отношение рефлексивно, так как здесь присутствуют элементы (1,1), (2,2), (3,3). Это отношение транзитивно, так как из присутствия элементов (ж, у), (у, z) следует присутствие элемента (ж, z). В самом деле, у нас есть (1,3), (3,2), и есть (1,2). Также имеются элементы (3,2), (2,2) и есть элемент (3,2). Аналогично и для элементов (3,1), (1,2) есть (3,2), для (1,2), (2,2) — элемент (1,2). Следовательно, R есть отношение предпорядка. Определение 3.18. Пусть на множестве X задано отношение порядка R. Тогда множество X называется упорядоченным и обозначается (X, Д), или (X, ^). Пример 3.32. Теперь рассмотрим множество Ii x Х2 и попробуем задать на этом множестве отношение порядка, т. е. введем сравнение между парами элементов из Xi и 12- При этом пусть (Xi,Ri) и (Х2, R2) — упорядоченные множества. Это можно сделать, например, так. Определим отношение П условием: (01,012)11(61,62) <=> oi#i6i, 02^262- Получится отношение порядка на Х\ х Х2- Такое отношение рефлексивно, так как a\R\a\, 02^2^2 и, следовательно, (01,02)11(01,02). Далее П антисимметрично, так как из (oi, а2)П(&1,6г), (61,62)11(01,02) следует (а\,а2) = (61,62). В самом деле, из ai#i6i, 6ii^iai получаем а\ = &i, а из а2#2б2, 62^2^2 следует а2 = 62. Это отношение также и транзитивно. Пусть (01,02)11(61,62), (6i, 62)П(сь с2). Отсюда (oi,O2)II(ci,C2), так как a\R\b\, b\R\ci влечет aii^ici, а 2б2, 62^2^2 — а2Й2С2- Такое отношение порядка называется отношением Парето. 45
Определение 3.19. Пусть X — упорядоченное множество, (X, :<). Элемент х* е X называется наибольшим, или supre- тпит (супремум), если х ^ х* для Ух e X. Наибольший элемент обозначается: х* = Теорема 3.4. Если наибольший элемент существует, то он — единственный. Доказательство. Предположим противное. Пусть х\ и Х2 — два наибольших элемента. Тогда из определения имеем х\ •< х2, так как х2 — наибольший элемент. С другой стороны, х2 ■< хь так как х\ — наибольший элемент. В силу антисимметричности #1 = Х2- " Не в каждом упорядоченном множестве существует наибольший элемент. Например, рассмотрим множество натуральных чисел N = {1,2, ...} с отношением порядка т < n, m,n € N. Это линейно упорядоченное множество. Наибольшего элемента в нем нет. Определение 3.20. Элемент а е X называется максимальным, или maximum (максимум), в упорядоченном множестве X, если изо ^х следует х = а. Максимальный элемент обозначается: а = тах{ж : х Е X}. Всякий наибольший элемент является максимальным. Обратное неверно. Пример 3.33. Пусть имеется некоторое множество X (рис. 3.5). Разобьем его на три части, которые попарно не пересекаются: Ai, A2, A3. Итак, X = Ах U A2 U А3, А\ П А2 = 0, А\ п Аз = 0, А2 П Аз = 0. Рассмотрим множество В, состоящее из всевозможных объединений и пересечений множеств Ai, A2, A3. 5 Тогда множество В будет состо- ^1 /■ Л_ ^ ять из следующих восьми подмно- /X жеств исходного множества X: А\ Ао ^з Рис. 3.5. Разбиение" множе- 3Десь Ьо = Аг П А2 = 0, или 60 = ства на три части ПАз = 0, или Ьо = А2 П Аз = 0. 46
Итак, 6о = 0. Остальные множества 6^, та- 63 кие: Ь\ = А\, &2 = -4.2, 63 = Аз, 64 = -4 Рис. 3.6. Условие 65 = Ал U Аз 6« = Al2 U Аз включения для пары подмножеств 6о 67 = А\ U А2 U Аз = X. и 6з, если 6о С 6з Эти подмножества bi изобразим точками на плоскости, соединив дугами те из них, которые удовлетворяют условию включения. Стрелку направим в сторону «большего» подмножества, например bo с &з (рис. 3.6). Теперь изобразим все восемь подмножеств (рис. 3.7). Обратим внимание на то, что Ъ\ и &2 не сравнимы на включение так лее, как и 61,63, и 62,63 (между ними на рисунке нет дуг). Поэтому бинарное отношение «включения как подмножества» определяет на В частичный порядок. Наибольшим элементом здесь является 67. Он же является и максимальным элементом. Аналогично определяется наименьший, или infimum (ин- фимум), и минимальный, или minimum (минимум) элемент в упорядоченном множестве. В предыдущем примере наименьшим и минимальным элементом будет 6о- Пример 3.34> Рассмотрим множество В1 = {6о, ...,6б} из подмножеств предыдущего примера. Тогда это множество В будет множеством с тем же порядком, но без наибольшего элемента. Максимальных Элементов будет три: 64, 65, бе (рис. 3.8). При этом будет один наименьший и один минимальный 6о, которые совпадают. I о5 • о6 ^3 б Рис. 3.7.Условия по- Рис. 3.8. Есть три макси- Рис. 3.9. Линейный парного включения мальных элемента, но нет (а) и частичный (б) всех подмножеств наибольшего элемента порядки множеств 47
Геометрическая иллюстрация упорядоченного множества. Конечное упорядоченное множество можно изображать геометрически (подобно тому, как было сделано в предыдущем примере) с помощью так называемых диаграмм Хассе. При этом элементы множества изображаются точками. Точки, отвечающие сравнимым элементам х и у, соединяются дугой, ведущей от х к у, если х ■< у, и не существует такого элемеха z, что х ■< z :< у. На рис. 3.9 изображены два упорядоченных множества: линейно упорядоченное (рис. 3.9, а) и частично упорядоченное (рис. 3.9, 5). Замечание 3.2. Если множество с отношением эквивалентности разбивается на классы эквивалентности, то множество X с отношением порядка R каждым своим элементом а Е X разбивается на три непересекающихся класса: где Х+ = {х: ж Е X, а^х, аф х} — класс всех строго превосходящих а элементов множества X; Х~ = {х: х Е X, х ■< а} — класс всех не превосходящих а элементов X, X® = {х: х Е X, х — несравнимый элемент с а} — класс всех несравнимых с а элементов из X. Некоторые из классов могут быть пустыми. В упорядоченном множестве естественным образом определяются отрезки [а, 6], интервалы (а, 6), полуинтервалы [а, 6), (а, 6] и т. д. Пример 3.35. Рассмотрим упорядоченное множество В1 на рис. 3.8. Элемент 62 разбивает все множество на три класса: класс в£ = {Ь4,&б} ~~ строго превосходящих 62 элементов; класс В^ = {60,62} — не превосходящих Ъ<1 элементов; класс В® = = {61,63,65} — несравнимых с 62 элементов. Отрезок [6о,6б] = = {Ьо, 62,63,66}, интервал (60,64) = {6Ь 62} и т. д. Заметим, что упорядоченное множество В1 этого примера обладает свойством: любые два элемента имеют наибольший и наименьший, сравнимый с ними элемент, например 6i и 65 (здесь 6i — наименьший, 65 — наибольший). Или для 6i и 62 наименьшим является 6о = inf{6i, 62}, наибольшим — 64 = sup{6i, 62} (ближайшие по стрелке). Такие частично упорядоченные множества называются решетками. Графическое изображение множества В напоминает кристаллическую решетку. Решетки играют большую роль в дискретной математике. Рассмотрим их подробно в подразд. 7.3 и потом будем широко применять в математической информатике (см. ч. V). Упорядоченные множества были введены Ф.Хаусдорфом в 1914 г., но аксиомы упорядоченного множества рассматривал еще Г. В. Лейбниц в 1690 г. 48
Глава 4 ЭЛЕМЕНТЫ ТЕОРИИ ГРАФОВ Графы являются выразительным способом моделирования систем. Теория графов описывает важные для приложений методы анализа и синтеза систем. 4.1. Определение и примеры графов Определение 4.1. Графом называется Г = (X,R), где X — произвольное множество элементов, называемых вершинами, R с X х X = X2 — бинарное отношение между элементами множества X, т.е. R — некоторое множество пар вида (xi^Xj), где Xi,Xj e х. Пары из R называются дугами графа, причем считается, что дуга (xi, xj) имеет направление от Х{ к xj;, т. е. от первого элемента в упорядоченной паре ко второму. При этом говорят, что дуга (xi, xj) инцидентна вершинам х%, xj. Дуга вида (x^xi) называется петлей. Граф Гх, составленный из части вершин и части дуг другого графа Гг, таких, что i?2 £ (-Ri П Х|), называется подграфом второго, и пишут: Гх С Гг. Последовательность дуг (ж$, хj); (х3;, х\); ...; (хш, хп), таких, что конец любой дуги кроме последней совпадает с началом следующей дуги, называется путем в графе. При этом будем предполагать, что все вершины дуг пути, кроме, возможно, первой и последней, различны. Число дуг пути называется его длиной. Путь обозначается Ь(х^хп), где вершины Xi,xn называются началом и концом пути, а остальные вершины — промежуточными. Если путь в графе имеет совпадающие начало и конец, то он называется циклом. Итак, граф — это вершины и дуги. Геометрически они изображаются следующим образом. Рассмотрим произвольное множество Q точек плоскости, мощность которого равна мощности множества X. Сопоставим любым образом взаимно-однозначно множества X и Q. Для каждой дуги (а^, xj) графа найдется пара точек qi и qj из Q. Соединим эти точки произвольной непрерывной кривой (дугой), направленной от <& к qj. На плоскости появится рисунок, который является геометрическим изображением графа. Если две вершины <&, qj соединены дугами в оба направления, т. е. имеются обе дуги (q^qj) и (fy-, од), то часто такие вершины со- 49
Рис. 4.1. Цикличе- Рис. 4.2. Симметрии- Рис. 4.3. Полный граф ский граф ный граф единяют одной линией (ребром) без направления. Ребро заменяет две дуги противоположного направления. Определение 4.2. Граф Г = (X, Д), у которого бинарное отношение R — симметричное, называется симметричным (неориентированным). Все остальные графы называются несимметричными (ориентированными). Пример 4*1* Граф, изображенный на рис. 4.1, называется циклическим. Пример 4-^' Симметричный граф на рис. 4.2 обозначается 1^3,3- Он изображен с использованием ребер без направлений. Пример 4-3- Симметричный граф называется полным, если любые две его вершины соединены между собой ребром. На рис. 4.3 изображен полный граф, обозначаемый К^. Часто возникает ситуация, когда две вершины требуется соединить произвольным числом дуг. Тогда используют более общее понятие, чем граф, мультиграф. Мультиграфом называются два множества (X, U) и матрица В. Здесь X — множество т вершин, U — множество п дуг и матрица В размером т х п, называемая матрицей инцидентности. Матрица инцидентности показывает, какая дуга имеет какую вершину начальной, а какую конечной. В матрице инцидентности номера строк соответствуют номерам вершин, а номера столбцов — номерам дуг. Элемент bij матрицы инцидентности задается по формуле если дуга Uj исходит из вершины ж$; если дуга щ заходит в вершину ж»; в противном случае. Отметим, что любой граф можно задать как мультиграф с единичной кратностью дуг. Примеры графов из прикладных областей. Дерево. На рис. 4.4 изображено дерево. Например, генеалогическое дерево, когда в кружках пишутся имена людей, насле- 50
Рис. 4.4. Дерево Рис. 4.5. Транспортная сеть дующих графский (дворянский) титул. В дереве нет ни одной симметричной дуги. В каждую вершину, кроме первой, входит только одна дуга. В дереве нет циклов. Транспортная сеть. Это, например, сеть дорог, трубопроводная, железнодорожная, информационная и т.д. (рис.4.5). Вершины графа — города, аэропорты, железнодорожные станции, телефонные станции и т. д. Дуги графа — односторонние дороги, трубы, кабели, стекловолокно и т. д. на дугах задают нагрузки (скалярные или векторные), предварительно вводя направления в обе стороны для симметричных дуг. Нагрузками могут быть: пропускная способность дороги, стоимость проезда, протяженность, количество перевозимого груза (грузооборот) и т. д. Граф смены состояний системы массового обслуживания (СМО). Такой граф (рис.4.6) описывает процесс смены состояний системы. Это так называемый марковский процесс. Пусть, например, имеется парикмахерская, в которой три мастера и три кресла. Возможны следующие состояния этой системы: <7о — в парикмахерской нет посетителей, все кресла свободны; q\ — в парикмахерской один клиент, занято одно (любое) кресло; #2 — в парикмахерской два клиента, занято два любых кресла; qs — в парикмахерской три клиента, все кресла заняты. Для упрощения будем считать, что когда заняты все кресла, то пришедший четвертый клиент уходит, не ждет. Нет очереди. Рассмотрим процесс смены состояний данной СМО за время At (минута, час, смена). Из #1, например, есть три возможных перехода системы в другое состояние за время At: Рис. 4.6. Граф смены состояний СМО 51
1) переход в состояние до; 2) переход в состояние q% 3) переход в состояние q\ (система осталась в состоянии q\). Рассмотрим эти переходы. Переход в состояние qo означает, что за время At единственного клиента обслужили, а другой не пришел. Переход в состояние <72 свидетельствует о том, что за время At появился один новый клиент, а первый еще остался. И наконец, система осталась в состоянии q\ — в парикмахерской лишь один клиент. Сформулируем требования к марковскому процессу. 1. Предполагается, что переход системы из состояния q\ в q% за время At может быть осуществлен только через состояние <?2> т. е. два и более клиента одновременно в марковских процессах прийти не могут. Точнее, если время At достаточно мало, то вероятность такого события по Маркову есть бесконечно малая величина более высокого порядка по сравнению с At. 2. При изучении таких процессов в данном графе каждой дуге (Яи Qj) ставится в соответствие число рц, 0 < рц < 1, которое есть вероятность перехода из состояния ^ в состояние qj за время At. 3. Марковские процессы характеризуются следующими факторами: нет «памяти на прошлое», т. е. отсутствует последействие; это значит, что pij не зависит от того, каким образом система попала в состояние qi (из какого состояния); смены состояний не происходят одновременно (группами) за время At] за любые промежутки времени At система ведет себя одинаково, независимо от момента времени t, с которого начинается промежуток времени At. Таким образом, марковский процесс — математическая модель реального процесса в СМО. Сетевой график. Граф, описывающий некоторый технологический процесс (проект создания какой-либо системы), называется сетевым (рис. 4.7). Вершины графа — главные события процесса. Здесь событие qo — начало выполнения проекта. Из вершины q0 дуги только выходят. Вершина графа q$ — собы- тие завершения проекта. В вершину q^ дуги только входят. Каждая дуга (я%Яз) соответствует не- которой операции (работе). Нагрузка на дуге означает длительность по времени 52 »•- Рис. % 7 \3 4.7. 2 9 ^4 42/1 бЧ ^- • ►• »►• afi 9l Сетевой график
данной операции. Жирной стрелкой выделен критический путь в сетевом графике от qo до q^. Среди всех путей из qo в q^ он самый длительный по времени. Его длительность называется критическим временем. Это есть время выполнения всего проекта, т. е. минимальное время, за которое можно выполнить весь проект. Подробнее см. подразд. 4.4. 4.2. Связность графа Матричный способ задания графа. Граф можно задавать с помощью матрицы А бинарного отношения, которая называется матрицей смежности. Составим квадратную матрицу, число строк и число столбцов которой равно п, где п — число вершин графа. Каждой строке и каждому столбцу сопоставим номер вершины графа. Элементы матрицы а^ положим равными 1, если в графе имеется дуга faqj), и 0, если такой дуги нет. Вернемся к примерам графов, приведенных в подразд. 4.1. В примере 4.1 матрица смежности будет иметь вид /О 1 0 0 0\ 0 0 10 0 0 0 0 1 0 0 0 0 0 1 \1 0 0 0 0/ В каждой строке и каждом столбце матрицы ровно по одной единице. В примере 4.2 матрица будет симметричной: /0 0 0 1 1 1\ А = 0 0 0 111 0 0 0 111 1110 0 0 1110 0 0 1110 0 0 В примере 4.3 имеем: А = /0111 10 11 о 1 1 1110 Vl 1 1 1 , В данном графе нет «петель», все аи = 1 1 1 1 53
Ребро графа, инцидентное вершинам qi, qj в матрице смежности, удовлетворяет условию а^ = clji = 1. Структурный способ задания графа. Матрица смежности, соответствующая данному графу, может содержать много нулей. Хранить в памяти эти нули не имеет смысла. Поэтому граф можно задавать с помощью набора строчных записей (рис. 4.8). Это означает, что в графе имеются следующие дуги из вершины q{: (qiqjl), (<Mj2)> • • • > (%9jfc)- Аналогичная строчная запись рассматривается для всех остальных вершин. В примере 4.1 будем иметь пять строчных записей (рис. 4.9). В примере 4.3 тоже пять строчных записей (рис. 4.10). Рассмотрим важную характеристику графа, его связность. Определение 4.3. Граф называется связным, если любые две его вершины соединены хотя бы одним путем. Граф называется сильносвязным, если любые две его вершины соединены по крайней мере двумя путями, от одной вершины до другой и обратно. Введем матрицу достижимости D графа, в которой элементы Г1, если есть путь в графе L{qi,qj)\ 13 (О, если нет пути в графе L(q^ qj). По определению считаем, что все da = 1. 3k Рис. 4.8. Строчная запись 2 3 4 4 5 5 1 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 Рис. 4.9. Строчная запись графа Рис. 4.10. Строчная запись графа из примера 4.1 из примера 4.3 54
Пример 4'4- Графы на рис. 4.1 — 4.3 являются сильносвязными. Их матрицы достижимости состоят из единиц. Если на рис. 4.1 дугу (q\q2) развернуть и поменять ее на (c/2^i)5 то новый граф будет связным. Его матрица достижимости (1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 1 1 0 1 1 1 У Если на том же рисунке дуги (q\q2) и {q^qb) удалить, то получим пример несвязного графа. Его матрица достижимости /1 0 0 0 0\ 0 1110 0 0 110 0 0 0 10 1 0 0 0 \/ Заметим, что пути в графе не имеют повторяющихся промежуточных вершин. Поэтому в графе между двумя различными вершинами пути могут быть только одно-, двухшаговые и т. д. (га - 1)-шаговые пути, т. е. пути длиной 1,2, ..., (га - 1). (Почему?) Матрица смежности А описывает все одношаговые пути в графе. (Почему?) Матрица А2 описывает все двухшаговые пути и т. д., матрица Ап~1 описывает все (га — 1)-шаговые пути. Пример 4>5» Рассмотрим матрицу смежности А для графа на рис. 4.1. Тогда матрица (0 0 0 1 (0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 описывает все двухшаговые пути в графе. Имеет место следующая теорема. Теорема 4.1. В любом графе матрица достижимости определяется матрицей смежности по формуле D = sgn{£ + А + А2 + ... + А71'1}, где функция f . Г1, если а^0; sgn{a}= < 10, если о = 0. 55
4.3. Обзор основных задач теории графов Вернемся к примерам графов прикладных областей (см. под- разд. 4.1) и посмотрим, какие задачи ставятся и решаются с помощью этих графов, Быстрый поиск по дереву. Часто графовая модель представляет собой дерево (см. рис. 4.4). К модели в форме дерева приводят задачи структуризации данных в базах данных или знаний в базах знаний. В задаче принятия решений множество возможных решений моделируется деревом решений. Одной из важных задач является задача поиска нужной вершины в дереве. Например, задача поиска среди предков того, кто обладает заданными свойствами. Алгоритмов поиска нужной вершины дерева много. Надо помнить, что почти всегда в дискретной математике имеется под руками алгоритм полного перебора. Но этот алгоритм, как правило, требует больших временных затрат. Поэтому ставится вопрос разработки более быстрых алгоритмов, чем полный перебор. Среди множества разных подходов выделяются два крайних алгоритма. Алгоритм поиска вершины вглубь и поиска вершины вширь. Поиск вглубь означает, что сначала просматриваются все вершины по одной ветке дерева до самых глубоких вершин этой ветки, а затем переходят к другой ветке и т. д. Поиск вширь означает просмотр сначала всех вершин первого уровня, ближайшего к корню дерева, затем всех вершин второго уровня от корня и т. д. Имеются многочисленные другие алгоритмы поиска нужной вершины, которые обладают смешанными стратегиями между поиском вглубь и вширь. Задача быстрого поиска по дереву ставится как оптимизационная, когда требуется найти нужную вершину за минимальное число просмотров вершин. Поиск кратчайшего пути между вершинами. Пусть графовая модель представляет собой транспортную сеть (см. рис. 4.5). Нагрузка на дугах — это длины дорог между вершинами. Тогда можно поставить задачу поиска кратчайшего пути в сети между двумя выделенными вершинами, вершиной отправления и вершиной назначения. Одним из алгоритмов поиска такого пути является алгоритм Дейкстры (по имени математика, разработавшего этот алгоритм). Алгоритм основывается на идее фронта прямой волны воображаемого возбуждения из вершины отправления вдоль всех путей, ведущих из этой вершины. Как только фронт волны достигает очередной вершины, такая вершина помечается величиной длины кратчайшего пути до нее от вершины отправления. Алгоритм завершает свою работу, когда 56
прямая волна достигает вершины назначения. Имеются различные модификации этого алгоритма. Есть алгоритм одновременного поиска всех кратчайших путей между каждой парой вершин (алгоритм Флойда). Расчет (анализ) сетевого графика. Пусть имеется некоторый план работ (строительство, регламентные работы, производство, технологический процесс и т.д.). Этот план моделируется графом, приведенным на рис. 4.7. Здесь дуги трактуются как операции, вершины как события окончания (завершения) очередной операции и начала следующей. Каждая дуга нагружена числом — временем, необходимым на выполнение этой операции. Ставятся следующие задачи: 1) отыскание минимального времени выполнения всего проекта (критического времени); 2) отыскание тех операций, которые существенно влияют на критическое время; их совокупность образует так называемый критический путь; 3) отыскание резервов времени. Подробно расчет сетевого графика будет рассмотрен в под- разд. 4.4. Задача коммивояжера (коробейника). Дан симметричный граф, являющийся транспортной сетью (см. рис. 4.5). Вершины графа — населенные пункты (города, железнодорожные станции и т.д.). Дуги — дороги, соединяющие эти пункты. Нагрузками на дугах являются длины дорог. Рассматривается следующая задача коммивояжера (для продавца, купца, коробейника). Найти путь (обход) в графе (мультиграфе), такой, чтобы пройти через все населенные пункты по одному разу и при этом вернуться в исходный пункт. Определение 4.4. Замкнутый обход симметричного муль- тиграфа по всем вершинам по одному разу называется гамиль- тоновым циклом,. Замкнутый обход мультиграфа по всем ребрам по одному разу называется эйлеровым, циклом,. Существуют теоремы о достаточных условиях существования гамильтонова цикла. Например, в случае полного графа гамильтонов путь всегда существует. Существует теорема о необходимом и достаточном условии существования эйлерова цикла. Замечание 4.1. В XVIII в. Л. Эйлер занимался следующей задачей поиска в мультиграфе пути, который был назван в честь него эйлеровым циклом. 57
Рис. 4.11. Два острова реки Прегаль и семь мостов (1 — 7) В г. Кенигсберге (Калининграде) протекает река Прегаль, на которой имеются два острова, соединенные семью мостами с берегами реки и друг с другом (рис. 4.11). Л. Эйлер, гуляя в этой местности, заинтересовался следующей задачей. Требуется выбрать такой маршрут, чтобы пройти по каждому мосту по одному разу и вернуться на исходное место. Систему мостов здесь можно изобразить в виде мультиграфа так, что мосты это дуги графа, а вершины — острова и берега (рис. 4.12). Задача сводится к отысканию «связного» (непрерывного) обхода мультиграфа по всем ребрам так, чтобы каждое ребро пройти один раз. Эйлер сформулировал и доказал теорему о том, при каких необходимых и достаточных условиях эта задача имеет решение. Для существования эйлерова цикла в мультиграфе необходимо и достаточно, чтобы количество ребер, выходящих из каждой вершины, было четным. В частности, задача Эйлера с кенигсбергскими мостами решения не имеет. Ситуацию с мостами можно смоделировать другим мульти- графом, взяв за вершины мосты, а пути от одного моста к другому — за ребра. Получится мультиграф такого вида, как на рис. 4.13, и тогда задача, по одному разу пройти все вершины, становится задачей коммивояжера. Берег • •Остров Берег • Рис. 4.12. Мультиграф, дуги кото- Рис. 4.13. Мультиграф, вершины рого изображают мосты которого мосты 58
Если существует решение задачи и таких циклов несколько, а дуги нагружены длинами дорог (временем движения, стоимостью и т.д.), то можно поставить оптимизационную задачу — найти гамильтонов (или эйлеров) цикл минимальной длины (времени, стоимости и т. д.) Задача о максимальном потоке. Это может быть задача о пересылке максимума товаров (сырья, информации и т. п.) по транспортной сети (см. рис. 4.5). Итак, пусть дан симметричный граф в форме транспортной сети. Каждая вершина — город. Каждая дуга — дорога. Нагрузкой является пропускная способность дороги (в час не более, чем...). Выбираются два города. Один — пункт отправления А, другой — пункт назначения В. Требуется среди возможных потоков грузов по всей сети выбрать такой поток из пункта А в пункт Б, чтобы нагрузки на каждой дуге обеспечили максимальное суммарное количество груза, перевозимого из А в В (максимальный поток в сети). При этом ни на одной промежуточной станции груз не должен задерживаться. Алгоритм решения задачи о максимальном потоке носит имя двух его авторов и называется алгоритмом Форда — Фалкерсона. Анализ процесса смены состояний в системе массового обслуживания (марковский процесс). Рассмотрим граф, приведенный на рис. 4.6. Здесь нагрузками на дугах являются вероятности перехода из одного состояния в другое. Требуется найти вероятности нахождения СМО в каждом состоянии. Для этого составляются и решаются дифференциальные уравнения А. Н. Колмогорова на такие вероятности. Далее, найдя, например, вероятность Pqo нахождения системы в состоянии #о> будем знать вероятность простоя СМО. Найдя вероятность Pqz, будем знать вероятность отказа клиенту. Зная вероятности нахождения СМО в каждом состоянии, можно найти усредненные характеристики СМО. Например, среднее число клиентов в СМО (математическое ожидание), среднее время обслуживания клиента и т. д. 4.4. Расчет сетевого графика Разберем подробно метод решения одной из задач теории графов. Рассмотрим сетевой график (см. рис. 4.7). Определение 4.5. Сетевым графиком называется ориентированный граф Г = (X, R) с неотрицательной числовой нагруз- 59
кой на каждой дуге (х^, %j) = щ$ G R. Нагрузку на дуге обозначим T(uij) > 0. Кроме того, в сетевом графике еще предполагаются три условия. 1. Во множестве вершин X имеются две вершины хо и х&, такие, что из вершины хо дуги только выходят, а в вершину х*. дуги только входят. Вершина хо называется начальной, а вершина хд. — конечной вершиной сетевого графика. 2. Для всякой промежуточной вершины х^, т. е. не являющейся ни начальной, ни конечной, существуют два пути в сетевом графике от начальной вершины до рассматриваемой L(xo,x^) и от рассматриваемой вершины до конечной L(x^Xfc). 3. В сетевом графике нет циклов. Определение сетевого графика отражает тот факт, что сетевой график моделирует некоторый технологический процесс. Каждая дуга соответствует конкретной работе, а нагрузка дуги — времени, требуемому на выполнение такой работы. Начальная вершина дуги соответствует моменту начала работы, а конечная вершина — моменту завершения работы. Пример 1^.6. Рассмотрим сетевой график работ, приведенный на рис. 4.14. Изобразим его так, чтобы в каждой вершине графика можно было написать необходимые числовые показатели. Анализ технологического процесса предполагает построение его сетевого графика, т. е. модели процесса и расчет основных показателей такого графика. Основные показатели сетевого графика. Определение 4.6. Ранним временем, наступления события Xi называется длина максимального пути L(xo, xi) от начала всех работ до момента х^. Длина пути |L(xo, х^)| определяется как сумма длин всех его дуг. Обозначим раннее время Рис. 4.14. Сетевой график 60
По определению, t(xo) = 0. Раннее время момента завершения всех работ t(xk) = t* называется критическим временем сетевого графика, а путь L(xo,x^) = L*, длина которого равна критическому времени, называется критическим путем, сетевого графика. Пример ^.7. В сетевом графике на рис. 4.14 проведем расчет ранних времен всех вершин и занесем результаты расчета в левые четверти кружков, изображающих вершины. Так для вершин #4, #5? #6 будем иметь: t(x4) = max{17,26} = 26, *(ж5) = тах{8,9} = 9, t(x6) = тах{28,37,14,15} = 37. Чем ближе очередная вершина графика к конечной вершине, тем большее число путей от начала и длиннее каждый путь надо рассматривать. Этого можно избежать, если вести расчет ранних времен по формуле прямой волны: t(xi) = max{t(xm) + T(umi)}. В этой формуле рассматривается для всех соседних к Xi предшествующих вершин хт наибольшая из сумм раннего времени вершины-соседки и длительности работы от нее до заданной вершины. Например, если уже известны ранние времена t(x±) = 26 и t(x$) = 9 (см. рис. 4.14), то легко найти t(x^) = max{(26 + 11), (9 + + 6) = 37}. Расчет ранних времен ведется по этой формуле от начальной вершины к конечной подобно распространению прямой волны (см. рис. 4.14). В конце расчета получаем критическое время t* = t{x§) — 37 и критический путь L*(xo, #б) = {^02? ^24? ^4б} сетевого графика. Критический путь на рис. 4.14 выделим. Определение 4.7. Поздним временем наступления события Xi называется разность критического времени t* сетевого графика и длины максимального пути Ь(х^ х^) от момента х\ до момента окончания всех работ. Обозначим позднее время t'(xi) = t* -max{\L(xi,xk)\]. По определению имеем для конечной вершины t(xk)=t(xk)=t*. Так, для вершины #2 сетевого графика на рис. 4.14 получаем: 61
Таблица 4.1 Резервы сетевого графика Uij 4j оц Щ2 0 0 ^24 0 0 0 0 9 0 ^34 9 9 Щ1 22 0 til5 22 0 ^25 23 1 22 22 Поздние времена удобно считать по формуле обратной волны: t'(xi)=mm{t'(xn)-T{uin)}, начиная от конечной вершины к начальной (см. рис. 4.14). В этой формуле рассматриваются все соседние к xi последующие вершины хп. Определение 4.8. Полным резервом времени для работы и^ называется величина Свободным резервом времени для работы и^ называется величина Oij = t(xj) - t(xi) - T{uij). Пример 4.8. Для работы вне критического пути и^ (см. рис. 4.14) имеем tis = 31 - 5 - 4 = 22 и ais = 9 - 5 - 4 = 0. Для работы на критическом пути г*24 имеем Т24 = 26 — 7 — 19 = 0 и (724 = 26 - 7 - 19 = 0. Остальные резервы приведены в табл. 4.1. Обратим внимание, что всегда т^ < ay, и на критическом пути для любой работы резервы нулевые: ттп = отп = 0. После того как расчет сетевого графика произведен, молено приступить к анализу технологического процесса, который моделируется сетевым графиком на рис. 4.14. Анализируя табл. 4.1, молено сделать вывод о том, что все работы вне критического пути могут быть сделаны за более длительный срок, т. е. меньшими бригадами, без простоев (дешевле). 4.5. Плоские графы В современных электронных технологиях широко используется понятие плоского графа. Это связано с тем, что дугам графа в электронных схемах соответствуют электрические соединения, а вершинам — транзисторы схемы. Естественное требование к электронным схемам, чтобы электрические соединения были бы разнесены между собой, не пересекались. 62
Определение 4.9. Граф Г = (X,R) называется плоским, если его можно так изобразить на плоскости, что ни одна дуга не будет пересекаться ни с какой другой дугой графа. Изображение плоского графа на плоскости без пересечений дуг разбивает плоскость на области. Такое разбиение называется картой плоского графа. Минимальное число цветов, необходимых для раскрашивания карты так, чтобы каждая область была бы раскрашена в один цвет, отличающийся от цвета граничащей с ней (соседней) области, называется хроматическим числом плоского графа и обозначается х{Г}. Пример 4>9- На рис.4.15 изображен плоский граф. При этом одно изображение (рис. 4.15, а) содержит пересечения дуг, а другое (рис. 4.15, б) — не содержит. Пример 4»Ю. На рис. 4.2 и 4.3 изображены графы К^з и Кб- Эти графы не являются плоскими. Никаким образом не удается их изобразить на плоскости без пересечений дуг. Пример 4» !!• На рис. 4.15 изображен плоский граф с хроматическим числом х{Г} = 4. Меньшим числом цветов раскрасить карту данного плоского графа нельзя. Оказывается, что для карты любого плоского графа достаточно не более четырех цветов для его раскраски. Справедлива следующая теорема [1]. Теорема 4.2 (о хроматическом числе графа). Для всякого плоского графа Г его хроматическое число х{Г} < 4. Спрашивается: если не удается изобразить граф на плоскости без пересечений дуг, то этот граф — плоский или нет. Прежде чем ответить на этот вопрос, дадим еще одно определение. Определение 4.10. Пусть дан граф Т\ = (Xi,Ri). Если в Х\ имеются две вершины ж», xj, соединенные дугой иу, то операцию а б Рис. 4.15. Плоский граф 63
отождествления этих вершин, т. е. соединения двух вершин в одну и удаления инцидентной им дуги, назовем стягиванием дуги Щу В результате конечного числа таких операций получим новый граф Гг = (J^2, Дг)? который называется стягиванием графа Гх к графу Г2. Теорема 4.3 (Куратовского — Понтрягина). Симметричный граф Г является плоским тогда и только тогда, когда он не содержит в себе подграф, стягиваемый хотя бы к одному из графов , или Къ (см. рис. 4.2, 4.3). Доказательство теоремы можно посмотреть в [1]. 4.6. Сети Петри Сети Петри были введены в 1962 г. немецким математиком К. Петри. Он применил эту модель для описания работы асинхронных автоматов. В настоящее время сети Петри широко используются для моделирования систем различной природы и назначения. В предметной области интеллектуальной системы, в области объектов исследования, различают сами объекты и отношения между ними. Для графического изображения предметной области естественно использовать графы. Но в предметной области в рамках имеющихся отношений происходят постоянная смена объектов, их состояний во времени, в пространстве, а так лее информационно-логические процессы. Желательно, чтобы эта изменчивость в предметной области отражалась графически. Таким требованиям удовлетворяют сети Петри. Определение 4.11. Сетью Петри называется ориентированный граф с двумя типами вершин, так называемый «двудольный» граф: Г - (Р, Г, F), где Р = {pi, ... ,рт} — первый тип вершин, называемых позициями; Т — {£i, ... ,tn} — второй тип вершин, называемых переходами; F — множество дуг. При этом РГ\Т — 0, т. е. вершины распадаются на два непересекающихся класса. А дуги соединяют вершины разных типов. Графически позиции сети Петри на плоскости принято изображать кружками, а переходы — планками (барьерами). Множество F задается двумя матрицами смежности. В одной матрице строки соответствуют вершинам Т, а столбцы — вершинам Р. 64
В другой матриц, наоборот, — строки соответствуют вершинам Р, а столбцы — Т. Пример 4-12. Сеть Петри на рис. 4.16 моделирует функцию одной переменной у = f(x). Здесь р\ — аргумент, р2 — значение функции, t — преобразователь (правило /). Пример 4-13. Сеть Петри на рис. 4.17 моделирует функцию двух переменных у = f(x\,X2). Пример 4-14- Сеть Петри на рис. 4.18 моделирует вектор- функцию у = /(ж); у = {уъУ2). Пример 4-15. На рис. 4.19 изображена модель случайного процесса. Здесь р\ — некоторое условие; t\, t2, £3 означает «срабатывает либо ti, либо ^2, либо £з». Определение 4.12. Разметкой (маркировкой) сети Петри Г = (Р, Г, F) называется функция [i, отображающая множество позиций Р во множество натуральных чисел с нулем № = {0,1,2,...},т.е. и:р_^о. Разметку можно записать в векторной форме \i = (щ, ..., (im). Число \ik = \i(pk)i Pk £ Р, изображается на графе сети точками в соответствующем кружке р^. Эти точки называются маркерами (фишками). Их ровно [1^ штук в позиции р^. Размеченная сеть обозначается (Р, Т, F, [i). Пример 4-16. Сеть Петри на рис. 4.20 моделирует ситуацию с функцией одной переменной. Пример 4-17- На рис. 4.21 моделируется ситуация с функцией двух переменных. Пример 4-18. На рис. 4.22 моделируется функция одной переменной. Сравните с рис. 4.20. Определение 4.13. Функционированием, (работой) размеченной сети Петри (Р, Т, F, \х) называется процесс изменения разметки начиная от начальной разметки ^ по следующим правилам. 1. Если для перехода t еТ все входные позиции имеют ненулевую разметку, то происходит обязательное срабатывание (запуск) этого перехода. В результате срабатывания перехода изменяется разметка во всех входных и выходных позициях только этого перехода. При этом из каждой входной позиции изымается ровно по одной фишке, а в каждую выходную позицию этого перехода добавляется ровно по одной фишке. 2. Если два или более перехода могут сработать одновременно и они не имеют общих входных позиций, то их срабатывание независимо и осуществляется в любой последовательности или параллельно. 65
«окэ Р2 Pi 0 P2 1 Pi P2 t 1 0 Рис. 4.16. Функция одной переменной Р2 t Pi 0 Р2 0 Рз 1 Pi Р2 Рз t 1 1 0 Рис. 4.17. Функция двух переменных Pi P2 0 1 1 Pi P2 P3 1 0 0 Рис. 4.18. Вектор-функция Pi P2 РЗ Р4 0 0 0 1 0 0 0 1 0 0 0 1 Pi P2 Рз P4 1 0 0 0 1 0 0 0 1 0 0 0 Р4 Рис. 4.19. Случайная функция
0-Ю t -0 й H'= P2 Ц = (1, 0) = (0,1) Рис. 4.20. Вычисление функции одной переменной ps ц' = (0, 0,1) Рис. 4.21. Вычисление функции двух переменных 3. Если несколько переходов могут сработать и имеют обшую входную позицию, то сначала срабатывает один переход, любой из них. При этом может оказаться, что, сработав, этот переход лишит другие переходы возможности сработать. Этим моделируется конфликтная ситуация, которая может быть устранена только вне формализма сетей Петри. 4. Срабатывание переходов продолжается до тех пор, пока не наступит ситуация, когда ни один из них не сможет сработать. В этом случае сеть останавливается. -О Р2 Рис. 4.22. Вычисление функции одной переменной для двух значений аргументов О 67
Пример 4-19. На рис. 4.20 —4.22 приведены примеры работы сетей Петри. Пример 4.20. На рис. 4.23 —4.26 сеть Петри моделирует конфликтную ситуацию, выбор из трех вариантов. Реализуется случай либо рис. 4.24, либо рис. 4.25, либо рис. 4.26. Пример 4'^1' Модель бинарного отношения «вечный процесс» изображена на рис. 4.27. Пример 4'%%' На рис. 4.28 изображена графическая модель тернарного отношения «двум соответствует одно». Срабатывает ^2, так как обе «входные» позиции имеют фишки. После срабатывания ^2 процесс останавливается. В позиции р2 нет фишки. У перехода t% только позиция рз имеет фишку. Срабатывание не происходит (рис. 4.29). Пример 4-23. Пример сетевого моделирования программного обеспечения ЭВМ приведен на рис. 4.30. Здесь Ц — блоки (преобразователи); pi — исходные данные; щ, (г = 2,3, ...) — полученные данные после преобразований (исходные для следующей операции). Пример 4'24' Пример сети Петри для сетевого графика изображен на рис. 4.31. Здесь t\, ..., tg — определенные работы (операции); to — запуск проекта (начало); t\o — приемка проекта (конец). Фишка в позиция ро означает, что условия для выполнения проекта готовы и можно приступить к выполнению проекта. Это соответствует началу выполнения проекта; to означает подготовку выполнения трех операций; pi, P2, Рз ~ позиции для i = (1, 0, 0, 0) О" Рис. 4.23. Конфликтная ситуация Pi -О Рис. 4.24. Разрешение конфликта. Случай 1 68
= (0,0,1,0) К> Рис. 4.25. Разрешение конфликта. Случай 2 Из =(0,0,1,0) Р4 Рис. 4.26. Разрешение конфликта. Случай 3 Vi V\ к к Рис. 4.27. Бинарное отношение \ h Рис. 4.28. Тернарное отношение Рис. 4.29. Остановка сети 69
Ръ Ч Рис. 4.30. Сеть Петри блок-схемы программы для ЭВМ к PlO ко Рп Рис. 4.31. Сеть Петри сетевого графика условий выполнения первой, второй и третьей операций. Переходы ti, £2, £3 означают первую, вторую и третью операции и т.д. Фишка в позиции щ будет означать, что условия начала соответствующей операции подготовлены и можно начинать очередную операцию Ц.
ЧАСТЬ II АЛГЕБРА И ТОПОЛОГИЯ Глава 5 АЛГЕБРЫ Для моделирования кибернетических и интеллектуальных систем важнейшую роль играют алгебраические структуры. Эти структуры позволяют описывать дискретное строение таких систем и дискретность функционирования таких систем. 5.1. Алгебраические операции Алгебраические структуры определяются множеством элементов и конечным набором заданных на этом множестве алгебраических операций. Определение 5.1. Пусть X — множество. Тогда п-арной алгебраической операцией на X называется отображение ср: Хп —>Х. Задать п-арную (n-местную) операцию на множестве X — значит задать правило, которое любому упорядоченному набору из п элементов множества X ставит в соответствие однозначно определенный элемент того же множества X. Определение 5.2. Пусть на множестве X заданы несколько операций: где щ — натуральное число, зависящее от к. Множество с такой структурой называется алгеброй и обозначается Само множество X называется носителем алгебры А. Подмножество М с. X называется системой образующих (пороэюдающих), или базисом, алгебры А, если любой элемент из X можно получить из элементов М при помощи операций алгебры А. Пример 5.1. Рассмотрим алгебру А = (N,+) с носителем N — множество натуральных чисел — и бинарной операцией сло- 71
жения чисел. Системой образующих в этой алгебре будет одноэлементное множество М = {1}. (Почему?) Замечание 5.1. На множестве X можно рассматривать наряду с алгебраическими операциями одновременно и семейство отношений (см. подразд. 3.1). Такие структуры ввел А. И. Мальцев и назвал их алгебраическими системами. При этом частные случаи алгебраических систем, когда на множестве заданы только отношения без операций, называют моделями, а только операции без отношений — алгебрами. Чаще других будем рассматривать унарные (одноместные) и бинарные (двухместные) операции. Если не оговорено противное, будем (по умолчанию) предполагать операцию бинарной. Вместо у = (р(#1,Ж2) будем писать у = х\ * Х2, у — х\ о £2 и т. д., если у операции нет традиционного обозначения, такого, как у = х\ + Х2 или у — х\Х2- Пусть X — конечное множество. Обозначим через (X, *) алгебру с одной бинарной операцией. Результаты операций на конечных множествах удобно представлять с помощью так называемой таблицы Кэли. Таблица Кэли строится так. Слева и сверху квадратной таблицы выписываются все элементы множества. На пересечении строки, соответствующей элементу х, и столбца, соответствующего элементу у, пишут результат действия над парой (ж, у), т. е. х * у. Пример 5.2. Пусть В = {0,1}. Множество X — множество всех подмножеств В. Очевидно, элементами X являются: х = 0; у = {0}; * = {1}; и; = {0,1}. Рассмотрим операции объединения и (табл. 5.1) и пересечения П (табл. 5.2) подмножеств, заданные таблицами Кэли. Определение 5.3. Пусть (X,*) — алгебра. Операция * называется ассоциативной, если для всякой тройки элементов ж, 2/, z e X выполняется равенство Таблица 5.1 Таблица 5.2 Таблица Кэли для операции Таблица Кэли для операции объединения пересечения и X У Z W X X У Z W У У У w W Z Z W Z W W W W W W п X У Z W X X X X X У X У X У Z X X Z Z W X У Z W 72
(х * у) * z = х * (у * z). Операция * называется коммутативной, если для всякой пары элементов ж, у е X выполняется равенство х * у = у * х. Элемент е называется нейтральным по отношению к этой операции, если для всех х е X выполняется равенство Теорема 5.1. Если нейтральный элемент существует, то он — единственный. Доказательство. Предположим противное. Пусть таких элементов два: е и е\. Тогда е * е\ =е и е * ei =еь Отсюда е = е\. Ш Пример 5.3. На множестве квадратных матриц порядка п нейтральным элементом относительно операции умножения является единичная матрица, а нейтральным элементом относительно операции сложения матриц — нулевая матрица. Пример 5.4» Множество четных чисел не имеет нейтрального элемента относительно операции умножения. Определение 5.4. Пусть (X, *) — алгебра, причем существует нейтральный элемент е. Элемент у называется обратным, к элементу ж, а х — обратным к у, если х *у = у * х = е. Определение 5.5. В случае ассоциативной операции выражение х * х *... * х, в котором участвует п раз один элемент х е X, не требует скобки. В связи с этим удобно использовать для обозначения ассоциативной операции * два вида записи: аддитивную (+) и мультипликативную (•). При этом получаем два случая записи операции. 1. В случае аддитивной записи операции пишут ж*ж*...*ж = х + х + ... + х = пх, нейтральный элемент называют нулем и обозначают 0, а обратный элемент к х — противополоэюным и обозначают (—#), т. е. z + 0 = z, x + (-x)=O. 2. В случае мультипликативной записи операции пишут — х • х -...' х — хп', 73
нейтральный элемент называют единицей и обозначают 1, а обратный элемент к х обозначают ж"1, т. е. х •1 = х, х - х~1 = 1. Пример 5.5. Рассмотрим множество целых чисел Z с обычными операциями сложения и умножения (Z, +, •). Обе операции здесь ассоциативны и коммутативны. Для них существуют нейтральные элементы: 0 для сложения и 1 для умножения. Пример 5.6. Пусть А — произвольное множество, X — множество всех его подмножеств. Рассмотрим алгебру (X, и, П). Это множество X с операциями объединения и пересечения. Обе эти операции ассоциативны и коммутативны. Нейтральным элементом для операции U является 0, нейтральным элементом для операции п является множество Д так как для любого М с А: М U 0 = М, МГ)А = М. Определение 5.6. Пусть (X, *,...) и (У, о, ...) — две алгебры с одинаковым числом алгебраических операций. Отображение /: X —► Y называется изоморфизмом алгебр, если оно биективно, все операции первой алгебры поставлены в биективное соответствие всем операциям второй алгебры и при этом для соответствующих операций выполняется f{x * у) = f{x) о /(у), х, у G X, fix), fiy) e Y. Смысл понятия изоморфизма заключается в том, что изоморфные множества с операциями не различимы, когда предметом изучения является сама алгебраическая операция, а природа элементов, из которых составлены множества, не играет роли. Пример 5.7. Пусть R+ = {х е R: х > 0}. Определим отображение /: R —► R+ формулой fix) = 10*, х е R. Тогда / — изоморфизм из (R, +) в (R+, •) . В самом деле, отображение / биективно и fix + у) = Юх+у = Юх10У = fix) fiy). На свойствах данного изоморфизма основан принцип действия логарифмической линейки и вообще использование логарифмов: умножение чисел можно заменить сложением их логарифмов. 74
5.2. Алгебры с одной алгебраической операцией. Группы Алгебр с одной алгебраической операцией много. Здесь рассмотрим алгебры, которые чаще других используются на практике и в теории. Это — полугруппы, моноиды, группы. Определение 5.7. Множество с заданной на нем одной ассоциативной бинарной операцией называется полугруппой. Полугруппа с нейтральным элементом (с единицей) называется моноидом, или полугруппой с единицей. Если заданная бинарная операция еще и коммутативна, то полугруппа, или моноид, называется коммутативной (абе- левой). Итак, в полугруппе может не существовать обратный элемент и далее нейтральный элемент. В моноиде обязательно есть нейтральный, но может не быть обратного. Пример 5.8, Рассмотрим множество натуральных чисел с обычной операцией сложения (N,+). Это коммутативная полугруппа (нет нейтрального элемента). Пример 5.9. Множество натуральных чисел с операцией умножения есть коммутативная полугруппа (N, •) с единицей. Здесь есть нейтральный элемент, но нет обратных для всех элементов, не равных единице. Это коммутативный (абелев) моноид. Определение 5.8. Алгебра А = (X,*) называется группой, если она полугруппа с единицей (моноид), в которой каждый элемент обратим. Если Y С X и алгебра В — (У,*) с той же операцией, что в А является сама группой, то она называется подгруппой группы А. Группа называется циклической, если она имеет единственный образующий элемент хо, т. е. для любого х е X найдется такое целое число k e Z, что х — х0. Обратим внимание на то, что в группе есть одна ассоциативная операция, есть нейтральный элемент (единица) и есть обратный элемент для любого. Пример 5.10. Полугруппа (Z, +) есть группа. В самом деле, единицей служит число 0, а обратным к z £ Z является число -п. Это коммутативная (абелева) циклическая группа с образующим элементом хо = 1. Пример 5.11. Полугруппы (N, +) и (N, •) не являются группами. У первой нет нейтрального элемента (нуля), у второй никакой элемент, кроме 1, не имеет обратного. Пример 5.12. Множество целых чисел относительно умножения (Z, •) не образует группу, так как нет обратного для любого элемента множества, кроме единицы. 75
Пример 5.13. Все отличные от нуля рациональные числа и все отличные от нуля действительные числа образуют группы относительно умножения, причем коммутативные (абелевы). Пример 5.14» Рассмотрим множество Мп квадратных матриц порядка п с определителем, отличным от нуля. Это группа (Мп, •) относительно операции умножения матриц, поскольку каждый элемент имеет обратный — обратную матрицу. Данная группа — некоммутативная, так как произведение матриц в общем случае некоммутативно. Подмножество матриц с определителем, равным 1, образует подгруппу, так как det Е = 1; (det А = 1; det В = 1) => (det AB = 1); (det А = 1) =» (det А"1 = 1). Рассмотрим группу, которая играет в теории групп особую роль. Определение 5.9. Пусть U — некоторое непустое множество. Алгебра всех биекций вида ср: U —> U с операцией произведения (суперпозиции) биекций называется группой (почему?) подстановок или перестановок. Группа подстановок конечного множества U с числом элементов п называется симметрической группой степени п и обозначается Sn. Группа подстановок — своего рода универсальная группа, для которой справедлива следующая теорема [12]. Теорема 5.2 (о представлении групп). Всякая группа изоморфна подгруппе некоторой группы подстановок. В силу этой теоремы изучение всех групп сводится к изучению групп подстановок, в частности изучение конечных групп — к изучению симметрических групп степени п. Пример 5.15. Рассмотрим группу S% — симметрическая группа третьей степени. Ее можно себе представить как группу перестановок во множестве U = {1,2,3}. Каждую перестановку можно представить таблицей f - (1 2 3\ = (1 2 3\ = (l 2 3\ * ~ \3 1 2) ' 9~ \2 1 3J ' е ~ \1 2 3J ' Всего перестановок будет | 5з |= 3! = 6. (Почему?) Групповая операция в 5з — операция умножения (суперпозиция биекций), т. е. последовательное выполнение сначала правой перестановки, затем — левой. Например, / Л 2 3\ „ А 2 3 fg={i з 2J' */=^з 2 76
Нейтральным элементом группы S$ является тождественная перестановка е. Заметим, что 2 3\ ,з Л 2 3 2 3 lj' f ={l 2 Следовательно, в группе 5з имеется циклическая подгруппа {е, /, /2} порядка 3. В частности, в ней обратный к / элемент /-1 = /2. (Почему?) Аналогично, так как д2 = е, подмножество {е, д} является циклической подгруппой порядка 2. Заметим, что числа 3 и 2 — делители порядка группы 5з, т. е. 6 = 3-2. Для конечных групп справедлива следующая теорема [12]. Теорема 5.3 (теорема Лагранэюа). Число элементов всякой подгруппы конечной группы является делителем порядка группы. Пример 5.16.3 симметрической группе Ss перейдем от языка перестановок к языку подстановок. Тогда каждый элемент группы можно трактовать как подстановку (замену) цифр (символов) верхней строки таблицы на цифры нижней строки. Так, для перестановки / подстановкой будет {11—> 3,2 i—^ 1,3 i—> 2}. Порядок следования стрелок в подстановке не важен. Расположим стрелки в подстановке / следующим образом {1i-»3,3h->2,2i->1} или короче {1i->3i->2h-»1}. Последняя запись называется трехэлементным циклом, и ее записывают еще короче (132). Таким образом, перестановка / есть подстановка (132), т.е. f = (132). Заметим, что записи циклов (132) = (321) = (213) равносильны, т.е. /=(з 1 *) = (132) = (321) = (213). Аналогично для перестановки д имеем {1 »-> 2,2 i-> 1,3 ь-> 3} или {1 и 2 и 1,3 и 3}, или еще короче (12). Цифры, которые не упоминаются в записи, не изменяются в данной подстановке. Последняя запись называется двухэлементным циклом, или транспозицией. Итак g = (12) = (21). Следовательно, имеем fg = (132)(12) = (23), gf = (12)(132) = (13), /2 = (132)(132) = (123), /3 = /2/ = (123)(132) = е. Пример 5.17. Представим себе равносторонний треугольник на плоскости с вершинами, обозначенными цифрами 1, 2, 3. Симметрическую группу 5з можно интерпретировать геометрически как группу симметрии этого треугольника. Биссектриса 77
каждого угла треугольника является его осью симметрии. Каждой такой оси соответствует преобразование симметричного отражения треугольника в себя относительно этой оси. В частности, для биссектрисы угла 3 преобразование будет соответствовать транспозиции д = (12) = (21). Аналогично, транспозиция (23) = (32) соответствует симметрии относительно биссектрисы угла 1, а транспозиция (13) = (31) — угла 2. В равностороннем треугольнике имеется точка симметрии О (пересечение всех биссектрис). Преобразование поворота треугольника вокруг этой точки на 120° соответствует циклу (123) = (231) = (312), а повороту на 240° — циклу (132) = (321) = (213). 5.3. Алгебры с двумя алгебраическими операциями. Кольца и поля Среди многочисленных алгебр с двумя операциями особо выделяются кольца и поля. Рассмотрим их подробнее. Определение 5.10. Кольцом называется алгебра (X, +, •) с двумя ассоциативными бинарными операциями: сложением (+) и умножением (•), которая удовлетворяет аксиомам. 1. (X, +) — коммутативная группа (по сложению). 2. (X, •) — полугруппа (по умножению). 3. Для любых элементов х, у, z £ X имеет место дистрибутивность: (х + y)z = xz + yz\ z(x + у) = zx + zy. Если при этом существует нейтральный элемент (единица) для умножения, то кольцо называется кольцом с единицей. Если операция умножения коммутативна, то кольцо называется коммутативным. Пример 5.18. Рассмотрим множество целых чисел с обычными операциями сложения и умножения (Z, +, •). Это коммутативное кольцо с единицей. Пример 5.19. Множество квадратных матриц порядка п относительно операций сложения и умножения матриц есть кольцо с единицей Е — единичной матрицей. При п > 1 это кольцо некоммутативное. Пример 5.20. Пусть X — произвольное множество; К — произвольное кольцо. Рассмотрим множество всех функций /: X —> —> К, определенных на множестве X со значениями в К. Определим сумму и произведение функций, как обычно, равенствами: (/ + 9)(х) = fix) + д(х); (fg)(x) = /(*) • д(х), 78
где (+) и (•) — операции в кольце К. Все условия, входящие в определение кольца, выполняются. Построенное кольцо называется кольцом функций на множестве X со значениями в кольце К. Кольцо функций будет коммутативным, если коммутативно исходное кольцо К. Пример 5.21. Частный случай кольца функций — кольцо многочленов, когда рассматриваются все многочлены Рп : R -> R. Среди алгебр с двумя операциями центральное место занимают поля. Поля имеют много удобств для приложений. Часто вместо термина «поле» используют термин «арифметика». Определение 5.11. Коммутативное кольцо с единицей, в котором каждый ненулевой элемент обладает обратным относительно операции умножения, называется полем. Пример 5.22. Кольцо целых чисел (Z, +, •) с обычными операциями сложения и умножения полем не является (нет обратного элемента у каждого элемента). Пример 5.23. Среди бесконечных полей особое значение имеют три. Это — множество рациональных чисел (Q, +, •), множество действительных чисел (R, +, •) и множество комплексных чисел (С, +, •) с обычными операциями сложения й умножения. Наряду с бесконечными полями имеются многочисленные конечные поля, называемые полями Галуа в честь французского математика Э. Галуа, который в возрасте около 20 лет создал основы современной алгебры и, в частности, открыл конечные поля. Конечные поля играют центральную роль в криптографии (кодировании и шифровании), в математических моделях микромира и др. Рассмотрим основные построения теории конечных полей Галуа. Определим сравнимость целых чисел по модулю га, т. е. бинарное отношение эквивалентности на множестве целых чисел Rm С Z2. Определение 5.12. Два целых числа k,l называют равными по модулю га и пишут k = /(mod га), если они имеют равный остаток от деления каждого на га. Другими словами, разность к — I должна целиком делиться на га (см. подразд. 3.3, пример 3.23). Отношение эквивалентности Ящ определяет разбиение множества Z на га подмножеств — классов эквивалентности, [0], [1], ..., [га — 1]. Обозначим фактор-множество Z/Rm через Zm. Определение 5.13. Введем на Zm = {[0], [1], ..., [га - 1]} операции следующим образом: 79
Таблица 5.3 Операция сложения в поле Z2 + 0 1 0 0 1 1 1 0 Таблица 5.4 Операция умножения в поле Z2 0 1 0 0 0 1 0 1 [х] + [у] = [х + у] — сложение; [х][у] = [ху] — умножение. Такое определение операций корректно. В самом деле, если х\ — x(mod т),у\ = у(то& га), то х\ + у\ = (х + y)(mod га) и xiyi = xy(mod га). Далее (Zm, +, •) есть коммутативное кольцо с единицей. Тогда имеем [х] [у] = [ху] = [ух] = [у] [х] для Уж, у € Z. Кольцо Zm называется гсолъг^олс вычетов по модулю га. Пример 5.24- Рассмотрим теперь кольцо Z2. Это кольцо является полем. Действительно, это коммутативное кольцо с единицей [1]; здесь единственный ненулевой элемент [1] и он обратим [1][1] = [1]. (При каких га кольцо Zm является полем?) Поле Z2 — конечное поле из двух элементов. Оно важно для приложений. Приведем таблицы Кэли операций сложения (табл. 5.3) и умножения (табл. 5.4) в поле Z2- Будем для простоты вместо [0] и [1] писать 0 и 1. Имеет место теорема, говорящая о том, что существует много конечных полей [12]. Теорема 5.4. Кольцо Zm является полем тогда и только тогда, когда га — простое число. Пример 5.25. В поле Z5 решить уравнение Зж = 4. Умножим обе части уравнения на число обратное к 3 в поле Z5, т.е. на 2. Получим 2 • Зх = 2 • 4 или х = 3. Пример 5.26. В поле Z5 решить систему двух уравнений: Умножим первое уравнение на 3, обратный элемент к 2 в поле Z5. Второе уравнение умножим на 2, обратный элемент к 3 в поле Z5. Тогда получим эквивалентную систему: 80
Теперь вычтем из первого уравнения второе. Тогда получим у = 2. Подставим это число в первое уравнение. Получим х = 1. Решение системы найдено. Определение 5.14. Кольцо (Х,0,) называется булевым, если оно имеет единицу и для всех элементов х е X справедливо равенство х2 = х. В булевом кольце операция сложения обозначается 0. Кольцо называется булевым по имени английского математика Дж. Буля (1815—1865), основоположника математической логики. Замечание 5.2. Всякое булево кольцо коммутативно и обладает свойством: \fxex х е х = о. В самом деле, для Vx, у G X имеем х 0 у = (х 0 у)(х фу) =x®xy®yx<Sy = (хфу)ф(хуф ух). Отсюда следует хуфух = 0. (*) В последнем равенстве положим х — у. Тогда получим хфх = 0. (**) Далее, в равенстве (*) слева и справа добавим ух, получим ху (В ух (В ух = ух. Но, в силу (**), ух 0 ух — 0. И окончательно получаем ху = ух, т. е. булево кольцо коммутативно. 5.4. Алгебры с тремя алгебраическими операциями. Булевы алгебры В классе алгебр с тремя операциями выделяются булевы алгебры. Такие алгебры играют большую роль в математической логике, математической кибернетике, математической информатике, для моделирования дискретных устройств. Определение 5.15. Алгебра (X, V,A, -) с тремя алгебраическими операциями, которые будем называть дизъюнкцией, конъюнкцией и отрицанием, называется булевой, если операции дизъюнкции (или) V и конъюнкции (и) Л — бинарные, операция отрицания (не) — унарная и все они обладают свойствами. 1. (X, V) — коммутативный моноид с нейтральным элементом «0». 81
2. (X, Л) — коммутативный моноид с нейтральным элементом «1». Выполняются следующие равенства для Vx, y,z e X. 3. х Л (у V z) = (х Л у) V (х Л г) — дистрибутивность. 4. ж Л (х V у) = х — поглощение. Унарная операция отрицание «—» обладает свойствами, для Уж, у е X выполняются следующие равенства. 5. W = х — двойное отрицание. 6. х~\Гу = х~Лу — закон де Моргана. 7. х Л х = О — дополнительный элемент. Пример 5.27. Рассмотрим множество В = Z2, кольцо вычетов по модулю 2. Ранее показали, что (В,+, •) — поле. Теперь в этом множестве введем операции (Б, V, Л, —), где V — дизъюнкция 0V0 = 0;0Vl = 1 V 0 = 1; 1 V 1 = 1, а Л — конъюнкция (умножение в поле Z2). Далее, определим отрицание 0 = 1; Т = 0. Полученная алгебра В = (В, V, Л, —) есть булева алгебра. Если в Z2 операцию V задать так же, как сложение в поле, т. е. исправить случай 1 V 1, сделать его 1 V 1 = 0, то получим другую булеву алгебру. Пример 5Ji8. Пусть А — произвольное непустое множество. Тогда (2л, U, П> ~) есть булева алгебра. Здесь (J — объединение, П — пересечение, «-» — дополнение данного подмножества до множества А. Роль нуля здесь играет пустое множество, а роль единицы само А. (Почему?) Интересная связь прослеживается между булевыми алгебрами и булевыми кольцами. Теорема 5.5. Пусть (X, V, Л, —) — булева алгебра. Положим: х®у = (хЛу) V {уЛх), (1) х -у = х Лу. (2) Тогда (X, 0, •) будет булевым кольцом. И обратно, если (X, 0, •) — булево кольцо, то, полагая: х V у = х 0 у 0 ху, (3) хЛу = х-у, (4) х = 1 0ж, (5) получим булеву алгебру. Доказательство. Для доказательства надо проверить, что операции, определенные формулами (1), (2) и формулами (3) — 82
(5), удовлетворяют определениям булева кольца и булевой алгебры соответственно. Проверим, например, что операции, заданные формулами (3) — (5), удовлетворяют тождеству х V у = х Л у. Имеем xvy = 1 е (х е у е ху) = (1 е x)(i е у) = х л у. Остальные тождества доказываются аналогично. ■ В заключение приведем важный пример булевой алгебры, которую назовем координатной и обозначим ее как Вп. Координатная булева алгебра играет в дискретной математике такую же важную роль, как координатное линейное пространство Rn в высшей математике. Пример 5.29. РассмотримдекартовустепеньВп = Вх...хВ простейшей булевой алгебры В = ({0; 1}, V, Л, -) из предыдущего примера. Элементами этой степени будут n-мерные векторы (a?i, ..., хп) из нулей и единиц. Операции над векторами определим следующим образом: (2/i, ...,2/n) = Ы Vyi, ...,жп Vyn), В результате получим булеву алгебру, которую называют координатной булевой алгеброй. В частности, для п = 1 пишут В1 =В. Всякую координатную булеву алгебру Вп можно интерпретировать как булеву алгебру подмножеств (2А, (J» П? —) для некоторого конечного множества А мощности \А\ = п. Пусть А = = {ai, ...,an}. Тогда всякий вектор (xi, . ..,жп) из нулей и единиц задает характеристическую функцию подмножества А. Например, 0 задается вектором (0, ..., 0), все множество А задается вектором (1, ..., 1) и т. д. Приведем без доказательства важный результат [12]. Теорема 5.6. Любая конечная булева алгебра (X, V, л, —) изоморфна некоторой координатной булевой алгебре Вп. 83
Глава 6 БУЛЕВЫ ФУНКЦИИ Рассмотрим применение булевых алгебр для описания важного класса функций в дискретной математике. 6.1. Табличное задание булевых функций Определение 6.1. Функцию вида /: Вп —> В называют булевой функцией п переменных и пишут: Булеву функцию можно задать разными способами, например с помощью табл. 6.1. Задание всевозможных булевых функций одной переменной приведено в табл. 6.2. Так как всего разных векторов-значений у из нулей и единиц длины два равно 22 = 4, то всего разных булевых функций одной переменной будет четыре: fi(x) = О, /2(х) = х, /з(ж) = х, /4(х) = 1. Аналогично, различных булевых функций двух переменных будет всего 22 = 16. Для некоторых булевых функций двух переменных введены специальные обозначения, например (табл. 6.3): = xi Vx2, Таблица 6.1 Задание булевой функции Таблица 6.2 Задание булевых функций одной переменной XI 0 0 1 Хп 0 1 1 /(я?1, ...,£п) /(0,...,0) До,...,1) /(1 1) X 0 1 0 0 /2(*) 0 1 h(x) i 0 h(x) 1 1 84
Таблица 6.3 Задание булевых функций двух переменных XI 0 0 1 1 0 1 0 1 Л 0 1 1 1 /2 0 0 0 1 /з 0 1 1 0 к 1 1 0 1 /5 1 0 0 1 /б 1 1 1 0 /7 1 0 0 1 Х\ => Ж2, = Х\ | Ж2, Ж2. Функцию /i называют дизъюнкцией, /2 — конъюнкцией, /з — сложением по модулю 2(mod2), /4 — импликацией, /5 — эквивалентностью, /б — штрихом Шеффера, /7 — стрелкой Пирса. 6.2. Аналитическое задание булевых функций Рассмотрим один вид аналитического задания булевых функций, который называется совершенной дизъюнктивной нормальной формой (СДНФ). Пусть булева функция /(ж) = /(жь Ж2, ..., хп) задана табл. 6.1. Определение 6.2. Булева функция /(ж) = /(жьж2, ...,жп) вида J^s\X) = Х^ - Ж2 * . . . * Хп называется совершенной элементарной конъюнкцией, или конъюнктом. Здесь участвуют все переменные или их отрицания без повторений и обозначены через ж*% si e {0,1}, переменная х\ = Xi или ее отрицание ж? = щ. Число различных конъюнктов п переменных равно 2П. (Почему?) Каждый конъюнкт обладает следующим важным свойством. Теорема 6.1. Конъюнкт Ks(x) = ж^1 ж^2 •. • • ж^п равен 1 лишь на одном наборе s == (si, «2, • • •, $п) нулей и единиц, когда xi = 5^ Из этой теоремы следует, что дизъюнкция т различных конъюнктов равна 1 лишь на т наборах из нулей и единиц, соответствующих этим конъюнктам. Теперь можно сделать вывод. Теорема 6.2. Если булева функция /(ж) = /(жх, Ж2, ..., жп) не является тождественно равной нулю и задана таблицей с т > 1 85
Таблица 6.4 Задание булевой функции голосования Номер 0 1 2 3 4 5 6 7 XI 0 0 0 0 1 1 1 1 #2 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 единичными значениями, то существует единственная дизъюнкция т различных конъюнктов, соответствующих этим значениям, которая задает булеву функцию /(Ж1,Ж2, ...,Жп) = \/ К*(Х) sj(s)=l и называется совершенной дизъюнктивной нормальной формой (СДНФ) данной булевой функции. Пример 6.1. Рассмотрим булеву функцию трех переменных /(ж1, а?2, хз), заданную табл. 6.4. Эту функцию называют функцией голосования. (Почему?) Если перенумеровать строки таблицы, то из нее видно, что в строках с номерами 3, 5, 6, 7 значения функции равны 1. Это записывают так: f(x) = {3, 5, 6, 7}. В силу теоремы функция голосования задается в СДНФ аналитически как дизъюнкция четырех следующих конъюнктов f(x) = • Х2 • V (х\ V {х\ • Х2 V • Х2 • Замечание 6.1. Обратим внимание, что кроме СДНФ булева функция может быть задана в других формах. Можно ввести понятия совершенной элементарной дизъюнкции, или дизъюнкта Ds(x). Для дизъюнкта определяющим будет значение 0. Далее ввести конъюнкцию т различных дизъюнктов и однозначное представление любой булевой функции, не равной тождественно 1, в форме конъюнкции га > 1 дизъюнктов, соответствующих нулевым значениям функции. Эта форма аналитического задания булевых функций называется совершенной конъюнктивной нормальной формой (СКНФ) булевой функции 86
/(*)= Д Ds(x). sJ(s)=O Отметим еще, что кроме СДНФ и СКНФ булевы функции можно аналитически задать многими другими способами. 6.3. Полные системы булевых функций Аналитическое задание булевых функций наводит на мысль о представлении всех булевых функций через набор некоторых выделенных основных булевых функций подобно тому, как любая элементарная функция высшей математики выражается через основные элементарные функции. Определение 6.3. Пусть даны булевы функции f(x\,X2, ..., хш)\д\{х\, . ..,жп); 02(жь ...,жп); ь(жь ---,хп). Подставим функции gi в функцию /. Получим новую булеву функцию f(gi(xi, .. которую называют суперпозицией функций /,#ь • -^т- При этом такой метод получения новых булевых функций называют операцией суперпозиции булевых функций. Определение 6.4. Набор булевых функций М = {Д, ..., Д} называется полной системой булевых, функций, или базисом,, если любая булева функция выражается через них при помощи операции суперпозиции в конечном числе раз. Пример 6.2. Набор булевых функций: = {/l =xi Лж2 =xi -x2, /2=# является полной системой булевых функций, так как любая булева функция может быть аналитически представлена в форме СДНФ или СКНФ. Эту полную систему называют стандартным базисом. Вот некоторые примеры разложения булевых функций в стандартном базисе: Х\ => Х2 = Щ V Ж2, Х\ | Х2 = X~i V X2, Х\ 0 Х2 = (хг Л Х2) V (х\ Л Х2). Теорема 6.3 (о двух системах). Пусть имеется полная система булевых функций М = {Д, ..., /ш}. Тогда для полноты некоторой другой системы булевых функций N = {д\, ..., дп} необходимо и достаточно, чтобы любая функция fi e M выражалась через функции системы N при помощи операции суперпозиции. 87
Доказательство. Необходимость очевидна. (Почему?) Достаточность. Рассмотрим произвольную булеву функцию h. Тогда она выражается через функции fa e M при помощи операции суперпозиции в силу полноты системы М. Но, в свою очередь, любая функция fa £ М выражается через функции gj e N при помощи операции суперпозиции. Следовательно, можно через функции gj выразить любую булеву функцию и, значит, система N — полная. ■ Пример 6.3. Рассмотрим систему N = {0, -, 1}. Она является полной, так как любая функция из стандартного базиса выражается через функции из N: Х\ Л Х2 = Х\ • Ж2, Х = Жф1, Х\ V Х2 = Х\ - Х2 = Х\ • Х2 0 1 = {х\ 0 1) • (Х2 0 1) + 1 = Х\ • Х2 0 Х\ Эта полная система называется базисом Жегалкипа. Любая булева функция может быть представлена в этом базисе в форме многочлена Жегалкина по степеням неизвестных, например: Хг • Х2 = (xi 0 1) • (Х2 0 1) = Х\ • Х2 0 XI 0 Х2 0 1. Пример 6.4- Рассмотрим систему булевых функций, состоящую из одной функции Шеффера N = {|}. Эта система тоже является полной, так как X = X | Ж, Х\ А Х2 — {х\ | Х2) | (х\ | Х2), Х\ V Х2 = (х\ | Х\) | (Х2 \ Х2). Определение 6.5. Класс булевых функций К называется замкнутым, если всякая суперпозиция функций этого класса будет функцией из этого класса. Примеры замкнутых классов. Множество всех булевых функций F является замкнутым классом. (Почему?) Приведем пять важных замкнутых классов Поста, отличных от F: • класс То — множество булевых функций, равных 0 на нулевых значениях всех переменных; • класс Т\ — множество булевых функций, равных 1 на единичных значениях всех переменных; • класс S — множество самодвойственных функций, которые обладают свойством • класс L — множество линейных функций, которые в базисе Жегалкина представляются многочленом не выше первой степени; 88
• класс М — множество монотонных функций, которые обладают свойством , ... ,хп) < /(г/ь • • • ,Уп), если все Xi < yi. С классами Поста связан второй алгоритм определения полноты системы булевых функций, основанный на следующей теореме [2]. Теорема 6.4 {теорема Поста — Яблонского). Для того чтобы множество N булевых функций было полной системой, необходимо и достаточно найти для каждого из пяти замкнутых классов Поста То, Ti, S, L, М функцию из N, которая ему не принадлежит. Пример 6.5. Рассмотрим множество из одной функции Шеффера N = {|}. Известно, что это — полная система. Проверим это вторым алгоритмом. Согласно теореме Поста, такая единственная функция должна не принадлежать ни одному из классов Поста. Так как х\ \ Х2 = {х\ • Х2) — х\ V Щ, то имеем 0 | 0 = 1. Следовательно, штрих Шеффера не принадлежит классу То. Далее, так как 1 | 1 = 0, то штрих Шеффера не принадлежит классу Т\. Теперь покажем, что он не самодвойственная функция: Х~\ | Х~2 = #Т * ^2 Ф Х1 | Х2- Штрих Шеффера не является линейной функцией, так как Х\ | Х2 = Х\ • Х2 0 1. Наконец, штрих Шеффера не принадлежит классу монотонных, так как 0 | 0 = 1, 1 | 1 = 0. 6.4. Переключательные функции и их минимизация Теперь рассмотрим вопросы анализа, синтеза и минимизации дискретных устройств, моделируемых булевыми функциями. Всякое дискретное устройство имеет п входов {х\, ...,хп} и к выходов {yi, ...,ук]. Отвлекаясь от конкретного внутреннего строения устройства, будем считать его черным ящиком (рис. 6.1). Далее будем считать, что значения на входе и выходе устройства бинарные 0 или 1. При этом предполагаем, что дискретное устройство — функциональная система, т. е. каждому конкретному набору значений на своем входе устройство вырабатывает единственный набор значений на своем выходе. 89
У = Ху Рис. 6.1. Дискретное устройство как черный ящик у = xxvx2 Рис. 6.2. Простейшие дискретные устройства из контактных схем Дискретные устройства могут быть реализованы из разных элементов. Рассмотрим устройства, собранные из электрических контактов. На рис. 6.2 приведены простейшие дискретные устройства из контактных схем (КС). Кроме термина «контактная схема» используют термин «коммутационная схема», или «переключательная функция» (ПФ). Связь переключательных функций с булевыми функциями впервые исследовал К. Шеннон. Каждый контакт будем обозначать как переменную х. Контакт может быть в любом исполнении — механический, электрический, электронный или др. Замыкание контакта соответствует значению переменной х = 1, размыкание — значению переменной х = 0. Если контакт обозначен х, то замыкание контакта соответствует, наоборот, значению х = 0, а размыкание — х — 1. На выходе КС интересен электрический потенциал. Если он есть (цепь замкнута), то считают значение на выходе у = 1. Если потенциала на выходе нет (цепь разомкнута), то принимают значение на выходе у = 0. Всякой КС можно сопоставить экспериментальную таблицу значений ее выхода для различных входов, проведя измерения ее выхода для всевозможных 2п входных наборов. (Почему?) Очевидно, для каждой КС с одним выходом ее экспериментальная таблица является таблицей некоторой булевой функции. (Почему?) Такая булева функция является математической моделью КС. В связи с этим будем различать три задачи. Задача анализа КС. Дана КС с одним выходом. Требуется найти ее математическую модель в виде булевой функции. Задача синтеза КС. Дана математическая модель КС в виде булевой функции. Требуется построить соответствующую этой модели КС с одним выходом. 90
Задача минимизации КС. Даны КС с одним выходом, некоторая числовая характеристика L^c — сложность КС (например, число контактов в КС). Требуется найти КС с такой же экспериментальной таблицей, но с минимальной сложностью. На рис. 6.2 изображены две КС и их математические модели в виде булевых функций. Отметим, что последовательное соединение контактов соответствует операции конъюнкции переменных, а параллельное соединение — дизъюнкции переменных. Пример 6.6. Дана КС в виде черного ящика с тремя входами xi,X2,^3 и одним выходом у (см. рис. 6.1). Пусть экспериментальная таблица КС будет f(x\, х2, х$) = (1,3,5,7). Решим задачу анализа. Найдем булеву функцию в СДНФ: /(ж1,ж2,ж3) = У V V Теперь решим задачу синтеза КС. При этом учтем, что надо параллельно соединить четыре КС, соответствующие конъюнктам. В свою очередь каждый конъюнкт соответствует КС из последовательно соединенных трех контактов (рис. 6.3). Для решения задачи минимизации разработаны специальные алгоритмы. Все они основываются на применении следующих формул склеивания: (A-C)V(B-C) = - С; (А • С) V (А - С) = С; (А V С) - (В V С) = {А • В) V С; (А V С) • (А V С) = С; С • (А V С) = С; С V (А • С) = С, где А, Б, С — некоторые булевы функции. Пример 6.7. Решим задачу минимизации КС, полученной в предыдущем примере. Сложность КС будем определять числом контактов сети LKC = 9. Рассмотрим математическую модель КС, т. е. ее булеву функцию /(жь ж2, жз) = (Ж1 • х2 • ж3) V (жГ • х2 - ж3) V (Ж1 • Х2 • ж3) V (жГ • Х2 - ж3). Рис. 6.3. Синтез и минимизация дискретных устройств 91
Найдем равносильную КС с минимальным числом контактов. Применим формулы склеивания к первым двум и последним двум конъюнктам. Получим более простой вид той же булевой функции Снова применим формулы склеивания. Получим окончательно простой вид В результате минимизации получилась равносильная КС с одним контактом (см. рис. 6.3). Приведем еще один пример минимизации булевой функции. Пример 6.8. Рассмотрим булеву функцию голосования из подразд. 6.2 (см. пример 6.1): /(а?1,Ж2,жз) = (хг • х2 • хз) V (xi -Х2-хз) V(x\ • яг • жз) V (а* * х2 -ж3). Сложность булевой функции определим как число логических связок •, V. Для функции голосования имеем L(f) = 11. Будем решать задачу минимизации функции голосования. В этом случае используем следующий прием. Заметим, что для любой булевой функции А справедливы формулы повторения в любом конечном числе раз: А = Л V AW ...V А, А = А-А-...-А. Булеву функцию голосования распишем с утроенным четвертым конъюнктом /(а?1,Ж2,жз) = (х~г'Х2 -а?з) V(a?i -Щ • х3) У {х\ • х2 -Щ)У V(xi • Х2 • ^з) V (xi • Х2 ' Хз) V (х\ - Х2 ' Хз). Теперь применим формулы склеивания для первого и четвертого, для второго и пятого, для третьего и шестого конъюнктов. Получим минимальную по сложности функцию голосования Ее сложность L(fo) = 5. Обратим внимание на то, что рассмотренный прием минимизации сложности потребовал по ходу минимизации усложнить функцию голосования (чтобы уменьшить, сначала надо увеличить). Такие приемы в математике носят название методов перевала (чтобы спуститься, надо сначала подняться). 92
6.5. Схемы из функциональных элементов Определение 6.6. Если дискретные устройства выполнены не из контактов, а из некоторых базовых дискретных устройств, то про такие устройства говорят, что они — схемы из функциональных элементов, а сами базовые дискретные устройства называют функциональными элементами. В качестве функциональных элементов обычно берут такие устройства, для которых их булевы функции образуют базис в классе всех булевых функций. В этом случае из таких функциональных элементов можно получить схемы любых дискретных устройств, моделируемых булевыми функциями. На рис. 6.4 приведены функциональные элементы, соответствующие стандартному базису булевых функций {•, V, — }. Эти элементы называются копъюнктором, дизъюнктором, инвертором. Пример 6.9. Требуется построить схему n-разрядного двоичного сумматора из функциональных элементов стандартного базиса (см. рис. 6.4). Обратим внимание на то, что это дискретное устройство является центральным в компьютерной технике. Успех создания такого сумматора в середине XX в. позволил главному теоретику создания первой электронной вычислительной машины Джону фон Нейману успешно завершить это грандиозное дело. Отметим, что числа в компьютере записываются в двоичной системе счисления и все арифметические действия над числами сводятся только к суммированию. Суммирование п-разрядных двоичных чисел производится поразрядно от младшего разряда к следующему старшему. При этом каждый раз вычисляется признак переноса единицы в старший разряд, так же как при сложении столбиком в десятичной записи чисел. На рис. 6.5 при- У = Конъюнктор у = хгПх2 Дизъюнктор У= Инвертор Рис. 6.4. Стандартный базис функциональных элементов 93
Pi+i Ч Рис. 6.5. Схема одноразрядного двоичного сумматора ведено дискретное устройство одноразрядного двоичного сумматора. Такой одноразрядный сумматор производит сложение двух бинарных чисел х^.угИ учитывает еще перенос щ из предыдущего разряда. На выходе одноразрядного сумматора выдается сумма ХгФугФрг = г^и еще вычисляется перенос p^+i в следующий разряд. Таблица всех возможных случаев для г»,р»+1 приведена на рис. 6.6. Щ V% Pi Pi+l Ч Pi +1 = *i' Vi v Щ • ч 0 0 0 0 1 1 1 1 Vi 0 0 1 1 0 0 1 1 Pi 0 1 0 1 0 1 0 1 ч 0 1 1 0 1 0 0 1 Pi+l 0 0 0 1 0 1 1 1 v yr Pi ^ Щ' Vi'Pi Рис. 6.6. Одноразрядный двоичный сумматор 94
Уп 2/2 Pr Рп+1 —с { ley Ps —с f Pi Рис. 6.7. n-Разрядный двоичный сумматор Заметим, что перенос р^+1 зависит от х^у^щ как булева функция голосования. Поэтому, воспользовавшись результатом предыдущего примера, можно выписать минимизированную функцию голосования Pi+l = (Xi • од) V (хг • Pi) V (од • ^). Аналогично молено поступить с булевой функцией zi от переменных Xi,yi,pi. Но удобнее воспользоваться тем, что выражение для pi+i уже есть, и выразить ^ через нее: (хг V ОД V р^) V ОД • р»). Теперь нетрудно составить схему одноразрядного двоичного сумматора из функциональных элементов стандартного базиса (см. рис. 6.5). Перейдем к схеме n-разрядного двоичного сумматора. Это последовательная схема (рис. 6.7) из одноразрядных сумматоров. Если надо перейти к функциональным элементам стандартного базиса, то надо заменить каждый одноразрядный сумматор его схемой из рис. 6.5. При этом р\ = 0. Если значение pn+i = 1, то это сигнал о переполнении сумматора. Важно, что каждый очередной одноразрядный сумматор вступает в работу только после окончания работы предыдущего одноразрядного сумматора, который вырабатывает перенос. Именно поэтому на рис. 6.7 изображены элементы задержки в виде кружков на входе очередного переноса. Этот элемент запирает каждый одноразрядный сумматор до тех пор, пока не закончилось суммирование в предыдущем разряде. Синхронизация этого процесса характеризуется тактовой частотой процессора. Быстродействие компьютера зависит от тактовой частоты процессора и от величины разрядности п сумматора. 95
Глава 7 ЭЛЕМЕНТЫ ОБЩЕЙ ТОПОЛОГИИ Наряду с порядковыми (отношения) и алгебраическими структурами на множествах в дискретной математике не менее важное значение имеет понятие сходимости, или предела. С этим понятием связано одно из фундаментальных свойств информации. Понятие сходимости является основным в математическом анализе, функциональном анализе, во всей непрерывной (высшей) математике и ее приложениях. Но для дискретной математики на первом месте в понятии сходимости выступают не бесконечно малые, не метрика и не близость точек, а семейства подмножеств, как их понимают в топологии. 7.1. Топологические пространства, сходимость к точке и направленности Определение 7.1. Пусть X — произвольное множество ит = = {Ui: г £ 1} — некоторое семейство его подмножеств. Множество индексов I может иметь произвольную мощность. Говорят, что семейство т задает топологию во множестве X, если выполняются три условия: 1) все множество X и пустое множество 0 принадлежат семейству т; 2) объединение любого набора множеств из т принадлежит семейству т; 3) пересечение конечного числа множеств из т принадлежит т. Множество X вместе с заданной на нем топологией т называется топологическим пространством и обозначается X, или подробнее (Х,т). При этом множества из семейства т называются открытыми мноэюествами из X. Пример 7.1. Метрическая топология. Всякое метрическое пространство (Х,р), где р: X х X —> R+ — метрика пространства, является топологическим пространством с метрической топологией. Открытыми множествами метрического пространства называются множества, которые содержат наряду с любой своей точкой х$ некоторый шар радиусом г > 0 с центром в точке #о, Ог(хо) = {х: р(х,х0) <г}. Пример 7.2. Тривиальная топология. Рассмотрим непустое множество X и топологию на нем т, которая задается дву- 96
мя множествами X и 0. Такая топология называется тривиальной. Пример 7.3. Дискретная топология. Рассмотрим непустое множество X и зададим на нем топологию т, которая содержит все одноточечные подмножества. Тогда любое подмножество X будет открытым множеством, т. е. т содержит все подмножества X. Такая топология называется дискретной. Пример 7.4- Решетчатая топология. Рассмотрим непустое множество X и разобьем его на непустые подмножества (части). Зададим топологию в X из подмножеств этого разбиения, всевозможных объединений этих подмножеств и пустого множества. Такая топология называется решетчатой. Частным случаем решетчатой топологии является тривиальная, когда разбиение состоит только из одной части X, и дискретная, когда разбиение состоит только из одноточечных подмножеств. Определение 7.2. Пусть на одном и том же непустом множестве X заданы две топологии тх и Т2- Если ti С тг, то говорят, что топология Т2 мажорирует топологию т\. При этом если ti Ф ^2, то говорят, что топология Т2 сильнее топологии ti или ti слабее Т2. Пример 7.5. Для любого непустого множества дискретная топология мажорирует любую другую топологию. В свою очередь любая топология мажорирует тривиальную топологию. Определение 7.3. Подмножество О топологического пространства X называется окрестностью точки xq e X и пишут О(аго), если оно содержит некоторое открытое подмножество X, содержащее точку xq. Определение 7.4. Система SXo окрестностей точки xq топологического пространства X называется фундаментальной системой окрестностей этой точки, если для каждой окрестности U этой точки существует окрестность V е SXo, такая, что V CU. Пример 7.6. В евклидовом пространстве Rn совокупность открытых шаров радиусами —, га = 1,2, ..., содержащих точку п .то, образует фундаментальную систему окрестностей этой точки. Другую фундаментальную систему окрестностей точки xq образуют открытые шары радиусами —к, содержащие эту точку. nz Определение 7.5. Точка xq топологического пространства называется предельной точкой мноэюества М с X, если любая окрестность точки xq содержит хотя бы одну точку из М, отличную от хо 97
Определение 7.6. Последовательность точек хп, п = 1,2, ..., топологического пространства X называют сходящейся к точке хп е X и пишут lim #n = хп, если любая окрестность п—>оо О(хо) этой точки содержит все точки последовательности, за исключением некоторого конечного их числа. Иногда говорят по- другому, что любая окрестность содержит все точки последовательности, начиная с некоторого номера. Определение 7.7. Частично упорядоченное множество 5 называется направленным, если для любых двух элементов 5i, 52 G 5 существует s e S, такое, что 5 > si и 5 > 52- Направленное множество — обобщение множества натуральных чисел, которое является частным случаем направленного множества. В свою очередь это понятие позволило американским математикам Муру и Смиту обобщить понятие последовательности, к которому переходим. Определение 7.8. Пусть X — топологическое пространство, 5 — направленное множество. Тогда отображение /: 5 —► X называется обобщенной последовательностью, или направленностью. Часто пишут xs,s e S. При этом множество S называется множеством индексов направленности. Очевидно, что любая последовательность точек из X есть направленность в X. Пример 7.7. Рассмотрим в топологическом пространстве X точку #о- Пусть SXQ — фундаментальная система окрестностей точки жо, например все окрестности точки xq. Выбирая по одной точке xs из каждой окрестности s(xq) е SXo, получим направленность #s, 5 е 5, в которой множество индексов 5 упорядоченно по обратному включению, т. е. si < 52, если si(xo) 2 «2(^0)- Теперь перейдем к обобщению понятия предела последовательности. Определение 7.9. Направленность xs,s e 5, в топологическом пространстве X называется сходящейся к точке xq e X, если для каждой окрестности U этой точки найдется элемент sjj e 5, такой, что при всех 5 > зц выполняется xs e U. При этом точку xq называют пределом направленности xs,s e 5, и пишут limxs = хо- Пример 7.8. Пусть 'xs,s e 5, — направленность из предыдущего примера. Тогда она будет сходящейся к точке xq. В самом деле, для любой окрестности U точки хо найдется окрестность su G 5 (из фундаментальной системы окрестностей 5), такая, что su С U. Тогда для всех окрестностей 5 e 5,5 > sjj будет выполняться 5 С U и, следовательно, xs E U. 98
Пример 7.9. Всякая сходящаяся в топологическом пространстве последовательность является сходящейся направленностью в том же пространстве и к тому же пределу. 7.2. Фильтры и ультрафильтры Другим обобщением понятия сходимости последовательности является понятие фильтра французского математика А. Карта- на. Теория А. Картана с точки зрения сходимости эквивалентна теории Мура и Смита. Но для математической информатики (см. ч. V) понятие фильтра — более важное. Определение 7.10. Пусть X — произвольное множество. Тогда непустое семейство F подмножеств X называется фильтром в X, если: 1) пустое множество 0 не принадлежит F; 2) для всякого А е F любое надмножество В D А принадлежит F; 3) пересечение конечного числа множеств из F принадлежит F. При этом говорят, что фильтр F фильтрует мноэюе- ство X. Замечание 7.1. В пустом множестве нет фильтров. Во множестве X не требуется никакой структуры. Каждый фильтр содержит само множество X и является направленным семейством по обратному включению (А > В, если АС В). Тем самым фильтр как бы осуществляет фильтрацию множества X путем отбрасывания части точек при переходе ко все более и более узким множествам (подмножествам). Пример 7.10. Тривиальный фильтр. Семейство подмножеств F, состоящее лишь из самого множества X, представляет собой фильтр, называемый тривиальным. Пример 7.11. Ультрафильтр. Рассмотрим точку xq e X. Семейство всех подмножеств X, содержащих эту точку, является фильтром, который называют ультрафильтром. Ультрафильтр фильтрует множество X вплоть до одноточечного множества, состоящего из одной данной точки {#о}- Пример 7.12. Элементарный фильтр. Если хп,п е ЛГ, — бесконечная последовательность точек множества X, то семейство F всех подмножеств А с X, каждое их которых содержит все хп, кроме конечного их числа, является фильтром. Этот фильтр называется элементарным, ассоциированным с последовательностью хп,п е N. Фильтрация множества X происходит путем отбрасывания все нового и нового конечного числа точек последовательности хп,п е N. Например, если рассмотреть мно- 99
жество натуральных чисел X = N и последовательность натуральных чисел хп = n, n e N, то получим так называемый элементарный фильтр Фреше. Пример 7.13. Фильтр окрестностей точки. Пусть X — топологическое пространство, и хо £ X — точка пространства. Тогда семейство всех окрестностей точки хо образует фильтр F, называемый фильтром окрестностей этой точки. В случае решетчатой топологии фильтрация множества X этим фильтром происходит вплоть до того элемента разбиения множества X, который содержит точку хо- Определение 7.11. Пусть во множестве X имеются два фильтра Fi,F2. Говорят, что фильтр F2 мажорирует фильтр F\ и пишут i<2 Э Fi, если семейство F\ является подсемейством семейства^. Пример 7.14> Если X — топологическое пространство, то любой фильтр окрестностей точки хо 6 X будет мажорировать тривиальный фильтр, а ультрафильтр для этой точки будет мажорировать любой фильтр окрестностей той же точки. Определение 7.12. Пусть хо — произвольная точка топологического пространства X и F — фильтр множества X. Говорят, что фильтр F сходится {фильтрует X) к точке хо е X, если он мажорирует фильтр окрестностей этой точки. При этом точку хо называют предельной точкой фильтра F. Другими словами, всякая окрестность предельной точки должна входить в состав семейства F. На практике часто вместо фильтра используют часть фильтра, по которому весь фильтр однозначно восстанавливается. Определение 7.13. Пусть F — фильтр множества X. Система В подмножеств из F называется базисом (базой) этого филь- тра, если для каждого подмножества AeF найдется подмножество (3 G В, такое, что А 2 р. Пример 7.15. Если F — фильтр всех окрестностей точки хо топологического пространства X, то всякая фундаментальная система окрестностей этой точки будет базисом этого фильтра. В случае решетчатой топологии одним из базисов фильтра всех окрестностей будет одноэлементное семейство, состоящее из того элемента разбиения множества X, которое содержит точку хо- 7.3. Решетки Теперь перейдем к строгому описанию понятия «решетка», о котором упоминалось в подраЬд. 3.4 и которое будет широко использоваться в математической информатике (см. ч. V). 100
Пусть на множестве X задан порядок (<). Напомним, что ес- ли х, у £ X и существует и е X: х < и; у < и, то элемент и называется верхней границей элементов х иг/. Рассмотрим множество всех верхних границ для элементов х и у. Обозначим это множество через М. Очевидно, М С I, и на М распространяется тот же порядок, что и на X. Если существует единственный наименьший элемент в М, то обозначим его через ^i и назовем sup{x, у} = у.. Таким образом, имеем (х < [i; у < [i; Vm G М) => ([i < т). Аналогично определяется inf{#, у} = v. Определение 7.14. Решеткой называется упорядоченное множество X, в котором каждая пара ж, у е X имеет sup{#, у} и inf {ж, у}. Будем обозначать: sup{a;, у} = х V у, inf {ж, у} = х А у. Таким образом, в любой решетке всегда есть две бинарные алгебраические операции V, Л, которые называют дизъюнкцией и конъюнкцией. Замечание 7.2. Операции V и Л являются бинарными ассоциативными, коммутативными алгебраическими операциями. Определение 7.15. Решетка X называется дистрибутивной, если для Vx, y,z G X выполняются равенства: х Л (у V z) = (х Л у) V (х Л z); х V (у Л z) = (х V у) Л (х V г). Геометрическая иллюстрация. Иногда удобно элементы решетки изображать точками на плоскости, соединяя ближайшие сравнимые элементы а, 6 е Х,а < 6, ориентированной дугой от меньшей точки а к точке большей Ь. При этом предполагается отсутствие такой точки с е Х,а ^ с, 6 ф с, что а < с < 6. Такие диаграммы называются диаграммами Хассе. Пример 7.16. На рис. 7.1 изображена решетка. Это недистрибутивная решетка, так как b Л (d V с) = Ь Л е = 6, (6 Л d) V (b Л с) = а V а = а, а ф Ъ. 101
tX<t Рис. 7.1. Недистрибутивная Рис. 7.2. Дистрибутивная решетка решетка Пример 7.17. Решетка на рис. 7.2 является дистрибутивной. Определение 7.16. Пусть в решетке X существуют два элемента, которые будем обозначать 0 и 1, такие, что для \/х е X выполняется условие: О <х < 1. Если для Va: £ X существует такой х е X, что жЛж = 0, ж V а? = 1, то решетка называется решеткой с дополнением (х — дополнение к х). Приведем без доказательства две теоремы о решетках [12]. Теорема 7.1. Если X — дистрибутивная решетка с дополнением, то дополнение к каждому элементу единственно. (Докажите.) Теорема 7.2. Дистрибутивная решетка с дополнениями является булевой алгеброй с тремя операциями V, Л,~. Доказательства можно посмотреть в [6]. /К /^ О О Рис. 7.3. Дистрибутивная Рис. 7.4. Неединственное решетка с дополнениями дополнение 102
Определение 7.17. Дистрибутивная решетка с дополнением называется булевой. Пример 7.18. Рассмотрим булеву решетку (рис. 7.3): и т. д. Пример 7.19. Рассмотрим недистрибутивную решетку (рис. 7.4). Здесь дополнение для элемента х не единственно. 7.4. Булевы решетки подмножеств Среди всех булевых решеток выделим класс решеток, играющих большую роль в математической информатике (см. ч. V). Определение 7.18. Семейство L подмножеств опорного множества X называется решеткой подмноэюеств для X, если выполнены условия: 1) X g L; 0 G L (эти множества играют роль единицы и нуля); 2) из Xi, X2 G L следует Xi П Х2 G L; 3) из Xi, X2 G L следует Xi U X2 G Ц 4) из Xi,X2 G L следует Xi \ X2 G L. Замечание 7.3. 1. Решетка подмножеств — это булева решетка подмножеств с нулем, единицей и с операцией дополнения \ — Х \ X G L для любого X G L. При этом Xi \Х2 = Xi ПХ2.. 2. Отношение порядка в решетке подмножеств есть отношение включения^ С \2. При этом: {XX2} = Xi UX2 = Xi VX2; inf{Xi,X2} = Xi ПХ2 = Xi ЛХ2. Определение 7.19. Элементы Xi,X2 называются дизъюнктными, если их пересечение пусто: Xi П Х2 = 0. Для одного множества X можно определить различные решетки подмножеств. Среди решеток имеются минимальная Lo, состоящая из двух подмножеств 0 и X, и максимальная L*, где L* = 2х, состоящая из всех возможных подмножеств опорного множества X. Пример 7.20. Рассмотрим множество X всех преподавателей вуза. 103
Для этого множества рассмотрим три решетки подмножест L\ — решетка пола; 1,2 — решетка научных званий; Ь% — решетка должностей. Хо = 0 — пустое множество, Xi — женщины преподаватели, Х2 — мужчины преподаватели, Хз — все преподаватели; 10 = 0 — пустое множество, 11 — доктора наук, 12 — кандидаты наук, 13 — без научных степеней, 14 — имеющие научные степени, 15 — не кандидаты наук, 16 — не доктора наук, 17 — все преподаватели; v0 = 0 — пустое множество, vi — профессора, V2 — доценты, V3 — старшие преподаватели, V4 — ассистенты, V5 — профессора или доценты, V6 — профессора или старшие преподаватели, V7 — профессора или ассистенты, V8 — доценты или старшие преподаватели, V9 — доценты или ассистенты, vio — старшие преподаватели или ассистенты, vii — не ассистенты, vi2 — не старшие преподаватели, V13 — не доценты, vi4 — не профессора, vi5 — все преподаватели. Атомы этих решеток (см. подразд. 7.5): в L\ — элементы Х1Д2; в L2 — элементы ^i, ^2, ^3; в L3 — элементы vi, V2, V3, V4. 104
Хо*=0 а 5 Рис. 7.5. Диаграмма Хассе решетки L\ (а) и ее диаграмма Венна (б) Hi* = И U 1*2 5=1*11^3 б = ^2 U ИЗ а 5 Рис. 7.6. Диаграмма Хассе решетки L^ (а) и ее диаграмма Венна (б) Элементы решетки изображаются диаграммами Хассе, если этих элементов небольшое число. Диаграмма Хассе решетки L\ (см. рис. 7.5, а) и диаграмма Венна (см. рис. 7.5, б) изображены на рис. 7.5. Для решетки L<i диаграмма Хассе будет иметь вид, показанный на рис. 7.6, а, диаграмма Венна — на рис. 7.6, б. 7.5. Атомы и шкалы решеток подмножеств Так как решетки подмножеств — это булевы алгебры, то в них можно определить системы образующих и выражать подмножества формулами через такие образующие [14]. Определение 7.20. Пусть L — решетка подмножеств для X. Элемент а е L называется атомом решетки, если а ф 0 и не существует 1фа,1ф0, такого, что 0 С / С а. В решетке L<i рассмотренного примера атомами будут \у.\ — доктора наук, \i2 — кандидаты наук, ^з — без научных степеней. Это самые конкретные понятия решетки. Алгоритм проверки на атомарность — отсутствие более конкретных непустых понятий. 105
Определение 7.21. Пусть L — решетка подмножеств для X. Тогда подсемейство элементов Ш решетки L называется шкалой решетки, если любой элемент решетки выражается через элементы шкалы Ш с помощью операций пересечения, объединения и разности (|J, р|, \). Итак, в силу того что L имеет алгебраическую структуру, в L можно выбрать систему образующих — шкалу. Пусть Ш = {(oi, ... ,(*)&} — шкала L. Тогда V5 е L существует его выражение через элементы шкалы, т. е. где / — функция алгебры множеств, использующая операции объединения, пересечения, дополнения (разности). Определение 7.22. Шкала Ш решетки L называется базовой, если ни один из элементов Ш не выражается через другие элементы Ш с помощью операций объединения, пересечения и разности. Шкала называется атомарной или разбиением, опорного мноснсества, или координатной сеткой, если все ее элементы — атомы. Базовая шкала в конечной решетке L называется минимальной (максимальной), если в решетке L нет шкалы с меньшим (большим) числом элементов. Теорема 7.3. Любая решетка имеет хотя бы одну шкалу, например саму решетку. Теорема 7.4. Решетка подмножеств определяется однозначно любой своей шкалой. Доказательство. От противного. Пусть существуют две решетки подмножеств L и L с одной и той же шкалой Ш. Тогда для любого элемента X е L имеем представление его через элементы шкалы с помощью операций объединения, пересечения и разности. Но в силу того что элементы шкалы Ш принадлежат также и другой решетке L, то, производя действия над элементами Ш в соответствии с представлением X, будем получать каждый раз элементы L. Таким образом, X е L. Аналогично доказывается, что элемент X е L принадлежит и решетке L, т. е. решетки L и L совпадают. ■ Теорема 7.5. Пусть L — произвольная решетка для X и 106
Тогда ее атомарная шкала Шат = {ai, ..., ап} = Шшах является максимальной шкалой (самой большой, самой неэкономной). Мощность |Шат| = п, \L\ = 2п. Теорема 7.6. Пусть L — конечная решетка для X и L ф Lq. Тогда существует и число ее элементов к подчиняется равенству: к = |Шт1п| = [log2 |HImax|] + 1, где [log2 |Штах|] — целая часть числа. Число элементов решетки Доказательства теорем 7.5 и 7.6 см. в [14]. Пример 7.21. Пусть X — времена событий, происходящих в определенные дни недели, и пусть Шат = {пн, вт, ср, чт, пт, сб, вс}. Тогда число элементов соответствующей решетки подмножеств |L| = 27. Найдем Шшш для L. Число к = [log2 7] + 1 = 3. Следовательно, минимальная шкала Построим эту минимальную шкалу следующим образом. Пронумеруем элементы атомарной шкалы двоичными числами: пн — 001, вт — 010, ср — 011, чт — 100, пт — 101, сб - 110, вс - 111. Тогда за coi возьмем объединение тех атомов, у которых в первом разряде 1, т.е. (oi = {пн и ср U пт U вс}, далее б)2 — объединение тех атомов, у которых во втором разряде!, и т.д.: б>2 = {вт U ср U сб U вс}, (03 = {ЧТ U ПТ U Сб U ВС}. 107
Теперь все элементы молено выразить через элементы минимальной шкалы. В самом деле: ПН — 001 — 6)з П 6)2 П 6)1, ВТ — 010 — 6)з П 6)2 П 6)1, Ср — 011 — 6)з П 6)2 П 6)1 и т. д. Замечание 7.4. На практике часто выгоднее использовать минимальные шкалы, а не атомарные. Вывод. Всякая решетка L подмножеств X обладает тремя важными свойствами, которые делают ее одним из основных понятий математической информатики (см. ч. V). • Решетка L — частично упорядоченное множество (см. под- разд. 3.4) с отношением включения множеств. • Решетка L — булева алгебра (см. подразд. 5.4) с тремя операциями: две бинарные операции (объединение и пересечение) и одна унарная операция (дополнение), для которых выполняются аксиомы булевой алгебры. • Решетка L — топология (см. подразд. 7.1) на опорном множестве X и, следовательно, пара (X, L) — топологическое пространство. 7.6. Координатизация множества. Произведение решеток подмножеств Процесс введения на некотором множестве различных решеток подмножеств будем называть координатизацией этого множества. Исследуем подробнее процесс координатизации множества для случая двух решеток подмножеств на одном множестве. Рассмотрим опорное множество X и на нем две различные координатные сетки (два разбиения), т.е. две атомарные шкалы 1ЩТ иШ|т. Пусть nifT порождает решетку L\, а Ш|т — решетку L2- Первая шкала состоит из атомов а&, вторая — из bji ШГ = {аъ...,ат}, Воспользуемся диаграммой Венна и рассмотрим сначала понятие координатизации на примере (рис. 7.7). 108
Рис. 7.7. Решетка строк и решетка столбцов Атомарные шкалы Ш1Т,Ш|Т задают два различных разбиения одного и того же множества X. Каждое разбиение порождает соответствующую решетку подмножеств (подмножества строим из атомов). Первое разбиение соответствует шкале подмножеств «строки», второе — «столбцы». Первая решетка подмножеств позволяет ответить на вопрос: «В какой строке находится точка (курсор на экране монитора)?» Вторая решетка подмножеств позволяет ответить на вопрос: «В каком столбце находится точка (курсор на экране монито- ра)?» Теперь устроим наложение обеих координатных сеток (рис. 7.8). Получаем новую атомарную шкалу и по ней новую решетку понятий Ш|т С L3. Определение 7.23. Пусть X — опорное множество, L\ и 1/2 — две произвольные решетки над X. Рис. 7.8. Произведение решеток строк и столбцов 109
Рассмотрим в каждой решетке атомарные шкалы mf = {ab...,am}, Illf = {ЪЪ ...,Ьп}. Шкалу Ш|т определим следующим образом: Ш|т = {aifibi, aiHb2, . ..,а2П&ь a2n62, ...,amn6n}- Получим систему непересекающихся подмножеств в X. Решетка L% с атомарной шкалой Ш|т называется произведением решеток L\ и L2 и обозначается L3 = I/i * L2. Замечание 7.5. Нетрудно показать, что новое разбиение «покрывает» все исходное опорное множество X. В самом деле, т п (J |J (а» П fy) = [ai П (6i U 62 U ... U bn)] U [a2 П (bi U 62 U ... U bn)] U U [am П (bi U 62 U ... U bn)] = ai U a2 U ... U am = X. Теорема 7.7. Произведение решеток коммутативно: L\ * L2 = L2 * Li. Теорема 7.8. Произведение решеток ассоциативно: L\ * (L2 * L3) = (Li * L2) * L3. Теорема 7.9. Если Ls = L\ * L2, то Li с L% и L2 с L$. Справедлива следующая теорема об объединенной шкале [14]. Теорема 7.10. Пусть X — опорное множество и Li, L2 — решетки над ним. В L\ и L2 выбраны некоторые шкалы Шь Ш2. Тогда для решетки Ls = L\ * L2 объединение шкал iiii и ш2 = mf есть шкала решетки L3. Замечание 7.6. Мощности шкал в нашем примере: |Ш|Т| = |Ш?| • |Ш|Т| = тп; |IIlf | = |Ш;т| + |Ш|Х| = т + п. 110
Замечание 7.7. На практике часто новые решетки задают произведением известных решеток. Пример 7.22. Рассмотрим анкету с точки зрения коорди- натизации множества X сотрудников некоторой организации. Каждой графе анкеты соответствует решетка подмножеств и соответствующая ей шкала. 1. ФИО - LjfM0 D Ш?ио = {Иванов Иван Иванович, ... } 2. Пол - Lfл э ШТЛ = {М; Ж} 3. Национальность — Ь^ац Э HI™4 = {русский, украинец,... } 4. Место и дата рождения — L% = LMecTO * L^TQ> 5. ... Здесь, в свою очередь: г _ г место ^ г дата г место _ т страна ^ т-город гдата _ г год т месяц г число ^3 "" ^3 * "^3 * ^3 ' И Т. Д. Замечание 7.8. Отметим, что координатизация множества тесно связана с п-местным отношением, в котором каждая подрешетка Li в произведении L = L\ * L2 * ... * Ln соответствует атрибуту отношения, а ее атомарная шкала Щ — домену атрибута. Напомним (см подразд. 3.1), что п-местное отношение определяется как подмножество декартова произведения III! хШ2 х...хШп.
ЧАСТЬ III МАТЕМАТИЧЕСКАЯ ЛОГИКА При изучении кибернетических и интеллектуальных систем на первое место выдвигаются языковые и логические конструкции. Математическая логика изучает базовые понятия синтаксиса (формы) и семантики (содержания) естественного языка. Рассмотрим три крупных направления исследований в математической логике — логику высказываний, логику предикатов и теорию доказательств. Глава 8 ЛОГИКА ВЫСКАЗЫВАНИЙ В этой главе рассмотрим простейшие конструкции естественного языка, повествовательные предложения и тексты, составленные из них, — так называемые высказывания. 8.1. Высказывания Определение 8.1. Высказыванием называется повествовательное предложение (текст) естественного языка, о котором имеет смысл говорить истинно оно или лоэюно. Например, «студент Петров присутствует на лекции», «эта стена белая», «З3 = 28» и т. д. Заметим, что предложение «Город х стоит на реке у» не является высказыванием, пока не заданы жиу, так как здесь нельзя определить истина это или ложь. Из данных высказываний можно составлять новые, сложные высказывания с помощью так называемых логических операций. Истинность значений сложных высказываний определяется только истинностью значений составляющих высказываний, а не их смыслом. Простейшие высказывания, в которых не выделяются части, являющиеся высказываниями, будем обозначать прописными латинскими буквами А, В, ..., Р, ... и называть атомарными. 112
Таблица 8.1 Таблица истинности отрицания р и и л л Определение 8.2. Отрицанием высказывания Р называется высказывание, истинное тогда и только тогда, когда Р ложно. Отрицание Р обозначается ]Р или Р и читается «не Р». Отрицание высказывания определяется табл. 8.1. В естественном языке отрицание соответствует составлению из высказывания Р нового высказывания «неверно, что Р», или «не Р». Определение 8.3. Конъюнкцией двух высказываний Р и Q называется высказывание, истинное тогда и только тогда, когда истинны оба высказывания. Конъюнкция Риф обозначается Р k Q или Р Л Q и читается «Р и Q». Конъюнкция определяется табл. 8.2. В естественном языке конъюнкция соответствует соединению высказываний союзом «и». Определение 8.4. Дизъюнкцией двух высказываний Р и Q называется высказывание ложное тогда и только тогда, когда ложны оба эти высказывания. Дизъюнкция высказываний Р и Q обозначается Р V Q и читается «Р или Q». Дизъюнкция определяется табл. 8.3. В естественном языке дизъюнкция соответствует соединению высказываний союзом «или» в неразделительном смысле. Рассмотрим теперь сложное высказывание, которое в естественном языке выражают, например, фразой «если Р, то Q» (или «из Р следует Q», или «Р влечет Q»). Жизненный опыт Таблица 8.2 Таблица истинности конъюнкции Р И И л л Q И л и л PkQ И л л л Таблица 8.3 Таблица истинности дизъюнкции Р И И л л Q И л И л PVQ И И и л 113
Таблица 8.4 Таблица истинности импликации р и и л л Q И л и л P^Q И л и и Таблица 8.5 Таблица истинности эквивалентности р и и л л Q И л и л P~Q И Л л и подсказывает, что истинность этого высказывания должна обозначать следующее: если Р истинно, Q «обязано» быть истинным (следовать из Р); если же Р ложно, то на Q нет ограничений, оно может быть как истинным, так и ложным (из ложного утверждения ничего не следует). Значит, «из Р следует Q» ложно в единственном случае: Р истинно, Q ложно. Следующие высказывания служат примерами: 1) если 0 = 0, то 1 = 1; 2) если 0 = 1, то 0 = 0; 3) если 0 = 0, то 0 = 1; 4) если 0 = 1, то 1 = 2. Первое утверждение истинно, так как, используя равенство 0 = 0 и другие свойства чисел, можно вывести 1 = i, прибавляя по единице к обеим частям равенства 0 = 0. Второе утверждение тоже естественно считать истинным, так как, умножая на нуль обе части равенства 0 = 1, получим 0 = 0. Третье приходится считать ложным, так как исходя из истинного равенства 0 = 0 с помощью умозаключений никогда не придем к ложному. Четвертое естественно считать истинным. Прибавляя к обеим частям равенства 0 = 1 по 1, получим 1 = 2. Используя оборот «если Р, то Q» как логическую операцию, определим ее следующим образом. Определение 8.5. Импликацией двух высказываний Р и Q называется высказывание ложное тогда и только тогда, когда Р истинно, a Q ложно. Импликация высказываний обозначается Р => Q, или Р D Q и читается: «Р влечет Q», или «если Р, то Q», или «из Р следует Q», или «пусть Р, тогда Q», или «Р является достаточным для Q», или «Q является необходимым для Р». Высказывание Р называется посылкой импликации, a Q — заключением,. 114
Импликация определяется табл. 8.4. Определение 8.6. Эквивалентностью двух высказываний Р и Q называется высказывание, истинное тогда и только тогда, когда истинности Р и Q совпадают. Эквивалентность обозначается P~Qh читается: «Р эквивалентно Q», или «Р тогда и только тогда, когда Q», или «Р является необходимым и достаточным для Q». Эквивалентность определяется табл. 8.5. 8.2. Формулы логики высказываний Теперь перейдем к понятию формулы логики высказываний. Среди способов задания множеств рассматривался процедурный, или рекурсивный (см. подразд. 1.1). Формулы логики высказываний образуют перечислимое множество, которое зададим рекурсивным способом. Определение 8.7. Алфавитом называется любое непустое множество. Элементы этого множества называются символами (буквами) данного алфавита. Определение 8.8. Словом в данном алфавите называется произвольная конечная последовательность символов (возможно, пустая). Слово а называется подсловом слова 6, если Ъ = b\ab2 для некоторых слов Ь\ и Ъ^. Всякое подмножество слов данного алфавита называется языком в этом алфавите. Рассмотрим язык логики высказываний, т.е. подмножество слов в некотором выделенном алфавите. Слова в языке логики высказываний принято называть формулами логики высказываний. Эти формулы используются для моделирования высказываний. Определение 8.9. Пусть известно. 1. Алфавит логики высказываний содержит следующие символы: высказывательные переменные Xi,X2, ...; логические связки &, V, ], =>, ~; символы скобок (, ), которые в дальнейшем будут играть разные роли. 2. Всякая высказывательная переменная есть формула, которая называется атомарной. 3. Если а — формула, то (]а) — формула. Если а и Ъ — формулы, то (а& 6), (а V 6), (а => 6), (а ~ Ь) — формулы. 4. Других правил образования формул нет. Замечание 8.1. Вместо высказывательных переменных Xi, ..., Хп, ... иногда удобно пользоваться прописными латинскими буквами без индексов. 115
Пример 8.1. Слово (((] А) к В) => (В V А)) — формула. Слово ("| А к В) => В V F не является формулой (нет скобок). Слово ((А]В) => (В V А)) — не формула, так как знак ] не бинарная связка. Замечание 8.2. Удобно при записи формул по умолчанию опускать внешние скобки и скобки при отрицании высказывательных переменных, например формула из примера 8.1: (\АкВ)=>(ВУА). Определение 8.10. Логические связки в логике высказываний задают алгебраические операции на множестве Ф всех высказываний (см. подразд. 8.1). Отрицание — унарная алгебраическая операция, остальные четыре логические связки: конъюнкция, дизъюнкция, импликация, эквивалентность — бинарные алгебраические операции. В связи с этим логика высказываний — алгебра с пятью алгебраическими операциями (Ф, &, V, =>, ~,]), которая называется алгеброй логики высказываний. Обсудим синтаксис, семантику и прагматику языка логики высказываний. Синтаксис языка логики высказываний изучает правильность написания формул (слов языка), согласно определению формулы логики высказываний. Нетрудно предложить алгоритм отыскания ошибок в слове, например указать на символ не из алфавита логики высказываний, на отсутствие необходимого или присутствие лишнего операнда логической операции, на отсутствие или несоответствие скобок в слове и т. д. Семантика языка логики высказываний изучает смысл формул (слов языка) с точки зрения их оценивания на истинность. Вопросы семантики часто решаются с помощью таблиц истинности формул. Прагматика языка логики высказываний изучает цели (задачи) использования тех или иных формул языка. Вопросы прагматики решаются в рамках функционирования (назначения) кибернетических и интеллектуальных систем, в которых используется логика высказываний. 8.3. Правила преобразования формул Определение 8.11. Пусть а и Ь — две формулы, зависящие от одного и того же множества высказывательных переменных. Эти формулы называются равносильными, если на любой оценке переменных они принимают одинаковые значения. 116
Равносильность формул а и Ь логики высказываний будем обозначать а = Ь, так же как равносильность формул в элементарной алгебре, например а3 — б3 = (а — b)(a2 4- ab 4- Ь2). Пояснение. Оценка переменных — набор истинностных значений данных переменных. Равносильность формул имеет свой алгебраический аналог в тождественном равенстве алгебраических выражений. Замечание 8.3. Нужно различать символы «=» и «~». Символ «~» является символом логической операции формального языка (это необходимо и достаточно). Символ «=» является метасимволом. Он не принадлежит алфавиту языка логики высказываний и говорит о равносильности слов с точки зрения их семантики. Основные равносильности. Для любых формул а,Ь,с справедливы следующие равносильности. 1. akb=bka (коммутативность операции к). 2. а к а = а (идемпотентность операции к). 3. а к (6 к с) = (а к Ъ) к с (ассоциативность операции к). 4. aW b = b\/ а (коммутативность операции V). 5. а V а = а (идемпотентность операции V). 6. а V (6 V с) = (а V Ь) V с (ассоциативность операции V). 7. aW (bkc) = (aV b)k(a\/ с) (дистрибутивность операции V относительно операции &). 8. а к {ЬУ с) = (акЬ)У (а к с) (дистрибутивность операции к относительно операции V). 9. а к {а У Ъ) = а (первый закон поглощения). 10. а V (а& Ь) = а (второй закон поглощения). 11. "Ла = а (снятие двойного отрицания). 12. 1 (а к Ь) =1 а V1 b (первый закон де Моргана). 13. 1 (а V 6) =1 а к 1Ь (второй закон де Моргана). 14. а = (akb) V (ak]b) (первая формула расщепления). 15. а = (а V Ь) к (а V]Ь) (вторая формула расщепления). Любая из этих равносильностей легко может быть доказана с помощью таблиц истинности. Еще одна группа равносильностей показывает, что одни связки могут быть выражены через другие. 16. а - b = (а => Ъ) к (Ъ =» о) = (akb) V (\ak~\b). 17. a^6=1aV6=1(a&i6). 18. aV b =]a => b =](]ak]b). 19. a&b=l(a=»lb)=l(laVlb). Рассмотрим доказательство приведенных равносильностей на примерах тождеств 8, 10, 15. При этом в методических целях приведем три различных способа доказательства. Пусть в тождестве 8 формулы а, 6, с — атомарные, т. е. а = А, 117
Таблица 8.6 Таблица истинности равносильных формул А И И И и л л л л в и и л л и и л л с и л и л и л и л ВУС и и и л и и и л Ak(BvC) и и и л л л л л АкВ и л л л л л л л АкС И и и л л л л л (AkB)V(AkC) И и и л л л л л Рассмотрим табл. 8.6. Пятый и восьмой столбцы в таблице совпадают, следовательно, тождество доказано. Этот способ доказательства равносильности назовем табличным. Теперь докажем тождество 10 (второй закон поглощения) путем логических рассуждений. Этот способ называется логическим. Он имеет два хода рассуждения: «слева—направо» и «справа—налево». Ход «слева —направо». Пусть в тождестве 10 слева будет ложь, т.е. а V (akb) = Л. Тогда по определению дизъюнкции будет: а = Ли(аУ)=Л. Тем самым получили, что справа в тождестве 10 имеем ложь: а = Л. Ход «справа — налево». Пусть в тождестве 10 справа будет ложь, т. е. а = Л. Тогда для левой части тождества 10 имеем ложь. В самом деле (а & Ь) = Л. Тем самым а V (а & Ъ) = Л. Тождество 10 полностью доказано. Рассматривать отдельно случай, когда слева и справа в данном тождестве истина нет необходимости, так как его доказательство можно провести рассуждением от противного и использованием уже доказанного. Например, пусть слева в тождестве — истина, тогда и справа будет истина, так как в противном случае, если справа будет ложь, то, по доказанному, слева будет ложь. А это противоречит предположению. Аналогично рассматривается случай «справа—налево». Итак, в логическом способе доказательства равносильности достаточно рассматривать один случай — или для истины, или для лжи, но обязательно в два хода: «слева—направо» и «справа—налево». Теперь докажем тождество 15 (вторая формула расщепления) третьим способом, который назовем алгебраическим. 118
Суть способа состоит в использовании уже доказанных рав- носильностей для преобразования левой и правой частей тождества к одному и тому же виду. Рассмотрим правую часть тождества 15. Воспользуемся тождеством 7, которое предполагаем доказанным. Тогда вынесем а за скобки, будем иметь (а V Ъ) & (а V]Ъ) = а V (Ък]Ь) = а, так как Тем самым правая часть тождества 15 преобразована в левую и равносильность доказана. Рассмотрим правила, с помощью которых удобно переходить от одних равносильностей к другим. Теорема 8.1 (правило равносильных добавлений и удалений формул). Если a, b и с — произвольные формулы, то следующие равносильности выполняются и не выполняются одновременно: а = 6; ]а="|Ь; akc = bkc; cka = ckb; аУс = ЬУс\ с V a = cVb; а =Ф> с = Ъ => с; с => а = с => 6; а ~ с = 6 ~ с; с~а = с~Ь. Доказательство. Рассмотрим табличный метод перебора всех оценок формул. Надо для восьми (почему?) случаев оценок формул а, 6, с а = И, Ь = И, с = И; а = И, 6 = И, с = Л; и т. д. а = Л; Ь = Л, с = Л убедиться в правильности каждой равносильности. ■ Теорема 8.2 (правило равносильных замен переменных). Пусть а = Ъ и с — формула, в которой выделено одно вхождение переменной X. Пусть са получается из с заменой этого вхождения X на a, a q, из с заменой того же вхождения X на Ь. Тогда са = q>. Доказательство. Эту теорему докажем методом математической индукции по числу п логических связок в формуле с. Для п = 0 формула с = X (не имеет логических связок). Тогда са = а и сь = Ъ. Следовательно, утверждение теоремы верно. Пусть теорема верна для формулы с числом связок, не превосходящим натурального п > 0. 119
Рассмотрим случай, когда имеется п + 1 логическая связка. Тогда формула имеет один из пяти возможных видов с =]d, с = /V$, с = /&#, c=(f => g),c=(f ~ д). Здесь d,f,g — формулы с числом логических связок не более п, для которых теорема справедлива. Заметим, что са =]da,% =\d^ или са = fayga,% = h^%-, или са = /а & #а, сь = foV 9ъ, или и т. д. Так как для формул d, /, g теорема справедлива, имеем da = d^, fa = h-> 9a = #6- Тогда в силу предыдущей теоремы получим то, что требовалось доказать. ■ Определение 8.12. Подформулой формулы с называется любое подслово с, само являющееся формулой. Следующие правила приведем без доказательств [11]. Теорема 8.3 {правило равносильных замен подформул). Пусть са — формула, содержащая а в качестве своей подформулы. Пусть % получается из са заменой а в этом вхождении на Ь. Тогда, если а = Ъ, то са = сь. Теорема 8.4 (правило устранения импликаций и эквива- лентностей). Для каждой формулы можно указать равносильную ей формулу, не содержащую логических символов => и ~ . Правило перехода к булевым функциям. Нетрудно показать, что всякая формула логики высказываний может быть представлена булевой функцией и, наоборот, всякая булева функция соответствует некоторой формуле логики высказываний (см. гл.6). Для этого достаточно перекодировать (переобозначить) логическое значение истинностной оценки языковых текстов следующим образом. Значение истина обозначить числом 1, а значение ложь числом 0. Далее, всякую атомарную формулу X, У, ... логики высказываний, с помощью которой моделируем языковый текст, надо обозначить булевой переменной х, у, ... Теперь всякая оценка атомарной формулы будет соответствовать заданию значения булевой переменной. Всякая формула логики высказываний будет соответствовать своей булевой функции. При этом таблица истинности формулы будет соответствовать табличному заданию булевой функции, а аналитическое задание формулы — аналитическому заданию булевой функции. Логические связки логики высказываний будут знаками алгебраических операций над булевыми переменными и константами. Например, формула логики высказываний (XV]Y) = будет соответствовать булевой функции 120
{х V у) => (х - у) = (х • у) V (х • 2/) = х 0 у. Здесь X, У обозначено через ж, г/, знак конъюнкции & — через , знак отрицания ]Х — через х. Рассмотрим текстовую логическую задачу. Пример 8.2. Следователь допрашивал одновременно трех свидетелей. Их показания противоречили друг другу. При этом каждый из свидетелей обвинял кого-нибудь во лжи. Первый свидетель утверждал, что обманывает второй. Второй обвинял во лжи третьего, а третий свидетель утверждал, что обманывают первый и второй свидетели. Кто из свидетелей говорил правду? Вместо эмоциональных споров по поводу решения этой задачи будем проводить логические вычисления, как мечтал об этом Г. Лейбниц. Чтобы решить эту текстовую задачу, сначала проведем формализацию. Обозначим через Ci,C2, Сз показания трех свидетелей. Это будут атомарные формулы трех высказываний. Далее, так как первый свидетель утверждал, что обманывает второй, то для следователя — это значит (Ci&]C2) V V (] С\ &С2) = И. Аналогично для обвинений второго и третьего свидетелей. Тем самым будем иметь систему из трех уравнений Решить эту систему можно перебором всех восьми различных значений для Ci, С2, Сз. Этот способ назовем табличным. Получим ответ: С\ = Л, С2 = И, Сз = Л. Второй способ — логический (с помощью логических рассуждений). Рассмотрим два случая: либо первый свидетель говорит правду, либо он обманывает. Первый случай {С\ = И): из первого уравнения имеем С2 = Л. Из второго уравнения находим, что Сз = И. Подставляем полученные значения в третье уравнение и убеждаемся, что оно не выполняется. Тем самым этот случай не возможен. Второй случай {С\ = Л): из первого уравнения имеем С2 = И. Из второго уравнения получим Сз = Л. Эти значения удовлетворяют третьему уравнению. Тем самым решение найдено. Логическое рассуждение можно было вести относительно второго или третьего свидетеля. Это все равно. Третий способ решения — алгебраический. Перейдем от формул логики высказываний к булевым функциям. Тогда систему уравнений можно переписать в виде 121
'(cic2) V(cic2) = 1; (с2сз) V (c2c3) = 1; V(c3(ci Vc2)) - 1. Перемножим три уравнения и получим ((cic^) V (cic2)) ((с2сз) V (с2с3)) ((сзсТс^) V С3С1 V сзс2) = 1. Раскроем скобки и отбросим все конъюнкции, содержащие одновременно переменную и ее отрицание. Так как такие конъюнкции равны нулю, получим сГс2сз = 1. В результате имеем: с\ = О, с2 = 1, сз = 0. Заметим, что в алгебраическом способе можно было систему уравнений написать в базисе Жегалкина (см. подразд. 6.3) и решать ее как систему алгебраических уравнений 0с2 = 1; с2Фсз = 1; 0 С\ 0 С2 0 С\С2 = 1. Из первого уравнения выразим с2 = с\ 0 1 и, подставив во второе уравнение, получим сз = ci. После подстановки этих выражений в третье уравнение найдем: ci = 0, с2 = 1, сз = 0. 8.4. Нормальные формы формул логики высказываний Определим теперь нормальные формы формул. Сначала заметим, что, в силу ассоциативности операций & и V, как бы не расставляли скобки в выражениях: Ai&A2& ... hAk\ Ах У А2 V... V4 (*>3), всегда будем приходить к равносильным формулам. Определение 8.13. Формулу называют элементарной конъюнкцией, или конъюнктом, если она является конъюнкцией переменных или их отрицаний. Пример 8.3. Элементарные конъюнкции Определение 8.14. Говорят, что формула находится в дизъюнктивной нормальной форме (ДНФ), если она является дизъюнкцией элементарных конъюнкций. 122
Пример 8.4' Рассмотрим формулу Эта формула находится в ДНФ. Справедлива следующая теорема, которую приведем без доказательства. Теорема 8.5. Для любой формулы а молено найти такую формулу 6, находящуюся в ДНФ, что а = Ъ. В этом случае формула b называется дизъюнктивно нормальной формой формулы а. Определение 8.15. Пусть формула а не содержит символов =>, ~ . Формула а* называется двойственной формуле а, если она получена из а одновременной заменой всех символов &, V на им двойственные, т. е. & на V, V на &. Определение 8.16. Говорят, что формула а находится в конъюнктивной нормальной форме (КНФ), если формула а* находится в ДНФ. Сформулируем без доказательства еще одну важную теорему. Теорема 8.6. Для любой формулы а можно найти такую формулу Ъ, что Ь находится в КНФ и а = Ь. В этом случае формула b называется конъюнктивно нормальной формой формулы а. Замечание 8.4. ДНФ и КНФ формулы а не являются однозначно определенными. Кроме ДНФ и КНФ вводятся еще другие нормальные формы, например совершенные дизъюнктивные и конъюнктивные нормальные формы (СДНФ и СКНФ) [4, б, 10, 11], как и для булевых функций (см. подразд. 6.2). 8.5. Законы логики высказываний. Тавтологии Пусть формула а зависит от множества переменных Х\, ..., Хп. Определение 8.17. Формула а называется тавтологией (или тождественно-истинной формулой), если на любых оценках списка переменных она принимает значение И, т. е. а = И. Здесь под оценкой списка переменных понимается сопоставление каждой переменной этого списка некоторого истиностного значения. Формула а называется выполнимой, если на некоторой оценке списка переменных Х\, ...,Хп она принимает значение И. Формула а называется опроверэюимой, если на некоторой оценке списка переменных Х\, ..., Хп она принимает значение Л. 123
Формула а называется тождественно-лоэюной, если на любых оценках списка переменных Х\, . ..,ХП она принимает значение Л, т. е. а = Л. Рассмотрим некоторые утверждения, являющиеся очевидными следствиями данных определений: • а — тавтология тогда и только тогда, когда а не является опровержимой; • а — тождественно-ложна тогда и только тогда, когда а не является выполнимой; • а — тавтология тогда и только тогда, когда ] а тождественно-ложна; • а — тождественно-ложна тогда и только тогда, когда ] а тавтология; • а ~ Ь — тавтология тогда и только тогда, когда а и Ь равносильны. С точки зрения логики тавтология — не что иное, как логические законы, ибо при любой подстановке вместо переменных тавтологии конкретных высказываний получим истинное высказывание. Основная проблема логики высказываний называется проблемой разрешимости. Она состоит в выяснении, является ли произвольная формула тавтологией. В логике высказываний всегда есть возможность (есть алгоритм) решить такую задачу. Например, решить ее можно: использованием таблиц истинности (табличный способ); приведением формулы к константе «И» с помощью правил равносильных преобразований (алгебраический способ); имеются и другие способы. Тем самым проблема разрешимости логики высказываний алгоритмически разрешима. Пример 8.5. Доказать, что формула (]а =>~|Ь) => (Ь => а) есть тавтология. Используем алгебраический способ. (]а =»1Ь) =ф (Ъ =* а) = (llaVlb) ^ (Ь =* а) = = (aV]6) => (]Ь У a) =l(aV|b) V (]b V а) = = (1а&ЦЬ) V (}Ъ Va) = (]аЬЬ)У]Ь V а = = ((laVlfe)&(6v]6)) V а = flaVlft) V а = =]аУ]Ь V a=(\aV а)У]Ь = HV]6 = И. Рассмотрим две теоремы в тавтологиях [4, 10]. Теорема 8.7 (о простейших логических законах). Пусть а, 6, с — произвольные формулы.Тогда: 124
1) aV~\a — закон исключенного третьего (tertium non datur), его читают: «а или не а»; 2) а => а (сравните с п. 1); 3) а => (Ъ => а); 4) (а => Ь) => ((Ь => с) => (а => с)) — цепное рассуждение (пусть из а следует 6; тогда, если из 6, в свою очередь, следует с, то из а следует с); 5) (а =Ф> (6 => с)) => ((а => Ь) => (а => с)) (если из а следует, что Ь влечет с, то из того, что а влечет 6, следует, что а влечет с); 6) (а ) ) 8) а=> (aVb); 9)C|b^la)=> 10) ((а => Ь) => а) => а — закон Пирса. Теорема 8.8 (о логических законах рассуэюдения от противного). Пусть а,Ь,с — произвольные формулы.Тогда тавтологиями будут: 11) (а => Ь) ~ (](а => Ь) => (с&]с)) (утверж:дение «из а следует Ь» эквивалентно утверлсдению о том, что из отрицания этого следует ложъ)\ 12) (а => Ь) ~ (\Ь =>]а) (утверлсдение, что из а следует Ь эквивалентно утверждению, что из }Ь следует ]а); 13) (а => Ь) ~ ((а & ] Ь) =>] а) (из а следует Ь тогда и только тогда, когда из а и отрицания Ь следует отрицание а); 14) (а =» Ъ) ~ ((а&]6) =ф- Ь) (из а следует 6 в том и только в том случае, когда из а и отрицания Ь следует Ь). Глава 9 ЛОГИКА ПРЕДИКАТОВ 9.1. Предикаты. Кванторы В гл. 8 изучались тексты, которые имеют простейший вид — вид высказываний. Высказывания — факты. В текстах естественного языка часто встречаются повествовательные предложения, не являющиеся высказываниями, например эти предложения могут иметь неопределенные параметры. Например, такие предложения, как «У девочки красивая коса», «Число х — простое», «х + у = z». Если в такие предложения вместо параметров (переменных) поставить конкретную девочку и конкретные числа х, у, г, то по- 125
лучим высказывания, которые станут истинными или ложными, например «У Веры красивая коса», «Число 17 простое» или «7 + 8 = 9» и т.п. Повествовательные предложения с параметрами называются предикатами. Определение 9.1 (предиката). Функция Р(х\, ... ,жп), определенная на некотором множестве М и принимающая одно из двух значений: И (истина) или Л (ложь): называется п-местным предикатом. Множество М часто задано по умолчанию обычным математическим контекстом. Предикаты обозначаются прописными буквами латинского алфавита с перечислением всех переменных. Иногда бывает удобно указывать число независимых переменных предиката верхним индексом Рассмотренные высказывания — нуль-местные предикаты. Поэтому логика предикатов, как частный случай, включает в себя логику высказываний. Над предикатами можно производить обычные логические операции. В результате будут получаться новые предикаты. Тем самым логика предикатов является алгеброй предикатов. Пример 9.1. Пусть Р^(х) — предикат «х делится на два»; (\ — предикат «х делится на три». Тогда выражение означает: «х делится на два и х делится на три», т. е. это выражение определяет предикат «х делится на шесть». Аналогичным образом можно использовать все логические связки логики высказываний: &, V, 1, =», ~. Кроме операций алгебры высказываний в алгебре предикатов имеются еще две дополнительные — операции связывания переменных кванторами. О кванторах уже говорили и использовали их для краткости записи и удобства в определениях и формулировках теорем. Теперь введем эти понятия как унарные операции алгебры предикатов. 126
Определение 9.2 (квантора общности). Пусть Р(х) — некоторый предикат, принимающий значения И или Л для каждого х множества М. Под выражением (\/х)Р(х) будем подразумевать высказывание истинное, когда Р(х) истинно для каждого элемента х из множества М, и ложное — в противном случае. Читается оно: «для всех х Р(х)». Этот новый предикат уже не зависит от х, т. е. является высказыванием. Символ V называется квантором общности, а переменная х называется связанной (квантором). Несвязанные квантором переменные обычно называются свободными. Определение 9.3 (квантора существования). Пусть Р(х) — некоторый предикат. Под выражением (Зх)Р(х) будем понимать высказывание истинное, когда существует элемент множества М, для которого Р(х) истинно, и ложное — в противном случае. Читается это выражение так: «существует х такое, что Р(х)», или «существует #, для которого Р(х)». Полученный новый предикат тоже не зависит от х и является высказыванием. Символ 3 называется квантором существования, а переменная х — связанной (квантором). Несвязанные квантором переменные обычно называют свободными. Пример 9.2. Вернемся к примеру 9.1 о делимости на 3 и на 2. Тогда на множестве натуральных чисел предикат истинное высказывание, а предикат (\fx)(P<<1\x)SzQW(x))- ложное высказывание. Замечание 9.1. Операцию связывания кванторами молено применять и к предикатам от большего числа переменных. При этом те переменные в предикате, на которые действует какой-либо квантор, будут связанными, а все остальные — свободными. 9.2. Формулы логики предикатов Теперь определим понятие формулы логики предикатов. Определение 9.4. Алфавит логики предикатов содержит следующие символы. 1. Символы предметных переменных: 2. Символы предикатов: 127
A(t) At) 1 ' 2 ' ' * * ' где t = 0,1, .... 3. Логические символы: 1, &, V, =», ~. 4. Символы кванторов: 3, V. 5. Скобки и запятая: ),(■ Отличие алфавита логики высказываний от алфавита логики предикатов в наличии п. 1 и 4; кроме того, п. 2 здесь шире (в алфавите логики высказываний t = 0); в п. 5 появилась «запятая». Чтобы избежать нагромождения индексов, часто символы переменных будем обозначать через х, у, z, а символы предикатов через Р, Q,R,S и т. д. Определение 9.5. Слово в алфавите логики предикатов называется формулой или правильно построенным словом, если оно удовлетворяет следующему рекурсивному определению. 1. Если Aj — символ предиката; ж^, Х{2, ...,xit — символы предметных переменных, необязательно различные, то AS ' (х^, ...,#it) — формула. Такая формула называется атомарной. Все предметные переменные атомарных формул свободные, связанных переменных нет. 2. Пусть а — формула. Тогда }а — тоже формула. Свободные и связанные переменные формулы ]а — соответственно свободные и связанные переменные формулы а. 3. Пусть а и Ь — формулы, причем нет таких переменных, которые были бы связанными в одной формуле и свободными в другой. Тогда (aV&), (a&b), (а=>6), (а - Ь) есть формулы, в которых свободные переменные формул а и Ь остаются свободными, связанные остаются связанными. 4. Пусть а — формула, содержащая свободную переменную х. Тогда (V#)a, (Зх)а — тоже формулы. Переменная х в них — связанная. Остальные переменные, которые в формуле а свободны, остаются свободными и в этих формулах. Переменные, которые в формуле а связаны, остаются связанными. 128
В формуле (Vsc)a формула а называется областью действия квантора V, а в формуле (Зх)а — областью действия квантора 3. 5. Других правил нет. Замечание 9.2. По определению формулы никакая переменная не может быть одновременно свободной и связанной. Для оценки формулы на истинность и ложность требуется зафиксировать значения всех свободных предметных переменных, взяв их значения из множества допустимых значений. Пример 9.3. Рассмотрим предикат «Каждый водитель должен соблюдать правила». Назовем параметры: «водитель», «правила». Первый параметр — связанная переменная, второй — свободная. Зафиксируем вторую переменную: «правила дорожного движения». Если такой закон в РФ есть, то получаем «И», если нет, то «Л». То, что сейчас проделано, называется заданием, или рассмотрением некоторой интерпретации предиката. Определение 9.6. Интерпретацией называется пара / — = (М, Ф), состоящая из непустого множества М и соответствия Ф. При этом множество М задает область значений предметных переменных, а соответствие Ф сопоставляет каждой атомарной формуле Aj{x\, ...,xt) конкретный t-местный предикат, заданный на М. При заданной интерпретации считают, что предметные переменные пробегают множество М, а символы ], V, &, =>, ~ и символы кванторов имеют обычный смысл. Для данной интерпретации каждая формула без свободных переменных представляет собой высказывание, которое истинно или ложно. Всякая формула со свободными переменными выражает некоторый предикат на множестве М, который истинен при одних значениях переменных из этого множества и ложен при других. Пример 9.4- Пусть f(x) — произвольная фиксированная функция, заданная на отрезке [a, b]. 1. Рассмотрим интерпретацию / = (М,Ф{), где М — множество действительных чисел; Ф± — соответствие, сопоставляющее формулам Р(х, 8), Q(x, e), Д(е) их конкретные предикаты (характеристические функции): Р(х,Ъ) = \х - хо\ <5; Q(x,e) = |/(x)-c|<e; Д(е) = е > 0. 129
Здесь хо — фиксированный элемент отрезка [а, 6]; с — некоторое фиксированное действительное число. Тогда определение того, что с = lim /(x), записывается формулой 2. Рассмотрим интерпретацию / = (М, Ф2), где М — множество действительных чисел; Ф2 — соответствие> сопоставляющее формулам Р(х, 8), 5(ж,е), Д(е) предикаты: Д(е) = е > 0. Здесь ±о ~~ произвольный фиксированный элемент отрезка [а, Ь]. Тогда определение о том, что функция f(x) непрерывна в точке хо, записывается формулой Замечание 9.3. Вернемся еще раз к понятию интерпретации / = = (М, Ф) формулы а. Пусть в формуле имеются предметные переменные #i, х2, • • •, #п и предикатные символы Ai, Аг, ..., Am. С каждым предикатным символом в формуле а связана некоторая к-местная атомарная подформула вида Aj(х^, ..., Xik). Можно всегда считать, что множество М в интерпретации есть декартово произведение М = Х\ х Хг х ... х Хп множеств изменения каж:дой предметной переменной Xi G Х{. Соответствие Ф определяет для каж:дой атомарной формулы Aj(xili ..., Xik) характеристическую функцию на подмножестве Х^ х ... х Xik С М. Тем самым с каждым предикатным символом Aj связано подмножество тех значений его предметных переменных, где соответствующая атомарная формула равна И, а вне этого подмножества атомарная формула равна Л. Можно всегда считать предикатный символ Aj символом того подмножества М в данной интерпретации, где соответствующая атомарная формула равна И. Таким образом, интерпретация / = (М, Ф) — множество М и его подмножества Aj, j = 1, ..., га. Здесь рассмотрен простой вариант определения формул логики предикатов. Для описания более серьезных языковых конструкций требуется расширение понятия формулы и использование еще понятия терма [4, 10]. Мир термов описывает предметную область интерпретации средствами классической математики. Для определения термов требуется расширить алфавит формальной теории. Кроме символов предметных переменных 130
Xi требуется ввести еще символы констант a,j и функциональные символы цш* алгебраических операций над предметными переменными и над константами. Здесь число т = 0,1,2, ... называется арностью или числом мест операции (см. подразд. 5.1). Терм определяется рекурсивно. Определение 9.7. Всякая предметная переменная, или константа, является термом. Если ti, *2» • • •,*fc — термы, a f^ — функциональный символ, то выражение /^(*i,*2» • • • ^к) ~ терм. Других способов образования термов нет. В расширенном определении атомарные формулы определяются через термы, как A^(t\,t2, . • • ,£&). Далее, как обычно, из атомарных формул строятся все более и более сложные формулы при помощи логических связок и кванторов. Например, формула А(2)(х,/(3)(а,у, z)) является атомарной, а формула (Vz)A(2)(x, f^\a,y,z)) — сложной. Отметим, что терм формулой не является. Пример 9.5. Термами являются я, 2х, х3, ах2 + Ьх + с, х + у + + Zj f(x)J(x-t)+g(x+t) и т. д. Формулами являются Р(х) = «ж = 0», Р(ах2 + 6х + с), P(f(x)). 9.3. Правила преобразования формул логики предикатов Пусть формулы / и д имеют одно и то же множество свободных переменных (в частности, пустое). Определение 9.8. Формулы / и д равносильны в данной интерпретации I = (М, Ф), если на любом наборе значений свободных переменных они принимают одинаковые значения, т. е. если формулы выражают в данной интерпретации один и тот лее предикат. Формулы / и g равносильны на мноэюеетве М, если они равносильны во всех интерпретациях, заданных на множестве М. Формулы / и g равносильны в алгебре (логике) предикатов, если они равносильны во всех интерпретациях. Тогда будем писать: f = g. Пример 9.6. Рассмотрим формулы: Эти формулы равносильны на одноэлементном множестве. В самом деле, если область интерпретации — одноэлементное множество, то какой бы предикат ни взяли в качестве интерпре- 131
тации а[ ' на этом множестве, он принимает только значения И или Л. В первом случае обе формулы принимают значение И, во втором — Л, и, следовательно, они равносильны на этом множестве. С другой стороны, на двухэлементном множестве {а, Ъ} эти формулы не равносильны. Теперь рассмотрим правила перехода от одних формул к другим, им равносильным во всех интерпретациях. Теорема 9.1 (правила булевой алгебры). Для формул алгебры предикатов сохраняются все равносильности и правила равносильных преобразований алгебры высказываний (см. под- разд. 8.3). Доказательство. Проведем показательное рассуждение для одной равносильности 8 (дистрибутивности из подразд. 8.3) Здесь формулы а,Ъ,с являются предикатами. Рассмотрим произвольную интерпретацию / = (М, Ф) и зададим свободные переменные в формулах а, Ъ, с конкретными значениями. Тогда эти формулы станут высказываниями со своими истинностными значениями, для которых закон дистрибутивности выполняется. Следовательно, в силу произвольности интерпретации, дистрибутивность будет выполняться в логике предикатов. Аналогично доказываются все равносильности из логики высказываний. ■ Теорема 9.2 (правило переноса квантора через отрицание). Пусть а — формула, содержащая свободную переменную х. Тогда: ](3х)а(х) = (\/х)]а(х). Доказательство. Докажем только первую равносильность. Для произвольной интерпретации / = (М, Ф), в силу закона исключенного третьего, возможны два взаимно исключающих логических случая: 1) существует хо е М, где а(хо) = Л; 2) не существует такой точки. Тогда в первом случае имеем (\/х)а(х) = Л, ](Ух)а(х) — И и а(хо) = Л, ]а(хо) = И, (Зх)]а(х) — И. Следовательно, первая равносильность выполняется. Для второго случая имеем (\/х)а(х) = И, ] (Ух)а(х) = Я и а(х) = И, для всех точек из М~\а(х) = Л, поэтому (Зх)]а(х) = Л. Тем самым первая равносильность снова выполняется. В силу произвольности интерпретации теорема доказана. ■ 132
Остальные правила приведем без доказательства [4, 10]. Теорема 9.3 (правило выноса квантора за скобки). Пусть а(х) содержит свободную переменную х, формула Ь не содержит переменной х и обе они удовлетворяют п. 3 определения 9.5, т. е. нет таких переменных, которые были бы связаны в одной формуле и свободны в другой. Тогда: (Ух)(а(х) kb) = (Vx)a(x) & 6; (Зх)(а(х) Wb) = (Зх)а(х) V 6; Если в предыдущих правилах допустить, чтобы формула Ъ содержала переменную х, то будут выполняться только две равносильности: (Vx)(a(x)kb(x)) = (\/x)a(x)k(\/x)b(x); (Зх)(а(х) V b(x)) = (Зх)а(х) V {Зх)Ъ(х). Теорема 9.4 (правило перестановки одноименных кванторов). (Зу)(3х)а(х,у) = (Зх)(3у)а(х,у). Теорема 9.5 (правило переименования связанных переменных). Заменяя связанную квантором переменную формулы а всюду в области действия квантора другой переменной, не входящей в эту формулу, получаем формулу, равносильную а. Определение 9.9. Длиной формулы называется общее число входящих в нее символов предикатов (атомарных формул), логических символов и символов кванторов. Пример 9.7. Рассмотрим формулу Эта формула имеет длину 5. Длину здесь составляют символы: /2ч m Определение 9.10. Формулы, в которых из логических символов имеются только символы &, V, ] (стандартный базис), причем символ ] встречается только перед атомарными подформулами (тесное отрицание), называются приведенными. 133
Пример 9.8. Рассмотрим формулы: 2^ Первая является приведенной, вторая — нет. (Почему?) В заключение укажем, до какой степени формулы можно упростить с помощью равносильностей. Определение 9.11. Приведенная формула называется нормальной, если она содержит все символы кванторов впереди или кванторов вовсе нет. Пример 9.9. Формула (Vxi)(3x2)(l^1)(xi)\/А^\хъх2)) является нормальной. Относительно нормальных формул справедлива следующая теорема, которую приведем без доказательства [4, 10, 11]. Теорема 9.6. Для любой формулы существует равносильная ей приведенная формула, для которой, в свою очередь, существует равносильная ей нормальная формула. Пример 9.10. Рассмотрим некоторую теорему из математического анализа. Теорема Лагранжа о конечном приращении. Если функция f(x) непрерывна на отрезке [а, Ь] и дифференцируема в интервале (а, 6), то существует точка с, с е (а, 6), такая, что выполняется равенство f(b) — /(о) = f'(c)(b - a). Обратим внимание на то, что классическая математическая символика используется в основном для термов (предметов), а все свойства термов и утверждения о них написаны на естественном языке (см. формулировку теоремы). Математическая логика позволяет формализовать весь текст теоремы и записать ее в виде формулы. Вот почему математическую логику часто называют метаматематикой. Мир формул логики предикатов относят к неклассической математике. Перейдем к формализации теоремы Лагранжа в рамках логики предикатов. Шаг 1. Перечислим все предметы, о которых идет речь в теореме, и обозначим их предметными переменными. Всего в теореме четыре предмета — три числа а, 6, с и одна функция /, или в стандартном обозначении f(x). Шаг 2. Выделим в теореме простейшие части текста (смыслы) о предметах и формализуем их в виде атомарных формул. Получим: Р(а, b, f(x)) = «функция f(x) непрерывная на отрезке [а, 6]»; 134
Q(a,b,f(x)) =«функция f(x) дифференцируемая в интервале (а, 6)»; R(a,b,c) = «с е (а, 6)»; S(a, 6, с, /(*)) = «f(b) - Да) = /'(с)(& - а)». Шаг 3. Соединим атомарные формулы в одну сложную формулу при помощи логических связок, следуя тексту теоремы. Получим следующую формулу рассматриваемой теоремы. Теорема Лагранжа о конечном приращении. (Р(а, 6, f(x)) Л Q{a, 6, f{x))) => (Зс)(Д(а, 6, с) Л S(a, 6, с, /(ж))). В формуле часть текста «такая что выполняется» соответствует логической связке конъюнкции Л, потому что по смыслу можно было бы сказать «и в ней выполняется». Отметим, что посылка импликации в формуле должна быть взята в скобки и поле действия квантора существования включает две (почему?) атомарные формулы, соединенные связкой Л. Последняя формула полностью заменяет (моделирует) текст теоремы на естественном языке. Теперь эту формулу можно преобразовать, например, в приведенную форму. Теорема Лагранжа о конечном приращении. 1 Р(а, 6, /(*))VlQ(a, 6, /(*)) V (Эс)(Д(а, b, с) A S(a, b, с, f(x))) или преобразовать в нормальную форму. Теорема Лагранжа о конечном приращении. (Зс)(\Р(а, 6, /(aO)VlQ(a, Ь, f(x)) V (Д(а, Ь, с) Л 5(а, 6, с, f(x)))). 9.4. Законы логики предикатов. Общезначимые формулы В подразд. 9.3 рассматривались преобразования формул логики предикатов. При этом решались две основные задачи. Задача минимизации (упрощения) формулы логики предикатов (для экономии памяти, времени, средств). Задача приведения формул к некоторому стандартному виду, например к нормальному виду для сравнения формул между собой, взаимозаменяемости формул, большей технологичности в применении и т. п. Теперь введем в алгебре предикатов понятие, аналогичное понятию тавтологии из логики высказываний, которое называется общезначимостью формулы. Рассмотрим законы логики предикатов (законы неизменности, сохранения истины). 135
Определение 9.12. Пусть / — формула логики предикатов, в которой участвуют предметные переменные х\, ..., хп и предикатные символы А®,..., А® (* = 0,1, .. .)■ Если / истинна в некоторой интерпретации (М, Ф), то / называется истинной в данной интерпретации. Если / истинна в любой интерпретации, то / называется общезначимой, или тождественно-истинной в логике предикатов. Обратим внимание, что в логике высказываний выяснение, является ли произвольная формула тавтологией, — алгоритмически разрешимая проблема. Как говорят: «Проблема разрешимости в логике высказываний разрешима». Аналогичная проблема в логике предикатов: является ли произвольная формула общезначимой, неразрешима. Нет общего (универсального) алгоритма определения общезначимости произвольной формулы алгебры предикатов. Теорема 9.7. Не существует алгоритма, который для любой формулы логики предикатов устанавливает, общезначима эта формула или нет. Тем не менее в математической логике имеется знаменитый подход, позволяющий для многих практически важных формул устанавливать их общезначимость. Подход называется аксиоматической {формальной) теорией, или исчислением предикатов, и будет рассмотрен в следующей главе. Глава 10 ЭЛЕМЕНТЫ ТЕОРИИ ДОКАЗАТЕЛЬСТВ 10.1. Аксиоматическая (формальная) теория. Исчисление предикатов Аксиоматическая теория впервые была изложена Евклидом в его «Началах», а затем развита Аристотелем в работе «Логика». Идея теории состоит в следующем. Исходя из начальных общезначимых формул, которые называются аксиомами, с помощью разрешенных правил (правил вывода) получаются новые общезначимые формулы. Проблема тем самым переносится на отыскание доказательства, т. е. такой последовательности 136
применений правил вывода, которая позволяет исходя из аксиом вывести заданную формулу, чем и будет доказана общезначимость этой формулы. Итак, в аксиоматической теории указывается некоторая совокупность формул, которые называются аксиомами, а также правила вывода из одних формул других. Рассмотрим простейший вариант аксиоматической теории (исчисления предикатов). Символами этой теории являются те же символы, что и в логике предикатов. Напомним их. Алфавит аксиоматической теории. 1. Символы предметных переменных: 2. Символы предикатов (символы четких множеств изменения предметных переменных): 4m),4m),-.. (m = 0,1,2,...). Здесь индекс т означает арность (число мест) предикатного символа, например А^ означает бинарный, или двухместный, предикатный символ. 3. Логические символы в аксиоматической теории используются не все, а только два, через которые можно выразить все остальные: 1, =*■ 4. Два символа кванторов: V, 3. 5. Две скобки и запятая: м- Формулы аксиоматической теории. Формулы в аксиоматической теории определяются так же, как в логике предикатов. При этом используются только два логических символа — импликация и отрицание. Аксиомы аксиоматической теории. Для любых формул фх и ф2 следующие формулы являются аксиомами: 1) 4>i => (Фг =* ФО; 2) (Ф1 =» (Ф2 => Фз)) =* ((Ф1 =» Ф2) =* (Ф1 =* Фз)); 3) (1Ф2 =»1Фх) => ((1Ф2 => Фх) =* Фг); 4) (Ухг)фг(хг) =Ф 4>i(xj), где (\>i{xj) не содержит переменной Х{\ 137
5) Ф\{щ) => (3xj)<$>i(xj), где формула <\>i(xj) не содержит переменной Х{. Правила вывода аксиоматической теории. 1. Правило mp (modus ponens): ФьФг =» Ф2 Ф2 Читается: если имеются две формулы фх и фх => ф2, то по правилу тр получается формула ф2. При этом формула ф2 называется следствием из формул фх и фх => ф2- 2. Правило связывания квантором общности: ф2 = где формула ф2 не содержит переменной ж$. Чтение правила аналогично предыдущему. Если имеется формула, стоящая над чертой, то получается формула, стоящая под чертой. Вторая формула называется следствием первой по правилу 2. 3. Правило связывания квантором существования: где формула ф2 не содержит переменной Х{. Чтение правила аналогично предыдущему. 4. Правило переименования связанной переменной: связанную переменную формулы фх можно заменить (в кванторе и во всех вхождениях в области действия квантора) другой переменной, не являющейся свободной в формуле фх. Чтение этого правила также аналогично предыдущему. В аксиоматической теории новые формулы получают по правилам вывода из имеющихся формул. Причем если имеющиеся формулы истинны в некоторой интерпретации, то новые формулы будут истинными в той же интерпретации. Что нового появляется в аксиоматической теории по сравнению с логикой предикатов? Синтаксис и семантика, которые имеют место в логике предикатов, полностью переносятся и в аксиоматическую теорию. Но в аксиоматической теории появляется новое семантическое качество — возможность описывать (моделировать) суждения (умозаключения). Этого нет в логике предикатов. В логике предикатов можно в некоторых случаях провести только оценку данной формулы (текста). В аксиоматической теории есть возможность организовать логический процесс: вывод из имеющихся истинных формул (текстов) новых истинных формул с целью 138
получения заданной формулы и одновременно ее оценку. Тем самым логический вывод — оригинальный способ решения задачи оценивания выведенной (заданной) формулы. Перейдем к строгим определениям главных понятий аксиоматической теории — вывода из гипотез и понятия теоремы [8]. Определение 10.1. Пусть дано конечное множество формул ХьХ2?• • • »Хт, которые назовем гипотезами. Выводом (доказательством) из этих гипотез назовем последовательность формул ф1,Ср2, ...,фп,ф, где каждая формула последовательности есть или гипотеза, или аксиома, или следствие из формул, стоящих перед данной формулой в последовательности, по одному из правил вывода аксиоматической теории. При этом каждая формула, кроме последней, называется промеснсуточным результатом данного вывода. Последняя формула вывода называется окончательным результатом, вывода. Говорят: формула ф выведена из гипотез. Кроме того, получение (появление) каждой формулы вывода называется шагом вывода. Кратко вывод (доказательство) из гипотез принято обозначать ХЬХ2, --^Хт \~ ф- Знак Ь называется секвенцией. Если формула ф выводится только из аксиом, не используя никаких гипотез, то она называется теоремой. Говорят: формула ф выведена, или теорема ф доказана в аксиоматической теории. В этом случае пишут: Ь ф. Пример 10.1. Доказать теорему ф => ф, т. е. Ь (ф => ф). На первом шаге вывода рассмотрим первую группу аксиом для случая ф1 = ф, ф2 = (ф => ф). Будем иметь: Ф1 = (Ф => ((Ф => Ф) => Ф)). На втором шаге вывода рассмотрим вторую группу аксиом для случая фх = ф, ф2 = (ф => ф), Фз = Ф- Будем иметь: Ф2 = (Ф => ((Ф => Ф) =* ф)) => ((ф => (Ф => Ф)) =» (Ф =» Ф)). На третьем шаге вывода используем первое правило вывода (тр) к полученным двум промежуточным результатам вывода. Тогда получим новую формулу: фз = (Ф => (Ф => Ф)) => (Ф =* Ф)- 139
Посмотрев на этот третий результат вывода, видим, что можно снова воспользоваться правилом тр, если предварительно получить соответствующую подформулу, которая стоит в посылке импликации. Поэтому снова рассмотрим первую группу аксиом, но для случая фх = ф, ф2 = ф. Тогда на четвертом шаге доказательства будем иметь: ф4 = (Ф => (Ф => Ф))« Теперь завершаем доказательство. Применим первое правило вывода к формулам 94 и срз- Получим окончательный результат: Ф5 = (Ф => Ф). ■ Теорема 10.1. Аксиомы аксиоматической теории — общезначимые формулы. Теорема 10.2. Формула, получающаяся из общезначимых формул по любому из правил вывода, является общезначимой. Еще важны следующие теоремы, которые также приведем без доказательств [10]. Теорема 10.3 (о дедукции). Если фх Ь ф2, то Ь (ф\ => Ф2). В общем случае, если справедливо хьХ2> •••>Х™ ^~ Ф> то имеет место Х2> • • • > Хт 1~ (xi ^ Ф)> т-е- любую гипотезу можно перенести в выводимую формулу в форме посылки соответствующей импликации. Пример 10.2. Рассмотрим снова задачу: доказать теорему ф => ф. Воспользуемся теоремой (метатеоремой) о дедукции. Тогда достаточно доказать, что ф Ь ф, и применить теорему о дедукции. Вывод формулы ф из гипотезы ф состоит из одного шага ф, который является одновременно первым и последним шагом. Тем самым задача решена. Теорема 10.4. Любая теорема в аксиоматической теории (исчислении предикатов) общезначима. Теорема 10.5 (о непротиворечивости). Аксиоматическая теория непротиворечива, т.е. в такой теории нельзя одновременно иметь два доказательства, некоторой теоремы и ее отрицания. Следующая теорема о полноте аксиоматической теории (исчисления предикатов) принадлежит Гёделю. Теорема 10.6 (теорема Гёделя о полноте). Всякая общезначимая формула является теоремой в аксиоматической теории. 140
Вывод. Класс всех теорем аксиоматической теории (исчисления предикатов) совпадает с классом всех общезначимых формул логики предикатов. Но проблема неразрешимости в исчислении предикатов остается в форме отсутствия общего алгоритма поиска вывода (доказательства). Далее рассмотрим современную идею, как можно обойти, в некотором смысле, проблему неразрешимости формальной теории. Замечание 10.1 (о термах и формулах). Итак, был рассмотрен простой вариант формальной теории. Для описания более серьезных языковых конструкций требуется расширение формальной теории и введение в нее кроме формул еще понятия терма [4, 10]. Мир термов описывает предметную область интерпретации средствами классической математики. Для определения термов требуется расширить алфавит формальной теории. Кроме символов предметных переменных Х{ требуется ввести еще символы констант dj и функциональные символы цш' алгебраических операций над предметными переменными и над константами. Здесь число га = 0,1,2, ... называется арностью, или числом мест операции (см. подразд. 5.1). Терм определяется рекурсивно. Всякая предметная переменная, или константа, является термом. Если ^1,^2, ... ,tk — термы, a f^ — функциональный символ, то выражение f^k\t\,t2, ...,£&) — терм. Других способов образования термов нет. В такой расширенной формальной теории атомарные формулы определяются через термы, как A(k\ti,t2, ...,£&). Далее, как обычно, из атомарных формул строятся все более и более сложные формулы при помощи логических связок и кванторов. Например, формула А^2\х, /^(а, у, z)) — атомарная, а формула (Уг)А^(х, f(3'(a,y,z)) — сложная. Отметим, что терм формулой не является. 10.2. Метод резолюций Подход к определению общезначимости формулы в рамках формальной теории более удобный, чем в рамках логики предикатов. Но в силу неалгоритмичности проблемы разрешимости логики предикатов существуют формулы, для которых неизвестно, как построить их вывод. Во второй половине XX в. американский математик А. Робинсон сформулировал еще один подход к этой алгоритмически неразрешимой задаче. Он предложил перевести проблему в рамки специальной игры с формулами по более простым правилам, чем правила вывода исчисления предикатов. Этот подход был назван методом резолюций. Сначала рассмотрим метод резолюций в применении, к логике высказываний и затем перенесем метод на логику предикатов. 141
Определение 10.2. Атомарную формулу логики высказываний, или ее отрицание, назовем литерой. Литеры будем обозначать строчными латинскими буквами. Пример 10.3. Формулы а = Р, b = Р являются литерами, а формула Р => Q не является литерой. Определение 10.3. Конечная дизъюнкция литер или их отрицаний называется дизъюнктом. Пустой дизъюнкт обозначается Л и означает лоснсь, или тождественно-равную нулю формулу. Пример 10.4- Дизъюнкции: aV6, а V 6, р V g V г, р являются дизъюнктами, а формула а V (р V q) — нет. Определение 10.4. Два дизъюнкта называются резольвентной парой, если существует такая литера, которая участвует в одном дизъюнкте как положительная, а в другом — как отрицательная. Пример 10.5. Пара дизъюнктов a V 6, a V 6 V с — резольвентная, так как литера Ь участвует в первом дизъюнкте как положительная, а во втором — как отрицательная. Пара а V 6, a V с не является дизъюнктной парой. Теорема 10.7. Пусть d\,d2 — резольвентная пара дизъюнктов вида d\ = А V р, &2 — В V р, где через А, В обозначены члены дизъюнктов с невыделенными литерами. Тогда формула (А V р) Л (В V р) => (А V В) является тавтологией, т. е. тождественно-истинной, или логическим законом. Доказательство. Если посылка в импликации — ложь, то формула — истина. Если посылка — истина, то каждая скобка (А V р), (В V р) — истина. Возможны два случая: р — истина, р — ложь. В первом случае будет: В — истина и, следовательно, заключение импликации (А V В) — истина. Во втором случае будет А — истина и, следовательно, снова заключение (А V В) — истина. Так как посылка и заключение импликации — истина, то вся формула импликации — истина. ■ Из этой теоремы следует правило получения из резольвентной пары нового дизъюнкта, который называется резольвентой. Это правило называется правилом резолюции и его записывают в виде (ЛУр),(ВУр) (А V В) 142
Это правило по виду напоминает правило тр в формальной теории АА В ' которое, кстати, соответствует следующей тавтологии (логическому закону) (АЛ(А=> В)) => В; или в виде (A A (AW В)) => В. Последняя формула соответствует правилу резолюции В ' Пример 1О.6. Резольвентой для пары а V 6 V р, с V р будет дизъюнкт aVbVс. Применим правило резолюции к парерVq Vг, q V г. Получим резольвенту pVr. Идея метода резолюций. 1. Пусть требуется доказать в алгебре высказываний, что формула F — тавтология. 2. Рассмотрим отрицание этой формулы G = F. Тогда задача переформулируется и станет следующей. Доказать, что формула G — тождественно-ложная. 3. Преобразуем формулу G в конъюнктивную нормальную форму (КНФ) G = /\di = d1A...Adn, где di — дизъюнкты. 4. Среди дизъюнктов di найдем резольвентную пару и применим к ней правило резолюции. Полученный новый дизъюнкт, резольвенту, обозначим dn+\ и добавим в формулу КНФ для G: G = d\ А ... Adn Adn+i. Тем самым получим новую КНФ для G. 5. Если резольвента dn+i = Л является пустым дизъюнктом, то формула G будет тождественной ложью, задача решена и производим останов. Если нет, то снова найдем, как в п. 4, среди всех дизъюнктов d\, ...,dn, dn+i резольвентную пару. Применим к ней правило резолюции и добавим полученную резольвенту к имеющимся дизъюнктам. Будем повторять п. 4 и 5, пока не получим пустой дизъюнкт. Пример 10.7. Пусть G = (а V Ь) А (а V с) Л (Ь V с) Л а. Докажем, что G — тождественно-ложная формула методом резолюций. Найдем среди дизъюнктов di резольвентную пару. Таких 143
пар много, например {di,d%}, {^1,^4}? {^2>^з}> {с?2>сЦ}- Найдем резольвенту для {di,ds}. Получим d$ = a V с. Далее, применим правило резолюции для пары {с^, d*,}. Получим новый дизъюнкт dQ = а. Наконец, резольвентой для пары {бЦ>^б} будет dj = Л. На этом решение задачи заканчивается. Для удобства применения метода резолюций используют следующую запись. 1. а\/Ъ. 2. аУ с. 3. bVc. 4. а. 5. a Vc для 1, 3. 6. а для 2, 5. 7. Л для 4, 6. Теоретическим обоснованием метода резолюций являются теоремы 10.8 — 10.10. Теорема 10.8 (о резольвентной паре). Пусть формула G — тождественно-ложная и представлена в КНФ G = d\ Л ... Л dn. Тогда среди дизъюнктов d\ существует резольвентная пара. Теорема 10.9 (о добавлении резольвенты). Пусть формула G = d\ Л... Adn представлена в КНФ и среди дизъюнктов d{ существует резольвентная пара. Тогда добавление в формулу КНФ резольвенты dn+\ этой пары является равносильным преобразованием формулы G, т. е. G — d\ Л ... Л dn = d\ Л ... Л dn Л dn+i. Теорема 10.10 (о пустой резольвенте). Если формула G — тождественно-ложная и представлена в КНФ, то среди всех резольвент исходных дизъюнктов и вновь получаемых дизъюнктов по правилу резолюции существует пустой дизъюнкт. 10.3. Хорновские дизъюнкты Дальнейшим упрощением метода резолюций является идея американского математика Хорна использовать только дизъюнкты определенного вида. Определение 10.5. Дизъюнкт, у которого среди литер не более одной положительной, называется хорновским. При этом дизъюнкт с одной положительной литерой и наличием отрицательных литер вида 144
называется правилом и читается так «из 6, ..., с следует а». Дизъюнкт без положительной литеры вида 6 V ... V с = (Ь Л ... Л с) =» Л называется целевой дизъюнкт и читается: «из 6, ..., с следует ложь». Наконец, дизъюнкт без отрицательных литер только с одной положительной литерой вида а = (1 =>► а) называется фактом и читается: «справедливо а». Вывод. Для того чтобы доказать методом резолюций, что формула G — тождественно-ложная, рекомендуется выполнить ряд действий. 1. Привести G к КНФ. 2. Преобразовать все дизъюнкты в КНФ в хорновские путем переобозначения некоторых положительных литер в отрицательные. 3. Если все дизъюнкты в КНФ — хорновские, то применение метода резолюций облегчается тем, что всегда можно вести поиск очередной резольвентной пары при помощи одной из следующих двух рекомендуемых стратегий. Стратегия от фактов. Если среди хорновских дизъюнктов есть факт, т. е. одиночная положительная литера, то надо искать второй дизъюнкт, который составляет с ним резольвентную пару. После применения правила резолюции к такой паре получается резольвента, которая будет короче второго дизъюнкта. При этом если существуют несколько дизъюнктов, парных данному факту, то рекомендуется сначала рассматривать дизъюнкты более короткие. Потом снова ищем факт и к нему короткий парный дизъюнкт и т. д. Получаем множество новых фактов до останова. Стратегия от цели. Если среди хорновских дизъюнктов есть целевой, т. е. дизъюнкт без положительной литеры, то надо искать второй дизъюнкт, который с ним составляет резольвентную пару. Далее, каждый раз для очередной резольвенты надо искать парный ей дизъюнкт и применять правило резолюций. Получаем дерево подцелей до останова. Замечание 10.2. Так как решаемая задача в общем алгоритмически неразрешимая, то может случиться, что ни одна из предлагаемых стратегий не приведет к успеху. Тогда надо применять правило резолюций по какой-либо третьей стратегии и т. д. 145
Пример 10.8. Рассмотрим снова ту же формулу G, что и в предыдущем примере. Только сделаем замену литеры а на литеру р, чтобы все дизъюнкты в КНФ для G были хорновские: G = (р V Ъ) Л (р V с) Л (Ъ V с) Л р. Будем доказывать тождественную ложь формулы G методом резолюций, используя стратегию от фактов. В таком случае исходный факт один — дизъюнкт сЦ. l.pVft. 2. pVc. 3. bVc. 4. p. 5. b для 4, 1. 6. с для 4, 2. 7. с для 5, 3. 8. Л для 6, 7. Теперь для сравнения для той же задачи используем стратегию от цели. Целевой дизъюнкт здесь d%. l.pVb. 2. pVc. 3.6V с. 4. p. 5. p Vc для 3, 1. 6. p для 5, 2. 7. Л для б, 4. Замечание 10.3. Метод резолюций, хорновские дизъюнкты и стратегия от цели положены в основу логического программирования на языке Пролог. При этом для хорновских дизъюнктов в Прологе принята запись (обратной импликации): aVbWc = а: — 6,с — правило «а, если Ь, с»; а = а: — факт «справедливо а»; 5 V с = Л: — 6, с — целевой дизъюнкт. При такой записи применение метода резолюций напоминает переписывание формул алгебры с целью их упрощения. Например, для последнего примера решение задачи на доказательство ложности формулы G выглядит так: 1.6: -р. 2. с: -р. 3. Л: -6,с. 4. р: —. Л (из 3) 6, с (из 1) р, с (из 2) р (из 4) 0. Наличие знака пустого множества означает останов, т. е. отсутствие литер, которые надо подставлять. 146
10.4. Унификация. Метод резолюций в логике предикатов Перенесем метод резолюций в логику предикатов. Основная идея здесь принадлежит математику Эрбрану. Определение 10.6. Две литеры l\ = P(x), fa = P(y) называются унифицируемыми, если существуют такие подстановки свободных переменных, при которых литеры совпадут: 1г=12 = Р(а) при х = а, у = а. Пример 10.9. Две литеры h = P(f(x)), fa = Р(у) являются унифицируемыми, так как существует подстановка у = f(x), такая, что h=fa = P(f(x)) при j/= /(*). Правило резолюций в логике предикатов применяется только к резольвентной паре с унифицируемой литерой, присутствующей в одном дизъюнкте как положительная литера и в другом — как отрицательная. Пример 10.10. Применим правило резолюции к резольвентной паре Р(х) V А(х, у), Р(а) V В(х, z). Тогда будем иметь резольвенту А(а, у) V В(а, z). Это записывают следующим образом: 1.Р(х)УА(х,у). 2. P(a)VB(x,z). 3. А(а, у) V Б(а, z) из 1, 2 при х — а. Большое неудобство для применения метода резолюций в логике предикатов связано с наличием кванторов. Для преодоления этой трудности разработаны два приема. Один назван в честь математика Сколема — исключение по Сколему всех кванторов существования, другой — вынос всех кванторов общности за скобки. Определение 10.7. Пусть имеются формулы с кванторами существования: (Эж)Р(яО, (3y)Q(x,y), (3x)(3y)Q(x,y) и т. д. Тогда исключение по Сколему кванторов существования проводится следующим образом: (Зх)Р(х) = Р(а); (3y)Q(x,y) = Q(x,f(x)); (3x)(3y)Q(x,y)=Q(a,f(a)); и т.д., 147
где a, f(x) — неизвестные постоянная и функция, называемые сколемовскилш. Вывод. Метод резолюций состоит в следующем: 1) задача — доказать общезначимость формулы F; 2) перейти к формуле G — F и сделать тесное отрицание в ней; 3) исключить все кванторы существования в G; 4) вынести все кванторы общности за скобки, предварительно переобозначив связанные переменные с целью различия их от свободных переменных и между собой, получим G = (\/х)(\/у) ... (Vz)tf; 5) представить формулу Я в КНФ, т. е. Я = d\ Л &ъ Л ... Л dn, и применить к Я метод резолюций с унификацией. Пример 10.11. Доказать общезначимость формулы логики предикатов F = (((Vx)(P(x) => Q(x))) Л ((Vx)(Q(x) => R(x)))) =► =► ((Vx)(P(x) =► Д(х))). Перейдем к формуле G = F и сделаем тесное отрицание в G: где Hi = (Ух)(Р(х) => Q(x)), Н2 = (Vx)(Q(s) => Д(х)), Я3 = (Vx)(P(x) =► Я(х)). Сделаем тесное отрицание вЯз и исключим квантор существования: Н3 = (Эх)(Р(х) Л Д(х)) = Р(а) Л Д(а). Сделаем замену связанной переменной «х» в Н^ на «у», вынесем все кванторы общности в G за скобки и представим Я в КНФ: G = (Vx)(Vy)((P(x) V Q(x)) Л (Q(j/) V Д(у)) Л Р(а) Л Д(а)). Теперь применим метод резолюций с унификацией, используя стратегию от фактов. l.P(xTvQ(x). 3. Р(а). 4. ад. 5. Q(a) из 3, 1 при х = а. 148
6. R(a) из 5, 2 при у = а. 7. Л из 6, 4. Можно было применить стратегию от цели и запись хорнов- ских дизъюнктов с обратной импликацией. 2.R(y): - З.Р(о): -. 4. Л: -R(a). Л (из 4) R(a) (из 2, у = а) <2(а) (из 1, ж = а) Р(а) (из 3) 0.
ЧАСТЬ IV МАТЕМАТИЧЕСКАЯ КИБЕРНЕТИКА (теория сильпоформальпых систем) В математической кибернетике изучаются языковые процессы в кибернетических системах. Такие системы заранее настроены на решение только штатных задач и не могут перестраиваться на решение нештатных для них задач. Кибернетические системы — сильноформальные, жесткие, детерминированные, автоматные, неразвивающиеся. Глава 11 СИНТАКСИС ЯЗЫКОВ Процессы решения задач, которые происходят в кибернетических системах, относятся к информационно-логическим процессам. Информационно-логические процессы происходят в особой среде, которую называют языковой. Кибернетические системы решают только штатные (известные им) задачи и не решают неизвестные для них задачи. Поэтому кибернетические системы называем сильноформальными. В сильноформальных системах главное внимание уделяется вопросам синтаксиса (формы) языка. 11.1. Языки Язык — знаковая (символьная) система. Языки бывают разные, естественные и искусственные (формальные), например русский язык — естественный, язык программирования — искусственный и т.д. Напомним, что во всяком языке различают три его стороны: синтаксис, семантику и прагматику. Синтаксис отвечает на вопрос правильности формы (структуры) языка. Семантика отвечает на вопрос содержания (смысла) языка. Прагматика отвечает на вопрос целесообразности языка. Общие вопросы синтаксиса и семантики языка изучаются в математической логике (см. ч. III). В математической кибернетике изучают 150
прагматику языка, связанную с применением языка в кибернетических системах. В кибернетических системах на первое место выходят специальные вопросы синтаксиса языка, которые изучаются в таких разделах, как грамматика и автоматы. Грамматика — средство порождения (синтеза) правильных форм языка, а автомат — средство восприятия (анализа) правильных форм языка. Содержанием языка ни в грамматике, ни в теории автоматов не интересуются [2]. Сначала рассмотрим понятия алфавита, слова, а затем понятие языка в алфавите. Определение 11.1. А лфавитом называется произвольное непустое конечное множество А = {ai,a2, ...,an}, элементы которого называются буквами, или символами. Словом в алфавите А называется произвольная цепочка букв алфавита х = — а^ ai2 ... щк. Число букв в слове называется длиной слова х и обозначается \х\ = к. В случае длины к = О слово называется пустым и обозначается Л. Множество всех слов в алфавите А обозначается А*, множество всех непустых слов обозначается Л+, А* = А+ U {Л}. Языком, L в алфавите А называется произвольное подмножество слов в A, LCi*. Пример 11.1. Пусть А = {а,Ъ,с} — алфавит. Тогда аЪ, ааа, с, ababaccc — непустые слова в А. При этом \ab\ = 2, \ааа\ = 3, \с\ = 1, \ababaccc\ = 8. Множество всех слов в А счетно. (Почему?) Подмножество всех однобуквенных слов в А образует язык L\ = = {а,Ъ,с} из трех слов. Подмножество всех двухбуквенных слов образует язык L2 = {аа,аЪ,ас,Ъа,ЪЪ,Ъс,са,сЪ,сс} из девяти слов. (Сколько слов в трехбуквенном языке L3?) Рассмотрим язык Lq слов вида агЫск = а ... аЬ ... be ... с, г 3 к где ij, к — расширенные натуральные числа, является счетным. (Почему?) При этом \alVck\ =i+j + k, a°b°c° = Л, ab G Lo, aaa € Аъ с G Lo, ababaccc £ Lo, a L\ с Lq, L2 С Lq. (Является ли язык L^ подмножеством языка Теорема 11.1. Для любого алфавита А множество А* всех слов в алфавите А счетно, а множество всех языков в алфавите А имеет мощность континуума. Доказательство. Пусть мощность алфавита равна n, n ф 0. Тогда каждой букве алфавита присвоим номер г, А = {ai, а^, ..., an}. Каждому слову х = а^а^ ... aik в алфавите А присвоим лексикографический номер: nk lh+nk 2%2 + . • • + nik_i + гк. 151
Лексикографический номер слова является записью некоторого натурального числа в системе счисления по модулю п. С другой стороны, любое натуральное число может быть представлено в системе счисления по модулю п. Тем самым это число является лексикографическим номером соответствующего слова. Следовательно, множество А* всех слов в алфавите А счетно. По теореме 2.10 (Г. Кантора, см.подразд. 2.6) множество всех подмножеств счетного множества имеет мощность континуума. ■ Пример 11.2. В алфавите А = {а,Ь,с} слова с,аЪ,аЪа имеют лексикографические номера соответственно 3, 3-1-2 = 5, 32 + + 3-2+1 = 16. Натуральному числу 48 = З3+З2• 2+3 соответствует слово аЬс. Определение 11.2. Соединением,, или конкатенацией, слов х = а^ ... <нк, у = ajx ..., ajm в алфавите А = {аь а2, ..., ап} называется бинарная операция x-y = xy = ail ... aikah ... ajm. При этом для любого слова х выполняется х • Л = Л • х = х. Говорят, что слово х входит в слово у, если существует пара слов {u,v}, таких, что у = uxv. При этом слово и называется началом {префиксом) слова у, а слово v — концом (суффиксом) слова у. Про слово х говорят, что оно первый раз входит в слово у, если начало слова и не содержит вхождения слова х. Если Li, 1/2 — два языка в алфавите А, то соединением,, или конкатенацией, этих языков называется язык из всех возможных соединений слов ху этих языков, х е L\, у е L2, т. е. L3 = L\ • L2 = L1L2 = {ху: xeLi, ye L2}. При этом будем обозначать степенью многократное соединение одного и того же языка L = L1, LL = L2,..., Ln~lL = Ln. По определению положим L0 = {Л} = Е Ф 0. Объединение всех степеней языка L называют итерацией этого языка и обозначают оо L* = У Ln. п=0 Объединение всех степеней языка L, кроме нулевой L0 = {Л}, называют позитивной итерацией и обозначают П=1 152
Пример 11.3. В алфавите А — {а, Ь, с} слово Ьас входит в слова abacc, Ъасс, abac, bacbac и не входит в слова aba, baba, babe. Рассмотрим языки L\ = {аг: г = О,1, ...}, L<i = {W : j = О,1, ...}, Ь% = = {ск:к = О,1,...}. Тогда имеем LXL2L^ =L0 = {aVck: i,j, к е N}. Теорема 11.2. Множество всех языков в алфавите А с операцией объединения, которую будем обозначать (и = +), и соединения (•) языков образует алгебру. При этом язык 0 является нулем по операции объединения, а язык Е = {Л} — единицей по операции соединения. Алгебра (2А*, +, •) есть замкнутое полукольцо с отношением порядка (С) [2]. 11.2. Грамматики Язык как множество можно задать перечислением слов или описанием свойств слов. Среди всех языков рассмотрим те, которые молено порождать при помощи грамматик Хомского с конечным числом специальных правил подстановки или замены. Определение 11.3. Грамматикой (порождающей) называется упорядоченная четверка G = (А, У, 5, Р), в которой: А — внешний алфавит с элементами, называемыми буквами, или терминальными символами, V — внутренний алфавит с элементами, называемыми переменными, или нетерминальными символами, причем А П V = 0; S — выделенная переменная S е V, называемая аксиомой; Р — конечное число правил подстановки (замены) вида где а называется левой частью правила, а [3 — правой. Обе части правила являются словами в объединенном алфавите A U V, причем левая часть правила должна обязательно содержать переменную (нетерминальный символ). Стрелка означает замену первого вхождения слова а на слово [3. Определение 11.4. Говорят, что слово а е (A U V)* непосредственно выводимо из слова S e (A U V)* в грамматике G = (A,V,S, Р), если существуют такие слова [i, v из (A U V)* и такое правило подстановки а —> р из Р, что: 5 = [ioev, а = [i[3v. При этом слово а имеет первое вхождение в слово 8. Если слово а непосредственно выводимо из слова 8 в грамматике G с использованием правила подстановки с номером (меткой) к, то пишут: 153
к к 8 Ь а, или 8 Ь а, или S \-q а. Говорят, что слово а выводимо из слова 8 в грамматике G и пишут 8 |= а, или 8 \=q а, если существует конечная цепочка слов ерь ф2, ..., фп, непосредственно выводимых каждое, кроме первого, из предыдущей, такая, что S = ф1 Ь ф2 I- . • . Ь фп = О. При этом сама цепочка слов фь ..., ф2 называется выводом в грамматике G, число п называется длиной вывода, а про слово а говорят, что оно выводится из слова 8 за п шагов. Определение 11.5. Множество всех слов терминального алфавита Л, выводимых из аксиомы S грамматики G: L(G) = {x:S H? х, хеА*}, называется языком, пороэюдаемым грамматикой G. Пример 11.4» Язык L = {апЪп: п > 1} в алфавите А = {а, 6} порождается следующей грамматикой G = (А, V, 5, Р). Здесь V = {S}, P: 1) S^ab, 2) 5 -> aSb. Пример 11.5. Грамматика G = (А, V, 5, Р), в которой {} {} P:1)S->A, 2)A->aA, 3) А-> а, 4) Л -> АВ, 5) S -> Б, 6) Б -> 6Б, 7) В^Ь, 8) В^ ВС, 9) 5 -> G, 10) G -> сС, 11) С -> с, 12) S -> Л, порождает язык Lo = {albick: г, j, A: G JV}. Пример 11.6. Зададим грамматику G = (А, У, 5, Р) следующим образом: Л {()} V {S} Р: 1)5-»(), 2)5-»(S), 3)5^55. Эта грамматика порождает слова вида 5h(), 5h(5)h(()), 5 h 55 h (5)() h (())() и т. д. Язык, порождаемый этой грамматикой, составляют правильные скобочные конструкции. Определение 11.6. Две грамматики называются эквивалентными, если они порождают один и тот же язык. 154
Рассмотрим классификацию грамматик и языков Хомского. Определение 11.7. Язык в алфавите А, порождаемый грамматикой G = (А, V, 5, Р), будем классифицировать следующим образом. 1. Если на правила грамматики нет никаких ограничений, то грамматика называется типа О и порождаемый ею язык называется типа 0. 2. Если каждое правило а —> р из Р удовлетворяет условию |а| < |(3|, то грамматика и порождаемый ею язык называются неукорачивающими. 3. Пусть любое правило из Р имеет вид \iBv -»[ixv, где В eV — переменная; начало \i, конец v и х ~ слова в расширенном алфавите А и V. Причем, если х ф Л, то грамматика и соответствующий ей язык называются контекстно-зависимыми (КЗ- грамматика и КЗ-язык). Если условие х ф Л снять, то грамматика и язык называются обобщенным/а контекстно-зависимыми (ОКЗ-граммати- ка и ОКЗ-язык). 4. Если каждое правило из Р имеет вид В —> х> гДе 5еУ- переменная; х ~ слово в алфавите А и V, то грамматика и язык называются контекстно-свободными (КС-грамматика и КС-язык). 5. Если любое правило из Р имеет вид В —► иСг> или В —> г*, где B,CgF- переменные; ix,?; e А* — слова во внешнем алфавите, то грамматика и язык называются линейными. Причем, если всегда v — Л, то — праеолинейными (В —> г^С). Если же в каждом правиле гх = Л, то — леволинейными (В —> Сг?). 6. Если каждое правило из Р имеет вид В^кгС или Б —> а, где Б, С G У — переменные; а — буква из А или пустое слово, то грамматика и порождаемый ею язык называются регулярными. Пример 11 Л. Рассмотрим грамматики и языки из предыдущих трех примеров. Язык в примере 11.4 — линейный. Языки из примеров 11.4 и 11.5 — КС-языки. Приведем без доказательства две важные теоремы [2]. Теорема 11.3 (о грамматиках). 1. Всякая грамматика типа 0 эквивалентна некоторой ОКЗ- грамматике. 2. Всякая неукорачивающая грамматика эквивалентна некоторой КЗ-грамматике. 3. Любая леволинейная грамматика эквивалентна некоторой право линейной грамматике, и наоборот. 4. Любая право линейная грамматика эквивалентна некоторой регулярной грамматике. 155
Теорема 11.4 (о языках). 1. Существует ОКЗ-язык, не являющийся КЗ-языком. 2. Существует КЗ-язык, не являющийся КС-языком. 3. Существует КС-язык, не являющийся линейным. 4. Существует линейный язык, не являющийся регулярным. Среди всех языков наиболее простыми и изученными являются регулярные. Они имеют наибольшее применение. Сформулируем важную теорему [2]. Теорема 11.5. Язык в конечном алфавите А = {а\, ...,ап} регулярен тогда и только тогда, когда он является замыканием конечного множества языков относительно операций объединения, соединения и итерации. Алгебраические операции над регулярными языками удобно представлять с помощью регулярных выражений. Определение 11.8. Регулярными выраэюениями для языков 0, {Л}, {а}, где а е Л, назовем выражения 0,Л,а. Если для регулярных языков Р, Q имеем регулярные выражения р, д, то регулярные языки Р U Q, PQ, Р* будем обозначать следующими регулярными выражениями: р + q, pq, p*. Для языка рр*, являющегося позитивной итерацией выражения р, будем использовать обозначение р+. Пример 11.8. В алфавите А = {a, b} рассмотрим регулярный язык L = (6+а)*6*. Слова 6, ЪЪЪа, ЪЪаЪЪаЪЪЪ е L. Слова а, аб ^ L. 11.3. Автоматы Типичными кибернетическими системами являются автоматы. К автоматам относятся устройства детерминированного преобразования слов некоторого конечного входного алфавита А = {ai, a2, ..., am} в слова некоторого конечного выходного алфавита В = {&ь 62, ..., Ьп}. Алфавиты Аи В могут совпадать. Слова входного и выходного алфавитов находятся на входной и выходной одномерных бесконечных лентах. Ленты разбиты на клетки для размещения в клетках не более чем по одной букве. Слева и справа от слова на ленте находятся пустые клетки. В середине слова пустых клеток нет. Автомат всегда находится в одном из внутренних состояний из конечного множества состояний Q — {</!, #2, • • •, qk)- Множество Q называют внутренним, алфавитом, автомата. Работа автомата протекает в дискретные такты времени t = 1,2, согласно программе. 156
Программа автомата — конечный набор команд вида qrbs, {, qr G Q, cy E A, bs G B. Команды имеют левую часть (до стрелки) и правую часть (после стрелки). Предполагается, что нет двух различных команд с одинаковыми левыми частями, условие детерминированности автомата. В каждый такт автомат находится в некотором состоянии qi и обозревает (считывает) одну букву aj входного слова. Если среди команд нет команды с левой частью q^aj, то автомат останавливается и входное слово не будет преобразовано в выходное. Автомат к такому слову не применим. Если среди команд есть команда с левой частью q^aj, то автомат срабатывает, меняет свое состояние на то, которое стоит в правой части qr, записывает в пустую клетку выходной ленты букву bs из правой части выполняемой команды и перемещается вправо на одну клетку входной и выходной ленты. Предполагается, что автомат вначале находится в начальном состоянии, например q\, обозревает начало входного слова и что выходная лента пуста. Работа автомата продолжается до тех пор, пока автомат не дойдет до конца входного слова. Результат работы автомата — выходное слово. Заметим, что очередная выходная буква, вырабатываемая автоматом, зависит не только от очередной входной буквы, но и от всех предыдущих входных букв. Так как от них зависит изменение внутренних состояний автомата. Тем самым внутренний алфавит автомата представляет собой внутреннюю память автомата (рис. 11.1). Перейдем к математическому моделированию автомата. Входная лента 01001101001 Головка автомата Блок управления автомата Внутренняя память автомата 110 1 Выходная лента Рис. 11.1. Конечный автомат 157
Определение 11.9. Конечным автоматом (математической моделью конечного автомата) называется пятерка где A,Q,B — конечные входной, внутренний и выходной алфавиты, функции ф: Q х А —> Q, ф: Q х А —► В q(t b(t) = называются соответственно функциями перехода и выхода автомата. При этом задается начальное состояние q(l) = q\. Конечные автоматы можно задать тремя способами: табличным, программным, графическим. Разберем эти способы на примере. Пример 11.9. Рассмотрим конечный автомат с алфавитами А = {aba2}; Q = {qi,q2,Q3h B = {^ь&2^з}- Зададим автомат тремя способами: • табличный способ. Функции перехода и выхода задаются табл. 11.1 и 11.2. Например, слово-а\а2а2 автомат преобразует в слово 62^3^3 и остановится; • программный способ. Функции перехода и выхода задаются программой, т. е. системой команд вида q(t)a(t) —> q(t + l)b(t) или q(t)a(t) — Например, слово автомат преобразует в слово 6263^3; Таблица 11.1 Таблица 11.2 Функция перехода конечного Функция выхода конечного автомата автомата Qi Ql Q2 Q3 а\ Я.З Q3 41 а>2 Я.2 43 43 Яг 91 42 93 h h ь2 0,2 Ьз Ьз Ьз 158
аъ b2 Рис. 11.2. Мультиграф смены состояний конечного автомата • графический способ. Функции переходов и выходов задаются нагрузкой мультиграфа, вершины которого соответствуют состояниям автомата (рис. 11.2). Каждая дуга (qi,qr) мультиграфа имеет двойную нагрузку ajbs и соответствует команде qidj —► qrbs. Автомат начинает работать в состоянии q\ и меняет свое состояние по дуге с нагрузкой, первый символ которой совпадает с символом на входной ленте. При этом автомат меняет состояние на то, которое стоит в конце дуги, и ставит на выходной ленте в очередную пустую клетку символ, стоящий на втором месте нагрузки дуги. Предполагается, что нет двух разных дуг из одной вершины, у которых совпадают первые символы нагрузки (детерминированность автомата). Автомат останавливается, когда он дойдет до конца входного слова или же когда слово не читается. Например, слово а\п2а2 автомат преобразует в слово 626363. Рассмотрим классификацию конечных автоматов. 1. Автомат без памяти. Это тройка (А, 2?,ф). В этом случае автомат находится всегда в одном и том же состоянии, т. е. внутренний алфавит состоит из одной буквы. Поэтому нет смысла говорить о внутреннем алфавите и о функции перехода. Все команды программы такого автомата имеют вид Автомат производит побуквенный перевод входного слова в выходное. 2. Пишущий автомат (без входа). Это автомат без входной ленты и без входного алфавита. Он задается четверкой (Q, В, Ф,ф). У такого автомата функции переходов и выходов имеют вид Если фиксировать начальное состояние q(l) и подмножество финальных состояний Q1 с Q, то с помощью такого автомата 159
можно сгенерировать единственное слово. Автомат начинает работать с начального состояния и останавливается при достижении любого финального состояния. 3. Читающий автомат (без выхода). Это автомат без выходной ленты и без выходного алфавита. Такой автомат задается тройкой (А, <3, ф). Если выделить начальное состояние q(l) и подмножество финальных состояний Q' С <2, то можно настроить автомат на определение принадлежности слова данному языку, т. е. данному их подмножеству. В этом случае автомат будет анализатором слов данного языка. Если автомат остановился в финальном состоянии и полностью прочитал входное слово, то это слово данного языка. В противном случае это слово не принадлежит данному языку. 4. Конечный автомат общего вид (есть все). Интересно, что читающие конечные автоматы, анализаторы языка, могут распознавать только самые простые языки (регулярные) [2]. Теорема 11.6 {теорема Клипи). Для того чтобы язык алфавита А = {ai,a2, ...,am} был регулярным, необходимо и достаточно, чтобы существовал читающий конечный автомат — анализатор слов данного языка. В теории конечных автоматов выделяют две задачи. Задача анализа конечного автомата. Дан конечный автомат. Найти тот регулярный язык, который распознается этим автоматом. Задача синтеза конечного автомата. Дан регулярный язык. Найти (построить) такой конечный автомат, который распознает этот язык. Замечание 11.1. Для распознавания нерегулярных языков требуются дискретные устройства, более сложные, чем конечные автоматы [2]. Так, для распознавания КС-языков требуются автоматы с магазинной памятью. Для распознавания языков 0-типа требуются автоматы, называемые машинами Тьюринга (см. подразд. 12.3). Глава 12 ТЕОРИЯ АЛГОРИТМОВ 12.1. Понятие алгоритма. Перечислимые и разрешимые множества Одним из главных достижений в математике XX в. является формализация понятия алгоритма решения задач. 160
Примеры алгоритмов. 1. Правила выполнения арифметических действий над числами в десятичной, двоичной и других позиционных системах счисления. 2. Алгоритм Евклида отыскания наибольшего общего делителя двух натуральных чисел. 3. Правило извлечения квадратного корня. 4. Правило отыскания решения квадратного уравнения. 5. Правила дифференцирования. 6. Правила интегрирования. 7. Правило разложения правильной рациональной дроби на простейшие дроби. Во всех случаях, когда говорится об алгоритмах, приходится иметь дело с классом однотипных задач, т.е. с массовой проблемой. Не ограничивая общности рассуждения, можно всякую массовую проблему представить в форме задачи вычисления функции. При этом аргументу функции соответствуют условия задачи, а значению функции — результат решения задачи. Для простоты рассмотрим функцию п переменных f:Nn —+N. Здесь N = {0,1,2, ...} — расширенное множество натуральных чисел. Задача ставится следующим образом. Дано п натуральных чисел х\, Х2, ...,хп. Требуется найти /(хь #2, • • • > хп) £ N. Под алгоритмом решения этой задачи понимается процесс преобразования во времени заданных п натуральных чисел в число /(#i,£2, • • • ixn), если этот процесс удовлетворяет следующим требованиям: дискретность. Процесс состоит из дискретных шагов. На каждом шаге выполняется действие над промежуточными результатами, полученными на предыдущих шагах с целью получения очередного промежуточного результата; элементарность. Действия алгоритма на каждом шаге должны быть, по возможности, просты (элементарны); детерминированность. Каждый шаг алгоритма выполняется детерминированно и не зависит от случайности. При переходе к следующему шагу не используется датчик случайных чисел; массовость. Алгоритм вычисления функции должен применяться к любому значению аргумента из области определения функции; результативность. В алгоритме должно быть условие останова, которое должно обеспечивать завершение процесса вычис- 161
ления искомого результата за конечное время для любого заданного аргумента. Замечание 12.1. Перечисленные пять требований не дают строгого определения алгоритма. Требуется дальнейшее уточнение этого понятия. Имеется несколько тысяч равносильных между собой строгих определений алгоритма. Далее рассмотрим три из них: рекурсивные функции, машины Тьюринга, нормальные алгоритмы Маркова. В каждом случае формализации алгоритма остается нерешенным вопрос: не является ли данная формализация некоторым частным случаем алгоритма? Другими словами, всегда остается вопрос о существовании такой функции, для которой нет алгоритма в смысле введенной формализации, но есть алгоритм в смысле другой какой-либо формализации. Пока для всех имеющихся формализации алгоритма доказаны их равносильности между собой. Термин «алгоритм» идет от имени средневекового математика Ал Хорезми (Абу Абдала Мухаммед ибн Муса ал Хорезми ал Меджу- си), который сформулировал основные требования к понятию алгоритма. Определение 12.1. Функция, для которой имеется алгоритм вычисления любого ее значения, называется вычислимой, в противном случае — нееычислимой. До того как будут даны строгие определения понятия алгоритма, проведем предварительное обсуждение некоторых следствий строгого введения понятия алгоритма. Пример 12.1. Допустим, имеем алгоритм нахождения для действительного числа тс = 3,14... очередного знака после запятой в десятичной записи этого числа. В этом случае будем иметь пример вычислимой функции. А теперь для того же числа тс = 3,14... зададим другую функцию, которая бы отвечала на вопрос: есть ли в десятичной записи числа тс подряд идущие пять нулей? Эта функция, по-видимому, уже невычислимая. Определение 12.2. Множество М называется перечисли- мым (см. подразд. 1.1), если существует алгоритм, позволяющий перечислить все элементы М (возможно, с повторениями). Пример 12.2. Множество натуральных чисел перечислимое. Множество всех квадратов натуральных чисел М = {0,1,4,9, ...,n2, ...,neN}- перечислимое. Множество всех пар натуральных чисел 162
М = {(0;0),(0;1),(1;1),(1;0), ...,(m;n), ... ,m G ЛГ,п G TV} - перечислимое. Теорема 12.1. Если множества Mi, M2 перечислимы, то множества Mi U M<i и Mi P| M2 будут перечислимы. Определение 12.3. Рассмотрим универсальное (опорное) множество X и некоторое его подмножество М, т. е. М С X. Подмножество М называется разрешимым в X, если существует алгоритм, который для любого х е X решает проблему: является ли эта точка элементом подмножества М или нет. Понятия перечислимого множества и разрешимого не совпадают. Теорема 12.2 (теорема Поста). Подмножество М разрешимо в X тогда и только тогда, когда М и дополнение М' = Х\М — перечислимые подмножества. Доказательства этих теорем можно найти в [9, 11]. Интересен вопрос: любое ли подмножество перечислимого множества будет перечислимо? Оказывается, нет. Теорема 12.3. Существует перечислимое множество натуральных чисел, которое неразрешимо. Доказательство. Из теоремы Поста следует, что требуется привести пример такого подмножества натуральных чисел У, которое само перечислимо, а его дополнение V1 в N будет непе- речислимо. Рассмотрим множество всех перечислимых подмножеств натуральных чисел. Это множество перечислимо. Обозначим перечислимые подмножества через Мо,МьМ2, ...,МП, .... Зададим перечислимое множество V следующим алгоритмом. На каждом шаге (т;п),т е N,n e N, этот алгоритм вычисляет из подмножества Мп элемент с номером т. Если этот элемент совпадает с номером п подмножества Мп, то этот элемент алгоритм относит к подмножеству V. В противном случае элемент относится к дополнению V'. Таким образом, дополнение V' состоит из всех таких чисел п, что п £ мп. Следовательно, подмножество V' не совпадает ни с одним из подмножеств Мп и тем самым не является перечислимым. ■ Замечание 12.2. По существу, эта теорема включает в неявном виде теорему Гёделя о неполноте аксиоматической теории формальной арифметики (см. подразд. 10.1). 163
12.2. Вычислимые функции и рекурсивные функции Первая формализация понятия алгоритма связана с именами А. Чёрча, К. Гёделя и С. Клини. Идея состоит в том, чтобы выделить класс конструктивно строящихся функций из базовых. Этот класс отождествляют с классом вычислимых функций. Определение 12.4. Три следующие функции будем называть базовыми (простейшими): 1)O:N—+ 7V, О(ж) = 0, xeN- 2) S: N —► TV, S(x) = ж + 1, х е N — функция Пеано; 3)l^:Nn-^N, "i£(*i,...,*n)=am, I < m < п. Введем операции над функциями, которые позволят конструктивно строить из базовых, функций новые функции. Определение 12.5. Операция получения новой функции по имеющимся функциям: ...,жп); /1(2/1, ...,2/fc); •••; /п(з/Ь - по правилу /(2/1, •••,2fc) = ЫМУЪ ...,2/jb)> --чМуъ -- называется суперпозицией, или подстановкой. Пример 12.3. Из базовых функций О(ж),5(ж) с помощью операции суперпозиции построим функции константы ) = 1, S(S(O(x))) = 2, ..., xeiV. Определение 12.6. Операция получения новой функции из имеющихся двух функций: по правилу называется примитивной рекурсией. Замечание 12.3. Действие операции примитивной рекурсии — выполнение цикла из у шагов. Аргумент /с, 0 < к < у, является параметром цикла, функция fo — началом цикла, функция /i — телом цикла. Пример 12.4- Рассмотрим базовые функции: /о(х) = 1\{х) = х, h(x,k,z) = S(z). С помощью операции примитивной рекурсии построим новую функцию 164
/(ж, fc) - 5(/(ж, A: - 1)) = x + fc, l<k<y. Эта функция /(ж, у) вычисляет значение суммы ж + у аргументов. Обозначим промежуточные вычисления на каждом шаге цикла через Ъ^. Тогда имеем: = ж; b2 = S(h) = ж Н- 2; Пример 12.5. Рассмотрим две функции /о(ж) = О(х) = О, fi(x,k,z) =x + z. Здесь первая функция — базовая, а вторая функция конструктивно построена из базовых функций в предыдущем примере. Из этих функций при помощи примитивной рекурсии построим новую функцию: (^, У) = = ж*1, fc = 1; /(ж, 0) = О(х) =0 = ж /(ж, 1) = х + /(ж, 0) = /(ж, 2) = ж + /(ж, 1) = (ж, у) = х + /(ж, у - 1) = ж * у, Л = у. Эта функция f(x,y) осуществляет перемножение аргументов х * у. Если здесь, в свою очередь, расписать функцию /i через операцию примитивной рекурсии, то конструкция функции f(x, у) будет представлять цикл в цикле. Приведем промежуточные вычисления: Ьо = О{х) = 0 = х * 0; = х Определение 12.7. Если функция /(хъ . ..,жп) определена на всей области АГП, то она называется общей. В противном случае, когда /: D —> N, D с АГП, функция называется частичной. 165
Определение 12.8. Функции, полученные из трех базовых функций при помощи операций суперпозиции и примитивной рекурсии, примененных в конечном числе, называются примитивно рекурсивными. Теорема 12.4. Всякая примитивно рекурсивная функция является общей, т. е. всюду определенной. Доказательство. Базовые функции являются общими. Так как операции суперпозиции и примитивной рекурсии не сужают область определения новых функций, то любая примитивно рекурсивная функция является общей. ■ С помощью примитивно рекурсивных функций удалось конструктивно определить такие операции арифметики, как сложение и умножение натуральных чисел. Теперь если хотим конструктивно строить функции, в которых используются операции вычитания и деления натуральных чисел, то примитивно рекурсивных функций для этого недостаточно. В самом деле, в силу последней теоремы функции f(x,y) = х — у, х>уи д(х, у) = х/у, у ф О, х кратно ?/, не могут быть построены как примитивно рекурсивные, так как эти функции частичные (заданные не всюду). Поэтому необходимо ввести новую специальную операцию над базовыми функциями. Определение 12.9. Операция построения новой функции по известной функции /о(#ь - - -, жп, у) по правилу /(xi, ...,xn,xn+i) = min{y: /ofci, ...,xn,y) = xn+i} yeN называется минимизацией. Замечание 12.4. В операции минимизации идет поиск минимального корня уравнения путем перебора чисел у = 0,у = 1, ...до первого удовлетворения уравнению. Новую функцию, полученную операцией минимизации, часто обозначают специальным образом f(xu ...,xn,xn+i) =[iy(fo(xu ...,хп,у) = zn+i). Пример 12.6. Рассмотрим функцию /о(#ь2/) = х\ + у. Построим новую функцию, используя операцию минимизации: f(xi,x2) = [iy(xi + у = х2). Эта функция — частичная, определена для х\ < х2 и соответствует разности: f{x\,X2) =Х2 ~Х\. Приведем протокол вычислительного процесса, осуществляемого этой функцией для конкретных значений х\ =2>,х2 = 5: 166
\У = 0, 3 + 0^5; = 1, 3 + 1^5; [у = 2, 3 + 2 = 5, стоп. Тем самым найдено значение /(3,5) = 5 - 3 = 2. Определение 12.10. Функция, получающаяся из базовых при помощи трех операций (суперпозиции, примитивной рекурсии и минимизации, применяемых в конечном числе раз), называется частично рекурсивной. Если частично рекурсивная функция определена всюду, то ее называют общерекурсивной. В частности, примитивно рекурсивные функции являются общерекурсивными. Теперь с помощью частично рекурсивных функций можно определить все арифметические действия. Спрашивается: любая ли интуитивно вычислимая функция может быть конструктивно задана некоторой частично рекурсивной функцией? Доказать это нельзя, так как понятие интуитивно вычислимой функции — нестрогое математическое понятие. Есть большая доля уверенности, что справедливо утверждение А. Чёрча. Тезис А. Чёрча. Класс интуитивно вычислимых функций совпадает с классом частично рекурсивных функций. Этот тезис можно опровергнуть, если построить пример функции интуитивно вычислимой, но не являющейся частично рекурсивной. Пока такого примера нет. 12.3. Вычислимые функции и машины Тьюринга Другое направление в формализации понятия алгоритма связано с именами А. Тьюринга и Э. Поста. Эти математики предложили формализовать вычислительное устройство (машину), на которой реализуется вычислительный процесс, т. е. алгоритм. Рассмотрим один из вариантов такой формализации, машину Тьюринга. Машина Тьюринга — автомат (см. подразд. 11.3), у которого входная и выходная ленты совмещены и тем самым входной и выходной алфавит — общий. Машина Тьюринга определяется пятью составляющими (рис. 12.1). 1. Лента машины, бесконечная в обе стороны. Лентой машины называется устройство для записи на ней входной, промежуточной и выходной информации вычислительного процесса. Лента тем самым является входной и выходной одновременно. Причем лента бесконечна в обе стороны и разбита на клетки. 2. Внешний алфавит машины. Конечное множество символов А = {ао, аь • • •, an}, которые могут помещаться по одному в 167
Лента Головка Блок управления машины -*t— Внутренняя память машины Рис. 12.1. Машина Тьюринга клетки ленты, называется внешним (входным и выходным) алфавитом машины. Символ ао — особый. Он означает пустую клетку. Символы а{ Ф ао будем называть буквами алфавита. Будем считать, что на ленте во всех клетках стоят символы ао, кроме конечной последовательности подряд идущих клеток, где стоят любые буквы. Такая конечная последовательность букв, как известно, называется словом в алфавите. Длиной слова называется число букв в слове. Слово, не имеющее ни одной буквы, называется пустым словом. Его длина — 0. 3. Внутренний алфавит машины. Конечное множество символов Q = { 40,41, ..-,Фп> R,L,S} называется внутренним алфавитом машины. Символы <& называются символами состояния машины. При этом символ qo означает заключительное состояние (стоп), а символ q\ означает начальное состояние. Последние три символа внутреннего алфавита называются символами сдвига. При этом символ R означает сдвиг вправо (Right), символ L — сдвиг влево (Left), символ S означает на месте (State). 4. Головка машины. Головкой машины называется устройство для обработки символов в клетках ленты (см. рис. 12.1). Головка всегда находится напротив одной из клеток ленты. Головка может распознать символ в клетке, заменить имеющийся символ на новый из внешнего алфавита, переместиться на одну клетку вправо или влево, остаться на месте. При этом головка всегда находится в одном из состояний <£, которое она может менять дискретно на другое состояние. Конкретное слово на ленте вместе с конкретным положением головки напротив одной из клеток ленты и конкретным состоянием головки называется конфигурацией машины. Конфигурацию машины будем изображать в виде двух строк. В первой строке изображается слово на ленте без пустых клеток. Во второй строке стоит один символ 168
состояния головки qi под той буквой слова, которую обозревает головка. Например: J или другая конфигурация qo- 5. Программа машины. Программой машины называется конечный набор команд вида где Р означает один из символов Я, L, S. Левая часть команды до стрелки означает условие, при котором головка выполняет команду. Правая часть команды после стрелки означает инструкцию головке, что надо сделать. Без команды головка находится в покое. Пусть головка находится в состоянии % перед клеткой с символом aj. Головка передает эту информацию управляющему устройству машины (см. рис. 12.1). Управляющее устройство машины просматривает программу и ищет команду с левой частью qiaj. Если такой команды нет, то машина бездействует. Если таких команд несколько, то нарушается условие детерминированности алгоритма. Наконец, если такая команда есть, то управляющее устройство передает команду на головку к исполнению. Пусть правая часть команды будет q^aiД, т.е. Р = R. Тогда головка заменяет в клетке символ aj на символ а/, свое состояние меняет с <& на q^ и сдвигается на одну клетку вправо (см. рис. 12.1). Если состояние головки станет qo, то машина останавливается. Программа завершит свою работу. Программу удобно представлять в форме таблицы (рис. 12.2), где номер клетки t^oy таблицы по строке и столбцу соответствует левой части команды, а содержимое клетки таблицы — правой части команды q^aiP. Таким образом, машина Тьюринга обрабатывает начальное слово на ленте. При этом возможны три случая. 1. Начальное слово обрабатывается машиной до ее остановки в завершающем состоянии qo. Результат работы — окончательное слово на ленте. 2. Машина останавливается из-за отсутствия команды с требуемой левой частью, т. е. не в завершающем состоянии qo. 3. Машина работает бесконечно. 169
Q Ях Qi Ят A % Рис. 12.2. Программа машины Тьюринга Определение 12.11. Говорят, что машина Т не применима к слову ж, если в процессе применения ее к слову она ни на каком из шагов не приходит в заключительное состояние. Машина Тьюринга реализует функцию f:D—>(A\{a0})*, где (А\ {ао})* — множество всех слов из букв внешнего алфавита A; D С (А \ {ао})* — подмножество слов, к которым применима данная машина Тьюринга. Пример 12.7. Построим машину Тьюринга, реализующую функцию обнуления: О(х) = 0, х е N, в двоичной записи натуральных чисел. Внешний алфавит машины будет А = {ао,0,1}, а внутренний Q = {qo,qi,q2,R,L,S}. Программа такой машины и показательное вычисление этой функции в точке х = 101 со всеми промежуточными конфигурациями приведены на рис. 12.3. Пример 12.8. Рассмотрим функцию следования Пеано S(x) = ж + 1, хе N. Построим ее алгоритм в формализации Тьюринга. Внешний и внутренний алфавиты машины пусть будут, как в предыдущем примере, А = {ао, 0,1}, В = {до, <?ъ <й> Д, Ь, 5}. Программа машины Тьюринга, реализующая эту функцию, и показательное вычисление функции в точках = 101 приведены на рис. 12.4. Пример 12.9. Рассмотрим суперпозицию двух функций S(O(x)) = 170
Ml Q ft A % qo%S 0 q2OR q2%R 1 q2OR q2%R 10 1 J 0 % 1 00 1 J0 q<l Рис. 12.3. Программа функции обнуления 101 (101 ft 10 1 fl 0 0 Q ft q2 A % q2a0L qolS 0 qi0R qolS 1 Q11R q2OL ft 10 1 fl 1 0 ft \ 101 ft Рис. 12.4. Программа функции Пеано mi Г 1 Q ft 92 93 94 95 96 93^ q^%L q5 OqR q6°oL qolS 0 920# q2%R q4OL q4lL q5OR qolS 1 q2OR q2%R qA\L qflL qb\R q6OL 101 ft 0 01 92 |a0l 1 92 93 94 0 CLqOq r4 0 aoao 95 О а0 а0 I 0 а0 а0 92 \ 95 О а0 а0 1 0 о0 а0 93 1 96 0 aoao 9з 9о aoao 0 aoao 9з Рис. 12.5. Соединение двух программ 171
Q A % qo%S 0 q2lR q2%R 1 q2lR q2%R 101 101 Q2 Рис. 12.6. Программа функции «тождественная единица» Воспользуемся машинами М2 для S(x) и Ml для О(х), построенными в предыдущих примерах. Как создать машину Тьюринга из двух имеющихся, соединив их последовательно? Ясно, что внешний алфавит новой машины будет А = {ао,0,1}. Внутренний алфавит дополним четырьмя новыми состояниями в = {tfO, Ql,Q2, 43, <74, 45, 46, #, £, S}. Новые состояния 43,44 используем, чтобы заменить завершающее состояние #о в первой программе Ml и перегнать головку машины в начало слова, которое начнет обрабатывать вторая программа М2. Третье новое состояние q^ используем, чтобы заменить на него начальное состояние q\ во второй программе М2. Получим последовательное соединение двух программ (рис. 12.5). На том же рисунке приведен протокол вычисления функции для х = 101. На рис. 12.6 приведена другая более простая программа той лее функции «тождественная единица» и протокол вычисления функции для х = 101. Замечание 12.5. Можно доказать, что класс частично рекурсивных функций и класс функций, реализуемых машинами Тьюринга, совпадают. Отметим еще, что свои замечательные результаты в области формализации понятия алгоритма А.Тьюринг получил в 1936 — 1937 гг. в возрасте 25 лет. 12.4. Вычислимые функции и нормальные алгоритмы Маркова Рассмотрим еще одну формализацию понятия алгоритма, принадлежащую российскому математику А. Маркову. Эта формализация равносильна формализации алгоритма частично рекурсивными функциями и машинами Тьюринга. Определение 12.12. Конечное множество символов А = {аь а2,...,Оп} называется алфавитом, символы алфавита А — буквами. Конечное множество символов А = АиМ,АпМ^0 172
называется расширением алфавита А. Конечная последовательность символов алфавита А называется словом. В частности, конечная последовательность букв будет словом. Слова будем обозначать прописными латинскими буквами. Пустое слово обозначается Л. Если Р = щх<ц2 ... ais, Q — «л«J2 • • • ajt ~ Два слова, то PQ обозначает новое слово, которое называется соединением (конкатенацией) слов PQ = aixai2 ... а^а^а^ ... ajt. Если существуют четыре слова Р, Q, Д, 5, такие, что Р = QRS, то говорят, что слово R входит в слово Р. Любое слово Р входит в себя, так как Р — АРА. Теорема 12.5. Операция объединения слов ассоциативна. Для любых трех слов P,Q,R имеет место (PQ)R = P(QR). Для операции объединения слов имеется нейтральный элемент. Для любого слова Р имеет место РА = АР = Р. Определение 12.13. Пусть —>, • ^ А. Тогда выражения где Р, Q — слова в расширенном алфавите Л, называются подстановками слова Q вместо слова Р. Причем первая подстановка Р —> Q называется простой, а подстановка Р —► • Q — заключительной. Конечный список U подстановок называется схемой нормального алгоритма в алфавите Л, или над алфавитом А. Нормальный алгоритм А. Маркова, заданный схемой С/, действует следующим образом. Пусть дано начальное (входное) слово Р в алфавите А. Рассмотрим первую подстановку схемы алгоритма. Пусть ее левая часть будет Р&, а правая — Qm. Такая подстановка означает, что в слове Р требуется заменить подсло- во Рд., входящее в Р, на слово Qm. Находим самое левое (первое) вхождение подслова Р*. в слово Р и заменяем его на Qm. Если эта подстановка — завершающая, то работа алгоритма заканчивается. Результат работы — новое слово Q, полученное после завершающей подстановки. Этот факт записывают следующим образом: U: P\=Q. 173
Если в слове Р нет поде лова Рд., т0 применить первую подстановку нельзя. Тогда рассматривают вторую подстановку в схеме алгоритма и применяют ее, и т. д. Если первая подстановка — простая и применима, то после ее применения снова рассматривают ее же до тех пор, пока в слове Р находятся подслова Р/~. Если в схеме нет ни одной подстановки, которую можно применить, то алгоритм останавливается. Последнее слово Q — результат работы алгоритма. Этот факт записывают следующим образом: U: P\=Q- Если к слову Р нельзя применить ни одну из подстановок схемы, то алгоритм не применим к этому слову и этот факт записывают следующим образом: U:Pd . Если U: Р \= - Рп и хотим вывести все промежуточные результаты Pi, Р2, ..., Рп, то пишут так (протокол вычисления): U: PhPihP2h...hPn. Если U: Р \= Рп, то протокол вычисления будет следующий: U: PhPihP2h...hPn, U: PnD . Возможен случай, когда алгоритм U работает бесконечно, не останавливаясь. В этом случае начальное слово Р не принадлежит области применения алгоритма и пишут: U:Pd. Итак, нормальный алгоритм А. Маркова реализует функцию, определенную на части множества всех слов, значения которой есть слова в алфавите А. Область определения функции называется также областью применения алгоритма. Пример 12.10. Пусть алфавит будет А = {ai,a2}. Тогда схема нормального алгоритма U: реализует функцию, убирающую парные буквы в слове. В частности, 174
U: CL2CLiaiaia2CL2 ^~ Q>2ala\a2°>2 ^~ 0,2a\O20>2 Ь 0,20,10,2 Областью применения такого алгоритма будет все множество слов в А. Пример 12.11. Пусть дан алфавит А = {О,1}. Требуется построить нормальный алгоритм Маркова, который для всякого натурального числа в двоичной записи вычисляет перевернутое слово. Например, слово 011 должно преобразовываться в слово НО. Рассмотрим расширенный алфавит А = {0,1, а, 6} и схему алгоритма U: аа —» 6; Ьх —> хЪ\ Ьа —► Ъ\ 6->-Л; аху —> уах; Л —> а, где х,у е А. Рассмотрим протокол применения алгоритма к конкретному слову: U: 1011 Ь alOOll h ОаШ h Ololl h Ollal h aOllal h laOlal h HaOal h allaOal h lalaOal h alalaOal h aalalaOal h 61ala0alh 16ala0alh lblaOal h llbaOal h HWal h llObal h 11061 h • 1101. Замечание 12.6. Класс функций, реализуемых нормальными алгоритмами Маркова, совпадает с классом функций, реализуемых машинами Тьюринга, и, следовательно, он совпадает с классом частично рекурсивных функций. 12.5. Алгоритмически неразрешимые задачи и сложность алгоритмов Строгая формализация понятия алгоритма позволяет поставить и решить вопрос о существовании невычислимых функций, или алгоритмически неразрешимых задач, например в такой формулировке: существует ли машина Тьюринга, решающая данную массовую проблему, или же такой машины не существует? Доказательство алгоритмической неразрешимости задачи требует больших усилий математиков. Рассмотрим два знаменитых примера неразрешимых алгоритмических проблем. Первый результат в этой области был получен в 1936 г. американским математиком Чёрчем. 175
1. Неразрешимая проблема распознавания выводимости в математической логике. Напомним, что в математической логике в аксиоматической теории (см. подразд. 10.1) рассматривается следующая проблема. По любым двум формулам А и В найти логический вывод из формулы А формулы В. Вывод — цепочка формул, каждая из которых есть аксиома, гипотеза А или непосредственное следствие по одному из правил вывода из предыдущих формул цепочки. Спрашивается, существует ли алгоритм, отвечающий да или нет на этот вопрос для любых двух формул А, В? Теорема 12.6 (теорема Чёрча). Проблема распознавания выводимости алгоритмически неразрешима. По-видимому, основная причина алгоритмической неразрешимости этой проблемы связана с бесконечностью перебора всех возможных цепочек вывода. 2. Неразрешимая проблема распознавания самоприменимости машин Тьюринга. Определение 12.14. Машина Тьюринга называется самоприменимой, если она применима к слову, являющемуся ее программой, закодированной во внешнем алфавите. Существует ли такая машина Тьюринга Т, которая умеет распознавать самоприменимость любой другой машины Тьюринга? Теорема 12.7. Проблема распознавания самоприменимости машин Тьюринга является алгоритмически неразрешимой проблемой. Доказательство. Допустим противное, т.е. что существует машина Тьюринга Т, решающая проблему самоприменимости. Пусть и — закодированная программа некоторой машины S во внешнем алфавите машины Т, тогда J1, если S самоприменима; Туи) = < ^ ^0, если S несамоприменима. Вместо машины Т рассмотрим машину Т7, в которой подправим программу для Т так, чтобы машина Т1 в случае, когда результат «1», не останавливалась и печатала бесконечную последовательность «1», а в случае, когда результат «0», по- прежнему печатала «0» и останавливалась. Это сделать всегда молено. Спрашивается, является ли новая машина самоприменимой? Применим эту новую машину Т1 к слову и', являющемуся закодированной программой новой машины. Возможны два случая. 176
1. Машина Т' самоприменима. Тогда она не останавливается и печатает бесконечную последовательность «1». Это значит, что машина несамоприменима по определению. 2. Машина Т' несамоприменима. Тогда она печатает «О» и останавливается. Это значит, что машина самоприменима по определению. Полученное противоречие доказывает теорему. ■ Обсудим в заключение важное понятие в теории алгоритмов — сложность алгоритма. Если проанализируем первоначальные требования к понятию алгоритма, то заметим, что требование результативности алгоритма — основное. Результативность алгоритма означает, что процесс вычисления алгоритмом окончательного результата завершится за конечное число шагов (за конечное время). Пусть некоторую массовую задачу удается охарактеризовать натуральным параметром п, который является размерностью задачи. Часто размерность задачи участвует в формальной постановке задачи в форме размерности евкли- дового пространства, порядка вектора или матрицы, пределов суммирования и т. д. Определение 12.15. Слоэюность S алгоритма решения задачи определим как число шагов (элементарных действий), необходимых для получения окончательного результата. Интерес представляет поведение сложности при росте размерности задачи. Разобъем все задачи по сложности на три больших класса: класс полиномиальной сложности Р, класс экспоненциальной сложности и класс NP. Класс Р относят к легкорегиаемым задачам, класс экспоненциальной сложности — к труднореша- емым задачам. По этой классификации сложность легкорешае- мых задач не превосходит некоторый полином Р от размерности задачи. Сложность труднорешаемых задач превосходит любой полином от п. Принято говорить, что сложность труднорешаемых задач имеет экспоненциальный рост от п. Третий класс NP объединяет задачи, которые пока не отнесены ни к легкорешае- мым, ни к труднорешаемым, но между собой эти задачи имеют эквивалентные сложности. Замечание 12.7. Часто удается некоторые задачи вместо их решения лишь свести одну к другой алгоритмом полиномиальной сложности. Эти задачи составляют класс эквивалентных по сложности. Задачи неизвестной сложности, но эквивалентные по сложности названы NP-полными. Семейство таких полиномиально сводимых друг к дру- ГУ задач составляет многие сотни задач. Доказав одну из таких задач, что она легкорешаемая, автоматически получим, что и все другие NP- полные задачи будут легкорешаемые. Но пока этого не сделано, принято считать, что АГР-полные задачи, скорее всего, труднорешаемые. 177
Пример 12.12. Задача решения системы п линейных алгебраических уравнений методом Гаусса имеет сложность S = O(n3). Пример 12.13. Задача перемножения двух квадратных матриц порядка п стандартным алгоритмом имеет сложность S = О(п3). Пример 12.14' Задача коммивояжера поиска гамильтонова цикла в графе является труднорешаемой. Предлагаемые методы требуют почти полного перебора вариантов, S = О(п\). Введение сложностной характеристики алгоритма приводит к двум направлениям исследования: во-первых, поиск для данной легкорешаемой задачи алгоритма с еще меньшей сложностью; во-вторых, проверка задачи на труднорешаемость или NP- полноту. Итак, задачи бывают четырех типов: алгоритмически неразрешимые, алгоритмически разрешимые с экспоненциальной сложностью, NP-полные и алгоритмически разрешимые с полиномиальной сложностью. 12.6. Задачи 1. Построить машину Тьюринга вычисления функции следования S(x) = х + 1, х е iV, для десятичной записи натуральных чисел. 2. Построить машину Тьюринга вычисления суперпозиции S(S(x)) = х + 2, х е JV, для десятичной записи натуральных чисел. Сформулировать правило последовательного соединения машин. 3. Построить машину-предикат Тьюринга, которая всякое слово в алфавите А = {ао, а\, ..., ап} проверяет на четность его длины. Если длина слова четная, то машина выделяет слово дополнительным символом Ь слева и справа от слова, а если длина — нечетная, то слово выделяется дополнительным символом d. Сформулировать правило построения машин-предикатов. 4. Построить машину Тьюринга, которая в случае четной длины слова в алфавите А = {ао,0,1} зануляет его, а в случае нечетной длины — увеличивает на 1. Другими словами, требуется устроить переключение по логическому условию с одной известной программы на другую, т. е. организовать разветвление алгоритма. Сформулировать правило разветвления алгоритма. 5. Построить машину Тьюринга, которая слово в алфавите А = {ао,0,1} дважды обрабатывает: сначала одной подпрограммой, потом — другой. Оба результата помещаются на ленте 178
и разделяются специальным символом с. Пусть первая подпрограмма зануляет слово, а вторая — увеличивает его на 1. Тем самым требуется устроить распараллеливание алгоритма (объединение машин). Сформулировать правило объединения машин. 6. Пусть имеется машина Тьюринга Г и машина-предикат Тьюринга Р. Построить новую машину Тьюринга, которая совершает итерации вычисления по имеющейся программе Т до выполнения условия предиката Р на примере машины Т вычисления функции S(x) = ж-h 1, х е iV, и машины предиката Р, которая проверяет условие х + 1 > 10 на очередной результат работы машины Т. Сформулировать общее правило построения машин- итераций. 7. Построить нормальный алгоритм Маркова, который стирает первую (последнюю) букву входного слова. 8. По двум известным нормальным алгоритмам над одним алфавитом построить новый алгоритм, который сначала преобразует слово по первому алгоритму, а затем результат обрабатывает по второму алгоритму. Например, по C/"i, который стирает первую букву слова, и по U^, который стирает последнюю букву слова, построить нормальный алгоритм, который последовательно стирает первую и затем последнюю букву слова. Сформулировать правило последовательного соединения алгоритмов. 9. Построить нормальный алгоритм вычисления предиката на примере вычисления четности длины слова. В случае четной длины в начало слова ставится специальный символ, например «?», а в случае нечетной длины — другой специальный символ, например «!». Сформулировать правило построения нормального алгоритма вычисления предиката. 10. Пусть имеются три нормальных алгоритма над одним алфавитом. Один из алгоритмов вычисляет предикат, а два других — преобразуют слова. Построить алгоритм, который преобразует слово по одному из имеющихся алгоритмов-преобразователей слов в зависимости от значения предиката. Например, построить алгоритм, который в случае четной длины стирает у слова первую букву, а в случае нечетной длины — последнюю букву. Сформулировать правило построения разветвляющихся нормальных алгоритмов. 11. Написать схему нормального алгоритма, который приписывает к слову такое же слово через разделяющий символ, например «-». 12. Пусть имеются два нормальных алгоритма над одним алфавитом. Построить новый алгоритм, который выдает два результата, соединенных через разделяющий символ, например «-». Первый результат — обработка слова первым алгоритмом, 179
а второй — вторым. Например, первый алгоритм стирает первую букву слова, а второй — последнюю букву этого же слова. Сформулировать общее правило распараллеливания нормальных алгоритмов. Глава 13 ЭЛЕМЕНТЫ ТЕОРИИ КОДИРОВАНИЯ В кибернетике особое место занимает проблема надежности передачи информации. Это связано с тем, что разнообразные дискретные устройства, реализующие алгоритмы, имеют многочисленные каналы передачи информации. В этих каналах происходит искажение сигналов. Кодирование позволяет надежно передать требуемое сообщение, несмотря на наличие помех в канале. 13.1. Проблема кодирования сообщений Пусть по информационному каналу требуется передавать слова в некотором алфавите А. При этом на входе канала передается слово a g А*, на выходе канала принимается искаженное помехами слово с е А*. Требуется по слову с восстановить слово а. Основная идея решения этой задачи заключается в следующем. Вместо слова а по каналу передается другое слово Ъ = К (а), которое называется кодом слова а. Код должен быть таким, чтобы по принятому искаженному слову можно было, как минимум, обнаружить ошибку или, как максимум, исправить ошибку. В связи с этим коды делятся на два класса: 1) коды с обнаружением ошибок; 2) коды с исправлением ошибок. Далее после коррекции принятого слова предполагается его декодирование а = К~1(Ъ). Тем самым по каналу с помехами будет передано требуемое сообщение. Пример 13.1. Рассмотрим простой код с обнаружением одиночной ошибки в сообщении а = а\... ат длины т над алфавитом В = {0,1}: К (а) = Ь = Ь\. где bi = щ, г = 1, ...,т. Последний символ кода bm+i — контрольная сумма всех предыдущих символов по mod2. Про символы 6^, г = 1, ..., т, говорят, что они информационные, а про bm+i, что он контроль- 180
ный. Теперь принятое сообщение легко проверить на ошибку. Надо найти контрольную сумму всех символов принятого сообщения, кроме последнего символа, и сравнить ее с этим пришедшим последним символом. Если нет совпадения, то — ошибка. В каком именно из га + 1 символов принятого сообщения будет ошибка, неясно. Заметим, что в случае наличия ошибок в четном числе символов этот код их не обнаружит. Пример 13.2. Рассмотрим простой код с исправлением ошибки. Пусть требуется передать сообщение а е В*. Зададим код b = К(а) следующим образом. Каждый символ в слове а заменим на его r-кратное повторение. Например, символ 0 заменим на 00... О, символ 1 заменим на 11... 1. В принятом сообщении надо выделить блоки символов по г штук и их проанализировать на повторяемость. Если в каком-либо блоке нет повторения г раз одного и того же символа, то в принятом сообщении есть ошибка и она локализована. Более того, ее можно исправить методом голосования. Каких символов в блоке больше, тот и правильный символ. Чем больше параметр г, тем надежнее восстановление правильного символа. В случае наличия одиночных ошибок достаточно использовать код с тройным повторением, г = 3. 13.2. Расстояние Хемминга Американский математик Хемминг исследовал, от чего зависит данный код, будет ли он обнаруживать ошибки и когда может их исправлять. Интуитивно ясно, что это зависит от того, как разнесены между собой кодовые слова и сколько ошибок может появиться в передаваемом слове. Мы сейчас формализуем следующую идею. При кодировании надо согласовывать число возможных ошибок в передаваемом слове так, чтобы при изменении передаваемого кодового слова оно оставалось более близким к исходному кодовому слову, чем к любому другому кодовому слову. Определение 13.1. Рассмотрим на множестве всех двоичных слов в алфавите В = {0,1} длины га расстояние d(x, у), которое равно числу несовпадающих позиций этих слов. Например, Для слов х = 011101, у = 101010 расстояние равно d(x,y) = 5. Это расстояние носит название расстояние Хемминга. Можно показать, что расстояние Хемминга удовлетворяет аксиомам метрического пространства: 1) d(x, у) > 0, d(x, у) = 0 тогда и только тогда, когда х = г/; 2)d(x,y) = d(y,a;); 3) d(x, у) < d(x, z) + d(z, у) — неравенство треугольника. 181
Теорема 13.1 (об обнаруживающем коде). Код является обнаруживающим в случае, когда в передаваемом слове имеется не более чем к ошибок, тогда и только тогда, когда наименьшее расстояние между кодовыми словами d(bi,b2) >fc + l. Теорема 13.2 (об исправляющем коде.). Код является исправляющим все ошибки в случае, когда в передаваемом слове имеется не более к ошибок, тогда и только тогда, когда наименьшее расстояние между кодовыми словами Доказательство. Доказательства этих теорем аналогичны. Поэтому докажем только последнюю теорему. Достаточность. Пусть для любых кодовых слов имеем d(bi,b2) > 2k + 1. Если при передаче кодового слова Ь\ произошло не более к ошибок, то для принятого слова с имеем d(bi,c) < к. Но из неравенства треугольника для любого другого кодового слова Ь2 имеем d(b\,c) + d(c, b2) > d(bi,b2) > 2fc + 1. Следовательно, от принятого слова до любого другого кодового слова расстояние d(c, b2) > к + 1, т. е. больше, чем до Ь\. Поэтому по принятому слову с можно однозначно найти ближайшее кодовое слово Ь\ и далее декодировать его. Необходимость. От противного. Предположим, что минимальное расстояние между кодовыми словами меньше, чем 2fc+l. Тогда найдутся два кодовых слова, расстояние между которыми будет d(b\,b2) < 2к. Пусть лри передаче слова Ь\ принятое слово с находится на отрезке между словами Ъ\, Ь2 и имеет ровно к ошибок. Тогда d(c,b\) — fc,d(c,62) = d(b\,b2) — d(c,b\) < к. Тем самым по слову с нельзя однозначно восстановить кодовое слово, которое было передано, Ъ\ или Ъ2. Пришли к противоречию. ■ Пример 13.3. Рассмотрим следующие пятиразрядные коды слов длиной 2 в алфавите В = {0,1}: Ъг = К (00) = 00000, Ь2 = #(01) = 01011, Ъз = К{10) = 10101, Ъ4 = ЦП) = 11110. Минимальное расстояние между различными кодовыми словами равно d(bi,bj) = 3. В силу первой теоремы об обнаруживающем коде, этот код способен обнаруживать не более двух ошибок в слове. В силу второй теоремы, код способен исправлять не более одной ошибки в слове. 182
13.3. Групповые коды Рассмотрим подробнее коды слов в алфавите В = {0,1}. Если для слов длиной т используются кодовые слова длиной п, то такие коды будем называть (га, п)-коды. Всего слов длиной га равно 2т. Чтобы задать (га,п)-код, можно перечислить кодовые слова для всех возможных слов длиной га, как в предыдущем примере. Более экономным способом задания кодовых слов является матричное задание. В этом случае задается порождающая матрица G = \\gij\\ порядка га х п из 0 и 1. Кодовые слова определяются каждый раз по слову а = а\п2 ... ат путем умножения этого слова слева, как вектора, на порождающую матрицу Ь = aG, при этом bj = a\g\j + a2g2j + ... + amgmj. Здесь сложение определяется по модулю 2. Для того чтобы разным словам соответствовали разные кодовые слова, достаточно иметь в матрице G единичный базисный минор порядка га, например крайний левый. Пример 13.4» Рассмотрим порождающую матрицу G = Эта матрица задает (3, 4)-код. При этом три первые символа в кодовом слове информационные, а четвертый — контрольный. Он равен 0, если четное число единиц в исходном слове, и 1, если нечетное число единиц. Например, для слова а = 101 кодом будет Ъ = aG — 1010. Минимальное расстояние Хемминга между кодовыми словами равно d(bi,bj) = 2. Поэтому это — код, обнаруживающий однократную ошибку. Пример 13.5. Порождающая матрица G = (1 1 1 1 1) задает (1, 5)-код. Например, для а\ = 0 имеем Ь\ = 00000, а для а2 = 1 получаем Ь2 = 11111. Минимальное расстояние Хемминга между кодовыми словами равно 5. Поэтому этот код способен обнаруживать четырехкратную ошибку и исправлять двухкратную ошибку в передаваемом слове b длиной 5. Пример 13.6. Порождающая матрица /10 10 1 V0 1 0 1 1 183
задает рассмотренный ранее (2, 5)-код, который способен обнаруживать двухкратную ошибку и исправлять однократную ошибку в слове длиной 5. Матричное кодирование обладает следующим свойством. Кодовые слова образуют коммутативную группу по сложению. При этом Ь1 = alG, Ъ2 = a2G, Ъ1+Ъ2 = alG + a2G = (а1 + a2)G. Здесь используются верхние индексы для различных слов, тогда как нижние индексы используются для различных букв в слове. Нейтральный элемент этой группы соответствует коду слова из нулей, а противоположный элемент совпадает с исходным, так как а + а = 0иЬ + Ь = 0. Определение 13.2. Код называется групповым, если множество всех кодовых слов образует группу. Число единиц в слове а называется весом, слова и обозначается w(a). Если Ь — кодовое слово и принятое в канале связи слово с = Ь + е, то слово е называется вектором ошибок. Теорема 13.3. Пусть имеется групповой (т,п)-код. Тогда коммутативная группа К всех кодовых слов является подгруппой коммутативной группы С всех слов длины п, которые могут быть приняты в канале связи. Наименьшее расстояние между кодовыми словами равно наименьшему весу ненулевого кодового слова и d(bi, bj) = w(b{ + bj). Рассмотрим фактор-группу С/К. Смежные классы здесь будут определяться сдвигом е + 6, Ъ е К. В качестве представителя смежного класса выберем элемент с наименьшим весом. Будем такие элементы называть лидерами смежного класса. Если лидеры трактовать как векторы ошибок, то каждый смежный класс — множество искаженных слов в канале связи с фиксированным вектором ошибок, в частности при е = О имеем смежный класс слов без искажений, т. е. множество всех кодовых слов. Процесс коррекции и декодирования слова с заключается в поиске того смежного класса, к которому относится слово с = е + Ь. Вектор ошибок е определяет число и локализацию ошибок, кодовое слово b определяет коррекцию принятого слова. Чтобы облегчить поиск смежного класса и тем самым вектора ошибок, Хемминг предложил использовать групповые коды со специальными порождающими матрицами. 184
13.4. Хемминговы коды Рассмотрим построение хеммингова (га, п)-кода с наименьшим весом кодового слова равным 3, т. е. кода, исправляющего одну ошибку. Положим п = 2Г — 1 и пусть в каждом кодовом слове будут г символов контрольными, а га символов (т = п — г = 2Г — 1 — г) — информационными, г > 2, например (1, 3)-код, (4, 7)-код и т.д. При этом в каждом кодовом слове 6 — Ъ\Ъ<1... Ьп символы с индексами, равными степени 2, будут контрольными, а остальные — информационными. Например, для (4, 7)-кода в кодовом слове 6 = 61626364656567 символы 616264 будут контрольными, а символы 63656667 — информационными. Чтобы задать порождающую матрицу G хеммингова (т,п)-кода, рассмотрим вспомогательную матрицу М порядка гхп, где п = 2Г — 1, такую, что в каждом j столбце матрицы М будут стоять символы двоичного разложения числа j, например для (4, 7)-кода матрица М будет 3x7: (О 0 0 1 1 1 0 110 0 11 1 0 1 0 1 0 Множество всех кодовых слов зададим как множество решений однородной системы линейных алгебраических уравнений вида ЬМТ = 0. Например, для (4, 7)-кода такая система будет: + 63 + 65 + 67 = 0. Выберем естественный базисный минор системы ЬМТ — 0, стоящий в столбцах с номерами, равными степени 2. Тем самым переменные разделим на базисные (кодовые) и свободные (информационные). Теперь, задав свободные переменные, легко получить базисные. Найдем фундаментальную систему m — п — г решений этой однородной системы. Тогда любое решение системы есть линейная комбинация этих m решений. Поэтому, выписав построчно га решений фундаментальной системы в виде матрицы G размером га х п, получим порождающую матрицу хеммингова группового (га, п)-кода, например для (4, 7)-кода фундаментальной системой решений будут 4 = 7 — 3 следующих решения однородной системы: 91 = 1110000, д2 = 1001100, дз = 0101010, дА = 1101001. 185
Любая линейная комбинация этих решений будет решением, т. е. кодовым словом. Составим из этих фундаментальных решений порождающую матрицу /1 1 1 О О О (Л 10 0 110 0 0 10 10 10 \1 1 0 1 0 0 1, Теперь по любому слову а длиной га = 4 легко вычислить кодовое слово 6 длиной п = 7 при помощи порождающей матрицы 6 = aG. При этом символы 63,65,66,67 будут информационными. Они совпадают с ах,а2,аз,а4- Символы 61,62,64 будут контрольными. Вывод. Хемминговы коды удобны тем, что при декодировании легко определяются классы смежности. Пусть принятое по каналу связи слово будет с = е + 6, где е — ошибка, 6 — кодовое слово. Тогда умножим его на вспомогательную матрицу сМт = (е + Ь)МТ = еМт. Если еМт = 0, то слово с — кодовое и считаем: ошибки нет. Если еМт ф 0, то слово е определяет ошибку. Напомним, что построенный хеммингов (га, п)-код определяет одну ошибку. Поэтому вектор ошибки е содержит одну единицу в г позиции. Причем номер г позиции получается в двоичном представлении как результат еМт, совпадающий с г столбцом матрицы М. Осталось изменить символ г в принятом по каналу слове с, вычеркнуть контрольные символы и выписать декодированное слово. Например, пусть принятое слово будет с = 1100011 для (4,7)-кода Хемминга. Умножим это слово на матрицу Мт. Получим (1100011)Мт = (010). Следовательно, есть ошибка во втором символе. Поэтому кодовое слово будет 6 = 1000011. Вычеркнем контрольные символы 6i, 62,64. Декодированное слово будет а = ООН. Конечно, если ошибка была допущена более чем в одном символе, то этот код ее не исправит. (Почему?)
ЧАСТЬ V МАТЕМАТИЧЕСКАЯ ИНФОРМАТИКА (теория слабоформальных систем) В этой части будем изучать интеллектуальные системы (ИС). В отличие от кибернетических систем (КС) эти системы могут функционировать в нештатных режимах, т. е. решать неизвестные им задачи или известные для них задачи в условиях неопределенности и неполной информации. ИС способны приобретать опыт, действуя в нештатных ситуациях, принимая решения и синтезируя новые алгоритмы решения. Тем самым ИС — развивающиеся, недетерминированные, слабоформальные в отличие от КС, которые являются жесткими, детерминированными, автоматными и сильноформальными. ИС изучаются в рамках математической информатики. В этой части будут рассмотрены вопросы семантики языков, принятия решений и особенности функционирования интеллектуальных систем. Глава 14 СЕМАНТИКА ЯЗЫКОВ. ИНФОРМАЦИЯ О ТОЧКЕ И МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ БАЗ ДАННЫХ В математической информатике главное внимание уделяется прагматике языка, используемого в интеллектуальных системах. При этом на первое место здесь выдвигаются вопросы семантики языка. Напомним, что вопросы синтаксиса языка (грамматики и автоматы) подробно рассматривались в рамках математической кибернетики (см. ч. IV). 14.1. Четкие сведения о точке Дадим строгое определение центральному понятию, информации о точке. Рассмотрим некоторое множество X, которое будем называть опорным. Пусть для любой точки опорного множества имеет- 187
ся возможность (алгоритм) проверки выполнения какого-либо свойства, т.е. можно во множестве X выделить подмножество 8 тех точек, которые обладают этим свойством. Про такое подмножество говорят, что оно четкое и разрешимо относительно X (см. подразд. 12.1). Будем отождествлять понятия «свойство» и «подмножество всех точек из X, обладающих данным свойством». В свою очередь, для любого четкого, разрешимого подмножества множества X можно ввести такое свойство, которое целиком бы определяло это подмножество. Для простоты будем обозначать одним символом и свойство, и подмножество всех точек X, обладающих этим свойством. Определение 14.1. Пусть хо — точка множества X, 8 — некоторое подмножество множества X, которое определяется свойством 5. Тогда факт хо е 8, или истинное высказывание «точка хо из X обладает свойством 8», называется четким (элементарным) сведением, о точке хо из X. Этот факт записывается в виде одноместного предиката с его истинностным значением (см. подразд. 9.1): (1)8(х0), хо е X. Здесь символ (1) перед свойством 8 указывает на истинность предиката. В этой формуле предикатный символ свойства 8 есть одновременно символ подмножества 8 с X и символ свойства, которое определяет это подмножество. Предикатный аргумент хо есть символ, указатель, имя, идентификатор точки хо е X. Определение 14.2. Пусть известно, что точка хо из X не обладает свойством 8, т.е. хо $. 8. Отрицательное высказывание также называется четким {элементарным) сведением о точке хо 6 X и записывается в любом из двух равносильных видов: (0)8(х0) Здесь символ (0)L стоящий перед свойством 8, указывает на ложность сведения, 8 — дополнение к 8, т. е. 8 - Х\Ъ. Рассмотрим пример конкретного элементарного (четкого) сведения об объекте: «Эта шариковая ручка с пастой синего цвета». Разберем смысл (семантику) такого сведения. Обратим внимание на то, что со сведением обязательно должен быть связан 188
некоторый источник информации — датчик. С данным сведением связан датчик, определяющий цвет пасты в ручке. Такой датчик должен быть применим к любому объекту, который относится к шариковым ручкам. Тем самым шариковые ручки (а не книги и пр.) определяют исходное так называемое опорное множество X объектов, допустимых для данного датчика. Из многих шариковых ручек датчик выделяет часть (подмножество) ручек с конкретным синим цветом пасты, т. е. подмножество 8. Никаких различий между шариковыми ручками с одним синим цветом пасты датчик не делает. Далее, сведение говорит о конкретной шариковой ручке, на которую указывает местоимение «эта». Данным местоимением определяется идентификатор ручки xq. Теперь добавим в пример еще одно слово: «Эта ручка, скорее всего, с пастой синего цвета». Данное сведение о конкретной шариковой ручке — уже неэлементарное. Оно имеет специфическую характеристику, выражаемую словами «скорее всего». Здесь имеем дело не с истинным высказыванием, а со случаем, когда есть высокая вероятность истинности. Это выражают слова «скорее всего». В общем случае всякое сведение обладает специфической характеристикой, определяемой особенностями датчика, его надежностью и т. д. Поэтому вводится понятие «семантической достоверности», которую обозначают буквой р. Характеристика^ может быть величиной скалярной, векторной, лингвистической и т. п. Например, если р. — скалярная достоверность сведения, то принято считать, что 0<р< 1. В этом случае р — 1 соответствует истинному показанию датчика, р — О — ложному, 0 < р < 1 — возможно верному показанию. В примере сведение имеет семантическую достоверность, выраженную словами «скорее всего», что соответствует достоверности р, близкой к 1. Если достоверность в тексте предложения естественного языка опущена, то по умолчанию обычно предполагается, что р = 1. Когда семантическая достоверность равна не только 1 или 0, то сведение уже будет нечетким (неэлементарным). Подробно нечеткая информация будет рассмотрена в подразд. 14.4. Определение 14.3. Семантика четкого (элементарного) сведения — это следующие четыре величины: 1) опорное множество X объектов; 189
2) семантический указатель хо одного из объектов X, т.е. х0 еХ; 3) четкое, разрешимое подмножество 8 объектов из X, т.е. 5CI; 4) семантическая достоверность р, которая характеризует достоверность условия хо € 8, при этом значение р равно только 1 или 0. Всякое сведение об объекте хо е X записывается формулой В случае р = 1 удобно в четком сведении опускать достоверность в записи у подразумевая ее по умолчанию. Другими словами, будем писать по умолчанию четкое (элементарное) сведение (1)8(х0) в виде 8(я0). Вывод. Всякое четкое (элементарное) сведение предполагает свой первоначальный источник, т. е. датчик этого сведения. Всякое четкое (элементарное) сведение описывает два четких множества объектов. Одно — опорное множество X тех объектов, которые являются допустимыми для датчика, другое — множество 8 тех объектов из X, для которых датчик фиксирует вполне определенное (четкое) свойство. Тем самым 8 с X. Всякое четкое (элементарное) сведение должно иметь указатель (имя) объекта, о котором сообщается в данном сведении Хо Gl, Xo G 8. Всякое четкое (элементарное) сведение обладает семантической достоверностью сведения р, которое равно 1 или 0. Еще раз отметим, что будем опускать достоверность в записи для четкого (элементарного) сведения, если р = 1. Таким образом, по умолчанию, в сведении 8(хо) считаем р = 1. Замечание 14.1. Всякое четкое (элементарное) сведение предполагает пользователей этого сведения. При этом для пользователя опорное множество X и подмножество 8 совпадают с теми двумя множествами X и 8, которые определяются датчиком, т. е. датчик и пользователь вкладывают один и тот же смысл в обозначения X и 8. А семантический указатель точки хо сведения понимается датчиком и пользователем по-разному. Для датчика (источника информации, источника сведения) семантический указатель связан с определенным, конкретным объектом, тогда как для пользователя этот указатель часто связан с неизвестным объектом. Другими словами, для датчика xq — известная константа, а для пользователя хо — часто неизвестная константа, которая может принимать любые значения из 8. Определение 14.4. Пусть 8i(xo) и 82(^0) — два четких сведения о точке хо G X. Эти сведения называются сравнимыми на 190
общность между собой, если одно из подмножеств §i и &2 является частью другого. Если &i С 82, то 82(^0) — более общее сведение, чем 8i(xo) или 8i(#o) ~~ конкретнее (менее общее), чем §2(#о)- Пример 14-1> Пусть жоЕХи 8(хо) ~~ элементарное сведение об xq. С этим сведением 8(хо) всегда сравнимы следующие два сведения: 8*(хо), где 8* = X, и 8*(хо), гДе 8* = {хо} — одноточечное подмножество. Имеет место сравнение 8* с 8 с 8*. Здесь 8*(#о) — наиболее общее сведение из всех сведений о точке. А 8* (хо) ~~ наименее общее сведение о точке (наиболее конкретное сведение). Для элементарных (четких) сведений справедливы следующие утверждения [14]. Теорема 14.1. Для всякого элементарного сведения 8(хо) о точке хо Е X и любого надмножества 8 э 8 в X имеем xq е 8, т. е. 8(хо) также является элементарным сведением о той же точке хо. Теорема 14.2. Для любых двух элементарных сведений 8i(#o) и 82(^0) ° точке хо ЕХ элементарными сведениями о той же точке хо будут: (Sin82)(x0); (8iU82)(x0). Определение 14.5. На множестве всех элементарных сведений об одной точке хо Е X определены следующие логические операции: 1) конъюнкция — 8i(xo) &82(хо) или 8i(xo) Л &2(хо); 2) дизъюнкция — 8i(xo) V 82(хо); 8i(xo)V82(xo) = (&i 3) отрицание — ]&(хо); Логические операции над элементарными сведениями о точках X удовлетворяют следующим законам. • Идемпотентность: 8(х)&8(х) = 8(х), 8(x)VS(x) = 8(x). 191
Коммутативность: bi(x)kb2(x)=b2(x)kbi{x), §i(x)V&2(z) =b2(x)Vbi(x). Ассоциативность: bi(x) V {Ь2(х) V Ьз(х)) = (8i(a:) V Ь2{х)) V bz(x). Дистрибутивность: Ых) V (Ь2(х) к 83(х)) = (&!(*) V 52(*)) & (ВД V • Инволютивностъ: Закон де Моргана: Пример 14-2. Пусть X = R. Про точку хо е R известно сведение 8i(xo), где Si = {ж: л/5ж - х2 < 2}. Рассмотрим типовые приемы преобразований из элементарной математики с точки зрения операций над сведениями. 1. Освобождение от иррациональности в неравенстве у/Ъх — х2 < 2 означает переход к более общему сведению &2(#о)> где &2 = {х: х2 - Ъх + 4 > 0}. 2. Учет области допустимых значений для квадратного корня приводит к другому сведению §з(#о)> где Ь% = {х\ Ьх — х2 > 0}. Сведение &з(жо) также более общее, чем 5i(#o), т&к как &i С §з- Сведение 5i(xo) равносильно конъюнкции полученных более общих сведений: &i(a?o) = 82(хо)&:5з(хо) = (82 П53)(я?о). Этот факт обычно записывают в форме системы неравенств {х2 - Ъх + 4 > 0; Ъх - х2 > 0. В то же время сведение §2(хо) можно представить следующей дизъюнкцией: 192
Ы*о) = §^(*0) V Ь+(ХО) = (&2 U где 8^ = (-оо; 1); 8^ = (4; +оо). Теорема 14.3. Для любой точки хо е X множество всех элементарных сведений об этой точке образует дистрибутивную решетку (см. подразд. 7.3), частично упорядоченную сравнением на общность, с максимальным 8*(жо) и минимальным 8*(хо) эле~ ментами, где 8* = X, 8* = {хо}. Для любых двух сведений 5i(#o) и 82 (хо) справедливы равенства: inf{8i(z0); 82(х0)} = 8i sup{8i(z0); 82(z0)} = §1(^0) Прежде, чем перейти к определению главного понятия «элементарная информация о точке», остановимся еще на одном вопросе. Наряду с отдельными сведениями об объекте часто имеют дело с наборами, семействами сведений об объекте. Пример 14-3. Пусть X = R. Примерами семейств элементарных сведений о некотором действительном числе хо € R будут где Z — целые числа; А2(х) = { где 8i = Z, 82 = А — неотрицательные числа; где &i = Z, 82 = А, 83 = В — числа, кратные трем, и т. д. 14.2. Четкая информация о точке Теперь переходим к понятию «информация о точке» или «информация об объекте». Будем различать четкую и нечеткую информации о точке. Здесь рассмотрим только четкую информацию о точке. Определение 14.6. Непустое семейство элементарных (четких) сведений о точке хо из X называется элементарной (четкой) информацией о точке хо из X и обозначается /(жо), если выполнены три условия: 193
1) из 8(хо) £ 1(хо) следует, что 8 ф 0, т. е. 8 — непустое множество; 2) из Ъ(хо) е /(хо) следует, что любое более общее сведение 8(хо) также принадлежит /(хо), т.е. для любого надмножества 8 2 § в X будет 8(х0) е /(х0); 3) из 8i(x0), 82(х0) G /(х0) следует, что 8i(xo)&82(xo) € /(х0). Таким образом, под элементарной (четкой) информацией о точке понимается не просто семейство каких-либо сведений, а такое семейство, к которому относятся сами сведения вместе с их обобщениями и конъюнкциями. На практике обычно с этими вторичными сведениями не связывают новую информацию. Например, пусть имеется сведение «хо > 1» про число х$. Более общее сведение «хо > 0» про то же число хо не дает ничего нового по сравнению с тем, что дает само сведение «хо > 1». Рассмотрим два элементарных сведения 8i(xo) и 82(хо) о некоторой точке хо G X. Определим ту информацию, к которой оба сведения принадлежат. Для этого находим конъюнкцию и рассмотрим семейство /(хо) всех сведений вида 8(хо), где 8 — различные надмножества 8о, т. е. 8 I) §о- Полученное семейство /(хо) будет искомой информацией. В частности, например, если X = R, 8i = [0;2], 82 = [1;4], то 8о = [1; 2] и 8 — различные надмножества отрезка [1; 2]. 14.3. Носитель четкой информации о точке Теперь перейдем к определению понятия носителя информации. Определение 14.7. Носителем элементарной (четкой) информации I(xq) о точке хо е X называется всякое подсемейство Д(#о) сведений, входящих в состав /(хо), таких, что для любого сведения 8(хо) из I(xq) существует менее общее сведение 8(хо) из Д(жо), т. е. 8 С 8. Носитель, состоящий из одного сведения, называется одиночным. Если Д(#о) ~~ носитель информации /(хо), то говорят, что информация /(хо) принесена носителем А(хо). Определение 14.8. Два носителя называются эквивалентными^ если они приносят одну и ту же информацию. 194
Теорема 14.4. У каждой элементарной (четкой) информации имеется хотя бы один носитель (например, сама эта информация) . Теорема 14.5. Всякий носитель Д(жо) однозначно определяет принесенную им элементарную (четкую) информацию 1(хо). Доказательство. Проведем доказательство методом от противного. Пусть кроме информации /(жо) имеется другая информация /(жо) с тем же носителем Д(жо). Рассмотрим любое сведение 8(жо) из /(жо). По определению носителя существует менее общее сведение Ъ(хо) е Д(жо), такое, что 8 с 8. Но Д(жо) является носителем /(жо), и, следовательно, сведение Ъ(хо) принадлежит /(жо). Тогда по определению элементарной информации всякое более общее сведение, в частности 8(жо), принадлежит /(жо). Отсюда /(жо) является подсемейством /(жо). Аналогично в обратную сторону, т. е. /(жо) — подсемейство /(жо). Следовательно, I(xo) = /(жо). Ш Теорема 14.6. Если информация I(xq) имеет одиночный носитель 8(жо), то этот носитель определен однозначно. Доказательство. От противного. Предположим, что имеется два одиночных носителя 8(жо) и Кхо) Для информации /(жо). В силу того, что Ъ(хо) — носитель информации /(жо), сведение 8(жо) принадлеж:ит 7(жо). Далее, по определению носителя 8(жо) для любого сведения из /(жо), в частности для 8(жо), существует менее общее сведение из носителя, т. е. 8 С 8. Аналогично получаем обратное включение 8 с 8, т. е. имеем 8 = 8. ■ Теорема 14.7. Всякий конечный носитель Д(жо) информации /(жо) эквивалентен некоторому одиночному носителю. Доказательство. Пусть Д(жо) = {8х(жо), . ..,&п(жо)} — носитель из п сведений. Их конъюнкция 8о(^о) = 81(ж0)&82(ж0)& ... &8п(ж0) тоже принадлежит /(жо) (рис. 14.1). По определению носителя для 8о(жо) существует 8д.(жо) е Д(жо), более конкретное, чем 8о(жо), т. е. 8^ С 8о- С другой стороны, так как 8о — пересечение подмножеств, то для 8^(жо) имеем 8о Q 8/с- 195
Рис. 14.1. Конъюнкция сведений Рис. 14.2. Отсутствие одиночного носителя информации Следовательно, среди сведений носителя Д(хо) есть сведение §к(хо) = &о(#о)- ^ остальные сведения более общие, чем &о(^о)« Поэтому одиночный носитель §о(#о) приносит ту же информацию /(хо), что и носитель Д(хо). ■ Замечание 14.2. Для точки хо G X возможны два вида информации о ней: 1) информация, которая имеет одиночный носитель; 2) информация, которая не имеет одиночного носителя. Информация первого вида взаимно-однозначно определяется своим одиночным носителем. Информация второго вида имеет только бесконечный носитель и не может иметь конечного носителя. Пример 14-4- Пусть X = R, §i = [0;2]; S2 = [1;4]; 80=§1&52 = = [1;2]. Здесь носителем информации является семейство Д(х0) = {&i(*o), 82(*o), So(xo)}. Эквивалентным носителем той же информации является одиночный носитель §о (#())• Пример 14>5. Пусть X = R2. Рассмотрим семейство всех окрестностей некоторой точки хо £ X. С каждой такой окрестностью 8 связано сведение §(хо) о точке хо G X. А все семейство таких сведений определяет некоторую информацию /(хо) о точке хо, так как выполняются условия определения элементарной информации. Носителем А(хо) такой информации является любое фундаментальное семейство окрестностей точки, т.е. такое подсемейство окрестностей, которое обладает свойством: для любой окрестности точки найдется окрестность из этого подсемейства, которая будет подмножеством исходной окрестности. 196
Эквивалентный носитель Д(жо) т°й же информации определяется другим фундаментальным семейством окрестностей той же точки #о, причем эквивалентные носители Д(#о) и Д(жо) могут не иметь общих сведений. Одиночного носителя эта информация также может не иметь. Рассмотрим семейство окрестностей Для различных последовательностей еп, п — 1,2, ..., lim гп = = 0, получаем эквивалентные носители одной информации, например еп = -, или zn = — (а > 0), или zn = ехр(-п) и т. д. Одиночного носителя такая информация не имеет (рис. 14.2). Замечание 14.3. Понятия «элементарная информация об объекте» и «носитель элементарной информации об объекте» различны. Бывают разные носители элементарной информации об объекте, которые определяют одну и ту же элементарную информацию об этом объекте. Рассмотрим пример различных носителей одной и той лее информации. Пример 14' 6. Адрес некоторого местожительства х §1 — г. Москва; Л I &2 ~~ ул. Академика Петровского; Ьз-Дом3; Ъ4 — кв.42. Опорное множество X — всевозможные местожительства в России, §i — подмножество местожи^ельств города Москвы и т. д. Теперь рассмотрим описание того же местожительства другим способом: 5i — г. Москва; §2 — к северо-западу от телебашни Шухова; &з ~ ближайшее кирпичное 14-этажное здание; §4 — квартира на одиннадцатом этаже напротив лестничной двери. Носители А(х) и Д'(х) — разные, но они дают одну и ту же информацию о местожительстве. Разные носители, приносящие одну и ту же информацию, являются эквивалентными и записываются: А(х) ~ А(х). 197
Одна и та же информация может быть принесена разными носителями, но каждый носитель определяет свою единственную информацию. В 1937 г. вышла знаменитая работа крупнейшего французского математика А. Картана под названием «Фильтры и ультрафильтры». В этой работе А. Картан изложил общую теорию сходимости. Работа эта — небольшая по размеру, но значение ее для математики переоценить трудно. Известно, что такое предел и соответствующие строгие определения для случаев: хп —> хо при п -» оо, х —> жо, х —> хо — О, х —> хо + 0, х —» оо любого знака и др. А. Картан дал единое определение для всех случаев сходимости, введя понятие фильтра. Напомним основные определения (см. подразд. 7.2). Определение 14.9. Всякое непустое семейство F подмножеств X называется фильтром в X, если выполнены три аксиомы (условия): 1) пустое множество 0 не принадлежит F; 2) всякое надмножество 8 множества Ъ е F принадлежит F; 3) пересечение конечного числа множеств из F принадлежит F. Если задан фильтр F в X, то говорят, что множество X фильтруется этим фильтром F. Пример 14-7. Пусть X — исходное опорное множество. Рассмотрим семейство, образованное одним элементом {X}. Это семейство есть тривиальный фильтр F\. Пример 14-8. Рассмотрим произвольное множество X и произвольное подмножество 8сХ(8/Х, 5^0). Фильтр F2 — семейство, состоящее из всех 8, 8 Э 8, 8 с X, т. е. из всех надмножеств множества 8. Тогда: • для V8 Е F2 имеем 8 Ф 0; • для V8 е F2 из условия 828^8, SCX следует 8 е F2; • пусть 8i, 82 € F2, имеем 8i П 82 2 8 и, следовательно, пересечение принадлежит F2 (рис. 14.3). Пример 14-9. Рассмотрим X — прямоугольник на плоскости, и пусть хо Е X. Фильтр Fs образуем из всех окрестностей точки хо. Фильтр Fs называется ультра- Рис. 14.3. Фильтр всех фильтром. надмножеств данного Определение 14.10. Базисом филъ- множества тра F в X называется всякое подсемей- 198
ство А семейства F, такое, что для любого Ь е F найдется 8 е А, такое, что 5 с 5. Рассмотрим фильтры из примеров 14.7 — 14.9. Пример 14-Ю. Базисом фильтра F\ является сам фильтр F\ = {X} = Ai — одноэлементное семейство (см. пример 14.7). Пример 14*11. Базисом фильтра i<2 является А2 = {&} — одноэлементное семейство (см. пример 14.8). Пример 14-12. Базисом фильтраF3 является Д3= {&ь §2, • • •, 8п, • • •} — некоторая фундаментальная счетная система окрестностей точки хо (см. пример 14.9). Теорема 14.8 (о фильтре). Для любой элементарной информации 1(хо) о точке хо е X из сведений вида §(хо) семейство подмножеств {5} образует фильтр в X, который обозначим тем же символом I. Для всякого носителя Д(#о) информации 1(хо) из сведений вида Ъ(хо) семейство подмножеств {§} образует базис фильтра I. Этот базис будем обозначать А. Верно и обратное. Всякий фильтр / в X из подмножеств 8 с X, которые содержат некоторую точку хо £ X, задает информацию 1(хо) об этой точке из сведений вида Ъ(хо). При этом любой базис А этого фильтра / определяет носитель Д(#о) такой информации. Доказательство приведено в [14]. Замечание 14.4. Информация о точке соответствует фильтру, который, в свою очередь, определяет сходимость к точке. Таким образом, информация о точке хо связана с процессом фильтрации опорного множества X, процессом выделения более близких точек кжои отбрасывания далеких точек, процессом организованного отбора точек с целью получения точки xq . Замечание 14.5. Вернемся к предикатной записи элементарной информации I(xq) и ее носителя Д(#о) £ ^(#о)- Здесь предикатный символ / интерпретируется как фильтр в X, а А — как базис фильтра/. Определение 14.11. Две элементарные информации Ii(xq) и /2(а?о) ° точке хо е X называются сравнимыми на больше- менъше, если один из фильтров Д, /2 мажорирует другой, т.е. содержит другой как подсемейство. При этом, если Д С /2, то говорят, что информация /2(^0) больше информации ii(xo), и пишут h(xo) £ ^2(^0) (соответственно, информация Ii(xq) меньше /2(^0))- Если для некоторой информации о точке хо £ X нет информации больше, чем она сама, то ее называют максимальной и обозначают через /щах(яо)- Аналогично, /min(#o)- 199
Замечание 14.6. Элементарные информации о разных точках между собой не сравниваются. Теорема 14.9. Элементарная информация о точке х$ е X, состоящая из одного самого общего сведения 8*(#о) (т-е- $* — -*0> является единственной минимальной информацией /min(#o)- Элементарная информация, состоящая из всех возможных сведений Ъ(хо) о точке #о> является единственной максимальной информацией /тах(#о)- При этом /тах является ультрафильтром. Доказательство. Проведем доказательство методом от противного. Пусть' существует другая минимальная информация /min(xo). В любой информации содержится самое общее сведение §*(жо), где 8* = X. Следовательно, /тт(жо) может быть только большей информацией, чем /min(^o) — {&*(жо)}> что противоречит определению минимальной информации. Для максимальной информации имеем: если /тах(#о) — ДРУ- гая максимальная информация, отличная от /тах(#о)> ТО в ней может быть только меньше сведений, чем в /тах(#о)5 ибо последняя содержит все возможные сведения. Так что /тах(#о) не является максимальной. ■ Теорема 14.10. Любая элементарная информация 1(хо) о точке хо G X сравнима с /min(^o) и Лпах(#о)> ПРИ этом Лшп(яо) С /(хо) С /щах(хо). Доказательство приведено в [14]. Теорема 14.11. Две элементарные информации /i(xo) и /2(^0), имеющие одиночные носители §i(xo), &2(жо) сравнимы на больше-меньше тогда и только тогда, когда сравнимы на общность сведения §i(xo), §2(^0)- Причем для /i(#o) S /2(^0) необходимо и достаточно, чтобы §i D 82- Другими словами, среди информации с одиночными носителями большую информацию приносит более конкретное сведение и только оно. Доказательство. Необходимость. Пусть h(xo) с /2(^0)- Тогда любое сведение из /i(xo), B частности Si(xo), принадлежит Но &2(жо) ~~ °Диночный носитель hfao)- Следовательно, 82(^0) — менее общее сведение, чем §i(o;o), т-е- &2 — ^1- Достаточность. Пусть Ь\ Э 82. Тогда сведение §i(xo), как более общее, чем §2(#о)> принадлеж:ит /2(^0) по определению информации. Следовательно, и любое другое сведение из /i(#o)> как более общее, чем 8i(^o), также принадлежит /2(^0). Отсюда h(xo)ci2(xo). ■ 200
Теорема 14.12. Две элементарные информации I(xq) и /(#о), имеющие произвольные носители Д(а?о) и Д(жо)» сравнимы на больше-меньше тогда и только тогда, когда для любого сведения одного из носителей существует менее общее сведение из другого носителя. Другими словами, для /(#о) ^ Пхо) необходимо и достаточно, чтобы для любого 8(#о) из Д(а?о) существовало 8(жо) из Д(жо), такое, что 8 2 8. Доказательство. Необходимость. В силу 1(хо) с /(жо) любое сведение 8(а?о) носителя Д(#о) принадлежит 1(хо). По определению носителя Л(#о) для 8(жо) найдется 8(жо), менее общее, чем 8(жо), т. е. 8 2 8. Достаточность. Так как для любого 8(жо) из Д(жо) существует менее общее сведение 8(жо) из Д(^о)? то &(жо) принадлежит > Тем самым весь носитель Д(хо) является подсемейством I(xq) и, следовательно, информация 1(хо) является подсемейством 1(х0), т.е. 1(х0) с / Определение 14.12. На множестве всех элементарных информации об одной точке из X определены следующие логические операции. Конъюнкция, Ii(xq) & /2(^0) ~~ семейство всевозможных сведений вида конъюнкций 8х(жо)&82(^0) Для любых 8i(#o) ^ h(xo) и 82(^0) £ Д#о) и всех более общих для них сведений. Таким образом: h(xo) k 12 где /з = sup{/i,/2} — фильтр в X из всевозможных пересечений 8i П 82 для любых 8i G /1, 82 G /2 и соответствующих надмножеств. Дизъюнкция, /i(io) v ^2(^0) ~~ семейство всевозможных сведений вида дизъюнкций 8i(xo) V 82(2:0) Для любых 8i(*o) G Д(ж0), 82(х0) G /2(жо), конъюнкций таких дизъюнкций и их обобщений. Таким образом: где /4(жо) = inf{/i,/2} — фильтр в X из всевозможных объединений 8i U 82 для любых 8i G /ь 82 G /2, пересечений таких объединений и их обобщений. Итак, для любой точки хо G X множество всех элементарных информации об этой точке образует дистрибутивную решетку (см. подразд. 7.3), частично упорядоченную сравнением 201
на больше-меньше, с максимальным /тах(#о) и минимальным Лтп(жо) элементами. При этом для любых двух информации h(xo) и /2(а?о) имеем sup{/i(x0), /2(^0)} inf{Ji(x0), h(x0)} = h(x0) V I2(x0). 14.4. Нечеткие сведения о точке Ранее было рассмотрено понятие «элементарная (четкая) информация» и выяснено, что оно определяет сходимость в топологических пространствах по соответствующему фильтру. Несколько позже еще раз вернемся к этому понятию и разберем его в алгебраическом аспекте. Напомним, что любая элементарная (четкая) информация связана с понятием элементарного (четкого) сведения о точке. Элементарное (четкое) сведение связано с одноместным предикатом. На множестве X этот предикат принимает значения «истина» или «ложь». Для точки хо е Х,Ъ(хо) = «истина». Конкретизируя в одноместном предикате Ъ(х) переменное х, имеем различные значения предиката: либо 0, либо 1. Тем самым на X задана функция Это — характеристическая функция множества 5 с X (рис. 14.4). Теперь выясним, про любое ли х е X Xt известно, чему равна хь(х) на этом х? Возможны два случая. 1. Для каждого х е X можно вычислить Xb(x)i T-e- найти значение нуль или единица для этого х. В этом случае функция хъ называется вычислимой (или частично рекурсивной), а ^ ~~ разрешимым множеством. 2- Функция хь(х) невычислима, т. е. нет алгоритма, позволяющего находить зна- чения хъ(х)- В этом случае используют Рис. 14 4 Одномест- ный предикат и харак- теристическая функ- ция множества 202
Да Нет Рис. 14.5. Бинарный датчик ж) = (0)5(ж) некоторую методику (некоторые соображения, как находить эти значения). С прикладной точки зрения первый случай соответствует следующему. Имеется некоторое устройство — бинарный датчик, в основу которого положен алгоритм отыскания значений вычислимой функции Х5> и этот датчик абсолютно надежный (рис. 14.5). С прикладной точки зрения второй случай соответствует блоку бинарных датчиков (рис. 14.6). Ко второму случаю относят так лее ситуацию, когда бинарный датчик не абсолютно надежный. В этом случае создают блок бинарных датчиков (дублирование) для увеличения надежности. Итак, в блоке бинарных датчиков каждый датчик основан на некоторой методике, возможно не абсолютно точной. Результат ответа такого блока датчиков тоже может быть охарактеризован некоторой функцией. Пусть имеется разбиение X = а\ U <22 U аз и при этом: pi указывает, сколько датчиков дали ответ «да» про точку х е X, если х е ai, на вопрос «обладает ли эта точка х свойством &?»; Р2 указывает, сколько датчиков дали на тот же вопрос ответ «да» про точку х е X, если х е <22; рз — аналогичный вопрос и ответ «да» про ту же точку, если точка х е аз- Здесь 0 < рк < 1, А; = 1,2,3. Получили некоторую функцию ^5(^)5 характеризующую выполнение свойства 5 на множестве X. хех Рис. 14.6. Блок бинарных датчиков 203
Рис. 14.7. Ступенчатая функция принадлежности нечеткого (размытого) множества как обобщение характеристической функции множества Среди таких функций [а$, как частный случай, будут встречаться характеристические функции хь(х) (см- Рис-14.4). Функция ^5 (х) своего рода «размытая» характеристическая функция множества, называется функцией принадлежности. Функция принадлежности определяет множество 8, которое называется нечетким (размытым) множеством (рис. 14.7). Перейдем к формальному определению. Определение 14.13. Пусть имеется разбиение опорного п множества X: X = (Ja^; щ П clj = 0, г ф j. Функцией принадлежности W(*):*-[O;1] называется ступенчатая функция, отображающая все опорное множество X в отрезок [0; 1]: {pi, х е а\\ ... Рп, х е ап. Здесь 0 < pi < 1, г = 1, ..., п. В частном случае (см. подразд. 1.3), когда X = \J {x} (по- хех точечное разбиение), функция принадлежности может иметь неступенчатый вид (рис. 14.8). Будем говорить, что определено нечеткое (размытое) множество I, если задана функция принадлежности щ{х). В случае, когда среди pi встречаются только 0 и 1, функция принадлежности будет характеристической функцией, а нечеткое множество / будет четким (неразмытым) (см. рис. 14.4). Замечание 14.7. Функцию принадлежности ввел американский математик Л. Заде как обобщение характеристической функции множества. Функция принадлежности определяет нечеткое (размытое) множество. Если ее значения — ненулевые, то эти значения говорят о «степени принадлежности точки х к нечеткому множеству I» (рис. 14.9). Имеются дальнейшие естественные обобщения функции принадлежности. В частности, если в блоке бинарных датчиков (см. рис. 14.6) 204
Р2 Pl\ Рз & «2 a4i Рис. 14.8. Функция принадлежно- Рис. 14.9. Нечеткое сведе- сти нечеткого множества в общем ние о точке случае датчики, различимые по существу, то ответы «да» блока будут не линейно упорядоченными, а частично упорядоченными. В этом случае функция принадлежности определяется отображением множества X не в отрезок [0,1], а в частично упорядоченное множество, например в решетку достоверностей [14]. Определение 14.14. Если / — нечеткое (размытое) множество в X, то факт «точка хо € X принадлежит /» называется нечетким сведением, или сведением общего вида, и означает, что точка хо либо принадлежит а\ с достоверностью р\, либо а2 с достоверностью р2 и т.д. до ап с достоверностью рп. Нечеткое сведение будем записывать в виде 1(х0) = {(pi)ai V (Р2)а2 V ... V (pn)an}{x0), где 0 < pi < 1, г = 1,2, .. . п, рис. 14.9. При этом члены с pi = 0 удобно опускать в записи нечеткого сведения, считая, что они присутствуют по умолчанию. Замечание 14.8. Элементарное (четкое) сведение 5(#о) соответствует частному случаю, когда множество 5 — четкое. Пример 14» 13. Рассмотрим функцию \х^(х) (рис. 14.10). Тогда 8(х0) = {(0)ai V (0)a2 V ... V (0)ак_г V V(l)afc V (1)ак±1 V (ОК+2 V... V {0)ап}{х0) = = {(0)5 V (1)§}(*о) = (1Ж*о). Рис. 14.10. Элементарное сведение о точке соответствует четкому множеству ai '" акак+1 ап X 205
1^ 1 Pi ! аг «2 Рз i «3 X Рис. 14.11. Два сведения общего вида о точке Рис. 14.12. Дизъюнкция сведений общего вида 1J а1 mfo) O2 a3 x Рис. 14.13. Конъюнкция сведений общего вида r1 = l-pl 1, r2 = l- ^2 P2 Г3=1-Рз ! a3 ж з = Рз Рис. 14.14. Отрицание сведения общего вида 206
1, Pk 1 1 1 ak X Рис. 14.15. Типовое сведение общего вида Члены с нулевой достоверностью опускаем. Тогда получаем полное совпадение с ранее введенным понятием элементарного сведения. Определение 14.15. Пусть имеются три сведения общего вида /(хо), т(хо) и п(хо). Пусть /(х0) = {. . . (РгК • • -}(^0), ГП(ХО) = {• . . (<?гК • . .}(х0), п(х0) = {...(ri)ai...}(x0). По определению введем следующие операции. Конъюнкция: /(хо)&га(хо) = п(хо) и г$ = inf{^,<Zz}- Дизъюнкция: /(хо) V ш(х0) = п(х0) и г* = sup{pj,%}. a» Отрицание: ]/(хо) = /'(хо) и р/ = 1 - р*, г = 1,2, ...,гг (рис. 14.11-14.14). Для этих операций выполняются свойства ассоциативности, дистрибутивности и т. д., т. е. для нечетких множеств имеют место свойства, такие лее, как и для четких множеств. Определение 14.16. Сведение общего вида называется типовым, если pi — 0, г — 1,2, ..., к — 1, к + 1, ..., п,рк ф 0. Оно обозначается как {Pk)a>k(xo) (рис. 14.15). Теорема 14.13. Если /(хо) есть сведение общего вида, то его можно представить в виде дизъюнкции типовых сведений: /(х0) = {(pi)oi V (p2)a2 V ... V (рп)ап}(хо) = \/(р{)агЫ), г где pi — достоверности, отличные от нуля. 14.5. Количество информации Нечеткое сведение (сведение общего вида) /(хо) порождает вероятностную меру на X. В самом деле, пусть опорное множество X разбито на части 207
X = II сц, &{ П dj = 0, г Ф j. г Части щ можно связать с событиями жо G а^. Эти события попарно несовместные и образуют полную группу событий. Пусть ai — измеримые множества. Тогда существует mes сц и mesX = г=1 Обозначим: А = V^^mesa^ Ф 0. Тогда величина Q<Pimesoi<1 ~ А ~ мож:ет рассматриваться как вероятность события (гипотезы) Xq G CLi* Рассмотрим функцию вероятность гипотезы xq е щ. Имеем 0 < /Джо, щ) < 1 и и) = 1. Будем обозначать для краткости записи /j(#ch ai) — ft- Определение 14.17. Энтропией сведения 1(xq) называется число, обозначаемое H[1(xq)] и равное H[l(xo)] = -/l log2 /l - . . . - fn bg2 /n, причем: 1) H[l(x0)} > 0; 2) энтропия характеризует неопределенность положения точки XQ. Пусть теперь имеются /Нач(#о) ~~~ начальное сведение и ^втор(^о) — вторичное сведение. Пусть задана энтропия начального сведения Я[/Нач(#о)Ь Каждое из сведений /Нач(^о) и /Втор(#о) имеет свою функцию принадлежности. Можно рассмотреть конъюнкцию этих сведений: 208
Это тоже сведение, функция принадлежности которого получается минимизацией соответствующих функций принадлежности. Найдем энтропию этого нового сведения: Н[1нач(хо) & /втор(яо)]. Определение 14.18. Количество информации в сведении /втор(^о) по отношению к /нач(^о) называется величина: в битах. Замечание 14.9. Количество информации в 1 бит = log2 2 означает, что пришла информация, позволяющая выбрать из двух равных возможностей одну. Пример 14-14- Пусть Х = [0; 1] — опорное множество, Рассмотрим разбиение X на множества ак: ао = [0; 0,1], ..., ад = = [0,9;1]. Пусть про точку хо Е [0; 1] сообщили сведение /Втор(#о)> где /втоР = [0; 0,3]. Итак, /нач = [0; 1], /ВтоР = [0; 0,3]. Сначала найдем энтропию начального сведения Н[1н&ч(хо)]. Для этого предположим, что достоверности положения точки хо в любом ак одинаковы: р0 = рг = ... = р9 = 1. Характеристическая функция /Нач(#о) име^т ВИД> как на рис. 14.16. Найдем значения вероятностей гипотез хо е а^. д 1-0,1 Л = 0,1; к) == Е 1 • о, 1 »=о г=0 Теперь находим энтропию Я[1нач(жо)] = "О, 1 log2 0, 1 - ... - 0, 1 log2 0, 1 = = -llog20,l = log210. Неопределенность большая. Далее, для /Втор(^о) характеристическая функция множества имеет вид, показанный на рис. 14.17. Рассмотрим /Втор(#о)&^нач(#о) и характеристическую функцию множества /Втор П /Нач (минимальные значения из pi и qi по всем (ц). Эта функция имеет такой же вид, как на рис. 14.17. 209
Рис. 14.16. Начальное сведение о точке 0,5 Рис. 14.17. Вторичное сведение о точке Найдем теперь значения новой вероятности гипотез хо Е к = 0,1,2. 1к) = -у^~ = 1/3; г=0 Отсюда Н[/втор (а?о) & ^н - -l/31og2(l/3) - l/31og2(l/3) - l/31og2(l/3) = = -log2(l/3) = log23. Неопределенность уменьшилась: log2 3 < log2 10. И, наконец, количество информации будет равно Q = log2 10 - log2 3 = log2 10/3 = 1,74 бит. 14.6. Данные о точке Понятие информации о точке можно рассматривать в двух аспектах. 1. Топологический аспект. Информация о точке определяет некоторый процесс сходимости по фильтру. Этот аспект подробно обсуждали и исследовали в подразд. 14.1 —14.4. 2. Алгебраический аспект. Второй аспект представляет собой алгебраический подход к понятию информации о точке. Он основан на рассмотрении множества сведений о точке и алгебраических структур на этом множестве. Этот аспект подробно обсудим. 210
В дальнейшем потребуются решетки подмножеств (см. под- разд. 7.4). Вместо термина подмножество в математической информатике часто целесообразнее использовать лингвистический термин «понятие», объем которого совпадает с этим подмножеством. Причем если подмножество — четкое, то понятие — четкое. Если подмножество — нечеткое, то и понятие — нечеткое. Поэтому в дальнейшем будем использовать терминологию: ре- тетка понятий, шкала (словарь) понятий наряду с понятиями решетка подмножеств и шкала подмножеств (см. подразд. 7.4). Определение 14.19. Пусть решетка L понятий для X разложена в конечное произведение своих подрешеток: L = L\ * ... * Lm, и пусть имеется четкое сведение &о(жо) о точке хо £ X, причем ЬоеЬ. Тогда если сведение &о(#о) представлено в виде следующей конъюнкции: где §i e L\, ..., 8m e Lm, то такая конъюнкция называется четкими данными о точке xq e X относительно разложения L и записывается в форме: Ы*0) = (»1 П . . . П Ът)(х0) = {§1, • • • , Пример 14» 15. На здании Московского государственного университета на Воробьевых горах имеется римская запись числа MCMLIII. В позиционной десятичной системе записи чисел — это число 1953. Разберем позиционную систему с информационной точки зрения. Пусть X = N, хо е N, хо = MCMLIII. Тогда имеем: 1) имя числа — хо € N; 2) число единиц — Ь\Д э Ш^д = {0,1, ..., 9}, в числе 1953 это 3; 3) число десятков — L^ec э Ш§ес = {0,1, ... ,9}, в числе 1953 это 5; 4) число сотен — ЩОТ э Ш§от = {0,1, ..., 9}, в числе 1953 это 9; 5) число тысяч — Llblc э Щ|ыс = {0,1, ...,9}, в числе 1953 это 1. Итак, позиционная система записи чисел использует произведение решеток понятий L|bIC * Щот * L%ec * Ь\д и имеет строение данных о точке, аналогичное анкете: хо = 1953. 211
Пример 14-16. Рассмотрим систему линейных алгебраических уравнений: fl(x) = anxi + ... + а\пхп = yi; Jm{x) = 0>ш\Х\ + . . . + CLmnXn = ут. Пусть коэффициенты этой системы и правые части известны точно, и система совместна. Тогда эта система определяет данные о корне #о, возможно неединственном. Здесь опорное множество X = Rn. Если система совместна, то каждое уравнение задает сведение Ъг(хо) про решение xq e X, где Ьг = {х: Д(*)=0}. Вся система задает одиночный носитель §о(#о) информации о решении где 5о ~" мнолсество всех корней системы So = {х: Д (ж) = 0, ..., fm(x) = 0}. Решетка L определяется как произведение L = L\ * ... * Lm, где сомножитель 1^ является расслоением X при помощи функции относительно максимальной решетки 2R. Атомарной шкалой в 2R является семейство одноточечных множеств. Итак, система задает данные о точке xq € X в виде Если над исходной системой производить преобразования, сохраняющие множество §о корней системы, т. е. переходить к эквивалентной системе, то будем получать эквивалентные данные о решении 212
14.7. Ультрамножество — математическая модель локальной базы данных Рассмотрим некоторое опорное множество X и решетку L понятий над ним, т.е. рассмотрим некоторую координатизацию опорного множества (см. подразд. 7.6). Определение 14.20. Пусть решетка понятий L разложена в произведение решеток Ь^(к — 1,2, ..., п): L = L\*L,2 * ... * Ln, и Р — решетка достоверностей, например бинарная решетка Р — = {О,1}, или континуальная решетка — отрезок Р = [0; 1] и т. д. Декартово произведение PxLxX называется ультрамноснсеством, или ультраоснащением множества X и обозначается через X. Элемент (р)1(хо) ультрамножества X есть типовое сведение о точке xq. Ультрамножество есть математическая модель локальной базы данных (ЛБД). Элементами ультрамножества являются сведения. Пусть (l)S(xo) = 8(хо) — четкое сведение о точке xq. Такое сведение — элемент ультрамножества X с достоверностью р = 1. Локальную базу четких данных задают в виде табл. 14.1. Пример 14*17. Пусть имеется элементарное (четкое) сведение (р= 1). Рассмотрим nil с Li, где L\ — решетка понятий «национальность», ..., Шд. с Lfc, где решетка L& — решетка понятий «образование». В табл. 14.1 приведены записи двух четких сведений. Отметим здесь, что в теории баз данных обычно используют следующую терминологию: сведение о точке называют записью базы данных; Таблица 14.1 Локальная база данных для элементарных сведений X х0 XI Uli = {w{, ...,гуп} Wi h = /i(wb •••) ::: Шк = {ti, ...,тт} k = fk(*j> •••) 213
Таблица 14.2 Локальная база данных для неэлементарных сведений X XI IHf (01 Pll 0 0)2 Р21 1 0)п Pnl 0 Plfc 1 P2fc 0 Pmk 0 опорное множество X называют типом объекта; идентификаторы объектов хо, #ь • • • называют ключами записей баз данных; решетки понятий L\, ...,!/& называют атрибутами (свойствами); атомарные шкалы понятий Шь ... ,Ш& называют доменами атрибутов, при этом g>i, ..., <оп, ...,xi, ..., xm — атомы шкал. Пример 14-18. Теперь рассмотрим неэлементарное (нечеткое) сведение, т. е. сведение общего вида. В этом случае ЛБД задается в виде табл. 14.2. В таблице приведены записи одного нечеткого и одного четкого сведений. Здесь X — опорное множество — тип объекта; хо, х\ ~~ идентификаторы объектов — ключи; рц — достоверности гипотез (точка хо принадлежит г-му атому из шкалы Ш^т); IIIfT, ... ,Ш|Т — атомарные шкалы — домены атрибутов. Вывод. Ультрамножество X = Р х L х X является математической моделью локальной базы данных. Термин «локальный» означает, что сведения в базе могут быть только о точках опорного множества X и не могут быть о каких-либо других точках. При этом на опорном множестве X объектов введена конечная система подмножеств L — решетка понятий для X. Эти подмножества можно всегда считать системой открытозамкнутых подмножеств. Тем самым всякая конечная решетка понятий задает топологию в X (см. подразд. 7.1). Кроме топологии решетка L обладает еще и алгебраической структурой, являясь булевой алгеброй с системой образующих Ш С L. Тем самым всякая решетка понятий позволяет определить алгебраическую структуру на множестве сведений о точке. Еще в оснащении опорного множества имеется решетка до- стоверностей, например отрезок Р = [0; 1]. Для четкого сведения имеем р = 0 или р = 1. Для нечеткого сведения имеем 0 < р < 1. 214
Глава 15 ПРИНЯТИЕ РЕШЕНИЙ. УЛЬТРАОПЕРАТОРЫ И МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ БАЗ ЗНАНИЙ В этой главе рассмотрим процесс обработки семантической информации. На практике такая обработка чаще всего выступает как процесс принятия решений. Математическая формализация этого понятия приводит к новому понятию ультраоператора, являющегося обобщением классического понятия оператора (отображения). Классические операторы осуществляют соответствие между точками множеств. При этом подразумевается, что точки (элементы) множеств известны с абсолютной точностью. Ультраоператоры осуществляют соответствие между информа- циями о точках множеств. 15.1. Ультраоператор — математическая модель локальной базы знаний Определение 15.1. Пусть имеется отображение С: Х\ —> Х2. Если любой информации Ii{x\) о произвольной точке х\ е Х\ поставлена в соответствие единственная информация /2(^2) о точке Х2 = Сх\, то говорят, что имеется улътраотображение над С, при этом отображение С называется опорным. Ультраотображение обозначается той лее буквой, что и опорное отображение, только над этой буквой ставится ультрасимвол (галочка) Теорема 15.1. Для любого отображения С и любых решеток достоверностей существует ультраотображение С, для которого отображение С является опорным. Другими словами, любое отображение может быть опорным для любых решеток достоверностей. Теперь перейдем к построению специального способа задания ультраотображения. Этот специальный способ задания напоминает матричное задание линейных операторов в линейных пространствах и связан с новым понятием ультраоператора. В основе понятия информации о точке лежит понятие типового сведения о точке. 215
Типовое сведение о точке есть где р — достоверность, р е Р; 5 — свойство, 5 е L; хо — семантический указатель, имя точки, хо е Х\ X — опорное множество; L — решетка понятий для X; Р — решетка достоверностей. Напомним, что если X — множество, L — решетка понятий для X, Р — решетка достоверностей, то декартово произведение PxLxX = Х называется ультраоснащением множества X, или улътрамно- жеством над X. При этом X называется опорным множеством. Ультрамножество обозначается тем же символом X с галочкой X. Определение 15.2. Пусть Х\,Х2 — два множества; С: Х\ —► —> Х2 ■— отображение, которое назовем опорным оператором, и Х\, Х.2 — ульраоснащения Х\,Х2- Тогда отображение С: Х\-^Х2 называется улыпраопехнгтором над С, если коммутативна диаграмма (рис. 15.1). Здесь гх,Г2 — естественные проекции декартова произведения на последний сомножитель: г\ : Х\ —► Х\, Г2: Х.2 —► Хг- Коммутативность диаграммы означает равенство двух композиций: Cori = Г2 о С. Пример 15.1. Рассмотрим конструкцию простейшего ультраоператора, который будем называть тривиальным. Пусть С: Х\ —> Х2, Х\ = Р х L х Xi — произвольное ультраоснащение Х\; Х2 = Р х Lmax x X2 — специальное ультраоснащение ^2, в котором I/max — решетка всех подмножеств Х2\ Р — решетка достоверностей, единая для Х\ и X<i* Для любого типового сведения I |Г2 Рис. 15.1. Коммутативная диаграмма с ультраоператором и опорным оператором 216
определим С следующим образом: Vе! = Рь &2 = С (hi), х2 = Сх\. Пример 15.2. Рассмотрим один из нетривиальных ультраоператоров. Пусть дан оператор С: Х\ —> Х2, Х\,Х2 — ультраоснащения множеств Х\, Х2 из предыдущего примера. Если про х2 е Х2 известно сведение (\)Ь$(х2) € Х2, то соответствие С: определим следующим образом: Р<1 = ръ §2 - So П C(8i), х2 = Схъ Таким образом, этот ультраоператор с памятью. Он учитывает заранее имеющиеся сведения о точках из Х2. Существуют много разных типов нетривиальных ультраоператоров. Для ультраоператоров естественным образом вводится понятие композиции ультраоператоров. Определение 15.3. Пусть имеются два ультраоператора над опорными операторами Тогда ультраоператор С2 о С\: X —> Z, определяемый естественным образом над опорным С2 о С\: X —> Z, называется композицией ультраоператоров С\ иС2. 15.2. Сингулярные ультраоператоры Рассмотрим тождественное отображение. Определение 15.4. Сингулярным ультраоператором, или классификатором, называется ультраоператор над тождественным отображением. Здесь Х\ = Р\ х Li х X, Х2 = Р2 х х L2 xX — два ультраоснащения опорного множества X. Решетка 217
\ / X х Рис. 15.2. Диаграмма классификатора Pi называется решеткой признаков, решетка P<i — решеткой классов. Коммутативная диаграмма для сингулярного ультраоператора Ё имеет вид, показанный на рис. 15.2. Определение 15.5. Пусть Х\ = Х2 = X, Ё: (pi)bi(x) => {р2)Ых). Если в этой формуле для любого сведения (pi)5i(x) е Х\ будет р2 = Pi'-, §2 = §1) то сингулярный ультраоператОр (классификатор) называется транслятором; если Р2 < Pi; ^2 2 &ъ то он называется обобщающим; если р2 > pi; §2 £ Si, то уточняющим. В остальных случаях — классификатором общего вида. Пример 15.3. Рассмотрим транслятор. Пусть Х\ — Х2 — Х — = PxLxX. В решетке понятий L рассмотрим шкалы IHi и Ш2. Выразим элементы первой шкалы ILIi = {а$, г е Ki} через элементы второй шкалы Ш2 = {(3j, j e K2} с помощью операций пересечения, объединения и разности: 9pp, •■■); ,012 = (Рр Эта система задает сингулярный ультраоператор, который всякое сведение (р)Ь(х) переводит само в себя, т. е. является транслятором. На входе ультраоператора элемент Ъ е L разложен по шкале Шь а на выходе тот же элемент будет разложен по шкале Ш2, т.е. Если вместо термина «шкала» использовать термин «словарь понятий», то транслятор переводит сведение о точке с одного словаря на другой, или, можно сказать, переводит сведение о точке с одного языка на другой. 218
Пример 15.4- Рассмотрим обобщающий ультраоператор. Пусть Х\ = Р х L\ х X, Х.2 = Р х L2 х X, и L\ D £2, т. е. решетка понятий Li более подробная, чем Z/2. Зададим соответствие: Р2 = Pi; 82 = inf {82,82eL2}. 535 Другими словами, понятию Ь\ е L\ сингулярный ультраоператор ставит в соответствие ближайшее более общее понятие из 1,2. По построению будет выполняться условие 52 2 Ъ\ обобщающего ультраоператора. Другой вариант обобщающего ультраоператора получится, если Z,2 = £i и соответствие задается следующим образом: 82 = 81» но Р2 < pi, т- е. уменьшаем достоверность выходного сведения. Наконец, молено использовать обе эти конструкции обобщающего ультраоператора одновременно. Пример 15.5. Рассмотрим уточняющий ультраоператор. Пусть Х\ = Х2 = X = Р х L х X. Сингулярный ультраоператор зададим следующим образом. Пусть существует дополнительное типовое сведение (дЩх0) е X о точке хо е X. Если q > pi, 8 С 8i, то положим р2 = q, 82 = 8; если q > pi и не выполняется 8 с 8i, то полож:им р2 = Pi? 82 = 81 П 8; в остальных случаях положим р2 = рь 82 = 8i. Очевидно, что в любом случае будет выполняться условие 82 Q 81, Р2 > Pi уточняющего ультраоператора. Дополнительное сведение о точке хо е X может быть получено различными способами и храниться в памяти. Понятие транслятора позволяет определить обратные ультраоператоры. Определение 15.6. Пусть имеются два ультраоператора над опорными операторами Пусть (?2 о С\ = Ех — тождественный оператор на X, т. е. оператор <?2 является левым обратным к С\, а оператор С\ — правым обратным к С2- 219
Тогда если композиция <?2 о С\ — Ёх является транслятором, ультраоператор С*2 называется левым обратным к С\, а ультраоператор Ъ\ — правым обратным к С^. Определение 15.7. Если X1 = Р х L1 х X, X2 = Рх L2 хХ — два ультраоснащения одного множества, и L1 С L2, то X1 с X2, и всякий ультраоператор, заданный на X2, будет определен на X1 автоматически. В этом случае ультраоператор, определенный на X1, будет называться суэюением ультраоператора, заданного на X2, и, наоборот, ультраоператор, заданный на X2, будет называться расширением ультраоператора, заданного на X1. Замечание 15.1. Расширения и сужения ультраоператоров происходят за счет решеток понятий. При этом опорный оператор остается одним и тем лее. 15.3. Канонические ультраоператоры Введем на множестве ультраоператоров различные алгебраические операции: конъюнкцию, дизъюнкцию, отрицание. Эти операции позволяют конструировать новые ультраоператоры из уже имеющихся, представляя одни ультраоператоры посредством других. Определение 15.8. Пусть Х,У — ультраоснащения множеств X, У с элементарной решеткой достоверностей Р, т. е. X = PxLxX, Y = PxM xY. Пусть С1, С2 — два ультраоператора, С1: X -+Y иС2: X —>Y над одним опорным оператором С: X —> Y. Конъюнкцией ультраоператоров С1 и С2 называется ультраоператор над тем же опорным оператором С, который обозначается С1 & С2 и действует для любого (1)§(ж) Е X следующим образом: Дизъюнкцией ультраоператоров называется ультраоператор над С, который обозначается С1 V С2 и действует для любого (1)8(х) Е X следующим образом: С1 V С2[(1)Цх)} = PHWx)] V С2[(1)Ь(х)}. 220
Отрицанием ультраоператора С1 называется ультраоператор над С, который обозначается ] С1 и определяется для любого (l)S(x) е X следующим образом: Теорема 15.2. Пусть X1 и X2 — два ультраоснащения одного множества X с элементарной решеткой достоверностей; Ё1, Ё2 — два сингулярных ультраоператора Тогда: если Ё1 — уточняющий ультраоператор, то для любого Ё2 их конъюнкция будет уточняющим ультраоператором; если Ё1 — обобщающий ультраоператор, то для любого Ё2 их дизъюнкция будет обобщающим ультраоператором; если Ё1 и Ё2 — оба обобщающие ультраоператоры, то их конъюнкция будет обобщающим ультраоператором; если Ё1 и Ё2 — уточняющие ультраоператоры, то их дизъюнкция будет уточняющим ультраоператором. Теперь определим важнейший класс ультраоператоров, которые сохраняют логические операции, конъюнкцию и дизъюнкцию, над сведениями о точках. Это так называемые канонические ультраоператоры. Определение 15.9. Ультраоператор С: X —> У для X = Р х х L х X, Y = Q x M x Y называется каноническим, если для любых (pi)8i(#), (p2)&2(#) ^ X имеет место: &i(a;) V (Р2)Ъ2(х)} =д[(Р1)Ъ1(х)] V С[(Р2)Ъ2(х)}. Теорема 15.3. Для того чтобы ультраоператор С: X —> У, X = PxLxX,Y = PxMxY, где Р — элементарная (бинарная) решетка достоверностей, был каноническим, необходимо и достаточно, чтобы существовал для каждого х е X гомоморфизм решетки L в решетку М, т. е. существовало отображение сохраняющее операции пересечения и объединения множеств. Доказательство приведено в [14]. 221
Следствие. Для того чтобы задать канонический ультраоператор для случая элементарной решетки достоверностей, необходимо и достаточно задать для каждого х е X отображение атомарной шкалы Ш^ = {ai, ...} решетки L в решетку М BX:UIL-*M. Определение 15.10. Отображение BX:U1L->M, в котором Ш^ — атомарная шкала решетки L, называется ядром-таблицей канонического ультраоператора, соответствующим решетке понятий L опорного множества X. Определение 15.11. Канонический ультраоператор называется диагональным, если его ядро-таблица имеет частный вид Теорема 15.4. Отображение Вх: Ш^ —> М определяет единственный канонический ультраоператор над С: X —> Y. Другими словами, ядро-таблица канонического ультраоператора определяет свой ультраоператор однозначно. Задание ядра-таблицы канонического ультраоператора упрощается, если фиксировать не только атомарную шкалу Ш^ = = {аьа2? • • •} в решетке L, но и некоторую шкалу Шд^ = {рь р2> • • •} в решетке М. В этом случае соответствие Вх: Ш^ —» М имеет вид Для канонических ультраоператоров справедливы следующие утверждения [14]: 1) композиция конечного числа канонических ультраоператоров — канонический ультраоператор; 2) произведение канонических ультраоператоров — канонический ультраоператор; 3) если С: X —> Y — канонический ультраоператор, X = Р х xLxX;Y = PxMxY, то для любой решетки понятий L\ для X, более подробной, чем L (т.е. L\ D L), существует каноническое расширение С\: Х\ —> Y ультраоператора С на Х\ = Р х L\ xX\ 4) если канонический ультраоператор — универсальный для всех точек X, то его ядро-таблица будет единой для всех точек х е X, т. е. ультраоператор задается ядром-таблицей, где отображение Вх = В не зависит от х. Замечание 15.2. Класс канонических ультраоператоров является основным в приложениях. Главная его особенность — это простое зада- 222
ние. Канонические операторы, их свойства и способ задания напоминают линейные отображения линейных пространств в линейной алгебре. В частности, ядро-таблица ультраоператора играет роль матрицы линейного преобразования в выбранных базисах линейных пространств. Ядро-таблица ультраоператора может быть задана в аналитическом виде, или в форме таблицы, или в другом виде, когда все соответствия или их часть задана, например, в форме алгоритмов. Алгебра канонических ультраоператоров включает в себя все основные операции: композицию, произведение, каноническую конъюнкцию, каноническую дизъюнкцию. Все операции над каноническими ультраоператорами осуществляются посредством действия над ядрами-таблицами этих ультраоператоров. Подробнее с этими вопросами можно ознакомиться в книге [14]. 15.4. Математическая модель распределенной базы данных и знаний Сначала рассмотрим простейший случай распределенной базы данных, состоящей из двух локальных баз данных. Пусть математические модели таких двух локальных баз данных будут Xi = Pi х L\ х Хъ Х2 = Р2 х L2 x Х2. Рассмотрим некоторый оператор С\2 : Х\ —> Х2. Назовем его оператором ссылки. Набор ({Хь Х2}\ Си) описывает две базы данных, связанных между собой. Это математическая модель простейшей распределенной базы данных. Оператор ссылки С\2 позволяет переходить от сведений об объектах Х\ к сведениям об объектах из Х2, образах оператора ссылки. Тем самым в распределенной базе данных можно получать так называемые гипертексты. Рис. 15.3. Простейшая рас- Рис. 15.4. Общий случай распределенной пределенная база данных базы данных 223
Xx cl2 X2 Геометрически простейшую распре- /> | [ •-ч деленную базу данных можно представить в виде графа (рис. 15.3). Рис. 15.5. Локальная база Обп<ий сл^чай Распределенной ба- знаний зы Данных получится, если рассмотреть п локальных баз данных {Х{: г = = 1, ...,п}. Пусть некоторые опорные множества Х{ отображаются в опорные множества Xj с помощью операторов ссылки Сц. Рассмотрим семейство таких операторов {Cij}. Отметим, что в этом семействе для одной и той же пары опорных множеств Xi и Xj могут существовать различные операторы ссылки. Набор ({Xi: г = 1, ... ,п}; {С^}) является математической моделью распределенной базы данных. Ее геометрической иллюстрацией будет мультиграф, вершины которого соответствуют локальным базам данных, а дуги — ссылкам (рис. 15.4). Перейдем теперь к распределенным базам знаний. Рассмотрим ультраоператор С12: Х\ —> Х2- Уже говорили, что это модель локальной базы знаний. Заметим, что ультраоператор Ci2 осуществляет отображение не опорных множеств (как оператор ссылки С12), а ультрамножеств. Тем самым ультраоператор является обобщением простейшей распределенной базы данных (см. рис. 15.3). Это обобщение состоит в том, что оператор ссылки в распределенной базе данных достраивается (ультраоснащается) до ультраоператора. Его геометрической иллюстрацией является двудольный граф с двумя видами вершин, сеть Петри (см. подразд. 4.6) (рис. 15.5). Общий случай распределенной базы знаний получится из распределенной базы данных путем оснащения всех операторов ссылки. Геометрическая иллюстрация распределенной базы знаний в общем случае достраивания всех операторов ссылки до ультраоператоров представлена на рис. 15.6. Обратим внимание на то, что распределенные базы знаний всегда связаны с соответствующими распределенными базами данных. Распределенные базы данных и знаний позволяют дополнять выходные локальные базы данных сведениями, являющимися значениями соответствующих ультраоператоров от имеющихся сведений во входных базах данных. Такие дополнительные сведения есть умозаключения, логические следствия из имеющихся в базе данных сведений. Поэтому в распределенной базе данных и знаний работают не только с первоначальными гипертекстами, 224
Рис. 15.6. Распределенная база знаний и данных но и с ультратекстами. Ультратекст — новый гипертекст, дополненный логическими следствиями сведений первоначального гипертекста на основе знаний, которые представлены в форме ультраоператоров (подробнее см. в [14]). 15.5. Модель лица, принимающего решения Процесс принятия решения состоит из двух или более этапов [7]. На первом этапе формируется множество альтернатив будущего решения. На втором и последующих этапах происходит анализ альтернатив и выбор лучшего варианта решения. С точки зрения математической информатики принятие решения сводится к проблеме обращения ультраоператора. На первом этапе задается ультраоператор д: X —> Y. Будем его называть ультраоператором главного контроля решения. Входное ультрамножество X = Р х Lx X описывает точки же!, из которых будет выбираться будущий вариант решения. Выходное ультрамножество Y = PxMxY описывает главные показатели решения у = С[х] е Y. Среди главных показателей, например, могут быть заданы тактико-технические показатели проектируемой системы или основные рабочие характеристики диагностируемой системы. На первом этапе ставится задача формирования множества альтернатив. 225
Дано: информация Ip(y) о главном показателе решения. Это критерий выбора. Найти: информацию 1а(х) о решении, такую, что С[1а(х)} = 1р(у). Тем самым требуется обратить ультраоператор главного контроля решения, т. е. решить ультраоператорное уравнение. В результате на первом этапе будет выделено множество альтернатив ACI, каждая точка которого удовлетворяет критерию выбора, т. е. главным требованиям к решению. На втором и последующих этапах происходит выделение лучших вариантов из множества альтернатив. Если задача такова, что на первом этапе множество альтернатив состоит из единственного элемента, то второй и последующие этапы вырождаются и их проведение не требуется. Замечание 15.3. Задача обращения ультраоператора решается в зависимости от вида фильтра 1р(у) методами многокритериальной оптимизации, или математического программирования, в частности линейного программирования, или методами решения операторных уравнений и т. д. Если при этом удается построить обратный ультраоператор, то случаю одноточечного множества альтернатив соответствует случай левого обратного ультраоператора С^1, а случаю многоточечного множества альтернатив — случай правого обратного ультраоператора Сд1. Если множество альтернатив содержит более одной точки, то проводится дополнительный анализ вариантов и отбор лучшего. Для этого задается дополнительный ультраоператор отбора варианта Cyai: А —> В. Здесь А — множество альтернатив, а В — множество значений дополнительных показателей варианта Ь = СуагМ- Среди дополнительных показателей могут быть, например, дополнительные финансовые затраты, или дополнительные расходы материалов, энергии, или время реорганизации, или количество обслуживающего персонала, или экологические показатели, или показатели безопасности и т.д. Далее, на втором этапе задача ставится аналогично первому этапу. В итоге на втором этапе будет сужено множество альтернатив. Если суженное множество содержит одну точку, то задача принятия решения имеет единственный вариант решения. Если суженное множество альтернатив имеет более одной точки, то переходят к третьему этапу решения, и т. д. На каждом этапе задается свой дополнительный ультраоператор отбора вариантов. В случае затруднения задания дополнительного ультраоператора отбора вариантов считается, что все имеющиеся на послед- 226
нем этапе альтернативы равноценны. При этом если изначально решалась проблема проектирования новой системы, то можно остановиться на любом одном варианте или на нескольких любых вариантах из множества равноценных альтернатив. Если первоначально решалась проблема диагностики имеющейся системы, то каждый из равноценных вариантов является лишь гипотезой, и требуется в дальнейшем иметь дело со всеми вариантами. Пример 15.6. Рассмотрим распределенную базу данных и знаний из подразд. 15.4 (см. рис. 15.6). Пусть ультраоператором главного контроля решения будет Здесь X<i ~ множество, из которого будет выбираться решение, а #з = С2з[#2], #з ^ ^з — главный показатель (возможно, векторный) решения #2 £ ^2- Предположим, что множество альтернатив А получилось многоточечное. Тогда перейдем ко второму этапу решения и зададим дополнительный ультраоператор отбора вариантов (см. рис. 15.6): С21: Х2 —»• Х\. Здесь Х\ — множество значений дополнительных показателей варианта. Допустим, на втором этапе было получено правое обращение ультраоператора. Пусть С\2 ~~ правый обратный ультраоператор к С?21. Тогда этот ультраоператор будет включен в распределенную базу знаний (см. рис. 15.6). Далее, суженное множество альтернатив снова — многоточечное, так как обратный ультраоператор — правый. Поэтому переходим к третьему этапу решения и зададим новый дополнительный ультраоператор отбора вариантов. Например: или С44 ° С*34 о С23 ' Х-2 —» Х4, или другой какой-либо ультраоператор из базы знаний (см. рис. 15.6). Предположим, что на очередном этапе решения получено одноточечное множество альтернатив. Тогда проблему принятия решения завершили. Если множество альтернатив — неодноточечное, и затрудняемся в задании дополнительного ультраоператора отбора вариантов, то проблема принятия решения тоже 227
считается решенной. В этом случае имеется множество равноценных вариантов решения. Вывод. Математическая модель лица, принимающего решение, — распределенная база данных и знаний. При этом в начале принятия решения выделяется ультрамножество, описывающее будущее решение. Далее выделяется ультраоператор главного контроля решения. На первом этапе формируется множество альтернатив. Если на первом этапе построен обратный ультраоператор, то его включают в распределенную базу данных. Потом на втором этапе выбирается дополнительный ультраоператор отбора вариантов. Снова решается ультраоператорное уравнение и т.д. При этом распределенная база знаний может дополняться полученными в процессе решения обратными ультраоператорами к имеющимся в ней прямым ультраоператорам (см. рис. 15.6). Условие останова процесса принятия решения — наличие одноточечного множества альтернатив на очередном этапе или невозможность задать очередной дополнительный ультраоператор отбора вариантов (подробнее см. в [14]). Глава 16 ДОПОЛНЕНИЯ В этой главе рассмотрим некоторые проблемные вопросы математической информатики, которые характеризуют важные направления дальнейшего развития дискретной математики. 16.1. Интеллектуальные системы и две парадигмы математической информатики Главным отличием интеллектуальной системы (ИС) от кибернетической системы (КС) является способность ИС к творчеству, т. е. способность ИС функционировать в нештатных ситуациях, решать неизвестные для нее задачи путем синтеза новых моделей, методов, алгоритмов. Кроме того, ИС может решать известные задачи в условиях неполной и нечеткой информации, в то время как КС решает только известные ей задачи по заранее составленным алгоритмам и только в условиях полной информации. ИС обладает возможностью модифицировать, оптимизировать и генерировать алгоритмы, проводя оценку их на эффективность. Тем самым ИС оценивает себя саму и управляет своим поведением, т. е. обладает рефлексией. ИС не являет- 228
ся марковской системой. Она должна обладать памятью о своем прошлом поведении и, следовательно, последействием. ИС — принципиально слабоформальная, развивающаяся, недетерминированная, неавтоматная. Это отличает ее от КС, в которой рефлексия отсутствует, так как КС — сильноформальная, жесткая, детерминированная, автоматная. Выделим пять классов реальных интеллектуальных систем по степени соотношения в них биологической и технической составляющих. 1. Биологическая ИС — интеллект человека или животного. Отсутствие технической составляющей (технического фактора) . 2. Организационная (микроэкономическая) ИС — ИС с преобладанием человеческого фактора, например фирма, компания, военное подразделение, государство и т. д. 3. Автоматизированная ИС — человеко-машинная ИС с большим значением технического фактора, например — пилотируемый самолет, роботизированное производство, автоматизированная электростанция и т. д. 4. Искусственная ИС — ИС с отсутствием биологического (человеческого) фактора, например спутниковая навигационная система, космическая межпланетная станция и т. д. Кроме этого выделим еще один особый класс интеллектуальных систем. Он отличается децентрализацией процесса активирования таких систем. 5. Среда из ИС (макроэкономическая ИС) — множество ИС любого класса, взаимодействующих по общим правилам, например политическая и спортивная игры, боевые действия нескольких сторон, рынок, Интернет, стадо животных, стая птиц, колония живых организмов и т. д. Интеллектуальные системы, в отличие от кибернетических, характеризуются наличием последействия. ИС — это рефлексивная (немарковская) целенаправленная система, в которой происходят следующие два главных процесса. Системный анализ внешней предметной области. Исходя из целевого назначения, ИС проводит исследование предметной области, генерирует поток задач, выбирает доминирующую задачу и классифицирует ситуацию по признаку штатная- нештатная для ИС. Если ситуация штатная для ИС, то задача решается заранее готовыми средствами. В этом случае функционирование ИС ничем не отличается от функционирования КС. Системный синтез метода и алгоритма решения задачи в режиме проб и ошибок. Если ситуация нештатная, то ИС организует поиск метода и алгоритма решения нештат- 229
Внешняя ПО рабочей подсистемы Внешняя П( активируют, подсистемь Внешня* ТО 3 ей i Интеллектуальная система Рабочая подсистема 1 ИО Внутренняя ТО Модельная ПО Внешняя ТО Активирующая подсистема ИО Внутренняя ТО Модельная ПО Рис. 16.1. Структура интеллектуальной системы: ТО — терминальная область; ПО — предметная область; ИО — информационная область ной задачи. Происходит первая попытка решения задачи. В процессе решения задачи проводится коррекция алгоритма с целью получения конечного результата. В случае неуспешного решения задачи происходит выработка новой попытки решения и т. д. Успешно реализованный процесс решения нештатной задачи анализируется, и полученный опыт решения задачи закрепляется (запоминается). Вывод. В любой ИС можно выделить по крайней мере два системных уровня: рабочую подсистему (РП) и активирующую подсистему (АП) (рис. 16.1). В РП находятся средства решения задач в форме среды радикалов (заготовок), отражающих предшествующий опыт решения задач. Радикал — схема из базовых элементов РП, снабженная командным элементом. Командный элемент отвечает за два вида состояний радикала: пассивное и активное. Среда радикалов — организация памяти (последействия) ИС. АП, в зависимости от имеющегося опыта, оценивает доминантную задачу и классифицирует ее по признаку штатная-нештатная для ИС. В случае штатной задачи АП активирует соот- ветсвующий задаче радикал (алгоритм) и решает задачу. Для 230
нештатной задачи АП синтезирует из имеющихся радикалов оперативную рабочую сеть, которую будем называть системо- квантом, для попытки решения этой задачи. Далее АП контролирует ход решения задачи с учетом спрогнозированного окончательного результата и корректирует системоквант в случае необходимости. После успешного решения задачи АП закрепляет опыт решения неизвестной задачи, запоминая синтезированный радикал. В случае необходимости АП расширяет средства решения задач, т. е. изменяет класс штатных (допустимых) для ИС задач. Отметим отличие ИС различных классов по характеру централизации АП. Для ИС первых четырех классов характерна высокая централизация активирующей подсистемы (администрирование). Тогда как для ИС пятого класса (среды из ИС), наоборот, характерна децентрализация АП. В связи с выделением в ИС двух главных процессов функционирования системного анализа и системного синтеза в математической информатике выделяются две парадигмы. I. Внешняя (поведенческая) информационная парадигма информатики. В ИС происходит сбор, хранение, преобразование и использование информации о внешней предметной области. II. Внутренняя (рефлексивная) информационная парадигма информатики. В ИС происходит сбор, хранение, преобразование и использование информации о себе и своем поведении (рефлексия). Первая парадигма лежит в основе той части математической информатики, в которой изучаются главным образом вопросы системного анализа. Вторая парадигма информатики положена в основу той части теории, в которой изучаются в основном вопросы системного синтеза. 16.2. Системный анализ и целеполагание интеллектуальной системы Рассмотрим проблему системного анализа с точки зрения управляющей системы, которая имеет в своей предметной области объект управления и его внешнюю среду. Управляющая система наблюдает за объектом и средой. Наблюдаемые параметры объекта управления называются фазовыми координатами. Среда влияет на объект управления, и он меняет свои фазовые координаты. Объект управления имеет так называемые 231
управляющие параметры, меняя которые можно также изменять фазовые координаты объекта управления. Управляющая система — целенаправленная. Она имеет цель управления в виде требуемых фазовых координат объекта управления. Если управляющая система кибернетическая, то для штатных ситуаций она имеет алгоритм изменения управляющих параметров, который позволяет каждый раз возвращать фазовые координаты объекта управления к требуемым значениям. В нештатной ситуации кибернетическая система останавливается (зависает). Если управляющая система интеллектуальная (ИС), то она может решать задачу управления и в нештатной ситуации. При этом интеллектуальная система должна синтезировать (генерировать) алгоритм управления в режиме проб и ошибок. Здесь изучим только вопрос определения ситуации со стороны ИС с точки зрения штатная-нештатная. Для этого ИС должна уметь проводить системный анализ своей предметной области. В под- разд. 16.3 изучим вопрос системного синтеза в ИС. Системный анализ предметной области ИС предполагает, в первую очередь, семиотическое (символьное) моделирование предметной области, затем классификацию (распознавание) систем предметной области ИС, включая саму ИС (рефлексия) и, наконец, целеполагание ИС, которое включает оценивание предметной области, генерацию задач и выбор доминирующей задачи. 1. Семиотическое моделирование предметной области. Отражение предметной области в ИС происходит в символьной форме. В первую очередь, это символы объектов предметной области и символы свойств этих объектов. Будем понимать под системой (функциональной системой) совокупность объектов (элементов), объединенных функциональной целостностью, т. е. самоорганизацией и единством цели. Тем самым в ИС предметная область представляется множеством семиотических моделей разнообразных систем. 2. Классификация систем. Классификация систем производится по разным признакам. Каждый набор признаков определяет в предметной области бинарные или другие отношения между системами. Если это бинарные отношения сходства (эквивалентности) систем, то такие отношения задают на множестве систем четкие или нечеткие разбиения. В этом случае появляются соответствующие решетки подмножеств, решетки понятий и данные о системе. Если это бинарные отношения превосходства систем, то такие отношения задают на множестве систем отношения порядка. В этом случае появляются графо- 232
вые структуры и решетки систем. Классификация систем относится к проблеме познания своей предметной области со стороны ИС. Рассмотрим основные способы классификации систем. Классификация «причина — следствие». Системы обычно взаимодействуют между собой, обмениваясь веществом, энергией, информацией. При этом системы изменяются, меняют свое состояние. Если имеются две системы и смена состояния одной вызывает смену состояний другой, то первую называют причиной, или фактором, для второй системы. Иногда удобно говорить про вторую систему, что она является следствием, или последствием, первой системы. Отношение «причина —следствие» определяет на множестве всех систем частичный порядок. Полезно выделять для данной системы факторы первого уровня, затем факторы второго уровня (факторы факторов) и т. д. Кроме того, для данной системы одновременно полезно выделять последствия первого уровня, затем последствия второго уровня (следствия следствий) и т. д., например, ударная волна —окно- квартира— человек — работа. Если рассмотреть человека как систему, то фактор первого уровня, влияющий на состояние человека, — качество его жилья (квартиры). Фактор второго уровня для человека — наличие целого окна в его квартире. Наконец, фактор третьего уровня для человека — сила ударной волны воздуха в окрестности окна его квартиры. Далее, качество работы человека — следствие его озабоченности. Классификация « система — подсистема» (целое — часть). Если все элементы одной системы являются элементами другой системы, то такую систему будем называть подсистемой для второй системы. Иногда удобно бывает вторую систему называть надсистемой для первой системы. На множестве всех систем отношение «система—подсистема» определяет частичный порядок. Графически классификация «система—подсистема» изображается при помощи деревьев, например отношение: книга — часть книги — глава — параграф и т.д., или животное — его система пищеварения — кишечник — стенки кишечника и т. д. Выделение подсистем может быть продолжено вплоть до элементов, которые являются самыми простейшими подсистемами, состоящими из одного элемента. Для дальнейшего уточнения строения систем необходимо перейти к другому элементному уровню и т. д. Отметим, что свойство системы в целом зависит от свойств ее подсистем, но не есть только их сумма. В системе появляются новые свойства целостности, называемые эмерджентностью, которых нет в ее подсистемах. Тем не менее классификация «система— подсистема» — частный случай классификации «причи- 233
на —следствие». Подсистемы выступают факторами системы, а надсистемы — последствиями системы. Классификация «система —модель». Эта классификация подразумевает наличие некоторой надсистемы, или системы последствий, называемой стендом. В этот стенд может быть помещена система-1 или система-2 в качестве подсистемы, или причины. Если стенд при своем функционировании не различает замены системы-1 на систему-2 и обратно, то такую пару называют аналогами в рамках данного стенда. Обычно из двух систем аналогов одну (более сложную) называют системой, а другую (более простую) — ее моделью в рамках выбранной адекватности (точности). Обычно система имеет несколько моделей разной адекватности (принцип множественности моделей), например для солнечной планетарной системы — геоцентрическая модель Птолемея, гелиоцентрическая модель Коперника, модель Кеплера, модель Ньютона и т. д. Среди моделей различают натурные, физические, химические, вербальные, математические и т. д. В свою очередь среди математических моделей различают аналитические, статистические, теоретико- множественные, логические, информационные, графические, семиотические и т.д. Особо выделим информационные модели системы, которые называются ультрасистемами. Примерами классификации «система —ультрасистема» являются «точка— данные о точке», «оператор —ультраоператор» и т. д., например в Интернет-магазинах, Интернет-услугах и т. п. имеют дело с информационными моделями товаров и услуг. Классификация «открытая —закрытая» системы. У каждой системы есть ее внешняя среда — все, что не относится к ней. Если система обменивается со своей внешней средой веществом (массой), энергией, информацией, то она называется открытой. Если такого обмена нет и система как бы изолирована от среды, то система называется закрытой. Для закрытых систем выполняется второй закон (второе начало) термодинамики, который говорит, что в закрытых системах постоянно растет энтропия (беспорядок) системы и она стремится к разрушению и хаосу (неупорядоченности). Классификация «кибернетическая — интеллектуальная» (автоматная — живая) системы. Каждая система имеет свое назначение и в этом смысле она целенаправленная. В зависимости от того, как системы решают свои целевые задачи, они делятся на кибернетические (детерминированные, автоматные, сильноформальные) и интеллектуальные (недетерминированные, слабоформальные). Если система может решать только штатные (заранее известные системе) задачи, то она называется кибер- 9Я4
нетической (сильноформальной). Если система может решать некоторые нештатные (заранее неизвестные системе) задачи, то такую систему будем называть интеллектуальной (слабоформальной). Штатные для системы задачи определяются тем, что система имеет и владеет штатными средствами решения таких задач. Нештатные для системы задачи — те, для которых система не имеет заранее средств их решения. Для кибернетических (сильноформальных) систем характерно детерминированное (автоматное) поведение (смена состояний) . Кибернетическую систему можно себе представить в виде автомата. Автомат преобразует входные слова в выходные слова, используя заранее заложенные в автомат функцию перехода состояний и функцию выхода. Эти функции вычислимые и реализуют алгоритм поведения автомата. Одно из главных свойств алгоритма — его детерминированность. Кибернетические системы — сильноформальные. Для интеллектуальных (живых) систем характерна рефлексия и обучение. Рефлексия необходима для самооценки ИС, для поиска средств решения нештатной задачи в режиме проб и ошибок. Чтобы оценить пробуемое средство решения задачи, необходимо оценить свое собственное поведение при этом. Только после оценивания можно принять или отбросить это средство. Интеллектуальные системы имеют память о своем поведении и постоянно набираются опыта. Тем самым они — обучающиеся и развивающиеся системы. Их поведение — недетерминированное (не автоматное). Интеллектуальные систем — слабоформальные. Дальнейшая классификация кибернетических и интеллектуальных систем может идти в зависимости от сложности их организации, сложности их штатных задач и сложности их штатных средств решения, а для интеллектуальных задач, в первую очередь, от сложности тех нештатных задач, которые система может решать, например автоматы классифицируются по количеству внутренних состояний, по наличию магазинной памяти, по длине программы и т. д. Интеллектуальные системы классифицируются по типу нештатных задач, которые они могут решать, т. е. по интеллекту. Кроме этого ИС классифицируются по наличию в них интеллектуальных подсистем и далее по числу иерархических подчинений (социальные системы). Вывод. Результатом системного анализа со стороны ИС является структурирование предметной области ИС с точки зрения сходства и превосходства систем предметной области, приоритетов (иерархии влияния) факторов и последствий для самой ИС и для других систем ее предметной области. 235
3. Целеполагание. При целеполагании происходят по крайней мере три последовательных действия. 1. ИС проводит системный анализ своей предметной области и проводит декомпозицию своей предметной области на подобласти, называемые метасистемами. 2. В рамках каждой метасистемы происходит оценивание ее объектов (подсистем). При этом исходными выступают базовые требования к ИС (шаблоны, нормативы и т.п.), связанные с обеспечением ее существования (гомеостазис), назначением (функционирование, работа, цель, ...), функциональной устойчивостью (надежность, безопасность, размножение,...), информационной устойчивостью (обучение, развитие, ...) и т. д. В результате в рамках каждой метасистемы ИС вырабатывает положительные и отрицательные оценки (эмоции) различных объектов (подсистем) метасистемы. Отрицательные оценки генерируют поток целей (задач) для ИС в рамках каждой метасистемы. 3. ИС проводит системный анализ всех потоков задач и производит выбор доминирующей задачи с точки зрения ИС, т. е. выбор проблемы с учетом масштаба задачи, ее актуальности, источников возникновения, влияния на другие задачи, наличия ресурсов для ее решения и т. д. Замечание 16.1 (о метасистемах). Понятие метасистемы ввел Г. Н. Охотников [13] в рамках теории эффективности операций. Каждая метасистема является, по существу, предметом исследования ИС для постановки и решения задачи. Именно в рамках определенной метасистемы рассматривается всякий объект исследования ИС. Каждая метасистема определяет своего рода игру с фиксированными правилами, в рамках которой ставятся и решаются задачи ИС. Пример 16.1, Для математически формализованной задачи метасистема — формальная (аксиоматическая) теория, включающая наборы аксиом, гипотез и правил вывода (см. под- разд.10.1). Пример 16.2. Метасистема для военной операции или для разработки вида оружия — театр военных действий. Пример 16.3. Метасистема — рынок (макроэкономическая система) для таких объектов, как товары, деньги, производители, потребители, правила рынка и т. д. Пример 16.4- Метасистема — Интернет. Задачи здесь возникают у пользователей сети и решаются в рамках возможностей Интернет. Замечание 16.2 (об эмоциях). Бинарное отношение порядка на множестве всех систем предметной области ИС с точки зрения их соответствия целевым требованиям в рамках соответствующих метасистем можно назвать эмоциональным отношением ИС к своей предмет- 236
ной области. При этом считается, что текущей задаче, т. е. отклонению некоторой системы от требований к ней в рамках соответствующей метасистемы соответствует отрицательная эмоция в ИС. Эта отрицательная эмоция тем большая, чем больше отклонение и чем больше приоритет самой метасистемы и выделенному объекту (подсистеме) в ней. Аналогично сопоставляется всякой системе в рамках соответствующей метасистемы положительная эмоция в ИС, когда есть соответствие этой системы требованиям со стороны ИС. При этом положительная эмоция будет тем большая, чем больший приоритет имеет метасистема и выделенная в ней система. Отклонение некоторой системы в рамках метасистемы от заданных требований (отрицательная эмоция ИС) инициирует текущую задачу. Таким образом, множество отрицательных эмоций и множество текущих задач взаимно связаны. В ИС все текущие задачи выстраиваются по актуальности, важности для ИС, затратности, последствиям и т.д. При этом используется методика классификации системного анализа, которую рассмотрели ранее. Задачи в ИС рассматриваются аналогично другим системам предметной области. В результате на множестве всех задач определяется бинарное отношение порядка, что позволяет выбрать наиболее приоритетные задачи. Такие задачи называют доминиру ющими. Вывод. Целеполагание ИС является результатом оценивания систем предметной области ИС с точки зрения соответствия базовым требованиям ИС с учетом системного анализа предметной области. По результатам оценивания генерируется поток текущих задач ИС и определяется бинарное отношение их по приоритету для ИС. Далее происходит выбор доминантных задач. При этом может быть получена одна задача, наиболее важная для ИС, или несколько максимальных по важности задач для ИС. Каждая задача — выбор, который предполагает две следующие части. Дано: метасистема, множество альтернатив, из которого надо выбрать вариант (результат), показатели эффективности варианта, требования к результату в виде топологического фильтра на множестве значений показателей эффективности (см. подразд. 7.2), форму выдачи результата в виде решетки и шкалы понятий над множеством альтернатив (см. подразд. 15.5). Найти: результат (вариант) в заданной форме, т.е. базис фильтра результата в заданной решетке и шкале (см. подразд. 7.6). В свою очередь, всякая задача для ИС может быть штатной или нештатной. В случае штатной задачи в ИС есть средства ре- 237
шения такой задачи, т. е. имеется алгоритм. В случае нештатной задачи готовых средств ее решения нет. Требуется синтезировать метод решения такой задачи и решить задачу, т. е. принять решение. Теперь перейдем к вопросам системного синтеза в ИС. 16.3. Системный синтез и радикалы (память) интеллектуальной системы Обсудим процессы системного синтеза в ИС, которые являются главными при решении ею задач в нештатных ситуациях. Системный синтез подразумевает модификацию имеющейся системы или создание новой, еще не имеющейся в предметной области системы с заданными свойствами. В случае ИС, решающей нештатную задачу, требуется либо модифицировать, либо создать новый метод и алгоритм решения этой нештатной задачи. Системный синтез предполагает сначала определиться с вопросом базовых элементов, из которых будет построена новая система. При этом предполагается, что базовые элементы первоначально свободны (пассивны) и только те из них, которые используются в новой системе, являются занятыми (активными). Далее, базовые элементы лучше использовать не по одиночке, а схемами (группами), предварительно собранными в узлы (заготовки). Эти узлы, которые будем называть радикалами, могут отражать опыт создания предыдущих систем. При этом снова предполагается, что первоначально радикалы пассивны и только те из них активны, которые участвуют в созданной новой системе. Наконец, созданная из радикалов и, тем самым, из базовых элементов новая система еще не является окончательной, требуемой. Она — опытный образец, который будем называть системоквантом. Этот системоквант еще требуется испытать на предмет выполнения требуемых свойств. Для этого к системокванту со стороны ИС применяется системный анализ его функционирования, результативности, воздействия на внешнюю к системокванту предметную область. И только после этого ИС принимает окончательный вариант решения нештатной задачи. Гипотеза о трех системных уровнях рабочей подсистемы ИС. Средства решения задач в ИС образуют рабочую подсистему (РП), которая имеет три уровня организации (рис. 16.2). На первом уровне (генетическом) находятся базовые элементы, из которых на втором уровне (навыков) организованы устойчивые схемы из базовых элементов, называемые радикалами. Радикалы отражают предыдущий опыт решения задач 238
Генетика Опыт Поведение Базовые элементы Радикалы Системоквант Рис. 16.2. Три системных уровня рабочей подсистемы И С и ориентированы каждый на свой тип штатных (известных) для ИС задач. Наконец, на третьем уровне (поисковом) из радикалов строятся временные рабочие сети, называемые системокванта- ми, для попыток решения нештатных задач. В процессе самообучения ИС в РП изменяется множество радикалов. Например, множество радикалов пополняется за счет перевода некоторых системоквантов в радикалы (рождение радикалов). В процессе эволюции ИС изменяется множество базовых элементов РП (см. рис. 16.2). 1. Базовые элементы ИС. Все системные организации рабочей и активирующей подсистем ИС строятся из следующих однотипных базовых элементов ИС: внешняя предметная область — все объекты и отношения между ними, находящиеся во внимании ИС; модельная предметная область — система моделей объектов и отношений внешней предметной области, адекватность моделей определяется относительно соответствующих интеллектуальных датчиков; интеллектуальные датчики — системы сбора семантической информации о части объектов внешней или модельной предметной области, которые образуют опорные множества объектов данных датчиков; интеллектуальные исполнители — системы изменения части объектов внешней или модельной предметной области, образующих опорные множества объектов данных исполнителей; локальные базы данных (ЛБД) — системы хранения семантической информации об объектах некоторых опорных множеств (см. подразд. 14.7), при этом отдельные данные этой ЛБД являются отдельными базовыми элементами; локальные базы знаний (ЛБЗ) — системы (ультрасистемы) преобразования семантической информации об объектах некоторых опорных множеств, всякая локальная база знаний ориентирована на свои входные и выходные локальные базы данных 239
(см. подразд. 15.1), при этом отдельные продукции этой ЛБЗ являются отдельными базовыми элементами. 2. Радикалы ИС. Для того чтобы можно было управлять процессом решения нештатных задач и хранить опыт успешного решения штатных для ИС задач, базовые элементы организуются в специальные устойчивые схемы или ансамбли, называемые радикалами. Радикал имеет два вида состояний: пассивное и активное. Только активные радикалы участвуют в решении задач. Радикалы отражают предыдущий опыт решения задач и привязаны к определенному типу штатных (известных) для ИС задач. Радикалы представляют собой ближнюю память ИС (память о поведении ИС) в отличие от дальней памяти (памяти о внешней ПО), которую представляют базовые элементы ИС. Гипотеза о командных элементах радикала. Выскажем предположение об общем устройстве радикалов. Каждый радикал определяется своим командным элементом, который имеет два состояния: пассивное и активное. Пассивное состояние командного элемента означает отключение радикала, блокирование всех его базовых элементов. Активное состояние командного элемента задает активные состояния радикала, разблокирование всех его элементов. Если базовый элемент входит в несколько радикалов, то для его разблокирования достаточно активации одного из командных элементов тех радикалов, в которые он входит. Командные элементы радикалов будем называть квазибазовыми элементами рабочей подсистемы. Возможны радикалы, в которых участвуют квазибазовые элементы, т.е. возможна иерархия (вложенность) радикалов. Вложенному радикалу также соответствует определенная схема (ансамбль) базовых элементов. Таким образом, рабочая подсистема ИС имеет несколько уровней организации. Первый уровень (генетический) образуют базовые элементы. Этот уровень представляет собой сеть базовых элементов. Второй уровень (навыков) образуют радикалы. Этот уровень представляет собой среду радикалов. Перемена активности в среде радикалов, по сути, означает переключение базовых элементов в различные схемы, т. е. коммутацию базовых элементов. Среда радикалов в свою очередь распадается на следующие естественные три уровня (рис. 16.3). Опорная среда (О-среда) — область моделей (аналогов) внешней предметной области (ПО) для прогнозирования состояния внешней ПО и внутреннего экспериментирования. О-среда представляет собой модельную ПО, и ее можно себе представить в виде математических моделей, аналоговых и компьютерных моде- 240
Ультрасреда (У-радикалы) Терминальная среда (Т-радикалы) Опорная среда (О-радикалы) Рис. 16.3. Три уровня среды радикалов ИС лей, аудио- и видеозаписей, экспериментальных установок (аэродинамических труб, испытательных стендов, тренажеров и т. д.), эталонных предметов, образцовых систем, тестовых процессов и т.п. Ультрасреда (У-среда) — информационая область рабочей подсистемы. Это область локальных баз данных и локальных баз знаний, где хранится и преобразуется семантическая информация. Терминальная среда (Т-среда) — сенсорная область, в которой происходит сбор семантической информации и ее использование для воздействия на ПО. Т-среду молено себе представить в виде области датчиков и исполнителей. Датчики снимают показания (данные) с объектов предметной области для соответствующих локальных баз данных У-среды. Исполнители обеспечивают воздействие на ПО. При этом Т-среда делится на две части — внешнюю и внутреннюю Т-среду. Внешняя Т-среда обеспечивает взаимодействие с внешней ПО, а внутренняя Т-среда — с моделями О-среды, т. е. с модельной ПО. В связи с делением среды радикалов на части будем различать, соответственно, и радикалы этих частей. Тем самым имеются О-, У-, Т-радикалы. О-радикал представляет собой оперативную комплексную модель некоторой части внешней ПО. Активный О-радикал служит для прогнозирования процессов внешней ПО и проведения оперативных внутренних экспериментов. Он позволяет осуществлять слежение за определенной частью внешней ПО (принцип «гештальта», выбор «предмет-фон»), позволяет неоднократно повторять внутренний эксперимент в обычном, ускоренном, замедленном, обратном времени, делать стоп-кадр, получать новые данные и новые знания. 241
У-радикал является оперативной экспертной системой, предметно-ориентированной распределенной базой данных и знаний в форме сети локальных накопителей (ЛБД) и преобразователей данных (ЛБЗ) (см. подразд. 15.4). Т-радикал является оперативной контрольно-измерительной системой в форме сети датчиков и исполнителей. Замечание 16.3. В сети радикалов кроме О-, У-, Т-радикалов могут быть и др., например комплексные радикалы из базовых элементов любого назначения. Такие радикалы, например, соответствуют оперативным системам управления и т. п. 3. Системокванты ИС. Радикалы предназначены для решения штатных (известных) задач, соответствующих этим радикалам. Для решения нештатных (неизвестных) задач в ИС из имеющихся радикалов выстраиваются оперативные рабочие сети путем активации части радикалов. Определение 16.1 (систпемоквапта ИС). Сеть тех базовых элементов рабочей подсистемы ИС, которые относятся ко всем активированным радикалам, назовем системоквантом. В случае штатной задачи системоквант совпадает с некоторым одним радикалом. Уровень системоквантов составляет третий уровень (поисковый) рабочей подсистемы. Понятие системокванта было введено в физиологии и психологии К. В. Судаковым в развитие и уточнение теории функциональных систем П. К. Анохина. В физиологии системоквант определяется как целенаправленная подсистема живого существа, объединяющая работу нескольких органов этого существа. Системоквант активируется для удовлетворения конкретной потребности живого существа и вызывает соответствующие поведенческие акты со стороны этого живого существа. Наличие системоквантов наблюдается у всех живых существ. Гипотеза о самоорганизации в среде радикалов. Выскажем предположение об общей организации процессов в среде радикалов. Для каждой задачи активирующая подсистема ИС вырабатывает распределение потенциалов активности радикалов, например в фЬрме вероятностной меры в среде радикалов. Если задача известна для ИС, то потенциалы активности равны нулю для всех радикалов, кроме одного того, который ориентирован на решение данной задачи. Если задача неизвестна для ИС, то активирующая подсистема ИС в процессе синтеза алгоритма решения задачи вырабатывает соответствующее этому алгоритму распределение потенциалов активности радикалов. Далее, в процессе активации происходит активация сначала радикалов с наибольшим потенциалом активности. Из этих ак- 242
тивированных радикалов образуется начальный системоквант, т.е. начальная рабочая сеть для первой попытки решения задачи. Такой системоквант представляет оперативную, тактическую кибернетическую систему для решения задачи. Промежуточные результаты решения задачи системоквантом постоянно оцениваются в активирующей подсистеме на предмет соответствия их прогнозируемому результату. Пока задача не решена, происходит самонаращивание системокванта радикалами с меньшими потенциалами активности и продолжение решения задачи расширенным системоквантом. В случае завершения решения задачи процесс саморасширения системокванта прерывается, и активирующая подсистема переходит в режим самообучения. Если процесс решения задачи путем саморасширения системокванта не удовлетворяет требованиям останова (эффективности), то процесс саморасширения системокванта прерывается, и активирующая подсистема организует следующую попытку решения задачи. Для этого она корректирует распределение активности радикалов в режиме адаптации и запускает заново процесс активации среды радикалов. Тем самым каждая попытка решения задачи происходит в режиме самоорганизации среды радикалов и определяется распределением потенциалов активности радикалов. Замечание 16.4 (об оптимизации радикалов). При повторных решениях известной задачи в режиме эксплуатации с учетом изменившейся внешней предметной области и изменившейся РП активирующая подсистема время от времени требует пересмотра используемого радикала с требованием его совершенствования, например требования уменьшения его сложности (затрат), увеличения безопасности и т.д. В этом случае такая задача снова объявляется неизвестной, и ИС проходит весь цикл от внешнего проектирования до анализа результата решения задачи. В случае успешной модификации системокванта АП уничтожает старый радикал и образует новый для данного типа задач. Тем самым, при повторных решениях задачи происходит оптимизация (модификация) радикалов. Замечание 16.5 (о компьютерных сетях). В настоящее время в практической информатике наметилась тенденция организации сред радикалов на основе компьютерных сетей и, в первую очередь, сети Интернет. В таких сетях используются многочисленные программные системы, профессионально ориентированные ЛБД и ЛБЗ, экспертные системы, разнообразные модели многих предметных областей. Работа с такой средой радикалов может быть организована по-разному, например по типу workflow-system, когда один пользователь выступает в роли управляющего (активирующая подсистема), а другие являются исполнителями работ. Имеются и другие формы организации работ в сетях. 243
16.4. Функционирование интеллектуальной системы Рассмотрим подробнее основные этапы функционирования ИС. В любой ИС происходят следующие взаимодействующие процессы (рис. 16.4). Системный анализ. Системный анализ — оценивание и прогнозирование с позиций целевого назначения ИС состояний внешней ПО и возможностей ИС, т. е. базовых элементов и радикалов РП; выработка требований (потока задач) для ИС; выбор доминантной задачи; классификация доминантной задачи по признаку штатная-нештатная задача для ИС. Этот процесс является мотивацией. Эксплуатация радикалов. Если задача штатная, то происходит активирование готового радикала РП, соответствующего этой задаче, и получение решения задачи. Если результат реше- ПО. Штатная задача Эксплуатация по- ПО Системный анализ (мотивация) Рабочая подсистема Системоквант Нештатная задача Системный синтез-1 Внешнее ~*. проектирование Системный синтез-2 _J Внутреннее проектирование Активация —' Опытный -* образец Коррекция Самообучение Эволюция Доводка Серийное производство Научные исследования Рис. 16.4. Функционирование интеллектуальной системы 244
ния задачи удовлетворительный, то АП переходит к решению очередной задачи. Если результат решения неудовлетворительный, то задача объявляется нештатной. Системный синтез-1. Если задача нештатная, то происходит анализ условий задачи с учетом имеющихся радикалов (опыта) и ограничений к сложности (затратам) будущего систе- мокванта. Тем самым происходит обоснование и выработка так называемого тактико-технического задания (ТТЗ) на системо- квант. Этот процесс можно назвать внешним проектированием системокванта. Системный синтез-2. Системный анализ-2 — разработка метода и алгоритма решения задачи с требуемой эффективностью на основе имеющихся радикалов (заготовок), включая выработку условия останова (окончательного результата) решения. Тем самым происходит создание проекта системокванта. Этот процесс можно назвать внутренним проектированием. Активация (самоорганизация). Активация — реализация алгоритма решения задачи в форме системокванта в режиме самоорганизации среды радикалов РП. Этот процесс можно назвать созданием опытного образца системокванта. Коррекция. Коррекция — изменение системокванта с учетом оценивания хода решения задачи и проверки на условие останова работы системокванта. Если надо, то проводится новая попытка решения задачи в режиме самоорганизации. Этот процесс можно назвать доводкой (отладкой, настройкой) системокванта. Самообучение. В случае успешного решения нештатной задачи, АП закрепляет полученный опыт в форме создания из системокванта нового радикала, ориентированного на решение нового типа задач. При каждом последующем решении той же задачи АП имеет дело уже со штатной задачей, для которой имеется в РП готовый радикал (алгоритм) ее решения. Этот процесс можно назвать серийным производством системокванта в форме радикала. Эволюция. В случае безуспешных попыток решения нештатной задачи АП исследует причины неудачи и организует создание новых и уничтожение старых базовых элементов в РП. Тем самым изменяется класс допустимых задач для ИС. Этот процесс можно назвать фундаментальными научными исследованиями. Замечание 16.6 (о теории исследования операций). Наиболее полно вопросы функционирования активирующей подсистемы ИС изучены в теории исследования операций [13]. В этой теории нашло свое отражение: 245
во-первых, теория и практика разработки и осуществления многочисленных военных операций, управления войсками и оружием; во-вторых, теория и практика разработки и эксплуатации технических систем различного назначения, сложных человеко-машинных систем; в-третьих, теория и практика создания и реализации проектов любых уровней, управление проектами. Замечание 16.7 (о теории функциональных систем). Вопросы системной организации и поведения биологических ИС, в первую очередь человека и животных, изучаются физиологами и психологами. Из многих теорий выделим теорию функциональных систем П. К. Анохина. На наш взгляд, эта теория наиболее полно описывает процессы функционирования биологической ИС. При этом отметим, что: функциональная система соответствует системокванту; афферентный синтез в теории функциональных систем соответствует процессу системного анализа и мотивации; принятие решения в теории функциональных систем соответствует процессу системного синтеза, т. е. выбора радикала (имеющегося алгоритма) или синтеза системокванта (нового алгоритма); эфферентный синтез в теории функциональных систем соответствует процессу активации системокванта; акцептор результатов действия в теории функциональных систем соответствует процессу системного синтеза-1, т.е. выработке тактико- технического задания (ТТЗ), это соответствует выработке условия останова коррекции системокванта. В теории функциональных систем процессы самообучения и эволюции ИС изучаются без выделения специфических этапов функционирования ИС. Замечание 16.8 (о кибернетической системе). С информационной точки зрения ИС различного типа и назначения функционируют и устроены одинаково. Различия ИС в их специализациях, т. е. в классах допустимых типов задач и в способах решения штатных и нештатных задач. Если ИС специализируется на решении только штатных задач, то такую более простую ИС относим к классу кибернетических систем. КС — сильноформальные. В КС не происходит рождения новых, уничтожения старых и оптимизации имеющихся радикалов (алгоритмов). Замечание 16.9 (об определении интеллекта). В связи с тем, что различные ИС можно сравнивать по эффективности решения одинаковых, но нештатных для них задач, предложим формальное определение понятия интеллекта. Определим интеллект как следующее бинарное отношение сравнения по интеллекту (частичного порядка) на множестве всех ИС. Будем считать, что все ИС имеют одно и то же множество допустимых задач. При этом те задачи, которые данная ИС не сможет решить, оценим бесконечным временем решения. Пусть две системы ИС-1 и ИС-2 решают одну и ту же задачу — нештатную для них. Если ИС-1 решает эту задачу быстрее, чем ИС-2 при прочих равных затратных условиях, энергетических, материальных, финансовых 246
и т. п., то будем говорить, что ИС-1 эффективнее решает данную задачу, чем ИС-2. Пусть две системы ИС-1 и ИС-2 решают тестовый набор нештатных для них задач. Если ИС-2 решает все тестовые задачи не эффективнее, чем ИС-1, и при этом найдется хотя бы одна тестовая задача, которую ИС-1 решает эффективнее, чем ИС-2, то будем говорить, что ИС-1 интеллектуальнее в рамках заданного теста, чем ИС-2. Очевидно, что не любые две ИС сравнимы по интеллекту в рамках заданного теста. 16.5. Математическое и компьютерное моделирование Выскажем гипотезу о главном понятии дискретной математики. Возможно этим понятием является понятие радикала (см. подразд. 16.3). Радикалом называется любая система, которая имеет два состояния: пассивное и активное. В пассивном состоянии радикал как бы выключен из жизни, его нет. В активном состоянии радикал включен как часть чего-то действующего, функционирующего. Радикалы — образующие соответствующих алгебр. С помощью активных радикалов можно образовать разнообразные системы, которые будем называть системокван- тами, или функциональными системами (см. подразд. 16.3). Пассивные радикалы образуют своеобразный вакуум, из которого потенциально можно создать различные системокванты. Системокванты обладают свойствами рождаться, функционировать, развиваться, умирать. Системокванты — схемы (формулы) из активных радикалов (образующих соответствующих алгебр). Примерами радикалов являются: буквы алфавита любого языка, слова и устойчивые словосочетания лексики языка, данные в базах данных, знания в базах знаний, знания человека о чем-либо, стереотипы поведения, навыки животного, модели систем, специалисты, служащие, военные подразделения, технические модули (устройства), программные модули и т.д. Примерами системокванта (функциональной системы) является слово, когда его пишут или произносят. При этом те буквы алфавита, которые используются в этом слове, являются активными радикалами, а те, которые не используются, — пассивными. Другой пример — текст (фраза) из слов. При этом лексика естественного языка представляет собой множество радикалов (слов и устойчивых словосочетаний). Только слова, входящие в текст, представляют собой активные радикалы, остальные — пассивные. Другие примеры системоквантов: ответ на запрос из базы данных или базы знаний; военная группировка, выполняющая боевое задание; любая работающая техническая или программная система, собранная из заранее созданных модулей; 247
коллектив нанятых на работу специалистов (служащих) любой организации; используемые (активированные) для данной конкретной цели знания человека или стереотипы поведения (навыки). Всякая используемая модель некоторой конкретной системы является, как правило, составленной из известных моделей отдельных подсистем системы. С позиций дискретной математики точки (элементы) любого множества представляют собой радикалы. Когда некоторую точку множества выбирают (аксиома выбора), тогда точка — активная. Остальные точки множества пассивны. Таким образом, дискретная математика с учетом сформулированной роли понятия радикала представляет собой теоретический фундамент системного подхода в информационной картине реального мира. Отметим еще, что в дискретной математике основной акцент делается на понятия и методы неклассической математики. Главное отличие классической от неклассической математики состоит в различных принципах задания точки множества. Точка или элемент множества — первичное математическое понятие. Задание точки может быть различным. В классической математике господствует принцип абсолютного задания точки. В неклассической математике — принцип информационного задания точки. Сформулируем эти принципы. Принцип абсоютного задания точки. Всякая точка непустого множества, если ее выбирают (рассматривают, имеют и т. п.), известна абсолютно. При этом точка отождествляется со своим индивидуальным именем (идентификатором). Этот принцип лежит в основе классической математики. Именно абсолютно заданные точки участвуют в бинарных и других отношениях, отображениях, функциях, операторах, алгебраических операциях и т.п. (см. ч.1, II). Классическая математика — мир термов формальной теории в терминологии математической логики (см. подразд. 10.1). Принцип информационного задания точки. Про всякую точку непустого множества известна лишь информация об этой точке. При этом возможна и максимальная информация о точке, когда точка известна с максимальной точностью, т. е. абсолютно. Этот принцип господствует в неклассической математике. Например, в математической логике всякий истинный предикат (формула) является сведением в данной интерпретации о некотором предмете (точке). В вычислительной математике всякое приближенное значение точки задает лишь сведение о точке, например, в форме некоторой окрестности, содержащей эту точку. 248
Неклассическая математика — это мир формул логики предикатов в терминологии математической логики (см. подразд. 9.2). Строгое определение понятия информации о точке будет дано в подразд. 14.1. Принцип информационного задания точки, как уже говорилось, включает в себя, в качестве частного случая, принцип абсолютного задания точки. Последний соответствует предельному (идеальному) случаю максимальной информации о точке. Классическая математика соответствует идеальным условиям максимальной информации о любой точке. Математические модели чего-либо могут быть классические и неклассические. Классические модели представляют собой термы формальной теории в виде констант. Например, модели в виде конкретного числа, вектора, тензора, конкретной матрицы, функции, конкретного оператора, элемента некоторой алгебры или пространства и т. д. Классическая модель любого объекта в определенном смысле отождествляется с именем объекта и является уникальной, абсолютной, полной. Неклассические модели представляют собой формулы формальной теории. Например, модели в виде переменной с ограничением на нее, приближенного числа или функции, в виде вектора (матрицы, тензора) с недоопределенными компонентами, в виде функции, для которой известна только асимптотика, в виде оператора, на который наложены условия (дифференциальные уравнения, и т. п.) и т. д. Неклассическая модель любого объекта, как правило, не позволяет абсолютно точно определить объект. В этом смысле неклассические модели обычно неполные, неопределенные, информационные. Информационный характер неклассических моделей требует использования эффективных технических средств сбора, хранения, преобразования и использования информации. Такими техническими средствами являются компьютеры. Поэтому неклассические модели принципиально являются компьютерными моделями. Компьютерные модели имеют тенденцию развиваться в различного рода информационные системы на базе компьютерных сетей. При этом в таких сетях широко используются всевозможные классические модели в компьютерном исполнении, например, в форме символьной алгебры и т. п. Тем самым математическое моделирование в информационный (современный) период стало компьютерным моделированием. Обратим внимание еще на одну важную сторону компьютерного моделирования. Математика, как известно, обладает не только свойством моделирования чего-либо, но предоставляет 249
средства для анализа (исследования имеющегося) и синтеза (создания нового). Поэтому в той же мере как классическая математика всегда сопровождает свои модели еще и методами решения разнообразных задач в рамках модели, так и неклассическая математика всегда сопровождает свои модели методами и алгоритмами анализа и синтеза моделей. Тем самым компьютерное моделирование всегда происходит в более широкой компьютерной среде, чем требует того только моделирование. В связи с обсуждением понятия компьютерного моделирования уместно вернуться к обсуждению принципиального различия кибернетики и информатики. В кибернетических и интеллектуальных системах происходят информационно-логические процессы решения задач. При этом кибернетические системы решают только известные им задачи, т. е. они имеют дело только со штатными (запрограммированными) ситуациями, когда системе известны модели, задачи и алгоритмы решения задач. В противном случае кибернетические системы не функционируют. В отличие от кибернетических систем интеллектуальные системы предназначены решать задачи не только в штатных ситуациях. Умение находить решение задачи в некоторых нештатных ситуациях — главное свойство интеллектуальной системы. Это свойство делает интеллектуальную систему информационно устойчивой (живучей) по сравнению с кибернетической системой (автоматной). Обратим внимание на то, что информационная устойчивость — особый вид функциональной устойчивости систем, не связанный с надежностью элементов системы. Интеллектуальные системы должны устойчиво решать задачи в условиях часто имеющейся неопределенной и неполной информации. Чем больше интеллекта в системе, тем большие отклонения от штатных ситуаций система способна преодолевать, вплоть до решения полностью новых (неизвестных) системе задач. В интеллектуальных системах должны быть предусмотрены модификация и синтез новых моделей, модификация и синтез новых задач, модификация и синтез новых алгоритмов, т. е. творческий процесс. В связи с этим кибернетические системы естественно называть сильноформальными (жесткими, детерминированными, автоматными). Математическую кибернетику можно рассматривать как теорию сильноформальных систем. Интеллектуальные системы, в отличие от кибернетических, естественно называть слабоформальными (мягкими, недетерминированными, неавтоматными, живыми). В связи с этим математическую информатику будем рассматривать как теорию слабоформальных систем. 250
В интеллектуальных системах творческий процесс основан, в первую очередь, на принципе управляемого выбора (проб и ошибок) из множества радикалов (заготовок). Поэтому структура интеллектуальной системы должна быть переопределенной радикалами про запас (см. подразд. 16.4) и иметь возможность пополнять множество радикалов, т. е. самообучаться. Вывод. Математическое моделирование в современном мире стало компьютерным моделированием с постоянно расширяющимися интеллектуальными свойствами программно-технических средств такого моделирования. При этом дискретная математика развивается в сторону создания своеобразного человеко- машинного языка кибернетического моделирования, а понятие радикала является центральным понятием такого языка.
Список литературы 1. Андерсен Дою. А. Дискретная математика и комбинаторика: пер. с англ. — М.: Вильяме, 2003. 2. Белоусов А. И. Дискретная математика / А. И. Белоусов, С. Б. Ткачев. - М.: Изд-во МГТУ им. Н. Э. Баумана, 2001. 3. Гаврилов Г. П. Задачи и упражнения по курсу дискретной математики / Г. П. Гаврилов, А. А. Сапоженков. — М.: Наука, 1992. 4. Ершов Ю. Л. Математическая логика / Ю. Л. Ершов, Е. А. Палю- тин. — М.: Наука, 1987. 5. Кузнецов О. П. Дискретная математика для инженеров. — СПб.: Лань, 2004. 6. Кук Д. Компьютерная математика / Д. Кук, Г. Бейз. — М.: Наука, 1990. 7. Ларичев О. И. Теория и методы принятия решений. — М.: Логос, 2003. 8. Люгер Дою. Ф. Искусственный интеллект: пер. с англ. — М.: Вильяме, 2003. 9. Мальцев А. И. Алгоритмы и рекурсивные функции. — М.: Наука, 1986. 10. Мендельсон Э. Введение в математическую логику. — М.: Наука, 1976. 11. Нефедов В.Н. Курс дискретной математики / В.Н.Нефедов, В. А. Осипова. — М.: Изд-во МАИ, 1992. 12. Скорняков Л. А. Элементы алгебры. — М.: Наука, 1986. 13. Надежность и эффективность в технике: в 10 т. Т. 3 / под ред. В. Ф. Уткина, Ю. В. Крючкова. — М.: Машиностроение 1988. 14. Чечкин А. В. Математическая информатика. — М.: Наука, 1991. 15. Яблонский С. В. Введение в дискретную математику. — М.: Высшая школа, 2003.
ОГЛАВЛЕНИЕ Предисловие 3 Введение. Новый период развития математики 5 ЧАСТЬ I. МНОЖЕСТВА И ОТНОШЕНИЯ 11 Глава 1. Основные понятия теории множеств 11 1.1. Способы задания множеств 11 1.2. Операции над множествами 14 1.3. Характеристическая функция множества 16 1.4. Декартово произведение множеств 17 1.5. Понятие отображения множеств 20 Глава 2. Конечные и бесконечные множества 23 2.1. Конечные множества и комбинаторика 23 2.2. Перестановки, размещения и сочетания 25 2.3. Метод включений и исключений 27 2.4. Метод рекуррентных соотношений 29 2.5. Счетные множества и производящие функции 32 2.6. Несчетные и континуальные множества 34 Глава 3. Отношения надмножествах 36 3.1. Многоместные отношения 36 3.2. Бинарные отношения на множестве . . : 38 3.3. Отношение эквивалентности (сходства) 41 3.4. Отношение порядка (превосходства) 44 Глава 4. Элементы теории графов 49 4.1. Определение и примеры графов 49 4.2. Связность графа 53 4.3. Обзор основных задач теории графов 56 4.4. Расчет сетевого графика 59 4.5. Плоские графы 62 4.6. Сети Петри 64 ЧАСТЬ II. АЛГЕБРА И ТОПОЛОГИЯ 71 Глава 5. Алгебры 71 5.1. Алгебраические операции 71 5.2. Алгебры с одной алгебраической операцией. Группы 75 253
5.3. Алгебры с двумя алгебраическими операциями. Кольца и поля 78 5.4. Алгебры с тремя алгебраическими операциями. Булевы алгебры 81 Глава 6. Булевы функции 84 6.1. Табличное задание булевых функций 84 6.2. Аналитическое задание булевых функций 85 6.3. Полные системы булевых функций 87 6.4. Переключательные функции и их минимизация 89 6.5. Схемы из функциональных элементов 93 Глава 7. Элементы общей топологии 96 7.1. Топологические пространства, сходимость к точке и направленности 96 7.2. Фильтры и ультрафильтры 99 7.3. Решетки 100 7.4. Булевы решетки подмножеств 103 7.5. Атомы и шкалы решеток подмножеств 105 7.6. Координатизация множества. Произведение решеток подмножеств 108 ЧАСТЬ III. МАТЕМАТИЧЕСКАЯ ЛОГИКА 112 Глава 8. Логика высказываний 112 8.1. Высказывания 112 8.2. Формулы логики высказываний 115 8.3. Правила преобразования формул 116 8.4. Нормальные формы формул логики высказываний 122 8.5. Законы логики высказываний. Тавтологии 123 Глава 9. Логика предикатов 125 9.1. Предикаты. Кванторы 125 9.2. Формулы логики предикатов 127 9.3. Правила преобразования формул логики предикатов 131 9.4. Законы логики предикатов. Общезначимые формулы 135 Глава 10. Элементы теории доказательств 136 10.1. Аксиоматическая (формальная) теория. Исчисление предикатов 136 10.2. Метод резолюций 141 10.3. Хорновские дизъюнкты 144 10.4. Унификация. Метод резолюций в логике предикатов 147 ЧАСТЬ IV.МАТЕМАТИЧЕСКАЯ КИБЕРНЕТИКА . . 150 Глава 11. Синтаксис языков 150 11.1. Языки 150 11.2. Грамматики 153 11.3. Автоматы 156 254
Глава 12. Теория алгоритмов 160 12.1. Понятие алгоритма. Перечислимые и разрешимые множества 160 12.2. Вычислимые функции и рекурсивные функции 163 12.3. Вычислимые функции и машины Тьюринга 167 12.4. Вычислимые функции и нормальные алгоритмы Маркова . . 172 12.5. Алгоритмически неразрешимые задачи и сложность алгоритмов 175 12.6. Задачи 178 Глава 13. Элементы теории кодирования 180 13.1. Проблема кодирования сообщений 180 13.2. Расстояние Хемминга 181 13.3. Групповые коды 183 13.4. Хемминговы коды 185 ЧАСТЬ V. МАТЕМАТИЧЕСКАЯ ИНФОРМАТИКА . . 187 Глава 14. Семантика языков. Информация о точке и математическое моделирование баз данных . 187 14.1. Четкие сведения о точке 187 14.2. Четкая информация о точке 193 14.3. Носитель четкой информации о точке 194 14.4. Нечеткие сведения о точке 202 14.5. Количество информации 207 14.6. Данные о точке 210 14.7. Ультрамножество — математическая модель локальной базы данных 213 Глава 15. Принятие решений. Ультраоператоры и математическое моделирование баз знаний . . 215 15.1. Ультраоператор — математическая модель локальной базы знаний 215 15.2. Сингулярные ультраоператоры 217 15.3. Канонические ультраоператоры 220 15.4. Математическая модель распределенной базы данных и знаний 223 15.5. Модель лица, принимающего решения 225 Глава 16. Дополнения 228 16.1. Интеллектуальные системы и две парадигмы математической информатики 228 16.2. Системный анализ и целеполагание интеллектуальной системы 231 16.3. Системный синтез и радикалы (память) интеллектуальной системы 238 16.4. Функционирование интеллектуальной системы 244 16.5. Математическое и компьютерное моделирование 247 Список литературы 252
Учебное издание Соболева Татьяна Сергеевна, Чечкин Александр Витальевич Дискретная математика Учебник Редактор М.В.Макарова Технический редактор О.Н.Крайнова Компьютерная верстка: Т.Л.Клименко Корректоры JI.A. Богомолова, В.А.Жилкина, Г. Н. Петрова Изд. № 101110315. Подписано в печать 31.05.2006. Формат 60x90/16. Бумага офсетная № 1. Печать офсетная. Гарнитура «Тайме». Усл. печ. л. 16,0. Тираж 3 000 экз. Заказ № 2999. Издательский центр «Академия», www.academia-moscow.ru Санитарно-эпидемиологическое заключение № 77.99.02.953.Д.007496.07.04 от 20.07.2004. 117*342, Москва, ул. Бутлерова, 17-Б, к. 360. Тел./факс: (495)334-8337, 330-1092. Отпечатано с электронных носителей издательства. ОАО "Тверской полиграфический комбинат", 170024, г. Тверь, пр-т Ленина, 5. Телефон: (4822) 44-52-03,44-50-34, Телефон/факс (4822) 44-42-15 Home page - www. tverpk.ru Электронная почта (E-mail) - sales@tverpk.ru