{"id":18559663,"url":"https://github.com/viliamvadocz/tak","last_synced_at":"2025-04-10T02:30:48.363Z","repository":{"id":41082796,"uuid":"443892976","full_name":"ViliamVadocz/tak","owner":"ViliamVadocz","description":"An implementation of AlphaZero for the board game Tak","archived":false,"fork":false,"pushed_at":"2023-02-11T00:59:59.000Z","size":19761,"stargazers_count":12,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-24T14:50:32.296Z","etag":null,"topics":["alphazero","board-game","bot","machine-learning","tak"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/ViliamVadocz.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":"2022-01-02T23:33:07.000Z","updated_at":"2024-01-14T00:24:29.000Z","dependencies_parsed_at":"2023-02-14T16:32:03.063Z","dependency_job_id":null,"html_url":"https://github.com/ViliamVadocz/tak","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/ViliamVadocz%2Ftak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViliamVadocz%2Ftak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViliamVadocz%2Ftak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViliamVadocz%2Ftak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ViliamVadocz","download_url":"https://codeload.github.com/ViliamVadocz/tak/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248144162,"owners_count":21054877,"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":["alphazero","board-game","bot","machine-learning","tak"],"created_at":"2024-11-06T21:44:19.872Z","updated_at":"2025-04-10T02:30:47.920Z","avatar_url":"https://github.com/ViliamVadocz.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AlphaTak\n\n## About\n\nAn implementation of [AlphaZero] for the abstract strategy board game [Tak].\n\nThe goal of this project is to advance the state of the art in Tak bots,\nincrease the skill level of the game,\nand to experiment with the Rust Machine Learning ecosystem.\n\nI used [tch-rs] crate (wrapper for libtorch) as my machine learning library.\nI experimented with [tensorflow] as well, but I found the documentation lacking in many aspects.\nOverall, the quality of resources for machine learning in Rust is very poor.\n\n[AlphaZero]: https://deepmind.com/blog/article/alphazero-shedding-new-light-grand-games-chess-shogi-and-go\n[Tak]: https://en.wikipedia.org/wiki/Tak_(game)\n[tch-rs]: https://github.com/LaurentMazare/tch-rs\n[tensorflow]: https://github.com/tensorflow/rust\n\n## Building\n\nIt is strongly recommended that you manually install the C++ library PyTorch (libtorch) v1.11.0.\nThe instructions for installing can be found [here](https://github.com/LaurentMazare/tch-rs#getting-started).\n\nThen you can just run `cargo build --release` in the `tak` directory. This will build all the packages in the workspace.\nIf you want to build a specific one instead, you can specify like this: `cargo build --release -p \u003cpackage-name\u003e`.\n\nBrief summary of what each package does:\n\n- `tak` library: implementation of Tak including move generation and parsing of PTN and TPS\n- `alpha-tak` library: implementation of AlphaZero, MCTS, the network\n- `train` binary: training the network with self-play\n- `analysis` binary: interactive local analysis\n- `playtak` binary: for running the bot on [playtak](https://www.playtak.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviliamvadocz%2Ftak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviliamvadocz%2Ftak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviliamvadocz%2Ftak/lists"}