Fractran: Difference between revisions
Add more formal definitions |
→Champions: BBf(0) champion is the empty set Tags: Reverted Visual edit |
||
| Line 17: | Line 17: | ||
!Example Champion(s) | !Example Champion(s) | ||
|- | |- | ||
| 1 || 0 || <code>[ | | 1 || 0 || <code>[]</code> | ||
|- | |- | ||
| 2 || 1 || <code>[1/2]</code> | | 2 || 1 || <code>[1/2]</code> | ||
Revision as of 21:37, 10 November 2025
Fractran (originally styled FRACTRAN) is an esoteric Turing complete model of computation invented by John Conway in 1987.[1] In this model a program is simply a finite list of fractions, the program state is an integer. For more details see https://en.wikipedia.org/wiki/FRACTRAN
BB_fractran(n) or BBf(n) is the Busy Beaver function for Fractran programs.
Definition
A fractran program is a list of rational numbers called rules and a fractran state is an integer . We say that a rule applies to state if . If no rule applies, we say that the computation has halted otherwise we apply the first applicable rule at each step. In that case we say and and . We say that a program has runtime N (or halts in N steps) starting in state s if and no rule applies to .
Let be the total number of prime factors of a positive integer n. In other words and for any prime number p. Then given a rule we say that . And the size of a fractran program is .
BB_fractran(n) or BBf(n) is the maximum runtime starting in state 2 for all halting fractran programs of size n. It is a non-computable function akin to the Busy Beaver Functions since Fractran is Turing Complete.
Champions
| n | BBf(n) | Example Champion(s) |
|---|---|---|
| 1 | 0 | []
|
| 2 | 1 | [1/2]
|
| 3 | 1 | [3/2]
|
| 4 | 1 | [9/2]
|
| 5 | 2 | [3/2, 1/3]
|
| 6 | 3 | [9/2, 1/3]
|
| 7 | 4 | [27/2, 1/3]
|
| 8 | 5 | [81/2, 1/3]
|
| 9 | 6 | [243/2, 1/3]
|
| 10 | 7 | [729/2, 1/3]
|
| 11 | 10 | [27/2, 25/3, 1/5]
|
| 12 | 13 | [81/2, 25/3, 1/5]
|
| 13 | 17 | [81/2, 125/3, 1/5]
|
| 14 | 21 | [243/2, 125/3, 1/5]
|
| 15 | 28 | [1/45, 4/5, 3/2, 25/3]
|
| 16 | 53 | [1/45, 4/5, 3/2, 125/3]
|
| 17 | 107 | [5/6, 49/2, 3/5, 40/7]
|
| 18 | 211 | [5/6, 49/2, 3/5, 80/7]
|
| 19 | ≳ 370 | [5/6, 49/2, 3/5, 160/7]
|
References
- ↑ Conway, John H. (1987). "FRACTRAN: A Simple Universal Programming Language for Arithmetic". Open Problems in Communication and Computation. Springer-Verlag New York, Inc. pp. 4–26. http://doi.org/10.1007/978-1-4612-4808-8_2