Article

Lessons from dining philosophers

Learning from spaghetti and philosophy.

hungry 2.png

Image: Dining philosophers around a table with delicious spaghetti. World image from the NetLogo model by Wilensky (1999 and 2003).     

On Monday 16th we had two visitors in our Engineering for Sustainable Development Lecture. Early in the morning, Zejun, a MSc student in Industrial Ecology and Caroline Nevejan, a researcher and designer on the implications of technology on society came to our classroom to chat with us. Although they did not prepare their talks together, I found their talks to fit like two pieces of a puzzle. Zejun explained that sustainability challenges are usually not about technology, but about society. Afterwards, Dr Nevejan talked about values that can transform ourselves, our relations and our environment, including the values of synchronization and rhythm. I would like to explain why their talks fit so well with a computer science problem called “The Dining Philosophers”, by Dr Edsger Dijkstra.

Imagine a room where twenty philosophers are sitting around a table, just like the image at the beginning of this article. They have been thinking all day long and are now very hungry. In the middle of the table there is an enormous plate of delicious spaghetti. Although there is more than enough food for everyone to eat, each philosopher has only one fork, which is not enough to eat such a long and messy meal. Thus, for anyone to eat at all, someone will be left hungry.

This awkward dinner situation could evolve in many ways. One of them would be that no philosopher makes a move and everyone is left without dinner. Another possibility would be that someone (or even everyone) reaches for their neighbor’s fork. This means that some of them would be eating and some others might never have dinner. A third possibility would be to share their resources and coordinate their fork use. Although there are not enough forks for all the philosophers to eat at the same time, there is enough spaghetti for everyone to satisfy their hunger. Also, philosophers do not need to eat all the time, they can stop eating while they are not hungry.

I like to imagine that Dr Dijkstra, author of the Dining Philosophers problem, would have enjoyed our Engineering for Sustainable Development lecture today. Zejun’s and Dr Nevejan’s talks today were two pieces in the puzzle of his computer science problem. One one hand, Zejun explained how sustainability challenges are often about social behavior and not so much about technology. The philosophers had enough resources (spaguetti) to solve their problem (hunger) and the technology (forks and possible agreements) to do so. On the other hand, they needed to synchronize and inject rhythm to their dinner, like Dr Nevejan explained.

In sustainability transitions, resources and technology are often not the problem. For example, why do we keep using cars for short distances when we have had bikes for such a long time? Why do we keep buying plastic bottles in countries where faucet water is safe to drink? In those cases, just like the philosophers problem, we need to come up with and agree upon an order to use and share our forks so that everyone can have a spaghetti dinner. In other words, transitions are a lot about talking to each other and coordinating our behavior. This is the first step towards sharing the pools of common resources and building the trust on each other that are necessary for walking together towards sustainability.

 

References

NetLogo Model: Dining Philosophers