lava-nc / lava-optimization

Neuromorphic mathematical optimization with Lava
https://lava-nc.org/optimization.html
BSD 3-Clause "New" or "Revised" License
52 stars 26 forks source link

NEBM + SCIF merger with SCIF's WTA spikes only when switching states #155

Closed srrisbud closed 1 year ago

srrisbud commented 1 year ago

CSP and QUBO SCIF neurons inherit from a generalised AbstractSCIF. WTA spikes are only generated when switching states (+1 for off to on, -1 for on to off). Off to on transition is triggered by threshold crossing, on to off is triggered by expiration of "refractory" period.

Noise model: noise added to neural dynamics = noise_amplitude x pseudo-random number. Total noise precision is user-specified. Precision of noise amplitude is internally computed and subtracted from user-specified precision, to generate a pseudo-random number of remaining precision.

New hyperparameter to choose the neuron model: Solver accepts neuron_model hyperparameter with values nebm (for NonEquilibrium Boltzmann Model) and scif (StoChastic Integrage and Fire).

Pull request checklist

Your PR fulfills the following requirements:

Pull request type

Please check your PR type: - [x] Feature ## What is the current behavior?

-

What is the new behavior?

-

Does this introduce a breaking change?