Saturday 28 September 2024
Font Size
   
Monday, 06 December 2010 13:00

Teen Mathletes Do Battle at Algorithm Olympics

Rate this item
(0 votes)
Photo: Michael Schmelling

Neal Wu’s last chance for international glory, and maybe America’s, too, begins with a sound like a hippo crunching through a field of dry leaves—the sound of 315 computer prodigies at 315 workstations ripping into 315 gray envelopes in unison. “You have five hours,” a voice booms across the packed gymnasium. “Good

luck.”

At his desk on the gym floor, Wu, age 18, pushes his glasses up on his nose and squints. He shouldn’t need luck. This is a coding competition—the International Olympiad in Informatics, held in August at the University of Waterloo in Ontario, Canada—and Wu is one of the world’s top competition programmers.

Gold medals awarded at the International Olympiad in Informatics (1999-2009)

He just graduated from Baton Rouge Magnet High School in Louisiana; his parents are chemical engineers originally from Shanghai, although Wu was born in the US. In seventh grade, he took first place in a nationwide contest for middle schoolers called Mathcounts. (There’s a Neal Wu fan club on Facebook that celebrates his “awesome math skills.”) Yet according to Rob Kolstad, the US team’s 57-year-old head coach, Wu is merely “very good” at math. His true gift is for creative problem-solving with code. In 2008, the first year he competed at the IOI, he finished 10th out of 300 contestants. In 2009, he moved up to seventh place. Since then, he has competed in six coding contests run by Kolstad’s organization, the USA Computing Olympiad; he won three of them with perfect scores. Wu has the relaxed disposition of a star athlete; he’s confident without ever letting on that he is America’s Great Nerd Hope. “I hate to say he’s the Tiger Woods of computer programming,” Kolstad says, “but he shares the properties of cool, calm under pressure, and consistent, consistent performance.”

Cool or no, there are a lot of expectations on Wu as he shuffles through the contents of his gray envelope. Four stapled packets of paper. Four word problems designed to test programming prowess—specifically, the ability to crunch incredibly huge and complex data sets in seconds. For each problem, Wu first has to choose an algorithm, or series of computational steps. Then he has to code it. Wu’s coaches have drilled into his brain 16 standard algorithms with names like Two-Dimensional Convex Hull, Greedy, Eulerian Path, and Knapsack—an arsenal of mathematical machetes for hacking through thickets of numbers—and in Wu’s years of coding he has flexed and massaged the algorithms into no fewer than 100 subtle variations. But what makes IOI so difficult, unpredictable, and yes, even dramatic is that competitors like Wu may have to invent and code their own ad hoc algorithms on the spot. One-of-a-kind solutions to one-of-a-kind problems. From scratch. In five hours.

It’s grueling work, so Wu starts out slowly. He flips through the problem sheets, scribbling an occasional note with his mechanical pencil. The dominant sound in the gym changes from the shuffling of paper to the clacking of keys, but Wu resists the urge to type right out of the gate. “Typing is hypnotic,” Kolstad says emphatically. “When you’re typing, you’re not solving problems.”

But Wu’s nemesis, the Boy Wonder of Belarus, does not subscribe to this theory.

A tall kid with skinny arms, short brown hair, and a bashful smile, Gennady Korotkevich started competing at IOI when he was 11. When Wu was 11, he didn’t even know about programming. At last year’s IOI in Bulgaria, Korotkevich upset Wu and everyone else to take first place, becoming the youngest winner in the contest’s 20-year history. This year Korotkevich is back again, at the ripe age of 15, looking to deprive Wu of his last shot at winning IOI. Next year Wu will be in college and therefore ineligible.

Photo: Michael Schmelling

Clockwise from top left: A printout of the Maze problem; Gennady Korotkevich of Belarus; work in progress on Maze; American Neal Wu.
Photo: Michael Schmelling

Their styles couldn’t be more different. While Wu is relaxed and thoughtful, Korotkevich is a jackrabbit. “My parents are programmers, and now I like it as well,” he says in tentative English. Unlike the sociable Wu (who interned at Facebook last summer), Korotkevich squirms when I talk to him about his abilities, insisting he’s nothing special. At IOI, he sticks close to his Belarus teammates and coaches. The gossip at IOI is 40 percent about the word problems, 10 percent about which country’s coaches have the best liquor (Canada, hands down), and 50 percent about Gennady Korotkevich. Ask the kids who’s going to win this year and regardless of whether they’re Kazakh or Japanese, Swiss or Egyptian, they’ll invariably grunt, “Belarus, Belarus.” And then they’ll start laughing, as if to say, haven’t you been paying attention?

This morning, Korotkevich began typing five minutes and 40 seconds after the competition began. Like several of the elite competitors at IOI, he can code as fast as he can touch-type. Three minutes later, Korotkevich completed his first program: a mere 22 lines of Pascal.

The three approved IOI programming languages are Pascal, C, and C++. The Western kids, including Wu, tend to use C++, the most modern and streamlined of the three. But Pascal still has a following in Eastern Europe and Asia, even though coding in it is like “building a car with just a screwdriver and a wrench,” says Troy Vasiga, this year’s IOI chair.

Pages: Previous 1 2 3 4 | image Full Page | Next

Authors: Jason Fagone

to know more click here

French (Fr)English (United Kingdom)

Parmi nos clients

mobileporn