ArticleslgStudy

computer science

Simultaneous eating algorithm

Simultaneous eating algorithm is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Simultaneous eating algorithm rather than just read about it. In short: A simultaneous eating algorithm (SE) is an algorithm for allocating divisible objects among agents with ordinal preferences. "Ordinal preferences" means that each agent can rank the items from best to worst, but cannot (or does not want to) specify a numeric value for each item. The SE allocation satisfies SD-efficiency - a weak ordinal variant of Pareto-efficiency (it means that the allocation is Pareto-efficient f…

Key takeaways

  • Simultaneous eating algorithm belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Simultaneous eating algorithm to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Simultaneous eating algorithm from memory before moving on to harder problems.

Reference excerpt

A simultaneous eating algorithm (SE) is an algorithm for allocating divisible objects among agents with ordinal preferences. "Ordinal preferences" means that each agent can rank the items from best to worst, but cannot (or does not want to) specify a numeric value for each item. The SE allocation satisfies SD-efficiency - a weak ordinal variant of Pareto-efficiency (it means that the allocation is Pareto-efficient for at least one vector of additive utility functions consistent with the agents' item rankings). SE is parametrized by the "eating speed" of each agent. If all agents are given the same eating speed, then the SE allocation satisfies SD-envy-freeness - a strong ordinal variant of envy-freeness (it means that the allocation is envy-free for all vectors of additive utility functions consistent with the agents' item rankings). This particular variant of SE is called the Probabilistic Serial rule (PS). SE was developed by Hervé Moulin and Anna Bogomolnaia as a solution for the fair random assignment problem, where the fraction that each agent receives of each item is interpreted as a probability. If the integral of the eating speed of all agents is 1, then the sum of fractions assigned to each agent is 1, so the matrix of fractions can be decomposed into a lottery over assignments in which each agent gets exactly one item. With equal eating speeds, the lottery is envy-free in expectation (ex-ante) for all vectors of utility functions consistent with the agents' item rankings. A variant of SE was applied also to cake-cutting, where the allocation is deterministic (not random).

Description Each item is represented as a loaf of bread (or other food). Initially, each agent goes to their favourite item and starts eating it. It is possible that several agents eat the same item at the same time. Whenever an item is fully eaten, each of the agents who ate it goes to their favorite remaining item and starts eating it in the same way, until all items are consumed. For each item, the fraction of that item eaten by each agent is recorded. In the context of random assignments, these fractions are considered as probabilities. Based on these probabilities, a lottery is done. The type of lottery depends on the problem:

If each agent is allowed to receive any number of items, then a separate lottery can be done for each item. Each item is given to one of the agents who ate a part of it, chosen at random according to the probability distribution for that item. If each agent should receive exactly one item, then there must be a single lottery that picks an assignment by some probability distribution on the set of deterministic assignments. To do this, the n-by-n matrix of probabilities should be decomposed into a convex combination of permutation matrices. This can be done by the Birkhoff algorithm. It is guaranteed to find a combination in which the number of permutation matrices is at most n2-2n+2. An important parameter to SE is the eating speed of each agent. In the simplest case, when all agents have the same entitlements, it makes sense to let all agents eat in the same speed all the time. However, when agents have different entitlements, it is possible to give the more privileged agents a higher eating speed. Moreover, it is possible to let the eating speed change with time. The important thing is that the integral of the eating speed of each agent equals the total number of items that the agent should receive (in the assignment setting, each agent should get exactly 1 item, so the integral of all eating-speed functions should be 1).

Examples There are four agents and four items (denoted w, x, y, z). The preferences of the agents are:

Alice and Bob prefer w to x to y to z. Carol and Dana prefer x to w to z to y. The agents have equal rights so we apply SE with equal and uniform eating speed of 1 unit per minute. Initially, Alice and Bob go to w and Carol and Dana go to x. Each pair eats their item simultaneously. After 1/2 minute, Alice and Bob each have 1/2 of w, while Carol and Dana each have 1/2 of x. Then, Alice and Bob go to y (their favourite remaining item) and Carol and Dana go to z (their favourite remaining item). After 1/2 minute, Alice and Bob each have 1/2 of y and Carol and Dana each have 1/2 of z. The matrix of fractions is now:

Based on the eaten fractions, item w is given to either Alice or Bob with equal probability and the same is done with item y; item x is given to either Carol or Dana with equal probability and the same is done with item z. If it is required to give exactly 1 item per agent, then the matrix of probabilities is decomposed into the following two assignment matrices:

One of these assignments is selected at random with a probability of 1/2. Other examples can be generated at the MatchU.ai website.

Properties The description below assumes that all agents have risk-neutral preferences, that is, their utility from a lottery equals the expected value of their utility from the outcomes.

Efficiency SE with any vector of eating speeds satisfies an efficiency property called SD-efficiency (also called ordinal efficiency). Informally it means that, considering the resulting probability matrix, there is no other matrix that all agents weakly-sd-prefer and at least one agent strictly-sd-prefers. In the context of random assignments, SD-efficiency implies ex-post efficiency: every deterministic assignment selected by the lottery is Pareto-efficient. A fractional assignment is SD-efficient if-and-only-if it is the outcome of SE for some vector of eating-speed functions.

Fairness SE with equal eating speeds (called PS) satisfies a fairness property called ex-ante stochastic-dominance envy-freeness (sd-envy-free). Informally it means that each agent, considering the resulting probability matrix, weakly prefers his/her own row of probabilities to the row of any other agent. Formally, for every two agents i and j:

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Simultaneous eating algorithm

Start with the simplest possible case. Write down what Simultaneous eating algorithm claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Simultaneous eating algorithm before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Simultaneous eating algorithm ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Simultaneous eating algorithm

In research
Simultaneous eating algorithm appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Simultaneous eating algorithm in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Simultaneous eating algorithm is common in secondary-school and first-year university syllabi. It links to neighbouring topics Fair division protocols, so understanding it makes those chapters shorter.
In everyday life
Look for Simultaneous eating algorithm outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Simultaneous eating algorithm in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Simultaneous eating algorithm means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Simultaneous eating algorithm out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Simultaneous eating algorithm in simple terms?

A simultaneous eating algorithm (SE) is an algorithm for allocating divisible objects among agents with ordinal preferences. "Ordinal preferences" means that each agent can rank the items from best to worst, but cannot (or does not want to) specify a numeric value for each item. The SE allocation s…

Why does Simultaneous eating algorithm matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Simultaneous eating algorithm?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Simultaneous eating algorithm.

Tags

  • Fair division protocols

Keep exploring