# Review Quantum Circuit Synthesis for [PERSON]'s Algorithm Oracle
## 3 Methodology
### Summarizing and Charting the Data  
A summarizing process was conducted with the filtered set of studies, which is exposed in Section 4. Based on the search and selection of the studies used for oracle synthesis, they were classified into three main groups. The three groups found were as follows:  
* Classical with an abbreviation of [c]. It comprises articles that deal with mapping functions or compilers for translating a Boolean function to a quantum oracle.
* Metaheuristics with an abbreviation of [mh]. It comprises methodologies that use heuristic algorithms to generate and optimize quantum oracles.
* Neural networks with an abbreviation of [nn]. It comprises methodologies that use a computational model inspired by the human brain and the connection of neurons for generating quantum oracles. The neural network can be a classical or quantum implementation representing the oracle.  
Finally, depending on the available information for each study. The systematic review was visually represented in Table 1 and in the knowledge graph in Figure 3. Table 1 includes the methods for generating the oracle, the programming language, and the different metrics used to evaluate the performance concerning other methodologies. The knowledge graph visually shows the summary of the found information, and the color represents the methodology used by each study. Green is used for classical [c] methodologies, yellow for metaheuristics [mh], and purple for neural networks [nn].  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Study** & **Method** & **Languages** & **Libraries** & **Techniques** & **Cost Functions** \\ \hline [PERSON] [21] & [c] & - & - & [PERSON] & \\  & & & & Polynomial & Number of qubits \\ \hline [PERSON] [22] & [c] & Python; & Tweedledum; & & ESOP; & \\  & C++ & C++ & Qiskit & XAG & \(n_{1q}+10\cdot n_{2q}\) \\ \hline [PERSON] [23] & [c] & C++ & Caterpillar & ROS & Number of qubits; \\  & & & & Number of gates; & \\ \hline [PERSON] [11] & [c] & Python & Qiskit; & Gray; & Number of qubits; \\  & & & Tweedledum & PTS & CNOT Gates; \\ \hline [PERSON] [17] & [c] & Python & Qiskit & Arithmetic & Circuit depth; \\  & & & & Oracle & Number of qubits \\ \hline [PERSON] [24] & [c] & COQ; & Quipper; & & \\  & & Haskell & DQISIM; & Custom compiler & - \\ \hline [PERSON] [25] & [c] & - & - & Symbolic maps; & \\  & & & & QUASH & Number of 2-qubit gates \\ \hline [PERSON] [12] & [mh] & - & - & Ant Colony & \(\mathcal{MSF}\) \\ \hline [PERSON] [26] & [mh] & C++ & Q-PACE; & Genetic & & \\  & & & GALib & Algorithm & \(f=h+c+e\) \\ \hline [PERSON] [27] & [mh] & - & - & Genetic Algorithm & \(AS\); \(ST\) \\ \hline [PERSON] [28] & [mh] & Python & Qiskit & Cellular GA & - \\ \hline Swaddle [29] & [nn] & Python & TensorFlow & Matrix to circuit & Euclidean distance \\ \hline [PERSON] [13] & [nn] & - & - & Input-output & \\  & & & & Network & Two qubit gates \\ \hline [PERSON] [30] & [nn] & Python &
\begin{tabular}{c} Pytorch; \\ Open QASM \\ \end{tabular} & Seq2 seq Network & Accuracy \\ \hline \hline \end{tabular}
\end{table}
Table 1: Summary of oracle generation methodologies.