# Dinner for 8

**URL:** <https://boards.straightdope.com/t/dinner-for-8/527956>\
**Category:** Factual Questions\
**Created:** [February 6, 2010, 10:26pm UTC](https://boards.straightdope.com/t/dinner-for-8/527956 "2010-02-06T22:26:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![CarolineJean](https://avatars.discourse-cdn.com/v4/letter/c/c5a1d2/32.png) [@CarolineJean](https://boards.straightdope.com/u/CarolineJean)\
**Post date:** [February 6, 2010, 10:26pm UTC](https://boards.straightdope.com/t/dinner-for-8/527956/1 "2010-02-06T22:26:35Z")

</div>

We belong to a dinner club with 9 other couples. Each month for four months dinner for 8 is held at five different homes. All dinners have a total of 4 couples at each home. The host makes the main meal, one couple will bring appetizers, one couple will bring salad and bread, one couple will bring dessert. At the end of the four months, there are always people we had dinner with two or three times and some we never met at all. How can we rotate so that we never have dinner with the same couple twice? Caroline Jean

---

<div class="post-metadata">

**Author:** ![Chessic\_Sense](https://avatars.discourse-cdn.com/v4/letter/c/7c8e57/32.png) [@Chessic\_Sense](https://boards.straightdope.com/u/Chessic_Sense)\
**Post date:** [February 6, 2010, 10:35pm UTC](https://boards.straightdope.com/t/dinner-for-8/527956/2 "2010-02-06T22:35:52Z")

</div>

If there are 9 other couples, and you dine with 3 a month for four months, then best case scenario, you’re going to dine with 3 couples twice.

---

<div class="post-metadata">

**Author:** ![Wendell\_Wagner](https://avatars.discourse-cdn.com/v4/letter/w/8491ac/32.png) [@Wendell\_Wagner](https://boards.straightdope.com/u/Wendell_Wagner)\
**Post date:** [February 7, 2010, 12:26am UTC](https://boards.straightdope.com/t/dinner-for-8/527956/3 "2010-02-07T00:26:06Z")

</div>

O.K., there’s a mathematical theory for this. If you want to make sure that every couple always has dinner with every other couple the same number of times during each four-month period, then what you want is a block design:

> **[Block design](https://en.wikipedia.org/wiki/Block_design)**
>
> In combinatorial mathematics, a block design is an incidence structure consisting of a set together with a family of subsets known as blocks, chosen such that frequency of the elements satisfies certain conditions making the collection of blocks exhibit symmetry (balance). Block designs have applications in many areas, including experimental design, finite geometry, physical chemistry, software testing, cryptography, and algebraic geometry.
> Without further specifications the term block design us...

What you want is a 2-design with parameters v = 10 (since there are 10 couples, and note that one couple is one point in your problem, since they are always together at the same dinner), k = 4 (since there are always 4 couples at each dinner, so each dinner is a 4-element subset), b = 20 (since there are 20 dinners (5 each month for 4 months) over those 4 months), and r = 8, since each couple will attend a total of 8 dinners.

Now let us calculate λ, which is the number of dinners that each couple shares with each other couple. Let me check that bk = vr. Yes, that’s true, since both sides of that equation equals 80. Now let me solve for λ:

λ \* 9 = 8 \* 3, so λ equals 8/3.

That’s not an integer, so it’s impossible for each couple to have exactly the same number of dinners with each other couple during each 4-month period. You can fix it so they have three dinners with three of the other couples and two dinners with six of the other couples. I’m working an example of a schedule that will allow the ten couples to do that over the 4-month period.

---

<div class="post-metadata">

**Author:** ![MikeS](https://avatars.discourse-cdn.com/v4/letter/m/919ad9/32.png) [@MikeS](https://boards.straightdope.com/u/MikeS)\
**Post date:** [February 7, 2010, 4:23pm UTC](https://boards.straightdope.com/t/dinner-for-8/527956/4 "2010-02-07T16:23:47Z")

</div>

You could use [this block design](http://www.ccrwest.org/cover/t_pages/t2/k4/C_10_4_2.html) twice, which would guarantee that everyone would see each of the other couples twice. The remaining two dinners would then have to be picked at random, or maybe to even out the number of times each couple has to host.

---

<div class="post-metadata">

**Author:** ![rbroome](https://avatars.discourse-cdn.com/v4/letter/r/838e76/32.png) [@rbroome](https://boards.straightdope.com/u/rbroome)\
**Post date:** [February 9, 2010, 1:47am UTC](https://boards.straightdope.com/t/dinner-for-8/527956/5 "2010-02-09T01:47:56Z")

</div>

> [@CarolineJean](#):
>
> We belong to a dinner club with 9 other couples. Each month for four months dinner for 8 is held at five different homes. All dinners have a total of 4 couples at each home. The host makes the main meal, one couple will bring appetizers, one couple will bring salad and bread, one couple will bring dessert. At the end of the four months, there are always people we had dinner with two or three times and some we never met at all. How can we rotate so that we never have dinner with the same couple twice? Caroline Jean

I don’t know which is more interesting-that someone trying to plan some dinner parties is introduced to hypergraph theory or that two dopers brought it up as a solution. 🙂
