{"id":22924204,"url":"https://github.com/benbarsdell/busy-beaver","last_synced_at":"2025-07-08T13:10:06.385Z","repository":{"id":73394056,"uuid":"205932037","full_name":"benbarsdell/busy-beaver","owner":"benbarsdell","description":"Efficient Turing machine simulator for evaluating busy beaver programs with up to 6 states.","archived":false,"fork":false,"pushed_at":"2020-12-06T13:45:41.000Z","size":46,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-07T09:32:02.404Z","etag":null,"topics":["busy-beaver","busy-beavers","turing-machine","turing-machine-simulator"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benbarsdell.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":"2019-09-02T20:30:52.000Z","updated_at":"2023-05-14T13:06:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"1a2fe487-fdd5-45fb-b13c-5a44a0d962a2","html_url":"https://github.com/benbarsdell/busy-beaver","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/benbarsdell%2Fbusy-beaver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbarsdell%2Fbusy-beaver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbarsdell%2Fbusy-beaver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbarsdell%2Fbusy-beaver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benbarsdell","download_url":"https://codeload.github.com/benbarsdell/busy-beaver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246659781,"owners_count":20813331,"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":["busy-beaver","busy-beavers","turing-machine","turing-machine-simulator"],"created_at":"2024-12-14T08:19:53.118Z","updated_at":"2025-04-01T14:47:11.099Z","avatar_url":"https://github.com/benbarsdell.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BB's Busy Beaver\n\n[![Build Status](https://travis-ci.com/benbarsdell/busy-beaver.svg?branch=master)](https://travis-ci.com/benbarsdell/busy-beaver)\n\nEfficient simulator of [busy\nbeaver](https://en.wikipedia.org/wiki/Busy_Beaver_game) Turing\nmachines, capable of evaluating the best known 6-state machine (that\nhalts after [7.412e36534\nsteps](http://www.logique.jussieu.fr/~michel/beh.html#tm62h)) in less\nthan a minute on a single modern CPU core.\n\nThis is a C++11 implementation of the techniques described in [Alex\nHolkner,\n2004](https://www.semanticscholar.org/paper/Acceleration-Techniques-for-Busy-Beaver-Candidates-Holkner/b94fbed213cd7e70635b6c8e102a09fda9201d3b).\n\nAn AWK implementation by Heiner Marxen from 2006 can be found\n[here](https://web.archive.org/web/20061009141225/http://www.drb.insel.de/~heiner/BB/hmMMsimu.awk).\n\nA history of busy beaver machines can be found\n[here](http://www.logique.jussieu.fr/~michel/ha.html).\n\nA discussion of recent progress in evaluating all 5-state machines can\nbe found [here](https://googology.wikia.org/wiki/Forum:Sigma_project).\n\n# Dependencies\n\n  * [GNU Multiple Precision Arithmetic library](https://gmplib.org/)\n\n# Instructions\n\n    $ make get-deps\n    $ make -j8\n    $ make test\n    $ ./busy_beaver -h\n\n# About\n\nThis implementation currently only supports single-tape, 2-symbol\n(binary), \u003c=6-state machines. There is also a limitation that\n`macro_nbit` \u003c= 60.\n\nThe code implements 3 types of simulators, each building on the previous one:\n\n  1. Micro machine: represents the tape as individual bits and\n  implements direct step-by-step evaluation of the Turing machine.\n\n  2. Macro machine: represents the tape as a run-length-encoded\n  sequence of macro symbols (sequences of `macro_nbit` bits on the\n  tape) and implements accelerated simulation capable of updating\n  whole runs at a time.\n\n  3. Proof machine: identifies patterns in the history of the\n  macro-machine simulation, attempts to prove that they will continue a\n  certain number of times, and then applies them to skip the\n  simulation ahead.\n\nThe macro machine implemented here does not currently support\ntail/back-context.\n\nThe simulation speed varies widely between different busy beaver\nprograms. While the best known 6-state machine can be readily\nsimulated to completion, some other machines simulate very slowly and\ncompleting them is impractical (even though they may be known to halt\nin fewer steps). The speed (and tape compression) can also depend\nstrongly on the choice of `macro_nbit`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenbarsdell%2Fbusy-beaver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenbarsdell%2Fbusy-beaver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenbarsdell%2Fbusy-beaver/lists"}