Node activation temporal network

With residual time distribution

random_node_activation_temporal_network(base_net, max_t, iet_dist, res_dist, random_state, size_hint: int = 0)
template<temporal_network_edge EdgeT, typename ActivationF, typename ResActivationF, std::uniform_random_bit_generator Gen>
network<EdgeT> random_node_activation_temporal_network(const network<typename EdgeT::StaticProjectionType> &base_net, typename EdgeT::TimeType max_t, ActivationF &&inter_event_time_edge_activation, ResActivationF &&residual_time_edge_activation, Gen &generator, std::size_t size_hint = 0)

Generates a random node-activation temporal network by activating a each vertex of base_net first according to the residual time distribution (for the first activation time) then based on the inter-event time distribution, for time values from 0 to max_t (exclusive). At each activation, a random edge (out-)incident to that vertex is selected uniformly at random, and that edge is activated.

See the list of distributions in the relevant section of the documentation.

The output type depends on the type of base_net. If a (un)directed network or a (un)directed hypernetwork is provided, the output will be a (un)directed temporal network or a (un)directed temporal hypernetwork.

With burn-in

random_node_activation_temporal_network(base_net, max_t, iet_dist, random_state, size_hint: int = 0)
template<temporal_network_edge EdgeT, typename ActivationF, std::uniform_random_bit_generator Gen>
network<EdgeT> random_node_activation_temporal_network(const network<typename EdgeT::StaticProjectionType> &base_net, typename EdgeT::TimeType max_t, ActivationF &&inter_event_time_edge_activation, Gen &generator, std::size_t size_hint = 0)

Generates a random node-activation temporal network without a residual time distribution, by burning-in the inter-event time distribution for max_t time before recording events. The output events have times values from 0 to max_t (exclusive).

Each vertex of base_net is activated based on the inter-event time distribution. At each activation, a random edge (out-)incident to that vertex is selected uniformly at random, and that edge is activated.

See the list of distributions in the relevant section of the documentation.

Warning

This approach might not work on all distributions. It is up to the user to think about whether this suits their use case.