91B0FBB4-04A9-D5D7-16F0F3976AA697ED
C9A22247-E776-B892-2D807E7555171534

Aaron Crosman spends his days playing tic-tac-toe ... well, not exactly.

Aaron is using a form of artificial intelligence called genetic programming to create new computer programs from randomly selected snippets of source code. He then tests how well the programs solve a specified problem — in this case, how well they play tic-tac-toe.

Aaron's program initially generates between 20 and 200 programs and then plays tic-tac-toe against each of them. Each program is scored based on the outcome (win, loss or tie) and the number of moves made before the end of the game. Using a Darwin-like natural selection process, the more successful programs are then crossed with one another in 500 to 1000 generations to determine their accuracy.

"A human could systematically build and test each program that we randomly generate, but that would be very time-consuming," Aaron said. "The genetic program measures the 'intelligence' of each new program quickly and objectively, so it can find a solution more reliably than a human could."

Aaron's work may soon impact another project, improving the ranking algorithm for Professor Alistair Campbell's study on ontological mediators — programs that translate words from one dialect to another, such as British English to American English ("lift" to "elevator"), or in medical terminology ("influenza" to "flu"). The two spent the summer working together on the project, written mostly in Java, that begins with a broad search for a word before it is narrowed and recognizable terms are encountered.

While Aaron has been dabbling in programming since the fourth grade, his long-term goal is to teach. "For me, the best part about understanding how a computer works is to be able to explain it to other people," he said.

Help us provide an accessible education, offer innovative resources and programs, and foster intellectual exploration.

Site Search