So it happened one day that a project manager Iwas working with complained about having too much to do and not being sure how to attack the pile.
"I use traditional computer processing algorithms," I said nonchalantly, and got an appropriately confused look. I then went on to explain some basic algorithms that helps computer systems prioritise what to do under certain circumstances to ensure maximum "useful" efficiency.
I was partially kidding, but, well, only partially. Is there a genuine possibility whereby we can use formulated ideas from a particular technical field to address day-to-day efficiency?
This talk is was about just that.
6. Just for fun.
[nothing scientiďŹc, or proven,
but maybe a basis for a thought experiment]
7. Letâs look at this in
two unequal parts
⢠Choosing a couple of known problems, and
looking at algorithms to apply
⢠A brief discussion of other algorithms, and
perhaps where we can apply them
9. Other ways you might know
⢠Big rocks vs little rocks
⢠Getting Things Done
10. Big rocks, little rocks
⢠Consider a ďŹnite space, such as a jar
⢠Imagine you have big rocks and little rocks
⢠If you ďŹll it with little rocks ďŹrst, there will
be no more space left for the big rocks
⢠If you ďŹll it with big rocks ďŹrst, you may still
ďŹt the little rocks between the gaps
11. Getting things done
⢠Collect - get everything out of your head into your
favourite form of âbucketâ
⢠Process - trimming off small tasks but allow for
way to process bigger jobs
⢠Organize - contextualize things that need doing
⢠Review - make sure your lists are current
⢠Do (!)
12. Key aspects of efďŹciency
⢠Priorities (though GTD plays down on this)
⢠How tasks are deďŹned
⢠Order of tasks
⢠A way to execute them
14. [at this point, a few people talked
about their tips and techniques â
âtiny to-do listsâ, variations on
GTD, whatâs worked for them and
what hasnât.]
15. The computer as your bus driver
⢠Priority queues
⢠Schedulers
[we discussed bus queues as metaphors]
16. A few algorithms
⢠First In, First Out / Last in, First Out
⢠Shortest Job Next
⢠Shortest Time Remaining
⢠Critical path method
⢠Earliest Deadline First
⢠Round Robin
17. First In, First Out
⢠What comes in ďŹrst is handled ďŹrst
⢠What comes in next waits until the
ďŹrst is ďŹnished
⢠Basically: ďŹrst come, ďŹrst served
18. Last In, First Out
⢠What comes in ďŹrst is handled last
⢠Every item or task is handled the
reverse order they arrived in
... kinda like how you would sort
a pile of papers youâve just stacked together.
19. Round Robin
⢠Gives each item an equal slice of time
⢠Rotates to next item when time is up
⢠Keeps going until all tasks are done
20. Shortest Job Next
⢠Do the shortest job on the queue
until itâs done
⢠Pick the next shortest job on the
queue
gets a lot of things done, but longer jobs
wonât get done if you keep adding short jobs
21. Shortest Time Remaining
⢠Do the task that has the smallest
amount of time left
⢠When a new task turns up, compare it
with the current one that youâre
doing, give priority to the task with
shortest time
... needs accuracy in time estimation
22. Earliest Deadline First
⢠Do the task thatâs closest to its
deadline until itâs ďŹnished
⢠Then look at your queue for the next
item closest to its deadline
works okay if you have enough resources
to complete all your deadlines ...
23. Critical Path Method
⢠Work out all activities that are required
⢠How long each activity is likely to take?
⢠Which activity depends on which?
⢠Map out the shortest possible time to complete
everything by adding up longest essential tasks
based on dependencies
25. Whatâs for dinner?
⢠Caesar salad
⢠Lamb roast
⢠Vanilla ice cream with strawberry coulis
26. How do you make sure:
⢠the salad stays fresh
⢠the roast stays warm
⢠the coulis is sufďŹciently cooled (but not cold)
⢠the ice cream stays frozen
⢠the guests donât have to wait too long
between courses?
27. [at this point the we debated which
dish we should begin cooking ďŹrst, and
the ďŹner points on how to make the
perfect caesar salad ...]
28. Other ones to get our heads around
Divide and conquer
Recursively breaking things down into related sub-problems, until
each one can be solved directly.
Bubble sort
Compare pairs of adjacent items in a list, swap if necessary, until no
swaps are needed.
Travelling salesman problem
What is the most economical route if a person were to travel to
each city only once (where the distance between cities is known)
and return to the home city?
29. Endless fun
⢠Putting away groceries?
⢠Hanging up / putting away laundry?
⢠Cleaning house (bottom up or top down?)
⢠Making the bed?
⢠Applying make-up?
⢠Baking?
⢠Washing dishes?
⢠Watering plants?
32. About
Stephanie Troeth is someone who has the uncanny knack to make things
happen. She likes the challenge of making dreams tangible.
http://stephanietroeth.com/
Further Reading
⢠http://www.nist.gov/dads/
⢠http://www.personal.kent.edu/~rmuhamma/Algorithms/algorithm.html
⢠http://en.wikipedia.org/wiki/Scheduling_%28computing%29
Thanks
⢠Olivier Thereaux
⢠Stephanie Booth
⢠http://ďŹickr.com/photos/christajoy42/2385583808/
⢠http://ďŹickr.com/photos/30261607@N00/2382070344/
⢠http://ďŹickr.com/photos/gaetanlee/421949167/