So you have many tasks to complete, limited time, and you accept that not everything will be done.
The problem is to fit as many problems into the time as possible, and exclude the few "big" problems.
Turing already proved that you cannot know how long a problem will take before actually completing it.
The problem is that a problem that looks simple with available information expands under solving as we discover more.
The simplest solution is to allocate time, and just interrupt problems when timeout. Go to the next problem in the list and keep cycling the list. Multiple passes is the absolute best strategy in exams. Complete the easy questions first and claim those marks. work through the paper in multiple passes so that you are left with the questions you find hard. This way you slowly reduce the rate of mark gaining.
This blog has already analysed rates and shown that the best way to completion in exercise is to maintain rate. I spoke to a competition swimmer recently and he agreed although said that first and last length were not so controlled and obviously in last length you give everything. But in exams and other non linear problem solving situations where we don't need to do everything, we want to leave the hardest to last and set our rate on the easy stuff. In fact this would make a good optimisation study. #TODO.
The problem with interrupts is that you might end up stacking a problem that is almost complete. Stacking in computers and real life is an expensive business. Re-establishing context takes time. You put a problem down and come back in a week and your short term memory is completely cleared. You need read it all over, think through again and stimulate long term memory into the short term context to get the problem running again.
Daniel Dennett points out that its no coincidence that computer design fits with human mind so well. We based the computer on our own thinking. Caching, short/long term memory, context, interrupts are all features of our own daily mental space.
So a semantic component to scheduling is also useful not just blind interrupts.
The biggest waste of time is when something does not work and we go on a search to fix it. This would be like going looking up a shop, going to the high street and finding it's not there. The obvious next step is to start searching. Perhaps you got the address wrong, perhaps its closed. You start asking people. This now enters an unknown period and the time is ticking.
As a rule of thumb you spend another 2x the time you allocated. So if you had 30mins allocated to go the shops for something, you now allocated 1h30. The reason is that simply quitting and going home to the next task wastes all the time spending gaining context. You are now in the context of the high-street. That is expensive and you need use that while you can. I took the 2x from a probability study of marriage. You sample for 1/3 the time and find the environmental "best" you then spend 2/3 the time searching for anything better than this "best." But in questions of waiting this seems about right.
Consider the bus has not arrived problem. How long do you wait until looking for another way home? Well if you have waited 10 minutes before thinking "now there is a problem." Wait another 20 before doing anything about it. That 10 minutes contains information about how much of a hurry you are in, and it stops us wasting the "context." We are already waiting at the bus stop, if we rush off now we will miss anything that does arrive. This is a slightly unusual problem as the chance of the bus arriving increases as time goes on given that the company is trying to maintain a constant rate. 2 buses will come soon. However at what point does probability increase change to decrease as we realise there is serious problem and perhaps the road is closed or the bus route cancelled. This has been a long term problem that still not solved. #TODO
The method that is working for me right now is lists.
No comments:
Post a Comment