da euclide alle reti sociali: ovvero parliamo di algoritmi · dipartimento di informatica/ sapienza...

38
Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI Rossella PETRESCHI Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014

Upload: hoangkhuong

Post on 17-Feb-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI

Rossella PETRESCHIDipartimento di Informatica/ Sapienza Università di Roma

Accademia Nazionale dei LinceiRoma, 06/05/2014

Page 2: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Algoritmo:una parola di gran moda che piace …..

Accademia Nazionale dei LinceiRoma, 06/05/2014

L’algoritmo sbagliato che gonfiava le multe delle quote latte(18/11/2013 Corriere della Sera)

L’algoritmo dei sentimenti legge le emozioni sul tuo viso(2/12/2013 Corriere della Sera)

L’algoritmo della casalinga(29/01/2014 Repubblica)

C’è una falla nell’algoritmo per la ripartizione dei voti nei seggi(13/02/2014 Polisblog)

Page 3: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

……ma che fa anche pauraAbbasso gli algoritmi (M.Gramellini / La Stampa 06/11/2013)

Accademia Nazionale dei LinceiRoma, 06/05/2014

Scandagliando milioni di pagine Facebook, due ricercatori americani (Backstrom e Kleinberg) hanno messo a punto un algoritmo che consente di prevedere la durata di una coppia (all‘interno di una rete che modella un insieme di relazioni sociali, i legami di coppia sono solitamente riconoscibili grazie a particolari caratteristiche topologiche). ……………………………………..La dittatura dell’algoritmo è l’ultimo rifugio di un certo tipo di persone, per lo piùmaschi intellettuali con il cuore a forma di granchio e gli occhi a forma di dollaro, che non riuscendo più a sentire niente si illudono di domare le loro insicurezze con una serie di algide formulette attinte dalla marea di dati personali che le nuove tecnologie mettono a disposizione. Ormai esiste un algoritmo per tutto: il giornale perfetto, il pranzo perfetto, il delitto perfetto. Questi aridi manichini del sapere moderno pensano di controllare la realtà, racchiudendola in una previsione statistica che consenta di anticipare i comportamenti umani per offrirli in pasto ai pubblicitari. Poi per fortuna arriva sempre qualcuno posseduto dal coraggio e dalla sana follia della passione che tira un calcio agli algoritmi e, azzardando ciò che nessuno aveva ancora previsto, ci salva.

Page 4: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

In risposta a “Abbasso gli algoritmi”

Accademia Nazionale dei LinceiRoma, 06/05/2014

…scrivere “Abbasso gli algoritmi” e deprecarne la dittatura è un po’ come scrivere “Abbasso la forza di gravità” o “Abbasso la postura eretta”….. Gli aridi manichini di cui parla sono persone non diverse da lui……alcuni li chiamano scienziati…(M.Cattaneo/Le ScienzeBlog/ 7-11-2013)

…. errore è quello di farsi guidare da un (purtroppo molto diffuso) senso di superiorità della cultura umanistica rispetto a quella scientifica, e dalla assurda convinzione che ciò che èscientifico è per forza arido, grigio, privo di passione…(Blog di Mr Palomar/ 7-11-2013)

……..per arrivare alla spiegazione di cosa è davvero un algoritmo…….anzi, a dirla tutta, seguendo il suo pseudo-ragionamento non avrebbe nemmeno dovuto scrivere “algoritmo” ma “formula”, cioè la macchinetta che presi in pasto una serie di dati ti sputa fuori un numero. Chissà, forse la parola “algoritmo” gli sarà sembrata più accattivante come titolo…(M.Codogno/Il Post/ 7-11-2013)

Page 5: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Etimologia della parola algoritmo

Accademia Nazionale dei LinceiRoma, 06/05/2014

Abu Jà far Mohammed ibn Musa al-Khowarizm, (padre di Jafar, Mohammed, figlio di Mosé, nativo di Al-Khowarizm) (circa 780-850).Matematico, astronomo e geografo, Al-Khowarizmi fu uno dei maggiori studiosi che affollarono “Bayt al-Hilma”, una delle massime istituzioni culturali di tutti i tempi del mondo arabo-islamico.Al-Khowarizmi fu autore di un’opera diffusissima, dove, tra i primi, fece riferimento al concetto di procedimento per risolvere un problema in un numero finito di passi. Per questo, il suo nome, trascritto in latino, un po’ deformato, e forse anche influenzato dalla parola greca “arithmos”(numero), passò ad identificare le regole di calcolo.

Page 6: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Dal vocabolario della lingua italiana Treccani.it

Accademia Nazionale dei LinceiRoma, 06/05/2014

algoritmo (ant. algorismo) s. m. [dal lat. mediev. algorithmus o algorismus, dal nome d’origine, al-Khuwārizmī…………………….1. Termine che indicò nel medioevo i procedimenti di calcolo numerico fondati sopra l’uso delle cifre arabiche. Nell ’ uso odierno, anche con riferimento all ’ uso dei calcolatori, qualunque schema o procedimento matematico di calcolo; piùprecisamente, un procedimento di calcolo esplicito e descrivibile con un numero finito di regole che conduce al risultato dopo un numero finito di operazioni, cioè di applicazioni delle regole. Esem., a. euclideo, METODO per determinare il massimo comune divisore di due numeri interi a e b, basato su divisioni successive. ……………………………..

Page 7: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Il metodo di Euclide per il MCD

Accademia Nazionale dei LinceiRoma, 06/05/2014

Il metodo di Euclide si trova nel VII libro degli Elementi, la principale opera di Euclide, in tredici volumi, scritta nel IV secolo a.C., e rimasta per due millenni uno dei testi fondamentali per lo studio della matematica, in particolare della geometria e della teoria dei numeri.

Il metodo affronta il problema del calcolo del massimo comun divisore fra due numeri interi positivi; procede per divisioni successive e tiene conto che il massimo comun divisore fra due numeri è uguale al più piccolo fra i due, se il resto della loro divisione è pari a zero.

Page 8: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Programma Euclide

Accademia Nazionale dei LinceiRoma, 06/05/2014

Programma Euclide (n,m : interi) n = 8 m = 10Passo1: Si assegna r ← n e n ← m; r = 8 n =10Passo2: Fintantoché (r ≠ 0) r = 8 r=2 r=0

si assegna m ← n e n ← r m=10;8 n=8;2e si calcola il nuovo r: r ← m− n m/n ;

Passo 3: Si assegna l’ultimo valore di n al risultato: MCD ← n;Passo 4: Si fornisce MCD come risposta. MCD = 2

Page 9: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

La formulazione di Euclide in termini geometrici

Accademia Nazionale dei LinceiRoma, 06/05/2014

Supponiamo che siano dati due numeri AB e GD non primi tra loro e che GD sia il più piccolo. Si deve trovare la più grande misura comune dei numeri AB e GD . Se GD misura AB allora GD è la misura comune di AB e GD perché GD misura anche se stesso; è evidente che esso è la misura comune più…………………Ciò che si doveva dimostrare.

Da NOTARE:che il metodo viene formulato in termini astratti, facendo riferimento a grandezze qualsiasi e non a specifici valori numerici esemplificativi (IV secolo avanti Cristo!!!). Euclide non lo chiama certo algoritmo…..

Page 10: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Algoritmo secondo Donald Knuth

Accademia Nazionale dei LinceiRoma, 06/05/2014

Un algoritmo dato un particolare input, deve generare un outputproseguendo per passi successivi (sequenza di operazioni elementari) caratterizzati dalle seguenti proprietà:Definitezza: ogni regola di un algoritmo deve essere definita in modo chiaro e non ambiguo, ovvero deve dar luogo alla stessa sequenza di operazioni, indipendentemente da chi la esegue e in qualunque momento venga eseguita.Finitezza: ogni algoritmo deve sempre terminare dopo l’esecuzione di un numero finito di regole.Effettività: ogni algoritmo deve essere effettivamente eseguibile, ovvero ogni operazione deve essere sufficientemente di base da poter essere eseguita “a carta e penna” in una quantità finita di tempo.

Page 11: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Programma Euclide è un algoritmo

Accademia Nazionale dei LinceiRoma, 06/05/2014

Programma Euclide (n,m : interi) INPUT:n,m

Passo1: Si assegna r ← n e n ← m;Passo2: Fintantoché (r ≠ 0)

si assegna m ← n e n ← re si calcola il nuovo r: r ← m− n m/n ;

Passo 3: Si assegna l’ultimo valore di n al risultato: MCD ← n;Passo 4: Si fornisce MCD come risposta. OUTPUT: MCD

FINITEZZA ad ogni passo r viene decrementato di un valore positivo. Si arriveràquindi alla condizione r = 0 in un numero finito di passi.

Page 12: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Valgono anche definitezza e effettività

Accademia Nazionale dei LinceiRoma, 06/05/2014

Definitezza : La definitezza dell’algoritmo é ovvia, una volta che si conoscano le operazioni aritmetiche fondamentali e il concetto di parte intera inferiore.

Effettività : L’effettività dell’algoritmo è garantita dal fatto che le operazioni su cui si basa sono semplici operazioni aritmetiche. Si noti che la divisione m/n é sempre ben definita: infatti n non può mai valere 0, perché il ciclo while si interrompe non appena il valore di r diventa uguale a 0.

Page 13: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Quanto tempo è necessario?

Accademia Nazionale dei LinceiRoma, 06/05/2014

Programma Euclide (n,m : interi)Passo1: Si assegna r ← n e n ← m;Passo2: Fintantoché (r ≠ 0)

si assegna m ← n e n ← re si calcola il nuovo r: r ← m− n m/n

Passo 3: Si assegna l’ultimo valore di n al risultato: MCD ← nPasso 4: Si fornisce MCD come risposta

L’algoritmo di Euclide è un algoritmo EFFICIENTE e il problema della ricerca del MCD è considerato FACILE.

Al più n passi, dato che r, inizialmente uguale ad n, viene decrementato almeno di 1 ad ogni passo

Page 14: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Cosa vuol dire che un algoritmo è efficiente?

Accademia Nazionale dei LinceiRoma, 06/05/2014

Ricordiamo che: un algoritmo arriva alla risoluzione di un problema procedendo passo per passo e, ad ogni passo, un algoritmo compie operazioni elementari che possono essere operazioni di assegnazione, di confronto, aritmetiche o logiche.

Il computo del numero di operazioni elementari compiute dall’algoritmo ci fornisce una funzione che misura l’efficienza dell’ algoritmo. Quanto meno la funzione cresce al crescere della dimensione dell’input, tanto più l’algoritmo verrà considerato efficiente.

Page 15: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Funzioni tipiche del calcolo della efficienza

Accademia Nazionale dei LinceiRoma, 06/05/2014

Page 16: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Confronto al crescere di n

Accademia Nazionale dei LinceiRoma, 06/05/2014

Ipotizziamo che ogni operazione richieda un nanosecondo (nsec = 10-9 sec). Per n= 64, f1 impiegherebbe 6nsec. Con f2 , f3 , f4, , f5, passeremmo ai sec (sec = 10-6 sec),

rispettivamente 0,06; 0,38; 4,10; 262. Ma con f6 parliamo di secoli, 5,85 per la precisione.C’è poi da notare che, se anche la tecnologia diventasse 1000 volte più potente, dati due problemi P1 e P2 risolubili in ≈ n3 e ≈ 2n, rispettivamente, per n = 1000, per P1 passeremmo ad istanze 10n, mentre per P2 ad istanze solo n+10(dato che 210 ≅ 1000 = 103)

Page 17: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Algoritmo come lente d’ingrandimento

Accademia Nazionale dei LinceiRoma, 06/05/2014

Abbiamo visto che un algoritmo deve essere indipendente dai dati cui viene applicato e che le regole che usa debbono essere molto semplici e non ambigue, ora mostriamo come gli algoritmi fungano da lente di ingrandimento per la comprensione di un problema, confermando l’affermazione di Knuth:

Se è vero che un problema non si capisce a fondo finché non lo si deve insegnare a qualcun altro, a maggior ragione nulla è compreso in modo più approfondito di ciò che si deve insegnare ad una macchina, ovvero di ciò che va espresso tramite un algoritmo.

Page 18: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Somma dei primi n numeri interi

Accademia Nazionale dei LinceiRoma, 06/05/2014

…..ovvero costante meglio di nInput: un numero intero nOutput: S = somma dei primi n numeri interiPasso 1: Si pone S = 0;Passo 2: Si ripete S = S + i per i = 1, …, nPasso 3: Si fornisce S in output----------------------------------------------------------------Input: un numero intero nOutput: S = Somma dei primi n numeri interiPasso 1: S = n (n+1) / 2Passo 2: Si fornisce S in output

Page 19: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Pervasività degli algoritmi

Accademia Nazionale dei LinceiRoma, 06/05/2014

prenotare un biglietto aereo; effettuare una transazione sicura tramite uno sportello bancario elettronico; ricercare informazioni nel web;comprimere o decomprimere file di musica o di immagini; garantire la firma digitale;…………………………

Fino a dieci anni fa la parola algoritmo era sconosciuta alla maggior parte dellepersone colte e, in verità, era scarsamente necessaria. Lo sviluppo rapidissimodell’informatica, il cui punto focale è costituito dallo studio degli algoritmi, hamodificato la situazione: attualmente la parola è indispensabile. (D. Knuth 1977)

Page 20: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Ritornando al titolo: reti sociali

Accademia Nazionale dei LinceiRoma, 06/05/2014

Una rete sociale identifica la presenza di una relazione tra diverse entità sociali, dette attori. Gli attori non sono necessariamente singole persone, ma possono essere gruppi di persone, enti, città, nazioni, etc. Le relazioni possono essere di tipo emozionale, formale, biologico (amicizia, autorità, discendenza) oppure possono esprimere connessioni fisiche (una strada, un ponte) o trasferimenti di risorse.

Page 21: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Social media

Accademia Nazionale dei LinceiRoma, 06/05/2014

I social media (Facebook, MySpace, Twitter, Google+, LinkedIn….) sono la versione di Internet delle reti sociali.Queste hanno esteso la nostra “possibilità di stabilire legami di amicizia” e hanno violato la regola dei 150, o numero di (Robin) Dunbar, ovvero il numero massimo di persone con cui ognuno di noi può mantenere relazioni sociali stabili.

Page 22: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Come rappresentare una rete sociale

Accademia Nazionale dei LinceiRoma, 06/05/2014

L’antropologo J.A.Barnes, primo ad usare in un contesto scientifico il termine reti sociali (1954), descrive le reti sociali come un “insieme di punti congiunti da linee. I punti rappresentano gli attori e le linee indicano quali attori stanno interagendo fra loro”.

GRAFO

Page 23: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Grafi

Accademia Nazionale dei LinceiRoma, 06/05/2014

Un grafo è un insieme di elementi detti nodi o vertici che possono essere collegati fra loro da linee chiamate archi o lati o spigoli.

Page 24: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

2 problemi assai simili nella formulazione…..

Accademia Nazionale dei LinceiRoma, 06/05/2014

Problema del cammino euleriano: esiste un cammino che passi per tutti gli archi del grafo una e una sola volta?

Problema del cammino hamiltoniano: esiste un cammino che passi per tutti i nodi del grafo una e una sola volta?

Page 25: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Cammino euleriano (1736)

Accademia Nazionale dei LinceiRoma, 06/05/2014

Nella città di Könisberg esiste un’isola A chiamata Kneiphof attorno a cui fluiscono due rami del fiume Pregel. Vi sono sette ponti a, b, c, d, e, f, g che attraversano i due rami. La questione è se una persona possa scegliere una passeggiata che la porti ad attraversare ognuno dei ponti una volta ma non piùdi una volta, tornando alla fine al punto di partenza.(pubblicazione del’Accademia delle Scienze di San Pietroburgo)

Page 26: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Cammino hamiltoniano (1859)

Accademia Nazionale dei LinceiRoma, 06/05/2014

Nel 1859 il matematico irlandese W.R. Hamilton mise in circolazione unrompicapo di legno a forma di dodecaedro regolare. Ad ognuno dei 20 nodi del dodecaedro era associato il nome di una città e il problema consisteva nel cercare un itinerario lungo gli archi del solido che visitasse una e una sola volta le varie città. Il percorso selezionato veniva memorizzato con uno spago che si arrotolava intorno a dei chiodi fissati ai nodi.

Page 27: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

………ma profondamente diversi

Accademia Nazionale dei LinceiRoma, 06/05/2014

Premessa: la soluzione di un problema modellato tramite un grafo si ottiene analizzando se esiste e quale sia la proprietàstrutturale del grafo che risponde all’istanza del problema.

Cammino euleriano: un grafo connesso ammette un cammino euleriano se tutti i gradi dei suoi nodi sono pari.

Cammino hamiltoniano: a tutt’oggi non è stata trovata, e non si sa se esista, una proprietà strutturale del grafo rispondente al problema.

Page 28: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Conseguentemente

Accademia Nazionale dei LinceiRoma, 06/05/2014

Esiste un algoritmo EFFICIENTE per determinare se un grafo possiede un cammino euleriano perché verificare che i gradi di un grafo siano pari è facile e dipende dal numero di nodi (funzione lineare). Quindi il cammino euleriano è un problema FACILE.

Non esiste un algoritmo EFFICIENTE per determinare se un grafo possiede un cammino hamiltoniano perché l’esistenza di un ciclo hamiltoniano può essere verificata solo esaminando in modo esaustivo tutti i possibili itinerari lungo gli archi del grafo (funzione fattoriale). Quindi il cammino hamiltoniano èun problema DIFFICILE.

Page 29: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Esempio per cammino hamiltoniano

Accademia Nazionale dei LinceiRoma, 06/05/2014

(1, 2, 3, 4, 5)(1, 2, 3, 5, 4)

(2, 1) (2, 3, 4, 5) (2, 3, 5, 4)

(3, 2, 1)(3, 4, 5) (3, 5, 4)

(4, 3, 2, 1) (4, 3, 5) (4, 5, 3, 2, 1)

(5, 3, 2, 1)(5, 3, 4) (5, 4, 3, 2, 1)

Page 30: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Analisi delle reti sociali

Accademia Nazionale dei LinceiRoma, 06/05/2014

Le reti sociali sono alla base di studi interculturali in sociologia e in antropologia, dato che l’ uomo, lo diceva già Aristotele, è un animale essenzialmente sociale. Analizzare una rete sociale vuoldire studiare, misurare e rappresentare le relazioni sociali tra gli attori nella rete.

Jacob Levi Moreno (psichiatra/psicologo) (1889-1974)

Stanley Wasserman (sociologo/statistico) Katherine Faust (sociologa/antropologa)Social Network Analysis: Methods and Applications (1994)

Page 31: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Alcuni argomenti dell’analisi delle reti sociali

Accademia Nazionale dei LinceiRoma, 06/05/2014

Densità: indica la correlazione fra gli elementi della rete quindi l’integritàsociale la sua misura è data dal numero di possibili archi.

Inclusività: indica gli elementi coinvolti nella relazione la sua misura è data dal rapporto fra il numero totale di nodi meno i nodi isolati e il numero totale di nodi nella rete.

Coesione sociale: quali e quanti gruppi sono completamente connessiRICERCA DEI SOTTOGRAFI CRICCHE

Ricerca di pattern : individuazione di sottogruppi con caratteristiche simili isomorfismo fra grafi

Page 32: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Sottografi cricche

Accademia Nazionale dei LinceiRoma, 06/05/2014

Page 33: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Conteggio delle cricche di dimensione 3

Accademia Nazionale dei LinceiRoma, 06/05/2014

Input: un grafo G (V,E) rappresentato per liste di adiacenzaOutput: C = numero di cricche di dimensione 3 presenti in GPasso 1: Si pone C = 0;Passo 2: Si ripete per ogni vertice v di VPasso 4: Si ripete per ogni vertice u adiacente a v 3 cicli annidatiPasso 5: Si ripete per ogni vertice w adiacente a u ovvero n3

Passo 6: se (v, w) è uno spigolo allora C = C + 1 Passo 7: Restituisci C/6 in output.

ba

c

v= a, u=b w=cv= a, u=c w=bv= b, u=a w=cv= b, u=c w=av= c, u=a w=bv= c, u=b w=a

Page 34: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

La “forza bruta”

Accademia Nazionale dei LinceiRoma, 06/05/2014

Il metodo "forza bruta”, ovvero la ricerca di una soluzione effettuata in modo esaustivo, è un algoritmo di risoluzione di un problema che consiste nel verificare tutte le soluzioni teoricamente possibili fino a trovare quella cercata, se esiste. Questo metodo si applica come “extrema ratio”, quando non si ha nessuna informazione sulla natura del problema (ciclo hamiltoniano). In genere, quando si applica la forza bruta, si ottengono algoritmi non efficienti e quindi si è in presenza di problemi difficili.La ricerca delle cricche di dimensione k è un problema difficile.

Page 35: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

..e con i problemi difficili che si fa??

Accademia Nazionale dei LinceiRoma, 06/05/2014

… allora si perseguono nuove strade

Algoritmi probabilistici

Algoritmi approssimanti

Algoritmi paralleli

....................................

Page 36: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Riassumendo

Accademia Nazionale dei LinceiRoma, 06/05/2014

Algoritmo è una parola di moda, ma non tutti ne conoscono il vero significato.Classifichiamo i problemi in facili o difficili a seconda che per essi siamo in grado di trovare algoritmi efficienti o no.La formalizzazione di un problema in forma algoritmica, necessaria per tentare di trovare algoritmi efficienti, porta ad una comprensione più approfondita dell’argomento trattato, rispetto ad affrontarlo tramite un ragionamento tradizionale.Concetti matematici come quello di grafi sono fondamentali per formalizzare i problemi in forma algoritmica.Gli algoritmi pervadono molti aspetti della nostra vita quotidiana.

Page 37: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

L’anima dell’informatica

Accademia Nazionale dei LinceiRoma, 06/05/2014

Con questa breve chiacchierata spero di aver convinto tutti voi che l’algoritmica è l’anima dell’informatica, secondo la definizione data da David Harel (1987) nel suo libro Algorithmics:The Spirit of Computing, definizione che nessun altro studioso di qualsivoglia disciplina abbia voluto e potuto smentire.

GRAZIE E BUON SEGUITO DI ASCOLTO

Page 38: Da Euclide alle reti sociali: ovvero parliamo di ALGORITMI · Dipartimento di Informatica/ Sapienza Università di Roma Accademia Nazionale dei Lincei Roma, 06/05/2014. ... Etimologia

Ricerca di un elemento in un vettore ordinato

Accademia Nazionale dei LinceiRoma, 06/05/2014

…..ovvero logn meglio di nInput: A: vettore di n elementi in modo non decrescente; x: elemento notoOutput: j: 1 ≤ j ≤ n, se x = A(j), j = 0 altrimentiPasso 1: Si pone j = 1Passo 2: Si ripete j = j + 1 finché non si trova j > n o x = A(j)Passo 3: Se j > n allora si pone j = 0Passo 4: Si fornisce j in output----------------------------------------------------------Input: A: vettore di n elementi ordinati in modo non decrescente; x: elemento notoOutput: j: 1 ≤ j ≤ n, se x = A(j), j = 0 altrimentiPasso 1: Si pone j = 0, sx = 1, dx = nPasso 2: Si ripete mezzo = (sx + dx) / 2se x = A(mezzo) allora j = mezzo altrimenti se x < A(mezzo) allora dx = mezzo -1altrimenti sx = mezzo +1 fintanto che valgono sx ≤ dx e j = 0Passo 3: Si fornisce j in output