Le reti peer-to-peer e gli agenti software (insieme all’Intelligenza artificiale) sono, oggigiorno, due degli ambiti della scienza informatica in maggior crescita e di maggior interesse per il loro modo nuovo di analizzare, progettare, e implementare le une il computing di rete (ergo i sistemi distribuiti), andandosi ad aggiungere alla tipologia Client-Server, e al World-Wide Web; gli altri i complessi sistemi software, affiancandosi alla programmazione orientata agli oggetti. Con l’esplosione della popolarità di Napster, in cui gli utenti potevano scambiare tra loro file musicali (i famosi Mp3s), si è cominciato a mostrare grande interesse verso queste reti per la loro prospettiva di larga utilizzabilità.

Si pensi, per esempio, proprio a Napster che è stato in grado di far star connesso in rete un grandissimo numero di persone, in tutto il mondo, con uno stesso interesse (gli Mp3s), in uno stesso istante. Quello che maggiormente fa gola, è la possibilità, che questi sistemi hanno, di mettere in comune una risorsa (file, CPU) per sfruttarla in maniera più ampia (pensate alla dimensione totale dell’ hard disk come somma dei singoli hard disk delle persone connesse in un dato momento; lo stesso dicasi per le CPU).

Dall’altro lato ci sono gli agenti a cui ci si è rivolti per il fatto che il concetto stesso di agente, che si andrà a studiare, si adatta bene a molte entità del modo reale e di molti sistemi software già esistenti. Ci sono software che usiamo abitualmente che, a nostra insaputa, fanno uso degli agenti software per aiutarci, nell’utilizzo di tali pro-grammi anche se noi non chiediamo aiuto: si pensi all’assistente del più famoso dei Word Processor (avete presente la “simpaticissima” graffetta?), oppure, sempre nello stesso ambito, si pensi al fatto che, molti di tali software, memorizzino le vostre scelte di layout della pagina per non dovere tutte le volte farvele applicare; qualora risultassero necessarie perché si presenta una situazione simile ad una passata (tipo di elenco puntato, paragrafo, nota, titolo, ecc…).

Visto il largo interesse che queste due tecnologie stanno avendo, date le loro caratteristiche vantaggiose in vari ambiti, in questo lavoro si è cercato di vedere come gli agenti possono, se possono, modellare una rete peer-to-peer o perché gli agenti ben si adattino come astrazione di un peer o perché possano risolvere alcune problematiche di tali reti, o ancora perché possano fornire loro caratteristiche utili (i.e. possano migliorarle).