# How Many Processors Do You Need For a Snipe Hunt?

February 16, 2009

Snipe hunts, fool's gold, solutions to AI-complete problems, I've been victimized by them all. Although I have gotten over the snipe hunts and fool's gold, I haven't been able to quite shake the AI-complete part yet. Why can't I just throw more processors at the problem? Why can't the fastest beat the hardest? Oops, let me regress for a moment. I said I would have to stir up what I meant by AI-complete, so first let me do so.AI-complete is a cheap knock-off on the computer science and mathematic concept of NP-complete. To put it briefly, NP describes a class of problems that have no known reasonably fast algorithms and no one has yet proved that the solution(s) to these problems will necessarily take a long time[1]. Not all NP problems are created equal. Some NP problems represent the hardest of the class. If reasonably fast or efficient algorithms are ever found for those problems then we know that fast algorithms exist for all of the rest of the problems in the NP class. These hardest of problems in the class are called NP-complete problems[1].

The phrase "AI-complete" was kind of a bust and was used to describe the snipe hunts or fool's gold of AI. Or at least so they say. The normal term NP-complete cannot correctly be used for AI problems because NP/NP-complete problems are all about finding and measuring algorithms. AI solutions tend not to be represented in clean algorithms. AI solutions involve allot of inferencing, guessing, heuristics, and searching. But it is the case that there are a class of AI problems in which there are no known efficient solutions. And in that class of problems there is even a harder set of problems that if fast solution(s) could be found then we could celebrate the fact that efficient reasonably fast solution(s) exist for all AI problems. This hardest set of problems get the distinction of AI-complete. Ridicule awaits those that devote too much serious time to solving AI-complete problems. Herein lies the rub. Tracey and I can't seem to get those kind of problems off the radar right now and some how (probably ICOT related) we're both under the impression that multicore (probably massively multicore) lies on the road to salvation. We've got this feeling that the gold is right ahead. Somehow parallelism with the right kind of search and representation will prove the day. I know its a spooky job, but somebody has to do it. We'll give you time to read this in reverse and then we'll connect the search thing to the problem solving thing to the parallelism thing to the AI-complete thing.

References

[1] S.Baase, ";Computer Algorithms: Introduction to Design and Analysis, 2nd Edition";, Addison-Wesley, 1988.

### More Insights

 To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.

# First C Compiler Now on Github

The earliest known C compiler by the legendary Dennis Ritchie has been published on the repository.

# HTML5 Mobile Development: Seven Good Ideas (and Three Bad Ones)

HTML5 Mobile Development: Seven Good Ideas (and Three Bad Ones)

# Building Bare Metal ARM Systems with GNU

All you need to know to get up and running... and programming on ARM

# Amazon's Vogels Challenges IT: Rethink App Dev

Amazon Web Services CTO says promised land of cloud computing requires a new generation of applications that follow different principles.

# How to Select a PaaS Partner

Eventually, the vast majority of Web applications will run on a platform-as-a-service, or PaaS, vendor's infrastructure. To help sort out the options, we sent out a matrix with more than 70 decision points to a variety of PaaS providers.

More "Best of the Web" >>