<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Shisheer S Kaushik | Q C I G</title><link>https://quantum-club-iitj.netlify.app/author/shisheer-s-kaushik/</link><atom:link href="https://quantum-club-iitj.netlify.app/author/shisheer-s-kaushik/index.xml" rel="self" type="application/rss+xml"/><description>Shisheer S Kaushik</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Tue, 12 Sep 2023 00:00:00 +0000</lastBuildDate><image><url>https://quantum-club-iitj.netlify.app/author/shisheer-s-kaushik/avatar_hub5db2c8e12349a3157e53325f38d7140_166420_270x270_fill_q75_lanczos_center.jpg</url><title>Shisheer S Kaushik</title><link>https://quantum-club-iitj.netlify.app/author/shisheer-s-kaushik/</link></image><item><title>Autism Disease Detection Using Quantum Transfer Learning Techniques</title><link>https://quantum-club-iitj.netlify.app/project/autism-classification/</link><pubDate>Tue, 12 Sep 2023 00:00:00 +0000</pubDate><guid>https://quantum-club-iitj.netlify.app/project/autism-classification/</guid><description>&lt;!DOCTYPE html>
&lt;html>
&lt;head>
&lt;link rel="stylesheet" type="text/css" href="styles.css">
&lt;/head>
&lt;body>
&lt;ul>
&lt;li>&lt;strong>Organization&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://iitj.ac.in" target="_blank" rel="noopener">Indian Institute of Technology Jodhpur&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Student&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://www.linkedin.com/in/shisheerkaushik24/" target="_blank" rel="noopener">Shisheer S Kaushik&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.linkedin.com/in/m-thirumalai/" target="_blank" rel="noopener">Thirumalai M&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.linkedin.com/in/haris-ansari-647861176/" target="_blank" rel="noopener">Haris Ansari&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;strong>Mentors&lt;/strong>
&lt;ul>
&lt;li>&lt;a href="https://research.iitj.ac.in/researcher/anand-mishra" target="_blank" rel="noopener">Anand Mishra&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h1 id="contents">Contents&lt;/h1>
&lt;nav>
&lt;ul>
&lt;li>&lt;a href="#section1">Automated Medical Image Diagnostics using QML&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section2">The Paradigm of QuantumCNN&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section3">Applications of QCNN&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section4">Libraries summarized as follows:&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section5">The project workflow:&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section6">Conclusion&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section7">Resources&lt;/a>&lt;/li>
&lt;/ul>
&lt;/nav>
&lt;section id="section1">
&lt;h2>Automated Medical Image Diagnostics using QML&lt;/h2>
&lt;p>
&lt;p>Autism is categorized as neuro-developmental disorder which has severe effects on social growth and development in children and adults. Although its complete cure seems not possible but early diagnosis is preferable as it helps in more effective treatment compared to conventional behavioural investigations that take much time in detecting and diagnosing ASD by analysing children behaviour in clinics1. ASD has been mostly diagnosed in 2 years old child but it can be diagnosed in children later depending on complexity of symptoms and severity of the disorder2. It has generally occurred due to environmental factors or any genetic linkage which not only effects the nervous system but also has an overall impact on social and cognitive skills of the children and adults. The extent and the intensity of its symptoms are quite variable. Common signs of the condition include difficulty in communication particularly in social situations, obsessional interests, and repeated mannerisms3. A complete examination is needed to detect ASD comprising thorough evaluation and series of assessments performed by child healthcare professionals and psychologists. Early treatment and diagnosis of ASD are crucial since they help to somewhat lessen symptoms, which enhances the person&amp;rsquo;s overall quality of life4. However, a lot of critical time can be lost in diagnosing ASD because it cannot be properly detected by depicting only behaviours of children or adults in clinic. Autism can be identified as early as possible using a range of clinical approaches, but actually these are time-consuming diagnostic procedures infrequently carried out unless the predictive risk of ASD development is high5. Quantum Machine learning (QML) gives an opportunity to train ASD models in less time and more accuracy6. ML techniques are crucial for quick and accurate assessment of ASD risk and streamlining the entire diagnostic process which assist families in getting to the critical therapies more quickly7. Various classification models of QML can be used for early prediction of autism to prevent its prolonged effects in adults as well as children8.&lt;/p>
&lt;/p>
&lt;/section>
&lt;section id="section2">
&lt;h2>The Paradigm of QuantumCNN&lt;/h2>
&lt;p>
&lt;p>QCNN, or Quantum Convolutional Neural Network extends the key features and structures of existing CNN to quantum systems. When a quantum physics problem defined in the many-body Hilbert space is transferred to a classical computing environment, the data size grows exponentially in proportion to the system size, making it unsuitable for efficient solutions. Because data in a quantum environment can be expressed using qubits, the problem can be avoided by applying a CNN structure to a quantum computer. Now, let us have a look at the architecture of the QCNN model.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/project/autism-classification/asset/layer_hu2580a44eab5716deee869b9d480f3afb_166733_0bcd8d962a8ded67a6d1cee0ae9ffa34.webp 400w,
/project/autism-classification/asset/layer_hu2580a44eab5716deee869b9d480f3afb_166733_ab105d7ffac49691bcd39555c572cec9.webp 760w,
/project/autism-classification/asset/layer_hu2580a44eab5716deee869b9d480f3afb_166733_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://quantum-club-iitj.netlify.app/project/autism-classification/asset/layer_hu2580a44eab5716deee869b9d480f3afb_166733_0bcd8d962a8ded67a6d1cee0ae9ffa34.webp"
width="700"
height="442"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>As shown in the above architecture, the QCNN model applies the convolution layer and the pooling layer which are the key features of CNN, to the quantum systems.&lt;/p>
&lt;ol>
&lt;li>The hidden state is discovered by applying multiple qubit gates between adjacent qubits in the convolution circuit.&lt;/li>
&lt;li>The pooling circuit reduces the quantum’s system size by observing the qubit fraction or applying CNOT gates to nothing but two-qubit gates.&lt;/li>
&lt;li>Re-create the convolution and pooling circuits from steps 1 and 2.&lt;/li>
&lt;li>If the size of the system is small enough, The classification result is predicted by a fully connected circuit.&lt;/li>
&lt;/ol>
&lt;p>The Multiscale Entanglement Renormalization Ansatz (MERA) is commonly used to satisfy this structure. MERA is a model for efficiently simulating many-body state quantum systems. MERA now adds qubits to the quantum system, increasing its size exponentially for each depth. This MERA is used in the opposite direction by QCNN. The reversed MERA, which is suitable as a model of QCNN, reduces the size of the quantum system exponentially from the given data&lt;/p>
&lt;/p>
&lt;/section>
&lt;section id="section3">
&lt;h2>Applications of QCNN&lt;/h2>
&lt;p>
&lt;p>One of the most popular applications of CNN is in the field of image classification. In terms of superposition and parallel computation, quantum computers offer significant advantages. Quantum Convolutional Neural Network improves CNN performance by incorporating quantum environments. In this section, we’ll look at how the QCNN can help with image classification.&lt;/p>
&lt;p>The quantum convolution layer is a layer in a quantum system that behaves like a convolution layer. To obtain feature maps composed of new data, the quantum convolution layer applies a filter to the input feature map. Unlike the convolution layer, the quantum convolution layer uses a quantum computing environment for filtering. Quantum computers offer superposition and parallel computation, which are not available in classical computing and can reduce learning and evaluation time. Existing quantum computers, on the other hand, are still limited to small quantum systems.&lt;/p>
&lt;p>Small quantum computers can construct the quantum convolution layer because it does not apply the entire image map to a quantum system at once but rather processes it as much as the filter size at a time. The quantum convolution layer can be constructed as shown in the diagram below. The following is an explanation of how the concept works:&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/project/autism-classification/asset/example_hu1277ca87102f36a993f32783da448c50_45273_aa4f191a3331d837f32054e72b6724c6.webp 400w,
/project/autism-classification/asset/example_hu1277ca87102f36a993f32783da448c50_45273_a33b37cf389941e2c8191c4e2ac270f9.webp 760w,
/project/autism-classification/asset/example_hu1277ca87102f36a993f32783da448c50_45273_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://quantum-club-iitj.netlify.app/project/autism-classification/asset/example_hu1277ca87102f36a993f32783da448c50_45273_aa4f191a3331d837f32054e72b6724c6.webp"
width="546"
height="346"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ol>
&lt;li>During the encoding process, the pixel data corresponding to the filter size is stored in qubits.&lt;/li>
&lt;li>Filters in learnable quantum circuits can detect the hidden state from the input state.&lt;/li>
&lt;li>The decoding process obtains new classical data by measuring.&lt;/li>
&lt;li>To finish the new feature map, repeat steps 1–3 once more.&lt;/li>
&lt;/ol>
&lt;p>The first step’s encoding is a process that converts classical information into quantum information. The simplest method is to apply a rotation gate to qubits that correspond to pixel data. Of course, different encoding methods exist, and the encoding method chosen can affect the number of qubits required as well as the learning efficiency. The third decoding process is based on the measurement of one or more quantum states. Classical data is determined by measuring quantum states.&lt;/p>
&lt;p>A combination of multiple gates can be used to create the random quantum circuit in the second step. By adding variable gates, the circuit can also perform optimization using the gradient descent method. This circuit can be designed in a variety of ways, each of which has an impact on learning performance.&lt;/p>
&lt;/p>
&lt;/section>
&lt;section id="section4">
&lt;h2>Libraries summarized as follows&lt;/h2>
&lt;p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>PennyLane (&lt;code>pennylane&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Purpose:&lt;/strong> PennyLane is a library for differentiable programming of quantum computers. It allows users to define quantum circuits and seamlessly integrate them with classical machine learning frameworks like TensorFlow.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>NumPy (&lt;code>np&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Purpose:&lt;/strong> NumPy is a powerful library for numerical operations in Python. It is extensively used for mathematical and array operations.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>PennyLane Templates (&lt;code>pennylane.templates&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Purpose:&lt;/strong> This module provides pre-defined quantum circuit templates. In this code, &lt;code>RandomLayers&lt;/code> is used to implement a random quantum circuit.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>TensorFlow (&lt;code>tf&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Purpose:&lt;/strong> TensorFlow is an open-source machine learning library. In this code, it&amp;rsquo;s used for building, training, and evaluating classical deep learning models.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Keras (&lt;code>keras&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Purpose:&lt;/strong> Keras is a high-level neural networks API running on top of TensorFlow. It provides an easy-to-use interface for building and training neural networks.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Matplotlib (&lt;code>plt&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Purpose:&lt;/strong> Matplotlib is a 2D plotting library for creating visualizations. In this code, it&amp;rsquo;s used for plotting accuracy and loss curves.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>OS (&lt;code>os&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Purpose:&lt;/strong> The &lt;code>os&lt;/code> module provides a way to interact with the operating system. It&amp;rsquo;s used here to handle file paths and check if directories exist.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>PIL (&lt;code>Image&lt;/code> from &lt;code>PIL&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Purpose:&lt;/strong> The Python Imaging Library (PIL) is used for opening, manipulating, and saving image files. In this code, it&amp;rsquo;s used to load and preprocess images.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Scikit-learn (&lt;code>train_test_split&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Purpose:&lt;/strong> Scikit-learn is a machine learning library. The &lt;code>train_test_split&lt;/code> function is used to split the dataset into training and testing sets.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;/p>
&lt;/section>
&lt;section id="section5">
&lt;h2>The project workflow&lt;/h2>
&lt;p>
&lt;p>This project integrates quantum processing into a classical deep learning pipeline, demonstrating the potential of quantum convolution in image classification tasks. The readme file could further discuss the implications of combining quantum and classical approaches and interpret the training results.&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Initialization and Configuration:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>The code starts by importing necessary libraries, including PennyLane for quantum computing, TensorFlow for classical deep learning, and Matplotlib for visualization.&lt;/li>
&lt;li>Parameters such as the number of optimization epochs (&lt;code>n_epochs&lt;/code>), the number of random layers in the quantum circuit (&lt;code>n_layers&lt;/code>), and dataset sizes are set.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Dataset Loading and Preprocessing:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Images and labels are collected from the &amp;ldquo;consolidated&amp;rdquo; dataset folder, where images are categorized into &amp;ldquo;Autistic&amp;rdquo; and &amp;ldquo;Non_Autistic&amp;rdquo; subfolders.&lt;/li>
&lt;li>Labels are encoded with indices for autistic and non-autistic classes.&lt;/li>
&lt;li>Image preprocessing involves resizing, normalization, and adding an extra dimension for convolution channels. The dataset is then split into training and testing sets using &lt;code>train_test_split&lt;/code> from scikit-learn.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/project/autism-classification/asset/output_hu989060219f1d39b9ce01590f0693ae56_61295_feb3a285033ee2b180165a83c364bd74.webp 400w,
/project/autism-classification/asset/output_hu989060219f1d39b9ce01590f0693ae56_61295_12c9c7c751dba246766d4519c2bcc786.webp 760w,
/project/autism-classification/asset/output_hu989060219f1d39b9ce01590f0693ae56_61295_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://quantum-club-iitj.netlify.app/project/autism-classification/asset/output_hu989060219f1d39b9ce01590f0693ae56_61295_feb3a285033ee2b180165a83c364bd74.webp"
width="760"
height="698"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ol start="3">
&lt;li>
&lt;p>&lt;strong>Quantum Circuit Definition (&lt;code>circuit&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>A quantum device with 4 qubits is created using PennyLane.&lt;/li>
&lt;li>The quantum circuit &lt;code>circuit&lt;/code> is defined as a QNode (quantum node) using PennyLane&amp;rsquo;s automatic differentiation interface. It consists of encoding classical input values, applying random quantum layers, and measuring classical output values.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Quantum Convolution (&lt;code>quanv&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>The function &lt;code>quanv&lt;/code> convolves the input image with multiple applications of the same quantum circuit. It processes squared 2x2 regions of the image using the quantum circuit, producing a quantum-processed image with multiple channels.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Quantum Pre-processing of Images:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Training and test images are quantum pre-processed using the &lt;code>quanv&lt;/code> function. The quantum circuit is applied to 2x2 regions of each image, and the results are stored in &lt;code>q_train_images&lt;/code> and &lt;code>q_test_images&lt;/code>.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Saving Pre-processed Images:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>The quantum pre-processed images are saved in a specified directory.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Visualization:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>A visualization is created to show original and quantum-processed images side by side. The first row displays original images, and subsequent rows display the output channels of the quantum-processed images.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Neural Network Model Definition (&lt;code>MyModel&lt;/code>):&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>A simple Keras model (&lt;code>MyModel&lt;/code>) is defined with a flatten layer and a dense layer with softmax activation. Two models are created: &lt;code>q_model&lt;/code> for quantum-processed images and &lt;code>c_model&lt;/code> for classical images.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Model Training:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Both models are trained using the pre-processed quantum images (&lt;code>q_model&lt;/code>) and original images (&lt;code>c_model&lt;/code>).&lt;/li>
&lt;li>Training history is recorded for later visualization.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Accuracy and Loss Visualization:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Matplotlib is used to visualize the accuracy and loss of the quantum model and classical model over epochs. The results are shown in two subplots, one for accuracy and one for loss, comparing the performance with and without the quantum layer.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="" srcset="
/project/autism-classification/asset/graph_huc17c63b26938b675c6bba4d96d6001d0_59046_27452598b824cf43844183ebf1b1ae96.webp 400w,
/project/autism-classification/asset/graph_huc17c63b26938b675c6bba4d96d6001d0_59046_3412e23c760b9e0cbb35902407296582.webp 760w,
/project/autism-classification/asset/graph_huc17c63b26938b675c6bba4d96d6001d0_59046_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://quantum-club-iitj.netlify.app/project/autism-classification/asset/graph_huc17c63b26938b675c6bba4d96d6001d0_59046_27452598b824cf43844183ebf1b1ae96.webp"
width="504"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;/p>
&lt;/section>
&lt;section id="section6">
&lt;h2>Conclusion&lt;/h2>
&lt;p>
&lt;p>The research work demonstrates the various results of the benchmarking with respect to the characteristics compared.&lt;/p>
&lt;/p>
&lt;/section>
&lt;section id="section7">
&lt;h2>Resources&lt;/h2>
&lt;p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="https://arxiv.org/abs/1411.4028/" target="_blank" rel="noopener">A Quantum Approximate Optimization Algorithm&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="https://github.com/Qiskit/qiskit-optimization/blob/59d293d9d258eb3e8d780804252c1bdf5553e339/docs/tutorials/06_examples_max_cut_and_tsp.ipynb/" target="_blank" rel="noopener">Qiskit-Optimization&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="https://www.semanticscholar.org/paper/Integer-Programming-Formulation-of-Traveling-Miller-Tucker/f310643a22ec50a74a64f6203932b9407215d964/" target="_blank" rel="noopener">Integer Programming Formulation of Traveling Salesman Problems&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="https://press.princeton.edu/books/hardcover/9780691129938/the-traveling-salesman-problem" target="_blank" rel="noopener">The Traveling Salesman Problem: A Computational Study&lt;/a>&lt;/p>
&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/section>
&lt;p>&lt;a id="scroll-to-top" href="#top">↑&lt;/a>&lt;/p>
&lt;script>
window.addEventListener('DOMContentLoaded', function() {
var scrollToTop = document.getElementById('scroll-to-top');
window.addEventListener('scroll', function() {
if (window.pageYOffset > 200) { // Adjust the value (200) as needed
scrollToTop.style.display = 'block';
} else {
scrollToTop.style.display = 'none';
}
});
scrollToTop.addEventListener('click', function(e) {
e.preventDefault();
window.scrollTo({ top: 0, behavior: 'smooth' });
});
});
&lt;/script>
&lt;/body>
&lt;/html></description></item><item><title>Benchmarking and Solving Vehicle routing problem on various Quantum Computing (QPU's)</title><link>https://quantum-club-iitj.netlify.app/project/benchmarking-and-solving-vehicle-routing-problem-on-various-qpus/</link><pubDate>Sat, 28 Jan 2023 00:00:00 +0000</pubDate><guid>https://quantum-club-iitj.netlify.app/project/benchmarking-and-solving-vehicle-routing-problem-on-various-qpus/</guid><description>&lt;!DOCTYPE html>
&lt;html>
&lt;head>
&lt;link rel="stylesheet" type="text/css" href="styles.css">
&lt;/head>
&lt;body>
&lt;h1 id="contents">Contents&lt;/h1>
&lt;nav>
&lt;ul>
&lt;li>&lt;a href="#section1">Vehicle Routing Problem&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section2">The overall workflow we demonstrate comprises:&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section3">The project procedure can be summarized as follows:&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section4">Conclusion&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section5">Variational Quantum EigenSolver (VQE)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section6">Quantum Approximate Optimization Algorithm (QAOA)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section7">Results&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section8">Solving VRP using Quantum Annealing technique&lt;/a>&lt;/li>
&lt;li>&lt;a href="#section9">Resources&lt;/a>&lt;/li>
&lt;/ul>
&lt;/nav>
&lt;section id="section1">
&lt;h2>Vehicle Routing Problem&lt;/h2>
&lt;p>
&lt;p>The Vehicle routing problem (VRP) is an NP-hard optimization problem that has been an interest of research fordecades in science and industry. The gist of the project is to plan routes of vehicles to deliver goods to a fixed number of customers with optimal efficiency. Classical tools and methods provide good approximations to reach the optimal global solution. Quantum computing and quantum machine learning provide a new approach to solving combinatorial optimization of problems faster due to inherent speedups of quantum effects. Many solutions of VRP are offered across different quantum computing platforms using hybrid algorithms such as quantum approximate optimization algorithm and quadratic unconstrained binary optimization. In this work, we build a basic VRP solver for 3 and 4 cities using the &lt;strong>variational quantum eigensolver&lt;/strong> on a &lt;em>fixed ansatz&lt;/em>. The Project work is further extended to evaluate the robustness of the solution in several examples of noisy quantum channels. The performance of the quantum algorithm depends heavily on what noise model is used. In general, noise is detrimental, but not equally so among different noise sources.&lt;/p>
&lt;/p>
&lt;/section>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt=""
src="https://quantum-club-iitj.netlify.app/project/benchmarking-and-solving-vehicle-routing-problem-on-various-qpus/vehicle.gif"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;section id="section2">
&lt;h2>The overall workflow we demonstrate comprises:&lt;/h2>
&lt;p>
&lt;ol>
&lt;li>Establish the client locations. Normally, these would be available ahead of the day of deliveries from a database. In our use case, we generate these randomly.&lt;/li>
&lt;li>compute the pair-wise distances, travel times, or similar. In our case, we consider the Euclidean distance, “as the crow flies”, which is perhaps the simplest possible.&lt;/li>
&lt;li>compute the actual routes. This step is run twice, actually. First, we obtain a reference value by a run of a classical solver &lt;code>(IBM CPLEX)&lt;/code> on the classical computer. Second, we run an alternative, hybrid algorithm partly on the quantum computer.&lt;/li>
&lt;li>visualization of the results. In our case, this is again a simplistic plot.&lt;/li>
&lt;li>In the following, we first explain the model, before we proceed with the installation of the pre-requisites and the data loading.&lt;/li>
&lt;/ol>
&lt;/p>
&lt;/section>
&lt;section id="section3">
&lt;h2>The project procedure can be summarized as follows:&lt;/h2>
&lt;p>
&lt;ol>
&lt;li>Initialization *Install pip install qiskit-optimization&lt;code>[cplex]&lt;/code>&lt;/li>
&lt;li>initializer class that randomly places the nodes in a 2-D plane and computes the distance between them.&lt;/li>
&lt;li>Classical solution using &lt;code>IBM ILOG CPLEX&lt;/code>&lt;/li>
&lt;li>Instantiate the classical optimizer class&lt;/li>
&lt;li>Solve the problem in a classical fashion via &lt;code>CPLEX&lt;/code>&lt;/li>
&lt;li>Visualize the solution&lt;/li>
&lt;li>Quantum solution from the ground up&lt;/li>
&lt;li>Instantiate the quantum optimizer class with parameters&lt;/li>
&lt;li>Check if the binary representation is correct&lt;/li>
&lt;li>Encode the problem as an instance of &lt;code>QuadraticProgram&lt;/code>&lt;/li>
&lt;li>Solve the problem via &lt;code>MinimumEigenOptimizer&lt;/code>&lt;/li>
&lt;li>Visualize the solution&lt;/li>
&lt;/ol>
&lt;/p>
&lt;/section>
&lt;section id="section4">
&lt;h2>Conclusion&lt;/h2>
&lt;p>
&lt;p>The research work demonstrates the various results of the benchmarking with respect to the characteristics compared.&lt;/p>
&lt;/p>
&lt;/section>
&lt;section id="section5">
&lt;h2>Variational Quantum EigenSolver (VQE)&lt;/h2>
&lt;p>
&lt;p>&lt;strong>Benchmarking results for 3 nodes + depot (1) &amp;amp; 2 vehicles tested on `ibmq_qasm_simulator&lt;/strong>&lt;/p>
&lt;table align="center">
&lt;caption>Comparison results of `ibmq_qasm_simulation` and `ibm_quito`&lt;/caption>
&lt;tr>
&lt;td>&lt;img src="asset/3_2_C.png" alt="On Simulator [qasm]" width="85%">&lt;/td>
&lt;td>&lt;img src="asset/3_2_Q.png" alt="On real Quantum Computer [ibmq-bogota]" width="85%">&lt;/td>
&lt;/tr>
&lt;/table>
&lt;p>&lt;strong>Benchmarking results for 4 nodes + depot (1) &amp;amp; 3 vehicles tested on &lt;code>ibmq_qasm_simulator&lt;/code>&lt;/strong>&lt;/p>
&lt;table align="center">
&lt;caption>Comparison results of `ibmq_qasm_simulation` and `ibm_quito`&lt;/caption>
&lt;tr>
&lt;td>&lt;img src="asset/4_3_C.png" alt="On Simulator [qasm]" width="85%">&lt;/td>
&lt;td>&lt;img src="asset/4_3_Q.png" alt="On real Quantum Computer [ibmq-bogota]" width="85%">&lt;/td>
&lt;/tr>
&lt;/table>
&lt;p>&lt;strong>Benchmarking results when tested on various &lt;em>optimizers&lt;/em>, using &lt;code>SPSA&lt;/code>, &lt;code>L_BFGS_B&lt;/code> and &lt;code>SLQSP&lt;/code>&lt;/strong>&lt;/p>
&lt;table align="center">
&lt;caption>Comparison results obtained when 3 discreet optimizers were utilized and simulated on `ibmq_qasm_simulation` &lt;/caption>
&lt;tr>
&lt;td>&lt;img src="asset/4_3_SPSA.png" alt="On Simulator [qasm]" width="100%">&lt;/td>
&lt;td>&lt;img src="asset/4_3_LB.png" alt="On Simulator [qasm]" width="100%">&lt;/td>
&lt;td>&lt;img src="asset/4_3_SL.png" alt="On real Quantum " width="100%">&lt;/td>
&lt;/tr>
&lt;/table>
&lt;p>&lt;strong>Benchmarking results for 5 nodes + depot (1) &amp;amp; 4 vehicles tested on `ibmq_qasm_simulator&lt;/strong>&lt;/p>
&lt;table align="center">
&lt;caption>Comparison results of `ibmq_qasm_simulation` and `ibm_oslo`&lt;/caption>
&lt;tr>
&lt;td>&lt;img src="asset/5_4_C.png" alt="On Simulator [qasm]" width="85%">&lt;/td>
&lt;td>&lt;img src="asset/5_4_Q.png" alt="On real Quantum Computer [ibmq-bogota]" width="85%">&lt;/td>
&lt;/tr>
&lt;/table>
&lt;/p>
&lt;/section>
&lt;section id="section6">
&lt;h2>Quantum Approximate Optimization Algorithm (QAOA)&lt;/h2>
&lt;p>
&lt;p>&lt;strong>Benchmarking results when tested on 2 different &lt;em>optimizers&lt;/em>, using &lt;code>SPSA&lt;/code> and &lt;code>COBYLA&lt;/code> for 5 nodes + depot (1) &amp;amp; 4 vehicles&lt;/strong>&lt;/p>
&lt;table align="center">
&lt;caption>Comparison results obtained when 2 discreet optimizers such as `COBYLA` and `SPSA`were utilized and simulated on `ibmq_qasm_simulation`&lt;/caption>
&lt;tr>
&lt;td>&lt;img src="asset/5_4_QAOA_C.png" alt="On Simulator [qasm]" width="100%">&lt;/td>
&lt;td>&lt;img src="asset/5_4_QAOA_COBYLA.png" alt="On Simulator [qasm]" width="100%">&lt;/td>
&lt;td>&lt;img src="asset/5_4_QAOA_SPSA.png" alt="On real Quantum Computer [ibmq-bogota]" width="100%">&lt;/td>
&lt;/tr>
&lt;/table>
&lt;/p>
&lt;/section>
&lt;section id="section7">
&lt;h2>Results&lt;/h2>
&lt;p>
&lt;p>This result discusses, there is a drastic variation between classical {expected) cost and Quantum cost in few of the cases and some cases have a similar costs.&lt;/p>
&lt;p>There were certain factors which might have caused the error:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Using a &amp;lsquo;qasm simulator&amp;rsquo; it will use sampling (shots) from the ideal distribution so there will be shot (sampling) noise in any given value.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>The type optimizer utilized, as it needs to find a minimum in this noise - some best optimizers which could be ufor VRP &lt;strong>[ SPSA, L_BFGS, COBYLA, SLSQP ]&lt;/strong> which was designed to work in noise is a reasonable choice.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Also the type of algorithm matters, In case of variational - &lt;code>SamplingVQE&lt;/code>. The anstaz is customisable [One has the freedom to can choose or make a difference too]. But, the &lt;strong>QAOA&lt;/strong> comes with its default ansataz.&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/p>
&lt;/section>
&lt;section id="section8">
&lt;h2>Solving VRP using Quantum Annealing technique&lt;/h2>
&lt;p>
&lt;p>Similarly an attempt to to use Quantum Annealing technique is performed by using Dwave-ocean-sdk and the implementation data and its test results can be found &lt;a href="https://github.com/ShisheerKaushik24/Junior-Researcher-Project-/tree/master/vehicle-routing/D-wave-annealer" target="_blank" rel="noopener">here:&lt;/a>&lt;/p>
&lt;table align="center">
&lt;caption>Comparison results obtained when 3 discreet test_input{graphs} were simulated on `D-wave CPU` &lt;/caption>
&lt;tr>
&lt;td>&lt;img src="asset/solver1_t1_cpu.png" alt="Graph 1" width="100%">&lt;/td>
&lt;td>&lt;img src="asset/solver1_t2_cpu.png" alt="Graph 2" width="100%">&lt;/td>
&lt;td>&lt;img src="asset/solver1_t3_cpu.png" alt="Graph 3" width="100%">&lt;/td>
&lt;/tr>
&lt;/table>
&lt;table align="center">
&lt;caption>Comparison results obtained when 3 discreet test_input{graphs} were computed on `D-Wave 2000Q QPU` &lt;/caption>
&lt;tr>
&lt;td>&lt;img src="asset/solver1_t1_qpu.png" alt="Graph 1" width="100%">&lt;/td>
&lt;td>&lt;img src="asset/solver1_t2_qpu.png" alt="Graph 2" width="100%">&lt;/td>
&lt;td>&lt;img src="asset/solver1_t3_qpu.png" alt="Graph 3" width="100%">&lt;/td>
&lt;/tr>
&lt;/table>
&lt;p>As seen in the above results, there are many different vehicles which are travelling in accordance with the defined input{graph}, hence each fastest and cost efficient routes are highligted using different sets of color combination. The depot is highlighted with &lt;em>Blue&lt;/em> color to distinguish with other nodes.&lt;/p>
&lt;p>Note that there are two input formats:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Full input
The full input needs a graph file and a test file. In a graph file, you need to provide edges description: each line should contain two nodes&amp;rsquo; ids and cost. Cost is related to what you want to optimize, for example: distance or time. In a test file, you need to provide information about depots, destinations and vehicles. If you want to solve an instance of &lt;strong>MDVRP (without capacities)&lt;/strong>, you only need to provide depots&amp;rsquo; and destinations&amp;rsquo; ids and the number of vehicles. If you want to solve &lt;strong>CMDVRP&lt;/strong>, you also need to provide destinations, weights and vehicles capacities.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Normal input
It needs only a test file. You need to provide information about depots, destinations, vehicles and costs of travelling between depots and destinations. If you want to solve MDVRP (without capacities), you only need to provide depots and destinations ids, number of vehicles and costs. Similar to Full Input, its the same condition in case of &lt;strong>CMVRP&lt;/strong>&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>Depots and destinations are enumerated with natural numbers. If you have n depots and m destinations, depots will have numbers 0, 1, 2, &amp;hellip;, n - 1 and destinations will have numbers n, n + 1, n + 2, &amp;hellip;, n + m - 1. You need to provide (n + m) x (n + m) matrix with costs.&lt;/p>
&lt;p>The problem uses &lt;code>DBScanSolver&lt;/code> for &lt;em>MDVRP&lt;/em>. It also uses another solver (solver attribute) to solve problems like VRP and TSP, and then tries to divide the solution to consecutive parts that will be served by vehicles. There is also an attribute &amp;lsquo;random&amp;rsquo; - bigger value should give better solutions with bigger execution time.Using this solver with &lt;code>DBScanSolver&lt;/code> should give the best effect. On smaller tests (with the number of destinations up to 50), you can use it with &lt;code>FullQuboSolver&lt;/code> to reduce the size of QUBO. Note that using this solver with &lt;code>AveragePartitionSolver&lt;/code> is exactly the same as using it with &lt;code>FullQuboSolver&lt;/code>.&lt;/p>
&lt;/p>
&lt;/section>
&lt;section id="section9">
&lt;h2>Resources&lt;/h2>
&lt;p>
&lt;ul>
&lt;li>&lt;a href="https://arxiv.org/abs/1411.4028/" target="_blank" rel="noopener">A Quantum Approximate Optimization Algorithm&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Qiskit/qiskit-optimization/blob/59d293d9d258eb3e8d780804252c1bdf5553e339/docs/tutorials/06_examples_max_cut_and_tsp.ipynb/" target="_blank" rel="noopener">Qiskit-Optimization&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.semanticscholar.org/paper/Integer-Programming-Formulation-of-Traveling-Miller-Tucker/f310643a22ec50a74a64f6203932b9407215d964/" target="_blank" rel="noopener">Integer Programming Formulation of Traveling Salesman Problems&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://press.princeton.edu/books/hardcover/9780691129938/the-traveling-salesman-problem" target="_blank" rel="noopener">The Traveling Salesman Problem: A Computational Study&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Quantum Annealing&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="https://www.nature.com/articles/ncomms2920" target="_blank" rel="noopener">Thermally assisted quantum annealing of a 16-qubit problem&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="https://www.researchgate.net/publication/51117464_Quantum_annealing_with_manufactured_spins" target="_blank" rel="noopener">Quantum annealing with manufactured spins&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="https://journals.aps.org/prx/pdf/10.1103/PhysRevX.4.021041" target="_blank" rel="noopener">Entanglement in a Quantum Annealing Processo&lt;/a>&lt;/p>
&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/section>
&lt;p>&lt;a id="scroll-to-top" href="#top">↑&lt;/a>&lt;/p>
&lt;script>
window.addEventListener('DOMContentLoaded', function() {
var scrollToTop = document.getElementById('scroll-to-top');
window.addEventListener('scroll', function() {
if (window.pageYOffset > 200) { // Adjust the value (200) as needed
scrollToTop.style.display = 'block';
} else {
scrollToTop.style.display = 'none';
}
});
scrollToTop.addEventListener('click', function(e) {
e.preventDefault();
window.scrollTo({ top: 0, behavior: 'smooth' });
});
});
&lt;/script>
&lt;/body>
&lt;/html></description></item><item><title>Implementation of Quantum-Text Steganography using BB84 protocol on an Interactive Module</title><link>https://quantum-club-iitj.netlify.app/publication/preprint/</link><pubDate>Thu, 07 Apr 2022 00:00:00 +0000</pubDate><guid>https://quantum-club-iitj.netlify.app/publication/preprint/</guid><description/></item></channel></rss>