Scramble or hacking?
Some time ago, I was arguing with my colleagues about which required more intelligence: writing a program that could cheat at Scramble
? Or winning at Scramble? Naturally, I took the stand that writing programs requires way more intelligence than playing some word-finding game. My friend, being a rather contentious guy, told me that I was biased because I am a programmer and that he respected the top scramble players because we couldn't do what they did, blah blah.
I said that all that scramble required was memory and basic pattern recognition coupled with the digital dexterity required to type words fast, while writing programs required a higher level of intelligence and the ability to understand what was required to solve that problem (i.e. problem abstraction). I told him that the skill set required to play scramble wasn't that much different from that required to play minesweeper, and that since I could hit timings of 80+ seconds on minesweeper, I could probably also play scramble well with practice. He didn't buy it, even though he's also a programmer. Well, I've written a program that could cheat at scramble. I've also been playing scramble and I've improved to the point where I can get to the top 10 positions.
To sidetrack a little bit, the main game in scramble has at least 300+ players playing on the same board at any one time, so it is really not that easy to own at the game.
However, I can actually prove my point with a simple observation. Let's take the intelligence quotient required to play well at scramble as X. So if you play well at scramble, all we can conclude is that you have at least an intelligence quotient of X. Now, let's posit that the intelligence quotient required to write a program that cheats at scramble is Y, as yet an unknown quantity. However, we observe that, since the program is able to attain better results than a human player (my program is able to get all the answers on the board within 1 second, while the average good human player plays a 3 minutes game and usually attains sub-perfect results, but let's forget the obvious disparity for now), the program itself has at least an intelligence quotient of X. If an entity with an intelligence quotient of Y is able to create an entity with an intelligence quotient of X, does it not logically follow that the creator is smarter than the creation?
I end this post with a challenge illustrating the above for those programmers who still disagree. You're probably smart enough to write a scramble solver. But are you smart enough to write a program that can write a scramble solver? (QED)
p.s. Note that I'm not saying that people who are good at scramble are less intelligent than me (though they probably are, heh heh). I'm just saying that of the two tasks, writing a scramble solver and solving scramble, writing a scramble solver requires higher intelligence.
p.p.s. If you come to me with a program that prints the source code for a scramble solver, I... would really not know what to say to you.
I spoke with the aforementioned colleague again and he pointed out a flaw in my previous reasoning, namely that it takes an entity with a higher level of intelligence to create an entity of a certain level of intelligence. Basically, if one believes, as I do, that humans will someday birth artificial intelligences greater than themselves, then one must believe that an inferior intelligence should be capable of creating a superior one. My bad.
I still think the second illustration is valid, i.e. the fact that one can write a scramble solver but cannot write a scramble solver writer implies that the former task is less complex and hence, requires less intelligence to accomplish.
Labels: geek, intelligence