Saturday, September 20, 2008

Calculemus!

I recently read a very interesting article called "Calculemus!" in American Scientist. It was written by Bryan Hayes, who maintains the blog bit-player.

In this article, he discusses what he calls "inquisitive computing" and the types of programming environments that best promote it. (At the end of the article, he enumerates the features he considers desirable. I won't discuss them here, but I don't know if there is anything horrible surprising on the list. It might be interesting to discuss that as well, but I'm going to go in a different direction in this entry.)

Some of the example problems Hayes discusses remind me a great deal of the programming nuggets Lemming was mentioning to me a while back. (In fact, I wouldn't be surprised at all if these showed up in the list Lemming was following.)

One of them involves "more sums than differences" (MSTD) sets: Take a set of integers (both signs are possible) and calculate first all possible sums from pairs of integers in that set and second all possible differences from pair of numbers in that set. For which sets of integers does the set of unique sums have more entries than the set of unique differences?

Another involves what are called ABCs: Consider the equation a + b = c, where a, b, and c are all positive integers that have no common divisors (besides 1). Now consider the product abc and find all the prime factors of this product. Get rid of duplicates so that each prime that you find occurs exactly once. The product of these remaining primes, denoted rad(abc), is called the radical of abc. (Dude!) The question is the following: When is c > rad(abc)? Also, how much greater can c be than rad(abc)?

No comments: