Embodiments of the invention relate to a scalable neural hardware for the noisy-OR model of Bayesian networks. One embodiment comprises a neural core circuit including a pseudo-random number generator for generating random numbers. The neural core circuit further comprises a plurality of incoming electronic axons, a plurality of neural modules, and a plurality of electronic synapses interconnecting the axons to the neural modules. Each synapse interconnects an axon with a neural module. Each neural module receives incoming spikes from interconnected axons. Each neural module represents a noisy-OR gate. Each neural module spikes probabilistically based on at least one random number generated by the pseudo-random number generator unit.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method, comprising: receiving, at a neural module, at least one incoming firing event from at least one axon connected to the neural module via at least one synapse; maintaining at least one programmable probability value, wherein each programmable probability value represents a probability that the neural module integrates an incoming firing event received; selectively integrating the at least one incoming firing event received based on one of the following: the at least one synapse, and the at least one programmable probability value; and selectively generating an outgoing firing event based on a number of incoming firing events integrated. 2. The method of claim 1, wherein selectively integrating the at least one incoming firing event received comprises: for each incoming firing event received from each axon: determining whether a synapse connecting the axon to the neural module is a conducting synapse; and integrating the incoming firing event in response to determining the synapse connecting the axon to the neural module is a conducting synapse. 3. The method of claim 2, wherein selectively generating an outgoing firing event based on a number of incoming firing events integrated comprises: determining a probability of the neural module spiking by based on an exponential function, the number of incoming firing events integrated, and the at least one programmable probability value; drawing a random number from a pseudo-random number generator; determining whether a condition is satisfied by comparing the random number drawn against the probability determined; and generating an outgoing firing event in response to determining that the condition is satisfied. 4. The method of claim 3, wherein the condition is satisfied if the random number drawn is less than the probability determined. 5. The method of claim 1, wherein selectively integrating the at least one incoming firing event received comprises: for each incoming firing event received from each axon: determining whether a synapse connecting the axon to the neural module is a conducting synapse; and in response to determining the synapse connecting the axon to the neural module is a conducting synapse: drawing a random number from a pseudo-random number generator; determining whether a condition is satisfied by comparing the random number drawn against the at least one programmable probability value; integrating the incoming firing event in response to determining that the condition is satisfied; and generating an outgoing firing event in response to integrating the incoming firing event. 6. The method of claim 5, wherein the condition is satisfied if the random number drawn is less than the at least one programmable probability value. 7. A system comprising a computer processor, a computer-readable hardware storage medium, and program code embodied with the computer-readable hardware storage medium for execution by the computer processor to implement a method comprising: receiving, at a neural module, at least one incoming firing event from at least one axon connected to the neural module via at least one synapse; maintaining at least one programmable probability value, wherein each programmable probability value represents a probability that the neural module integrates an incoming firing event received; selectively integrating the at least one incoming firing event received based on one of the following: the at least one synapse, and the at least one programmable probability value; and selectively generating an outgoing firing event based on a number of incoming firing events integrated. 8. The system of claim 7, wherein selectively integrating the at least one incoming firing event received comprises: for each incoming firing event received from each axon: determining whether a synapse connecting the axon to the neural module is a conducting synapse; and integrating the incoming firing event in response to determining the synapse connecting the axon to the neural module is a conducting synapse. 9. The system of claim 8, wherein selectively generating an outgoing firing event based on a number of incoming firing events integrated comprises: determining a probability of the neural module spiking by based on an exponential function, the number of incoming firing events integrated, and the at least one programmable probability value; drawing a random number from a pseudo-random number generator; determining whether a condition is satisfied by comparing the random number drawn against the probability determined; and generating an outgoing firing event in response to determining that the condition is satisfied. 10. The system of claim 9, wherein the condition is satisfied if the random number drawn is less than the probability determined. 11. The system of claim 7, wherein selectively integrating the at least one incoming firing event received comprises: for each incoming firing event received from each axon: determining whether a synapse connecting the axon to the neural module is a conducting synapse; and in response to determining the synapse connecting the axon to the neural module is a conducting synapse: drawing a random number from a pseudo-random number generator; determining whether a condition is satisfied by comparing the random number drawn against the at least one programmable probability value; integrating the incoming firing event in response to determining that the condition is satisfied; and generating an outgoing firing event in response to integrating the incoming firing event. 12. The system of claim 11, wherein the condition is satisfied if the random number drawn is less than the at least one programmable probability value. 13. A computer program product comprising a computer-readable hardware storage medium having program code embodied therewith, the program code being executable by a computer to implement a method comprising: receiving, at a neural module, at least one incoming firing event from at least one axon connected to the neural module via at least one synapse; maintaining at least one programmable probability value, wherein each programmable probability value represents a probability that the neural module integrates an incoming firing event received; selectively integrating the at least one incoming firing event received based on one of the following: the at least one synapse, and the at least one programmable probability value; and selectively generating an outgoing firing event based on a number of incoming firing events integrated. 14. The computer program product of claim 13, wherein selectively integrating the at least one incoming firing event received comprises: for each incoming firing event received from each axon: determining whether a synapse connecting the axon to the neural module is a conducting synapse; and integrating the incoming firing event in response to determining the synapse connecting the axon to the neural module is a conducting synapse. 15. The computer program product of claim 14, wherein selectively generating an outgoing firing event based on a number of incoming firing events integrated comprises: determining a probability of the neural module spiking by based on an exponential function, the number of incoming firing events integrated, and the at least one programmable probability value; drawing a random number from a pseudo-random number generator; determining whether a condition is satisfied by comparing the random number drawn against the probability determined; and generating an outgoing firing event in response to determining that the condition is satisfied. 16. The computer program product of claim 15, wherein the condition is satisfied if the random number drawn is less than the probability determined. 17. The computer program product of claim 13, wherein selectively integrating the at least one incoming firing event received comprises: for each incoming firing event received from each axon: determining whether a synapse connecting the axon to the neural module is a conducting synapse; and in response to determining the synapse connecting the axon to the neural module is a conducting synapse: drawing a random number from a pseudo-random number generator; determining whether a condition is satisfied by comparing the random number drawn against the at least one programmable probability value; integrating the incoming firing event in response to determining that the condition is satisfied; and generating an outgoing firing event in response to integrating the incoming firing event. 18. The computer program product of claim 17, wherein the condition is satisfied if the random number drawn is less than the at least one programmable probability value.