PRE-DESTINAZIONE: MODELLI ED ESPERIMENTI PER LA PREVISIONE DI TRAIETTORIE



Documenti analoghi
Automazione Industriale (scheduling+mms) scheduling+mms.

Appunti sulla Macchina di Turing. Macchina di Turing

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

DIFFERENZIARE LE CAMPAGNE DI MARKETING La scelta del canale adeguato

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A

Dispensa di Informatica I.1

Generazione Automatica di Asserzioni da Modelli di Specifica

e-dva - eni-depth Velocity Analysis

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Il corso di italiano on-line: presentazione

ANALISI DI RISCHIO SEMIQUANTITATIVA IN SUPPORTO ALLE VALUTAZIONI IN PRESENZA DI ATMOSFERE ESPLOSIVE (ATEX)

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Documento di accompagnamento: mediane dei settori bibliometrici

Progetto PI , passo A.1 versione del 14 febbraio 2007

Il Sito web usa i cookie per raccogliere informazioni utili a

Reti di Telecomunicazione Lezione 8

Contabilità generale e contabilità analitica

PROGETTO REGIONALE MISURAZIONE E VALUTAZIONE DELLE BIBLIOTECHE VENETE

MANUALE DELLA QUALITÀ Pag. 1 di 6

marketing highlights Google Analytics A cura di: dott. Fabio Pinello

03. Il Modello Gestionale per Processi

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB

Programmazione educativo-didattica didattica anno scolastico TECNOLOGIA CLASSE PRIMA PRIMARIA

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

COME AVERE SUCCESSO SUL WEB?

Gestione dell account AdWords di Google Guida pratica

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

INFORMATIVA SUI COOKIE

ARTICOLO TECNICO Smart-MED-Parks: il Software

Strutturazione logica dei dati: i file

Relazione attività di Tutorato specializzato a.a. 2013/2014 I semestre

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

una società cooperative Europea (SCE) ropea Moduli e metodologie Mediterranea

Un gioco con tre dadi

Database. Si ringrazia Marco Bertini per le slides

La Metodologia adottata nel Corso

Informativa sulla privacy

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

1. Distribuzioni campionarie

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Ottimizzazione delle interrogazioni (parte I)

Per dimostrare i benefici della citylogistics in presenza di condizioni favorevoli per farla decollare, abbiamo deciso di costruire un modello di

Soluzione dell esercizio del 2 Febbraio 2004

OFFERTA FORMATIVA PER OCCUPATI

L Università di Trento tutti gli studenti che si impegnano. PREMI DI MERITO...quando studiare ti conviene

Con il termine programma Teacch si intende l organizzazione dei servizi per persone autistiche realizzato nella Carolina del Nord, che prevede una

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

Nota interpretativa. La definizione delle imprese di dimensione minori ai fini dell applicazione dei principi di revisione internazionali

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

PROGETTO EM.MA PRESIDIO

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Rapporto dal Questionari Insegnanti

risulta (x) = 1 se x < 0.

Come valutare le caratteristiche aerobiche di ogni singolo atleta sul campo

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Sicurezza Aziendale: gestione del rischio IT (Penetration Test )

Application note. CalBatt NomoStor per i sistemi di accumulo di energia

Guida Compilazione Piani di Studio on-line

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

7.2 Indagine di Customer Satisfaction

RICERCA-AZIONE. l insegnamento riflessivo. Caterina Bortolani-2009

Meno rischi. Meno costi. Risultati migliori.

L ORGANIZZAZIONE AZIENDALE

OSINT, acronimo di Open Source INTelligence, uno dei modi per acquisire dati utili per l intelligence:

Università per Stranieri di Siena Livello A2

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Classe IV Matematica Scuola primaria

CONSULENZA E FORMAZIONE

Università Politecnica delle Marche. Progetto Didattico

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione

Tesi di Laurea di Mauro Brazzo

Reti di calcolatori ed indirizzi IP

FIRESHOP.NET. Gestione del taglia e colore.

Il Ministro dell Istruzione, dell Università e della Ricerca

Corso di. Dott.ssa Donatella Cocca

Elementi di Psicometria con Laboratorio di SPSS 1

Project Cycle Management

Cosa è un foglio elettronico

Manuale d'uso del Connection Manager

Software per Helpdesk

Vincenzo Perrone Massimo Magni

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

INVIO SMS

CHIUSURE di MAGAZZINO di FINE ANNO

Appendice III. Competenza e definizione della competenza

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Calcolo del Valore Attuale Netto (VAN)

Our Mobile Planet: Italia

I documenti di Gli ingredienti per l allenamento per la corsa LE RIPETUTE

TELECOMUNICAZIONI II: LE RETI DI COMUNICAZIONE. INTRODUZIONE... pag.2

Transcript:

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Specialistica in Informatica Tesi di Laurea PRE-DESTINAZIONE: MODELLI ED ESPERIMENTI PER LA PREVISIONE DI TRAIETTORIE Relatore: Prof. STEFANO MIZZARO Laureando: STEFANO DE SABBATA Correlatore: Dott. LUCA VASSENA ANNO ACCADEMICO 2007-2008

Alla mia famiglia.

Ringraziamenti Chi mi conosce, può ben capire come la mia misera dialettica mi renda difficile scrivere dei ringraziamenti adeguati a quanto mi è stato dato da molte persone in questi anni. Non voglio tuttavia esimermi dal ringraziare, seppur in modo sintetico, tutti coloro che mi sono stati vicini e quindi... fletto i muscoli e sono nel vuoto! Desidero innanzitutto ringraziare mio padre Giorgio, mia madre Nicolina e mio fratello Massimo per tutto quello che hanno sempre fatto per me, per la loro fiducia e per avermi dato la possibilità di arrivare a questa laurea sostenendomi in ogni mia scelta. Ringrazio Giulia, senza la quale la metà che di me resterebbe non riuscirebbe a valere la metà di se stessa, e tutta la sua famiglia, che sempre mi ha accolto come se fosse la mia. Un sentito ringraziamento va al Prof. Stefano Mizzaro, che con infinita pazienza e disponibilità mi ha aiutato e consigliato in questi mesi, ascoltando i miei strampalati ragionamenti ed appoggiando anche le mie idee più improbabili. Ringrazio inoltre il Dott. Luca Vassena, senza l impegno del quale molto di questo lavoro non sarebbe stato possibile, e tutto il gruppo di MoBe e del Laboratorio di Sistemi Mobili Dipendenti dal Contesto per il sostegno e l amicizia dimostrati. Un altro grazie va al Prof. Alessandro De Angelis, che con grande disponibilità ha sopperito alla mia lacunosa conoscenza della fisica. Thanks to Dr. David Mountain for the time and the willingness to actively take part in my work. Ci tengo a ringraziare sentitamente tutti gli amici vicini e lontani che mi hanno accompagnato ed aiutato durante questi anni all università, l AsCI e tutti i suoi membri. Infine ringrazio J.R.R. Tolkien, perché, se non sai che nome dare al tuo algoritmo, il Simarillion è sempre un ottima opzione. v

vi Ringraziamenti

Indice Ringraziamenti v 1 Introduzione 1 1.1 Sistemi dipendenti dall ubicazione................... 1 1.2 Obiettivi della tesi............................ 4 1.3 Struttura della tesi............................ 5 2 Stato dell arte 7 2.1 Sistemi dipendenti dal contesto..................... 7 2.1.1 Definizione di Contesto..................... 7 2.1.2 Definizione di applicazione dipendente dal contentesto.... 9 2.1.3 Rilevazione del contesto..................... 10 2.1.4 Modellazione del contesto.................... 11 2.2 Sistemi dipendenti dall ubicazione................... 11 2.2.1 Definizione di ubicazione..................... 11 2.2.2 Identificazione dell ubicazione.................. 12 2.2.3 Gestione dei dati di localizzazione............... 12 2.3 Previsione delle destinazioni....................... 14 2.3.1 Approcci non dipendenti dal dominio............. 14 2.3.2 Approcci dipendenti dal dominio................ 17 2.4 Conclusioni................................ 20 3 SpaceRank 23 3.1 Criteri di valutazione dell importanza................. 23 3.2 PageRank: valutazione dell importanza nel WorldWideWeb..... 25 3.3 SpaceRank................................ 26 3.3.1 Formalizzazione del problema.................. 27 3.3.2 Matrice basata sul registro storico dei dati........... 27 3.3.3 Matrice di transizione...................... 28 3.3.4 Combinazione delle matrici................... 29 3.3.5 Variazioni nella codifica dei dati................ 30 3.4 Conclusioni................................ 31 vii

viii INDICE 4 ARDA 33 4.1 Formalizzazione del problema...................... 33 4.2 Modello astratto di previsione...................... 34 4.2.1 Modello gravitazionale...................... 34 4.2.2 Generalizzazione del modello.................. 36 4.2.3 Utilizzo di più oggetti in movimento.............. 37 4.3 ARDA................................... 38 4.3.1 Utilizzo dei valori di importanza................ 39 4.3.2 Calcolo della traiettoria futura................. 40 4.3.3 Fattore frenante......................... 41 4.3.4 Previsione dei tragitti...................... 42 4.4 Utilizzo di informazioni aggiuntive................... 42 4.5 Conclusioni................................ 44 5 Valutazione sperimentale: SpaceRank 45 5.1 La mia settimana............................. 46 5.2 Innovaction................................ 47 5.3 Le vacanze del Dott. Mountain..................... 50 5.4 ecourier.................................. 50 5.5 Il fattore di comportamento non abitudinario............. 52 5.6 Conclusioni................................ 52 6 Valutazione sperimentale: ARDA 55 6.1 Procedure sperimentali.......................... 55 6.2 Previsione a breve termine........................ 56 6.2.1 La mia settimana......................... 56 6.2.2 ecourier.............................. 58 6.3 Previsione della destinazione...................... 62 6.3.1 La mia settimana, primo esperimento............. 62 6.3.2 La mia settimana, secondo esperimento............ 64 6.4 Conclusioni................................ 66 7 Conclusioni e sviluppi futuri 81 7.1 Il lavoro svolto.............................. 81 7.2 Sviluppi futuri.............................. 84 Bibliografia 87

Capitolo 1 Introduzione Questa tesi si colloca nell ambito dei sistemi dipendenti dall ubicazione, ovvero quei sistemi che utilizzano le informazioni sul posizionamento spaziale dell utente per migliorare i servizi forniti. L obiettivo è quello di realizzare ed implementare una nuovo algoritmo di previsione della destinazione, basato sull importanza che le diverse località assumono nelle abitudini dell utente e su metafore derivate dalle leggi fisiche di gravitazione ed elettromagnetismo, e dimostrare la sua efficacia per le previsioni a breve e a lungo termine. In questo capitolo vengono presentati i sistemi dipendenti dall ubicazione (Paragrafo 1.1), vengono illustrati gli obiettivi di questo lavoro (Paragrafo 1.2) e viene presentata la struttura della tesi (Paragrafo 1.3). 1.1 Sistemi dipendenti dall ubicazione Negli ultimi anni si è osservata una sempre maggiore diffusione di dispositivi mobili con capacità di calcolo sempre crescenti. A trent anni dal lancio sul mercato commerciale del primo cellulare da parte dell azienda giapponese NTT nel 1978, il numero di contratti telefonici ha superato la soglia del 50% rispetto al numero di abitanti dell intero pianeta ed in tutti i paesi sviluppati la percentuale è superiore al 100%. Da semplici telefoni senza fili, i dispositivi mobili si sono trasformati in veri e propri computer con l arrivo negli anni novanta dei primi palmari, quali ad esempio l Apple Newton ed il PalmPilot. Tipiche di tali dispositivi sono tecnologie quali l IrDA, il Bluetooth, il WiFi, il GPRS ed il GPS, che di recente sono sempre più frequentemente presenti anche nei telefoni cellulari. Tuttavia, questa corsa sfrenata delle potenzialità dei dispositivi mobili spesso non è stata affiancata da un equivalente sviluppo dei servizi messi a disposizione. Per anni infatti, soprattutto nel campo dei dispositivi commerciali, si è continuato a trasferire sui dispositivi mobili le applicazioni ed i programmi utilizzati nei personal computer, senza sfruttare le potenzialità offerte da queste nuove piattaforme ed anzi spesso senza nemmeno considerarne appieno le limitazioni, soprattutto per quanto riguarda le interfacce di input ed output. 1

2 Introduzione Lo studio delle differenti potenzialità dei sistemi mobili rispetto ai comuni personal computer ha dato vita a molti filoni di ricerca, tra cui quello relativo ai sistemi dipendenti dal contesto o context-aware. Nel 2001, il Computer Science and Telecommunications Board (CSTB) del Consiglio Nazionale della Ricerca degli Stati Uniti d America ha riunito una commissione di esperti per eseguire una ricerca sulle opportunità offerte e sui possibili sviluppi relativi all interazione tra le comunità di ricerca geo-spaziale ed informatica. Nella relazione prodotta dalla commissione [14], si evidenzia come l ubicazione dell utente sia uno dei fattori fondamentali nelle diverse definizioni di contesto che sono state proposte in letteratura. La centralità di tale componente e la possibilità, fornita dalle attuali tecnologie mobili, di rilevare in modo sufficientemente preciso, semplice e continuativo, la posizione geografica degli utenti, fanno di questo settore un campo di ricerca attualmente molto attivo. Dal 2002, data di pubblicazione della relazione, ad oggi, lo sviluppo di tali sistemi è solamente all inizio. Nonostante la fervente ricerca a livello accademico, le principali applicazioni commerciali attualmente a disposizione sul mercato sono legate ai navigatori stradali satellitari, i più avanzati dei quali sono in grado di fornire informazioni sul traffico in base alla posizione attuale e al percorso indicato dall utente. Vi sono poi alcuni servizi disponibili sulla rete internet che possono fornire sistemi di ricerca localizzata, ovvero relativa ad una certa area di interesse, come ad esempio Google Maps, che lo sviluppo dei nuovi sistemi operativi per dispositivi mobili e le nuove tecnologie di trasmissione dati senza fili a banda larga porteranno presto su gran parte della nuova generazione di palmari. Lo scambio di informazioni non è però a senso unico. Se dai laboratori accademici ed industriali escono nuovi sistemi atti a fornire informazioni agli utenti, anche gli stessi utenti producono una grande mole di informazioni che arriva ai centri di ricerca, nei quali c è grande interesse per i dati relativi al tracciamento delle posizioni degli utenti. Per decenni l analisi delle reti sociali si è basata esclusivamente su esperimenti mirati, come quello effettuato da Stanley Milgram negli anni 60. Milgram, preparate alcune decine di lettere, le distribuì ad un campione casuale di persone residenti in sperduti paesi di campagna nel Kansas e nel Nebraska, chiedendo loro di farle arrivare ad un avvocato di Boston consegnandole di volta in volta a persone a cui davano del tu. Gran parte delle lettere arrivò a destinazione con solo 6 passaggi, il che dimostrò come l espressione il mondo è piccolo non sia un semplice modo di dire ma una realtà. Nell era di internet e delle online social network questi studi hanno ricevuto nuova linfa e la possibilità di studiare non solo la corrispondenza ma anche le abitudini di spostamento degli utenti ha dato vita campi di ricerca quali il Social Computing, che si prefigge di studiare ed analizzare queste nuove fonti di dati unendo gli strumenti dell informatica alle teorie del comportamento sociale. Le capacità tecniche non sempre coincidono però con le possibilità reali di studio. Grandi sono infatti ad oggi i problemi relativi al reperimento di tali dati per problemi legati principalmente alla privacy, situazione questa che ho potuto sperimentare in prima persona durante lo svolgimento di questa tesi. Questo nonostante

1.1 Sistemi dipendenti dall ubicazione 3 il fatto che per la ricerca in questo campo siano più che sufficienti dati del tutto anonimi e che in un applicazione pratica di sistemi basati su tali informazioni non si avrebbe un tracciamento più invasivo di quello relativo all utilizzo delle carte di credito, che sempre più stanno sostituendo il denaro contate in tutto il mondo. Attualmente solo pochi grandi centri di ricerca hanno la possibilità di effettuare studi su larga scala, organizzando esperimenti di raccolta dati che coinvolgono molte persone in un lungo arco di tempo. La maggior parte dei ricercatori universitari si accontenta di tracciare le proprie abitudini e di lavorare sui pochi dati raccolti, oppure di simulare tale raccolta mediante la generazione computerizzata dei dati necessari, come nel caso di questa tesi. Nonostante queste difficoltà, sulla base degli studi di Social Computing, negli ultimi anni sono state effettuate molte ricerche nei campi attinenti alle applicazioni dipendenti dall ubicazione. Uno di questi è relativo agli algoritmi di previsione della traiettoria dell utente. Questi particolari algoritmi sono volti alla stima delle future località in cui si verrà a trovare l utente. Spesso infatti è più utile avere informazioni riguardanti il luogo in cui un utente sta andando, o attraverso il quale sta per passare, piuttosto che avere notizie sul luogo in cui si trova. Un semplicissimo esempio può essere quello delle informazioni sul traffico, già precedentemente citato. Questo tipo di notizie vengono ora fornite dai navigatori satellitari sulla base del percorso indicato dall utente sulla mappa. Questo sistema risulta molto utile per le persone che effettuano spesso viaggi in zone che non conoscono ed utilizzano quindi il navigatore automatico, ma quanti di noi ogni giorno, partendo da casa, inserirebbero come destinazione nel navigatore satellitare il loro luogo di lavoro, solo per avere le informazioni sul traffico in tempo reale? Buona parte delle persone utilizzano infatti la macchina in modo principalmente abitudinario e non necessitano di indicazioni stradali sul percorso da fare. Nel contempo, gran parte dei problemi relativi al traffico sono dovuti proprio a questo comportamento abitudinario che porta ogni giorno un gran numero di persone ad utilizzare le medesime strade. Dunque, attualmente, le informazioni relative al traffico vengono fornite a poche persone, mentre potrebbero essere utili a tutti, e sono disponibili solo in relazione ad alcune strade. Risulta evidente che il tracciamento, anche effettuato in modo tale da mantenere anonimi gli utenti, permetterebbe un controllo del traffico in tempo reale. Per quanto riguarda invece la modalità di selezione delle informazioni, ovviamente è inutile informare l utente in base a dove si trova. Se sono in coda sulla tangenziale me ne rendo benissimo conto. Utile sarebbe invece poter prevedere in modo automatico la traiettoria dell utente, ovvero il suo tragitto futuro e fornire dati in base a quel particolare percorso. Quello delle informazioni sul traffico è solo uno dei campi applicativi in cui possono essere utilizzati gli algoritmi di previsione del percorso e della destinazione. Gli stessi possono infatti essere applicati per la costruzione di sistemi atti a fornire informazioni durante la navigazione all interno di musei, biblioteche, stazioni e centri commerciali. Inoltre, negli ultimi mesi molte grandi multinazionali dell informazione

4 Introduzione hanno mostrato il loro interesse verso quello che viene comunemente definito Proximity Marketing, ovvero la fornitura di servizi pubblicitari in base all ubicazione dell utente. Si può quindi capire il grande interesse sviluppatosi negli ultimi anni, in ambito sia accademico che commerciale, per lo studio dei questa tipologia di applicazioni, comunemente definite dipendenti dall ubicazione, o location-aware. 1.2 Obiettivi della tesi Questa tesi si situa nell ambito delle applicazioni dipendenti dall ubicazione e, in particolare, nell ambito degli algoritmi di previsione del percorso e della destinazione. L obiettivo principale è lo studio di un nuovo approccio a questa tipologia di algoritmi, più semplice ed intuitivo. Infatti, per quanto in letteratura vi siano molti algoritmi di previsione sviluppati in questo particolare contesto, allo stato attuale non vi è un modello comune a queste metodologie, ognuna delle quali si sviluppa in modo separato utilizzando gli approcci più disparati. Durante l analisi degli algoritmi esistenti risulta inoltre evidente come gli approcci all analisi dei dati raccolti siano in gran parte superficiali. Molte delle metodologie prese in considerazione sono basate su una stima dell importanza che le diverse località assumono nelle abitudini dell utente, ma gli indici utilizzati sono in buona parte banali e non capaci di cogliere a fondo tutte le diverse sfumature del comportamento osservato. Il primo obiettivo di questa tesi è dunque quello di studiare una nuova metodologia di analisi dei dati sull ubicazione e gli spostamenti degli utenti e di verificarne la sensatezza. L approccio scelto è quello sviluppare un nuovo algoritmo di stima dell importanza delle località basato sull algoritmo PageRank [38]. Ci si propone inoltre di confrontare i risultati ottenuti dall utilizzo di questa metodologia con gli indici solitamente utilizzati per la stima dell importanza, in modo tale da poter accertare la non derivabilità dei primi dai secondi. I risultati di questa ricerca sono stati accettati per la loro presentazione e pubblicazione al Workshop Mining Social Data [15], che svolgerà nell ambito della 18 th European Conference on Artificial Intelligence (2008). Supponendo dunque di avere un buon metodo per stimare l importanza delle località, si pone il problema di come sfruttare tali informazioni per prevedere il percorso futuro dell utente. Il secondo obiettivo di questa tesi è dunque lo sviluppo e la sperimentazione di un nuovo algoritmo di previsione del tragitto e della destinazione. L approccio scelto in questa tesi si basa sull utilizzo di metafore legate alle teorie della fisica; in particolare vengono presentati un modello astratto ed un algoritmo di previsione che si richiamano alle teorie gravitazionali e dell elettromagnetismo. I risultati di questo secondo filone di studi sono stati riassunti in un articolo, che è stato sottoposto per la valutazione quale contributo nell ambito del 5 th International Symposium on LBS and TeleCartography (2008).

1.3 Struttura della tesi 5 1.3 Struttura della tesi Questa tesi è strutturata in tre diverse parti. Nella prima sono presentate le nozioni generali, fondamentali per la comprensione del lavoro svolto. Nella seconda parte vengono presentati gli algoritmi sviluppati, mentre nella terza parte sono presentati gli esperimenti svolti al fine di dimostrare la validità dei procedimenti ideati. Come primo passo, nel Capitolo 2, vengono presentati i concetti base del location-aware computing. In particolare viene fatta una panoramica generale sullo stato dell arte relativamente alle applicazioni dipendenti dal contesto e dall ubicazione. In seguito vengono descritte le metodologie di raccolta dei dati sull ubicazione degli utenti e vengono presentati gli algoritmi esistenti per la previsione del percorso e della destinazione. In seguito, nel Capitolo 3, viene presentato l algoritmo di stima dell importanza, denominato SpaceRank [15]. In particolare vengono analizzati i problemi per quanto concerne l utilizzo dei più comuni indici di valutazione dell importanza delle località e si illustra nel dettaglio il procedimento di codifica delle informazioni ottenute dall osservazione delle abitudini degli utenti nelle strutture dati necessarie per il calcolo, ripercorrendo la metodologia utilizzata per il calcolo di PageRank. Nel successivo Capitolo 4 viene innanzitutto proposto il modello astratto di previsione delle traiettorie. Dopo una presentazione dettagliata di tale modello si passa alla presentazione dell algoritmo per la previsione del percorso e della destinazione, denominato ARDA 1, di cui si illustrano le singole formule utilizzate, si discute dei problemi derivanti da un approccio banale e se ne propongono le relative soluzioni. In conclusione del capitolo, vengono poi proposte alcune possibili evoluzioni e la modalità di integrazione di informazioni aggiuntive. Infine, nei Capitoli 5 e 6 viene presentata la parte sperimentale della tesi. Il primo illustra gli esperimenti effettuati per quanto riguarda l algoritmo SpaceRank, con particolare attenzione al confronto con gli indici solitamente utilizzati in letteratura, mentre il secondo riporta i test relativi all algoritmo ARDA, per la valutazione di una sua applicazione nel campo della previsione sia a breve che a lungo termine. Il Capitolo 7 conclude la tesi, riassumendo tutto il lavoro svolto ed i risultati ottenuti e delineando i possibili sviluppi futuri. 1 Il nome ARDA è un acronimo derivante dall inglese A Rolling to Destination Algorithm.

6 Introduzione

Capitolo 2 Stato dell arte In questo capitolo viene condotta un analisi delle varie proposte in letteratura riguardanti i sistemi dipendenti dal contesto (Paragrafo 2.1). Successivamente, l analisi si concentra si sistemi dipendenti dall ubicazione e sugli studi riguardanti la raccolta e la catalogazione dei dati relativi alla localizzazione degli utenti nel contesto dei dispositivi mobili (Paragrafo 2.2). Vengono infine presentati vari studi proposti in letteratura sull utilizzo di tali dati di localizzazione al fine di prevedere quali possano essere le destinazioni degli utenti stessi (Paragrafo 2.3). 2.1 Sistemi dipendenti dal contesto Una delle componenti fondamentali nella comunicazione tra due o più persone è il contesto in cui la conversazione stessa si svolge. L interazione tra due o più persone può infatti assumere un diverso significato a seconda del contesto. In egual modo, l interazione tra un utente ed un computer o dispositivo mobile può aver, per l utente, un diverso significato, in due situazioni tra loro diverse. In concreto, i comandi che l utente da ad un qualsiasi dispositivo computerizzato e i risultati di tali istruzioni possono essere interpretati in modo differente dall utente a seconda del contesto in cui si trova. Diventa quindi importante, soprattutto nell ambito dei dispositivi mobili, fare in modo che il software possa capire il contesto in cui l utente si trova, in modo tale da poter fornire un servizio adeguato e corrispondente alle aspettative di chi lo utilizza. Al fine di sviluppare questo tipo di sistemi, non è però sufficiente una comprensione intuitiva del significato del termine contesto ma è di fondamentale importanza stabilire una definizione formale di contesto. 2.1.1 Definizione di Contesto Negli anni si sono susseguite diverse definizioni di contesto nell ambito dei sistemi e dispositivi mobili. Una prima definizione è stata data in [43], dove il contesto viene indicato come l insieme di ubicazione, identità delle persone e degli oggetti 7

8 Stato dell arte vicini e le modifiche subite nel tempo da tali fattori. Una similare definizione viene fornita in [7], dove il contesto viene presentato come l ubicazione, l identità delle persone attorno all utente, il tempo, le stagioni, la temperatura, ecc. Un ulteriore proposta viene data in [17], dove, introducendo un insieme di concetti relativi agli aspetti emozionali dell utente, il contesto viene definito come lo stato emozionale, l attenzione, l ubicazione e l orientamento dell utente, la data e l ora, gli oggetti e le persone che si trovano nell ambiente intorno all utente. In [42], la definizione di contesto si basa su alcuni aspetti fondamentali quali: dove sei, chi c è con te e quali risorse si trovano nelle vicinanze. Partendo da tali concetti, gli autori propongono una caratterizzazione del contesto suddivisa in tre componenti, che definiscono l ambiente dinamico in cui si trova l utente: Ambiente fisico: luminosità, livello di rumore, traffico, ecc; Ambiente utente: ubicazione, insieme delle persone nelle vicinanze e situazioni sociali; Ambiente computazionale: dispositivi che accettano l input dell utente, display, capacità di rete, connettività e costi computazionali. Altre definizioni utilizzano dei sinonimi, riferendosi, per esempio al contesto con termini quali ambiente o situazione. Alcune di queste lo considerano come l ambiente dell utente, altri come l ambiente dell applicazione. In [6], ci si riferisce al contesto come all insieme degli elementi dell ambiente dell utente, dei quali il computer deve essere a conoscenza, mentre in [24] la definizione comprende l intero ambiente, come parte della situazione corrente in cui l utente si trova. Una diversa interpretazione viene invece data in [1]: Il contesto è un qualsiasi tipo di informazione che può essere utilizzata per caratterizzare la situazione di un entità. Un entità è una persona, un luogo, un oggetto che può essere considerato rilevante per un interazione tra un utente ed un applicazione, includendo in ciò anche l utente e l applicazione stessa. In questo caso, gli autori adottano un approccio al problema più generico, evitando una enumerazione di fattori, spesso difficile da applicare in campo pratico, data l elevata dinamicità del contesto stesso. Al cambiare dell utente, dell applicazione e della situazione stessa, si possono infatti avere notevoli variazioni dell insieme delle componenti del contesto che possono essere considerati rilevanti. Una definizione più orientata all applicazione, rispetto alla precedente, viene proposta in [13]: Il contesto è l insieme degli stati e delle condizioni che determinano il comportamento di un applicazione dei interesse per l utente. Si può notare come, in letteratura non ci sia ancora una concordanza sulla definizione di contesto. Le diverse proposte non risultano, infatti, soddisfacenti dal punto di vista teorico, ne adeguate ai diversi ambiti di applicazione pratica, ne quindi universalmente utilizzabili in applicazioni concrete. Si può affermare che, allo stato attuale, al fine di ottenere dei risultati concreti in ambito pratico, sia necessario contestualizzare la stessa definizione di contesto. Tuttavia, nonostante questa

2.1 Sistemi dipendenti dal contesto 9 limitazione, le ricerche nel settore hanno continuato a svilupparsi seguendo strade differenti, riuscendo comunque a portare a compimento la realizzazione di un numero sempre crescente di questo tipo di applicazioni. 2.1.2 Definizione di applicazione dipendente dal contentesto Negli ultimi anni si è sviluppato un nuovo campo di ricerca, definito context-awareness, che si occupa di studiare le applicazioni dipendenti dal contesto, esplorando le interazioni uomo-computer allo scopo di fornire ai dispositivi la conoscenza relativa all ambiente in cui si trova l utente. La consapevolezza del contesto può, infatti, essere utilizzata per diminuire la quantità di input espliciti che l utente deve fornire al sistema. L informazione contestuale può inoltre ridurre la quantità di informazione che l utente necessita di conoscere per svolgere un dato compito: i dati riguardanti le conoscenze dell utente, le capacità e le risorse del sistema possono essere gestite direttamente dal sistema sollevando l utente da tale occupazione. La prima definizione di applicazione dipendente dal contesto è stata presentata in [43]: un software in grado di adattarsi in base alla propria localizzazione di utilizzo, all insieme di persone e oggetti circostanti e in base ai cambiamenti subiti da questi oggetti nel tempo. Questa prima descrizione è stata poi utilizzata come base per tutte le successive proposte in letteratura, che si sono poi concentrate su questioni quali l adattabilità, la reattività, la rispondenza e la sensitività delle applicazioni al contesto. In [39] si da la definizione di context-aware computing come l abilità di elaborare, rilevare, interpretare e rispondere ai diversi aspetti dell ambiente in cui si trovano l utente e i dispositivi computazionali. In [7] le applicazioni dipendenti dal contesto vengono definite come applicazioni che cambiano dinamicamente e adattano il loro comportamento in base al contesto in cui si trova l applicazione o l utente, mentre in [44] come applicazioni che monitorano i cambiamenti nell ambiente e adattano le loro operazioni in base a linee guida predefinite o impostate dall utente. In [16] l autore esplicita la necessità di fornire una definizione più generica, che diversamente dalle precedenti non sia legata a delle specifiche caratteristiche (quali, ad esempio, adattabilità, reattività, rispondenza, sensitività, ecc), ma che riesca ad accomunare tutte le possibili tipologie di applicazione dipendenti dal contesto. Viene dunque proposto che una applicazione si possa definire dipendente da contesto se essa fa uso di un contesto per fornire informazioni e/o servizi rilevanti all utente, dove la rilevanza dipende dal compito dell utente. Da ciò si deduce che, affinché un applicazione possa essere definita dipendente dal contesto, l unico requisito necessario è la rispondenza al contesto; quindi, caratteristiche come rilevazione, interpretazione e adattamento non risultano più indispensabili. Da quanto esposto, si intuisce che la caratteristica fondamentale di un applicazione dipendente dal contesto è la consapevolezza del contesto in cui l utente si trova.

10 Stato dell arte 2.1.3 Rilevazione del contesto La qualità dei servizi dipendenti dal contesto è fortemente legata alla qualità delle informazioni contestuali rilevate. Per tale motivo, nella realizzazione di queste applicazioni, risulta indispensabile una procedura che permetta di acquisire informazioni contestuali. Tale procedura viene tipicamente chiamata rilevazione del contesto [41]. Figura 2.1: Le differenti fasi nei servizi dipendenti dal contesto [8]. Le applicazioni dipendenti dal contesto, in generale, non sono in grado di produrre da sole le informazioni contestuali [8], di conseguenza risulta indispensabile basarsi su appositi servizi adibiti alla produzione di tali informazioni. Questi sevizi, comunemente definiti Context Information Services, sono caratterizzati da tre livelli: il livello descrittivo, il livello delle componenti ed il livello fisico. Tale suddivisione permette di illustrare nel dettaglio le fasi caratterizzanti la procedura di acquisizione delle informazioni da parte delle applicazioni che richiedono il servizio. Al livello descrittivo, la prima fase è quella dalla rilevazione del contesto, seguita da altri due procedimenti che si occupano del raffinamento e dalla diffusione delle informazioni alle applicazioni che ne fanno uso. Scendendo nel dettaglio, a livello delle componenti e a livello fisico, si può osservare come la rilevazione del contesto si occupi della raccolta di dati da diverse sorgenti (quali, sensori, basi di dati, terminali mobili, ecc) fornendo i parametri richiesti e registrando le informazioni ottenute in appositi modelli. Usualmente, tali informazioni sono di basso livello, come ad esempio lo stato o la localizzazione dell utente. Nella successiva fase di raffinamento, un interprete combina i dati ricevuti per ottenere informazioni di più alto livello mediate aggregazioni ed astrazioni. Infine, nell ultima fase le informazioni contestuali, utilizzando appositi canali di comunicazione, vengono inviate alle applicazioni che ne hanno fatto richiesta. Tale processo è ciclico, ovvero viene ripetuto continuamente per rilevare i cambiamenti del contesto ed aggiornare a tale proposito le applicazioni che utilizzano il servizio.

2.2 Sistemi dipendenti dall ubicazione 11 2.1.4 Modellazione del contesto La procedura di modellazione del contesto è indispensabile per lo sviluppo di applicazioni complesse ed interconnesse tra di loro, in quanto offre uno strumento in grado di: caratterizzare il dominio dell applicazione; supportare la comprensione, la risoluzione dei problemi e la metodologia di comunicazione dell applicazione; rappresentare il contesto in maniera non ambigua. Per questi motivi, nello sviluppo di molte applicazioni dipendenti dal contesto, si preferisce definire il modello di contesto prima della progettazione dettagliata dell applicazione stessa. Bisogna tuttavia osservare come questi sistemi, che si basano su modelli precostituiti di contesto, risentano della mancanza di flessibilità ed espressività nella modellazione di informazioni contestuali [23]. Per questo motivo, i ricercatori del campo stanno studiando modelli che permettano di catturare la natura dinamica di queste informazioni, garantendo in questo modo una migliore espressione delle loro caratteristiche e interazioni. 2.2 Sistemi dipendenti dall ubicazione Nel 2001, rispondendo alle richieste della National Science Foundatio e della National Aeronautics and Space Administration, il Computer Science and Telecommunications Board (CSTB) del Consiglio Nazionale della Ricerca degli Stati Uniti d America ha riunito una commissione di esperti per eseguire una ricerca sulle opportunità offerte ed i possibili sviluppi relativi all interazione tra le comunità di ricerca geo-spaziale ed informatica. L anno successivo, la commissione, riunitasi nell ottobre del 2001, ha pubblicato una relazione [14], in cui viene trattato, tra gli altri, l argomento delle applicazioni dipendenti dall ubicazione. In [14], viene infatti sottolineato come l ubicazione dell utente sia uno dei fattori fondamentali nelle diverse definizioni di contesto che sono state proposte in letteratura (vedi Paragrafo 2.1). La centralità di tale componente e la possibilità, fornita dalle attuali tecnologie mobili, di rilevare, in modo sufficientemente preciso, semplice e continuativo, la posizione geografica degli utenti, fanno di questo settore un campo di ricerca attualmente molto attivo che ha portato allo sviluppo di applicazioni in grado di fornire servizi dipendenti esclusivamente dall ubicazione dell utente. 2.2.1 Definizione di ubicazione Sebbene la definizione di ubicazione comporti meno difficoltà rispetto a quella di contesto, è necessario evidenziare come non sempre le coordinate geografiche, espresse

12 Stato dell arte in latitudine e longitudine, siano l effettiva rappresentazione utilizzata per specificare l ubicazione dell utente. Infatti, non tutti i dispositivi utilizzati nell implementazione di applicazioni dipendenti dall ubicazione sono forniti di un ricevitore GPS, ne tutte le applicazioni sviluppate necessitano di una tale precisione. Spesso la posizione di un utente è definibile solo come interna ad una certa area, come nel caso dei telefoni cellulari o dei dispositivi bluetooth. Come sottolineato in [22], inoltre, per alcuni tipi di applicazioni dipendenti dall ubicazione, non è di interesse conoscere l esatta posizione geografica, quanto un astrazione di tali dati. In questi casi, per ubicazione si intende la visione soggettiva che l utente ha del luogo in cui si trova. L applicazione in tal caso non è focalizzata su un punto geografico, quanto sull astrazione personale che l utente ha rispetto a quella località, come ad esempio casa, ufficio, ecc. 2.2.2 Identificazione dell ubicazione Uno dei problemi fondamentali nel processo di identificazione dell ubicazione, ovvero di localizzazione, è lo scambio di informazioni tra applicazioni. La complessità è concentrata soprattutto nelle interrelazioni tra i differenti formati e nei differenti metodi utilizzati per determinare la localizzazione stessa. Le principali categorie in cui possono essere suddivisi i formati di localizzazione sono: Globali: definiti in termini di coppie latitudine/longitudine; Referenziali: definiti in termini di specifici punti all interno di città o edifici; Nominativi: definiti in termini di nomi di strade, edifici o stanze. Le tecnologie di localizzazione sono in generale legate all hardware presente nel dispositivo mobile usato. Nel successivo Paragrafo 2.2.3 vengono presentati alcuni lavori presentati in letteratura che offrono una panoramica sulle tecnologie e sulle metodologie finora utilizzate. 2.2.3 Gestione dei dati di localizzazione L incredibile sviluppo negli ultimi anni delle reti senza fili e della tecnologia GPS ha messo a disposizione dei ricercatori la possibilità di raccogliere una grande quantità di dati sulla posizione e gli spostamenti degli utenti di questi servizi. Con tali presupposti si è venuta a creare la necessità di metodologie capaci di raccogliere ed organizzare i dati provenienti da dispositivi basati su queste nuove tecnologie, al fine di renderli fruibili da parte dei sistemi di analisi. In [32] viene proposto un modello basato sulla raccolta dei dati GPS per la piattaforma commotion. commotion è un sistema dipendente dal contesto che fornisce informazioni personali basandosi sul luogo in cui l utente si trova e sui luoghi vicino ai quali transita. Tale sistema si basa su un insieme di luoghi personali, ovvero località di interesse. Quando il dispositivo mobile si trova in un area non coperta da