It is well-known that the “Unsorted Database” quantum algorithm by Grover gives quadratic speedup to several practically important combinatorial and enumerative problems, such as: SAT, Graph Coloring, Maximum Cliques, Traveling Salesman and many others. Recently, quantum programming languages such as QISKIT, QSHARP or Quipper start to be used to design, verify and simulate practical quantum algorithms for important problems in Quantum Machine Learning or optimization. So far, however, no methodologies have been created to program Grover's Oracles for particular classes of problems. In contrast, such methodologies have been already created for classical Constraint Satisfaction Problems (CSP). Invertible Logic was recently introduced by Supriyo Datta and his team. The goal of this paper is to present results of our research towards creating a systematic methodology to solve search problems in Artificial Intelligence, Logic Design and Machine Learning by repeated applications of modified hardware oracles. These oracles can use: (1) classical Boolean logic, (2) quantum logic, or (3) invertible logic. Our methodology to design and exercise all types of general oracles is based on bottom-up synthesis and technology transformations. For CSP problems we apply unified blocks which use various data representations and encodings. • Introduces a methodology of solving Constraint Satisfaction and Optimization Problem based on general oracles. • This methodology applies to classical binary hardware, quantum computing and invertible logic. • Illustrates how to solve optimization problems in quantum as repeated calls of Grover Algorithm with modified oracles. • Discusses the bottom-up design of oracles.
Read full abstract