naive hit and miss sampling

at the end of the day, we always use some form of hit and miss

  1. generate training samples, take note of maximal
  2. generate event
  3. calculate weight
  4. generate random number
  5. return and if

this is horribly inefficient!