Cắt bánh công bằng khi người chơi tham gia muộn


11

Tuyên bố thông thường về vấn đề cắt bánh công bằng cho rằng tất cả người chơi đều nhận được phần của họ cùng một lúc. Tuy nhiên, trong nhiều trường hợp người chơi đến tăng dần. Ví dụ: chúng tôi có thể chia bánh cho người chơi, nhưng sau đó một người chơi mới đến và muốn chia sẻ.nnn

Thông thường, phân chia bánh công bằng đòi hỏi rất nhiều nỗ lực (ví dụ, yêu cầu người chơi trả lời nhiều truy vấn), đặc biệt khi số lượng người chơi lớn.

Có thể sử dụng phân chia bánh hiện có cho người chơi, để tạo phân chia bánh mới cho người chơi, với nỗ lực bổ sung tối thiểu (nghĩa là ít nỗ lực hơn so với phân phối lại bánh từ đầu)?n + 1nn+1


2
Có người chơi đầu tiên bắt đầu ăn? Có công bằng không khi cho người chơi nhiều quân cờ, hay mọi người phải lấy chính xác một mảnh? n
Raphael

@Raphael, tôi đặc biệt quan tâm đến việc phân chia đất đai công bằng, do đó người chơi không thể thực sự bắt đầu ăn phần của họ (họ có thể xây dựng dựa trên phần của mình, nhưng hãy bỏ qua vấn đề này ngay bây giờ). Tốt nhất là cung cấp cho mỗi người chơi chính xác một mảnh, tuy nhiên, điều này rõ ràng là không thể thực hiện công bằng trong trường hợp chỉ có một người mới đến. Có lẽ tôi nên hỏi, chuyện gì sẽ xảy ra nếu người chơi mới đến. Trong trường hợp đó, có thể (ít nhất là về lý thuyết) để chia mỗi cổ phần của người chơi đầu tiên thành 2 cổ phiếu mới. Trong mọi trường hợp, bất kỳ tài liệu tham khảo đều được chào đón. nnn
Erel Segal-Halevi

Trong trường hợp đất chưa sử dụng, tại sao không phân phối lại mọi thứ?
Raphael

2
Tôi nghĩ bạn phải làm rõ mục tiêu của bạn là gì. Giảm thiểu số lần cắt cập nhật? Giảm thiểu tổng chiều dài của vết cắt mới? Chúng ta có thể chỉ định lại các bộ phận cho người chơi cũ, hoặc chỉ có thể mất?
Raphael

À, bây giờ tôi hiểu ý của bạn: ý bạn là một số người chơi bắt đầu ăn phần của họ, và bây giờ người chơi mới đến và chúng tôi muốn phân chia lời nhắc một cách công bằng, có tính đến những gì mỗi người chơi đã ăn. Mặc dù đây là một vấn đề thú vị, nhưng ý định của tôi lại khác - tôi hy vọng bản chỉnh sửa gần đây của tôi làm rõ điều này.
Erel Segal-Halevi

Câu trả lời:


6

Tôi sẽ nói trước rằng tôi không thể đưa ra câu trả lời hay cho câu hỏi của bạn (tôi nghĩ bạn có thể lấy một bài nghiên cứu ra khỏi nó nếu bạn có thể), nhưng tôi nghĩ tôi có thể giúp đỡ bằng cách xác định vấn đề chính thức và nêu rõ một số vấn đề của những khó khăn nói dối.

Bối cảnh . Hãy để tôi nói rõ mô hình cắt bánh. Chúng tôi muốn chia khoảng giữa người chơi. Mỗi người chơi có một hàm định giá trên tập con của bánh. Chúng tôi sẽ cho rằng chức năng này là một thước đo xác suất; nó không âm và phụ gia (đối với , ) và . Một giải pháp cho vấn đề này là một giao thức hoặc thuật toán truy vấn người chơi và gán các phần của khoảng thời gian. Lưu ý rằng người chơi có thể báo cáo sai / nói dối trong việc trả lời các truy vấn.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

Một số giấy tờ sẽ có những hạn chế cụ thể hơn; ví dụ , các hàm định giá là liên tục, hoặc piecewise-linear, hoặc piecewise-hằng.

Đặt các phần được gán cho người chơi là . Chúng ta thường muốn các thuộc tính sau của một giao thức:{S1,,Sn}

  • tỷ lệ : Mỗi người chơi có một chiến lược đảm bảo họ sẽ nhận được giá trị ít nhất . (Từ quan điểm của , anh ấy nhận được tổng giá trị của chiếc bánh.)i(1/n)vi([0,1])i1/n
  • ghen tị-freeness : Mọi người chơi đều có một chiến lược đảm bảo rằng cho mọi người chơi khác . (Mọi người chơi thích phần của riêng mình hơn phần của người chơi khác.)vi(Si)vi(Sj)j

Lưu ý rằng sự đố kị ám chỉ sự tương xứng.

Ngoài ra còn có các thuộc tính "hoạt động" mà chúng tôi có thể muốn, chẳng hạn như cắt thành nhiều mảnh, thời gian chạy đa thức (hoặc thực sự là khả năng tính toán / khả năng xây dựng - chúng tôi không muốn sử dụng Axiom of Choice để chọn một tập hợp con của bánh! ), và như thế.


Câu hỏi cụ thể để hỏi . Hai lưu ý. Đầu tiên, bất kỳ câu trả lời nào cho câu hỏi của bạn sẽ giải quyết vấn đề chung: Bắt đầu bằng cách đưa toàn bộ bánh cho người chơi , sau đó cho những người chơi khác đến trực tuyến và lặp lại áp dụng giao thức này. Vì vậy, chúng ta nên kỳ vọng vấn đề này sẽ khó hơn so với cài đặt cắt bánh tiêu chuẩn mà chúng ta áp dụng.1

Thứ hai, chúng tôi luôn có thể giải quyết vấn đề của bạn bằng cách lấy lại toàn bộ bánh từ mọi người và sử dụng thuật toán đã biết để phân phối lại từ đầu. Vì vậy, câu hỏi chỉ là nếu có một cách thanh lịch hơn để làm điều này. Tôi nghĩ rằng một cách tốt để định lượng điều này là "khi nào việc phân phối lại đòi hỏi ít thời gian hơn hoặc ít cắt hơn so với bắt đầu từ đầu; và / hoặc khi nào người chơi có thể giữ một phần đáng kể trong lát cắt hiện tại của họ?"

  1. Giả sử chúng ta có sự phân bổ không ghen tị cho người chơi. Làm thế nào để chúng tôi phân phối lại để tạo ra sự phân bổ không đố kị giữa những người chơi ?nn+1

Tôi nghi ngờ điều này là rất khó khăn. Lý do là việc tìm kiếm một sự phân bổ hiệu quả, không đố kị đã là một vấn đề khó khăn. Theo như tôi biết, các giao thức đã biết có thể yêu cầu số lần cắt không giới hạn đối với bánh và rất phức tạp. (Xem Brams và Taylor, Giao thức phân chia bánh miễn phí ghen tị , 1995.) Vì vậy, có thể không có gì tốt hơn là lấy lại toàn bộ bánh từ mọi người và phân phối lại cho các đại lý bằng Brams-Taylor.n+1

  1. Giả sử chúng ta có phân bổ tỷ lệ cho ; Làm thế nào để chúng tôi phân phối lại để có được phân bổ tỷ lệ cho ?nn+1

Tôi nghĩ rằng điều này vẫn còn khó khăn (mặc dù có thể làm được nhiều hơn). Hãy xem xét trường hợp mỗi người chơi đánh giá chiếc bánh một cách đồng đều và mỗi người chơi có một lát có kích thước . Sau đó, bất cứ điều gì người chơi mới làm sẽ yêu cầu chia sẻ lại giữa mọi người. Đây là một trường hợp xấu khác: Giả sử người chơi có giá trị chính xác là cho lát cắt của cô ấy, nhưng giá trị lát cắt của người chơi tại . Giả sử máy nghe nhạc giá trị của mình lát riêng ở chính xác , nhưng giá trị chơi 's lát tại , và như vậy, với máy nghe định giá miếng của riêng mình tại và máy nghe nhạc ' s lát tại1/n11/n2(n1)/n21/n3(n1)/nn1/n1(n1)/n . Bây giờ người chơi mới đến. Bất kể người chơi mới muốn gì, giao thức của bạn cuối cùng sẽ phải cải tổ lại thứ gì đó từ người chơi sang người chơi , từ người chơi đến người chơi , v.v.2132


Một tài liệu tham khảo có thể là Walsh, Cắt bánh trực tuyến , trong Lý thuyết quyết định thuật toán 2011 (liên kết pdf). Nhưng tôi nghĩ rằng giấy giả định rằng chúng tôi biết trước số lượng đại lý đến và giả sử người chơi phải được phân bổ một mảnh chính xác khi họ rời đi (trước khi kết thúc giao thức), vì vậy nó thực sự không phù hợp với vấn đề của bạn.


Một cách để phân phối lại phân bổ theo tỷ lệ duy trì tỷ lệ như sau. Hãy để mỗi người chơi hiện tại cắt miếng bánh được phân bổ của mình thành miếng mà chính anh ta coi trọng như nhau. Người chơi bây giờ sẽ chọn quân cờ tốt nhất, theo anh ta, từ mỗi lần cắt của người chơi . Thật dễ dàng để chỉ ra rằng phân bổ kết quả cũng tỷ lệ thuận.nn+1n+1n


Tôi không chắc vấn đề chung (với ưu tiên không đồng nhất) có ích như thế nào ở đây; Rất tiếc ? Giải quyết vấn đề cho người chơi không thay đổi (và hình dạng hợp lý) là dễ dàng. Tôi đoán chúng ta sẽ phải sửa những gì "hiệu quả" tôn trọng "tốt" có nghĩa là cắt / phân bổ wrt và thay đổi chúng.
Raphael

1
@Raphael - theo như tôi có thể nói, câu hỏi hỏi về việc giải quyết vấn đề chung. (Tôi đồng ý chúng ta nên sử dụng cấu trúc bổ sung nếu có chỉ định.)
usul

Cảm ơn bạn, định nghĩa của bạn chính xác nắm bắt ý định của tôi. Và các tài liệu tham khảo về cắt bánh trực tuyến là thú vị và có liên quan.
Erel Segal-Halevi

6

Giả sử bánh / diện tích là hình tròn có bán kính . Sau đó, chúng ta có thể tạo ra mảnh bằng cách cắt bánh hợp quy và do đó chỉ định cho mỗi người chơi một khu vực . Sau đó, chúng ta có thể gán một vòng tròn nhỏ quanh trung tâm và những người chơi mới tiếp theo vòng quanh vòng tròn đó (nuốt một phần của vòng tròn bên trong), v.v. Theo cách này, mỗi người chơi sẽ nhận được một mảnh / cốt truyện liền kề co lại theo cách đơn điệu cho những người chơi đầu tiên và di chuyển về phía trung tâm cho những người tham gia sau này.Crnπr2n(n+1)n+1

Làm việc ra các con số rất đơn giản; Đối với người chơi mới đầu tiên, chỉ cần giải quyết

πr12=πr2n+1

để có được bán kính cho cốt truyện của mình. Đối với lần thứ hai, giải quyết

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

để có được bán kính (bên ngoài) cho cả người chơi mới, v.v. Có vẻ như người chơi có bán kính ngoài sau khi người chơi bổ sung đã tham gia, nhưng tôi không chứng minh điều này.r i = r n+i kri=rin+kk

Đây là những gì bạn nhận được cho và :k = 0 , 1 , 2 , 3n=6k=0,1,2,3

thí dụ [ nguồn ]

Ý tưởng tương tự làm việc cho đa giác thông thường với bên. Nếu bạn giả sử một hình chữ nhật là hình thức cơ bản, bạn có thể làm một điều tương tự bằng cách gán cột đầu tiên có kích thước bằng nhau và các hàng người chơi sau (bắt đầu từ một bên).nnn


1
Sẽ rất thú vị khi so sánh khu vực được gán lại bằng phương pháp này với khu vực được gán lại bằng cách chèn một miếng bánh mới (tức là sector) và di chuyển (và thu nhỏ) tất cả các miếng hiện có theo chiều kim đồng hồ. Số lượng các bên bị ảnh hưởng bởi một động thái (không chỉ mất mát) chỉ khác nhau bởi một hằng số. Cũng lưu ý rằng các vòng không hiệu quả hơn các ngành, nhưng sự thay đổi từ phương thức này sang phương pháp khác cho phép không di chuyển khu vực được chỉ định bởi phương thức đầu tiên.
frafl

@frafl Tôi đồng ý. Bạn có thể trình bày (các) biến thể khác trong một câu trả lời không? (Bạn nói đúng: dường như không có lý do chính đáng để pha trộn các phương pháp. Đối với tôi, nó được thúc đẩy bởi vấn đề bánh: giả sử bánh đã bị cắt rồi, phải làm gì?)
Raphael

@frafl Lưu ý rằng một ưu điểm của sơ đồ tôi sử dụng có thể là các phần của người chơi đầu tiên chỉ co lại nhưng không di chuyển. Nói theo thứ tự, sơ đồ này làm cho ít vết cắt (hoàn toàn) trở nên lỗi thời hơn so với chèn các phần bánh mới. n+1
Raphael

1
Đây là một giải pháp đá quý đẹp, tuy nhiên nó chỉ liên quan đến bánh đồng nhất và các đặc tính đồng nhất. Tôi đã đề cập đến vấn đề cắt bánh nói chung: en.wikipedia.org/wiki/Fair_division giả định rằng chiếc bánh có thể không đồng nhất, và những người chơi khác nhau có thể có giá trị khác nhau cho các phần khác nhau của bánh.
Erel Segal-Halevi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.