
Professor Robert Wille of the Technical University of Munich and the Software Competence Center Hagenberg discusses when quantum computing applications and knowledge are required – and when not
Quantum computing is a rapidly developing research domain with enormous advances in hardware and software. These advances are attracting great interest in both academia and industry – leading to many applications from different domains, such as physics, chemistry, economics, and optimization.
However, using quantum computing applications is a challenging task that clearly requires expertise in this new computing paradigm. At the same time, we don’t need to reinvent the wheel entirely and should rely on classical computing expertise whenever possible. This article walks through the steps to realize quantum computing applications and discusses when dedicated expertise is needed and when not.
An abstract summary of the corresponding steps is given in Figure 1 and discussed in the following.
Problem specification
Many problems from different application and research domains can be grouped into problem classes using a shared problem description format. Examples are satisfiability problems (SAT) (defined by a list of constraints) or graph-based optimization problems (defined by an adjacency matrix and a respective objective function). These description formats are purely classical and similar to the format that conventional solutions expect.
Choice of algorithm
Currently, there are only a handful of quantum algorithms available that have been shown to outperform their classical counterparts—either in theoretical complexity or in practical use. Each of these quantum algorithms solves a very specific class of problems and therefore expects the problem to be described in a corresponding respective format.
If a problem class can be formulated accordingly, the corresponding quantum algorithm is applicable. Examples are Grover’s algorithm or QAOA for SAT problems and QPE or, again, QAOA for graph-based optimization problems. Choosing a corresponding algorithm does not require deep expertise in quantum computing applications – a rough overview is sufficient.
Solving a problem from its respective problem class with a chosen quantum algorithm involves three tasks that require expert knowledge of quantum computing:
1. Encoding: The problem instance must be encoded as a quantum circuit so that the chosen algorithm allows users to solve it.
2. Execution: The resulting quantum circuit must be executed on either a simulator or a real quantum computer. For that, the quantum circuit must be compiled accordingly. The execution results in a histogram of calculation results.
3. Decoding: This exact histogram must now be decoded so that the desired result can be extracted. The decoding scheme is dependent on the encoding scheme and may involve extensive post-processing.
This step probably presents one of the biggest challenges for end users who are “socialized” with classical computing and now want to use quantum computing. While this paradigm shift cannot be completely avoided, its ramifications can certainly be reduced by supporting the end user with software and automation methods.
Solution processing
The output of the previous steps gives the desired result of the originally given problem. As the final step, this result must be translated back to the original problem context and returned to the end user. In the example of the SAT problem class, the variable assignment must be extracted from the result and represented in terms of a solution to the actual problem. In the example of the graph-based problem class, a sequence of graph nodes can be returned – depending on the objective function. Again, all these steps hardly require quantum computing expertise and remain mainly in the classical computing domain.
Whenever possible, end users should be shielded from deep quantum computing aspects
Overall, most of the steps to realize quantum computing applications do not necessarily require quantum computing expertise. Given that, so far and in the near future, not everyone will become quantum computing experts, this should be exploited when establishing corresponding design flows: Whenever possible, end users should be shielded from deep quantum computing aspects.
This can be achieved through proper (classical) interfaces and black box – similar to conventional solutions (whose internal functions are often also shielded from the end user).
The quantum aspects that cannot be completely avoided must obviously be handled by quantum computing experts. But even here, the threshold for required skills can be significantly reduced through automation. Software and design automation methods developed for the Munich Quantum Toolkit (MQT) aim for this by providing push-button solutions that help the end user, e.g. to automatically determine the most suitable platform, compiler, etc., offer simulation methods, compiler optimizations and more. These tools are publicly available as open source projects on GitHub.
Interested in more?
Craving more details? Check out the following articles, which provide more in-depth information, explicit examples, and references for further reading:
- N. Quetschlich, L. Burgholzer and R. Wille. Predicting good quantum circuit compilation options. 2022. https://arxiv.org/abs/2210.08027
- B. Poggel, N. Quetschlich, L. Burgholzer, R. Wille and J. Lorenz. Recommend solution paths for solving optimization problems using Quantum Computing. 2022. https://arxiv.org/abs/2212.11127
- N. Quetschlich, L. Burgholzer and R. Wille. Towards an automated framework for realizing quantum computing solutions. In International Symposium on Multiple-Valued Logic (ISMVL). 2023.
- N. Quetschlich, L. Burgholzer and R. Wille. Compiler optimization for quantum computing using reinforcement learning. Within Design Automation
Conference (DAC). 2023.
Editor’s Recommended Articles
#Realizing #potential #quantum #computing #applications