WO2022053149A1 - System and method for implementing a distributed ising machine - Google Patents

System and method for implementing a distributed ising machine Download PDF

Info

Publication number
WO2022053149A1
WO2022053149A1 PCT/EP2020/075554 EP2020075554W WO2022053149A1 WO 2022053149 A1 WO2022053149 A1 WO 2022053149A1 EP 2020075554 W EP2020075554 W EP 2020075554W WO 2022053149 A1 WO2022053149 A1 WO 2022053149A1
Authority
WO
WIPO (PCT)
Prior art keywords
local
ising
machines
spin
neighbouring
Prior art date
Application number
PCT/EP2020/075554
Other languages
French (fr)
Inventor
Jonas Christoffer VILLUMSEN
Original Assignee
Hitachi, Ltd.
Hitachi Europe Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd., Hitachi Europe Ltd. filed Critical Hitachi, Ltd.
Priority to PCT/EP2020/075554 priority Critical patent/WO2022053149A1/en
Publication of WO2022053149A1 publication Critical patent/WO2022053149A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Definitions

  • the present invention relates to distributed computing and particularly, although not exclusively, to the non-central control of a distributed network of machines.
  • Robots, drones, and other dynamically configurable equipment can increase the facilitation of flow by collaborative actions.
  • These machines are faced by (often discrete) configurations or “decisions” (in/out, up/down, red/yellow/green, assignment to task, channel assignment, etc.), which determine their function within the larger environment.
  • the configuration of one machine will affect the flow of people, information, and goods and hence the optimal configuration of other machines.
  • This invention proposes a distributed intelligent system comprised of connected machines that collaborate to achieve the optimal or near-optimal outcome to a common problem.
  • the solution to the problem is defined by the configuration of some or all of the machines in combination.
  • the machines may dynamically adjust their configurations to converge to a solution which is globally optimal taking dynamically changing inputs into consideration.
  • a system of connected machines is arranged to dynamically change their configuration in response to external stimuli and to collaborate to identify the combination of configurations (e.g. across all machines) that achieves a common goal.
  • the system of connected machines may solve a combinatorial optimisation problem.
  • Such problems are notoriously hard to solve as the number of combinations increases exponentially with the number of connected machines.
  • Even with large computing resources available, many combinatorial optimisation problems are intractable for realistic sized problems (e.g. the well-known ‘job-shop scheduling’ problem).
  • the present invention proposes to address this computational challenge by applying a distributed algorithm across multiple machines (e.g. all the machines involved).
  • Each one of the connected machines may be configured to solve a local part of the global optimisation problem, rather than attempting to solve the global problem alone.
  • the multiple local solutions provided by the multiple connected (local) machines has been found to provide useful and practical solutions to the global optimisation problem.
  • Each local machine of the connected machines may implement a known optimisation algorithm such as “momentum annealing”, or “distributed simulated annealing”, or “quantum annealing”. Any one or more of the local machines may implement an optimisation, locally, on a local computer processor.
  • the local computer processor may be a classical computer (such as a von Neumann machine) or a digital annealer or CMOS annealer, or may be a quantum computer (e.g. using quantum bits or ‘qubits’) such as a quantum annealer available from D-Wave Systems Inc.
  • the present invention proposes a system of autonomous, connected machines that collaborate to achieve a common goal based on decentralised and distributed decisions by each machine.
  • the invention proposes a method for the system to solve certain combinatorial optimisation problems and achieve near-globally optimal solutions without central coordination.
  • the invention proposes a method for the system to solve combinatorial optimisation problems expressed as a Binary Quadratic Model.
  • the invention desirably mimics the behaviour of Ising spin glass models, where a system of spins are able to achieve a minimum energy level (the ground state) entirely by interaction between neighbouring spins.
  • the invention proposes to employ smaller local machines with very low energy requirements, to implement the process of optimising the local Ising sub-component relevant to it.
  • the invention proposes communication between these sub-components, realised on local machines, such that the collection of sub-components constitute a full Ising model/circuit.
  • Each local machine may locally optimise its local sub-component of the Ising model by optimising the local energy function (e.g. Hamiltonian of the local Ising model component) and the collective of all sub-components has been found to be able to solve highly complex problems.
  • Ising formulations deal with “spin variable” values: ⁇ i ⁇ ⁇ 1, ⁇ 1 ⁇
  • QUBO formulations deal with “binary variables” x i ⁇ ⁇ 0,1 ⁇ .
  • spin variable or “spin” is used to encompass either one of “spin variables” in which: ⁇ i ⁇ ⁇ 1, ⁇ 1 ⁇ , and “binary variables” in which: x i ⁇ ⁇ 0,1 ⁇ , as appropriate to the context.
  • the symbol ⁇ is used to refer to “spin variables” and “binary variables” equally, and the allowed values of the spin variables (i.e. either ⁇ i ⁇ ⁇ 1, ⁇ 1 ⁇ , or ⁇ i ⁇ ⁇ 0,1 ⁇ ) will be stated.
  • each spin variable ⁇ i within an Ising model may be assigned a corresponding binary value, e.g.
  • the invention may provide a distributed network of machines comprises multiple separate network nodes each comprising machines adapted to operate according to local operating variables.
  • Each network node may comprise a local Ising Machine wherein local spin variables correspond with operating variables of the local machines of the node.
  • Local spin variables of each local Ising Machines may connect to neighbouring local spin variables of neighbouring Ising Machines of another network node via an interaction coefficient.
  • Local Ising Machines may separately define a local Hamiltonian according an Ising Model of the local Ising Machine including neighbouring spin variables of neighbouring connected Ising Machines.
  • Local Ising Machines may calculate varied values of the local Hamiltonian by varying the values of local spin variables without varying the neighbouring local spin variables connected thereto. Local Ising Machines may change the operating parameters of local machines according to the values of spin variables associated with the local Hamiltonian having a reduced value. Accordingly, because each local Hamiltonian of a local Ising machine includes the values of neighbouring spin variables of neighbouring connected local Ising machines, each local Ising machine is able to communicate collaboratively with its neighbour Ising machine in order to collaborate in achieving a global optimisation of the global Hamiltonian function.
  • the local optimisation of the local Hamiltonian remains tractable and manageable, thereby allowing a global optimum to be achieved on practical timescales.
  • neighbouring local Ising machines communicate with each other in a way which has been found to produce mutual coordination without producing excessive competition or burden.
  • Figure 11 schematically illustrates the relationship between variations in the spin configuration of an Ising Machine, and the corresponding variation in the energy of the resulting Hamiltonian of the spin configuration.
  • spins are represented by circles and spin connections are represented by solid lines.
  • An external field (bias) is represented by a dotted arrow.
  • Combinatorial optimization aims generally to find the best combination from numerous candidates within limited computing time and resources.
  • the number of available candidate combinations generally grows exponentially according to the size of the problem.
  • finding an exact solution is difficult on standard Neumann computers within a feasible amount of time.
  • He present invention may implement a computing based on the mechanism that the computing state eventually reaches the state of lowest energy, as shown in Fig. 11 .
  • the candidate combinations of spin variables (a,), and their respective values represent candidate solutions that are subject to the constraints of the problem at hand by way of the interactions/connections (/ ) between spins, as well as by way of ‘external field’ terms (h,) applied to spins individually.
  • an initial candidate configuration of spin variables (a,) may result in a relatively high energy for the Hamiltonian.
  • This initial spin configuration may then be adjusted to provide an intermediate candidate configuration of spin variables, which may result in an intermediate value of energy for the Hamiltonian.
  • This intermediate spin configuration may then be adjusted to provide a final candidate configuration of spin variables, which may result in a low value of energy for the Hamiltonian which is deemed to be sufficiently close to the ground-state energy (minimum energy state) of the Hamiltonian as to be an acceptable candidate configuration of spins for providing a solution to the problem at hand.
  • denotes the set of interactions connecting the kth local Ising machine with all other local Ising machines.
  • a subset of internal spins within the K th local Ising Machine are connected by an edge/connection to a spin which is external to the K th local Ising Machine, but which is an internal spin of a neighbouring local Ising Machine. That is to say, preferably, interactions/connections connect an internal spin of the K th local Ising Machine to an internal spin of a neighbouring local Ising Machine. That is to say, preferably, the interactions/connections connect an internal spin ( ⁇ i ) of the K th local Ising Machine to an internal spin of a neighbouring local Ising Machine.
  • Bias terms, or coefficients, h ⁇ may be set to zero or may be non-zero according to the requirements of the problem being solved.
  • each spin variable values ⁇ i ⁇ ⁇ 0,1 ⁇ is a decision variable determined by the algorithm employed by a local Ising Machine for optimising the local Hamiltonian, H LocaI , for all i ⁇ N K (i.e. internal spin values of the k th local Ising Machine).
  • the value of that external spin is not assigned or determined by the local Ising Machine that seeks to minimise the above local Hamiltonian function.
  • the values of the external spins ( ⁇ I ) within the local Hamiltonian function are assigned/determined by the neighbouring local Ising Machine within which the given non-local/external spin resides (i.e. ⁇ i ⁇ ⁇ 0,1 ⁇ is determined endogenously).
  • the action or operation of the K th local Ising Machine does not directly control value of a given external spin ( ⁇ I ), however the action or operation of the associated Ith neighbouring local Ising Machine does directly control value of that external spin ( ⁇ I ).
  • the I th neighbouring local Ising Machine communicates the value of that external spin ( ⁇ I ) to the K th local Ising Machine connected to it such that the K th local Ising Machine may incorporate that external spin value in to the local Hamiltonian, H LocaI , before or during optimisation of that function, locally.
  • the invention may provide a distributed network of machines comprising a plurality of separate network nodes each comprising one or more local machines adapted to operate according to local operating parameters, wherein each network node comprises: a local Ising Machine comprising at least one local spin variable and a plurality of interaction coefficients each associated with a respective interaction between the at least one local spin variable and at least one other spin variable, wherein one or more local spin variables correspond with operating parameters of the one or more local machines of the network node; wherein at least one local spin variable of each local Ising Machine is connected to a neighbouring local spin variable of a neighbouring local Ising Machine of another network node of the plurality of network nodes via a said interaction coefficient, wherein one or more neighbouring local spin variables correspond with operating parameters of the one or more neighbouring local machines of the network of machines; wherein local Ising Machines are each adapted to separately implement the following steps:
  • (a) define a local Hamiltonian according an Ising Model comprising: the local spin variables of the local Ising Machine; the interaction coefficients connected to the local spin variables; and neighbouring local spin variables of neighbouring local Ising Machines connected to the local spin variables by a said interaction coefficient; and,
  • a problem to be solved may be formulated as a combinatorial optimisation problem, with an objective and a (possibly empty) set of constraints.
  • a problem may be formulated as a quadratic unconstrained binary optimisation (QUBO) problem or an Ising problem.
  • QUBO quadratic unconstrained binary optimisation
  • the Appendix herein shows that these two formulations are isomorphic, and are equivalent formulations. Thus, in either formulation, the problem may be said to ultimately define an Ising model.
  • the local Ising Machines may locally find the solution to the local problem that satisfies all the local constraints while minimising the local objective function.
  • the local Ising Machines may collectively find the solution to the global problem that satisfies all the global constraints while minimising the global objective function.
  • a local Ising machine may contain an auxiliary spin(s) as a logical entity which does not directly correspond with any operating parameter of a local machine, but may nevertheless indirectly influence the operating parameters of one or more local machines by the fact that it may influence the values of the local spins (within the local Hamiltonian) that do directly correspond with those operating parameters.
  • a local Ising machine may configured to contain one or more such auxiliary spin parameters. In the extreme, a local Ising machine may comprise only auxiliary spin parameters.
  • Local Ising Machines are each adapted to separately define a said local Hamiltonian according an Ising Model also comprising bias coefficients associated with local spins.
  • a bias coefficient, hj, or “external field” term may be a linear term in an Ising Hamiltonian and may be identified as a coefficient multiplying an individual spin variable, cr £ .
  • the bias coefficient may be a non-zero value according to the requirements of the problem being solved.
  • one or more local Ising machines may be arranged to assign a predetermined value to a bias term of a respective local Hamiltonian function, according to a physical state of a local machine, or in response to an external input received by such a local machine.
  • a bias term of a respective local Hamiltonian function may be associated with an individual spin variable, or a group of spin variables, the values of which represent a physical state of a respective local machine (e.g. ‘on’/’off’, ‘open’/’closed’, ‘active’/’inactive’ etc.).
  • an input received by a respective local machine may be an externally-generated input, or may be an input generated by a local detector or sensor associated with the local machine (e.g. representing detection of a predetermined event occurring at the locality of a local machine etc.).
  • the inventor has deduced that applying an “external field” effect, via application of a modified bias term (e.g.
  • the occurrence of a relevant event at a local machine which may not occur at other local machines, has the beneficial effect of modifying the Hamiltonian function to tend to cause the values of spin variables to change to new values, during subsequent optimisation of the modified Hamiltonian, that are better suited to solving the problem as modified by the applied bias coefficient.
  • Local Ising Machines are preferably each adapted separately to change the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with a said varied value (i.e. energy value) of the local Hamiltonian that has reduced below predetermined value or has reduced by a predetermined amount.
  • the local Ising machines may be configured to implement a change to the operating parameters of one or more local machines only after the optimised local Hamiltonian has reached a sufficient degree of optimisation, but not before then.
  • a sufficient degree of optimisation may be measured either in terms of the value of the Hamiltonian falling to a sufficiently low energy value, as set appropriately by a user, or in terms of the value of the Hamiltonian reaching a substantially unchanging, or little-changing, value during a succession of optimisation operations or iterations in an optimisation process.
  • This condition would indicate that the Hamiltonian function is sufficiently close to, albeit not yet at, an optimum/minimum value.
  • a rate of change (reduction) in the energy value of the Hamiltonian of less than 5% between successive optimisation iterations may indicate that a sufficient degree of optimisation has been achieved.
  • the calculating of varied values of the local Hamiltonian includes using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting no change in the values of those neighbouring local spin variables throughout said calculating.
  • the inventor has deduced that by applying fixed values of neighbouring local spin variables, connected to variable local spin variables, within a local Hamiltonian, the effect is qualitatively the same as applying a new “external field” effect, or a bias term, at a local machine connected to that neighbouring spin variable, but not at other local machines which are not connected to that neighbouring spin.
  • thermodynamics which states that if system A is in thermodynamic equilibrium with system B, and if system A is in thermodynamic equilibrium with system C, then system B is also in thermodynamic equilibrium with system C.
  • a local Ising Machine achieves an optimal local Hamiltonian, and two of its neighbouring local Ising Machines also achieve their own respective optimal local Hamiltonians in sympathy with the local Ising Machine, then the optimal local Hamiltonians of the two neighbouring Ising Machines may be in sympathy with each other even though they are not connected to each other directly by a spin coupling.
  • the calculating of varied values of the local Hamiltonian includes using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting a change in the values of those neighbouring local spin variables during said calculating only in response to receipt of a new value of a neighbouring local spin variable from a neighbouring local Ising Machines associated therewith.
  • a local Ising machine may be configured to allow its local Hamiltonian function to be updated by a change in a spin variable value of a neighbouring Ising Machine as and when that neighbouring spin variable value changes (or its changed value is communicated to the local Ising Machine).
  • the local Ising Machine does not change the value of the neighbouring local spin variable as a part of, or during, any of the optimisation of the local Hamiltonian function.
  • the local Ising Machine may simply update its local Hamiltonian function accordingly and progresses optimisation of the updated local Hamiltonian by varying the local spin variable values within that updated local Hamiltonian.
  • Local Ising Machines are preferably each adapted to separately communicate the new values of a local spin variable determined by said calculating varied values of the local Hamiltonian to the neighbouring local Ising Machines connected to said local spin variable. If optimisation of the updated local Hamiltonian is achieved before any further updated spin variable value is received from a neighbouring Ising Machine, then the local spin variables of the local Ising Machine that are associated with the optimised local Hamiltonian are assigned the status of new optimal local spin variable values. These optimal spin values may then be communicated to neighbouring local Ising Machines to permit those neighbouring machines to update their local Hamiltonian functions and update their own optimal spin variable values etc.
  • Local Ising Machines are preferably each adapted to separately communicate the new values of a local spin variable by any one or more of the following means: telecommunication; wireless communication; fibreoptic communication; electrical communication (e.g. via a wire connection), etc.
  • Local Ising Machines may be physically separate and separated from each other, in space.
  • Local Ising Machines may be configured to operate independently of each other according to their local spin configuration, without requiring ‘commands’ from a neighbouring Ising machine or a central controller/processor/operator.
  • Local machines of a local Ising Machine may be physically separate and separated from each other, in space.
  • Local machines of a local Ising Machine may be configured to operate dependently upon each other according to the local constraints assigned to them by the local Ising Machine of which they form a part, without requiring ‘commands’ from a neighbouring Ising machine or a central controller, processor or operator.
  • This process of local optimisation of spins and the updating of the effective “external field” bias terms within neighbouring Hamiltonian functions may progress until each local Ising Machine has reached a local optimal value of its local Hamiltonian function, and thereby stops the optimisation process locally. At that point, a global optimal solution is achieved which represents an optimum of the energy of the global Hamiltonian function of the whole distributed Ising Machine, calculated in a distributed fashion.
  • effective external field we mean that this term has the “effect” of an external field term.
  • spin variable encompasses either one of “spin variables” in which: a t e ⁇ 1, -1 ⁇ , and “binary variables” in which: x t e ⁇ 0,1 ⁇ , as appropriate to the context.
  • one or more of the local Ising Machines is configurable selectively to set to a value of zero one or more of the interaction coefficients (/) connected to a local spin variable associated with a selected local machine within the local Ising Machine, and selectively to re-set the one or more interaction coefficients to a non-zero value in order to change the local Ising Machine in response the selected local machine being activated to have active local operating parameters to be controlled.
  • a local Ising Machine may be configured selectively to “expand” to incorporate additional local machines as and when they become active, or as and when it becomes desired to control them within the Ising Machine.
  • a local Ising Machine may be configured selectively to “contract” to exclude a selected local machine(s) as and when they become inactive, or as and when it becomes desired to cease control of them within the Ising Machine. This is done by ‘switching off’ an interaction coefficient (/) representing a connection/constraint upon the disconnected local machine in relation to other local machine(s) within the local Ising Machine.
  • one or more of the local Ising Machines is configurable selectively to increase the value one or more of the interaction coefficients thereof that are connected to a selected neighbouring local Ising Machine thereby selectively to increase the coordination of the operating parameters of local machines within the local Ising Machine and the neighbouring local Ising Machine connected thereto.
  • a bias term, or effective “external field” term, as discussed above may be adjusted in value, or “strength” to desirably adjust the influence of a local Ising Machine upon a neighbouring local Ising Machine, and vice versa.
  • Each local Ising Machine preferably comprises a control module arranged to map the operating parameters of the one or more machines of an Ising Machine, onto an Ising Model.
  • a local Ising Machine may associate selected operating parameters of local machines within the local Ising Machine with respective values of the local spin variables of the local Ising Machine.
  • the selected operating parameters include at least two distinct operating parameter values representing two distinct operations or operating conditions of a machine.
  • any (finite) discrete, but not necessarily binary, set of values of an operating parameter may be mapped in this way.
  • a local machine comprised a lighting unit, then a selection of any one of eight (i.e.
  • different operating parameter values may be made to choose the brightness level of the lighting unit in the range 0,1 ,... , 7, corresponding to 3 spin parameters.
  • Selected operating parameters may include, but is not limited to, any one of: a physical status of a machine (e.g. on/off); a physical motion of a machine (e.g. move/don’t move); a physical position of a machine (e.g. open/closed); an output generated by a machine (e.g. signal emitted/not-emitted); a functional status of a machine (e.g. task assigned/ not-assigned); a switching status of a machine (e.g. switch-open/switch-closed).
  • a physical status of a machine e.g. on/off
  • a physical motion of a machine e.g. move/don’t move
  • a physical position of a machine e.g. open/closed
  • an output generated by a machine e.g. signal emitted/not
  • One or more of said local Ising Machines may comprise one or more sensors configured to sense external/environmental conditions associated with the local machines thereof, wherein the one or more local Ising Machines is configurable selectively to adjust the value of one or more of the interaction coefficients (/) thereof according to the external conditions sensed by the one or more sensors, thereby to adjust the local Hamiltonian associated therewith.
  • the local Ising Machine(s) may be responsive to changes in environmental conditions in a manner that allows them to dynamically adjust to appropriately change the formulation of the problem to be solved by the Ising Machines.
  • the one or more sensors may include, but are not limited to: a proximity sensor; a motion sensor; a temperature sensor; a pressure sensor; a humidity sensor; an object/face recognition device or sensor; a timer or clock; an electrical voltage or current sensor; a fluid flow sensor.
  • local Ising Machines are each adapted to continuously calculate varied values of the local Hamiltonian thereof by varying the values of local spin variables, by applying any adjusted neighbouring local spin variable values received from neighbouring Ising Machines, and by adjusting the interaction coefficient values thereof according to changing external/environmental conditions sensed by said sensors. In this way, local Ising Machines are able to adapt to a changing environment and to determine appropriate optimal values for operating parameters of local machines in response to this.
  • optimal operating parameters for all machines within the local Ising Machines may be assigned optimal operating parameters suitable to solve, or improve, the problem or task assigned to the machines collectively.
  • the invention may provide a computer system comprising distributed network of machines according to the invention in its first aspect, described above, wherein each local Ising Machine comprises a computer, or a system of connected computers, configured to locally implement steps (a), (b) and (c).
  • the invention may provide a computer-implemented method for a distributed network of machines comprising a plurality of separate network nodes each comprising one or more local machines adapted to operate according to local operating parameters, wherein each network node comprises a local Ising Machine comprising at least one local spin variable and a plurality of interaction coefficients each associated with a respective interaction between the at least one local spin variable and at least one other spin variable, wherein one or more local spin variables correspond with operating parameters of the one or more local machines of the network node; wherein at least one local spin variable of each local Ising Machine is connected to a neighbouring local spin variable of a neighbouring local Ising Machine of another network node of the plurality of network nodes via a said interaction coefficient, wherein one or more neighbouring local spin variables correspond with operating parameters of the one or more neighbouring local machines of the network of machines; wherein the method comprises separately implementing the following steps by local Ising Machines:
  • the method may include collectively calculating, by a said local Ising Machines and a said neighbouring local Ising Machine, said varied values of the local Hamiltonian of said local Ising Machine, without changing the operating parameters of machines within the neighbouring local Ising Machine according to values of spin variables associated with the local Ising Machine during said collective calculation.
  • the method may include, by said local Ising Machines, separately defining a said local Hamiltonian according an Ising Model also comprising bias coefficients associated with local spins.
  • the method may include, by said local Ising Machines, separately to changing the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with a said varied value of the local Hamiltonian that has reduced below predetermined value or has reduced by a predetermined amount.
  • the method may include calculating varied values of the local Hamiltonian including using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting no change in the values of those neighbouring local spin variables throughout said calculating.
  • the method may include calculating varied values of the local Hamiltonian including using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting a change in the values of those neighbouring local spin variables during said calculating only in response to receipt of a new value of a neighbouring local spin variable from a neighbouring local Ising Machines associated therewith.
  • the method may include, by a said Ising Machine, communicating the new value of a local spin variable determined by said calculating varied values of the local Hamiltonian to the neighbouring local Ising Machines connected to said local spin variable.
  • the method may include varying all local spin variable values to take either one of two values alone.
  • the method may include, at one or more of the local Ising Machines, selectively setting to a value of zero one or more of the interaction coefficients connected to a local spin variable associated with a selected local machine within the local Ising Machine, and selectively re-setting the one or more interaction coefficients to a non-zero value in order to change the local Ising Machine in response the selected local machine being activated to have active local operating parameters to be controlled.
  • the method may include, by one or more of the local Ising Machines, selectively increasing the value one or more of the interaction coefficients thereof that are connected to a selected neighbouring local Ising Machine thereby selectively to increase the coordination of the operating parameters of local machines within the local Ising Machine and the neighbouring local Ising Machine connected thereto.
  • the method may include, by a control module, mapping the operating parameters of the one or more machines of an Ising Machine, onto an Ising Model.
  • the method may include, by one or more of said local Ising Machines, sensing external/environmental conditions associated with the local machines thereof, and selectively adjusting the value of one or more of the interaction coefficients thereof according to the external conditions sensed by the one or more sensors, thereby to adjust the local Hamiltonian associated therewith.
  • the method may include continuously calculating varied values of the local Hamiltonian thereof by varying the values of local spin variables, by adjusting the neighbouring local spin variable values thereof, and by adjusting the interaction coefficient values thereof according to changing external/environmental conditions sensed by said sensors.
  • the invention may provide a computer program, or computer program product, comprising instructions which, when the program is executed by a computer system, cause the computer system to carry out the method described above.
  • the invention may provide a computer-readable storage medium comprising instructions which, when executed by a computer system, cause the computer system to carry out the method described above.
  • the invention may provide a computer program comprising instructions which, when the program is executed by a computer system according to the invention in its second aspect, described above, cause the computer system to carry out the method described above wherein each local Ising Machine comprises a computer, or a system of connected computers, configured to locally implement steps (a), (b) and (c).
  • Ising model may include a reference to a mathematical model named after the physicist Ernst Ising, which is model of ferromagnetism in statistical mechanics.
  • An Ising model may comprise a Hamiltonian function representing the energy of a system in terms of discrete binary variables referred to as "spins" that can be in one of two states (e.g. +1 or 0; alternatively +1 or -1).
  • a spin variable may interact with another spin variable via an “interaction” coefficient represented within the Hamiltonian function thereby enabling two interacting to contribute energy to the Hamiltonian function.
  • An “interaction coefficient” is also known as a “coupling coefficient” since it represents the strength of a coupling between two spin variable.
  • Interacting spin variables that is to say spin variables interacting with each other via a mutual “interaction” may be collectively represented, notionally, in a lattice or graph arrangement of separate spins linked by interactions.
  • An “external field” may be represented within the Hamiltonian function as applied to individual spin variables and enabling individual spin variables to contribute energy to the Hamiltonian function independently of an “interaction” with another spin variable.
  • non-zero coupling coefficients (/) give rise to the quadratic/bilinear terms of the Hamiltonian
  • nonzero bias coefficients (ft) give rise to linear terms of the Hamiltonian.
  • An Ising model constructed with discrete spin variables (a) existing as either +1 or 0, may be transformed into an Ising model constructed with discrete spin variables (x) existing as either +1 or -1 according to the following transform:
  • Ising Machine may include a reference to a physical system designed to find solutions to combinatorial optimization problems mapped onto the Ising Machine via the coupling strengths of its binary spins.
  • Ising machines may include processors configured to solve the Ising model. By varying the intrinsic spin variables and e.g. an annealing algorithm, an Ising Machine relaxes overtime towards its lowest energy state, which is an optimal solution to the combinatorial optimisation problem.
  • An Ising Machine may be implemented in quantum, optical, and/or electronic hardware.
  • machine used herein, may include a reference to a physical system designed to perform an intended action according to designated operating parameters.
  • An operating parameter may include a designated control input to the machine, or a constraint upon the nature or performance of the intended action.
  • a machine may comprise, but is not limited to: a mechanical, or electrical, or electronic, or optical, or electromagnetic, or acoustic, or computational device or apparatus.
  • a local Ising Machine may be physically local to a particular region or part of a greater physical entity (e.g. a global Ising Machine), and/or may be logically local to a particular region or part of a greater logical entity.
  • the invention includes the combination of the aspects and preferred features described except where such a combination is clearly impermissible or expressly avoided.
  • Figure 1 schematically illustrates a machine unit defining one network node of a distributed network of machines comprising a plurality of separate network nodes each comprising one or more local machines adapted to operate according to local operating parameters;
  • Figure 2 schematically illustrates a distributed network of machines comprising four separate network nodes each comprising four local machines (each represented by a respective spin);
  • Figure 3 schematically illustrates a distributed network of machines comprising four separate network nodes each comprising four local machines (each represented by a respective spin);
  • Figure 4 schematically illustrates a distributed network of Ising Machines each defining a respective one of five separate network nodes each comprising four local machines (each represented by a respective spin);
  • FIG. 5 schematically illustrates an initial state of a distributed network of Ising Machines each defining a respective one of four separate network nodes each comprising three local machines (each represented by a respective spin).
  • Each local machine is a light-emitting unit of three light-emitting units (Red, Amber, Green) in the same traffic light system;
  • Figure 6 schematically illustrates a final state of a distributed network of Ising Machines of Figure 5;
  • Figure 7 graphically illustrates solutions trajectory (upper graph) and an energy trajectory (lower graph) of a distributed network of Ising Machines of Figure 5;
  • Figure 8 graphically illustrates a network of corridors with labels and distances
  • Figure 9 graphically illustrates a distributed network of Ising Machines each defining a respective one of four separate network nodes each comprising three or four local machines (each represented by a respective spin);
  • Figure 10 graphically illustrates solutions trajectory (upper graph) and an energy trajectory (lower graph) of a distributed network of Ising Machines of Figure 8;
  • FIG 11 schematically illustrates the relationship between variations in the spin configuration of an Ising Machine, and the corresponding variation in the energy of the resulting Hamiltonian of the spin configuration.
  • Each spin ⁇ i is assigned a corresponding binary value ⁇ i ⁇ ⁇ 0,1 ⁇ where adjacent spins, ⁇ i , ⁇ j , interact based on their coupling coefficient I ij .
  • an external field h i may influence each spin, ⁇ i .
  • the energy of this system of spins is defined by the Hamiltonian: Here N is the set of all spins ( ⁇ ) and A is the set of all edges or interaction coefficients (J ij ) forming connections between spins.
  • the Local Ising Machine Figure 1 schematically illustrates a local Ising Machine unit defining one network node of a distributed network of local Ising Machines, such as is schematically illustrated in Figure 3, with examples also shown in Figure 4, Figure 5, Figure 6 and Figure 9.
  • Each local Ising Machine unit is comprised of the following components: a control module (210), an Ising circuit (220), and activation module (240), an optimisation algorithm (230), and a communication device (250).
  • Each local Ising Machine has multiple separate local machines each represented by at least one associated spin variable, and each adapted to operate according to local operating parameters.
  • Each local Ising Machine is configured to optimise a part of the problem assigned to the distributed network of Ising Machines, and to communicate the results of optimisation of the values of some of it's spin variables to the neighbouring Ising Machine units within the network of Ising Machines.
  • it regularly receives at its communications device (250) input signals/data containing the results of optimisation of the values of some the spin variables of its neighbouring local Ising Machine units via communications issued from the communications unit (250B) within the neighbouring Ising Machine units.
  • Adjacent spin-variables are spins that are adjacent in the problem network graph. That is they are directly connected by a connection (interaction coefficient J).
  • connection (interaction coefficient J)
  • spins ⁇ i and ⁇ j are adjacent. If both spins are internal to the same local Ising Machine unit, referring to the schematic example of Figure 3, we call the connection between spins ⁇ i and ⁇ j a local interaction (330), as indicated by a solid line in Figure 3 denoted “internal spin connection”, otherwise the connection (interaction coefficient J) is external (340) as indicated by a dashed line in Figure 3.
  • Figure 3 four separate local Ising Machines, and each one of the local Ising Machine units incorporates into its local Hamiltonian function the value of a connected spin variable ( ⁇ ) of a neighbouring local Ising Machine unit and the value of the interaction coefficient (J) that connects that neighbouring spin to an internal spin of the local Ising Machine unit.
  • the local Ising Machine unit does not vary the value of that connected external spin variable ( ⁇ ) or the value of the interaction coefficient (J) that connects it.
  • local Ising Machine “unit 2” contains local machines “4”, “5”, “6” and ”7”. Each one of these four local machines is internally connected to each one of the other three local machines by an interaction coefficient (J).
  • Local Ising Machine “unit 4” contains machines “8”, “9”, “10” and “11”. Each one of these four local machines is internally connected to each one of the other three local machines by an interaction coefficient (J).
  • local Ising Machine “unit 3” contains local machines “12”, “13”, “14” and ”15”. Each one of these four local machines is internally connected to each one of the other three local machines by an interaction coefficient (J).
  • An operating parameter of each one of these sixteen machines “0” to “15” is represented by an associated spin variable ( ⁇ ).
  • Two external interaction coefficients ( ⁇ ) form two separate spin connections between spin variables within Ising Machine “unit 1” and Ising Machine “unit 2” and two external interaction coefficients ( ⁇ ) form two separate spin connections between spin variables within Ising Machine “unit 1” and Ising Machine “unit 3”.
  • two external interaction coefficients ( ⁇ ) form two separate external spin connections between spin variables within Ising Machine “unit 4” and Ising Machine “unit 2” and two external interaction coefficients ( ⁇ ) form two separate spin connections between spin variables within Ising Machine “unit 4” and Ising Machine “unit 3”.
  • no external spin connection is made between Ising Machine “unit 1” and Ising Machine “unit 4”.
  • Ising Machine units are only indirectly connected via Ising Machine “unit 2” and Ising Machine “unit 3”.
  • respective external interaction coefficients ( ⁇ ) connect the following local machines: machines “0” and “4”; machines “3” and “5”; machines “6” and “8”; machines “7” and “11”; machines “9” and “13”; machines “10” and “14”; machines “1” and “15”; machines “12” and “2”.
  • None of the local machines of local Ising Machine “unit 1” has an external interaction coefficients ( ⁇ ) forming a spin connection with any of the machines of local Ising Machine “unit 4” Neighbouring units
  • a pair of neighbouring local Ising Machine units are any two local Ising Machine units, ⁇ and b, for which there exist at least one connection (i.e. interaction coefficient, J) between a spin variable ⁇ i in ⁇ and another spin variable ⁇ j in ⁇ (i.e. spins ⁇ i and ⁇ j are adjacent).
  • the system comprises the local Ising Machine units and their interaction coefficients as well as a central control interface (100), used to set up the problem. Once the system is operational no central authority is necessary to control the local Ising Machine units.
  • each local Ising Machine unit in order to solve the actual problem, by activating or changing the operating parameters of zero, one, or more local machines (e.g. a local machine may correspond to a physical device e.g. an LED, a motor, etc.).
  • the Components of the System comprises a central control interface and number (possibly many) local Ising Machine units, each of which is attached to or integrated into, a machine, or may itself comprise several machines.
  • Local Ising Machine units comprise a combination of hardware and software, implemented by a computer processor, to control or interface with the hardware.
  • the system comprises all the local Ising Machine units (200) and their spin variables, their bias coefficients (h; also known as ‘external field’ coefficients), and their interaction coefficients, and communications device (250) as well as a user control interface (100).
  • the user interacts with all the local Ising Machine through a central interface (100) and a corresponding control interface (211) of the local Ising Machine.
  • These interfaces may communicate via any suitable telecommunications apparatus and method readily available to the skilled person. This enables a user/operator to define and modify a control algorithm (212) contained within the control module of the local Ising Machine and the initial configuration of coefficients (J and h) and spin parameters ( ⁇ ) of an Ising model.
  • the initialisation of the system is performed prior to the deployment of the local Ising Machine and, potentially, when the local Ising Machine(s) are not operational (e.g. during maintenance or during low demand periods). Additionally, an operator may continually monitor the performance of a local Ising machine through the control interface during operations and make any necessary adjustments.
  • the control module (210) controls the configuration of the Ising circuit 220 (the coefficients and connections, and any fixed spins and external and internal spins). It comprises a control interface (211), which the user/operator interacts with, a control algorithm (212) that governs the Ising circuit, and optionally a predictive module (213), that provides predictions (e.g. expected future demand, temperature, etc.) available to the control circuit.
  • the prediction module takes environmental variables and makes predictions available to the control algorithm.
  • the control algorithm updates the coefficients and topology of the Ising circuit based on instructions from the operator drawing potentially on inputs from the prediction module, sensors (260) and other peripherals that may be dynamically updated.
  • the local Ising Machine comprises one or more such sensors (260) configured to sense external/environmental conditions associated with the local machines of the Ising Machine unit.
  • the local Ising Machines is configurable selectively to adjust the value of one or more of the interaction coefficients (/) within the Ising circuit (220) according to the external conditions sensed by the one or more sensors (260), thereby to adjust the local Hamiltonian associated with te local Ising Machine, as desired or appropriate.
  • the control algorithm may also evaluate the current solution based on the current status of spins. At a minimum the control module contains the control interface to initialise the configuration of the Ising circuit.
  • the local Ising Machine unit (200) seeks to optimise the local Ising Hamiltonian as defined by the Ising circuit (220) and its coefficients.
  • the Ising model is optimised by the use of an algorithm (230) such as momentum annealing, simulated annealing, etc.
  • the Ising circuit (220) is a physical implementation of part of the Ising model (300: Figure 3) and represents part of the network graph consisting of at least one spin and a representation of their adjacent spins in neighbouring units as well as their connections as defined by the network graph.
  • the Ising circuit (220) is implemented as a CMOS circuit as described by Yamaoka et al., identified in the references section below.
  • Local Ising Machines may be physically separate and separated from each other, in space. They may be configured to operate independently of each other according to their local spin configuration, without requiring ‘commands’ from a neighbouring Ising machine or a central controller, processor or operator. Local machines (e.g. items 0 to 14 of Figure 3) of a local Ising machine may also be physically separate and separated from each other, in space. Local machines of a local Ising machine may be configured to operate dependently upon each other according to the local constraints assigned to them by the local Ising Machine of which they form a part (i.e. the constraints of the problem being solved), without requiring ‘commands’ from a neighbouring Ising machine or a central controller, processor or operator.
  • An algorithm (230) that optimises the configuration of spins based on the Hamiltonian coefficients and the status of the neighbouring spins e.g. simulated annealing, momentum annealing.
  • ⁇ i ⁇ ⁇ 0,1 ⁇ is a decision variable determined by the algorithm for all i ⁇ N K (i.e. internal spin values of the k th local Ising Machine).
  • ⁇ I ⁇ ⁇ 0,1 ⁇ of the local Hamiltonian, H IocaI , the value of that external spin is not assigned or determined by the local Ising Machine that seeks to minimise the above local Hamiltonian function.
  • the values of the external spins ( ⁇ I ) within the local Hamiltonian function are assigned/determined by the neighbouring local Ising Machine within which the given non-local/external spin resides (i.e. ⁇ I ⁇ ⁇ 0,1 ⁇ is determined exogenously).
  • the action or operation of the K th local Ising Machine does not directly control value of a given external spin ( ⁇ I ), however the action or operation of the associated I th neighbouring local Ising Machine does directly control value of that external spin ( ⁇ I ).
  • the I th neighbouring local Ising Machine communicates the value of that external spin ( ⁇ I ) to the K th local Ising Machine such that the K th local Ising Machine may incorporate that external spin value in to the local Hamiltonian, H IocaI , before or during optimisation of that function, locally.
  • This is graphically illustrated in Figure 4.
  • FIG 4 here distributed network of 20 machines is schematically illustrated. Each of these 20 machines is represented by a respective spin variable.
  • Each local Ising Machine comprises 4 local machines and is configured to reduce (preferably minimise) it’s local Hamiltonian function: To implement this optimisation, each local Ising Machine is configured to vary only the internal spin variable values it possesses ( ⁇ i , ⁇ j ) to reduce the value of the local Hamiltonian function.
  • each local Ising Machine is also configured to not vary the external spin variable values ( ⁇ I ) it does not possess but which it does include within its local Hamiltonian function.
  • the inventor has realised that by preventing the local Ising Machine from varying the values of the external spin variables ( ⁇ I ) within the local Hamiltonian function, whilst optimising that function, this is equivalent to applying an “external field” component to local spins of the local Ising Machine in which the value of the “external field” is dependent upon the value of the external spin variable values ( ⁇ I ) connected to the local spin in question.
  • the second group of terns of this Hamiltonian function comprises the “external field” terms commonly seen in Ising Hamiltonians.
  • the third group of terns of this Hamiltonian function comprises the “effective external field” terms resulting from the manner in which local Ising Machines are connected and communicate according to the invention.
  • the combination of these two “external field” terms is the overall “external field” in Hamiltonians of local Ising Machines according to the invention:
  • the local Ising Machine is connected to four separate neighbouring local Ising Machines. Each local Ising Machine contains four local machines (i.e. each represented by a spin variable) adapted to operate according to local operating parameters represented by an associated spin variable value ( ⁇ ).
  • Each local machine may be a physical machine adapted to generate a physical output, or adopt a particular physical/operational state, according to its operating parameters.
  • the five local Ising Machines define a distributed network of 20 local machines (i.e. each represented by a spin variable).
  • Each of the 20 local machines defines a respective one of 20 separate network nodes.
  • a local machine may be an illumination unit in a traffic light signal box (e.g. the green light control unit, or the red light control unit, or the amber light control unit, etc.) with operational states “on” and “off”, or may be a passenger gate in a railway station, or an airport, with operational states “open” or “closed”.
  • Each local Ising Machine comprises not only four local spin variables ( ⁇ ), but also comprises six interaction coefficients (J ij ) each associated with a respective interaction between one local spin variable ( ⁇ i ) and one other local spin variable ( ⁇ j ).
  • Each local spin of the local Ising machine is connected to each other local spin of that local Ising Machine. This configuration applies to the local spins and interactions of each of the four neighbouring local Ising Machines.
  • the local Ising Machine shares four additional interaction coefficients (J iI ) with a respective one of the four neighbouring local Ising Machines.
  • the full complement of spins and interaction coefficients is shown only for the central local Ising Machine, and only those spins of each of the four neighbouring local Ising Machines that is connected to the central local Ising Machine are shown. This is purely for clarity, and it is to be understood that each of the neighbouring Ising Machines may have six local interaction coefficients fully connecting a total of four local spins configured in the same way as is shown for the central local Ising Machine of Figure 4.
  • one of more of the four neighbouring local Ising Machines may be configured differently to the configuration of the central local Ising Machine of Figure 4, such as by having fewer interaction coefficients between local spins (i.e. not fully-connected) or by having more or fewer spins etc.
  • each neighbouring local Ising Machine when considered individually, may be considered as a local Ising Machine connected to one neighbouring local Ising Machine – namely the central local Ising Machine of Figure 4.
  • each neighbouring Ising Machine may be connected to additional neighbouring local Ising Machines not shown in Figure 4.
  • each neighbouring local Ising Machine shown in Figure 4 may be connected to four local Ising machines, one of which is the central local Ising Machine shown in Figure 4 with the other three local Ising Machines not shown. That is to say, the network of local machines (network nodes) may comprise more local machine that the 20 local machines illustrated in Figure 4, and these additional (not shown) local machines may also be configured as one or more additional local Ising Machines forming a part of a greater network (not shown) of local Ising Machines of which the five local Ising Machines of Figure 4 form a part.
  • each local Ising Machine and each local Hamiltonian function may be made much easier and quicker to solve using inexpensive and non-specialist computer processors readily available to the skilled person.
  • specialist Ising Computing hardware may be used in one, some or each of the local Ising Machines to implement optimisation of the local Hamiltonian function, and examples of such computing hardware are given in the references section below (e.g. implemented as a CMOS circuit as described by Yamaoka et al.), however this is a matter of choice.
  • the Zeroth Law states that if a system A and a system C are in thermal equilibrium with each other, and a system B and the system C are also in thermal equilibrium with each other, then the system A and the system B are also in thermal equilibrium with each other.
  • two separate local Ising Machine which are each neighbours to one common Ising Machine (i.e. connected to via an effective “external field”) but which are not connected directly to each other, are able to reach thermal equilibrium with each other via their mutual connection to the one common Ising Machine.
  • the effective “external field” of the Hamiltonian function for the common Ising Machine allows this thermal equilibrium to arise.
  • the inventor has realised that the particular manner in which the connected/communicating local Ising Machines are made to communicate is particularly effective in allowing a local Ising Machines to be beneficially influenced by a connected neighbouring local Ising Machine, without rendering optimisation of the Hamiltonian function of the local Ising Machine too difficult or time-consuming computationally.
  • the network of connected local Ising Machines is able to rapidly optimise by virtue of the rapid optimisation of separate local Hamiltonian functions thereby permitting the network of local machines (i.e. as represented by spins) to collectively calculate an optimal set of operating parameters in a distributed way without requiring centralised computational effort or control.
  • the algorithm is based on momentum annealing as described by Okuyama et al., referred to in the References section herein.
  • the advantage is that all spin variables can be updated simultaneously as opposed to simulated annealing.
  • the algorithm is run continuously until the problem is solved or is terminated by the control module.
  • the external spin values must be updated during the course of the algorithm.
  • the algorithm terminates e.g. based on a convergence criteria and is subsequently restarted with the current spin values except for external spin values, which may be updated before restarting the algorithm.
  • a communication device (250) is configured to transmit the value of the local Ising Machine's spins and to receive (from neighbouring communications devices 250B) the value of all adjacent spins in neighbouring units according to the network graph.
  • the communication module keeps a map of its internal spin identities (IDs) and their corresponding value. Table 1 shows an example of such a map. This map is continuously updated and reflects the current status of the Ising circuit (220). Only spins with external connections (i.e. externally connecting interaction coefficients, /) need to be represented. This map is broadcast to neighbouring units.
  • the broadcast of all such spin values occurs at regular temporal intervals.
  • each time such a spin is updated by the algorithm (230) it's new value is broadcast to all relevant (i.e. connected) neighbouring units.
  • Table 1 Example of internal spin-value map for “unit 1 ” in Figure 3.
  • the communication device (250) keeps a map of external spin IDs received from other neighbouring local Ising Machine units.
  • An example of such a map is shown in Table 2.
  • Each such external spin value is fixed in the Ising circuit (220) and optimisation algorithm (230), or equivalently, the external field coefficient may be directly modified using these external spins (cr 7 ) according to the following equation:
  • the external spin value map is updated each time new spin values are received from neighbouring local Ising Machine units.
  • the Ising circuit (220) is updated with the values in the external spin map immediately prior to every new run of the optimisation algorithm (230).
  • an external spin value is updated in the Ising circuit (220) immediately if it's value changes in the external spin-value map.
  • Table 2 Example of external spin-value map for “unit 1” in Figure 3.
  • Local Ising Machines are each adapted to separately communicate the new values of a local spin variable by any one or more of the following means: telecommunication; wireless communication; fibre-optic communication; electrical communication (e.g. via a wire connection), etc.
  • Activation module An activation circuit and device(s) (240) is configured to be controlled by the value of the spin variables generated by optimisation of the Ising Hamiltonian represented by the Ising circuit (220), or takes such spin values as input. The activation module may also control the machines general operational hardware and software e.g. for navigation, communication, etc.
  • Traffic light signalling Objective The objective is to manage a number of traffic light signals, such that the number of cars that has a green signal is maximised, while ensuring that signals in same and parallel directions are in the same state and that perpendicular signals are in the "opposite" state, to avoid collisions.
  • Formulation Let ⁇ ik ⁇ ⁇ 0,1 ⁇ for K ⁇ ⁇ RA G ⁇ where R, A, G represent red, amber, green respectively, and i represent the traffic signal.
  • R, A, G represent red, amber, green respectively, and i represent the traffic signal.
  • this Hamiltonian function takes the form of an Ising Hamiltonian. In order to ensure that traffic signals in the same (or parallel) directions have same values. Ensuring that signal i and j are both in the same time by the following constraints:
  • this Hamiltonian function takes the form of an Ising Hamiltonian.
  • operator indicates that signals must be in same state.
  • signal i and j are on perpendicular road segments, we want to ensure that traffic does not collide. In this case, we require that if signal i is green, then signal j is red and vice versa.
  • this Hamiltonian function takes the form of an Ising Hamiltonian.
  • the 1 operator indicates that signals must be in "opposite" state.
  • ⁇ i is the number of cars at or approaching signal i.
  • H H 0 + ⁇ H 1 + ⁇ H 2 + ⁇ H 3
  • ⁇ , ⁇ , ⁇ are real-valued scaling coefficients selected by the user.
  • h ⁇ refers to the combined linear coe-cients (or “external field”) of all the terms: H 0 , H 1 , H 2 , H 3 .
  • Figure 5 shows an Ising model of the traffic light embodiment of the invention described above. Nodes of the network of local machines are numbered 0 through to 11, where nodes 0, 1 and 2 belong to local Ising Machine 0. Local machine nodes 3, 4 and 5 belong to local Ising Machine 1. Local machine nodes 6, 7 and 8 belong to local Ising Machine 2.
  • Each local machine is an illumination control unit which is configured to control the illumination state of a respective one of three illumination units (e.g. LED lights etc.) within a traffic light signalling box or unit.
  • Each traffic light signalling box or unit contains three such illumination control units, and one such illumination control unit controls the illumination state of a respective one of: a green light; an amber light; a red light.
  • Each traffic light signalling box or unit represents a local Ising Machine.
  • Each of these four local Ising Machines has three spin variables corresponding to the operational states of a respective one of: a green light; an amber light; a red light.
  • the spins within each local Hamiltonian that arise from a neighbouring local Hamiltonian are fixed according to the current value as found in the most recent optimisation of each of the neighbouring local Ising Machines that contribute spin values to the local Hamiltonian being optimised.
  • the local Ising Machines converge to the ground state (of the global Ising model), where two local Ising Machines are in state "green” and the other two are in state "red”.
  • the global minimum energy level (before and after iteration 20) is ⁇ 2.6 corresponding to being green in the direction of the approaching car as well as satisfying all constraints.
  • Figure 6 shows the configuration of the four local Ising Machines in their final state at iteration 39.
  • the corresponding four local Hamiltonians are as follows:
  • This example consists of four local Ising machines, one for each of four traffic signal boxes in a junction.
  • Each local Ising Machine consists of 3 local machines (illumination units: “red”, “amber”, “green”) to each of which is assigned a respective spins variable corresponding to the state of the machine (i.e. “on”/”off”).
  • Each of two pairs of signal boxes are arranged to be in opposite (but parallel) directions (e.g. North- South, and East-West). Each of such pairs are forced to be in the same state, while the other pair (with crossing traffic) must be in the opposite state (e.g. if North and South are green, then East and West must be red and vice versa).
  • An external field bias coefficient e.g. h 1.0 is used to model incoming traffic e.g. based on sensor measurements. A negative external field on the “green” spin would “encourage” this signal to go to a “green” state etc.
  • local spin parameters do not necessarily translate directly one-to-one to operating parameters.
  • some spins may not correspond to operating parameters, e.g. they may be auxiliary parameters (or auxiliary decision variables) that are not directly related to machine operations but may be desirable or necessary to model the optimisation problem.
  • each operating parameter of a local machine may correspond to one or several spin parameters.
  • operating parameters are binary, but this may not necessarily be the case.
  • the constraints imposed may force the machine to be in exactly 1 of only 3 states.
  • Table 3 Specification of the changing H o in the simulation. No entry indicates a value of zero.
  • x 2 x
  • ⁇ and ⁇ are suitable scaling coefficients.
  • the corridors may be located within a building such as a warehouse, storage depot, or factory floor.
  • the AGVs might be robotic vehicles tasked with e.g. moving items within the warehouse, storage depot or factory from one place to another place in order to achieve an overall task or job.
  • the task or function might be, for example, collecting parts of assembly of an object within an automated assembly line (e.g. manufacturing cars), or re-stocking/storing products within a warehouse of a supermarket or online retailer by transporting them from a warehouse/depot loading area to a designated storage location within the warehouse/depot.
  • the task or function might be retrieving products from a designated storage location for delivery to a warehouse/depot shipping area for onward transport to a customer.
  • these examples are simply presented to help with a better understanding of the invention and it is to be understood that the invention is not limited to these particular examples, as would be readily understood by the skilled person.
  • the network of connected corridors comprises seven (7) separate corridors designated A, B, C, D, E, F and G.
  • Each corridor extends between two terminal ends defined by a respective node.
  • Each node connects a terminal end of one corridor to the terminal end of only one other corridor, or to the terminal ends of only two other corridors.
  • one terminal end of corridor A is connected only to one terminal end of corridor B.
  • the other terminal end of corridor A is connected only to one terminal end of corridor C.
  • the other terminal end of corridor C is connected both to one terminal end of corridor D and one terminal end of corridor F.
  • the other terminal end of corridor B is connected both to one terminal end of corridor D and one terminal end of corridor E.
  • the otherterminal ends of corridors E and F are each connected, respectively, only to one of the two opposite terminal ends of corridor G.
  • the lengths corridors C and G are each one unit of length, whereas the lengths corridors A, E and F are each two units of length. However, corridor D is three units of length, which corridor B has 0.5 units of length.
  • Each of the four AGV's is required to navigate these corridors to get from their current position to their destination without colliding with other AGV's.
  • at most one (1) AGV can be on an edge (i.e. within a given corridor) at any point in time and that it takes one (1) given time period for each AGV to complete the traversal of the edge (i.e. corridor) it is upon (within).
  • AGV's are allowed to pass each other in the nodes.
  • each node might correspond to an area of the building (e.g. a foyer, or passing place) located at an end of a given corridor, which is of greater width enabling such passing of AGVs there.
  • the corresponding feasible routes for each AGV and their corresponding distance is given in table 4.
  • route 0 and route 11 are seen to conflict because they both use edge C in the second time period.
  • route 0 comprises three periods of AGV movement: firstly corridor A, secondly corridor C, thirdly corridor F.
  • route 11 comprises two periods of AGV movement: firstly corridor D, secondly corridor C.
  • Table 4 Table of pre-calculated feasible routes and their distances for each AGV.
  • Each AGV contains an Ising Machine of the type shown in Figure 1.
  • Each of these Ising Machines contains one spin variable ( ⁇ ) for each of it's feasible routes.
  • some Ising Machines contain three spin variables, while others contain four spin variables.
  • the corresponding Ising model is shown in Figure 9.
  • FIG. 10 shows the resulting energy trajectory (bottom panel) and solutions trajectory (top panel) over the 10 iterations.
  • Ising Machine #2 changes it's route in the third iteration (iteration 3), to a route which is 2 distance units shorter.
  • Ising Machine #1 sacrifices it's locally best solution in order to achieve an improvement in the global solution by 1 .5.
  • Each machine can only perform one task at a time, each task requires one or more machines from a subset of all machines in order to complete.
  • the objective is to complete as many tasks as possible.
  • a number of tasks are located at unknown positions across an area. To complete a task, a minimum of n machines need to be assigned to the task.
  • Each machine e.g. robot, AGV, drone, etc.
  • Each of the internal spins is remotely connected to its counterpart within the Ising Machine in a neighbouring machine (e.g. robot, AGV, drone, etc.).
  • Neighbouring machines may be defined as “neighbouring” if those machines within a predefined range of another machine.
  • the design of the Hamiltonian will impose a convergence to a state where exactly n - 1 of the neighbouring units will switch their spin state to correspond to the state of the first unit assigned to task #1 , that is they will also be assigned to task #1 . Being in this state will cause the activation circuit of the Ising Machine within it to move the machine close to the machine already assigned and assign itself to task #1 . The remaining units will stay in state “not assigned” and continue searching. The process repeats every time a new task is encountered.
  • This Hamiltonian may be optimised (minimised) according to the invention, using local Ising Machines within each relevant Machine (e.g. robot, AGV, drone, etc.). This permits the optimisation of the collective operation of a plurality of machines to be computed in a distributed fashion to enable better, more efficient operation of these machines.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Feedback Control In General (AREA)

Abstract

A distributed network of machines comprises multiple separate network nodes each comprising machines adapted to operate according to local operating parameters. Each network node comprises a local Ising Machine wherein local spin variables correspond with operating parameters of the local machines of the node. Local spin variables of each local Ising Machines connect to neighbouring local spin variables of neighbouring Ising Machines of another network node via an interaction coefficient. Local Ising Machines separately define a local Hamiltonian according an Ising Model of the local Ising Machine including neighbouring spin variables of neighbouring connected Ising Machines. Local Ising Machines calculate varied values of the local Hamiltonian by varying the values of local spin variables without varying the neighbouring local spin variables connected thereto. Local Ising Machines change the operating parameters of local machines according to the values of spin variables associated with the local Hamiltonian having a reduced value.

Description

SYSTEM AND METHOD FOR IMPLEMENTING A DISTRIBUTED ISING MACHINEF
Field of the Invention
The present invention relates to distributed computing and particularly, although not exclusively, to the non-central control of a distributed network of machines.
Background
In large, complex environments, such as ports, hospitals, airports, factories, or even cities or regions, the facilitation of the flow of people, information, and goods is essential to sustain a high efficiency, reduce cost, and improve quality of service. Robots, drones, and other dynamically configurable equipment (such as gates, elevators, escalators, traffic lights, radio antennae, etc.), from now on referred to as "machines", can increase the facilitation of flow by collaborative actions. These machines are faced by (often discrete) configurations or "decisions" (in/out, up/down, red/yellow/green, assignment to task, channel assignment, etc.), which determine their function within the larger environment. However, the configuration of one machine will affect the flow of people, information, and goods and hence the optimal configuration of other machines.
For example, in optimizing traffic across a city or country for new autonomous cars and mobility platforms, the calculations required far too big for any classical computer to process fast enough to take real-time traffic conditions into account. To give an insight into the scale of the problem, in orderto find the shortest and/or least time-consuming path of five pairs of start-and-destination points, requires a calculation to deal with a vast number of possibilities. The same constraints are seen in the control and implementation of utilities infrastructure, pharmaceuticals and life sciences research and manufacturing, and in materials and chemistry research and manufacturing. These are combinatorial optimization problems. One example is traffic route optimization. Another example is a task for an automotive manufacturer to calculate the best possible path for production seaming robots setting out from and returning to their base positions. Solving this optimization challenge may result in a higher vehicle throughput without investment in additional resources.
Currently, the configuration of multiple machines, such as robots, autonomous cars, traffic light signalling boxes or other machines, is made by manual and/or central configuration. Centrally configured machines are prone to breakdowns and targeted attacks in both the central authority and in the communication links between the central authority and each of (possibly thousands of) machines. Often the configuration is static and does not adapt to changing needs and demands. Even when configurations are dynamic (such as elevators responding to "presses of a button") they are usually considered in isolation from other machines in the environment, let alone the whole system, which may lead to sub-optimal decisions and bottlenecks in other parts of the system.
The present invention has been devised in light of the above considerations. Summary of the Invention
This invention proposes a distributed intelligent system comprised of connected machines that collaborate to achieve the optimal or near-optimal outcome to a common problem. The solution to the problem is defined by the configuration of some or all of the machines in combination. The machines may dynamically adjust their configurations to converge to a solution which is globally optimal taking dynamically changing inputs into consideration.
In the current invention, it is proposed that a system of connected machines is arranged to dynamically change their configuration in response to external stimuli and to collaborate to identify the combination of configurations (e.g. across all machines) that achieves a common goal. For example, the system of connected machines may solve a combinatorial optimisation problem. Such problems are notoriously hard to solve as the number of combinations increases exponentially with the number of connected machines. Even with large computing resources available, many combinatorial optimisation problems are intractable for realistic sized problems (e.g. the well-known ‘job-shop scheduling’ problem). The present invention proposes to address this computational challenge by applying a distributed algorithm across multiple machines (e.g. all the machines involved). Each one of the connected machines may be configured to solve a local part of the global optimisation problem, rather than attempting to solve the global problem alone. The multiple local solutions provided by the multiple connected (local) machines has been found to provide useful and practical solutions to the global optimisation problem. Each local machine of the connected machines may implement a known optimisation algorithm such as “momentum annealing”, or “distributed simulated annealing”, or “quantum annealing”. Any one or more of the local machines may implement an optimisation, locally, on a local computer processor. The local computer processor may be a classical computer (such as a von Neumann machine) or a digital annealer or CMOS annealer, or may be a quantum computer (e.g. using quantum bits or ‘qubits’) such as a quantum annealer available from D-Wave Systems Inc.
Current technology employs static and isolated (i.e. non-collaborative) configurations of machines that lead to sub-optimal solutions to combinatorial problems, and/or employs centrally-managed configurations that are susceptible to breakdowns and hacking attacks.
The present invention proposes a system of autonomous, connected machines that collaborate to achieve a common goal based on decentralised and distributed decisions by each machine. The invention proposes a method for the system to solve certain combinatorial optimisation problems and achieve near-globally optimal solutions without central coordination. The invention proposes a method for the system to solve combinatorial optimisation problems expressed as a Binary Quadratic Model. In particular, the invention desirably mimics the behaviour of Ising spin glass models, where a system of spins are able to achieve a minimum energy level (the ground state) entirely by interaction between neighbouring spins. By decomposing an Ising model/circuit representing a combinatorial problem, into sub-components, the invention proposes to employ smaller local machines with very low energy requirements, to implement the process of optimising the local Ising sub-component relevant to it. The invention proposes communication between these sub-components, realised on local machines, such that the collection of sub-components constitute a full Ising model/circuit. Each local machine may locally optimise its local sub-component of the Ising model by optimising the local energy function (e.g. Hamiltonian of the local Ising model component) and the collective of all sub-components has been found to be able to solve highly complex problems. It is well known that finding the minimum energy level of an Ising model can be mapped to many complex combinatorial optimisation (e.g. see Lucas et al., in the references section herein). For the avoidance of doubt, it is to be understood that a Binary Quadratic Model and is a general term that encompasses both Ising and Quadratic Unconstrained Binary Optimisation (QUBO) problems. Expressions for an Ising formulation of a problem and for a QUBO formulation of a problem look very similar. In fact, the Ising and QUBO expressions are entirely isomorphic. A proof of this statement is provided in the Appendix below. This means that an expression for a given problem in terms of a QUBO formulation is equivalent to expressing the same problem in an Ising formulation. A difference between Ising formulations and QUBO formulations is that Ising formulations deal with “spin variable” values: σi ∈ {1, −1}, while QUBO formulations deal with “binary variables” xi ∈ {0,1}. By simply making a substitution: σi = 2xi − 1 within an Ising formulation expressed in terms of “spin variable” values σi ∈ {1, −1}, one can obtain an equivalent Ising formulation of the same problem expressed in terms of “binary variables”: xi ∈ {0,1}. For this reason, herein a reference to “spin variable” or “spin” is used to encompass either one of “spin variables” in which: σi ∈ {1, −1}, and “binary variables” in which: xi ∈ {0,1}, as appropriate to the context. For this reason, hereafter, the symbol ^ is used to refer to “spin variables” and “binary variables” equally, and the allowed values of the spin variables (i.e. either σi ∈ {1, −1}, or σi ∈ {0,1}) will be stated. For example, each spin variable σi within an Ising model may be assigned a corresponding binary value, e.g. σi ∈ {0,1}. Adjacent spins, σi , σj, interact with each other based on their mutual coupling coefficient represented by an interaction coefficient Jij. In addition, an external field ℎ^ may influence each spin, ^^. The energy of this system of spins is defined by the Hamiltonian function:
Figure imgf000005_0001
Here N is the set of all spins (^) and A is the set of all interactions or couplings (^^^) between spins. The ground state of the system is such that the energy is minimum, that is to say, the state in which the spin variables take values such that: σ = argmin H This corresponding to the configuration of spin variables that yields the minimum energy of the system. Hence, the problem of finding the ground state can be formulated as the optimisation problem: ^^^ ^, subject to the condition that: ^ ∈ {0,1}. More specifically, the invention may provide a distributed network of machines comprises multiple separate network nodes each comprising machines adapted to operate according to local operating variables. Each network node may comprise a local Ising Machine wherein local spin variables correspond with operating variables of the local machines of the node. Local spin variables of each local Ising Machines may connect to neighbouring local spin variables of neighbouring Ising Machines of another network node via an interaction coefficient. Local Ising Machines may separately define a local Hamiltonian according an Ising Model of the local Ising Machine including neighbouring spin variables of neighbouring connected Ising Machines. Local Ising Machines may calculate varied values of the local Hamiltonian by varying the values of local spin variables without varying the neighbouring local spin variables connected thereto. Local Ising Machines may change the operating parameters of local machines according to the values of spin variables associated with the local Hamiltonian having a reduced value. Accordingly, because each local Hamiltonian of a local Ising machine includes the values of neighbouring spin variables of neighbouring connected local Ising machines, each local Ising machine is able to communicate collaboratively with its neighbour Ising machine in order to collaborate in achieving a global optimisation of the global Hamiltonian function. By ensuring that a local Ising machine does not vary the value of the neighbouring local spin variable communicated to it, and incorporated into the local Hamiltonian of that local Ising machine, the local optimisation of the local Hamiltonian remains tractable and manageable, thereby allowing a global optimum to be achieved on practical timescales. Put in other words, neighbouring local Ising machines communicate with each other in a way which has been found to produce mutual coordination without producing excessive competition or burden.
To aid a better understanding of the invention, reference is made to Figure 11 which schematically illustrates the relationship between variations in the spin configuration of an Ising Machine, and the corresponding variation in the energy of the resulting Hamiltonian of the spin configuration. Here, spins are represented by circles and spin connections are represented by solid lines. An external field (bias) is represented by a dotted arrow. Field circles represent a spin in one of two possible states (e.g. value = 1) while open circles represent spins in the other one of the two possible states (e.g. spin = 0).
Combinatorial optimization aims generally to find the best combination from numerous candidates within limited computing time and resources. The number of available candidate combinations generally grows exponentially according to the size of the problem. Thus, finding an exact solution is difficult on standard Neumann computers within a feasible amount of time. He present invention may implement a computing based on the mechanism that the computing state eventually reaches the state of lowest energy, as shown in Fig. 11 . The candidate combinations of spin variables (a,), and their respective values, represent candidate solutions that are subject to the constraints of the problem at hand by way of the interactions/connections (/ ) between spins, as well as by way of ‘external field’ terms (h,) applied to spins individually. By iteratively changing the candidate combinations of spin variables (a,), in such a way as to reduce the value (energy) of the overall Hamiltonian of the problem, one may progress towards the ‘best’, or at least a ‘better’ candidate combinations of spin variables (o-j). As schematically shown in Figure 11 , an initial candidate configuration of spin variables (a,) may result in a relatively high energy for the Hamiltonian.
This initial spin configuration may then be adjusted to provide an intermediate candidate configuration of spin variables, which may result in an intermediate value of energy for the Hamiltonian. This intermediate spin configuration may then be adjusted to provide a final candidate configuration of spin variables, which may result in a low value of energy for the Hamiltonian which is deemed to be sufficiently close to the ground-state energy (minimum energy state) of the Hamiltonian as to be an acceptable candidate configuration of spins for providing a solution to the problem at hand. As an illustrative example, a local Hamiltonian function may take the form:
Figure imgf000007_0001
Here: i, j ∈ Ak, where Ak is the set of interactions/connections (Jij) within the Kth local Ising Machine, and: i ∈ Nk, where Nk is the set of internal spins within the Kth local Ising Machine, such that at least one of the nodes of the Kth local Ising Machine is an internal spin node. Consequently: Ak = {(i, j) ∈ A|i ∈ NK}. In addition: }, denotes the set of interactions
Figure imgf000007_0002
connecting the kth local Ising machine with all other local Ising machines. A subset of internal spins within the Kth local Ising Machine are connected by an edge/connection to a spin which is external to the Kth local Ising Machine, but which is an internal spin of a neighbouring local Ising Machine. That is to say, preferably, interactions/connections connect an internal spin of the Kth local Ising Machine to an internal spin of a neighbouring local Ising Machine. That is to say, preferably, the interactions/connections connect an internal spin (σi) of the Kth local Ising Machine to an internal spin of a neighbouring local Ising Machine. Bias terms, or coefficients, ℎ^, also commonly known as “external field” terms, may be set to zero or may be non-zero according to the requirements of the problem being solved. Desirably, each spin variable values σi ∈ {0,1} is a decision variable determined by the algorithm employed by a local Ising Machine for optimising the local Hamiltonian, HLocaI, for all i ∈ NK (i.e. internal spin values of the kth local Ising Machine). However, preferably, for all of the external spins, σi ∈ {0,1}, of the local Hamiltonian, HIocaI, the value of that external spin is not assigned or determined by the local Ising Machine that seeks to minimise the above local Hamiltonian function. Instead, desirably, the values of the external spins (σI) within the local Hamiltonian function are assigned/determined by the neighbouring local Ising Machine within which the given non-local/external spin resides (i.e. δi ∈ {0,1} is determined endogenously). In this way, the action or operation of the Kth local Ising Machine does not directly control value of a given external spin (σI), however the action or operation of the associated Ith neighbouring local Ising Machine does directly control value of that external spin (σI). Desirably, the Ith neighbouring local Ising Machine communicates the value of that external spin (σI) to the Kth local Ising Machine connected to it such that the Kth local Ising Machine may incorporate that external spin value in to the local Hamiltonian, HLocaI, before or during optimisation of that function, locally. In a first of its aspects, the invention may provide a distributed network of machines comprising a plurality of separate network nodes each comprising one or more local machines adapted to operate according to local operating parameters, wherein each network node comprises: a local Ising Machine comprising at least one local spin variable and a plurality of interaction coefficients each associated with a respective interaction between the at least one local spin variable and at least one other spin variable, wherein one or more local spin variables correspond with operating parameters of the one or more local machines of the network node; wherein at least one local spin variable of each local Ising Machine is connected to a neighbouring local spin variable of a neighbouring local Ising Machine of another network node of the plurality of network nodes via a said interaction coefficient, wherein one or more neighbouring local spin variables correspond with operating parameters of the one or more neighbouring local machines of the network of machines; wherein local Ising Machines are each adapted to separately implement the following steps:
(a) define a local Hamiltonian according an Ising Model comprising: the local spin variables of the local Ising Machine; the interaction coefficients connected to the local spin variables; and neighbouring local spin variables of neighbouring local Ising Machines connected to the local spin variables by a said interaction coefficient; and,
(b) calculate varied values of the local Hamiltonian by varying the values of local spin variables without varying the neighbouring local spin variables connected thereto; and,
(c) locally change the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with the local Hamiltonian having a reduced value from amongst the varied values; whereby the distributed network of machines thereby implements a distributed Ising Machine.
In this way, a global problem may be solved collectively by the efforts of local Ising Machines working in collaboration. A problem to be solved may be formulated as a combinatorial optimisation problem, with an objective and a (possibly empty) set of constraints. A problem may be formulated as a quadratic unconstrained binary optimisation (QUBO) problem or an Ising problem. The Appendix herein shows that these two formulations are isomorphic, and are equivalent formulations. Thus, in either formulation, the problem may be said to ultimately define an Ising model.
The local Ising Machines may locally find the solution to the local problem that satisfies all the local constraints while minimising the local objective function. The local Ising Machines may collectively find the solution to the global problem that satisfies all the global constraints while minimising the global objective function.
In some cases, it may be useful or necessary, in the formulation of the Hamiltonian being optimised, to use auxiliary spins that do not correspond to any local operating parameters of any local machine. Instead, a local Ising machine may contain an auxiliary spin(s) as a logical entity which does not directly correspond with any operating parameter of a local machine, but may nevertheless indirectly influence the operating parameters of one or more local machines by the fact that it may influence the values of the local spins (within the local Hamiltonian) that do directly correspond with those operating parameters. A local Ising machine may configured to contain one or more such auxiliary spin parameters. In the extreme, a local Ising machine may comprise only auxiliary spin parameters.
Local Ising Machines, preferably, are each adapted to separately define a said local Hamiltonian according an Ising Model also comprising bias coefficients associated with local spins. A bias coefficient, hj, or “external field” term, may be a linear term in an Ising Hamiltonian and may be identified as a coefficient multiplying an individual spin variable, cr£. The bias coefficient may be a non-zero value according to the requirements of the problem being solved. Desirably, one or more local Ising machines may be arranged to assign a predetermined value to a bias term of a respective local Hamiltonian function, according to a physical state of a local machine, or in response to an external input received by such a local machine. For example, a bias term of a respective local Hamiltonian function may be associated with an individual spin variable, or a group of spin variables, the values of which represent a physical state of a respective local machine (e.g. ‘on’/’off’, ‘open’/’closed’, ‘active’/’inactive’ etc.). For example, an input received by a respective local machine may be an externally-generated input, or may be an input generated by a local detector or sensor associated with the local machine (e.g. representing detection of a predetermined event occurring at the locality of a local machine etc.). The inventor has deduced that applying an “external field” effect, via application of a modified bias term (e.g. a zero value changed to a non-zero value, or vice versa), the occurrence of a relevant event at a local machine, which may not occur at other local machines, has the beneficial effect of modifying the Hamiltonian function to tend to cause the values of spin variables to change to new values, during subsequent optimisation of the modified Hamiltonian, that are better suited to solving the problem as modified by the applied bias coefficient.
Local Ising Machines are preferably each adapted separately to change the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with a said varied value (i.e. energy value) of the local Hamiltonian that has reduced below predetermined value or has reduced by a predetermined amount. In other words, the local Ising machines may be configured to implement a change to the operating parameters of one or more local machines only after the optimised local Hamiltonian has reached a sufficient degree of optimisation, but not before then. A sufficient degree of optimisation may be measured either in terms of the value of the Hamiltonian falling to a sufficiently low energy value, as set appropriately by a user, or in terms of the value of the Hamiltonian reaching a substantially unchanging, or little-changing, value during a succession of optimisation operations or iterations in an optimisation process. This condition would indicate that the Hamiltonian function is sufficiently close to, albeit not yet at, an optimum/minimum value. For example, a rate of change (reduction) in the energy value of the Hamiltonian of less than 5% between successive optimisation iterations may indicate that a sufficient degree of optimisation has been achieved.
Desirably, the calculating of varied values of the local Hamiltonian includes using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting no change in the values of those neighbouring local spin variables throughout said calculating. The inventor has deduced that by applying fixed values of neighbouring local spin variables, connected to variable local spin variables, within a local Hamiltonian, the effect is qualitatively the same as applying a new “external field” effect, or a bias term, at a local machine connected to that neighbouring spin variable, but not at other local machines which are not connected to that neighbouring spin. This has been found to have the beneficial effect of modifying the Hamiltonian function of the local Ising Machine to tend to cause the values of spin variables to change to new values, during subsequent optimisation of the modified Hamiltonian, that are better suited to solving the problem as modified by the connected neighbouring spin variable. Because the connected neighbouring spin variable has a value associated with an optimal local solution for the neighbouring Ising Machine, and the local machines within that neighbouring Ising Machine, then this has been found to have the effect of causing the local Ising Machine to modify its own optimal local Hamiltonian, by actively varying its own local spin variables in manner sympathetic to a better global optimal solution for the local machines of both the local Ising Machine neighbouring Ising Machine. Indeed, this also means that any two local Ising Machines that are not directly connected to each other by an interaction coefficient,/, between local respective spins, but which share a common neighbouring Ising Machine located “between” them, are able to influence each other via their respective influences upon the Hamiltonian function (and its spin variable values) of the mutual neighbouring Ising Machine. This indirect communication allows a global optimal solution to be found to the global Hamiltonian function (i.e. the aggregate of all local Hamiltonian functions) without requiring a centrally- controlled and fully global optimisation operation, which would be very computationally expensive and possibly impossible. In particular, the parallelisation of the computation, where multiple spin parameters can be updated simultaneously, rather than sequentially as in the case of classical computers, is of particular advantage.
Without wishing to be bound by theory, it is postulated that this beneficial effect may be a result of the “zeroth law” of thermodynamics which states that if system A is in thermodynamic equilibrium with system B, and if system A is in thermodynamic equilibrium with system C, then system B is also in thermodynamic equilibrium with system C. Put in other words, if a local Ising Machine achieves an optimal local Hamiltonian, and two of its neighbouring local Ising Machines also achieve their own respective optimal local Hamiltonians in sympathy with the local Ising Machine, then the optimal local Hamiltonians of the two neighbouring Ising Machines may be in sympathy with each other even though they are not connected to each other directly by a spin coupling.
Preferably, the calculating of varied values of the local Hamiltonian includes using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting a change in the values of those neighbouring local spin variables during said calculating only in response to receipt of a new value of a neighbouring local spin variable from a neighbouring local Ising Machines associated therewith. In this way, a local Ising machine may be configured to allow its local Hamiltonian function to be updated by a change in a spin variable value of a neighbouring Ising Machine as and when that neighbouring spin variable value changes (or its changed value is communicated to the local Ising Machine). It is to be noted that the local Ising Machine does not change the value of the neighbouring local spin variable as a part of, or during, any of the optimisation of the local Hamiltonian function. Thus, when an updated spin variable value of a neighbouring Ising Machine is received by a local Ising Machine, the local Ising Machine may simply update its local Hamiltonian function accordingly and progresses optimisation of the updated local Hamiltonian by varying the local spin variable values within that updated local Hamiltonian.
Local Ising Machines are preferably each adapted to separately communicate the new values of a local spin variable determined by said calculating varied values of the local Hamiltonian to the neighbouring local Ising Machines connected to said local spin variable. If optimisation of the updated local Hamiltonian is achieved before any further updated spin variable value is received from a neighbouring Ising Machine, then the local spin variables of the local Ising Machine that are associated with the optimised local Hamiltonian are assigned the status of new optimal local spin variable values. These optimal spin values may then be communicated to neighbouring local Ising Machines to permit those neighbouring machines to update their local Hamiltonian functions and update their own optimal spin variable values etc. Local Ising Machines are preferably each adapted to separately communicate the new values of a local spin variable by any one or more of the following means: telecommunication; wireless communication; fibreoptic communication; electrical communication (e.g. via a wire connection), etc. Local Ising Machines may be physically separate and separated from each other, in space. Local Ising Machines may be configured to operate independently of each other according to their local spin configuration, without requiring ‘commands’ from a neighbouring Ising machine or a central controller/processor/operator. Local machines of a local Ising Machine may be physically separate and separated from each other, in space. Local machines of a local Ising Machine may be configured to operate dependently upon each other according to the local constraints assigned to them by the local Ising Machine of which they form a part, without requiring ‘commands’ from a neighbouring Ising machine or a central controller, processor or operator.
This process of local optimisation of spins and the updating of the effective “external field” bias terms within neighbouring Hamiltonian functions, may progress until each local Ising Machine has reached a local optimal value of its local Hamiltonian function, and thereby stops the optimisation process locally. At that point, a global optimal solution is achieved which represents an optimum of the energy of the global Hamiltonian function of the whole distributed Ising Machine, calculated in a distributed fashion. By “effective external field” we mean that this term has the “effect” of an external field term.
Desirably, all local spin variable values are variable to take either one of two values alone. For example, as discussed above, a “spin variable” encompasses either one of “spin variables” in which: at e {1, -1}, and “binary variables” in which: xt e {0,1}, as appropriate to the context.
Preferably, one or more of the local Ising Machines is configurable selectively to set to a value of zero one or more of the interaction coefficients (/) connected to a local spin variable associated with a selected local machine within the local Ising Machine, and selectively to re-set the one or more interaction coefficients to a non-zero value in order to change the local Ising Machine in response the selected local machine being activated to have active local operating parameters to be controlled. In this way, a local Ising Machine may be configured selectively to “expand” to incorporate additional local machines as and when they become active, or as and when it becomes desired to control them within the Ising Machine. This is done by ‘switching on’ an interaction coefficient (/) representing a connection/constraint upon the additional local machine in relation to other local machine(s) within the local Ising Machine. Similarly, a local Ising Machine may be configured selectively to “contract” to exclude a selected local machine(s) as and when they become inactive, or as and when it becomes desired to cease control of them within the Ising Machine. This is done by ‘switching off’ an interaction coefficient (/) representing a connection/constraint upon the disconnected local machine in relation to other local machine(s) within the local Ising Machine.
Desirably, one or more of the local Ising Machines is configurable selectively to increase the value one or more of the interaction coefficients thereof that are connected to a selected neighbouring local Ising Machine thereby selectively to increase the coordination of the operating parameters of local machines within the local Ising Machine and the neighbouring local Ising Machine connected thereto. In this way, a bias term, or effective “external field” term, as discussed above, may be adjusted in value, or “strength” to desirably adjust the influence of a local Ising Machine upon a neighbouring local Ising Machine, and vice versa.
Each local Ising Machine preferably comprises a control module arranged to map the operating parameters of the one or more machines of an Ising Machine, onto an Ising Model. In this way, a local Ising Machine may associate selected operating parameters of local machines within the local Ising Machine with respective values of the local spin variables of the local Ising Machine. Prefeably, the selected operating parameters include at least two distinct operating parameter values representing two distinct operations or operating conditions of a machine. In general, any (finite) discrete, but not necessarily binary, set of values of an operating parameter, may be mapped in this way. As in the example, if a local machine comprised a lighting unit, then a selection of any one of eight (i.e. 23) different operating parameter values may be made to choose the brightness level of the lighting unit in the range 0,1 ,... , 7, corresponding to 3 spin parameters. Selected operating parameters may include, but is not limited to, any one of: a physical status of a machine (e.g. on/off); a physical motion of a machine (e.g. move/don’t move); a physical position of a machine (e.g. open/closed); an output generated by a machine (e.g. signal emitted/not-emitted); a functional status of a machine (e.g. task assigned/ not-assigned); a switching status of a machine (e.g. switch-open/switch-closed).
One or more of said local Ising Machines may comprise one or more sensors configured to sense external/environmental conditions associated with the local machines thereof, wherein the one or more local Ising Machines is configurable selectively to adjust the value of one or more of the interaction coefficients (/) thereof according to the external conditions sensed by the one or more sensors, thereby to adjust the local Hamiltonian associated therewith. In this way, as discussed above, the local Ising Machine(s) may be responsive to changes in environmental conditions in a manner that allows them to dynamically adjust to appropriately change the formulation of the problem to be solved by the Ising Machines. As an example, the one or more sensors may include, but are not limited to: a proximity sensor; a motion sensor; a temperature sensor; a pressure sensor; a humidity sensor; an object/face recognition device or sensor; a timer or clock; an electrical voltage or current sensor; a fluid flow sensor. Desirably, local Ising Machines are each adapted to continuously calculate varied values of the local Hamiltonian thereof by varying the values of local spin variables, by applying any adjusted neighbouring local spin variable values received from neighbouring Ising Machines, and by adjusting the interaction coefficient values thereof according to changing external/environmental conditions sensed by said sensors. In this way, local Ising Machines are able to adapt to a changing environment and to determine appropriate optimal values for operating parameters of local machines in response to this. Collectively, optimal operating parameters for all machines within the local Ising Machines may be assigned optimal operating parameters suitable to solve, or improve, the problem or task assigned to the machines collectively.
In a second aspect, the invention may provide a computer system comprising distributed network of machines according to the invention in its first aspect, described above, wherein each local Ising Machine comprises a computer, or a system of connected computers, configured to locally implement steps (a), (b) and (c).
In a third aspect, the invention may provide a computer-implemented method for a distributed network of machines comprising a plurality of separate network nodes each comprising one or more local machines adapted to operate according to local operating parameters, wherein each network node comprises a local Ising Machine comprising at least one local spin variable and a plurality of interaction coefficients each associated with a respective interaction between the at least one local spin variable and at least one other spin variable, wherein one or more local spin variables correspond with operating parameters of the one or more local machines of the network node; wherein at least one local spin variable of each local Ising Machine is connected to a neighbouring local spin variable of a neighbouring local Ising Machine of another network node of the plurality of network nodes via a said interaction coefficient, wherein one or more neighbouring local spin variables correspond with operating parameters of the one or more neighbouring local machines of the network of machines; wherein the method comprises separately implementing the following steps by local Ising Machines:
(a) defining a local Hamiltonian according an Ising Model comprising: the local spin variables of the local Ising Machine; the interaction coefficients connected to the local spin variables; and neighbouring local spin variables of neighbouring local Ising Machines connected to the local spin variables by a said interaction coefficient; and,
(b) calculating varied values of the local Hamiltonian by varying the values of local spin variables without varying the neighbouring local spin variables connected thereto; and,
(c) locally changing the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with the local Hamiltonian having a reduced value from amongst the varied values; whereby the distributed network of machines thereby implements a distributed Ising Machine.
The method may include collectively calculating, by a said local Ising Machines and a said neighbouring local Ising Machine, said varied values of the local Hamiltonian of said local Ising Machine, without changing the operating parameters of machines within the neighbouring local Ising Machine according to values of spin variables associated with the local Ising Machine during said collective calculation.
The method may include, by said local Ising Machines, separately defining a said local Hamiltonian according an Ising Model also comprising bias coefficients associated with local spins.
The method may include, by said local Ising Machines, separately to changing the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with a said varied value of the local Hamiltonian that has reduced below predetermined value or has reduced by a predetermined amount.
The method may include calculating varied values of the local Hamiltonian including using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting no change in the values of those neighbouring local spin variables throughout said calculating.
The method may include calculating varied values of the local Hamiltonian including using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting a change in the values of those neighbouring local spin variables during said calculating only in response to receipt of a new value of a neighbouring local spin variable from a neighbouring local Ising Machines associated therewith.
The method may include, by a said Ising Machine, communicating the new value of a local spin variable determined by said calculating varied values of the local Hamiltonian to the neighbouring local Ising Machines connected to said local spin variable.
The method may include varying all local spin variable values to take either one of two values alone.
The method may include, at one or more of the local Ising Machines, selectively setting to a value of zero one or more of the interaction coefficients connected to a local spin variable associated with a selected local machine within the local Ising Machine, and selectively re-setting the one or more interaction coefficients to a non-zero value in order to change the local Ising Machine in response the selected local machine being activated to have active local operating parameters to be controlled.
The method may include, by one or more of the local Ising Machines, selectively increasing the value one or more of the interaction coefficients thereof that are connected to a selected neighbouring local Ising Machine thereby selectively to increase the coordination of the operating parameters of local machines within the local Ising Machine and the neighbouring local Ising Machine connected thereto.
The method may include, by a control module, mapping the operating parameters of the one or more machines of an Ising Machine, onto an Ising Model. The method may include, by one or more of said local Ising Machines, sensing external/environmental conditions associated with the local machines thereof, and selectively adjusting the value of one or more of the interaction coefficients thereof according to the external conditions sensed by the one or more sensors, thereby to adjust the local Hamiltonian associated therewith.
The method may include continuously calculating varied values of the local Hamiltonian thereof by varying the values of local spin variables, by adjusting the neighbouring local spin variable values thereof, and by adjusting the interaction coefficient values thereof according to changing external/environmental conditions sensed by said sensors.
In a fourth aspect, the invention may provide a computer program, or computer program product, comprising instructions which, when the program is executed by a computer system, cause the computer system to carry out the method described above.
In a fifth aspect, the invention may provide a computer-readable storage medium comprising instructions which, when executed by a computer system, cause the computer system to carry out the method described above.
In a sixth aspect, the invention may provide a computer program comprising instructions which, when the program is executed by a computer system according to the invention in its second aspect, described above, cause the computer system to carry out the method described above wherein each local Ising Machine comprises a computer, or a system of connected computers, configured to locally implement steps (a), (b) and (c).
The term “Ising model” used herein, may include a reference to a mathematical model named after the physicist Ernst Ising, which is model of ferromagnetism in statistical mechanics. An Ising model may comprise a Hamiltonian function representing the energy of a system in terms of discrete binary variables referred to as "spins" that can be in one of two states (e.g. +1 or 0; alternatively +1 or -1). A spin variable may interact with another spin variable via an “interaction” coefficient represented within the Hamiltonian function thereby enabling two interacting to contribute energy to the Hamiltonian function. An “interaction coefficient” is also known as a “coupling coefficient” since it represents the strength of a coupling between two spin variable. Interacting spin variables, that is to say spin variables interacting with each other via a mutual “interaction”, may be collectively represented, notionally, in a lattice or graph arrangement of separate spins linked by interactions. An “external field” may be represented within the Hamiltonian function as applied to individual spin variables and enabling individual spin variables to contribute energy to the Hamiltonian function independently of an “interaction” with another spin variable. In other words, non-zero coupling coefficients (/) give rise to the quadratic/bilinear terms of the Hamiltonian, while nonzero bias coefficients (ft) give rise to linear terms of the Hamiltonian.
An Ising model constructed with discrete spin variables (a) existing as either +1 or 0, may be transformed into an Ising model constructed with discrete spin variables (x) existing as either +1 or -1 according to the following transform:
Figure imgf000016_0001
The term “Ising Machine” used herein, may include a reference to a physical system designed to find solutions to combinatorial optimization problems mapped onto the Ising Machine via the coupling strengths of its binary spins. Ising machines, as they are known, may include processors configured to solve the Ising model. By varying the intrinsic spin variables and e.g. an annealing algorithm, an Ising Machine relaxes overtime towards its lowest energy state, which is an optimal solution to the combinatorial optimisation problem. An Ising Machine may be implemented in quantum, optical, and/or electronic hardware.
The term “machine” used herein, may include a reference to a physical system designed to perform an intended action according to designated operating parameters. An operating parameter may include a designated control input to the machine, or a constraint upon the nature or performance of the intended action. A machine may comprise, but is not limited to: a mechanical, or electrical, or electronic, or optical, or electromagnetic, or acoustic, or computational device or apparatus.
The term “local” used herein, may include a reference to a particular region or part of a greater entity, or to each of any number of these. This term may refer to a particular physical region or part of a greater physical entity or to a particular logical region or part of a greater logical entity. For example, a local Ising Machine may be physically local to a particular region or part of a greater physical entity (e.g. a global Ising Machine), and/or may be logically local to a particular region or part of a greater logical entity.
The invention includes the combination of the aspects and preferred features described except where such a combination is clearly impermissible or expressly avoided.
Summary of the Figures
Embodiments and experiments illustrating the principles of the invention will now be discussed with reference to the accompanying figures in which:
Figure 1 schematically illustrates a machine unit defining one network node of a distributed network of machines comprising a plurality of separate network nodes each comprising one or more local machines adapted to operate according to local operating parameters;
Figure 2 schematically illustrates a distributed network of machines comprising four separate network nodes each comprising four local machines (each represented by a respective spin); Figure 3 schematically illustrates a distributed network of machines comprising four separate network nodes each comprising four local machines (each represented by a respective spin);
Figure 4 schematically illustrates a distributed network of Ising Machines each defining a respective one of five separate network nodes each comprising four local machines (each represented by a respective spin);
Figure 5 schematically illustrates an initial state of a distributed network of Ising Machines each defining a respective one of four separate network nodes each comprising three local machines (each represented by a respective spin). Each local machine is a light-emitting unit of three light-emitting units (Red, Amber, Green) in the same traffic light system;
Figure 6 schematically illustrates a final state of a distributed network of Ising Machines of Figure 5;
Figure 7 graphically illustrates solutions trajectory (upper graph) and an energy trajectory (lower graph) of a distributed network of Ising Machines of Figure 5;
Figure 8 graphically illustrates a network of corridors with labels and distances;
Figure 9 graphically illustrates a distributed network of Ising Machines each defining a respective one of four separate network nodes each comprising three or four local machines (each represented by a respective spin);
Figure 10 graphically illustrates solutions trajectory (upper graph) and an energy trajectory (lower graph) of a distributed network of Ising Machines of Figure 8;
Figure 11 schematically illustrates the relationship between variations in the spin configuration of an Ising Machine, and the corresponding variation in the energy of the resulting Hamiltonian of the spin configuration. Detailed Description of the Invention Aspects and embodiments of the present invention will now be discussed with reference to the accompanying figures. Further aspects and embodiments will be apparent to those skilled in the art. All documents mentioned in this text are incorporated herein by reference. The Ising formulation The solution to a problem involves assigning values to the spin variables of the problem. Each spin is connected to one or more neighbouring spins by connections. The spins and connections together form the nodes and edges of the network graph, respectively. Each spin σi is assigned a corresponding binary value σi ∈ {0,1} where adjacent spins, σi , σj, interact based on their coupling coefficient Iij. In addition, an external field hi may influence each spin, σi. The energy of this system of spins is defined by the Hamiltonian:
Figure imgf000018_0001
Here N is the set of all spins (σ) and A is the set of all edges or interaction coefficients (Jij) forming connections between spins. The ground state of the system is such that the energy is minimum, that is to say, the spins take values such that: σ = argmin H This corresponds to the configuration of spins that yields the minimum energy of the system. Hence, the problem of finding the ground state can be formulated as the optimisation problem: min H, subject to the condition that: ^ ∈ {0,1}. The Local Ising Machine Figure 1 schematically illustrates a local Ising Machine unit defining one network node of a distributed network of local Ising Machines, such as is schematically illustrated in Figure 3, with examples also shown in Figure 4, Figure 5, Figure 6 and Figure 9. Each local Ising Machine unit is comprised of the following components: a control module (210), an Ising circuit (220), and activation module (240), an optimisation algorithm (230), and a communication device (250). Each local Ising Machine has multiple separate local machines each represented by at least one associated spin variable, and each adapted to operate according to local operating parameters. The connection of the associated spins, via interaction coefficients, forms the Ising circuit (220) of the local Ising Machine unit (200). Each local Ising Machine is configured to optimise a part of the problem assigned to the distributed network of Ising Machines, and to communicate the results of optimisation of the values of some of it's spin variables to the neighbouring Ising Machine units within the network of Ising Machines. Similarly, it regularly receives at its communications device (250) input signals/data containing the results of optimisation of the values of some the spin variables of its neighbouring local Ising Machine units via communications issued from the communications unit (250B) within the neighbouring Ising Machine units. These are the adjacent variables via which neighbouring Ising Machines are able to influence each other indirectly. Adjacent variables Adjacent spin-variables are spins that are adjacent in the problem network graph. That is they are directly connected by a connection (interaction coefficient J). Suppose that spins σi and σj are adjacent. If both spins are internal to the same local Ising Machine unit, referring to the schematic example of Figure 3, we call the connection between spins σi and σj a local interaction (330), as indicated by a solid line in Figure 3 denoted “internal spin connection”, otherwise the connection (interaction coefficient J) is external (340) as indicated by a dashed line in Figure 3. Notably, Figure 3 four separate local Ising Machines, and each one of the local Ising Machine units incorporates into its local Hamiltonian function the value of a connected spin variable (σ) of a neighbouring local Ising Machine unit and the value of the interaction coefficient (J) that connects that neighbouring spin to an internal spin of the local Ising Machine unit. However, during local optimisation of the local Hamiltonian function, the local Ising Machine unit does not vary the value of that connected external spin variable (σ) or the value of the interaction coefficient (J) that connects it. This is distinct from another Ising circuit configuration, such as schematically illustrated in Figure 2, in which all spin variables, wherever their interaction coefficients (J) connect, are varied when globally optimising the associated Hamiltonian of all spins and all interaction coefficients of all four local Ising Machine units shown in Figure 2. Thus, for example, in the configuration of four connected local Ising Machine Units: “unit 1”, “unit 2”, “unit 3” and “unit 4”, schematically illustrated in Figure 3, each contain four local machines. Specifically, local Ising Machine “unit 1” contains local machines “0”, “1”, “2” and ”3”. Each one of these four local machines is internally connected to each one of the other three local machines by an interaction coefficient (^). Similarly, local Ising Machine “unit 2” contains local machines “4”, “5”, “6” and ”7”. Each one of these four local machines is internally connected to each one of the other three local machines by an interaction coefficient (J). Local Ising Machine “unit 4” contains machines “8”, “9”, “10” and “11”. Each one of these four local machines is internally connected to each one of the other three local machines by an interaction coefficient (J). Finally, local Ising Machine “unit 3” contains local machines “12”, “13”, “14” and ”15”. Each one of these four local machines is internally connected to each one of the other three local machines by an interaction coefficient (J). An operating parameter of each one of these sixteen machines “0” to “15” is represented by an associated spin variable (σ). Two external interaction coefficients (^) form two separate spin connections between spin variables within Ising Machine “unit 1” and Ising Machine “unit 2” and two external interaction coefficients (^) form two separate spin connections between spin variables within Ising Machine “unit 1” and Ising Machine “unit 3”. Similarly, two external interaction coefficients (^) form two separate external spin connections between spin variables within Ising Machine “unit 4” and Ising Machine “unit 2” and two external interaction coefficients (^) form two separate spin connections between spin variables within Ising Machine “unit 4” and Ising Machine “unit 3”. However, no external spin connection is made between Ising Machine “unit 1” and Ising Machine “unit 4”. These two Ising Machine units are only indirectly connected via Ising Machine “unit 2” and Ising Machine “unit 3”. Specifically, respective external interaction coefficients (^) connect the following local machines: machines “0” and “4”; machines “3” and “5”; machines “6” and “8”; machines “7” and “11”; machines “9” and “13”; machines “10” and “14”; machines “1” and “15”; machines “12” and “2”. None of the local machines of local Ising Machine “unit 1” has an external interaction coefficients (^) forming a spin connection with any of the machines of local Ising Machine “unit 4” Neighbouring units A pair of neighbouring local Ising Machine units are any two local Ising Machine units, α and b, for which there exist at least one connection (i.e. interaction coefficient, J) between a spin variable σi in α and another spin variable σj in ^ (i.e. spins σi and σj are adjacent). The system The system comprises the local Ising Machine units and their interaction coefficients as well as a central control interface (100), used to set up the problem. Once the system is operational no central authority is necessary to control the local Ising Machine units. The solution to the problem is implemented in each local Ising Machine unit in order to solve the actual problem, by activating or changing the operating parameters of zero, one, or more local machines (e.g. a local machine may correspond to a physical device e.g. an LED, a motor, etc.). The Components of the System The system comprises a central control interface and number (possibly many) local Ising Machine units, each of which is attached to or integrated into, a machine, or may itself comprise several machines. Local Ising Machine units comprise a combination of hardware and software, implemented by a computer processor, to control or interface with the hardware. The Control Interface
The system comprises all the local Ising Machine units (200) and their spin variables, their bias coefficients (h; also known as ‘external field’ coefficients), and their interaction coefficients, and communications device (250) as well as a user control interface (100). The user interacts with all the local Ising Machine through a central interface (100) and a corresponding control interface (211) of the local Ising Machine. These interfaces may communicate via any suitable telecommunications apparatus and method readily available to the skilled person. This enables a user/operator to define and modify a control algorithm (212) contained within the control module of the local Ising Machine and the initial configuration of coefficients (J and h) and spin parameters (σ) of an Ising model. The initialisation of the system is performed prior to the deployment of the local Ising Machine and, potentially, when the local Ising Machine(s) are not operational (e.g. during maintenance or during low demand periods). Additionally, an operator may continually monitor the performance of a local Ising machine through the control interface during operations and make any necessary adjustments.
Control module
The control module (210) controls the configuration of the Ising circuit 220 (the coefficients and connections, and any fixed spins and external and internal spins). It comprises a control interface (211), which the user/operator interacts with, a control algorithm (212) that governs the Ising circuit, and optionally a predictive module (213), that provides predictions (e.g. expected future demand, temperature, etc.) available to the control circuit.
The prediction module takes environmental variables and makes predictions available to the control algorithm. The control algorithm updates the coefficients and topology of the Ising circuit based on instructions from the operator drawing potentially on inputs from the prediction module, sensors (260) and other peripherals that may be dynamically updated. The local Ising Machine comprises one or more such sensors (260) configured to sense external/environmental conditions associated with the local machines of the Ising Machine unit. The local Ising Machines is configurable selectively to adjust the value of one or more of the interaction coefficients (/) within the Ising circuit (220) according to the external conditions sensed by the one or more sensors (260), thereby to adjust the local Hamiltonian associated with te local Ising Machine, as desired or appropriate. The control algorithm may also evaluate the current solution based on the current status of spins. At a minimum the control module contains the control interface to initialise the configuration of the Ising circuit.
The local Ising Circuit
The local Ising Machine unit (200) seeks to optimise the local Ising Hamiltonian as defined by the Ising circuit (220) and its coefficients. The Ising model is optimised by the use of an algorithm (230) such as momentum annealing, simulated annealing, etc. The Ising circuit (220) is a physical implementation of part of the Ising model (300: Figure 3) and represents part of the network graph consisting of at least one spin and a representation of their adjacent spins in neighbouring units as well as their connections as defined by the network graph. In one preferred embodiment, the Ising circuit (220) is implemented as a CMOS circuit as described by Yamaoka et al., identified in the references section below. Local Ising Machines (200) may be physically separate and separated from each other, in space. They may be configured to operate independently of each other according to their local spin configuration, without requiring ‘commands’ from a neighbouring Ising machine or a central controller, processor or operator. Local machines (e.g. items 0 to 14 of Figure 3) of a local Ising machine may also be physically separate and separated from each other, in space. Local machines of a local Ising machine may be configured to operate dependently upon each other according to the local constraints assigned to them by the local Ising Machine of which they form a part (i.e. the constraints of the problem being solved), without requiring ‘commands’ from a neighbouring Ising machine or a central controller, processor or operator. Algorithm An algorithm (230) that optimises the configuration of spins based on the Hamiltonian coefficients and the status of the neighbouring spins (e.g. simulated annealing, momentum annealing). The algorithm seeks to minimise the following local Hamiltonian function:
Figure imgf000022_0001
Here: i, j ∈ AK, where AK is the set of interactions/connections (Jij) within the Kth local Ising Machine, and: i ∈ NK, where NK is the set of internal spins within the Kth local Ising Machine, such that at least one of the nodes of the Kth local Ising Machine is an internal spin node. Consequently: AK = {(i, j) ∈ A|i ∈ NK}. In addition: denotes the set of interactions
Figure imgf000022_0002
connecting the kth local Ising machine with all other local Ising machines. Note that σi ∈ {0,1} is a decision variable determined by the algorithm for all i ∈ NK (i.e. internal spin values of the kth local Ising Machine). However, for all of the external spins, σI ∈ {0,1}, of the local Hamiltonian, HIocaI, the value of that external spin is not assigned or determined by the local Ising Machine that seeks to minimise the above local Hamiltonian function. Instead, the values of the external spins (σI) within the local Hamiltonian function are assigned/determined by the neighbouring local Ising Machine within which the given non-local/external spin resides (i.e. σI ∈ {0,1} is determined exogenously). The action or operation of the Kth local Ising Machine does not directly control value of a given external spin (σI), however the action or operation of the associated Ith neighbouring local Ising Machine does directly control value of that external spin (σI). The Ith neighbouring local Ising Machine communicates the value of that external spin (σI) to the Kth local Ising Machine such that the Kth local Ising Machine may incorporate that external spin value in to the local Hamiltonian, HIocaI, before or during optimisation of that function, locally. This is graphically illustrated in Figure 4. Referring to Figure 4, here distributed network of 20 machines is schematically illustrated. Each of these 20 machines is represented by a respective spin variable. Each local Ising Machine comprises 4 local machines and is configured to reduce (preferably minimise) it’s local Hamiltonian function:
Figure imgf000023_0001
To implement this optimisation, each local Ising Machine is configured to vary only the internal spin variable values it possesses (σi , σj) to reduce the value of the local Hamiltonian function. However, each local Ising Machine is also configured to not vary the external spin variable values (σI) it does not possess but which it does include within its local Hamiltonian function. The inventor has realised that by preventing the local Ising Machine from varying the values of the external spin variables (σI) within the local Hamiltonian function, whilst optimising that function, this is equivalent to applying an “external field” component to local spins of the local Ising Machine in which the value of the “external field” is dependent upon the value of the external spin variable values (σI) connected to the local spin in question. In mathematical terms: This may be written as: Here:
Figure imgf000023_0002
In other words, the neighbouring local Ising Machines have the effect of applying a modified “external field” bias component
Figure imgf000023_0003
to the connected local spins of the local Ising Machine. This modified external field changes as the spin values of the neighbouring local Ising Machines are locally (separately) optimised. This changing “field” allows a local Ising Machine to be influenced by neighbouring Ising Machines, and vice versa. In the particular example illustrated in Figure 4, the local Hamiltonian function of the local Ising Machine is given by:
Figure imgf000024_0004
Here, i, j = 1, 2, 3, 4, and I = w, x, y, z. The second group of terns of this Hamiltonian function:
Figure imgf000024_0001
comprises the “external field” terms commonly seen in Ising Hamiltonians. The third group of terns of this Hamiltonian function:
Figure imgf000024_0005
Figure imgf000024_0002
comprises the “effective external field” terms resulting from the manner in which local Ising
Figure imgf000024_0006
Machines are connected and communicate according to the invention. The combination of these two “external field” terms is the overall “external field” in Hamiltonians of local Ising Machines according to the invention:
Figure imgf000024_0003
The local Ising Machine is connected to four separate neighbouring local Ising Machines. Each local Ising Machine contains four local machines (i.e. each represented by a spin variable) adapted to operate according to local operating parameters represented by an associated spin variable value (^). Each local machine may be a physical machine adapted to generate a physical output, or adopt a particular physical/operational state, according to its operating parameters. Collectively, the five local Ising Machines define a distributed network of 20 local machines (i.e. each represented by a spin variable). Each of the 20 local machines defines a respective one of 20 separate network nodes. As an example, a local machine may be an illumination unit in a traffic light signal box (e.g. the green light control unit, or the red light control unit, or the amber light control unit, etc.) with operational states “on” and “off”, or may be a passenger gate in a railway station, or an airport, with operational states “open” or “closed”. There are many other examples of what the local machines may be, in practice, as will be readily appreciated by the skilled person. An associated spin variable value (^), may be a binary parameter having one of two possible states {0,1} in which the state ^ = 1 corresponds to a first operational state of the local machine represented by that spin variable (e.g. the state “on” or “open”), and the state σ = 0 corresponds to a second operational state of the local machine represented by that spin variable (e.g. the state “off” or “closed”). Each local Ising Machine comprises not only four local spin variables (^), but also comprises six interaction coefficients (Jij) each associated with a respective interaction between one local spin variable (σi) and one other local spin variable (σj). Each local spin of the local Ising machine is connected to each other local spin of that local Ising Machine. This configuration applies to the local spins and interactions of each of the four neighbouring local Ising Machines. In addition, the local Ising Machine shares four additional interaction coefficients (JiI) with a respective one of the four neighbouring local Ising Machines. As a result, one local spin variable (σi: i = 1, 2, 3, 4) of the local Ising Machine is connected to a neighbouring local spin variable (σI: I = w, x, y, z) of a neighbouring local Ising Machine via a shared interaction coefficient (Iij; i = 1, 2, 3, 4; I = w, x, y, z). Each neighbouring local spin variable (σI: I = w, x, y, z) corresponds with operating parameters of the respective neighbouring local machine of the network of machines. In the schematic diagram of Figure 4, the full complement of spins and interaction coefficients is shown only for the central local Ising Machine, and only those spins of each of the four neighbouring local Ising Machines that is connected to the central local Ising Machine are shown. This is purely for clarity, and it is to be understood that each of the neighbouring Ising Machines may have six local interaction coefficients fully connecting a total of four local spins configured in the same way as is shown for the central local Ising Machine of Figure 4. Alternatively, one of more of the four neighbouring local Ising Machines may be configured differently to the configuration of the central local Ising Machine of Figure 4, such as by having fewer interaction coefficients between local spins (i.e. not fully-connected) or by having more or fewer spins etc. In addition, it is to be understood that each neighbouring local Ising Machine, when considered individually, may be considered as a local Ising Machine connected to one neighbouring local Ising Machine – namely the central local Ising Machine of Figure 4. Furthermore, each neighbouring Ising Machine may be connected to additional neighbouring local Ising Machines not shown in Figure 4. For example, each neighbouring local Ising Machine shown in Figure 4 may be connected to four local Ising machines, one of which is the central local Ising Machine shown in Figure 4 with the other three local Ising Machines not shown. That is to say, the network of local machines (network nodes) may comprise more local machine that the 20 local machines illustrated in Figure 4, and these additional (not shown) local machines may also be configured as one or more additional local Ising Machines forming a part of a greater network (not shown) of local Ising Machines of which the five local Ising Machines of Figure 4 form a part. Each of these connected local Ising Machines, such as the five local Ising Machines of Figure 4, is adapted to separately implement the following steps: (a) define a local Hamiltonian (HIocaI) according an Ising Model comprising: the local spin variables (σi: i = 1, 2, 3, 4) of the local Ising Machine; the interaction coefficients (Jij ; i, j = 1, 2, 3, 4 ∶ JiI; i = 1, 2, 3, 4; I = w, x, y, z) connected to the local spin variables; and neighbouring local spin variables (σI: I = w, x, y, z) of neighbouring local Ising Machines connected to the local spin variables by an interaction coefficient; and, (b) calculate varied values of the local Hamiltonian by varying the values of local spin variables (σi: i = 1, 2, 3, 4) without varying the neighbouring local spin variables (σI: I = w, x, y, z) connected thereto; and, (c) locally change the operating parameters of at least one of the one or more local machines according to the values of the local spin variables (σi: i = 1, 2, 3, 4) associated with the local Hamiltonian (HIocaI) having a reduced value from amongst the varied values found during the calculations in step (b) By each local Ising Machine optimising its local Hamiltonian function locally, whilst still influencing each others local Hamiltonian function via connection to neighbouring local spin variables (σI: I = w, x, y, z), the network of local Ising Machines collectively implements a larger distributed Ising Machine. The particular advantage of this arrangement is that each local Ising Machine and each local Hamiltonian function, may be made much easier and quicker to solve using inexpensive and non-specialist computer processors readily available to the skilled person. Of course, specialist Ising Computing hardware may be used in one, some or each of the local Ising Machines to implement optimisation of the local Hamiltonian function, and examples of such computing hardware are given in the references section below (e.g. implemented as a CMOS circuit as described by Yamaoka et al.), however this is a matter of choice. Optimisation problems that would otherwise be intractable if an attempt were made to solve in terms of optimising a global Hamiltonian function of a global Ising Machine, now may become tractable when implemented in terms of the present invention by splitting the global Ising Machine in to a network of connected/communicating local Ising Machines each of which has a tractable local Hamiltomian function. The inventor has realised that the particular manner in which the connected/communicating local Ising Machines are made to communicate, that is by incorporating spins of neighbouring local Ising Machines as effective “external field” terms of the local Hamiltonian function, is particularly effective in
Figure imgf000026_0001
enabling the network of local Ising Machines to each arrive at optimal spin states that are useful locally and also globally/collectively. In particular, much greater efficiency is made possible by parallelising the computation. Without wishing to be bound by theory, it is suggested that this result may be a demonstration of the Zeroth Law of Thermodynamics as applied to information theory. The Zeroth Law states that if a system A and a system C are in thermal equilibrium with each other, and a system B and the system C are also in thermal equilibrium with each other, then the system A and the system B are also in thermal equilibrium with each other. In other words, two separate local Ising Machine which are each neighbours to one common Ising Machine (i.e. connected to via an effective “external field”) but which are not connected directly to each other, are able to reach thermal equilibrium with each other via their mutual connection to the one common Ising Machine. In other words, it is postulated that the effective “external field” of the Hamiltonian function for the common Ising Machine allows this thermal equilibrium to arise.
The inventor has realised that the particular manner in which the connected/communicating local Ising Machines are made to communicate is particularly effective in allowing a local Ising Machines to be beneficially influenced by a connected neighbouring local Ising Machine, without rendering optimisation of the Hamiltonian function of the local Ising Machine too difficult or time-consuming computationally. This means that the network of connected local Ising Machines is able to rapidly optimise by virtue of the rapid optimisation of separate local Hamiltonian functions thereby permitting the network of local machines (i.e. as represented by spins) to collectively calculate an optimal set of operating parameters in a distributed way without requiring centralised computational effort or control.
In one preferred embodiment, the algorithm is based on momentum annealing as described by Okuyama et al., referred to in the References section herein. The advantage is that all spin variables can be updated simultaneously as opposed to simulated annealing.
In one embodiment of the invention, the algorithm is run continuously until the problem is solved or is terminated by the control module. In this case, the external spin values must be updated during the course of the algorithm. In another embodiment, the algorithm terminates e.g. based on a convergence criteria and is subsequently restarted with the current spin values except for external spin values, which may be updated before restarting the algorithm.
Communication Device
A communication device (250) is configured to transmit the value of the local Ising Machine's spins and to receive (from neighbouring communications devices 250B) the value of all adjacent spins in neighbouring units according to the network graph. The communication module keeps a map of its internal spin identities (IDs) and their corresponding value. Table 1 shows an example of such a map. This map is continuously updated and reflects the current status of the Ising circuit (220). Only spins with external connections (i.e. externally connecting interaction coefficients, /) need to be represented. This map is broadcast to neighbouring units.
In one embodiment of the invention the broadcast of all such spin values occurs at regular temporal intervals. In another embodiment, each time such a spin is updated by the algorithm (230) it's new value is broadcast to all relevant (i.e. connected) neighbouring units.
Figure imgf000028_0002
Table 1 : Example of internal spin-value map for “unit 1 ” in Figure 3.
In addition, the communication device (250) keeps a map of external spin IDs received from other neighbouring local Ising Machine units. An example of such a map is shown in Table 2. Each such external spin value is fixed in the Ising circuit (220) and optimisation algorithm (230), or equivalently, the external field coefficient may be directly modified using these external spins (cr7) according to the following equation:
Figure imgf000028_0001
In that way, it would thereafter not be necessary to store the map of external spin IDs.
The external spin value map is updated each time new spin values are received from neighbouring local Ising Machine units. In one embodiment, the Ising circuit (220) is updated with the values in the external spin map immediately prior to every new run of the optimisation algorithm (230). In another embodiment, an external spin value is updated in the Ising circuit (220) immediately if it's value changes in the external spin-value map.
Figure imgf000028_0003
Table 2: Example of external spin-value map for “unit 1” in Figure 3.
Local Ising Machines are each adapted to separately communicate the new values of a local spin variable by any one or more of the following means: telecommunication; wireless communication; fibre-optic communication; electrical communication (e.g. via a wire connection), etc. Activation module An activation circuit and device(s) (240) is configured to be controlled by the value of the spin variables generated by optimisation of the Ising Hamiltonian represented by the Ising circuit (220), or takes such spin values as input. The activation module may also control the machines general operational hardware and software e.g. for navigation, communication, etc. As a simple illustrative example, consider an Ising machine with an Ising circuit containing three internal spins and an activiation module configured to control three LED's, each corresponding to a respective one of the three internal spins. The activation circuit may then be configured such that each of the LED's is activated exactly when it's corresponding spin value is 1 (i.e. ^ = 1) and deactivated otherwise. We propose the following practical applications of the invention. This however does not limit the applicability of the invention in other areas. - Dynamic configuration of gates and escalators in train stations. - Distributed optimisation of traffic light signals. - Distributed train signalling and routing. - Dynamic channel allocation for wireless radio signals. - Task allocation incl. drone scheduling for parcel delivery and optimised order picking by AGV's in warehouses. Traffic light signalling Objective The objective is to manage a number of traffic light signals, such that the number of cars that has a green signal is maximised, while ensuring that signals in same and parallel directions are in the same state and that perpendicular signals are in the "opposite" state, to avoid collisions. Formulation Let σik ∈ {0,1} for K ∈ {RA G }where R, A, G represent red, amber, green respectively, and i represent the traffic signal. For each traffic signal, we assume that it is in a single state at one time (red (R), amber (A), or green (G)), that is for all signals, i: This corresponds to the Hamiltonian:
Figure imgf000029_0001
This expands to:
Figure imgf000030_0001
We can immediately see that this Hamiltonian function takes the form of an Ising Hamiltonian. In order to ensure that traffic signals in the same (or parallel) directions have same values. Ensuring that signal i and j are both in the same time by the following constraints:
Figure imgf000030_0002
This corresponds to minimising the following Hamiltonian function:
Figure imgf000030_0003
Again, this Hamiltonian function takes the form of an Ising Hamiltonian. Here the || operator indicates that signals must be in same state. Suppose that signal i and j are on perpendicular road segments, we want to ensure that traffic does not collide. In this case, we require that if signal i is green, then signal j is red
Figure imgf000030_0004
and vice versa.
Figure imgf000030_0005
This corresponding to minimising the following Hamiltonian function:
Figure imgf000030_0006
Once more, this Hamiltonian function takes the form of an Ising Hamiltonian. Here the 1 operator indicates that signals must be in "opposite" state. Now, we want to maximise the cars that have green signals. This is achieved by the following objective:
Figure imgf000031_0001
where for each signal i, αi is the number of cars at or approaching signal i. Hence, we introduce the Hamiltonian:
Figure imgf000031_0002
Here gi is some increasing function of αi (e.g. gi = αi). Now the full Hamiltonian of the problem can be written as H = H0 + βH1 + γH2 + δH3 Here β, γ, δ are real-valued scaling coefficients selected by the user. Example Now, let us consider an example with four traffic signals representing a single junction with four corresponding adjoining road segments. Each of the two pairs are synchronised, so that they should be in the same state, while the other pair are both in opposite state. For this example, we assume that they will always converge to the state of red or green. That is, in the optimal (ground state), one pair of signals will both be green, while the other pair will both be red. Intermediate, Amber state is not enforced. Also, minimum time in each state is also not ensured. We assume that each signal will contain an Ising Machine with three spins. Each of the spins are connected and configured as explained in the previous section. The weights of the different terms of the Hamiltonian are chosen as follows. β = 0.4; γ = δ = 0.2 This choice of weights has the effect of cancelling-out all the linear spin terms (e.g. σiG etc.) of H1, H2, H3, leaving only the squared spin terms (e.g. σiG σjR etc.) corresponding to the link coefficients (^) in the Ising model. We initially impose an external field of g3 = ℎ^^ = 1. Here ℎ^^ refers to the external field on node ^ = 11 (on local Ising Machine 3 in Figure 5) of the Hamiltonian described above, having the form:
Figure imgf000031_0003
This corresponds to H0 = g3σ3G = −σ3G. Note that, in general ℎ^ refers to the combined linear coe-cients (or “external field”) of all the terms: H0, H1, H2, H3. However, due to the choices of: β = 0.4; γ = δ = 0.2, the linear terms of H1, H2, H3 cancel out. The corresponding connections and their coefficients are drawn in Figure 5. Figure 5 shows an Ising model of the traffic light embodiment of the invention described above. Nodes of the network of local machines are numbered 0 through to 11, where nodes 0, 1 and 2 belong to local Ising Machine 0. Local machine nodes 3, 4 and 5 belong to local Ising Machine 1. Local machine nodes 6, 7 and 8 belong to local Ising Machine 2. Local machine nodes 9, 10 and 11 belong to local Ising Machine 3. Each local machine is an illumination control unit which is configured to control the illumination state of a respective one of three illumination units (e.g. LED lights etc.) within a traffic light signalling box or unit. Each traffic light signalling box or unit contains three such illumination control units, and one such illumination control unit controls the illumination state of a respective one of: a green light; an amber light; a red light. Each traffic light signalling box or unit represents a local Ising Machine. Thus, there are four local Ising Machines in the example of Figure 5. Each of these four local Ising Machines has three spin variables corresponding to the operational states of a respective one of: a green light; an amber light; a red light. These three spin variables, in each of the four local Ising Machines, are coupled to each other by internal interaction coefficients of ^^^ = 0.8. In addition, the three spin variables, in each of the four local Ising Machines, are each subject to a respective “external field” parameter of: ℎ^ = 0.0, for i = 1 10, and of: ℎ^ = 1.0, for i = 11, which corresponds to the green illumination unit (local machine) within local Ising Machine 3. Figure 5 shows the configuration of the four local Ising Machines in their initial state ate iteration 0. The corresponding four local Hamiltonians are as follows:
Figure imgf000032_0001
We run a simulation over 40 iterations. In each iteration, each local Ising Machine is locally optimised in a random sequence. At each local optimisation run, the spins within each local Hamiltonian that arise from a neighbouring local Hamiltonian, are fixed according to the current value as found in the most recent optimisation of each of the neighbouring local Ising Machines that contribute spin values to the local Hamiltonian being optimised. During iteration 0 to 20 an external field of g3 = ℎ^^ = 1.0 is imposed at local Ising Machine 3 representing one or more approaching cars. The local Ising Machines converge to the ground state (of the global Ising model), where two local Ising Machines are in state "green" and the other two are in state "red". During iteration 20 to 39 an external field of g0 = ℎ^ = 1.0 is imposed at Ising Machine 0 corresponding to approaching car(s). At that moment, of iteration 20, g3 = ℎ^^ = 1.0 as well. However, for iterations 21 to 30 the condition: g3 = ℎ^^ = 0.0 is imposed. This causes the local Ising Machines to change state, but once again converges to the (new) ground state. The local Ising Machines are all initialised to state Amber in iteration 0. The diagram of Figure 7 depicts the solutions trajectory (upper graphic) and energy trajectories (lower graphic). The global minimum energy level (before and after iteration 20) is −2.6 corresponding to being green in the direction of the approaching car as well as satisfying all constraints. The local minimum energy level is −0.8 for local Ising Machines ^, where ^^ = 0, i.e. where no car is detected, and −1.8 when gi = 1.0. Figure 6 shows the configuration of the four local Ising Machines in their final state at iteration 39. The corresponding four local Hamiltonians are as follows:
Figure imgf000033_0001
The values (σi ∈ {0,1}) of the twelve spin variables σ1 to σ11, have been calculated, by local optimisations of local Hamiltonians
Figure imgf000033_0002
to achieve the optimal states (σi = 1.0 signifies status “on”; σi = 0.0 signifies status “off”)) necessary to control the illumination states of the local machines they represent (i.e. individual illumination units of traffic light signalling boxes) whilst being subject to the constraints described above. This example consists of four local Ising machines, one for each of four traffic signal boxes in a junction. Each local Ising Machine consists of 3 local machines (illumination units: “red”, “amber”, “green”) to each of which is assigned a respective spins variable corresponding to the state of the machine (i.e. “on”/”off”). Each of two pairs of signal boxes are arranged to be in opposite (but parallel) directions (e.g. North- South, and East-West). Each of such pairs are forced to be in the same state, while the other pair (with crossing traffic) must be in the opposite state (e.g. if North and South are green, then East and West must be red and vice versa). Particular constraints and controls are as follows: 1) Internal interaction coefficients (^ = 0.8) ensures that each ising machine is in at most one state at a time; 2) External interaction coefficients (^ = −0.4) of opposite/parallel directed traffic (between “green” and “green” e.g. node 2 and 5, etc.) ensure that signals in opposite directions are in the same state (e.g. both are green); 3) External interaction coefficients (J = -0.4) of perpendicular traffic (between “green” and “red” e.g. between node 0 and 8) ensure that signals are red when crossing traffic have a green light and vice versa;
4) An external field bias coefficient e.g. h = 1.0 is used to model incoming traffic e.g. based on sensor measurements. A negative external field on the “green” spin would “encourage” this signal to go to a “green” state etc.
In this way, the optimisation of the collective operation of a plurality of traffic signalling machines is computed in a distributed fashion to enable better, more efficient operation of these machines.
In general, it is noted that local spin parameters do not necessarily translate directly one-to-one to operating parameters. For example, some spins may not correspond to operating parameters, e.g. they may be auxiliary parameters (or auxiliary decision variables) that are not directly related to machine operations but may be desirable or necessary to model the optimisation problem. In addition, for example, each operating parameter of a local machine may correspond to one or several spin parameters. In the examples provided above we have assumed that operating parameters are binary, but this may not necessarily be the case. For example, in the traffic light examples described above, one can represent this by assigning three local machines (as described above) for each Ising machine (i.e. one machine - or illumination unit - for each colour signal: red, amber, green). However, we may alternatively refer to the three colour signals as one local machine with 23=8 potential states corresponding to the possible states of the three spin parameters within that Ising machine. The constraints imposed may force the machine to be in exactly 1 of only 3 states. Another example is to choose the brightness of a single illumination unit to be one of 23=8 predefined brightness levels: 0 (off) - 7 (full brightness), which can be presented by (at least) 3 spins for the same local machine.
Table 3: Specification of the changing Ho in the simulation. No entry indicates a value of zero.
Figure imgf000035_0001
Vehicle Routing This section describes a simple use case of assigning non-conflicting routes to automatic guided vehicles (AGV's), such as to minimise the total distance traversed. For the sake of clarity, we describe the static problem. Objective Assign pre-calculated routes to vehicles such that the total distance over all vehicles is minimised and conflicting routes are avoided. Formulation Consider a set of N vehicles and let σk ∈ {0,1} for k ∈ R where R is the set of all feasible routes for all vehicles and R(i) is the set of feasible routes for vehicle i ∈ N. Let σk = 1 if and only if route k is selected by a vehicle. Furthermore, let dk denote the pre-calculated distance of route k and let C be the set of all pre-calculated conflicting route pairs. That is, = {(k; k') ∈ R × R|K confIicts with k′}. For each vehicle i, we want to select exactly one route, such that:
Figure imgf000036_0001
corresponding to the Hamiltonian:
Figure imgf000036_0002
Since, x2 = x, we can simplify this expression to:
Figure imgf000036_0003
Secondly, we need to ensure that conflicting routes are not selected. This can be achieved by enforcing the following constraint:
Figure imgf000036_0004
This corresponds to minimising the following Hamiltonian:
Figure imgf000036_0005
Finally, we want to minimise the total distance covered by all the vehicles, as follows: Now, we can write the full Hamiltonian
Figure imgf000036_0006
as: H = Ho + βHr + γH2
Here, β and γ are suitable scaling coefficients.
Example
In this example, we will consider case with four AGV's navigating a small network of connected corridors as shown in Figure 8. The corridors may be located within a building such as a warehouse, storage depot, or factory floor. The AGVs might be robotic vehicles tasked with e.g. moving items within the warehouse, storage depot or factory from one place to another place in order to achieve an overall task or job. The task or function might be, for example, collecting parts of assembly of an object within an automated assembly line (e.g. manufacturing cars), or re-stocking/storing products within a warehouse of a supermarket or online retailer by transporting them from a warehouse/depot loading area to a designated storage location within the warehouse/depot. The task or function might be retrieving products from a designated storage location for delivery to a warehouse/depot shipping area for onward transport to a customer. Of course, these examples are simply presented to help with a better understanding of the invention and it is to be understood that the invention is not limited to these particular examples, as would be readily understood by the skilled person.
In the present example, the network of connected corridors, shown in Figure 8, comprises seven (7) separate corridors designated A, B, C, D, E, F and G. Each corridor extends between two terminal ends defined by a respective node. Each node connects a terminal end of one corridor to the terminal end of only one other corridor, or to the terminal ends of only two other corridors. In particular, one terminal end of corridor A is connected only to one terminal end of corridor B. The other terminal end of corridor A is connected only to one terminal end of corridor C. In addition, the other terminal end of corridor C is connected both to one terminal end of corridor D and one terminal end of corridor F. The other terminal end of corridor B is connected both to one terminal end of corridor D and one terminal end of corridor E. The otherterminal ends of corridors E and F are each connected, respectively, only to one of the two opposite terminal ends of corridor G.
The lengths corridors C and G are each one unit of length, whereas the lengths corridors A, E and F are each two units of length. However, corridor D is three units of length, which corridor B has 0.5 units of length.
Each of the four AGV's is required to navigate these corridors to get from their current position to their destination without colliding with other AGV's. We assume that at most one (1) AGV can be on an edge (i.e. within a given corridor) at any point in time and that it takes one (1) given time period for each AGV to complete the traversal of the edge (i.e. corridor) it is upon (within). We assume that AGV's are allowed to pass each other in the nodes. In physical terms, each node might correspond to an area of the building (e.g. a foyer, or passing place) located at an end of a given corridor, which is of greater width enabling such passing of AGVs there. The corresponding feasible routes for each AGV and their corresponding distance is given in table 4. Two routes will have a conflict if and only if they use the same edge/corridor (i.e. corridors: A - G) during the same time period as indicated by the position in the order of edges. For example, inspection of Table 4 shows that route 0 and route 11 are seen to conflict because they both use edge C in the second time period. In particular, route 0 comprises three periods of AGV movement: firstly corridor A, secondly corridor C, thirdly corridor F. However, route 11 comprises two periods of AGV movement: firstly corridor D, secondly corridor C. Thus, during the second period of AGV movement two AGVs would be present within corridor C. This is impermissible, and route re-calculation is required.
Table 4: Table of pre-calculated feasible routes and their distances for each AGV.
Figure imgf000038_0001
Each AGV contains an Ising Machine of the type shown in Figure 1. Each of these Ising Machines contains one spin variable (σ) for each of it's feasible routes. Thus, some Ising Machines contain three spin variables, while others contain four spin variables. We use the scaling coefficients: _β = 6 and y = 2 to ensure that the terms of the Hamiltonian are balanced. The corresponding Ising model is shown in Figure 9. Internal constraints are illustrated as solid connecting lines and represent the coupling coefficient: J = -2β , while external constraints are illustrated as dotted connecting lines and represent the coupling coefficient: J = -y. The external field h are given as: hk = β - dk, here k denotes the node number (K = 0, 1,2, ...13) for spin nodes #0, #1 , #2... #13, respectively.
A first AGV contains an Ising Machine having four spin nodes, denoted as nodes #0 to #3 that are fully connected to each other internally (J = -2β ). A second AGV contains an Ising Machine having four spin nodes, denoted as nodes #4 to #7 that are fully connected to each other internally (J = -2/?). A third AGV contains an Ising Machine having three spin nodes, denoted as nodes #8 to #10 that are fully connected to each other internally (J = -2β) ). Finally, a fourth AGV contains an Ising Machine having three spin nodes, denoted as nodes #11 to #13 that are fully connected to each other internally (J = -2β). Spin node #0 is subject to h = 1, and is externally connected (J = -y) to spin nodes #11 and #12.
Spin node #1 is subject to h = 2.5, and is externally connected (J = -y) to spin node #12.
Spin node #2 is subject to h = 0.5, and is externally connected (J = -y) to spin nodes #6, #12 and #13.
Spin node #3 is subject to h = -3, and is externally connected (J = -y) to spin nodes #4 and #11 .
Spin node #4 is subject to h = -2.5, and is externally connected (J = -y) to spin nodes #3 and #9. Spin node #5 is subject to h = 2, and is externally connected (J = -y) to spin node #9.
Spin node #6 is subject to h = 0, and is externally connected (J = -y) to spin nodes #2 and #8.
Spin node #7 is subject to h = 1.5, and is externally connected (J = -y) to spin nodes #8, #10 and #13. Spin node #8 is subject to h = 0.5, and is externally connected (J = -y) to spin nodes #6, #7 and #13. Spin node #9 is subject to h = 3, and is externally connected (J = -y) to spin nodes #4 and #7.
Spin node #10 is subject to h = 1, and is externally connected (J = -y) to spin nodes #2, #6, #7 and #13. Spin node #11 is subject to h = 2, and is externally connected (J = -y) to spin nodes #0 and #3.
Spin node #12 is subject to h = 3.5, and is externally connected (J = -y) to spin nodes #1 and #2. Spin node #13 is subject to h = 0, and is externally connected (J = -y) to spin nodes #0 and #1 .
The simulation was run for 10 iterations. Figure 10 shows the resulting energy trajectory (bottom panel) and solutions trajectory (top panel) over the 10 iterations. The algorithm converges to the optimal solution in three iterations with an energy of H = -9 corresponding to a total distance for all vehicles of 15 units of distance. Notice, that Ising Machine #2 changes it's route in the third iteration (iteration 3), to a route which is 2 distance units shorter. This shorter route k = 9, however, conflicts with route k = 5 of Ising Machine #1 , which in turn is forced to increase it's route distance by 0.5 in the fourth iteration (iteration 4). Hence, Ising Machine #1 sacrifices it's locally best solution in order to achieve an improvement in the global solution by 1 .5.
In this way, the optimisation of the collective operation of a plurality of AGVs is computed in a distributed fashion to enable better, more efficient operation of these machines.
Task Allocation
Given a number of tasks and a number of machines (e.g. robots, AGVs, drones, etc.), one may wish to complete all tasks, while respecting the following constraints: Each machine can only perform one task at a time, each task requires one or more machines from a subset of all machines in order to complete.
Objective
The objective is to complete as many tasks as possible.
Formulation
A number of tasks are located at unknown positions across an area. To complete a task, a minimum of n machines need to be assigned to the task. Each machine (e.g. robot, AGV, drone, etc.) will contain an Ising Machine with m + 1 fully connected internal spins (a) and n loosely connected internal spins. Each of the internal spins is remotely connected to its counterpart within the Ising Machine in a neighbouring machine (e.g. robot, AGV, drone, etc.). Neighbouring machines may be defined as “neighbouring” if those machines within a predefined range of another machine.
Each machine contains m spins corresponding to each potential task, plus one spin corresponding to “not assigned”, the jth spin is activated if and only if the machine is assigned to task j = 1 ... m. This means it may complete at most m tasks. Initially, all machines are in state “not assigned” (spin j = 0 is activated). The plurality of machines may be arranged to scan the area following some predefined algorithm set in control circuitry of the Ising Machine within it. Once a machine encounters a task, it will be assigned to the corresponding task and the spin corresponding to that task is forced to the state of the corresponding task (chosen arbitrarily among the available spins).
The design of the Hamiltonian will impose a convergence to a state where exactly n - 1 of the neighbouring units will switch their spin state to correspond to the state of the first unit assigned to task #1 , that is they will also be assigned to task #1 . Being in this state will cause the activation circuit of the Ising Machine within it to move the machine close to the machine already assigned and assign itself to task #1 . The remaining units will stay in state “not assigned” and continue searching. The process repeats every time a new task is encountered.
Formulation
The problem can be mathematically formulated as follows:
This is subject to:
Figure imgf000040_0001
where y7 = 1 if task j is completed and 0 otherwise, and o-y = 1 if machine i is assigned to task j and 0 otherwise, and j = 0 corresponds to "not assigned". And where U is the set of all machines. We can reformulate this as the following Hamiltonian:
Figure imgf000040_0002
Here the first term ensures that we maximise the number of completed tasks, the second term enforces that exactly n machines are assigned to each task, while the third term ensures that each machine is assigned to at most one task at a time. This Hamiltonian may be optimised (minimised) according to the invention, using local Ising Machines within each relevant Machine (e.g. robot, AGV, drone, etc.). This permits the optimisation of the collective operation of a plurality of machines to be computed in a distributed fashion to enable better, more efficient operation of these machines. The features disclosed in the foregoing description, or in the following claims, or in the accompanying drawings, expressed in their specific forms or in terms of a means for performing the disclosed function, or a method or process for obtaining the disclosed results, as appropriate, may, separately, or in any combination of such features, be utilised for realising the invention in diverse forms thereof.
While the invention has been described in conjunction with the exemplary embodiments described above, many equivalent modifications and variations will be apparent to those skilled in the art when given this disclosure. Accordingly, the exemplary embodiments of the invention set forth above are considered to be illustrative and not limiting. Various changes to the described embodiments may be made without departing from the spirit and scope of the invention.
For the avoidance of any doubt, any theoretical explanations provided herein are provided for the purposes of improving the understanding of a reader. The inventors do not wish to be bound by any of these theoretical explanations.
Any section headings used herein are for organizational purposes only and are not to be construed as limiting the subject matter described.
Throughout this specification, including the claims which follow, unless the context requires otherwise, the word “comprise” and “include”, and variations such as “comprises”, “comprising”, and “including” will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps.
It must be noted that, as used in the specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from “about” one particular value, and/or to “about” another particular value. When such a range is expressed, another embodiment includes from the one particular value and/or to the other particular value. Similarly, when values are expressed as approximations, by the use of the antecedent “about,” it will be understood that the particular value forms another embodiment. The term “about” in relation to a numerical value is optional and means for example +/- 10%.
References
A number of publications are cited above in order to more fully describe and disclose the invention and the state of the art to which the invention pertains. Full citations for these references are provided below. The entirety of each of these references is incorporated herein.
[1] An Ising type computer based on semi-conductor technology: US9823882B2
[2] Masanao Yamaoka, Chihiro Yoshimura, Masato Hayashi, TakuyaOkuyama, Hidetaka Aoki, and Hiroyuki Mizuno. “A 20k-spin ising chip to solve combinatorial optimization problems with emos annealing." IEEE Journal of Solid-State Circuits, 51 (1):303309, 2016. [3] Andrew Lucas. “Ising formulations of many np problems" . Frontiers in Physics, 2:5, 2014.
[4] Takuya Okuyama, Tomohiro Sonobe, Ken-ichi Kawara bayash i, and Masanao Yamaoka. “Binary 5 optimization by momentum annealing." Physical Review E, 100(1 ):012111 , 2019.
Appendix
Figure imgf000043_0001
, Here, σi , σj ∈ {1, −1}. Now replace these spin variables with xi , xj ∈ {0,1}, by making a substitution: σi = 2xi − 1. 5 This gives: 10 15
Figure imgf000043_0002
20 In particular, the terms Iij can be summed over j for a given value of i, and this summation can be expressed as a constant term bi. This give: 25
Figure imgf000043_0003
30 The Ising formulation (H(σ)) and the QUBO formulation (H(x)) are isomorphic. In other words, using either σi , σj ∈ {1, −1} or xi , xj ∈ {0,1} as a “spin” variable is possible within an Ising formulation.

Claims

Claims:
1 . A distributed network of machines comprising a plurality of separate network nodes each comprising one or more local machines adapted to operate according to local operating parameters, wherein each network node comprises: a local Ising Machine comprising at least one local spin variable and a plurality of interaction coefficients each associated with a respective interaction coefficient between the at least one local spin variable and at least one other spin variable, wherein one or more local spin variables correspond with operating parameters of the one or more local machines of the network node; wherein at least one local spin variable of each local Ising Machine is connected to a neighbouring local spin variable of a neighbouring local Ising Machine of another network node of the plurality of network nodes via a said interaction coefficient, wherein one or more neighbouring local spin variables correspond with operating parameters of the one or more neighbouring local machines of the network of machines; wherein local Ising Machines are each adapted to separately implement the following steps:
(d) define a local Hamiltonian according an Ising Model comprising: the local spin variables of the local Ising Machine; the interaction coefficients connected to the local spin variables; and neighbouring local spin variables of neighbouring local Ising Machines connected to the local spin variables by a said interaction coefficient; and,
(e) calculate varied values of the local Hamiltonian by varying the values of local spin variables without varying the neighbouring local spin variables connected thereto; and,
(f) locally change the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with the local Hamiltonian having a reduced value from amongst the varied values; whereby the distributed network of machines thereby implements a distributed Ising Machine.
2. A distributed network of machines according to any preceding claim wherein a said local Ising Machine and a said neighbouring local Ising Machine are configured to collectively calculate said varied values of the local Hamiltonian of said local Ising Machine without changing the operating parameters of machines within the neighbouring local Ising Machine according to values of spin variables associated with the local Ising Machine during said collective calculation.
3. A distributed network of machines according to any preceding claim wherein said local Ising Machines are each adapted to separately define a said local Hamiltonian according an Ising Model also comprising bias coefficients associated with local spins. A distributed network of machines according to any preceding claim wherein said local Ising Machines are each adapted separately to change the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with a said varied value of the local Hamiltonian that has reduced below predetermined value or has reduced by a predetermined amount. A distributed network of machines according to any preceding claim wherein said calculating varied values of the local Hamiltonian includes using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting no change in the values of those neighbouring local spin variables throughout said calculating. A distributed network of machines according to any preceding claim wherein said calculating varied values of the local Hamiltonian includes using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting a change in the values of those neighbouring local spin variables during said calculating only in response to receipt of a new value of a neighbouring local spin variable from a neighbouring local Ising Machines associated therewith. A distributed network of machines according to any preceding claim wherein local Ising Machines are each adapted to separately communicate the new values of a local spin variable determined by said calculating varied values of the local Hamiltonian to the neighbouring local Ising Machines connected to said local spin variable. A distributed network of machines according to any preceding claim wherein all local spin variable values are variable to take either one of two values alone. A distributed network of machines according to any preceding claim wherein one or more of the local Ising Machines is configurable selectively to set to a value of zero one or more of the interaction coefficients connected to a local spin variable associated with a selected local machine within the local Ising Machine, and selectively to re-set the one or more interaction coefficients to a non-zero value in order to change the local Ising Machine in response the selected local machine being activated to have active local operating parameters to be controlled. A distributed network of machines according to any preceding claim wherein one or more of the local Ising Machines is configurable selectively to increase the value one or more of the interaction coefficients thereof that are connected to a selected neighbouring local Ising Machine thereby selectively to increase the coordination of the operating parameters of local machines within the local Ising Machine and the neighbouring local Ising Machine connected thereto. A distributed network of machines according to any preceding claim wherein each local Ising Machine comprises a control module (220) arranged to map the operating parameters of the one or more machines of an Ising Machine, onto an Ising Model. A distributed network of machines according to any preceding claim wherein one or more of said local Ising Machines comprises one or more sensors configured to sense external/environmental conditions associated with the local machines thereof, wherein the one or more local Ising Machines is configurable selectively to adjust the value of one or more of the interaction coefficients thereof according to the external conditions sensed by the one or more sensors, thereby to adjust the local Hamiltonian associated therewith. A distributed network of machines according to claim 12 wherein local Ising Machines are each adapted to continuously calculate varied values of the local Hamiltonian thereof by varying the values of local spin variables, applying any adjusted neighbouring local spin variable values received from neighbouring Ising Machines, and by adjusting the interaction coefficient values thereof according to changing external/environmental conditions sensed by said sensors. A computer system comprising a distributed network of machines according to any of claims 1 to 13, wherein each said local Ising Machine comprises a computer, or a system of connected computers, configured to locally implement steps (a), (b) and (c). A computer-implemented method for a distributed network of machines comprising a plurality of separate network nodes each comprising one or more local machines adapted to operate according to local operating parameters, wherein each network node comprises a local Ising Machine comprising at least one local spin variable and a plurality of interaction coefficients each associated with a respective interaction between the at least one local spin variable and at least one other spin variable, wherein one or more local spin variables correspond with operating parameters of the one or more local machines of the network node; wherein at least one local spin variable of each local Ising Machine is connected to a neighbouring local spin variable of a neighbouring local Ising Machine of another network node of the plurality of network nodes via a said interaction coefficient, wherein one or more neighbouring local spin variables correspond with operating parameters of the one or more neighbouring local machines of the network of machines; wherein the method comprises separately implementing the following steps by local Ising Machines:
(d) defining a local Hamiltonian according an Ising Model comprising: the local spin variables of the local Ising Machine; the interaction coefficients connected to the local spin variables; and neighbouring local spin variables of neighbouring local Ising Machines connected to the local spin variables by a said interaction coefficient; and,
(e) calculating varied values of the local Hamiltonian by varying the values of local spin variables without varying the neighbouring local spin variables connected thereto; and,
(f) locally changing the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with the local Hamiltonian having a reduced value from amongst the varied values; whereby the distributed network of machines thereby implements a distributed Ising Machine. A method according to claim 15 including collectively calculating, by a said local Ising Machines and a said neighbouring local Ising Machine, said varied values of the local Hamiltonian of said local Ising Machine, without changing the operating parameters of machines within the neighbouring local Ising Machine according to values of spin variables associated with the local Ising Machine during said collective calculation. A method according to any of claims 15 to 16 including, by said local Ising Machines, separately defining a said local Hamiltonian according an Ising Model also comprising bias coefficients associated with local spins. A method according to any of claims 15 to 17 including, by said local Ising Machines, separately to changing the operating parameters of at least one of the one or more local machines according to the values of the local spin variables associated with a said varied value of the local Hamiltonian that has reduced below predetermined value or has reduced by a predetermined amount. A method according to any of claims 15 to 18 wherein said calculating varied values of the local Hamiltonian includes using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting no change in the values of those neighbouring local spin variables throughout said calculating. A method according to any of claims 15 to 19 wherein said calculating varied values of the local Hamiltonian includes using the initial values of the neighbouring local spin variables as given at the start of said calculating, and permitting a change in the values of those neighbouring local spin variables during said calculating only in response to receipt of a new value of a neighbouring local spin variable from a neighbouring local Ising Machines associated therewith. A method according to any of claims 15 to 20 including, by a said Ising Machine, communicating the new value of a local spin variable determined by said calculating varied values of the local Hamiltonian to the neighbouring local Ising Machines connected to said local spin variable. A method according to any of claims 15 to 21 including varying all local spin variable values to take either one of two values alone. A method according to any of claims 15 to 22 including, at one or more of the local Ising Machines, selectively setting to a value of zero one or more of the interaction coefficients connected to a local spin variable associated with a selected local machine within the local Ising Machine, and selectively re-setting the one or more interaction coefficients to a non-zero value in order to change the local Ising Machine in response the selected local machine being activated to have active local operating parameters to be controlled. A method according to any of claims 15 to 23 including, by one or more of the local Ising Machines, selectively increasing the value one or more of the interaction coefficients thereof that are connected to a selected neighbouring local Ising Machine thereby selectively to increase the coordination of the operating parameters of local machines within the local Ising Machine and the neighbouring local Ising Machine connected thereto.
25. A method according to any of claims 15 to 24 including, by a control module, mapping the operating parameters of the one or more machines of an Ising Machine, onto an Ising Model.
26. A method according to any of claims 15 to 25 including, by one or more of said local Ising Machines, sensing external/environmental conditions associated with the local machines thereof, and selectively adjusting the value of one or more of the interaction coefficients thereof according to the external conditions sensed by the one or more sensors, thereby to adjust the local Hamiltonian associated therewith.
27. A method according to claim 26 including continuously calculating varied values of the local Hamiltonian thereof by varying the values of local spin variables, applying any adjusted neighbouring local spin variable values received from neighbouring Ising Machines, and adjusting the interaction coefficient values thereof according to changing external/environmental conditions sensed by said sensors.
28. A computer program, or computer program product, comprising instructions which, when the program is executed by a computer system, cause the computer system to carry out the method of any of claims 15 to 27.
29. A computer-readable storage medium comprising instructions which, when executed by a computer system, cause the computer system to carry out the method of claims 15 to 27.
30. A computer program, or computer program product, comprising instructions which, when the program is executed by a computer system according to claim 14, cause the computer system to carry out the method according to any of claims 15 to 27, wherein each local Ising Machine comprises a computer, or a system of connected computers, configured to locally implement steps (a), (b) and (c).
PCT/EP2020/075554 2020-09-11 2020-09-11 System and method for implementing a distributed ising machine WO2022053149A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/075554 WO2022053149A1 (en) 2020-09-11 2020-09-11 System and method for implementing a distributed ising machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/075554 WO2022053149A1 (en) 2020-09-11 2020-09-11 System and method for implementing a distributed ising machine

Publications (1)

Publication Number Publication Date
WO2022053149A1 true WO2022053149A1 (en) 2022-03-17

Family

ID=72517245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/075554 WO2022053149A1 (en) 2020-09-11 2020-09-11 System and method for implementing a distributed ising machine

Country Status (1)

Country Link
WO (1) WO2022053149A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116341286A (en) * 2023-05-24 2023-06-27 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) Acceleration quantum heuristic solving method and device based on FPGA

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9823882B2 (en) 2014-08-29 2017-11-21 Hitachi, Ltd. Semiconductor device and information processing device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9823882B2 (en) 2014-08-29 2017-11-21 Hitachi, Ltd. Semiconductor device and information processing device

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANDREW LUCAS: "Ising formulations of many np problems", FRONTIERS IN PHYSICS, vol. 2, 2014, pages 5
COOK CHASE ET AL: "GPU-based Ising computing for solving max-cut combinatorial optimization problems", INTEGRATION, THE VLSI JOURNAL, NORTH-HOLLAND PUBLISHING COMPANY. AMSTERDAM, NL, vol. 69, 16 August 2019 (2019-08-16), pages 335 - 344, XP085900921, ISSN: 0167-9260, [retrieved on 20190816], DOI: 10.1016/J.VLSI.2019.07.003 *
MASANAO YAMAOKACHIHIRO YOSHIMURAMASATO HAYASHITAKUYAOKUYAMAHIDETAKA AOKIHIROYUKI MIZUNO: "A 20k-spin ising chip to solve combinatorial optimization problems with cmos annealing", IEEE JOURNAL OF SOLID-STATE CIRCUITS, vol. 51, no. 1, 2016, pages 303309, XP011596430, DOI: 10.1109/JSSC.2015.2498601
TAKUYA OKUYAMATOMOHIRO SONOBEKEN-ICHI KAWARABAYASHIMASANAO YAMAOKA: "Binary optimization by momentum annealing", PHYSICAL REVIEW E, vol. 100, no. 1, 2019, pages 012111

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116341286A (en) * 2023-05-24 2023-06-27 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) Acceleration quantum heuristic solving method and device based on FPGA
CN116341286B (en) * 2023-05-24 2023-08-25 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) Acceleration quantum heuristic solving method and device based on FPGA

Similar Documents

Publication Publication Date Title
Fragapane et al. Planning and control of autonomous mobile robots for intralogistics: Literature review and research agenda
Zhang et al. Review of job shop scheduling research and its new perspectives under Industry 4.0
Lee et al. Intelligent traffic control for autonomous vehicle systems based on machine learning
Bertsimas et al. A stochastic and dynamic vehicle routing problem in the Euclidean plane
Alitappeh et al. Multi-robot exploration in task allocation problem
Trigui et al. FL-MTSP: a fuzzy logic approach to solve the multi-objective multiple traveling salesman problem for multi-robot systems
Zacharia et al. AGV routing and motion planning in a flexible manufacturing system using a fuzzy-based genetic algorithm
Keung et al. Industrial internet of things-driven storage location assignment and order picking in a resource synchronization and sharing-based robotic mobile fulfillment system
Xu et al. A brief review of the intelligent algorithm for traveling salesman problem in UAV route planning
Keung et al. Edge intelligence and agnostic robotic paradigm in resource synchronisation and sharing in flexible robotic and facility control system
KR102675760B1 (en) A building having facilities used by robots that drive in the building
Güller et al. Simulation-based performance evaluation of the cellular transport system
Lopez-Perez et al. Distributed multirobot exploration based on scene partitioning and frontier selection
Bahrpeyma et al. A review of the applications of multi-agent reinforcement learning in smart factories
Rossi et al. Multi-agent algorithms for collective behavior: A structural and application-focused atlas
Kyprianou et al. Towards the achievement of path planning with multi-robot systems in dynamic environments
Mehrabian et al. Multi-objective routing and scheduling in flexible manufacturing systems under uncertainty
WO2022053149A1 (en) System and method for implementing a distributed ising machine
Lee et al. Concept drift modeling for robust autonomous vehicle control systems in time-varying traffic environments
Spatharis et al. Multiagent reinforcement learning for autonomous driving in traffic zones with unsignalized intersections
Zhong et al. Path design and resource management for NOMA enhanced indoor intelligent robots
Ekren et al. A reinforcement learning approach for transaction scheduling in a shuttle‐based storage and retrieval system
Xin et al. Receding horizon path planning of automated guided vehicles using a time‐space network model
Zhang et al. Application of Automated Guided Vehicles in Smart Automated Warehouse Systems: A Survey.
Yin et al. Multi-AGV task allocation with attention based on deep reinforcement learning

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20772037

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20772037

Country of ref document: EP

Kind code of ref document: A1