{"id":18668100,"url":"https://github.com/fredhohman/atlas-algorithm","last_synced_at":"2026-03-12T00:01:42.619Z","repository":{"id":82083602,"uuid":"118836303","full_name":"fredhohman/atlas-algorithm","owner":"fredhohman","description":"Atlas Edge Decomposition Algorithm","archived":false,"fork":false,"pushed_at":"2019-03-03T20:54:20.000Z","size":26,"stargazers_count":7,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-19T03:06:58.018Z","etag":null,"topics":["edge-decomposition","graph-decomposition","graph-visualization"],"latest_commit_sha":null,"homepage":"","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/fredhohman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-01-24T23:41:44.000Z","updated_at":"2023-05-18T00:08:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"0a919e40-3826-49c3-bd88-f90e7a5d9127","html_url":"https://github.com/fredhohman/atlas-algorithm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fredhohman/atlas-algorithm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fredhohman%2Fatlas-algorithm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fredhohman%2Fatlas-algorithm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fredhohman%2Fatlas-algorithm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fredhohman%2Fatlas-algorithm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fredhohman","download_url":"https://codeload.github.com/fredhohman/atlas-algorithm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fredhohman%2Fatlas-algorithm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30407768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T22:36:59.286Z","status":"ssl_error","status_checked_at":"2026-03-11T22:36:57.544Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["edge-decomposition","graph-decomposition","graph-visualization"],"created_at":"2024-11-07T08:41:19.779Z","updated_at":"2026-03-12T00:01:42.606Z","avatar_url":"https://github.com/fredhohman.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Atlas Edge Decomposition Algorithm\n\nThis is the fast, scalable implementation of [edge decomposition based on fixed points of degree peeling][edge-decomp] used in [Atlas][atlas].\n\nFor the main Atlas visualization repository, see [github.com/fredhohman/atlas][atlas].\n\n\n## Installation\n\nDownload or clone this repository.\n\n```bash\ngit clone https://github.com/fredhohman/atlas-algorithm.git\n```\n\nFrom the directory, compile the code by \n\n```\n g++ -o atlas-decomposition -g -fopenmp -O3 parallelkcore.cpp\n```\n\n\n## Usage\n\nWe first convert a plain text edge list file to a `.bin` to use for algorithm. Input text files should be comma (or tab) separated where each row contains a `source` and `target` (these must be numbers).\n\n**Note:** graphs should not have:\n\n* self-loops / self-edges\n* duplicate edges (multi-graph)\n\nFor example, a graph with three edges would look like:\n\n```\n1, 2\n1, 3\n2, 4\n```\n\nConvert the text edge list to a `.bin` using the mmap.jar file available here: http://poloclub.gatech.edu/mmap/MMap.zip\n\n```bash\njava -jar mmap.jar Convert \u003cmyGraph\u003e\n```\n\nThe algorithm takes in this `.bin` file to perform the decomposition. It outputs a `myGraph-decomposition.csv` file where each row contains three values: the `source`, `target`, and `peel`. The `source` and `target` columns together form the original edge list, and the new column `peel` contains the peel assignment, i.e., what layer an edge belongs to. To run the algorithm, use:\n\n```bash\n./atlas-decomposition \u003cmyGraph\u003e.bin \u003c# of edges\u003e \u003c# of vertices\u003e \n```\n\nIt also outputs a `myGraph-decomposition-info.json` file that contains metadata such as the number of vertices in the graph, number of edges in the graph, time taken to preprocess the data, and time taken to run the algorithm.\n\n\n## Example\n\nFor an example of what the output looks like, see [github.com/fredhohman/atlas/data][example]\n\n\n## Citation\n\n**[Atlas: Local Graph Exploration in a Global Context](https://fredhohman.com/papers/atlas)**  \nJames Abello\\*, Fred Hohman\\*, Varun Bezzam, Duen Horng (Polo) Chau  \n*ACM Conference on Intelligent User Interfaces (IUI). Los Angeles, CA, USA, 2019.*  \n\\* Authors contributed equally.\n\n```\n@inproceedings{hohman2019atlas,\n  title={Atlas: Local Graph Exploration in a Global Context},\n  author={Abello, James and Hohman, Fred and Bezzam, Varun and Chau, Duen Horng},\n  booktitle={Proceedings of the International Conference on Intelligent User Interfaces},\n  year={2019},\n  organization={ACM}\n}\n```\n\n\n## License\n\nMIT License. See [`LICENSE.md`](LICENSE.md).\n\n\n## Contact\n\nFor questions or support [open an issue][issues] or contact [Fred Hohman][fred].\n\n[edge-decomp]: https://link.springer.com/article/10.1007/s13278-014-0191-7\n[atlas]: https://github.com/fredhohman/atlas\n[fred]: http://fredhohman.com\n[example]: https://github.com/fredhohman/atlas/tree/master/data\n[issues]: https://github.com/fredhohman/atlas-algorithm/issues","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffredhohman%2Fatlas-algorithm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffredhohman%2Fatlas-algorithm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffredhohman%2Fatlas-algorithm/lists"}