Memory graphs (4D)
SuperMemo 17 uses a new spaced repetition algorithm denoted Algorithm SM-17. Unlike all prior algorithms that were either theoretical or "inspired by data", this algorithm has been developed entirely on the basis of prior records of repetitions collected by users of SuperMemo. This data-driven effort required untold hours of analysis while processing millions of repetition samples. Tools : Memory : 4D Graphs was instrumental in that analysis and debugging process. If you want to understand the algorithm and help improve it further, please study those tools and keep analyzing your own data and your own memory. In a stochastic system of memory, perfection is impossible, but we should always try to come closer to the optimum.
Important! At the moment of writing (April 2016), SuperMemo 17 does not use incremental adjustments to optimization matrices in Algorithm SM-17. This is why you should execute Tools : Memory : 4D Graphs : Stability : Compute from time to time to adjust the algorithm to newly available data. In the future, the adjustments will be made at each repetition.
Available memory graphs
The following memory graphs are available with Tools : Memory : 4D Graphs on its individual tabs:
- Stability: the function that tells you how much memory stability increases with a repetition. If you click Compute, all repetition histories will be scanned to compute the SInc[] matrix. For a given item difficulty, the increase depends on stability and retrievabilty. To view the 4-th dimension of difficulty, slide the thumb on the Difficulty slider. See example
- Approximation: approximation of the function represented by the stability increase matrix. If you click Compute, SuperMemo will look for the best fit to data (which is the SInc[] matrix computed on the Stability tab). See example
- Recall: the function that tells you how well actual recall corresponds with retrievability predicted by SuperMemo. The difference between comes primarily from the difficulty in formulating perfect items that would produce purely exponential forgetting. In addition, SuperMemo itself is far from perfect in sorting items by difficulty. See example
- Recall Approx: approximation of the function represented by the Recall[] matrix. If you click Compute, SuperMemo will look for the best fit to data (which is the Recall[] matrix computed on the Recall tab). See example
- First Interval: the function that illustrates post-lapse stability depending on the number of lapses and retrievability at failure. It is the equivalent of the first-interval graph extended into the retrievability dimension. Retrievability is important in that a failure at low retrievability does not need to signify the item is difficult and post-lapse stability is low. See example
- Int. Approx: approximation of the function represented by post-lapse stability matrix. If you click Compute, SuperMemo will look for the best fit to data (which is the post-lapse matrix computed on the First Interval tab). See example
- Sleep: correlation between recall and the two components of sleep. This is a 2-dimensional graph that combines Alertness (H) and Alertness (C) of Sleep Chart. As the data is not part of Algorithm SM-17 optimization, you need to click Compute to collect data needed to display this graph
- Forgetting: 3D forgetting curves collected by Algorithm SM-15. This is the same graph as the one displayed by Tools : Statistics : Analysis : 3-D Curves with the added benefit of 3-axis rotation in space and A-Factor slider for the 4th dimension.
- RF Matrix: 3D RF matrix collected by Algorithm SM-15. This is the same graph as the one displayed by Tools : Statistics : Analysis : 3-D Graphs : R-Factor Matrix with the added benefit of 3-axis rotation in space
Graph analysis controls
- X, Y, Z axis rotation (top 3 sliders)
- Difficulty slider
- Repetition cases in consideration (bottom slider)
- Cases: the label showing the total number of repetition cases in consideration
- Compute: recompute the graph using the data in the collection
- Reset: reset the memory matrices
- Smoothing: average neighboring entries in matrices
- Subset: select a subset of elements for which matrices should be computed
- Reset Cases: reset the count of repetition cases without changing the data (i.e. values of entries in matrices)
- Export: eport data for analysis in Excel
- Average checkbox: average the data with a theoretical prediction
Pictures
Stability increase function
Stability increase function contour map
Figure: A "from above" view at the SInc[] matrix providing a contour map. Red zones indicate high stability increase at review. The picture shows that the greatest stability increase occurs for lower stability levels and retrievabilities around 70-90%.
Stability increase approximation
Figure: Approximating the SInc[] matrix with the best-fit function used by default in SuperMemo to compute the increase in stability (e.g. in cases of lack of data). The approximation procedure uses a hill-climbing algorithm with parameters A, B, C, D displayed in the picture. Least squares deviation is obtained to assess the progress. Green circles represent the Sinc[] matrix at a chosen difficulty level. Their size corresponds with repetition cases investigated. The blue surface is the best fit of the studied function to the SInc[] data.
Recall
Figure: The Recall[] matrix graph shows that the actual recall differs from predicted retrievability. For higher stabilities and difficulties, it is harder to reach the desired recall level.