|
Strumento di sviluppo
|
Descrizione del Fuzzy Logic Toolbox
Riportiamo quì di seguito una breve descrizione del Fuzzy
Logic Toolbox, un pacchetto software di Matlab 5.2, presente
nel laboratorio di informatica del Dipartimento di Elettronica per l'Automazione
(DEA) dell'Università di Ingegneria di Brescia.
Tale lavoro è stato realizzato da: Davide Marangoni e Foladori
Simone.
Introduzione
Come si vede dal disegno, si può dire che la logica fuzzy è
un modo conveniente per mappare lo spazio di input nello spazio degli output
appropriati.
Tra gli input e gli output mettiamo una "scatola nera" che svolge il
lavoro vero e proprio.
Una mappa di input-output per il problema del dare la mancia |
"Data la qualità del servizio, quanto si deve dare?" |
Per approfondire ulteriormente l'argomento e per vedere più da vicino delle applicazioni di ciò che abbiamo studiato in questo elaborato abbiamo utilizzato il tool messo a disposizine da Matlab 5 appositamente creato per la logica fuzzy.
In tale Toolbox si trovano tre categorie di strumenti:
1. Funzioni in linea di comando
2. Strumenti grafici e interattivi
3. Blocchi ed esempi Simulink
Il Toolbox della logica fuzzy permette di creare sistemi di inferenza fuzzy. Si possono sviluppare questi sistemi usando strumenti grafici o funzioni in riga di comando. Accedendo a Simulink, inoltre, si può facilmente testare un sistema fuzzy in un ambiente di simulazione con diagrammi a blocchi.
Come costruire dei sistemi con il Fuzzy Logic Toolbox
Usare il Fuzzy Logic Toolbox per costruire un sistema è semplice, in quanto il tutto viene fatto graficamente. Ci sono cinque tool primari GUI per la costruzione, l'editing e l'osservazione dei sistemi decisionali fuzzy che sono rappresentati in un esempio nella pagina seguente. Qui di seguito esponiamo le loro funzioni:
FIS Editor: manipola ad alto livello le problematiche per il
sistema, l'unico limite è il numero degli input che dipende dalla
capacità di memoria del proprio calcolatore.
Membership Function Editor: è utilizzato per definire
le forme di tutte le funzioni di appartenenza associate a ogni variabile.
Rule Editor: serve per editare la lista delle regole che definiscono
il comportamento del sistema.
Rule Viewer e Surface Viewer: sono utilizzati per vedere
il FIS: il primo è usato come strumento diagnostico e può
mostrare per esempio quali regole sono attive o come la forma di una funzione
d'appartenenza influenza i risultati; il secondo è usato per mostrare
la dipendenza di uno degli output da uno o due degli input, cioè
genera e disegna una mappa della superficie d'uscita per il sistema.
Tutti questi GUI sono collegati dinamicamente, infatti i cambiamenti
fatti al FIS utilizzando uno di loro avrà effetto immediato anche
sugli altri GUI aperti in quel momento.
Perché la logica fuzzy "funziona"?
Una qualsiasi funzione non lineare continua può essere approssimata
con precisione a piacere con un numero finito di variabili e regole fuzzy
(per certi operatori).
Questa affermazione garantisce che una buona soluzione fuzzy esiste
ma non dà indicazioni su come costruirla (ciò può
portare facilmente ad insuccessi e a improvvisazioni)
Perché usare proprio i controllori fuzzy?
Rispetto ad altri "approssimatori universali" portano il vantaggio
esclusivo di offrire una forma naturale di rappresentazione della conoscenza
empirica degli esperti, sono quindi "agevoli" da usare e decifrabili nei
comportamenti.
Troppe scelte arbitrarie ?
La definizione di un sistema fuzzy comprende un elevato numero di scelte
soggettive (a volte implicite se si usano certe soluzioni scorciatoia standard).
Il meccanismo è tendenzialmente piuttosto robusto rispetto a
scelte diverse, a confronto di altri approcci che sono apparentemente più
rigorosi ma in cui certe scelte sono mascherate o forzate dalle ipotesi
iniziali.
Per ulteriori approfondimenti sul Tool si può far riferimento
alla relazione che quì di seguito si può scaricare.
Per vedere l'interfaccia grafica del Tool applicata ad un esempio vedasi
la pagina successiva.
Download relazione ToolBox Fuzzy.exe (autoestraibile)