tag:blogger.com,1999:blog-83834446753204809302024-03-19T06:10:47.797-07:00Chess VortexIf you aren't sick of working chess problems, you haven't been applying yourself.LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-8383444675320480930.post-1408265335924840442008-06-27T11:24:00.000-07:002009-07-10T18:35:19.678-07:00Bayesian ThinkingSince this winter, I haven't had a lot of time to work on ChessVortex. But today I've revisited, for the umpteen-thousandnth time, the wikipedia page for <a href="http://en.wikipedia.org/wiki/Bayesian_inference">Bayesian Inference</a>. Since I will probably use Bayesian Inference for some ChessVortex studies I may contrive (and since it is a cornerstone of the Glicko rating system), I decided it might make a good topic for a blog entry.<br /><br />Now, every time I work with Bayes's theorem, I have to re-read the entire introduction of the wikipedia article to help me remember exactly what Bayes's theorem means. Today, I invent a mnemonic that I hope will stick. First, the theorem:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/math/8/c/4/8c4e322009fcae942adf5465af5f8f30.png"><img style="cursor: pointer;" src="http://upload.wikimedia.org/math/8/c/4/8c4e322009fcae942adf5465af5f8f30.png" alt="" border="0" /></a><br /><br />This, of course, is the mathematical formula. Let's forget the formula for now and instead think about what it describes in terms of natural language, avoiding numbers, math, and equations at all costs (for a while, at least). For this exercise, I will use an example.<br /><br />First, let's say we decided to take a hike through the desert. We know water is scarce (our source for <span style="font-weight: bold; color: rgb(153, 0, 0);">H</span>ydration out in the desert). We'll give a name to this knowledge: "prior knowledge". In other words, our prior knowledge is that, at any arbitrary time while walking through the desert, we know that we have a low chance (or <span style="font-weight: bold; color: rgb(153, 0, 0);">P</span>robability) to observe a source of Hydration. To put it yet another way, we can say that our Probability to observe Hydration in the desert is low.<br /><br />Second, we know that <span style="font-weight: bold; color: rgb(153, 0, 0);">E</span>lephants, like sources of Hydration, can also be found in the desert, but we don't expect to see them very often. That is, the Probability to observe Elephants in the desert is low. This is also prior knowledge.<br /><br />Third, lets imagine some other prior knowledge we have, namely that, if we observe a source of Hydration in the desert, we know that an Elephant must not be far away. We can re-phrase this by saying that the Probability to observe a source of Hydration increases given the observation of an Elephant.<br /><br />Now, we can use all of this prior knowledge while in the desert and on the quest for some water. Namely, Bayes's Theorem says that we know to look hard for a source of Hydration when we see an Elephant. Why? Because (1) we know Hydration is scarce, (2) we know Elephants are even more scarce, but (3) we know that Hydration means Elephants. Since Hydration means Elephants, then conversely we can conclude that Elephants mean Hydration. That's Bayes theorem.<br /><br />For completeness, let's turn it into the formula above:<br /><ul><li>Probability of Hydration: P(H)</li><li>Probability of Elephants: P(E)</li><li>Probability of Elephants given Hydration: P(E|H)</li><li>Probability of Hydration given Elephants: P(H|E)</li></ul>Here is Bayes's theorem again:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/math/8/c/4/8c4e322009fcae942adf5465af5f8f30.png"><img style="cursor: pointer;" src="http://upload.wikimedia.org/math/8/c/4/8c4e322009fcae942adf5465af5f8f30.png" alt="" border="0" /></a><br /><br />One way to think about equations is to examine what will happen if you change values of the terms in them. For example, if the number of Elephants in the desert decreases, the the probability of seeing Elephants, P(E), decreases. If P(E) decreases, P(H|E) must increase if all other terms stay the same. In other words, as the probability of seeing Elephants decreases, the probability of finding Hydration given the observation of an Elephant, P(H|E), must increase. Such analysis can give equations like Bayes's Theorem an intuitive feeling.<br /><br />Now, if we know the numbers for P(H), P(E), and P(E|H), then we can plug those in and get P(H|E). For example, let's say we expect only a 1% (P(H)=0.01) chance of seeing Hydration and a 0.5% (P(E)=0.005) chance of seeing Elephants at any given time in the desert. Let's also assume that, 40% (P(E|H)=0.40) of the sources of Hydration in a desert also have an Elephant near, then the probability that a source of Hydration is near when we observe an Elephant is<br /><br />P(H|E) = P(E|H)*P(H)/P(E) = 0.40*0.01/0.005 = 0.8 = 80%<br /><br />So, when we see an Elephant out in the desert, our expectation that Hydration is nearby jumps to a whopping 80%. This makes sense, doesn't it? Its like saying that we expect to see a restaurant near a hotel or fire in proximity to smoke. Bayes theorem puts numbers to all of these types of intuitive guesses we make every day.<br /><br /><span style="font-weight: bold;font-size:130%;" >Advanced Bayes: The Negative Test</span><br /><br /><span style="font-size:85%;">Now we are going to rely a tiny bit more on math, so this is the Advanced section.</span><br /><br />To make Bayes's theorem more useful, we need to know how to use it when we get a negative test. First, let's define our Elephant test as "looking around for an Elephant", which we do every time we are thirsty. Let's imagine that we get thirsty and then look around for an Elephant but we don't see one, resulting in a negative test. How can we combine the results of this test with our prior knowledge to estimate our chances for finding Hydration nearby?<br /><br />Before we do this, we need to be able to define probabilities in terms of their complements. For example, the complement to one's seeing a source of Hydration is one's <span style="font-weight: bold;">not</span> seeing a source of Hydration. In terms of probabilities, the complement probability is one minus the probability. So, the Probability to <span style="font-weight: bold;">not</span> observe Hydration in the desert (denoted P(H')) is one minus the probability to observe Hydration in the desert:<br /><br />P(H') = 1 - P(H) = 1 - 0.01 = 0.99 = 99%<br /><br />If we see sources of Hydration in 1% of the places we stand in the desert, then we expect to <span style="font-weight: bold;">not</span> see sources of Hydration in the other 99% places we stand. The complement probability is just that simple.<br /><br />But what is the complement of a conditional probability, like P(E|H)? Remember that P(E|H) is the Probability of seeing an Elephant given that we have observed a source of Hydration. The complement would be the Probability of <span style="font-weight: bold;">not</span> seeing an Elephant given that we have observed a source of Hydration. This probability is simply:<br /><br />P(E'|H) = 1 - P(E|H) = 1 - 0.4 = 0.6 = 60%<br /><br />This says that since 40% of the sources of Hydration have Elephants around them, 60% won't--it's pretty straightforward.<br /><br />What about the probability of being near a source of Hydration given that we don't observe an Elephant (P(H|E'))? This is a bit more complicated, but mathematically we get:<br /><br /><span style="font-weight: bold;">P(H|E') = {P(H) - P(H)*P(E|H)}/{1 - P(E)}</span><br /><br />To help understand why this equation takes the form that it does, notice that the left side, P(H|E'), is the value we want to calculate and the right side is put into terms we already know: P(H), P(E|H), and P(E). To put it succinctly:<br /><br /><span style="font-style: italic;">This equation is the simplest equation that puts the value we want to calculate into terms we already know.</span><br /><br />This idea explains almost everything about the choices we make for the terms we put equations into.<br /><br />That equation is not terribly difficult to derive, but I'll press on to show how to use it and give a quick derivation at the end just for the curious (and for my own future reference).<br /><br />Now, lets pretend that we are in the desert and get thirsty, look around for an Elephant, and don't see one. What is our new Probability for observing Hydration nearby?<br /><br />P(H|E') = {0.01 - 0.01*0.4}/{1 - 0.005} = 0.006 = 0.6%<br /><br />So the our observation that we can't spot an Elephant drops our expectation of seeing a source of Hydration from a 1% prior probability to an 0.6% posterior probability. In other words, the effect on our estimation of the probability for the presence of Hydration is fairly minimal, mostly because we didn't really expect to see an Elephant in the desert anyway given how rare they are in general (more rare than even water).<br /><br />In my next posting, I'll go one step further and show how to use Bayes's theorem without our having any direct knowledge of how Probable Elephants are found in the desert (no direct knowledge of P(E)). This turns out to be a little more useful in the real world, as I hope to demonstrate soon.<br /><br /><span style="font-size:85%;">Here's that derivation I was talking about for the curious (notice I begin with a statement of Bayes's theorem with E' substituted for E):<br /><br />P(H|E') = P(E'|H)*P(H) / P(E')<br />P(H|E') = {1 - P(E|H)} * P(H) / P(E')<br /><span style="font-weight: bold;">P(H|E') = {P(H) - P(H)*P(E|H)} / {1 - P(E)}</span><br /><br />Though not used in the above derivation, of special note are the following identities which allows for an alternative derivation:<br /><br />P(x ∩ y) = P(x|y)*P(y) = P(y|x)*P(x)<br />P(</span><span style="font-size:85%;">x ∩ y') = P(x) - P</span><span style="font-size:85%;">(x ∩ y)</span><br /><span style="font-size:85%;"><br />Here's the alternative derivation (beginning with the first identity above):<br /><br />P(H|E') = P(H </span><span style="font-size:85%;">∩ E') / P(E')<br />P(H|E') = {P(H) - P(H </span><span style="font-size:85%;">∩ E)} / P(E')<br /></span><span style="font-size:85%;">P(H|E') = {P(H) - P(H)*P(E|H)</span><span style="font-size:85%;">} / P(E')<br /></span><span style="font-weight: bold;font-size:85%;" >P(H|E') = {P(H) - P(H)*P(E|H)</span><span style="font-weight: bold;font-size:85%;" >} / {1 - P(E)}</span>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com1tag:blogger.com,1999:blog-8383444675320480930.post-55470701223858281022007-11-16T02:54:00.000-08:002008-12-10T10:37:37.157-08:00The Sweet SpotI need to reevaluate my sanity for starting a blog entry at 3:00 am. But I have been promising a blog on my data mining of <a href="http://chess.emrald.net/">CTS</a> tactician stats. I've done a lot of calculations, but tonight I'll focus on my most provocative findings. In the following graph, rating is plotted against accuracy for two groups of tacticians: those who have done<span style="color: rgb(0, 0, 200);"> <span style="font-weight: bold;">between 1000 and 10,000 problems</span></span> (blue circles) and the those who have done <span style="color: rgb(200, 0, 0);"><span style="font-weight: bold;">over 10,000 problems</span></span> (red circles).<br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0n1u00TJCvPiIoMJUM_lBoyN64LxmpIZxWN1B2iDFJ4dtwQSAhO0UMPMPtvOp0S97DmgnHocfbOfP-tEbloQxTMQk5eBrykcAO-0id5M6tXIkbmuH7e2urxRNUPY12v070oiDDS7sIVxV/s1600-h/rva.png"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0n1u00TJCvPiIoMJUM_lBoyN64LxmpIZxWN1B2iDFJ4dtwQSAhO0UMPMPtvOp0S97DmgnHocfbOfP-tEbloQxTMQk5eBrykcAO-0id5M6tXIkbmuH7e2urxRNUPY12v070oiDDS7sIVxV/s400/rva.png" alt="" id="BLOGGER_PHOTO_ID_5133392907000387522" border="0" /></a><br /></div>The idea behind having two groups differing in number of problems attempted is that the red group is representative of tacticians who have done a lot of problems and the blue group is representative of tacticians who have done only a few. So, the way I interpret this plot is that solving at just above 80% accuracy gives one the greatest score improvement over time. Interestingly, this interpretation is consistent with observations made by <a href="http://chess.emrald.net/tProfile.php?TacID=516">wormwood</a> on the <a href="http://chess.emrald.net/board.php">Message Board</a> several months ago. His observations led me to <a href="http://chess.emrald.net/tProfile.php?TacID=7374">experiment with accuracy</a>, though I have taken it somewhat to an extreme--working for 98% lately, but achieving just over 96% in actuality.<br /><br />I should note a couple of caveats about this graph. First, the two red points on the extremes (97.5% bin and 52.5% bin) should be more-or-less ignored because too few tacticians fall into these bins to give reliable statistics. Second, the error bars do not necessarily represent uncertainty about the actual rating of the group. These "errors" arise from the natural score distribution of the groups and their magnitudes are related to the robustness of the statistics and not related to their uncertainty. I have yet to perform proper error analysis on these numbers, but my feeling is that the numbers are robust.<br /><br />One conclusion from the above graph may be that solving problems at greater than 90% accuracy results in little progress, given the information in the 92.5% bin. Its difficult at this point for me to argue with that conclusion. And anyone who has taken a gander at the message board lately will know I am eating my words right now.<br /><br />But, despite the obvious conclusions one might make from the above graph, my belief is still quite the contrary. <span style="font-style: italic;">I believe that tacticians solving at greater than 90% accuracy are getting much more out of their training than tacticians solving at less than 90% accuracy</span>. Difficult (and perhaps embarrassing) for me, however, is that this benefit is not revealed by analysis of rating alone as I have done thus far. So I am still short of proof on my theory.LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com6tag:blogger.com,1999:blog-8383444675320480930.post-45453354945086602212007-11-11T02:11:00.000-08:002007-11-11T03:34:37.816-08:00The Glicko SystemBy now, it would probably be of little surprise to anyone who has been keeping up with this blog that a key point of discussion has been the interplay of accuracy and <a href="http://math.bu.edu/people/mg/glicko/glicko.doc/glicko.html">Glicko rating</a> on the <a href="http://chess.emrald.net/">CTS</a>. I introduced this topic <a href="http://chessvortex.blogspot.com/2007/10/introduction-to-chess-vortex.html">a few postings ago</a>. Since then, I have spent some time carefully studying <a href="http://math.bu.edu/people/mg/">Professor Glickman</a>'s <a href="http://math.bu.edu/people/mg/papers/glicko.pdf">original publication on his rating system</a>, and, though I have yet to complete my analysis of his paper, I am coming to the conclusion that the Glicko system is ill-suited to rate tacticians by the time they spend to solve problems. Several reasons exist, but the most fundamental is that the Glicko system rates players based on three possible outcomes: win, loss, and draw. The CTS attempts to approximate these outcomes by using a time component to create <a href="http://chess.emrald.net/time.php">fractional wins and losses</a>, just as the Glicko system estimates a draw as half a win and half a loss. At first glance, this time-based approximation seems reasonable. However, at times > 30 sec, the CTS method does not distinguish between correctly solving a problem and failing it outright. But, as anyone who has attempted greater than 70% accuracy on CTS can attest, correctly solving a problem after 30 seconds and failing it outright are two fundamentally different phenomena. To accurately rate players solving problems, a rating system should therefore treat these two phenomena differently.<br /><br />Bear in mind, however, that the Glicko system <span style="font-weight: bold; font-style: italic;">is</span> suitable for what it was designed, namely to rate players who compete in head-to-head competitions, like chess tournaments.<br /><br />Strangely enough, though, the Glicko system seems also to satisfactorily rate the <span style="font-style: italic;">problems</span>. (I will discuss why in the near future.) A cursory inspection of the rating distributions of the <a href="http://chess.emrald.net/ctsProbHome.php">problems</a> and the <a href="http://chess.emrald.net/ctsTactHome.php">tacticians</a> reveals that the problems have a nearly Gaussian (normal) distribution across all rating categories while the rating distribution of the tacticians shows significant skew towards the lower ratings. Thus, the shape of the rating distribution peaks suggests that the CTS method rates problems accurately but not tacticians. While I have not confirmed the source of this skew yet, my theory right now is that the excess of tacticians below 1500 arises from a natural tendency in tacticians to work with accuracy in mind, lowering their ratings in general and skewing the distribution.LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com2tag:blogger.com,1999:blog-8383444675320480930.post-31068645280186520372007-11-10T01:09:00.000-08:002008-12-10T10:37:37.882-08:00On Perfection<div style="font-size: 130%; font-weight: bold;">Prelude: Focus on the Tactics</div><br />I blogged Chess Vortex for over a week pretty intensely and completely ran myself down, getting far too little sleep for my own good. I did learn a lot from the experience and gleaned excellent comments from fellow tacticians. However, I spent about five days traveling and experienced a mental crash of sorts, manifesting itself most noticeably on 11/6/07 as a 42p/5f day (89.36%). It has taken me a few days to get back on track. I have focused on sleep primarily and on re-training my thought processes for careful problem solving. Tonight I reaped the rewards--after over 100 sessions training for accuracy and almost 15,000 problems, I finally had a perfect 100 problem session:<br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoh72aUBifDFcxPd9AzYnR2T32rH6KvNcVjaZkn6xcjU2apnUw2dLkj4fYzu1j6d6iQCTDKkyEI-ishStgexLEQOo9iDa_VDi8pWcKhNS6ljGIqoUt00-xYSW0Pl_xk1xeoZ7QF3tSzicq/s1600-h/20071110-session.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoh72aUBifDFcxPd9AzYnR2T32rH6KvNcVjaZkn6xcjU2apnUw2dLkj4fYzu1j6d6iQCTDKkyEI-ishStgexLEQOo9iDa_VDi8pWcKhNS6ljGIqoUt00-xYSW0Pl_xk1xeoZ7QF3tSzicq/s400/20071110-session.jpg" alt="" id="BLOGGER_PHOTO_ID_5131140030443495378" border="0" /></a><br />100p<br />100% @ 1394 ± 104 ; 1371<br /></div><br /><div style="text-align: left;"><br />Of course I hemorrhaged a few points at the end of the session, but the last 50 problems of any session are always more difficult than the first 50, mostly because of fatigue. Moreover, tonight I was dropping points at the expense of perfection because I felt like I could get that 100p/0f.<br /></div><br />So what's the moral of this story? <span style="font-weight: bold;">Focus on solving chess problems first!</span> Killing one's self blogging does not get chess problems solved correctly, so my new resolution is to blog only when it will not tire me for chess problem solving.<br /><br /><div style="font-weight: bold; font-size: 130%;">More Fun with Binomials</div><br />Because of my perfect session, I'm going to have a little fun using <a href="http://faculty.vassar.edu/lowry/binomialX.html">VassarStats</a> to get a rough idea of what tonight's performance means in terms of my accuracy as a 1394 ± 104 Tactician:<br /><div style="text-align: center;"><br /><table><tbody><tr style="font-weight: bold;"><td>If I am a...</td><td>Probability of 100 Correct</td></tr><tr><td>99.5% Tactician</td><td>0.606</td></tr><tr><td>99% Tactician</td><td>0.366</td></tr><tr><td>98% Tactician</td><td>0.133</td></tr><tr><td>96% Tactician</td><td>0.017</td></tr></tbody></table></div><br />So this table means that there is over a 98% chance that I am at least a 96% Tactician for problems rated 1394 ± 104. I guess I can live with that.<br /><br /><div style="font-weight: bold; font-size: 130%;">Conclusion</div><br />Given that my focus on sleep has helped my tactical vision, it should come as no surprise that I saw a lot deeper into my problems today than I usually do. This was an intensely rewarding experience and, in my opinion, is reason enough to focus exclusively on accuracy. A lot of my point loss tonight actually came from my looking at alternative lines. Mostly, I saw the main line immediately, which is not entirely remarkable given that my problem set tonight was rated less than 1400 on average. However, most of the pleasure was in the variations--and tonight the problem of the day has its beauty buried in the notes:<br /><br /><div style="font-weight: bold; text-align: center;">Chess Tactics Server Problem of the Day<br /><a href="http://chess.emrald.net/probprofile.php?PosRand=58952">p58952</a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcCGgs5I_aA_puR92HtanAkMz7wdzQ5aCB_7YRL1HgxtT5EKB69cyCpPpNuQd6M4UnTZ8555K_VG_hhfNRgniD1N7xvxV2o-qGEFcGtss-Y_VD9veu_xl_gPYok8y5z4GIpIRmN91nj9qV/s1600-h/p58952.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcCGgs5I_aA_puR92HtanAkMz7wdzQ5aCB_7YRL1HgxtT5EKB69cyCpPpNuQd6M4UnTZ8555K_VG_hhfNRgniD1N7xvxV2o-qGEFcGtss-Y_VD9veu_xl_gPYok8y5z4GIpIRmN91nj9qV/s320/p58952.jpg" alt="" id="BLOGGER_PHOTO_ID_5131158258284699618" border="0" /></a><br />Black to Move<br /></div><br /><span style="font-size:100%;">Here's the solution and why I like it (start selecting text following the colon): <span style="color: rgb(255, 255, 255);">2...Bxg2. Now 3.Kxg2? leads to a problem-like mating net that can be difficult to see: 3...Qh2+ 4. Kf3 Qh3++.</span><br /></span>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com4tag:blogger.com,1999:blog-8383444675320480930.post-5193323813423156622007-10-31T02:34:00.000-07:002008-12-10T10:37:38.044-08:00Tactics Training as ProbabilitiesTonight, I want to discuss a probabilistic perspective on the problem solving session. For this analysis, I'm going to model a tactical session as a <span style="font-style: italic;">binomial sampling</span> phenomenon.<br /><br />First, what is a <span style="font-style: italic;">binomial sampling</span>? This question is best answered using the real-world example of a series of coin tosses. Were we to toss a coin several times and record the result at each toss, we would have a binomial sampling of heads and tails--its that simple. Tactical sessions follow the same model because each problem attempted by the tactician has one of two outcomes: pass or fail. Fortunately, the mathematics behind the probabilities of a <span style="font-style: italic;">binomial distribution</span> are <a href="http://en.wikipedia.org/wiki/Binomial_probability">well established</a>, so I won't review them here. But I will calculate probabilities using the binomial probabilities calculator available at <a href="http://faculty.vassar.edu/lowry/binomialX.html">VassarStats</a>.<br /><br />The following table shows the <span style="font-style: italic;">Probability</span> that a <span style="font-style: italic;">Tactician</span> with given a accuracy will solve <span style="font-style: italic;">at least</span> a given number of problems <span style="font-style: italic;">Correct</span> in a given number of <span style="font-style: italic;">Tries</span>.<br /><table style="text-align: left; margin-left: auto; margin-right: auto;" cellspacing="3"><tbody><tr><td style="font-weight: bold; text-align: center;">Tactician With<br />Accuracy<br /></td><td style="font-weight: bold; text-align: center;">Tries</td><td style="font-weight: bold; text-align: center;">Number<br />Correct</td><td style="font-weight: bold; text-align: center;">Probability</td></tr><tr><td style="text-align: center;">98%</td><td style="text-align: center;">100</td><td style="text-align: center;">98 (98%)</td><td style="text-align: center;">0.67669</td></tr><tr><td style="text-align: center;">98%</td><td style="text-align: center;">100</td><td style="text-align: center;">99 (99%)</td><td style="text-align: center;">0.40327</td></tr><tr><td style="text-align: center;">99%</td><td style="text-align: center;">100</td><td style="text-align: center;">98 (98%)</td><td style="text-align: center;">0.92063</td></tr><tr><td style="text-align: center;">99%</td><td style="text-align: center;">100</td><td style="text-align: center;">99 (99%)</td><td style="text-align: center;">0.73576</td></tr><tr><td style="text-align: center;">98%</td><td style="text-align: center;">200</td><td style="text-align: center;">196 (98%)</td><td style="text-align: center;">0.62884</td></tr><tr><td style="text-align: center;">98%</td><td style="text-align: center;">200</td><td style="text-align: center;">198 (99%)</td><td style="text-align: center;">0.23515</td></tr><tr><td style="text-align: center;">99%</td><td style="text-align: center;">200</td><td style="text-align: center;">196 (98%)</td><td style="text-align: center;">0.94825</td></tr><tr><td style="text-align: center;">99%</td><td style="text-align: center;">200</td><td style="text-align: center;">198 (99%)</td><td style="text-align: center;">0.67668</td></tr><tr><td style="text-align: center;">98%</td><td style="text-align: center;">1000</td><td style="text-align: center;">990 (99%)</td><td style="text-align: center;">0.01023</td></tr><tr><td style="text-align: center;">99%</td><td style="text-align: center;">1000</td><td style="text-align: center;">990 (99%)</td><td style="text-align: center;">0.58304</td></tr><!-- --></tbody></table><br />Lets first consider the likelihood for a 98% tactician to "accidentally" get 99 problems out of 100 on some arbitrary set of 100 problems he might encounter in a normal training session: 40% (0.40327). Now, consider the likelihood that this 98% tactician will get 198 right out of 200: 23.5%. So the 98% tactician will look like a 99% tactician on over 40% of his stretches of 100 problems and more than 23% of his stretches of 200 problems!<br /><br />Lets compare a 198/200 performance to our expectations for a <span style="font-style: italic;">true</span> 99% tactician: 67.7%. So a true 99% tactician will look like a 99% tactician on more than 2/3 of his stretches of 200 problems.<br /><br />So what do all of these numbers mean? In short, these probabilities say that 200 problems are insufficient to confidently distinguish a 99% tactician from a 98% tactician. Only at very high numbers of problems can these two tacticians be distinguished with good certainty. In the example above, a 98% tactician has only about a 1% chance to get at least 990 of 1000 problems correct while a 99% tactician has significantly better than an even chance (58.3%).<br /><br />So, what is the bottom line of this analysis when thinking of our own accuracy statistics? Well, one must do <span style="font-style: italic;">a lot</span> of problems of at least a given accuracy before he can be certain that he is actually a tactician of that accuracy!<br /><br />With this in mind, I present my performance today at the <a href="http://chess.emrald.net/">CTS</a>. I wish I would have warmed up--three misses before number 30.<br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIOMROwrEBkKlwbkNX4Uh7EN53FokOLED31FQw7lkclAQGL1if-7w_eJYL4b4vV5WpjtWK3Up7Ngh0xGnFH4tTg3L7s_jze8imCWkJJiEPKSJ8UrCvw3XjL6zgFlT6WjFGu5KMl1hxhN0V/s1600-h/20071031-session.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIOMROwrEBkKlwbkNX4Uh7EN53FokOLED31FQw7lkclAQGL1if-7w_eJYL4b4vV5WpjtWK3Up7Ngh0xGnFH4tTg3L7s_jze8imCWkJJiEPKSJ8UrCvw3XjL6zgFlT6WjFGu5KMl1hxhN0V/s400/20071031-session.jpg" alt="" id="BLOGGER_PHOTO_ID_5127449785690398514" border="0" /></a><br />4p-<span style="color: rgb(255, 0, 0);">1f</span>-12p-<span style="color: rgb(255, 0, 0);">1f</span>-8p-<span style="color: rgb(255, 0, 0);">1f</span>-73p<br />97% @ 1395 ± 90 ; 1383 final<br /></div>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com1tag:blogger.com,1999:blog-8383444675320480930.post-87878915532371661492007-10-30T02:09:00.000-07:002008-12-10T10:37:38.343-08:00The CTS Training ParametersYesterday, I finished discussing the topic of <a href="http://chessvortex.blogspot.com/2007/10/introduction-to-chess-vortex.html">Accuracy Versus Strength</a> by alluding to <span style="font-style: italic;">training parameters</span>. Today I will begin to identify these parameters and hopefully unambiguously define them. To introduce the importance of this topic, I borrow from <a href="http://chess.emrald.net/tProfile.php?TacID=11191">waaek</a>'s comment to yesterday's post:<br /><blockquote>...people use CTS in different ways and for their own purposes. I personally use CTS as [a] source of tactical training puzzles to train my analysis ability. My goal is to improve the accuracy, and over time, speed, of my analysis. Accuracy at this point is by far the #1 concern for me.</blockquote>The notion of "using" CTS covers not only one's goals but also one's approach to training. But how are we to know the efficacy of our training methods? I propose that the first step is to identify quantitatively the components of those training methods and to give them concrete definitions.<br /><br /><span style="font-style: italic; font-weight: bold;">Rating</span><br />A tactician's rating, or more accurately his <a href="http://math.bu.edu/people/mg/glicko/glicko.doc/glicko.html">Glicko rating</a>, is a bottom-line measurement of his strength as a tactician. Several assumptions are used by the Glicko rating system but the most critical (and perhaps most fallacious) assumption is that a tactician will use rating and rating alone as his sole indicator of progress. As discussed yesterday and as evidenced by comments like <a href="http://chess.emrald.net/tProfile.php?TacID=11191">waaek</a>'s, this assumption is categorically wrong most of the time. The truth of the matter is that different tacticians are comfortable with different training methods and these methods directly impact their rating.<br /><br /><span style="font-style: italic; font-weight: bold;">Accuracy Rate</span><br />Most CTS tacticians are familiar with their accuracy as an aggregate statistic that summarizes their total passes and total fails for all problems solved at CTS. However, because training habits change over time, using the aggregate accuracy of a tactician to measure his tactical strength can be misleading. Instead, I propose the concept of <span style="font-style: italic;">accuracy rate</span>, which measures a tactician's accuracy over a certain number of problems. For example, during my last 500 problems I have missed ("failed") nine problems and solved correctly ("passed") 491, giving me an accuracy 98.2% for these 500 problems. So an <span style="font-style: italic;">accuracy rate</span> must combine both the accuracy and the number of problems solved at that accuracy. Here is the formula I propose to calculate <span style="font-style: italic;">accuracy rate</span> (see below for a mathematical explanation):<blockquote style="font-style: italic;">-N * log(1 - A)</blockquote>Here, <span style="font-style: italic;">A</span> is the accuracy of a tactician over number of problems <span style="font-style: italic;">N</span>.<br /><br />Let's see how this definition behaves when comparing some hypothetical problem runs:<br /><br /><table style="text-align: left; margin-left: auto; margin-right: auto;" cellspacing="3"><tbody><tr><td>Number Solved</td><td>Accuracy</td><td>Accuracy Rate</td></tr><tr><td>500</td><td>0.982</td><td>2008.69</td></tr><tr><td>100</td><td>0.98</td><td>160.94</td></tr><tr><td>200</td><td>0.98</td><td>321.89</td></tr><tr><td>100</td><td>0.99</td><td>230.26</td></tr><tr><td>200</td><td>0.99</td><td>460.52</td></tr></tbody></table><br />So, were one to interpret <span style="font-style: italic;">accuracy rate</span> (rather loosely) as solving power, the <span style="font-style: italic;">accuracy rate</span> suggests that solving 200 problems at 99% accuracy takes much more solving power than solving 100 problems of equivalent difficulty at 98% accuracy.<br /><br />I am open to alternative proposals for a metric to quantify <span style="font-style: italic;">accuracy rate</span>. Please submit comments if you have any suggestions.<br /><br />I have several more training parameters to define, but its getting late, so I'll finish with my performance today followed by a mathematical explanation of <span style="font-style: italic;">accuracy rate</span> for the curious.<br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsRsqtCRBR8RdW8ttvuAYGnlVkn1w65Rq-3arSWXi_F67jWb_8SZB3kgPWCtNyLMFpRGKTPG2yPMmtw6EPG_uRiKXzOkd3Y7sYjIMltK_ul89GaE89dAOYTE8917uylwyrV1a6_W06QDsc/s1600-h/20071030-session.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsRsqtCRBR8RdW8ttvuAYGnlVkn1w65Rq-3arSWXi_F67jWb_8SZB3kgPWCtNyLMFpRGKTPG2yPMmtw6EPG_uRiKXzOkd3Y7sYjIMltK_ul89GaE89dAOYTE8917uylwyrV1a6_W06QDsc/s400/20071030-session.jpg" alt="" id="BLOGGER_PHOTO_ID_5127083837296910114" border="0" /></a><br />40p-<span style="color: rgb(255, 0, 0);">1f</span>-59p<br />99% @ 1410 ± 89 ; 1383 final<br /></div><br /><span style="font-style: italic; font-weight: bold;">An Explanation of Accuracy Rate</span><br />To combine accuracy and problems solved to create an <span style="font-style: italic;">accuracy rate</span>, I propose borrowing from a common technique used to multiply probabilities, which makes use of this property of logarithms:<br /><blockquote>log(p1 * p2) = log(p1) + log(p2)</blockquote>The idea is that, the higher a tacticians accuracy, the less likely that his answers arise from chance. So the combination I propose is <blockquote style="font-style: italic;">-N * log(1-A)</blockquote>where <span style="font-style: italic;">A</span> is the accuracy of a tactician over number of problems <span style="font-style: italic;">N</span>. Subtracting A from 1 comes from the fact that a higher accuracy means a <span style="font-style: italic;">lower</span> likelihood of guessing. Taking the negative of the product is a simple way of making the score a positive number because the log of a fraction is negative. Multiplying <span style="font-style: italic;">N</span> and <span style="font-style: italic;">A</span> comes from the following property of logarithms:<blockquote>log(X<sup>Y</sup>) = Y * log(X)</blockquote>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com4tag:blogger.com,1999:blog-8383444675320480930.post-55437610287491466232007-10-29T00:10:00.000-07:002008-12-10T10:37:38.604-08:00Introduction to Chess VortexIn the next few days, I'm going to back up and discuss some of the issues that led me to create the Chess Vortex Blog and corresponding Chess Vortex Project. I will then discuss in general terms how the Chess Vortex Project might approach addressing these issues in a scientific way. And finally, I will discuss the motivation behind making Chess Vortex a community project, what it means for Chess Vortex to be a community project, and how I will attempt to act as an agent of the community to create the "products" unique to Chess Vortex.<br /><br />My hope is that these Chess Vortex "products", as I am calling them, will be three-fold in nature. First, I imagine a new set of representational tools to help evaluate graphically, or via other media, human interaction with tactical problems. Second, I imagine a set of mathematical tools to analyze behavior and the cognitive process of solving tactical problems. And third, I imagine that Chess Vortex will yield--as its most valuable product--new knowledge that leads to a deeper understanding of these cognitive processes.<br /><br />So first lets begin with the fundamental issues. Today the issue will be...<br /><br /><span style="font-weight: bold;">Accuracy Versus Rating</span><br />Probably the most controversial topic on the <a href="http://chess.emrald.net/board.php">CTS Message Board</a> is the nature of tactical strength (aka problem-solving strength). This controversy arises from the observation that one's accuracy (number of problems correct per number attempted) can be sacrificed for <a href="http://math.bu.edu/people/mg/glicko/glicko2.doc/example.html">Glicko rating</a> and vice-versa. As a result, the Glicko rating assigned by the <a href="http://chess.emrald.net/">CTS</a> has a duplicitous nature and, like all things duplicitous, can only be trusted if taken in proper context. The context for the Glicko rating, therefore, is not merely one's <a href="http://chess.emrald.net/ratinginfo.php">Rating Deviation</a> (RD), which is explicitly included as a parameter in the system, but also one's accuracy. The inherent difficulty in assessing the accuracy, however, is that it is not formally part of the Glicko rating system and thus its weighting in one's rating is not easily determined. One goal of the Chess Vortex Project is to determine this weighting using robust mathematical analysis. The idea would be to create a scale that incorporates Glicko rating, RD, and accuracy to dependably compare the tactical strength of any two tacticians. Moreover, and decidedly more importantly, the hope is to be able to compare the<span style="font-style: italic;"> improvement</span> of tacticians who train at differing <span style="font-style: italic;">accuracy rates</span> (time-averaged accuracy) to determine the optimal training parameters for developing tactical strength.<br /><br />I am not finished with this issue by any stretch of the imagination, but I promised myself some sleep tonight (for a change), and so now I present my CTS performance today--somewhat for purposes of <a href="http://chess.emrald.net/tProfile.php?TacID=7374">vanity</a>, but mostly to show off the Chess Vortex community's first (albeit a work in progress) product--the <a href="http://chessvortex.blogspot.com/2007/10/visual-display-of-problem-session.html">Session Graph</a>:<br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuwhyLZTyEga6TW_XGYP61kxVfgmPFOrwMLq9hW6yCNV0FlrM0o4mXL5U2YbkaKvb2Z3HTyMKMi12mOSZQ9dq7QdX2XsFR5WNq4r8VfT1MzaUdoCRLyUE1oG5tXSOaw1xIl3QRqkPcqqkf/s1600-h/20071029-session.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuwhyLZTyEga6TW_XGYP61kxVfgmPFOrwMLq9hW6yCNV0FlrM0o4mXL5U2YbkaKvb2Z3HTyMKMi12mOSZQ9dq7QdX2XsFR5WNq4r8VfT1MzaUdoCRLyUE1oG5tXSOaw1xIl3QRqkPcqqkf/s400/20071029-session.jpg" alt="" id="BLOGGER_PHOTO_ID_5126698501421047554" border="0" /></a><br /><span style="font-family:times new roman;">27p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-72p</span> <span style="font-family:times new roman;">99% @ 1405 ± 96 ; 1393 final</span><br /></div><br />And now, before I forget, I happily present the<br /><br /><div style="text-align: center;"><span style="font-weight: bold;">Chess Tactics Server Problem of the Day</span><br /><a href="http://chess.emrald.net/probprofile.php?PosRand=01056">p01056</a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglM669iqWBabyTmF8oCPCjbpErTNxaJdMzzaSlJ1SHb6gSkfUzGF-yquCRgdoMz-fBbn0cUUdCXG0IvcJdpF8LkINO9X6ArW6zovLLuvWVnt26MG6eaJNW8EE_-fgFVEoRdvVZRJFUCXHX/s1600-h/p01056.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglM669iqWBabyTmF8oCPCjbpErTNxaJdMzzaSlJ1SHb6gSkfUzGF-yquCRgdoMz-fBbn0cUUdCXG0IvcJdpF8LkINO9X6ArW6zovLLuvWVnt26MG6eaJNW8EE_-fgFVEoRdvVZRJFUCXHX/s320/p01056.jpg" alt="" id="BLOGGER_PHOTO_ID_5126700283832475410" border="0" /></a><br /><span style="font-weight: bold;">Black to Move</span></div><br /><span style="font-size:100%;">Here's the solution and why I like it (start selecting text following the colon): <span style="color: rgb(255, 255, 255);">1...Nh3+. Now if </span></span><span style="color: rgb(255, 255, 255);"> 2.gxh3, then its mate in three: 2...Qh4+ 3.Ke2 Rg2+ 4.Rf2 Qxf2++.</span>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com5tag:blogger.com,1999:blog-8383444675320480930.post-33599560680307905002007-10-27T23:10:00.000-07:002008-12-10T10:37:39.254-08:00Undulations of Chess ConsciousnessI begin with a summary of my efforts today, in order to provide a context for our topic:<br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2s0hy7pQn3nOLEF8uliabAgdAMr7VMCBJBOoEfg0MO4B0bG71OvPkP62ab6rlk62PpyXtyX-2SeMyE09JlfeGNSUPyh0TL_ninC99I1i12-3ue_f4T1XcTEYwYNmX9neMNST5_DPMFCun/s1600-h/20071028-session.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2s0hy7pQn3nOLEF8uliabAgdAMr7VMCBJBOoEfg0MO4B0bG71OvPkP62ab6rlk62PpyXtyX-2SeMyE09JlfeGNSUPyh0TL_ninC99I1i12-3ue_f4T1XcTEYwYNmX9neMNST5_DPMFCun/s400/20071028-session.jpg" alt="" id="BLOGGER_PHOTO_ID_5126323555071073970" border="0" /></a><br /><span style="font-family:times new roman;">7p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-25p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-27p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-12p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-25p</span><br /><span style="font-family:times new roman;">96% @ 1353 ± 81; 1403 final</span><br /></div><br />Unfortunately, I dipped from my target of 98%--I'm blaming it on a general shortage of sleep this week and some pretty intense Saturday blitz earlier today. I went 3-3-0 with my latest OTB nemesis (let's call him Chernobyl Grunvasser). Chernobyl is a blitz fanatic, and that's all we play when we get together. I am basically just learning how to play blitz so today was a first indication that I am getting better at it. Usually my sessions with him are skewed significantly in his favor.<br /><br /><span style="font-weight: bold; color: rgb(0, 0, 0);">Digression on the Performance Graph</span><br />Before I get started on the actual topic of the day, I would like to say that <a href="http://chess.emrald.net/tProfile.php?TacID=5316">Loomis</a>'s suggestion to get rid of the annoying outlines around the bars in the <span style="font-style: italic;">Performance Graph</span> make all of the difference in the world. At this point, I'm thinking of using color (or shading) to represent the rating of the problem relative to the tactician's rating--perhaps using a blue-cyan-yellow, blue-cyan-magenta, even a cyan-white-orange gradient. I'm not sure which yet, and I'll probably do a little experimentation with it. This will put into use <a href="http://chess.emrald.net/tProfile.php?TacID=516">wormwood</a>'s excellent suggestion to use shading to increase the information dimensionality. I am probably not going to attempt to capture the cumulative rating change in the representation, as I am not sure of the utility of representing this change for my purposes--which will become clearer in the future. I decided to keep time on the X-axis because it seems very natural. In fact, if one looks at my performance graph tonight, he will likely notice, above all, variations in my time management.<br /><br />In particular, I solved some clusters of problems much quicker than the others. The most prominent such cluster preceded one of my four fails for the evening (<a href="http://chess.emrald.net/probprofile.php?PosRand=50383">p50383</a>). Recently, <a href="http://chess.emrald.net/tProfile.php?TacID=11191">waaek</a> has described bouts of fogginess when working problems or when playing over the board. For high accuracy players such as <a href="http://chess.emrald.net/tProfile.php?TacID=11191">waaek</a>, <a href="http://chess.emrald.net/tProfile.php?TacID=7374">me</a> (lately), or <a href="http://chess.emrald.net/tProfile.php?TacID=6050">dogwaste</a> (aka <a href="http://chess.emrald.net/tProfile.php?TacID=3133">dktransform</a>), I think that these mental lapses are reflected in a shorter decision process. In fact, inspecting <a href="http://chess.emrald.net/tProfile.php?TacID=3133">dktransform</a>'s latest actions, I notice a similar pattern. He has 2 fails of 20 problems shown and the first fail came after a run of 4 problems with an average time solved of 5.25 seconds, though the average of this 20 was almost twice that at 10.3 seconds. And I'm guessing that his typical average time is probably significantly greater than 10.3 and that he had gone to his mental capacity for this particular session. (I would have made a performance graph of <a href="http://chess.emrald.net/tProfile.php?TacID=3133">dktransform</a>'s latest actions, but I have yet to write a parser for the "Latest Actions" page.)<br /><br />These observations lead me to conjecture that the key to accurate chess is to habitually reign in the natural mental tendency to short-circuit the analytical process (<span style="font-style: italic;">i.e.</span> guess). Such guessing is likely a useful biological adaptation, but is not best practice in the mathematically precise realm of the chess board. Cultivating a complete analytical habit becomes even more difficult with fatigue, and, barring a dogmatic yet virtuous pursuit of one's personal throughput goals, it is best to simply know when to stop solving for the evening.<br /><br />And now, I happily present the<br /><br /><div style="text-align: center;"><span style="font-size:130%;"><span style="font-weight: bold;"><span style="font-size:100%;">Chess Tactics Server Problem of the Day</span><br /></span><a href="http://chess.emrald.net/probprofile.php?PosRand=19052">p19052</a><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiJRzJzZUkJc3JRca1YloFSX61Ya5iqzqgfzRkYTIAbFzMgpkc6J2Ug12gtLE3IqC9W8krPdrVOZcWo4vlS9vdXWuhxtaRii5jBY7ztOxOskDDNrUkG9szYnXPqGXbw0piKUSE4u_ivUlo/s1600-h/p19052.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiJRzJzZUkJc3JRca1YloFSX61Ya5iqzqgfzRkYTIAbFzMgpkc6J2Ug12gtLE3IqC9W8krPdrVOZcWo4vlS9vdXWuhxtaRii5jBY7ztOxOskDDNrUkG9szYnXPqGXbw0piKUSE4u_ivUlo/s320/p19052.jpg" alt="" id="BLOGGER_PHOTO_ID_5126353340669271794" border="0" /></a><br /><span style="font-weight: bold;">White to Move</span><span style="font-size:100%;"><br /><br /></span><div style="text-align: left;"><span style="font-size:100%;">Here's the solution and why I like it (start selecting text following the colon): </span><span style="color: rgb(255, 255, 255);">2.Nc6 is forcing because it attacks the black Queen, so its easy to guess. Bu<span style="color: rgb(255, 255, 255);">t its beauty is White's threat of mate in 6 if Black simpl</span>y recaptures: 2...bxc6 3.Qa6+ Kb8 4.Bxa7+ Ka8 5.Bb6+ Kb8 6.Qa7+ Kc8 7.Qa8++.</span><br /></div></div>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com2tag:blogger.com,1999:blog-8383444675320480930.post-33989952987593746312007-10-27T02:51:00.000-07:002008-12-10T10:37:39.640-08:00Visual Representation II<span style="font-weight: bold;">Part I: The Drawbacks of Run-length Encoding</span><span><br /><a href="http://chess.emrald.net/tProfile.php?TacID=516">Wormwood</a> has been adamant about the virtues of <a href="http://en.wikipedia.org/wiki/Run_length_encoding">run-length encoding</a> to represent a problem session (<span style="font-style: italic;">e.g.</span> 37p-<span style="color: rgb(255, 0, 0);">1f</span>-36p-<span style="color: rgb(255, 0, 0);">1f</span>-25p, as discussed <a href="http://chessvortex.blogspot.com/2007/10/visual-display-of-problem-session.html">a couple of nights ago</a>). However, the examples I have shown previously have been drawn from <a href="http://chess.emrald.net/tProfile.php?TacID=7374">my recent high accuracy efforts</a> and so look good when represented with run-length encoding. My opinion is that the practicality of run-length encoding to represent a session breaks down for sessions of significantly lower accuracy. Here is a real example on the far end of the spectrum (my efforts on 2/13/07):<br /><br /><span style="font-size:85%;"><span style="font-family:times new roman;">3p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >3f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-8p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-8p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span><br /></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >3f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-</span><br /><span style="font-family:times new roman;">1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-3p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-6p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-3p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-3p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-15p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >4f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span><br /></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-3p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >3f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-3p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-11p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >5f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-</span><br /><span style="font-family:times new roman;">4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >5f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-4p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >3f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-5p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >3f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-5p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-7p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span><br /></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >4f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-6p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-5p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >2f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-1p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-2p-</span></span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:85%;" >1f</span><span style="font-size:85%;"><span style="font-family:times new roman;">-5p</span></span><br /></span><span style="font-size:100%;"><br />This session was 197/309 (64% @ 1506 ± 90 ; 1476 final). As anyone can plainly observe, run-length encoding is not as advantageous in conveying the gestalt of a session when the accuracy drops. Furthermore, I would argue that a purely graphical (non-textual) representation would be more helpful, as I intend to show below.</span><br /><br /><span style="font-weight: bold;">Part II: A Second Round of Graphical Representation</span><br /><span>After staring for some time at <a href="http://chessvortex.blogspot.com/2007/10/visual-represention-i.html">last night's attempt</a> at a representation scheme, I arrived at the same conclusion as <a href="http://chess.emrald.net/tProfile.php?TacID=5316">Loomis</a> that the time weighting on the X-axis made it appear that more points were being lost by the tactician than really are. Aside from being misleading, I felt that this was intensely unfair to the hard working tactician. Tonight I attempt to fix that particular shortcoming by spacing the problems by time (actually log base 2.73 time), but keeping the bars at unit width. First, here is tonight's session (click to see full-size image):</span><br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4iYXl2rvA8QCuOsayzGE0NhHgN87ReQ61zOI2oZBzGCNenN6uvuryP2rfgU1v5HJZWCXbKTtY0Gv4spLNn4uM2m5sj6B_hx813J2SISj9moLFX-a_F9Oog4hWe9tCWJXBieL6MDI2GGg3/s1600-h/20071027-session.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4iYXl2rvA8QCuOsayzGE0NhHgN87ReQ61zOI2oZBzGCNenN6uvuryP2rfgU1v5HJZWCXbKTtY0Gv4spLNn4uM2m5sj6B_hx813J2SISj9moLFX-a_F9Oog4hWe9tCWJXBieL6MDI2GGg3/s400/20071027-session.jpg" alt="" id="BLOGGER_PHOTO_ID_5125977548210740866" border="0" /></a><br /><span style="font-family:times new roman;">37p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-36p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-25p<br />98% @ 1419 ± 92 ; 1399 final</span></div><br /><span>And here is the same type of representation for the 2/13/07 session discussed above (you will definitely want to click for the full-size image):</span><br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4HA8dAO1rdxUQyjMPHAcLETpvcMR08Vs22IfAT7FUxkQ5biDe4lYwRRRz-r6TVQrNoZgUbtI5DId3otcert2dyUDNwdf1WMZcQHTCUk031Pk7slqkUHu9znXsR5ej6lD4XVRvXgdl1LIk/s1600-h/20070213-session.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4HA8dAO1rdxUQyjMPHAcLETpvcMR08Vs22IfAT7FUxkQ5biDe4lYwRRRz-r6TVQrNoZgUbtI5DId3otcert2dyUDNwdf1WMZcQHTCUk031Pk7slqkUHu9znXsR5ej6lD4XVRvXgdl1LIk/s400/20070213-session.jpg" alt="" id="BLOGGER_PHOTO_ID_5125978767981452962" border="0" /></a><br /><br /><div style="text-align: left;"><span>If you open both full-size images simultaneously, you will be able to make direct comparisons. The differences in success rate, time for the session, time per problem, overall rating change (red versus blue), and change in <a href="http://chess.emrald.net/ratinginfo.php">RD</a> over the session, are easily spotted. Notice how the bars get progressively shorter moving from right to left along the 2/13/07 session. This is the <a href="http://chess.emrald.net/ratinginfo.php">RD</a> shrinking to about 17 from approximately 30. Notice as well that the 2/13/07 session has most of the blue above the line and tonight's session has about a fair mix--the graphical representation reveals the tactician's approach to time and score management that is not apparent in run-length encoding.<br /></span></div></div><br /><span>I won't be able to address <a href="http://chess.emrald.net/tProfile.php?TacID=516">wormwood</a>'s other suggestions tonight (yet again) because it is getting late, but they are still bouncing around prominently in my head. I definitely like the shading suggestion, but I want to find the perfect use. Of course, this may entail finding a way to make the bars wider, as the thin bars above are not entirely amenable to shading.<br /><br />And, to my genuine dismay, no problem tonight...<br /></span>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com2tag:blogger.com,1999:blog-8383444675320480930.post-69580168946239633792007-10-26T03:53:00.000-07:002008-12-10T10:37:39.772-08:00Visual Represention ITonight I have spent a large chunk my blog time generating a preliminary code base for the <a href="http://chessvortex.blogspot.com/2007/10/visual-display-of-problem-session.html">Visual Display of a Problem Session</a>. While I agree with <a href="http://chess.emrald.net/tProfile.php?TacID=516">wormwood</a>'s suggestion to use color to represent the time to solve a problem, I did not have time tonight to implement the coloring. This will be a relatively simple addition but I focused tonight on drawing the rectangles instead, in the hopes to get some feedback on the overall feel of the representation. I have my own opinions, but I will reserve those so that I may get unbiased opinions from fellow tacticians.<br /><br />Here is my first try, based exclusively on my <a href="http://chessvortex.blogspot.com/2007/10/visual-display-of-problem-session.html">previous ideas</a>:<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZuNWMGrwj1ux2r8MuDVzSreSCe6xzlZ-DNhB6nc8opdObLTARTtPQOyPHwDcIqTkMfAWGGlyo-61aBLCGZBkQrlpI4GSWaWTVc7i04VkGfBdJTWwfpUiudLA5YBE7fzMpWwprO5jdjgOu/s1600-h/session.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZuNWMGrwj1ux2r8MuDVzSreSCe6xzlZ-DNhB6nc8opdObLTARTtPQOyPHwDcIqTkMfAWGGlyo-61aBLCGZBkQrlpI4GSWaWTVc7i04VkGfBdJTWwfpUiudLA5YBE7fzMpWwprO5jdjgOu/s400/session.jpg" alt="" id="BLOGGER_PHOTO_ID_5125599973340782178" border="0" /></a><br /><span style=";font-family:times new roman;font-size:100%;" >10p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;font-size:100%;" >1f</span><span style=";font-family:times new roman;font-size:100%;" >-89p<br />99% @ 1431 ± 89 ; 1401 final</span><br /><div style="text-align: left;"><br />From a graphical stand point, my 99 of 100 <a href="http://chess.emrald.net/">Chess Tactics Server</a> effort tonight was pretty boring as it yields only one tiny splotch of red. However, since this is my best effort in months, I am shamelessly using it as the example session for this first attempt at a representation scheme.<br /><br />Unfortunately, no time for a problem of the day...<br /></div></div>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com3tag:blogger.com,1999:blog-8383444675320480930.post-14522735039670863632007-10-24T23:40:00.000-07:002008-12-10T10:37:40.108-08:00Visual Display of a Problem SessionToday, I will brainstorm about how to graphically display a session of tactical problem solving.<br /><br />Last night, I came up with the following format and I unabashedly admit I am quite fond of it:<br /><br /><span style="font-family:times new roman;">6p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-45p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-30p-</span><span style="color: rgb(255, 0, 0);font-family:times new roman;" >1f</span><span style="font-family:times new roman;">-16p</span><br /><br />A beautiful (in my humble opinion) aspect of this representation is that any tactician will immediately understand what it represents: <span style="font-style: italic;">alternating spans of successes and failures</span>. Indeed, a computer could easily be programmed to parse the above information and and spew forth a variety of statistics about it. In fact, some would argue that the above actually represents a computer program because of its unambiguous grammar and semantics.<br /><span style="font-size:100%;"><br />Incidentally, the above represents my efforts tonight at the <a href="http://chess.emrald.net/">CTS</a> (97% @ 1428±92, 1403 final). </span>I also must dutifully acknowledge that the "p/f" notation for tactical problem solving is borrowed from <a href="http://chess.emrald.net/tProfile.php?TacID=3133">dktransform</a>'s method of representing his own success statistics on the CTS Message Board.<br /><br />Though I really like this representation for both practical and <a href="http://chess.emrald.net/tProfile.php?TacID=7374">narcissistic</a> reasons, it omits some critical information. Most importantly, it groups problems, so that each looses its individual contribution to the session. Moreover, for each problem, it fails to represent (1) how long the problem took, (2) what the rating of the problem was, and (3) how the tactician's performance on the problem affected the tactician's rating.<br /><br />At first glance, these three components of a problem appear too high in dimensionality to be represented on a two dimensional medium like a computer screen or a sheet of paper. But, upon deeper consideration, the information in (1) and (2) is convoluted into the information in (3), so we can conveniently move back to a lower dimensional space without sacrificing too much information to practical considerations.<br /><br />So here is my proposal:<br /><ul><li>A unit of time is 10 seconds, which is roughly the maximum time to solve a problem on the CTS and still be awarded points.<br /></li><li>Problems that are fails are bright red bars of unit width (say 3 pixles).</li><li>Passes are darkish blue bars (we are color-blind friendly here).</li><li>The time the tactician took to solve the problem is proportional (or perhaps logarithmically proportional) to its width.</li><li>The contribution of a problem to a tactician's score is the height of the bar above (in the case of a pass) or below (in the case of a fail) a reference line.</li></ul>Unfortunately, I have yet to implement this representation as I am still in the brainstorming phase. But, barring some compelling comments by fellow tacticians, I think I have settled and will probably work towards it in the very near future.<br /><br />Now, for the<span style="font-weight: bold;"><br /><span style="font-size:130%;"><br /></span></span><div style="text-align: center;"><span style="font-weight: bold;font-size:130%;" >Chess Tactics Server Problem of the Day</span><br /></div><div style="text-align: center;"><a href="http://chess.emrald.net/probprofile.php?Pos=28735">p56972</a><br /></div><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvYA-YvSYMnSV3YOCTC28jiyBwjx5yikTNkk3mFZqPZKCQfUYcqnh4ADHWmtWRtXkXWfu1KUcs9JoG8NHxteih3fR5_wdRxhyPswkwhQmou0tv3NRne2iLTEaPrTzjB_xo9i0DCGER-Rpx/s1600-h/p56972.jpg"><img style="cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvYA-YvSYMnSV3YOCTC28jiyBwjx5yikTNkk3mFZqPZKCQfUYcqnh4ADHWmtWRtXkXWfu1KUcs9JoG8NHxteih3fR5_wdRxhyPswkwhQmou0tv3NRne2iLTEaPrTzjB_xo9i0DCGER-Rpx/s320/p56972.jpg" alt="" id="BLOGGER_PHOTO_ID_5125218386971369026" border="0" /></a><br /><span style="font-size:130%;"><span style="font-weight: bold;">Black to Move<br /><br /></span></span><div style="text-align: left;"><span style="font-size:100%;">Here's the solution and why I like it (start selecting text following the colon): <span style="color: rgb(255, 255, 255);">1...Rxb5. Now, 2.Qxb5?? results in a famous mate in five: 2...Qd4+ 3.Kh1 (not 3.Kf1 because of Qf2++) 3...Nf2+ 4.Kg1 Nh3+ 5.Kh1 Qg1+! 6.Rxg1 Nf2++. Of course if 2.cxb5? then 2...Bd4+ forks Q and K.</span></span><br /><span style="font-size:130%;"><span style="font-weight: bold;"></span></span></div></div>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com2tag:blogger.com,1999:blog-8383444675320480930.post-54944320881130368132007-10-24T02:20:00.000-07:002007-10-24T04:39:47.577-07:00Zone of the VortexA current training goal of mine is to do 10,000 problems on the <a href="http://chess.emrald.net/">CTS</a> at 98% accuracy, maintaining a 1400 rating while I do it--or at the very least, finishing the 10,000 problems with a 1400 rating. This goal is not as easy as it sounds, and tonight my performance demonstrated why. In a nutshell, my session went like this:<br /><br /> <span style="font-style: italic;"><span style="color: rgb(0, 0, 0);font-size:85%;" >7p</span><span style="font-size:85%;">-</span><span style="color: rgb(255, 0, 0);font-size:85%;" >1f</span><span style="font-size:85%;">-</span><span style="color: rgb(0, 0, 0);font-size:85%;" >14p</span><span style="font-size:85%;">-</span><span style="color: rgb(255, 0, 0);font-size:85%;" >1f-</span><span style="font-size:85%;">3p-</span><span style="color: rgb(255, 0, 0);font-size:85%;" >1f</span><span style="font-size:85%;">-16p-</span><span style="color: rgb(255, 0, 0);font-size:85%;" >2f</span><span style="font-size:85%;">-3p-</span><span style="color: rgb(255, 0, 0);font-size:85%;" >1f</span><span style="font-size:85%;">-9p-</span><span style="color: rgb(255, 0, 0);font-size:85%;" >1f</span><span style="font-size:85%;">-</span><span style="color: rgb(51, 51, 255);font-size:85%;" >53p</span><span style="font-size:85%;">-</span><span style="color: rgb(255, 0, 0);font-size:85%;" >1f</span><span style="font-size:85%;">-6p-</span><span style="color: rgb(255, 0, 0);font-size:85%;" >1f</span><span style="font-size:85%;">-2p-</span><span style="color: rgb(255, 0, 0);font-size:85%;" >1f</span><br /><span style="font-style: italic;"></span></span><br />So its obvious that tonight's wasn't such a good session. Clearly, my work schedule these last couple of weeks is starting to catch up with me. Also, the fact that I spent a significant part of my sleeping hours last night stewing over the squatter in my parking space didn't help either. So I have been due for a disaster like tonight.<br /><br />The <span style="color: rgb(51, 51, 255);">53</span> consecutive passes made tonight's session more-or-less bearable. That 53 passes, however, seems terribly interesting to me. With a goal of 98% per session, 53 passes should not be unusual. But tonight it clearly was, considering the average length of a successful run was about 13. Was it luck, or was I in the "Zone"? Well, the average difficulty (rating) of my problems tonight was about 1415 ± 92 and the stretch of 53 had a an average rating of about 1399 ± 90. So it looks like that 53 represented my being in a Zone, considering the degree to which it is a statistical outlier in terms of length but not in terms of difficulty. Because calculating all of these numbers took some time from my musings, I have compiled a short to-do list for upcoming postings:<br /><br /><ul><li>Figure out how to quantify the likelihood of "Zonedness"</li><li>If "Zonedness" exists, determine how to quantify its degree, or intensity</li><li>Figure out how to maximize time spent in the Zone.<br /></li></ul>In a future blog, I will wax philosophic about this issue.LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com9tag:blogger.com,1999:blog-8383444675320480930.post-6614986856596916732007-10-23T03:25:00.001-07:002007-10-23T03:59:51.398-07:00Path of the VortexI am <a href="http://chess.emrald.net/tProfile.php?TacID=7374">LaskoVortex</a> of the <a href="http://chess.emrald.net/">Chess Tactics Server</a>, and this is my chess blog. CTS must be the original tactics server, and today, in an effort to get a quick blog entry, I'm going to rip some text I wrote right from the Message Board (with some minor edits). This was a response to <a href="http://chess.emrald.net/tProfile.php?TacID=11191">waaek</a>, a fellow Tactician, who wondered what history information the CTS keeps. So, I replied with some prose that goes a little like this:<br /><br /><span style="font-style: italic;">I think CTS keeps a stat for number right and total problems. And that's all they need to calculate your accuracy. It'd be nice if we got the entire history. This site has served less than 20M problems. So, if each problem took up 4 bytes for the time stamp, 3 bytes for how long the problem took with 1/10th second precision (with a max time of 24.2726 days per problem and a special value if it was a fail, like 0), 3 bytes for the problem number (assuming they will never have more than 16.77 million problems to choose from), and 8 bytes for the tactician ID (assuming no real limit on the number of tacticians who can sign up), and 8 bytes total for both the problem rating and the tactician rating when they did the problem, and another 2 bytes for how their rating changed, then the total bytes per problem would be 4+3+3+8+8+2=28 bytes. So 28*20M = 560M bytes. This means they could have stored every problem every tactician has done on this site on a $20.00 USB memory stick with plenty of space left over.</span><br /><br />You might think that I must have already considered the issue of saving every problem for every user of CTS and what the space requirements for that would be--well, you would be correct. More on that in the future--it will become important.<br /><br />For now, I leave you with the Chess Vortex motto (stolen from <a href="http://www.amazon.com/gp/pdp/profile/A9QT2VJ48SJG4/ref=cm_cr_auth/002-5460137-2291214">Jason D. Enochs</a> and paraphrased a tiny bit):<br /><br /><span style="font-weight: bold;">If you aren't sick of working chess problems, then you haven't been applying yourself.</span>LaskoVortexhttp://www.blogger.com/profile/17225343404051767382noreply@blogger.com1