probcomp / Venturecxx

Primary implementation of the Venture probabilistic programming system
http://probcomp.csail.mit.edu/venture/
GNU General Public License v3.0
28 stars 6 forks source link

Ripl get_seed/set_seed are broken (and always have been) #306

Open axch opened 8 years ago

axch commented 8 years ago

The correct solution is to do #138 and then expose whatever interface we want.

In the mean time:

axch commented 8 years ago

Intended resolution: Delete MRipl per #50, then delete these two ripl methods, unless #138 happens first. If the latter, reconsider.

axch commented 8 years ago

50 being done, this is no longer blocked.

axch commented 8 years ago

138 is now done. Lite still ignores set_seed, but this could now reasonably be changed. Should we delete get_seed entirely, or rename it to get_initial_seed and actually implement those semantics? The initial seed is not very useful unless one also knows the computation at the beginning of which it was set, so it's not clear that it's worth storing. Another semantics we might want for a get_seed-like method would be "reseed yourself to something new and give me that seed", so that I can "save the future" relatively easily.

riastradh-probcomp commented 8 years ago

Once we switch to weakprng, we could change them to get_state/set_state. The vast majority of states do not correspond to any seeds -- but states are fairly small (112 bytes) and hence much easier to pass around than Mersenne twister states.

axch commented 8 years ago

Candidate design: