During the corona epidemic, many of us have become amateur mathematicians. How quickly is the number of hospitalized patients rising, and when can herd immunity be achieved? Professional mathematicians have also faced challenges, and a researcher at the University of Copenhagen became inspired to solve a 30-year-old problem in computer science. The hack was just published in the* ACM (Association for Computing Machinery) magazine.*.

“Like many others, I was out to calculate how an epidemic would evolve. I wanted to investigate certain ideas from theoretical computer science in this context. However, I realized that lacking a solution to the age-old problem was challenging,” says Joachim Kock, associate professor in the Department of Mathematics. University of Copenhagen.

His solution to this problem could be useful in epidemiology and computer science, and possibly other fields as well. The common feature of these domains is the existence of systems in which the different components exhibit mutual influence. For example, when a healthy person meets a person infected with the COVID virus, the result can be two people becoming infected.

**A clever method invented by a German teenager**

To understand this breakthrough, one needs to know that such complex systems can be described mathematically by what are called Petri networks. This method was invented in 1939 by German Karl Adam Petrie (at the age of only 13 by the way) for chemistry applications. Just like a healthy person meeting a person with COVID can make a difference, the same thing may happen when two chemicals mix and interact.

In a petri network, the different components are drawn as circles while events such as a chemical reaction or infection are drawn as squares. Next, the circles and squares are connected by arrows showing the interconnectedness in the system.

*A simple version of the Petri Grid for COVID infection. The starting point is an uninfected person. “S” stands for “sensitive”. Contact with an infected person (“I”) is an event that causes two people to become infected. Later another event will happen, which is the removal of a person from the group of infected. Here, the ‘R’ stands for ‘retriever’ which in this context can be cured or dead. Either outcome may result in the person being removed from the affected group.*

**Computer scientists considered the problem insoluble**

In chemistry, Petri grids are applied to calculate how the concentrations of different chemicals in a mixture evolve. This way of thinking has influenced the use of petri nets in other fields such as epidemiology: we start with a high “concentration” of uninfected people, after which the “concentration” of infected people starts to rise. In computer science, the use of Petri networks is somewhat different: the focus is on individuals rather than on a focus, and development happens in steps rather than on a continuous basis.

What Joachim Cook had in mind was to apply individual petri nets from computer science to the COVID computation. This was when he ran into the old problem:

“Basically, the processes in a Petri network can be described by two separate approaches. The first approach views a process as a series of events, while the second approach sees the network as a graphic expression of the interconnectedness of components and events,” says Joachim Kock, adding:

“The sequential approach is well suited for computational operations. However, it has a downside because it describes injuries less accurately than the graphical approach. Furthermore, the sequential approach tends to fall short when dealing with events that occur simultaneously.”

“The problem was that no one was able to unify the two approaches. Computer scientists somewhat quit, considering the problem unsolvable. This was because no one realized that you needed to go back and revise the very definition of a petri network,” says Joachim Cook.

**A small tweak with a big impact**

The Danish mathematician realized that a slight modification of the definition of the petri network would enable the problem to be solved:

By allowing parallel arrows instead of just counting them and writing a number**And** Additional information is provided. Things are going well and the two approaches can be combined.”

The exact mathematical reason why this extra information is important is complex, but can be illustrated by an analogy:

“Assigning numbers to things has helped humanity tremendously. For example, it is very practical to be able to arrange the appropriate number of chairs in advance for a dinner party rather than having to try different combinations of chairs and guests after their arrival. However, the number of chairs and guests is not disclosed. Who will be sitting in. Some information is lost when we look at numbers rather than real objects.”

Similarly, information is lost when the individual shares of the Petri grid are replaced by a number.

“It takes more effort to tackle parallel equity individually, but one is greatly rewarded as it becomes possible to combine the two approaches so that the benefits of both can be obtained simultaneously.”

**Circle closed to COVID**

The solution aids our mathematical understanding of how to describe complex systems with many interconnections, but it won’t have much practical impact on computer scientists’ daily work with petri nets, according to Joachim Kock:

“This is because the necessary modifications are mostly backwards compatible and can be applied without having to revise the entire Petri network theory.”

“Somewhat surprisingly, some epidemiologists have begun using revised petri nets. So, one might say, the circle has closed!”

Joachim Cook sees another point in the story:

“I wasn’t out to find a solution to the ancient problem in computer science at all. I just wanted to do the COVID calculations. This was a bit like looking for your pen but realizing you have to find your glasses first. I’d like to take this opportunity to advocate for the importance of the research that It has no predetermined goal. Sometimes curiosity-driven research leads to breakthroughs.”