Largest total computable function competition

A forum where anything goes. Introduce yourselves to other members of the forums, discuss how your name evolves when written out in the Game of Life, or just tell us how you found it. This is the forum for "non-academic" content.
User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » July 2nd, 2019, 11:43 am

How would I make an array notation?

Maybe a factarray, based around factorials:

Code: Select all

{a} = a
{a,b} = {a,b-1}!, b>0
{#,0} = {#}
But how do I make it have arbitrarily many arguments so that it can grow really fast? What rules would I add?
not active here but active on discord

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » July 2nd, 2019, 12:20 pm

I wrote up a javascript script on Khan academy which evaluates f(x,y,z).

Code: Select all

var fact = function(x) {
  if (x === 0) {
      return 1;
  }
  else {
      return (x * fact(x - 1));
  }
};

var f = function(x,y,z) {
    if (z === 0 && y === 0) {
        return 1;
    }
    else if (y === 0) {
        return (fact(z)*f(z,x,z-1));
    }
    else {
        return (fact(x)*f(fact(x),y-1,z));
    }
};

println(f(1,1,3));
Known values:
f(1,n,1) = 1 = f(1,n,0)
f(2,n,1) = 2^n
f(1,1,3) = 4068
f(2,1,3) = ~6*10^221
f(1,1,2) = 4

The script usually doesn't like any arguments >3, generally, if at least 1 other argument is 2, unless you make the y a large value but keep x small.

it also won't evaluate f(1,1,4), which is

Code: Select all

f(1,1,4)=
f(1,0,4)=
24f(4,1,3)=
576f(24,0,3)=
3456f(3,24,2)=
3456*(3!*3!!*3!!!*3!!!!*...3!!!!!!!!!!!!!!!!!!!!!!!!)f(3!!!!!!!!!!!!!!!!!!!!!!!!,0,2)=
that whole thing out front again*2f(2,3!!!!!!!!!!!!!!!!!!!!!!!!,1)=
3456*(3!*3!!*3!!!*3!!!!*...3!!!!!!!!!!!!!!!!!!!!!!!!)*2^(3!!!!!!!!!!!!!!!!!!!!!!!!+1)


It's probably right not to go for ~3!!!!!!!!!!!!!!!!!!!!!!!! (fact^24(3)) iterations.


Let's not do f(3,1,4) (the infamous first example I did)
EDIT:
f(3,1,4)=

Code: Select all

1728*(4!*4!!*4!!!*4!!!!*4!!!!!*4!!!!!!)*(3!*3!!*3!!!...fact^4!!!!!!(3))2^(fact^4!!!!!!(3))
calculated here.




Of course, we should remember that f(x,y,z) with reasonable x,y, and z arguments is dwarfed by good ol’ ggç and the like:

ggç_p,m,n(x,y,z)=

Code: Select all

ggç_p,m,n-1(x,x,x)ggç_p,m,n(ggç_p,m,n-1(x,x,x),y-1,z), n >0, y>0, m>0
ggç_p,m,n-1(x,x,x)ggç_p,m,n(ggç_p,m,n-1(x,x,x),x,z-1), n > 0, y = 0, z>0, m>0
ggç_p,m,n-1(x,x,x)ggç_p,m,(n-1)(ggç_p,m,n-1(x,x,x),x,x), n > 0, z = 0,y=0, m>0
ggç_p,m-1,x(x,x,x), n=0, m>0
ggç_p-1,x,x,(x,x,x), m = 0, p>0
f(x,x,x), p=0
~= f_w^3(n)

And its extensions ggçs and ggçσM:
ggçs(n)=

Code: Select all

ggç_ggçs(n),ggçs(n),ggçs(n)(n+3,n+3,n+3), n>0
2, n=0
~= f_w^3+w (or something along those lines)
ggçσM(n)=

Code: Select all

ggçs(ggçσM(n-1)), n>0
1, n=0
~= f_w^3+w+1 (Or something along those lines)


Still waiting for a "tutorial" on how to make a function growing faster than w^n for finite n.
not active here but active on discord

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » July 15th, 2019, 9:35 am

This morning I created a notation that extends f^a(x). I will use ^. to notate an important part of it so it’s not confused with exponentiation, but think of it is superscript right above something.
It starts like this:
f^1^.a(x) = f^f^f^f^f^f^f^f^f...(x)(x)(x)(x)... with a f’s, all of x
so, where f = +1,
f^1^.5(1)=

Code: Select all

f^f^f^f^f(1)(1)(1)(1)(1)=
f^f^f^f^2(1)(1)(1)(1)
f^f^f^3(1)(1)(1)...
=6
then: f^b^.a(x) = f^b*f^b*f...(x)(x)(x) with a b*f’s.
then, where # represents anything, including a stack: f^#^.b^.a(x)=f^#^.b*f^#^.b*f...(x)(x)(x) with a f^#^.b*’s.
then we have this leap:
f^a|n(x)= f^a^.a^.a^.a^.a ... with n a's.

f^a|n^.#(x)=f^(f^#(a))^.(f^#(a))^.(f^#(a)) ... with n (f^#(a))^. ’s. The initial f, is, of course, still of x.
Then, the next logical extension:
f^a|n|m(x) = f^a|n^.a|n^.a|n... with m a|n ’s.
The logical continuation:
f^a|n|m^.#(x)= f^f^a|n^.#(a)^f^a|n^.#(a)^f^a|n^.#(a)... with f^n|m(a) f’s. The initial f will always be of x of course

Can somebody help me define f^a|b|c|d... with arbitrarily many arguments?
EDIT: nvm, f^a|n|m|#(x)= f^a|n|f^#(m)(x)

Then I can, a la bowers, define f^a||b(x) = f^a|a|a|a|a...(x) with b a’s.




Suppose I use f(x) = 2x.
f^3||3(3) =

Code: Select all

f^3|3|3(3)
f^3|3^.3|3^.3|3(3)
...
Can anyone evaluate it?
Or is it big?
Or is it actually really big? (g_64? I have a good enough sense of grahmam’s number to say: probably not. It’s certainly not graham’s number since it’s a multiple of 2)
EDIT: f^2||2(1) = 2^32; f^3||3(3) >> 2^32

Where is f^x||x(x) it in the fgh where f(x) = 2x?
Does my notation increase fgh level by a constant amount for a given setup or does it vary?


EDIT:
Can somebody generalize a|n for any amount of |s and arguments?

EDIT: it is known that S^2|2(1) = 11. S is the successor function. It is also known that my internet connection is awful.

EDIT:
I also have
A Naive Attempt to Extend Knuth up-arrow Notation
Let a~b = a^ᵇb.
Let a^~b = a~a~a~a~a... with b a’s, associating rightwards. (Solve right first). Note: this is abount as strong as G_b; 3^~65 > G_64.
Let a^ᵇ~c = a^ᵇ⁻¹~a^ᵇ⁻¹~a... with c a’s.
Let a~~b = a^ᵇb.
Then a^~~b = a~~a~~a~~a~~a... with b a’s.
Then a^ᵇ~~c = a^ᵇ⁻¹~~a^ᵇ⁻¹~~a... with c a’s.
And so forth.
Let a~^b = a~~~~~~~~a with b ~s.
Then let a^~^b = a~^a~^a... with b a’s.
I think you get the general idea.
Then we have a~^~b when we run out of symbols for a^~^b and then we keep going forever.
What is the limit of this notation in fgh?


Also, here’s a fast growing function which grows as fast as the limit of my notation.
Tildy(x) = x^~^~^~^~^~^~^...x with x tildes. Presumably this would be the fastest-growing function I have defined so far, but I didn’t define it well. Can anyone generalize tilde-arrow notation’s definition to an arbitrary sequence of tildes and arrows?

WARNING!
HUGE SALAD NUMBERS ARE AHEAD!
(Okay to be fair there aren’t terribly huge)

Of course, HUGE SALAD NUMBERS are kinda unavoidable when you have a couple interesting notations.

HUGE SALAD NUMBER no. 1:
Tildy^(10||Tildy(10^100))(10^100)
Of course, I can do better with the same amount of characters:
Tildy^(99||Tildy(99^999))(99^999)
Or for that matter;
Tildy^(99||Tildy(9~^~^9))(9~^~^9) and similar
Last edited by Moosey on August 6th, 2019, 7:12 am, edited 1 time in total.
not active here but active on discord

User avatar
testitemqlstudop
Posts: 1367
Joined: July 21st, 2016, 11:45 am
Location: in catagolue
Contact:

Re: Largest total computable function competition

Post by testitemqlstudop » August 6th, 2019, 4:20 am

Two things.

Knuth Up-Arrow - for Functions

f^i(x) is the standard f(f(f(f(...(f(x))...).

f^^2(x) is f^{f(x)}(x), and f^^3(x) is f^{f^{f(x)}(x)}(x).

f^^^2(x) is f^{f^{f^{f^{f^{......{f^(x)}(x)}.....(x)}(x).

Extend as normal knuth up arrow.
Now, we define d64 as g64, but every 3 before arrows is replaced with the busy beaver function and every 3 after the arrows is replaced with "(3)".

An stupid array notation I'm doing experiments with.

Kind of a naive one too.

Code: Select all

Thoop: A Fast Growing Array Notation
Definition

Earlier definitions take precedence from later definitions.
[] = 0
[a1] = a1
[a1, a2, a3, … ai, 0] = [a1, a2, a3, … ai] + F(a)
[a1, a2, a3, … ai] where min(a) < 0 = max(a)
[a1, a2, a3, … ai] = [[a1-1, a2, a3, … ai-1, ai]+F(a), [a1, a2-1, a3, … ai-1, ai]+F(a), [a1, a2, a3-1, … ai-1, ai]+F(a), … [a1, a2-1, a3, … ai-1-1, ai]+F(a), ai-1]+F(a)

Simplification for ≤ 2-element
[] = 0
[a1] = a1
[a1, 0] = a1 + F(a)
[a1, a2] where min(a1, a2) < 0 = max(a1, a2)
[a1, a2] = [[a1-1, a2]+F(a), ai-1]+F(a)

Generic F(a)
Original Thoop F(a): F(a) = (∑a)↑↑2
Standard Thoop F(a): F(a) = 1

For the rest of this piece we will use the Standard Thoop F(a).

Formulae
Even for Standard Thoop, formulae are only known for 2-element thoop as 3+-element thoop grows way to fast to analyze.

[a1, 1] = 3a1 + 4
[a1, 2] = 2*(3↑(a1+2)-2)
[a1, 3] ≈ 3↑↑a1
[a1, n] ≈ 3↑↑...(n-1 arrows)...↑↑a1
I have made a C++ program to expand a 3-element thoop into a bunch of nested 2-element thoops:

Code: Select all

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <fstream>
using namespace std;


class Thoop {
public:
    vector<Thoop*> aray;
    int incr;

    Thoop(vector<Thoop*>& aray, int incr) : aray(aray), incr(incr) { }
    Thoop(int incr) : aray(), incr(incr) { }

    bool IsThoop() { return (aray.size() > 0); }
    bool IsInt() { return (aray.size() == 0); }
    bool IsFundamental() {
        bool ans = true;
        for(Thoop* th:aray)
            if(!th->IsInt()) {
                ans = false;
                break;
            }
        return ans;
    }

    int depth() {
        if(IsInt()) return 0;
        int mx = 0;
        for(Thoop* th:aray) mx = max(mx, th->depth());
        return mx+1;
    }

    int nodes() {
        if(IsInt()) return 1;
        int tot = 0;
        for(Thoop* th:aray) tot += th->nodes();
        return tot+1;
    }

    // Will only run if fundamental
    int FundamentalMin() {
        int ans = 0xFFFFFF;
        for(Thoop* th:aray) ans = min(ans, th->incr);
        return ans;
    }

    // Will only run if fundamental
    int FundamentalMax() {
        int ans = -1000;
        for(Thoop* th:aray) ans = max(ans, th->incr);
        return ans;
    }

    string GetRepr() {
        if(IsInt()) {
            return to_string(incr);
        }
        string rep = "[";
        bool first = true;
        for(Thoop* th:aray) {
            if(!first) rep += ", ";
            first = false;
            rep += th->GetRepr();
        }
        rep += ']';
        if(incr == 0) return rep;
        if(incr > 0) return (rep + '+') + to_string(incr);
        if(incr < 0) return (rep + '-') + to_string(-incr);
        return rep;
    }

    void SvaElim() {
        vector<Thoop*> newThoops;
        for(Thoop* th:aray) {
            if(th->IsThoop() && th->aray.size() == 1) {
                incr += (th->aray[0]->incr + th->incr);
                delete th;
            }
            else if (th->IsThoop() && th->IsFundamental() && th->FundamentalMin() < 0) {
                Thoop* nTh = new Thoop(th->FundamentalMax()+th->incr);
                delete th;
                newThoops.push_back(nTh);
            }
            else 
                newThoops.push_back(th);
        }
        aray = newThoops;
        for(Thoop* th:aray) {
            if(th->IsThoop()) th->SvaElim();
        }
    }

    bool SimplifyAll() {
        if(aray.back()->IsInt() && aray.back()->incr == 0) {
            SimplifySelf();
            return 1;
        }
        if(IsFundamental() && aray.size() > 2) {
            SimplifySelf();
            return 1;
        }
        bool ans = 0;
        for(Thoop* th:aray) {
            if(th->IsThoop()) ans = (ans || th->SimplifyAll());
        }
        return ans;
    }
    
    void SimplifySelf() {
        if(aray.back()->IsInt() && aray.back()->incr == 0) {
            delete aray.back();
            aray.pop_back(); incr += 1;
            return;
        }
        // assert len(self.aray) >= 3, "Refuse to do unnecessary work"
        // assert all(isinstance(i, int) for i in self.aray), "This will be a pain in the ass to simplify"
        // assert len(self.aray) != 1, "I thought you ran SingleValueEliminate already [1]"
        // assert min(i for i in self.aray) >= 0, "I thought you ran SingleValueEliminate already [2]"
        vector<int> integers;
        for(Thoop* th:aray) integers.push_back(th->incr);
        vector<Thoop*> newaray;
        for(int i=0; i<aray.size()-1; i++) {
            Thoop* copy = new Thoop(1);
            for(int j=0; j<aray.size(); j++) {
                Thoop* element = new Thoop(integers[j]);
                if(j == i) element->incr--;
                copy->aray.push_back(element);
            }
            newaray.push_back(copy);
        }
        Thoop* decrement = new Thoop(aray.back()->incr-1);
        newaray.push_back(decrement);
        for(Thoop* th:aray)
            delete th;
        aray = newaray;
        incr += 1;
    }
};

int main() {
    Thoop* e1 = new Thoop(3);
    Thoop* e2 = new Thoop(3);
    Thoop* e3 = new Thoop(3);
    vector<Thoop*> eV = {e1, e2, e3};
    Thoop* RootThoop = new Thoop(eV, 0);
    cout << RootThoop->GetRepr() << endl;
    int n = 0;
    while(1) {
        if(n % 1000 == 0)
            cout << n << " simp; depth=" << RootThoop->depth() << "; nodes=" << RootThoop->nodes() << endl;
        if(!RootThoop->SimplifyAll())
            break;
        //cout << RootThoop->GetRepr() << endl;
        RootThoop->SvaElim();
        n += 1;
    }
    ofstream f("3,3,3 expansion.txt");
    f << RootThoop->GetRepr() << endl;
}
As an example, it expanded [1,1,1,1] to

Code: Select all

[[2, [2, 2, [[[3, [3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, 1]+2, [[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, 1]+2, [[[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, [[[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 3, 1]+2, 1]+2, 1]+4]+3, [2, [[[3, [3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, 1]+2, [[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, 1]+2, [[[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, [[[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 3, 1]+2, 1]+2, 1]+4, 2]+3]+3, [[2, 2, [[[3, [3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, 1]+2, [[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, 1]+2, [[[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, [[[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 3, 1]+2, 1]+2, 1]+4]+3, 2, [[[[3, [3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, 1]+2, [[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, 1]+2, [[[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, [[[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 3, 1]+2, 1]+2, 1]+4, 2, 2]+3]+3, [[2, [[[3, [3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, 1]+2, [[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, 1]+2, [[[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, [[[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 3, 1]+2, 1]+2, 1]+4, 2]+3, [[[[3, [3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, 1]+2, [[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, 1]+2, [[[3, [[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 1]+2, [[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 1]+2, [[[[[[4, [3, [2, [2, 2]+3]+3]+3]+3, [[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3]+3, [[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3]+3, [[[[3, [2, [2, 2]+3]+3]+3, [[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3]+3, [[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3]+3, [[[[2, [2, 2]+3]+3, [[2, 2]+3, 2]+3]+3, [[[2, 2]+3, 2]+3, 3]+3]+3, [[[[2, 2]+3, 2]+3, 3]+3, 4]+3]+3]+3]+4, 3, 1]+2, 3, 1]+2, 1]+2, 1]+4, 2, 2]+3, 2]+3]+2
and hence [1,1,1,1] is around G(14) or G(15).

The expansion of [3,3,3] has not finished yet, and the tree is expanding at 30K nodes; however, it is most likely no bigger than G(22).

This program has the ability (due to some weird property of this thoop) to estimate which number of Graham it is closest to before actually expanding the whole thoop out. Through this ability, I have found out:

[3,3,3] ~ G(21) or G(22)
[4,4,4] ~ G(33) or G(34)
[5,5,5] ~ G(47) or G(48)
[6,6,6] ~ G(63) or G(64)

[4,4,4,4] ~ G(59) or G(60)
[5,5,5,5,5] ~ G(118) or G(119)
[6,6,6,6,6,6] ~ G(201) or G(202)

So not that impressive compared to others e.g. Conway arrow notation. But this is only using F(a) = 1; it would grow much faster with different F(a).

User avatar
PkmnQ
Posts: 1137
Joined: September 24th, 2018, 6:35 am
Location: Server antipode

Re: Largest total computable function competition

Post by PkmnQ » August 6th, 2019, 4:46 am

Gonna go invent some new numbers~♪

You’ve got millions, millillillions, googols, googolplexes, googolplexians, salad numbers (those are news to me, what are they?)
Now introducing Shoutillion, and the Toldellilions.
But first, we need to understand L(x).

L(0) = 1
L(x) = (2^(3^(4^(5^(6^(7^(8^(9^(10^(L(x-1)!))!)!)!)!)!)!)!)!)!
Factorials, shown as an exclamation mark.
I’m sure you can make the connection to Shoutillion.

Shoutillion is sort of like the zeroth Toldellillion.
It’s just L(googol).

The first Toldellillion is L(Shoutillion).
We write that down as Toldellillion or Mitoldellillion.

The second Toldellillion is L(Toldellillion).
We write that down as Bitoldellillion.

The third Toldellillion is L(Bitoldellillion).
We write that down is Tritoldellillion.

Quatoldellillion, Quintoldellillion, Sextoldellillion, Septoldellillion, Octoldellilion, Nontoldellillion, etc.

Wait, if Shoutillion is the zeroth, then a Googol is the negative first...and there exists a negative second toldellillion, it’s L(n) = a Googol. Hmm…

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » August 6th, 2019, 6:33 am

PkmnQ wrote:Gonna go invent some new numbers~♪

You’ve got millions, millillillions, googols, googolplexes, googolplexians, salad numbers (those are news to me, what are they?)
...

L(x) = (2^(3^(4^(5^(6^(7^(8^(9^(10^(L(x-1)!))!)!)!)!)!)!)!)!)!
I hate to tell you, but salad numbers are exactly like what you defined.
The googology wiki wrote:They are often coined by inexperienced googologists holding the false notions that a more complex definition is a more powerful one...
L(x) appears to be roughly tetrational or pentational perhaps in growth (I am most certainly not a good googologist).
The reverse exponential factorial (2^3^4^5^6^7^8^9^10...) would (probably) grow faster.
testitemqlstudop wrote:Two things.

Knuth Up-Arrow - for Functions
You may like a few things I did; this post (the one above yours) contains them both.

As for thoop, what is your definition of a? You only have a1-an for some n but you don't have an a that you have defined.
This is fine for F(a) = c for some c, but if you define F(a) as a function of a you need to define a better somewhere.
Try F(a) = 2; a thoop array should evaluate to something much larger.
Last edited by Moosey on August 6th, 2019, 4:29 pm, edited 3 times in total.
not active here but active on discord

User avatar
testitemqlstudop
Posts: 1367
Joined: July 21st, 2016, 11:45 am
Location: in catagolue
Contact:

Re: Largest total computable function competition

Post by testitemqlstudop » August 6th, 2019, 8:47 am

a is the array - in the thoop [1,1,1] then a = <1,1,1>. I just like to write a_1 as a1.

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » August 6th, 2019, 3:40 pm

testitemqlstudop wrote:a is the array - in the thoop [1,1,1] then a = <1,1,1>. I just like to write a_1 as a1.
How do you define f(a)? You need to define a function that evaluates an array.
Also, I hope it's not treated as another thoop array because then you have good ol' infinite recursion!
not active here but active on discord

User avatar
Gustone
Posts: 744
Joined: March 6th, 2019, 2:26 am

Re: Largest total computable function competition

Post by Gustone » August 6th, 2019, 4:02 pm

idk what is this but
sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(2^99)))))
a large function, right?

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » August 6th, 2019, 4:10 pm

Gustone wrote:idk what is this but

Code: Select all

sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(2^99)))))
a large function, right?
No.
By largest that means googologically large results as opposed to googologically large notations :mrgreen: -- the output of yours is very close to one.
For instance, using this fairly pathetic set of functions (~w^3) it is incredibly easy to get results far larger than graham's number (which is pathetically small in googology despite being incomprehensibly large)

There are some cases where googologically large size isn't necessary:
^. notation, for instance, can be sorta pathetic on its own with weak functions like S(n) but if you involve a powerful enough function it is significantly more powerful than any reasonable recursion. I think it adds a variable amount to power to the FGH level and though it's probably not terribly significant it is capable of adding at least w from my awful estimates.

Thoop2: an extension of BEAF (You say it's actually an extension of thoop? How'd ya know?)

Code: Select all

The first 6 (or 7 technically) rules are from ordinary thoop. The seventh has been modified to make it more easy to use thoop to make massive values.

[] = 0
[a1] = a1
[a1, a2, a3, … ai, 0] = [a1, a2, a3, … ai] + F(a)
[a1, a2, a3, … ai] = max(a) if min(a) <0
[a1, a2, a3, … ai] = [[a1-1, a2, a3, … ai-1, ai]+F(a), [a1, a2-1, a3, … ai-1, ai]+F(a), [a1, a2, a3-1, … ai-1, ai]+F(a), … [a1, a2-1, a3, … ai-1-1, ai]+F(a), ai-1]+F(a)

F(a) = n. n=1 if it is not specified, but can be specified in a format [#](n) where [#] represents the thoop array.

The next rules are new. They deal with multidimensional arrays.

Note: # represents any amount of entries in the arrays, as it is used in the googology wiki.
Extra note: this may be very confusing, please point out ways to make this make more sense.

def fuse ([#_1],[#_2]) as [#_1,#_2]. NOTE: this happens before [#_1] and [#_2] are resolved. fuse is not really a function, and can operate on illegal arrays, e.g. ones ending in breaks. Breaks are kept even if on the ends of arrays.

[#_1{any}#_2} = [#_1{that any}0]+[#_2]--that is, treat #_2 as if it  were the only part of the array if it is not a single entry 0.

[#{n}0] = an array of #'s--[#] of them. ([#,#,#], if [#] = 3, for instance.) This only works if # does not contain any {m} where m>n.

[#_1{m}#_2{n}0] = fuse([#_1{m}],[#_2,#_2,#_2...]) if m > n. The #_2... thing indicates essentially one step from [#{n}0].

not active here but active on discord

User avatar
testitemqlstudop
Posts: 1367
Joined: July 21st, 2016, 11:45 am
Location: in catagolue
Contact:

Re: Largest total computable function competition

Post by testitemqlstudop » August 6th, 2019, 7:38 pm

I'd say thoop2 runs into ambiguity; how do you deal with something like [1,1,1,1]?

For thoop1, I can just say some horrendously large function like f(a) = A(Σ_{i=0}^{n}(Σ_{j=0}^{n}(∏_{k=1}^{(i+j)!}((i+1)(j+1)(k)))), G64)

or better yet, define [i, j] as A(A(i,i), A(j,j)) (stop enumerating there) and define f(a) as [a1, a2, ... a_n-1]

I literally just realized [i,j] ~ A(j,i)

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » August 6th, 2019, 8:03 pm

testitemqlstudop wrote:I'd say thoop2 runs into ambiguity; how do you deal with something like [1,1,1,1]?
If unspecified F(a)=1. thoop2 is the same as thoop1 with no specified F except that it supports multidimensional arrays.
not active here but active on discord

User avatar
testitemqlstudop
Posts: 1367
Joined: July 21st, 2016, 11:45 am
Location: in catagolue
Contact:

Re: Largest total computable function competition

Post by testitemqlstudop » August 6th, 2019, 8:26 pm

Here's another one:

Define a "switch" as a function that satisfies the following requirements:

- takes one integer input
- gives one integer output
- not composed of anything infinite
- is total computable
- describable in under a googol English characters (letters)

My number is the maximum value attainable by applying a sequence of 1 googol switches to 1 googol.

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » August 7th, 2019, 6:45 am

testitemqlstudop wrote:Here's another one:

Define a "switch" as a function that satisfies the following requirements:

- takes one integer input
- gives one integer output
- not composed of anything infinite
- is total computable
- describable in under a googol English characters (letters)

My number is the maximum value attainable by applying a sequence of 1 googol switches to 1 googol.
I'm fairly sure you can berry's paradox that.
not active here but active on discord

User avatar
testitemqlstudop
Posts: 1367
Joined: July 21st, 2016, 11:45 am
Location: in catagolue
Contact:

Re: Largest total computable function competition

Post by testitemqlstudop » August 7th, 2019, 6:50 am

Remember that I included "is total computable" in the requirements and I'm very sure that the "maximum switch" function is as total computable as the Busy Beaver function.

EDIT: Oh wait I said the functions must be total computable :oops: :oops: :oops:

Gamedziner
Posts: 795
Joined: May 30th, 2016, 8:47 pm
Location: Milky Way Galaxy: Planet Earth

Re: Largest total computable function competition

Post by Gamedziner » August 7th, 2019, 7:56 am

Here's a function that becomes large both in function size and output size: the Ackermann–Péter function.

Code: Select all

(technically altered, but with same outputs) Ackermann–Péter function A(m,n):
For positive integers m and n,
A(0,0)=1
A(0,n)=n+1
A(m,0)=A(m-1,1)
A(m,n)=A(m-1,A(m,n-1))
(This is not the fastest growing total computable function.)

Code: Select all

x = 81, y = 96, rule = LifeHistory
58.2A$58.2A3$59.2A17.2A$59.2A17.2A3$79.2A$79.2A2$57.A$56.A$56.3A4$27.
A$27.A.A$27.2A21$3.2A$3.2A2.2A$7.2A18$7.2A$7.2A2.2A$11.2A11$2A$2A2.2A
$4.2A18$4.2A$4.2A2.2A$8.2A!

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » August 7th, 2019, 6:06 pm

testitemqlstudop wrote:Remember that I included "is total computable" in the requirements and I'm very sure that the "maximum switch" function is as total computable as the Busy Beaver function.

EDIT: Oh wait I said the functions must be total computable :oops: :oops: :oops:
Berry's paradox may or may not still work, anyways. I'm not sure about it either way. (What I'm saying to the people who can tell is "don't kill me, I didn't mean to say that it worked as a computable function.")
For instance, here is a switch that would break your stuff if it is total computable.

Code: Select all

Call n this switch's input.

Define a "switch" as a function that satisfies the following requirements:

- takes one integer input
- gives one integer output
- not composed of anything infinite
- describable in under a googol English characters (letters)

Output is maximum value attainable by applying a sequence of n switches to n.
If it is itself uncomputable then it would encode itself but fortunately would not refer to your stuff. If it is total computable then it can still encode itself and you'd be in trouble.

Also, there's definitely a way to make a googol switches into something that is not total computable even if they are all total computable themselves, using some sort of clever self-reference like defining a new switch encoded by the output of the previous and then running that output through it or something. This wouldn't be "uncomputable" but you get the idea. Unless there's a proof that individually total computable steps, even with funny self-referential bits, only make total computable things.
This concludes my "absolute idiotic" part of this post. Criticize it if it's wrong, because I bet I am wrong multiple times here.

Gamedziner wrote:Here's a function that becomes large both in function size and output size: the Ackermann–Péter function.

Code: Select all

(technically altered, but with same outputs) Ackermann–Péter function A(m,n):
For positive integers m and n,
A(0,0)=1
A(0,n)=n+1
A(m,0)=A(m-1,1)
A(m,n)=A(m-1,A(m,n-1))
(This is not the fastest growing total computable function.)
You're right--ackermann's function is not the fastest growing total computable function by a long shot.
First: There is no such thing. There is no last ordinal, or even last limit ordinal, before w_1ck.
Second: if there were such a thing, Ackermann doesn't get nearly close at all to it.
Usually, A(m,n) ~< 2^(^.m)n, (according to Wikipedia, the unreliable resource™) where ^. represents superscript. This puts it at about f_w(x)-level (according to the Googology wiki, the somewhat-less-unreliable resource™).

Modification:

Code: Select all

WARNING! I HAVE NOT PROVEN THAT THIS IS FINITE YET, BUT I'M FAIRLY SURE IT IS!
(∀m|m∈N)(∀n|n∈N)
A*(0,0)=1
A*(0,n)=A*(0,n-1)+1, n>0
A*(m,0)=A*(m-1,1)+1, m>0
A*(m,n)=A*(m-1,A*(m,n-1))+1, m>0 & n>0
This returns slightly larger results than A would usually produce since every iteration increases the result by one--output is the amount of iterations it goes before and including when it reaches (0,0)
Last edited by Moosey on August 7th, 2019, 7:10 pm, edited 1 time in total.
not active here but active on discord

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » August 7th, 2019, 6:42 pm

yay, this is the sandbox! I can double post without being irritating! That's why I have so many posts here! I don't wait days and days before posting again!
New idea:
TREE*msy(m,n) = the largest number of trees you can write with the typical rules with TREE(n), BUT you have m spare chances to write a tree for which a prior tree is homeomorphically embeddable in it. It may be infinite at large enough ms and ns, unless Kruskal's tree theorem guarantees an infinite amount of homeomorphically embeddable trees.
Known things about it:
By definition, TREE*msy(0,n)= TREE(n)
TREE*msy(m,1)=m+1
TREE*msy(1,2)

Code: Select all

()
(()) -1
[[][]]
[[[[]]]]
[[[]]]
[[]]
[]
>= 7

Is it true that:
TREE*msy(m,n)<TREE(m+n) for any m > 1?
I believe that both that is true and that the related theorem
TREE*msy(m,n)<=TREE(m+n) (for all m in TREE*msy's domain) is thus true.
not active here but active on discord

User avatar
toroidalet
Posts: 1514
Joined: August 7th, 2016, 1:48 pm
Location: My computer
Contact:

Re: Largest total computable function competition

Post by toroidalet » August 7th, 2019, 10:58 pm

@testitem:
The "maximum switch" function is not computable, as it is undecidable whether a function is total computable.

@Moosey:
TREE(n+1) is at least tree_msy(n,2) (and similar small values; I'm pretty sure that TREE(n+1) eventually exceeds tree_msy(n,m) where m is constant), since you can* do

Code: Select all

()
{} instead of (()) -1
[[][]]
[[[[]]]]
[[[]]]
[[]]
[]
*provided you don't use all your extra chances early on, but you have [{}] and {[]} and stuff like that to work with as well and basically encode TREE(3) with a faster tree growth rate.
Any sufficiently advanced software is indistinguishable from malice.

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Largest total computable function competition

Post by fluffykitty » August 8th, 2019, 12:10 am

tree_msy(n,2) is at least tree(n+1)+n+1 since you can use (), n extra chance trees, and then the sequence of trees from tree(n+1) using []. tree_msy(n,m) is also upper-bounded by the TREE(m) variant where you can use n bonus increments (which is equivalent to ignoring extra chance trees when checking homeomorphic embeddability)

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » August 8th, 2019, 7:06 am

fluffykitty wrote:tree_msy(n,2) is at least tree(n+1)+n+1 since you can use (), n extra chance trees, and then the sequence of trees from tree(n+1) using []. tree_msy(n,m) is also upper-bounded by the TREE(m) variant where you can use n bonus increments (which is equivalent to ignoring extra chance trees when checking homeomorphic embeddability)
Which is equivalent to A for Awesome's TREE*(m,n).
this means TREE(n) <=TREE_msy(m,n) <= TREE*(m,n).
not active here but active on discord

User avatar
testitemqlstudop
Posts: 1367
Joined: July 21st, 2016, 11:45 am
Location: in catagolue
Contact:

Re: Largest total computable function competition

Post by testitemqlstudop » August 8th, 2019, 8:40 am

Here's my large function submission.

Code: Select all

å(x, y, 0) = ß(ß(ß(x, y), ß(x, y)), ß(x, y)) + å(0, x, y) + |xy+2|^^^3
å(x, y, z), min(x, y, z) < 0 = max(x,y,z,2)^^^3
å(x, y, z) = å(å(å(x, y, z-1), å(x, y-1, z-1), z-1), å(x+1, y+1, z-1), z-1) + å(x-1, y-1, z-1) + |xyz+2|^^^3

ß(x, 0) = |x+2|^^^3
ß(x, y, z), min(x, y) < 0 = max(x,y,2)^^^3
ß(x, y) = ß(ß(ß(x, y-1), y-1), y-1) + |xy|^^^3
I'm thinking about a possible function that diagonalizes itself.

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Largest total computable function competition

Post by fluffykitty » August 10th, 2019, 12:31 am

Moosey wrote:
fluffykitty wrote:[...] TREE(m) variant where you can use n bonus increments (which is equivalent to ignoring extra chance trees when checking homeomorphic embeddability)
Which is equivalent to A for Awesome's TREE*(m,n).
this means TREE(n) <=TREE_msy(m,n) <= TREE*(m,n).
It's not quite that simple, since TREE* requires you to use all of your bonus increments at the beginning, whereas my TREE variant allows you to use them at any time.

User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Largest total computable function competition

Post by Moosey » August 10th, 2019, 9:13 am

fluffykitty wrote:
Moosey wrote:
fluffykitty wrote:[...] TREE(m) variant where you can use n bonus increments (which is equivalent to ignoring extra chance trees when checking homeomorphic embeddability)
Which is equivalent to A for Awesome's TREE*(m,n).
this means TREE(n) <=TREE_msy(m,n) <= TREE*(m,n).
It's not quite that simple, since TREE* requires you to use all of your bonus increments at the beginning, whereas my TREE variant allows you to use them at any time.
oh. in that case, TREE(n) <=TREE_msy(m,n) <= TREEkitty(m,n); TREE*(m,n) <= TREEkitty(m,n)
not active here but active on discord

User avatar
toroidalet
Posts: 1514
Joined: August 7th, 2016, 1:48 pm
Location: My computer
Contact:

Re: Largest total computable function competition

Post by toroidalet » August 10th, 2019, 11:49 am

fluffykitty wrote:It's not quite that simple, since TREE* requires you to use all of your bonus increments at the beginning, whereas my TREE variant allows you to use them at any time.
Actually, your variant is equivalent to TREE*(m,n) since you can pretend you incremented the maximum value at a given step instead of at the start.
Any sufficiently advanced software is indistinguishable from malice.

Post Reply