Searching, Sorting, and Cake Cutting in Rounds
We study sorting and searching in rounds motivated by a cake cutting problem. The search problem we consider is: we are given an array x = (x_1, …, x_n) and an element z promised to be in the array. We have access to an oracle that answers comparison queries: "How is x_i compared to x_j?", where the answer can be "<", "=", or ">". The goal is to find the location of z with success probability at least p ∈ [0,1] in at most k rounds of interaction with the oracle. The problem is called ordered or unordered search, depending on whether the array x is sorted or unsorted, respectively. For ordered search, we show the expected query complexity of randomized algorithms is Θ(k· p · n^1/k) in the worst case. In contrast, the expected query complexity of deterministic algorithms searching for a uniformly random element is Θ(k· p^1/k· n^1/k). The uniform distribution is the worst case for deterministic algorithms. For unordered search, the expected query complexity of randomized algorithms is np(k+1/2k) ± 1 in the worst case, while the expected query complexity of deterministic algorithms searching for a uniformly random element is np (1 - k-1/2kp ) ± 1. We also discuss the connections of these search problems to the rank query model, where the array x can be accessed via queries of the form "Is rank(x_i) ≤ k?". Unordered search is equivalent to Select with rank queries (given q, find x_i with rank q) and ordered search to Locate with rank queries (given x_i, find its rank). We show an equivalence between sorting with rank queries and proportional cake cutting with contiguous pieces for any number of rounds, as well as an improved lower bound for deterministic sorting in rounds with rank queries.
READ FULL TEXT