Sommario
La presente relazione illustra gli obiettivi ed i risultati raggiunti duran-te la mia collaborazione con il Domotics Lab presso l’Istituto di Scienza e Tecnologie dell’Informazione ISTI ‘Alessandro Faedo’ del CNR di Pisa.
Lo scopo della tesi `e quello di proporre una soluzione praticabile per l’apprendimento di comportamenti ed abitudini degli utenti di un sistema domotico, con l’obiettivo di anticipare le loro esigenze; tale soluzione con-siste nella realizzazione di un’applicazione che, integrando le tecnologie do-motiche presenti sul mercato con i principi dell’apprendimento automatico, offra maggior comfort e sicurezza agli occupanti di un ambiente arricchito con dispositivi intelligenti, ponendosi come un primo passo verso la nascente disciplina dell’Ambient Intelligence.
Dopo un’attenta analisi delle principali tecniche di Machine Learning per determinare quale fosse la pi`u adatta a risolvere il problema in esame, `e stata presa la decisione di seguire un approccio ibrido, utilizzando sia la tecnica di Data Mining nota come apprendimento di regole associative che un approccio statistico.
Ringraziamenti
Desidero innanzitutto ringraziare di cuore i miei relatori, il Dr. Vittorio Miori ed il Dr. Dino Pedreschi. La loro disponibilit`a e competenza `e stata fondamentale per la buona riuscita di questo lavoro.
Ringrazio inoltre il Dr. Dario Russo, per l’enorme mole di suggerimenti e per il costante supporto tecnico indispensabile per la realizzazione della tesi, ed il Dr. Rolando Bianchi Bandinelli per i preziosi suggerimenti iniziali.
Indice
1 Introduzione 1
1.1 Struttura della tesi . . . 3
2 Stato dell’arte della domotica 5 2.1 Definizione . . . 5
2.2 Classificazione dei sistemi domotici . . . 7
2.3 Il Bus . . . 10
2.4 Panoramica sui principali standard domotici . . . 14
2.5 Dal presente al futuro . . . 18
3 Ambient Intelligence 21 3.1 Definizione . . . 21
3.2 Disappearing Computer . . . 23
3.3 Applicazioni per l’Ambient Intelligence . . . 25
3.4 Architettura di un sistema AmI . . . 28
INDICE
3.6 Conclusioni . . . 34
4 Machine Learning 35 4.1 Definizione . . . 36
4.2 Realizzazione di un sistema per l’apprendimento . . . 37
4.2.1 Collezione e rappresentazione dei dati di esempio . . . 39
4.2.2 Scelta del modello adatto al problema . . . 40
4.2.3 Allenamento del modello . . . 42
4.2.4 Validazione e valutazione del modello . . . 44
4.3 Panoramica sui principali approcci all’apprendimento automa-tico . . . 45
4.3.1 Concept Learning . . . 45
4.3.2 Reti Neurali Artificiali . . . 49
4.3.3 Support Vector Machines . . . 55
4.3.4 Apprendimento Bayesiano . . . 58
4.3.5 Hidden Markov Model . . . 63
4.3.6 Self Organizing Maps . . . 65
4.3.7 Riferimenti . . . 66
5 Data Mining 69 5.1 Definizione . . . 69
5.2 Alberi di Decisione . . . 72
INDICE
5.2.2 Metodi per esprimere condizioni di test sugli attributi . 75 5.2.3 Metodi per selezionare i migliori split . . . 76 5.3 Regole Associative . . . 78 5.3.1 Generazione degli itemset frequenti ed algoritmo Apriori 81 5.3.2 Generazione delle regole . . . 87 5.4 Riferimenti . . . 92 6 Ambiente di sviluppo 93 6.1 Progetto C.A.S.A. . . 93 6.2 DomoNet . . . 95 7 Introduzione al sistema 101 7.1 Lo scenario . . . 102 7.2 Un primo sguardo all’architettura . . . 104
8 Implementazione del sistema 109 8.1 Ciclo di funzionamento . . . 109 8.2 Raccolta delle informazioni . . . 110 8.3 Analisi dei dati ed apprendimento degli scenari . . . 111 8.3.1 La scelta del metodo di apprendimento automatico . . 111 8.3.2 Apprendimento di scenari dalle azioni degli utenti . . . 114 8.3.3 Apprendimento di scenari dalle preferenze degli utenti . 117 8.4 Creazione/rimozione di regole per automatizzare gli scenari . . 119
INDICE
8.5 Esecuzione delle regole . . . 121
9 Moduli software 123 9.1 DomoPredictClient . . . 123 9.2 LogManager . . . 124 9.3 AssociationRulesManager . . . 124 9.4 StatisticRulesManager . . . 127 10 Validazione e test 133 10.1 Validazione per gli scenari temporizzati . . . 135
10.2 Validazione per gli scenari non temporizzati . . . 137
10.3 Validazione per gli scenari personalizzati semplici . . . 139
10.4 Validazione per gli scenari personalizzati temporizzati . . . 140
11 Conclusioni e sviluppi futuri 143
Capitolo 1
Introduzione
La presente relazione illustra gli obiettivi ed i risultati raggiunti duran-te la mia collaborazione con il Domotics Lab presso l’Istituto di Scienza e Tecnologie dell’Informazione ISTI ‘Alessandro Faedo’ del CNR di Pisa.
Lo scopo della tesi `e quello di proporre una soluzione praticabile per l’apprendimento di comportamenti ed abitudini degli utenti di un sistema domotico, con l’obiettivo di anticipare le loro esigenze; tale soluzione con-siste nella realizzazione di un’applicazione che, integrando le tecnologie do-motiche presenti sul mercato con i principi dell’apprendimento automatico, offra maggior comfort e sicurezza agli occupanti di un ambiente arricchito con dispositivi intelligenti, ponendosi come un primo passo verso la nascente disciplina dell’Ambient Intelligence.
La Domotica `e una sintesi di diverse discipline tecnico-scientifiche del settore ICT applicate nel contesto dell’automazione degli edifici, e mira a rendere gli edifici pi`u facilmente utilizzabili, confortevoli, economici nella ge-stione, ed a fornire nuovi servizi in ottica della sicurezza, dell’affidabilit`a, della comunicazione e della diagnosi dei guasti. In altre parole, la domoti-ca si pone l’obiettivo di migliorare le funzionalit`a tradizionali di un edificio e di fornirne delle nuove, basate su concetti di automazione, elettronica e informatica[1].
CAPITOLO 1. INTRODUZIONE
L’Ambient Intelligence rappresenta la naturale evoluzione della domotica; questa nuova disciplina prevede la presenza di una pletora di piccoli sensori intelligenti interconnessi, sparsi all’interno di un ambiente, utilizzati in modo tale da comprendere e riconoscere, tramite tecniche di Intelligenza Artificiale, caratteristiche significative delle persone che lo frequentano. Alcuni esempi di tali caratteristiche possono essere bisogni, situazioni di pericolo, richieste che possono essere anticipate, e lo scopo `e quello di risolvere automaticamente tali problemi mediante opportune strategie, possibilmente ancor prima che una richiesta specifica venga rivolta al sistema da un essere umano; possiamo dire che tali sistemi mirano ad esibire un comportamento proattivo.
Per Intelligenza Artificiale ci riferiamo alla capacit`a di un calcolatore di svolgere funzioni e ragionamenti tipici della mente umana; una delle aree fondamentali di questa disciplina `e nota come Machine Learning, in italiano Apprendimento Automatico, che pu`o essere definito come l’insieme di princi-pi, metodi e algoritmi per l’apprendimento e la predizione di comportamenti mediante l’esperienza. Scopo del Machine Learning `e ottenere programmi che migliorino le performance nella risoluzione di un compito tramite l’esperienza accumulata precedentemente, oppure inferire un modello o approssimare una funzione non nota a partire dai dati a disposizione.
Una disciplina correlata con l’Apprendimento Automatico `e il Data Mi-ning, che ha come oggetto l’estrazione di nuova conoscenza attraverso l’analisi di grandi quantit`a di dati (dataset ). E’ un concetto molto vicino all’analisi statistica; l’unica differenza sta nel fatto che il data mining ha a che fare con grandi quantitativi di dati. Il termine Data Mining ha una duplice valenza; si riferisce sia all’estrazione, con potenti tecniche analitiche, di informazione precedentemente sconosciuta da dati gi`a strutturati, per renderla disponibile e direttamente utilizzabile, sia all’esplorazione ed analisi su grandi quantit`a di dati, eseguita in modo automatico o semiautomatico, con il fine di scoprire nuovi pattern (schemi) significativi.
Il prototipo realizzato `e stato testato all’interno della Casa Domotica realizzata dal Domotics Lab per il Progetto C.A.S.A, contenente numerosi
CAPITOLO 1. INTRODUZIONE
dispositivi intelligenti appartenti a standard diversi; l’interoperabilit`a tra tali dispositivi `e garantita dal middleware domoNet, che permette di vedere tutti i dispositivi come facenti parte di un unico sistema domotico. Per i nostri intenti `e da sottolineare il fatto che domoNet permette di tener traccia dei cambiamenti di stato di ogni dispositivo, in modo da poter ricavare il dataset di utilizzo del sistema.
Dopo un’approfondita analisi delle principali tecniche di Machine Lear-ning e Data MiLear-ning, `e stata presa la decisione di seguire un approccio ibrido utilizzando sia metodi di Statistical Learning che la tecnica di Data Mining nota come apprendimento di regole associative; il problema si presta ad essere affrontato con questo approccio in quanto i differenti scenari non verrebbero appresi con efficacia mediante l’utilizzo di un unico metodo di apprendimento.
1.1
Struttura della tesi
La prima parte della relazione offre una panoramica sul tema della domo-tica, riferendosi in particolare alle tecnologie presenti attualmente sul mer-cato, e sull’Ambient Intelligence, che rappresenta la sua naturale evoluzione. Successivamente verranno introdotti i principali metodi di apprendimento automatico presi in esame, e verr`a motivata la scelta di adottare la tecnica delle regole associative per risolvere il problema in esame.
Infine verr`a descritta la tesi vera e propria, introducendo l’ambiente di sviluppo, motivando le scelte implementative prese ed esponendo l’effettiva realizzazione.
Capitolo 2
Stato dell’arte della domotica
2.1
Definizione
Per Domotica intendiamo la scienza che studia tecniche e metodologie atte a migliorare la qualit`a della vita all’interno di abitazioni o ambienti antropizzati; il termine deriva dal francese Domotique, neologismo introdotto in Francia unendo i termini Domus (casa) e Informatique (Informatica). Il campo trattato dalla domotica `e molto ampio, pertanto esistono numerose definizioni differenti. In tutti i casi gli obiettivi sono convergenti[2]:
Maggiore Confort:
E’ possibile adattare l’ambiente alle abitudini degli abitanti; ad esempio il grado di illuminazione, la temperatura, la musica. Sono in fase di studio alcuni sensori per valutare il grado di soddisfazione dell’utente, basati su assunzioni del tipo ‘se l’utente stringe gli occhi si ha bisogno di luce’ oppure ‘se l’utente trema va aumentata la temperatura’; oppure sensori per monitorare parametri medici incorporati negli indumenti in modo da avere una rilevazione continua dello stato fisico dell’utente. Maggiore Sicurezza:
con-CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
trolli automatici per fughe di gas, allagamenti, intrusioni, dispersioni di corrente; controlli sullo stato di salute degli abitanti e rilevamento di situazioni anomale.
Maggiore Autonomia:
E’ possibile prevedere controlli per lo spegnimento di elettrodomestici pericolosi, per la chiusura delle porte e finestre e simili in modo da prolungare l’autonomia di persone anziane o diversamente abili. Risparmio Energetico:
Tramite controlli automatici `e possibile controllare i sistemi HVAC (acronimo che sta per riscaldamento (heating), ventilazione (ventila-tion) e condizionamento dell’aria (air conditioning)) in modo da otte-nere notevoli risparmi energetici; `e inoltre possibile integrare il rispar-mio energetico con la produzione di energia da fonti rinnovabili come il geotermico o il fotovoltaico.
Divertimento
Dato dall’adattamento dell’ambiente ai gusti dell’abitante, anche rife-rendosi alla trasmissione di film o alla diffusione di musica.
Controllo Remoto
Possibile sia per controllare i vari dispositivi facenti parte del sistema domotico, sia per monitorare le condizioni mediche o di sicurezza di persone semi-indipendenti.
Accesso a Servizi Esterni
Con i moderni residential gateway `e possibile accedere a provider ester-ni che offrono servizi, ed interagire con essi; il ricevitore set-top-box utilizzato per la ricezione della televisione digitale terrestre ne `e un esempio.
In realt`a sarebbe possibile raggiungere alcuni di questi obiettivi pur senza ricorrere all’installazione di un sistema domotico; al momento della progetta-zione di una nuova abitaprogetta-zione si hanno a disposiprogetta-zione i classici impianti tra-dizionali, ad esempio quello elettrico, quello idrico, quello di riscaldamento e
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
numerosi altri che possono essere realizzati per offrire i benefici precedente-mente elencati. Ci`o che rende comunque preferibile l’utilizzo della domotica `e che essa permette l’integrazione di tutti gli impianti presenti in una abitazio-ne, che vengono considerati come componenti di un sistema domotico gestito tramite un’unica interfaccia con l’utente; tale integrazione permette di con-trollare lo stato di tutti i componenti offrendo possibilit`a di ottimizzazione nella gestione delle risorse disponibili.
Il termine domotica `e sinonimo di termini molto utilizzati come home automation e building automation, che per`o vengono utilizzati in contesti differentii; per Home automation si intende l’automazione di una singola abi-tazione, ed ha come sinonimi pi`u utilizzati termini come smart house, casa intelligente o automazione domestica mentre per building automation ci rife-riamo all’automazione di edifici medio-grandi, complessi residenziali, alber-ghi, ospedali, centri commerciali, complessi di uffici, fabbriche e anche aerei, ed ha come principali sinonimi edificio intelligente, automazione di edifici, intelligent building, smart building, oppure computer integrated building.
2.2
Classificazione dei sistemi domotici
Con l’aumento della domanda sono stati introdotti sul mercato numerosi sistemi domotici, con l’effetto di aumentare la concorrenza portando ad una diminuzione dei prezzi; se da un lato ci`o ha favorito la diffusione della do-motica, dall’altro ha portato alla realizzazione di numerosi sistemi ad hoc, incompatibili tra di loro. In questo contesto composto da innumerevoli solu-zioni a buon mercato, ma poco documentate e di dubbia affidabilit`a, si sono fatti largo sistemi standard, realizzati da grandi aziende, che offrono pro-dotti di alta qualit`a dai costi pi`u elevati. I sistemi standard possono essere suddivisi in due categorie:
Proprietari:
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
ovvi motivi, ha interesse a non divulgare le informazioni sul funzio-namento dei propri componenti in modo da renderne complessa la costruzione a terzi. Spesso si tratta di sistemi con costi contenuti e solitamente permettono di realizzare con semplicit`a impianti di medie dimensioni con ottime funzionalit`a e buone prestazioni; se sono rea-lizzati da aziende di un certo livello offrono anche un’ampia scelta di dispositivi con design accattivanti e vantano esperienza dovuta al gran numero di installazioni. Il principale difetto `e la dipendenza del cliente verso il costruttore, che potrebbe risultare fastidiosa in certe situazio-ni; `e pur vero che, in caso di scelta di sistemi prodotti da aziende di prestigio, i rischi saranno contenuti.
Aperti:
I sistemi aperti, che posono essere anche definiti standard, sono quelli le quali specifiche di funzionamento vengono rese pubbliche in modo da rendere possibile lo sviluppo di componenti compatibili a qualsiasi azienda voglia intraprenderne lo sviluppo. Gli standard sono spesso il frutto di associazioni o consorzi di grandi aziende che, sfruttando le proprie competenze, sentano il bisogno di dettare le coordinate per il mercato; quasi sempre si tratta di sistemi avanzati che permettono di realizzare impianti di grandi dimensioni che siano in grado di soddisfare qualsiasi esigenza. I vantaggi offerti da sistemi aperti sono dati dall’affi-dabilit`a ed l’interoperabilit`a dei componenti certificati, dalla possibilit`a di estendere installazioni esistenti e dalla quasi totale indipendenza dal singolo costruttore.
I sistemi domotici possono inoltre essere classificati e quindi suddivisi in base alla loro architettura, cio`e in base a come sono collegati i componenti che ne fanno parte e a dove `e localizzata la capacit`a decisionale del sistema; possiamo distinguere tre tipi di architettura:
Centralizzata:
L’architettura centralizzata esiste una singola unit`a di decisione, tipi-camente una centralina; pu`o capitare che tale unit`a sia suddivisa in pi`u
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
unit`a intelligenti, a diversi livelli gerarchici e distribuite fisicamente se-condo il paradigma master/slave, ma logicamente rimane unica. Gli altri componenti del sistema possono avere capacit`a di autodiagnosi e di autoconfigurazione, ma non sono in grado di prendere direttamente delle decisioni; le decisioni vengono prese dalla centralina in base ai messaggi provenienti dai sensori e diretti agli attuatori. Il punto debo-le del sistema `e rappresentato dalla centralina che, in caso di guasto, rende inutilizzare tutto l’impianto; i vantaggi sono dati dalla facilit`a di programmazione e di riconfigurazione, dal basso costo e dal buon livello di integrazione delle funzioni.
Distribuita:
L’architettura distribuita prevede che tutti i dispositivi siano in grado di eseguire una serie di funzioni autonomamente; ad ogni componente viene assegnato un indirizzo univoco e successivamente viene program-mato in modo da eseguire determinati comandi e svolgere alcune date funzioni. In questo tipo di architettura `e importante sottolineare che i componenti comunicano tra di loro, attraverso messaggi standard, in modo da creare associazioni logiche senza particolari restrinzioni. I vantaggi principali di questa architettura sono dati dalla grande flessi-bilit`a, dall’affidabilit`a (a differenza delle architetture centralizzate, se si guasta un componente si perderanno solo le funzioni a lui associate ma il resto del sistema continuer`a a funzionare) e dalle ottime prestazioni che per`o vanno a scapito dei costi e di una maggiore complessit`a in fase di programmazione e progettazione.
Mista:
L’architettura mista prevede dei sottosistemi, organizzati secondo un’ar-chitettura distribuita, interconnessi attraverso delle interfacce ad una serie di centraline dislocate nell’edificio. Si tratta di un’architettura molto efficiente e performante che per`o trova la sua applicazione prin-cipalmente nell’automazione di grandi edifici con esigenze particolari.
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
2.3
Il Bus
Una volta scelta l’architettura del sistema domotico nasce il problema di come collegare i componenti del sistema domotico. All’interno di un edificio possono essere presenti un gran numero di reti con scopi differenti:
• rete elettrica (prese, luci e interruttori), • rete telefonica,
• rete antenna TV analogica,
• rete idrica (acqua calda e fredda), • rete fognaria (acque bianche e scure), • rete del sistema di allarme,
• rete antenna TV satellitare, • rete per la diffusione della musica, • rete LAN.
Nasce quindi l’esigenza di un mezzo di comunicazione, denominato bus, che sia unico, separato all’alimentazione e che permetta lo scambio di messaggi tra tutti i dispositivi facenti parte del sistema domotico; risulta quindi che i componenti saranno contemporaneamente collegati ad una linea di alimenta-zione, che fornir`a l’energia necessaria al funzionamento, ed al bus, tramite il quale potranno comunicare con gli altri componenti. Il campo di dispositivi che possono essere connessi ad un sistema domotico `e molto vasto, e com-prende praticamente tutti gli elettrodomestici presenti tipicamente in una abitazione; i vantaggi dati dall’adozione di un questo tipo la notevole sempli-ficazione e riduzione del cablaggio e la possibilit`a di connettere/disconnettere dispositivi in maniera dinamica.
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
Il bus da solo per`o non `e sufficiente a garantire la comunicazione; `e ne-cessario cio`e che i componenti utilizzino un linguaggio standard per la comu-nicazione. Nella realt`a per`o esistono numerosi standard differenti, e proprio la mancanza di un unico linguaggio di comunicazione universalmente rico-nosciuto rappresenta una delle principali cause della limitata diffusione dei sistemi domotici. Comunque, indipendentemente dal protocollo di comuni-cazione utilizzato, il bus viene utilizzato per inviare dei messaggi, detti frame o telegrammi, distinguibili principalmente in:
• comandi da eseguire, • segnali di allarme,
• segnali per di riconoscimento dei componenti,
• segnali di conferma di comandi eseguiti o non eseguiti, • segnali di stato dei componenti.
Ogni dispositivo collegato al bus necessit`a di una interfaccia verso lo stes-so, che prende il nome di BCU (Bus Coupling Unit ), che interpreti i pacchetti ricevuti dal bus e li traduca in modo da renderli comprensibili al componen-te, e viceversa. Ogni BCU possiede un indirizzo che la individua nella rete; tale identificativo non `e necessariamente unico, ad esempio pu`o essere utile le lampadine presenti in una stanza condividano lo stesso indirizzo in modo da poterle spegnere o accendere tutte in una volta.
I principali mezzi trasmissivi utilizzati per realizzare un sistema di comu-nicazione a bus sono i seguenti:
Onde Convogliate su Power Line:
Per realizzare il bus vengono sfruttati i cavi della rete elettrica (PL, da Power Line); al segnale di corrente alternata (220 volt - 50 Hz) presente viene aggiunge un basso voltaggio modulato (da 3 a 148 KHz) che non influisce significativamente sulla potenza distribuita. Per poter
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
riconoscere i messaggi le BCU dovranno contenere un filtro per sepa-rare la comunicazione del BUS dall’alimentazione. E’ uno dei mezzi trasmissivi pi`u utilizzati in quanto non richiede cablaggi aggiuntivi, ri-duce l’inquinamento da onde radio e permette di raggiungere tutte le parti della casa dove siano presenti componenti elettriche; i principali svantaggi sono dati dalla scarsa ampiezza di banda offerta, che ne li-mita l’utilizzo in caso di trasmissioni di contenuti audio/video, e dalla scarsa resistenza ai disturbi esterni.
Doppino di Rame:
Un bus realizzato tramite il classico doppino di rame, chiamato anche TP (da twisted pair ), `e pi`u affidabile di un bus PL; ci`o `e dovuto sia al fatto che l’alimentazione e la comunicazione viaggiano su linee separate sia all’utilizzo della tecnica di bilanciamento, che permette di ricostruire il segnale originario anche in presenza di forti disturbi. Rispetto ad un bus PL offre inoltre velocit`a di trasmissione sensibilmente superiori e, in fase di progettazione di un nuovo edificio, offre costi d’installazione non eccessivamente maggiori.
Cavo Coassiale:
Un bus realizzato tramite cavo coassiale, abbreviato CX, trova il suo utilizzo principalmente per trasportare segnali che necessitano di banda larga, come ad esempio quelli provenienti dalle antenne televisive ter-restri o digitali. Viene usato in alternativa al bus TP nei casi in cui si renda necessario trasmettere, oltre ai comandi, anche segnali multime-diali ad alta definizione. Per motivi storici i bus realizzati utilizzanto i protocolli Firewire e USB, pur non essendo strettamente coassiali, rientrano in questa categoria.
Onde Radio:
In un bus di questo tipo i comandi vengono inviati in radio frequenza (RF ), utilizzando frequenze che non interferiscono con quelle di altri dispositivi di uso domestico. I principali standard basati su RF sono:
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
• WiFi, da Wireless Fidelity, che raccoglie tutti gli standard ap-partenenti alla famiglia IEEE 802.11 ; `e interoperabile con le reti Ethernet ed ha come punto forte la notevole banda offerta che permette la trasmissione di contenuti multimediali;
• BlueTooth, particolarmente adatto a trasmissioni a breve distanza, per le quali offre resistenza ai disturbi ma offre una banda limitata che ne confina per il momento l’utilizzo alla trasmissione dati e voce;
• ZigBee, anch’esso adatto a trasmissioni a breve distanza e carat-terizzato da un bassissimo consumo energetico; la banda offerta `e per`o ancora minore a quella offerta dallo standard BlueTooth, per-tanto si presta principalmente alla trasmissione dei segnali di stato di sensori ed al monitoraggio degli altri componenti del sistema.
Raggi Infrarossi:
La trasmissione via raggi infrarossi `e possibile solo tra dispositivi vicini ed allineati, e non permette di superare ostacoli non trasparenti; lo stan-dard di riferimento `e IrDA (da Infrared Digital Association) che offre una banda non molto ampia e brevissima distanza di comunicazione.
Fibra Ottica:
La fibra ottica `e sicuramente il mezzo trasmissivo pi`u moderno di comu-nicazione, ma attualmente `e poco utilizzato perch`e la maggior parte dei principali standard non la prevede; il funzionamento `e analogo a quello di un bus TP, ma offre una velocit`a di trasmissione ben maggiore.
E’ importante sottolineare che non esistono solo sistemi domotici basati su bus; ad esempio possiamo trovarne alcuni che si basano sullo stack dei protocolli TCP/IP. A differenza dei sistemi bus non vi `e la necessit`a di com-ponenti hardware particolari in quanto l’architettura di comunicazione viene costruita sfruttando i comuni meccanismi di accesso alla rete IP.
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
2.4
Panoramica sui principali standard
do-motici
Molti standard domotici sono ispirati al modello ISO/OSI ; esso venne definito nel 1978 rispondendo alla necessit`a di uno standard per l’intercon-nessione di sistemi di elaborazione. Il modello pu`o essere visto come un modo di suddividere un sistema di comunicazione in parti pi`u piccole, dette strati o livelli ; consiste in una pila di protocolli, uno per ogni livello, ed ogni livello `e a sua volta composto da una collezione di funzioni concettualmente simili che offrono servizi per il livello superiore sfruttando i servizi offerti dai livelli inferiori. Come visibile in figura 2.1, i livelli sono sette:
• Applicazione, che fornisce le funzionalit`a di interfaccia ai programmi applicativi;
• Presentazione, che trasforma i dati forniti dalle applicazioni in un for-mato standardizzato e offre funzionalit`a di crittografia e compressione dei messaggi;
• Sessione, che offre funzionalit`a di controllo della comunicazione tra applicazioni, stabilendo, mantenendo e terminando le connessioni tra applicazioni cooperanti;
• Trasporto, che offre funzionalit`a atte a garantire l’affidabilit`a dei tra-sferimenti di dati tra applicazioni, come ad esempio i controlli di cor-rettezza dei dati ricevuti e metodi per la gestione della perdita di messaggi;
• Rete, che rende i livelli superiori indipendenti dai meccanismi hardware di trasmissione dati utilizzate;
• Data link, che permette il trasferimento affidabile di dati a livello fisico effettuando controlli degli errori e delle perdite di segnale;
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
• Fisico, che gestisce la reale trasmissione dell’informazione, vista come un flusso di dati non strutturati, attraverso i canali trasmissivi occu-pandosi di tempi, codifica, decodifica e sincronizzazione del segnale da inviare.
Figura 2.1: Modello ISO/OSI
Lo schema a livelli rappresenta una indicazione per la realizzazione di sistemi di comunicazione, ed infatti non viene seguito in maniera rigida; il modello non `e completo e non specifica quali siano i servizi e i protocolli da associare ad un certo livello, pertanto vi sono situazioni in cui alcuni livelli possono essere vuoti o inglobati negli altri.
I principali standard domotici sono i seguenti:
Konnex:
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
principali produttori di sistemi domotici europei, cio`e EIBA (European Installation Bus Association), BCI (Batibus Club International ) ed EHSA (European Home System Association), con lo scopo di realizzare e promuovere uno standard aperto unico per applicazioni di Home e Building Automation definito basandosi sulle migliori caratteristiche degli standard da loro definiti, che sono:
• EIB, da European Installation Bus, mirato alla gestione di grossi impianti industriali(building automation): prevede una fase ini-ziale di configurazione dell’intero sistema che solitamente viene effettuata da un tecnico specializzato attraverso strumenti pro-prietari;
• Batibus, da Batiment BUS, che utilizza un doppino come bus per permettere il transito di comandi e dati tra i componenti che com-pongono il sistema domotico; la connessione tra i dispositivi segue una topologia libera;
• EHS, da European Home System, dispone di funzionalit`a Plug & Play e di un efficace metodo di correzione degli errori che assicu-rare un’alta affidabilit`a al sistema; prevede inoltre bus su quasi tutti i mezzi possibili di trasmissione.
`
E basato principalmente sullo standard EIB, con cui mantiene una to-tale compatibilit`a, integrando le modalit`a di configurazione e i mezzi trasmissivi supportati da BatiBus ed EHS. La produzione dei com-ponenti `e aperta a svariati produttori, ma una volta prodotti devo-no superare una procedura di certificazione operata dall’associazione Konnex, che garantisce interoperabilit`a. Sono previste tre modalit`a di configurazione dei dispositivi Konnex:
• System mode, abbreviata S-mode, adatta a system integrator che mirano ad offrire funzioni complesse utilizzando un tool software proprietario, chiamato ETS ;
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
• Easy mode, abbreviata E-mode, che permette agli installatori una rapida configurazione dell’impianto, rinunciando ad alcune funzio-nalit`a complesse;
• Automatic mode, abbreviata A-mode, pensata per gli utilizzatori finali e per un uso Plug & Play di dispositivi consumer.
uPnP
Standard nato nell’Ottobre del 1999 dal lavoro di oltre 800 aziende di spicco nei campi dell’informatica e dell’elettronica che hanno dato vita ad un forum UPnP con l’obiettivo di permettere ai dispositivi di connet-tersi tra di loro e di semplificare l’implementazione di reti domestiche; per il raggiungimento dell`ıobiettivo i membri del forum collaborano per la scrittura e la pubblicazione di protocolli costruiti sopra standard di comunicazione aperti basati su internet. Basato su un’architettura peer-to-peer UPnP offre i vantaggi di essere indipendente dal mezzo trasmissivo, dalla piattaforma di sviluppo e basandosi sulle tecnologie di rete pi`u utilizzate e conosciute (ad esempio IP, TCP, UDP, HTTP e XML). UPnP divide i dispositivi in due tipi; i control point, che sono coloro che richiedono un servizio, ed i device host che sono invece coloro che il servizio lo forniscono;
myHome
My Home `e un sistema proprietario prodotto da bTicino; `e basato su bus di comunicazione e consente la gestire e controllo delle funzioni domotiche della propria abitazione in modo semplice, anche a distanza, attraverso il telefono o un PC collegato ad Internet (utilizzando server proprietari) sfruttando l servizio My Home WeB ;
By-Me
By-Me `e un sistema proprietari prodotto da Vimar, basato a sua volta su bus; offre facilit`a di programmazione effettuabile da un’unica cen-trale, che permette di tenere sotto controllo tutti gli impianti domotici come ad esempio l’illuminazione, la gestione del clima e l’antintrusione. Inoltre, grazie all’apertura allo standard europeo Konnex, anche
dispo-CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
sitivi di altri produttori sono compatibili con una installazione By-me, superando il problema della dipendenza da un singolo produttore ed aumentando le funzioni a propria disposizione.
2.5
Dal presente al futuro
Attualmente la domotica sta tornando a rivolgersi anche alle piccole unit`a immobiliari, come la casa unifamiliare e l’appartamento; questa tendenza `e alimentata dalla diffusione dell’informatica domestica (un collegamento a banda larga, una rete locale e diversi PC) e dalla diminuzione dei costi dei dispositivi domotici. La domotica si sta quindi riappropriando del suo signi-ficato etimologico di home automation per creare smart houses, a dispetto del pi`u vasto campo commerciale tradizionale della building automation.
In una casa intelligente `e, o sar`a, possibile adattare l’illuminazione alla presenza delle persone e all’ora del giorno, azionare i serramenti e le por-te, controllare elettrodomestici da remoto, avere un accurato controllo delle intrusioni, coordinare audio e video con telecomandi e con l’illuminazione, eliminare il ghiaccio dal tetto o dagli scalini; allo stesso modo sar`a possibile gestire sistemi di risparmio energetico o cogenerazione (ad esempio pannelli solari) adattando i consumi in modo opportuno.
Gli standard tecnologici tipici della domotica odierna per`o faticano a rea-lizzare cos`ı pervasivi livelli di automazione; non per incapacit`a di interconnet-tere dispositivi, n´e per mancanza di gadget elettronici, bens`ı per limitatezza nella banda trasmissiva e nelle connessioni mobili. Nella casa intelligente fu-tura, infatti, saranno presenti flussi multimediali assieme alle comunicazioni semplicissime che servono solo ad accendere una luce; la banda larga sar`a dunque un requisito fondamentale.
La casa dovr`a accogliere un suo abitante in arrivo riconoscendolo gi`a sulle scale (lo stesso ascensore lo avr`a portato al piano giusto senza premere alcun pulsante), facendogli trovare la musica preferita con la giusta combinazione
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
di luci; secondo le sue abitudini lo preceder`a in bagno, o gli accender`a lo schermo sulla parete all’ora del notiziario; ricever`a dal suo palmare i docu-menti annotati della giornata e i messaggi da inviare automaticamente; aprir`a le finestre con un comando vocale, predisporr`a la lista della spesa per rim-piazzare la scorta nel frigorifero di cui conosce entit`a e scadenze per lettura diretta delle etichette dei cibi.
I precedenti sono solo alcuni esempi, sufficienti per`o a definire le richie-ste tecnologiche della domotica prossima futura: larga banda, collegamento wireless e intelligenza distribuita capace di riconoscere e agire in anticipo (o, come si dice, di esibire un comportamento proattivo). Queste tecniche, unite all’idea di distribuire nell’ambiente un numero elevato di sensori di tecnolo-gia micro- (o addirittura nano-) elettronica, danno origine a quello scenario che da alcuni anni `e indicato come Ambient Intelligence; negli esempi di ca-se altamente automatizzate oggi realizzate, le reti domotiche standard sono affiancate da collegamenti a larga banda wireless e PC che hanno il compito di ovviare all’insufficienza degli standard domotici attuali.
LAmbient Intelligence prevede la presenza di una pletora di piccoli sensori intelligenti interconnessi, sparsi all’interno di un ambiente, utilizzati in modo tale da comprendere e riconoscere, tramite tecniche di Intelligenza Artificia-le, caratteristiche significative delle persone che lo frequentano; alcuni esempi di tali caratteristiche possono essere pericoli, bisogni, richieste che possono essere anticipate, e lo scopo `e quello di risolvere autonomamente tali proble-mi traproble-mite opportune strategie, possibilmente ancor prima che una richiesta specifica venga rivolta al sistema da un essere umano. Le tre componenti fondamentali su cui `e basata l’Ambient Intelligence sono la microelettronica dei dispositivi sensoriali, l’infrastruttura pervasiva di comunicazione wireless e il software intelligente distribuito; la domotica attuale si basa su concet-ti simili, usando per`o tecnologie appartenenti alla generazione tecnologica precedente, come mostrato dalla tabella 2.1.
La domotica usa principalmente un sistema a bus per l’interconnessione dei suoi dispositivi elettronici, normali tecnologie elettroniche, paragonabili
CAPITOLO 2. STATO DELL’ARTE DELLA DOMOTICA
Componenti Domotica Ambient Intelligence Comunicazione Bus Wireless
Elettronica Tradizionale Micro/Nano Programmazione microprocessore microprocessore,
dei dispositivi intelligenza artificiale
Tabella 2.1: Le tecnologie impiegate in Domotica ed Ambient Intelligence
a quelle dell’elettronica industriale (simili ai PLC) e la programmazione dei singoli dispositivi (per sensori e per attuatori) `e a livello microprocessore o microcontrollore; l’Ambient Intelligence invece si basa sull’uso di una comu-nicazione wireless ad alta connettivit`a e dinamica (per esempio zigbee) con l’obiettivo di realizzare numerosi microcontrollori di dimensione piccolissima utilizzati poi per interfacciare i sensori.
Dato che non vi `e una sostanziale differenza di principio tra domotica e Ambient Intelligence possiamo affermare che un’evoluzione della prima verso la seconda `e del tutto prevedibile; la grande differenza di prospettiva sta, al momento, nel fatto che l’Ambient Intelligence mira a riconoscere, compren-dere e decicompren-dere comportamenti automatici di alto livello, grazie alla grande mole di informazioni ottenibili dalla rete di sensori, e alle tecniche di Intel-ligenza Artificiale con cui si pensa di programmare i numerosi processori. La domotica attuale invece si accontenta di interconnettere una molteplicit`a di dispositivi tradizionali diversi tramite tecnologie mature che permettono l’automazione delle differenti sezioni degli edifici che altrimenti andrebbero operate manualmente, o che sarebbe impossibile automatizzare per ragioni di complessit`a e dimensioni; man mano che la ricerca avr`a esiti trasferibili all’industria, si assister`a quindi ad una nuova generazione di sistemi domo-tici dalle impressionanti capacit`a, che prenderanno il posto di quelli attuali esattamente come la domotica attuale ha sostituito, a partire dagli anni ’50, le semplici generazioni di automatismi precedenti.
Capitolo 3
Ambient Intelligence
3.1
Definizione
L’Ambient Intelligence, abbreviato in AmI, ha come obiettivo portare l’integrazione fornita dall’ubiquitous computing[3] nel campo della domotica, permettendo la realizzazione di ambienti che siano sensibili e reattivi alla presenza delle persone; possiamo definire l’AmI come un nuovo paradigma che mira a far scomparire i dispositivi elettronici presenti nell’ambiente, in modo da migliorare la qualit`a di vita creando l’atmosfera e le funzionalit`a desiderate dall’utente mediante sistemi e servizi intelligenti, personalizzati ed interconnessi.
Per ubiquitous computing si intende un modello di interazione uomo-macchina nel quale l’elaborazione delle informazioni `e interamente integrata nei dispositivi utilizzati per effettuare le attivit`a quotidiane, in modo tale che l’utente non si renda conto che essi eseguano calcoli ed operazioni mentre vengono utilizzati; ci`o `e ben diverso dal contesto attuale, nel quale l’utente decide consciamente di azionare un dispositivo con uno scopo specifico.
Il termine ambient si riferisce all’ambiente riflettendo le esigenze di di-stribuzione, pertanto i sistemi di AmI avranno una architettura distribuita,
CAPITOLO 3. AMBIENT INTELLIGENCE
ubiquit`a, in modo che il sistema sia presente ovunque sfruttando le nuove frontiere dell’embedding, e trasparenza, in modo che il sistema sia invisibile e discreto. Il termine intelligence significa che l’ambiente digitale deve esi-bire specifiche forme di interazione sociale, riconoscendo le persone che ci vivono in modo da adattarsi a loro, imparando dai loro comportamenti e possibilmente manifestando emozioni. Secondo l’ottica AmI i sistemi elet-tronici consistono in dispositivi intelligenti ed interconnessi che si integrino dei dintorni delle persone, dando loro informazioni, possibilit`a di comunica-re, servizi e divertimento ovunque esse siano ed ogni volta che lo desiderino; inoltre dovranno adattarsi o eventualmente anticipare i loro bisogni.
Gli ambienti Ambient Intelligent si presenteranno dunque in modo dif-ferente rispetto ai sistemi attuali, fondendosi all’ambiente che circonda le persone e permettendo interazioni ben pi`u naturali; si rende pertanto neces-sario un nuovo paradigma di interazione con l’utente, che vada in direzione dell’ubiquitous computing e contemporaneamente abbia lo stesso impatto del-la nota interfaccia grafica conosciuta come desktop metaphor, sviluppata dal centro di ricerca Xerox a Palo Alto negli anni settanta, permettendo una interazione naturale e sociale all’interno di ambienti AmI. Definire questo nuovo paradigma rappresenta una difficile sfida, ed `e un campo di ricerca ancora aperto.
Per raffinare la definizione di Ambient Intelligence sono state introdotte cinque caratteristiche chiave che devono avere i sistemi futuri[4]:
• embedded ; i sistemi AmI devono essere composti da molti dispositivi collegati ed integrati naturalmente all’interno dell’ambiente;
• context aware; il sistema deve riconoscere l’utente ed il suo contesto ambientale;
• persolizzati ; il sistema deve modificarsi a misura dei bisogni dell’utente;
CAPITOLO 3. AMBIENT INTELLIGENCE
• anticipatori ; il sistema deve anticipare i bisogni dell’utente senza inter-venti diretti dello stesso.
Le prime due caratteristiche si riferiscono all’integrazione dei dispositivi hard-ware nell’ambiente, mentre le altre tre si riferiscono alla necessit`a di adatta-mento dei sistemi elettronici in risposta agli utenti.
3.2
Disappearing Computer
’The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until the are indistinguishable from it.[5]’
L’idea base che sta dietro all’AmI `e quella che, arricchendo un ambiente con tecnologie adatte, possiamo costruire un sistema in grado di prendere de-cisioni, basate su informazioni ottenute in tempo reale e dati storici archiviati, che portino benefici agli utenti presenti al interno del dato ambiente[6].
Per raggiungere questo difficile obiettivo l’AmI eredita aspetti da altre aree informatiche affini, come possiamo vedere in figura 3.1, ma non deve essere confusa con nessuna di esse; reti, sensori, interfacce uomo-macchina, intelligenza artificiale, pervasive[7] e ubiquitous computing sono tutte tema-tiche rilevanti e correlate ma nessuna di esse permette di raggiungere gli obiettivi dell’AmI, che saranno raggiunti mettendo insieme tutte queste ri-sorse con lo scopo di offrire all’utente servizi flessibili ed intelligenti all’interno del suo ambiente, nell’ottica del disappearing computer [5, 8].
E’ importante sottolineare la sottile differenza tra pervasive e ubiquitous computing; essa `e data dal fatto che il pervasive computing prevede l’utilizzo di piccoli dispositivi, come ad esempio un palmare, che permettono di otte-nere informazioni ovunque noi siamo, mentre l’Ubiquitous Computing, come abbiamo visto precedentemente, prevede la totale scomparsa di dispositivi
CAPITOLO 3. AMBIENT INTELLIGENCE
simili, con la tecnologia integrata direttamente in ci`o che utilizziamo nella vita di tutti i giorni.
Figura 3.1: Relazione tra ambient intelligence ed altre aree informatiche La tecnologia del disappearing computer `e strettamente connessa alle tec-nologie note come Ubiquitous Computing e Pervasive Computing; queste de-finizioni per`o si limitano ad enfatizzare le effettive possibilit`a di realizzazione, date dalla attuale disponibilit`a di risorse utilizzabili, senza porre l’accento su un punto chiave, ovvero il requisito di intelligenza. Un sistema AmI pu`o essere definito come un ‘ambiente digitale che proattivamente, ma sensibil-mente, supporti le persone nella loro vita quotidiana’[9]; affinch`e sia sensibile, il sistema deve essere intelligente. Il comportamento del sistema deve rical-care quello tipico di un assistente personale; esso interviene in aiuto quando necessario in base alle preferenze personali acquisite o conosciute, mostrando inoltre la capacit`a di adattarsi all’umore ed alla situazione attuale.
CAPITOLO 3. AMBIENT INTELLIGENCE
3.3
Applicazioni per l’Ambient Intelligence
Un esempio di rilievo di AmI `e la Smart Home, ovvero una casa equipag-giata in modo da offrire servizi avanzati ai suoi utenti; naturalmente, quanto intelligente deve essere una casa per essere definita Smart Home `e una que-stione soggettiva. Ad esempio, una stanza pu`o avere un sensore per decidere quando i suoi occupanti sono dentro o fuori per decidere se tenere accese le luci; se questo sensore `e di movimento, una persona che sta leggendo in una posizione di riposo pu`o confondere il sistema, che potrebbe quindi lasciare la luce spenta. Si rende quindi necessaria un’analisi del contesto pi`u accurata.
In figura 3.2 possiamo vedere il layout base di una casa che pu`o operare intelligentemente[10]; agli occupanti essa deve offrire il normale e atteso am-biente familiare, e non deve assolutamente ricordare un laboratorio. Tuttavia molti oggetti normalmente presenti in una casa possono essere arricchiti con sensori per raccogliere informazioni sul loro utilizzo ed in alcuni casi anche per agire indipendentemente, senza l’intervento umano.
La figura mostra sensori di movimento, un interruttore a tirette, un ter-mostato, un rilevatore di fumo, un citofono, dei rilevatori di pressione, dei rilevatori di stato degli interruttori, un telefono ed un dispositivo medico (ad esempio un monitor della pressione sanguigna, o un cardiofrequenzimetro); benefici che possiamo aspettarci da queste tecnologie possono essere:
• maggiore sicurezza, ad esempio monitorando lo stile di vita o le ul-time attivit`a e offrendo assistenza qualora si stia per presentare una situazione potenzialmente nociva;
• comfort, ad esempio regolando automaticamente la temperatura; • risparmio economico, controllando l’utilizzo delle luci.
Esistono una pletora di tecnologie utilizzabili in questo contesto, dai dispo-sitivi autonomi con i rilevatori di fumo o movimento, a quelli installati in
CAPITOLO 3. AMBIENT INTELLIGENCE
Figura 3.2: Layout generico di una Smart Home
altri oggetti, come ad esempio i sensori di presenza in un letto, a quelli che possono essere indossati, come ad esempio le maglie che contengono elettrodi in grado di monitorare il battito del cuore, che potenzialmente sono in grado di individuare condizioni pericolose.
Nella figura sono indicati anche l’invisibile supporto intelligente che de-duce i contesti di interesse dall’ambiente, offrendo supporto agli occupanti tramite gli attuatori usando regole di interazione; ad esempio se il bagno `e ad una temperatura inadeguata, oppure se l’acqua `e aperta per un inappropriato
CAPITOLO 3. AMBIENT INTELLIGENCE
periodo di tempo, la Smart Home pu`o intervenire regolando la temperatura tramite il termostato, oppure chiudendo il rubinetto.
Esistono altre applicazioni fattibili e rilevanti per l’ambient intelligence, ad esempio:
• applicazioni riguardanti la salute: gli ospedali possono incrementare l’efficienza dei loro servizi monitorando la salute ed i progressi dei pa-zienti eseguendo analisi automatiche delle attivit`a nelle loro stanza, ed inoltre possono incrementare la sicurezza e ridurre il rischio di infezio-ni permettendo solo al personale autorizzato ed ai pazienti di ottenere l’accesso a specifiche aree e dispositivi;
• settore del trasporto pubblico: l’efficiente flusso del traffico pu`o avere dei benefici da tecnologie extra, come ad esempio il sat-nav (GPS-based spatial location estimation), per rendere il trasporto pi`u fluido, efficiente e sicuro;
• servizi per l’educazione: le universit`a e gli istituti di educazione supe-riore usano smart card per permettere l’accesso ai laboratori ed alle biblioteche, ai parcheggi, alle mense ed alle sale conferenze;
• servizi per le emergenze: ambulanze e autopompe dei pompieri pos-sono migliorare il loro tempo di reazione ad un incidente tramite la localizzazione GPS accurata del luogo dove esso `e capitato, velocizzan-do il percorso per raggiungere il dato luogo automatizzanvelocizzan-do i semafori in loro favore; inoltre, la polizia pu`o rapidamente localizzare il luogo dove sta avvenendo un crimine in modo da gestire in modo ottimale l’accesso alla zona sia per il personale che per i civili;
• luoghi orientati alla produzione: le industrie possono auto-organizzarsi in accordo al rapporto tra produzione e domanda dei beni prodotti; questo pu`o richiedere una accurata analisi della correlazione tra la col-lezione di dati ottenuti tramite sensori all’interno dei differenti settori della linea di produzione ed l’insieme di domande, ottenibile tramite
CAPITOLO 3. AMBIENT INTELLIGENCE
un sistema diagnostico in grado di consigliare le persone su cosa fare, ad un livello di decision-making;
• sorveglianza pubblica: l’ampia diffusione di telecamere a circuito chiuso offre la possibilit`a di monitorare luoghi pubblici potenzialmente perico-losi come centri citt`a, stazioni della metropolitana e mezzi di trasporto pubblico, incrementandone la sorveglianza.
3.4
Architettura di un sistema AmI
La realizzazione di un sistema AmI prevede almeno tre punti chiave da prendere in considerazione. Primo, considerare la classe di algoritmi che esi-biscono alcune forme di comportamento, apprese dall’utente, durante la loro esecuzione; principalmente sono algoritmi che permettono l’interazione natu-rale tra utente e sistema elettronico come gli algoritmi di speech processing, vision tracking, object recognition oppure moderni algoritmi che permettono all’utente di accedere personalmente ai pi`u svariati contenuti attraverso filtri, raccomandazioni o ricerche basate su intenzioni.
Secondo, considerare la classe di algoritmi da applicare al sistema di con-trollo; dato che i sistemi ambient intelligent devono includere molti dispo-sitivi connessi tra di loro, sono necessari algoritmi in grado di gestire dati e computazioni sia nell’ottica della distribuzione delle attivit`a sfruttando le risorse disponibili (resource management ) sia nell’ottica di garantire qualit`a nell’esecuzione dei compiti (QoS ).
Terzo, determinare dove deve risiedere l’intelligenza; essa pu`o essere in-tegrata all’interno dei dispositivi, che quindi avranno potenza sufficiente a processare grandi moli di dati ed eseguire complessi algoritmi, oppure all’in-terno dei potenti server di comunicazione della rete di interconnessione, ed in questo caso i dispositivi permetteranno solo la necessaria comunicazione per gererare gli output e prendere nuovi input.
CAPITOLO 3. AMBIENT INTELLIGENCE
Dal lato pratico, un sistema AmI pu`o essere costruito in molti modi; ti-picamente necessita di sensori e dispositivi per circondare gli occupanti del-l’ambiente (gli interactor ) di tecnologia (chiamata e-bubble). La tecnologia pu`o offrire dati accurati al sistema sui differenti contesti che si sviluppano; le informazioni raccolte vengono trasmesse tramite una rete e pre-processate da middleware che hanno il compito di riorganizzare ed armonizzare dati provenienti da differenti dispositivi. La fase di decision-making verr`a ef-fettuata in modo da permettere di effettuare diagnosi, generare consigli ed assistere gli umani prendendosi anche la responsabilit`a di intervenire; que-sto processo di decision-making utilizza un knowledge repository contenente gli eventi raccolti ed un AI reasoner che applicher`a algoritmi intelligenti in modo da prendere decisioni. Ad esempio, una decisione pu`o essere quella di eseguire alcune azioni nell’ambiente e sar`a applicata dagli attuatori; tecni-che diknowledge discovery e machine learning verranno utilizzate col fine di apprendere dalle informazioni acquisite in modo da aggiornare l’AI reasoner alla luce dell’esperienza del sistema. Un tipico flusso di informazioni per un sistema AmI `e rappresentato in figura 3.3.
3.5
Cultura ed Etica
Con il termine ambient intelligence si rappresenta pi`u che il semplice in-tegrare tecnologia negli oggetti; `e una tecnologia che pu`o rappresentare un modo per rispondere ad esigenze pi`u profonde, insite nella cultura umana, come ad esempio desideri universali, relazioni sociali complesse, diversi si-stemi di valutazione, gusti personali, sostenibilit`a di ecosistemi economici e naturali e codici etici, di condotta e di comunicazione sia per la societ`a civile che per il mondo degli affari. Questo rende l’AmI notevolmente differente da altri concetti come il pervasive computing oppure l’ubiquituos computing.
L’ambient intelligence scatena l’immaginazione, ma allo stesso modo fa sorgere ogni tipo di domanda. Cos’`e? Cosa pu`o fare? Come pu`o farlo? Che aspetto avr`a? Quanto potr`a essere intelligente? Potr`o mantenere il controllo,
CAPITOLO 3. AMBIENT INTELLIGENCE
Figura 3.3: Flusso delle informazioni ed architettura generale di un sistema AmI
o prender`a il sopravvento? Quando sar`a disponibile? La vorr`o, in ogni caso? Ovviamente l’intento `e quello di migliorare la qualit`a della vita delle persone, ma, come per tutte le tecnologie, l’uso che se ne fa `e ci`o che le rende buone o meno; in altre parole, dato che non tutto ci`o che possiamo ottenere con la tecnologia `e desiderabile, diventa cruciale che le persone prendano giuste decisioni in tema di ambient intelligence. Questo diventa possibile solo se ci sar`a accordo su che tipo di qualit`a della vita e sul tipo di mondo che vorranno veder sviluppato; per raggiungere la sostenibilit`a `e necessario un bilanciamento tra i seguenti tre fattori:
CAPITOLO 3. AMBIENT INTELLIGENCE
Persone:
Di cosa hanno bisogno le persone, e cosa vogliono ottenere dalla propria vita? Queste aspirazioni sono cambiate significativamente da quando gli umani vivevano nelle caverne, ma gli studiosi di antropologia hanno trovato delle linee guida affidabili analizzando i pattern di compor-tamento ripetuti dall’uomo in differenti posti ed in tempi differenti; specificamente, da quando hanno iniziato a dipingere immagini sulle mura delle caverne, incidere linee sui bastoni oppure lavorando stru-menti in pietra gli esseri umani avevano lo scopo di amplificare la loro potenza mentale e fisica esteriorizzandola, rendendo cio`e tangibile ci`o che non lo `e. La forza che guida i comportamenti umani `e il desiderio di soppravvivernza, ottenendo il massimo livello possibile di comfort e libert`a dando un senso al mondo; le persone vogliono tutto, con il mas-simo comfort ed il minimo sforzo. Ci`o ha guidato tra le altre cose anche la miniaturizzazione dei dispositivi, che amplificano i poteri dell’uomo senza intralciare o mettere disordine nella sua vita.
Pianeta:
L’amplificazione dei poteri umani mediante le nuove scoperte tecnolo-giche ha portato ad un incremento della socializzazione; l’incremento di contatti tra differenti gruppi di persone ha fatto si che esse realiz-zassero quante aspirazioni condividono, e ci`o ha portato a grandi mi-glioramenti per l’umanit`a, come ad esempio l’abolizione della schiavit`u, la diffusione della democrazia e l’emancipazione di molti gruppi sociali precedentemente discriminati. Questi grandi cambiamenti hanno rap-presentato la forza guida allo sviluppo di nuovi dispositivi, nati con lo scopo di eseguire i compiti che una volta venivano effettuati da schiavi o servi; dato che gli scienziati sono stati costretti ad interrompere le ri-cerche riguardo a sistemi intelligenti biologici, per via di problemi etici e sociali, l’ambient intelligence pu`o rappresentare il prossimo naturale passo per amplificare le abilit`a umane, garantendo comfort e libert`a di movimento in un’ottica pi`u civile. Un altro contributo che l’AmI pu`o portare al pianeta `e la miglior cura per l’ambiente; numerosi nuovi
CAPITOLO 3. AMBIENT INTELLIGENCE
sviluppi ecologici sono possibili integrando elettronica intelligente nel-l’ambiente, come ad esempio cassonetti che possono comunicare se sono pieni e pertanto devono essere svuotati al prossimo turno di raccolta della spazzatura, oppure sistemi context-aware che possono determina-re se ci sono perdite di energia e contemporaneamente possono ridurdetermina-re i consumi inutili, oppure ancora sensori in grado di controllare l’inqui-namento e lo scarico incontrollato di prodotti di scarto. Questi sono solo pochi esempi di una lunga lista di realistiche possibilit`a.
Profitto:
L’ambient intelligence pu`o contribuire allo sviluppo di nuove economie in grado di aumentare la ricchezza di tutte le persone nel mondo; Gil-more e Pine hanno descritto una nuova economia, definita experience economy[11], posizionandola a fianco delle classiche economie basate su beni, prodotti e servizi. Per chiarire il concetto, pensiamo al ruolo mutevole del caff`e nell’economia; inizialmente veniva spedito in giro per il mondo come un bene, per il quale veniva assegnato un prezzo. Successivamente qualcuno pens`o di tostarlo ed impacchettare i semi vendendolo come prodotto, ovviamente aumentandone il prezzo; dopo-dich`e qualcuno pens`o di aggiungere acqua calda al caff`e offrendolo gi`a pronto, offrendo quindi un servizio con l’obiettivo di alzare ancora il prezzo. Infine, bere una tazza di caff`e in cima alla torre Eiffel stai vi-vendo una esperienza, e pertanto il prezzo aumenta nuovamente. La premessa dietro all’experience economy `e che alcune persone sono di-sposte a spendere soldi in cambio di certe esperienze; una propriet`a saliente di una esperienza `e che pu`o essere percepita come reale sia che venga generata da una causa reale che da una virtuale. Ricordi di situazioni passate possono far provare vecchie e piacevoli sensazioni, ed un mondo virtuale in un ambiente AmI pu`o permettere di rivivere questi momenti.
Dato che l’ambient intelligence ha come obiettivo quello di offrire tec-nologie che circondano le persone, `e importante fronteggiare gli aspetti che
CAPITOLO 3. AMBIENT INTELLIGENCE
queste nuove tecnologie possono avere sugli esseri umani dal punto di vista etico. Una tipica domanda da porsi `e se l’ambient intelligence potr`a essere sviluppato in modo da essere una tecnologia di cui fidarsi; se le persone non saranno disponibili ad adattarsi alla situazione di essere continuamente mo-nitorate dall’ambiente dove vivono, indipendentemente dal fatto che lo scopo di un sistema di AmI sia quello di prendersi cura di loro, le probabilit`a che questa tecnologia sia accettata saranno minime. Molto dipender`a dai benefi-ci funzionali offerti da questi ambienti, e dalla loro capabenefi-cit`a di interagire con le persone nel modo pi`u naturale possibile. Un altro aspetto chiave `e rap-presentato dalla sicurezza; dato che il sistema conterr`a una grande quantit`a di informazioni personali `e assolutamente necessario che esso non sia vulne-rabile ad intrusioni esterne. Anche il fatto che un sistema di questo tipo, in grado di prendere decisioni autonomamente, possa far si che l’utente perda il controllo rappresenta una potenziale fonte di preoccupazione.
Un’altra questione importante riguarda il desiderio di incorporare dispo-sitivi ambient intelligent all’interno dei nostri corpi; gli scienziati hanno gi`a incorporato alcune forme di intelligenza nei vestiti, e le persone con problemi di cuore hanno provato di persona i vantaggi offerti da un pacemaker, ma la strada da percorrere prima che le persone accettino l’impianto di chip nel corpo per scopi non medici `e ancora lunga.
Una questione meno ovvia, ma ugualmente importante, riguarda la realt`a e come essa sia percepita dalle persone; studi condotti dal sociologo france-se Jean Baudrillard [12] sostengono che la tradizionale relazione tra media e realt`a `e stata rovesciata, pertanto i media non sono visti pi`u semplicemente come lo specchio della realt`a ma come costituenti di una nuova iperrealt`a, percepita addirittura pi`u reale della realt`a stessa. Questo fa sorgere una se-rie di quesiti; le persone, abituandosi ad interagire con l’ambient intelligence, cambieranno il modo di interagire tra di loro? Se vivranno pi`u esperienze nel mondo reale tramite la tecnologia che attraverso le proprie azioni, le esperien-ze accumulate tramite quest’ultime saranno meno importanti? L’iperrealt`a sar`a meno valida della realt`a? Dov’`e il confine tra realt`a e immaginazio-ne? Anche se le discussioni di natura filosofica non interessano gli scienzati,
CAPITOLO 3. AMBIENT INTELLIGENCE
nel caso in cui l’AmI prenda piede tali questioni dovranno essere affrontate meticolosamente.
3.6
Conclusioni
Il nuovo paradigma AmI pu`o portare ad una rivoluzione nel design, aspet-to ed uso dell’elettronica nella vita. Pu`o supportare e facilitare semplici e ricorrenti compiti, ma pu`o portare a una cultura molto differente da quella odierna; questa nuova cultura potrebbe portare ad un mondo in cui esperienze reali e virtuali si uniranno per supportare libert`a di espressione, produttivit`a negli affari e stili di vita personali.
La tecnologia non `e pi`u un fattore limitante nel realizzare ambienti in-telligenti; gli ingredienti che permettono di far scomparire i computer sono gi`a disponibili, ma il vero successo del paradigma dipender`a dall’abilita di sviluppare concetti che permettano l’interazione naturale con questi ambienti digitali. Il ruolo degli algoritmi intelligenti `e evidente, in quanto rappresen-tano il fattore chiave che permette la realizzazione di forme di interazione il pi`u naturali possibile; la tesi vuol rappresentare proprio un primo passo in questa direzione, puntando principalmente verso l’integrazione tra domoti-ca ed apprendimento automatico nell’ottima di anticipare le necessit`a degli utenti.
Sono stati presi in considerazione i pi`u conosciuti metodi di apprendimen-to auapprendimen-tomatico, che saranno introdotti nel prossimo capiapprendimen-tolo; tali approcci sono stati studiati e valutati in modo tale da stabilire se possano adattarsi alle esigenze della tesi.
Capitolo 4
Machine Learning
Il Machine Learning, in italiano Apprendimento Automatico, pu`o essere definito come l’insieme di principi, metodi e algoritmi per l’apprendimento e la predizione di comportamenti mediante l’esperienza. Scopo del Machine Learning `e ottenere programmi che migliorino le performance nella risoluzio-ne di un compito tramite l’esperienza accumulata precedentemente, oppure inferire un modello o approssimare una funzione non nota a partire dai dati a disposizione.
Questo approccio permette di affrontare problemi non risolubili con tec-niche tradizionali; ad esempio se abbiamo una assenza o incompletezza di teoria che giustifichi un dato fenomeno `e ugualmente possibile inferire un modello predittivo a partire da dati rappresentativi dello stesso. Ovviamen-te tale approccio non `e indicato per risolvere problemi con modelli analitici o formalizzazione algoritmica nota, ma permette di estendere la classe dei problemi trattabili in informatica.
Solitamente abbiamo un modello, definito in base ad alcuni parametri, e l’apprendimento consiste nell’esecuzione di un programma che ha il compito di ottimizzare tali parametri in base all’esperienza passata. I modelli possono essere predittivi, se hanno come obiettivo predire il futuro, oppure descrittivi, se hanno come obiettivo l’apprendimento di conoscenza dai dati noti.
CAPITOLO 4. MACHINE LEARNING
4.1
Definizione
Vediamo formalmente cosa si intende con apprendimento:
‘A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.’ [13, pag. 2]
‘Machine Learning is programming computers to optimize a per-formance criterion using example data or past experience.’ [14, preface]
Un problema di Apprendimento Automatico ben posto prevede che siano definite:
• una classe di compiti T;
• una misura di performance P relativa alla risoluzione dei compiti; • l’esperienza E.
L’obiettivo `e quindi avere un programma che, data una classe di compiti T, migliora le performance P nella risoluzione di T tramite l’esperienza E accumulata precedentemente.
Una definizione alternativa, ma ugualmente generale `e la seguente:
‘Learning is the process of estimating an unknown (input, output) dependency or structure of a System using a limited number of observations.’ [15, pag. 21]
CAPITOLO 4. MACHINE LEARNING
In questo caso un generico scenario di apprendimento involve un Generatore di vettori casuali di input, un Sistema che restituisce un output relativo al dato vettore di input e una Learning Machine che stima un mapping tra l’input e l’output del sistema dagli esempi di input e output osservati.
4.2
Realizzazione di un sistema per
l’appren-dimento
Nella realizzazione di un sistema per l’apprendimento, la prima scelta di design da prendere riguarda la fase di allenamento mirata all’acquisizione dell’esperienza dalla quale il nostro sistema dovr`a apprendere. Il tipo di esperienza disponibile per questa fase ha un notevole impatto sul processo di apprendimento. Esistono alcuni punti chiave ai quali prestare attenzione:
• l’esperienza di allenamento pu`o fornire un feedback diretto o indiretto per guidare le scelte fatte dal sistema di valutazione delle performance. Per esempio, nell’apprendere quale sia la miglior mossa da effettuare in una partita di scacchi, il sistema potrebbe apprendere direttamente da esempi di allenamento contenenti lo status corrente della scacchiera e la mossa corretta da effettuare, oppure potrebbe apprendere indiret-tamente da sequenze di mosse associate con il corrispondente risultato finale.
• dobbiamo definire come viene effettuata l’analisi delle sequenze di esem-pio nel processo di allenamento; tornando all’esemesem-pio degli scacchi, l’allievo pu`o far affidamento sull’istruttore apprendendo direttamente la miglior mossa relativa allo stato corrente della scacchiera, oppure chiedere all’istruttore la miglior mossa relativa ad uno stato della scac-chiera che trova particolarmente confuso, oppure alternativamente non avere un istruttore ed apprendere le migliori mosse giocando contro se stesso.
CAPITOLO 4. MACHINE LEARNING
• dobbiamo prestare notevole attenzione alla distribuzione degli esempi di allenamento, in modo che questi rispecchino il pi`u fedelmente possibile gli scenari futuri; sempre riferendoci all’esempio degli scacchi, avere solo esempi di allenamento ottenuti giocando contro se stessi pu`o far si che non vengano presi in considerazioni alcuni stati della scacchiera che sono invece comuni giocando contro un altro giocatore.
Il passo successivo prevede la definizione di che tipo di conoscenza verr`a acquisita dal sistema, e come questa sar`a utilizzata dal programma. Pu`o risultare utile ridurre il problema del miglioramento delle performance P nel-la risoluzione di una famiglia di compiti T nelnel-la definizione di una funzione obiettivo. Questa funzione obiettivo deve essere operazionale, cio`e deve risol-vere il compito in un periodo di tempo accettabile; esse si distinguono dalle funzioni non operazionali, che necessitano di un periodo di tempo troppo lungo per restituire un risultato e pertanto devono essere scartate.
Apprendere una buona funzione obiettivo operazionale spesso pu`o risul-tare impossibile, pertanto ci accontentiamo di ottenerne una approssimazio-ne ragioapprossimazio-nevole; definiamo la prima funzioapprossimazio-ne obiettivo ideale, e la seconda funzione obiettivo approssimata o ipotesi.
Una volta definita la funzione obiettivo `e necessario specificare come essa sia rappresentata, cio`e come il programma di apprendimento descriver`a la funzione obiettivo approssimata che verr`a appresa. Questa scelta `e centrale nel design del sistema di apprendimento; potremo essere tentati di scegliere una rappresentazione potente ed espressiva in modo da poter approssimare la funzione obiettivo al meglio, ma ci`o render`a necessaria una fase di allena-mento computazionalmente pi`u pesante e necessiter`a di una ben pi`u ampia mole di dati di esempio che non sempre sono disponibili.
L’ultimo passo consiste nella scelta di quale algoritmo utilizzare per ap-prossimare la funzione obiettivo; l’algoritmo avr`a il compito di approssimare i valori che la funzione obiettivo assume sugli esempi di allenamento ottenuti dall’esperienza disponibile, ed utilizzarli per modificare la funzione obiettivo
CAPITOLO 4. MACHINE LEARNING
approssimata in modo tale da ottenere risultati il pi`u vicini possibile a quelli restituiti dalla funzione obiettivo ideale.
Una volta ottenuta una approssimazione della funzione obiettivo sulla base degli esempi di allenamento disponibili `e necessario testare il sistema di apprendimento ottenuto su nuovi dati, in modo da poter confrontare i risultati generati con quelli voluti ed avere quindi una stima dell’accuratezza ottenuta; questa fase `e chiamata validazione. La fase di validazione `e fonda-mentale perch`e permette di stabilire se il sistema ha una buona capacit`a di generalizzazione anche al di fuori dei risultati ottenuti sui dati di allenamento. Le fasi precedentemente elencate vengono ripetute in ordine finch`e non otteniamo un sistema di apprendimento consono alle nostre aspettative; pos-siamo dire che esse compongono una iterazione del design cycle. Analizziamo nello specifico ogni fase del design cycle.
4.2.1
Collezione e rappresentazione dei dati di esempio
Come abbiamo gi`a specificato in precedenza, l’insieme degli esempi deve essere grande abbastanza per eseguire efficacemente la fase di allenamento e quella di validazione e valutazione. L’esperienza a disposizione pu`o essere memorizzata in molti modi; ad esempio potremo avere dei vettori a dimen-sione fissa di caratteristiche (feature), organizzati in singole tabelle di tuple, oppure dei dati strutturati a dimensione variabile tipo liste, alberi, grafi, DB relazionali.
Indipendentemente dalla loro struttura, i dati di esempio devono passare per una fase di preprocessing in modo da risolvere i seguenti problemi:
Rumore:
I dati a disposizione, specialmente se sono ottenuti da fonti analogi-che, possono essere affetti da rumore non prevedibile portato da fattori esterni all’informazione da rilevare.
CAPITOLO 4. MACHINE LEARNING
Outliers:
Gli outlier sono dati con valori non usuali che sono totalmente inconsi-stenti con gli altri a disposizione, probabilmente dovuti ad errori nella misura; essi vanno identificati e rimossi (Outlier Detection).
Feature Selection:
Spesso i dati di esempio a disposizione hanno un gran numero di carat-teristiche irrilevanti per i nostri scopi, pertanto possiamo selezionarne un piccolo numero in modo da rappresentare pi`u efficacemente il nostro problema di apprendimento.
Possono essere presenti anche altre fasi di preprocessing, ad esempio se `e necessario scalare i valori delle variabili (variable scaling) oppure se alcune delle caratteristiche selezionate sono mancanti per alcuni esempi. Spesso la fase di preprocessing `e la pi`u critica perch`e il nostro sistema apprenda con successo a risolvere un compito.
4.2.2
Scelta del modello adatto al problema
La scelta del modello pi`u appropriato per risolvere una data famiglia di compiti `e ovviamente guidata dal tipo di problema da risolvere. I problemi da risolvere possono essere ricondotti alle seguenti tipologie di apprendimento: Apprendimento Supervisionato:
Nell’apprendimento supervisionato abbiamo esempi di allenamento eti-chettati per una funzione sconosciuta, e ricerchiamo una buona appros-simazione della funzione stessa; con altre parole possiamo dire di avere coppie <input, output>) e l’obiettivo `e quello di apprendere il mapping da input ad output.
Apprendimento non Supervisionato:
Nell’apprendimento non supervisionato non abbiamo esempi di allena-mento etichettati, e l’obiettivo `e quello di trovare relazioni, raggruppa-menti tra dati simili.