Università degli Studi di Salerno Facoltà di Scienze Matematiche, Fisiche e Naturali. Tesi di Laurea in INFORMATICA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli Studi di Salerno Facoltà di Scienze Matematiche, Fisiche e Naturali. Tesi di Laurea in INFORMATICA"

Transcript

1 Università degli Studi di Salerno Facoltà di Scienze Matematiche, Fisiche e Naturali Tesi di Laurea in INFORMATICA Un framework SOA per le Aste Combinatoriali RELATORE: Chiar.mo Prof. Vincenzo Auletta CANDIDATO: Amelio Francesco Matr: 556/ ANNO ACCADEMICO

2 A tutte le persone a me care. Un grazie per avermi sostenuto nei momenti difficili. Un doveroso ringraziamento anche al prof. Auletta la cui esperienza e professionalità mi saranno di esempio e stimolo per il futuro. 1-2

3 Introduzione Un asta consiste fondamentalmente nel processo di vendere e acquistare beni in situazioni di indeterminazione dei prezzi. Questo consiste principalmente in tre momenti: - mostrare i beni; - ricevere le offerte; - assegnare i beni al miglior offerente. La teoria delle aste è molto studiata nell ambito della micro-economia poiché le aste sono uno strumento fondamentale per l implementazione di transazioni in ambito concorrenziale. Alcuni tipi più comuni di asta sono i seguenti: - Asta inglese: in questo tipo di asta i partecipanti inviano pubblicamente le offerte una dopo l altra in modo tale che il prezzo di ogni offerta è superiore a quello della precedente. L asta termina quando nessun partecipante vuole più fare offerte o quando viene raggiunto un certo prezzo soglia. Il venditore, inoltre, può scegliere un certo prezzo di riserva che, nel caso non venga raggiunto, può comportare l annullamento dell intero processo di vendita. - Asta olandese: nella tradizione olandese le aste iniziano con un prezzo alto che viene poi ribassato dal banditore fino a quando un partecipante non lo accetta. Il partecipante paga l ultimo prezzo annunciato. 1-3

4 - Sealed-bid con first-price: in questo tipo di asta tutti gli offerenti sottopongono contemporaneamente le offerte in modo che nessun partecipante conosca le offerte degli altri. L offerente che ha presentato l offerta più alta, paga il prezzo da lui sottoposto. - Sealed-bid con second-price (conosciute anche come aste di Vickrey): questo tipo di asta è uguale alla precedente con la differenza che il vincitore paga il secondo prezzo più alto invece del prezzo dell ultima offerta. Internet è ormai diventato il mezzo principale per effettuare scambio di informazioni e transazioni commerciali. Proprio questo uso di internet ha fatto accrescere l interesse verso le aste e verso le sue nuove applicazioni. Molti meccanismi ed applicazioni pratiche che vedremo in seguito fanno uso, infatti, delle aste per venire incontro a varie esigenze. Proprio nell ottica di internet, negli ultimi anni è nato un nuovo tipo di asta, denominata asta on-line in cui le regole sono leggermente differenti. Un asta on-line è un processo in cui utenti inviano offerte su prodotti o servizi attraverso la rete internet. L utilizzo della rete internet per pubblicare le aste, come tramite per l invio di offerte, elimina alcune delle costanti presenti nella aste tradizionali in cui le offerte venivano fatte in diretta al banditore. Ad esempio, non esiste più alcun limite geografico poiché le offerte possono pervenire da qualsiasi parte del mondo e i vincoli temporali, sull arrivo delle offerte, sono allargati perché, a causa del fuso orario, le offerte possono arrivare in momenti differenti. Alcuni vantaggi delle aste on-line sono i seguenti: 1-4

5 - Disponibilità. Le offerte possono pervenire in qualsiasi momento, 24 ore su 24. Solitamente gli oggetti vengono mostrati per un periodo che va da 1 a 10 giorni (a discrezione del venditore) in modo da dare agli acquirenti il tempo di visualizzare l asta e di inviare l offerta. - Nessun vincolo geografico. I venditori e gli offerenti possono partecipare da qualsiasi parte del mondo. Questo fa si che l asta abbia un audience più ampio aumentando così il numero di potenziali offerenti. - Elevata interazione sociale. L intensità dell interazione in questo tipo di asta è molto simile a quella che si ha con i giochi d azzardo. Gli offerenti fremono nell attesa di conoscere l esito dell asta e sono quindi invogliati a partecipare più attivamente al gioco. - Mercato globale. Il largo numero di offerenti incoraggia i venditori a creare un asta; a sua volta i venditori incoraggiano più offerenti, creando così una sorta di circolo vizioso che coinvolge sempre più persone. Il sito più comune dove è possibile effettuare aste on-line è ebay.com il quale mette a disposizione degli utenti una piattaforma per creare aste. Il sito fornisce una semplice, ma funzionale interfaccia per creare aste e per mostrare ai potenziali offerenti le caratteristiche dell oggetto in vendita. Il venditore può configurare un prezzo di riserva e definire una scadenza per l arrivo delle offerte (da 1 a 10 giorni). Una volta che il tempo limite per l arrivo delle offerte è trascorso, l offerente che ha inviato l offerta migliore si aggiudica l oggetto. Il banditore (in questo caso lo stesso 1-5

6 sito ebay.com) guadagna, da questa transazione, una percentuale sul prezzo di vincita che può variare in base al valore dell oggetto e ad altre caratteristiche. Le piattaforme per aste on-line attualmente più diffuse si prestano bene alla vendita di singoli oggetti; ma cosa succede se un venditore vuole mettere all asta un insieme di oggetti contemporaneamente? Il venditore potrebbe creare più aste, una per ogni oggetto in vendita e aspettare che pervengano offerte su ognuna di queste. Vedremo che questa non è sicuramente una buona soluzione perché non porta ad una buona efficienza economica. Proprio per gestire situazioni in cui si vendono più oggetti, già a partire dagli anni 60, alcuni dei più noti economisti e studiosi di micro-economia come Vickrey, Clarke e Groves hanno studiato il meccanismo alla base di un nuovo tipo di asta, chiamata asta combinatoriale. La natura combinatoriale di questo tipo di asta permette di vendere più oggetti e di sottoporre offerte su combinazioni di essi e non solo su singoli oggetti. Per esempio un offerente può essere disposto ad offrire 20 per acquistare una maglietta rossa o una maglietta gialla ma non è disposto a pagare più di 25 per tutte e due. In generale possiamo dire che un asta combinatoriale permette di esprimere complementarietà (un offerta su una combinazione di oggetti vale di più della somma delle offerte sui singoli oggetti presi separatamente) oppure sostituibilità (un offerta su una combinazione di oggetti vale meno della somma delle offerte sui singoli oggetti presi separatamente). 1-6

7 In queste situazioni, le aste combinatoriali sono desiderabili poiché permettono agli offerenti di esprimere le loro reali valutazioni sulle possibili combinazioni di oggetti e di conseguenza portano ad un allocazione più efficiente. In ogni caso, questo tipo di aste, nonostante rappresentino l ideale in molte situazioni, non vengono ancora usate in larga scala (ad esempio ebay.com non le supporta) perché soffrono di alcuni problemi legati alla difficoltà computazionale di trovare un allocazione ottima. Il problema dell allocazione di un asta combinatoriale viene solitamente formalizzato in un problema di programmazione lineare noto con il nome di SET- Packing che è stato dimostrato essere NP-Completo (verificabile in tempo polinomiale e a cui qualsiasi linguaggio in NP si può ridurre in tempo polinomiale). Proviamo ora a considerare alcune delle applicazioni principali che questo tipo di asta ha avuto e potrà avere. - Assegnazione di spettri di frequenze. In queste aste un ente pubblico mette in vendita licenze per la comunicazione cellulare, per le radio o per le Wireless Lan. La più semplice applicazione delle aste combinatoriali a questo tipo di problema potrebbe essere quella di mettere tutte le licenze, divise anche per zone geografiche, su un unico piatto e stare a vedere che cosa i partecipanti hanno nel proprio sacco dei desideri e soprattutto quanto sono disposti a pagare. In Italia, il Ministero delle Comunicazioni, di recente, ha usato un meccanismo d asta per allocare le licenze UMTS. Gli operatori di telefonia si sono 1-7

8 aggiudicati le licenze suddivise su varie zone geografiche attraverso un particolare meccanismo d asta che da una parte massimizzava il profitto, dall altra tendeva ad assegnare le licenze più importanti agli operatori con progetti più interessanti. Anche per l assegnazione di licenze per il Wireless Local Loop (WLL) lo Stato potrebbe scegliere nuovamente un meccanismo d asta e proporre un asta di tipo combinatoriale. - Assegnazione di voli. Immaginiamo la situazione in cui una compagnia aerea internazionale abbia tre linee aeree che fanno rispettivamente le tappe: 1. Napoli Roma 2. Roma Londra 3. Londra New York. Se la compagnia volesse massimizzare i guadagni, potrebbe pensare di mettere all asta i posti disponibili per ogni linea in un'unica fase. Un offerente diretto da Napoli a Londra potrebbe offrire 500 per ottenere un posto sulla linea 1 e sulla linea 2, ma non sarebbe disposto a pagare nulla per i singoli voli. Un altro offerente potrebbe offrire 600 per la linea 2 e 3 e niente per la prima e così via. In questo modo la compagnia, una volta ricevute le offerte, potrà assegnare i posti in modo da massimizzare il proprio profitto oppure minimizzare il numero di voli (e quindi il costo di carburante e del personale). - Mercati elettrici. In questo scenario possiamo immaginare una o più aziende produttrici di energia elettrica e dei distributori interessati alla rivendita della stessa. I distributori inviano offerte sulle porzioni di energia (ad esempio 1-8

9 espresse in megawatt/ora) a seconda delle loro esigenze, poi il produttore assegna le sue risorse energetiche in modo da massimizzare il profitto. Consideriamo ora una caratteristica che viene solitamente data per scontata quando si parla di aste. Fino ad ora abbiamo sempre parlato di aste in cui il banditore vuole ottenere un profitto massimo. Ci sono situazioni in cui il venditore non vuole massimizzare il profitto ma, ad esempio, vuole massimizzare il benessere sociale. Immaginiamo una situazione in cui un ente statale abbia dei beni e che voglia metterli a disposizione dei cittadini usando un asta, in questo caso è ipotizzabile che lo stato voglia distribuire i beni non tenendo solo conto del guadagno, ma anche di altri fattori come il benessere pubblico o l equità. Uno degli obiettivi principali, che ci siamo posti nel nostro lavoro, è stato quello di non trascurare questi casi (in cui non si vuole massimizzare il profitto) e considerare la possibilità che venga richiesta un allocazione di tipo differente. Differenti tipi di allocazioni possono tener conto di altre funzioni di ottimizzazione come la massima assegnazione degli oggetti, la massima soddisfazione dei partecipanti etc. La mancanza di una piattaforma online per la gestione delle aste combinatoriali ci ha spinti a progettare un framework con architettura service oriented (Web Service) per sopperire a questo deficit. Abbiamo quindi realizzato un framework generico per gestire le aste combinatoriali concentrandoci principalmente sulle problematiche relative alla rappresentazione delle offerte (vedi capitolo 2. ) ed in modo tale che la sezione 1-9

10 specifica per l allocazione potesse essere facilmente estesa in futuro. Infatti, nel framework sarà possibile aggiungere e configurare differenti algoritmi di allocazione ed ogni asta potrà essere configurata con uno di essi al fine di ottenere uno specifico obiettivo. Oltre al vantaggio di poter differenziare gli obiettivi di allocazione, la piattaforma potrà servire da test per nuove implementazioni di algoritmi di allocazione e per valutarne l efficienza (computazionale ed economica). Uno dei problemi, incontrati nella progettazione è stato quello della rappresentazione delle offerte; infatti ottenere genericità e allo stesso tempo potenza espressiva è un problema abbastanza difficile. Per comprendere la potenzialità espressiva di un offerta consideriamo un semplice esempio. Supponiamo di avere un asta con 4 oggetti: Item1, Item2, Item3, Item4; un offerente può esprimere la volontà di ottenere la coppia di oggetti (Item1, Item2) oppure (Item3, Item4), ma non tutte e due le coppie insieme (esclusività). Questo tipo di offerta permette si una maggiore espressività, ma potrebbe complicare di molto il compito dell allocatore che dovrebbe tener presente anche il vincolo di esclusività tra le due coppie. Proprio per evitare di appesantire l algoritmo di allocazione, nel capitolo 2. verrà trattato un linguaggio per esprimere offerte, denominato OR*, che fa uso di oggetti fittizzi (dummy item) per esprimere coercizioni. La tesi è stata divisa in tre parti: Parte 1 (Aste) 1-10

11 Capitolo 1 (Aste combinatoriali) Trattiamo qui concetti legati al mechanism design che servono di base per comprendere la teoria delle aste combinatoriali ed i problemi legati agli agenti egoisti. Successivamente diamo definizioni e proprietà generali delle aste ed il modello matematico generale. Capitolo 2 (Offerte ed allocazione) Affrontiamo le problematiche relative alla rappresentazione delle offerte. Vedremo le possibili valutazioni di un offerente e poi esamineremo vari linguaggi per esprimere offerte fino ad arrivare al linguaggio OR* scelto per esprimerle. Infine esamineremo la formulazione sotto forma di PLI del problema dell allocazione. Parte 2 (Web Service) Capitolo 3 (Architettura di un Web Service) In questo capitolo descriviamo l architettura generale di un applicazione SOA e i vantaggi derivanti dall uso di questo tipo di architettura in termini di interoperabilità e dinamicità. Capitolo 4 (SOAP - Simple Object Access Protocol) In questo capitolo descriviamo il protocollo SOAP per lo scambio di messaggi tra i peers dell architettura SOA. In particolare vedremo in che modo avviene la codifica dei dati e delle RPC. Capitolo 5 (WSDL - Web Service Description Language) 1-11

12 Vedremo il WSDL come tecnologia standard usata per descrivere le funzionalità di un Web Service. Analizzeremo la struttura generale di un documento WSDL e poi descriveremo, in dettaglio, le sue parti con un semplice esempio. Capitolo 6 (AXIS - Apache Extensible Interaction System) In questo capitolo verrà descritta l architettura di AXIS e le sue funzionalità di codifica; successivamente verranno esaminati gli strumenti che AXIS mette a disposizione dei programmatori per facilitare l implementazione di un Web Service. Parte 3 (Il framework) Capitolo 7 (Combinatorial Auction Web Service) In questo capitolo vengono definiti i criteri di progettazione seguiti nel lavoro e poi verrà descritta l architettura del framework. Negli ultimi paragrafi verranno esaminate le fasi di installazione e di configurazione e la gestione modulare degli algoritmi di allocazione. Capitolo 8 (Casi studio) In questo capitolo vedremo dei casi d uso del framework ed in particolare alcuni esempi di algoritmi di allocazione implementati. Capitolo 9 (Appendice) Nell appendice vi sono i codici sorgenti del framework e tutti gli artefatti ad esso legati (file di configurazione, file WSDL etc). 1-12

13 Indice 1. ASTE COMBINATORIALI Introduzione Mechanism design Meccanismo Principio di rivelazione (revelation principle) Aste combinatoriali (CA) Caratteristiche Modello matematico generale Il meccanismo di Vickrey-Clarke-Groves OFFERTE E ALLOCAZIONE Caratteristiche Valutazioni Valutazioni simmetriche Valutazioni asimmetriche Linguaggi per esprimere offerte Offerte Single Minded (in [NISAN99] chiamate atomic bid) Offerte OR Offerte XOR Offerte OR-of-XOR Offerte XOR-of-OR Offerte con formule generiche OR/XOR Offerta OR* (OR con dummy item) Linguaggi e computazione polinomiale Allocazione ARCHITETTURA DI UN WEB SERVICE Che cos è un Web Service? Architettura SOA Caratteristiche di un SOA Reperibilità e binding dinamico Modularità e indipendenza dei servizi Interoperabilità dei servizi Accoppiamento debole (loose coupling) Indirizzabilità da rete Completezza del dominio di applicazione Aggregabilità Ripristino automatico dagli errori Livelli e tecnologie di un Web Service Discovery

14 3.4.2 Description Packaging Transport Network Application SIMPLE OBJECT ACCESS PROTOCOL (SOAP) Messaggi SOAP Modello per lo scambio di messaggi SOAP Codifica dei dati (SOAP encoding) Tipi di dati semplici Array Valori nulli SOAP ed RPC (Remote Procedure Call) Codificare chiamate RPC Codificare risposte RPC SOAP fault SOAP fault code Fault mustunderstand WEB SERVICE DESCRIPTION LANGUAGE (WSDL) Struttura di un documento WSDL Descrizione astratta Descrizione concreta Un esempio: commercio elettronico L interfaccia Definizione dei tipi Definizione dei messaggi La descrizione dell interfaccia astratta del servizio Il binding Descrivere dove il servizio è reperibile Come usare un WSDL Early binding Late binding AXIS (APACHE EXTENSIBLE INTERACTION SYSTEM) Architettura di AXIS Handler e chain Percorso del messaggio lato server Percorso del messaggio lato client Creazione e deploy di un servizio JWS-deploy WSDD-deploy

15 6.3 Implementazione del client Client con invio di header Codifica dei dati Codifica personalizzata Costruire un handler Eccezioni e fault Tool WSDL2Java CAWS (COMBINATORIAL AUCTION WEB SERVICE) Obiettivi di design Criteri di performance Criteri di affidabilità Criteri di mantenimento Architettura del sistema Sottosistemi Sottosistema di aste (it.unisa.dia.ca) Sottosistema WebService (it.unisa.dia.caws) Installazione e deploy Configurazione Logging Installazione degli algoritmi di allocazione CASI STUDIO Random allocator Greedy allocator Greedy worth allocator Indice delle figure Figura 3-1 Architettura SOA Figura 3-2 Livelli tecnologici di un Web Service Figura 4-1 SOAP envelope Figura 5-1 Struttura concettuale di un documento WSDL Figura 6-1 Percorso del messaggio lato server Figura 6-2 Sequenza del messaggio lato client Figura 7-1 Vista in tier del framework Figura 7-2 Suddivisione in due sottosistemi Figura 7-3 Sottosistema it.unisa.dia.ca Figura 7-4 Class diagram del package it.unisa.dia.ca.item Figura 7-5 Albero di espressione per l offerta (b 1 OR b 2) XOR b Figura 7-6 Class diagram del package it.unisa.dia.ca.bid Figura 7-7 Class diagram del package it.unisa.dia.ca.allocation Figura 7-8 Class diagram del package it.unisa.dia.ca.user

16 Figura 7-9 Class diagram del package it.unisa.dia.ca.storage Figura 7-10 Class diagram del package it.unisa.dia.ca.storage.xml Figura 7-11 Package it.unisa.dia.ca.utils Figura 7-12 Sequence diagram lato client per l invocazione di getauction()7-134 Figura 7-13 Sequence diagram lato server per l invocazione di getauction()7-135 Figura 7-14 Class diagram del package it.unisa.dia.caws.client Figura 7-15 Class diagram del package it.unisa.dia.caws.server Figura 7-16 Class diagram del package it.unisa.dia.caws.handlers Indice degli esempi Esempio 4-1 Utilizzo dell'attributo actor Esempio 4-2 Messaggio con attributo mustunderstand Esempio 4-3 Valore composto struttura Esempio 4-4 Valore composto array Esempio 4-5 Utilizzo di id e href Esempio 4-6 Codifica di un array in SOAP Esempio 4-7 Codifica SOAP RPC di una chiamata di metodo Esempio 4-8 Codifica SOAP RPC di una risposta Esempio 4-9 Esempio di messaggio SOAP fault Esempio 4-10 Messaggio che potrebbe causare un SOAP fault mustunderstand 4-74 Esempio 4-11 SOAP fault mustunderstand Esempio 5-1 Interfaccia JAVA del servizio di commercio elettronico Esempio 5-2 Struttura dell'elemento radice di un documento WSDL Esempio 5-3 Sezione types di un documento WSDL Esempio 5-4 Sezione porttype di un documento WSDL Esempio 5-5 Sezione binding di un documento WSDL Esempio 5-6 Sezione service di un documento WSDL Esempio 5-7 Più port con lo stesso servizio Esempio 6-1 Esempio di file JWS per un servizio di HelloWorld Esempio 6-2 Semplice file WSDD per il servizio HelloWorld Esempio 6-3 WSDD con parametro scope Esempio 6-4 File WSDD con handler e chain Esempio 6-5 Axis Client Esempio 6-6 Messaggio SOAP generato dal client Esempio 6-7 Risposta del server Esempio 6-8 Messaggio SOAP con header Esempio 6-9 Client con invio di un header Esempio 6-10 beanmapping Esempio 6-11 Mapping generico Esempio 7-1 Esempio di file di configurazione

17 Indice delle tabelle Tabella 4-1 Classi di errore standard di SOAP Tabella 6-1 Mapping tra i tipi XSD e Java Tabella 6-2 Registrazione di tipi nel client Tabella 6-3 File generati lato client da WSDL2Java Tabella 6-4 File generati lato server da WSDL2Java

18 Parte 1 Aste 1-18

19 1. Aste combinatoriali In questo primo capitolo tratteremo innanzitutto concetti legati al mechanism design che sono di base alla teoria delle aste combinatoriali ed i problemi legati agli agenti egoisti; successivamente verranno date definizioni e proprietà generali delle aste. 1.1 Introduzione Un asta consiste nella vendita di uno o più beni a più offerenti con lo scopo di ottenere un assegnazione di tali beni agli stessi. Nel caso più semplice di asta, si ha la vendita di un singolo prodotto a più offerenti. Tale asta, la più comune anche in internet (vedi ebay.com) non si presta bene all ambiente dei nuovi mercati globali. Infatti, specie nella distribuzione internazionale, quando il prezzo della merce non può essere facilmente determinato, è desiderabile utilizzare un tipo più complesso di asta in cui si vendono più tipi di beni e si effettuano offerte su una combinazione (sottoinsieme) di essi. I potenziali acquirenti, in questo modo possono esprimere al meglio le loro preferenze e contendere con altri l acquisizione dei beni. Questo tipo di asta, viene chiamata asta combinatoriale (in seguito chiamata CA) proprio perché le offerte vengono fatte su combinazioni di beni. Di qualsiasi tipo di asta si parli, esistono sostanzialmente due modalità per sottoporre le offerte al banditore: 1-19

20 1. Pubblicamente: le offerte arrivano in ordine sequenziale al banditore e a tutti gli offerenti. Ogni nuova offerta presenta un prezzo maggiore del precedente. In questo caso, se gli offerenti sono razionali, l asta termina quando si raggiunge un prezzo approssimativamente uguale al secondo prezzo più alto proposto (le ultime offerte aumentano di poco il prezzo). [VICK61] 2. Privatamente (sealed-bid): le offerte vengono inviate direttamente al banditore e non vengono annunciate pubblicamente. In questo modo l unica entità che conosce le offerte è l offerente stesso. La scelta di una o l altra modalità può influenzare sia le strategie adottate dagli offerenti, sia l esito finale dell asta. Visto che a volte nelle aste è possibile che i giocatori adottino strategie egoistiche è opportuno che un asta rimanga valida. Un asta si definisce valida se soddisfa le seguenti proprietà [RON01]: 1. Incentive Compatibility (IC) secondo questa proprietà ciascun bidder possiede una strategia dominante, cioè una strategia che egli ritiene essere la migliore (di solito massimizza il suo profitto rispetto alle scelte degli altri partecipanti); 2. Individual Rationality (IR) per essa il profitto di un bidder, che si comporta in accordo alla propria strategia dominate, è sempre non negativo. 1-20

21 1.2 Mechanism design 2 Quando si ha a che fare con situazioni in cui i partecipanti ad un gioco (nel nostro caso ad un asta) si comportano in maniera egoistica, è necessario adottare un modello formale per la progettazione degli algoritmi. Tale modello formale [NISRON95] fa uso di teorie della micro-economia e nozioni derivanti dal mechanism design. Secondo il modello ogni partecipante (o agente) ha una funzione di utility che esprime le sue preferenze sui possibili risultati del gioco (o output dell algoritmo); inoltre si presuppone che ogni agente agisca in modo da ottimizzare la funzione di utility a suo favore. Definizione (Mechanism Design Problem) [NISRON95] Un mechanism design problem è dato da un output specification e da un insieme di utilities degli agenti. In particolare: 1) Ci sono n agenti, per ciascun agente i viene specificato un insieme di possibili input privati t i Θ i (chiamati i suoi tipi). I tipi di un agente sono le sole informazioni private nel meccanismo; 2) L output specification consiste nell associare ciascun vettore di tipi t=t 1,,t n ad un insieme di output ammissibili o O; 3) Le preferenze di ciascun agente i, sono espresse da una funzione reale: v i (t i,o), chiamata valutazione dell agente. Questa funzione esprime quale è il 2 Per maggiori informazioni sul campo del mechanism design di consiltino [MCWG95], [MKDS], [OSRU94]. 1-21

22 valore di i, in base ad una qualche valuta comune, nel caso in cui l output è o e il tipo di i è t i. Questo significa che se l output è o e in aggiunta il meccanismo richiede ad i p i unità della suddetta valuta, allora l utility di i sarà u i =p i +v i (t i, o). Questo u i è il valore che gli agenti tentano di ottimizzare. Il campo del mechanism design è importante anche per quanto riguarda l implementazione delle aste poiché spesso la progettazione parte dall implementazione di un mechanism. Il problema delle aste è un problema di ottimizzazione, quindi l output specification consisterà nell ottimizzare una data funzione obiettivo. Definizione (Mechanism Design Optimization Problem) Un mechanism design optimization problem è un mechanism design problem in cui l output specification è dato da una funzione obiettivo reale positiva f(o,t) e un insieme di output ammissibili F. Un mechanism design optimization problem può essere: exact quando si richiede un output o F che massimizzi f. approximate quando si richiede un o F tale che per ogni altro output o F, f(o, t) c f(o, t), dove c è un fattore costante Meccanismo Quando i vari agenti partecipanti ad un gioco o nel nostro caso specifico ad un asta si comportano in maniera egoistica, si rende necessario utilizzare un meccanismo in modo da rendere le utilities degli agenti compatibili con l algoritmo. Come notazione useremo s -i = (s 1,,s i-1,s i+1,,s n ) ed (s i, s -i ) = (s 1,,s n ). 1-22

23 Definizione (Meccanismo) Un meccanismo m=(o,p) è composto da due elementi: una funzione di output o(), e una n-nupla di pagamenti p 1 (),,p n (). In particolare un meccanismo: 1) definisce per ciascun agente i, una famiglia di strategie S i tra cui l agente può scegliere di eseguire una s i S i ; 2) fornisce una funzione di output o = o(s 1,,s n ); 3) fornisce una funzione di pagamento per ciascun agente i: p i = p i (s 1,,s n ); 4) si dice che è un implementazione con strategia dominante se: per ciascun agente i e ciascun t i esiste una strategia s i S i, detta dominante, tale che per tutte le possibili strategie degli altri agenti s -i, s i massimizza l utility dell agente i. Cioè per ogni s i S i, se si definisce o = o (s i, s -i ), o = o(s i, s -i ), p i = p i (s i, s -i ), p i = p i (s i, s -i ), allora v i (t i, o) + p i v i (t i, o ) + p i ; per ciascuna ennupla di strategie dominanti s = (s 1,,s n ) l output di o(s) soddisfa l output specification. Un tipo particolare di meccanismo, denominato truthful, è quello in cui gli agenti dichiarano solo i loro tipi. Questo meccanismo è quello adottato nelle CA di Vickrey-Clarke-Groves. Definizione 1-4 (Meccanismo truthful) Un meccanismo è truthful se: 1-23

24 1. per tutti gli i, e tutti i t i, S i = Θ i, cioè le strategie degli offerenti, consistono nel riportare i propri tipi; 2. dire la verità è una strategia dominante, cioè s i = t i soddisfa la precedente definizione di strategia dominante. Definizione Un meccanismo è strongly truthful se dire la verità è la sola strategia dominante Principio di rivelazione (revelation principle) Un importante principio relativo al mechanism design è il principio di rivelazione. Questo principio afferma che qualsiasi meccanismo può essere convertito, senza perdita di generalità, in un particolare meccanismo diretto in cui gli agenti annunciano solo i loro tipi in un unico passo e in cui sono incentivati ad essere sinceri. Il meccanismo che fa uso del principio di revelation è denominato direct revelation mechanism ed in particolare soddisfa la proprietà 1 della definizione di meccanismo truthful data sopra. Tuttavia, da una parte adottare questo principio permette una maggiore soddisfazione sociale, dall altra la complessità computazionale è più alta del normale [SACON]. Vedremo in seguito, che il meccanismo di Vickrey-Clarke- Groves fa uso proprio del principio di rivelazione. 1.3 Aste combinatoriali (CA) Nel dizionario di gametheory.net CA viene definito così: 1-24

25 Un asta con più beni in vendita, in cui ogni offerente propone un prezzo per una collezione di beni (scelti dall offerente) invece che proporre un offerta per ogni bene separatamente. Il banditore seleziona un insieme di queste offerte in modo da ottenere il massimo guadagno ed evitando di assegnare lo stesso oggetto a più offerenti. Possibili utilizzi di questo tipo di aste possono essere: l assegnamento delle radiofrequenze in un intera regione o in una ristretta area locale; la vendita di una società in parti o in un unico blocco ad un unico offerente; la vendita di un complesso di palazzine o di singoli palazzi. Con le CA, un offerente (in seguito denominato anche bidder), riesce ad esprimere meglio le sue reali volontà e di conseguenza ciò porta ad una maggiore efficienza economica. Un bidder, ad esempio, potrebbe decidere di esprimere il concetto di complementarità (vale più una coppia di calzini che la somma del valore dei singoli calzini) oppure il suo reciproco che è la sostituibilità (vale più la singola maglietta gialla o rossa che una maglietta gialla più una rossa). Questa potenzialità espressiva aumenta notevolmente la complessità delle offerte e di conseguenza fa decadere in maniera esponenziale l efficienza dell algoritmo di allocazione che potrebbe dover elaborare un gran numero di offerte (il numero di sottoinsiemi di un insieme di dimensione n è 2 n ). A nostro avviso la definizione di gametehory.net, enunciata prima, non calza in tutte le situazioni. Non è detto, che si voglia sempre ottenere il massimo profitto del banditore, piuttosto potrebbe essere richiesta la massima soddisfazione degli offerenti o il massimo fattore di assegnamento dei beni all asta ai rispettivi 1-25

Aste a valore privato, comune e affiliato

Aste a valore privato, comune e affiliato Aste a valore privato, comune e affiliato Siano: V i = il valore di mercato che il bidder i assegna al bene v i = la valutazione soggettiva del bene, da parte dell i-esimo bidder In un asta a valore privato,

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

2 Formulazione dello shortest path come problema di flusso

2 Formulazione dello shortest path come problema di flusso Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10 Lecture 20: 28 Maggio 2010 Cycle Monotonicity Docente: Vincenzo Auletta Note redatte da: Annibale Panichella Abstract In questa lezione

Dettagli

ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA

ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA 1. RICHIAMI SULLE PROPRIETÀ DEI NUMERI NATURALI Ho mostrato in un altra dispensa come ricavare a partire dagli assiomi di

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Metadati e Modellazione. standard P_META

Metadati e Modellazione. standard P_META Metadati e Modellazione Lo standard Parte I ing. Laurent Boch, ing. Roberto Del Pero Rai Centro Ricerche e Innovazione Tecnologica Torino 1. Introduzione 1.1 Scopo dell articolo Questo articolo prosegue

Dettagli

Ricapitoliamo. Ricapitoliamo

Ricapitoliamo. Ricapitoliamo Ricapitoliamo Finora ci siamo concentrati sui processi computazionali e sul ruolo che giocano le procedure nella progettazione dei programmi In particolare, abbiamo visto: Come usare dati primitivi (numeri)

Dettagli

I beni pubblici come causa del fallimento del mercato. Definizioni e caratteristiche

I beni pubblici come causa del fallimento del mercato. Definizioni e caratteristiche I beni pubblici come causa del fallimento del mercato. Definizioni e caratteristiche (versione provvisoria) Marisa Faggini Università di Salerno mfaggini@unisa.it I beni pubblici rappresentano un esempio

Dettagli

Gli uni e gli altri. Strategie in contesti di massa

Gli uni e gli altri. Strategie in contesti di massa Gli uni e gli altri. Strategie in contesti di massa Alessio Porretta Universita di Roma Tor Vergata Gli elementi tipici di un gioco: -un numero di agenti (o giocatori): 1,..., N -Un insieme di strategie

Dettagli

Architettura SPC e porta di dominio per le PA

Architettura SPC e porta di dominio per le PA Libro bianco sulla SOA v.1.0 Allegato 2_1 Architettura SPC e porta di dominio per le PA vs 02 marzo 2008 Gruppo di Lavoro SOA del ClubTI di Milano Premessa L architettura SPC e la relativa porta di dominio

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Esistenza di funzioni continue non differenziabili in alcun punto

Esistenza di funzioni continue non differenziabili in alcun punto UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN MATEMATICA Esistenza di funzioni continue non differenziabili in alcun punto Relatore Prof. Andrea

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

i tassi di interesse per i prestiti sono gli stessi che per i depositi;

i tassi di interesse per i prestiti sono gli stessi che per i depositi; Capitolo 3 Prodotti derivati: forward, futures ed opzioni Per poter affrontare lo studio dei prodotti derivati occorre fare delle ipotesi sul mercato finanziario che permettono di semplificare dal punto

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. Universitá di Bologna

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <sacerdot@cs.unibo.it> Universitá di Bologna Linguaggi 18: Semantica della logica del prim ordine Universitá di Bologna 11/04/2011 Outline Semantica della logica del prim ordine 1 Semantica della logica del prim ordine Semantica

Dettagli

Business Process Management

Business Process Management Business Process Management Comprendere, gestire, organizzare e migliorare i processi di business Caso di studio a cura della dott. Danzi Francesca e della prof. Cecilia Rossignoli 1 Business process Un

Dettagli

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

In base alla formula di torneo adottata i tornei possono pertanto prevedere lo svolgimento di una o più partite.

In base alla formula di torneo adottata i tornei possono pertanto prevedere lo svolgimento di una o più partite. Formule di gioco La successione di mani necessarie per l eliminazione del penultimo giocatore o per la determinazione dei giocatori che accedono ad un turno successivo costituisce una partita. In base

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Business Process Modeling Caso di Studio

Business Process Modeling Caso di Studio Caso di Studio Stefano Angrisano, Consulting IT Specialist December 2007 2007 IBM Corporation Sommario Perché l architettura SOA? Le aspettative del Cliente. Ambito applicativo oggetto dell introduzione

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

1 Il criterio Paretiano e la "Nuova economia del Benessere"

1 Il criterio Paretiano e la Nuova economia del Benessere 1 Il criterio Paretiano e la "Nuova economia del Benessere" 1.1 L aggregazione di preferenze ordinali inconfrontabili e il criterio di Pareto L aggregazione delle preferenze individuali è problematica

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE

END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE DEL CLIENTE END-TO-END SERVICE QUALITY. LA CULTURA DELLA QUALITÀ DAL CONTROLLO DELLE RISORSE ALLA SODDISFAZIONE In un mercato delle Telecomunicazioni sempre più orientato alla riduzione delle tariffe e dei costi di

Dettagli

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL)

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Corso di Sistemi Distribuiti Stefano

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE Pag. 1 di 14 INDICE 1. Glossario... 3 2. il servizio SPCoop - Ricezione... 5 3. Il web-service RicezioneFatture... 8 3.1 Operazione RiceviFatture... 9 3.1.1

Dettagli

COSTI DI TRANSIZIONE (Switching costs)

COSTI DI TRANSIZIONE (Switching costs) COSTI DI TRANSIZIONE (Switching costs) Spesso la tecnologia dell informazione assume la forma di un sistema, ovvero un insieme di componenti che hanno valore quando funzionano insieme. Per esempio, hardware

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

Teoria dei giochi Gioco Interdipendenza strategica

Teoria dei giochi Gioco Interdipendenza strategica Teoria dei giochi Gioco Interdipendenza strategica soggetti decisionali autonomi con obiettivi (almeno parzialmente) contrapposti guadagno di ognuno dipende dalle scelte sue e degli altri Giocatori razionali

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

Corso di Amministrazione di Sistema Parte I ITIL 3

Corso di Amministrazione di Sistema Parte I ITIL 3 Corso di Amministrazione di Sistema Parte I ITIL 3 Francesco Clabot Responsabile erogazione servizi tecnici 1 francesco.clabot@netcom-srl.it Fondamenti di ITIL per la Gestione dei Servizi Informatici Il

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL?

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? archiviazione ottica, conservazione e il protocollo dei SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? Il software Facile! BUSINESS Organizza l informazione

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Permutazione degli elementi di una lista

Permutazione degli elementi di una lista Permutazione degli elementi di una lista Luca Padovani padovani@sti.uniurb.it Sommario Prendiamo spunto da un esercizio non banale per fare alcune riflessioni su un approccio strutturato alla risoluzione

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

Modelli Binomiali per la valutazione di opzioni

Modelli Binomiali per la valutazione di opzioni Modelli Binomiali per la valutazione di opzioni Rosa Maria Mininni a.a. 2014-2015 1 Introduzione ai modelli binomiali La valutazione degli strumenti finanziari derivati e, in particolare, la valutazione

Dettagli

UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO 2004-2005 TESI DI LAUREA

UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO 2004-2005 TESI DI LAUREA UNIVERSITA DI PISA FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA ANNO ACCADEMICO 2004-2005 TESI DI LAUREA SVILUPPO DI METODI DECONVOLUTIVI PER L INDIVIDUAZIONE DI SORGENTI INDIPENDENTI

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

Guida alle offerte di finanziamento per le medie imprese

Guida alle offerte di finanziamento per le medie imprese IBM Global Financing Guida alle offerte di finanziamento per le medie imprese Realizzata da IBM Global Financing ibm.com/financing/it Guida alle offerte di finanziamento per le medie imprese La gestione

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

La gestione dei servizi non core: il Facility Management

La gestione dei servizi non core: il Facility Management La gestione dei servizi non core: il Facility Management ing. Fabio Nonino Università degli studi di Udine Laboratorio di Ingegneria Gestionale Dipartimento di Ingegneria Elettrica, Gestionale e Meccanica

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras 2 Introduzione Le architetture basate sui servizi (SOA) stanno rapidamente diventando lo standard de facto per lo sviluppo delle applicazioni aziendali.

Dettagli

1. Intorni di un punto. Punti di accumulazione.

1. Intorni di un punto. Punti di accumulazione. 1. Intorni di un punto. Punti di accumulazione. 1.1. Intorni circolari. Assumiamo come distanza di due numeri reali x e y il numero non negativo x y (che, come sappiamo, esprime la distanza tra i punti

Dettagli

Matematica B - a.a 2006/07 p. 1

Matematica B - a.a 2006/07 p. 1 Matematica B - a.a 2006/07 p. 1 Definizione 1. Un sistema lineare di m equazioni in n incognite, in forma normale, è del tipo a 11 x 1 + + a 1n x n = b 1 a 21 x 1 + + a 2n x n = b 2 (1) = a m1 x 1 + +

Dettagli

+ P a n n=1 + X. a n = a m 3. n=1. m=4. Per poter dare un significato alla somma (formale) di infiniti termini, ricorriamo al seguente procedimento:

+ P a n n=1 + X. a n = a m 3. n=1. m=4. Per poter dare un significato alla somma (formale) di infiniti termini, ricorriamo al seguente procedimento: Capitolo 3 Serie 3. Definizione Sia { } una successione di numeri reali. Ci proponiamo di dare significato, quando possibile, alla somma a + a 2 +... + +... di tutti i termini della successione. Questa

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Equilibrio generale ed efficienza dei mercati (Frank, Capitolo 15)

Equilibrio generale ed efficienza dei mercati (Frank, Capitolo 15) Equilibrio generale ed efficienza dei mercati (Frank, Capitolo 15) EQUILIBRIO ECONOMICO GENERALE Esistono molteplici relazioni tra mercati Per comprendere il funzionamento dell economia è quindi indispensabile

Dettagli

FORWARD RATE AGREEMENT

FORWARD RATE AGREEMENT FORWARD RATE AGREEMENT FLAVIO ANGELINI. Definizioni In generale, un contratto a termine o forward permette una compravendita di una certa quantità di un bene differita a una data futura a un prezzo fissato

Dettagli

Web Conferencing and Collaboration tool

Web Conferencing and Collaboration tool Web Conferencing and Collaboration tool La piattaforma Meetecho Piattaforma di Web Conferencing e Collaborazione on line in tempo reale Caratteristiche generali Soluzione client-server progettata per essere

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Laboratorio di Progettazione Esecutiva dell Architettura 2 Corso di Estimo a.a. 2007-08 Docente Renato Da Re Collaboratore: Barbara Bolognesi

Laboratorio di Progettazione Esecutiva dell Architettura 2 Corso di Estimo a.a. 2007-08 Docente Renato Da Re Collaboratore: Barbara Bolognesi Laboratorio di Progettazione Esecutiva dell Architettura 2 Corso di Estimo a.a. 2007-08 Docente Renato Da Re Collaboratore: Barbara Bolognesi Microeconomia venerdì 29 febbraio 2008 La struttura della lezione

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica IL SAMPLE AND HOLD Progetto di Fondamenti di Automatica PROF.: M. Lazzaroni Anno Accademico

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

10. Insiemi non misurabili secondo Lebesgue.

10. Insiemi non misurabili secondo Lebesgue. 10. Insiemi non misurabili secondo Lebesgue. Lo scopo principale di questo capitolo è quello di far vedere che esistono sottoinsiemi di R h che non sono misurabili secondo Lebesgue. La costruzione di insiemi

Dettagli

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A.

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A. Corso di Laurea in Ingegneria Informatica Reti di Calcolatori Livello di applicazione DNS A.A. 2013/2014 1 Livello di applicazione Web e HTTP FTP Posta elettronica SMTP, POP3, IMAP DNS Applicazioni P2P

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it Zabbix 4 Dummies Dimitri Bellini, Zabbix Trainer Quadrata.it Relatore Nome: Biografia: Dimitri Bellini Decennale esperienza su sistemi operativi UX based, Storage Area Network, Array Management e tutto

Dettagli

METODI ITERATIVI PER SISTEMI LINEARI

METODI ITERATIVI PER SISTEMI LINEARI METODI ITERATIVI PER SISTEMI LINEARI LUCIA GASTALDI 1. Metodi iterativi classici Sia A R n n una matrice non singolare e sia b R n. Consideriamo il sistema (1) Ax = b. Un metodo iterativo per la soluzione

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli