Skip to content

Conversation

@dvs
Copy link

@dvs dvs commented Oct 4, 2023

Hi!

Thank you for your demo, it's very useful!

I think I found two bugs in the notebook:

  1. The transitivity clauses are incomplete, it should be 3 clauses for each i,j,k. I fixed it in the code for LP and transitivity MaxSAT. See also the transitivity test for MaxSAT solution.
  2. In unary coding MaxSAT there should be another clause that would force sum(y[i][:]) >= 1. Otherwise some items can be unassigned to any cluster which then triggers warnings 'y_... assigned 0 clusters'.

I added a test case – make_blobs with slightly different n_samples and cluster_std which triggers both of these issues.

I also noticed that the performance in this benchmark strongly depends on the value of cluster_std: the larger the blobs the harder the task and consequently the longer LP / MaxSAT solvers work.
Perhaps, if one is interested in practical applications of these algorithms they could re-run this benchmark with more complex setup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant