Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Предлагаемый подход. Об одном способе построения запросов к базе данных на основе аппарата нечеткой логики

РефератПомощь в написанииУзнать стоимостьмоей работы

Любой нечеткой переменной соответствует некоторое ограничение С, представляющее собой подмножество универсального множества. Характеристикой такого нечеткого подмножества универсального множества X выступает функция принадлежности, ставящая в соответствие каждому элементу число из интервала от 0 до 1. — характеризует степень принадлежности элемента к нечеткому подмножеству C. Для удобства будем… Читать ещё >

Предлагаемый подход. Об одном способе построения запросов к базе данных на основе аппарата нечеткой логики (реферат, курсовая, диплом, контрольная)

Для формализации стажа работы используем понятие лингвистической переменной. Мы определяем функцию совместимости не на множестве математически точно определенных объектов, а на множестве обозначенных некими символами впечатлений на естественном языке [6]. Лингвистическая переменная определяется набором. где X стаж работы; T (X) — терм-множество X: T (Стаж работы) = «маленький» + «средний» + «большой» + «не малый» + «не средний» + «не большой»; где любое из этих значений является названием нечеткой переменной. Каждый терм накладывает некоторые нечеткие ограничения на значения базовой переменной «Стаж работы» в универсальном множестве. При этом, нечеткое ограничение на значения «Стаж работы» характеризуется функцией совместимости, ставящей базовой переменной число из интервала от 0 до 1, соответствующее совместимости этого значения с заданным нечетким ограничением. G — синтаксическое правило, определяющее способ порождения бесконтекстной грамматикой лингвистических значений, принадлежащих терм-множеству переменной «Стаж работы». M — семантическое правило, задающее способ вычисления смысла любой лингвистической переменной. Лингвистическое значение включает в себя первичные термы («малый», «большой» и т. д.) и связки («и», «или», «не», «очень», «более» и т. д.). Связки трактуются как видоизменяющие операторы. Так, смысл лингвистического значения «не малый» получим, вычитая из 1 значение функции совместимости терма «малый» .

Любой нечеткой переменной соответствует некоторое ограничение С, представляющее собой подмножество универсального множества. Характеристикой такого нечеткого подмножества универсального множества X выступает функция принадлежности, ставящая в соответствие каждому элементу число из интервала от 0 до 1. — характеризует степень принадлежности элемента к нечеткому подмножеству C.

Существует множество типовых форм кривых для задания функции принадлежности. В этом примере применена типовая кусочно-линейная трапецеидальная функция принадлежности [7 — 9], использующая четверку чисел (a, b, c, d):

Универсальное множество X представляет собой интервал от 0 до 25. Переменная x принимает значения данного интервала и интерпретируется как стаж работы. Каждая функция принадлежности описывается четверкой чисел: Малый стаж — (0, 0, 4, 7); Средний стаж — (5, 8, 13, 15); Сотрудник с большим стажем — (11, 16, 25, 25).

Функция принадлежности к «Малый стаж» :

(2).

(2).

Функция принадлежности к «Средний стаж» :

(3).

(3).

Функция принадлежности к переменной «Большой стаж» примет вид:

(4).

(4).

Для удобства будем использовать срезы — фильтры по измерениям, в которых фигурируют нечеткие величины [10]. Для получения значений, принадлежащихсрезу для каждого из терма, зададим минимальный индекс соответствия =0,75. На основе этих данных построим график, изображенный на рисунке 1 и демонстрирующий изменение этих групп.

Совокупность функций принадлежности.

Рис. 1 — Совокупность функций принадлежности

Аналогично построим график отрицания, представленный на рис. 2, для сотрудников со стажем: не маленьким, не средним, не большим. Для этого воспользуемся следующей формулой:

(5).

(5).

График отрицания.

Рис. 2 — График отрицания

Следующим этапом требуется перевести описанный аппарат нечеткой логики в строгие запросы реляционных БД.

Для удобства работы рассмотрим выполнение нечеткого запроса к базе данных на основе таблицы «Сотрудники». Она состоит из следующих полей: id (уникальный идентификатор), Фамилия, Имя, Отчество, Пол сотрудника, Телефон, Примечания, Дата приема на работу, Дата увольнения, Стаж работы в аналогичной должности, Стаж всего.

Для того, чтобы узнать стаж сотрудника в данный момент времени, необходимо воспользоваться выражением, приведенным на рис.3:

Предлагаемый подход. Об одном способе построения запросов к базе данных на основе аппарата нечеткой логики.

где Now () — функция, возвращающая текущую дату; DateDiff — возвращает разницу между двумя датами, а ее параметр «yyyy» указывает на то, что разница возвращается в годах; [Стаж работы в подобной должности] - выполняет учет стажа сотрудника до принятия его на текущую должность.

Для выбора сотрудников с маленьким стажем работы, выполним SQL-запрос к БД, приведенный на рис. 4, составленный с учетом формулы (2).

Предлагаемый подход. Об одном способе построения запросов к базе данных на основе аппарата нечеткой логики.

Для всех запросов верно: индекс соответствия «=0,75» позволяет исключить результаты, лежащие ниже этого значения; «7−5» — результат ограничений, наложенных 2 формулой.

Выполнив следующий запрос из рис. 5, получим данные о сотрудниках с большим стажем работы, работающих на предприятии.

Предлагаемый подход. Об одном способе построения запросов к базе данных на основе аппарата нечеткой логики.

Аналогичным образом можно получить и остальные группы сотрудников по условию стажа работы. В общем виде алгоритм поиска сотрудников с определенным стажем работы представлен на рис. 6.

Первый шаг «Выбор вида функции принадлежности» требует: задать имя функции принадлежности, дать короткое описание (пояснения. Используемые переменные и пр.), указать тип (трапецеидальный, гауссов и т. д.), заполнить необходимые коэффициенты, для дальнейшей работы. Функция описывает стаж работы сотрудника в некоторой сфере профессиональной деятельности. В работе используется трапецеидальная функция принадлежности. Основное требование: значение функции принадлежности должно быть больше 0 хотя бы для одного лингвистического терма.

Получение результатов нечеткого запроса.

Рис. 6 — Получение результатов нечеткого запроса

На следующем шаге «Задание минимального индекса соответствия» следует выбрать минимальный индекс соответствия, обеспечивающие степень принадлежности не ниже этой границы (в данном случае значение =0,75).

Третий шаг «Преобразование нечеткого среза в SQL-запрос»: на основе проведённых исследований предметной области, составляется запрос (правило), представляющий собой инструкцию SELECT языка SQL с обязательным указанием сотрудников, попадающих под данное правило. Критерии, согласно которым происходит отбор, задаются в установки предикатов WHERE, условие которых может быть верным или неверным для любой записи таблицы. Сложные запросы могут оформляться хранимыми процедурами и функциями. Поэтому ограничения накладываются только возможностями SQL-сервера, на котором функционирует база данных.

Шаг «Запрос к БД» позволяет получить результат работы нечеткого запроса. Следующий шаг «Сортировка результатов запроса» необязателен, служит для распределения конечной выборки по степени соответствия заданному запросу.

Показать весь текст
Заполнить форму текущей работой