Hardware solver architecture
By employing a fully analog optical and analog electronic solver architecture and utilizing spatial multiplexing technology to compute variable interactions in parallel, the speed and power consumption limitations of combinatorial optimization problems in existing technologies are overcome, enabling more efficient large-scale problem solving.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-28
- Publication Date
- 2026-03-20
AI Technical Summary
Existing digital hardware is limited by execution speed and power consumption when solving combinatorial optimization problems. The sparse connectivity of quantum annealers leads to low efficiency. The time complexity of existing all-optical solvers is linearly related to the number of variables. Hybrid solvers are limited by the speed of digital hardware and cannot effectively solve large-scale combinatorial optimization problems.
It adopts a fully analog optical and/or analog electronic solver architecture, utilizes spatial multiplexing technology to divide variables into multiple parallel channels, and realizes vector matrix multiplication by calculating the interaction between variables in parallel through optical or analog electronic hardware, and uses only optical and analog electronic components for signal processing.
It achieves faster computation speed in large-scale combinatorial optimization problems, avoids the power consumption and speed limitations of digital hardware, can effectively solve problems with a larger number of variables, and provides efficient solutions for approximate solutions.
Smart Images

Figure CN116982052B_ABST
Abstract
Description
BACKGROUND
[0001] Many problems in logistics, financial portfolio management, drug discovery, and other application areas require assigning values to their inputs (often called variables) with the goal of optimizing an objective. For example, such problems include "combinatorial optimization problems." Unlike other optimization areas, combinatorial optimization involves problems where variables take values from finite sets. For example, an assignment can be binary (e.g., whether to invest) from a finite set (e.g., choosing one of three available routes), or generally from a finite subset of integers. In such problems, there is a finite set of ways to combine the values of each variable. In principle, one can enumerate all possible combinations and find the optimal assignment. However, in practice, such an exhaustive search is infeasible for even moderately sized problems because the set of combinations is very large (the number of variables grows exponentially).
[0002] A great deal of work has been done to understand the structure of such problems. A subset of combinatorial optimization problems belongs to a class of problems known as NP-Complete (where NP stands for Non-Deterministic Polynomial). NP-Complete is a known concept in computational complexity theory, and all NP-Complete problems can be transformed into any other NP-Complete problem. An efficient solver for any NP-Complete problem implies that any NP-Complete problem can be solved efficiently. All NP-Complete problems also belong to a larger subset of these problems known as "NP-Hard," where all NP-Hard problems can also be transformed into all other NP-Hard problems.
[0003] In this context, the term "efficient" means finding a solution to the problem without enumerating all possibilities. Specifically, an efficient solution to the graph optimization described herein is one where the amount of time taken to find a solution scales polynomially with the number of variables (such as graph vertices) of the problem, as opposed to exponentially with the number of variables of the problem, as would be the case if all possible solutions were enumerated. However, it is generally believed that such an efficient solver does not exist. Instead, the focus of work in this area is on designing algorithms to find "good enough" solutions; often, there is no guarantee that such approximation algorithms will indeed provide answers that are close enough to the exact solution.
[0004] There are a large number of combinatorial optimization problems, and as described above, NP-Complete problems can be transformed into other NP-Complete problems. For example, the Traveling Salesman Problem is defined as follows: given a set of cities and a pair-wise distance between the cities, the problem is to find a path that visits each city exactly once such that the path has the shortest total length.
[0005] The general form of a combinatorial optimization problem can be defined as a so-called quadratic unconstrained binary optimization (QUBO) problem, which is defined by a set of binary variables V = {vi, v2,... v N} (each variable taking a value of 0 or 1) and the formula ∑ i ∑ j Q ij ·v i ·v j defining the interaction between variables v ij defining the interaction between variables v i and v j}. By defining the variables as positions in a path between each possible visited city (e.g. the first variable can indicate whether London is the first visited city), and the distances between cities are encoded in the matrix Q, such that the total distance is minimized under the constraint that all cities are visited exactly once, the traveling salesman problem can be formulated as a QUBO problem. A QUBO is a type of polynomial unconstrained binary optimization (PUBO) problem that assigns values to a set of binary variables V = {vi, v2,..., v N} such that the formula is minimized, where in this case the coefficients Q can encode the interaction between any number of variables. As mentioned above, transformations can be made between different formulations of NP-hard problems. By introducing auxiliary variables and terms in the formula, a PUBO problem can be transformed into a QUBO problem.
[0006] The formulation known as the Ising model (used in physics to model ferromagnetism and other physical processes) is equivalent to the QUBO problem defined above. The Ising model describes a physical system in which its variables can exist in two discrete states, where these variables can interact with each other, and the total energy of the system is given by the formula: H(σ) = -∑ i,j J ij σ i σ j - μ∑ i h i σ i . In the Ising formulation, binary variables (sometimes referred to as "spins") are typically assigned to one of +1 / -1, rather than 1 / 0 or any other binary assignment. However, the Ising formulation can be easily mapped to the QUBO formulation of Boolean variables by applying the formula: σ i = 2v i - 1.
[0007] Note that the notation used above is slightly different between QUBO and Ising formulations, for Ising models, the variables to be assigned are denoted by σ, while the interaction coefficients are denoted by J. For simplicity, in the present application, the notation σ will be used for variables for which values are assigned, while J will be used to denote the interaction coefficient array in the context of an Ising solver. However, Q and v can also generally denote the weight matrix and variables, respectively, in this document.
[0008] The second term in the above expression for the total energy, -μ∑ i h i σ i represents the influence of an external "field" or some external influence on the system being modeled. For example, in a ferromagnetic material, the first term represents the energy contribution of the interaction between magnetic dipoles, while the second term represents the energy of the system due to an external magnetic field. Many problems are modeled as Ising problems without an external field, as it is much simpler to solve Ising problems without an external field. However, problems with an external field can be converted to problems without an external field by introducing additional spins and an additional edge with carefully chosen weights. Any problem or model referred to as an Ising problem in the following description assumes no external field, or the problem has been converted to a problem without an external field.
[0009] Until recently, combinatorial optimization algorithms were typically implemented in digital hardware, such as commercial CPUs, FPGAs, GPUs, and ASICs. Digital hardware has a huge advantage in terms of flexibility (i.e., the ability to program different algorithms) and reliability. However, digital solutions are also limited in terms of execution speed and power consumption. In the past, for each generation of digital hardware, there was an increase in computing power and a decrease in power consumption. It is generally predicted that it will become increasingly difficult to improve the performance of digital hardware as we approach the fundamental physical limits. Finding better solutions to combinatorial optimization problems or solving larger instances of these problems will require higher hardware costs.
[0010] However, recently, there have been attempts to solve such problems using hardware based on non-digital physical processes. One popular way to implement Ising models with physical processes is to use a quantum annealer. In existing systems, problem variables are represented by qubits, which take on values of +1 and -1, often referred to as "spins." However, this topology does not allow for full connectivity. Instead, the qubits are interconnected in an architecture consisting of multiple groups of connected unit cells, each unit cell having four horizontal qubits connected to four vertical qubits via couplers. The unit cells are tiled vertically and horizontally and connected to adjacent qubits, forming a lattice of sparsely connected qubits. The limited connectivity of this architecture has a detrimental effect, resulting in an inefficient mapping of problem variables to the spins represented, i.e., the number of qubits required by the physical system to represent the problem is much higher than the original number of variables.
[0011] Due to the physical limitations inherent in quantum annealer hardware, algorithms have been developed that can run in classical hardware, inspired by quantum physics properties. For example, Microsoft Azure has developed a Quantum Inspired Optimization (QIO) algorithm that shows promising results in approximating PUBO problems.
[0012] In optical solvers, optical signals are used to represent input variables (e.g., the s i=1...N ) in the Ising problem, and optical elements are used to combine the signals in a way that models the interactions between the variables (e.g., the matrix J in the Ising problem). Optical elements that perform vector-by-vector multiplication in the optical domain (e.g., liquid crystal displays or ring resonators) are known in the art. Summation (Σ) can be implemented using photodetectors, which can add signals coherently or incoherently falling on the photodetector light sensing elements.
[0013] If the inputs to a solver (i.e., the variables whose values are to be determined) can take binary positive and negative values (such as -1 and +1, or -1 / 2 and +1 / 2), these are sometimes referred to as “spins” simply by analogy to quantum properties of spins. However, in such a context, this does not actually mean quantum properties of spins. Rather, the two possible “spin” values simply refer to the two possible values of a binary variable, and can be represented using, for example, two different values of the amplitude or phase of light.
[0014] The most advanced solutions based on or inspired by optics only propose numerical methods (see Toshiba Ikuko Hasumi Solving Traveling Salesman Problem with SBM [Simulated Bifurcation Machine], https: / / medium.com / toshiba-sbm / solving-traveling-salesman-problem-with-sbm-simulated-bifurcation-machine-89740c83ed37) or hybrid methods, following Fabian, Guy Verschaffelt, and Guy Van der Sande, “A poorman’s coherent Ising machine based on opto-electronic feedback systems for solving optimization problems,” Nature Communications 10.1 (2019): 1-9 (https: / / www.nature.com / articles / s41467-019-11484-3) and Inagaki, Takahiro, et al., “A coherent Ising machine for 2000-node optimization problems,” Science 354.6312 (2016): 603-606 (https: / / science.sciencemag.org / content / 354 / 6312 / 603).
[0015] In hybrid approaches, the building blocks that generate the signals representing the variable values are typically implemented in optical hardware, but the logic that computes the variable interactions is implemented using digital hardware and hardware that converts between the optical domain and the digital domain. In contrast, in “fully-analog” solvers, non-digital hardware is used to convert signals between the optical (i.e., optical signals) and analog electronic domains. The advantage of fully-analog solvers is the transmission speed of optical and analog electronic devices (digital electronic signals are inherently much slower due to the need to clock bit sequences through flip-flops). The part of the iteration that is implemented in the digital domain defeats the point of the fully-analog solver, i.e., the transmission speed compared to digital electronic devices. The speed of the system will be limited by the slowest part, so including any digital electronic devices negates the advantage of the optical solver.
[0016] A fully optical solution has been proposed and demonstrated with full pairwise connections of 4 spins / variables and partial connections of 16 spins / variables. (Marandi, A., Wang, Z., Takata, K., Byer, R. L., and Yamamoto, Y. "Network of time-multiplexed optical parametric oscillators as a coherent Ising machine." Nature Photonics 8, 937-942 (2014). A 16-bit Coherent Ising Machine for One-Dimensional Ring and Cubic Graph Problems. Science Reports, 2016. A 16-bit Coherent Ising Machine for One-Dimensional Ring and Cubic Graph Problems (europepmc.org).
[0017] The most advanced all-optical solvers generate variables using optical signals in a time-multiplexed architecture. That is, the signals are serially multiplexed into the same beam and a different delay path is introduced for each variable so that the signals can be combined in order to model the interactions between the variables. However, for time-multiplexing, since spin generation is performed serially, the time complexity of the solver is linear with the number of variables being modeled. Figure 5A A schematic block diagram of a time-multiplexed architecture is shown. For the time-multiplexed architecture, each "spin" is generated serially and delayed by a different path length in order to enable interactions between them. This means that a single iteration must wait for all spins to be generated before the interactions between the spins can be computed and the feedback passed to the spin generation.
[0018] Solvers implemented entirely in the analog domain use optical or analog electronic vector multipliers to model the "spin" interactions of an Ising system. Implementing optical vector multipliers has the advantage noted above, that it leverages the speed of light transmission. SUMMARY
[0019] The present disclosure relates to a solver architecture implemented in an all-analog system (in the optical domain, the analog electronic domain, or a combination) configured to determine an approximate solution to a problem comprising vector matrix multiplication, such as an Ising problem.
[0020] As mentioned above, existing all-optical solvers use time-division multiplexing to generate signals representing different variables of the problem (i.e. “spin signals”) in series, and then use delay lines of different path lengths to combine them to model the interactions between variables (see for example Figure 5A ). This means that the time complexity is linear in the number of variables to be modelled.
[0021] On the other hand, the present disclosure discloses an all-analog solver implemented in the optical and / or analog electronic domain, which employs a space-division architecture (see for example Figure 5B , which will be discussed in more detail later). In other words, spin generation can be done in parallel, which means that the time per iteration is quasi-constant in the number of spins (or more generally, variables).
[0022] The architecture is configured such that each variable to be modelled is associated with a different channel, and optical or analog electronic hardware is configured to compute the contribution of each variable to the update of the overall function to be optimized. The advantage of using an optical or analog electronic solver compared to a digital solver is that the computation can be done faster, as the computation leverages the speed of optical or electrical signals, limited only by the time taken to detect these signals, but not by some power and speed considerations of digital hardware, such as the need to shift through latches.
[0023] Furthermore, dividing the variables into multiple parallel channels (i.e. space-division multiplexing instead of time-division multiplexing used in existing solver architectures) is advantageous as it can be scaled to a larger number of variables without significantly increasing the time complexity of the problem. Existing time-division based optical solvers are limited in the number of variables that can be modelled, as a delay path needs to be introduced for each variable to compute the interactions between variables, and the time taken for each iteration of the time-division all-optical solver is linear in the number of variables of the problem. Furthermore, existing hybrid solvers will eventually be limited in speed by the same constraints as all digital solvers.
[0024] A first aspect of the present disclosure provides a system for estimating a value of a vector of variables of an optimization function, the function comprising a weighted sum of a plurality of terms, each term comprising a product of a respective subset of variables from the vector, and each term being weighted by a respective weight from a weight matrix modelling interactions between the variables; wherein the system comprises a plurality of parallel hardware channels arranged to operate simultaneously with one another, each parallel hardware channel being arranged to model a contribution of a respective one of the variables to the function, each parallel channel comprising: a respective signal generator configured to generate a respective modelling signal having a modulated property modelling a value of the respective variable; a respective splitter arranged to provide an instance of the respective modelling signal to each parallel channel, such that each channel receives a signal vector modelling the vector of variables; respective interaction logic comprising a respective vector multiplier configured to multiply the received signal vector by a respective vector of weights from the weight matrix modelling interactions between the respective variable and the vector of variables, the interaction logic thereby generating a respective feedback signal representing the contribution of the respective variable modelled by the respective channel; and a respective feedback path arranged to return the feedback signal to the respective signal generator, wherein the respective signal generator is configured to adjust the respective modelling signal in dependence on the feedback signal; wherein each channel comprising the respective signal generator, splitter, interaction logic and feedback path of each channel is implemented using only optical and / or analogue electronic components.
[0025] A further aspect of the present disclosure provides a method for estimating a value of a vector of variables of an optimization function, the function comprising a weighted sum of a plurality of terms, each term comprising a product of a respective subset of variables from the vector, and each term being weighted by a respective weight from a weight matrix modelling interactions between the variables; the method comprising, at each of a plurality of parallel hardware channels: generating, by a respective signal generator, a respective modelling signal having a modulated property modelling a value of the respective variable; providing an instance of the respective modelling signal to each of the parallel channels, such that each channel receives a signal vector modelling the vector of variables; multiplying, at respective interaction logic, the received signal vector by a respective vector of weights from the weight matrix modelling interactions between the respective variable and the vector of variables, thereby generating a respective feedback signal representing the contribution of the respective variable modelled by the respective channel, returning the feedback signal to the respective signal generator; and adjusting, by the respective signal generator, the respective modelling signal in dependence on the feedback signal; wherein the method is implemented using only optical and / or analogue electronic hardware. BRIEF DESCRIPTION OF DRAWINGS
[0026] For a better understanding of the present disclosure, and to show how embodiments of the present disclosure can be implemented, reference will be made to the accompanying drawings, which are used to illustrate embodiments of the present disclosure, and in which:
[0027] Figure 1 A schematic block diagram showing an example optical solver architecture for a quadratic unconstrained binary optimization problem is shown;
[0028] Figure 2 A schematic block diagram showing a hardware implementation of one lane of the optical solver architecture is shown;
[0029] Figure 3 A schematic block diagram showing spin generation hardware is shown;
[0030] Figure 4 A schematic block diagram showing signal conversion between the analog and optical domains during operation of the solver is shown;
[0031] Figure 5A An example of a time-multiplexed architecture and a space-multiplexed architecture is shown, respectively; Figure 5B
[0032] Figure 6 A direct detection scheme with an adaptive DC term is shown;
[0033] Figure 6A A schematic block diagram showing direct detection and differential detection with offset terms is shown, respectively; Figure 6B
[0034] A schematic diagram illustrating the concept of optical vector multiplication is shown; Figure 7
[0035] A wavelength-selective switch to perform the operation of optical vector multiplication is shown; and Figure 8
[0036] The operation of a modified wavelength-selective switch architecture to perform optical vector matrix multiplication is shown. Figure 9 DETAILED DESCRIPTION
[0037] A schematic block diagram showing an optical solver architecture configured to solve a combinatorial optimization problem is shown. Note that “solving” an optimization problem herein encompasses the possibility of finding an approximate solution. The following description will focus on problems that model the interaction of two variables, such as the Ising problem described above. However, note that higher-order PUBO problems that model the interaction between three or more variables can be transformed into QUBO problems, albeit with a larger number of variables, and solved using the same optical hardware. As described above, the goal of such problems is to find a variable assignment that minimizes a particular function specific to that problem. The function to be minimized in the optimization can be referred to herein as the “energy” to reflect the total energy that takes this form in certain physical systems, such as the Ising model for ferromagnetism. Figure 1
[0038] A general combinatorial optimization problem can be solved by first mapping the problem to a QUBO problem and then mapping the QUBO problem to an Ising problem. For many problems, there is a known QUBO mapping formula. For other problems, a mapping can have to be derived. Mapping a general NP-hard problem to a QUBO or Ising formula is itself a subject that can be understood by those skilled in the art of mathematics. For example, a problem expressed in PUBO form, such as a cubic unconstrained binary optimization problem with the formula ∑ ijk Q ijk v i v j v k can be expressed as a QUBO problem by introducing additional variables and terms, and can therefore be solved by the Ising solvers disclosed herein. The solvers disclosed herein provide solutions to Ising problems, which can be used to solve any NP-hard problem for which a mapping to the problem can be found.
[0039] In doing so, the problem is mapped to a physical system whose total energy is given by the Ising Hamiltonian, i.e., -∑ i,j J ij σ i σ j (no external field). To map a given problem to an Ising system, one needs to determine the matrix J such that minimizing the total energy -∑ i,j J ij ·σ i ·σ j (i.e., maximizing ∑ i,j J ij ·σ i ·σ j ) is equivalent to the optimization problem.
[0040] Thus, the Hamiltonian is a sum of terms J ij ·σ i ·σ j , each of which is a product of a respective subset of variables σ i , σ j and a corresponding weight J ij . (Thus the first term is a subset of a variable σ1 multiplied by itself and a weight J 11 , the second term is a subset σ1, σ2 multiplied and a weight J 12 , and so on).
[0041] It can be seen that by bringing σ i to the left side of the sum, the sum can be decomposed into a series of vector multiplication vector (dot product) multiplications:
[0042]
[0043] In this final representation, the sum over each row is a single vector multiplication, which represents the contribution of the different respective variables σ i to the energy in the Hamiltonian. That is, the vector multiplication (σ1J 11 + σ2J 12 +... + σ N J 1N ) is the contribution of σ1 to the energy, and (σ1J 21 + σ2J 22 +... + σ N J 2N ) is the contribution of σ2, and so on. The weights J represent the interaction between the variables (so J 11 is the interaction of σ1 with itself, J 22 is the interaction between σ1 and σ2, and so on). The weights are set depending on the problem being modelled (and some weights can be zero for any given problem). In a system of Figure 1 , the contribution of each variable is modelled by a different respective hardware channel 102, as will be discussed in more detail later. In each channel 102, the respective variable σ i is modelled by a respective signal x, for example an optical signal, which is generated by a respective signal generator 100. The signals x are shared between the channels by a splitter 106, and a respective vector multiplication vector multiplication (VVM) is performed by a respective vector multiplier 104 in each channel 100 to determine the respective contribution (σ1J i1 + σ2J i2 +... + σ N J iN ) of the respective variable modelled by the respective channel 100.
[0044] One example application is the travelling salesman problem. In a simple example, assume a salesman needs to visit three cities: London, Edinburgh and Cardiff. These can be modelled using nine variables in a QUBO problem: v1 represents London being visited first, v2 represents London being visited second, v3 represents London being visited third, v4 represents Edinburgh being visited first, v5 represents Edinburgh being visited second, v6 represents Edinburgh being visited third, v7 represents Cardiff being visited first, v8 represents Cardiff being visited second, and v9 represents Cardiff being visited third. The elements of the matrix Q ij represent the penalty of travelling between the corresponding pairs of cities. Thus, Q 15 (London first and Edinburgh second) is the distance penalty of London to Edinburgh, and so on. Note that some weights, such as Q 19 (London first, then Cardiff third) are set to zero as they are not meaningful in this problem as the total weight distance is determined only by the distance between consecutive cities. Other weights, such as Q12 Or Q 13 (London first then London second, or London first then London third) can be set to a large penalty value to impose a constraint that each city is visited once. Then, the QUBO problem (where ∑ i ∑ j Q ij ·v i ·v j Minimize) can be transformed into the Ising problem (reducing the Hamiltonian term - ∑ i,j J ij σ i σ j (Minimize energy in) and use Figure 1 The solver system is used to solve the problem.
[0045] Another example is the molecular similarity problem used to estimate the molecular similarity between two molecules. For example, this could be used to estimate whether one molecule might prevent the use of another molecule in a drug. Modeling molecular similarity as a QUBO problem is itself known in the art.
[0046] Update rules can be derived to adjust the signals generated by the system in the direction of minimizing the Hamiltonian operator of the Ising system modeled on the problem. A possible equation for the update in the Ising model can be written as follows:
[0047]
[0048] Where x i These are modeling signal values generated by the system, used to model the variable σ in the Ising model. i Modeling. The update equation is derived from the Hamiltonian operator of the Ising model. To derive the update equation, the update for each spin can be defined based on the expected effect of changing the spin value on the total energy. This can be used to derive the expression for the update:
[0049]
[0050] The value within the parentheses above can be calculated as 2∑. j J ij <x j The update term can be multiplied by constants α and β to control the update size of each spin in each iteration, ensuring the system as a whole adjusts towards the minimum. The ζ term in the above equation is Gaussian noise, applied in each iteration to perturb the system to avoid "getting stuck" in a non-optimal solution. Finally, by observing... The Taylor expansion of is approximately equal to the updated equation above for appropriately chosen constants α and β, from which the cosine in Equation 1 can be derived. 2The cosine squared is a useful approximation for optical spin generation, especially since the function can be easily computed by a particular hardware (described later). However, different approximations can be made to evaluate other approximations of Equation 2 above. For example, analog electronic components can be used to directly compute the terms of the Taylor expansion of Equation 2 and generate an analog signal of the updated value of x i . For example, a cubic or quintic approximation of Equation 2 (expanding to only the third or fifth order terms, respectively) can be used. In fact, the reason for using cos 2 (x - π / 4)1 / 2in Equation (1) is because for sufficiently small x, it approximates to x - x 3 . In other examples, any other formula that provides a similar approximation (i.e., x is linear around 0) is also possible.
[0051] As shown in Figure 1 , each modeled signal xi modeling a corresponding variable is generated by a corresponding signal generator 100 (e.g., optical signal generator) in a corresponding channel 102, as will be discussed in more detail later. The interaction between the variables corresponding to the matrix J is modeled by the interaction logic 104.
[0052] The above equation will be described in more detail later. Other equations are also possible. Regardless of what equation is used, the basic property of the update equation is that it pushes or adjusts the signals x i so that the modeled physical system tends towards a minimum energy (i.e., a minimum of the Hamiltonian operator given above). This is driven by the term β∑ j J ij x j [k], which represents the contribution of a given signal to the overall system energy, and whose sign determines the direction of the update. In other words, this term provides feedback to the signal generator 102 to adjust the corresponding modeled signal x i in the corresponding channel 102. The sign of this feedback results in an adjustment in the corresponding modeled signal (x) that drives the signal in a direction that reduces the total energy of the system Hamiltonian. The value of this feedback determines the extent of the adjustment (optionally damped with respect to the signal x by the coefficients a and β).
[0053] Note that while the solver determines signals that directly represent Ising variables σ i , this is equivalent to finding an optimal mapping of QUBO variables v i , and can be transformed in the form of the original problem to a different set of variables. However, it is important that there is a mapping between a set of Ising variables (spins) that can be determined by the solver and the set of variables that optimizes the original problem. Note that in the following description, v i or σ i may be used to denote binary variables that are modeled by the solver.
[0054] An all-analog solver can be implemented that models the values of binary variables σ i as optical or electrical analog signals, and performs the above updates for each modeled variable using a combination of non-digital hardware components. The solver generates a set of initial signals representing the assignments of the given variables, and generates new signals in a series of iterative steps based on feedback signals computed using interaction logic implemented in analog electronic or optical hardware. An example implementation of the solver architecture for the Ising problem will be described in more detail later.
[0055] There are many choices of solver configurations that can be arranged in accordance with the present disclosure, each generating feedback signals that cause the signals generated over time to become a set of signals that minimize the total energy of the "Ising" system, which can be mapped to the optimal variable assignments defined for a given problem.
[0056] The present disclosure provides a novel architecture for solving combinatorial optimization problems that can be mapped to an Ising problem with N variables (sometimes referred to as "spins"), where the variables of the problem are modeled by N different sets of hardware channels, and are updated iteratively based on feedback provided by signal interaction logic, modeling the interactions of the variables according to the problem definition given. This system only arises in the optical and analog electronic domains, and the signal interaction logic can be modeled by optical or analog electronic hardware. This will now be described in more detail with reference to Figure 1
[0057] Figure 1 An example schematic block diagram of an analog solver for a combinatorial optimization problem is shown. The architecture includes N channels 102, each channel i configured to compute a channel feedback signal according to a feedback equation derived for each channel, where the feedback of each channel is directed toward a set of variables that minimize an "energy" function that defines the problem.
[0058] The first channel 102 is configured to compute a modeled signal xi corresponding to an Ising variable σ1 that takes on either a positive or negative "spin" value, where the modeled variable xi is updated based on feedback received at each iteration of the optimization. Note that while the variables σ being modeled can be binary, the modeled signals x can take on soft values that can vary between the two possible binary values of the variable. The process of determining the contribution of each channel will now be described. Note that each channel includes hardware components that perform the same steps to compute its respective contribution to the function.
[0059] Each channel 102 includes a signal generator 100, a splitter 106, and signal interaction logic 104, each of which can include one or more hardware components. Note that "logic" as used in context herein does not refer to digital logic, but rather to signal operations performed using analog or optical hardware. The signal generator 100 generates a modeled signal for the variable σ i , the measurable property of which represents the binary value of the variable σ i . The signal can for example be an optical signal generated by an optical source such as a laser. An optical modulator can be used to modulate the property of the optical signal to model the variable σ i . For a binary variable σ i to be encoded as a property value (such as amplitude), a mapping should be defined between the possible modulated property values (amplitudes) and the binary values (e.g. 1 and -1). For example, x i may lie in a range between [-a, +a], where a is some constant, and where positive amplitudes map to Ising variable σ = 1, and negative amplitudes map to Ising variable σ i = -1. Once the modulated signal modeling the variable σ i , which can be referred to herein as the "modeled signal" x i , is generated, it can be replicated by applying the splitter 106 to generate multiple instances of the modeled signal x i encoding the same variable v i , which can be passed to other channels as indicated by the arrows in Figure 1 .
[0060] The signal interaction logic 104 receives multiple modeled signals representing a vector of variables, each signal received from the splitter 106 of the respective channel j. The interaction logic 104 includes a vector-by-vector multiplier that combines the modeled signals x i into a signal representing a weighted sum of the modeled variables, where the weights correspond to relevant elements of the matrix J defining the spin interactions for the Ising problem. There are various possible hardware configurations that can be used to perform the vector-by- vector multiplication. One example disclosed herein is a wavelength selective switch (WSS). This will be described in more detail later. The optical vector-by-vector multiplication can alternatively be performed by other known optical techniques, including a spatial light modulator (SLM), a ring resonator or Mach-Zehnder interferometer (MZI), or some combination of such techniques or other suitable optical components. As a further alternative, the vector-by- vector multiplication operation can also be implemented in the analog electronic domain (i.e. using electrical signals), for example by using memristors.
[0061] Note that while Figure 1Separate interaction logic 104 is shown for each channel, but this interaction logic does not necessarily include separate hardware components for computing the signal interaction for each channel. In some embodiments, the interaction logic for the entire system includes a global vector matrix multiplier. In this case, the portion of the vector matrix multiplier that performs a vector-by-vector multiplication for a given channel corresponds to the interaction logic for that channel shown in FIG. 1. Figure 1 For example, each interaction logic can correspond to a different row of a 2D spatial light modulator, as discussed in more detail later with reference to the example of FIG. 2. Figure 9 It is also noted that, more generally, the physical portions of the global vector matrix multiplier implementing the different individual interaction logic blocks 104 can overlap one another or not. On the other hand, in other embodiments, separate hardware components are configured to perform the vector-by-vector multiplication for each channel. The effect of both architectures is the same. Both alternative architectures are discussed in more detail below in the context of wavelength-selective switch implementations of vector-by-vector multipliers (or vector matrix multipliers), as shown in FIGS. 3 and 4. Figure 8 and Figure 9
[0062] The feedback signal is passed back along the feedback path 108 to the signal generator 104, which determines a new signal in accordance with the hardware of the system. For example, the updated signal can be generated by passing the feedback signal to a modulator to modulate an input signal from a light source and detecting the resulting optical signal with a photodiode. Alternatively, in some embodiments, an analog electronic signal encoding the feedback signal can be generated directly using analog electronic components, for example by using a memristor. Regardless, the system is designed so that over time it tends towards a steady state that maps to an optimal allocation of the variables, thereby minimizing the energy function formulated for the given problem.
[0063] Each channel updates its signal according to the same scheme described above until all signals reach a steady state, which corresponds to a particular allocation of the variable values. Any number of pairwise interactions of the variables σ1,..., σ N The Ising problem for N variables can be modeled in this way by setting up N channels and splitting each signal into N identical signal copies, one of which is sent by each channel.
[0064] Figure 2 An example optical solver for an Ising problem for N variables implemented in optical hardware is shown. The solver includes N channels 102, each channel i including hardware implementing a signal generator 100, a splitter 106, and interaction logic 104 to generate a signal representing a binary value assigned to variable i. For clarity, Figure 2 A schematic of only a single channel 102 is shown, but this can be repeated in each channel 102. Note that the modelling signal is output by Figure 2 the splitter 106 to all other channels, and receives the interaction logic 104 from every other channel.
[0065] Each channel 102 iteratively generates an updated modelling signal x i according to the feedback signal until the system stabilises to a set of stable states, which represents the optimal allocation of variables according to the optimisation problem to be solved. As mentioned above, the update of the signal is given by the update equation, for example:
[0066]
[0067] where x i [k] is the modelling signal at the kth iteration, J ij is a coefficient defining the interaction between the i and jth variables according to the given problem being mapped to an Ising system, a and b are multiplication constants, and z i [k] is a Gaussian noise term. The factors a and b are chosen so as to control the size of the update of each variable, where a larger a relative to b causes the signal to slowly move in the direction given by the b term, i.e. b *∑J ij x ij [k]. This is important in a multi-variable system, as a large update at each step can prevent the entire system from converging to a suitable local optimum. Similarly, the noise term provides a perturbation to the signal at each step to ensure that the system does not “stick” at a local minimum (i.e. a poor approximation of a set of optimal variables). The above equation can be derived mathematically by applying known principles of the Hamiltonian operator based on the Ising model, using reasonable approximations. In particular, the cos 2 () term approximates the optimal update, which can be easily applied using the specific optical hardware described later. The operation of a single channel 102 will now be described with reference to Figure 2 .
[0068] The initial signal is generated by the spin generator hardware 300, representing the initial binary value of the variable s i modelled by the given channel. Note that “spin” as used herein refers to a signal representing a binary variable of an Ising system, and should not be confused with the quantum mechanical definition of a spin. An example implementation of the hardware components of the spin generator hardware 300 is described in more detail below with reference to Figure 3 . The signal output by the spin generator is sent as an electrical signal, as shown by the dashed arrow from the spin generator hardware 300 to the splitter 326, which sends the signal through two different paths.
[0069] Note that in this embodiment, the spin generator 300 only includesFigure 1 Part of the signal generator 100. Figure 2 In the example architecture, signal generator 100 includes a spin generator 300, a light source 302, a modulator 304, a splitter 326, an amplifier 324, and analog hardware 322 for summing electrical signals. As described above, the output of signal generator 100 is the modeling signal x1.
[0070] Along the first path, the signal is combined in modulator 304 with the output of light source 302 (which is a laser of a specific wavelength) to modulate the laser beam, thereby generating the modeling signal x. i As shown in the reference above Figure 1 As described, modulator 304 modulates the optical signal to encode an electrical signal modeled on variables, and can use, for example, the amplitude of the optical signal, its phase, or a combination thereof. As mentioned above, there should be a mapping between the measurable properties of the optical signal and the binary variables, such that the detected optical signal can encode positive and negative values. This can be accomplished using a coherent detection scheme that measures the phase and frequency information of the received signal and its intensity. If only the amplitude and sign of the signal are of interest to be detected, a form of direct detection can be used, which may be referred to herein as “differential detection.” This will be described in more detail below.
[0071] Modulator 304 sends the modeling signal to a 1-to-N splitter 306, which transmits the same optical signal to vector multipliers 314 (VVMs) in each of the N channels of the system. Figure 2 In the example, the vector multiplier 313 is implemented as a wavelength-selective switch. However, in other embodiments, this can be achieved using a ring resonator, a spatial light modulator, a Mach-Zehnder interferometer (MZI), or analog electronics. Note that in embodiments such as those employing WSS, the signal generated at each channel can be generated at different wavelengths (i.e., colors) to enable different signals in the vectors to interact via vector multiplication without causing interference between the N signals. VVM 314 is configured to represent variables {σ1, ..., σ...} N The input signal set {x1, ..., x} of the vector} N The corresponding subset of elements multiplied by matrix J. For a given channel i, wavelength selective switching computes the signal represented by the vector multiplication of the vector terms in Equation 1 for each iteration k, i.e., ∑ j J ij x j [k], where x j [k] is the signal generated at the signal generation hardware for channel j. The operation of wavelength-selective switching to calculate vector multiplication will be described in more detail later.
[0072] In embodiments, the signal output by the VVM 314 remains in the optical domain, as shown by the solid line in Figure 2 , and is converted to an electrical signal by detecting it at a photodetector. In the illustrated embodiment, a direct detection scheme is used and an adaptive direct current (DC) term 312 is added to implement differential detection using analog hardware 310 configured to perform summation. An amplifier 316 multiplies the adjusted sum by a constant β, outputting the feedback path 108. By setting the modulator at a particular operating point, the term of equation 1 is implemented in hardware. A Gaussian noise term 320 (corresponding to ζ[k] in equation 1) is added to the feedback signal by analog hardware 318, such as an electronic mixer, configured to perform addition of electrical signals. A Gaussian distribution can be defined from which the Gaussian noise term ζ[k] can be sampled at each iteration. Hardware for adding electrical signals is well known in the art and will not be described further herein. ζ[k] is assumed to be small random (Gaussian) noise. At each iteration, ζ[k] takes on a new value (from the same distribution).
[0073] Along the second path, the signal i is output to an amplifier that amplifies the electrical signal, representing the variable σ i multiplied by a constant a, as shown in equation 1. This is added to the sum transmitted along the feedback path from the analog summation hardware 318 to obtain the signal Finally, the updated signal is determined in the spin generator hardware 300, which modulates the optical signal based on the feedback signal 108 to compute the cosine of the feedback signal, detects the signal at a photodetector and adds a second adaptive term in order to compute the full expression of equation 1 and output an analog electrical signal. Note that direct detection of the photodetector generates the square of the cosine in the equation because the photodetector measures the intensity of the optical signal that is proportional to the square of the signal itself. For this reason, direct detection cannot be used for phase modulation signals because all the phase information is lost in the detection of the light intensity.
[0074] The example of the spin generator 300 evaluating the update equation is described below with reference to Figure 3 . The process is repeated at each iteration, generating an updated signal for each channel, determining the interaction of the N signals, computing a new feedback signal and repeating until the system is stable.
[0075] Note that the multiple components operating together in Figure 2 correspond to the general signal generator 100 described above with reference to Figure 1 . The signal generator 100 in this implementation includes the entire spin generator hardware 300, the laser 302, the analog summation hardware 322, the splitter 326. Similarly, the components of the spin generator 300 described above with reference toFigure 1 The interaction logic 104 described includes vector-by-vector multipliers implemented in the wavelength-selective switches and analog hardware components for performing the addition and amplification of the feedback signals. Other embodiments can include additional hardware for performing operations on the optical or analog signals, including, for example, photodetectors and modulators.
[0076] Each channel i is implemented in hardware that computes updates to the signal for that channel in parallel. The updates continue until the system stops, for example after a predetermined stopping point of M iterations. Alternatively, the signals can be periodically measured and the system stopped if no changes are observed between subsequent measurements. When the system stabilizes, an approximate solution is found, i.e. the set of variables modeled by the generated signals remains unchanged from one iteration to the next. This stable set of signals can then be directly mapped to an assignment of the N variables that approximates a solution to the given Ising problem.
[0077] Figure 2 The example embodiment shown in FIG. 3 uses a space-division multiplexing architecture (i.e. where each variable is generated in separate hardware), where the binary variable is encoded in the signal amplitude and the VVM is implemented by a wavelength-selective switch in each of the multiple parallel hardware channels. However, alternative embodiments can model the variables using different measurable properties of the signal, such as phase or frequency, and can also use other types of VVM, such as ring resonators, Mach-Zehnder interferometers, or electronic VVMs implemented using memristors. Time-division can also be used instead of space-division, using delay lines to combine the time-division multiplexed signals.
[0078] Figure 3 A schematic block diagram of example spin generation hardware components 300 is shown. A light source 400, such as a continuous wave laser at a specified wavelength, is used to generate an optical signal that is passed to a spin generation modulator 402 to generate a spin. An electrical feedback signal based on the signal generated at the previous iteration is also received from the VVM 315 of the interaction logic 104 to the modulator 402. The modulator 402 modulates the optical signal from the light source 400 according to the electrical feedback signal. The modulator 402 can be a Mach-Zehnder modulator that splits the input signal to interfere with itself. The value corresponding to the feedback signal is set by the modulator in one of the arms, and the output of the modulator 402 is the in-phase component of the electric field that interferes - in other words, the cos() function of Equation 1 applied to the feedback signal becomes cos 2 () when detected as an optical intensity at a photodetector 404. For direct detection of the optical intensity using the photodetector 404, the signal is always positive and in the analog domain. For direct detection of the electrical field using a coherent detector, the signal can be positive or negative and in the analog domain. 2the range given by the tanh() function. An adaptive DC term 406 representing the additive term of the equation (i.e., the -1 / 2 term in Equation 1) can be added to the positive signal to convert the range of the signal to [-1 / 2, 1 / 2] to properly model the Ising variables. The output signal is then passed to the splitter 306 to generate the modeled signal x i As described above with reference to Figure 2
[0079] During each iteration of the example solver shown in Figure 3 , the signal is converted from the optical domain to the analog domain twice and vice versa. As shown in Figure 3 , while the feedback signal is initially converted to an optical signal by the signal generator 300, the feedback signal is then detected at the photodetector and converted back to an analog signal. The modulator is used with the light source to convert the signal from the analog domain to the optical domain for processing by the optical signal interaction logic, while the photodetector is used to convert the output signal of the interaction logic from the optical domain back to the analog domain.
[0080] Figure 4 A schematic block diagram of the signal conversion between the optical domain and the analog domain for one channel in the example solver shown in Figure 2 and described above is shown, which includes N hardware channels. The spin generation component 300 described above with reference to Figure 3 outputs an electrical signal, which is labeled as "Signal 1" in Figure 4 . In the example solver, the signal interaction logic includes an optical vector-by-vector multiplier 314, for example in the form of a wavelength-selective switch, which acts on the optical signal. However, as noted above, the interaction logic for any given channel can include a portion of the overall signal interaction hardware that implements a vector matrix multiplication to produce a vector of feedback signals for multiple channels. The example of this architecture is described in more detail below with reference to Figure 9 . The first analog-to-optical signal conversion 500 occurs after the generation of the signal to pass the optical signal to the signal-to-signal interaction logic 502. The result of the vector-by-vector multiplication is evaluated by detection at the photodetector 308, converting the signal to the optical domain and performing further arithmetic operations in the analog domain, as shown in Figure 2 .
[0081] Figure 4 The signal-to-signal interaction logic 502 includes optical VVM operations and conversion to an electrical feedback signal. The output electrical feedback signal is then passed through a second analog-to-optical signal conversion 504, in which the electrical feedback signal is converted back to an optical signal by the modulator. In Figure 3 and Figure 4 In this case, this occurs within the spin generation hardware 300, where the spin generation light source 400 and modulator 402 convert the electrical feedback signal into an optical signal. Figure 4 The signal generation 506 only corresponds to the detection of the signal generated by the signal generation hardware 300 that converts the signal from the optical domain to the analog domain, and not the full signal generation process described in Figure 3
[0082] Note that in the example embodiments described above, the vector-by-vector multiplication operation of the signal interaction logic 504 is implemented in the optical domain, for example by a wavelength selective switch described later. However, in other embodiments, the signal interaction can be implemented in the analog electronic domain. Similarly, in some embodiments, other arithmetic operations such as signal addition can be performed in the optical domain rather than the analog electronic domain. Thus, Figure 4 The process shown in Figure 2 is specific to the particular hardware configuration of the solver shown in
[0083] As described above, an advantage of the architecture described herein is that it uses a "space-division" multiplexing architecture, meaning that separate hardware is used for each variable to model a system of N variables. In contrast, some state-of-the-art solvers use a time-division multiplexing architecture. Figure 5A An example architecture using time-division multiplexing is shown. The time-division multiplexing architecture uses a single set of signal generation hardware 510a to generate signals representing all of the variables of the system and a single piece of hardware to implement the signal interaction logic. The signal generation hardware 512a generates signals in time intervals, and the interaction logic implements the interaction of the time-division signals by applying a delay to the signals received at the interaction hardware at different times. The time complexity of the solver increases linearly with the number of variables being modelled, and so this architecture is slower for larger systems.
[0084] In contrast, Figure 5B The space-division multiplexing architecture shown in Figure 5B The signal interaction logic hardware 512b for the full solver system is shown as a single block in Figure 2 but the interaction logic can alternatively be implemented as including separate hardware VVMs for each channel, as described above and as shown in
[0085] Direct detection
[0086] As described with reference toFigure 4 As described, in the embodiments, the signal is converted between the optical and analog domains during the operation of the solver. For example, the electrical feedback signal representing Equation 1 can be converted to the optical domain using a Mach-Zehnder modulator (which applies the cos() function), and then the entire equation is computed by detecting it on a photodetector. Direct detection of light intensity measures the square of the signal, which is only positive. However, when dealing with signals that take positive or negative values, such as those modeled with the Ising variable herein, the conversion between the analog electronic and optical domains should preserve the sign information in the signal, or any conversion that results in the signal being, for example, limited to positive values should be corrected by subsequent operations in the relevant domain. “Real value” can be used herein to refer to an optical signal having a value along the real axis of the complex plane, i.e., a signal that can take positive or negative real values.
[0087] One possible detection scheme that allows for the detection of both positive and negative values is coherent detection, which measures the amplitude and phase information of the received optical signal, which can be either positive or negative. However, a drawback of coherent detection is that it is more complex to implement than directly detecting light intensity. Coherent detection schemes typically require digital signal processing. If the signal is converted back to the digital domain to perform coherent detection, some advantages of processing the signal in the optical and analog electronic domains (such as signal transmission speed) are lost or diminished.
[0088] An alternative detection method uses direct detection, i.e., the detection of light intensity, which does not require the system complexity of coherent detection. Direct detection measures only positive signals in the analog electronic domain, and then it can be offset in the analog electronic domain by adding or subtracting adaptive terms to correct the signal range to allow for positive or negative values. This can be called "differential detection." A similar detection scheme is used in long-distance communication to detect real-valued binary phase-shift keying signals.
[0089] Figure 6 The diagram illustrates this direct detection scheme for detecting real-valued optical signals, such as the output of a light vector multiplier. Now, regarding the above... Figure 2 An example application of the solver is used to illustrate this. A real signal 700, which can take positive or negative values, is generated, for example, by spin generator 300 at channel i to represent the modeling signal x of Equation 1. i (It can take values in the range [-1 / 2, +1 / 2]), and is first converted to the optical domain by at least one analog-to-optical converter (e.g., by modulator 304). Optical vector multiplication is performed on the modeling signal of the channel and the modeling signals received from other channels, multiplying the input vector by relevant weights corresponding to the interaction with channel i, and outputting the optical signal of the channel representing the weighted sum of the input signals.
[0090] The signal is converted into an analog signal by detecting it at photodetector 308. However, the detected signal is limited to only be positive because the photodetector 404 measures the light intensity, which cannot have a negative value. To correct this issue, the output signal of the VVM operation is corrected by adding a DC offset term to allow positive or negative values, as shown in 312 in Figure 2 This DC offset term is specific to each spin and is evaluated and set at system initialization.
[0091] This enables the measurement of both positive and negative signals required by the solver by conditioning the signal in the analog domain. This differential detection scheme is simpler than the coherent detection scheme and can be easily implemented to convert the signal directly from the optical domain to the analog electronic domain. However, for the VVM output, it should be noted that the path length of all signals should be matched if the given input signals have different wavelengths. The non-coherent summation of signals will be described in more detail in the context of the operation of the wavelength selective switch below.
[0092] While the differential detection scheme is described above with respect to the present solver architecture, the direct detection with an adaptive offset term can be used for any application that is able to implement a real-valued positive and negative optical vector-matrix multiplication operation. For example, this can be used in machine learning applications, such as deep neural networks, where input vectors can be multiplied by network weights. This differential detection scheme can be applied to applications using various types of optical VVMs, such as spatial light modulators (SLMs), ring resonators, or wavelength selective switches, as described in more detail below. This differential detection method has the advantage of allowing the operation to be performed in the optical domain, with a significant speed improvement compared to digital operations, while enabling the modeling of a desired range of real-valued signals without the need to laboriously implement a coherent detection scheme. This differential detection scheme can be implemented without the need for phase sensitivity of the system if different wavelengths are used for the input signals of the OVM, such as in a wavelength selective switch or ring resonator VVM.
[0093] Figure 6A is a schematic block diagram of the differential detection scheme, where a constant analog electronic DC term 712 is added to the signal detected by the photodetector. The optical signal is received at photodetector 710, which converts the actual optical signal 700 into an analog signal 704 that can only take positive values, as described above. The separate analog constant DC term 712 is subtracted from the positive analog signal in a differentiator 714, which is a possible implementation of the subtractor 708 shown in Figure 6 The analog DC term 712 can be generated using one or more analog electronic components, or by using an optical signal, as described below with respect to Figure 6BThe described. Analog differentiators are well known in the field of electronic engineering and will not be further described here. The output of the differentiator is a real analog signal 718 obtained by subtracting a constant DC term from the only positive signal 704, which brings the analog signal to a desired range, where it can take positive or negative values. As mentioned previously, each DC term is specific to the photodetector and can be evaluated and set at system initialization. Note that the DC term can equivalently be seen as a negative analog signal added to the positive analog signal 704, or as a positive signal subtracted from the positive analog signal 704.
[0094] Figure 6B is a schematic block diagram of an optical offset differential detection scheme, where any two optical signals 720a, 720b can be detected at a pair of photodetectors 722a, 722b, and an analog differentiator 726 can be used to obtain the difference between the electrical signals 724a, 724b generated at the respective detectors 722a, 722b. This is a known detection configuration that can be used to implement the differential detection method described above, where a real-valued signal, e.g. the output of an optical VVM, is encoded in the first optical signal 720a, and a constant value is encoded in the second offset optical signal 720b, which can be provided by a separate light source modulated at the constant value. Each signal can be converted to an analog electronic signal 724a, 724b that only takes positive values. These are combined in the differentiator 726, which subtracts the constant offset analog signal 2 from the analog signal 1 obtained by detecting the real-valued signal to be evaluated. The effect of this differential detection scheme is the same as Figure 6A differential detection, where in this case the DC offset term is obtained by detecting the constant optical signal 720b. However, for the implementation of this differential detection, it is necessary to generate a second optical offset signal, instead of generating an analog DC offset signal directly using analog electronic components.
[0095] Note that in the described embodiment, the solver models x and the corresponding feedback signal (in the form of positive and negative “spin” signals representing Ising variables, e.g. -1 / 1) as a method to solve a QUBO problem, which is easily mapped to an Ising problem. The sign of the feedback signal indicates the direction in which the modeled signal x is driven to reduce the Hamiltonian energy. However, in other embodiments, it is not excluded that pure positive signals can be used. Instead, the matrix J can include positive and negative weights. In such embodiments, the DC offsets 310, 320 are not necessarily needed. For example, QUBO variables 1 / 0 can be modeled directly. In this case, direct detection of the generated positive signal can not require correction.
[0096] Wavelength selective switch for optical vector matrix multiplication
[0097] As noted above, each lane can implement a respective vector-by- vector multiplier as part of the interaction logic 104. A variety of possible vector-by- vector multiplier configurations can be used with the solver architecture disclosed herein. Some VVMs can be implemented entirely in the optical domain, such as spatial light modulators, ring resonators, and Mach-Zehnder interferometers. Other VVMs can be implemented in the analog electronic domain, for example using memristors to compute weighted sums of electrical signals.
[0098] One example of an optical VVM (OVVM) disclosed herein for use in some embodiments of the solver architecture disclosed herein is a wavelength selective switch (WSS). WSSs are used in telecommunications applications and they allow independent optimization of different wavelengths of signals to guarantee that all signals are transmitted with the same power and allow different wavelengths of signals to be combined together in a single optical fiber, and vice versa, for add or drop functions at transmission nodes.
[0099] The implementation of a WSS for optical vector multiplication is based on the fact that WSSs have the ability to emulate both a multiplication function and an addition function when they attenuate (weight) each individual wavelength, the ability to combine different wavelengths into a single optical fiber, which is then detected by at least one photodetector.
[0100] Figure 7 is a schematic block diagram illustrating the principle of multiplying an optical signal by a constant factor (weight). In the example of Figure 7 In the example of, two separate optical signals are provided from light sources 802a, 802b. The power or intensity of these signals can be measured at a photodetector 806, which generates an electrical signal that depends on the intensity of the incident light. Thus, the multiplication of the values encoded by the optical signals can be implemented by applying attenuators or loss-inducing components 804a, 804b, each of which subtracts a configurable constant factor from the intensity of the respective optical signal, which means that the resulting analog signal when detected at the photodetector or camera 806 is scaled by the loss factor of the applied attenuator, which can be interpreted as a “weight” applied to the input signal. If the two separate optical signals share the same wavelength, their addition at the photodetector will be coherent (i.e., the two optical signals will add in the electric field), whereas if the two separate optical signals have different wavelengths and their difference is much larger than the photodetector bandwidth, their addition at the photodetector will be incoherent (i.e., the two optical signals will add in the power).
[0101] Vector matrix multiplication can be decomposed into a series of vector-by- vector products of the form:
[0102]
[0103] Each element of the output vector o is the sum of the i-th row elements of the weight matrix W applied to the input vector y.
[0104] Figure 7 The configuration of FIG. 8 can be used to implement the weighted sum of the optical vector-by-vector multiplication by applying attenuators 804a, 804b to a set of input signals representing the input vector, where the attenuators are set to the appropriate elements corresponding to the weight matrix. The sum of the weighted inputs is performed by combining the signals in the camera or other detection system 806, which can perform coherent or incoherent addition of the optical signals. Coherent addition is required if the optical signals share the same wavelength, which requires that all signals be precisely phase matched in order to compute the correct output signal. This is difficult at optical wavelengths. For incoherent addition, the photodetector requires that the input signals have the same path length within a given tolerance range of the detector bandwidth. Incoherent addition with direct detection at the photodetector computes the total power or intensity of the input optical signals. This will be described later for incoherent detection in the wavelength selective switch, where the respective signals being added have different wavelengths.
[0105] Reference will now be made to Figure 8 the operation of a wavelength selective switch performing vector-by-vector or vector matrix multiplication based on the principles described above.
[0106] The input vector v is represented by a set of optical signals 800 of different wavelengths, which can be, for example, a set of modeled signals {x1,..., xN} received from N channels of a solver. N} such as shown in FIG. 7 and described above. Figure 2 The right lower corner of FIG. 8 shows input fibers 808 carrying the individual optical signals 800 for the input vector. Figure 8 The right lower corner of FIG. 8 shows input fibers 808 carrying the individual optical signals 800 for the input vector.
[0107] Note: For simplicity of illustration, Figure 8 The fibers 808, 818 for only one channel 102 of the solver are shown in FIG. 8. However, in embodiments where the WSS is applied in such a solver, then there can be a set of individual fibers 808, 818 for each channel 102. Each set of input fibers corresponds to the input from the splitter 106 in a given channel 100. The output fibers 818 provide the output of the respective vector-by-vector multiplier (hence overall performing a vector matrix multiplication). In this case, different corresponding subsets of elements of the SLM 810 implement the interaction logic 104 of different channels. In embodiments, these elements can be implemented as different pixels at different locations on the same physical board (e.g., the same piece of glass or plastic) of the SLM 810.
[0108] The corresponding elements of the weight matrix Q are implemented in a spatial light modulator (SLM) 810, one example of which is a liquid crystal on silicon spatial light modulator (LCoS-SLM) which modulates each input optical signal 800 by a certain factor, as described above. In this case, the signals are modulated by a factor which depends on the input wavelength, with each column of the SLM 810 corresponding to a different incident wavelength. The input signals 808 are passed through a lens to ensure that each signal reaches the SLM at the correct horizontal position for its respective wavelength.
[0109] The output signal for a given channel is obtained by detecting the modulated optical signal at a photodetector 820, which modulated optical signal is combined into a single beam 818 which is then detected at the photodetector 820. The combining of the individual optical signals (each having a different wavelength) into a single beam at the photodetector 820 can be referred to as wavelength division multiplexing (WDM). This is facilitated by the arrangement of one or more lenses 816 and / or a dispersive element(s) 814 (e.g. a diffractive element such as a prism or a diffraction grating); while the SLM ensures independent weighting of each individual wavelength.
[0110] The photodetector 820 performs incoherent addition of the various component optical signals of different wavelengths. In order for the incoherent detection to compute the sum of the intensities of the component signals, it should be ensured that the frequency difference of the respective signals being combined is much larger than the frequency bandwidth of the photodetector, which means that the photodetector does not detect cross-terms from the interaction of the signals with each other. Incoherent detection of different wavelength signals does not require the signals to be phase matched. In contrast, if a VVM architecture is used with the same wavelength as input light source, then coherent addition has to be performed at the detector, which has the difficult requirement that all signals have to be phase matched.
[0111] An architecture similar to that shown in Figure 8 is known for building wavelength selective switching devices for telecommunication applications, where it typically operates in the opposite direction, with a single optical fibre as input and a set of wavelength-different optical signals in different fibres as output. In this scenario, the wavelength selective switch is used to add or drop specific wavelengths at a certain transmission node and to guarantee that the signal remains flat over the transmission spectrum.
[0112] Extended WSS architecture for optical vector matrix multiplication
[0113] As mentioned above, the solvers for the Ising problem described herein can be implemented in one of two architectures. In the first, as Figure 2As shown in FIG. 10, the signal interaction logic 104 is implemented as a separate vector matrix multiplier 314 such as a wavelength switch that operates as described above to multiply the input vector by the weight vector given by a single row of the weight matrix J. The signal generated by each channel is directed by a 1-to-N splitter to the vector multiply vector multipliers at all other channels.
[0114] However, in the second architecture, a global vector matrix multiplier (VMM) can be implemented in which the channels of the solver each provide their modeled signal xi to the VMM to form an input vector, and the matrix is fully implemented in this VMM. Figure 1 The solver architecture shown in FIG. 10 corresponds to this architecture in which the interaction logic 104 of each channel is at least partially implemented by a respective subset of elements of the global vector matrix multiplier (e.g., a row in the illustrated example), rather than by a separate individual multiplier per channel. In embodiments, these elements can be integrated into the same SLM plate (e.g., the same piece of glass or plastic) at different pixel locations.
[0115] An example WSS architecture is now described that extends the architecture of the WSS vector multiply vector multiplier to perform vector matrix operations. This architecture has the advantage of being able to handle more spins simultaneously than the vector multiply vector WSS described above.
[0116] Figure 9 An example of a wavelength-selective switch configuration for computing a vector matrix multiplication is shown that can be used to implement the second solver architecture. The wavelength-selective switch includes an array of light sources input 908 that generate a set of signals at different wavelengths, an array of lenslets 900, a modified SLM 902, a dispersive element 814 (e.g., a diffractive element), and an array of outputs at which the optical signals are detected by an array of photodetectors, in Figure 9 is not shown in FIG. 10.
[0117] To use a spatial light modulator for vector matrix multiplication in this example solver architecture, the vertical axis of the SLM needs to provide different weights even for the same wavelength, such that the entire functionality of the vector matrix multiplication is achieved. This is because, for matrix multiplication, the input vector needs to be multiplied by each row of the matrix Q to generate the complete output vector. The SLM 908 is a Figure 8 A modified version of this is shown in FIG. 10, in which the array of modulators is arranged in an array, with each modulator imposing a loss that reflects the weight of the matrix to be applied to the input, i.e., the rows of the modified SLM encode the weights in the rows of the matrix J. As described above, each channel computes the output of a vector multiplication of the input signal with a single row of the matrix J. Thus, each input signal needs to be processed to be spread vertically so that they reach each row of the SLM 902, corresponding to a series of vector multiply vector multiplications.
[0118] In the example solver architecture with global VMM, a single input array 908 comprises the modeled signals x generated at each channel i . This vector is passed through a lenslet array 900 with a specific geometry that causes the signal to spread vertically while collimating the beams in the horizontal direction of the SLM 902 corresponding to the wavelength of the signal. This allows more different wavelengths of input signals to be processed at a single SLM. From Figure 8 a single lens in Figure 9 to a lenslet array in Figure 9 , enabling scaling to more wavelengths. The lenslet array improves the collimation properties of the beams in both directions.
[0119] Note that in the architecture of Figure 9 , Figure 2 the 1-to-N splitter 106 is achieved by the vertical spreading of the input signals over the rows of the SLM, each row corresponding to a spin interaction term of a different channel.
[0120] In contrast to the SLM described in Figure 8 vector-by-vector multiplication with the vector having different values for elements not requiring the same "column" but different vertical positions, the SLM 902 comprises a 2D array of modulators, each element of the array applying a respective weight to the received input signal. Each weighted signal at a specific wavelength but modulated with a different weight, i.e. each signal of a column of the SLM 902, needs to bounce off the dispersive element 814 at a different vertical position to ensure that the combination of WDM signals takes place at the right photodetector in the photodetector array 904. The dispersive element can be implemented as a diffractive element, such as a diffraction grating or a prism.
[0121] In embodiments, the output signals can be guided from the element 814 via one or more lenses to direct the signals to the beams at the correct vertical height for detection using incoherent addition at the photodetector corresponding to the output vector element represented by the beam. For example. Another lenslet array can also be included between the dispersive element 814 and the multiple channels (possibly optical fibers) at the end of the system.
[0122] The photodetector array 904 is arranged as a vertical array of groups of photodetectors, each combined signal guided from the dispersive element 814 corresponding to an output signal of a different channel.
[0123] A solver using the above vector matrix multiplication architecture allows using a single hardware arrangement (like Figure 9The spin interactions for all channels are processed simultaneously (using the hardware arrangement shown in FIG. 1) while the input is collimated using a lenslet array. This can be further scaled to achieve even larger numbers of inputs by splitting each beam into multiple beams that are directed to a configuration of SLMs 902.
[0124] While optical vector multiplication has also been implemented by a number of prior art techniques, such as spatial light modulators, ring resonators, and Mach-Zehnder interferometers that do not use wavelength division multiplexing. Such techniques are described in detail, for example, in K. Kitayama et al., “Novel frontier of photonics for data processing— Photonic accelerator” (APL Photonics 2019, https: / / doi.org / 10.1063 / 1.5108912.), which is incorporated by reference in its entirety. The wavelength selective switch implementation combines the spatial modulation of the SLM with the wavelength division of the ring resonator, but while the ring resonator implementation requires the input signals to be passed through a series of ring resonators, the SLM only needs each signal to be passed through a single modulator, which is an advantage in terms of system loss. The SLM VMM implementation does not use wavelength division, but rather uses a single light source and uses coherent addition at a photodetector to compute the weighted sum of each element of the output array. The wavelength selective switch combines the advantages of both techniques.
[0125] While the above description of the wavelength selective switch relates to its implementation in a solver architecture, such as the solver architectures described herein. However, vector matrix multiplication has many applications, particularly in machine learning, for example applying the weights of a neural network to an input vector. The wavelength selective switch described herein can be used in such applications. Similarly, the wavelength selective switch VMM can be applied to other solver architectures, such as Figure 5A the time division multiplexing architecture shown in FIG. 2.
[0126] The technology disclosed herein can be applied in a wide range of applications, in particular, the solver implementations disclosed herein can be used to solve any NP-hard problem for which a known Ising transformation formula exists. One famous example of such a problem is the Traveling Salesman Problem. This can also be used for problems in other fields, for example, in determining molecular similarity, work has already been done to transform the graph similarity problem for graphical representations of molecules into a QUBO formula. Hernandez, Maritza, et al. describe this work in “A quantum-inspired method for three-dimensional ligand-based virtual screening” (Journal of Cheminformatics 59.10 (2019): 4475-4485).
[0127] It will be appreciated that the above embodiments have been described by way of example. Further variations and applications of the disclosed technology can become apparent to those skilled in the art once given the disclosure herein.
[0128] More generally, according to one aspect disclosed herein, there is provided a system for estimating a value of a vector of variables that optimizes a function, the function comprising a weighted sum of a plurality of terms, each term comprising a product of a corresponding subset of variables from the vector, and each term being weighted by a respective weight from a weight matrix modelling interactions between the variables; wherein the system comprises a plurality of parallel hardware channels arranged to operate simultaneously with each other, each parallel hardware channel being arranged to model a contribution of a respective one of the variables to the function, each parallel channel comprising: a respective signal generator configured to generate a respective modelling signal having a modulated property modelling a value of the respective variable; a respective splitter arranged to provide an instance of the respective modelling signal to each parallel channel, such that each channel receives a signal vector modelling the vector of variables; respective interaction logic comprising a respective vector multiplier configured to multiply the received signal vector by a respective vector of weights from the weight matrix modelling interactions between the respective variable and the vector of variables, the interaction logic thereby generating a respective feedback signal representing the contribution of the respective variable modelled by the respective channel; and a respective feedback path arranged to return the feedback signal to the respective signal generator, wherein the respective signal generator is configured to adjust the respective modelling signal in dependence on the feedback signal; wherein each channel comprising the respective signal generator, splitter, interaction logic and feedback path in each channel is implemented using only optical components and / or analogue electronic components.
[0129] In embodiments, each of the variables is binary.
[0130] In an embodiment, each of the variables can take a positive or negative value, and the function comprises a Hamiltonian of the form:
[0131]
[0132] where σ 1…N is a variable of a vector, J ij is a weight matrix, i and j are indices enumerating instances of the variable between 1 and N, and Σ i,j denotes a sum over all subsets of variables (σ i , σ j ) included in the function; wherein the system comprises a respective one of said channels for each i, and a respective vector multiplier is configured to perform the multiplication ∑ j σ j · J ij , thereby modelling a respective contribution of σ i to the function; and wherein the signal generator is configured to optimise the function by performing an adjustment of the modelled signal so as to minimise the energy of the Hamiltonian.
[0133] In an embodiment, the positive and negative values are +1 / 2 and -1 / 2, or +1 and -1.
[0134] In an embodiment, each variable is a Boolean value, and the function comprises a Quadratic Unconstrained Binary Optimisation, QUBO, problem of the form:
[0135]
[0136] where v 1…N is a variable of a vector, Q ij is a weight matrix, i and j are indices enumerating instances of the variable between 1 and N, and Σ i,j denotes a sum over all subsets of variables (v i , v j ) included in the function; wherein the system comprises a respective one of said channels for each i, and a respective vector matrix multiplier is configured to perform the multiplication ∑ j v j · Q ij , thereby modelling a respective contribution of vi to the function; and wherein the signal generator is configured to optimise the function by performing an adjustment of the modelled signal so as to minimise the function.
[0137] In an embodiment, in each channel, a respective feedback path is arranged to introduce a respective noise component into the respective feedback signal before returning to the respective signal generator.
[0138] In embodiments, the modulation property of each modeling signal for modeling a value of a respective variable comprises one of: an amplitude of the signal or a phase of the signal.
[0139] In embodiments, in each channel, the respective modeling signal generated by the respective signal generator comprises an optical signal, and wherein the respective vector multiplier comprises an optical multiplier configured to perform its respective multiplication in the optical domain.
[0140] In embodiments, the optical signal generated by each respective signal generator has a different respective optical wavelength.
[0141] In embodiments, the optical multiplier in each vector multiplier comprises one of:
[0142] - a spatial light modulator,
[0143] - a wavelength selective switch,
[0144] - a ring resonator, or
[0145] - a Mach-Zehnder interferometer.
[0146] In embodiments, each interaction logic further comprises a respective optical detector arranged to detect an optical output of the respective optical multiplier for producing a feedback signal to the respective signal generator in analog electronic form.
[0147] In embodiments, each respective signal generator comprises: a respective optical source; and a respective spin generator configured to generate a respective spin in analog electronic signal form dependent on the respective feedback signal; and a respective modulator arranged to modulate the respective spin into a modulation property of the respective optical signal.
[0148] In embodiments, the respective spin generator comprises in each channel a further optical source, a further modulator arranged to modulate light from the further optical source dependent on the respective feedback signal, and a further optical detector arranged to detect the modulated light from the further modulator and to generate a spin dependent thereon.
[0149] In embodiments, in each channel: the properties of each signal used to model the value of the respective variable include: the amplitude of the signal; each respective spin generator is arranged to generate a respective spin in the form of an analog electronic signal, the amplitude of which is modulated between a positive level and a negative level to represent the spin; the respective modulator is configured to modulate the spin into the amplitude of a respective optical signal, wherein the amplitude of the optical signal and the output of the respective optical multiplier can only take the positive level, not the negative level; the respective photodetector of the interaction logic in each channel is configured to detect the output of the respective optical multiplier by incoherent detection, thereby generating a respective readout; and the respective interaction logic in each channel is configured to add a DC offset to the respective readout from the respective photodetector in order to produce a respective feedback signal modulated between a positive level and a negative level.
[0150] According to further aspects disclosed herein, there is provided a method for estimating a value of a vector of variables of an optimization function, the function comprising a weighted sum of terms, each term comprising a product of a corresponding subset of variables from the vector, and each term being weighted by a respective weight from a weight matrix modelling interactions between the variables; the method comprising, at each of a plurality of parallel hardware channels: generating, by a respective signal generator, a respective modelling signal having modulated properties modelling a value of a respective variable; providing an instance of the respective modelling signal to each parallel channel, such that each channel receives a signal vector modelling the vector of variables; multiplying, at respective interaction logic, the received signal vector by a respective vector of weights from a weight matrix modelling interactions between the respective variable and the vector of variables, thereby generating a respective feedback signal representing a contribution of the respective variable modelled by the respective channel; returning the feedback signal to the respective signal generator; and adjusting, by the respective signal generator, the respective modelling signal in dependence on the feedback signal; wherein the method is implemented using only optical and / or analog electronic hardware.
[0151] In embodiments, the method can further comprise steps in accordance with any of the system features disclosed herein.
Claims
1. A system for estimating the values of a vector of variables of an optimization function, the function comprising a weighted sum of multiple terms, each term comprising a product of corresponding subsets of the variables from the vector, and each term being weighted by corresponding weights from a weight matrix modeling the interactions between the variables; The system includes multiple parallel hardware channels arranged to operate simultaneously with each other, each parallel hardware channel being arranged to model the contribution of a corresponding variable among the variables to the function, each of the parallel hardware channels comprising: A corresponding signal generator is configured to generate a corresponding modeling signal having modulation properties that model the value of the corresponding variable; A corresponding splitter is arranged to provide an instance of the corresponding modeling signal to each of the parallel hardware channels, such that each parallel hardware channel receives a signal vector that models the vector of the variable. The corresponding interaction logic includes a corresponding vector multiplier configured to multiply the received signal vector by a corresponding weight vector from the weight matrix modeling the interaction between the corresponding variable and the vector of the variable. The interaction logic thereby generates a corresponding feedback signal representing the contribution of the corresponding variable modeled by the corresponding parallel hardware channel in the parallel hardware channels; and A corresponding feedback path is arranged to return the feedback signal to the corresponding signal generator, wherein the corresponding signal generator is configured to adjust the corresponding modeling signal according to the feedback signal; This includes each channel of the corresponding signal generator, splitter, interaction logic, and feedback path, implemented using only optical and / or analog electronic components.
2. The system according to claim 1, wherein each of the variables is binary.
3. The system according to claim 1 or 2, wherein each of the variables is capable of taking positive or negative values, and the function comprises a Hamiltonian operator of the following form: in σ 1…N The variable is the vector. J ij Let be the weight matrix, i and j be the indices of instances of the variables enumerating between 1 and N, and Σ i,j This represents all subsets of variables included in the function. (σ i , σ j ) The sum of; The system includes a corresponding channel for each i in the channels, and the corresponding vector multiplier is configured to perform multiplication. Thus, to σ i Modeling the corresponding contribution of the function; and The signal generator is configured to optimize the function by performing adjustments to the modeling signal to minimize the energy of the Hamiltonian operator.
4. The system according to claim 3, wherein the positive and negative values are +1 / 2 and -1 / 2, or +1 and -1.
5. The system of claim 2, wherein each of the variables is a Boolean value, and the function comprises a quadratic unconstrained binary optimization (QUBO) problem of the form: in v 1…N The variable is the vector. Q ij is the weight matrix, i and j are indices of instances of the variables enumerated between 1 and N, and Σ i,j This represents all subsets of variables included in the function. (v i , v j ) The sum of; The system includes a corresponding channel for each i, and the corresponding vector-matrix multiplier is configured to perform multiplication. Thus, to v i Modeling the corresponding contribution of the function; and The signal generator is configured to optimize the function by performing adjustments to the modeling signal to minimize the function.
6. The system of claim 1, wherein in each channel, the corresponding feedback path is arranged to introduce a corresponding noise component into the corresponding feedback signal before returning to the corresponding signal generator.
7. The system of claim 1, wherein the modulation property of each modeling signal used to model the value of the corresponding variable includes one of the following: The amplitude of the signal, or The phase of the signal.
8. The system of claim 1, wherein in each channel, the corresponding modeling signal generated by the corresponding signal generator includes an optical signal, and wherein the corresponding vector multiplier includes an optical multiplier configured to perform its corresponding multiplication in the optical domain.
9. The system of claim 8, wherein the optical signals generated by each corresponding signal generator have different corresponding optical wavelengths.
10. The system of claim 8 or 9, wherein the optical multiplier in each vector multiplier comprises one of the following: - Spatial light modulator, - Wavelength selective switch - Ring resonator, or - Mach-Zehnder interferometer.
11. The system of claim 8 or 9, wherein each interaction logic further includes a corresponding photodetector arranged to detect the light output of the corresponding optical multiplier for generating the feedback signal to the corresponding signal generator in analog electronic form.
12. The system of claim 11, wherein each corresponding signal generator comprises: A corresponding light source; a corresponding spin generator, configured to generate a corresponding spin in the form of an analog electronic signal based on the corresponding feedback signal; And a corresponding modulator, arranged to modulate the corresponding spin into the modulation property of the corresponding optical signal.
13. The system of claim 12, wherein the respective spin generator in each channel includes an additional light source, an additional modulator arranged to modulate light from the additional light source according to the respective feedback signal, and an additional photodetector arranged to detect the modulated light from the additional modulator and generate spins based on the modulated light.
14. The system according to claim 12 or 13, wherein in each channel: The properties of each signal used to model the values of the corresponding variables include: The amplitude of the signal; Each corresponding spin generator is arranged to generate the corresponding spin in the form of an analog electronic signal, the amplitude of which is modulated between a positive and a negative level to represent the spin; The corresponding modulator is configured to modulate the spin to the amplitude of the corresponding optical signal, wherein the amplitude of the optical signal and the output of the corresponding optical multiplier can only be positive and cannot be negative. The corresponding photodetector of the interaction logic in each channel is configured to detect the output of the corresponding optical multiplier by incoherent detection, thereby generating a corresponding reading; as well as The corresponding interaction logic in each channel is configured to add a DC offset to the corresponding reading from the corresponding photodetector in order to generate the corresponding feedback signal modulated between a positive and a negative level.
15. A method for estimating the values of a vector of variables of an optimization function, said function comprising a weighted sum of multiple terms, each term comprising a product of corresponding subsets of said variables from said vector, and each term being weighted by corresponding weights from a weight matrix modeling the interactions between said variables; said method comprising, at each of multiple parallel hardware channels: A corresponding modeling signal with modulation properties that model the values of the corresponding variables is generated by the corresponding signal generator; An instance of the corresponding modeling signal is provided to each of the parallel hardware channels, such that each parallel hardware channel receives a signal vector that models the vector of the variable. At the corresponding interaction logic, the received signal vector is multiplied by the corresponding weight vector from the weight matrix that models the interaction between the corresponding variable and the vector of the variable, thereby generating a corresponding feedback signal, which represents the contribution of the corresponding variable modeled by one of the corresponding parallel hardware channels. The feedback signal is returned to the corresponding signal generator; and The corresponding modeling signal is adjusted by the corresponding signal generator based on the feedback signal; The method described herein is implemented using only optical and / or analog electronic hardware.
Citation Information
Patent Citations
Optoelectronic Computing Systems
US20200110992A1
Systems and methods for analog computing using a linear photonic processor
US20210036783A1