Учебники

Нечеткая логика — база данных и запросы

В наших предыдущих главах мы изучали, что нечеткая логика — это подход к вычислениям, основанный на «степенях истины», а не на обычной «истинной или ложной» логике. Он имеет дело с рассуждениями, которые являются приблизительными, а не точными для решения проблем способом, который больше напоминает человеческую логику, поэтому процесс запросов к базе данных посредством двухзначной реализации булевой алгебры не является адекватным.

Нечеткий сценарий отношений по базам данных

Нечеткий сценарий отношений с базами данных можно понять с помощью следующего примера:

пример

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

название Возраст Гражданин Посещенная страна Проведенные дни Год посещения
Джон Смит 35 НАС Индия 41 1999
Джон Смит 35 НАС Италия 72 1999
Джон Смит 35 НАС Япония 31 1999

Теперь, если кто-то спросит о человеке, который посетил Индию и Японию в 99 году и является гражданином США, то на выходе будут показаны две записи с именем Джона Смита. Это простой запрос, генерирующий простой вывод.

Но что, если мы хотим знать, молод человек в приведенном выше запросе или нет. Согласно вышеуказанному результату возраст человека составляет 35 лет. Но можем ли мы считать человека молодым или нет? Аналогичным образом, то же самое можно применить к другим полям, таким как дни, проведенные в году посещения и т. Д.

Решение вышеуказанных проблем можно найти с помощью наборов нечетких значений следующим образом:

  • Ф.В. (возраст) {очень молодой, молодой, несколько старый, старый}

  • FV (Проведенные дни) {всего несколько дней, несколько дней, довольно много дней, много дней}

  • FV (год посещения) {далекое прошлое, недавнее прошлое, недавнее}

  • Теперь, если любой запрос будет иметь нечеткое значение, результат также будет нечетким по своей природе.

Ф.В. (возраст) {очень молодой, молодой, несколько старый, старый}

FV (Проведенные дни) {всего несколько дней, несколько дней, довольно много дней, много дней}

FV (год посещения) {далекое прошлое, недавнее прошлое, недавнее}

Теперь, если любой запрос будет иметь нечеткое значение, результат также будет нечетким по своей природе.

Система нечетких запросов

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