1. A method for reinforcement learning, the method comprising: receiving at least one reinforcement signal from at least one spiking neuron of a neural network comprising multiple neurons interconnected by multiple synapse devices, wherein each reinforcement signal corresponds to a past event involving an action, and the reinforcement signal represents a reward indicating success of the action; determining at least one synapse device of the multiple synapse devices contributing to spiking of the at least one spiking neuron; and selectively updating synaptic weights of the multiple synapse devices to strengthen the at least one synapse device determined, wherein the updated synaptic weights allows selection of at least one action that increases rewards over time.