Ciao 380°,
On Fri, Apr 21, 2023 at 05:43:41PM +0200, 380° wrote:
Deciding is a computational activity, something that can ultimately be
programmed. Choice, however, is the product of judgment, not
calculation.
[...]
Siccome nel linguaggio naturale il significato delle parole
dipende... da un sacco di cose, per amor di brevità, in _questo_
contesto potremmo /scegliere/ di attribuire a ciascun termine una e una
sola delle definizioni disponibili oggi sul Merriam Webster:
- "decide": 1.b to select as a course of action —used with an infinitive
- "choose": 1.a to select freely and after consideration
Interessante distinzione che evidenzia come io non sia stato chiaro.
Riprovo:
- decidere è un'azione uomana.
- segliere anche.
sono azioni diverse, ma entrambe umane.
Il burocrate che, vittima di una poderosa alienazione cibernetica,
applica le regole senza buon senso o compassione, decide non sceglie.
Ma decide sempre e comunque sotto la propria responsabilità (che magari
cerca di eludere appunto comportandosi COME un automa che esegue un
programma).
Il computer NON decide.
Esattamente come non conta, non vede, non legge etc...
Persino la mia precedente affermazione secondo cui "il software calcola"
è una affermazione inesatta: non calcola nemmeno.
Il software è un dato.
E' espressione di uno o più esseri umani che collaborativamente
determinano il comportamento di una macchina.
La macchina (il computer che esegue il software) non calcola, non conta
non produce numeri casuali etc... esegue meccanicamente il software.
Per il computer cicli e condizioni non hanno alcun significato.
La CPU risponde alle variazioni di tensione sul bus senza avere alcuna
comprensione del loro significato.
Dunque il computer non decide.
Dunque l'hardware che esegue il software non decide alcunché: esegue
meccanicamente il programma (che è dato, espressione dell'uomo
interpretabile dall'uomo) e produce un output che pur essendo
determinato dal programma non ha alcun significato fin tanto
che una mente umana non lo interpreta.
Esattamente come i byte che il tuo MUA rappresenterà sullo schermo
quando leggerai questa mail: pur essendo auspicabilmente espressione
della mia coscienza, non hanno alcun significato intrinseco fintanto che
una mente umana non li interpreta sulla base delle informazioni che già
la caratterizzano (nota: ho scritto informazioni, non dati).
L'atto di interpretare un dato è talmente istintivo per l'uomo che
non riusciamo facilmente ad diventarne consapevoli.
Puoi provare a distinguere i segni che vedi sul tuo schermo dalle
informazioni che gli attribuisci nella tua mente?
Lo stesso accade per qualsiasi output.
C'è sempre qualcuno che lo intepreta.
Quindi dire che un software decide (o persino calcola) è sbagliato.
E' una scorciatoia comunicativa (e cognitiva) comoda, ma è sbagliato.
E con le "intelligenze artificiali" diventa propriamente pericoloso.
Un software non può decidere e non deve mai sembrare che lo faccia.
Può essere utile per verificare la correttezza formale di una decisione,
ma solo debuggandolo pazientemente passo passo, in modo che una singola
mente interpreti input, programma che la riproduce e output.
Tale correttezza formale ovviamente non garantisce la correttezza
della decisione: ad esempio potrebbero esserci errori nella
selezione dell'input.
Ma solo così il software diventa un ausilio alla decisione: come
specchio per la mente umana che decide, non come suo sostituto.
il software effettua SEMPRE ed ESCLUSIVAMENTE ciò che è definito nel
proprio programma. anche quando modifica la propria configurazione
(che come osservava 380° in passato, è semplicemente una parte della
programmazione differita rispetto alla compilazione del binario), in
funzione dell'input ricevuto, tale variazione è predeterminata.
Cioè: la decisione è "computational activity" nella misura in cui un
**processo** (programma in esecuzione sulla macchina) esegue un /branch/
[3] causato da un /conditional/ [4]... che è /stato programmato/.
No, la decisione è computational activity nel senso che devono essere
sufficienti capacità logico-deduttive (aritmetiche direi) per determinarla.
Ma un computer non ha capacità logico-deduttive: è una macchina! :-D
I /conditional/ sono sempre programmati da umani, anche se il processo
di "compilazione" (in senso molto ampio) del binario è complesso (o
/complicato/) come nel caso della programmazione statistica detta
"machine learning".
I /conditional/ sono espressione umana, ordine ad una macchina di
eseguire una certa transizione di stato che produrrà un output che
un'altra persona interpreterà come risultato di una condizione.
Quindi la decisione (to select as a course of action) è sì effettuata
dal processo ma dipende da come è stato programmato _e_ dell'ambiente di
esecuzione (configurazione, input... "perturbazioni varie" [5]).
Non è una decisione, ma uno stato applicativo (o una transazione fra
stati applicativi) che produce un output che poi TU intepreti.
Che poi queste perturbazioni varie determinino tale stato applicativo
insieme al binario, all'input, alla configurazione etc... siamo
d'accordo.
Rimane uno stato di una certa macchina, che non ha significato di per sé
fintanto che non gli viene attribuito da una mente umana.
Mente che non è razionale (tant'è che spesso interpreta l'output come
qualcosa che non è, vedi ChatGPT) rendendo intrinsecamente non razionale
anche il sistema cibernetico composto da software + umano, per quanto
perfetto possa essere il software.
L'interpretazione dell'output è SEMPRE un atto politico.
E deve essere responsabile e consapevole.
quand'anche un software fosse connesso ad una sorgente randomica in
grado di alterarne la configurazione per simulare una sorta di libero
arbitrio, la forma della configurazione stessa e la sua
interpretazione da parte del programma sarebbe comunque
predeterminato.
Cioè: anche se /simulassimo/ una configurazione frutto di "libero
arbitrio" (ammettiamo sia possibile con reti neurali e "machine
learning"), il **processo** eseguirebbe solo e soltanto i branch
_determinati_ dai conditionals inseriti nel programma.
Sia i branch che i conditionals possono essere tantissimi, tanti da
essere umanamente difficili anche solo da concepire, figuriamoci da
(ri)calcolare, ma la loro natura è quella.
Precisamente.
(almeno su questo sono stato chiaro :-D)
dunque "il digitale" non decide. MAI.
Ma sì: il digitale decide
No, non decide.
Una macchina che esegue un software non decide.
Reagisce meccanicamente a variazioni di corrente determinati
dal binario in memoria, dal pointer counter, dallo stato dello
stack, dello heap, etc...
Un essere umano ha scritto quel software perché qualcuno interpreti
l'output in un determinato modo... e l'interprete deve essere pienamente
consapevoli della PROPRIA responsabilità nel prendere LUI una decisione
sulla base dell'output di quel programma scritto da quella persona.
Ma la decisione (e la responsabilità) non è del programma, ma solo delle
persone che lo usano per comunicare (programmatori e utenti).
Tutt'altra cosa è scegliere.
Vero.
E se le macchine non decidono, figurati scegliere! ;-)
Siamo sempre noi che interpretiamo il suo output.
Talvolta, in evidente stato confusionale, lo interpretiamo come
"decisione"
ma non lo è: la decisione è SOLO nostra e dobbiamo assumercene la piena
responsabilità, perché siamo noi ad interpretare l'output.
"Signora mia, non sono io a scegliere di non accordarle XYZ: è il
computer che lo ha deciso"
In effetti ci sono tanti funzionari che hanno l'ordine di non scegliere
ma di applicare le decisioni che escono dal computer.
Esatto: esempio "da manuale" di alienazione cibernetica.
L'alienazione è al limite del ridicolo se il funzionario non sa nemmeno
spiegare precisamente e completamente il processo che ha portato alla
decisione di cui LUI è responsabile.
Perché la decisione è sua: il computer gli ha solo disegnato una serie
di segni sullo schermo.
Il software determina completamente e precisamente ciò che
l'automatismo farà e ciò che non farà.
Se con software intendi il **processo** allora sì, se con software
intendi il programma allora no, perché l'ambiente di esecuzione *e* - se
c'è - l'undefined behaviour [5] hanno una parte altrettanto rilevante
nel determinare la decisione (uso questo termine apposta)
dell'automatismo.
Ne determinano l'output (e durante l'esecuzione lo stato della macchina
che esegue il software) ma non determinano alcuna decisione.
Io posso sempre decidere di ignorare quell'output o di interpretarlo al
contrario o di alterare l'input finché non ottengo l'output
desiderato...
Posso persino interpretare gli 1 come l e gli 0 come O o viceversa. :-p
la decisione è SEMPRE dell'uomo.
Ogni artefatto può essere utile.
Ma a nessuno va attribuita alcuna dignità intrinseca.
Per questo parlare di "intelligenza artificiale", "macchine cognitive"
(come fa Enrico Nardelli nel suo ottimo libro) o anche solo
"esseri tecnici" è pericolosamente alienante!
Possiamo anche perdonarci a vicenda per l'uso improprio di certe
definizioni, che come abbiam visto nel caso di "deciding" sono
/multiformi/, ma per non farsi alienate è importante non fermarsi alle
"etichette sulle scatole" ma aprirle queste benedette scatole, capire
cosa c'è dentro, a cosa serve il contenuto, se ci piace, /come/ possiamo
_usarlo_, ecc...
Non è questione di perdono, né di ambiguità linguistica: è questione
di usare un linguaggio alienante o meno.
Insisto sull'inadeguatezza di certi termini (e provo a proporne di
alternativi, come "programmazione statistica") perché ne vedo
chiaramente i danni cognitivi inflitti alla società.
I ragazzini che soffrono perché Replika dismette le funzioni erotiche.
Autorevoli giuristi che giustificano le violazioni dei diritti umani
fatte da Open AI tramite Chat GPT perché... "è solo una povera AI!"
E così via.
Io sono CERTO della buona fede di Giuseppe nell'uso della locuzione
"intelligenza artificiale".
Così come sono CERTO della buona fede di Enrico nell'uso della locuzione
"macchine cognitive" o in quella di kerlessi nell'uso della locuzione
"esseri tecnici"
E capisco benissimo cosa intendono.
Ma poiché quelle locuzioni (ancor più se usata e difese da persone
tanto autorevoli) danneggiano tutti, sono costretto a smontarle, guardarci
dentro, rivoltarle e mostrare a tutti che... sono solo scatole vuote.
A presto!
Giacomo