Intelligenza artificiale - Sistemi di logica fuzzy
Fuzzy Logic Systems (FLS) produce un output accettabile ma definito in risposta a un input incompleto, ambiguo, distorto o impreciso (fuzzy).
Cos'è la logica fuzzy?
Fuzzy Logic (FL) è un metodo di ragionamento che assomiglia al ragionamento umano. L'approccio di FL imita il modo di prendere decisioni nell'uomo che coinvolge tutte le possibilità intermedie tra i valori digitali SI e NO.
Il blocco logico convenzionale che un computer può capire prende un input preciso e produce un output definito come VERO o FALSO, che è equivalente a SI o NO dell'essere umano.
L'inventore della logica fuzzy, Lotfi Zadeh, ha osservato che, a differenza dei computer, il processo decisionale umano include una gamma di possibilità tra SÌ e NO, come:
Certamente sì |
POSSIBILMENTE SI |
NON POSSO DIRLO |
POSSIBILMENTE NO |
ASSOLUTAMENTE NO |
La logica fuzzy lavora sui livelli di possibilità di input per ottenere l'output definito.
Implementazione
Può essere implementato in sistemi con varie dimensioni e capacità che vanno da piccoli microcontrollori a grandi sistemi di controllo basati su workstation in rete.
Può essere implementato in hardware, software o una combinazione di entrambi.
Perché Fuzzy Logic?
La logica fuzzy è utile per scopi commerciali e pratici.
- Può controllare macchine e prodotti di consumo.
- Potrebbe non fornire un ragionamento accurato, ma un ragionamento accettabile.
- La logica fuzzy aiuta ad affrontare l'incertezza nell'ingegneria.
Architettura dei sistemi logici fuzzy
Ha quattro parti principali come mostrato:
Fuzzification Module- Trasforma gli input di sistema, che sono numeri nitidi, in insiemi fuzzy. Divide il segnale di ingresso in cinque passaggi come:
LP | x è grande positivo |
MP | x è medio positivo |
S | x è piccolo |
MN | x è medio negativo |
LN | x è grande negativo |
Knowledge Base - Memorizza le regole IF-THEN fornite da esperti.
Inference Engine - Simula il processo di ragionamento umano facendo inferenze sfocate sugli input e sulle regole IF-THEN.
Defuzzification Module - Trasforma l'insieme fuzzy ottenuto dal motore di inferenza in un valore nitido.
Il membership functions work on insiemi fuzzy di variabili.
Funzione di appartenenza
Le funzioni di appartenenza consentono di quantificare il termine linguistico e di rappresentare graficamente un insieme fuzzy. UNmembership functionper un insieme fuzzy A sull'universo del discorso X è definito come μ A : X → [0,1].
Qui, ogni elemento di X è mappato su un valore compreso tra 0 e 1. Viene chiamatomembership value o degree of membership. Essa quantifica il grado di appartenenza dell'elemento nella X all'insieme fuzzy A .
- L'asse x rappresenta l'universo del discorso.
- L'asse y rappresenta i gradi di appartenenza all'intervallo [0, 1].
Possono esserci più funzioni di appartenenza applicabili per fuzzificare un valore numerico. Le funzioni di appartenenza semplici vengono utilizzate poiché l'uso di funzioni complesse non aggiunge maggiore precisione nell'output.
Tutte le funzioni di appartenenza per LP, MP, S, MN, e LN sono mostrati come sotto -
Le forme delle funzioni di appartenenza triangolari sono più comuni tra le varie altre forme di funzioni di appartenenza come trapezoidale, singleton e gaussiana.
Qui, l'ingresso al fuzzifier a 5 livelli varia da -10 volt a +10 volt. Quindi cambia anche l'output corrispondente.
Esempio di un sistema logico fuzzy
Consideriamo un impianto di condizionamento con sistema fuzzy logic a 5 livelli. Questo sistema regola la temperatura del condizionatore d'aria confrontando la temperatura ambiente e il valore della temperatura target.
Algoritmo
- Definire variabili e termini linguistici (inizio)
- Costruisci funzioni di appartenenza per loro. (inizio)
- Costruisci la base di conoscenza delle regole (inizio)
- Converti dati nitidi in set di dati fuzzy utilizzando le funzioni di appartenenza. (sfocatura)
- Valuta le regole nella rule base. (Motore di inferenza)
- Combina i risultati di ciascuna regola. (Motore di inferenza)
- Converti i dati di output in valori non fuzzy. (defuzzificazione)
Sviluppo
Step 1 − Define linguistic variables and terms
Le variabili linguistiche sono variabili di input e output sotto forma di semplici parole o frasi. Per temperatura ambiente, freddo, caldo, caldo, ecc. Sono termini linguistici.
Temperatura (t) = {molto freddo, freddo, caldo, molto caldo, caldo}
Ogni membro di questo set è un termine linguistico e può coprire una parte dei valori di temperatura complessivi.
Step 2 − Construct membership functions for them
Le funzioni di appartenenza della variabile di temperatura sono le seguenti:
Step3 − Construct knowledge base rules
Creare una matrice di valori di temperatura ambiente rispetto ai valori di temperatura target che ci si aspetta possa fornire un sistema di condizionamento d'aria.
Temperatura ambiente. /Bersaglio | Molto freddo | Freddo | Caldo | Caldo | Molto caldo |
---|---|---|---|---|---|
Molto freddo | Nessun cambiamento | Calore | Calore | Calore | Calore |
Freddo | Freddo | Nessun cambiamento | Calore | Calore | Calore |
Caldo | Freddo | Freddo | Nessun cambiamento | Calore | Calore |
Caldo | Freddo | Freddo | Freddo | Nessun cambiamento | Calore |
Molto caldo | Freddo | Freddo | Freddo | Freddo | Nessun cambiamento |
Costruisci una serie di regole nella knowledge base sotto forma di strutture IF-THEN-ELSE.
Sr. No. | Condizione | Azione |
---|---|---|
1 | SE temperatura = (Freddo O Molto_ Freddo) AND target = Caldo ALLORA | Calore |
2 | SE temperatura = (caldo OR Very_Hot) AND target = caldo ALLORA | Freddo |
3 | IF (temperatura = caldo) AND (obiettivo = caldo) ALLORA | Nessun cambiamento |
Step 4 − Obtain fuzzy value
Le operazioni sugli insiemi fuzzy eseguono la valutazione delle regole. Le operazioni utilizzate per OR e AND sono rispettivamente Max e Min. Combina tutti i risultati della valutazione per formare un risultato finale. Questo risultato è un valore sfocato.
Step 5 − Perform defuzzification
La defuzzificazione viene quindi eseguita in base alla funzione di appartenenza per la variabile di output.
Aree di applicazione della logica fuzzy
Le aree di applicazione chiave della logica fuzzy sono le seguenti:
Automotive Systems
- Cambio automatico
- Quattro ruote sterzanti
- Controllo ambientale del veicolo
Consumer Electronic Goods
- Sistemi Hi-Fi
- Photocopiers
- Fotocamere e videocamere
- Television
Domestic Goods
- Forni a microonde
- Refrigerators
- Toasters
- Aspirapolvere
- Lavatrici
Environment Control
- Condizionatori d'aria / essiccatori / riscaldatori
- Humidifiers
Vantaggi degli FLS
I concetti matematici all'interno del ragionamento fuzzy sono molto semplici.
È possibile modificare un FLS semplicemente aggiungendo o eliminando regole grazie alla flessibilità della logica fuzzy.
I sistemi di logica fuzzy possono ricevere informazioni in ingresso imprecise, distorte e rumorose.
Gli FLS sono facili da costruire e capire.
La logica fuzzy è una soluzione a problemi complessi in tutti i campi della vita, compresa la medicina, poiché assomiglia al ragionamento umano e al processo decisionale.
Svantaggi degli FLS
- Non esiste un approccio sistematico alla progettazione di sistemi fuzzy.
- Sono comprensibili solo se semplici.
- Sono adatti per i problemi che non richiedono un'elevata precisione.