Meccanismi one-parameter: il problema dell’albero dei cammini minimi a sorgente singola.

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Algoritmi e Strutture dati Mod B
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo non cooperativo
Il problema del minimo albero ricoprente in un grafo non cooperativo
Algoritmi e Strutture Dati
Cammini minimi con una sorgente
Cammini minimi con sorgente singola
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Algoritmi e Strutture Dati
Il problema del minimo albero ricoprente in un grafo con archi privati.
Algoritmi e Strutture Dati
Scenario Archi di un grafo controllati da agenti egoistici
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo lagente conosce il peso associato al proprio arco Obiettivo:
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 12/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Il problema del minimo albero ricoprente in un grafo con archi privati
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Boruvka Algoritmi.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Flusso Massimo Applicazione di algoritmi
Cammini minimi Algoritmo SPT.Acyclic
Flusso Massimo Applicazione Algoritmi Esercizio 1 Sia dato la seguente rete di flusso, in cui la sorgente è il nodo 1 e la destinazione è il nodo 6. I.
Trovare il percorso minimo da b ad ogni altro vertice
Fibonacci Heaps e il loro utilizzo nell’algoritmo di Prim
Prof. Tiziana Calamoneri Corso di Algoritmi per le reti A.A. 2011/12
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
Usi (meno scontati) della visita DFS
Algoritmi e Strutture Dati
Componenti fortemente connesse
Prof. Cerulli – Dott.ssa Gentili
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal (*) Algoritmi e Strutture Dati.
Università degli Studi di Roma Tor Vergata
Capitolo 12 Minimo albero ricoprente Algoritmi e Strutture Dati.
Meccanismi one-parameter: il problema dell’albero dei cammini minimi a sorgente singola.
Algoritmi elementari su grafi
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Componenti fortemente connesse
Algoritmi e Strutture Dati
Prof. Cerulli – Dott. Carrabs
Capitolo 13 Cammini minimi: Bellman e Ford Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: Algoritmo di ordinamento topologico, di Dijkstra, e di Floyd e Warshall Algoritmi e Strutture Dati.
Meccanismi one-parameter. Riepilogo Archi di un grafo controllati da agenti egoistici Solo l’agente conosce il peso associato al proprio arco Obiettivo:
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: algoritmo di Dijkstra Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Cammini minimi fra tutte le coppie:
Cammini minimi in grafi:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Prim Algoritmi e Strutture.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Prim Algoritmi e Strutture.
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°9.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Capitolo 13 Cammini minimi: algoritmo di Dijkstra Algoritmi e Strutture Dati.
Scenario Archi di un grafo controllati da agenti egoistici
Transcript della presentazione:

Meccanismi one-parameter: il problema dell’albero dei cammini minimi a sorgente singola

Input: un grafo G=(V,E) biconnesso sugli archi, in cui ogni arco corrisponde in modo biunivoco ad un insieme di agenti egoisti, ed un nodo sorgente s  V; il tipo di un agente è il costo di utilizzo dell’arco (quindi tipo>0); SCF: un albero dei cammini minimi radicato in s in G=(V,E,t). SPT non cooperativo (ogni agente controlla un arco)

SPT non utilitario Per ogni albero ricoprente T di G radicato in s, la funzione obiettivo minimizzata dalla SCF è: f(t)= arg min {  d T (s,v) =  t e ||e|| } Con protocollo unicast : v e (t e,T)= e quindi f(t)  arg min  v e (t e,T) (problema non utilitario) Ma il problema è one-parameter, in quanto v e (t e,T)= t e w e (T), ove v  V e  E(T) tete se e  E(T) 0 altrimenti 1 se e  E(T) 0 altrimenti w e (T)= TFTF TFTF eEeE

Meccanismo one-parameter per l’SPT non utilitario M SPT = g(r): dato il grafo e le dichiarazioni, calcola un SPT S G (s) di G=(V,E,r) utilizzando l’algoritmo di Dijkstra. p(x): per ogni arco e  E p e =r e w e (r) + ∫ w e (r -e,z) dz rere ∞ così da garantire la partecipazione volontaria.

Truthfulness Osservazione: M SPT è truthful. La truthfulness segue dal fatto che M SPT è un meccanismo OP. Infatti, l’algoritmo di Dijkstra per il calcolo dell’SPT è monotono, in quanto il carico di lavoro per un agente a e ha sempre la forma: 1 Ө e : valore soglia Ө e è il valore tale che, fissato r -e : se a e dichiara al più Ө e, allora e è selezionato se a e dichiara più di Ө e, allora e non è selezionato L’algoritmo del meccanismo è monotono!

Sui pagamenti p e =0, se e non è un arco selezionato p e = Ө e, se e è nella soluzione 1 Ө e : valore soglia rere p e = r e w e (r) + ∫ w e (r -e,z) dz = r e + Ө e - r e = Ө e rere ∞ p e = r e w e (r) + ∫ w e (r -e,z) dz = 0+0 = 0 rere ∞ rere

Sulle soglie Sia e=(u,v) un arco in S G (s) (u più vicino a s che v) e resta in S G (s) finché uso e per raggiungere v Allora, Ө e =d G-e (s,v)-d G (s,u) Esempio s v u e r e =1 1 2+ε s v u e r e = 2+ε 1 3+ε s v u e r e = 3+ε Ө e = 3

Una soluzione banale  e=(u,v)  S G (s) applichiamo l’algoritmo di Dijkstra al grafo G-e e troviamo d G-e (s,v) Complessità: k=n-1 archi per O(m + n logn): O(mn + n 2 logn) time La soluzione che proponiamo costerà: O(m + n logn) time

Definizione di Ө e s d G-e (s,v)= min {d G (s,x)+w(f)+d G (y,v)} f=(x,y)  C(e) x y u v e f ove w(f) denota il peso dichiarato per l’arco f

Calcolare d G-e (r,v) (e quindi Ө e ) vuol dire individuare l’arco f * tale che: Definizione di Ө e f * = arg min {d G (s,x)+w(f)+d G (y,v)} f=(x,y)  C(e) = arg min {d G (s,x)+w(f)+d G (y,v)+d G (s,v)} f=(x,y)  C(e) Perché d G (s,v) non dipende da f lo chiamo k(f) Osservazione: k(f) è un valore univocamente associato all’arco f: vale per tutti gli archi di S G (s) che formano un ciclo con f. = arg min {d G (s,x)+w(f)+d G (s,y)} f=(x,y)  C(e)

Calcolo delle soglie Costruiamo il transmuter (rispetto a S G (s) ) Eseguiamo l’algoritmo (analisi di sensitività) per il calcolo dei valori up(e) etichettando i nodi pozzo t(f) con i valori k(f) (invece che w(f)) Ogni arco e  S G (s) riceverà il suo valore miglior valore k(f * ) Ө e = (k(f * )-d G (s,v)) - d G (s,u) Complessità temporale: O(m  (m,n)) d G-e (s,v )

Teorema M SPT è calcolabile in tempo O(m + n log n). Dim.: Complessità di g( ٠ ): O(m + n log n) (Dijkstra con Heap di Fibonacci) Calcolare tutti i pagamenti costa: O(m  (m,n))=O(m + n log n) perché  (m,n) costante quando m=  (n log log n) Complessità del meccanismo

Approfondimento Progettare un meccanismo one-parameter per il calcolo dell’SPT modello unicast radicato in s del seguente grafo: