Dirò in anticipo che non posso fornire una buona risposta alla tua domanda (penso che potresti ricavarne un documento di ricerca se potessi), ma penso di poterti aiutare definendo il problema formalmente e indicando dove alcuni delle difficoltà mentono.
Sfondo . Consentitemi di indicare chiaramente il modello per il taglio della torta. Desideriamo dividere l'intervallo tra giocatori. Ogni giocatore ha una funzione di valutazione sui sottoinsiemi della torta. Supponiamo che questa funzione sia una misura di probabilità; è non negativo e additivo (per disgiunto , ) e . Una soluzione a questo problema è un protocollo o un algoritmo che interroga i giocatori e assegna parti dell'intervallo. Nota che i giocatori potrebbero dichiarare in modo errato / mentire nel rispondere alle domande.n i v i ( S ) S A , B ⊆ [ 0 , 1 ] v i ( A ∪ B ) = v i ( A ) + v i ( B ) v i ( [ 0 , 1 ] ) = 1[ 0 , 1 ]niovio( S)SA , B ⊆ [ 0 , 1 ]vio( A ∪ B ) = vio( A ) + vio( B )vio( [ 0 , 1 ] ) = 1
Alcuni articoli avranno restrizioni più specifiche; ad esempio , le funzioni di valutazione sono continue, lineari a tratti o costanti a tratti.
Lascia che i pezzi assegnati ai giocatori siano . Spesso vogliamo le seguenti proprietà di un protocollo:{ S1, ... , Sn}
- proporzionalità : ogni giocatore ha una strategia che garantisce di ricevere un valore di almeno . (Da s' prospettiche, s / ottiene del valore totale della torta.)( 1 / n ) v i ( [ 0 , 1 ] ) i 1 / nio( 1 / n ) vio( [ 0 , 1 ] )io1 / n
- invidia-freeness : ogni giocatore ha una strategia che garantisce che per ogni altro giocatore . (Ogni giocatore preferisce il proprio pezzo a quello di qualsiasi altro giocatore.)jvi(Si)≥vi(Sj)j
Nota che l'invidia è una proporzionalità.
Ci sono anche proprietà "operative" che potremmo desiderare, come tagliare in pochi pezzi, tempo di esecuzione polinomiale (o addirittura calcolabilità / costruibilità) - non vogliamo usare l'Assioma della Scelta per selezionare un sottoinsieme della torta! ), e così via.
Domande specifiche da porre . Due note. Innanzitutto, qualsiasi risposta alla tua domanda risolverà il problema generale: inizia dando l'intera torta al giocatore , quindi lascia che gli altri giocatori arrivino online e applichi iterativamente questo protocollo. Quindi dovremmo aspettarci che questo problema sia più difficile dell'impostazione standard di taglio della torta a cui lo applichiamo.1
In secondo luogo, possiamo sempre risolvere il tuo problema riprendendo l'intera torta da tutti e utilizzando un algoritmo noto per ridistribuirlo da zero. Quindi la domanda è solo se esiste un modo un po 'più elegante per farlo. Penso che un buon modo per quantificare questo sia "quando la ridistribuzione richiede meno tempo o meno tagli rispetto a partire da zero; e / o quando i giocatori riescono a mantenere una porzione significativa della loro fetta attuale?"
- Supponiamo di avere un'allocazione senza invidia per giocatori. Come possiamo ridistribuire per produrre un'allocazione senza invidia tra i giocatori ?n + 1nn+1
Sospetto che sia molto difficile. Il motivo è che trovare un'allocazione efficiente e senza invidia è già un problema difficile. Per quanto ne so, i protocolli noti potrebbero richiedere un numero illimitato di tagli alla torta e sono molto complessi. (Vedi Brams and Taylor, An Envy-Free Cake Division Protocol , 1995.) Quindi potrebbe non esserci niente di meglio che riprendere l'intera torta da tutti e ridistribuirla agli agenti usando Brams-Taylor.n+1
- Supponiamo di avere un'allocazione proporzionale per ; come ridistribuire per ottenere un'allocazione proporzionale per ?n + 1nn+1
Penso che sia ancora difficile (anche se più fattibile). Considera il caso in cui ogni giocatore valuta la torta in modo uniforme e ogni giocatore ha una fetta di . Quindi, qualunque cosa faccia il nuovo giocatore, sarà necessario rimescolarlo tra tutti. Ecco un altro brutto caso: supponiamo che il giocatore abbia una valutazione esattamente di per la sua fetta, ma che valuti la fetta del giocatore a . Supponiamo giocatore valori la propria fetta esattamente , ma i valori giocatore 's fetta a , e così via, con il giocatore valorizzando la propria fetta a e un lettore ' s fetta a1 1 / n 2 ( n - 1 ) / n 2 1 / n 3 ( n - 1 ) / n n 1 / n 1 ( n - 1 ) / n 2 1 3 21/n11/n2(n−1)/n21/n3(n−1)/nn1/n1(n−1)/n . Ora arriva il nuovo giocatore. Indipendentemente da ciò che vuole il nuovo giocatore, il tuo protocollo finirà per dover rimescolare qualcosa dal giocatore al giocatore , dal giocatore al giocatore , ecc.2132
Un riferimento potrebbe essere Walsh, Online Cake Cutting , in Algorithmic Decision Theory 2011 (pdf link). Ma penso che la carta presuma che conosciamo in anticipo il numero di agenti in arrivo, e presume che ai giocatori debba essere assegnato un pezzo proprio quando escono (che è prima della fine del protocollo), quindi non è proprio quello applicabile al tuo problema.
Un modo per ridistribuire un'allocazione proporzionale che mantiene la proporzionalità è il seguente. Lascia che ciascuno degli attuali giocatori tagli il suo pezzo di torta assegnato in pezzi che lui stesso valorizza. Il giocatore ora sceglierà il pezzo migliore, secondo lui, da ciascuno dei tagli del giocatore . È facile dimostrare che anche l'allocazione risultante è proporzionale.n + 1 n + 1 nnn+1n+1n