scholarly journals Learning programs for the quantum computer

2021 ◽  
Author(s):  
Olivia-Linda Enciu

Manual quantum programming is generally diffcult for humans, due to the often hard-to-grasp properties of quantum mechanics and quantum computers. By outlining the target (or desired) behaviour of a particular quantum program, the task of programming can be turned into a search and optimization problem. A flexible evolutionary technique known as genetic programming may then be used as an aid in the search for quantum programs. In this work a genetic programming approach uses an estimation of distribution algorithm (EDA) to learn the probability distribution of optimal solution(s), given some target behaviour of a quantum program.

2021 ◽  
Author(s):  
Olivia-Linda Enciu

Manual quantum programming is generally diffcult for humans, due to the often hard-to-grasp properties of quantum mechanics and quantum computers. By outlining the target (or desired) behaviour of a particular quantum program, the task of programming can be turned into a search and optimization problem. A flexible evolutionary technique known as genetic programming may then be used as an aid in the search for quantum programs. In this work a genetic programming approach uses an estimation of distribution algorithm (EDA) to learn the probability distribution of optimal solution(s), given some target behaviour of a quantum program.


Quantum ◽  
2019 ◽  
Vol 3 ◽  
pp. 129 ◽  
Author(s):  
Nathan Killoran ◽  
Josh Izaac ◽  
Nicolás Quesada ◽  
Ville Bergholm ◽  
Matthew Amy ◽  
...  

We introduce Strawberry Fields, an open-source quantum programming architecture for light-based quantum computers, and detail its key features. Built in Python, Strawberry Fields is a full-stack library for design, simulation, optimization, and quantum machine learning of continuous-variable circuits. The platform consists of three main components: (i) an API for quantum programming based on an easy-to-use language named Blackbird; (ii) a suite of three virtual quantum computer backends, built in NumPy and TensorFlow, each targeting specialized uses; and (iii) an engine which can compile Blackbird programs on various backends, including the three built-in simulators, and - in the near future - photonic quantum information processors. The library also contains examples of several paradigmatic algorithms, including teleportation, (Gaussian) boson sampling, instantaneous quantum polynomial, Hamiltonian simulation, and variational quantum circuit optimization.


2012 ◽  
pp. 992-1006
Author(s):  
Arjan Seesing ◽  
Hans-Gerhard Gross

Testing is a difficult and costly activity in the development of object-oriented programs. The challenge is to come up with a sufficient set of test scenarios, out of the typically huge volume of possible test cases, to demonstrate correct behavior and acceptable quality of the software. This can be reformulated as a search problem to be solved by sophisticated heuristic search techniques such as evolutionary algorithms. The goal is to find an optimal set of test cases to achieve a given test coverage criterion. This chapter introduces and evaluates genetic programming as a heuristic search algorithm which is suitable to evolve object-oriented test programs automatically to achieve high coverage of a class. It outlines why the object paradigm is different to the procedural paradigm with respect to testing, and why a genetic programming approach might be better suited than the genetic algorithms typically used for testing procedural code. The evaluation of our implementation of a genetic programming approach, augmented with program analysis techniques for better performance, indicates that object-oriented software testing with genetic programming is feasible in principle. However, having many adjustable parameters, evolutionary search heuristics have to be fined-tuned to the optimization problem at hand for optimal performance, and, therefore, represent a difficult optimization problem in their own right.


2021 ◽  
Author(s):  
Dillion M. Fox ◽  
Kim M. Branson ◽  
Ross C. Walker

AbstractReverse translation of polypeptide sequences to expressible mRNA constructs is a NP-hard combinatorial optimization problem. Each amino acid in the protein sequence can be represented by as many as six codons, and the process of selecting the combination that maximizes probability of expression is termed codon optimization. This work investigates the potential impact of leveraging quantum computing technology for codon optimization. An adiabatic quantum computer (AQC) is compared to a standard genetic algorithm (GA) programmed with the same objective function. The AQC is found to be competitive in identifying optimal solutions and future generations of AQCs may be able to outperform classical GAs. The utility of gate-based systems is also evaluated using a simulator resulting in the finding that while current generations of devices lack the hardware requirements, in terms of both qubit count and connectivity, to solve realistic problems, future generation devices may be highly efficient.


Author(s):  
Arjan Seesing ◽  
Hans-Gerhard Gross

Testing is a difficult and costly activity in the development of object-oriented programs. The challenge is to come up with a sufficient set of test scenarios, out of the typically huge volume of possible test cases, to demonstrate correct behavior and acceptable quality of the software. This can be reformulated as a search problem to be solved by sophisticated heuristic search techniques such as evolutionary algorithms. The goal is to find an optimal set of test cases to achieve a given test coverage criterion. This chapter introduces and evaluates genetic programming as a heuristic search algorithm which is suitable to evolve object-oriented test programs automatically to achieve high coverage of a class. It outlines why the object paradigm is different to the procedural paradigm with respect to testing, and why a genetic programming approach might be better suited than the genetic algorithms typically used for testing procedural code. The evaluation of our implementation of a genetic programming approach, augmented with program analysis techniques for better performance, indicates that object-oriented software testing with genetic programming is feasible in principle. However, having many adjustable parameters, evolutionary search heuristics have to be fined-tuned to the optimization problem at hand for optimal performance, and, therefore, represent a difficult optimization problem in their own right.


2014 ◽  
Vol 5 (3) ◽  
pp. 57-83 ◽  
Author(s):  
Shiv Prakash ◽  
Deo Prakash Vidyarthi

Scheduling in Computational Grid (CG) is an important but complex task. It is done to schedule the submitted jobs onto the nodes of the grid so that some characteristic parameter is optimized. Makespan of the job is an important parameter and most often scheduling is done to optimize makespan. Genetic Algorithm (GA) is a search procedure based on the evolutionary technique that is able to solve a class of complex optimization problem. However, GA takes longer to converge towards its near optimal solution. Bacteria Foraging Optimization (BFO), also derived from nature, is a technique to optimize a given function in a distributed manner. Due to limited availability of bacteria, BFO is not suitable to optimize the solution for the problem involving a large search space. Characteristics of both GA and BFO are combined so that their benefits can be reaped. The hybrid approach is referred to as Genetic Algorithms Bacteria Foraging Optimization (GABFO) algorithm. The proposed GABFO has been applied to optimize makespan of a given schedule in a computational grid. Results of the simulation, conducted to evaluate the performance of the proposed model, reveal the effectiveness of the proposed model.


2020 ◽  
Vol 18 (2) ◽  
pp. 43-53
Author(s):  
Pavel E. Baskakov ◽  
Yuri Yu. Khabovets ◽  
Irina A. Pilipenko ◽  
Veronika O. Kravchenko ◽  
Larisa V. Cherkesova

Currently, quantum technologies are at the forefront of scientific thought. Large corporations are creating their own quantum supercomputers, developing quantum analogues of classical algorithms, and research is being conducted in the field of quantum cryptography. But since quantum computers have not yet become widespread, the question becomes relevant: how can ordinary users, scientists and researchers keep up with the development of science? One possible solution is to use various kinds of tools to emulate quantum computing on a local non-quantum computer. In addition, there is also the opportunity to have several qubits of IBM's quantum supercomputer available. As a rule, such tools are implemented in the form of libraries for various programming languages. Due to the fact that working with real quantum computers is available only to a narrow circle of researchers, emulators are simply necessary to test hypotheses or algorithms. This article examined the most popular quantum emulators used for quantum computing and allowing emulating the process of a quantum computer. Work was carried out to study quantum emulators, to identify and describe their individual characteristics, to make recommendations for a more convenient start to work with them, as well as to describe their advantages and disadvantages. A review of several libraries for the JavaScript, Python, C / C ++ languages was made, as well as a tool with a web interface (Quantum Programming Studio) and a set of tools from Microsoft (Microsoft Quantum Development Kit), the main language of which is Q #, is examined. At the end of the article, a conclusion is made regarding the considered tools.


Sign in / Sign up

Export Citation Format

Share Document