Can you think of a solution for a problem that concerns the whole or most of humanity and could be solved for the next ten years or even forever with less than 1 million dollars?

This was the title of a question I've recently found on Quora. I think this question is very interesting and I would like to share my thoughts about it.

I think the answer is mathematics and computer science. Or lets rather say algorithms.

There are multiple problems in mathematics and computer science which could have a severe impact on some areas which are important for the worlds economy. As we live in a globalized world, this will affect most of humanity. As algorithms don't cost anything except for developing cost, it is certainly below 1 million dollars. In principle, everybody could come up with such algorithms.

## P vs NP

The P versus NP problem is one of the Millennium Prize Problems. Stated extremely simple, it asks whether every problem whose solution can be quickly verified by a computer can also be quickly solved by a computer. If somebody found an algorithm which solves one problem in the class NPC in fast, it will eventually boost many problems or allow us to solve problems which were not solvable before. Especially optimization problems.

## Optimization problems

There could be other algorithms which boost optimization problems, but do not help for the P vs. NP problem.

Optimization is about allocating just the right amount of resources for a couple of goals to get the highest outcome.

## Fully homomorphic encryption

Finding efficient solutions for the problem that we don't want cloud computing providers to know our data, but we want them to use their efficient data centers to run calculations on them. This would boost cloud computing and lead to a more efficient use of computational resources.

## A.I.

The development of a strong A.I. could lead to a technological singularity. This would be a boost for technology incomparable to anything before.

However, even advancements in A.I. which are not strong A.I.s will help.

They can lead to many new products where humans cannot cope with the data volume. One example would be medicine. IBM's Watson is one first step to help doctors skip through the possible thousands of diagnoses and finding the most relevant and recent papers which could fit the problems of a patient. New diagnoses could be developed, the computer could help to create better (more accurate) tests for diseases. It could help to track the spread of diseases, predict it and thus help to contain it.

## Parallelization and Compilers

Developing a tool which automatically parallelizes sequential code could make all applications go faster. The same is true for advances in compiler technology. This could lead to less energy consumption and faster devices. As most people have contact to computers nowadays, this would affect everybody.

Can you think of other areas where algorithms have a strong impact?