Logica fuzzy: un modo per ottenere il controllo basato su input imprecisi

Prova Il Nostro Strumento Per Eliminare I Problemi





In questa era di controllo digitale, quasi tutti gli apparecchi sono controllati utilizzando il controllo digitale livello usando 1 e 0. Ma pensa, non è del tutto poco pratico pensare che ogni output dei processi quotidiani che incontri, dipenda solo da due stati dell'input. No, decisamente. Immagina solo tua madre che cucina del cibo gustoso e non puoi impedirti di lodarla. Allora come fa il cibo a diventare così gustoso? Con l'aggiunta di ingredienti nella giusta quantità e proporzione, ovviamente. Allora come ci riesce? Con perfetta conoscenza numerica delle quantità? Non sempre. Lo fa con un'idea nota, che viene fornita con l'esperienza. È qui che nasce l'idea di una logica di controllo che utilizza i gradi di stato degli ingressi piuttosto che gli ingressi stessi, una logica che non richiede alcuni ingressi perfetti ma piuttosto funziona solo con una stima tipica degli ingressi. Questa è logica confusa.

Cos'è la logica fuzzy?

La logica fuzzy è un sistema di controllo di base che si basa sui gradi di stato dell'ingresso e l'uscita dipende dallo stato dell'ingresso e dalla velocità di variazione di questo stato. In altre parole, un sistema di logica fuzzy funziona sul principio di assegnare una particolare uscita a seconda della probabilità dello stato dell'ingresso.




Come è nata la logica fuzzy?

Fuzzy Logic è stato sviluppato nel 1965 da Lotfi Zadeh presso l'Università della California, Berkley, come un modo per eseguire processi informatici basati su valori naturali piuttosto che su valori binari. Inizialmente è stato utilizzato come metodo per elaborare i dati e successivamente ha iniziato a essere utilizzato come strategia di controllo.

Come funziona Fuzzy Logic?

La logica fuzzy lavora sul concetto di decidere l'output in base a presupposti. Funziona in base ai set. Ogni set rappresenta alcune variabili linguistiche che definiscono il possibile stato dell'output. Ogni possibile stato dell'ingresso e i gradi di cambiamento dello stato fanno parte dell'insieme, a seconda di quale è previsto l'output. Funziona sul principio di If-else-the, cioè If A AND B Then Z.



Supponiamo di voler controllare un sistema in cui l'output può essere ovunque nell'insieme X, con un valore generico x, tale che x appartenga a X. Considera un particolare insieme A che è un sottoinsieme di X tale che tutti i membri di A appartengano a l'intervallo 0 e 1. L'insieme A è noto come insieme fuzzy e il valore di fPER(x) in x indica il grado di appartenenza di x a quell'insieme. L'output viene deciso in base al grado di appartenenza di x all'insieme. Questa assegnazione dell'appartenenza dipende dall'assunzione degli output a seconda degli input e dal tasso di variazione degli input.

Questi insiemi fuzzy sono rappresentati graficamente utilizzando le funzioni di appartenenza e l'output viene deciso in base al grado di appartenenza a ciascuna parte della funzione. L'appartenenza agli insiemi è decisa dalla logica IF-Else.


Generalmente le variabili dell'insieme sono lo stato degli ingressi ed i gradi di variazione dell'ingresso e l'appartenenza all'uscita dipende dalla logica di funzionamento AND dello stato dell'ingresso e dalla velocità di variazione dell'ingresso. Per un sistema multi-input, le variabili possono essere anche i diversi input e l'uscita può essere il possibile risultato dell'operazione AND tra le variabili.

Sistema di controllo fuzzy

Un sistema di controllo fuzzy è costituito dai seguenti componenti:

Un sistema di controllo a logica fuzzy

Un sistema di controllo a logica fuzzy

Un fuzzifier che trasforma le variabili misurate o di input in forme numeriche in variabili linguistiche.

Un controller esegue l'operazione di logica fuzzy di assegnazione degli output in base alle informazioni linguistiche. Esegue un ragionamento approssimativo basato sul modo di interpretazione umano per ottenere la logica di controllo. Il controller è costituito dalla knowledge base e dal motore di inferenza. La base di conoscenza è costituita dalle funzioni di appartenenza e dalle regole fuzzy, che si ottengono conoscendo il funzionamento del sistema in base all'ambiente.

Il Defuzzifier converte questo output fuzzy nell'output richiesto per controllare il sistema.

Un semplice sistema di controllo che utilizza la logica fuzzy per controllare la velocità della ventola in base alla temperatura dell'ingresso.

Supponiamo di voler controllare la velocità della ventola in base alla temperatura della stanza. Per un normale laico se la temperatura della stanza è tale da fargli sentire troppo caldo, la velocità della ventola viene aumentata al valore massimo. Se si sente un po 'caldo, la velocità della ventola viene aumentata moderatamente. Se sente troppo freddo, la velocità della ventola diminuisce drasticamente.

Quindi come fare in modo che il tuo computer lo faccia?

Ecco come possiamo ottenere questo risultato:

Controllo della velocità della ventola in base alla temperatura in ingresso

Controllo della velocità della ventola in base alla temperatura in ingresso

  • Il sensore di temperatura misura i valori di temperatura degli ambienti. I valori ottenuti vengono presi e quindi dati al fuzzificatore.
  • Il fuzzifier assegna variabili linguistiche per ogni valore misurato e la velocità di variazione del valore misurato.

Ad esempio, se il valore misurato è di 40 ° C e superiore, la stanza è troppo calda

Se il valore misurato è compreso tra 30 ° C e 40 ° C, la stanza è piuttosto calda

Se il valore misurato è compreso tra 22 e 28 ° C, la stanza è moderata

Se il valore misurato è compreso tra 10 e 20 ° C, la stanza è fredda

Se il valore misurato è inferiore a 10, la stanza è troppo fredda.

  • Il passaggio successivo prevede il funzionamento della knowledge base che contiene le informazioni di queste funzioni membro e la rule base.

Ad esempio, se la stanza è troppo calda E la stanza si riscalda rapidamente, impostare la velocità della ventola su Alta

Se la stanza è troppo calda E la stanza si riscalda lentamente, impostare la velocità della ventola su un valore inferiore a Alta.

  • Il passaggio successivo prevede la conversione di questa variabile di output linguistica in variabili numeriche o variabili logiche utilizzate per azionare il ventilatore driver del motore .
  • Il passaggio finale prevede il controllo della velocità del ventilatore fornendo un input appropriato al driver del motore del ventilatore.

Quindi questa è una breve panoramica della logica fuzzy, eventuali ulteriori input possono essere aggiunti.