УДК 519.4
В.Е. Новиков
РЕШЁТКА КОНЦЕПТОВ В ОДНОЗНАЧНОМ
КОНТЕКСТЕ
В статье продолжено описание свойств решётки концептов в однозначном контексте в рамках исследования влияния функциональных зависимостей на структуру формальных концептов, которое было начато в [1, 2].
Восстановим некоторые определения концептуального анализа [3], обобщая их на контексте с п-арным отношением с помощью аппарата алгебры отношений В.В. Вагнера [4]. Будем говорить, что задан формальный контекст К = (Мп, М^, р), если задано п-арное отношение р ^ Мп и выделено М^, % С п, множество объектов. Также говорим, что на контексте К = (Мп, М^, р) имеет место ^-зависимость М^ ^ Мп [1], если оператор выбора }(р) генерирует отображение щ8 ^ р. В этом случае также говорим, что контекст К однозначен относительно множества объектов, или просто однозначный контекст,.
Далее, если для подмножества объектов X С М^ выполняется
равенство X =р^ (X), то X называется г8-концептом по Любое
подмножество У С М^, % С щ для которого Р^ (У) = X называется ] к-генератором %8-концепта X. В этом случае элементы множества X будем называть объектами, а элементы множества У — атрибутами концепта X по ПРИ этом также % называем индексом, генератора пли атрибута.
Теорема 1. Если К = (Мп, М^, р) однозначный контекст, то множество 1концептов, упорядоченное отношением включения, образует полную решётку, которую обозначим Ь(К).
По свойствам дуального среза [3] в множестве всех %-концептов всегда присутствуют 0 и М^. Отличные от этих множеств %-концепты будем называть собственными.
Теорема 2. Пусть К = (Мп, М^, р) - однозначный контекст,. Тогда, справедливы следующие утверждения:
1) Множество собственных ъ8-концептов по % С п, образует разбиение множества щ8 (р), которое в дальнейшем обозначаем
(рУ^;
2) Если Iч С % С п, то (р)/^ является подразбиением разбиения, (р)/ /,;
3) Пусть Xp,Xq С M-s — два собственных г3-концепта по jp и lq соответственно, 1 q,Jp С n, и y-p, у- — щ; генераторы максимального индекса, тогда у- С y-p в том и только том случае, еслиХр С Xq;
4) Если га-концепт X в решётке концептов L(K) не является атомом, то X покрывает не менее двух га-концептов этого отношения,;
5) Высота решётки L(K) не превосхоdum min{n + 1, |n-s(р)|}7 а её ширина равна |n-s (р)|.
Проиллюстрируем все пять утверждений теоремы 2. Для этого рассмотрим контекст K = (Mn, M-s, р), где р задано таблицей, n = 4, M-s = Mb S
Ml M2 M3 M4
Öl bi Ci d1
ö2 b2 Ci d1
Ö3 b2 C2 d1
Ö4 b2 C2 d2
Найдём собственные концепты этого контекста. По индексу атрибута (2) (см. столбец атрибута М2) получаем разбиение множества объектов Ы\ на концепты {«1} и {а2,а3,а4}. По индексу атрибута (3) получаем разбиение Ы\ на концепты {«, а2} и {а3,а4}; по индексу атрибута (4) — на концепты {ах,а2, а3} и {а4}; по индексу атрибута (2, 3) — на концепты {01} {а2} и {а3,а4}; по индексу атрибута (3, 4) — на концепты {а1, а2}, {а3} и {а4}; по индексу атрибута (2, 4) — на концепты {а1} {а2,а3} и {а4}; по индексу атрибута (2, 3, 4) — на концепты {а1}, {а2}, {а3} и {а4}. Теперь легко изобразить решётку концептов контекста К (рисунок).
{аь 0.2,03,04}
{0}
Для примера второго утверждения теоремы 2 рассмотрим индексы атрибутов (3) С (2, 3). Действительно, по индексу атрибута (2, 3) мы
получили разбиение ni(p)/(2,3) = {{ai}, {а2}, {аз, которое является подразбиением разбиения ni(p)/(3) = {{ai,a2}, {а3,а4}} по индексу атрибута (3).
Для иллюстрации третьего утверждения рассмотрим концепты {а3,а4} и {а2,а3,а4}, поскольку {а3,а4} С {а2,а3,а4}- Найдём их генераторы максимального индекса. Для концепта {а3,а4} генераторами являются (c2) и (b2,c2), где (b2,c2) будет генератором максимального индекса. Для концепта {а2,а3,а4} единственным генератором является (b2), он же максимального индекса. При этом выполняется включение (b2,c2) D (b2), выражающее отношение Галуа между концептами и их генераторами максимального индекса в однозначном контексте. Третье утверждение отражает частный случай закона обратного соотношения содержания и объёма понятий в классической логике.
Четвёртое утверждение теоремы 2 иллюстрируется непосредственно рисунком, на котором хорошо видно, что каждый неатомный концепт покрывает ровно два концепта, т.е. каждый элемент решётки L(K), не являющийся атомом, покрывает не менее двух элементов этой решётки.
Пятое утверждение проверяется простым подсчётом |ni (р)| = = |{ai, а2, а3, а4}| = 4. Следовательно, высота этой решётки равна min{4 + 1,4} = 4; ширина равна 4, что также отражено на рисунке.
Таким образом, только по внешнему виду отношения (см. таблицу) в однозначном контексте мы может иметь некоторые представления о решётке концептов этого контекста, например, о её высоте или ширине.
Теорема 1 показывает, что функциональная зависимость между объектами и атрибутами является достаточным условием, чтобы упорядоченное множество концептов контекста с n-арным отношением являлось решёткой. Этот факт находит отражение в разных классификациях по базам данных с ключом. А из рассмотренного примера видно, что в общем случае решётка L(K) не является модулярной, поскольку содержит подрешётку, изоморфную Пентагону, например {{ai, а2, а3, а4}, {ai,a2} {а3,а4}, {ai} {0}}- А следовательно, не является и дистрибутивной.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Новиков В.Е. Концепты и функциональные зависимости // Математика. Механика: сб. науч.тр. Саратов: Изд-во Сарат. ун-та, 2007. Вып. 9. С. 68-70.
2. Новиков В.Е. Функциональные зависимости в формальном контексте // Математика. Механика: сб. науч.тр. Саратов: Изд-во Сарат. ун-та, 2008. Вып. 10. С. 53-55.
3. Ganter В., Wille R. Formal Concept Analysis. Mathematical Foundatoins. Berlin: Springer Verlag, 1999.
4, Вагнер B.B. Теория отношений и алгебра частичных отображений // Теория полугрупп и её приложения, Саратов: Изд-во Сарат, ун-та, 1965, Вып. 1, С, 3-178,
УДК 519.682.1
A.A. Орел
ФАНТОМНЫЕ ТИПЫ ДАННЫХ НА ОСНОВЕ ОТНОШЕНИЯ ПРЕДПОРЯДКА
В работе [1] рассмотрена технология функционального программирования на языке Haskell, основанная на применении так называемых фантомных типов (phantom types), построенных на основе отношения эквивалентности между типами. Фантомные типы определяются [2] как типы данных, применяемые только для того, чтобы создавать другие типы данных, при этом их значения никогда не используются.
В данной статье предлагается при конструировании фантомных типов в ряде случаев использовать отношение предпорядка, которое проще реализуется средствами языка Haskell, чем отношение эквивалентности.
Для иллюстрации применения этого отношения рассмотрим задачу построения интерпретатора для простого языка выражений, предложенного в работе [3]. Выражения этого языка должны представлять операции сложения целых чисел, конъюнкции и условные операторы, а также удовлетворять требованию статического контроля типов. Следующий алгебраический тип данных Ехр на языке Haskell дает представление синтаксиса этих выражений.
data Exp = LitInt Int
I LitBool Bool
I Plus Exp Exp
I And Exp Exp
I If Exp Exp Exp
Проблема, связанная с данным представлением, состоит в том, что формальные параметры выражений не содержат информацию о типе. Таким образом, статический контроль типов успешно пройдут выражения вида
PlusCLitlnt 3)(LitBool False)