The Alcuin problem

In this problem, we’re going to take a journey through time! We’ll begin in the 8th century AD when a scholar from the court of Charlemagne, Alcuin of York, proposes a simple problem involving the transportation of goats, wolves, and cabbages across a river.

After a brief pause, during which we’ll take the opportunity to tweak and complicate Alcuin’s problem a little, we’ll fast forward to the 21st century! Specifically, to the year 2008, when a group of modern mathematicians decides to make the ancient problem even more intricate by posing a seemingly more complex question, yet with a surprisingly simple answer!

Let’s get started!


Alcuin’s original problem – the goat, the wolf, and the cabbages.

The problem described below was proposed by Alcuin of York, an Anglo-Saxon monk and scholar from the 8th century AD. Let’s start with a challenge:

A ferryman needs to transport a rabbit, a wolf, and a basket of cabbages to the other side of a river. This would be an easy task if his boat were not so small. In fact, the ferryman can only carry one of these passengers at a time. To make matters worse, his passengers don’t behave well without supervision. The rabbit, if left alone with the basket of cabbages, will eat them all. And that’s if it’s not devoured by the wolf before, who also can’t control itself when away from the watchful eye of the ferryman.

With that, the challenge is set: how to get everyone across the river?

The ferryman can make multiple trips, but he can only take one passenger with him on each crossing. At no point can the wolf and the rabbit be left alone. The same applies to the rabbit and the basket of cabbages.

The mere presence of the ferryman on the same side of the river is enough to deter the natural instincts of the goat and the wolf.

Can you help the ferryman?

You can try to do this with just paper and pen. Using different objects to represent each passenger can be helpful!

To simplify, we’ve created a small application where you can explore this problem!

Instructions:

1. Click on a passenger to place them in the boat;
2. Press the “Atravessar/Voltar” button to take the boat to the other side of the river.
3. Click on the passenger inside the boat to disembark them on the corresponding shore.

Now that you’ve explored the problem, let’s continue!

Did you manage to solve the challenge? If yes, congratulations! If not, no worries! Let’s proceed with the activity, and things will become clearer.

First, try to answer the following questions:

• Among the three passengers, is there one of them that is key to the solution? Can you identify who that passenger is?
• Why is the above passenger so important?

Go back to the problem (you can use the application!) and explore the problem with these questions in mind.

And now? Did you succeed?

When you feel that you have thought enough about the questions above, click here for the answer!


The central character in the problem is the goat! It’s the only one of the passengers that, when separated from the group, resolves all the conflicts. The solution, therefore, must always keep the goat accompanied by the boatman or separated from the other passengers!! If you haven’t solved it yet, go back to the problem once again and try.

Finding a better representation

If you haven’t managed to solve it yet, let’s give you some more help!

To better answer the questions above, let’s find a more suitable representation for our problem.

We’ll start by representing each of the passengers with a circle (or just a dot). We’ll also connect every pair of passengers that cannot be left alone with an arrow.

This way, we’ll place an arrow pointing from the wolf to the rabbit and another arrow from the rabbit to the cabbage, as shown in the image below.

Using the application below, try to solve the problem again, focusing on the questions asked above.

When you feel you’ve thought enough about the questions above, click here for more hints!


By taking only the cabbage or the wolf, the remaining pair on the riverbank is still problematic! The goat is the only one whose removal solves all conflicts! Hence, it’s the focus of our headache. As soon as we isolate it from the others, we can be worry-free. If you haven’t solved the problem yet, there’s still time! Go back to the application and try to solve it keeping in mind the role of the goat.

Solving the puzzle

Now that we understand the central role of the goat in the problem, the solution becomes more accessible.

We already know that any solution must keep the goat away from its companions, either alone in the boat or on one of the riverbanks.

Below, we propose a possible solution to the problem! Try to replicate the solution below in the application and see how we keep the goat always separated from everyone else.

See the Solution:
  1. We start by taking the rabbit to the other side.
  2. Then, we return and take the wolf.
  3. After leaving the wolf, we bring the rabbit back.
  4. We leave the rabbit alone, and take only the cabbage.
  5. To finish, we go back to fetch the lonely rabbit.
.

Done! The problem is solved!

Now, let’s make the problem a bit more challenging! When you’re ready, proceed to the next part below.

Skip to content