Wolfram Data Repository
Immediate Computable Access to Curated Contributed Data
Current Busy Beaver Records, winning Turing Machines and references
(1 entity types, 1 entities, 1 properties)
| In[1]:= | ![ResourceData["The Busy Beaver Competition"]](https://www.wolframcloud.com/obj/resourcesystem/images/3e2/3e2bc5de-476d-4e49-afa0-af22facd9761/25f5432f76b1e701.png) | 
| Out[1]= |  | 
Register the EntityStore:
| In[2]:= | ![EntityRegister[ResourceData["The Busy Beaver Competition"]]](https://www.wolframcloud.com/obj/resourcesystem/images/3e2/3e2bc5de-476d-4e49-afa0-af22facd9761/3c4fb60d8502025c.png) | 
| Out[2]= |  | 
Make a dataset with Busy Beaver record Turing machines:
| In[3]:= | ![EntityValue["BusyBeaverRecords", "Dataset"][[;; 3]]](https://www.wolframcloud.com/obj/resourcesystem/images/3e2/3e2bc5de-476d-4e49-afa0-af22facd9761/3327a4a5fac55d43.png) | 
| Out[3]= |  | 
Make a summary table of all records:
| In[4]:= | ![Text@Grid[{{Style["s", Italic], Style["k", Italic], "number", "lifetime"}, Splice@EntityValue[
     EntityList[
      FilteredEntityClass["BusyBeaverRecords", EntityFunction[e, e["Winner"]]]], {"StateCount", "SymbolCount",
       "RuleCount", "S"}]}, Frame -> All, FrameStyle -> GrayLevel[0, .2],
  Dividers -> {All, {7 -> Thick}}, Spacings -> {1, .6},
  Background -> {White, {GrayLevel[.85]}}]](https://www.wolframcloud.com/obj/resourcesystem/images/3e2/3e2bc5de-476d-4e49-afa0-af22facd9761/0f7e65cf3f1b1695.png) | 
| Out[4]= |  | 
Show the timeline of records for different machine signatures and their authors:
| In[5]:= | ![TimelinePlot[
 EntityValue[#, "Date"] -> Row[{#, Row[EntityValue[#, "Authors"], ","]}] & /@ EntityList["BusyBeaverRecords"]]](https://www.wolframcloud.com/obj/resourcesystem/images/3e2/3e2bc5de-476d-4e49-afa0-af22facd9761/66e798e65b26b2f4.png) | 
| Out[5]= |  | 
Show evolutions of small Busy Beaver Turing machines up-to their halting time:
| In[6]:= | ![RulePlot[
   TuringMachine[
    EntityValue[Entity["BusyBeaverRecords", #], "Rules"]], {1, {{}, 0}}, EntityValue[Entity["BusyBeaverRecords", #], "S"]] & /@ {"2,2", "3,2", "4,2", "2,3"}](https://www.wolframcloud.com/obj/resourcesystem/images/3e2/3e2bc5de-476d-4e49-afa0-af22facd9761/10b8dd36e134c916.png) | 
| Out[6]= |  | 
Show last tape configurations of the record 2,4 machine:
| In[7]:= | ![evolution = TuringMachine[
    EntityValue[Entity["BusyBeaverRecords", "2,4"], "Rules"],
    {1, {{}, 0}},
    EntityValue[Entity["BusyBeaverRecords", "2,4"], "S"] + 5
    ]; // AbsoluteTiming](https://www.wolframcloud.com/obj/resourcesystem/images/3e2/3e2bc5de-476d-4e49-afa0-af22facd9761/5b126276d8a4c88a.png) | 
| Out[7]= |  | 
| In[8]:= | ![RulePlot[TuringMachine[
  EntityValue[Entity["BusyBeaverRecords", "2,4"], "Rules"]], evolution[[-1000 ;;]]]](https://www.wolframcloud.com/obj/resourcesystem/images/3e2/3e2bc5de-476d-4e49-afa0-af22facd9761/6214284c90c4db87.png) | 
| Out[8]= |  | 
Prove that the machine terminates by confirming that the last two configurations are the same:
| In[9]:= | ![Equal @@ evolution[[-2 ;;, 2]]](https://www.wolframcloud.com/obj/resourcesystem/images/3e2/3e2bc5de-476d-4e49-afa0-af22facd9761/53c06f1c374f033c.png) | 
| Out[9]= |  | 
Wolfram Research, "The Busy Beaver Competition" from the Wolfram Data Repository (2024)