Many of us don't learn in optimal ways. We know that we forget new material, neglect to review older material, and study in ways that elevate cramming and procrastination to art forms. But there is research about how to be more efficient in these things. For example, dating back to 1885, there is a rich literature that explores how timing our learning of new and old material can affect education.

For a long time, these theories were only loosely applied. They couldn't be put into quantitative practice because of the difficulty of carefully implementing them. But with the ability to create educational software, customized to ensure a student has an optimal learning experience, we have a wonderful opportunity to actually employ this knowledge. Unfortunately, there are so many competing concerns, it's far from trivial: We need to begin constructing new algorithms to figure out how best to learn.

In a new paper in PNAS, my friends Tim Novikoff, Jon Kleinberg, and Steve Strogatz, decided to provide mathematical rigor to this. They first took several theories, from the spacing effect - spreading learning out makes a student more likely to learn it - to the theory of expanded retrieval - the more you are exposed to a topic, the less often you should next be exposed to it, in order to retain the material - and reduced them to their logical bare bones. Doing that, Novikoff and his colleagues created a set of abstract constraints for how a "model" student might learn: For a given bit of information, a series of time constraints can be defined for the time range in which it should be shown to the student each time. For example, let's say our model student is trying to learn the number of planets in the solar system. We know that the model student should be exposed to this fact for the second time between two and five days, for example, after she learned it the first time. (These numbers are different for each student.) But the next time, according to the theory of expanded retrieval and her personal learning habits, it is optimal that she be exposed to the number of planets between five and eight days later. Of course, our model student needs to be exposed to this material more than three times in order to retain it; so for each bit of knowledge, we have an expanding set of time intervals, describing the amount of time until our model student returns to this fact, in order to learn it again and again, and retain the information.

Now, whatever these spacing constraints are, it's not hard to understand them for a single fact and see how she can retain the knowledge if she adheres to this regimen. But what happens when we want to teach our model student a whole host of facts, each with their own timing constraints? This is where math comes in. It suddenly becomes a fiendishly difficult problem to determine how all of this can be simultaneously done, if at all, and how can all of it can be scheduled. And since different students have distinctive ways of learning, we need to use some serious math to figure out how to teach each of them new material, such as learning new vocabulary or new scientific facts.

Suffice it to say, not everything is possible. While there is math that describes everything from how a student can remain educated for all time - quite useful in the realm of continuing medical education - to how to cram for an exam, there are limits to what we can learn. For example, what the researchers term a "finicky slow student" - one obsessed with constant review at a very slow pace - will never perfectly learn a given topic.

While certainly abstract, the results are anything but esoteric. In fact, this research was motivated by Tim Novikoff's company Flash of Genius, which produces a vocabulary flashcard app. Tim was interested in determining how long it would take a user to get through all of the words in the program, and from that initial question came a theoretical framework for scheduling how we learn. This research is but the beginning for what will hopefully be a huge amount of quantitative research into how we can learn, and continue to maintain, lots of knowledge.

As the world changes rapidly around us, we can't be content cruising on the knowledge we learned in grade school. We must constantly learn new things, as well as refresh what we learned before. And an algorithmic approach to education can be there to guide us.