July 30, 2009 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 Valeria Bertacco and Andrew DeOrio, FunSAT is designed to harness humans' abilities to strategize, visualize and understand complex systems.
"Computer games can be more than a fun diversion," said Bertacco, an associate professor in computer science and engineering. "Humans are good at playing games and they enjoy dedicating time to it. We hope that we can use their strengths to improve chip designs, databases and even robotics."
DeOrio, a doctoral student in Computer Science and Engineering, will present a paper on the research on July 30 at the Design Automation Conference in San Francisco.
A single-player prototype exists at http://funsat.eecs.umich.edu, implemented in Java by U-M undergraduate Erica Christensen. Bertacco and DeOrio 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.
"When solving these problems, humans can use their intuition and visualization skills. For instance, by just glancing at the neighborhood map they can gain an intuition of where to begin in the case of the postal route," Bertacco said. "FunSAT can leverage these human skills that computer-based solvers do not have."
The paper is called "Human Computing for EDA."
Other social bookmarking and sharing tools:
Note: Materials may be edited for content and length. For further information, please contact the source cited above.
Note: If no author is given, the source is cited instead.