Нечеткая логика - база данных и запросы
В предыдущих главах мы изучали, что нечеткая логика - это подход к вычислениям, основанный на «степенях истины», а не на обычной логике «истинная или ложная». Он имеет дело с рассуждениями, которые являются приблизительными, а не точными, чтобы решать проблемы способом, который больше напоминает человеческую логику, поэтому процесс запроса к базе данных с помощью двухзначной реализации булевой алгебры неадекватен.
Нечеткий сценарий отношений в базах данных
Нечеткий сценарий отношений в базах данных можно понять с помощью следующего примера -
пример
Предположим, у нас есть база данных с записями людей, посетивших Индию. В простой базе данных у нас будут записи, сделанные следующим образом:
имя | Возраст | Гражданин | Посещенная страна | Проведено дней | Год посещения |
---|---|---|---|---|---|
Джон Смит | 35 год | НАС | Индия | 41 год | 1999 г. |
Джон Смит | 35 год | НАС | Италия | 72 | 1999 г. |
Джон Смит | 35 год | НАС | Япония | 31 год | 1999 г. |
Теперь, если кто-нибудь спросит о человеке, который посетил Индию и Японию в 99 году и является гражданином США, то в выходных данных будут показаны две записи с именем Джон Смит. Это простой запрос, генерирующий простой вывод.
Но что, если мы хотим знать, молод ли человек в приведенном выше запросе. Согласно приведенному выше результату возраст человека - 35 лет. Но можно ли считать человека молодым или нет? Аналогичным образом то же самое можно применить и к другим полям, таким как количество проведенных дней, год посещения и т. Д.
Решение вышеуказанных проблем можно найти с помощью наборов нечетких значений следующим образом:
FV (Возраст) {очень молодой, молодой, несколько старый, старый}
FV (Days Spent) {всего несколько дней, несколько дней, несколько дней, много дней}
FV (Год посещения) {далекое прошлое, недавнее прошлое, недавнее}
Теперь, если какой-либо запрос будет иметь нечеткое значение, результат также будет нечетким по своей природе.
Система нечетких запросов
Система нечетких запросов - это интерфейс, с помощью которого пользователи получают информацию из базы данных с использованием (квази) предложений на естественном языке. Было предложено множество реализаций нечетких запросов, в результате чего языки немного отличаются. Хотя есть некоторые вариации в зависимости от особенностей различных реализаций, ответ на нечеткое предложение запроса обычно представляет собой список записей, ранжированных по степени соответствия.