This was one of the most interesting quotes in the article:
"The way to do this is by training the device: by running a task hundreds or perhaps thousands of times, first with one type of input and then with another, and comparing which output best solves a task. “We don’t program the device but we select the best way to encode the information such that the [network behaves] in an interesting and useful manner,” Gimzewski said."
Since the "weights"/connections in their network are not easy to modify, they must instead figure out what kind of machine they have made by feeding it data and looking at the results. This does seem limiting in that the encoding might have to be arbitrarily complex to get the desired output.
"The way to do this is by training the device: by running a task hundreds or perhaps thousands of times, first with one type of input and then with another, and comparing which output best solves a task. “We don’t program the device but we select the best way to encode the information such that the [network behaves] in an interesting and useful manner,” Gimzewski said."
Since the "weights"/connections in their network are not easy to modify, they must instead figure out what kind of machine they have made by feeding it data and looking at the results. This does seem limiting in that the encoding might have to be arbitrarily complex to get the desired output.