Logica fuzzy - Database e query

Abbiamo studiato nei nostri capitoli precedenti che Fuzzy Logic è un approccio al calcolo basato su "gradi di verità" piuttosto che sulla solita logica "vero o falso". Si tratta di un ragionamento approssimativo piuttosto che preciso per risolvere i problemi in un modo che assomiglia di più alla logica umana, quindi il processo di interrogazione del database da parte della realizzazione a due valori dell'algebra booleana non è adeguato.

Scenario fuzzy delle relazioni sui database

Lo scenario fuzzy delle relazioni sui database può essere compreso con l'aiuto del seguente esempio:

Esempio

Supponiamo di avere un database con i record delle persone che hanno visitato l'India. In un database semplice, avremo le voci effettuate nel modo seguente:

Nome Età Cittadino Paese visitato Giorni trascorsi Anno della visita
John Smith 35 NOI India 41 1999
John Smith 35 NOI Italia 72 1999
John Smith 35 NOI Giappone 31 1999

Ora, se qualcuno fa domande sulla persona che ha visitato l'India e il Giappone nell'anno 99 ed è cittadina degli Stati Uniti, l'output mostrerà due voci con il nome di John Smith. Questa è una semplice query che genera un output semplice.

Ma cosa succede se vogliamo sapere se la persona nella query sopra è giovane o no. Secondo il risultato di cui sopra, l'età della persona è di 35 anni. Ma possiamo presumere che la persona sia giovane o no? Allo stesso modo, la stessa cosa può essere applicata agli altri campi come giorni trascorsi, anno di visita, ecc.

La soluzione dei problemi di cui sopra può essere trovata con l'aiuto dei set di valori fuzzy come segue:

  • FV (età) {molto giovane, giovane, un po 'vecchio, vecchio}

  • FV (Days Spent) {a malapena pochi giorni, pochi giorni, parecchi giorni, molti giorni}

  • FV (anno di visita) {passato lontano, passato recente, recente}

  • Ora, se una qualsiasi query avrà il valore fuzzy, anche il risultato sarà di natura fuzzy.

Sistema di query fuzzy

Un sistema di query fuzzy è un'interfaccia che consente agli utenti di ottenere informazioni dal database utilizzando frasi in linguaggio (quasi) naturale. Sono state proposte molte implementazioni di query fuzzy, risultando in linguaggi leggermente diversi. Sebbene ci siano alcune variazioni in base alle particolarità delle diverse implementazioni, la risposta a una frase di query fuzzy è generalmente un elenco di record, classificati in base al grado di corrispondenza.