Discreto taglio della torta quando i giocatori si uniscono in ritardo


11

La solita affermazione del giusto problema di taglio della torta presuppone che tutti gli giocatori ottengano la loro parte allo stesso tempo. Tuttavia, in molti casi i giocatori arrivano in modo incrementale. Ad esempio, possiamo dividere una torta per giocatori, ma poi arriva un nuovo giocatore e vuole una quota.nn

Di solito, la divisione della torta equa richiede molto sforzo (ad esempio, richiede ai giocatori di rispondere a molte domande), specialmente quando il numero di giocatori è elevato.

È possibile utilizzare l'attuale divisione della torta su giocatori, al fine di creare una nuova divisione della torta su giocatori, con il minimo sforzo aggiuntivo (ovvero sostanzialmente meno sforzo rispetto alla ridistribuzione della torta da zero)?n + 1nn+1


2
I primi giocatori hanno iniziato a mangiare? È giusto dare a un giocatore più pezzi o tutti devono ottenere esattamente un pezzo? n
Raffaello

@Raphael, sono particolarmente interessato a un'equa divisione della terra, quindi i giocatori non possono letteralmente iniziare a mangiare la loro parte (possono costruire sulla loro parte, ma ignoriamo questo problema per il momento). È preferibile dare ad ogni giocatore esattamente un pezzo, tuttavia, ciò apparentemente non è possibile fare equamente nel caso in cui arrivi una sola persona nuova. Probabilmente dovrei chiedere, che cosa succede se nuovi giocatori arrivano. In tal caso, è possibile (almeno in teoria) dividere ogni azione dei primi giocatori in 2 nuove azioni. In ogni caso, ogni riferimento è il benvenuto. nnn
Erel Segal-Halevi,

In caso di terreni non utilizzati, perché non ridistribuire tutto?
Raffaello

2
Penso che tu debba chiarire qual è il tuo obiettivo. Ridurre al minimo il numero di tagli di aggiornamento? Ridurre al minimo la lunghezza totale dei nuovi tagli? Possiamo riassegnare le parti ai vecchi giocatori, o l'unico che possa mai perdere?
Raffaello

Ah, ora capisco cosa intendi: vuoi dire che alcuni giocatori hanno iniziato a mangiare la loro parte, e ora arrivano nuovi giocatori e vogliamo dividere equamente i promemoria, tenendo conto di ciò che ogni giocatore ha già mangiato. Mentre questo è un problema interessante di per sé, la mia intenzione era diversa - spero che la mia recente modifica lo chiarisca.
Erel Segal-Halevi,

Risposte:


6

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]nivi(S)SA,B[0,1]vi(AB)=vi(A)+vi(B)vi([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 / ni(1/n)vi([0,1])i1/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?"

  1. 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

  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(n1)/n21/n3(n1)/nn1/n1(n1)/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


Non sono sicuro di come il problema generale (con preferenza non uniforme) sia di aiuto qui; whoops ? Risolvere il problema per giocatori immutabili (e forme ragionevoli) è facile. Immagino che dovremo sistemare ciò che "efficiente" o "buono" significa ritagli / allocazioni wrt e loro modifiche.
Raffaello

1
@Raphael - per quanto posso dire, la domanda si pone sulla risoluzione del problema generale. (Sono d'accordo che dovremmo usare una struttura aggiuntiva se ne viene specificata una.)
usul

Grazie, la tua definizione ha catturato con precisione la mia intenzione. E il riferimento sul taglio della torta online è interessante e pertinente.
Erel Segal-Halevi,

6

Crnπr2n(n+1)n+1

Elaborare i numeri è semplice; per il primo nuovo giocatore, risolvi semplicemente

πr12=πr2n+1

per ottenere il raggio della sua trama. Per il secondo, risolvi

πr12=πr2n+2πr22πr12=πr2n+2

n+iri=rin+kk

n=6k=0,1,2,3

esempio [ fonte ]

nn


1
Sarebbe interessante confrontare l'area che è stata riassegnata da questo metodo con l'area che è stata riassegnata inserendo un nuovo pezzo (cioè settore) di torta e spostando (e restringendo) tutti i pezzi esistenti in senso orario. Il numero di parti interessate da una mossa (non solo una perdita) differisce solo da una costante. Si noti inoltre che gli anelli non sono più efficaci dei settori, ma il passaggio da un metodo all'altro consente di non spostare l'area assegnata dal primo metodo.
frafl

@frafl Sono d'accordo. Puoi presentare le altre varianti in una risposta? (Hai ragione: non sembra esserci una buona ragione per mescolare i metodi. Per me è stato motivato dal problema della torta: supponi che la torta sia già stata tagliata, cosa fare?)
Raffaele

n+1

1
Questa è una bella soluzione gemoetrica, tuttavia è rilevante solo per torte uniformi e prererenze uniformi. Mi sono riferito al problema generale del taglio della torta: en.wikipedia.org/wiki/Fair_division che presuppone che la torta possa essere non uniforme e che diversi giocatori possano avere valutazioni diverse per le diverse parti della torta.
Erel Segal-Halevi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.