{"id":20832425,"url":"https://github.com/ermongroup/streamline-vi-csp","last_synced_at":"2025-05-08T01:25:27.821Z","repository":{"id":104482790,"uuid":"153703442","full_name":"ermongroup/streamline-vi-csp","owner":"ermongroup","description":null,"archived":false,"fork":false,"pushed_at":"2018-11-27T23:56:27.000Z","size":2429,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-31T16:13:23.100Z","etag":null,"topics":["belief-propagation","constraint-satisfaction-problem","nips-2018","sat-solver","satisfiability","variational-inference"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ermongroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-19T00:18:26.000Z","updated_at":"2024-01-04T16:27:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"ee14a37f-19c9-4cce-8475-f1a631adc657","html_url":"https://github.com/ermongroup/streamline-vi-csp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ermongroup%2Fstreamline-vi-csp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ermongroup%2Fstreamline-vi-csp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ermongroup%2Fstreamline-vi-csp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ermongroup%2Fstreamline-vi-csp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ermongroup","download_url":"https://codeload.github.com/ermongroup/streamline-vi-csp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252980148,"owners_count":21835174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["belief-propagation","constraint-satisfaction-problem","nips-2018","sat-solver","satisfiability","variational-inference"],"created_at":"2024-11-18T00:11:50.603Z","updated_at":"2025-05-08T01:25:27.812Z","avatar_url":"https://github.com/ermongroup.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Streamlined Survey Propogation\n============================================\n\nThis repository provides a reference implementation for solving constraint satisfaction problems via streamlined survey propogation as described in the paper:\n\n\n\u003e Streamlining Variational Inference for Constraint Satisfaction Problems  \nAditya Grover, Tudor Achim, Stefano Ermon  \nAdvances in Neural Information Processing Systems (NeurIPS), 2018  \nPaper: http://arxiv.org/abs/1811.09813\n\n## General\n\nThe codebase has been built on top of the survey propogation implementation of A. Braunstein, M. Mezard, and R. Zecchina as described in the paper \"Survey propagation: an algorithm for satisfiability\". It is implemented in C/C++ and tested on Ubuntu 16.04.\n\n## Setup\n\nTo compile the binaries run the following command from the root directory\n\n```\nmake all\n```\n\nThis will create a binary file for `sp` in the root directory (and others which will be directly accessed by `sp`).\n\n## Options\n\nFor a full list of options, run:\n\n```\n./sp -h\n```\n\nKey options are described below:\n\n```\n  -l CSP in CNF representation (if none provided, random k-SAT instance is generated)\n  -k length of each clause \n  -n number of variables \n  -m number of clauses \n  -a clause/variable ratio\n  -s seed for reproducibility\n  -% percentage of paired disjunctions (denoted as R in the paper)\n  -t number of streamlining iterations (denoted as T in the paper)\n  -d limit on the streamlined disjunctions per variable\n  -p prefix path where all the generated files (cnf formula, streamlined formula etc.) are dumped\n  \n```\n\n## Examples\n\nBaseline *survey inspired decimation* on a random 3-SAT instance with 50,000 variables and clause to variable ratio of 4.235:\n\n```\n./sp -n50000 -a4.235 -k3 -%1 -t0 -d2 -s1\n```\n\n*Survey inspired streamlining* for the same problem instance:\n\n```\n./sp -n50000 -a4.235 -k3 -%1 -t90 -d2 -s1\n```\n\n*Survey inspired streamlining* for an arbitrary CSP accessed via the filepath `csp/1.cnf`:\n\n```\n./sp -%1 -lcsp/1.cnf -t80\n```\n\n\n## Citing\n\nIf you find this codebase useful in your research, please consider citing the following paper:\n\n\n\u003e@inproceedings{grover2018streamlining,  \n  title={Streamlining Variational Inference for Constraint Satisfaction Problems},  \n  author={Grover, Aditya and Achim, Tudor and Ermon, Stefano},  \n  booktitle={Advances in Neural Information Processing Systems},  \n  year={2018}}","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fermongroup%2Fstreamline-vi-csp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fermongroup%2Fstreamline-vi-csp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fermongroup%2Fstreamline-vi-csp/lists"}