I've a matrix $P$ of size $Time \times EventClass$, such that $P_{t,c}$ specifies the probability of event of class $c$ happening at time $t$.

From this I'd like to generate a discrete event list, $(e_0,e_1,..,e_k)$, where each event $e_i=(t_i,c_i,P_{t_i,c_i})$, such that the list meets certain constraints. The number of events should be determined from the data (k is not fixed).

  • The events should not be close together in time: $\forall (i,j) d(t_i,t_j)> treshold_t $ where $d(x,y)$ is the distance in time. (Alternatively, there could be some penalization function such as $\sum_{i,j} d(t_i,t_j)$)

  • The probability of the events should be as big as possible: $\sum_i P_{t_i,c_i}$ >> 0

The matrices I'm currently working on aren't that big (120 timestep vs 64 classes)

I thought about just feeding this to a solver with those constraints/objective function. Also, I could use a left-to-right markov network with a node for each $(t,c)$ pair, and skip connections to model the fact that the events should not be near each other.

¿Any suggestions on how to solve this problem?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.