Powiem z góry, że nie mogę udzielić dobrej odpowiedzi na twoje pytanie (myślę, że możesz wyciągnąć z tego dokument badawczy, jeśli możesz), ale myślę, że mogę pomóc, formalnie definiując problem i określając, gdzie niektóre trudności leżą.
Tło . Pozwól, że jasno przedstawię model krojenia ciasta. Chcemy podzielić przedział między n graczy. Każdy gracz i ma funkcję wyceny v i ( S ) w stosunku do podzbiorów S ciasta. Zakładamy, że ta funkcja jest miarą prawdopodobieństwa; jest nieujemny i addytywny (dla rozłącznego A , B ⊆ [ 0 , 1 ] , v i ( A ∪ B ) = v i ([0,1]nivi(S)SA,B⊆[0,1] ) i v i ( [ 0 , 1 ] ) = 1 . Rozwiązaniem tego problemu jestprotokółlub algorytm, który odpytuje graczy i przypisuje części przedziału. Pamiętaj, że gracze mogą źle zgłaszać / leżeć w odpowiedziach na pytania.vi(A∪B)=vi(A)+vi(B)vi([0,1])=1
Niektóre dokumenty będą miały bardziej szczegółowe ograniczenia; np. funkcje wyceny są ciągłe, liniowo lub częściowo stałe.
{S1,…,Sn}
- i(1/n)vi([0,1])i1/n
- vi(Si)≥vi(Sj)j
Zauważ, że zazdrość pozbawiona wolności oznacza proporcjonalność.
Są też właściwości „operacyjne”, które możemy chcieć, takie jak cięcie na kilka kawałków, wielomianowy czas działania (lub w ogóle obliczalność / konstruowalność - nie chcemy używać Aksjomatu wyboru, aby wybrać podzbiór ciasta! ), i tak dalej.
1
Po drugie, zawsze możemy rozwiązać Twój problem, zabierając całe ciasto z powrotem wszystkim i używając znanego algorytmu, aby rozprowadzić je od zera. Pytanie brzmi, czy jest to bardziej elegancki sposób na zrobienie tego. Myślę, że dobrym sposobem na oszacowanie tego jest „kiedy redystrybucja wymaga mniej czasu lub mniej cięć niż od zera; i / lub kiedy gracze mogą zachować znaczną część swojego obecnego wycinka?”
- nn+1
n+1
- nn+1
1/n11/n2(n−1)/n21/n3(n−1)/nn1/n1(n−1)/n2132
Jednym z odniesień może być Walsh, Online Cake Cutting , w Algorytmicznej Teorii Decyzji 2011 (link pdf). Ale myślę, że gazeta zakłada, że znamy z góry liczbę przybywających agentów, i zakłada, że graczom należy przydzielić kawałek dokładnie wtedy, gdy odejdą (co jest przed końcem protokołu), więc tak naprawdę nie ma to zastosowania do twojego problemu.
nn+1n+1n