This user simulation should generate any kind of observed user behavior in a context (as opposed to the zero frequencies for sparse data), while still generating behavior which is pragmatically plausible in this situation.
we want our user simulation to generate behavior which is complete and consistent with respect to the observed actions in the data.