I can probably describe the idea a little more clearly and to a more general audience:
1) I first take a list of words i've studied. All the 2s, and 3s. The first 7000 words in John's march2006 TWL playability list, plus all 4 and 5 JQZXs, and all the Q's without Us. That's pretty much what i've studied. So I use that as my working set of words to form (hopefully) good scrabble plays. 2) Imagine making an index card for every word in the dictionary that you don't know. Write a 0 on each card. That's it's current value to you. 3) Start playing random Scrabble games in Quackle. For each move, hit "Generate choices". You see 15 moves sorted by the static evaluator, each with a "Valuation" which is based on the score of the play and rack leave. They are not perfect moves in perfect order, but the other players are too slow for this idea to work in a reasonable amount of time. I use these values as a rough guide of how good the various moves at this position are. 4) Keep committing the top move in the list. Every time the top move used a word you didn't know (or maybe several), note the difference in value between it and the move you could have played, given your word knowledge. Maybe it played EXTRA(UTERINE), and you didn't know that word, so the best you could have done was TAX somewhere. Say the "Valuation" in quackle for EXTRAUTERINE was 50 and TAX was 30. You take your EXTRAUTERINE card and add 20 points to it's value. It'll probably never play EXTRAUTERINE again in 2 million games, but maybe you didn't know SORDINE. If you do this process for millions of games, eventually the SORDINE card will have a high value, and EXTRAUTERINE will probably still have just 20 points. So you're better off spending a bit of time learning SORDINE. The python scripts do this for millions of games and hand you back a sorted list of words, each with their total value. Except it gives you alphagram racks to study. I keep 1 score for SORDINE and it's 4 anagrams on the same card... because when i learn it, I'll learn the other 4 at the same time. Also, my code only works in windows... sorry. From: Eugene Deon <[email protected]> To: [email protected] Cc: [email protected] Sent: Thursday, December 18, 2008 1:32:35 PM Subject: [quackle] A Modified version of "playability" lists I modified Quackle and wrote some python scripts to compute estimated equity for each rack of letters i currently don't know (In this email i say "rack" when i mean some non-empty set of letters, not necessarily of length 7). It works as follows: 1) take a list of racks i currently know 2) have Quackle's speedy player play itself for 1 million or more games 3) each time there is a best move that forms at least one word i don't currently know, find the first move that formed words all of which i do know. 4) accumulate the difference in equity (between the best move and the one i could have played) to all the words i didn't know that helped form that best move 5) after 1 million games, sort the list of all racks i don't know by total accumulated equity: it's likely i will get the most reward/time by studying the top racks first. I believe this is different than John O'laughlin's playability lists in several ways: he didn't take into account your current rack knowledge. Every word in his list fights to be better than every other word in the dictionary, not just the ones you already know. And he sorts words, not racks, which had led me not to add DEINORS to my cardbox yet, even though it's pretty important (i always learn all the words in a rack, so i prefer to have a list of important racks to study, not words). Also, I think he only looked at the main word formed in each play, and not all words, which would underestimate the value of a words hookability to some extent. Anyway, it's not a user-friendly implementation by any means, just a hacked quackle build that spits out large .txt files of moves and equity, and a python script to parse those files. If you are brave and interested, you can compute your own lists. The files you need are here: http://www.eugenede on.com/collect1. zip It's probably not that different from John's lists if you were to combine his values for each word into a list of rack values, but it does look at all words formed in a play, and it does consider your current knowledge (provided you can put most of the words you know into a file). The eugPlayability. exe will crash once in a while (once in every 500,000 games or so - dunno why), but can just ignore it, it should keep going. I also wanted to do a similar analysis to determine in which order to study hooks, but never got to that yet. My Scrabble addiction has gotten way out of hand lately, so I'm gonna back off for a while, enjoy! Eugene
