Re: Largest total computable function competition
Posted: August 10th, 2019, 11:24 pm
Oh yeah nvm then
Forums for Conway's Game of Life
https://conwaylife.com/forums/
Code: Select all
def oracle(code):
if (code halts):
return 0
elif (code doesn't halt):
return 1
else:
return -1Maybe try the wiki everybody is talking about?gameoflifemaniac wrote:What is Xi function
How exactly would you have oracle return -1? And isn't that function undefined for large x? If you made it a quine-thing so that its output (I.e. all the code) is fed into the oracle, I'm sure there's a clever way to set it up so that you have some real nice shenanigans. Berry's paradox may be possible, etc. Ergo: py(x) is probably undefined for large enough x.testitemqlstudop wrote:Here's a new approach. I hope all of you know Python. Sadly uncomputable, but hopefully surpasses the Xi function.
Call this oracle.py:
It is used in a similar way as exec - i.e. a block of code is passed to it as a Python string and it returns -1, 0, or 1.Code: Select all
def oracle(code): if (code halts): return 0 elif (code doesn't halt): return 1 else: return -1
My function py(x) = the maximum output made by a halting Python program under x characters given infinite time, the standard libraries and oracle.py (i.e. "import oracle")
my brain is too smallMoosey wrote:Maybe try the wiki everybody is talking about?gameoflifemaniac wrote:What is Xi function
https://googology.wikia.org/wiki/Xi_function
In case you're curious what SKI calculus is:
https://en.m.wikipedia.org/wiki/SKI_combinator_calculus
How exactly would you have oracle return -1? And isn't that function undefined for large x? If you made it a quine-thing so that its output (I.e. all the code) is fed into the oracle, I'm sure there's a clever way to set it up so that you have some real nice shenanigans. Berry's paradox may be possible, etc. Ergo: py(x) is probably undefined for large enough x.testitemqlstudop wrote:Here's a new approach. I hope all of you know Python. Sadly uncomputable, but hopefully surpasses the Xi function.
Call this oracle.py:
It is used in a similar way as exec - i.e. a block of code is passed to it as a Python string and it returns -1, 0, or 1.Code: Select all
def oracle(code): if (code halts): return 0 elif (code doesn't halt): return 1 else: return -1
My function py(x) = the maximum output made by a halting Python program under x characters given infinite time, the standard libraries and oracle.py (i.e. "import oracle")
I updated that post too:gameoflifemaniac wrote:my brain is too smallMoosey wrote:Maybe try the wiki everybody is talking about?gameoflifemaniac wrote:What is Xi function
https://googology.wikia.org/wiki/Xi_function
In case you're curious what SKI calculus is:
https://en.m.wikipedia.org/wiki/SKI_combinator_calculus
How exactly would you have oracle return -1? And isn't that function undefined for large x? If you made it a quine-thing so that its output (I.e. all the code) is fed into the oracle, I'm sure there's a clever way to set it up so that you have some real nice shenanigans. Berry's paradox may be possible, etc. Ergo: py(x) is probably undefined for large enough x.testitemqlstudop wrote:Here's a new approach. I hope all of you know Python. Sadly uncomputable, but hopefully surpasses the Xi function.
Call this oracle.py:
It is used in a similar way as exec - i.e. a block of code is passed to it as a Python string and it returns -1, 0, or 1.Code: Select all
def oracle(code): if (code halts): return 0 elif (code doesn't halt): return 1 else: return -1
My function py(x) = the maximum output made by a halting Python program under x characters given infinite time, the standard libraries and oracle.py (i.e. "import oracle")
Moosey wrote:[a Berry's paradox (pseudo)code]
Something like looking at the length of the code, trying all length+1-long combinations that halt (since it can test whether code halts), and then outputting that output, +1. There's just one issue: this must by definition halt since the meat of its code halts and then it does a real simple addition to the result, but obviously its code plus a space or whatever is going to be largest. And that will be the same as its code plus a space-- this means that for large enough x py(x) will be the largest value attainable by a python program of any length-- ergo, it's undefined.
where is S^2||x(1) in the grass-mowing hierarchy? (Probably very low--I mean the fgh of course)A while ago, I wrote: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)=then: f^b^.a(x) = f^b*f^b*f...(x)(x)(x) with a b*f’s.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, 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.
Code: Select all
f^a(:b-1:)a(:b-1:)a(x) with c a's, b > 1
f^a|c, b = 1
Code: Select all
f^#a|c(x), b = 1
f^#(:b:)(f^a(:b:)c(a))(x), b > 1Duh, that's why oracle.py can return -1 for a piece of code.Moosey wrote:ergo, it's undefined.
That's not what I mean--py(x) = undefined for large enough x because ∃(code|code halts)∀(programs|programs halt && programs longer than code)(code output > programs output). You can construct code that halts, yet runs all 1 longer halting codes and adds one to their outputs. It will attain an arbitrarily large output value, by running itself + a space, yet it must halt.testitemqlstudop wrote:Duh, that's why oracle.py can return -1 for a piece of code.Moosey wrote:ergo, it's undefined.
Code: Select all
from sys import argv
from oracle import oracle
oracle("".join(open(argv[0])))Easy. I covered that in the original post; it just runs a loop which runs through every length+1-character program by generating every possible length+1 string and then using oracle.py only running those that halt and then adding one to the largest output. It will run codes liketestitemqlstudop wrote:I'd like to see how you can achieve embedding py(x) x+1 character codes in a program of length x - zip compression?
Code: Select all
asdfghjklWe know the py stuff is uncomputable but we can discuss uncomputable stuff here--we just try not to.PkmnQ wrote:ownKnanakshsj{)
Translation: Wrong thread
Code: Select all
#this is a comment!
call oracle #call is like import in python
call runMoosedocodeString as run
call numbertostring #(a hypothetical code which could be written out
#but I don't want to right now since 1) I don't
#have it and 2) it would be long.
#basically, it just converts a number to a string. e.g. 1-> a, 2 -> b,
#(something around 30 or 40) -> aa, etc.
newvar x
newvar i
newvar y
newset A
x=0
i=0
protect i #new syntax! protect -> don't change value during runMoosedocodeString.
protect A
deprotect x #(makes sure x will never be protected)
while i < 500^(this.length) #500 can be any value as long as it's greater than the
#number of characters mooseudocode uses.
->y = numbertostring(i) #we assign y to that string...
->if oracle(y) = 1,
-> ->newent A
-> ->setent i of A x #this shot in the dark is okay since we're going over every string.
#Even if some fast-growing thing assigning stuff to a z
#appears we'll still get one assigning stuff to x.
-> ->x=0
x=0
i=0
while i <= A.length
->if ent i of A > x
-> ->x=ent i of A
Code: Select all
Earlier rules take precedence
a{^b~_c^d}e = a^(^.e)a, b=c=d=1 (by a^(^.e)a I mean a and another a with e arrows between. And I don't mean 2.71828...)
a{^b~_c^d}e = 2+ (a{^b~_c^(d-1)}(a{^b~_c^d}e-1)), b>1, c>1, d>1, e>1 (the 2+ is solely to keep it enormous even if the latter value wouldn't otherwise evaluate to much)
a{^b~_c^d}e = a{^b~_c^(d-1)}(a{^b~_c^(d-1)}a), e=1
a{^b~_c^d}e = a{^(b-1)~_c^(a{^(b-1)~_c^d}a)}a, d = e = 1
a{^b~_c^d}e = a{^(a{^a~_(c-1)^a}a)~_(c-1)^a}a, b = d = e = 1Code: Select all
œ(F, x, y) = {
F(y) when x = 0
F(œ(x-1, F(x))) when y = 0
œ(F^y, x, y-1) otherwise
}If I did this right, which I doubt, but I tried my best to do so, then you could extend it beyond the çσM(n) sequence of çσM(n), gçσM(n)...testitemqlstudop wrote:Introducing the newest fad: passing functions to functions!
This is finite when F is finite, since x never increases, and will eventually hit F(y).
Define F(n) = çσM(n+2).Code: Select all
œ(F, x, y) = { F(y) when x = 0 F(œ(x-1, F(x))) when y = 0 œ(F^y, x, y-1) otherwise }
example: œ(F, 100, 100)
If my intuition is right with good enough F it's very high in the fgh.
Only for large enough ordinals, according to Wikipedia, the incredibly unreliable resource™.testitemqlstudop wrote:And is the SGH actually faster than the FGH?
Code: Select all
œ(F, x, y) = {
F(y) when x = 0
F(œ(F^x, x-1, F(x))) when y = 0
œ(F^y, x, y-1) otherwise
}The biggest lie perpetrated by humanity (cough. cough. TEACHERS) is that Wikipedia is unreliable. Studies show [citation needed] that for every 1 edit to a page, ten read the page.Moosey wrote: according to Wikipedia, the incredibly unreliable resource™.
Remind me again, how does F^x(n) work? I wanna experiment what happens if I put in different functions.testitemqlstudop wrote:Code: Select all
œ(F, x, y) = { F(y) when x = 0 F(œ(F^x, x-1, F(x))) when y = 0 œ(F^y, x, y-1) otherwise }