11 August 2009

Games Solve Complex Problems

A new computer game prototype combines work and play to help solve a fundamental problem underlying many computer hardware design tasks. The online logic puzzle is called FunSAT, and it could help integrated circuit designers select and arrange transistors and their connections on silicon microchips, among other applications. Designing chip architecture for the best performance and smallest size is an exceedingly difficult task that's outsourced to computers these days. But computers simply flip through possible arrangements in their search. They lack the human capacities for intuition and visual pattern recognition that could yield a better or even optimal design. That's where FunSAT comes in. Developed by University of Michigan computer science researchers, FunSAT is designed to harness humans' abilities to strategize, visualize and understand complex systems. A single-player prototype implemented in Java already exists and researchers are working on growing it to a multi-player game, which would allow more complicated problems to be solved. By solving challenging problems on the FunSAT board, players can contribute to the design of complex computer systems, but you don't have to be a computer scientist to play. The game is a sort of puzzle that might appeal to Sudoku fans. The board consists of rows and columns of green, red and gray bubbles in various sizes.

Around the perimeter are buttons that players can turn yellow or blue with the click of a mouse. The buttons' color determines the color of bubbles on the board. The goal of the game is to use the perimeter buttons to toggle all the bubbles green. Right-clicking on a bubble tells you which buttons control its color, giving the player a hint of what to do next. The larger a bubble is, the more buttons control it. The game may be challenging because each button affects many bubbles at the same time and in different ways. A button that turns several bubbles green will also turn others from green to red or gray. The game actually unravels so-called satisfiability problems—classic and highly complicated mathematical questions that involve selecting the best arrangement of options. In such quandaries, the solver must assign a set of variables to the right true or false categories so to fulfill all the constraints of the problem. In the game, the bubbles represent constraints. They become green when they are satisfied. The perimeter buttons represent the variables. They are assigned to true or false when players click the mouse to make them yellow (true) or blue (false). Once the puzzle is solved and all the bubbles are green, a computer scientist could simply look at the color of each button to gather the solution of that particular problem. Satisfiability problems arise not only in complex chip design, but in many other areas such as packing a backpack with as many items as possible, or searching for the shortest postal route to deliver mail in a neighborhood.

More information:

http://funsat.eecs.umich.edu/

http://www.ns.umich.edu/htdocs/releases/story.php?id=7252