Skip to content

CELF is unusable #6

@jtejido

Description

@jtejido

Good day,

I'm trying to use the CELF model for the common arxiv HEP_IC dataset (and even with the sample dataset in test folder) and getting some errors (IC diffusion):

$ ./oim --real /graphs/hep_IC.inf 3 10000 100 1

oim: /usr/include/boost/heap/fibonacci_heap.hpp:333: const value_type& boost::heap::fibonacci_heap<T, A0, A1, A2, A3, A4>::top() const [with T = CELFEvaluator::celf_node_type; A0 = boost::parameter::void_; A1 = boost::parameter::void_; A2 = boost::parameter::void_; A3 = boost::parameter::void_; A4 = boost::parameter::void_; boost::heap::fibonacci_heap<T, A0, A1, A2, A3, A4>::value_type = CELFEvaluator::celf_node_type]: Assertion !empty()' failed.`

Just wondering if the sample() method in SpreadSampler is still being used, due to perform_sample() being depreciated:

  /**
    [depreciated] Performs `n_samples` samples starting from `seeds`.
  */
  double perform_sample(const Graph& graph,
                        const std::unordered_set<unode_int>& activated,
                        const std::unordered_set<unode_int>& seeds,
                        unode_int n_samples, bool trial, bool inv=false)

It also appears that CELF isn't usable in an LT diffusion setting because perform_sample() eventually reaches sample_outgoing_edges() which doesn't accept LT model.

  void sample_outgoing_edges(const Graph& graph, unode_int node,
                             std::queue<unode_int>& queue,
                             std::unordered_set<unode_int>& visited,
                             bool trial, bool inv=false) {
    if (model_ == 0) { // Linear threshold model, this method isn't implemented for LT
      std::cerr << "Error: this part is only run by IC model." << std::endl;
      exit(1);
    } else if (model_ == 1) { // Independent Cascade model
        ....
        ....
    }

Thanks in advance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions