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

STRUTTURA DELLE RETI SOCIALI ASTE. Vincenzo Auletta Università di Salerno

STRUTTURA DELLE RETI SOCIALI ASTE. Vincenzo Auletta Università di Salerno STRUTTURA DELLE RETI SOCIALI ASTE Vincenzo Auletta Università di Salerno ASTE Le aste (auctions) sono un altro importante ambito in cui possiamo applicare il framework della teoria dei giochi Come devo

Dettagli

Appendice D. D. Web Services

Appendice D. D. Web Services D. D.1 : cosa sono I cosiddetti sono diventati uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM,

Dettagli

I Modelli della Ricerca Operativa

I Modelli della Ricerca Operativa Capitolo 1 I Modelli della Ricerca Operativa 1.1 L approccio modellistico Il termine modello è di solito usato per indicare una costruzione artificiale realizzata per evidenziare proprietà specifiche di

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

Strumenti della Teoria dei Giochi per l Informatica A.A. 2008/09 6 credti (48 ore frontali) Docente: Vincenzo Auletta

Strumenti della Teoria dei Giochi per l Informatica A.A. 2008/09 6 credti (48 ore frontali) Docente: Vincenzo Auletta Strumenti della Teoria dei Giochi per l Informatica A.A. 2008/09 6 credti (48 ore frontali) Docente: Vincenzo Auletta Presentazione del Corso Negli ultimi anni nell ambito della comunità informatica si

Dettagli

Tecniche di DM: Link analysis e Association discovery

Tecniche di DM: Link analysis e Association discovery Tecniche di DM: Link analysis e Association discovery Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Architettura di un generico algoritmo di DM. 2 2 Regole di associazione:

Dettagli

Seminario di Sistemi Distribuiti RPC su SOAP

Seminario di Sistemi Distribuiti RPC su SOAP Seminario di Sistemi Distribuiti RPC su SOAP Massimiliano Vivian [777775] Massimiliano Vivian 1 Introduzione La comunicazione delle informazioni è l elemento fondamentale per lo sviluppo dei sistemi. SOAP

Dettagli

Web Service Architecture

Web Service Architecture Giuseppe Della Penna Università degli Studi di L Aquila dellapenna@di.univaq.it http://dellapenna.univaq.it Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta Nous Informatica

Dettagli

ASTE. 1. Classificazione delle Aste

ASTE. 1. Classificazione delle Aste ASTE Sono una delle forme più antiche di mercato e servono per lo scambio di molte merci: fiori e frutta, opere d arte, titoli pubblici (BOT, CCT, ecc.), beni di proprietà pubblica, beni vari attraverso

Dettagli

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Articolo 1: 5 luglio 2010. Sponsored Search Equilibrium for Conservative Bidders

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Articolo 1: 5 luglio 2010. Sponsored Search Equilibrium for Conservative Bidders Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/0 Articolo : 5 luglio 200 Sponsored Search Equilibrium for Conservative Bidders Docente Vincenzo Auletta Note redatte da: Filomena Carnevale

Dettagli

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

I prezzi significativi in un asta

I prezzi significativi in un asta I prezzi significativi in un asta prezzo di incanto: prezzo deciso dalla casa d asta, da cui iniziano le offerte. prezzo di riserva: cifra minima di vendita, stabilita prima dell asta tra il venditore

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

COME FARE PER. ARMONIZZARE IL SITO COL SISTEMA DI GESTIONE DOCUMENTALE DELL ENTE

COME FARE PER. ARMONIZZARE IL SITO COL SISTEMA DI GESTIONE DOCUMENTALE DELL ENTE COME FARE PER. ARMONIZZARE IL SITO COL SISTEMA DI GESTIONE DOCUMENTALE DELL ENTE Flavia Marzano marzano@cibernet.it 10/05/2004 ARPA Club Forum PA 2004 Contenuti Cenni normativi Sistema di gestione documentale:

Dettagli

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org 1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org Prefazione. Da Hello World a Hello World Wide Web. Hello World è la prima frase stampata a video dal primo programma di esempio scritto

Dettagli

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati Strumenti della Teoria dei Giochi per l Informatica AA 2009/10 Lecture 22: 1 Giugno 2010 Meccanismi Randomizzati Docente Vincenzo Auletta Note redatte da: Davide Armidoro Abstract In questa lezione descriveremo

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

Teoria dei Giochi. Anna Torre

Teoria dei Giochi. Anna Torre Teoria dei Giochi Anna Torre Almo Collegio Borromeo 26 marzo 2015 email: anna.torre@unipv.it sito web del corso:www-dimat.unipv.it/atorre/borromeo2015.html COOPERAZIONE Esempio: strategie correlate e problema

Dettagli

Esercizi di Teoria dei Giochi

Esercizi di Teoria dei Giochi Esercizi di Teoria dei Giochi ultimo aggiornamento: 11 maggio 2010 1. Si consideri il gioco fra 2 giocatori rappresentato (con le notazioni standard) dalla seguente matrice: (3, 1) (5, 0) (1, 0) (2, 6)

Dettagli

Analisi dei Requisiti

Analisi dei Requisiti Analisi dei Requisiti Pagina 1 di 16 Analisi dei Requisiti Indice 1 - INTRODUZIONE... 4 1.1 - OBIETTIVO DEL DOCUMENTO...4 1.2 - STRUTTURA DEL DOCUMENTO...4 1.3 - RIFERIMENTI...4 1.4 - STORIA DEL DOCUMENTO...4

Dettagli

Perchè un asta? Lezione 15. Tipi di aste. Tipi di aste. Tipi di aste. Tipi di aste. Aste

Perchè un asta? Lezione 15. Tipi di aste. Tipi di aste. Tipi di aste. Tipi di aste. Aste Perchè un asta? Lezione 15 Aste Una delle forme più antiche di mercato. Arte, immobili pubblici, licenze telefoniche, frutta, e-bay E spesso difficile scoprire quanto potenziali acquirenti valutino effettivamente

Dettagli

Giudizio, decisione e violazione degli assiomi di razionalità

Giudizio, decisione e violazione degli assiomi di razionalità - DPSS - Università degli Studi di Padova http://decision.psy.unipd.it/ Giudizio, decisione e violazione degli assiomi di razionalità Corso di Psicologia del Rischio e della Decisione Facoltà di Scienze

Dettagli

Capitolo 33: Beni Pubblici

Capitolo 33: Beni Pubblici Capitolo 33: Beni Pubblici 33.1: Introduzione In questo capitolo discutiamo le problematiche connesse alla fornitura privata dei beni pubblici, concludendo per l opportunità dell intervento pubblico in

Dettagli

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello V. M. Abrusci 12 ottobre 2015 0.1 Problemi logici basilari sulle classi Le classi sono uno dei temi della logica. Esponiamo in questa

Dettagli

Problemi di Programmazione Lineare Intera

Problemi di Programmazione Lineare Intera Capitolo 4 Problemi di Programmazione Lineare Intera La Programmazione Lineare Intera (PLI) tratta il problema della massimizzazione (minimizzazione) di una funzione di più variabili, soggetta a vincoli

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano Capitolo 3: Ottimizzazione Discreta E. Amaldi DEIB, Politecnico di Milano 3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati o approssimati come problemi di Programmazione

Dettagli

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Sommario Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Introduzione.................................................................................. 1 SOAP........................................................................................

Dettagli

Laboratorio di RETI DI CALCOLATORI

Laboratorio di RETI DI CALCOLATORI Laboratorio di RETI DI CALCOLATORI A.A. 2009-2010 I WEB SERVICES Carlo Mastroianni Laboratorio di Reti di Calcolatori - Orario lunedì, 11:30-13:30, aula 40B mercoledì, 10:00-11:30, laboratorio settimo

Dettagli

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: Reti di computer ed Internet nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

Reti di computer ed Internet

Reti di computer ed Internet Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

1 Inefficienza degli equilibri

1 Inefficienza degli equilibri Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10 Lecture 8: 9 Aprile 2010 Inefficienza degli equilibri Docente Prof. Vincenzo Auletta Note redatte da: Carmine Giordano Abstract In questa

Dettagli

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

ASIMMETRIE INFORMATIVE. (Cap. 34 di Hey) Eppure si tratta di elementi piuttosto diffusi nella realtà di tutti i giorni:

ASIMMETRIE INFORMATIVE. (Cap. 34 di Hey) Eppure si tratta di elementi piuttosto diffusi nella realtà di tutti i giorni: ASIMMETRIE INFORMATIVE (Cap. 34 di Hey) Tener conto delle asimmetrie informative consente di evidenziare alcuni importanti elementi che la teoria standard - assumendo informazione completa e simmetrica

Dettagli

Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici

Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici tesi di laurea Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio Tramontana Ch.mo prof. Annarita Fasolino candidato

Dettagli

Il funzionamento delle reti

Il funzionamento delle reti Il funzionamento delle reti La rete ci cambia la vita L Età dell Informazione ha prodotto profondi cambiamenti nessun luogo è remoto le persone sono interconnesse le relazioni sociali stanno mutando l

Dettagli

Capitolo 3. Il funzionamento delle reti

Capitolo 3. Il funzionamento delle reti Capitolo 3 Il funzionamento delle reti La rete ci cambia la vita L Età dell Informazione ha prodotto profondi cambiamenti nessun luogo è remoto le persone sono interconnesse le relazioni sociali stanno

Dettagli

Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP

Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP Web Services I web services servono a rendere interoperabili le applicazioni e favoriscono la loro integrazione. I servizi web sono applicazioni software che possono essere scoperte, descritte e usate

Dettagli

Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009

Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009 tesi di laurea Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio Tramontana candidato Marco Chimenti Matr. 534/1940 OBBIETTIVI

Dettagli

Survey sui Framework per Testing di Sistemi Basati su Web Services

Survey sui Framework per Testing di Sistemi Basati su Web Services Survey sui Framework per Testing di Sistemi Basati su Web Services Severoni Francesco Facoltà di Scienze Dipartimento di Informatica Università degli Studi - L Aquila 67100 L Aquila, Italia Argomenti Trattati

Dettagli

Mexal SAR. SAR (Servizio Assistenza Remota) TARGET DEL MODULO

Mexal SAR. SAR (Servizio Assistenza Remota) TARGET DEL MODULO SAR (Servizio Assistenza Remota) TARGET DEL MODULO Il modulo SAR, destinato ad Aziende e Professionisti, è stato progettato per fornire assistenza e consulenza a distanza. Se da una parte, i professionisti

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Web Services Dogane LINEE GUIDA

Web Services Dogane LINEE GUIDA Web Services Dogane LINEE GUIDA Pagina 1 di 17 Indice Indice... 2 1. INTRODUZIONE... 3 2. TEST FUNZIONALI SUI WEB SERVICES... 8 3. SICUREZZA... 14 4. FIRMA... 14 5. TRASFORMAZIONE CERTIFICATO DI FIRMA...

Dettagli

Sistemi Web Tolleranti ai Guasti

Sistemi Web Tolleranti ai Guasti Sistemi Web Tolleranti ai Guasti Candidato: Paolo Romano Relatore: Prof. Salvatore Tucci Correlatore: Prof. Bruno Ciciani Sommario Il problema: garantire semantica exactly once alle transazioni Web. Sistema

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

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio L altra strada per il BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 Il BPM Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina

Dettagli

Capitolo 2. Un introduzione all analisi dinamica dei sistemi

Capitolo 2. Un introduzione all analisi dinamica dei sistemi Capitolo 2 Un introduzione all analisi dinamica dei sistemi Obiettivo: presentare una modellistica di applicazione generale per l analisi delle caratteristiche dinamiche di sistemi, nota come system dynamics,

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

3.1 Definizione di gioco cooperativo

3.1 Definizione di gioco cooperativo Capitolo 3 Giochi Cooperativi In questo capitolo esponiamo alcune nozioni fondamentali sulla teoria dei giochi cooperativi. Abbiamo già accennato nel capitolo precedente a cosa sia un gioco cooperativo.

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3,

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, Emergency healthcare process automation using workflow technology and web services M. Poulymenopoulou, F. Malamateniou, G. Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, 195 207 Processo

Dettagli

Sviluppo di applicazioni Internet: l'uso integrato di XML e Java

Sviluppo di applicazioni Internet: l'uso integrato di XML e Java UNIVERSITA' DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Infomatica Sviluppo di applicazioni Internet: l'uso integrato di XML e Java realizzata

Dettagli

Modelli di Programmazione Lineare Intera

Modelli di Programmazione Lineare Intera 8 Modelli di Programmazione Lineare Intera Come è stato già osservato in precedenza, quando tutte le variabili di un problema di Programmazione Lineare sono vincolate ad assumere valori interi, si parla

Dettagli

Teoria dei Giochi. In generale è possibile distinguere i giochi in due classi principali:

Teoria dei Giochi. In generale è possibile distinguere i giochi in due classi principali: Teoria dei Giochi Dr. Giuseppe Rose (Ph.D., M.Sc., London) Università degli Studi della Calabria Corso di Laurea Magistrale in Economia Applicata a.a 2011/2012 Handout 1 1 Nozioni introduttive La teoria

Dettagli

massimizzazione del benessere sociale

massimizzazione del benessere sociale POLITICA ECONOMICA A.A. 2011-2012 Prof. Francesca Gastaldi TEORIA DELL ECONOMIA DEL BENESSERE (1930-1950) che studia il funzionamento di una economia di produzione e di scambio domandandosi quale debba

Dettagli

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Java Web Services. Uso di Eclipse e Apache Axis

Java Web Services. Uso di Eclipse e Apache Axis Java Web Services Uso di Eclipse e Apache Axis 1 Gli strumenti utili per iniziare Axis (Web Service tool) Eclipse (IDE di sviluppo) Tomcat (servlet/jsp container) N.B. Eclipse e Tomcat possono essere sostituiti

Dettagli

PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 12 PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 12 Pag. 2 di 12 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO

Dettagli

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Giampiero Allamprese 0000260193 PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Reti di Calcolatori LS prof. Antonio Corradi A.A. 2007/2008 ABSTRACT L obiettivo di questo progetto è la realizzazione

Dettagli

Ingegneria del Software Progettazione

Ingegneria del Software Progettazione Ingegneria del Software Progettazione Obiettivi. Approfondire la fase di progettazione dettagliata che precede la fase di realizzazione e codifica. Definire il concetto di qualità del software. Presentare

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Un approccio per sviluppare applicazioni di. E Democracy basato su ruoli per agenti mobili

Un approccio per sviluppare applicazioni di. E Democracy basato su ruoli per agenti mobili UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria Sede di Modena Corso di Laurea in Ingegneria Informatica Un approccio per sviluppare applicazioni di E Democracy basato su ruoli per

Dettagli

Equilibrio Economico Generale ed Economia del Benessere

Equilibrio Economico Generale ed Economia del Benessere Equilibrio Economico Generale ed Economia del enessere lessandro Scopelliti Università di Reggio Calabria e University of Warwick alessandro.scopelliti@unirc.it 1 EQUILIRIO ECONOMICO GENERLE E ECONOMI

Dettagli

Selezione avversa, screening e segnalazione

Selezione avversa, screening e segnalazione Selezione avversa, screening e segnalazione Il modello principale agente è uno strumento fondamentale per analizzare le relazioni economiche caratterizzate da problemi di asimmetrie informative un primo

Dettagli

Questua: aste online social

Questua: aste online social UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE RETI DI CALCOLATORI Questua: aste online social Matteo Zignani 14 giugno 2013 1 PRESENTAZIONE DEL PROBLEMA Lo studente deve sviluppare

Dettagli

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

WEB nel Telecontrollo 2.0. Marco Gussoni Key Account Manager Saia Burgess Controls - Honeywell

WEB nel Telecontrollo 2.0. Marco Gussoni Key Account Manager Saia Burgess Controls - Honeywell WEB nel Telecontrollo 2.0 Marco Gussoni Key Account Manager Saia Burgess Controls - Honeywell Non scordiamoci il passato Il modello classico Ambiente di Telecontrollo Interfacce proprietarie: -Hardware

Dettagli

Enterprise @pplication Integration Software S.r.l.

Enterprise @pplication Integration Software S.r.l. SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

Teoria dei giochi. Teoria che analizza in modo formale l interazione strategica di soggetti razionali che agiscono in modo strategico

Teoria dei giochi. Teoria che analizza in modo formale l interazione strategica di soggetti razionali che agiscono in modo strategico Teoria dei giochi Teoria che analizza in modo formale l interazione strategica di soggetti razionali che agiscono in modo strategico Situazione strategica Sette persone si recano insieme al ristorante

Dettagli

Laboratorio di Progettazione di Sistemi Software Introduzione

Laboratorio di Progettazione di Sistemi Software Introduzione Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring

Dettagli

Capitolo 20: Scelta Intertemporale

Capitolo 20: Scelta Intertemporale Capitolo 20: Scelta Intertemporale 20.1: Introduzione Gli elementi di teoria economica trattati finora possono essere applicati a vari contesti. Tra questi, due rivestono particolare importanza: la scelta

Dettagli

Registro SPICCA Architettura del Software

Registro SPICCA Architettura del Software Registro SPICCA Architettura del Software Versione 1.0 del 25/08/2009 Sommario 1 Introduzione... 4 1.1 Scopo... 4 1.2 Obiettivo... 4 1.3 Riferimenti... 4 1.4 Panoramica del documento... 4 2 Rappresentazione

Dettagli

MICROECONOMIA. L oligopolio. Enrico Saltari Università di Roma La Sapienza

MICROECONOMIA. L oligopolio. Enrico Saltari Università di Roma La Sapienza MICROECONOMIA L oligopolio Enrico Saltari Università di Roma La Sapienza 1 Π 1 = P Q 1 2 Secondo i criteri adottati, l oligopolio può essere definito come quella forma di mercato composta da un numero

Dettagli

Decisioni in condizioni di rischio. Roberto Cordone

Decisioni in condizioni di rischio. Roberto Cordone Decisioni in condizioni di rischio Roberto Cordone Decisioni in condizioni di rischio Rispetto ai problemi in condizioni di ignoranza, oltre all insieme Ω dei possibili scenari, è nota una funzione di

Dettagli

Reti sequenziali e strutturazione firmware

Reti sequenziali e strutturazione firmware Architettura degli Elaboratori, a.a. 25-6 Reti sequenziali e strutturazione firmware Alla parte di corso sulle reti sequenziali è apportata una sensibile semplificazione rispetto a quanto contenuto nel

Dettagli

Introduzione a UML. Iolanda Salinari

Introduzione a UML. Iolanda Salinari Introduzione a UML Iolanda Salinari Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare

Dettagli

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

Dettagli

Il software: natura e qualità

Il software: natura e qualità Sommario Il software: natura e qualità Leggere Cap. 2 Ghezzi et al. Natura e peculiarità del software Classificazione delle qualità del software Qualità del prodotto e del processo Qualità interne ed esterne

Dettagli

Sequestro di persona a scopo di estorsione: una nuova teoria di gioco

Sequestro di persona a scopo di estorsione: una nuova teoria di gioco www.xos.it : 2008 Osvaldo Duilio Rossi : SEQUESTRO DI PERSONA A SCOPO DI : 1 OSVALDO DUILIO ROSSI Sequestro di persona a scopo di estorsione: una nuova teoria di gioco Ho integrato con ulteriori riflessioni

Dettagli

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

Dettagli

Problemi computazionali

Problemi computazionali Problemi computazionali Intrattabilità e classi computazionali Decidibilità e Trattabilità Problemi decidibili possono richiedere tempi di risoluzione elevati: Torri di Hanoi Decidibilità e Trattabilità

Dettagli

Mining Positive and Negative Association Rules:

Mining Positive and Negative Association Rules: Mining Positive and Negative Association Rules: An Approach for Confined Rules Alessandro Boca Alessandro Cislaghi Premesse Le regole di associazione positive considerano solo gli item coinvolti in una

Dettagli

EQUILIBRIO ECONOMICO GENERALE PROF. MATTIA LETTIERI

EQUILIBRIO ECONOMICO GENERALE PROF. MATTIA LETTIERI EQUILIBRIO ECONOMICO GENERALE PROF. MATTIA LETTIERI Indice 1 EQUILIBRIO ECONOMICO GENERALE ------------------------------------------------------------------------------ 3 2 L EQUILIBRIO ECONOMICO GENERALE

Dettagli

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security

Dettagli

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com Web Service SOAP e WSDL Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com SOAP Originariamente: Simple Object Access Protocol E poi evoluto in un Framework per lo scambio di messaggi in XML 2

Dettagli

Sommario della lezione

Sommario della lezione Sommario della lezione Ulteriori applicazioni del Massimo Flusso 1. Connettività di grafi. Selezione di progetti 3. Trasporto in reti 4. Eliminazione in tornei Università degli Studi di Salerno Corso di

Dettagli

4. Requisiti del Software

4. Requisiti del Software 4. Requisiti del Software Cosa? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 4. Requisiti del Software 1 / 35 Sommario 1 Generalità 2 Categorizzazione

Dettagli

Sorgenti autorevoli in ambienti hyperlinkati.

Sorgenti autorevoli in ambienti hyperlinkati. Sorgenti autorevoli in ambienti hyperlinkati. La qualità di un metodo di ricerca richiede la valutazione umana dovuta alla soggettività inerente alla nozione di rilevanza. I motori di ricerca correnti,

Dettagli

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che: Teoria dei Giochi, Trento, 2004/05 c Fioravante Patrone 1 Teoria dei Giochi Corso di laurea specialistica: Decisioni economiche, impresa e responsabilità sociale, A.A. 2004/05 Soluzioni degli esercizi

Dettagli

Università degli Studi di Roma "Tor Vergata" Facoltà di Scienze MFN

Università degli Studi di Roma Tor Vergata Facoltà di Scienze MFN Università degli Studi di Roma "Tor Vergata" Facoltà di Scienze MFN Corso di Laurea in Informatica Tesi di Laurea Analisi, progettazione e implementazione di un Infrastruttura di Comunicazione basata su

Dettagli

Richiami di microeconomia

Richiami di microeconomia Capitolo 5 Richiami di microeconomia 5. Le preferenze e l utilità Nell analisi microeconomica si può decidere di descrivere ogni soggetto attraverso una funzione di utilità oppure attraverso le sue preferenze.

Dettagli

Corso di Gestione dei sistemi di trasporto. Cap. 10 Pianificazione e ottimizzazione di terminal container. S. Sacone, S.

Corso di Gestione dei sistemi di trasporto. Cap. 10 Pianificazione e ottimizzazione di terminal container. S. Sacone, S. Corso di Gestione dei sistemi di trasporto Cap. 10 Pianificazione e ottimizzazione di terminal container S. Sacone, S. Siri - DIST Introduzione Negli ultimi anni si è fatta sempre più pressante l esigenza

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

CAPITOLO 27 SCAMBIO DI MESSAGGI

CAPITOLO 27 SCAMBIO DI MESSAGGI CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:

Dettagli

Architettura dei sistemi di database

Architettura dei sistemi di database 2 Architettura dei sistemi di database 1 Introduzione Come si potrà ben capire, l architettura perfetta non esiste, così come non è sensato credere che esista una sola architettura in grado di risolvere

Dettagli

BrightSync: progetto di un middleware di sincronizzazione per ambienti eterogenei

BrightSync: progetto di un middleware di sincronizzazione per ambienti eterogenei Corso di Laurea Specialistica in Ingegneria Informatica Reti di Calcolatori LS prof. Antonio Corradi BrightSync: progetto di un middleware di sincronizzazione per ambienti eterogenei di Emanuele Crescentini

Dettagli

Varianti Macchine di Turing

Varianti Macchine di Turing Varianti Macchine di Turing Esistono definizioni alternative di macchina di Turing. Chiamate Varianti. Tra queste vedremo: MdT a più nastri e MdT non deterministiche. Mostriamo: tutte le varianti ragionevoli

Dettagli