Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
матлогикааа.doc
Скачиваний:
233
Добавлен:
28.03.2015
Размер:
952.83 Кб
Скачать

34.Представление о компьютерных языках реляционной логики.

Методы извлечения информации из реляционной базы данных, использующие аппарат реляционной алгебры или реляционного исчисления, внешне выглядят совершенно по-разному и формируют многообразие компьютерных языков для работы с отношениями.

Одним из таких языков является язык SQL (Structured Query Language), используемый в системах управления реляционными базами данных.

Синтаксическую структуру запроса на языке SQL можно представить инструкцией:

SELECT <список атрибутов>

FROM <список отношений>

WHERE <предикат >, где

<список атрибутов>::=<АТРИБУТ>{“,”<АТРИБУТ>};

<список отношений>::=<отношение>{“,”<отношение>};

<предикат >::=<алгебраическое выражение условия>.

Структура запроса представляет собой композиции операции выбора и проекции. Так первая строка инструкции (оператор SELECT) формирует схему ожидаемого результата rel(r’), т.е. оформляет результаты как бы операции PROJECT, вторая строка инстукции (оператор FROM) – указывает список используемых отношений, а третья строка (оператор WHERE) – накладывает условия для извлечения свободных переменных-кортежей из формулы F(t).

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

Часто используют в операторе WHERE вложенные подзапросы, которые генерируют промежуточные отношения. На это указывает оператор IN, используемый для выяснения принадлежности элемента множеству.

SELECT<список атрибутов> FROM <список отношений>

WHERE <предикат> IN

SELECT<список атрибутов>

FROM<список отношений>

WHERE<предикат>

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

Операции, которые можно применить к подзапросу, основаны на тех операциях, которые можно применить к множеству, а именно:

x IN U –x принадлежит множеству U, т.е. xU;

x NOT IN U – x не принадлежит множеству U, т.е. xU;

35. Нечеткая логика основные понятия.

Пусть дано произвольное множество U. Назовем его базовым множеством.

Если на этом множестве задать нечетко некоторое подмноджество X’, то степень принадлежности любого элемента uU множеству X’ может быть оценена с помощью функции принадлежности: x(u): U  [0;1].

Функция принадлежности – это некоторое субъективное измерение нечеткой принадлежности элемента заданному множеству и это измерение отличается от вероятностной меры. Под субъективной мерой, как правило, понимается степень принадлежности элемента ui нечеткому множеству X’, определенная опросом одного или нескольких экспертов. Вероятностная мера, по закону больших чисел, подразумевает знание аналитических зависимостей этой принадлежности.

Значение функции принадлежит замкнутому интервалу [0;1]. Для каждого конкретного элемента uU величина x(u) принимает конкретное значение на этом интервале. Это значение функции и называют степенью принадлежности элемента uU нечеткому множеству X’.

Нечеткое множество X’ записывают так:

X’={x(u1)/u1, x(u2)/u2,... x(un)/un}, где uiU, x(un)[0;1],

где x(ui) –значение функции принадлежности элемента базового множества uiU нечеткому множеству X’, или степень принадлежности.

Носителем нечеткого множества X’ является “четкое” подмножество X={u1, u2,...un}U. Носитель нечеткого множества содержит только те элементы U, для которых значение функции принадлежности больше нуля.

Если для некоторого uiU имеем x(ui)=1, то элемент “четко” принадлежит множеству X’.

Если все элементы носителя X имеют значение x(ui)=1, то задано “четкое” подмножество множества U, т.е. XU.

Если для некоторого uiU имеем x(ui)=0, то элемент “четко” не принадлежит множеству X’.

Если все элементы носителя X имеют значение x(ui)=0, то задано “четкое” пустое множество, т. е. X’=.