About This Blog

Automating Invention is Robert Plotkin's blog on the impact of computer-automated inventing on the future of invention and patent law.

Click here for latest videos.

News Feeds

« November 2005 | Main | January 2006 »

December 31, 2005

Artificial Invention

I changed the name of the "Artificial Creativity" category on this blog to "Artificial Invention." Invention doesn't always involve "creativity," and I wanted the name of the category to reflect this. Sometimes invention results from serendipity, brute force trial-and-error, or following design rules. The path leading to an invention may involve some combination of these and other features. So "artificial invention" it is.

Posted by Robert at 8:00 AM | Comments (0)
category: Artificial Invention

December 30, 2005

The Latest in Automatic Programming

MSNBC reports on several examples of "automating programming"--the use of computer software to write other software:

  • A program, developed by Doug Smith and others at the Kestrel Institute, that "translates a description of a problem into guidelines a computer can understand," and which has been used "to develop software for scheduling cargo deployment for the U.S. military."
  • Software from SciComp that "helps investment banks design programs to price financial derivatives."
  • An automatic programming program from Tenfold which "can generate corporate software in three weeks, compared with more than a year when done by hand."

The article ends on a note that is consistent with my posting yesterday: "Still, automated code doesn't yet compare in quality to what's generated by hand . . . . Programmers can rest easy knowing that their jobs are safe--at least for now."

Posted by Robert at 7:30 AM | Comments (0)
category: Artificial Invention

December 29, 2005

Competing with People and Computers

In a ComputerWorld piece entitled, "What Tech Skills are Hot for 2006?," Thomas Hoffman says that the threat to U.S. IT workers from outsourcing is not as great as most people think. He quotes Craig Symons of Forrester Research Inc. as saying that "most of the stuff that's going offshore is low-level coding jobs." This leaves a demand for business analysts and IT relationship managers in the U.S., among others. In particular demand are people with experience in a specific industry.

This effect of outsourcing tech work to human workers in other countries is the same as the effect of automating tech work using machines. Once your skills can be performed more quickly, less expensively, or more quickly by someone else--whether the "someone" is a human or a machine--your only chance at success is to compete on the basis of higher-level (or otherwise specialized) skills that have not yet become automated or outsourceable less expensively. This is just as true for businesses as it is for individuals.

One might try to maintain job security in such an environment in several ways. Lawyers do it in part by creating legal barriers to entering the field (e.g., rules prohibiting the unauthorized practice of law) and corresponding economic barriers (e.g., the high cost of obtaining a license to practice law). But the guild approach is rapidly breaking down for reasons I won't go into here.

One might try to predict which skills will elude automation and outsourcing for a long time and then sell products and services utilizing those skills. But predicting the future is a tricky business. Just ask a travel agent, encyclopedia publisher, or anyone in the music industry how successfully they predicted the impact of computer technology on their businesses over even the last five years.

Another strategy, which can of course be combined with the first two, is to develop the ability to adapt rapidly to changing conditions. It is important to keep in mind, however, that in this context the changing conditions include not only the spread of technological skill to people worldwide, but also the development and spread of technology that itself can perform tasks previously only capable of being performed by humans. If you are a technologist developing a technology that has the potential to displace you, you should at least consider keeping it to yourself. Then you can use it to boost not only your productivity but perhaps your job security as well.

Posted by Robert at 10:51 AM | Comments (0)
category: Work

December 23, 2005

History of Evolutionary Computation

Genetic Argonaut has posted the first posting in a series on the history of evolutionary computation, which says that the initial idea for evolutionary computation was inspired by a science fiction story called "Insel Der Krebse" (The Crab Island or The Island of the Crabs) by Anatolij Dnjeprow.

The article gives two examples that are particularly relevant to artificial inventing, dating back to the 1960s:

  • Ingo Rechenberg and Hans-Paul Schwefel's use of a simple evolution strategy to find the most aerodynamic shape for six plane planks linked by five adjustable hinges; and
  • Hans-Paul Schwefel's use of evolutionary computation to optimize a supersonic two-phase flashing nozzle.

Check out the posting for more details and photographs.

Posted by Robert at 10:02 AM | Comments (0)
category: Evolutionary Computation

December 21, 2005

Why the Solution to the Obviousness Problem in Software Patents Isn't Obvious

Techdirt says that there is a simple explanation for why software patents are dangerous. If I understand him correctly, there are two problems.

First, it takes too long for the U.S. Patent Office to figure out whether a patent is valid.

Second, "many programmers faced with similar problems will come up with similar solutions." Granting a patent to one of those programmers gives that programmer the ability to block the others from using the same solution, even if they developed it independently.

It might be true that programmers are more likely than other kinds of scientists and engineers to come up with similar solutions when faced with similar problems. People often make this claim, but I haven't seen any evidence for it. In evaluating whether any particular software patent claim is "obvious," the best that any patent office or court can do is to try to figure out what would have been obvious to an ordinary programmer in the relevant field at the time. This is a hard thing to do in any technological field, not just computer science. And if programmers want to help reduce the number of obvious patents being granted, they can contribute prior art to prior art databases (such as Gauss) or in a patent reexamination. Look here for another interesting proposal along these lines.

If it is true that "many programmers faced with similar problems will come up with similar solutions," the real problem with software patents might not be that the "obviousness" standard doesn't work correctly for software, but that there is no "independent creation" defense for patent infringement, as there is for copyright infringement. In other words, you can infringe a patent even if you independently invent the invention covered by the patent (i.e., without copying the invention covered by the patent). I raise this only to point out how many cans of worms can be opened even by a single seemingly simple observation about the nature of innovation in software.

Posted by Robert at 5:58 PM | Comments (0)
category: Software Patents