Wednesday, December 30, 2009

Integer Complexity: Why Blogging is Fun

A while back I wrote a blog entry about a generalization of the four fours problem. That entry focused on the function f(n) defined as the minimum number of 1s needed to represent n using just addition and multiplication. So for example, f(6)=5 since 6 = (1+1)(1+1+1) and there's no way to represent 6 with four or fewer 1s. Surprisingly little is known about the general behavior of f.

After that blog entry, two commentators, Etienne and Harry, took up examining f in more detail. Harry and I together produced new work on the behavior of f that will likely turn into a paper.

I will attempt here to briefly summarize what was known and how we've improved it. (Reading my original blog entry and my previous follow-up will probably help matters).

It was known that f(n) satisfied the inequalities 3log3 n ≤ f(n) ≤ 3log2 n for n greater than 1. We've improved the upper bound somewhat, replacing 3log2 n with 2.64log2 n. We've also shown that f(n) - 3log3 n is unbounded (that is one can make it as large as one wants if one chooses suitable n). We did this by defining what we call the "defect" of d(n)= f(n) - 3log3 n. We defined Ak to be the set of numbers with defect at most k. Then, we were able to show that each set Ak was way too small to contain every natural number. More technically, we showed that if one defines Ak(x) to be the number of elements in Ak that are at most x, then Ak(x) = O( (log x)^c) with c a function of k.

Also, it was conjectured that if one had a number of the form n=2^a3^b that f(2^a3^b)=2a+3b (aside from the trivial case when a=b=0). Essentially this conjecture stated that the most efficient representation for n arose from the obvious one, that is writing n = (1+1)(1+1)...(1+1) * (1+1+1)(1+1+1)...(1+1+1). Harry, was able to prove that this conjecture held for all such n as long as a was at most 10. Since then, we've been able to improve that bound to a at most 19.

It turns out that for much of the behavior of f, including both of the two problems discussed above, the sets of Ak and some closely related sets are natural objects to consider. Thus, we tried to work on making c as small as we could in the equation Ak(x) = O( (log x)^c). The initial proof gave a very poor bound on c (being able to take c=1024^k). After a series of improvements, primarily by Harry, he was able to take c=4^k and then using a combination
of ideas from the two of us, we got a linear bound. In particular, one can take c=3k/(5- 3log_3 5). Note how this bound grows much slower than the previous bounds. However, we do know that A1(x) is in fact of order log(x)^2 so there's some realm for improvement in that this proof gives an upper bound for c of about 4.96 for A1(x). One thing to note: While these results were proved using induction arguments (as one would expect), one cannot induct on Ak with k a positive integer. One actually needs to induct on Aαk for fixed α less than 1. A good choice of what alpha to use then becomes very important.

Harry has on his blog a long post that summarizes what we have accomplished and discusses them in more detail. See his posts here and here and the other posts he links to.

The moral to this story is that you don't know what interesting things will happen when you blog, especially when you have readers that are as smart or smarter than you.


sniffnoy said...

α<1 there, you should probably note.

Joshua said...

Fixed. Good point.