Hi Kurt,
On 03/05/2025 12:17, Kurt Pagani wrote:
> Hi Martin
>
> On 29/04/2025 18:25, Martin Baker wrote:
>> This Wiki page says "There is no known simple formula to compute
T(n) for arbitrary n"
>
> The "simple" is puzzling. I know no formula at all that could tell
T(n) for arbitrary n. Do you?
The Wiki page talks about a "simple formula" and some stackexchange
posts talk about a "simple algorithm". I don't know if they are making a
real distinction between "formula" and "algorithm" or if its just choice
of words. I guess there are some numerical algorithms that can't be
expressed as formulas? Can recursion be put in a formula?
As far as I can tell these example all use what I call a brute-force
method, that is, powerset of powerset and filter out valid topologies (I
can't be sure because the aim seems to be to make the code as small as
possible rather than understandable).
What I would like is a way to define "efficient" which depends only on
the algorithm and not the low level details of the language. For
instance I think it should penalise algorithms which generate invalid
results and then have to filter them out.
> All these codes play out for n<=10, so one should identify the time/
space complexity of the algorithm:
>
> O(1) - Excellent/Best
> O(log n) - Good
> O(n) - Fair
> O(n log n) - Bad
> O(n^2), O(2^n) and O(n!) - Horrible/Worst
I will look at the references you gave. At first sight this looks like
the theory around the 'P versus NP problem'. I think one of the classic
problems is factoring multiplication of numbers whereas this problem is
about factoring union/join of sets. So they are both about factoring so
it would not surprise me if they had the same level of complexity.
>> So what am I missing here? Why do they say its so difficult?
> It seems to be difficult for n > 10 ...
Do you know what the issue with n > 10 is? Is it just because the
numbers are so large, or does something change such as a breakdown in
symmetries?
Thank you very much for all these ideas, I will followup on the links
and let you know how I get on.
Martin