Informatica per la comunicazione – lezione 19 2013-14 Appunti 19.pdf · Numeri casuali" "?...

Post on 16-Jul-2020

1 views 0 download

transcript

Informatica per

la comunicazione"– lezione 19 –

 

A quanto pare non riusciamo ad ottenere mai nulla di nuovo, nulla di originale da un computer." "

""

Eppure…" ""

"

Facciamo un test." ""

"

Quale brano è stato creato da un computer?" ""

"

Per coloro che non sono stati presenti alla lezione: sono stati suonati due brani dal disco “Bach by Design” di David Cope, un esperto di composizione musicale automatica, che ha generato al computer dei brani che imitano lo stile della musica barocca di Bach." "

""

Entrambi." ""

"

Johann Sebastian Bach(1685 – 1750)  

David Cope (University of California at Santa Cruz)  

I brani che abbiamo ascoltato sono stati creati tramite un programma. Sono brani originali, nel senso di nuovi." ""

"

Lo stile è tutt’altro che originale. Di fatto, il programma è stato creato estraendo “pattern” dalle composizioni per clavicembalo di Bach."

"

""

Ma allora, il computer riesce a creare qualcosa di originale o no?"

""

"

Diciamo che il computer ci aiuta, grazie alla sua veloctià, ad esplorare molte possibilità."

""

"

L’insieme dei possibili brani musicali." ""

"

Chiaramente, un insieme infinito." ""

"

La cultura musicale fa sì che vengano creati dei criteri che escludono molti di questi brani. Ad esempio, vogliamo solo le note presenti su un pianoforte." ""

"

Inoltre, certi raggruppamenti di note (accordi), la loro durata, la loro dinamica, e tanti altri fattori definiscono uno stile che possiamo preferire rispetto ad altri.""

Pur ponendo dei limiti di carattere stilistico, i brani possibili sono infiniti, ed esplorare lo spazio di queste possibilità richiede troppo tempo. Qui viene in nostro aiuto il computer.""

Se i pattern che un musicologo riconosce nei brani di Bach possono essere scritti sotto forma di programma, allora possiamo programmare adeguatamente un computer affinché generi alcuni dei brani che seguono lo stile di Bach."

"

Grazie al fatto che la CPU può eseguire miliardi di operazioni al secondo, la produzione di questi brani (cioè l’esplorazione dello spazio dei possibili brani) è molto più rapida.""

Rimane il problema di giudicare questi brani secondo criteri di estetica musicale.""Ritorna la questione del raffinamento degli algoritmi.""La codifica dello stile di Bach non è così precisa da rendere certo il fatto che il prodotto del computer sia gradevole all’ascolto."

"I criteri secondo cui un brano è “bello” sono numerosi e nessuno è ancora riuscito a codificarli tutti sotto forma di algoritmo."

"I brani di Cope, quindi, sono il frutto del lavoro di calcolo del computer, ma anche di selezione da parte di un esperto umano."

"

Rimane la questione dell’originalità: il lavoro di Cope, per quanto notevole, è stato guidato dallo stile musicale di Bach e dei suoi contemporanei, ma è possibile scrivere un algoritmo che crei brani con uno stile mai sentito sinora?""

Creare brani nuovi, così come storie, quadri, modi di comunicare originali, è possibile: gli esseri umani continuano a farlo ogni giorno. Di tutte le imprese che l’uomo affronta, alcune (come ad esempio la text summarization) sono state già codificate sotto forma di algoritmi.""

Che il funzionamento ancora in gran parte sconosciuto del pensiero umano, compresi i processi creativi, sia basato su un algoritmo è tutto da dimostrare. Il fatto che non sia stato ancora trovato un algoritmo per la creatività non vuol dire che l’impresa sia impossibile, ma certo è che gli ostacoli non mancano.""

Facciamo un altro test.Quale dei due disegni è stato realizzato a mano, e quale per mezzo di un computer?"

"

Franco Grignani" (1908 – 1999)  

Questo è l’autore del secondo disegno.""

Egli è anche il creatore del marchio della pura lana vergine.""

Matt Pearson" (1970? – )  

Questo è l’autore del primo disegno.""

G r i g n a n i h a sempre lavorato a mano nel corso della sua carriera, avvalendosi al più d i c o m p a s s i , righelli e squadre.""

P e a r s o n , i n v e c e , disegna al computer: non usa s t rument i tradizionali di disegno, bensì scrive programmi che, una volta fatti funz ionare , c reano disegni."

"

Osservando più da vicino il disegno di Pearson, notiamo che le convoluzioni sono costituite da una serie di numerose circonferenze."

Il numero di tali circonferenze è talmente elevato da rendere impraticabile una realizzazione a mano del disegno."Qui viene in aiuto la notevole velocità a cui lavorano i computer: se teniamo presente che un processore di media potenza oggi (2013) può realizzare 3 miliardi di operazioni semplici al secondo, ecco che l’impresa di disegnare migliaia di cironferenze risulta più fattibile."Di fatto, il disegno si basa sulla ripetizione di un’unica operazione, quella di disegnare una circonferenza.""

Abbiamo già visto in precedenza dei casi di ripetizione di operazioni."Ad esempio, nell’algoritmo della text summarization, per eliminare le parole nella lista pc che sono presenti anche nella lista sw si è dovuta ripetere più volte l’operazione di scorrimento della lista sw e anche di scorrimento della lista pc.""

p  =  w?  

posizionati all’inizio di pc  

prendi la coppia (p,c) in quella posizione  

prendi p  

posizionati all’inizio di sw  

prendi la parola w in quella posizione  

elimina (p,c) e vai alla posizione successiva in pc  

vai alla posizione successiva in sw  

fine  di  sw?  

fine  di  pc?  

vai alla posizione successiva in pc  

sì!no!

sì! no!

sì!no!

Nei diagrammi di flusso, le ripetizioni assumono la forma di un ciclo, perché per ripetere determinate operazioni il flusso di esecuzione deve tornare in l’alto e poi riscendere."

Iterazione""Ripetizione"" Ciclo"

"Loop"

"

Questo tipo di esecuzione ripetuta può essere chiamato in modi diversi."

Osserviamo di nuovo il disegno di Pearson, per notarne un’altra caratterist ica, indipendente dall’iterazione."

Si osservi che la sequenza delle circonferenze disegnate non segue una traiettoria regolare, geometrica (come le linee nel disegno di Grignani)."

Il percorso seguito dai centri delle circonferenze è irregolare, così come la distanza tra loro: ci sono zone in cui le circonferenze sono più distanziate (e il disegno risulta più chiaro) e zone in cui esse sono più ravvicinate (e il disegno è più scuro)."Non riusciamo a riconoscere alcuna regolarità né nel percorso tracciato, né nella frequenza con cui le c i rconfe renze sono d isegnate : ques te due caratteristiche ci appaiono casuali. "

Se le codificassimo sotto forma di valori numerici, essi ci apparirebbero come numeri casuali."

"

Numeri casuali""

Numeri casuali""

?

Attenzione: è possibile avere numeri casuali in un programma di un computer? Apparentemente sì, se è vero che Pearson ha programmato un computer per creare il suo disegno, e se è vero che l’andamento delle circonferenze ha una componente casuale."

Questo, però, è in contraddizione con la definizione di algoritmo, che riportiamo di seguito, e che include la fondamentale caratteristica di “determinismo”, che dovrebbe escludere ogni fattore casuale."

!"Algoritmo" ""

"

Un modo per raggiungere la soluzione che ha le seguenti caratteristiche:1) è una sequenza finita di operazioni ben definite;2 ) d o p o l ’ e s e c u z i o n e d i o g n i operazione, è chiaro qual è la successiva (determinismo)." "

""

?"

Immaginiamo però di escludere ogni fattore casuale, e di voler lavorare in maniera deterministica."Come potrebbe Pearson realizzare il suo disegno?"

In teoria un modo ci sarebbe: dovrebbe scrivere un programma in cui, per ogni circonferenza da disegnare, c’è un’istruzione che ne indica in maniera precisa la posizione e il diametro."

Tali istruzioni andrebbero scritte dal programmatore, ossia Pearson."

In tal caso, affidarsi al computer non ha più senso: scrivere migliaia di istruzioni consuma tanto tempo quanto disegnare migliaia di circonferenze. Tanto vale allora risparmiare sull’acquisto di un calcolatore e lavorare con strumenti di disegno tradizionali."

In realtà... ""

Numeripseudo casuali""

La contraddizione è solo apparente: non vi è alcun numero casuale all’interno di un calcolatore, bensì solo numeri pseudo-casuali, ovvero numeri che a un osservatore esterno appaiono come casuali, ma… "

…sono in realtà il risultato di una funzione matematica piuttosto complessa il cui calcolo include anche informazioni contingenti (come ad esempio la data e l’ora, il minuto e il secondo in cui tale calcolo viene eseguito) di modo che ogni volta vengono fuori numeri in un ordine difficile da prevedere, appunto pseudo-casuale."

Come riusciremmo a prevedere l’esito del lancio di un dado se conoscessimo alla perfezione le condizioni al contorno (la posizione del dado nella mano, le condizioni della pelle del palmo della mano, il funzionamento e le condizioni di tutti i muscoli del braccio coinvolti, temperatura, umidità e pressione dell’aria nella stanza, la superficie del tavolo, etc.), così se conoscessimo tutti fattori che contribuiscono al calcolo della funzione per creare numeri pseudo-casuali riusciremmo a prevedere la sequenza risultante di numeri. Non essendo il programmatore (nel caso del disegno in questione, Pearson) in grado di tenere conto di tutte queste informazioni, per lui la sequenza di numeri è imprevedibile e apparentemente irregolare."

I disegni basati su un programma che ricorre all’uso di funzioni per la creazione di sequenze di numeri pseudo-casuali non sono quindi interamente prevedibili da parte del programmatore. Opere del genere rientrano in quella branca di arte basata sul computer chiamata…"

Generative Art"

Non tutto in un disegno di generative art è imprevedibile. Nel lavoro di Pearson chiaramente ci sono delle scelte fatte dall’artista che sono state codificate in maniera esplicita nel programma: ad esempio il fatto che ci sia una sequenza di circonferenze (e non di esagoni) e che tale sequenza si sviluppi su un percorso approssimabile ad un anello."La parte più imprevedibile, quella in cui il programma fa ricorso a funzioni di creazione di numeri pseudo-casuali, riguarda la densità delle circonferenze, più distanziate in alcuni tratti e più ravvicinate in altri, e i dettagli del percorso ad anello, che include delle deviazioni irregolari."

Che non si pensi che questa convivenza di decisioni esplicite dell’artista e di casualità al di fuori del suo controllo sia una novità introdotta con la generative art."

Un esempio che precede l’arte creata con l’aiuto del computer è…"

Jackson Pollock (1912 –1956)"

Che si tratti di musica o di quadri, la creatività consiste nel trovare soluzioni originali all’interno di uno spazio molto vasto di possibilità."

Il computer ci può aiutare perché è in grado di esplorare le diverse opzioni (purché opportunamente codificate) in maniera molto rapida."

Se riuscissimo a esprimere tali criteri sotto forma di programmi, allora i computer, da esploratori di possibili soluzioni, potrebbero diventare selettori di soluzioni."

I criteri con cui si giudicano le possibili soluzioni (“Questo brano è piacevole all’ascolto?” “Questo disegno è bello?”) dipendono ancora dal giudizio delle persone."

Abbiamo parlato di creatività al computer, e abbiamo visto che spesso vuol dire lanciare il computer all'esplorazione di soluzioni a noi sconosciute."La differenza con l’essere creativi in senso tradizionale è che tale esplorazione può essere eseguita in tempi molto più rapidi (previa scrittura di programmi adeguati, naturalmente)."

Tale ignoto inesplorato non contiene novità in senso assoluto (es. un nuovo modo di fare arte) ma soluzioni in un contesto ben definito mai viste sinora semplicemente perché tale contesto è talmente vasto che l'umanità non l'ha ancora esaurito (es. un nuovo quadro)."

Qual è la differenza tra un nuovo modo di fare arte e un nuovo quadro?"Il quadro si inserisce in un insieme ben definito di regole, mentre un nuovo modo di fare arte fuoriesce da tali regole."

In realtà, fuoriuscire dalle regole si traduce nella creazione di nuove regole, se il nuovo oggetto è i n t e r e s s a n t e e s e n e vogliono costruire altri di simili."

Ecco un esempio di opera d’arte fuori dalle regole del momento storico in cui è stata presentata: Fountain di Marcel Duchamp."Fa parte della serie dei Readymades, oggetti già costruiti in precedenza con altri scopi, che diventano oggetti d’arte nel momento in cui vengono inseriti dall’autore in un contesto artistico."L’originale Fountain è stato presentato a un concorso d’arte nel 1917 ma è andato perso. In foto è mostrata una copia del 1964, commissionata da Duchamp stesso, conservata alla Tate Modern di Londra."

Marcel Duchamp (1887 – 1968)"

Fountain è uscito fuori dagli schemi tradizionali dell’arte per numerosi motivi:"§  è un urinatoio, quindi nulla di bello né di piacevole"§  non è stato costruito dall’artista che se ne dichiara

l’autore"§  se ne possono fare copie senza che ne venga

diminuito il (presunto) valore."

Fountain è stato votato il lavoro più significativo dell’arte del XX secolo da 500 artisti ed esperti d’arte britannici nel 2004."" Una delle motivazioni è che

ha messo in discussione il legame tra la manodopera dell ’art ista e i l merito dell’opera."

“L’atto creativo non è eseguito dal solo artista; lo spettatore mette il lavoro in contatto col mondo esterno decifrando e interpretandone le sue qualità interne, contribuendo così all’atto creativo.”  

(Marcel Duchamp, 1958)"

La creatività secondo uno degli artisti più importanti del XX secolo. "La definizione ha molto in comune con quanto abbiamo visto in ambito informatico:"§  una comunicazione tra interno ed esterno attraverso

un’interfaccia"§  l’uso della codifica e dell’interpretazione."In particolare, qui viene sottolineata l’importanza del ruolo attivo dello spettatore. "In ogni caso, torniamo alla solita questione: è fondamentale che ci sia un’entità in grado di interpretare ciò che le viene presentato."

Che alle estremità del canale di comunicazione vi sia una persona, un computer, o un’opera d’arte, l’obiettivo da raggiungere (anche al di fuori del c o n t e s t o a r t i s t i c o ) è q u e l l o d i comunicare."

“Furiosamente dormono idee verdi senza colore.”  

Ecco un esempio di comunicazione non riuscita: anche se la frase viene enunciata in maniera chiara e udibile, il destinatario non riesce a comprenderne il significato."

Noam Chomsky" (1927 – )"

E’ una frase formulata da Chomsky nel 1957 nel libro “Syntactic Structures” per dare un esempio di frase corretta dal punto di vista sintattico, ma che non ha alcun significato comprensibile."Con essa Chomsky voleva mostrare la chiara distinzione tra sintassi e semantica. Inoltre, faceva parte di un attacco contro modelli stocastici della grammatica, che iniziavano a diffondersi in quegli anni in ambito delle scienze linguistiche."

Un dibattito (la statistica ha un r u o l o f o n d a m e n t a l e n e l l a costruzione di un linguaggio?) che va avanti anche oggi. Il principale avversario di Chomsky in questo contesto è il direttore delle ricerche di Google, Peter Norvig, autore (insieme a Stuart Russell) del più diffuso libro di testo sull’Intelligenza Artificiale."

Peter Norvig (1956 – )"

“Furiosamente dormono idee verdi senza colore.”  

Che si tratti di regole derivate dalla statistica o meno, cerchiamo di vedere in che modo una frase del genere possa essere costruita."

idee verdi senza colore  

Furiosamente  dormono  

Un primo modo potrebbe essere quello di vedere la frase come costituita da un soggetto e da un predicato."Questo è il tipo di prospettiva che assumiamo quando facciamo l’analisi logica del linguaggio."

senza  

Furiosamente  

dormono  idee  

verdi  colore  

Un altro modo è quello di vedere le singole parole come componenti della frase. A questo livello, si fa analisi grammaticale (aggettivi, preposizioni, sostantivi, etc…)"

F  

u  

r  

i  o  

s  

a  

m  

e  

n  

t  

Tali elementi si possono scomporre ulteriormente, ed arrivare fino ad avere le singole lettere dell’alfabeto."L’analisi degli elementi costitutivi di una frase può dunque essere effettuata a livelli diversi di granularità. Lo stesso fenomeno si ha quando si descrive un algoritmo: il livello di precisione con cui si descrivono le operazioni da eseguire può variare da una descrizione sommaria fino alla descrizione dettagliata di ogni singola sotto-operazione."

Non si pensi che, arrivati alle lettere che compongono la frase siamo arrivati ad analizzare il livello più fondamentale ed universale dei componenti della comunicazione."

F  

u  

r  

i  o  

s  

a  

m  

e  

n  

t  

Anche questi caratteri fanno parte di uno spazio sì vasto, ma regimentato da una serie di regole…"

Furiously  

寝…al di fuori del quale possiamo trovare altri componenti per costruire frasi di altro tipo che seguono regole diverse."

Furiosamente  

F  

u  

r  

i   o  

s  

a  

m  

e  

n  

t  Concentriamoci sulla parola “Furiosamente” e, ispirandoci alla creatività pseudo-casuale vista nella generative art, vediamo come una parola del genere possa venire costruita a partire dai suoi componenti."

Un modo di costruirle è di estrarre un numero (pseudo)casuale che stabilisca la lunghezza della parola e di scegliere (pseudo)casualmente le lettere tra quelle disponibili."Nell’esempio in figura le lettere sono proprio quelle della parole “Furiosamente”, ma naturalmente è un caso particolare."

uFteeerimFas  

iusFunaomierenF  

ionteFitusaomeren  

Foanerie  

tnnnusonerieaFnnn  

utFeenoooams  

osa  

tusaomierenF  

Fitusaomeren  

Rendiamo il meccanismo di generazione più complesso."Prendiamo due sequenze di caratteri, scegliamo (sempre pseudocasualmente) una loro parte centrale, e creiamo a partire da loro due nuove sequenze, scambiando le parti centrali."

tusaomierenF  

Fitusaomeren  

tustusaomeenF  

Fiaomierren  

Procedendo in questo modo per altre coppie, di fatto raddoppiamo la “popolazione” di sequenze introducendo nuovi elementi mai visti prima."L’idea di fondo è quella di proseguire nella generazione di nuovi elementi, finché non se trova uno adeguato ai nostri scopi."Questa “adeguatezza” viene espressa in termini di caratteristiche che noi vorremmo in questi elementi e che ci possono guidare nel “filtrare” la popolazione, ovvero sia selezionare per la “riproduzione” (eseguita come prima con l’incrocio di parti centrali di sequenze) solo quegli elementi che mostrano un certo livello di adeguatezza."

uFteeerimFas  

iusFunaomierenF  

ionteFitusaomeren  

Foanerie  

tnnnusonerieaFnnn  

utFeenoooams  

osa  

uFtneerimoas  

tusaomierenF   Fitusaomeren  

Fomtusanerie  

temusonerieaF  

utFeenrioams  

ooneriea  

uFteeerimFas  

iusFunaomierenF  

ionteFitusaomeren  

Foanerie  

tnnnusonerieaFnnn  

utFeenoooams  

osa  

uFtneerimoas  

tusaomierenF   Fitusaomeren  

Fomtusanerie  

temusonerieaF  

utFeenrioams  

ooneriea  

§  Lunghezza = 12 caratteri"§  Contiene una sola maiuscola"§  La maiuscola è all’inizio"§  …"

Il filtro che applichiamo potrebbe specificare le seguenti caratteristiche."

Fitusaomeren  

Fomtusanerie  

Il risultato dell’applicazione del filtro, o “selezione” è questo."

Fitusaomeren  

Fomtusanerie  

Footusanerie  

Fomtsananttt  Fomtusartrin  

Fomtusaeerti  

Facendo riprodurre gli elementi selezionati, la nuova popolazione si avvicina di più all’obiettivo."

§  Lunghezza = 12 caratteri"§  Contiene una sola maiuscola"§  La maiuscola è all’inizio"§  E’ uguale a “Furiosamente”"

Naturalmente, la selezione potrebbe essere formulata in maniera molto restrittiva, descrivendo precisamente ciò che vogliamo."

In tal caso, però, non ha senso procedere con la generazione pseudocasuale di elementi: se abbiamo già un’ idea precisa di c iò che desideriamo, possiamo creare direttamente una soluzione ad hoc. Questo modo di procedere è significativo quando abbiamo un obiettivo da raggiungere, ma non abbiamo in mente la forma precisa della soluzione che ci permetta di raggiungerlo."

Costruire la parola “Furiosamente”, quindi, non è un obiettivo per il quale valga la pena di imbastire un processo di generazione e selezione di soluzioni."Noi, però, abbiamo spesso obiettivi molto più vaghi, come ad esempio “creare un bel quadro” oppure “scrivere una poesia commovente”."

Crossover""

L a t e c n i c a d i incrocio di parti di sequenze è ispirata a ciò che avviene in n a t u r a c o n i cromosomi."

M i s c h i a r e m a t e r i a l e genetico con il crossover è un modo per cercare nuove “soluzioni” ossia nuovi esseri viventi in grado di sopravvivere nel mondo."

tusaomierenF  

FusaomierenF  

Mutation""

In natura esiste anche il f e n o m e n o d e l l a mutazione, ossia una modifica “spontanea” del materiale genetico in un individuo. "

Nel nostro esempio, è come se un carattere in una sequenza cambiasse spontaneamente."

Gregor Johann Mendel (1822 – 1884) è universalmente riconosciuto come il padre della genetica per via dei suoi esperimenti con le piante di pisello."Tecniche di programmazione informatica che si ispirano al lavoro di Mendel, trattando potenziali soluzioni come patrimonio genetico da selezionare e m i g l i o r a r e g e n e r a z i o n e d o p o generazione, prendono il nome di Genetic Programming."

Charles Robert Darwin (1809 – 1882)"è considerato il pioniere delle teorie evoluzionistiche delle specie. I concetti di selezione naturale, di sopravvivenza del più adatto sono dovuti a lui. In informatica, tecniche di ricerca di soluzioni ispirate ai principi dell’evoluzione prendono il n o m e d i E v o l u t i o n a r y Computation."

Furiosamente  

Che si tratti di formulare frasi, di disegnare quadri, o di sopravvivere nel la savana, i l problema fondamentale è quello di trovare una soluzione adeguata per risolvere un problema in un insieme molto vasto di possibilità. "Non ci sono costrizioni, se non quelle poste dai componenti con cui si lavora."Se si tratta di esseri viventi, tali costrizioni sono dettate dalla loro natura biologica. Nel caso dell’informatica, sono le regole di funzionamento dei calcolatori a circoscrivere lo spazio delle possibili soluzioni."