Mind Matters Natural and Artificial Intelligence News and Analysis
communist-party-monument-pyongyang-north-korea-stockpack-adobe-stock.jpg
Communist Party Monument, Pyongyang, North-Korea
Communist Party Monument, Pyongyang, North-Korea

Computer Science Explains Why Communism Can’t Work

Successful communism is not only morally and practically flawed, it is mathematically impossible

Communism has been the target of many criticisms. The strongest deal with the mismatch between central planning and individuals’ desires for their lives and with the horrific human rights record of communist nations. Some scholars place the toll in human life due to communism at above 100 million in the 20th century.

Those are criticisms of the practicality and ethics of communism. But is it also intrinsically flawed at a fundamental mathematical level? It turns out that the answer is yes.

The basic idea behind central planning is this: If the central government makes most decisions that, in a freer society, individuals or small communities would make for themselves, more efficiency will follow—and, as a result, more prosperity. It doesn’t tend to work out that way and there is a reason for that.

In order to centrally run an economy the size of the former Union of Soviet Socialist Republics (USSR, 1922–1991) in the modern era, massive computational resources would be required to solve certain fundamental computer science problems. Readers will not be surprised to learn that these problems revolve around scheduling and resource allocation. Some well-studied forms of these problems are:

Job shop scheduling problem: How do we allocate shared resources to competing activities?

Bin packing problem: How do we minimize the number of different “bins” into which we put items with different characteristics (in physical terms, size, weight, and length)?

Knapsack problem: How do we determine the highest value for a specified weight of a given package of items. One entertaining way of posing the problem is: “A thief breaks into the supermarket, the thief cannot carry weight exceeding M (M ≤ 100). The problem to be solved here is: which packages the thief will take away to get the highest value?”

Traveling salesman problem: “Given a set of cities and distance between every pair of cities, the problem is to find the shortest possible route that visits every city exactly once and returns to the starting point.”

All these problems have something in common: They belong to a class known as NP-Complete. Solving problems in this class becomes exponentially more difficult as the size of the problem increases. Such problems can only be solved by computers if their size is on the order of 100s.

Because the solutions to these problems scale exponentially, for every unit you add to the problem size, such as going from 100 to 101, the resources and time required to solve the problem doubles. Now, recall that an economy can only be run centrally on a massive scale.

USSR on Globe

Thus, when you have an economy the size of the former USSR, the problem sizes are on the order of millions and billions. Solving the problems using computers requires more computational resources than are available if we used every particle throughout the entire lifespan of the universe across all possible multiverses. It is just completely out of the question.

And this computational analysis deals only with a steady state economy where no innovation is occurring. Once innovation is introduced, we must deal with an even harder class of computational problems known as undecideable problems: “An undecidable problem is one that should give a “yes” or “no” answer, but yet no algorithm exists that can answer correctly on all inputs.”

Even with infinite computational resources, these problems cannot be solved. This is due to the halting problem: “There can be no general procedure to decide if a self-contained computer program will eventually halt.” The halting problem is proven to be unsolvable by computers.

The reason why innovation is undecideable is that it amounts to solving problems and we cannot always know a problem is solvable. If a problem is unsolvable, then the computer will look for a solution forever, with no result.

So where are we now? Economists have shown that innovation is the engine that drives the economy. Consider how inventions such as the automobile, personal computers, the internet, modern medicine, modern agriculture, and so on have completely changed our lifestyles, compared to those of our ancestors. An economy that was frozen at a particular technological stage would quickly be outpaced by an economy that continues to innovate.

It’s not an accident that socialist countries have historically featured lower living standards. The computational problems of planning and innovation are fundamental problems for centrally planned economies. Furthermore, computing progress won’t help because these problems are completely intractable for computers. In short, successful communism is not only morally and practically flawed, it is mathematically impossible.


You may also enjoy:

They say this is an information economy. So what is information? How, exactly, is an article in the news different from a random string of letters and punctuation marks? (Eric Holloway)


Eric Holloway

Fellow, Walter Bradley Center for Natural & Artificial Intelligence
Eric Holloway has a Ph.D. in Electrical & Computer Engineering from Baylor University. He is a current Captain in the United States Air Force where he served in the US and Afghanistan He is the co-editor of the book Naturalism and Its Alternatives in Scientific Methodologies. Dr. Holloway is an Associate Fellow of the Walter Bradley Center for Natural and Artificial Intelligence.

Computer Science Explains Why Communism Can’t Work