Friday, June 20, 2014

The Roti Algorithm

Rotis (by which I mean the thin, circular rotis cooked without oil, called ruti in Bangla) are made by rolling atta (unleavened wholegrain wheat) dough into thin circular disks, which are then cooked over a dry tawa.

Cooking one roti at a time is inefficient because firstly, you waste time placing each roti on the tawa and then taking it off, and secondly, by the time the last roti is cooked, the first one is no longer warm. It is possible to cook several rotis on the tawa simultaneously, but to be properly cooked, each side of each roti must be in contact with the tawa for roughly the same period of time. Like most experienced roti-makers, my mother achieves this by flipping the rotis in a complex sequence. But when I asked her, she could not tell me what exact sequence she follows, because the technique, born of long experience, comes naturally to her.

So I gave some thought to the problem, and came up with an algorithm for cooking any number of rotis on the tawa at the same time, thus bringing advanced techniques within the grasp of even the most hapless roti-noob.

The algorithm is best illustrated by a flowchart:


A couple of definitions which are used in the flowchart or later in this post:
"Lowest Side" means the lower side of the bottom roti in the stack (i.e. the side in contact with the tawa).
"T" means the time taken to cook the Lowest Side, and is counted from the instant of completion of the most recent flip of all the rotis in the stack.

Some notes on the algorithm:
As it is inconvenient to flip or remove rotis which are in the middle or bottom of the stack, I designed the algorithm so that (a) the flip operation only involves flipping either the top roti or the whole stack, and (b) once a roti cooked on both sides, the next action always brings it to the top of the stack whence it can easily be removed.
On high heat, the Lowest Side gets cooked before it can conduct much heat to the roti above it. So while the Lowest Side is being cooked, the states of any rotis above the bottom roti are not significantly affected.
To make multiple rotis at once, the dough has to be fairly dry so that the rotis in the stack do not stick to each other. If they're still sticky, it helps to spread a thin film of dry atta on each roti.
It is rarely necessary and never practical to cook more than 5-6 rotis at a time, because the time thereby saved is offset by the difficulty of flipping several rotis at once. But the algorithm works for any number of rotis.

The algorithm is actually easier to master than the flowchart might suggest. Once you get the hang of it, the next step is obvious even without referring to the flowchart.

To give you an idea of how the algorithm works, I made a short animated video (0:36) for 6 rotis. Each side of each roti is represented by a black rectangle, which turns red when it is cooked. T in the video is 1.5 seconds, which is shorter than the actual time it takes to cook one side of a roti in real life.

4 comments:

Pratiti Deb said...

This is brilliant. Going to try this for sure the next time we make ruti.

Lalanti said...

Can I be geeky and point out that you have another variable to consider? The heat on the tawa changes with time (especially if you are using the traditional kind) . To an extent this can be controlled for if you keep adjusting the heat on your stovetop. But without doing that your time T shouldn't be a constant. But I guess by limiting yourself to cooking 5-6 rotis, the time taken for the entire process is short enough that this doesn't even matter! This is fun!! You should make more of these =)

Dhiraj Kumar said...

So healthy and yummy.
Chowringhee Kathi Roll

Ayshwarya Singh said...

I thought about trying this recipe but it looked complicated so I just ordered it form restaurant. Result was a solid and taste is like wow. kati roll online order