Soft computing
# Soft computing

Le tecniche di soft computing si prefiggono di valutare, decidere, controllare e calcolare in un ambito impreciso e vago emulando e utilizzando la capacità degli esseri umani di eseguire le suddette attività sulla base della loro esperienza. Il soft computing si avvale delle caratteristiche delle sue tre principali branche:

* la possibilità di modellare e di controllare sistemi incerti e complessi, nonché di rappresentare la conoscenza in maniera efficiente attraverso le descrizioni linguistiche tipiche della teoria degli insiemi fuzzy;
* la capacità d'ottimizzazione degli algoritmi genetici la cui computazione si ispira alle leggi di selezione e mutazione tipiche degli organismi viventi;
* la capacità di apprendere complesse relazioni funzionali delle reti neurali, ispirate a quelle proprie dei tessuti cerebrali.

Secondo Lotfi Zadeh, "una tendenza di visibilità crescente è costituita dall'uso della logica fuzzy in combinazione con il calcolo neurale e gli algoritmi genetici. Più in generale, la logica fuzzy, le reti neurali e gli algoritmi genetici possono considerarsi i principali costituenti di ciò che potrebbe essere definito calcolo soft. A differenza dei metodi di calcolo tradizionali o hard, il soft computing si prefigge lo scopo di adattarsi alla pervasiva imprecisione del mondo reale. Il suo principio guida può così esprimersi: sfruttare la tolleranza per l'imprecisione, l'incertezza e le verità parziali in modo da ottenere trattabilità, robustezza e soluzioni a basso costo. Nei prossimi anni, il soft computing è probabilmente destinato a giocare un ruolo sempre più rilevante nella concezione e progettazione di sistemi il cui MIQ (Quoziente Intellettivo di Macchina) sia di gran lunga più alto di quello dei sistemi convenzionali. Tra le varie combinazioni di metodologie di soft computing, quella avente maggiore visibilità in questo frangente è la fusione di logica fuzzy e calcolo neurale, che conduce ai cosiddetti sistemi neuro-fuzzy. Nel contesto della logica fuzzy, tali sistemi rivestono un ruolo particolarmente importante nel processo d'induzione delle regole a partire dall'osservazione".

Secondo Kohonen, peraltro, può sostenersi che: "soft computing, real-world computing ecc. sono denominazioni comuni per certe forme di elaborazione naturale di informazione che hanno la loro origine in biologia. La logica fuzzy e probabilistica, le reti neurali, gli algoritmi genetici ecc., d'altra parte, sono formalismi teorici alternativi mediante i quali si possono definire schemi computazionali e algoritmi per questi scopi".

Pertanto, le tre tecniche citate, che dovrebbero essere complementari, e non competitive rispetto a quelle tradizionali, costituiscono il nucleo centrale del calcolo soft, e un modo nuovo di affrontare la questione dell'intelligenza delle macchine. Tra i suoi tratti caratteristici troviamo, infatti, dati non certi, ambigui o incompleti, parallelismo massiccio, casualità, soluzioni approssimate e sistemi adattativi.

In estrema sintesi, paragonando il calcolo classico a quello soft, ne risulta lo schema delineato di seguito:

| Calcolo classico | Calcolo soft |
| - | - |
| Programmabile rigidamente | Addestrabile e adattativo |
| Basato sulla logica binaria | Basato sulla logica a valori multipli |
| Deterministico | Probabilistico o fuzzy |
| Impostato su dati esatti | Fondato su dati incerti, ambigui o incompleti |
| Operante in serie | Operante in parallelo |
| Fornisce risultati precisi | Fornisce risultati approssimati |

Infine, le metodologie costitutive del calcolo soft sono accomunate anche da un'ulteriore caratteristica, e precisamente la dipendenza dalla disponibilità di potenze di calcolo considerevoli: tutte, infatti, presuppongono uno sforzo computazionale rilevante, che soltanto i moderni calcolatori elettronici hanno reso possibile sostenere in tempi non proibitivi.

