В отличие от классической реляционной модели данных применение темпорального подхода при проектировании реляционной БД позволяет использовать дополнительные возможности для хранения не только информации об объектах или фактах совершенных событий, но и о состояниях объектов, которые они принимают в различных временных измерениях. Для любого объекта, созданного в один момент времени и закончившего свое существование в другой, темпоральная поддержка позволяет сохранять все его состояния на временном интервале по временной шкале.
Тем не менее временные показатели и понятия могут содержать неточность, неопределенность, которая в одних случаях может быть приемлемой для удовлетворения требований, а в других необходимой для принятия решений.
Необходимость использования нечеткой логики в обработке темпоральной информации обусловлена возможным наличием неточности в исходных данных, где периоды начала/завершения действия интервалов или событий могут быть неточно определены. Рассмотрим два интервала: интервал I между моментами времени Si и Ei (рис. 1, #1) и J между моментами времени Sj и Ej (рис. 1, #2). Классическая функция пересечения [1] интервалов I и J определяется как I overlaps J при условии, что Sj < Sj ∧ Ej < Ej ∧ Ej > Sj. Результатом выполнения классической функции пересечения для интервалов I и J в данном примере будет значение FALSE (рис. 1, пунктир на временных отрезках #1 и #2).
Используя нечеткую форму функции пересечения двух интервалов, можно рассчитать, с какой степенью возможности интервал I пересекает интервал J (рис. 1, #3). Если классическая версия функции пересечения интервалов I и J возвратит пользователю ответ «Нет, интервалы не пересекаются», то нечеткая версия функции пересечения возвратит «Пересекаются, со степенью возможности 0.5».
Моделирование темпоральности и нечеткости в БД
В темпоральной модели данных можно выделить следующие типы нечеткости [2].
Неопределенность. Какая-либо часть темпоральной информации неизвестна или определена неточно. К примеру, дата рождения Сократа «около 469 год д.н.э.».
Субъективность, двусмысленность. Темпоральные события или периоды могут быть субъективно или неоднозначно определены. К примеру, «эпоха нового времени» или в сфере грузоперевозки «даты начала или завершения транспортировки груза».
Неясность, расплывчатость. События могут быть определены с различной гранулярностью или нечеткостью. К примеру, «доставка груза в течение дня».
Темпоральная модель данных с использованием вышеописанных типов нечеткости отражена на рисунке 2.
Фактом можно называть утверждение о событии или состоянии действительности, которое может быть проверено, верифицировано. Факты в явном виде могут не иметь никакой принадлежности к временным показателям, но в неявном виде всегда существует и может быть определена их зависимость от времени, поскольку события случаются в какой-то момент времени, а состояния сохраняются в течение какого-то промежутка времени. Cвязь фактов и их временных показателей определяется так называемой темпоральностью, которая в общем понимании подразумевает временную сущность фактов, определение времени их совершения или динамики их движения и изменения по временной шкале.
С течением времени проверенный факт может быть опровергнут или определен с ограничениями. Если говорить о событиях, то может произойти F(E) ≠ F(E), где F – факт; E – событие. С добавлением дополнительного атрибута время действительности можно точно определить, в какой момент времени факт был истинным или ложным: F(E, t1) ≠ F(E, t2), где F – факт; E – событие; t1 и t2 – моменты времени.
Введем следующую классификацию фактов.
1. Факты о совершенных событиях.
Это факты, связанные с отдельными событиями, имеющими место быть во временных точках (рис. 3).
Примеры: факт о событии списания денежной суммы с карты – факт F (E1, t1); факт о событии начисления денежных средств на карту – факт F (E2, t2).
2. Факты о сменившихся состояниях.
Это факты, связанные с отражением состояний действительности на временных интервалах (рис. 4).
Примеры: факт о состоянии активности банковской карты в течение интервала [t1, t2] – факт F [S1, t1, t2]; факт о состоянии блокировки банковской карты в течение интервала [t2, tсейчас] – факт F [S2, t2, tсейчас].
3. Факты о прогнозируемых событиях.
Это факты, связанные с событиями, которые прогнозируемо совершатся во временных точках в будущем (рис. 5).
Примеры: «солнце взойдет завтра утром» – факт F (E1, t1); «завтра я пойду на работу» – факт F (E2, t2).
4. Факты о прогнозируемых состояниях.
Это факты, связанные с прогнозируемым отражением будущих состояний действительности на временных интервалах (рис. 6).
Примеры: «солнце будет светить с утра до вечера» – прогнозируемый факт F [S1, t1, t2]; «далее будет ночь» – прогнозируемый факт F [S2, t2, t3].
Отношение Rt может называться темпоральным, если в нем существует временной интервал, определяющий период действия (состояния) экземпляра кортежа данного отношения.
Общий вид темпорального отношения Rt:
Rt = A I,
где A – множество нетемпоральных атрибутов {a1, a2, …, an} нетемпорального домена D {D1 (a1), D2 (a2), …, Dn (an)}; I – множество темпоральных атрибутов {ts, te} темпорального домена T, определяющих интервал действия кортежа данного отношения.
Первичным ключом темпорального отношения Rt является комбинация нетемпоральных атрибутов кортежа отношения и интервала его действия:
PK (Rt) = Apk I,
где Apk является множеством или элементом множества нетемпоральных атрибутов А отношения Rt.
Примером темпорального отношения может быть таблица, в которой два атрибута времени строго определяют интервал действия состояния.
Данное отношение предназначено для определения наступления возможностной временной точки a до возможностной временной точки b.
Для расчетов применяется функция принадлежности теории нечетких множеств, которая позволяет определить степень принадлежности элементов фундаментального множества пространства рассуждения нечеткому множеству. За основу меры степени принадлежности взяты введенные Л. Заде [3] вещественные числа в интервале от 0 до 1. Значение 0 означает, что элемент не включен в нечеткое множество,
1 – описывает полностью включенный элемент. Значения между 0 и 1 характеризуют нечетко включенные элементы.
Фундаментальным множеством является отношение R = AxB, то есть подмножество декартового произведения дискретных множеств A = {a1, a2, …, an} и B = {b1, b2, …, bn}, где an и bn – возможностные временные точки. Нечеткое подмножество Rp строится посредством функции принадлежности µRp (x), которая определяет, в какой степени каждый из элементов фундаментального множества x ∈ R принадлежит нечеткому подмножеству Rp, то есть принимает следующий вид:
Rp = {(x, µRp (x)) | x ∈ R}.
Отношение «Перед» принимает следующий вид:
PosBefore (a, b[, PExtent_IN]),
где a и b – сравниваемые значения возможностных временных точек; PExtent_IN ∈ [0, 1] (опционально) – требуемая для выполнения условия минимально допустимая степень принадлежности элементов множества R нечеткому подмножеству Rp.
Отношение возвращает (PExtent_OUT[, boolean]), где PExtent_OUT ∈ [0, 1] – степень принадлежности элементов множества R нечеткому подмножеству Rp; boolean – признак выполнения: true, если
PExtent_OUT ≥ PExtent_IN; false, если PExtent_OUT < PExtent_IN.
Пример реализации отношения «Перед» для значений возможностных временных точек описан далее.
Тип данных точки a: точное событие
Тип данных точки b: Значение в диапазоне не определено
Возможностное событие b с возможностным диапазоном времени наступления события b_α и b_β и возможностной степенью = b_PExtent_IN
Выполняемую процедуру с входными датами демонстрирует фрагмент кода реализованной процедуры «Перед»:
Результат выполнения отражен на рисунке 7.
Графическая визуализация отражена на рисунке 8.
В случаях, когда b_α и/или b_β принимают значение null, для проведения корректных расчетов функция будет подставлять даты начала или завершения значениями по умолчанию (d_sd и d_ed), которые должны быть определены в соответствии с предметной областью приложения, вызывающего данную функцию.
Библиотека алгоритмов обработки нечеткой темпоральной информации
Разработанная алгебра отношений возможностных временных точек и/или интервалов была реализована посредством библиотеки алгоритмов в реляционной БД. Рассмотрим реализацию одного из отношений «Перед». Типы данных, определяющие значения возможностных временных точек, следующие:
К примеру, тип данных «Значение определено с возможностным отклонением» (DATE_FUZ) принимает следующий вид:
Отношение PosBefore было реализовано с использованием средств языка pl/sql. Данное отношение обрабатывает принимаемые на вход темпоральные или возможностно-темпоральные элементы и возвращает на выходе результат операции в соответствии с заданной ранее спецификацией. Представим фрагмент кода:
Пусть в таблице fuzdatetypes хранятся данные об объекте с ID '1', который принимает определенное состояние STATE='10' в период с точной даты START_DATE=POSSIBLEDATE('1','2015-05-25 18:54:22.0',null,null,null) по возможностную дату END_DATE=POSSIBLEDATE('2',null, DATE_FUZ('00:01:00','2015-05-25 18:56:00.0','00:01:00'),null, null).
Используя отношение POSBEFORE, можно определить, находится ли значение START_DATE перед значением END_DATE с возвращаемой степенью возможности. Помимо этого, отношение может проверять принимаемую на вход степень возможности, требующуюся для удовлетворения условия и возвращать соответствующий результат.
Пример выполнения отношения POSBEFORE:
Результат выполнения отношения POSBEFORE:
Апробация алгоритмов
Апробация библиотеки алгоритмов возможностных временных точек и/или интервалов осуществлялась в системах телекоммуникации. Был проведен анализ работы биллинговых систем оператора связи и их взаимодействия со смежными системами. В ходе анализа выявлены процессы, в которых присутствуют неопределенность и неточность в информации, связанной с временными показателями. Оператор связи ежемесячно предоставляет абонентам премиальные бонусные пакеты вида «Скидка 25 % на пользование услугами Интернет». Возможность предоставления премиального пакета рассчитывается специализированной системой лояльности оператора на основании сумм ежемесячных платежей абонентов.
Премиальные пакеты предоставляются раз в месяц после получения информации о платежах абонентов из системы биллинга оператора.
Проблема. В соответствии с публичной офертой оператор обязуется предоставлять абонентам пакеты ежемесячно, не позднее обозначенной даты. Существует ограничение, не позволяющее оператору выполнить обязательства: ввиду больших объемов данных предоставление премиальных пакетов происходит с задержками, так как заранее неизвестны точная дата и время завершения расчетного периода в биллинге, по окончании которого информация может быть передана в систему лояльности. Задержки в предоставлении пакетов приводят к негативным отзывам и жалобам от абонентов, тем самым увеличивая показатель оттока.
Задача. Предоставлять абонентам информацию о предполагаемой дате активации премиальных пакетов в соответствии с суммой их платежей.
Решение. Применение библиотеки алгоритмов возможностных временных точек и/или интервалов позволило фиксировать возможностные даты получения информации о платежах каждого абонента, тем самым позволив абонентам получать информацию о возможностной дате предоставления премиального пакета.
Процедура:
– абонент аутентифицируется в онлайн-кабинете и переходит в раздел бонусной программы для проверки причин отсутствия премиальных пакетов;
– онлайн-кабинет взаимодействует с системой лояльности для получения информации о пакетах абонента; ввиду отсутствия предоставленных пакетов в текущем месяце система лояльности обращается в биллинг с запросом информации о платежах абонента, в соответствии с объемами данных и показателями производительности биллинг возвращает возможностную дату завершения расчетного периода;
– система лояльности фиксирует информацию в БД, отображает соответствующие даты в онлайн-кабинете, а также направляет email и SMS-уведомление абоненту, информирующее его о предполагаемой дате предоставления премиального пакета;
– абонент получает информацию и ожидает указанного периода.
Таким образом, в настоящей работе начаты построение и реализация модели обработки темпоральных данных, в которых присутствует неточность или неопределенность, а также подхода к обработке возможностных отношений.
В дальнейшем исследовании планируется продолжить построение новой возможностно-темпоральной модели, а именно: определить и описать все возможные отношения между возможностными временными точками и интервалами, изучить возможностные нетемпоральные периоды и применение нескольких возможностных временных осей в одном отношении, а также реализовать модель для языков определения и манипулирования данными (DML, DDL).
Литература
- Allen J.F. Maintaining knowledge about temporal intervals. In Communications of the ACM, 1983, pp. 832–843.
- Nagyp´al G., Motik B. A fuzzy model for representing uncertain, subjective, and vague temporal knowledge in ontologies. On The Move to Meaningful Internet Systems. 2003, pp. 903–923.
- Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. М.: Мир, 1976. 165 с.
Comments