ИЕРАРХИЧЕСКИЕ ОТНОШЕНИЯ -МЕТОДИЧЕСКАЯ ОСНОВА ИЗУЧЕНИЯ ПОНЯТИЯ ИЕРАРХИЙ
И.Н. Скопин
Кафедра программирования Новосибирский национальный исследовательский государственный университет ул. Пирогова, 2, Новосибирск, Россия, 630090
Определяются два класса иерархических отношений, полезных при построении иерархических моделей, и связанные с ними понятия обобщенных древовидных структур. Изучаются виды иерархий, их сводимость друг к другу, а также возможности корректного определения уровневого расслоения систем. Иерархические отношения и связанные с ними понятия сопоставляются. Рассмотренные понятия целесообразно использовать в преподавании информатики и других дисциплин, в которых требуется точное определение иерархичности.
Ключевые слова: иерархические отношения, эквивалентность, классы эквивалентности, субординация, обобщенные древовидные структуры, иерархические уровни.
Использование иерархических построений при моделировании систем по многим причинам является удобным, а зачастую и единственным методологическим средством изучения. Однако, как мы уже отмечали [1], неточности при определении иерархий могут приводить к искажению понимания, к потерям информативности коммуникаций. Чтобы избежать этого, следует оговаривать, какое отношение используется для построения иерархии, каким образом оно выделяет иерархическую структуру системы. Предлагая какой бы то ни было инструментарий для автоматизации оперирования иерархическими структурами, нужно заранее определить типы иерархических отношений, свойства, которые полезны для работы с иерархиями, возможности извлечения информации из иерархических моделей. Решение этой задачи достигается посредством формализованного описания иерархических отношений и связанных с ними понятий.
В качестве цели исследования рассматривается построение теоретической базы подхода к моделированию развивающихся систем с активными элементами. Существенным моментом такого построения является создание понятийного аппарата для обучения составлению иерархий и корректного использования их в практической деятельности. Очень важно, чтобы обучаемые с самого начала знакомства с иерархиями научились точности оперирования ими.
Для точного понимания иерархичности мы формально определяем отношения, которые могут быть использованы для построения или выделения иерархических структур систем. Предлагаемые отношения применяются для построения классификационных и субординационных иерархий, свойства которых обсуждаются с точки зрения полезности при моделировании систем.
Мы исходим из общепринятых отношений эквивалентности и частичного порядка, которые, как хорошо известно, являются основой любых иерархий. По-
скольку в чистом виде эти отношения определяют класс иерархий, недостаточный для отражения реальных связей, приходится модифицировать их, разбирать возможность оперирования несколькими отношениями и т.д. Это мотивирует разработку специального описания иерархических отношений, приемлемых для практики. Формальное определение соответствующих понятий, обеспечивающих естественную интерпретацию моделей реальными объектами и их связями, — задача, решаемая в предлагаемой работе.
Следует различать два вида иерархий. Первые образуются как надстройка над базовыми элементами системы — их мы называем классификационными, так как этот термин отражает структуризацию посредством определения понятий, обозначающих выделенных по некоторым признакам совокупностей элементов. Иерархии второго вида строятся на основе подчиненности одних элементов другими. Они называются субординационными. Как будет показано, оба вида иерархий оказываются сводимыми друг к другу, что, однако, ни коей мере не означает их эквивалентности на практике.
Материалы, предлагаемые в настоящей статье, не касаются вопросов методической поддержки построения реальных иерархий. Эта задача должна решаться с учетом особенностей прикладных областей, а потому представленные по ходу изложения примеры следует рассматривать лишь как иллюстрации обсуждаемых понятий. Тем не менее отметим особую роль иерархичности, причем в совершенно разных аспектах, в такой обширной области, как образование. Точное понимание иерархичности необходимо как при создании обучающих программных систем, так и в учебно-методических разработках, например, при компоновке материалов в учебнике. Изучение этих вопросов является предметом исследований В.В. Грин-шкуна [2].
Отношения эквивалентности, иерархии, внешние и внутренние классификации. Построение или выявление иерархии в системе возможно путем обобщения и выявление схожести элементов по каким-либо признакам и свойствам. Основой таких иерархий служат отношения эквивалентности.
Определение 1. Отношение эквивалентности, классификационные иерархии.
Пусть M — множество произвольных элементов, - — некоторое бинарное отношение на нем (а -Ь читается как «а эквивалентно Ь»), удовлетворяющее следующим условиям:
a) Уае M (а - а) — рефлексивность;
b) Уа, Ье M (а - Ь з Ь - а) — коммутативность;
c) У а, Ь, се М ((а - Ь & Ь - с) з а - с) — транзитивность.
Тогда - называется отношением эквивалентности.
Иерархии, которые строятся с использованием отношений эквивалентности, называются классификационными. Любая из классификационных иерархий определяется как (абстрактная) надстройка над множеством элементов системы, которая указывает на классы (иногда называемые понятиями) элементов исходного множества.
Заданное отношение эквивалентности однозначно разбивает M на классы эквивалентных элементов, т.е. строит так называемое фактор-множество ЫУ-,
элементами которого являются эти классы. И наоборот, любое разбиение М на непересекающиеся подмножества порождает соответствующее разбиению отношение эквивалентности. Таким образом, классификация, исходящая из такого отношения, является одноуровневой. Для получения следующих уровней классификации нужно использовать другие отношения эквивалентности. Это построение делается ниже.
Определение 2. Уровни внешней классификации.
Внешняя иерархия множества М с отношением эквивалентности -, или внешняя иерархическая структура, а также связанные с ней понятия определяются следующим построением. М пополняется дополнительными символами классов эквивалентностей, соответствующих отношению эквивалентности - на исходном множестве М: М1 = М и Къ М П К = 0, К — фактор-множество М/-. Исходное множество М — объявляется нулевым уровнем классификационной иерархии.
Далее, с помощью другого отношения эквивалентности на Къ определяемого для К специально, строятся классы К2, надстраивающие следующий уровень иерархии: М2 = М1 и К2, М1 П К2 = 0. Процесс повторяется, пока при некотором п не окажется, что Кп есть одноэлементное множество. Тогда Кп объявляется главным элементом иерархии Мп и ее верхним уровнем.
Таким образом, классификационная иерархия для М, основанная на последовательности отношений -1, ..., -п-1, оказывается построенной: под Кп лежат элементы-классы Кп-1 и т.д. вплоть до уровня, определенного исходным отношением и ниже его — элементами из М.
Классификационная иерархия для М, основанная на последовательности отношений -1, ..., -п-1, называется также иерархической структурой <М; -1, ...,
-п-1>.
В данном случае используются понятия (классы), не принадлежащие множеству элементов, т.е. внешние для него, и выстраиваются отношения между классами, а не элементами. По этой причине классификационную иерархию правомерно называть внешней.
Только что определенная внешняя иерархия может быть представлена в виде дерева, листьями которого являются элементы из М — нижний уровень иерархии, а символы классов, т.е. понятия следующего и всех последующих более высоких уровней, представляют вершины, связанные дугами с элементами предыдущего уровня и только с ними. Корнем такого дерева становится символ главного элемента иерархии.
Классификационная иерархия допускает два вида расширения, которые, хотя и нарушают древовидность ее структуры, но оказываются более подходящими для моделирования иерархических связей реальных систем:
1) разрешить пополнять классы некоторых уровней элементами предыдущих уровней;
2) разрешить классам некоторых уровней пересекаться.
Первая идея реализуется за счет того, что некоторые из символов классов в множестве подменяются своими элементами, и тем самым на уровне 1 появляются как символы классов этого уровня, так и элементы уровня 1 - 1 (понятия или исходные элементы из М). Все отношения -1 остаются эквивалентностями, но что листья дерева могут размещаться не только на самом нижнем уровне дерева, а вертикально связанные понятия могут перескакивать через уровни.
Вторая идея еще дальше отходит от исходного древовидного представления: в графе появляются дуги, ведущие к одной и той же вершине от разных вершин более верхнего уровня. Иными словами, некоторые ветви склеиваются и некоторые из отношений -1 перестают быть эквивалентностями.
Рис. 1 иллюстрирует три варианта классификационных иерархических структур: без нарушения строгой схемы, с искажением строгой классификации в двух случаях (для класса и для исходного элемента) и со склейкой ветвей. Здесь вершины понятий изображаются окружностями, а листья — квадратами.
Рис. 1. Три варианта внешней иерархической структуры
На схемах (а) и (Ь) каждый уровень разбивается на классы соответствующим отношением эквивалентности.
Для построения уровня 2 по схеме (Ь) А и В заменены своими элементами (листьями х и у). Соответствующее отношение эквивалентности стало таким, что х и у оказались эквивалентными (попали в один класс Б).
Аналогично, построение уровня 3 схемы (Ь) выполнено так, что и и V стали вершинами уровня 2, и мощность классифицируемого множества увеличилась. В данном случае по сравнению со схемой (а) не изменилось число уровней.
В схеме (с) образующее отношение (нулевого уровня) по сравнению со схемой (а) перестало быть эквивалентностью: классы Е и А пересекаются.
Потребность в расширенных иерархических структурах обусловлена стремлением отразить в них реальные связи более точно. Например, изучая административную структуру некоего предприятия, можно обнаружить подразделения, которые по своему устройству не соответствует единому регламенту строгой схемы. В этом случае можно либо вводить фиктивные классы (это сохраняет уровни), либо воспользоваться перескакиванием через уровни (это точнее отражает реальные связи). Зачастую в реальности нередко и двойное подчинение: персона или подразделение иерархически связаны с двумя вышестоящими инстанциями.
В этом случае при описании можно говорить либо о совмещении ролей (на графовом представлении это отражается расклеиванием ветвей), либо об отказе от отношения эквивалентности (допускается пересечение классов). Узнать, какое из решений лучше, можно только специально анализируя ситуацию, не последнее место при этом должны занимать, вообще говоря, противоречивые требования формальной и содержательной корректности.
Если на множестве М определены несколько отношений эквивалентности -1, ..., -п, то можно строить на нем внутренние многоуровневые иерархии, т.е. не прибегать к заданию специальных отношений между классами. Будем считать, что набор этих отношений включает отношение -т, справедливое для любой пары элементов, и - = -п.
Определение 3. Уровни внутренней классификации.
Внутренняя классификационная иерархия множества М с отношениями эквивалентности -1, ..., -п, или внутренняя классификационная иерархическая структура <М; -1, ..., -п> определяется следующим построением.
Максимально возможный (п-ый) уровень (любой) внутренней классификаци-
т
онной иерархии множества М определяется для отношения -п = - как одноуровневая классификация М, т.е. как фактор-множество Кп = М\-т = М\-п, которое содержит единственный класс со всеми элементами из М.
Пусть построен 1-й, 1 < 1 < п, уровень внутренней классификационной иерархии
К1 = {к1, ..., к^,
где классы из К1 удовлетворяют условиям:
a) V г е {1, ..., t}((kг е М);
b) V г', кг'' е {1, ..., ^(кг' П кг'' = 0);
с) к1 и ... и к1 = М;
ё) V г е {1, ..., 1} V а, Ь е кг (а - Ь))).
Тогда 1-1-й уровень внутренней классификационной иерархии множества М К1_ 1 определяется как объединение всех фактор-множеств
Процесс повторяется, пока не исчерпываются все отношения -1, ...,-п. Кп объявляется главным элементом иерархии М.
Таким образом, внутренняя классификационная иерархия для М, основанная на последовательности отношений -1, ..., -п на М оказывается построенной: под Кп лежат элементы-классы Кп-1 и т.д. вплоть до уровня, не содержащего классов.
Оперируя при построении классификационных иерархий сразу несколькими отношениями эквивалентности, мы находимся в ситуации зависимости результата от выбора порядка этих отношений. Для реального моделирования очень важно упорядочивать -1, ..., -п так, чтобы достигалась согласованность построения с требованием использования модели. Это важно и еще по одной причине. Дело в том, что классы
к1, ..., к1 определения 3, вообще говоря, не обязательно являются классами -¡-эквивалентных элементов множества М, поскольку не требуется, чтобы
V г', г' е {1, ..., 1} Va е кг' V Ь е кг''((г Ф кг'') з -(а -1 Ь)) (*)
и приходится учитывать возможную несогласованность иерархии с классами эк-вивалентностей на М, которые задаются отношения -1, ..., -п. Мы должны либо идти на нарушение строгой иерархичности, которое уже обсуждалось выше, т.е. разрешить классам некоторых уровней пересекаться, либо ограничиваться частными случаями, когда удается строить иерархии, согласованные с классификациями по отношениям эквивалентности.
Определение 4. Согласованность внутренней иерархической структуры с отношениями эквивалентности.
Внутренняя иерархическая структура <М; -1, ..., -п> называется согласованной с отношениями эквивалентности, если в обозначениях определения 3 для каждого отношения -1 фактор-множество М\-1 = 1 ..., 1№}и каждого 1-го уровня иерархии К1 = {к1, ..., к1} справедливо:
a) V г е {1, ..., 1} 3 8 е {1, ..., '}(кг с 1,) — вложенность иерархических классов в классы эквивалентности;
b) V 8 е {1, ..., '} V а е 1 3 г е {1, ..., 1} (а е к1) — полное покрытие классов эквивалентности иерархическими классами.
Легко видеть, что условие (Ь) следует из определения построения внутренней иерархической структуры. Что же касается условия (а), то, если стремиться к согласованности, его выполнение необходимо проверять специально. Следующее утверждение, доказываемое непосредственно, указывает условие, гарантирующее согласованность в, пожалуй, наиболее важном случае.
Утверждение 1. Если в условиях определения 3 отношения существует порядок отношений, обладающих свойством вложенности
2 ~2 2 ... 2 ^
т.е.
V 1, ] е {1, ..., п}((1< ]) з V а, Ь е М ((а - Ь) з (а - Ь)),
то при выборе этого порядка для построения внутренней иерархической структуры достигается ее согласованность с отношениями эквивалентности.
В качестве метода достижения согласованности при построении классификации можно рекомендовать преобразовывать иерархические классы, для которых не выполняется условие (а), путем подмены отношений эквивалентности: вместо одного отношения -1 рассматривать 1 отношений, каждое из которых совпадает с ~1 на одном их классов к1, ..., к1, а для пар с одним или обоими элементами не из этого класса определяется ложным. Подчеркнем, что это всего лишь формальный прием и его использование необходимо увязывать с интерпретацией модели. Если это не удается, то, скорее всего, построение внутренней классификационной иерархии неадекватно. Быть может, правильнее в таких случаях воспользоваться множественными совместно и равноправно сосуществующими структурированиями моделируемой системы [3].
Внутренняя иерархия на базе нескольких отношений эквивалентности представляет собой систему вложенных множеств, являющихся подмножествами М. Введение символов классов как обозначений для этих подмножеств позволяет представлять внутреннюю иерархию в виде дерева, подобного тому, которое обсуждалось при построении внешних иерархий. Листьями такого дерева являются элементы из М — нижний уровень иерархии, а символы классов следующего и всех последующих более высоких уровней (их, как и в предыдущем случае, можно считать понятиями) — вершины, связанные дугами с элементами предыдущего уровня и только с ними. Корнем дерева становится символ главного элемента иерархии. Это представление отличается от подобного дерева внешней иерархии только тем, что, по построению, элементы из М и классы подтянуты вверх по уровням. При желании можно разрешить перемещение листьев и других вершин вниз по иерархии в пределах, не нарушающих уровневое расслоение.
Введение символов классов для внутренней классификационной иерархии позволяет сопоставить ее с внешней классификацией. Как нетрудно увидеть, по набору отношений эквивалентностей, использованных при построении, и уровнево-му распределению элементов множества М можно определить набор (внешних) отношений эквивалентности между символами классов, которые допускают построение внешней классификационной иерархии. В результате оказывается, что внутренняя классификационная иерархия порождает соответствующую ей внешнюю. Верно и обратное. Имея внешнюю классификационную иерархическую структуру, можно последовательно для каждого из ее уровней установить эквивалентными элементы из М, для которых есть путь из одного и того же класса. В результате получается набор вложенных отношений на М в той последовательности,
которая обеспечивает построение внутренней классификационной иерархии. Таким образом, справедливо следующее.
Утверждение 2. С точностью до обозначений классов одна и та же иерархическая классификационная структура множества М может быть представлена как внешняя или как внутренняя с помощью определения согласованных друг с другом наборов отношений эквивалентности на множестве М или на М и множестве символов классов.
ЛИТЕРАТУРА
[1] Скопин И.Н. Иерархичность и моделирование развивающихся систем // Проблемы системной информатики: Сб. науч. тр. / Под ред. В.Н. Касьянова. — Новосибирск: Ин-т систем информатики им. А.П. Ершова СО РАН, 2010. — С. 188—214.
[2] Гриншкун В.В. Теоретические и методологические основы использования иерархических структур в информатизации образования и обучении информатике // Вестник московского университета. Серия 20. Педагогическое образование. — 2004. — № 1. — С. 125—126.
[3] Скопин И.Н. Множественное структурирование данных // Программирование. — 2006. — Т. 32. — № 1. — С. 54—77.
LITERATURA
[ 1 ] Skopin I.N. Ierarhichnost' i modelirovanie razvivajushhihsj a sistem. — V kn.: Problemy sistemnoj informatiki: Sb. nauch. tr. / Pod red. V.N. Kas'janova. — Novosi-birsk: In-t sistem informatiki im. A.P. Ershova SO RAN, 2010, S. 188—214.
[2] Grinshkun V.V. Teoreticheskie i metodologicheskie osnovy ispol'zovanija ierarhicheskih struktur v informatizacii obrazovanija i obuchenii informatike // Vestnik moskovskogo univer-siteta. Serija 20. Pedagogicheskoe obrazovanie. — 2004. — № 1. — S. 125—126.
[3] Skopin I.N. Mnozhestvennoe strukturirovanie dannyh // Programmirovanie. — 2006. — T. 32. — № 1. — S. 54—77.
HIERARCHICAL RELATIONSHIPS -METHODOLOGICAL BASIS OF THE CONCEPT HIERARCHIES STUDYING
I.N. Skopin
Programming chair Novosibirsk national research state university Pirogova str., 2, Novosibirsk, Russia, 630090
Two classes of hierarchical relationships that are determined. It is useful in the hierarchical models construction, and in related concepts of generalized tree structures. It is studied the kinds of hierarchies, reducible to each other, as well as the possibility of a correct determination of level stratification systems. Hierarchical relations and related concepts are compared. The above concept should be used in the teaching of computer science and other disciplines that require a precise definition of the hierarchy.
Key words: hierarchical relationships, equivalence, classes of equivalence, subordination, generalized tree structures, hierarchical levels.