La logica è la disciplina madre della matematica. Essa permette di decidere della coerenza e consistenza di teoremi e proposizioni, di equazioni e dimostrazioni.
In questo articolo ci interesseremo unicamente alla logica proposizionale, quella branca della logica che si occupa di decidere se un’affermazione è vera, oppure è falsa.
Un tipico problema di logica proposizionale è
Socrate è mortale
affermazione notoriamente vera. Quando un’affermazione è vera, le si assegna un valore di verità 1. Un’affermazione falsa (ad esempio: Socrate è un corvo nero), ha grado di verità zero.
In questo modo, la logica proposizionale permette la discussione di affermazioni complesse come ad esempio:
o quest’uomo è morto, o il mio orologio si è fermato
una frase la cui paternità va attribuita a Marx (quello simpatico), e può essere scomposta in due frasi
quest’uomo è morto (proposizione p)
il mio orologio si è fermato (proposizione q)
se indichiamo con v(p) e v(q) i valori di verità delle proposizioni p e q, allora sappiamo che
- se v(p)=1 e v(q)=0 allora Marx ha ragione v(p o q)=1
- se v(p)=0 e v(q)=1 allora Marx ha ancora ragione v(p o q)=1
Se entrambe le affermazioni sono false, Marx ha torto, idem se entrambe sono vere.
In generale, possiamo costruire tutta la logica con affermazioni che sono vere oppure false, e con connettori (le operazioni “e” “oppure” “implica che”).
Se la proposizione (q) è vera, allora la proposizione (non q) è falsa, in altre parole se v(q)=1 allora v(non q)=0.
Questo tipo di logica si chiama logica del terzo escluso, o logica crisp.
Per quanto innegabilmente utile, la logica crisp è tristemente inadatta a descrivere alcune affermazioni di logica propositiva.
Ad esempio l’affermazione
Thomas è alto
Potrebbe essere problematica da un punto di vista dell’attribuzione di un grado di verità. Potrei decidere che tutti coloro che sono più alti di 1,80 sono alti, mentre tutti quelli che sono più piccoli di 1,80 sono bassi. Questo però, oltre a ledere il mio metro e settantasei di orgoglio virile, tende ad essere inadeguato per descrivere delle persone che si trovano vicine alla soglia limite.
Nel caso dell’altezza ad esempio, ci si accorge che la maggior parte delle persone si trovano proprio in prossimità della soglia del metro e ottanta. Siamo quindi in presenza di un criterio di dubbia validità, inficiato dal fatto che gli elementi dell’insieme in discussione (le persone) tendono ad essere difficilmente classificabili in un gruppo nitido (alti o bassi).
La risposta elaborata dalla logica proposizionale per far fronte al problema, è associare un grado di verità intermedio:
ad esempio potremmo dire che x è alto ha grado di verità
- 0 se x è più basso di un metro e sessanta
- 1 se x è più alto di un metro e novanta
- un numero crescente tra 0 e 1 se x è compreso tra 1,60 e 1,90
Un’affermazione che ha grado di verità diverso da 0, ma inferiore a 1 è “abbastanza vera”: la logica che tratta delle affermazioni “abbastanza vere” si chiama fuzzy logic.
I problemi sorgono, quando ci si pongono domande composite: ad esempio se affermo che Antonio (un metro e novanta) e Claudio (uno e novantacinque) sono alti, l’affermazione è vera con grado 1, infatti entrambi gli elementi sono alti (secondo il nostro criterio) e il problema ricade nella logica crisp.
Ma se dicessi Luigi e Franco sono alti, essendo Franco alto uno e ottanta (grado di verità 0.6) e Luigi uno e settanta (grado di verità 0.3), l’affermazione è vera o falsa?
Verrebbe spontaneo rispondere che il grado di verità della proposizione sarà un qualche numero inferiore a 1. Tuttavia le regole per calcolare “l’intersezione tra proposizioni” (così come l’unione, l’implicazione), non sembrano affatto scontate.
In generale ci aspetteremmo che:
- un’affermazione non può avere grado di verità superiore a 1
- un’affermazione composta da elementi crisp (assolutamente veri, o assolutamente falsi) sia anch’essa assolutamente vera oppure falsa. In altre parole, la logica fuzzy collassa sulla logica crisp.
- Se un elemento è assolutamente vero o assolutamente falso, le regole fuzzy devono dare un risultato certo (non fuzzy).
In generale esistono diversi modi di rispettare tutte le condizioni: a seconda del significato che si vuole dare alle operazioni logiche, si sceglieranno regole appropriate per calcolare unioni e intersezioni.
È possibile estendere la logica fuzzy all’intera matematica:
in generale pensiamo ai numeri come la quantità di un oggetto (ad esempio “2” significa che ci sono “due oggetti” con verità 1, e che ci sono più o meno di due oggetti con verità 0).
Possiamo rendere fuzzy i numeri associando loro un intorno (ad esempio tra 1.9 e 2.1) in cui il grado di verità cresce lentamente da zero, passando da uno nel “cuore” del concetto e tornando ad essere 0 poco dopo.
In tal modo la veridicità di “ci sono due mele sul tavolo” è zero se il tavolo è vuoto, o se ci sono sei mele, è 1 se ci sono esattamente due mele (come di consueto) ma è qualcosa tra zero e uno se qualcuno ha dato un morso alla mela, e se gli ha tolto il picciolo.
I numeri fuzzy possono essere estesi ad aritmetica, funzioni, relazioni fuzzy, e persino algoritmi genetici.
Le implicazioni di questo metodo di pensare sono enormi, anche se la complessità mostruosa impone l’uso del computer nel simulare il comportamento di insiemi fuzzy.
Il risultato è chiaro: la matematica si adatta alla descrizione informale e la verità si fa sfumata.
Pensare fuzzy, è il postmodernismo applicato alla logica formale.
Bibliografia per addetti ai lavori:
An introduction to fuzzy logic and fuzzy sets, J.Buckley & E. Eslami, Physica Verlag - advances in soft computing
tm
Commenti
Think different. Think fuzzy!
Poche ragazze dalle tue parti?
;)
comunque bell'articolo, chiaro e scorrevole.
"Le implicazioni di questo metodo di pensare sono enormi, anche se la complessità mostruosa impone l?uso del computer nel simulare il comportamento di insiemi fuzzy."
> Proviamo a stabilire quali sono le principali implicazioni?
Esemplifichiamo.
(pezzo molto chiaro, e per quanto mi riguarda molto interessante proprio per via dell'antica ricerca sulla natura del linguaggio, e sulle sue potenzialità! Ave)
Le implicazioni: prova a pensare a un qualche tipo di giudizio fumoso, ad esempio se la persona x è colpevole del reato y.
L'affermazione è scomponibile in varie sotto-questioni (x ha scelto liberamente di effettuare y, x ha subito pressioni, x è una persona intellettualmente limitata, x è una persona danarosa, x è finanziariamente in difficoltà, x ha subito traumi psichici, x ha ricevuto ordini da un superiore gerarchico, eccetera).
Le sottoquestioni possono essere valutate in modo abbastanza razinale e unilaterale da attribuire un grado di verità ad ognuna, ad esempio un test del Q.I. può decidere se x è mentalmente inabile, o uno psichiatra se x presenta disturbi.
In generale però il responso è del tipo " si ma", con dei fattori limitanti.
Se posso dare una valutazione fuzzy ad ognuna delle sottoaffermazioni e dire "x è colpevole" è equivalente alle sottoptoposizioni p1 e p2 e p3 eccetera, e se per le sottoproposizioni si riesce ad ottenere un accordo di massima, allora ho un metodo che decide in modo oggettivo la verità di "x è colpevole".
Il metodo è coerente (se x è assolutamente malato psichico, o assolutamente ritardato mentale, o la sua situazione finanziaria richiedeva assolutaente di commettere un furto per sopravvivere, allora una sola di queste condizioni è sufficiente a considerarlo non colpevole). Se molti fattori concossono, ma nessuno è decisivo ho almeno un modo di valutare il complesso.
Ovviamente la logica fuzzy non decide proposizioni tipo "x è grande letteratura", perché bisognerebbe poter dividere il concetto "grande letteratura" in sottoproposizioni decidibili e quantificabili.
In compenso misura molto bene proposizioni come "x appartiene a" dove l'iniseme cui x appartiene è molto complesso.
Ad esempio "x è un investimento ottimale" potrebbe essere valutato con una logica fuzzy.
Ho capito, è la logica di Veltroni, quella del "ma anche" :).
Non ho scelto un grande esempio: la logica fuzzy funziona davvero ed è seria: prova a pensare alla valutazione di un sito, diciamo lankelot.
Uno potrebbe trovare la valutazione difficile da fare, perché dipende da molti fattori. Potremmo discutere un po' e stabilire che i fattori che rendono vera la frase
"X è una buona rivista online" sono:
- X ha dei revisori che controllano ogni pubblicazione
- X rende semplice lop scambio tra autori e lettori
- X ha molti lettori
- X è indipendente da un mecenate
Ognuna di queste affermazioni è "vera" per lankelot, ma è anche falsa, a seconda di quanto sei rigido.
Ad esempio:
-X ha dei revisori, ma sicuramente meno numerosi o meno formati qi quelli di "NATURE" o di "Science". Quindi potremmo dare grado di verità 0.8
- X rende facile lo scambio, (più di ArXiv, limitato alle email, ma meno di Gnugeneration) quindi diamo verità 0.9
- X ha molti lettori (più di Epistemologia, ma meno di Beppegrillo) diciamo verità 0.5
- X è indipendente da un mecenate, ma ospita banner (che sono una sorta di), quindi grado di verità 0.7
Ora ogni carattere può essere deciso in modo abbastanza oggettivo (ad esempio "X ha molti lettori" potrebbe essere vero assolutament oltre i 100000 e falso asolutamente sotto i dieci; il resto con gradazioni scalonate).
Una rivista che non soddisfa uno dei quattro criteri è certamente "non buona" (tutti i criteri sono necessari), e la logica fuzzy permette di costruire delle operazioni che valutano in modo oggettivo.
Non è la media: una rivista con due valori zero e due uno, (ad esempuio con molti lettori e scambio, ma senza revisori e un mecenate autoritario) Non è una buona rivista (un solo 0 inficia la rivista) ma ottiene un buon ranking medio. La logica fuzzy è più efficace.
(beh, magari i banner permettessero di pagare almeno 1 decimo della banda).
*
Comunque sì, ho capito. Estremamente interessante, ed estremamente fertile. Soprattutto per questioni statistiche. Il problema rimane come graduare correttamente le percentuali di vicinanza a 1, perché è allora che entrano inevitabilmente in gioco fattori "emozionali" o comunque "non aritmetici". Se esistesse un numero in grado di decifrare l'incertezza, o di rappresentare senza timore di equivoci la quasi realizzazione, allora sì che la matematica potrebbe prendere il posto del linguaggio.
Di solito si usano quantificazioni discrete (Tipo veritaà 0 verità 0.5, verità 1), senza sofisticare troppo. A volte la chiamano logica del terzo incluso.
L'idea è di poter essere un po' meno rigidi, ma ovviamente un minimo di misura devi poterlo fare...
Ho l'impressione che dipenderà molto dalle applicazioni...
qualcuno diceva: fate che il vostro parlare sia "sì sì, no no; tutto il resto proviene dal maligno". A quel Gesù (Matteo 5, 37) sarebbe piaciuta la logica fuzzy. Aggiunge ics a sì e no, ma ci siamo.
Senza conoscere la logica fuzzy. In generale quando un criterio si fa difficile da valutare si usa una quantificazione numerica (come il QI per l'intelligenza). Si valuta poi il campione esamianto e si danno valori tra zero e uno a partire dal massimo e dal minimo.
esempio: lankelot ha tanti lettori. sito con più visite al giorno 100'000. sito con meno visite 1.
al che per la valutauzione esistono diverse possibilità. Vi è la proporzionalità diretta (che offrirebbe a lankelot un grado di verità attorno allo 0,04). considerando che i siti non sono equamente distribuiti (vi sono molti pi?u siti con pochi lettori che con molti) si potrebbe usare una scala logaritmica.
considerando però che le affermazioni come molto e poco sono in generale un apprezzamento rispetto alla popolazione, credo che l'approccio più corretto sarebbe quello per quantili.
esempio lankelot è un sito molto letto: esamino l'intero campione di siti. divido i siti in 10 gruppi di uguale dimensione. al primo gruppo (meno letti) assegno un valore 0,1, al secondo 0,2, eccetra.
scientificamente mi sembra corretto (ma forse sono troppo legato alla biologia). thomas cosa ne pensi?
Ciao Thomas!
Non conoscevo questa logica fuzzy, interessante l'articolo. Mi piacerebbe sapere quali sono i campi di applicazione, cioè quale è il rapporto tra la logica fuzzy e il linguaggio. Ad esempio in filosofia del linguaggio, il paradigma dominante, quello che definiva isomorfico il rapporto tra linguaggio e realtà (Frege, Russell, primo Wittgenstein, a suo modo Carnap) e che aveva nella logica proposizionale "estrema fiducia" è ora un po' fuori moda, dopo che gli studi dell'approccio pragmatico al linguaggio hanno condotto a considerare che soltanto una piccola percentuale del linguaggio è riconducibile ad una logica proposizionale (enunciati in grado di esprimere un valore di verità).
Vorrei sapere se anche la logica fuzzy parte ormai da questa constatazione, se parte cioè da obiettivi ridotti rispetto al paradigma dominante, o se invece si nutre delle stesse ambizioni.
Comunque Franco, io starei tranquillo, la logica non è in grado di sostituire il linguaggio, che valore daresti alla frase "Questo è proprio uno squalo"? Solo la realtà esperienziale è in grado di disambiguare questa affermazione, non c'è logica che tenga. Il linguaggio è altamente performativo, ha delle modalità irriducibili che sono troppo aderenti al contesto di riferimento (poesia, letteratura, ecc...). Ma da quello che ho capito anche quelli della fuzzy ne sono consapevoli, mi piacerebbe però saperne di più.
11> L'idea dei quantili rassomiglia alla logica fuzzy, tranne che:
- la logica fuzzy può assegnare infinite "tranches", infiniti quantili, e trattrli ugualmente in modo adeguato.
- È un approccio logico e non aritmetico: Significa che le operazioni non computano valori medi, ma gradi di verità. In particolare, se un sottocriterio ha grado di verità zero (o molto basso), questo azzera sistematicamente anche la verità complessiva. Invece con i quantili, un risultato nullo può comunque essere assorbito da una media alta.
Certamente la logica non può rendere conto di tutte le proposizioni (che valore daresti a "Questo criminale è tuo amico"?).
La frase fa un affermazione che può essere vera, oppure falsa, ma quello che vuole dire non è che la persona x è un criminale & e x è amica di y. Quello che la frase dice è: y è un criminale!
Il linguaggio è ricorsivo, mal congeniato ai fini della chiarezza e autoreferente in quasi ogni frase.
È ovvio che la logica proposizionale può interessarsi soltanto a problemi comuptabili, a cui in poche parole si può associare un gruppo di valori numerici.
L'economia, la percezione spaziale e temporale, la robotica, gli algoritmi genetici, sono buoni candidati; l'estetica, la dialettica, la politica assolutamente No.
In generale la logica fuzzy opera bene in contesti matematizzabili ma in cui la precisione disponibile è limitata, e una piccola differenza iniziale crea un grande effetto finale...
Resta aperta la questione di sapere se il linguaggio, quando non esprime una verità analitica, esprima qualcosa (dio non strettamente soggettivo e autoreferenziale) ma è un problema che nessuna logica può risolvere!
Thomas!
Guarda cosa ho scoperto nel catalogo Castelvecchi:
www.castelvecchieditore.com/spirale/mente_anima/estratti/fuzzylogic.html