1. A probabilistic resistive memory, comprising: a cluster of bi-stable switching elements; means for detecting a state of a resistance through the cluster of bi-stable switching elements; means for determining at least one programming current attribute based on the detected state; means for applying the programming current to the cluster of bi-stable switching elements according to the at least one determined programming current attribute; and means for iterating the detecting, the determining and the applying until a given programming completion state is reached.