This is a follow-on from the original “Math Genome Fun” thread here
I think it’s time to test out GAs on a bigger problem, the old one was at the boundary of home computation for an exhaustive search (OMD I said “search!” get on that Mung) – but I’m going to propose a *much* bigger search / smaller target.
Friends, you target is Pi
I’ve chosen Pi because of its qualities, being irrational and transcendental you cannot describe it in an equation, only approximate it.
Our target is the first 150 digits of Pi.
Our vocabulary is the same numbers and operators as before: [1,2,3,4,5,6,7,8,9,+,-,*,/], but this time they can all be used as often as required and the genome can be anywhere from 1 to 1000 characters in length.
The design approximation is now harder due to the decimal place and the absence of zeros in our vocabulary (but there’s quite a few in Pi).
I’ve done no computation on this myself, can a GA find that proverbial needle in a haystack?
Virgil FrankenJoe,
Not a GA.
He’s welcome to try using the operators given.
The algorithm he cites produces digits, not expressions.
Richardthughes,
😀
Your position can’t explain t(h)at.
Umm, your position can’t explain the proper use of light sabers, cupcake.
Before I tackle Rich’s problem, I thought it would be interesting to go after a related problem, which is:
How closely can we approximate pi using the rules of the previous thread — i.e., by forming an expression that uses each digit from 1-9, and each of the four operators +-*/, exactly once?
In nine out of ten trials, the GA took less than five minutes to find a solution within .0000003 of pi (the tenth trial took five minutes and seven seconds). Here they are, sorted by execution time:
5:07
4:05
3:40
3:39
2:56
1:58
0:23
0:22
0:11
0:00.38 (!)
The two solutions were 8-3+245*6/791 and 4+9*312/678-5, which, believe it or not, are exactly equal.
They evaluate to 3.1415929 vs. pi at 3.1415927 (rounded), for an error of less than 0.0000003 .
I haven’t done an exhaustive search, but I did let the GA run for about five hours this afternoon. It didn’t find anything better than the two solutions listed above.
Makes one wonder if there’s such a thing as a non-computable string.
https://en.m.wikipedia.org/wiki/Eureqa
Might have some relevance to FMM’s claims
keiths,
8-3+245*6/791=6.858407 ≠ π
DiEb,
Don’t forget PEMDAS.
8-(3+((245*6)/791)) = 3.14159…
I tried the GA on a handful of different constants, giving it five minutes to work on each one. The results are listed below in the following format:
constant
expression
error
Results:
pi
9*312/678+4-5
0.00000027
e
4-726/859*3+1
0.00000476
my birthday, in .mmddyyyy format
<redacted>
0.00000068
0.1010010001
6+218*3/594-7
0.00000910
1.23456789
5-4*186/972+3
0.00000001
.
My mistake, DiEb.
I was prioritizing addition over subtraction instead of parsing them left to right.
I’ll fix my code and rerun — tomorrow.
Meanwhile, my second result for pi — 9*312/678+4-5 — still works, as do the expressions for the other constants except for e.
a infinitesimal error is still an error
As long as there is an error between the model and the actual constant I would say that non-computable is a safe bet .
might very well
I’ll check it out, Thanks
peace
fifth,
That’s because you still don’t understand computability after all these months of discussion.
It’s a trivial exercise to demonstrate the existence of computable numbers whose value cannot be exactly matched by a expression constructed from the characters in [1,2,3,4,5,6,7,8,9,+,-,*,/], each used exactly once.
My brute force algo found this in 2 1/2 minutes (8 threads @ 4.8GHz):
That’s on Windows. Running in windows it crunches expressions at half the rate of Linux because the -Qnew switch doesn’t work on threads, don’t know why, so I need to transform each expression to append ‘.0’ to digits so that it evaluates divisions with decimals
Best = [‘16.0/113.0+3.0’]
Current PI = 3.14159292035 found at: 00:02:29
Mininum difference = 2.66764189405e-07
Total Iterations = 48512859 – 2.25905603834 %
Valid Expressions = 18914473
Iterations/s ( /core ) = 292772.405934 ( 36596.5507417 )
Avg. Iterations/s ( /core ) = 323395.344518 ( 40424.4180648 )
Time elapsed = 00:02:30
On Linux:
Best = [’16/113+3′]
Current PI = 3.14159292035 found at: 00:01:05
Mininum difference = 2.66764189405e-07
Total Iterations = 115224568 – 1.24926726949e-09 %
Valid Expressions = 49606038
Iterations/s ( /core ) = 623945.540505 ( 89135.077215 )
Avg. Iterations/s ( /core ) = 677452.730241 ( 96778.9614629 )
Time elapsed = 00:02:50
And…
Best = [‘3+32/226’, ‘3+48/339′, ’16/113+3’, ‘3+96/678’]
Current PI = 3.14159292035 found at: 00:02:56
Mininum difference = 2.66764189405e-07
Total Iterations = 121577256 – 1.3181432508e-09 %
Valid Expressions = 52416654
Iterations/s ( /core ) = 635266.073734 ( 90752.2962477 )
Avg. Iterations/s ( /core ) = 675110.124224 ( 96444.3034606 )
Time elapsed = 00:03:00
Cuz you say so? Really? Care to try to make a case, cream puff?
Wow, WTF?
au contraire I think it us you who is missing the point here.
I know this because you thought lossless information integration was about our ability to recall memories rather than about data compression
Yes,
those rules are not binding in this exercise though
and if we “know” numbers that can’t be matched by an expression then the function by which we came to know those numbers is noncomputable
once again recall the definition of an integrating function
quote;
the knowledge of m(z)does not help to describe m(z′),when z and z′are close.
end quote:
sound familiar?
peace
For instance?
keiths:
fifth:
They were binding in the exercise I was conducting and upon which you were commenting.
Besides, it’s also true of the problem Rich is posing here. There are zillions of computable numbers whose values cannot be exactly matched by an expression constructed according to the rules of this thread, which limit you to 1,000 characters or less selected from [1,2,3,4,5,6,7,8,9,+,-,*,/].
see keith’s error value for constants and models that approximate them
peace
fifth,
It astounds me that after all these months, you still don’t understand that pi and e are computable numbers.
It’s even there in the Wikipedia article on computable numbers:
I’m not used to this kind of lack of curiosity. Don’t you care about this stuff? At all?
Ohh, burn.
you are——still—–confounding the concepts of computable number and computable function.
Any finite number can be produced by an algroythym. any infinite number can be algorithmically approximated to any arbitrary level of precision you desire
the noncomputable part is the part where you choose which algroythym to use and what level of precision is sufficient .
Computers don’t choose.
peace
fifth,
The confusion is yours.
petrushka wrote
You responded:
It’s the same mistake you’ve been making for months. From May 2015:
Your error was pointed out then, and it’s being pointed out now. Will you be making the same mistake six months from now? You could crack a book or two, but you seem to have no genuine interest in this stuff.
Whence this lack of curiosity?
Part of the problem is embedded in the game.
Any substring of pi is computable in the hard sense of the word. That is, it can be computed in fact, not just in theory.
In fact, there are algorithms for computing pi starting at any arbitrary digit, without having to compute the intervening digits.
So I continue to ask Fifth, how do we verify or validate his game.
I don’t think majority rules in mathematics.
Why are you using “computable/non-computable” for something that computers don’t do? Maybe you should invent more suitable terminology.
Maybe invent game rules that can actually be followed, objectively.
I’m using the terminology in the way that Phil Maguire does. There is no need to reinvent the wheel.
The problem is not in the terminology computers compute by definition
You call something that computers are unable to do a noncomputable function.
peace
What is not computable is the decision to halt the algorithm at a certain point
What they don’t do, indeed can’t do is decide which digit to stop at
peace
But that does not make any sense.
Computers are not able to form raindrops or ice crystals. Yet those are completely natural phenomena. Calling them “non-computable” is just a way of confusing people.
And that’s different from people exactly how?
Neil Rickert,
There is no evidence that humans are anything other than completely natural phenomena either, which would seem to undermine fifthmonarchyman’s position.
fifth,
More goalpost-moving. Have you no shame, fifth?
If it were about deciding when to halt, then even 1/3 would be “non-computable”. Which digit do you stop at?
Isn’t it time to acknowledge that you got computability and Kolmogorov complexity completely wrong?
This is eyeroll material:
If you were serious about doing science, you would acknowledge your mistakes and learn from them.
It’s not about moving the goalposts It’s about informing you yet again tor the hundredth time where the goalposts have always been.
Perhaps this time you finally understand.
peace
Can you name someone who understands?
Human cognition is natural as well and it’s non-computable,
It’s not confusing at all unless you are a certain kind of materialist.
peace
fifth,
keiths:
fifth:
You’re as excruciatingly bad at bluffing as you are at math and computer science.
You claimed that pi is non-computable because it has infinite Kolmogorov complexity. To anyone who understands those concepts, your claim is laughable.
Do you want to double down? Do you still believe the following?
Do you still believe that, or do you acknowledge your (egregious) mistake?
In your world, does 1/3 have infinite Kolmogorov complexity, just like pi? Is 1/3 non-computable?
You cannot prove that. You cannot even define what that means.
That might be true. But only because it has always been nonsensical.
Not sure about materialism but the belief that a deity knows in advance the results of cognition seems to refute the non computability of human cognition
Now that is hilarious!
Everyone here is a know-it-call and fifth continually asks them how they know things. And now he’s accused of a lack of curiosity. Talk about Alice in Wonderland.
in the context of the game .333333333 is indistinguishable from .33333333
So the string that represents 1/3 is not the result of a noncomputable function
Did you read the paper?
How so?
peace
Did you read the paper?
peace
Never mind,off topic
A great deal of needless back ad forth might be avoided if you would simply document your decision making procedure. You could, for example, take the data I submitted and tell us what you find in it. Preferably with soma annotated graphs.
I’ve spent a fair amount of time running the program and have no idea what you are seeing. All the graphs have Ws. I need to see the whole graph with some annotation.
fifth,
Refusing to acknowledge your mistakes just makes you look ridiculous, particularly when they are whoppers like this one.
You wrote:
As I said:
Instead of admitting your mistakes, you shamelessly tried to shift the goalposts:
If that were true of pi, it would also be true of 1/3. Your evasions are backfiring on you, and you don’t even understand the concepts on which your argument is supposedly based.