Register machine: Difference between revisions

From BusyBeaverWiki
Jump to navigation Jump to search
Azerty (talk | contribs)
Bard (talk | contribs)
m MBB(1)-MBB(5) are proved, not just a lower bound, assuming the accuracy of my program.
Line 16: Line 16:
{| class="wikitable"
{| class="wikitable"
!Domain
!Domain
!Lower Bound
!Halting Time
!Champion
!Champion
|-
|-
Line 40: Line 40:
|-
|-
|MBB(6)
|MBB(6)
|49
|49*
|<code>0+B_1-FC_1+D_0-CE_0+A_1-A*</code>
|<code>0+B_1-FC_1+D_0-CE_0+A_1-A*</code>
|}
|}
Entries in the Halting Time column marked with * are only proved to be a lower bound, not the actual value of MBB(n).

Revision as of 03:35, 10 December 2025

Register machines, also known as Minsky machines, are a Turing-complete model of computation.

Register machines contain a set of instructions and at least 2 registers.

Each instruction in a program has a number, starting with 1.

There are 2 types of instructions:

  • inc(c, n) add 1 to the register c then jumps to instruction n.
  • dec(c, n, m) jumps to instruction m if register c equal 0 else subtract 1 to the register c then jump to instruction n.

The program halt if it reaches an undefined instruction. Here we represent it with the letter H.

Register Busy Beaver

The Register Busy Beaver function, denoted MBB(n), returns the maximum number of instructions executed by a register machine with 2 counters.

Domain Halting Time Champion
MBB(1) 1 0+Z
MBB(2) 3 0+B_0-B*
MBB(3) 5 0+B_0+C_0-C*
MBB(4) 10 0+B_1+C_0-BD_1-C*
MBB(5) 24 0-DB_0+C_1-ED_1+A_1-B*
MBB(6) 49* 0+B_1-FC_1+D_0-CE_0+A_1-A*

Entries in the Halting Time column marked with * are only proved to be a lower bound, not the actual value of MBB(n).