The general technical field relates to solving computational problems and, more particularly, to methods and systems for solving optimization problems based on molecular computing using, for example, microdroplet arrays.
Maintaining the current pace at which science and technology are progressing is dependent on computational processing capabilities to keep growing. Conventional transistor-based computers, also referred to as classical computers, follow the von Neumann architecture, where information is processed in a central processing unit and stored in a memory unit. Different logic gates, each acting on a single bit or multiple bits of information represented as ones and zeros, are activated sequentially to perform an operation. However, as transistors are approaching tens of nanometers, corresponding to the size of large molecules, high heat dissipation and slow transfer rates between processors and memories are bringing about the breakdown of Moore's Law.
Alternatives to classical computers that are being developed include quantum computing, in which quantum mechanical phenomena allow information to exist as a superposition of states, rather than just as individual binary bits. For classical systems, computing with molecules is an attractive avenue given the vast chemical space and the relatively low energy dissipated in chemical reactions compared to the energy dissipated transistors. Proposals for computers that exploit chemical processes have taken either or both of two broad approaches: using chemistry and biochemistry to emulate circuit components or cellular automata; and employing a large number of molecules to explore a combinatorial space in parallel. Non-limiting examples of the first approach include reaction-diffusion systems, systems using the Belousov-Zhabotinsky (BZ) reaction, memristive polymers, transcription regulation for cellular signaling, and other chemical and biochemical analogs of logic gates. Non-limiting examples of the second approach include microfluidic devices, nanofabricated networks, and adaptive amoebal networks. DNA computers have explored both approaches, from early work that involved sifting through combinations of nucleic acid sequences to more recent work that have used DNA self-assembly to carry out an algorithm process. While each of these two approaches has certain advantages, each also has some drawbacks and limitations, including with respect to programmability, scaling, and maintaining accuracy in large calculations. Challenges therefore remain in the field of chemical and molecular computing.
The present disclosure generally relates to solving computational problems using molecular computing.
In accordance with an aspect, there is provided a molecular computer system for solving a computational problem represented as a problem Hamiltonian expressed in terms of a set of problem variables and a set of problem parameters, the molecular computer system including:
In some embodiments, the problem variables are binary variables, and the at least two possible site states of the physicochemical property are a pair of possible site states. In some embodiments, the problem variables are n-valued variables, and the at least two possible site states are a set of n possible site states, wherein n is a positive integer greater than two.
In some embodiments, the number of reaction sites is equal to the number of problem variables. In some embodiments, the number of reaction sites is greater than the number of problem variables.
In some embodiments, the site couplings include inter-site couplings. In some embodiments, the site couplings further include intra-site couplings.
In some embodiments, the molecular computer system further includes intra-site couplers and inter-site couplers configured to enforce the intra-site couplings and the inter-site couplings by mass exchange, respectively. In some embodiments, the inter-site couplers are configured to operate by passive diffusion or electrokinetic transport.
In some embodiments, the molecular computer system further includes intra-site couplers and inter-site couplers configured to enforce the intra-site couplings and the inter-site couplings by energy exchange, respectively. In some embodiments, the intra-site couplers and the inter-site couplers are part of an electrode array.
In some embodiments, the problem parameters include two-body interaction parameters encoded in the inter-site couplings. In some embodiments, the problem Hamiltonian is expressed in an Ising representation or a quadratic unconstrained binary optimization (QUBO) representation.
In some embodiments, the problem parameters include k-body interaction parameters encoded in the inter-site couplings, wherein k is a positive integer greater than two. In some embodiments, the problem Hamiltonian is expressed in a polynomial unconstrained binary optimization (PUBO) representation.
In some embodiments, the computational problem is a combinatorial optimization problem. In some embodiments, the combinatorial optimization problem is an NP or NP-hard optimization problem. In some embodiments, the NP or NP-hard optimization problem is an NP-complete optimization problem.
In some embodiments, the array of reaction sites includes an array of droplets. In some embodiments, the droplets each have a droplet volume ranging from about one nanoliter to about ten microliters.
In some embodiments, the array of reaction sites includes an array of containers, and the array of droplets is received in the array of containers.
In some embodiments, the array of reaction sites includes a non-wetting substrate, and the array of droplets is disposed on the non-wetting substrate.
In some embodiments, the array of reaction sites includes a gel substrate, and the array of droplets is embedded in the gel substrate.
In some embodiments, the array of reaction sites includes a printing substrate, and the array of droplets is printed on the printing substrate. In some embodiments, the printing substrate is made of paper or polymer.
In some embodiments, the array of reaction sites is arranged in a square lattice configuration or in a hexagonal lattice configuration.
In some embodiments, the physicochemical property includes pH, polymer molecular weight, concentration, oxidation state, color, viscosity, a chemical oscillation property, or a combination thereof.
In some embodiments, the molecular computer system further includes a site-readout device configured to read out the site states of the reaction sites in the final array configuration. In some embodiments, the site-readout device is configured to operate according to an optical readout scheme, an electrical readout scheme, an electrochemical readout scheme, or a combination thereof.
In some embodiments, the molecular computer system further includes a site-manipulation device configured to prepare the array of reaction sites in the initial array configuration. In some embodiments, the site-manipulation device is configured to operate according to an optical actuation scheme, an electrical actuation scheme, an electrochemical actuation scheme, or a combination thereof.
In some embodiments, each reaction site is in one of the at least two possible site states in the initial array configuration.
In some embodiments, the solution to the computational problem corresponds to a ground state of the problem Hamiltonian.
In some embodiments, the solution to the computational problem includes a plurality of solutions.
In accordance with another aspect, there is provided a molecular computer method for solving a computational problem represented as a problem Hamiltonian expressed in terms of a set of problem variables and a set of problem parameters, the molecular computer method including:
In some embodiments, the problem variables are binary variables, and the at least two possible site states of the physicochemical property are a pair of possible site states. In some embodiments, the problem variables are n-valued variables, and the at least two possible site states are a set of n possible site states, wherein n is a positive integer greater than two.
In some embodiments, providing the array of reaction sites includes setting the number of reaction sites to be equal to the number of problem variables. In some embodiments, providing the array of reaction sites includes setting the number of reaction sites to be greater than the number of problem variables.
In some embodiments, the site couplings include inter-site couplings. In some embodiments, the site couplings further include intra-site couplings.
In some embodiments, providing the array of reaction sites includes enforcing the intra-site and the inter-site couplings by mass exchange. In some embodiments, providing the array of reaction sites includes enforcing the intra-site and the inter-site couplings by energy exchange.
In some embodiments, the problem parameters include two-body interaction parameters encoded in the inter-site couplings. In some embodiments, the problem Hamiltonian is expressed in an Ising representation or a quadratic unconstrained binary optimization (QUBO) representation.
In some embodiments, the problem parameters include k-body interaction parameters encoded in the inter-site couplings, wherein k is a positive integer greater than two. In some embodiments, the problem Hamiltonian is expressed in a polynomial unconstrained binary optimization (PUBO) representation. In some embodiments, the molecular computer method further includes performing a locality reduction process to reduce the k-body interaction parameters into two-body interaction parameters.
In some embodiments, the computational problem is a combinatorial optimization problem. In some embodiments, the combinatorial optimization problem is an NP or NP-hard optimization problem. In some embodiments, the NP or NP-hard optimization problem is an NP-complete optimization problem.
In some embodiments, the array of reaction sites includes an array of droplets. In some embodiments, providing the array of reaction sites includes disposing the array of droplets in an array of containers; or disposing the array of droplets on a non-wetting substrate; or embedding the array of droplets in a gel substrate; or printing the array of droplets on a printed substrate.
In some embodiments, the molecular computer method further includes selecting the physicochemical property from pH, polymer molecular weight, concentration, oxidation state, color, viscosity, a chemical oscillation property, or a combination thereof.
In some embodiments, reading out the site states of the reaction sites in the final array configuration includes operating an optical readout scheme, an electrical readout scheme, an electrochemical readout scheme, or a combination thereof.
In some embodiments, the molecular computer method further includes preparing the array of reaction sites in the initial array configuration. In some embodiments, preparing the array of reaction sites in the initial array configuration includes operating an optical actuation scheme, an electrical actuation scheme, an electrochemical actuation scheme, or a combination thereof.
In some embodiments, each reaction site is in one of the at least two possible site states in the initial array configuration.
In some embodiments, the one or more runs consist of a single run. In some embodiments, the one or more runs consist of multiple runs.
In some embodiments, the solution to the computational problem includes a plurality of solutions.
In some embodiments, determining whether the end condition has been met includes, for each run, assessing whether a specified number of run or runs has been completed, or assessing whether a specified allowed computation time has been reached, or assessing whether the candidate solution meets a specified solution criterion, or any combination thereof.
In some embodiments, the solution to the computational problem corresponds to a ground state of the problem Hamiltonian.
In accordance with another aspect, there is provided a hybrid classical-molecular computer (HCMC) system for solving a computational problem represented as a problem Hamiltonian expressed in terms of a set of problem variables and a set of problem parameters, the HCMC system including:
In some embodiments, the problem variables are binary variables, and the at least two possible site states of the physicochemical property are a pair of possible site states. In some embodiments, the problem variables are n-valued variables, and the at least two possible site states are a set of n possible site states, wherein n is a positive integer greater than two.
In some embodiments, the number of reaction sites is equal to the number of problem variables. In some embodiments, the number of reaction sites is greater than the number of problem variables.
In some embodiments, the problem parameters include two-body interaction parameters. In some embodiments, the problem Hamiltonian is expressed in an Ising representation or a quadratic unconstrained binary optimization (QUBO) representation.
In some embodiments, the problem parameters include k-body interaction parameters, wherein k is a positive integer greater than two. In some embodiments, the problem Hamiltonian is expressed in a polynomial unconstrained binary optimization (PUBO) representation.
In some embodiments, the computational problem is a combinatorial optimization problem. In some embodiments, the combinatorial optimization problem is an NP or NP-hard optimization problem. In some embodiments, the NP or NP-hard optimization problem is an NP-complete optimization problem.
In some embodiments, the array of reaction sites includes an array of droplets. In some embodiments, the droplets each have a droplet volume ranging from about one nanoliter to about ten microliters.
In some embodiments, the array of reaction sites includes an array of containers, and the array of droplets is received in the array of containers.
In some embodiments, the array of reaction sites includes a non-wetting substrate, and the array of droplets is disposed on the non-wetting substrate.
In some embodiments, the array of reaction sites includes a gel substrate and the array of droplets is embedded in the gel substrate.
In some embodiments, the array of reaction sites is arranged in a square lattice configuration or in a hexagonal lattice configuration.
In some embodiments, the physicochemical property includes pH, polymer molecular weight, concentration, oxidation state, color, viscosity, a chemical oscillation property, or a combination thereof.
In some embodiments, the site-readout device is configured to read out the site states of the reaction sites in the initial array configuration by operating an optical readout scheme, an electrical readout scheme, an electrochemical readout scheme, or a combination thereof.
In some embodiments, the site-manipulation device is configured to apply the state perturbations to the number of reaction sites by operating an optical actuation scheme, an electrical actuation scheme, an electrochemical actuation scheme, or a combination thereof.
In some embodiments, the solution to the computational problem corresponds to a ground state of the problem Hamiltonian.
In some embodiments, the solution to the computational problem includes a plurality of solutions.
In some embodiments, for each iterative cycle, the processor is configured for determining whether the end condition has been met by assessing whether a specified number of iterative cycles has been completed, or assessing whether a specified allowed computation time has been reached, or assessing whether the candidate solution meets a specified solution criterion, or any combination thereof.
In some embodiments, the processor is configured for determining the state perturbations by performing a computational optimization operation. In some embodiments, the computational optimization operation includes a simulated annealing operation or stochastic gradient descent operation.
In some embodiments, the processor is configured for: performing the one or more iterative cycles for a plurality of computational runs, each computational run having one or more candidate solutions associated therewith that define a respective one of a plurality of single-run solutions; and determining the solution to the computational problem from the plurality of single-run solutions.
In accordance with another aspect, there is provided a hybrid classical-molecular computer (HCMC) method for solving a computational problem represented as a problem Hamiltonian expressed in terms of a set of problem variables and a set of problem parameters, the hybrid classical-molecular method including:
In some embodiments, the problem variables are binary variables, and wherein the at least two possible site states of the physicochemical property are a pair of possible site states. In some embodiments, the problem variables are n-valued variables, and wherein the at least two possible site states are a set of n possible site states, wherein n is a positive integer greater than two.
In some embodiments, providing the array of reaction sites includes setting the number of reaction sites to be equal to the number of problem variables. In some embodiments, providing the array of reaction sites includes setting the number of reaction sites to greater than the number of problem variables.
In some embodiments, the problem parameters include two-body interaction parameters. In some embodiments, the problem Hamiltonian is expressed in an Ising representation or a quadratic unconstrained binary optimization (QUBO) representation.
In some embodiments, the problem parameters include k-body interaction parameters, wherein k is a positive integer greater than two. In some embodiments, the problem Hamiltonian is expressed in a polynomial unconstrained binary optimization (PUBO) representation.
In some embodiments, the computational problem is a combinatorial optimization problem. In some embodiments, the combinatorial optimization problem is an NP or NP-hard optimization problem. In some embodiments, the NP or NP-hard optimization problem is an NP-complete optimization problem.
In some embodiments, the array of reaction sites includes an array of droplets. In some embodiments, providing the array of reaction sites includes disposing the array of droplets in an array of containers; or disposing the array of droplets on a non-wetting substrate; or embedding the array of droplets in a gel substrate; or printing the array of droplets on a printed substrate.
In some embodiments, the HCMC method further includes selecting the physicochemical property from pH, polymer molecular weight, concentration, oxidation state, color, viscosity, a chemical oscillation property, or a combination thereof.
In some embodiments, reading out the site states of the reaction sites in the initial array configuration including operating an optical readout scheme, an electrical readout scheme, an electrochemical readout scheme, or a combination thereof.
In some embodiments, applying the state perturbations to the number of reaction sites includes operating an optical actuation scheme, an electrical actuation scheme, an electrochemical actuation scheme, or a combination thereof.
In some embodiments, the solution to the computational problem corresponds to a ground state of the problem Hamiltonian.
In some embodiments, the solution to the computational problem includes a plurality of solutions.
In some embodiments, determining whether the end condition has been met includes, for each iterative cycle, assessing whether a specified number of iterative cycles has been completed, or assessing whether a specified allowed computation time has been reached, or assessing whether the candidate solution meets a specified solution criterion, or any combination thereof.
In some embodiments, determining the state perturbations includes performing a computational optimization operation. In some embodiments, the computational optimization operation includes a simulated annealing operation or stochastic gradient descent operation.
In some embodiments, the HCMC method further includes: performing the one or more iterative cycles for a plurality of computational runs, each computational run having one or more candidate solutions associated therewith that define a respective one of a plurality of single-run solutions; and determining the solution to the computational problem from the plurality of single-run solutions.
In accordance with another aspect, there is provided a non-transitory computer readable storage medium having stored thereon computer readable instructions that, when executed by a processor, cause the processor to perform a method for solving a computational problem using an array of reaction sites, the computational problem being represented as a problem Hamiltonian expressed in terms of a set of problem variables and a set of problem parameters, and the array of reaction sites having a physicochemical property that maps to at least two possible site states, each reaction site representing one of the problem variables, the method including:
In some embodiments, the problem variables are binary variables, and the at least two possible site states of the physicochemical property are a pair of possible site states.
In some embodiments, the problem parameters include two-body interaction parameters.
In some embodiments, the problem parameters include k-body interaction parameters, wherein k is a positive integer greater than two.
In some embodiments, the computational problem is a combinatorial optimization problem. In some embodiments, the combinatorial optimization problem is an NP or NP-hard optimization problem. In some embodiments, the NP or NP-hard optimization problem is an NP-complete optimization problem.
In some embodiments, the solution to the computational problem corresponds to a ground state of the problem Hamiltonian.
In some embodiments, the solution to the computational problem includes a plurality of solutions.
In some embodiments, determining whether the end condition has been met includes, for each iterative cycle, assessing whether a specified number of iterative cycles has been completed, or assessing whether a specified allowed computation time has been reached, or assessing whether the candidate solution meets a specified solution criterion, or any combination thereof.
In some embodiments, determining the state perturbations includes performing a computational optimization operation.
In some embodiments, the computational optimization operation includes a simulated annealing operation or stochastic gradient descent operation.
In some embodiments, the method further includes: performing the one or more iterative cycles for a plurality of computational runs, each computational run having one or more candidate solutions associated therewith that define a respective one of a plurality of single-run solutions; and determining the solution to the computational problem from the plurality of single-run solutions.
In accordance with another aspect, there is provided a digital computer including: a processor; and a non-transitory computer readable storage medium such as disclosed herein, the non-transitory computer readable storage medium being operatively coupled to the processor.
In accordance with another aspect, there is provided a hybrid classical-molecular computer (HCMC) system for solving a computational problem, the HCMC system including:
In accordance with another aspect, there is provided a hybrid classical-molecular computer (HCMC) method for solving a computational problem using a droplet array including a set of droplets, each droplet having a controllable and measurable property mapping to a pair of droplet states, the HCMC method including: (a) receiving the computational problem to be solved; (b) representing the computational problem to be solved as an Ising model, the Ising model including a set of interacting binary variables, each binary variable associated with a corresponding droplet, and a set of programmable model parameters encoding the computational problem to be solved as intra-droplet and inter-droplet interactions; (c) initializing the droplet array into an initial droplet state configuration; (d) measuring the set of droplet states; (e) using the set of measured droplet states into the Ising model to assess whether they provide an acceptable droplet state configuration; (f) if yes, using the acceptable droplet state configuration as a solution to the computation problem; if no, determining an updated droplet state configuration, controlling the droplet-manipulation device to place the droplet array into the updated droplet state configuration, and repeating steps (d) to (f).
In accordance with another aspect, there is provided a non-transitory computer readable storage medium having stored thereon computer executable instructions that, when executed by a processor, cause the processor to perform the HCMC method described herein.
In accordance with another aspect, there is provided a molecular computer system for solving a computational problem, the molecular system including a droplet array including a set of droplets, each droplet having a controllable and measurable property mapping to a pair of droplet states, the set of droplets having enforced intra-droplet and inter-droplet couplings acting thereon,
In accordance with another aspect, there is provided a molecular computer method for solving a computational problem, the molecular computer method including: (a) providing a droplet array including a set of droplets, each droplet having a controllable and measurable property mapping to a pair of droplet states; (b) receiving the computational problem to be solved; (c) representing the computational problem to be solved as an Ising model, the Ising model including a set of interacting binary variables, each binary variable associated with a corresponding droplet, and a set of programmable model parameters encoding the computational problem to be solved; (d) enforcing intra-droplet and inter-droplet couplings to act on the set of droplets, the enforced intra-droplet and inter-droplet couplings representing the programmable model parameters of the Ising model; (e) initializing the droplet array into an initial droplet state configuration; (f) allowing the droplet array, subjected to the enforced intra-droplet and inter-droplet couplings acting thereon, to evolve thermodynamically to a steady-state droplet state configuration; (g) measuring the set of droplet states corresponding to a steady-state droplet state configuration; and (h) obtaining a solution to the computational problem based on the measured set of droplet states in the steady-state droplet state configuration.
It is appreciated that other method and process steps may be performed prior, during or after the steps described herein. The order of one or more steps may also differ, and some of the steps may be omitted, repeated, and/or combined, as the case may be. It is also to be noted that some steps may be performed using various analysis and processing techniques, which may be implemented in hardware, software, firmware, or any combination thereof.
Other objects, features, and advantages of the present description will become more apparent upon reading of the following non-restrictive description of specific embodiments thereof, given by way of example only with reference to the appended drawings. Although specific features described in the above summary and in the detailed description below may be described with respect to specific embodiments or aspects, it should be noted that these specific features may be combined with one another unless stated otherwise.
In the present description, similar features in the drawings have been given similar reference numerals. To avoid cluttering certain figures, some elements may not be indicated if they were already identified in a preceding figure. It should also be understood that the elements of the drawings are not necessarily depicted to scale, since emphasis is placed on clearly illustrating the elements and structures of the present embodiments. Furthermore, positional descriptors indicating the location and/or orientation of one element with respect to another element are used herein for ease and clarity of description. Unless otherwise indicated, these positional descriptors should be taken in the context of the figures and should not be considered limiting. It is appreciated that such spatially relative terms are intended to encompass different orientations in the use or operation of the present embodiments, in addition to the orientations exemplified in the figures. Furthermore, when a first element is referred to as being “on”, “above”, “below”, “over”, or “under” a second element, the first element can be either directly or indirectly on, above, below, over, or under the second element, respectively, such that one or multiple intervening elements may be disposed between the first element and the second element.
The terms “a”, “an”, and “one” are defined herein to mean “at least one”, that is, these terms do not exclude a plural number of elements, unless stated otherwise.
The term “or” is defined herein to mean “and/or”, unless stated otherwise.
Terms such as “substantially”, “generally”, and “about”, which modify a value, condition, or characteristic of a feature of an exemplary embodiment, should be understood to mean that the value, condition, or characteristic is defined within tolerances that are acceptable for the proper operation of this exemplary embodiment for its intended application or that fall within an acceptable range of experimental error. In particular, the term “about” generally refers to a range of numbers that one skilled in the art would consider equivalent to the stated value (e.g., having the same or an equivalent function or result). In some instances, the term “about” means a variation of 10% of the stated value. It is noted that all numeric values used herein are assumed to be modified by the term “about”, unless stated otherwise. The term “between” as used herein to refer to a range of numbers or values defined by endpoints is intended to include both endpoints, unless stated otherwise.
The term “based on” as used herein is intended to mean “based at least in part on”, whether directly or indirectly, and to encompass both “based solely on” and “based partly on”. In particular, the term “based on” may also be understood as meaning “depending on”, “representative of”, “indicative of”, “associated with”, and the like.
The terms “match”, “matching”, and “matched” refer herein to a condition in which two elements are either the same or within some specified tolerance of each other. That is, these terms are meant to encompass not only “exactly” or “identically” matching the two elements but also “substantially”, “approximately”, or “subjectively” matching the two elements, as well as providing a higher or best match among a plurality of matching possibilities.
The terms “connected” and “coupled”, and derivatives and variants thereof, refer herein to any connection or coupling, either direct or indirect, between two or more elements, unless stated otherwise. For example, the connection or coupling between elements may be mechanical, optical, electrical, magnetic, thermal, chemical, logical, fluidic, operational, or any combination thereof.
The term “concurrently” refers herein to two or more processes that occur during coincident or overlapping time periods. The term “concurrently” does not necessarily imply complete synchronicity and encompasses various scenarios including: time-coincident or simultaneous occurrence of two processes; occurrence of a first process that both begins and ends during the duration of a second process; and occurrence of a first process that begins during the duration of a second process, but ends after the completion of the second process.
The terms “light” and “optical”, and variants and derivatives thereof, are intended to refer herein to radiation in any appropriate region of the electromagnetic spectrum. These terms are not limited to visible light but may also include invisible regions of the electromagnetic spectrum including, without limitation, radio, microwave (MW), terahertz (THz), infrared (IR), and ultraviolet (UV) spectral bands.
The present disclosure generally relates to methods and systems for solving optimization problems based on molecular computing. The search for novel or improved forms of computing as alternatives to traditional semiconductor-based computing following the von Neumann architecture is an active area of research. One such alternative is molecular computing, which is an interdisciplinary field that uses molecules and chemical reactions to perform calculations. The vast space of chemical reactions makes molecules a promising computational vehicle that may provide advantages in terms of reduced costs, room temperature operation, biocompatibility, energy efficiency, tunability, scalability, and inherent parallelization of processing and memory functions.
The present techniques perform computation using an array of spatially localized reaction sites, for example, an array of droplets, whose contents or properties represent bits of information. A computational problem to be solved is represented as a problem Hamiltonian expressed in terms of a set of problem variables and a set of problem parameters or constraints. The reaction sites have a physicochemical property, such as pH or polymer molecular weight, that maps to two or more possible site states, where each reaction site represents one of the problem variables.
In some embodiments, the present techniques make use of similarities between combinatorial optimization and statistical physics, notably the parallel that may be drawn between the cost function of an optimization problem and the energy of a physical system. Like the statistical ensemble behavior of physical systems such spin magnetic moments, an optimization problem may be thought of as a complex system of interacting variables. Such interactions may be mapped to a Hamiltonian or energy function, in which the constraints and requirements of the optimization problem correspond to interaction energies among and between the variables. For example, at a given temperature, the equilibrium distribution of an array of spin magnetic moments may follow a Boltzmann distribution, which favors the ground state of the Hamiltonian or, equivalently, the optimal solution or set of solutions to the objective function. Based on the fact that the statistical weight or probability of the ground state is inversely proportional to temperature, some embodiments of the present techniques may use simulated annealing to emulate the effect of this annealing process due to cooling for finding or approximating a ground state of a given problem Hamiltonian.
The present techniques disclose two main approaches to molecular computing, which are referred to herein as the purely molecular computer (PMC) approach and the hybrid classical molecular computer (HCMC) approach.
In the PMC approach, the reaction sites may have preprogrammed intra-site and inter-site couplings enforced thereon that represent the problem parameters of the problem Hamiltonian. The array thus prepared may be allowed, in one or more computational runs or tries, to evolve kinetically and/or thermodynamically and subjected to the enforced intra-site and inter-site couplings from an initial array configuration to a final array configuration. The final array configuration may correspond to a final state of the problem Hamiltonian, for example, a ground state, in which each reaction site is in one the possible site states. Reading out the site states of the reaction sites in the final array configuration may provide a solution to the computational problem.
In the HCMC approach, the site states of the reaction sites may be read out and the read-out states may be fed into a digital computer. The digital computer may be configured for inputting the read-out states for the problem variables in the problem Hamiltonian; performing calculations to determine, based on the problem parameters, state perturbations to be applied to a number of the reaction sites to promote site changes therein; applying the state perturbations to the number of reaction sites; and allowing the array to evolve, from an initial array configuration and as a result of the state perturbations, to a final array configuration which may be read out. One computational run in the HCMC approach may involve performing a number of iterations of these steps until an end condition is met. One or more computational runs may be performed to obtain a solution to the computation problem.
The present techniques have potential use in various industries and applications. Non-limiting examples of possible fields of use include, to name a few, logistics (e.g., industrial optimization, traffic/route optimization, supply chain optimization, job scheduling), data clustering, graph clustering, binary integer linear programming, finance (e.g. portfolio optimization), encryption (e.g., prime factoring), artificial intelligence and machine learning (e.g., Hopfield neural networks), software engineering, chemistry, pharmaceutical industry, and materials.
Various implementations of the present techniques will now be described with reference to the figures.
Referring to
The term “computational problem” broadly refers herein to any problem that might be solved by a computer. In some embodiments, the computational problem may be an optimization problem, such as a combinatorial optimization problem. Other possible types of computational problems include, for example, decision problems, search problems, and counting problems. The term “combinatorial optimization problem” refers herein to an optimization problem of finding an optimal solution from a finite set of solutions. In some embodiments, the combinatorial optimization problem may be a nondeterministic polynomial time (NP) or NP-hard optimization problem, for example, an NP-complete optimization problem. More specific examples of computational problems that may be solved using the present techniques include, without being limited to, the Boolean satisfiability (SAT) problem; the traveling salesperson person (TSP); the lattice protein folding problem; the prime factorization problem; the clique problem; the maximum cut problem; the knapsack problem; the subset sum problem; the number partitioning problem; the spin glass problem; the graph coloring problem; the graph similarity problem; the wedding table seating problem; the maximum independent set problem; the set cover problem; and the Hamiltonian cycle problem. It is appreciated that the theory and applications of computational problems, including optimization problems such as combinatorial optimization problem, are generally known in the art, and need not be described in detail herein other than to facilitate an understanding of the present techniques.
The PMC method 100 of
The term “problem Hamiltonian” broadly refers herein to an energy, cost, or objective function that encodes the computational problem to be solved and that the method or system explores and attempts to sample from, minimize or maximize. It is appreciated that depending on the application and the computational problem to be solved, the problem Hamiltonian may take many different forms.
In some embodiments, the problem variables are binary variables, that is, variables which only can take two values, for example {0, 1} or {−1, 1}. It is appreciated that while in several embodiments described herein use problem Hamiltonians expressed in terms of binary problem variables, other embodiments may use problem Hamiltonians in which the problem variables are n-valued variables, where n is a positive integer greater than two. For example, the Potts model, which is a generalization of the Ising model, can have non-binary variables. It is also appreciated that techniques exist that can convert non-binary discrete variables into binary variables. Furthermore, the number of problem variables in the problem Hamiltonian can vary depending on the application. For example, in some embodiments, the number of problem variables may range between 10 and 2,000, although values outside this range are possible in other embodiments.
The problem parameters represent the constraints or requirements imposed by the computational problem on the problem variables. In some embodiments, the problem parameters include bias parameters and interaction parameters. In some applications, the interaction parameters include only two-body interactions between the problem variables, in which case the problem Hamiltonian can be said to be a two-local problem Hamiltonian. Non-limiting examples of possible two-local problem Hamiltonians are those expressed in an Ising formulation or a quadratic unconstrained binary optimization (QUBO) formulation. In other applications, the interaction parameters include k-body interaction parameters, k being a positive integer greater than two, in which case the problem Hamiltonian can be said to be a k-local problem Hamiltonian, for example, expressed in a polynomial unconstrained binary optimization (PUBO) formulation. It is appreciated that techniques exist that allow for a k-local problem Hamiltonian to be reframed as a two-local problem Hamiltonian, which may involve the use of ancillary variables.
A canonical model for spin magnetic moments arranged at lattice sites on a two-dimensional crystalline lattice is the Ising Hamiltonian:
whose terms describe a tradeoff between the cost of flipping a spin si subjected to an external magnetic field h and the exchange energy J between neighboring spins, and where μ is the magnetic moment. Even though the Ising model has only two parameters, h and J, it may already give rise to computational problems that may become intractable in the worst cases. For encoding more general combinatorial optimization problems or allow for more degrees of freedom in defining the bias fields acting on the individual spins and the couplings between pairs of spins, a more general form of the Ising Hamiltonian may be written as follows:
where the coefficients αi and βij correspond to the problem parameters of the computational problem, with αi representing the bias field acting on problem variable si, and βij representing the couplings between problems variables si and sj. For given values of the vector α and the matrix β, the optimal configuration of si represents a solution that minimizes the problem Hamiltonian HP. The problem Hamiltonian HP of Eq. (2) may be generalized into a k-local problem Hamiltonian including higher-order interaction terms as follows:
where the term h(k) is a rank-k tensor representing the coupling between k variables.
It is appreciated that implementing a problem Hamiltonian HP, for example, an Ising Hamiltonian, in a programmable computer involves being able to control the bias fields and couplings for a set of problem variables. This approach to computation has been explored in other fields. In particular, the Ising model paradigm has inspired algorithm and hardware development for both classical and quantum devices. Classical implementations have been mostly based on traditional electronic components, such as a network of coupled LC oscillators, and conventional CMOS technologies, while quantum implementations have made use of quantum effects such as superposition and tunneling.
Quantum annealing and adiabatic quantum computing can provide a framework for solving computational problems using molecular computing. Quantum annealing is a metaheuristic approach to solving computational problems that use quantum mechanical effects, such as superposition, tunneling, and entanglement, to find a low-energy state, typically the ground state, of a system. Adiabatic quantum computing is a form of quantum annealing for which the system evolves under adiabatic conditions. In adiabatic quantum computing, a system is initially in the ground state of an initial Hamiltonian H0 adiabatically evolves to a ground state of a final Hamiltonian HP. The initial Hamiltonian H0 typically encodes a known accessible computational problem, while the final Hamiltonian HP is the problem Hamiltonian encoding the computational problem of interest. An example of an adiabatic evolution may be written as follows:
H(t)=[1−a(t)]H0+a(t)HP. (4)
To solve for the ground state of the problem Hamiltonian HP, the instantaneous Hamiltonian H(t) is adiabatically changed over time from the initial Hamiltonian H0 following a time-dependent function a(t). As the system evolves, the function a(t) goes from 0 to 1, such that the instantaneous Hamiltonian H(t) is equal to the initial Hamiltonian H1 at the beginning of the evolution and is equal to the problem Hamiltonian HP at the end of the evolution. In operation, the system is typically initialized in a ground state of the initial Hamiltonian H0, and is then allowed to gradually evolve in a way such the system ends up in a ground state of the problem Hamiltonian HP at the end of the evolution. If adiabatic conditions are not satisfied, the system may be excited to and end up in a higher-energy state, which is generally best avoided. It is appreciated that the theory and applications of quantum annealing and adiabatic quantum computing are generally known in the art, and need not be described in detail herein other than to facilitate an understanding of the present techniques.
Although a molecular computer remains a classical device, unable to avail itself of quantum effects, such as quantum tunneling across barriers in the potential energy surface associated with the problem Hamiltonian HP, the rationale can still be extended to simulated annealing. Simulated annealing is a metaheuristic approach to solving computational problems by approximating the global optimum (or optima) of an objective function of a plurality of variables subjected to a set of constraints. Simulated annealing derives its name from annealing in metallurgy, as it models the physical process of heating a material and then gradually and controllably cooling the material to decrease defects in an attempt to minimize the system energy. In simulated annealing, H0 represents the kinetic energy of the system, which may account for effects such as heat, noise, and diffusion, while HP represents the potential energy of the system, which relates to the computational problem to be solved.
Simulated annealing was found to be well suited to tackle NP and NP-hard combinatorial optimization problems. These are problems whose computational complexity increases exponentially with the number of variables, and for which no polynomial-time algorithm is presently known. Nevertheless, since solving the Ising model was shown to be NP-hard, developing a good heuristic Ising model solver would be beneficial for solving real-world computational problems that are often NP-complete, such as the Boolean satisfiability problem, the traveling salesperson problem, and the graph coloring problem. As known in the art, NP-complete problems belong to both NP and NP-hard classes. They are defined as decision problems where a polynomial-time reduction exists from every other problem in NP. It was shown that that solving the states of the Ising model on a two-dimensional lattice with arbitrary interactions is NP-complete. Since every instance of a problem in NP can be efficiently encoded as an instance of an NP-complete problem, this implies that all problems in the NP complexity class may be mapped to instances of a two-dimensional Ising model, and thus may potentially be solved efficiently with a heuristic Ising solver. Table I presents the complexity of solving different Ising models.
It is appreciated that the theory and applications of simulated annealing are generally known in the art, and need not be described in detail herein other than to facilitate an understanding of the present techniques. It is also appreciated that while several embodiments disclosed herein use Ising and Ising-like problem Hamiltonians, various other types of problem Hamiltonians can be used in other embodiments.
Referring still to
The term “reaction site” refers herein to a localized region or area containing a substance or a reactant and in which a specified change or reaction involving the substance or reactant may occur. The change or reaction may modify or otherwise act on the physicochemical property mapping to the site state associated with the reaction site. The reaction site may include or be provided on a substrate or support structure where the substance or reactant may be disposed. In some embodiments, the reaction site includes a reaction chamber that at least partially encloses or otherwise defines a region or volume configured to receive the substance or reactant and compartmentalize the specified change or reaction. The reaction chamber may be separated from other such reaction chambers by walls or partitions. For example, the reaction chamber may include a cavity defined by the interior wall of a cell, a well, a receptacle, a reservoir, a compartment, a cartridge, a membrane, or any other suitable container. In other embodiments, the reaction site is isolated from other such reaction sites by spacing. For example, the spacing between neighboring reaction sites may be achieved by arranging the reaction sites in a spaced-apart configuration on a non-wetting substrate or inside a gel substrate. The reaction sites are also the locations at which the site states are read out.
In some embodiments, the array 202 of reaction sites 204 includes an array of droplets 206. The term “droplet” refers herein to a discrete localized volume of liquid. Spatial confinement of droplets 206 can be achieved in various manners, non-limiting examples of which are depicted in
The term “liquid” refers herein to a substance having a definite volume and the ability to flow and conforms to the shape of its container. The term “liquid” is meant to encompass fluid substances of various viscosities. Depending on the application, the term “liquid” may refer to a pure substance (e.g., water), a homogeneous solution containing one or more solutes dissolved in a solvent, a heterogeneous suspension, dispersion, emulsion, or multi-phase mixture, a cream, a gel, a paste, and the like. The terms “liquid” and “fluid” may generally be used interchangeably herein. The droplet may have various compositions. In particular, the droplet may include any liquid, including water, an aqueous solution, and oil solution, a polar liquid, a nonpolar liquid, polarizable liquid, and the like. The droplet may be of any suitable shape, whether spherical or nonspherical. The shape of a droplet may be altered by deposition onto a surface.
The droplet may be of any suitable size or volume. In one embodiment, the volume of a droplet may be less than one microliter, for example, between one nanoliter and one microliter, or between one nanoliter and ten microliters, or between one picoliter and one microliter, or between one picoliter and one nanoliter, including all values and ranges therebetween. In other embodiments, the volume of a droplet may be greater than one microliter. The term “microdroplet” may be used herein to refer to a droplet having a volume in the range from about one picoliter to about one microliter. It is appreciated, however, that the definition of a microdroplet may vary depending on the technical field under consideration, and is not meant to limit the scope of application of the embodiments disclosed herein. The terms “droplet” and “microdroplet” may generally be used interchangeably herein.
It is appreciated that droplets that may be prepared and arrayed using any suitable techniques. For example, microfluidic-based robotic platforms and inkjet printers can be used to generate droplets with precise compositions and to place the droplets at specified locations in an array. It is also appreciated that while several embodiments disclosed herein use reaction sites including droplets, other embodiments may not use droplets. For example, a continuous phase gel or liquid over an electrode array, where the reactions occur directly above the electrode.
Returning to
For illustrative purposes, the array 202 depicted in
In some embodiments, the reaction sites 204 are arranged in a two-dimensional lattice configuration. For example, in the embodiment of
The reaction sites 204 also have site couplings enforced thereon that represent the problem parameters. The site couplings may include inter-site couplings and inter-site couplings. In the PMC method 100 of
The intra-site couplings represent bias fields that act on the physicochemical property of the individual reaction sites 204 to promote or favor one of their possible site states. That is, the intra-site coupling corresponding to a given reaction site 204 will not act on other reaction sites 204. For example, the intra-site coupling in each reaction site 204 may be programmed into the contents of the substance or reactant (e.g., the droplet) contained in the reaction site 204 or into a local field (e.g., an electrical bias applied by a dedicated electrode embodying the intra-site coupler 216) acting on the reaction site 204. In some embodiments, the intra-site couplings may be described as being positive (denoted by upward arrows in
The inter-site couplings represent the physical and/or chemical interactions between the reaction sites 204. This means that if the problem Hamiltonian is a two-local Hamiltonian, for example, having an Ising or a QUBO representation, then the inter-site couplings encode only two-body interaction parameters. Likewise, if the problem Hamiltonian is a k-local Hamiltonian, for example, having a PUBO representation, then the inter-site couplings encode up to k-body interaction parameters. In some embodiments, the inter-site couplings between reaction sites may be described as being positive (denoted solid double-ended arrows in
It is appreciated that in a PMC system 200, each reaction site 204 may be coupled only to those reaction sites with which it can physically interact. Thus, in several embodiments, the PMC system 200 may be limited to two-body nearest-neighbor interactions, so that each reaction site 204 only establishes pairwise couplings with its nearest neighbors (e.g., four in the case of a square lattice and six in the case of a hexagonal lattice). To overcome these limitations related to the sparse connectivity and the reduced locality, minor-embedding techniques and locality reduction algorithms may be used. For example, locality reduction algorithms to reduce a k-local problem Hamiltonian to a two-local Hamiltonian may involve adding ancillary reaction sites to the PMC system 200. However, in other embodiments, the PMC system 200 may not be limited to two-body interactions and/or to nearest-neighbor interactions.
Depending on the application, and notably on the physicochemical property associated with the reaction sites 204, the intra-site and inter-site couplings may be implemented in various manners.
In some embodiments, the intra-site and inter-site couplings are mediated by mass exchange. Mass exchange relies on the movement and transport rates of molecules in and out and between the reaction sites, for example, using passive transport (e.g., passive diffusion, osmosis, reverse osmosis), active transport (e.g., hydrodynamic transport or electrokinetic transport such as electrophoresis and electro-osmosis), or any combination thereof. For example, in some implementations, the inter-site couplers 218 may be embodied by mediator sites programmed or otherwise configured to enforce the inter-site couplings between the reaction sites. The mediator sites may be arranged in an array interlaced with the reaction site array 202. In some embodiments, the mediators may have to be activated or programmed, for example, using an optical or electrical stimulation. The mediator sites may include chemical mediator sites configured to allow for the controlled exchange of chemical species between the reaction sites 204 in accordance with the sign and strength of the inter-site couplings enforced thereon. An example of an embodiment using chemical mediator sites programmed for the selective release of initiator and depolymerizer molecules between two droplets in response to their respective polymer molecular weight distributions is described below in the section entitled “Model for a polymerization-based PMC approach”.
In other embodiments, the intra-site and inter-site couplings are mediated by energy exchange, for example, electrical energy transfer, electrochemical energy transfer, excitonic energy transfer, and Förster resonance energy transfer (FRET). For example, referring to
In other embodiments, the intra-site and inter-site couplings are mediated by both mass exchange and energy exchange.
Further non-limiting examples of implementing intra-site couplings include the following: for redox reactions, applying a constant voltage, for example, using a potentiostat; for certain types of polymerization like reversible addition-fragmentation chain transfer (RAFT), initiating the droplet array with different initiator or RAFT agent concentrations; for photoredox reactions, using a spatial light modulator (SLM) with a constant pattern to illuminate specific droplets; etching channels from a reservoir of a specific reaction to ensure constant supply.
Returning to
The term “solution” refers herein to a parameter for which a suitable value or set of values is determined when an optimal value or set of values is sought. Depending on the application, the solution to the computational problem may be, but is not limited to, an optimal solution, an exact solution, an approximate solution, a solution meeting a solution criterion, a best feasible solution, a sufficiently good solution, or a solution providing a higher or best match among a plurality of candidate solutions. For example, in several cases, a sub-optimal solution that nevertheless fulfils one or more solution criteria may be considered to be an acceptable solution. The solution may include a plurality of solutions. In some embodiments, the solution may correspond to a global optimum (i.e., a global minimum or a global maximum) of the problem Hamiltonian encoding the computational problem to be solved, for example a ground state of the problem Hamiltonian. In some embodiments, the solution may correspond to an approximation of a global optimum, for example, an approximation of a ground state of the problem Hamiltonian. In some embodiments, the solution may correspond to a steady-state of the problem Hamiltonian. In some embodiments, the solution may include a plurality of solutions corresponding to a plurality of degenerate ground states of the problem Hamiltonian. In some embodiments, the solution may correspond to a local optimum (i.e., a local minimum or a local maximum). In some embodiments, the solution may be obtained from at least one of one or more candidate solutions obtained by performing the one or more runs.
Depending on the application, the term “end condition” may entail different things. In one example, the end condition may be reached after a specified or predetermined number of runs have been completed. In another example, the end condition may be reached after the expiration of a specified or predetermined time period. In yet another example, the end condition may be reached once a candidate solution meeting a specified or predetermined solution criterion has been obtained, for example, a candidate solution reaching a ground state.
Referring still to
In some embodiments, the initial array configuration may be characterized by having each reaction site in one of its possible site states. However, in other embodiments, the reaction sites may not be in one of their possible site states in the initial array configuration, though they may nevertheless end up being as such in the final array configuration. Such a scenario may arise when the physicochemical property mapping to the possible site states is not present in the reaction sites in the initial array configuration, but only emerges as the reaction proceeds. For example, in one embodiment, the physicochemical property may be the oscillating frequency of the BZ reaction, where a high value of oscillating frequency value may correspond to a first site state and a low value of oscillating frequency may correspond to a second site state. In such a case, the oscillations may start only after a perturbation is applied to the reaction site array, so that there may be no oscillations in the initial array configuration.
Referring to
It is emphasized that the PMC system 200 does not have a priori knowledge of the solution to the computational problem. Specifically, the PMC system 200 does not know beforehand the final array configuration it will end up in as the reaction site array 202 is allowed to evolve from a given initial array configuration. Rather, the PMC system 200 merely imposes, via the enforced intra-site and intra-site couplings representing the problem parameters of the problem Hamiltonian, the constraints of the computational problem to be solved on the reaction sites 204. As the reaction site array 202 evolves kinetically and/or thermodynamically under these conditions, it will attempt to minimize its free energy, which provides a physical impetus to explore distinct solution states associated with the problem Hamiltonian under the enforced intra-site and intra-site couplings. As noted above, depending on the nature and complexity of the computational problem, the problem Hamiltonian may have a single ground state corresponding to a single optimal final array configuration, a plurality of degenerate ground states corresponding to a plurality of optimal final array configurations, or one or more local minima that the PMC system identifies as “sufficiently good” solutions.
The amount of time taken by the PMC system 200 to evolve from an initial array configuration to a final, steady-state array configuration may vary depending on the application. In some embodiments, the amount of time needed from the PMC system 200 to go from the initial to the final array configuration may range from about a few seconds to about a few hours, although other embodiments may operate over different timescales.
Returning to
It is appreciated that depending on the physicochemical property used, the site states of the reaction sites may be detected or measured—ideally in a noninterfering or negligibly interfering manner—using a variety of readout techniques including, but not limited to, an optical readout scheme, an electrical readout scheme, an electrochemical readout scheme, and any combination thereof. Non-limiting examples include, to name a few, fluorescence and spectroscopic measurements, fluorescence polarization measurements, color measurements (e.g., conveying information about oxidation states), electrical current measurements (e.g., in redox reactions), conductivity measurements, voltammetry, and the like. In one example, pH-sensitive dyes or ion indicators may be used to read out a fluorescence signal proportional to the pH or ion concentration of droplet species in the individual reaction sites. In another example, functionalized electrode arrays may be used to address the individual reaction sites and read out electrical signals conveying pH information about the reaction sites. In yet another example, fluorescent dyes sensitive to gelation or viscosity changes may be used to convey information about the presence of polymer. It is appreciated that various techniques are known in the art to detect, measure or otherwise read out droplet properties, which may be used in the embodiments herein.
The readout step 110 may include a step of processing or analyzing the measurements of the physicochemical property of the reaction sites in order to map the measurements to the possible site states. As noted above, because measurements of the physicochemical property can generally lie anywhere on a continuum of possible values, converting the array of measured data associated with the array of reaction sites into an array of read-out site states may involve some processing. To this end, the site-readout device 226 of the PMC system 200 in
It is appreciated that depending on the physicochemical property used to provide the site states associated with the problem variables of the problem Hamiltonian encoding the computational problem to be solved, the evolution of the PMC system 200 from the initial to the final array configuration and its readout in the final array configuration may or may not be performed under controlled operating conditions. In particular, by selection of a suitable physicochemical property (e.g., some polymerization, redox, diffusion, and gelation reactions), some embodiments of the PMC method may be performed at or near room temperature, which may provide advantages over quantum computation techniques operating at cryogenic temperatures.
Returning to
In some embodiments, only one run is performed so that only one candidate solution is determination. In other embodiments, a plurality of runs are performed, for example, ranging from two to about a hundred, resulting a plurality of candidate solutions being determined. It is appreciated that because of factors such as the shape of the potential energy surface associated with the problem Hamiltonian, the unavailability of quantum tunneling to pass through energy barriers, the reaction kinetics involved in the evolution of the reaction site array from the initial to the final array configuration, and the generally unavoidable presence of noise and experimental imperfections, a given run of the PMC method 100 may end up trapped in a local optimum of the solution space. In such a case, multiple runs may be required to find the global optimum (or optima). In particular, it is appreciated that depending on the shape of the potential energy surface associated with the problem Hamiltonian, the entrance to the ground state valley may be narrow and not readily accessible.
Referring still to
It is appreciated that some applications of the PMC approach may benefit from a complete parallelization of the problem solving process. For example, in the case of two-local problem Hamiltonian, a classical computer would generally perform, at each step of the optimization process, the computation of n2 terms representing the pairwise energies of the n variables. In contrast, the PMC approach may perform the same computation n times faster since all pairwise interactions occur simultaneously, in O(n) time.
Referring now to
In some embodiments, the computational problem solved by the HCMC method 300 may be an optimization problem, such as a combinatorial optimization problem. In some embodiments, the combinatorial optimization problem may be an NP or NP-hard optimization problem, for example, an NP-complete optimization problem. More specific examples of computational problems that may be solved using the HCMC method 300 may include those listed above with respect to the PMC approach.
The HCMC method 300 includes a step 302 of providing the computational problem as a problem Hamiltonian expressed in terms of a set of problem variables and a set of problem parameters. The problem Hamiltonian used in the HCMC method 300 may take many different forms depending on the application. For example, depending on the computational problem to be solved, the problem variables may be binary variables or n-valued variables, where n>2. Furthermore, the number of problem variables in the problem Hamiltonian may vary depending on the application, as noted regarding the PMC approach. The problem parameters represent the constraints or requirements imposed by the computational problem on the problem variables. In some embodiments, the problem parameters may include bias parameters and interaction parameters. In some applications, the interaction parameters may include only two-body interactions between the problem variables, in which case the problem Hamiltonian can be said to be a two-local problem Hamiltonian (e.g., having an Ising or a QUBO representation). In other applications, the interaction parameters may include k-body interaction parameters, k≥2, in which case the problem Hamiltonian can be said to be a k-local problem Hamiltonian (e.g., having a PUBO representation). As noted above, locality reduction techniques exist for converting a k-local problem Hamiltonian into a two-local problem Hamiltonian.
Referring still to
The reaction sites 404 in the HCMC approach may share several features with those described above with respect to the PMC approach. The reaction sites 404 may include or be provided on a substrate or support structure where the substance or reactant may be disposed. In some embodiments, the reaction site may include a reaction chamber (e.g., a container, a cell, a well, a receptacle, a reservoir, a compartment, a cartridge) that at least partially encloses or otherwise defines a region or volume configured to receive a droplet or another object that may undergo a specified change or reaction. The reaction sites 404 may be separated from one another by physical barriers or spacing. In some embodiments, the array 402 of reaction sites 404 may include an array of droplets 406 arranged on a microwell array or on or in a substrate. The discussion above regarding various aspects and features relating to the use of droplets in the PMC approach generally applies to the HCMC approach.
Returning to
For illustrative purposes, the array 402 depicted in
In contrast to the PMC approach, the reaction sites 404 in
The digital computer 408 may be configured for controlling, monitoring, executing, and/or coordinating the functions and operations of various components of the HCMC system 400, such as, for example, the reaction site array 402, the site-readout device 410, and the site-manipulation device 412. In particular, the digital computer 408 may be configured for controlling and executing, at least partly, various steps of the HCMC method 300 of
The processor 414 may implement operating systems, and may be able to execute computer programs, also known as commands, instructions, functions, processes, software codes, executables, applications, and the like. It should be noted that although the processor 414 in
The memory 416, which may also be referred to as a “computer readable storage medium” is capable of storing computer programs and other data to be retrieved by the processor 414. The terms “computer readable storage medium” and “computer readable memory” refer herein to a non-transitory and tangible computer product that can store and communicate executable instructions for the implementation of various steps of the techniques disclosed herein. The computer readable memory may be any computer data storage device or assembly of such devices, including a random-access memory (RAM); a dynamic RAM; a read-only memory (ROM); a magnetic storage device, such as a hard disk drive, a solid state drive, a floppy disk, and a magnetic tape; an optical storage device, such as a compact disc (CD or CDROM), a digital video disc (DVD), and a Blu-Ray™ disc; a flash drive memory; and/or any other non-transitory memory technologies. A plurality of such storage devices may be provided, as can be appreciated by those skilled in the art. The computer readable memory may be associated with, coupled to, or included in a processor configured to execute instructions contained in a computer program stored in the computer readable memory and relating to various functions associated with the processor.
In some implementations, the HCMC system 400 may include a user interface and a display interface (not shown) operatively coupled to the digital computer 408 and from which aspects or features of the present techniques may be accessed and controlled. The user interface and the display interface may allow the input of commands and queries to the HCMC system 400, as well as present the outcomes of the commands and queries.
Returning to
In
It is appreciated that in some embodiments, the HCMC method 300 may include, prior to performing the first iterative cycle, a step of initializing the reaction site array in the initial array configuration. In such a case, the initial array configuration for the first iterative cycle may be random, predetermined, or a combination thereof. In the HCMC system of
Depending on the physicochemical property used, the readout step 308 may be carried out using a variety of readout techniques including, but not limited to, an optical readout scheme, an electrical readout scheme, an electrochemical readout scheme, and any combination thereof. As in the PMC approach, the readout step 308 may include a step of processing or analyzing the physicochemical measurements in order to map them to the possible site states. In the HCMC system 400 of
Returning to
It is appreciated that in an iterative process such as the one used in the HCMC method 300 of
If, at a given iterative cycle, the end condition has been met, the method 300 of
If, at a given iterative cycle, the end condition has not been met, the HCMC method 300 of
As noted above, in contrast to the PMC approach, the reaction sites 404 in the HCMC approach generally do not have intra-site couplings and inter-site couplings directly or physically enforced thereon and encoding the problem parameters of the problem Hamiltonian representing the computational problem to be solved. Rather, the HCMC approach accounts for the constraints imposed by the problem parameters by performing calculations on the digital computer 408. The set of read-out site states obtained at the current iterative cycle may be fed to the digital computer 408. The digital computer 408 may be configured to perform calculations on the problem Hamiltonian to determine, based on the read-out site states and the problem parameters, state perturbations to be applied to a number of the reaction sites 404 to promote site changes therein. The state perturbations may represent stepwise instructions or directives, for example, in the form of energy gradients, to be imparted to the reaction sites 404 to favor or induce changes in their site states in an attempt to gradually bring the reaction site array 402 to a configuration that provides an acceptable solution to the computational problem. In some embodiments, a state perturbation may be characterized by a magnitude and a direction. In general, state perturbations are to be applied only to a subset of the reaction sites, the subset generally being different for different iterative cycles depending on the current configuration of the reaction site array 402. In some embodiments, the number of reaction sites to which state perturbations are applied may generally gradually decrease from one iterative cycle to the next. In particular, a finding that there are no more sites to perturb may be indicative of the reaction site array 402 having reached a local, and possibly global, minimum. Once this is the case, the one or more iterative cycles may be terminated.
In some embodiments, the step 314 of determining the state perturbations can include performing a computational optimization operation. It is appreciated that a variety of computational optimization techniques algorithms may be used to compute the state perturbations from the read-out site states and the problem Hamiltonian, including, but not limited to: algorithms with a fixed number of steps; iterative methods that converge to a solution; heuristics that give approximate solutions (not necessarily converging to a global optimum). Non-limiting examples include, to name a few, simulated annealing; stochastic gradient descent; the simplex algorithm; basin-hopping; local search; evolutionary algorithms, including genetic algorithms; and the Hopfield network. It is appreciated that the theory and applications of computational optimization techniques are generally known in the art, and need not be described in detail herein other than to facilitate an understanding of the present techniques. In particular, it is appreciated that those skilled in the art can, based on the teachings of the present disclosure, select or devise an appropriate computational optimization technique to compute state perturbations in accordance with the present techniques. It is noted that an in silico model of an HCMC system that uses a stochastic gradient descent approach is described below in the section entitled “In silico model of an HCMC system”.
As noted above, in the case of the PMC approach, each reaction site may be coupled only to those reaction sites with which it can physically interact, so that some embodiments in the PMC approach may be limited to two-body nearest-neighbor interactions. These limitations related to sparse connectivity and reduced locality may restrict the types of problem Hamiltonians that can be encoded into the reaction site array, and thus the types of computational problems that can be solved, although techniques exist to overcome or go around these limitations, as described above. In contrast, because the HCMC approach enforces problem parameters digitally rather than physically, by using a digital computer 408 instead of enforcing intra-site and inter-site couplings on the reaction sites 404, the HCMC approach may provide full and unlimited connectivity between the reaction sites 404. In particular, the computation by the digital computer 408 of the state perturbations to be applied to the reaction sites need not consider the actual spatial arrangement of the reaction sites 404 in the array 402, so that the problem parameters of the problem Hamiltonian can include k-local and/or non-nearest-neighbor interactions.
Referring to both
Once the state perturbations have been applied to the relevant reaction sites 404 by the site-manipulation device 412, each iterative cycle further includes a step 318 of allowing the array 402 to evolve, from the initial array configuration and responsive to the applied state perturbations, to a final array configuration in which each reaction site 404 is in one of its at least two possible site states. It is appreciated that in the HCMC approach, the reaction sites 404 are generally not connected to one another, such that each reaction site 404 having a state perturbation applied thereto will evolve under the state perturbation independently of the evolution of the other such reaction sites 404. However, in other embodiments, there may exist some degree of coupling between the reaction sites 404 (e.g., by enforcing intra-site and/or inter-site couplings as in the PMC approach). In such embodiments, the final array configuration will depend not only on the state perturbations applied to the reaction sites 404, but also on the couplings between the reaction sites 404. It is also appreciated that the HCMC system 400 does not know beforehand the final array configuration it will end up in as a result of the applied state perturbations. Rather, the digital computer 408 merely imposes, via the site-manipulation devices, the state perturbations to a subset of reaction sites 404 to promote or favor changes in the site states of these reaction sites 404. As noted above, depending on the nature and complexity of the computational problem, the problem Hamiltonian may have a single ground state corresponding to a single optimal final array configuration, a plurality of degenerate ground states corresponding to a plurality of optimal final array configurations, or one or more local minima that the PMC system identifies as “sufficiently good” solutions. The amount of time taken by the HCMC system 400 to evolve, at each iterative cycle, from an initial to a final array configuration may vary depending on the application.
Once the final array configuration has been reached, each iterative cycle of the HCMC method 300 includes a step 320 of setting the final array configuration as the initial array configuration for the next iterative cycle. This means that the final array configuration obtained at the ith iterative cycle will be read out (step 308) as the initial array configuration of the (i+1)th iterative cycle to determine a new candidate solution (step 310) and to assess whether the end condition has been met (step 312). If it is assessed that the one or more iterative cycles may be terminated without performing steps 314, 316, 318, and 320 for the (i+1)th iterative cycle.
Once the one or more iterative cycles have been terminated, the HCMC method 300 of
It is appreciated that performing one instance of the one or more iteration cycles (i.e., one instance of step 306 in the embodiment of
In accordance with another aspect, there is provided a non-transitory computer readable storage medium having stored thereon computer readable instructions that, when executed by a processor, cause the processor to perform a method for solving a computational problem using an array of reaction sites. The computational problem is represented as a problem Hamiltonian expressed in terms of a set of problem variables and a set of problem parameters. The array of reaction sites has a physicochemical property that maps to at least two possible site states, and each reaction site represents one of the problem variables. The method may include a step of performing, by the processor, one or more iterative cycles toward a solution to the computational problem. Each iterative step may include steps of receiving the site states of the reaction sites read out in an initial array configuration, determining a candidate solution to the computational problem from the initial array configuration by inputting the read-out site states for the problem variables in the problem Hamiltonian, and determining whether an end condition has been met. If the end condition has been met, the method may include terminating the one or more iterative cycles. If the end condition has not been met, each iterative cycle may include steps of determining, based on the problem parameters, state perturbations to be applied to a number of the reaction sites to promote state changes therein, controlling a site-manipulation device to apply the state perturbations, allowing the array to evolve, from the initial array configuration and responsive to the applied state perturbations, to a final array configuration in which each reaction site is in one of the at least two possible site states, the final array configuration; and setting the final array configuration as the initial array configuration for the next iterative cycle. Once the one or more iterative cycles have been terminated, the method may include a step of determining, by the processor, the solution to the computational problem from at least one of the one or more candidate solutions. It is appreciated that the method performed by the processor may include various steps, aspects, and features of the HCMC method described herein.
In accordance with another aspect, there is provided a digital computer including a processor; and a non-transitory computer readable storage medium operatively coupled to the processor and having stored thereon computer readable instructions that, when executed by a processor, cause the processor to perform various steps of the HCMC method described herein.
The following description reports work conducted to study and investigate various aspects of the present techniques. It is appreciated that the problem solving techniques described herein may have a number of optional features, variations, and applications. In particular, the following description is provided to further illustrate some aspects of the disclosed techniques, but should not be construed as in any way limiting their scope. Some of these aspects were reporting in the following article, the entire contents of which are incorporated herein by reference: S. Y. Guo, P. Friederich, Y. Cao, T. Wu, C. Forman, D. Mendoza, M. Degroote, A. Cavell, V. Krasecki, R. Hickman, A. Sharma, L. Cronin, N. Gianneschi, R. Goldsmith, and A. Aspuru-Guzik, “A Molecular Computing Approach to Solving Optimization Problems via Programmable Microdroplet Arrays”, ChemRxiv: 10,250,897, (2019).
An example of how to map a computational problem to an Ising Hamiltonian is presented. A k-SAT Boolean formula of N variables consists of M clauses of k literals each. An example of a 3-variable 2-SAT in conjunctive normal form (CNF) is:
(x or y) and (y and not z). (5)
To convert this expression into an Ising Hamiltonian, each Boolean variable may be represented as a spin, si∈{−1, +1}, i=1, . . . , N. First, a clause matrix may be defined as:
Each clause indicator may be written as:
The overall Hamiltonian becomes:
When the CNF is satisfied, Hk-SAT=0. For Hk-SAT>0, the value of Hk-SAT gives the number of violated causes. To use binary variables xi∈{0, 1} instead of spin variables, the following transformation may be used:
To illustrate how the molecular computing approach disclosed herein may work, the following satisfiability problem of five clauses, each with two variables (2-SAT), is considered. Although the 2-SAT problem is in P and not NP, it provides a convenient illustration how a molecular computing system may operate. In CNF representation:
(s1 or s2) and (s2 or not s3) and (s3 or s4) and (not s4 or s1) and (not s2 or not s4) or (s1∨s2)∧(s2∨!s3)∧(s3∨s4)∧(!s4∨s1)∧(!s2∨!s4). (10)
These arrays are entered into the control algorithm of a computer software. To run a calculation, each droplet state is first randomly initialized (
An example is given of how a Boolean satisfiability problem can be mapped to an HCMC and a PMC implemented on two different lattices. For the purposes of more easily illustrating the relationships between the variables, a 2-SAT problem (9 variables, 17 clauses) is used. The CNF representation is:
(1∨4)∧(!2∨5)∧(!3∨!9)∧(!2∨4)∧(!3∨5)∧(6∨9)∧(!3∨7)∧(!4∨8)∧(2∨9)∧(7∨!8)∧(!2∨!6)∧(1∨6)∧(!4∨5)∧(2∨5)∧,(!4∨9)∧(3∨4)∧(!2∨3) (15)
which can be represented as an Ising Hamiltonian with the bias, one-body, and two-body term coefficients as follows:
In
The HCMC approach disclosed herein may be implemented using an array of microdroplets containing various chemical compounds. Droplet manipulation may be achieved with electrostatic fields and electrochemical transformations induced by electrodes or by optical stimulation induced by light sources. Changes in droplet states may be measured and detected optically, which may allow for a convenient readout of the states. For simplicity, an abstract nomenclature of states 0 and 1 is used in for the present example. Droplets are assumed to fluctuate within this range of states as a result of external stimuli controlled by a classical computer. The value associated with each droplet may be thought of as the droplet's progress along an arbitrary reaction coordinate. To explore the capabilities and potential application areas of the HCMC approach, an in silico model of an HCMC system was implemented. The in silico model included two parts: a set of readable and writable states that represents an array of droplets in the HCMC system; and a computer algorithm configured to receive a problem Hamiltonian encoding a computational problem to be solved and to use the problem Hamiltonian to calculate and apply stepwise changes to the set of states toward a solution to the computational problem.
The in silico model of an HCMC system was applied to the following three example applications: a Boolean satisfiability problem, a lattice protein folding problem, and a traveling salesperson problem. These examples are described below. Solving these computational problems in the HCMC approach disclosed herein involved the following steps: mapping the computational problem to an Ising Hamiltonian; initializing the droplets in random states; encoding the bias parameters and the interaction parameters of the Ising Hamiltonian in the intra-droplet and inter-droplet couplings; using an optimization method to find a local optimum, from which a solution to the computation problem may be read out and checked on validity. Repeating these steps for a number of cycles may allow for the determination of whether the computational problem has a solution that fulfills all conditions (e.g., in the case of a Boolean satisfiability problem) or that identifies low-energy conformations of a protein (e.g., in the case of a lattice protein folding problem).
In the studied in silico HCMC model, a simulated annealing process was used as an optimization method. The simulated annealing process was modeled using a stochastic gradient descent approach. As described below, computational problems, including Boolean satisfiability, lattice protein folding, and travelling salesperson problems, may be expressed as Ising Hamiltonians represented in the form of tensors h(0), h(1), . . . , h(n). In this representation, the term h(0) is an offset to the global energy that does not influence the states of the system, the term h(1) is a vector of bias terms representing intra-droplet couplings, the term h(2) is a matrix of two-body interaction terms representing two-droplet couplings, the term h(3) is a rank-3 tensor of three-body interaction terms representing three-droplet couplings, and so on. For example, the 3-SAT problem and the lattice protein folding problem described below may be converted to an Ising Hamiltonian with up to three-body and four-body interaction terms, respectively. As discussed above, the HCMC approach disclosed herein can handle interactions of any order, with n droplets for n-body terms, though it is possible to convert higher-order interactions, such as three-body and four-body interactions, into two-body interactions by introducing ancillary states in the system.
To simulate the annealing process of a droplet array, an iterative procedure was used. Each iteration involved reading out the states of the system; calculating the gradients acting on the states in terms of bias potentials (i.e., h(1)) and many-body interactions (i.e., h(2) to h(n)); applying changes to a number of the states with a finite step size. The procedure was carried out in two modes: ensemble annealing mode and trajectory mode. The ensemble annealing mode involved running many short annealing simulations from random initial states, and analyzing the statistics of the final states in search for the global optimum. The trajectory mode involved running one annealing simulation over a large number of steps but adding a certain level of noise on the gradients for the purpose of attempting to overcome energy barriers between local optima. For example, in some applications, the HCMC approach disclosed herein could potentially benefit from accelerated sampling methods (e.g., developed for droplet dynamics simulations, such as, to name a few, basin-hopping, metadynamics, and umbrella sampling) to overcome kinetic trapping.
Example 1: Boolean satisfiability. The Boolean satisfiability problem is a problem of determining whether there exists a set of Boolean variables that satisfies a given Boolean formula. The Boolean satisfiability problem is NP-complete. Solving Boolean satisfiability problems such as 3-SAT problems using the HCMC approach disclosed herein may involve converting the problem from its CNF representation to an Ising model (see above). In the case of 3-SAT problems, the Ising model will contain up to three-body coupling terms. The satisfiability of random 3-SAT problems with N variables and M unique clauses of k=3 clauses was tested. The results are shown in
Example 2: Lattice protein folding. A computational model of the HCMC was tested on the two-dimensional lattice protein model. The proteins in this model consist of a sequence of amino acids that can fold on a two-dimensional square lattice. The protein conformation is represented as a sequence of turns, where each turn is encoded by two bits (00: downward; 01: rightward; 10: leftward; 11: upward).
The energy of each conformation includes two terms: clashes of two amino acids are penalized with positive terms of size λ, whereas attracting interactions between specific amino acids (i and j, |i−j|>1) are rewarded with negative energy terms εij in case amino acids i and j are direct, nondiagonal neighbors (native contact). An Ising Hamiltonian with up to four-body interactions may be constructed that encodes both types of interactions. This involves ancillary bits that activate and deactivate depending on the state of the bits that encode the physical conformation of the protein. The overlap parameter λ may be chosen in a way that the energy spectrum of the protein model, and thus of the Ising Hamiltonian, has negative or zero energies for all conformations without clash and positive energies for all other conformers. The global ground state of the Hamiltonian yields the protein conformation in which the highest possible number of native bonds are formed. Non-clashing conformers with fewer or less strong native bonds are local optima with energies smaller than zero, whereas non-clashing conformers without any native bond formed have zero energy, corresponding to unfolded conformations.
As described above, the HCMC approach disclosed herein may be used to solve Ising models with four-body interactions. In the present example, the four-body Ising model was converted to a two-body Ising model, which involved the introduction of additional bits, also referred to as reduction bits. The results of annealing simulations of a lattice protein model with six amino acids are shown in
In order to investigate whether a (stochastic) gradient descent model is able to escape local minima, the energy landscape between local minima using constrained optimizations at states between the optima was studied, as depicted in
Example 3: Traveling salesperson problem. The present techniques may be used to solve the traveling salesperson problem, which is an NP-hard problem in computational optimization that involves finding the shortest route that visits a set specified locations (e.g., cities) exactly once, starting and ending at the same location. The traveling salesperson problem is an important combinatorial optimization problem in many applications including, to name a few, planning, scheduling, and logistics. For example, Table II lists the distances between all possible pairs of the following cities: Toronto, ON; Glasgow, UK; Evanston, Ill.; and Madison, Wis.
The traveling salesperson problem may be expressed as a quadratic problem Hamiltonian as follows:
where the first term represents a penalty for visiting a city twice, the second term represents a penalty for visiting two cities in one stop, and the third term accounts for the distances between the cities. In the present example, N=4, corresponding to four cities, and xu,j is equal to 16, where xu,j=1 if city u is visited at stop j and 0 otherwise, with u=1 for Toronto, u=2 for Glasgow, u=3 for Evanston, and u=4 for Madison. The inter-city distance matrix Wuv is given by:
Solving the problem with an array of 16 droplets leads to the following solution:
which corresponds to the route Glasgow→Toronto→Evanston→Madison, which has a total distance of 6,161.4 km.
Various aspects of a physical implementation of the HCMC approach were tested in a study. It will be appreciated from the overall description of this study that the HCMC systems and methods described herein may have a number of optional features, variations, and applications. In particular, the following description of experimentation and results is provided to further illustrate some aspects of the disclosed principles, but should not be construed as in any way limiting their scope.
Property mapping to droplet states. The studied implementation of an HCMC system used the redox reaction illustrated below between hydroquinone (HQ; reduced) to benzoquinone (BQ; oxidized) as a chemical reaction that displays binary states that are readily resolvable and measured by optical or electrochemical readout.
The oxidation of HQ to BQ at an electrode in solution produces H+, thus lowering the pH at the electrode. The corresponding reduction reaction of BQ to HQ consumes H+, thus raising the pH at the electrode. This reaction provides access to two states—a high-pH state and a low-pH state—and the ability to switch reversibly between them using electrochemical control. In the studied implementation, the redox reaction was carried in the presence of a small amount of phosphate buffer at pH 7 to provide a neutral starting point. From this neutral starting point, the oxidation or the reduction reaction may be used to set each droplet into a specified initial state at the beginning of computation.
State readout implementations. The disclosed HCMC implementation used a fluorescence microscopy-based optical readout method with pH-sensitive fluorescent probes to read out droplet states. The pH-sensitive fluorophore SNARF™-1 was tested but various other types of fluorescent pH indicators may be used in other applications. By irradiating the droplet array with excitation light (e.g., laser light) and detecting fluorescence from the pH-sensitive probes in response to the excitation light, a fluorescence image of the droplet array can be obtained in which droplet states can be determined from the emitted fluorescence intensity of the different pH-sensitive probes. The fluorescence microscope that was used in the study is depicted schematically in
By scanning the voltage at an electrode back and forth as a function of time, it was possible to change the pH of the corresponding droplet in accordance with the alternating oxidation and reduction cycles driven by the applied voltage, and to monitor these pH changes as time variations in the intensity of the fluorescence signal received from the electrode.
Electrode control implementations. A multiplexed potentiostat from IO Rodeo was used to provide independent control over seven working electrodes in an array (along with multiple counter electrodes sharing a common control). It is appreciated that a combination of multichannel potentiostats with multiplexing could be used to control significantly larger droplet arrays than those considered in the present study.
Software implementations. A custom code written in Python was used that, when executed by the processor, cause the processor to perform steps of selecting a problem Hamiltonian for solving a computational problem of interest; computing initial states for each droplet; and controlling voltages to be applied to each electrode in order to change the pH at the electrode until the computed initial droplet state is achieved, that is, until fluorescence measurements produced intensity ratios that match the computed initial state. The code is also configured to receive the measured states and feeds them into the next step of the calculation; determine the direction that the pH of each droplet/electrode should go; and apply new voltages as state perturbations to promote these pH changes. The code is configured to repeat these steps—readout of droplet states, determination of state perturbation from read-out droplet states, application of voltages to enforce the state perturbations on the droplet states—in a loop until the system converges to a solution to the problem. In some cases, finding the solution to a given problem, or finding all of the solutions if the problem has multiple solutions, may involve performing multiple runs of the loop.
Operation of the HCMC and results. In one experiment, samples were prepared as solutions of 30% poloxamer 407 in water with 25 mM BQ/HQ, 10 mM phosphate buffer at pH 7, and 25 μM SNARF-1 pH indicator. In order to remain fluid, the solution were kept at a temperature below 20° C., which is less than the sol-gel transition temperature of poloxamer 407. The droplets were disposed in an array using a droplet robot. Continuous gels were pipetted onto the array and flattened with a top coverslip to make imaging easier.
During computations, fluorescence images of the array were acquired at an image acquisition rate of about 1 kHz. Each fluorescence image was analyzed to determine the fluorescence ratio at each droplet, the fluorescence ratio being indicative of the pH of the droplet. The fluorescence ratios were normalized and scaled to a range [−1, 1] to provide measured states for use in the next calculation step.
Mapping the final droplets states to a range [−1, 1] provided the following solution to the computational problem encoded in the problem Hamiltonian of Eq. (23): [+1 −1 +1 +1]. Referring to
A simple, idealized model for a PMC system based on polymerization reactions was studied. In the model, the state of a droplet is given by its average molecular weight (MW). Without loss of generality, a droplet with a low average MW (or high monomer concentration) is in state 0, and one with a high average MW (or low monomer concentration) is in state 1. The ability to drive and reverse polymerization of monomers is assumed to be achieved via an initiator and a depolymerizer, respectively.
The model consists of the following reagents: monomer (M), polymer (P) consisting of a chain of monomers, initiator (I), and depolymerizer (D). The concentrations in droplets i are given by cMi, cPi, cIi, and cDi. Assuming all stoichiometric ratios are equal to one, the two reactions can be written as:
The resulting rate equations can be written as:
Given the following Ising Hamiltonian, the ground state of the system can be reached by iterating over the following three steps.
Determination of the initiator (I) and depolymerizer (D) concentrations. The local field (one-body terms h, in the Ising Hamiltonian) at each droplet 206 corresponds to a constant on-site presence of initiator (I) and depolymerizer (D). In droplet i, the choice between I or D is given by the sign of hi, and the concentration of either I or D is given by the magnitude of hi, yielding:
The two-body terms Jij in the Ising Hamiltonian correspond to inter-droplet couplings. In
The concentrations of I and D in droplet i depend on the strength of Jij and the concentration of M and P in neighboring droplet j, yielding:
It was found that the exact form of the response function, whether linear or nonlinear, generally does not change the ability of the simulation to reach a solution, as long as that the response function increases monotonically with concentration.
Update of the monomer (M) and polymer (P) concentrations. In each droplet 206, the M and P concentrations evolve following the kinetics of the chemical system. The rate laws can be written as:
The state of droplet i is obtained from the normalized concentrations of M and P, as follows:
0<cP<0.5→State 0, (39)
0.5<cP<1→State 1. (40)
Resetting of the initiator (I) and depolymerizer (D) concentrations. Assuming that I and D are completely used up during the reaction (e.g. as in a RAFT agent): cIi=0 and cDi=0. By iterating steps 1 to 3, the potential energy surface is sampled, and the lowest-energy states can be located, corresponding to the most-probable states visited. For example, given the three-droplet 2-SAT problem: (s1 or s2) and (s2 or not s3), the corresponding Ising Hamiltonian to minimize is as follows:
A factor to consider when a solving computational problem with an array of reaction sites (e.g., droplets) is how the number of reaction sites in the array scales with the number of problem variables in the problem Hamiltonian used to represent the computation problem. It is appreciated that compared to quantum annealers based on Josephson junctions operated at near absolute zero temperature, the cost of adding droplets to a molecular computer is generally negligible relative to the overall cost of the system. Furthermore, the parallelization of chemical reactions across all droplets may give molecular computers an advantage over numerical gradient evaluations in a classical computers.
In the HCMC approach, Boolean satisfiability for k variables per clause (k-SAT) scales linearly with the problem size, as O(n), where n is the number of problem variables. This is because, in this case, each problem variable corresponds to one droplet, and all droplets are connected to each other via control hardware. For three or more clauses, k≥3, the computational problem is NP-complete. In the PMC approach, reducing a 3-SAT problem to a two-local Ising Hamiltonian involves the use of (n−1)2/4 ancilla droplets. For the traveling salesperson problem involving n points or nodes, n2 droplets are needed to label the sequence of points visited, thus the number of droplets scales as O(n2). Since the Ising Hamiltonian for the traveling salesperson problem includes only quadratic terms (two-local), it can be implemented in the PMC approach without locality reduction. For the lattice protein folding problem, in order to find the minimum-energy two-dimensional structure for a string of n amino acids, the four-local Hamiltonian encodes interaction energies between neighboring amino acids and self-avoidance, and the number of droplets scales as n2 log(n). Furthermore, it has been shown that embedding QUBO problems on a sparsely graph scales linearly with the number of problem variables.
The time to solution (TTS) is a figure of merit (or performance metric) which considers the average time for one run and the average number of runs required to solve a problem. The TTS depends on the technology and performance of the computer/device and typically scales with the size of the problem (e.g., the number of problem variables).
As the number of droplets increases with the number of problem variables, so does generally the expectation that errors may accumulate as a result of noise, control, and readout. In order to reduce or help reduce such scalability-related issues, error correction schemes may be implemented. In some embodiments, classical bit repetition schemes may be used. In other embodiments, quantum annealing correction schemes may be adapted for use with the present techniques. On such scheme is the nested quantum annealing correction (NQAC) scheme, which involves making C copies of each bit and increasing the couplings by C2. In the NQAC scheme, once calculation has been performed and the bits have been read, a majority vote is taken over the C copies of each bit to determine to its final state. It is appreciated that other types of error correction schemes may be used in other embodiments It is also appreciated that while error correction schemes may ensure or help ensure a higher probability of reaching a ground state solution, they also lead to an increase in the number of bits, or droplets, in the molecular computer.
Numerous modifications could be made to the embodiments described above without departing from the scope of the appended claims. In particular, while several embodiments have been shown and described, modifications and substitutions may be made thereto without departing from the scope of the present disclosure. Accordingly, it is to be understood that the present techniques have been described by way of illustrations and not limitation. Embodiments herein can be used independently or can be combined, unless stated otherwise.
The present application claims priority to U.S. Provisional Patent Application No. 62/926,971 filed on Oct. 28, 2019, the disclosure of which is incorporated herein by reference in its entirety.
This invention was made with government support under DARPA contract number W911NF-18-2-0036 awarded by the DARPA. The U.S. Government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CA2020/051446 | 10/28/2020 | WO |
Number | Date | Country | |
---|---|---|---|
62926971 | Oct 2019 | US |