« Logic: Deductive and Inductive | Main | The Downward Spiral »
March 22, 2005
Acro is the Game
The game is very simple. We are given a bunch of letters (the acronym), and from them, we decide what it stands for. After 60 seconds are up, players must vote for their favourite acro (players are forbidden to vote for their own).
Now, the scoring. Players receive 1 point per vote. The first-entered acro which gets a vote will be awarded 2 bonus points for speed. The first-entered acro gathering the most points during a round will receive 1 point per letter (this is based on the assumption that the difficulty is proportional to the number of letters in the acronym). Clearly, this last bonus is huge. The game traditionally goes to 30 points.
Additionally, there is a topic (make it rhyme, server admins, role playing games, etc). The game has been complicated by “strategic voting” (i.e voting for the worst acro), voting off topic and cheating (getting “dummy” players to vote for you). Well, anyway, enter me. I suck at the game (people never vote for my acros), so I decide to make a computer (program) which plays for me.
So far, it makes nice 3 and 4 letter acronyms (NCF: Netherlanders can fly, FMU: Fish mutate uncontrollably, PHSM: Peculiar hamsters singly merrily) and decent 5 letter ones (SPDMF: Smart pandas dance mighty ferociously). The maximum is 7 (I still have to work on those). You gotta admit those are pretty good, albeit possibly off-topic. :).
The thing is, the computer has the advantage of thinking real fast and could output those in less than a second (lag time). Assuming that it gets at least 1 vote, it snacks all of the speed bonuses (some human players don’t like it, but thats only because they want to keep the speed bonuses for themselves, schmucks).
Anyways how does the program work? Well I have a bunch of lists, based on (1) parts of speech (2) connotation (3) placement within sentence (4) category. Then I have a few patterns, say #n#v#d [noun-verb-adverb], #n-c#v [noun-can-verb], &a-l&d [animals-like-desert]. The program chooses the best possible query (matches maximal number of patterns, well, weighted maximum actually - some patterns are more important than others) and sends it to the server.
I am looking into porting it to PHP code to give you a live demonstration over the web. Maybe this plan will come into being, maybe not.
Posted by Oleg Ivrii at March 22, 2005 10:26 PM