0% found this document useful (0 votes)
91 views

Solving The General Planar Graph Coloring Problem Using Grover's Algorithm

In this paper, we discuss the structure and implementations of the planar graph-coloring problem (PGCP). We briefly look at well-known classical algorithms used to solve the PGCP but primarily focus on the quantum computational angle. Grover’s search is a well-known quantum algorithm that offers a quadratic advantage relative to its classical counterparts. We inspect its application to the PGCP and build a corresponding quantum circuit.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
91 views

Solving The General Planar Graph Coloring Problem Using Grover's Algorithm

In this paper, we discuss the structure and implementations of the planar graph-coloring problem (PGCP). We briefly look at well-known classical algorithms used to solve the PGCP but primarily focus on the quantum computational angle. Grover’s search is a well-known quantum algorithm that offers a quadratic advantage relative to its classical counterparts. We inspect its application to the PGCP and build a corresponding quantum circuit.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Volume 8, Issue 12, December – 2023 International Journal of Innovative Science and Research Technology

ISSN No:-2456-2165

Solving the General Planar Graph Coloring Problem


Using Grover’s Algorithm
Lenish Pandey1; Swayam Chaulagain1; Madhav Khanal1; Pratyush Bhattrai1,2
Sampada Wagle1, Sooraj Sahani1
1
Incubate Nepal, Kathmandu, Nepal
2
Department of Physics, University of Bristol, UK

Abstract: In this paper, we discuss the structure and area, the number of workers, total electricity production, as
implementations of the planar graph coloring problem well as the medium of transmission. We can optimize bus
(PGCP). We briefly look at well-known classical routing based on distance and traffic mobilization for
algorithms used to solve the PGCP but primarily focus deterministic time frames. We can also allocate network
on the quantum computational angle. Grover’s search is bandwidth in a way that meets transmission requirements
a well-known quantum algorithm that offers a quadratic with the least interference and maximizes network
advantage relative to its classical counterparts. efficiency.
Traditionally, this algorithm is used for search and
sorting; in this paper, we inspect its application to the The aforementioned issues, based on the problem
PGCP and build a corresponding quantum circuit. domains and requirements, fall under resource allocation
While we take a specific case of specialists in Nepalese and effective scheduling. For a general resource allocation
hospitals and optimize their placements, the approach problem, a set of resources is to be allocated to different
we have shown in this paper has wide implications for specifications. Different constraints are then defined which
efficiently solving a huge range of optimization problems adds objectivity to the problem. Additional constraints can
in health, transport, and so on. be defined to maximize the output function based on the
problems. Likewise, as a scheduling problem goes, a set of
I. INTRODUCTION works to be scheduled for a given time based on work-
specific and time-specific parameters can be determined.
Mathematical and computational methods of problem-
solving have grown exponentially over the past century, For our paper, the problem we shall be focusing on is
providing efficient and effective solutions to various to allocate specialist doctors to different hospitals in the
problems. From the classic brute force and manual Kathmandu Valley such that no doctor of similar expertise
calculations, these methods have evolved to yield faster lands in the same or even adjacent hospitals at a given
calculations with efficient algorithms. Mathematical period of time. The hospitals have been chosen based on
algorithms have been integrated into different fields of accessibility, proximity, clinical metrics, and resources. This
human endeavors, such as finance, health, agriculture, sort of problem with adjacency in terms of resource
education, and so on. The applications are open to allocation and scheduling can be modeled using graph
exploration in many endeavours. The development of coloring.
problem-oriented computational algorithms dates back to
the mid-20th century (Knuth, 1977). Researchers including Various classical algorithms have been developed to
Turing (1936), Dantzig (1951), Hoare (1961), Haigh (1993), address the graph coloring problem. However, we have
Copeland (2004), Belvos (2013), Montanaro (2016), Childs opted for the use of the quantum algorithm “Grover’s
et. al. (2018) have reported compelling algorithms ranging algorithm” to solve the problem. After mapping the
from logic, linear functions, universal computation to information of hospitals and specialists in the graph coloring
optimizations. With the advancement of quantum problem, we apply Grover’s algorithm which, through re
mechanics, quantum computing algorithms have also been peated iterations, gives us the most effective solution. The
intensively used in the fields of optimization, cryptography sections to follow cover the details of mapping a graph
and cryptoanalysis. These quantum algorithms offer a coloring problem using different classical algorithms as well
speedup in calculation due to carrying out multiple as implementing Grover’s algorithm.
calculations simultaneously.
 Problem Introduction
Taking Nepal as a sample location to map out dif Leading Nepali news portals have often reported
ferent real life scenarios in terms of mathematical and problems in health services due to the unavailability of
computational models for efficient problem-solving, a special doctors in rural Nepal. A fairly recent account of the
number of areas can be considered. We can map out the threatened future of Nepal’s health sector due to a lack of
location of disaster-prone areas and based on the distance superspecialist doctors has been reported (OnlineKhabar
between the major necessities, allocate the appropriate English News, 2023). According to the Nepal Medical
resources. We Can effectively plan hydropower plant Council (NMC), there are 10,080 specialist doctors as of
schedul ing, based on the energy consumption of a certain January 2023. The specialist doctors have not been

IJISRT23DEC1734 www.ijisrt.com 1902


Volume 8, Issue 12, December – 2023 International Journal of Innovative Science and Research Technology
ISSN No:-2456-2165
mobilized properly with all the specialists being For our solution sampling, a total of 8 hospitals were
concentrated in bigger cities, and due to the very limited taken, and based on clinical facilities available and the
number of specialists, it is very problematic for everyone to distance, edges were defined. The hospitals under
get access to effective health services. Thus, we tried to observation are Norvic International Hospital, Civil
generate an algorithm that would allocate the specialists to Hospital, B&B Hospital, Nepal Mediciti Hospital, Megha
different hospitals based on pre-set constraints, which in our Hospital, Patan Hospital, Sumeru City Hospital and Star
case is proximity. Hospital. Based on the size and distance between the
hospitals, we generated a map which would encompass the
necessary information of the hospitals (vertices), and the
edges. For further simplicity, we take the following graph
assigning a numerical vertex to the hospitals.

Fig 1 Map of Kathmandu Valley with Hospitals Marked as Nodes.

Based on the above graph, we can know the ad jacent Graph coloring, just like its name, is a way of coloring
nodes. Let E = (0,1), (0,5), (0,6), (0,7), (1,2), (1,6),(2,3), vertices of the graph such that no two adjacent vertices share
(2,6), (3,4), (3,6), (4,5), (4,7), (5,7), (6,7)be the set of all the the same color. For this kind of coloring the easiest hack is
edges in the graph. To solve the graph coloring problem, to use different colors for each node. Since the total number
any two vertices are associated with an edge. i.e. two of nodes in a graph doesn’t have any restrictions, using
adjacent vertices should not have the same color. In our different colors for different nodes is not feasible. Thus, for
case, the color represents the specialist doctors. proper coloring of a graph, one should color the graph using
a minimum number of colors.
II. GRAPH COLORING PROBLEM
The lowest number of colors required to color a
A graph is a collection of vertices(nodes) connected by graph(G) is called the chromatic number of G (Boyer et al.,
the edges. Typically, vertices of graphs are represented by 1998). A graph G with a chromatic number (G)=k is k
names or properties. Edge is often used to link any two chromatic. Graph G whose vertices can be colored using k
vertices of the graph. In terms of symbols, we represent colors is called k colorable (Boyer et al., 1998). Normally
graphs as G, vertices as V, and edges as E. The vertices there are three types of graph coloring: Vertex coloring,
having an edge between them are often called adjacent edge coloring, and face coloring (Diao, 2010). In this paper,
vertices. Graphs are either directed or undirected. Edges of we will stick with vertex coloring. Discussing further the
directed graphs have direction associated with them while chromatic number of a graph, we will discuss one of the
the edges of undirected graphs don’t have any direction. All landmark achievements in the field of graph theory widely
the graphs discussed in this paper will be undirected graphs. known as the Four Coloring Theorem. The four-coloring
Undirected graphs in our paper are simple graphs, that is theorem implies that for any planar graphs, their chromatic
there won’t be more than one edge connecting the same pair number is at most four. In other words, we can always color
of vertices. a planar graph with 4 colors.

IJISRT23DEC1734 www.ijisrt.com 1903


Volume 8, Issue 12, December – 2023 International Journal of Innovative Science and Research Technology
ISSN No:-2456-2165

Fig 2 Planar Graphs with 5 Vertices and 7 Edges.

This interesting conjecture was first conjectured by Note that this theorem is limited to planar graphs.
Francis Guthrie in 1852 and remained unsolved for more Because of this interesting boundary on chromatic numbers
than a century. Finally, the major proof was given in 1977 for planar graphs, we will be dealing with planar graphs in
by Appel and Haken (K. Appel & W. Haken, 1977). Their our paper. So let’s look at what exactly are planar graphs.
proof was largely computer-based as it required solving too
many cases. Whether this kind of computerized proof Basically, a planar graph is a graph that can be drawn
actually constituted proof in the mathematical community is in the plane such that no two edges cross except at a vertex.
still controversial. But we can’t ensure if a graph is planar just by looking at it.
You can see Fig 2 as an illustration.

Fig 3 Different Kinds of Planar Graphs with 4 Vertices.

To overcome this problem, Euler formulated a famous surface, it breaks into separate pieces, and each piece is
theorem known as Euler’s theorem. The theorem states that called a region. We also need to be aware that there’s
for any planar graph, No. of Vertices(v) Number of always one special outer region that contains all the parts of
Edges(e) + regions(r) equals 2, i.e. v e+r=2. The number 2 the surface that go on forever. For a region, degree (deg) is
in this theorem is not random as you can notice 2 usually the number of edges that are adjacent to the region, written
has something to do with the plane. In this theorem, the as deg(R). As an example of Euler’s theorem, you can see it
region(r) of a planar graph is basically sections of a flat works in the graph below. Since, v=4, e=6 and r=4, 4
surface separated by a planar graph. You can look at Figure 6+4=2.
2 for its illustration. Imagine erasing vertices from the

Fig 4 A Planar Graph to Illustrate Euler’s Theorem

IJISRT23DEC1734 www.ijisrt.com 1904


Volume 8, Issue 12, December – 2023 International Journal of Innovative Science and Research Technology
ISSN No:-2456-2165
Euler’s theorem can be proved using simple  Proof:
mathematical induction (Berman & Williams, 2009). Euler’s We can notice that, for each region of a planar graph,
theorem itself doesn’t help us much to see if the graph is its degree is 3, and each edge is adjacent to two regions.
planar since we need to redraw the graph, but some Now, we can derive that 2e =3r degrees of r regions of a
corollary of this theorem can be very useful for us to test the graph. Thus, 2e = 3r Substituting this in Euler’s theorem,
pla narity of a graph. If G is a planar graph with vertices (v) we can prove the inequality. However, this theorem is not
and edges (e), with v ≥ 3, then it must satisfy the inequality e two sided so we need to be careful. For all the planar graphs
≤ 3v − 6. this inequality must be satisfied, but a graph satisfying this
inequality doesn’t imply that it is planar. For example: In
figure 5 you can see that v=5 and e=10. So, 10 is not 9, the
graph is not planar. Whereas in Figure 5, v=6 and e=9 and 9.
If we check, the graph is not planar.

Fig 5 Planar and Non-Planar Graphs

 Why Study Graph Coloring Problems? classical and brute force methods, because the paths leading
Graph coloring problem is one of the most important to false solutions are terminated earlier, preventing any
aspects of graph theory because of its real-life implications further branches on that path. Although the upper bound of
like scheduling, resource allocation, assigning radio time complexity for both the backtracking and brute force
frequency, map coloring, and many others. However, to methods are of O(mn).
date, there is no efficient algorithm for solving the graph
coloring problem. It is one of the well-known Np complete Here, m is the number of colors and n is the number of
problems. Np complete problems are the problems which nodes, the average time complexity of backtracking is
don’t have any established polynomial time algorithm. lesser. Here is how backtracking works:
Polynomial-time algorithms are considered to be efficient
because the execution times do not grow rapidly as the We want the adjacent nodes to be of different colors.
problem size increases, unlike exponential-time algorithms. First, we make a list of nodes and a list of colors. Now we
Thus finding a polynomial time algorithm for any of the np put the first color on the first node and move on to the
complete problems can solve all of them. adjacent node. Since the second node can’t have the same
color as the first, the algorithm looks for the next color on
 Classical Solutions the color list and goes on till all the vertices are colored as
One of the popular classical algorithms for solving required. When the algorithm reaches a node and can’t find
graph coloring problems is the Backtracking Algorithm. any color that works, the algorithm backtracks and colors
Backtracking is a classical approach to solving graph the previous node with a different color. All the.
coloring using recursion. It is proven better than other

Fig 6 A Simple Graph Coloring Problem with a Square

IJISRT23DEC1734 www.ijisrt.com 1905


Volume 8, Issue 12, December – 2023 International Journal of Innovative Science and Research Technology
ISSN No:-2456-2165
 Grover’s Algorithm
Say we have a list of unsorted data consisting of N (3)
elements and we want to find some desired elements from
that list. Mathematically, we can define this problem as if An important thing to note is that the oracle is
we have a function f such that, f(x)=1 if x is marked (desired problem-based so for each different problem to be solved we
solution) f(x)=0 Otherwise A classical algorithm will, on need to design the oracle accordingly.
average, check the list for N/2 times to find the desired
element. In 1996, Lov Grover proposed Grover’s Algorithm In the third step, after applying the Oracle function, we
that could find the desired elements in O N evolutions apply the diffusion operator, which reflects the amplitudes
(Grover, 1996). Grover’s algorithm uses quantum of the states about the mean of all the states. The diffusion
mechanical properties: superposition and interference and operator does the work of amplifying the amplitude of the
provides a quadratic speedup for searching unstructured solution state(s) and suppressing the amplitude of the non
databases (Saha et al., 2015). solution states.

There are three parts of Grover’s algorithm: Ini


(4)
initialization, Oracle, and Diffuser. Firstly all the qubits,
which are used to translate the problem we want to solve
Core working of Grover’s Algorithm. So following the
using Gorver’s algorithm, are applied to the Hadamard gate
measurement, the solution state is easily noticeable with the
which creates a superposition of all the possible states with
highest amplitude. We easily find the answer we desire.
equal amplitude. This step is called Initialization.
 Graph Coloring Circuit
There are several methods of implementing Grover’s
search algorithm in a quantum circuit. For our use, we
(1) developed a basic form of a quantum circuit to implement
Grover’s Search algorithm to solve the graph coloring
In the second step, the oracle function is applied to problem for planar graphs.
these states in superposition (Ket s). The Oracle Uw is
designed such that it can mark the desired item(s) in the Our paper will present an implementation of Grover’s
database by flipping the Search algorithm to solve the graph coloring for a simple
planar graph with 4 nodes and 4 edges (see Fig: 7). We will
also present a more general method that works for any
planar graph with n nodes and e edges between them.
(2)
Suppose, for simplicity’s sake, we have the following
Geometrically, the oracle Uw applied to ket s can be
graph:
visualized as a reflection around the set of orthogonal states
to ket w (which is the desired state) written as,

Fig 7 A Simple Graph to Illustrate Quantum Circuit. of Applying u w and v d on s . and it Turns Out

IJISRT23DEC1734 www.ijisrt.com 1906


Volume 8, Issue 12, December – 2023 International Journal of Innovative Science and Research Technology
ISSN No:-2456-2165
Elements in the database, and M is the number of this ensures that no two adjacent nodes have the same color.
marked states we need (Saha et al., 2015), it has the net To accomplish that, let’s develop a system to keep track of
effect that the amplitude of the desired answer is almost 1, the different nodes, their colors, and the information
while the amplitudes of undesired answers reduce to almost between adjacent nodes.
0. With each iteration, the solution state is getting larger in
am plitude, and vice versa with the other states–the It’s As a first step, we can take 2n = 8 qubits and
proven that any planar graph can be colored using 4 colors understand that the 4 back-to-back qubit pairs represent each
(Appel & Haken, 1977). Suppose we have the following of the n = 4 nodes with the first two qubits representing N1.
four colors with a two-bit binary number representation:
Red corresponds to 00, Blue to 01, Green to 10, and Yellow This way, the four pairs of qubits’ values can be
to 11 binary digits. Adding binary representations to these interpreted as the color in the four nodes. Suppose for now
colors, we proceed with the graph coloring circuit with the that we have these eight qubits with their values as
binary digits, corresponding to the colors, as input. 01000110 Because this representation has the first two
qubits’ value as 00, so (N1) is colored blue. Likewise, this
Our problem now is to assign these two-bit binary representation implies that nodes (N2), (N3), and (N4) are
numbers (or simply these colors) to the n = 4 nodes such colored red, blue, and green respectively. In a circuit, that
that no two adjacent nodes have the same binary numbers; would be.

Fig8 Quantum Circuits Showing Input and Output in Binary Digits

Notice how after applying Grover’s algorithm, our We now move on to designing the oracle to invert the
final output will be a 2n-bit binary number whose leftmost phase of the coloring combination in which adjacent nodes
two values represent N1’s color, then the next two values have different colors. To achieve that, we break the oracle’s
represent N2’s color, and so on until the last two values function into two parts, so that the gate implementation is
represent Nn’s color. For our use, we’ll refer to the qubits simpler. First, we need to identify the solution states whose
represented by the Nn node as Nn qubits. So, the second last adjacent nodes are differently colored. Second, we need to
pair of qubits is the N3 qubits. invert the phase of the identified solution states.

Since these are the only qubits that represent our color, For now, let’s just look at N1 and N2 from our specific
we can apply the Hadamard H gate to make them into a case. Since they’re adjacent, the first part of the oracle must
uniform superposition. Any ancilla qubit we need/use later identify if they have the same color. We’ll use multi-control
will not need to be initialized because their final values are Toffoli gates in the following combination (see Figure 10) to
of no use to us. see if they have the same color and store their value in an
ancilla, which we’ll call an edge ancilla. Note that the two
nodes below are represented by two qubits each. The
ancillia starts from the null state. Ancilla indexing is the
same as the edge indexing from the graph. This is done for
simplicity’s sake.

IJISRT23DEC1734 www.ijisrt.com 1907


Volume 8, Issue 12, December – 2023 International Journal of Innovative Science and Research Technology
ISSN No:-2456-2165

Fig 9 Circuit with two Nodes Showing Multi -Control Tofolli Gates and Ancilla

A truth table with all possible inputs in the N1 and N2 Act like inverses of one another to give an output of 0
qubits shows that the edge ancilla returns 0 only when the in the edge ancilla.
N1 and N2 qubits have different values (i.e., different colors).
This will be the case we desired. When the colors in the Because of their frequent use, the combination of these
adjacent nodes are the same, only one of the Toffoli of the Toffoli gates to check if any pair of adjacent nodes Ni and Nj
four flips the sign of the edge ancilla, making it a 1, a case with edge Ek have different colors or not, we’ll be calling
that shows that the pairing isn’t valid as a solution to the them color-checking gates (C(i, j)) and their corresponding
graph coloring problem. Else, two Toffoli gates are edge ancilla is Ek. For ease of notation, we’ll name the
activated which inverse of C(i, j) to be C(j, i) because C(j, i) must have the
Toffoli gates in the reverse order of C(i, j

Fig 10 Toffoli Gates for Checking Colors in Pairs of Adjacent Nodes

We now design the second part of the oracle to flip the only when adjacent nodes have different colors.
phase of the correct states identified in the first part. Our
goal is to filter out the solution state after kicking its phase. We now take the edge ancillas as the control and the
For that, we’ll use phase kickback (Alsing & McDonald, negative ancilla as the target in a Toffoli gate to flip the
2011) by using a new ancilla, which we’ll refer to as the phase only when all the edge ancillas return 0–when the
negative ancilla. In a Tofolli gate, the state of the target coloring is valid. However, computationally, it is more
qubit is flipped if and only if the con trol qubit is in the state efficient to make the controls that check 1, else we’ll need to
—1〉, known as phase kickback. The kickback helps identify use X gates before and after all the controls. This will
our solution state. We’ll again use a multi-control Toffoli increase the gate complexity, and we try to avoid this.
gate to flip the phase of the solution states.
Hence, in the initialization step itself, we make all
In the first part of the oracle, we know we’ll have e
edge ancillas. If all of these edge ancillas return 0, we the edge ancillas to 1 to reduce the cost of the quantum
know that is a valid coloring because the edge ancillas are 0 circuit. In a diagram, we would have.

IJISRT23DEC1734 www.ijisrt.com 1908


Volume 8, Issue 12, December – 2023 International Journal of Innovative Science and Research Technology
ISSN No:-2456-2165

Fig 11 Initialized Edge Ancillia

So, up until now, we have initialized the states, D = 2 |s⟩ ⟨s| − I (6)
checked which states have valid coloring, and flipped the
phase of states with valid coloring. To prevent the effect on D = 2(H⊗n |0⟩) ⟨H⊗n |0⟩| − I
phase due to C(i,j), we apply C(j, i) right after the phase (7)
kickback completes our oracle.
 Because D can be written as a reflection about
 For the diffusion operator, recall that it can be written Mathematically, we want a gate such that.
as.
M0 |0⟩ = |0⟩ (8)
s = H⊗n |0⟩ (5)
M0 |x⟩ = − |x⟩ for x ̸= 0 (9)

Fig 12 A Part of Initializing the Circuit

IJISRT23DEC1734 www.ijisrt.com 1909


Volume 8, Issue 12, December – 2023 International Journal of Innovative Science and Research Technology
ISSN No:-2456-2165
 As a Pseudo Circuit, our Final Circuit would Look Like:

Fig 13 The Final Quantum Circuit

III. CONCLUSION [5]. Grover, L. K. (1996). A fast quantum mechanical


algorithm for database search. Proceedings of the
Grover’s Search Algorithm has practical applications Twenty Eighth Annual ACM Symposium on Theory
beyond sorting or searching, such as in optimizations, one of of Computing STOC ’96.
which is the NP-hard planar graph coloring problem. The https://doi.org/10.1145/237814.237866.
implication of the graph coloring problem is vast: [6]. K. Appel, W. Haken “Every planar map is four
scheduling problems, molecular chemistry, puzzle solving, colorable. Part I: Discharging,” Illinois Journal of
traffic signal optimization, cartography, and so on. In our Mathematics, Illinois J. Math. 21(3), 429 490,
case, we took the graph coloring problem of specialists in (September 1977).
different hospitals in Nepal. While the problem has been [7]. Lack of superspecialist doctors threatens the future of
solved using classical backtracking or greedy methods, Nepal’s health sector OnineKhabar English News.
Grover’s technique offers a quadratic speedup, making it (2023,February13).
handy when the number of nodes grows larger. Our https://english.onlinekhabar.com/lack superspecialist
Quantum Circuit is open to further optimization to reduce doctors nepal html.
the error complexity in gates and yield even more precise [8]. Mukherjee, S. (2022, February 8). A Grover search
results. based algorithm for list coloring.
[9]. Saha, A., Chongder, A., Mandal, S. B., &
REFERENCES Chakrabarti, A. (2015, December). Synthesis of
vertex coloring problem using Grover’s algorithm.
[1]. Alama, J. (2009). Euler’s Polyhedron Formula. 2015 IEEE . International Symposium on
Formalized Mathematics, 16(1), 7 17. Nanoelectronic and Information Systems, pp. 101
https://doi.org/10.2478/v10037 008 0002 6. 106. IEEE.
[2]. Alsing, P. M., & McDonald, N. (2011). [10]. Wilf, H. S. (1984). Backtrack: An O(1) expected
Grover’s search algorithm with an entangled time algorithm for the graph coloring problem.
database state. Proc. SPIE 8057, Quantum Information Processing Letters, 18(3), 119 121.
Information and ComputationIX,80570R https://doi.org/10.1016/0020 0190(84)90013 9
https://doi.org/10.1117/12.883092.
[3]. Berman, L. W., & Williams, G. I. (2009).
Exploring Polyhedra and Discovering Euler’s
Formula. Resources for Teaching Discrete
Mathematics. Mathematical Association of America.
Boyer, M., Brassard, G., Høyer, P., & Tapp, A.
(1998). Tight bounds on quantum searching.
Fortschritte der Physik: Progress of Physics, 46(4 5),
493 505.
[4]. Diao, Z. (2010). Exactness of the Original Grover
Search Algorithm. Physical Review A, 82.
https://doi.org/10.1103/PHYSREVA.82.044301.

IJISRT23DEC1734 www.ijisrt.com 1910

You might also like