{"id":16505887,"url":"https://github.com/mwien/cliquepicking","last_synced_at":"2025-06-22T05:34:09.937Z","repository":{"id":100025293,"uuid":"295337222","full_name":"mwien/CliquePicking","owner":"mwien","description":"Algorithms for efficient counting of the size of a Markov equivalence class","archived":false,"fork":false,"pushed_at":"2023-10-05T13:45:25.000Z","size":30199,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-12T15:13:45.791Z","etag":null,"topics":["algorithms","causality"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2205.02654","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mwien.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-09-14T07:24:18.000Z","updated_at":"2024-02-13T02:47:47.000Z","dependencies_parsed_at":"2023-05-11T18:30:43.946Z","dependency_job_id":"2a0e7d0b-e73d-431f-ace4-2a94fefcdcca","html_url":"https://github.com/mwien/CliquePicking","commit_stats":{"total_commits":26,"total_committers":4,"mean_commits":6.5,"dds":"0.23076923076923073","last_synced_commit":"3cc6ab92d68298aa59be566e54301bb145bedcbb"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/mwien/CliquePicking","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwien%2FCliquePicking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwien%2FCliquePicking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwien%2FCliquePicking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwien%2FCliquePicking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mwien","download_url":"https://codeload.github.com/mwien/CliquePicking/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwien%2FCliquePicking/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261243140,"owners_count":23129585,"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":["algorithms","causality"],"created_at":"2024-10-11T15:14:13.618Z","updated_at":"2025-06-22T05:34:04.916Z","avatar_url":"https://github.com/mwien.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Clique-Picking Algorithm\n\nThis repository countains multiple implementations of the Clique-Picking algorithm that we have proposed at AAAI 2021 [1] for counting the  number of Markov equivalent DAGs in polynomial time. \nMoreover, we give implementations of the polynomial-time algorithm for uniformly sampling a DAG from a Markov Equivalence Class, which we refined in [2]. See also chapter 5 of my thesis [3]. \n\n1. Marcel Wienöbst, Max Bannach, and Maciej Liśkiewicz: *Polynomial-Time Algorithms for Counting and Sampling Markov Equivalent DAGs* (AAAI 2021) [arXiv version](https://arxiv.org/abs/2012.09679)\n2. Marcel Wienöbst, Max Bannach, and Maciej Liśkiewicz: *Polynomial-Time Algorithms for Counting and Sampling Markov Equivalent DAGs with Applications* [(JMLR)](https://www.jmlr.org/papers/v24/22-0495.html)\n3. Marcel Wienöbst: *Algorithms for Markov Equivalence* [(PhD Thesis)](https://mwien.github.io/thesis.pdf)\n\n## Implementations\n\nWe provide the following implementations:\n\n- ```aaai_experiments/``` contains the original C++ implementation and experiments from the AAAI 2021 conference paper (only counting is implemented here)\n- ```cliquepicking_julia/``` contains the subsequent Julia code additionally provides a sampling algorithm\n- ```cliquepicking_rs/``` contains a recent Rust implementation for counting and sampling, which is cleaner and slightly more efficient (worst-case n^3)\n- ```cliquepicking_python/``` contains a Python wrapper for the Rust implementation. You can install and use the Python implementation easily via ```pip install cliquepicking```.\n\nBrief examples of how to install and use the implementations are given in the subdirectories.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwien%2Fcliquepicking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmwien%2Fcliquepicking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwien%2Fcliquepicking/lists"}